"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _helperPluginUtils = require("@babel/helper-plugin-utils"); var _pluginSyntaxJsonStrings = _interopRequireDefault(require("@babel/plugin-syntax-json-strings")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _default = (0, _helperPluginUtils.declare)(api => { api.assertVersion(7); const regex = /(\\*)([\u2028\u2029])/g; function replace(match, escapes, separator) { const isEscaped = escapes.length % 2 === 1; if (isEscaped) return match; return `${escapes}\\u${separator.charCodeAt(0).toString(16)}`; } return { name: "proposal-json-strings", inherits: _pluginSyntaxJsonStrings.default, visitor: { "DirectiveLiteral|StringLiteral"({ node }) { const { extra } = node; if (!extra || !extra.raw) return; extra.raw = extra.raw.replace(regex, replace); } } }; }); exports.default = _default;