{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { declare } from \"@babel/helper-plugin-utils\";\nimport type { NodePath, types as t } from \"@babel/core\";\n\n/**\n * Given a bigIntLiteral or NumericLiteral, remove numeric\n * separator `_` from its raw representation\n *\n * @param {NodePath<BigIntLiteral | NumericLiteral>} { node }: A Babel AST node path\n */\nfunction remover({ node }: NodePath<t.BigIntLiteral | t.NumericLiteral>) {\n  const { extra } = node;\n  // @ts-expect-error todo(flow->ts)\n  if (extra?.raw?.includes(\"_\")) {\n    // @ts-expect-error todo(flow->ts)\n    extra.raw = extra.raw.replace(/_/g, \"\");\n  }\n}\n\nexport default declare(api => {\n  api.assertVersion(REQUIRED_VERSION(\"^7.0.0-0 || ^8.0.0\"));\n\n  return {\n    name: \"transform-numeric-separator\",\n    manipulateOptions: undefined,\n    visitor: {\n      NumericLiteral: remover,\n      BigIntLiteral: remover,\n    },\n  };\n});\n"],"names":[],"mappings":";;AASA,SAAS,OAAO,CAAC;AAAE,EAAA;AAAmD,CAAC,EAAE;EACvE,MAAM;AAAE,IAAA;AAAM,GAAC,GAAG,IAAI;EAEtB,IAAI,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;AAE7B,IAAA,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACzC,EAAA;AACF;AAEA,cAAe,OAAO,CAAC,GAAG,IAAI;EAC5B,GAAG,CAAC,aAAa,CAAA,oBAAuC,CAAC;EAEzD,OAAO;AACL,IAAA,IAAI,EAAE,6BAA6B;AACnC,IAAA,iBAAiB,EAAE,SAAS;AAC5B,IAAA,OAAO,EAAE;AACP,MAAA,cAAc,EAAE,OAAO;AACvB,MAAA,aAAa,EAAE;AACjB;GACD;AACH,CAAC,CAAC;;;;"}