Austin Anderson ddf30ee233
Adding includes fix for plugin-proposal-numeric-separator (#12311)
Co-authored-by: fraywing <austin@rupie.io>
2020-11-04 13:20:04 -06:00

30 lines
755 B
JavaScript

import { declare } from "@babel/helper-plugin-utils";
import syntaxNumericSeparator from "@babel/plugin-syntax-numeric-separator";
/**
* Given a bigIntLiteral or NumericLiteral, remove numeric
* separator `_` from its raw representation
*
* @param {NodePath<BigIntLiteral | NumericLiteral>} { node }: A Babel AST node path
*/
function remover({ node }: NodePath<BigIntLiteral | NumericLiteral>) {
const { extra } = node;
if (extra?.raw?.includes("_")) {
extra.raw = extra.raw.replace(/_/g, "");
}
}
export default declare(api => {
api.assertVersion(7);
return {
name: "proposal-numeric-separator",
inherits: syntaxNumericSeparator,
visitor: {
NumericLiteral: remover,
BigIntLiteral: remover,
},
};
});