@graphql-hive/laboratory
Version:
17 lines • 80.7 kB
JavaScript
const e=require(`./editor.api-hvIwRq58.cjs`),t=require(`./monaco-editor-BqEPzFim.cjs`);require(`./monaco.contribution-CDB7N45b.cjs`);function n(e,r,i){return r===i?!0:t.isNonNullType(i)?t.isNonNullType(r)?n(e,r.ofType,i.ofType):!1:t.isNonNullType(r)?n(e,r.ofType,i):t.isListType(i)?t.isListType(r)?n(e,r.ofType,i.ofType):!1:t.isListType(r)?!1:t.isAbstractType(i)&&(t.isInterfaceType(r)||t.isObjectType(r))&&e.isSubType(i,r)}function r(e,n,r){return n===r?!0:t.isAbstractType(n)?t.isAbstractType(r)?e.getPossibleTypes(n).some(t=>e.isSubType(r,t)):e.isSubType(n,r):t.isAbstractType(r)?e.isSubType(r,n):!1}function i(e,n){switch(n.kind){case t.Kind.LIST_TYPE:{let r=i(e,n.type);return r&&new t.GraphQLList(r)}case t.Kind.NON_NULL_TYPE:{let r=i(e,n.type);return r&&new t.GraphQLNonNull(r)}case t.Kind.NAMED_TYPE:return e.getType(n.name.value)}}var a=class{constructor(e,n,r){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=r??o,n&&(t.isInputType(n)&&this._inputTypeStack.push(n),t.isCompositeType(n)&&this._parentTypeStack.push(n),t.isOutputType(n)&&this._typeStack.push(n))}get[Symbol.toStringTag](){return`TypeInfo`}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(e){let n=this._schema;switch(e.kind){case t.Kind.SELECTION_SET:{let e=t.getNamedType(this.getType());this._parentTypeStack.push(t.isCompositeType(e)?e:void 0);break}case t.Kind.FIELD:{let r=this.getParentType(),i,a;r&&(i=this._getFieldDef(n,r,e),i&&(a=i.type)),this._fieldDefStack.push(i),this._typeStack.push(t.isOutputType(a)?a:void 0);break}case t.Kind.DIRECTIVE:this._directive=n.getDirective(e.name.value);break;case t.Kind.OPERATION_DEFINITION:{let r=n.getRootType(e.operation);this._typeStack.push(t.isObjectType(r)?r:void 0);break}case t.Kind.INLINE_FRAGMENT:case t.Kind.FRAGMENT_DEFINITION:{let r=e.typeCondition,a=r?i(n,r):t.getNamedType(this.getType());this._typeStack.push(t.isOutputType(a)?a:void 0);break}case t.Kind.VARIABLE_DEFINITION:{let r=i(n,e.type);this._inputTypeStack.push(t.isInputType(r)?r:void 0);break}case t.Kind.ARGUMENT:{let n,r,i=this.getDirective()??this.getFieldDef();i&&(n=i.args.find(t=>t.name===e.name.value),n&&(r=n.type)),this._argument=n,this._defaultValueStack.push(n?n.defaultValue:void 0),this._inputTypeStack.push(t.isInputType(r)?r:void 0);break}case t.Kind.LIST:{let e=t.getNullableType(this.getInputType()),n=t.isListType(e)?e.ofType:e;this._defaultValueStack.push(void 0),this._inputTypeStack.push(t.isInputType(n)?n:void 0);break}case t.Kind.OBJECT_FIELD:{let n=t.getNamedType(this.getInputType()),r,i;t.isInputObjectType(n)&&(i=n.getFields()[e.name.value],i&&(r=i.type)),this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(t.isInputType(r)?r:void 0);break}case t.Kind.ENUM:{let n=t.getNamedType(this.getInputType()),r;t.isEnumType(n)&&(r=n.getValue(e.value)),this._enumValue=r;break}default:}}leave(e){switch(e.kind){case t.Kind.SELECTION_SET:this._parentTypeStack.pop();break;case t.Kind.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case t.Kind.DIRECTIVE:this._directive=null;break;case t.Kind.OPERATION_DEFINITION:case t.Kind.INLINE_FRAGMENT:case t.Kind.FRAGMENT_DEFINITION:this._typeStack.pop();break;case t.Kind.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case t.Kind.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case t.Kind.LIST:case t.Kind.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case t.Kind.ENUM:this._enumValue=null;break;default:}}};function o(e,n,r){let i=r.name.value;if(i===t.SchemaMetaFieldDef.name&&e.getQueryType()===n)return t.SchemaMetaFieldDef;if(i===t.TypeMetaFieldDef.name&&e.getQueryType()===n)return t.TypeMetaFieldDef;if(i===t.TypeNameMetaFieldDef.name&&t.isCompositeType(n))return t.TypeNameMetaFieldDef;if(t.isObjectType(n)||t.isInterfaceType(n))return n.getFields()[i]}function s(e,n){return{enter(...r){let i=r[0];e.enter(i);let a=t.getEnterLeaveForKind(n,i.kind).enter;if(a){let o=a.apply(n,r);return o!==void 0&&(e.leave(i),t.isNode(o)&&e.enter(o)),o}},leave(...r){let i=r[0],a=t.getEnterLeaveForKind(n,i.kind).leave,o;return a&&(o=a.apply(n,r)),e.leave(i),o}}}function c(e){return e.kind===t.Kind.OPERATION_DEFINITION||e.kind===t.Kind.FRAGMENT_DEFINITION}function l(e){return e.kind===t.Kind.SCHEMA_DEFINITION||u(e)||e.kind===t.Kind.DIRECTIVE_DEFINITION}function u(e){return e.kind===t.Kind.SCALAR_TYPE_DEFINITION||e.kind===t.Kind.OBJECT_TYPE_DEFINITION||e.kind===t.Kind.INTERFACE_TYPE_DEFINITION||e.kind===t.Kind.UNION_TYPE_DEFINITION||e.kind===t.Kind.ENUM_TYPE_DEFINITION||e.kind===t.Kind.INPUT_OBJECT_TYPE_DEFINITION}function d(e){return e.kind===t.Kind.SCHEMA_EXTENSION||f(e)}function f(e){return e.kind===t.Kind.SCALAR_TYPE_EXTENSION||e.kind===t.Kind.OBJECT_TYPE_EXTENSION||e.kind===t.Kind.INTERFACE_TYPE_EXTENSION||e.kind===t.Kind.UNION_TYPE_EXTENSION||e.kind===t.Kind.ENUM_TYPE_EXTENSION||e.kind===t.Kind.INPUT_OBJECT_TYPE_EXTENSION}function p(e){return{Document(n){for(let r of n.definitions)if(!c(r)){let n=r.kind===t.Kind.SCHEMA_DEFINITION||r.kind===t.Kind.SCHEMA_EXTENSION?`schema`:`"`+r.name.value+`"`;e.reportError(new t.GraphQLError(`The ${n} definition is not executable.`,{nodes:r}))}return!1}}}function m(e){return{Field(n){let r=e.getParentType();if(r&&!e.getFieldDef()){let i=e.getSchema(),a=n.name.value,o=t.didYouMean(`to use an inline fragment on`,h(i,r,a));o===``&&(o=t.didYouMean(g(r,a))),e.reportError(new t.GraphQLError(`Cannot query field "${a}" on type "${r.name}".`+o,{nodes:n}))}}}}function h(e,n,r){if(!t.isAbstractType(n))return[];let i=new Set,a=Object.create(null);for(let t of e.getPossibleTypes(n))if(t.getFields()[r]){i.add(t),a[t.name]=1;for(let e of t.getInterfaces())e.getFields()[r]&&(i.add(e),a[e.name]=(a[e.name]??0)+1)}return[...i].sort((n,r)=>{let i=a[r.name]-a[n.name];return i===0?t.isInterfaceType(n)&&e.isSubType(n,r)?-1:t.isInterfaceType(r)&&e.isSubType(r,n)?1:t.naturalCompare(n.name,r.name):i}).map(e=>e.name)}function g(e,n){if(t.isObjectType(e)||t.isInterfaceType(e)){let r=Object.keys(e.getFields());return t.suggestionList(n,r)}return[]}function _(e){return{InlineFragment(n){let r=n.typeCondition;if(r){let n=i(e.getSchema(),r);if(n&&!t.isCompositeType(n)){let n=t.print(r);e.reportError(new t.GraphQLError(`Fragment cannot condition on non composite type "${n}".`,{nodes:r}))}}},FragmentDefinition(n){let r=i(e.getSchema(),n.typeCondition);if(r&&!t.isCompositeType(r)){let r=t.print(n.typeCondition);e.reportError(new t.GraphQLError(`Fragment "${n.name.value}" cannot condition on non composite type "${r}".`,{nodes:n.typeCondition}))}}}}function v(e){return{...y(e),Argument(n){let r=e.getArgument(),i=e.getFieldDef(),a=e.getParentType();if(!r&&i&&a){let r=n.name.value,o=i.args.map(e=>e.name),s=t.suggestionList(r,o);e.reportError(new t.GraphQLError(`Unknown argument "${r}" on field "${a.name}.${i.name}".`+t.didYouMean(s),{nodes:n}))}}}}function y(e){let n=Object.create(null),r=e.getSchema(),i=r?r.getDirectives():t.specifiedDirectives;for(let e of i)n[e.name]=e.args.map(e=>e.name);let a=e.getDocument().definitions;for(let e of a)if(e.kind===t.Kind.DIRECTIVE_DEFINITION){let t=e.arguments??[];n[e.name.value]=t.map(e=>e.name.value)}return{Directive(r){let i=r.name.value,a=n[i];if(r.arguments&&a)for(let n of r.arguments){let r=n.name.value;if(!a.includes(r)){let o=t.suggestionList(r,a);e.reportError(new t.GraphQLError(`Unknown argument "${r}" on directive "@${i}".`+t.didYouMean(o),{nodes:n}))}}return!1}}}function b(e){let n=Object.create(null),r=e.getSchema(),i=r?r.getDirectives():t.specifiedDirectives;for(let e of i)n[e.name]=e.locations;let a=e.getDocument().definitions;for(let e of a)e.kind===t.Kind.DIRECTIVE_DEFINITION&&(n[e.name.value]=e.locations.map(e=>e.value));return{Directive(r,i,a,o,s){let c=r.name.value,l=n[c];if(!l){e.reportError(new t.GraphQLError(`Unknown directive "@${c}".`,{nodes:r}));return}let u=ee(s);u&&!l.includes(u)&&e.reportError(new t.GraphQLError(`Directive "@${c}" may not be used on ${u}.`,{nodes:r}))}}}function ee(e){let n=e[e.length-1];switch(`kind`in n||t.invariant(!1),n.kind){case t.Kind.OPERATION_DEFINITION:return te(n.operation);case t.Kind.FIELD:return t.DirectiveLocation.FIELD;case t.Kind.FRAGMENT_SPREAD:return t.DirectiveLocation.FRAGMENT_SPREAD;case t.Kind.INLINE_FRAGMENT:return t.DirectiveLocation.INLINE_FRAGMENT;case t.Kind.FRAGMENT_DEFINITION:return t.DirectiveLocation.FRAGMENT_DEFINITION;case t.Kind.VARIABLE_DEFINITION:return t.DirectiveLocation.VARIABLE_DEFINITION;case t.Kind.SCHEMA_DEFINITION:case t.Kind.SCHEMA_EXTENSION:return t.DirectiveLocation.SCHEMA;case t.Kind.SCALAR_TYPE_DEFINITION:case t.Kind.SCALAR_TYPE_EXTENSION:return t.DirectiveLocation.SCALAR;case t.Kind.OBJECT_TYPE_DEFINITION:case t.Kind.OBJECT_TYPE_EXTENSION:return t.DirectiveLocation.OBJECT;case t.Kind.FIELD_DEFINITION:return t.DirectiveLocation.FIELD_DEFINITION;case t.Kind.INTERFACE_TYPE_DEFINITION:case t.Kind.INTERFACE_TYPE_EXTENSION:return t.DirectiveLocation.INTERFACE;case t.Kind.UNION_TYPE_DEFINITION:case t.Kind.UNION_TYPE_EXTENSION:return t.DirectiveLocation.UNION;case t.Kind.ENUM_TYPE_DEFINITION:case t.Kind.ENUM_TYPE_EXTENSION:return t.DirectiveLocation.ENUM;case t.Kind.ENUM_VALUE_DEFINITION:return t.DirectiveLocation.ENUM_VALUE;case t.Kind.INPUT_OBJECT_TYPE_DEFINITION:case t.Kind.INPUT_OBJECT_TYPE_EXTENSION:return t.DirectiveLocation.INPUT_OBJECT;case t.Kind.INPUT_VALUE_DEFINITION:{let n=e[e.length-3];return`kind`in n||t.invariant(!1),n.kind===t.Kind.INPUT_OBJECT_TYPE_DEFINITION?t.DirectiveLocation.INPUT_FIELD_DEFINITION:t.DirectiveLocation.ARGUMENT_DEFINITION}default:t.invariant(!1,`Unexpected kind: `+t.inspect(n.kind))}}function te(e){switch(e){case t.OperationTypeNode.QUERY:return t.DirectiveLocation.QUERY;case t.OperationTypeNode.MUTATION:return t.DirectiveLocation.MUTATION;case t.OperationTypeNode.SUBSCRIPTION:return t.DirectiveLocation.SUBSCRIPTION}}function ne(e){return{FragmentSpread(n){let r=n.name.value;e.getFragment(r)||e.reportError(new t.GraphQLError(`Unknown fragment "${r}".`,{nodes:n.name}))}}}function x(e){let n=e.getSchema(),r=n?n.getTypeMap():Object.create(null),i=Object.create(null);for(let t of e.getDocument().definitions)u(t)&&(i[t.name.value]=!0);let a=[...Object.keys(r),...Object.keys(i)];return{NamedType(n,o,s,c,l){let u=n.name.value;if(!r[u]&&!i[u]){let r=l[2]??s,i=r!=null&&C(r);if(i&&S.includes(u))return;let o=t.suggestionList(u,i?S.concat(a):a);e.reportError(new t.GraphQLError(`Unknown type "${u}".`+t.didYouMean(o),{nodes:n}))}}}}var S=[...t.specifiedScalarTypes,...t.introspectionTypes].map(e=>e.name);function C(e){return`kind`in e&&(l(e)||d(e))}function w(e){let n=0;return{Document(e){n=e.definitions.filter(e=>e.kind===t.Kind.OPERATION_DEFINITION).length},OperationDefinition(r){!r.name&&n>1&&e.reportError(new t.GraphQLError(`This anonymous operation must be the only defined operation.`,{nodes:r}))}}}function re(e){let n=e.getSchema(),r=n?.astNode??n?.getQueryType()??n?.getMutationType()??n?.getSubscriptionType(),i=0;return{SchemaDefinition(n){if(r){e.reportError(new t.GraphQLError(`Cannot define a new schema within a schema extension.`,{nodes:n}));return}i>0&&e.reportError(new t.GraphQLError(`Must provide only one schema definition.`,{nodes:n})),++i}}}var T=3;function E(e){function n(r,i=Object.create(null),a=0){if(r.kind===t.Kind.FRAGMENT_SPREAD){let t=r.name.value;if(i[t]===!0)return!1;let o=e.getFragment(t);if(!o)return!1;try{return i[t]=!0,n(o,i,a)}finally{i[t]=void 0}}if(r.kind===t.Kind.FIELD&&(r.name.value===`fields`||r.name.value===`interfaces`||r.name.value===`possibleTypes`||r.name.value===`inputFields`)&&(a++,a>=T))return!0;if(`selectionSet`in r&&r.selectionSet){for(let e of r.selectionSet.selections)if(n(e,i,a))return!0}return!1}return{Field(r){if((r.name.value===`__schema`||r.name.value===`__type`)&&n(r))return e.reportError(new t.GraphQLError(`Maximum introspection depth exceeded`,{nodes:[r]})),!1}}}function ie(e){let n=Object.create(null),r=[],i=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(e){return a(e),!1}};function a(o){if(n[o.name.value])return;let s=o.name.value;n[s]=!0;let c=e.getFragmentSpreads(o.selectionSet);if(c.length!==0){i[s]=r.length;for(let n of c){let o=n.name.value,s=i[o];if(r.push(n),s===void 0){let t=e.getFragment(o);t&&a(t)}else{let n=r.slice(s),i=n.slice(0,-1).map(e=>`"`+e.name.value+`"`).join(`, `);e.reportError(new t.GraphQLError(`Cannot spread fragment "${o}" within itself`+(i===``?`.`:` via ${i}.`),{nodes:n}))}r.pop()}i[s]=void 0}}}function ae(e){let n=Object.create(null);return{OperationDefinition:{enter(){n=Object.create(null)},leave(r){let i=e.getRecursiveVariableUsages(r);for(let{node:a}of i){let i=a.name.value;n[i]!==!0&&e.reportError(new t.GraphQLError(r.name?`Variable "$${i}" is not defined by operation "${r.name.value}".`:`Variable "$${i}" is not defined.`,{nodes:[a,r]}))}}},VariableDefinition(e){n[e.variable.name.value]=!0}}}function D(e){let n=[],r=[];return{OperationDefinition(e){return n.push(e),!1},FragmentDefinition(e){return r.push(e),!1},Document:{leave(){let i=Object.create(null);for(let t of n)for(let n of e.getRecursivelyReferencedFragments(t))i[n.name.value]=!0;for(let n of r){let r=n.name.value;i[r]!==!0&&e.reportError(new t.GraphQLError(`Fragment "${r}" is never used.`,{nodes:n}))}}}}}function oe(e){let n=[];return{OperationDefinition:{enter(){n=[]},leave(r){let i=Object.create(null),a=e.getRecursiveVariableUsages(r);for(let{node:e}of a)i[e.name.value]=!0;for(let a of n){let n=a.variable.name.value;i[n]!==!0&&e.reportError(new t.GraphQLError(r.name?`Variable "$${n}" is never used in operation "${r.name.value}".`:`Variable "$${n}" is never used.`,{nodes:a}))}}},VariableDefinition(e){n.push(e)}}}function O(e){switch(e.kind){case t.Kind.OBJECT:return{...e,fields:se(e.fields)};case t.Kind.LIST:return{...e,values:e.values.map(O)};case t.Kind.INT:case t.Kind.FLOAT:case t.Kind.STRING:case t.Kind.BOOLEAN:case t.Kind.NULL:case t.Kind.ENUM:case t.Kind.VARIABLE:return e}}function se(e){return e.map(e=>({...e,value:O(e.value)})).sort((e,n)=>t.naturalCompare(e.name.value,n.name.value))}function ce(e){return Array.isArray(e)?e.map(([e,t])=>`subfields "${e}" conflict because `+ce(t)).join(` and `):e}function le(e){let n=new xe,r=new Se,i=new Map;return{SelectionSet(a){let o=ue(e,i,n,r,e.getParentType(),a);for(let[[n,r],i,a]of o){let o=ce(r);e.reportError(new t.GraphQLError(`Fields "${n}" conflict because ${o}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:i.concat(a)}))}}}}function ue(e,t,n,r,i,a){let o=[],[s,c]=j(e,t,i,a);if(fe(e,o,t,n,r,s),c.length!==0)for(let i=0;i<c.length;i++){k(e,o,t,n,r,!1,s,c[i]);for(let a=i+1;a<c.length;a++)A(e,o,t,n,r,!1,c[i],c[a])}return o}function k(e,t,n,r,i,a,o,s){if(r.has(o,s,a))return;r.add(o,s,a);let c=e.getFragment(s);if(!c)return;let[l,u]=ve(e,n,c);if(o!==l){pe(e,t,n,r,i,a,o,l);for(let s of u)k(e,t,n,r,i,a,o,s)}}function A(e,t,n,r,i,a,o,s){if(o===s||i.has(o,s,a))return;i.add(o,s,a);let c=e.getFragment(o),l=e.getFragment(s);if(!c||!l)return;let[u,d]=ve(e,n,c),[f,p]=ve(e,n,l);pe(e,t,n,r,i,a,u,f);for(let s of p)A(e,t,n,r,i,a,o,s);for(let o of d)A(e,t,n,r,i,a,o,s)}function de(e,t,n,r,i,a,o,s,c){let l=[],[u,d]=j(e,t,a,o),[f,p]=j(e,t,s,c);pe(e,l,t,n,r,i,u,f);for(let a of p)k(e,l,t,n,r,i,u,a);for(let a of d)k(e,l,t,n,r,i,f,a);for(let a of d)for(let o of p)A(e,l,t,n,r,i,a,o);return l}function fe(e,t,n,r,i,a){for(let[o,s]of Object.entries(a))if(s.length>1)for(let a=0;a<s.length;a++)for(let c=a+1;c<s.length;c++){let l=me(e,n,r,i,!1,o,s[a],s[c]);l&&t.push(l)}}function pe(e,t,n,r,i,a,o,s){for(let[c,l]of Object.entries(o)){let o=s[c];if(o)for(let s of l)for(let l of o){let o=me(e,n,r,i,a,c,s,l);o&&t.push(o)}}}function me(e,n,r,i,a,o,s,c){let[l,u,d]=s,[f,p,m]=c,h=a||l!==f&&t.isObjectType(l)&&t.isObjectType(f);if(!h){let e=u.name.value,t=p.name.value;if(e!==t)return[[o,`"${e}" and "${t}" are different fields`],[u],[p]];if(!he(u,p))return[[o,`they have differing arguments`],[u],[p]]}let g=d?.type,_=m?.type;if(g&&_&&_e(g,_))return[[o,`they return conflicting types "${t.inspect(g)}" and "${t.inspect(_)}"`],[u],[p]];let v=u.selectionSet,y=p.selectionSet;if(v&&y){let a=de(e,n,r,i,h,t.getNamedType(g),v,t.getNamedType(_),y);return be(a,o,u,p)}}function he(e,t){let n=e.arguments,r=t.arguments;if(n===void 0||n.length===0)return r===void 0||r.length===0;if(r===void 0||r.length===0||n.length!==r.length)return!1;let i=new Map(r.map(({name:e,value:t})=>[e.value,t]));return n.every(e=>{let t=e.value,n=i.get(e.name.value);return n===void 0?!1:ge(t)===ge(n)})}function ge(e){return t.print(O(e))}function _e(e,n){return t.isListType(e)?t.isListType(n)?_e(e.ofType,n.ofType):!0:t.isListType(n)?!0:t.isNonNullType(e)?t.isNonNullType(n)?_e(e.ofType,n.ofType):!0:t.isNonNullType(n)?!0:t.isLeafType(e)||t.isLeafType(n)?e!==n:!1}function j(e,t,n,r){let i=t.get(r);if(i)return i;let a=Object.create(null),o=Object.create(null);ye(e,n,r,a,o);let s=[a,Object.keys(o)];return t.set(r,s),s}function ve(e,t,n){let r=t.get(n.selectionSet);if(r)return r;let a=i(e.getSchema(),n.typeCondition);return j(e,t,a,n.selectionSet)}function ye(e,n,r,a,o){for(let s of r.selections)switch(s.kind){case t.Kind.FIELD:{let e=s.name.value,r;(t.isObjectType(n)||t.isInterfaceType(n))&&(r=n.getFields()[e]);let i=s.alias?s.alias.value:e;a[i]||(a[i]=[]),a[i].push([n,s,r]);break}case t.Kind.FRAGMENT_SPREAD:o[s.name.value]=!0;break;case t.Kind.INLINE_FRAGMENT:{let t=s.typeCondition,r=t?i(e.getSchema(),t):n;ye(e,r,s.selectionSet,a,o);break}}}function be(e,t,n,r){if(e.length>0)return[[t,e.map(([e])=>e)],[n,...e.map(([,e])=>e).flat()],[r,...e.map(([,,e])=>e).flat()]]}var xe=class{constructor(){this._data=new Map}has(e,t,n){let r=this._data.get(e)?.get(t);return r===void 0?!1:n?!0:n===r}add(e,t,n){let r=this._data.get(e);r===void 0?this._data.set(e,new Map([[t,n]])):r.set(t,n)}},Se=class{constructor(){this._orderedPairSet=new xe}has(e,t,n){return e<t?this._orderedPairSet.has(e,t,n):this._orderedPairSet.has(t,e,n)}add(e,t,n){e<t?this._orderedPairSet.add(e,t,n):this._orderedPairSet.add(t,e,n)}};function Ce(e){return{InlineFragment(n){let i=e.getType(),a=e.getParentType();if(t.isCompositeType(i)&&t.isCompositeType(a)&&!r(e.getSchema(),i,a)){let r=t.inspect(a),o=t.inspect(i);e.reportError(new t.GraphQLError(`Fragment cannot be spread here as objects of type "${r}" can never be of type "${o}".`,{nodes:n}))}},FragmentSpread(n){let i=n.name.value,a=we(e,i),o=e.getParentType();if(a&&o&&!r(e.getSchema(),a,o)){let r=t.inspect(o),s=t.inspect(a);e.reportError(new t.GraphQLError(`Fragment "${i}" cannot be spread here as objects of type "${r}" can never be of type "${s}".`,{nodes:n}))}}}}function we(e,n){let r=e.getFragment(n);if(r){let n=i(e.getSchema(),r.typeCondition);if(t.isCompositeType(n))return n}}function Te(e){let n=e.getSchema(),r=Object.create(null);for(let t of e.getDocument().definitions)u(t)&&(r[t.name.value]=t);return{ScalarTypeExtension:i,ObjectTypeExtension:i,InterfaceTypeExtension:i,UnionTypeExtension:i,EnumTypeExtension:i,InputObjectTypeExtension:i};function i(i){let a=i.name.value,o=r[a],s=n?.getType(a),c;if(o?c=Ee[o.kind]:s&&(c=De(s)),c){if(c!==i.kind){let n=Oe(i.kind);e.reportError(new t.GraphQLError(`Cannot extend non-${n} type "${a}".`,{nodes:o?[o,i]:i}))}}else{let o=Object.keys({...r,...n?.getTypeMap()}),s=t.suggestionList(a,o);e.reportError(new t.GraphQLError(`Cannot extend type "${a}" because it is not defined.`+t.didYouMean(s),{nodes:i.name}))}}}var Ee={[t.Kind.SCALAR_TYPE_DEFINITION]:t.Kind.SCALAR_TYPE_EXTENSION,[t.Kind.OBJECT_TYPE_DEFINITION]:t.Kind.OBJECT_TYPE_EXTENSION,[t.Kind.INTERFACE_TYPE_DEFINITION]:t.Kind.INTERFACE_TYPE_EXTENSION,[t.Kind.UNION_TYPE_DEFINITION]:t.Kind.UNION_TYPE_EXTENSION,[t.Kind.ENUM_TYPE_DEFINITION]:t.Kind.ENUM_TYPE_EXTENSION,[t.Kind.INPUT_OBJECT_TYPE_DEFINITION]:t.Kind.INPUT_OBJECT_TYPE_EXTENSION};function De(e){if(t.isScalarType(e))return t.Kind.SCALAR_TYPE_EXTENSION;if(t.isObjectType(e))return t.Kind.OBJECT_TYPE_EXTENSION;if(t.isInterfaceType(e))return t.Kind.INTERFACE_TYPE_EXTENSION;if(t.isUnionType(e))return t.Kind.UNION_TYPE_EXTENSION;if(t.isEnumType(e))return t.Kind.ENUM_TYPE_EXTENSION;if(t.isInputObjectType(e))return t.Kind.INPUT_OBJECT_TYPE_EXTENSION;t.invariant(!1,`Unexpected type: `+t.inspect(e))}function Oe(e){switch(e){case t.Kind.SCALAR_TYPE_EXTENSION:return`scalar`;case t.Kind.OBJECT_TYPE_EXTENSION:return`object`;case t.Kind.INTERFACE_TYPE_EXTENSION:return`interface`;case t.Kind.UNION_TYPE_EXTENSION:return`union`;case t.Kind.ENUM_TYPE_EXTENSION:return`enum`;case t.Kind.INPUT_OBJECT_TYPE_EXTENSION:return`input object`;default:t.invariant(!1,`Unexpected kind: `+t.inspect(e))}}function ke(e){return{...Ae(e),Field:{leave(n){let r=e.getFieldDef();if(!r)return!1;let i=new Set(n.arguments?.map(e=>e.name.value));for(let a of r.args)if(!i.has(a.name)&&t.isRequiredArgument(a)){let i=t.inspect(a.type);e.reportError(new t.GraphQLError(`Field "${r.name}" argument "${a.name}" of type "${i}" is required, but it was not provided.`,{nodes:n}))}}}}}function Ae(e){let n=Object.create(null),r=e.getSchema()?.getDirectives()??t.specifiedDirectives;for(let e of r)n[e.name]=t.keyMap(e.args.filter(t.isRequiredArgument),e=>e.name);let i=e.getDocument().definitions;for(let e of i)if(e.kind===t.Kind.DIRECTIVE_DEFINITION){let r=e.arguments??[];n[e.name.value]=t.keyMap(r.filter(je),e=>e.name.value)}return{Directive:{leave(r){let i=r.name.value,a=n[i];if(a){let n=r.arguments??[],o=new Set(n.map(e=>e.name.value));for(let[n,s]of Object.entries(a))if(!o.has(n)){let a=t.isType(s.type)?t.inspect(s.type):t.print(s.type);e.reportError(new t.GraphQLError(`Directive "@${i}" argument "${n}" of type "${a}" is required, but it was not provided.`,{nodes:r}))}}}}}}function je(e){return e.type.kind===t.Kind.NON_NULL_TYPE&&e.defaultValue==null}function Me(e){return{Field(n){let r=e.getType(),i=n.selectionSet;if(r)if(t.isLeafType(t.getNamedType(r))){if(i){let a=n.name.value,o=t.inspect(r);e.reportError(new t.GraphQLError(`Field "${a}" must not have a selection since type "${o}" has no subfields.`,{nodes:i}))}}else if(i){if(i.selections.length===0){let i=n.name.value,a=t.inspect(r);e.reportError(new t.GraphQLError(`Field "${i}" of type "${a}" must have at least one field selected.`,{nodes:n}))}}else{let i=n.name.value,a=t.inspect(r);e.reportError(new t.GraphQLError(`Field "${i}" of type "${a}" must have a selection of subfields. Did you mean "${i} { ... }"?`,{nodes:n}))}}}}function Ne(e,n,r){let i={},a=n.arguments??[],o=t.keyMap(a,e=>e.name.value);for(let a of e.args){let e=a.name,s=a.type,c=o[e];if(!c){if(a.defaultValue!==void 0)i[e]=a.defaultValue;else if(t.isNonNullType(s))throw new t.GraphQLError(`Argument "${e}" of required type "${t.inspect(s)}" was not provided.`,{nodes:n});continue}let l=c.value,u=l.kind===t.Kind.NULL;if(l.kind===t.Kind.VARIABLE){let n=l.name.value;if(r==null||!Pe(r,n)){if(a.defaultValue!==void 0)i[e]=a.defaultValue;else if(t.isNonNullType(s))throw new t.GraphQLError(`Argument "${e}" of required type "${t.inspect(s)}" was provided the variable "$${n}" which was not provided a runtime value.`,{nodes:l});continue}u=r[n]==null}if(u&&t.isNonNullType(s))throw new t.GraphQLError(`Argument "${e}" of non-null type "${t.inspect(s)}" must not be null.`,{nodes:l});let d=t.valueFromAST(l,s,r);if(d===void 0)throw new t.GraphQLError(`Argument "${e}" has invalid value ${t.print(l)}.`,{nodes:l});i[e]=d}return i}function M(e,t,n){let r=t.directives?.find(t=>t.name.value===e.name);if(r)return Ne(e,r,n)}function Pe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Fe(e,t,n,r,i){let a=new Map;return N(e,t,n,r,i,a,new Set),a}function N(e,n,r,i,a,o,s){for(let c of a.selections)switch(c.kind){case t.Kind.FIELD:{if(!P(r,c))continue;let e=Le(c),t=o.get(e);t===void 0?o.set(e,[c]):t.push(c);break}case t.Kind.INLINE_FRAGMENT:if(!P(r,c)||!Ie(e,c,i))continue;N(e,n,r,i,c.selectionSet,o,s);break;case t.Kind.FRAGMENT_SPREAD:{let t=c.name.value;if(s.has(t)||!P(r,c))continue;s.add(t);let a=n[t];if(!a||!Ie(e,a,i))continue;N(e,n,r,i,a.selectionSet,o,s);break}}}function P(e,n){return M(t.GraphQLSkipDirective,n,e)?.if===!0?!1:M(t.GraphQLIncludeDirective,n,e)?.if!==!1}function Ie(e,n,r){let a=n.typeCondition;if(!a)return!0;let o=i(e,a);return o===r?!0:t.isAbstractType(o)?e.isSubType(o,r):!1}function Le(e){return e.alias?e.alias.value:e.name.value}function Re(e){return{OperationDefinition(n){if(n.operation===`subscription`){let r=e.getSchema(),i=r.getSubscriptionType();if(i){let a=n.name?n.name.value:null,o=Object.create(null),s=e.getDocument(),c=Object.create(null);for(let e of s.definitions)e.kind===t.Kind.FRAGMENT_DEFINITION&&(c[e.name.value]=e);let l=Fe(r,c,o,i,n.selectionSet);if(l.size>1){let n=[...l.values()].slice(1).flat();e.reportError(new t.GraphQLError(a==null?`Anonymous Subscription must select only one top level field.`:`Subscription "${a}" must select only one top level field.`,{nodes:n}))}for(let n of l.values())n[0].name.value.startsWith(`__`)&&e.reportError(new t.GraphQLError(a==null?`Anonymous Subscription must not select an introspection top level field.`:`Subscription "${a}" must not select an introspection top level field.`,{nodes:n}))}}}}}function ze(e,t){let n=new Map;for(let r of e){let e=t(r),i=n.get(e);i===void 0?n.set(e,[r]):i.push(r)}return n}function Be(e){return{DirectiveDefinition(e){let t=e.arguments??[];return r(`@${e.name.value}`,t)},InterfaceTypeDefinition:n,InterfaceTypeExtension:n,ObjectTypeDefinition:n,ObjectTypeExtension:n};function n(e){let t=e.name.value,n=e.fields??[];for(let e of n){let n=e.name.value,i=e.arguments??[];r(`${t}.${n}`,i)}return!1}function r(n,r){let i=ze(r,e=>e.name.value);for(let[r,a]of i)a.length>1&&e.reportError(new t.GraphQLError(`Argument "${n}(${r}:)" can only be defined once.`,{nodes:a.map(e=>e.name)}));return!1}}function Ve(e){return{Field:n,Directive:n};function n(n){let r=n.arguments??[],i=ze(r,e=>e.name.value);for(let[n,r]of i)r.length>1&&e.reportError(new t.GraphQLError(`There can be only one argument named "${n}".`,{nodes:r.map(e=>e.name)}))}}function He(e){let n=Object.create(null),r=e.getSchema();return{DirectiveDefinition(i){let a=i.name.value;if(r!=null&&r.getDirective(a)){e.reportError(new t.GraphQLError(`Directive "@${a}" already exists in the schema. It cannot be redefined.`,{nodes:i.name}));return}return n[a]?e.reportError(new t.GraphQLError(`There can be only one directive named "@${a}".`,{nodes:[n[a],i.name]})):n[a]=i.name,!1}}}function Ue(e){let n=Object.create(null),r=e.getSchema(),i=r?r.getDirectives():t.specifiedDirectives;for(let e of i)n[e.name]=!e.isRepeatable;let a=e.getDocument().definitions;for(let e of a)e.kind===t.Kind.DIRECTIVE_DEFINITION&&(n[e.name.value]=!e.repeatable);let o=Object.create(null),s=Object.create(null);return{enter(r){if(!(`directives`in r)||!r.directives)return;let i;if(r.kind===t.Kind.SCHEMA_DEFINITION||r.kind===t.Kind.SCHEMA_EXTENSION)i=o;else if(u(r)||f(r)){let e=r.name.value;i=s[e],i===void 0&&(s[e]=i=Object.create(null))}else i=Object.create(null);for(let a of r.directives){let r=a.name.value;n[r]&&(i[r]?e.reportError(new t.GraphQLError(`The directive "@${r}" can only be used once at this location.`,{nodes:[i[r],a]})):i[r]=a)}}}}function We(e){let n=e.getSchema(),r=n?n.getTypeMap():Object.create(null),i=Object.create(null);return{EnumTypeDefinition:a,EnumTypeExtension:a};function a(n){let a=n.name.value;i[a]||(i[a]=Object.create(null));let o=n.values??[],s=i[a];for(let n of o){let i=n.name.value,o=r[a];t.isEnumType(o)&&o.getValue(i)?e.reportError(new t.GraphQLError(`Enum value "${a}.${i}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:n.name})):s[i]?e.reportError(new t.GraphQLError(`Enum value "${a}.${i}" can only be defined once.`,{nodes:[s[i],n.name]})):s[i]=n.name}return!1}}function Ge(e){let n=e.getSchema(),r=n?n.getTypeMap():Object.create(null),i=Object.create(null);return{InputObjectTypeDefinition:a,InputObjectTypeExtension:a,InterfaceTypeDefinition:a,InterfaceTypeExtension:a,ObjectTypeDefinition:a,ObjectTypeExtension:a};function a(n){let a=n.name.value;i[a]||(i[a]=Object.create(null));let o=n.fields??[],s=i[a];for(let n of o){let i=n.name.value;Ke(r[a],i)?e.reportError(new t.GraphQLError(`Field "${a}.${i}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:n.name})):s[i]?e.reportError(new t.GraphQLError(`Field "${a}.${i}" can only be defined once.`,{nodes:[s[i],n.name]})):s[i]=n.name}return!1}}function Ke(e,n){return t.isObjectType(e)||t.isInterfaceType(e)||t.isInputObjectType(e)?e.getFields()[n]!=null:!1}function qe(e){let n=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(r){let i=r.name.value;return n[i]?e.reportError(new t.GraphQLError(`There can be only one fragment named "${i}".`,{nodes:[n[i],r.name]})):n[i]=r.name,!1}}}function Je(e){let n=[],r=Object.create(null);return{ObjectValue:{enter(){n.push(r),r=Object.create(null)},leave(){let e=n.pop();e||t.invariant(!1),r=e}},ObjectField(n){let i=n.name.value;r[i]?e.reportError(new t.GraphQLError(`There can be only one input field named "${i}".`,{nodes:[r[i],n.name]})):r[i]=n.name}}}function Ye(e){let n=Object.create(null);return{OperationDefinition(r){let i=r.name;return i&&(n[i.value]?e.reportError(new t.GraphQLError(`There can be only one operation named "${i.value}".`,{nodes:[n[i.value],i]})):n[i.value]=i),!1},FragmentDefinition:()=>!1}}function Xe(e){let n=e.getSchema(),r=Object.create(null),i=n?{query:n.getQueryType(),mutation:n.getMutationType(),subscription:n.getSubscriptionType()}:{};return{SchemaDefinition:a,SchemaExtension:a};function a(n){let a=n.operationTypes??[];for(let n of a){let a=n.operation,o=r[a];i[a]?e.reportError(new t.GraphQLError(`Type for ${a} already defined in the schema. It cannot be redefined.`,{nodes:n})):o?e.reportError(new t.GraphQLError(`There can be only one ${a} type in schema.`,{nodes:[o,n]})):r[a]=n}return!1}}function Ze(e){let n=Object.create(null),r=e.getSchema();return{ScalarTypeDefinition:i,ObjectTypeDefinition:i,InterfaceTypeDefinition:i,UnionTypeDefinition:i,EnumTypeDefinition:i,InputObjectTypeDefinition:i};function i(i){let a=i.name.value;if(r!=null&&r.getType(a)){e.reportError(new t.GraphQLError(`Type "${a}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:i.name}));return}return n[a]?e.reportError(new t.GraphQLError(`There can be only one type named "${a}".`,{nodes:[n[a],i.name]})):n[a]=i.name,!1}}function Qe(e){return{OperationDefinition(n){let r=n.variableDefinitions??[],i=ze(r,e=>e.variable.name.value);for(let[n,r]of i)r.length>1&&e.reportError(new t.GraphQLError(`There can be only one variable named "$${n}".`,{nodes:r.map(e=>e.variable.name)}))}}}function $e(e){let n={};return{OperationDefinition:{enter(){n={}}},VariableDefinition(e){n[e.variable.name.value]=e},ListValue(n){let r=t.getNullableType(e.getParentInputType());if(!t.isListType(r))return F(e,n),!1},ObjectValue(n){let r=t.getNamedType(e.getInputType());if(!t.isInputObjectType(r))return F(e,n),!1;let i=t.keyMap(n.fields,e=>e.name.value);for(let a of Object.values(r.getFields()))if(!i[a.name]&&t.isRequiredInputField(a)){let i=t.inspect(a.type);e.reportError(new t.GraphQLError(`Field "${r.name}.${a.name}" of required type "${i}" was not provided.`,{nodes:n}))}r.isOneOf&&et(e,n,r,i)},ObjectField(n){let r=t.getNamedType(e.getParentInputType());if(!e.getInputType()&&t.isInputObjectType(r)){let i=t.suggestionList(n.name.value,Object.keys(r.getFields()));e.reportError(new t.GraphQLError(`Field "${n.name.value}" is not defined by type "${r.name}".`+t.didYouMean(i),{nodes:n}))}},NullValue(n){let r=e.getInputType();t.isNonNullType(r)&&e.reportError(new t.GraphQLError(`Expected value of type "${t.inspect(r)}", found ${t.print(n)}.`,{nodes:n}))},EnumValue:t=>F(e,t),IntValue:t=>F(e,t),FloatValue:t=>F(e,t),StringValue:t=>F(e,t),BooleanValue:t=>F(e,t)}}function F(e,n){let r=e.getInputType();if(!r)return;let i=t.getNamedType(r);if(!t.isLeafType(i)){let i=t.inspect(r);e.reportError(new t.GraphQLError(`Expected value of type "${i}", found ${t.print(n)}.`,{nodes:n}));return}try{if(i.parseLiteral(n,void 0)===void 0){let i=t.inspect(r);e.reportError(new t.GraphQLError(`Expected value of type "${i}", found ${t.print(n)}.`,{nodes:n}))}}catch(i){let a=t.inspect(r);i instanceof t.GraphQLError?e.reportError(i):e.reportError(new t.GraphQLError(`Expected value of type "${a}", found ${t.print(n)}; `+i.message,{nodes:n,originalError:i}))}}function et(e,n,r,i){let a=Object.keys(i);if(a.length!==1){e.reportError(new t.GraphQLError(`OneOf Input Object "${r.name}" must specify exactly one key.`,{nodes:[n]}));return}let o=i[a[0]]?.value;(!o||o.kind===t.Kind.NULL)&&e.reportError(new t.GraphQLError(`Field "${r.name}.${a[0]}" must be non-null.`,{nodes:[n]}))}function tt(e){return{VariableDefinition(n){let r=i(e.getSchema(),n.type);if(r!==void 0&&!t.isInputType(r)){let r=n.variable.name.value,i=t.print(n.type);e.reportError(new t.GraphQLError(`Variable "$${r}" cannot be non-input type "${i}".`,{nodes:n.type}))}}}}function nt(e){let n=Object.create(null);return{OperationDefinition:{enter(){n=Object.create(null)},leave(r){let a=e.getRecursiveVariableUsages(r);for(let{node:r,type:o,defaultValue:s,parentType:c}of a){let a=r.name.value,l=n[a];if(l&&o){let n=e.getSchema(),u=i(n,l.type);if(u&&!rt(n,u,l.defaultValue,o,s)){let n=t.inspect(u),i=t.inspect(o);e.reportError(new t.GraphQLError(`Variable "$${a}" of type "${n}" used in position expecting type "${i}".`,{nodes:[l,r]}))}t.isInputObjectType(c)&&c.isOneOf&&t.isNullableType(u)&&e.reportError(new t.GraphQLError(`Variable "$${a}" is of type "${u}" but must be non-nullable to be used for OneOf Input Object "${c}".`,{nodes:[l,r]}))}}}},VariableDefinition(e){n[e.variable.name.value]=e}}}function rt(e,r,i,a,o){if(t.isNonNullType(a)&&!t.isNonNullType(r)){if(!(i!=null&&i.kind!==t.Kind.NULL)&&o===void 0)return!1;let s=a.ofType;return n(e,r,s)}return n(e,r,a)}const it=Object.freeze([E]),at=Object.freeze([p,Ye,w,Re,x,_,tt,Me,m,qe,ne,D,Ce,ie,Qe,ae,oe,b,Ue,v,Ve,$e,ke,nt,le,Je,...it]),ot=Object.freeze([re,Xe,Ze,We,Ge,Be,He,x,b,Ue,Te,y,Ve,Je,Ae]);var st=class{constructor(e,t){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=t}get[Symbol.toStringTag](){return`ASTValidationContext`}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let n;if(this._fragments)n=this._fragments;else{n=Object.create(null);for(let e of this.getDocument().definitions)e.kind===t.Kind.FRAGMENT_DEFINITION&&(n[e.name.value]=e);this._fragments=n}return n[e]}getFragmentSpreads(e){let n=this._fragmentSpreads.get(e);if(!n){n=[];let r=[e],i;for(;i=r.pop();)for(let e of i.selections)e.kind===t.Kind.FRAGMENT_SPREAD?n.push(e):e.selectionSet&&r.push(e.selectionSet);this._fragmentSpreads.set(e,n)}return n}getRecursivelyReferencedFragments(e){let t=this._recursivelyReferencedFragments.get(e);if(!t){t=[];let n=Object.create(null),r=[e.selectionSet],i;for(;i=r.pop();)for(let e of this.getFragmentSpreads(i)){let i=e.name.value;if(n[i]!==!0){n[i]=!0;let e=this.getFragment(i);e&&(t.push(e),r.push(e.selectionSet))}}this._recursivelyReferencedFragments.set(e,t)}return t}},ct=class extends st{constructor(e,t,n){super(e,n),this._schema=t}get[Symbol.toStringTag](){return`SDLValidationContext`}getSchema(){return this._schema}},lt=class extends st{constructor(e,t,n,r){super(t,r),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return`ValidationContext`}getSchema(){return this._schema}getVariableUsages(e){let n=this._variableUsages.get(e);if(!n){let r=[],i=new a(this._schema);t.visit(e,s(i,{VariableDefinition:()=>!1,Variable(e){r.push({node:e,type:i.getInputType(),defaultValue:i.getDefaultValue(),parentType:i.getParentInputType()})}})),n=r,this._variableUsages.set(e,n)}return n}getRecursiveVariableUsages(e){let t=this._recursiveVariableUsages.get(e);if(!t){t=this.getVariableUsages(e);for(let n of this.getRecursivelyReferencedFragments(e))t=t.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,t)}return t}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function ut(e,n,r=ot){let i=[],a=new ct(e,n,e=>{i.push(e)}),o=r.map(e=>e(a));return t.visit(e,t.visitInParallel(o)),i}function dt(e){let t=ut(e);if(t.length!==0)throw Error(t.map(e=>e.message).join(`
`))}function ft(e,n,r){let i=[],a=Object.create(null),o=[],s,c=[];for(let e of n.definitions)if(e.kind===t.Kind.SCHEMA_DEFINITION)s=e;else if(e.kind===t.Kind.SCHEMA_EXTENSION)c.push(e);else if(u(e))i.push(e);else if(f(e)){let t=e.name.value,n=a[t];a[t]=n?n.concat([e]):[e]}else e.kind===t.Kind.DIRECTIVE_DEFINITION&&o.push(e);if(Object.keys(a).length===0&&i.length===0&&o.length===0&&c.length===0&&s==null)return e;let l=Object.create(null);for(let t of e.types)l[t.name]=g(t);for(let e of i){let t=e.name.value;l[t]=pt[t]??O(e)}let d={query:e.query&&m(e.query),mutation:e.mutation&&m(e.mutation),subscription:e.subscription&&m(e.subscription),...s&&S([s]),...S(c)};return{description:s?.description?.value,...d,types:Object.values(l),directives:[...e.directives.map(h),...o.map(re)],extensions:Object.create(null),astNode:s??e.astNode,extensionASTNodes:e.extensionASTNodes.concat(c),assumeValid:r?.assumeValid??!1};function p(e){return t.isListType(e)?new t.GraphQLList(p(e.ofType)):t.isNonNullType(e)?new t.GraphQLNonNull(p(e.ofType)):m(e)}function m(e){return l[e.name]}function h(e){let n=e.toConfig();return new t.GraphQLDirective({...n,args:t.mapValue(n.args,x)})}function g(e){if(t.isIntrospectionType(e)||t.isSpecifiedScalarType(e))return e;if(t.isScalarType(e))return y(e);if(t.isObjectType(e))return b(e);if(t.isInterfaceType(e))return ee(e);if(t.isUnionType(e))return te(e);if(t.isEnumType(e))return v(e);if(t.isInputObjectType(e))return _(e);t.invariant(!1,`Unexpected type: `+t.inspect(e))}function _(e){let n=e.toConfig(),r=a[n.name]??[];return new t.GraphQLInputObjectType({...n,fields:()=>({...t.mapValue(n.fields,e=>({...e,type:p(e.type)})),...ie(r)}),extensionASTNodes:n.extensionASTNodes.concat(r)})}function v(e){let n=e.toConfig(),r=a[e.name]??[];return new t.GraphQLEnumType({...n,values:{...n.values,...ae(r)},extensionASTNodes:n.extensionASTNodes.concat(r)})}function y(e){let n=e.toConfig(),r=a[n.name]??[],i=n.specifiedByURL;for(let e of r)i=mt(e)??i;return new t.GraphQLScalarType({...n,specifiedByURL:i,extensionASTNodes:n.extensionASTNodes.concat(r)})}function b(e){let n=e.toConfig(),r=a[n.name]??[];return new t.GraphQLObjectType({...n,interfaces:()=>[...e.getInterfaces().map(m),...D(r)],fields:()=>({...t.mapValue(n.fields,ne),...T(r)}),extensionASTNodes:n.extensionASTNodes.concat(r)})}function ee(e){let n=e.toConfig(),r=a[n.name]??[];return new t.GraphQLInterfaceType({...n,interfaces:()=>[...e.getInterfaces().map(m),...D(r)],fields:()=>({...t.mapValue(n.fields,ne),...T(r)}),extensionASTNodes:n.extensionASTNodes.concat(r)})}function te(e){let n=e.toConfig(),r=a[n.name]??[];return new t.GraphQLUnionType({...n,types:()=>[...e.getTypes().map(m),...oe(r)],extensionASTNodes:n.extensionASTNodes.concat(r)})}function ne(e){return{...e,type:p(e.type),args:e.args&&t.mapValue(e.args,x)}}function x(e){return{...e,type:p(e.type)}}function S(e){let t={};for(let n of e){let e=n.operationTypes??[];for(let n of e)t[n.operation]=C(n.type)}return t}function C(e){let t=e.name.value,n=pt[t]??l[t];if(n===void 0)throw Error(`Unknown type: "${t}".`);return n}function w(e){return e.kind===t.Kind.LIST_TYPE?new t.GraphQLList(w(e.type)):e.kind===t.Kind.NON_NULL_TYPE?new t.GraphQLNonNull(w(e.type)):C(e)}function re(e){return new t.GraphQLDirective({name:e.name.value,description:e.description?.value,locations:e.locations.map(({value:e})=>e),isRepeatable:e.repeatable,args:E(e.arguments),astNode:e})}function T(e){let t=Object.create(null);for(let n of e){let e=n.fields??[];for(let n of e)t[n.name.value]={type:w(n.type),description:n.description?.value,args:E(n.arguments),deprecationReason:I(n),astNode:n}}return t}function E(e){let n=e??[],r=Object.create(null);for(let e of n){let n=w(e.type);r[e.name.value]={type:n,description:e.description?.value,defaultValue:t.valueFromAST(e.defaultValue,n),deprecationReason:I(e),astNode:e}}return r}function ie(e){let n=Object.create(null);for(let r of e){let e=r.fields??[];for(let r of e){let e=w(r.type);n[r.name.value]={type:e,description:r.description?.value,defaultValue:t.valueFromAST(r.defaultValue,e),deprecationReason:I(r),astNode:r}}}return n}function ae(e){let t=Object.create(null);for(let n of e){let e=n.values??[];for(let n of e)t[n.name.value]={description:n.description?.value,deprecationReason:I(n),astNode:n}}return t}function D(e){return e.flatMap(e=>e.interfaces?.map(C)??[])}function oe(e){return e.flatMap(e=>e.types?.map(C)??[])}function O(e){let n=e.name.value,r=a[n]??[];switch(e.kind){case t.Kind.OBJECT_TYPE_DEFINITION:{let i=[e,...r];return new t.GraphQLObjectType({name:n,description:e.description?.value,interfaces:()=>D(i),fields:()=>T(i),astNode:e,extensionASTNodes:r})}case t.Kind.INTERFACE_TYPE_DEFINITION:{let i=[e,...r];return new t.GraphQLInterfaceType({name:n,description:e.description?.value,interfaces:()=>D(i),fields:()=>T(i),astNode:e,extensionASTNodes:r})}case t.Kind.ENUM_TYPE_DEFINITION:{let i=[e,...r];return new t.GraphQLEnumType({name:n,description:e.description?.value,values:ae(i),astNode:e,extensionASTNodes:r})}case t.Kind.UNION_TYPE_DEFINITION:{let i=[e,...r];return new t.GraphQLUnionType({name:n,description:e.description?.value,types:()=>oe(i),astNode:e,extensionASTNodes:r})}case t.Kind.SCALAR_TYPE_DEFINITION:return new t.GraphQLScalarType({name:n,description:e.description?.value,specifiedByURL:mt(e),astNode:e,extensionASTNodes:r});case t.Kind.INPUT_OBJECT_TYPE_DEFINITION:{let i=[e,...r];return new t.GraphQLInputObjectType({name:n,description:e.description?.value,fields:()=>ie(i),astNode:e,extensionASTNodes:r,isOneOf:ht(e)})}}}}var pt=t.keyMap([...t.specifiedScalarTypes,...t.introspectionTypes],e=>e.name);function I(e){return M(t.GraphQLDeprecatedDirective,e)?.reason}function mt(e){return M(t.GraphQLSpecifiedByDirective,e)?.url}function ht(e){return!!M(t.GraphQLOneOfDirective,e)}function gt(e,n){e!=null&&e.kind===t.Kind.DOCUMENT||t.devAssert(!1,`Must provide valid Document AST.`),n?.assumeValid!==!0&&n?.assumeValidSDL!==!0&&dt(e);let r=ft({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},e,n);if(r.astNode==null)for(let e of r.types)switch(e.name){case`Query`:r.query=e;break;case`Mutation`:r.mutation=e;break;case`Subscription`:r.subscription=e;break}let i=[...r.directives,...t.specifiedDirectives.filter(e=>r.directives.every(t=>t.name!==e.name))];return new t.GraphQLSchema({...r,directives:i})}function _t(e){return yt(e,e=>!t.isSpecifiedDirective(e),vt)}function vt(e){return!t.isSpecifiedScalarType(e)&&!t.isIntrospectionType(e)}function yt(e,t,n){let r=e.getDirectives().filter(t),i=Object.values(e.getTypeMap()).filter(n);return[bt(e),...r.map(e=>Pt(e)),...i.map(e=>St(e))].filter(Boolean).join(`
`)}function bt(e){if(e.description==null&&xt(e))return;let t=[],n=e.getQueryType();n&&t.push(` query: ${n.name}`);let r=e.getMutationType();r&&t.push(` mutation: ${r.name}`);let i=e.getSubscriptionType();return i&&t.push(` subscription: ${i.name}`),L(e)+`schema {\n${t.join(`
`)}\n}`}function xt(e){let t=e.getQueryType();if(t&&t.name!==`Query`)return!1;let n=e.getMutationType();if(n&&n.name!==`Mutation`)return!1;let r=e.getSubscriptionType();return!(r&&r.name!==`Subscription`)}function St(e){if(t.isScalarType(e))return Ct(e);if(t.isObjectType(e))return Tt(e);if(t.isInterfaceType(e))return Et(e);if(t.isUnionType(e))return Dt(e);if(t.isEnumType(e))return Ot(e);if(t.isInputObjectType(e))return kt(e);t.invariant(!1,`Unexpected type: `+t.inspect(e))}function Ct(e){return L(e)+`scalar ${e.name}`+It(e)}function wt(e){let t=e.getInterfaces();return t.length?` implements `+t.map(e=>e.name).join(` & `):``}function Tt(e){return L(e)+`type ${e.name}`+wt(e)+At(e)}function Et(e){return L(e)+`interface ${e.name}`+wt(e)+At(e)}function Dt(e){let t=e.getTypes(),n=t.length?` = `+t.join(` | `):``;return L(e)+`union `+e.name+n}function Ot(e){let t=e.getValues().map((e,t)=>L(e,` `,!t)+` `+e.name+Ft(e.deprecationReason));return L(e)+`enum ${e.name}`+jt(t)}function kt(e){let t=Object.values(e.getFields()).map((e,t)=>L(e,` `,!t)+` `+Nt(e));return L(e)+`input ${e.name}`+(e.isOneOf?` @oneOf`:``)+jt(t)}function At(e){let t=Object.values(e.getFields()).map((e,t)=>L(e,` `,!t)+` `+e.name+Mt(e.args,` `)+`: `+String(e.type)+Ft(e.deprecationReason));return jt(t)}function jt(e){return e.length===0?``:` {
`+e.join(`
`)+`
}`}function Mt(e,t=``){return e.length===0?``:e.every(e=>!e.description)?`(`+e.map(Nt).join(`, `)+`)`:`(
`+e.map((e,n)=>L(e,` `+t,!n)+` `+t+Nt(e)).join(`
`)+`
`+t+`)`}function Nt(e){let n=t.astFromValue(e.defaultValue,e.type),r=e.name+`: `+String(e.type);return n&&(r+=` = ${t.print(n)}`),r+Ft(e.deprecationReason)}function Pt(e){return L(e)+`directive @`+e.name+Mt(e.args)+(e.isRepeatable?` repeatable`:``)+` on `+e.locations.join(` | `)}function Ft(e){return e==null?``:e===`No longer supported`?` @deprecated`:` @deprecated(reason: ${t.print({kind:t.Kind.STRING,value:e})})`}function It(e){return e.specifiedByURL==null?``:` @specifiedBy(url: ${t.print({kind:t.Kind.STRING,value:e.specifiedByURL})})`}function L(e,n=``,r=!0){let{description:i}=e;if(i==null)return``;let a=t.print({kind:t.Kind.STRING,value:i,block:t.isPrintableAsBlockString(i)});return(n&&!r?`
`+n:n)+a.replace(/\n/g,`
`+n)+`
`}var Lt;(function(e){function t(e){return typeof e==`string`}e.is=t})(Lt||={});var Rt;(function(e){function t(e){return typeof e==`string`}e.is=t})(Rt||={});var zt;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(zt||={});var Bt;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(Bt||={});var R;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=Bt.MAX_VALUE),t===Number.MAX_VALUE&&(t=Bt.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&W.uinteger(t.line)&&W.uinteger(t.character)}e.is=n})(R||={});var z;(function(e){function t(e,t,n,r){if(W.uinteger(e)&&W.uinteger(t)&&W.uinteger(n)&&W.uinteger(r))return{start:R.create(e,t),end:R.create(n,r)};if(R.is(e)&&R.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&R.is(t.start)&&R.is(t.end)}e.is=n})(z||={});var Vt;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&z.is(t.range)&&(W.string(t.uri)||W.undefined(t.uri))}e.is=n})(Vt||={});var Ht;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&z.is(t.targetRange)&&W.string(t.targetUri)&&z.is(t.targetSelectionRange)&&(z.is(t.originSelectionRange)||W.undefined(t.originSelectionRange))}e.is=n})(Ht||={});var Ut;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&W.numberRange(t.red,0,1)&&W.numberRange(t.green,0,1)&&W.numberRange(t.blue,0,1)&&W.numberRange(t.alpha,0,1)}e.is=n})(Ut||={});var Wt;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&z.is(t.range)&&Ut.is(t.color)}e.is=n})(Wt||={});var Gt;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&W.string(t.label)&&(W.undefined(t.textEdit)||V.is(t))&&(W.undefined(t.additionalTextEdits)||W.typedArray(t.additionalTextEdits,V.is))}e.is=n})(Gt||={});var Kt;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(Kt||={});var qt;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return W.defined(n)&&(o.startCharacter=n),W.defined(r)&&(o.endCharacter=r),W.defined(i)&&(o.kind=i),W.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&W.uinteger(t.startLine)&&W.uinteger(t.startLine)&&(W.undefined(t.startCharacter)||W.uinteger(t.startCharacter))&&(W.undefined(t.endCharacter)||W.uinteger(t.endCharacter))&&(W.undefined(t.kind)||W.string(t.kind))}e.is=n})(qt||={});var Jt;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return W.defined(t)&&Vt.is(t.location)&&W.string(t.message)}e.is=n})(Jt||={});var Yt;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(Yt||={});var Xt;(function(e){e.Unnecessary=1,e.Deprecated=2})(Xt||={});var Zt;(function(e){function t(e){let t=e;return W.objectLiteral(t)&&W.string(t.href)}e.is=t})(Zt||={});var Qt;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return W.defined(n)&&(o.severity=n),W.defined(r)&&(o.code=r),W.defined(i)&&(o.source=i),W.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return W.defined(t)&&z.is(t.range)&&W.string(t.message)&&(W.number(t.severity)||W.undefined(t.severity))&&(W.integer(t.code)||W.string(t.code)||W.undefined(t.code))&&(W.undefined(t.codeDescription)||W.string(t.codeDescription?.href))&&(W.string(t.source)||W.undefined(t.source))&&(W.undefined(t.relatedInformation)||W.typedArray(t.relatedInformation,Jt.is))}e.is=n})(Qt||={});var B;(function(e){function t(e,t,...n){let r={title:e,command:t};return W.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return W.defined(t)&&W.string(t.title)&&W.string(t.command)}e.is=n})(B||={});var V;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return W.objectLiteral(t)&&W.string(t.newText)&&z.is(t.range)}e.is=i})(V||={});var $t;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&W.string(t.label)&&(W.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(W.string(t.description)||t.description===void 0)}e.is=n})($t||={});var H;(function(e){function t(e){let t=e;return W.string(t)}e.is=t})(H||={});var en;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return V.is(t)&&($t.is(t.annotationId)||H.is(t.annotationId))}e.is=i})(en||={});var tn;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return W.defined(t)&&ln.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(tn||={});var nn;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&W.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||W.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||W.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||H.is(t.annotationId))}e.is=n})(nn||={});var rn;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&W.string(t.oldUri)&&W.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||W.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||W.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||H.is(t.annotationId))}e.is=n})(rn||={});var an;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&W.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||W.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||W.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||H.is(t.annotationId))}e.is=n})(an||={});var on;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>W.string(e.kind)?nn.is(e)||rn.is(e)||an.is(e):tn.is(e)))}e.is=t})(on||={});var sn;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return W.defined(t)&&W.string(t.uri)}e.is=n})(sn||={});var cn;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return W.defined(t)&&W.string(t.uri)&&W.integer(t.version)}e.is=n})(cn||={});var ln;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return W.defined(t)&&W.string(t.uri)&&(t.version===null||W.integer(t.version))}e.is=n})(ln||={});var un;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return W.defined(t)&&W.string(t.uri)&&W.string(t.languageId)&&W.integer(t.version)&&W.string(t.text)}e.is=n})(un||={});var dn;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(dn||={});var U;(function(e){function t(e){let t=e;return W.objectLiteral(e)&&dn.is(t.kind)&&W.string(t.value)}e.is=t})(U||={});var fn;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(fn||={});var pn;(function(e){e.PlainText=1,e.Snippet=2})(pn||={});var mn;(function(e){e.Deprecated=1})(mn||={});var hn;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&W.string(t.newText)&&z.is(t.insert)&&z.is(t.replace)}e.is=n})(hn||={});var gn;(function(e){e.asIs=1,e.adjustIndentation=2})(gn||={});var _n;(function(e){function t(e){let t=e;return t&&(W.string(t.detail)||t.detail===void 0)&&(W.string(t.description)||t.description===void 0)}e.is=t})(_n||={});var vn;(function(e){function t(e){return{label:e}}e.create=t})(vn||={});var yn;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(yn||={});var bn;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return W.string(t)||W.objectLiteral(t)&&W.string(t.language)&&W.string(t.value)}e.is=n})(bn||={});var xn;(function(e){function t(e){let t=e;return!!t&&W.objectLiteral(t)&&(U.is(t.contents)||bn.is(t.contents)||W.typedArray(t.contents,bn.is))&&(e.range===void 0||z.is(e.range))}e.is=t})(xn||={});var Sn;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(Sn||={});var Cn;(function(e){function t(e,t,...n){let r={label:e};return W.defined(t)&&(r.documentation=t),W.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(Cn||={});var wn;(function(e){e.Text=1,e.Read=2,e.Write=3})(wn||={});var Tn;(function(e){function t(e,t){let n={range:e};return W.number(t)&&(n.kind=t),n}e.create=t})(Tn||={});var En;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(En||={});var Dn;(function(e){e.Deprecated=1})(Dn||={});var On;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(On||={});var kn;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(kn||={});var An;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&W.string(t.name)&&W.number(t.kind)&&z.is(t.range)&&z.is(t.selectionRange)&&(t.detail===void 0||W.string(t.detail))&&(t.deprecated===void 0||W.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(An||={});var jn;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(jn||={});var Mn;(function(e){e.Invoked=1,e.Automatic=2})(Mn||={});var Nn;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return W.defined(t)&&W.typedArray(t.diagnostics,Qt.is)&&(t.only===void 0||W.typedArray(t.only,W.string))&&(t.triggerKind===void 0||t.triggerKind===Mn.Invoked||t.triggerKind===Mn.Automatic)}e.is=n})(Nn||={});var Pn;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):B.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&W.string(t.title)&&(t.diagnostics===void 0||W.typedArray(t.diagnostics,Qt.is))&&(t.kind===void 0||W.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||B.is(t.command))&&(t.isPreferred===void 0||W.boolean(t.isPreferred))&&(t.edit===void 0||on.is(t.edit))}e.is=n})(Pn||={});var Fn;(function(e){function t(e,t){let n={range:e};return W.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return W.defined(t)&&z.is(t.range)&&(W.undefined(t.command)||B.is(t.command))}e.is=n})(Fn||={});var In;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return W.defined(t)&&W.uinteger(t.tabSize)&&W.boolean(t.insertSpaces)}e.is=n})(In||={});var Ln;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return W.defined(t)&&z.is(t.range)&&(W.undefined(t.target)||W.string(t.target))}e.is=n})(Ln||={});var Rn;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return W.objectLiteral(n)&&z.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(Rn||={});var zn;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(zn||={});var Bn;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(Bn||={});var Vn;(function(e){function t(e){let t=e;return W.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(Vn||={});var Hn;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&z.is(t.range)&&W.string(t.text)}e.is=n})(Hn||={});var Un;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&z.is(t.range)&&W.boolean(t.caseSensitiveLookup)&&(W.string(t.variableName)||t.variableName===void 0)}e.is=n})(Un||={});var Wn;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&z.is(t.range)&&(W.string(t.expression)||t.expression===void 0)}e.is=n})(Wn||={});var Gn;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return W.defined(t)&&z.is(e.stoppedLocation)}e.is=n})(Gn||={});var Kn;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(Kn||={});var qn;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&(t.tooltip===void 0||W.string(t.tooltip)||U.is(t.tooltip))&&(t.location===void 0||Vt.is(t.location))&&(t.command===void 0||B.is(t.command))}e.is=n})(qn||={});var Jn;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return W.objectLiteral(t)&&R.is(t.position)&&(W.string(t.label)||W.typedArray(t.label,qn.is))&&(t.kind===void 0||Kn.is(t.kind))&&t.textEdits===void 0||W.typedArray(t.textEdits,V.is)&&(t.tooltip===void 0||W.string(t.tooltip)||U.is(t.tooltip))&&(t.paddingLeft===void 0||W.boolean(t.paddingLeft))&&(t.paddingRight===void 0||W.boolean(t.paddingRight))}e.is=n})(Jn||={});var Yn;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Yn||={});var Xn;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Xn||={});var Zn;(function(e){function t(e){return{items:e}}e.create=t})(Zn||={});var Qn;(function(e){e.Invoked=0,e.Automatic=1})(Qn||={});var $n;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})($n||={});var er;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(er||={});var tr;(function(e){function t(e){let t=e;return W.objectLiteral(t)&&Rt.is(t.uri)&&W.string(t.name)}e.is=t})(tr||={});var nr;(function(e){function t(e,t,n,r){return new rr(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(W.defined(t)&&W.string(t.uri)&&(W.undefined(t.languageId)||W.string(t.languageId))&&W.uinteger(t.lineCount)&&W.func(t.getText)&&W.func(t.positionAt)&&W.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(nr||={});var rr=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
`,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
`&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return R.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return R.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},W;(function(e){let t=Object.prototype.toString;function n(e){return e!==void 0}e.defined=n;function r(e){return e===void 0}e.undefined=r;function i(e){return e===!0||e===!1}e.boolean=i;function a(e){return t.call(e)===`[object String]`}e.string=a;function o(e){return t.call(e)===`[object Number]`}e.number=o;function s(e,n,r){return t.call(e)===`[object Number]`&&n<=e&&e<=r}e.numberRange=s;function c(e){return t.call(e)===`[object Number]`&&-2147483648<=e&&e<=2147483647}e.integer=c;function l(e){return t.call(e)===`[object Number]`&&0<=e&&e<=2147483647}e.uinteger=l;function u(e){return t.call(e)===`[object Function]`}e.func=u;function d(e){return typeof e==`object`&&!!e}e.objectLiteral=d;function f(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=f})(W||={});function G(e){return{ofRule:e}}function K(e,t){return{ofRule:e,isList:!0,separator:t}}function ir(e,t){let n=e.match;return e.match=e=>{let r=!1;return n&&(r=n(e)),r&&t.every(t=>t.match&&!t.match(e))},e}function ar(e,t){return{style:t,match:t=>t.kind===e}}function q(e,t){return{style:t||`punctuation`,match:t=>t.kind===`Punctuation`&&t.value===e}}const or={Document:[K(`Definition`)],Definition(e){switch(e.value){case`{`:return`ShortQuery`;case`query`:return`Query`;case`mutation`:return`Mutation`;case`subscription`:return`Subscription`;case`fragment`:return t.Kind.FRAGMENT_DEFINITION;case`schema`:return`SchemaDef`;case`scalar`:return`ScalarDef`;case`type`:return`ObjectTypeDef`;case`interface`:return`InterfaceDef`;case`union`:return`UnionDef`;case`enum`:return`EnumDef`;case`input`:return`InputDef`;case`extend`:return`ExtendDef`;case`directive`:return`DirectiveDef`}},ShortQuery:[`SelectionSet`],Query:[J(`query`),G(Y(`def`)),G(`VariableDefinitions`),K(`Directive`),`SelectionSet`],Mutation:[J(`mutation`),G(Y(`def`)),G(`VariableDefinitions`),K(`Directive`),`SelectionSet`],Subscription:[J(`subscription`),G(Y(`def`)),G(`VariableDefinitions`),K(`Directive`),`SelectionSet`],VariableDefinitions:[q(`(`),K(`VariableDefinition`),q(`)`)],VariableDefinition:[`Variable`,q(`:`),`Type`,G(`DefaultValue`)],Variable:[q(`$`,`variable`),Y(`variable`)],DefaultValue:[q(`=`),`Value`],SelectionSet:[q(`{`),K(`Selection`),q(`}`)],Selection(e,t){return e.value===`...`?t.match(/[\s\u00a0,]*(on\b|@|{)/,!1)?`InlineFragment`:`FragmentSpread`:t.match(/[\s\u00a0,]*:/,!1)?`AliasedField`:`Field`},AliasedField:[Y(`property`),q(`:`),Y(`qualifier`),G(`Arguments`),K(`Directive`),G(`SelectionSet`)],Field:[Y(`property`),G(`Arguments`),K(`Directive`),G(`SelectionSet`)],Arguments:[q(`(`),K(`Argument`),q(`)`)],Argument:[Y(`attribute`),q(`:`),`Value`],FragmentSpread:[q(`...`),Y(`def`),K(`Directive`)],InlineFragment:[q(`...`),G(`TypeCondition`),K(`Directive`),`SelectionSet`],FragmentDefinition:[J(`fragment`),G(ir(Y(`def`),[J(`on`)])),`TypeCondition`,K(`Directive`),`SelectionSet`],TypeCondition:[J(`on`),`NamedType`],Value(e){switch(e.kind){case`Number`:return`NumberValue`;case`String`:return`StringValue`;case`Punctuation`:switch(e.value){case`[`:return`ListValue`;case`{`:return`ObjectValue`;case`$`:return`Variable`;case`&`:return`NamedType`}return null;case`Name`:switch(e.value){case`true`:case`false`:return`BooleanValue`}return e.value===`null`?`NullValue`:`EnumValue`}},NumberValue:[ar(`Number`,`number`)],StringValue:[{style:`string`,match:e=>e.kind===`String`,update(e,t){t.value.startsWith(`"""`)&&(e.inBlockstring=!t.value.slice(3).endsWith(`"""`))}}],BooleanValue:[ar(`Name`,`builtin`)],NullValue:[ar(`Name`,`keyword`)],EnumValue:[Y(`string-2`)],ListValue:[q(`[`),K(`Value`),q(`]`)],ObjectValue:[q(`{`),K(`ObjectField`),q(`}`)],ObjectField:[Y(`attribute`),q(`:`),`Value`],Type(e){return e.value===`[`?`ListType`:`NonNullType`},ListType:[q(`[`),`Type`,q(`]`),G(q(`!`))],NonNullType:[`NamedType`,G(q(`!`))],NamedType:[sr(`atom`)],Directive:[q(`@`,`meta`),Y(`meta`),G(`Arguments`)],DirectiveDef:[J(`directive`),q(`@`,`meta`),Y(`meta`),G(`ArgumentsDef`),J(`on`),K(`DirectiveLocation`,q(`|`))],InterfaceDef:[J(`interface`),Y(`atom`),G(`Implements`),K(`Directive`),q(`{`),K(`FieldDef`),q(`}`)],Implements:[J(`implements`),K(`NamedType`,q(`&`))],DirectiveLocation:[Y(`string-2`)],SchemaDef:[J(`schema`),K(`Directive`),q(`{`),K(`OperationTypeDef`),q(`}`)],OperationTypeDef:[Y(`keyword`),q(`:`),Y(`atom`)],ScalarDef:[J(`scalar`),Y(`atom`),K(`Directive`)],ObjectTypeDef:[J(`type`),Y(`atom`),G(`Implements`),K(`Directive`),q(`{`),K(`FieldDef`),q(`}`)],FieldDef:[Y(`property`),G(`ArgumentsDef`),q(`:`),`Type`,K(`Directive`)],ArgumentsDef:[q(`(`),K(`InputValueDef`),q(`)`)],InputValueDef:[Y(`attribute`),q(`:`),`Type`,G(`DefaultValue`),K(`Directive`)],UnionDef:[J(`union`),Y(`atom`),K(`Directive`),q(`=`),K(`UnionMember`,q(`|`))],UnionMember:[`NamedType`],EnumDef:[J(`enum`),Y(`atom`),K(`Directive`),q(`{`),K(`EnumValueDef`),q(`}`)],EnumValueDef:[Y(`string-2`),K(`Directive`)],InputDef:[J(`input`),Y(`atom`),K(`Directive`),q(`{`),K(`InputValueDef`),q(`}`)],ExtendDef:[J(`extend`),`ExtensionDefinition`],ExtensionDefinition(e){switch(e.value){case`schema`:return t.Kind.SCHEMA_EXTENSION;case`scalar`:return t.Kind.SCALAR_TYPE_EXTENSION;case`type`:return t.Kind.OBJECT_TYPE_EXTENSION;case`interface`:return t.Kind.INTERFACE_TYPE_EXTENSION;case`union`:return t.Kind.UNION_TYPE_EXTENSION;case`enum`:return t.Kind.ENUM_TYPE_EXTENSION;case`input`:return t.Kind.INPUT_OBJECT_TYPE_EXTENSION}},[t.Kind.SCHEMA_EXTENSION]:[`SchemaDef`],[t.Kind.SCALAR_TYPE_EXTENSION]:[`ScalarDef`],[t.Kind.OBJECT_TYPE_EXTENSION]:[`ObjectTypeDef`],[t.Kind.INTERFACE_TYPE_EXTENSION]:[`InterfaceDef`],[t.Kind.UNION_TYPE_EXTENSION]:[`UnionDef`],[t.Kind.ENUM_TYPE_EXTENSION]:[`EnumDef`],[t.Kind.INPUT_OBJECT_TYPE_EXTENSION]:[`InputDef`]};function J(e){return{style:`keyword`,match:t=>t.kind===`Name`&&t.value===e}}function Y(e){return{style:e,match:e=>e.kind===`Name`,update(e,t){e.name=t.value}}}function sr(e){return{style:e,match:e=>e.kind===`Name`,update(e,t){e.prevState?.prevState&&(e.name=t.value,e.prevState.prevState.type=t.value)}}}var cr;(function(e){e.TYPE_SYSTEM=`TYPE_SYSTEM`,e.EXECUTABLE=`EXECUTABLE`,e.UNKNOWN=`UNKNOWN`})(cr||={});const lr=[t.Kind.SCHEMA_DEFINITION,t.Kind.OPERATION_TYPE_DEFINITION,t.Kind.SCALAR_TYPE_DEFINITION,t.Kind.OBJECT_TYPE_DEFINITION,t.Kind.INTERFACE_TYPE_DEFINITION,t.Kind.UNION_TYPE_DEFINITION,t.Kind.ENUM_TYPE_DEFINITION,t.Kind.INPUT_OBJECT_TYPE_DEFINITION,t.Kind.DIRECTIVE_DEFINITION,t.Kind.SCHEMA_EXTENSION,t.Kind.SCALAR_TYPE_EXTENSION,t.Kind.OBJECT_TYPE_EXTENSION,t.Kind.INTERFACE_TYPE_EXTENSION,t.Kind.UNION_TYPE_EXTENSION,t.Kind.ENUM_TYPE_EXTENSION,t.Kind.INPUT_OBJECT_TYPE_EXTENSION],ur={ALIASED_FIELD:`AliasedField`,ARGUMENTS:`Arguments`,SHORT_QUERY:`ShortQuery`,QUERY:`Query`,MUTATION:`Mutation`,SUBSCRIPTION:`Subscription`,TYPE_CONDITION:`TypeCondition`,INVALID:`Invalid`,COMMENT:`Comment`,SCHEMA_DEF:`SchemaDef`,SCALAR_DEF:`ScalarDef`,OBJECT_TYPE_DEF:`ObjectTypeDef`,OBJECT_VALUE:`ObjectValue`,LIST_VALUE:`ListValue`,INTERFACE_DEF:`InterfaceDef`,UNION_DEF:`UnionDef`,ENUM_DEF:`EnumDef`,ENUM_VALUE:`EnumValue`,FIELD_DEF:`FieldDef`,INPUT_DEF:`InputDef`,INPUT_VALUE_DEF:`InputValueDef`,ARGUMENTS_DEF:`ArgumentsDef`,EXTEND_DEF:`ExtendDef`,EXTENSION_DEFINITION:`ExtensionDefinition`,DIRECTIVE_DEF:`DirectiveDef`,IMPLEMENTS:`Implements`,VARIABLE_DEFINITIONS:`VariableDefinitions`,TYPE:`Type`,VARIABLE:`Variable`},dr=Object.assign(Object.assign({},t.Kind),ur);var X;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(X||={});var fr=[{label:`type`,kind:X.Function},{label:`interface`,kind:X.Function},{label:`union`,kind:X.Function},{label:`input`,kind:X.Function},{label:`scalar`,kind:X.Function},{label:`schema`,kind:X.Function}],pr=[{label:`query`,kind:X.Function},{label:`mutation`,kind:X.Function},{label:`subscription`,kind:X.Function},{label:`fragment`,kind:X.Function},{label:`{`,kind:X.Constructor}],mr=e.__commonJSMin(((e,t)=>{function n(e,t){if(e!=null)return e;var n=Error(t===void 0?`Got unexpected `+e:t);throw n.framesToPop=1,n}t.exports=n,t.exports.default=n,Object.defineProperty(t.exports,`__esModule`,{value:!0})})),hr=e.__toESM(mr()),gr=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};const Z={Error:`Error`,Warning:`Warning`,Information:`Information`,Hint:`Hint`},_r={[Z.Error]:1,[Z.Warning]:2,[Z.Information]:3,[Z.Hint]:4},Q=e=>`getModeId`in e?e.getModeId():e.getLanguageId(),vr=e=>{let{schema:t,documentAST:n,introspectionJSON:r,introspectionJSONString:i,documentString:a,...o}=e;if(t)return{...o,documentString:_t(t)};if(i)return{...o,introspectionJSONString:i};if(a)return{...o,documentString:a};if(r)return{...o,introspectionJSONString:JSON.stringify(r)};if(n){let e=gt(n,o.buildSchemaOptions);return{...o,documentString:_t(e)}}throw Error(`No schema supplied`)};var yr=120*1e3,br=class{_defaults;_idleCheckInterval;_lastUsedTime=0;_configChangeListener;_worker=null;_client=null;constructor(e){this._defaults=e,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._configChangeListener=this._defaults.onDidChange(()=>{this._stopWorker()})}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>yr&&this._stopWorker()}async _getClient(){if(this._lastUsedTime=Date.now(),!this._client&&!this._worker)try{let{languageId:t,formattingOptions:n,schemas:r,externalFragmentDefinitions:i,completionSettings:a}=this._defaults;this._worker=e.editor.createWebWorker({moduleId:`monaco-graphql/esm/GraphQLWorker.js`,label:t,createData:{languageId:t,formattingOptions:n,languageConfig:{schemas:r?.map(vr),externalFragmentDefinitions:i,fillLeafsOnComplete:a.__experimental__fillLeafsOnComplete}}}),this._client=this._worker.getProxy()}catch(e){console.error(`error loading worker`,e)}return this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return await this._worker.withSyncedResources(e),t}},xr=class{defaults;_worker;_disposables=[];_listener=Object.create(null);constructor(t,n){this.defaults=t,this._worker=n,this._worker=n;let r,i=e=>{let n=Q(e);if(n!==this.defaults.languageId)return;let i=e.uri.toString(),a=t.diagnosticSettings.validateVariablesJSON?.[i];r=setTimeout(()=>{this._doValidate(e.uri,n,a)},400),this._listener[i]=e.onDidChangeContent(()=>{clearTimeout(r),r=setTimeout(()=>{this._doValidate(e.uri,n,a)},400)})},a=t=>{e.editor.setModelMarkers(t,this.defaults.languageId,[]);let n=t.uri.toString(),r=this._listener[n];r&&(r.dispose(),delete this._listener[n])};this._disposables.push(e.editor.onDidCreateModel(i),{dispose(){clearTimeout(r)}},e.editor.onWillDisposeModel(e=>{a(e)}),e.editor.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)}),{dispose:()=>{for(let e of Object.values(this._listener))e.dispose()}},t.onDidChange(()=>{for(let t of e.editor.getModels())Q(t)===this.defaults.languageId&&(a(t),i(t))}));for(let t of e.editor.getModels())Q(t)===this.defaults.languageId&&i(t)}dispose(){for(let e of this._disposables)e.dispose();this._disposables=[]}async _doValidate(t,n,r){let i=await this._worker(t);if(!i)return;let a=await i.doValidation(t.toString());if(e.editor.setModelMarkers(e.editor.getModel(t),n,a),r){if(await Promise.resolve().then(()=>require(`./monaco.contribution-6paRlPLP.cjs`)),!r.length)throw Error(`No variables URI strings provided to validate`);let n=await i.doGetVariablesJSONSchema(t.toString());if(!n)return;let a=e.Uri.file(r[0].replace(`.json`,`-schema.json`)).toString(),o={uri:a,schema:n,fileMatch:r},s=e.languages.json.jsonDefaults.diagnosticsOptions.schemas?.filter(e=>e.uri!==a)||[];e.languages.json.jsonDefaults.setDiagnosticsOptions({schemaValidation:`error`,validate:!0,...this.defaults.diagnosticSettings.jsonDiagnosticSettings,schemas:[...s,o],enableSchemaRequest:!1})}}},$=e.languages.CompletionItemKind,Sr={[X.Text]:$.Text,[X.Method]:$.Method,[X.Function]:$.Function,[X.Constructor]:$.Constructor,[X.Field]:$.Field,[X.Variable]:$.Variable,[X.Class]:$.Class,[X.Interface]:$.Interface,[X.Module]:$.Module,[X.Property]:$.Property,[X.Unit]:$.Unit,[X.Value]:$.Value,[X.Enum]:$.Enum,[X.Keyword]:$.Keyword,[X.Snippet]:$.Snippet,[X.Color]:$.Color,[X.File]:$.File,[X.Reference]:$.Reference,[X.Folder]:$.Folder,[X.EnumMember]:$.EnumMember,[X.Constant]:$.Constant,[X.Struct]:$.Struct,[X.Event]:$.Event,[X.Operator]:$.Operator,[X.TypeParameter]:$.TypeParameter};function Cr(e){return e in Sr?Sr[e]:$.Text}function wr(t){return{range:t.range,kind:Cr(t.kind),label:t.label,insertText:t.insertText??t.label,insertTextRules:t.insertText?e.languages.CompletionItemInsertTextRule.InsertAsSnippet:void 0,sortText:t.sortText,filterText:t.filterText,documentation:t.documentation,detail:t.detail,command:t.command}}var Tr=class{_worker;constructor(e){this._worker=e,this._worker=e}get triggerCharacters(){return[`:`,`$`,` `,`(`,`@`]}async provideCompletionItems(e,t,n,r){try{return{incomplete:!0,suggestions:(await(await this._worker(e.uri)).doComplete(e.uri.toString(),t)).map(wr)}}catch(e){return console.error(`Error fetching completion items`,e),{suggestions:[]}}}},Er=class{_worker;constructor(e){this._worker=e,this._worker=e}async provideDocumentFormattingEdits(e,t,n){let r=await(await this._worker(e.uri)).doFormat(e.uri.toString());return r?[{range:e.getFullModelRange(),text:r}]:[]}},Dr=class{_worker;constructor(e){this._worker=e}async provideHover(e,t,n){let r=e.uri,i=await(await this._worker(e.uri)).doHover(r.toString(),t);return i?{range:i.range,contents:[{value:i.content}]}:{contents:[]}}dispose(){}};function Or(t){let n=[],r=[],i=new br(t);n.push(i);let a=(...e)=>{try{return i.getLanguageServiceWorker(...e)}catch{throw Error(`Error fetching graphql language service worker`)}};function o(){let{modeConfiguration:n,languageId:i}=t;n.documentFormattingEdits&&r.push(e.languages.registerDocumentFormattingEditProvider(i,new Er(a)))}function s(n){let{modeConfiguration:i,languageId:s}=t;Ar(r),i.completionItems&&r.push(e.languages.registerCompletionItemProvider(s,new Tr(a))),i.diagnostics&&r.push(new xr(n,a)),i.hovers&&r.push(e.languages.registerHoverProvider(s,new Dr(a))),o()}let{modeConfiguration:c,formattingOptions:l,diagnosticSettings:u,externalFragmentDefinitions:d,schemas:f}=t;return s(t),t.onDidChange(e=>{e.modeConfiguration!==c&&(c=e.modeConfiguration,s(e)),e.formattingOptions!==l&&(l=e.formattingOptions,o()),e.externalFragmentDefinitions!==d&&(d=e.externalFragmentDefinitions,s(e)),e.diagnosticSettings!==u&&(u=e.diagnosticSettings,s(e)),e.schemas!==f&&(f=e.schemas,s(e))}),n.push(kr(r)),kr(n)}function kr(e){return{dispose:()=>Ar(e)}}function Ar(e){for(;e.length;)e.pop().dispose()}exports.setupMode=Or;