Spec-Zone.ru › Babel 7

@babel/plugin-proposal-pipeline-operator

Установка​

  • npm
  • Yarn
  • pnpm
npm install --save-dev @babel/plugin-proposal-pipeline-operator
yarn add --dev @babel/plugin-proposal-pipeline-operator
pnpm add --save-dev @babel/plugin-proposal-pipeline-operator

Использование​

Оператор конвейера имеет несколько конкурирующих предложений. Настройте, какое предложение использовать, с необходимым "proposal" параметром. Его значение по умолчанию — "hack".

Значение Предложение Добавленная версия
"hack" Трубы в стиле Hack v7.15.0
"fsharp" Трубы в стиле F# с await v7.5.0
"minimal" Минимальные трубы в стиле F# v7.0.0
"smart" Умные трубы (устарело) v7.3.0

Если "proposal" опущено, или используется "proposal": "hack", то должен быть включён параметр "topicToken". Значение topicToken должно быть одним из "%", "^^", "@@", "^", или "#".

Параметры "proposal": "minimal", "fsharp", и "smart" являются устаревшими и могут быть удалены в будущей основной версии.

Примеры​

В следующих примерах используется topicToken: "^^".

Из react/scripts/jest/jest-cli.js.

// Status quo
console.log(
  chalk.dim(
    `$ ${Object.keys(envars)
      .map(envar => `${envar}=${envars[envar]}`)
      .join(' ')}`,
    'node',
    args.join(' ')
  )
);

// With pipes
Object.keys(envars)
  .map(envar => `${envar}=${envars[envar]}`)
  .join(' ')
  |> `$ ${^^}`
  |> chalk.dim(^^, 'node', args.join(' '))
  |> console.log(^^);

Из jquery/src/core/init.js.

// Status quo
jQuery.merge( this, jQuery.parseHTML(
  match[ 1 ],
  context && context.nodeType ? context.ownerDocument || context : document,
  true
) );

// With pipes
context
  |> (^^ && ^^.nodeType ? ^^.ownerDocument || ^^ : document)
  |> jQuery.parseHTML(match[1], ^^, true)
  |> jQuery.merge(^^);

(Для получения сводки о поведении устаревших режимов предложений, см. таблицу прошлых предложений в вики о конвейерах.)

С файлом конфигурации (рекомендуется)​

С токеном темы ^^:

{
  "plugins": [
    ["@babel/plugin-proposal-pipeline-operator", { "topicToken": "^^" }]
  ]
}

С токеном темы @@:

{
  "plugins": [
    ["@babel/plugin-proposal-pipeline-operator", { "topicToken": "@@" }]
  ]
}

Через командную строку​

Поскольку этому плагину требуется параметр конфигурации, его нельзя напрямую настроить из командной строки. Вместо этого используйте файл конфигурации с командной строкой, чтобы добавить и настроить этот плагин.

Через API Node.js​

С токеном темы ^^:

require("@babel/core").transformSync("code", {
  plugins: [
    [ "@babel/plugin-proposal-pipeline-operator", { topicToken: "^^" } ],
  ],
});

С токеном темы @@:

require("@babel/core").transformSync("code", {
  plugins: [
    [ "@babel/plugin-proposal-pipeline-operator", { topicToken: "@@" } ],
  ],
});

© 2014-present Sebastian McKenzie
Licensed under the MIT License.
https://babeljs.io/docs/babel-plugin-proposal-pipeline-operator/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API