{"version":3,"file":"printString.js","sourceRoot":"","sources":["../../src/language/printString.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC;AAC5D,CAAC;AAID,MAAM,aAAa,GAAG,+BAA+B,CAAC;AAEtD,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAGD,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,KAAK,EAAM,KAAK,EAAM,KAAK,EAAM,SAAS,EAAE,KAAK,EAAM,KAAK,EAAM,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,EAAE,EAAS,EAAE,EAAS,KAAK,EAAM,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,MAAM,EAAK,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE;IAC/E,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,EAAE,EAAS,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CACvF,CAAC","sourcesContent":["/**\n * Prints a string as a GraphQL StringValue literal. Replaces control characters\n * and excluded characters (\" U+0022 and \\\\ U+005C) with escape sequences.\n *\n * @internal\n */\nexport function printString(str: string): string {\n  return `\"${str.replace(escapedRegExp, escapedReplacer)}\"`;\n}\n\n/** @internal */\n// eslint-disable-next-line no-control-regex\nconst escapedRegExp = /[\\x00-\\x1f\\x22\\x5c\\x7f-\\x9f]/g;\n\nfunction escapedReplacer(str: string): string {\n  return escapeSequences[str.charCodeAt(0)];\n}\n\n// prettier-ignore\nconst escapeSequences = [\n  '\\\\u0000', '\\\\u0001', '\\\\u0002', '\\\\u0003', '\\\\u0004', '\\\\u0005', '\\\\u0006', '\\\\u0007',\n  '\\\\b',     '\\\\t',     '\\\\n',     '\\\\u000B', '\\\\f',     '\\\\r',     '\\\\u000E', '\\\\u000F',\n  '\\\\u0010', '\\\\u0011', '\\\\u0012', '\\\\u0013', '\\\\u0014', '\\\\u0015', '\\\\u0016', '\\\\u0017',\n  '\\\\u0018', '\\\\u0019', '\\\\u001A', '\\\\u001B', '\\\\u001C', '\\\\u001D', '\\\\u001E', '\\\\u001F',\n  '',        '',        '\\\\\"',     '',        '',        '',        '',        '',\n  '',        '',        '',        '',        '',        '',        '',        '', // 2F\n  '',        '',        '',        '',        '',        '',        '',        '',\n  '',        '',        '',        '',        '',        '',        '',        '', // 3F\n  '',        '',        '',        '',        '',        '',        '',        '',\n  '',        '',        '',        '',        '',        '',        '',        '', // 4F\n  '',        '',        '',        '',        '',        '',        '',        '',\n  '',        '',        '',        '',        '\\\\\\\\',    '',        '',        '', // 5F\n  '',        '',        '',        '',        '',        '',        '',        '',\n  '',        '',        '',        '',        '',        '',        '',        '', // 6F\n  '',        '',        '',        '',        '',        '',        '',        '',\n  '',        '',        '',        '',        '',        '',        '',        '\\\\u007F',\n  '\\\\u0080', '\\\\u0081', '\\\\u0082', '\\\\u0083', '\\\\u0084', '\\\\u0085', '\\\\u0086', '\\\\u0087',\n  '\\\\u0088', '\\\\u0089', '\\\\u008A', '\\\\u008B', '\\\\u008C', '\\\\u008D', '\\\\u008E', '\\\\u008F',\n  '\\\\u0090', '\\\\u0091', '\\\\u0092', '\\\\u0093', '\\\\u0094', '\\\\u0095', '\\\\u0096', '\\\\u0097',\n  '\\\\u0098', '\\\\u0099', '\\\\u009A', '\\\\u009B', '\\\\u009C', '\\\\u009D', '\\\\u009E', '\\\\u009F',\n];\n"]}