StringNumericLiteral does not include NumericLiteralSeparator (#10938)
This commit is contained in:
committed by
Nicolò Ribaudo
parent
771c730fda
commit
7bc22e42f5
@@ -1,30 +1,14 @@
|
||||
import { declare } from "@babel/helper-plugin-utils";
|
||||
import syntaxNumericSeparator from "@babel/plugin-syntax-numeric-separator";
|
||||
import { types as t } from "@babel/core";
|
||||
|
||||
export default declare(api => {
|
||||
api.assertVersion(7);
|
||||
|
||||
function replaceNumberArg({ node }) {
|
||||
if (node.callee.name !== "Number") {
|
||||
return;
|
||||
}
|
||||
|
||||
const arg = node.arguments[0];
|
||||
if (!t.isStringLiteral(arg)) {
|
||||
return;
|
||||
}
|
||||
|
||||
arg.value = arg.value.replace(/_/g, "");
|
||||
}
|
||||
|
||||
return {
|
||||
name: "proposal-numeric-separator",
|
||||
inherits: syntaxNumericSeparator,
|
||||
|
||||
visitor: {
|
||||
CallExpression: replaceNumberArg,
|
||||
NewExpression: replaceNumberArg,
|
||||
NumericLiteral({ node }) {
|
||||
const { extra } = node;
|
||||
if (extra && /_/.test(extra.raw)) {
|
||||
|
||||
Reference in New Issue
Block a user