@babel/plugin-proposal-pipeline-operator
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Instalación
- npm
- Yarn
- pnpm
- Bun
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
bun add --dev @babel/plugin-proposal-pipeline-operator
Uso
El operador pipeline tiene varias propuestas en competencia.
Configura qué propuesta usar con la opción obligatoria "proposal".
Su valor predeterminado es "hack".
| Valor | Propuesta | Versión añadida |
|---|---|---|
"hack" | Hack-style pipes | v7.15.0 |
"fsharp" | F#-style pipes with await | v7.5.0 |
"minimal" | Minimal F#-style pipes | v7.0.0 |
"smart" | Smart-mix pipes (obsoleto) | v7.3.0 |
Si se omite "proposal", o si se usa "proposal": "hack", se debe incluir la opción "topicToken". El topicToken debe ser uno de: "%", "^^", "@@", "^" o "#".
Las opciones "proposal": "minimal" y "smart" están obsoletas y se eliminarán en Babel 8.
Ejemplos
Los siguientes ejemplos usan topicToken: "^^".
Tomado de 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(^^);
Tomado de 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(^^);
(Para un resumen del comportamiento de propuestas obsoletas, consulta la tabla de propuestas anteriores del wiki de pipe.)
Con archivo de configuración (recomendado)
Con token de tema ^^:
{
"plugins": [
["@babel/plugin-proposal-pipeline-operator", { "topicToken": "^^" }]
]
}
Con token de tema @@:
{
"plugins": [
["@babel/plugin-proposal-pipeline-operator", { "topicToken": "@@" }]
]
}
Mediante la CLI
Debido a que este plugin requiere opciones de configuración, no puede configurarse directamente desde la CLI. Usa un archivo de configuración junto con la CLI para añadir y configurar este plugin.
Mediante la API de Node
Con token de tema ^^:
require("@babel/core").transformSync("code", {
plugins: [
[ "@babel/plugin-proposal-pipeline-operator", { topicToken: "^^" } ],
],
});
Con token de tema @@:
require("@babel/core").transformSync("code", {
plugins: [
[ "@babel/plugin-proposal-pipeline-operator", { topicToken: "@@" } ],
],
});