{"version":3,"file":"thread-chunk.mjs","sources":["../../../../node_modules/.pnpm/@0no-co+graphql.web@1.3.2_graphql@16.9.0/node_modules/@0no-co/graphql.web/dist/graphql.web.mjs","../../src/commands/generate-persisted/thread.ts"],"sourcesContent":["var e = {\n  NAME: \"Name\",\n  DOCUMENT: \"Document\",\n  OPERATION_DEFINITION: \"OperationDefinition\",\n  VARIABLE_DEFINITION: \"VariableDefinition\",\n  SELECTION_SET: \"SelectionSet\",\n  FIELD: \"Field\",\n  ARGUMENT: \"Argument\",\n  FRAGMENT_SPREAD: \"FragmentSpread\",\n  INLINE_FRAGMENT: \"InlineFragment\",\n  FRAGMENT_DEFINITION: \"FragmentDefinition\",\n  VARIABLE: \"Variable\",\n  INT: \"IntValue\",\n  FLOAT: \"FloatValue\",\n  STRING: \"StringValue\",\n  BOOLEAN: \"BooleanValue\",\n  NULL: \"NullValue\",\n  ENUM: \"EnumValue\",\n  LIST: \"ListValue\",\n  OBJECT: \"ObjectValue\",\n  OBJECT_FIELD: \"ObjectField\",\n  DIRECTIVE: \"Directive\",\n  NAMED_TYPE: \"NamedType\",\n  LIST_TYPE: \"ListType\",\n  NON_NULL_TYPE: \"NonNullType\"\n};\n\nvar r = {\n  QUERY: \"query\",\n  MUTATION: \"mutation\",\n  SUBSCRIPTION: \"subscription\"\n};\n\nclass GraphQLError extends Error {\n  constructor(e, r, i, n, t, a, o) {\n    if (super(e), this.name = \"GraphQLError\", this.message = e, t) {\n      this.path = t;\n    }\n    if (r) {\n      this.nodes = Array.isArray(r) ? r : [ r ];\n    }\n    if (i) {\n      this.source = i;\n    }\n    if (n) {\n      this.positions = n;\n    }\n    if (a) {\n      this.originalError = a;\n    }\n    var l = o;\n    if (!l && a) {\n      var d = a.extensions;\n      if (d && \"object\" == typeof d) {\n        l = d;\n      }\n    }\n    this.extensions = l || {};\n  }\n  toJSON() {\n    return {\n      ...this,\n      message: this.message\n    };\n  }\n  toString() {\n    return this.message;\n  }\n  get [Symbol.toStringTag]() {\n    return \"GraphQLError\";\n  }\n}\n\nvar i;\n\nvar n;\n\nfunction error(e) {\n  return new GraphQLError(`Syntax Error: Unexpected token at ${n} in ${e}`);\n}\n\nfunction advance(e) {\n  if (e.lastIndex = n, e.test(i)) {\n    return i.slice(n, n = e.lastIndex);\n  }\n}\n\nvar t = / +(?=[^\\s])/y;\n\nfunction blockString(e) {\n  var r = e.split(\"\\n\");\n  var i = \"\";\n  var n = 0;\n  var a = 0;\n  var o = r.length - 1;\n  for (var l = 0; l < r.length; l++) {\n    if (t.lastIndex = 0, t.test(r[l])) {\n      if (l && (!n || t.lastIndex < n)) {\n        n = t.lastIndex;\n      }\n      a = a || l, o = l;\n    }\n  }\n  for (var d = a; d <= o; d++) {\n    if (d !== a) {\n      i += \"\\n\";\n    }\n    i += r[d].slice(n).replace(/\\\\\"\"\"/g, '\"\"\"');\n  }\n  return i;\n}\n\nfunction ignored() {\n  for (var e = 0 | i.charCodeAt(n++); 9 === e || 10 === e || 13 === e || 32 === e || 35 === e || 44 === e || 65279 === e; e = 0 | i.charCodeAt(n++)) {\n    if (35 === e) {\n      for (;(e = 0 | i.charCodeAt(n++)) && 10 !== e && 13 !== e; ) {}\n    }\n  }\n  n--;\n}\n\nfunction name() {\n  var e = n;\n  for (var r = 0 | i.charCodeAt(n++); r >= 48 && r <= 57 || r >= 65 && r <= 90 || 95 === r || r >= 97 && r <= 122; r = 0 | i.charCodeAt(n++)) {}\n  if (e === n - 1) {\n    throw error(\"Name\");\n  }\n  var t = i.slice(e, --n);\n  return ignored(), t;\n}\n\nfunction nameNode() {\n  return {\n    kind: \"Name\",\n    value: name()\n  };\n}\n\nvar a = /(?:\"\"\"|(?:[\\s\\S]*?[^\\\\])\"\"\")/y;\n\nvar o = /(?:(?:\\.\\d+)?[eE][+-]?\\d+|\\.\\d+)/y;\n\nfunction value(e) {\n  var r;\n  switch (i.charCodeAt(n)) {\n   case 91:\n    n++, ignored();\n    var t = [];\n    for (;93 !== i.charCodeAt(n); ) {\n      t.push(value(e));\n    }\n    return n++, ignored(), {\n      kind: \"ListValue\",\n      values: t\n    };\n\n   case 123:\n    n++, ignored();\n    var l = [];\n    for (;125 !== i.charCodeAt(n); ) {\n      var d = nameNode();\n      if (58 !== i.charCodeAt(n++)) {\n        throw error(\"ObjectField\");\n      }\n      ignored(), l.push({\n        kind: \"ObjectField\",\n        name: d,\n        value: value(e)\n      });\n    }\n    return n++, ignored(), {\n      kind: \"ObjectValue\",\n      fields: l\n    };\n\n   case 36:\n    if (e) {\n      throw error(\"Variable\");\n    }\n    return n++, {\n      kind: \"Variable\",\n      name: nameNode()\n    };\n\n   case 34:\n    if (34 === i.charCodeAt(n + 1) && 34 === i.charCodeAt(n + 2)) {\n      if (n += 3, null == (r = advance(a))) {\n        throw error(\"StringValue\");\n      }\n      return ignored(), {\n        kind: \"StringValue\",\n        value: blockString(r.slice(0, -3)),\n        block: !0\n      };\n    } else {\n      var u = n;\n      var s;\n      n++;\n      var c = !1;\n      for (s = 0 | i.charCodeAt(n++); 92 === s && (n++, c = !0) || 10 !== s && 13 !== s && 34 !== s && s; s = 0 | i.charCodeAt(n++)) {}\n      if (34 !== s) {\n        throw error(\"StringValue\");\n      }\n      return r = i.slice(u, n), ignored(), {\n        kind: \"StringValue\",\n        value: c ? JSON.parse(r) : r.slice(1, -1),\n        block: !1\n      };\n    }\n\n   case 45:\n   case 48:\n   case 49:\n   case 50:\n   case 51:\n   case 52:\n   case 53:\n   case 54:\n   case 55:\n   case 56:\n   case 57:\n    var v = n++;\n    var f;\n    for (;(f = 0 | i.charCodeAt(n++)) >= 48 && f <= 57; ) {}\n    var m = i.slice(v, --n);\n    if (46 === (f = i.charCodeAt(n)) || 69 === f || 101 === f) {\n      if (null == (r = advance(o))) {\n        throw error(\"FloatValue\");\n      }\n      return ignored(), {\n        kind: \"FloatValue\",\n        value: m + r\n      };\n    } else {\n      return ignored(), {\n        kind: \"IntValue\",\n        value: m\n      };\n    }\n\n   case 110:\n    if (117 === i.charCodeAt(n + 1) && 108 === i.charCodeAt(n + 2) && 108 === i.charCodeAt(n + 3)) {\n      return n += 4, ignored(), {\n        kind: \"NullValue\"\n      };\n    } else {\n      break;\n    }\n\n   case 116:\n    if (114 === i.charCodeAt(n + 1) && 117 === i.charCodeAt(n + 2) && 101 === i.charCodeAt(n + 3)) {\n      return n += 4, ignored(), {\n        kind: \"BooleanValue\",\n        value: !0\n      };\n    } else {\n      break;\n    }\n\n   case 102:\n    if (97 === i.charCodeAt(n + 1) && 108 === i.charCodeAt(n + 2) && 115 === i.charCodeAt(n + 3) && 101 === i.charCodeAt(n + 4)) {\n      return n += 5, ignored(), {\n        kind: \"BooleanValue\",\n        value: !1\n      };\n    } else {\n      break;\n    }\n  }\n  return {\n    kind: \"EnumValue\",\n    value: name()\n  };\n}\n\nfunction arguments_(e) {\n  if (40 === i.charCodeAt(n)) {\n    var r = [];\n    n++, ignored();\n    do {\n      var t = nameNode();\n      if (58 !== i.charCodeAt(n++)) {\n        throw error(\"Argument\");\n      }\n      ignored(), r.push({\n        kind: \"Argument\",\n        name: t,\n        value: value(e)\n      });\n    } while (41 !== i.charCodeAt(n));\n    return n++, ignored(), r;\n  }\n}\n\nfunction directives(e) {\n  if (64 === i.charCodeAt(n)) {\n    var r = [];\n    do {\n      n++, r.push({\n        kind: \"Directive\",\n        name: nameNode(),\n        arguments: arguments_(e)\n      });\n    } while (64 === i.charCodeAt(n));\n    return r;\n  }\n}\n\nfunction type() {\n  var e = 0;\n  for (;91 === i.charCodeAt(n); ) {\n    e++, n++, ignored();\n  }\n  var r = {\n    kind: \"NamedType\",\n    name: nameNode()\n  };\n  do {\n    if (33 === i.charCodeAt(n)) {\n      n++, ignored(), r = {\n        kind: \"NonNullType\",\n        type: r\n      };\n    }\n    if (e) {\n      if (93 !== i.charCodeAt(n++)) {\n        throw error(\"NamedType\");\n      }\n      ignored(), r = {\n        kind: \"ListType\",\n        type: r\n      };\n    }\n  } while (e--);\n  return r;\n}\n\nfunction selectionSetStart() {\n  if (123 !== i.charCodeAt(n++)) {\n    throw error(\"SelectionSet\");\n  }\n  return ignored(), selectionSet();\n}\n\nfunction selectionSet() {\n  var e = [];\n  do {\n    if (46 === i.charCodeAt(n)) {\n      if (46 !== i.charCodeAt(++n) || 46 !== i.charCodeAt(++n)) {\n        throw error(\"SelectionSet\");\n      }\n      switch (n++, ignored(), i.charCodeAt(n)) {\n       case 64:\n        e.push({\n          kind: \"InlineFragment\",\n          typeCondition: void 0,\n          directives: directives(!1),\n          selectionSet: selectionSetStart()\n        });\n        break;\n\n       case 111:\n        if (110 === i.charCodeAt(n + 1)) {\n          n += 2, ignored(), e.push({\n            kind: \"InlineFragment\",\n            typeCondition: {\n              kind: \"NamedType\",\n              name: nameNode()\n            },\n            directives: directives(!1),\n            selectionSet: selectionSetStart()\n          });\n        } else {\n          e.push({\n            kind: \"FragmentSpread\",\n            name: nameNode(),\n            directives: directives(!1)\n          });\n        }\n        break;\n\n       case 123:\n        n++, ignored(), e.push({\n          kind: \"InlineFragment\",\n          typeCondition: void 0,\n          directives: void 0,\n          selectionSet: selectionSet()\n        });\n        break;\n\n       default:\n        e.push({\n          kind: \"FragmentSpread\",\n          name: nameNode(),\n          directives: directives(!1)\n        });\n      }\n    } else {\n      var r = nameNode();\n      var t = void 0;\n      if (58 === i.charCodeAt(n)) {\n        n++, ignored(), t = r, r = nameNode();\n      }\n      var a = arguments_(!1);\n      var o = directives(!1);\n      var l = void 0;\n      if (123 === i.charCodeAt(n)) {\n        n++, ignored(), l = selectionSet();\n      }\n      e.push({\n        kind: \"Field\",\n        alias: t,\n        name: r,\n        arguments: a,\n        directives: o,\n        selectionSet: l\n      });\n    }\n  } while (125 !== i.charCodeAt(n));\n  return n++, ignored(), {\n    kind: \"SelectionSet\",\n    selections: e\n  };\n}\n\nfunction variableDefinitions() {\n  if (ignored(), 40 === i.charCodeAt(n)) {\n    var e = [];\n    n++, ignored();\n    do {\n      var r = void 0;\n      if (34 === i.charCodeAt(n)) {\n        r = value(!0);\n      }\n      if (36 !== i.charCodeAt(n++)) {\n        throw error(\"Variable\");\n      }\n      var t = nameNode();\n      if (58 !== i.charCodeAt(n++)) {\n        throw error(\"VariableDefinition\");\n      }\n      ignored();\n      var a = type();\n      var o = void 0;\n      if (61 === i.charCodeAt(n)) {\n        n++, ignored(), o = value(!0);\n      }\n      ignored();\n      var l = {\n        kind: \"VariableDefinition\",\n        variable: {\n          kind: \"Variable\",\n          name: t\n        },\n        type: a,\n        defaultValue: o,\n        directives: directives(!0)\n      };\n      if (r) {\n        l.description = r;\n      }\n      e.push(l);\n    } while (41 !== i.charCodeAt(n));\n    return n++, ignored(), e;\n  }\n}\n\nfunction fragmentDefinition(e) {\n  var r = nameNode();\n  if (111 !== i.charCodeAt(n++) || 110 !== i.charCodeAt(n++)) {\n    throw error(\"FragmentDefinition\");\n  }\n  ignored();\n  var t = {\n    kind: \"FragmentDefinition\",\n    name: r,\n    typeCondition: {\n      kind: \"NamedType\",\n      name: nameNode()\n    },\n    directives: directives(!1),\n    selectionSet: selectionSetStart()\n  };\n  if (e) {\n    t.description = e;\n  }\n  return t;\n}\n\nfunction definitions() {\n  var e = [];\n  do {\n    var r = void 0;\n    if (34 === i.charCodeAt(n)) {\n      r = value(!0);\n    }\n    if (123 === i.charCodeAt(n)) {\n      if (r) {\n        throw error(\"Document\");\n      }\n      n++, ignored(), e.push({\n        kind: \"OperationDefinition\",\n        operation: \"query\",\n        name: void 0,\n        variableDefinitions: void 0,\n        directives: void 0,\n        selectionSet: selectionSet()\n      });\n    } else {\n      var t = name();\n      switch (t) {\n       case \"fragment\":\n        e.push(fragmentDefinition(r));\n        break;\n\n       case \"query\":\n       case \"mutation\":\n       case \"subscription\":\n        var a;\n        var o = void 0;\n        if (40 !== (a = i.charCodeAt(n)) && 64 !== a && 123 !== a) {\n          o = nameNode();\n        }\n        var l = {\n          kind: \"OperationDefinition\",\n          operation: t,\n          name: o,\n          variableDefinitions: variableDefinitions(),\n          directives: directives(!1),\n          selectionSet: selectionSetStart()\n        };\n        if (r) {\n          l.description = r;\n        }\n        e.push(l);\n        break;\n\n       default:\n        throw error(\"Document\");\n      }\n    }\n  } while (n < i.length);\n  return e;\n}\n\nfunction parse(e, r) {\n  if (i = e.body ? e.body : e, n = 0, ignored(), r && r.noLocation) {\n    return {\n      kind: \"Document\",\n      definitions: definitions()\n    };\n  } else {\n    return {\n      kind: \"Document\",\n      definitions: definitions(),\n      loc: {\n        start: 0,\n        end: i.length,\n        startToken: void 0,\n        endToken: void 0,\n        source: {\n          body: i,\n          name: \"graphql.web\",\n          locationOffset: {\n            line: 1,\n            column: 1\n          }\n        }\n      }\n    };\n  }\n}\n\nfunction parseValue(e, r) {\n  return i = e.body ? e.body : e, n = 0, ignored(), value(!1);\n}\n\nfunction parseType(e, r) {\n  return i = e.body ? e.body : e, n = 0, type();\n}\n\nvar l = {};\n\nfunction visit(e, r) {\n  var i = [];\n  var n = [];\n  try {\n    var t = function traverse(e, t, a) {\n      var o = !1;\n      var d = r[e.kind] && r[e.kind].enter || r[e.kind] || r.enter;\n      var u = d && d.call(r, e, t, a, n, i);\n      if (!1 === u) {\n        return e;\n      } else if (null === u) {\n        return null;\n      } else if (u === l) {\n        throw l;\n      } else if (u && \"string\" == typeof u.kind) {\n        o = u !== e, e = u;\n      }\n      if (a) {\n        i.push(a);\n      }\n      var s;\n      var c = {\n        ...e\n      };\n      for (var v in e) {\n        n.push(v);\n        var f = e[v];\n        if (Array.isArray(f)) {\n          var m = [];\n          for (var p = 0; p < f.length; p++) {\n            if (null != f[p] && \"string\" == typeof f[p].kind) {\n              if (i.push(e), n.push(p), s = traverse(f[p], p, f), n.pop(), i.pop(), null == s) {\n                o = !0;\n              } else {\n                o = o || s !== f[p], m.push(s);\n              }\n            }\n          }\n          f = m;\n        } else if (null != f && \"string\" == typeof f.kind) {\n          if (void 0 !== (s = traverse(f, v, e))) {\n            o = o || f !== s, f = s;\n          }\n        }\n        if (n.pop(), o) {\n          c[v] = f;\n        }\n      }\n      if (a) {\n        i.pop();\n      }\n      var h = r[e.kind] && r[e.kind].leave || r.leave;\n      var g = h && h.call(r, e, t, a, n, i);\n      if (g === l) {\n        throw l;\n      } else if (void 0 !== g) {\n        return g;\n      } else if (void 0 !== u) {\n        return o ? c : u;\n      } else {\n        return o ? c : e;\n      }\n    }(e);\n    return void 0 !== t && !1 !== t ? t : e;\n  } catch (r) {\n    if (r !== l) {\n      throw r;\n    }\n    return e;\n  }\n}\n\nfunction mapJoin(e, r, i) {\n  var n = \"\";\n  for (var t = 0; t < e.length; t++) {\n    if (t) {\n      n += r;\n    }\n    n += i(e[t]);\n  }\n  return n;\n}\n\nfunction printString(e) {\n  return JSON.stringify(e);\n}\n\nfunction printBlockString(e) {\n  return '\"\"\"\\n' + e.replace(/\"\"\"/g, '\\\\\"\"\"') + '\\n\"\"\"';\n}\n\nvar d = \"\\n\";\n\nvar u = {\n  OperationDefinition(e) {\n    var r = \"\";\n    if (e.description) {\n      r += u.StringValue(e.description) + \"\\n\";\n    }\n    if (r += e.operation, e.name) {\n      r += \" \" + e.name.value;\n    }\n    if (e.variableDefinitions && e.variableDefinitions.length) {\n      if (!e.name) {\n        r += \" \";\n      }\n      r += \"(\" + mapJoin(e.variableDefinitions, \", \", u.VariableDefinition) + \")\";\n    }\n    if (e.directives && e.directives.length) {\n      r += \" \" + mapJoin(e.directives, \" \", u.Directive);\n    }\n    var i = u.SelectionSet(e.selectionSet);\n    return \"query\" !== r ? r + \" \" + i : i;\n  },\n  VariableDefinition(e) {\n    var r = \"\";\n    if (e.description) {\n      r += u.StringValue(e.description) + \" \";\n    }\n    if (r += u.Variable(e.variable) + \": \" + _print(e.type), e.defaultValue) {\n      r += \" = \" + _print(e.defaultValue);\n    }\n    if (e.directives && e.directives.length) {\n      r += \" \" + mapJoin(e.directives, \" \", u.Directive);\n    }\n    return r;\n  },\n  Field(e) {\n    var r = e.alias ? e.alias.value + \": \" + e.name.value : e.name.value;\n    if (e.arguments && e.arguments.length) {\n      var i = mapJoin(e.arguments, \", \", u.Argument);\n      if (r.length + i.length + 2 > 80) {\n        r += \"(\" + (d += \"  \") + mapJoin(e.arguments, d, u.Argument) + (d = d.slice(0, -2)) + \")\";\n      } else {\n        r += \"(\" + i + \")\";\n      }\n    }\n    if (e.directives && e.directives.length) {\n      r += \" \" + mapJoin(e.directives, \" \", u.Directive);\n    }\n    if (e.selectionSet && e.selectionSet.selections.length) {\n      r += \" \" + u.SelectionSet(e.selectionSet);\n    }\n    return r;\n  },\n  StringValue(e) {\n    if (e.block) {\n      return printBlockString(e.value).replace(/\\n/g, d);\n    } else {\n      return printString(e.value);\n    }\n  },\n  BooleanValue: e => \"\" + e.value,\n  NullValue: e => \"null\",\n  IntValue: e => e.value,\n  FloatValue: e => e.value,\n  EnumValue: e => e.value,\n  Name: e => e.value,\n  Variable: e => \"$\" + e.name.value,\n  ListValue: e => \"[\" + mapJoin(e.values, \", \", _print) + \"]\",\n  ObjectValue: e => \"{\" + mapJoin(e.fields, \", \", u.ObjectField) + \"}\",\n  ObjectField: e => e.name.value + \": \" + _print(e.value),\n  Document(e) {\n    if (!e.definitions || !e.definitions.length) {\n      return \"\";\n    } else {\n      return mapJoin(e.definitions, \"\\n\\n\", _print);\n    }\n  },\n  SelectionSet: e => \"{\" + (d += \"  \") + mapJoin(e.selections, d, _print) + (d = d.slice(0, -2)) + \"}\",\n  Argument: e => e.name.value + \": \" + _print(e.value),\n  FragmentSpread(e) {\n    var r = \"...\" + e.name.value;\n    if (e.directives && e.directives.length) {\n      r += \" \" + mapJoin(e.directives, \" \", u.Directive);\n    }\n    return r;\n  },\n  InlineFragment(e) {\n    var r = \"...\";\n    if (e.typeCondition) {\n      r += \" on \" + e.typeCondition.name.value;\n    }\n    if (e.directives && e.directives.length) {\n      r += \" \" + mapJoin(e.directives, \" \", u.Directive);\n    }\n    return r += \" \" + u.SelectionSet(e.selectionSet);\n  },\n  FragmentDefinition(e) {\n    var r = \"\";\n    if (e.description) {\n      r += u.StringValue(e.description) + \"\\n\";\n    }\n    if (r += \"fragment \" + e.name.value, r += \" on \" + e.typeCondition.name.value, e.directives && e.directives.length) {\n      r += \" \" + mapJoin(e.directives, \" \", u.Directive);\n    }\n    return r + \" \" + u.SelectionSet(e.selectionSet);\n  },\n  Directive(e) {\n    var r = \"@\" + e.name.value;\n    if (e.arguments && e.arguments.length) {\n      r += \"(\" + mapJoin(e.arguments, \", \", u.Argument) + \")\";\n    }\n    return r;\n  },\n  NamedType: e => e.name.value,\n  ListType: e => \"[\" + _print(e.type) + \"]\",\n  NonNullType: e => _print(e.type) + \"!\"\n};\n\nvar _print = e => u[e.kind](e);\n\nfunction print(e) {\n  return d = \"\\n\", u[e.kind] ? u[e.kind](e) : \"\";\n}\n\nfunction valueFromASTUntyped(e, r) {\n  switch (e.kind) {\n   case \"NullValue\":\n    return null;\n\n   case \"IntValue\":\n    return parseInt(e.value, 10);\n\n   case \"FloatValue\":\n    return parseFloat(e.value);\n\n   case \"StringValue\":\n   case \"EnumValue\":\n   case \"BooleanValue\":\n    return e.value;\n\n   case \"ListValue\":\n    var i = [];\n    for (var n = 0, t = e.values.length; n < t; n++) {\n      i.push(valueFromASTUntyped(e.values[n], r));\n    }\n    return i;\n\n   case \"ObjectValue\":\n    var a = Object.create(null);\n    for (var o = 0, l = e.fields.length; o < l; o++) {\n      var d = e.fields[o];\n      a[d.name.value] = valueFromASTUntyped(d.value, r);\n    }\n    return a;\n\n   case \"Variable\":\n    return r && r[e.name.value];\n  }\n}\n\nfunction valueFromTypeNode(e, r, i) {\n  if (\"Variable\" === e.kind) {\n    return i ? valueFromTypeNode(i[e.name.value], r, i) : void 0;\n  } else if (\"NonNullType\" === r.kind) {\n    return \"NullValue\" !== e.kind ? valueFromTypeNode(e, r, i) : void 0;\n  } else if (\"NullValue\" === e.kind) {\n    return null;\n  } else if (\"ListType\" === r.kind) {\n    if (\"ListValue\" === e.kind) {\n      var n = [];\n      for (var t = 0, a = e.values.length; t < a; t++) {\n        var o = valueFromTypeNode(e.values[t], r.type, i);\n        if (void 0 === o) {\n          return;\n        } else {\n          n.push(o);\n        }\n      }\n      return n;\n    }\n  } else if (\"NamedType\" === r.kind) {\n    switch (r.name.value) {\n     case \"Int\":\n     case \"Float\":\n     case \"String\":\n     case \"Bool\":\n      return r.name.value + \"Value\" === e.kind ? valueFromASTUntyped(e, i) : void 0;\n\n     default:\n      return valueFromASTUntyped(e, i);\n    }\n  }\n}\n\nfunction isSelectionNode(e) {\n  return \"Field\" === e.kind || \"FragmentSpread\" === e.kind || \"InlineFragment\" === e.kind;\n}\n\nfunction Source(e, r, i) {\n  return {\n    body: e,\n    name: r,\n    locationOffset: i || {\n      line: 1,\n      column: 1\n    }\n  };\n}\n\nexport { l as BREAK, GraphQLError, e as Kind, r as OperationTypeNode, Source, isSelectionNode, parse, parseType, parseValue, print, printBlockString, printString, valueFromASTUntyped, valueFromTypeNode, visit };\n//# sourceMappingURL=graphql.web.mjs.map\n","import ts from 'typescript';\nimport { Kind, parse, print } from '@0no-co/graphql.web';\n\nimport type { FragmentDefinitionNode } from '@0no-co/graphql.web';\nimport type { GraphQLSPConfig } from '@gql.tada/internal';\nimport { getSchemaNamesFromConfig } from '@gql.tada/internal';\n\nimport {\n  findAllPersistedCallExpressions,\n  getDocumentReferenceFromTypeQuery,\n  getDocumentReferenceFromDocumentNode,\n  unrollTadaFragments,\n} from '@0no-co/graphqlsp/api';\n\nimport { programFactory } from '../../ts';\nimport { expose } from '../../threads';\n\nimport type { PersistedSignal, PersistedWarning, PersistedDocument } from './types';\n\nexport interface PersistedParams {\n  disableNormalization: boolean;\n  rootPath: string;\n  tsconfigPath?: string;\n  configPath: string;\n  pluginConfig: GraphQLSPConfig;\n}\n\nasync function* _runPersisted(params: PersistedParams): AsyncIterableIterator<PersistedSignal> {\n  const schemaNames = getSchemaNamesFromConfig(params.pluginConfig);\n  const factory = programFactory(params);\n\n  const externalFiles = factory.createExternalFiles();\n  if (externalFiles.length) {\n    yield { kind: 'EXTERNAL_WARNING' };\n    await factory.addVirtualFiles(externalFiles);\n  }\n\n  const container = factory.build();\n  const pluginInfo = container.buildPluginInfo(params.pluginConfig);\n  const sourceFiles = container.getSourceFiles();\n\n  yield {\n    kind: 'FILE_COUNT',\n    fileCount: sourceFiles.length,\n  };\n\n  for (const sourceFile of sourceFiles) {\n    let filePath = sourceFile.fileName;\n    const documents: PersistedDocument[] = [];\n    const warnings: PersistedWarning[] = [];\n\n    const calls = findAllPersistedCallExpressions(sourceFile, pluginInfo);\n    for (const call of calls) {\n      const position = container.getSourcePosition(sourceFile, call.node.getStart());\n      filePath = position.fileName;\n\n      if (!schemaNames.has(call.schema)) {\n        warnings.push({\n          message: call.schema\n            ? `The '${call.schema}' schema is not in the configuration but was referenced by \"graphql.persisted\".`\n            : schemaNames.size > 1\n              ? 'The document is not for a known schema. Have you re-generated the output file?'\n              : 'Multiple schemas are configured, but the document is not for a specific schema.',\n          file: position.fileName,\n          line: position.line,\n          col: position.col,\n        });\n        continue;\n      }\n\n      const hashArg = call.node.arguments[0];\n      const docArg = call.node.arguments[1];\n      const typeQuery = call.node.typeArguments && call.node.typeArguments[0];\n      if (!hashArg || !ts.isStringLiteral(hashArg)) {\n        warnings.push({\n          message:\n            '\"graphql.persisted\" must be called with a string literal as the first argument.',\n          file: position.fileName,\n          line: position.line,\n          col: position.col,\n        });\n        continue;\n      } else if (!docArg && !typeQuery) {\n        warnings.push({\n          message:\n            '\"graphql.persisted\" is missing a document.\\n' +\n            'This may be passed as a generic such as `graphql.persisted<typeof document>` or as the second argument.',\n          file: position.fileName,\n          line: position.line,\n          col: position.col,\n        });\n        continue;\n      }\n\n      let foundNode: ts.CallExpression | null = null;\n      let referencingNode: ts.Node = call.node;\n      if (docArg && (ts.isCallExpression(docArg) || ts.isIdentifier(docArg))) {\n        const result = getDocumentReferenceFromDocumentNode(\n          docArg,\n          sourceFile.fileName,\n          pluginInfo\n        );\n        foundNode = result.node;\n        referencingNode = docArg;\n      } else if (typeQuery && ts.isTypeQueryNode(typeQuery)) {\n        const result = getDocumentReferenceFromTypeQuery(\n          typeQuery,\n          sourceFile.fileName,\n          pluginInfo\n        );\n        foundNode = result.node;\n        referencingNode = typeQuery;\n      }\n\n      if (!foundNode) {\n        warnings.push({\n          message:\n            `Could not find reference for \"${referencingNode.getText()}\".\\n` +\n            'If this is unexpected, please file an issue describing your case.',\n          file: position.fileName,\n          line: position.line,\n          col: position.col,\n        });\n        continue;\n      }\n\n      if (\n        !foundNode ||\n        !ts.isCallExpression(foundNode) ||\n        (!ts.isNoSubstitutionTemplateLiteral(foundNode.arguments[0]) &&\n          !ts.isStringLiteral(foundNode.arguments[0]))\n      ) {\n        warnings.push({\n          message:\n            `The referenced document of \"${referencingNode.getText()}\" contains no document string literal.\\n` +\n            'If this is unexpected, please file an issue describing your case.',\n          file: position.fileName,\n          line: position.line,\n          col: position.col,\n        });\n        continue;\n      }\n\n      const fragmentDefs: FragmentDefinitionNode[] = [];\n      const operation = foundNode.arguments[0].getText().slice(1, -1);\n      if (foundNode.arguments[1] && ts.isArrayLiteralExpression(foundNode.arguments[1])) {\n        unrollTadaFragments(\n          foundNode.arguments[1],\n          fragmentDefs,\n          container.buildPluginInfo(params.pluginConfig)\n        );\n      }\n\n      const seen = new Set<string>();\n      let document: string;\n      if (params.disableNormalization) {\n        document = operation;\n      } else {\n        try {\n          const parsed = parse(operation);\n          const seen = new Set<unknown>();\n          for (const definition of parsed.definitions) {\n            if (definition.kind === Kind.FRAGMENT_DEFINITION && !seen.has(definition)) {\n              stripUnmaskDirectivesFromDefinition(definition);\n            }\n          }\n          document = print(parsed);\n        } catch (_error) {\n          warnings.push({\n            message:\n              `The referenced document of \"${referencingNode.getText()}\" could not be parsed.\\n` +\n              'Run `check` to see specific validation errors.',\n            file: position.fileName,\n            line: position.line,\n            col: position.col,\n          });\n          continue;\n        }\n      }\n\n      // NOTE: Update graphqlsp not to pre-parse fragments, which also swallows errors\n      for (const fragmentDef of fragmentDefs) {\n        stripUnmaskDirectivesFromDefinition(fragmentDef);\n        const printedFragmentDef = print(fragmentDef);\n        if (!seen.has(printedFragmentDef)) {\n          document += '\\n\\n' + print(fragmentDef);\n          seen.add(printedFragmentDef);\n        }\n      }\n\n      documents.push({\n        schemaName: call.schema,\n        hashKey: hashArg.getText().slice(1, -1),\n        document,\n      });\n    }\n\n    yield {\n      kind: 'FILE_PERSISTED',\n      filePath,\n      documents,\n      warnings,\n    };\n  }\n}\n\nexport const runPersisted = expose(_runPersisted);\ntype writable<T> = { -readonly [K in keyof T]: T[K] };\n\nconst stripUnmaskDirectivesFromDefinition = (definition: FragmentDefinitionNode) => {\n  (definition as writable<FragmentDefinitionNode>).directives = definition.directives?.filter(\n    (directive) => directive.name.value !== '_unmask'\n  );\n};\n"],"names":["e","runPersisted","expose","async","_runPersisted","params","schemaNames","getSchemaNamesFromConfig","pluginConfig","factory","programFactory","externalFiles","createExternalFiles","length","kind","addVirtualFiles","container","build","pluginInfo","buildPluginInfo","sourceFiles","getSourceFiles","fileCount","sourceFile","filePath","fileName","documents","warnings","calls","findAllPersistedCallExpressions","call","position","getSourcePosition","node","getStart","has","schema","push","message","size","file","line","col","hashArg","arguments","docArg","typeQuery","typeArguments","ts","isStringLiteral","foundNode","referencingNode","isCallExpression","isIdentifier","getDocumentReferenceFromDocumentNode","isTypeQueryNode","getDocumentReferenceFromTypeQuery","getText","isNoSubstitutionTemplateLiteral","fragmentDefs","operation","slice","isArrayLiteralExpression","unrollTadaFragments","seen","Set","document","disableNormalization","parsed","parse","definition","definitions","Kind","stripUnmaskDirectivesFromDefinition","print","_error","fragmentDef","printedFragmentDef","add","schemaName","hashKey","directives","filter","directive","name","value"],"mappings":"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","x_google_ignoreList":[0]}