Files
babel/packages/babel-plugin-proposal-pipeline-operator/src/index.js
2021-08-03 23:30:16 +02:00

32 lines
833 B
JavaScript

import { declare } from "@babel/helper-plugin-utils";
import syntaxPipelineOperator from "@babel/plugin-syntax-pipeline-operator";
import minimalVisitor from "./minimalVisitor";
import hackVisitor from "./hackVisitor";
import fsharpVisitor from "./fsharpVisitor";
import smartVisitor from "./smartVisitor";
const visitorsPerProposal = {
minimal: minimalVisitor,
hack: hackVisitor,
fsharp: fsharpVisitor,
smart: smartVisitor,
};
export default declare((api, options) => {
api.assertVersion(7);
const { proposal } = options;
if (proposal === "smart") {
console.warn(
`The smart-mix pipe operator is deprecated. Use "proposal": "hack" instead.`,
);
}
return {
name: "proposal-pipeline-operator",
inherits: syntaxPipelineOperator,
visitor: visitorsPerProposal[options.proposal],
};
});