text: "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;