UNPKG

6.17 kBSource Map (JSON)View Raw
1{"version":3,"names":["declare","api","options","assertVersion","version","legacy","undefined","Error","decoratorsBeforeExport","name","manipulateOptions","generatorOpts","parserOpts","plugins","push","allowCallParenthesized"],"sources":["../src/index.ts"],"sourcesContent":["import { declare } from \"@babel/helper-plugin-utils\";\n\nexport interface Options {\n // TODO(Babel 8): Remove\n legacy?: boolean;\n // TODO(Babel 8): Remove \"2018-09\" and \"2021-12\"\n version?: \"legacy\" | \"2018-09\" | \"2021-12\" | \"2022-03\";\n // TODO(Babel 8): Remove\n decoratorsBeforeExport?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(7);\n\n let { version } = options;\n\n if (process.env.BABEL_8_BREAKING) {\n if (version === undefined) {\n throw new Error(\n \"The decorators plugin requires a 'version' option, whose value must be one of: \" +\n \"'2022-03', '2021-12', '2018-09', or 'legacy'.\",\n );\n }\n if (\n version !== \"2022-03\" &&\n version !== \"2021-12\" &&\n version !== \"legacy\"\n ) {\n throw new Error(\"Unsupported decorators version: \" + version);\n }\n if (options.legacy !== undefined) {\n throw new Error(\n `The .legacy option has been removed in Babel 8. Use .version: \"legacy\" instead.`,\n );\n }\n if (options.decoratorsBeforeExport !== undefined) {\n throw new Error(\n `The .decoratorsBeforeExport option has been removed in Babel 8.`,\n );\n }\n } else {\n const { legacy } = options;\n\n if (legacy !== undefined) {\n if (typeof legacy !== \"boolean\") {\n throw new Error(\".legacy must be a boolean.\");\n }\n if (version !== undefined) {\n throw new Error(\n \"You can either use the .legacy or the .version option, not both.\",\n );\n }\n }\n\n if (version === undefined) {\n version = legacy ? \"legacy\" : \"2018-09\";\n } else if (\n version !== \"2022-03\" &&\n version !== \"2021-12\" &&\n version !== \"2018-09\" &&\n version !== \"legacy\"\n ) {\n throw new Error(\"Unsupported decorators version: \" + version);\n }\n\n // eslint-disable-next-line no-var\n var { decoratorsBeforeExport } = options;\n if (decoratorsBeforeExport === undefined) {\n if (version === \"2021-12\" || version === \"2022-03\") {\n decoratorsBeforeExport = false;\n } else if (version === \"2018-09\") {\n throw new Error(\n \"The decorators plugin, when .version is '2018-09' or not specified,\" +\n \" requires a 'decoratorsBeforeExport' option, whose value must be a boolean.\",\n );\n }\n } else {\n if (version === \"legacy\" || version === \"2022-03\") {\n throw new Error(\n `'decoratorsBeforeExport' can't be used with ${version} decorators.`,\n );\n }\n if (typeof decoratorsBeforeExport !== \"boolean\") {\n throw new Error(\"'decoratorsBeforeExport' must be a boolean.\");\n }\n }\n }\n\n return {\n name: \"syntax-decorators\",\n\n manipulateOptions({ generatorOpts }, parserOpts) {\n if (version === \"legacy\") {\n parserOpts.plugins.push(\"decorators-legacy\");\n } else if (process.env.BABEL_8_BREAKING) {\n parserOpts.plugins.push(\n [\n \"decorators\",\n { decoratorsBeforeExport: false, allowCallParenthesized: false },\n ],\n \"decoratorAutoAccessors\",\n );\n } else {\n if (version === \"2022-03\") {\n parserOpts.plugins.push(\n [\n \"decorators\",\n { decoratorsBeforeExport: false, allowCallParenthesized: false },\n ],\n \"decoratorAutoAccessors\",\n );\n } else if (version === \"2021-12\") {\n parserOpts.plugins.push(\n [\"decorators\", { decoratorsBeforeExport }],\n \"decoratorAutoAccessors\",\n );\n generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;\n } else if (version === \"2018-09\") {\n parserOpts.plugins.push([\"decorators\", { decoratorsBeforeExport }]);\n generatorOpts.decoratorsBeforeExport = decoratorsBeforeExport;\n }\n }\n },\n };\n});\n"],"mappings":";;;;;;;AAAA;;eAWe,IAAAA,0BAAA,EAAQ,CAACC,GAAD,EAAMC,OAAN,KAA2B;EAChDD,GAAG,CAACE,aAAJ,CAAkB,CAAlB;EAEA,IAAI;IAAEC;EAAF,IAAcF,OAAlB;EA0BO;IACL,MAAM;MAAEG;IAAF,IAAaH,OAAnB;;IAEA,IAAIG,MAAM,KAAKC,SAAf,EAA0B;MACxB,IAAI,OAAOD,MAAP,KAAkB,SAAtB,EAAiC;QAC/B,MAAM,IAAIE,KAAJ,CAAU,4BAAV,CAAN;MACD;;MACD,IAAIH,OAAO,KAAKE,SAAhB,EAA2B;QACzB,MAAM,IAAIC,KAAJ,CACJ,kEADI,CAAN;MAGD;IACF;;IAED,IAAIH,OAAO,KAAKE,SAAhB,EAA2B;MACzBF,OAAO,GAAGC,MAAM,GAAG,QAAH,GAAc,SAA9B;IACD,CAFD,MAEO,IACLD,OAAO,KAAK,SAAZ,IACAA,OAAO,KAAK,SADZ,IAEAA,OAAO,KAAK,SAFZ,IAGAA,OAAO,KAAK,QAJP,EAKL;MACA,MAAM,IAAIG,KAAJ,CAAU,qCAAqCH,OAA/C,CAAN;IACD;;IAGD,IAAI;MAAEI;IAAF,IAA6BN,OAAjC;;IACA,IAAIM,sBAAsB,KAAKF,SAA/B,EAA0C;MACxC,IAAIF,OAAO,KAAK,SAAZ,IAAyBA,OAAO,KAAK,SAAzC,EAAoD;QAClDI,sBAAsB,GAAG,KAAzB;MACD,CAFD,MAEO,IAAIJ,OAAO,KAAK,SAAhB,EAA2B;QAChC,MAAM,IAAIG,KAAJ,CACJ,wEACE,6EAFE,CAAN;MAID;IACF,CATD,MASO;MACL,IAAIH,OAAO,KAAK,QAAZ,IAAwBA,OAAO,KAAK,SAAxC,EAAmD;QACjD,MAAM,IAAIG,KAAJ,CACH,+CAA8CH,OAAQ,cADnD,CAAN;MAGD;;MACD,IAAI,OAAOI,sBAAP,KAAkC,SAAtC,EAAiD;QAC/C,MAAM,IAAID,KAAJ,CAAU,6CAAV,CAAN;MACD;IACF;EACF;EAED,OAAO;IACLE,IAAI,EAAE,mBADD;;IAGLC,iBAAiB,CAAC;MAAEC;IAAF,CAAD,EAAoBC,UAApB,EAAgC;MAC/C,IAAIR,OAAO,KAAK,QAAhB,EAA0B;QACxBQ,UAAU,CAACC,OAAX,CAAmBC,IAAnB,CAAwB,mBAAxB;MACD,CAFD,MAUO;QACL,IAAIV,OAAO,KAAK,SAAhB,EAA2B;UACzBQ,UAAU,CAACC,OAAX,CAAmBC,IAAnB,CACE,CACE,YADF,EAEE;YAAEN,sBAAsB,EAAE,KAA1B;YAAiCO,sBAAsB,EAAE;UAAzD,CAFF,CADF,EAKE,wBALF;QAOD,CARD,MAQO,IAAIX,OAAO,KAAK,SAAhB,EAA2B;UAChCQ,UAAU,CAACC,OAAX,CAAmBC,IAAnB,CACE,CAAC,YAAD,EAAe;YAAEN;UAAF,CAAf,CADF,EAEE,wBAFF;UAIAG,aAAa,CAACH,sBAAd,GAAuCA,sBAAvC;QACD,CANM,MAMA,IAAIJ,OAAO,KAAK,SAAhB,EAA2B;UAChCQ,UAAU,CAACC,OAAX,CAAmBC,IAAnB,CAAwB,CAAC,YAAD,EAAe;YAAEN;UAAF,CAAf,CAAxB;UACAG,aAAa,CAACH,sBAAd,GAAuCA,sBAAvC;QACD;MACF;IACF;;EAlCI,CAAP;AAoCD,CAjHc,C"}
\No newline at end of file