PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@0no-co/graphqlsp/dist
Просмотр файла: graphqlsp.js
var e = require("./chunks/api-chunk.js");
var t = require("node:fs/promises");
var n = require("path");
var i = require("@gql.tada/internal");
var r = require("graphql");
var statFile = (e, n) => t.stat(e).then(n).catch((() => !1));
var swapWrite = async (e, n) => {
if (!await statFile(e, (e => e.isFile()))) {
await t.writeFile(e, n);
} else {
var i = e + ".tmp";
await t.writeFile(i, n);
try {
await t.rename(i, e);
} catch (e) {
await t.unlink(i);
throw e;
} finally {
await (async e => {
try {
var n = new Date;
await t.utimes(e, n, n);
} catch (e) {}
})(e);
}
}
};
async function saveTadaIntrospection(e, r, a, o) {
var s = i.minifyIntrospection(e);
var c = i.outputIntrospectionFile(s, {
fileType: r,
shouldPreprocess: !a
});
var u = r;
if (await statFile(u, (e => e.isDirectory()))) {
u = n.join(u, "introspection.d.ts");
} else if (!await statFile(u, (e => !!e))) {
await t.mkdir(n.dirname(u), {
recursive: !0
});
if (await statFile(u, (e => e.isDirectory()))) {
u = n.join(u, "introspection.d.ts");
}
}
try {
await swapWrite(u, c);
o(`Introspection saved to path @ ${u}`);
} catch (e) {
o(`Failed to write introspection @ ${e}`);
}
}
function getDefinitionState(e) {
var t;
forEachState(e, (e => {
switch (e.kind) {
case "Query":
case "ShortQuery":
case "Mutation":
case "Subscription":
case "FragmentDefinition":
t = e;
}
}));
return t;
}
function getFieldDef(e, t, n) {
if (n === r.SchemaMetaFieldDef.name && e.getQueryType() === t) {
return r.SchemaMetaFieldDef;
}
if (n === r.TypeMetaFieldDef.name && e.getQueryType() === t) {
return r.TypeMetaFieldDef;
}
if (n === r.TypeNameMetaFieldDef.name && r.isCompositeType(t)) {
return r.TypeNameMetaFieldDef;
}
if ("getFields" in t) {
return t.getFields()[n];
}
return null;
}
function forEachState(e, t) {
var n = [];
var i = e;
while (null == i ? void 0 : i.kind) {
n.push(i);
i = i.prevState;
}
for (var r = n.length - 1; r >= 0; r--) {
t(n[r]);
}
}
function objectValues(e) {
var t = Object.keys(e);
var n = t.length;
var i = new Array(n);
for (var r = 0; r < n; ++r) {
i[r] = e[t[r]];
}
return i;
}
function hintList$1(e, t) {
return function filterAndSortList$1(e, t) {
if (!t) {
return filterNonEmpty$1(e, (e => !e.isDeprecated));
}
var n = e.map((e => ({
proximity: getProximity$1(normalizeText$1(e.label), t),
entry: e
})));
return filterNonEmpty$1(filterNonEmpty$1(n, (e => e.proximity <= 2)), (e => !e.entry.isDeprecated)).sort(((e, t) => (e.entry.isDeprecated ? 1 : 0) - (t.entry.isDeprecated ? 1 : 0) || e.proximity - t.proximity || e.entry.label.length - t.entry.label.length)).map((e => e.entry));
}(t, normalizeText$1(e.string));
}
function filterNonEmpty$1(e, t) {
var n = e.filter(t);
return 0 === n.length ? e : n;
}
function normalizeText$1(e) {
return e.toLowerCase().replaceAll(/\W/g, "");
}
function getProximity$1(e, t) {
var n = function lexicalDistance$1(e, t) {
var n;
var i;
var r = [];
var a = e.length;
var o = t.length;
for (n = 0; n <= a; n++) {
r[n] = [ n ];
}
for (i = 1; i <= o; i++) {
r[0][i] = i;
}
for (n = 1; n <= a; n++) {
for (i = 1; i <= o; i++) {
var s = e[n - 1] === t[i - 1] ? 0 : 1;
r[n][i] = Math.min(r[n - 1][i] + 1, r[n][i - 1] + 1, r[n - 1][i - 1] + s);
if (n > 1 && i > 1 && e[n - 1] === t[i - 2] && e[n - 2] === t[i - 1]) {
r[n][i] = Math.min(r[n][i], r[n - 2][i - 2] + s);
}
}
}
return r[a][o];
}(t, e);
if (e.length > t.length) {
n -= e.length - t.length - 1;
n += 0 === e.indexOf(t) ? 0 : .5;
}
return n;
}
var a;
!function(e) {
e.is = function is(e) {
return "string" == typeof e;
};
}(a || (a = {}));
var o;
!function(e) {
e.is = function is(e) {
return "string" == typeof e;
};
}(o || (o = {}));
var s;
!function(e) {
e.MIN_VALUE = -2147483648;
e.MAX_VALUE = 2147483647;
e.is = function is(t) {
return "number" == typeof t && e.MIN_VALUE <= t && t <= e.MAX_VALUE;
};
}(s || (s = {}));
var c;
!function(e) {
e.MIN_VALUE = 0;
e.MAX_VALUE = 2147483647;
e.is = function is(t) {
return "number" == typeof t && e.MIN_VALUE <= t && t <= e.MAX_VALUE;
};
}(c || (c = {}));
var u;
!function(e) {
e.create = function create(e, t) {
if (e === Number.MAX_VALUE) {
e = c.MAX_VALUE;
}
if (t === Number.MAX_VALUE) {
t = c.MAX_VALUE;
}
return {
line: e,
character: t
};
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && Ae.uinteger(t.line) && Ae.uinteger(t.character);
};
}(u || (u = {}));
var l;
!function(e) {
e.create = function create(e, t, n, i) {
if (Ae.uinteger(e) && Ae.uinteger(t) && Ae.uinteger(n) && Ae.uinteger(i)) {
return {
start: u.create(e, t),
end: u.create(n, i)
};
} else if (u.is(e) && u.is(t)) {
return {
start: e,
end: t
};
} else {
throw new Error("Range#create called with invalid arguments[".concat(e, ", ").concat(t, ", ").concat(n, ", ").concat(i, "]"));
}
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && u.is(t.start) && u.is(t.end);
};
}(l || (l = {}));
var d;
!function(e) {
e.create = function create(e, t) {
return {
uri: e,
range: t
};
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && l.is(t.range) && (Ae.string(t.uri) || Ae.undefined(t.uri));
};
}(d || (d = {}));
var f;
!function(e) {
e.create = function create(e, t, n, i) {
return {
targetUri: e,
targetRange: t,
targetSelectionRange: n,
originSelectionRange: i
};
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && l.is(t.targetRange) && Ae.string(t.targetUri) && l.is(t.targetSelectionRange) && (l.is(t.originSelectionRange) || Ae.undefined(t.originSelectionRange));
};
}(f || (f = {}));
var v;
!function(e) {
e.create = function create(e, t, n, i) {
return {
red: e,
green: t,
blue: n,
alpha: i
};
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && Ae.numberRange(t.red, 0, 1) && Ae.numberRange(t.green, 0, 1) && Ae.numberRange(t.blue, 0, 1) && Ae.numberRange(t.alpha, 0, 1);
};
}(v || (v = {}));
var p;
!function(e) {
e.create = function create(e, t) {
return {
range: e,
color: t
};
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && l.is(t.range) && v.is(t.color);
};
}(p || (p = {}));
var g;
!function(e) {
e.create = function create(e, t, n) {
return {
label: e,
textEdit: t,
additionalTextEdits: n
};
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && Ae.string(t.label) && (Ae.undefined(t.textEdit) || D.is(t)) && (Ae.undefined(t.additionalTextEdits) || Ae.typedArray(t.additionalTextEdits, D.is));
};
}(g || (g = {}));
var m;
!function(e) {
e.Comment = "comment";
e.Imports = "imports";
e.Region = "region";
}(m || (m = {}));
var E;
!function(e) {
e.create = function create(e, t, n, i, r, a) {
var o = {
startLine: e,
endLine: t
};
if (Ae.defined(n)) {
o.startCharacter = n;
}
if (Ae.defined(i)) {
o.endCharacter = i;
}
if (Ae.defined(r)) {
o.kind = r;
}
if (Ae.defined(a)) {
o.collapsedText = a;
}
return o;
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && Ae.uinteger(t.startLine) && Ae.uinteger(t.startLine) && (Ae.undefined(t.startCharacter) || Ae.uinteger(t.startCharacter)) && (Ae.undefined(t.endCharacter) || Ae.uinteger(t.endCharacter)) && (Ae.undefined(t.kind) || Ae.string(t.kind));
};
}(E || (E = {}));
var h;
!function(e) {
e.create = function create(e, t) {
return {
location: e,
message: t
};
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && d.is(t.location) && Ae.string(t.message);
};
}(h || (h = {}));
var T;
!function(e) {
e.Error = 1;
e.Warning = 2;
e.Information = 3;
e.Hint = 4;
}(T || (T = {}));
var y;
!function(e) {
e.Unnecessary = 1;
e.Deprecated = 2;
}(y || (y = {}));
var I;
!function(e) {
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && Ae.string(t.href);
};
}(I || (I = {}));
var b;
!function(e) {
e.create = function create(e, t, n, i, r, a) {
var o = {
range: e,
message: t
};
if (Ae.defined(n)) {
o.severity = n;
}
if (Ae.defined(i)) {
o.code = i;
}
if (Ae.defined(r)) {
o.source = r;
}
if (Ae.defined(a)) {
o.relatedInformation = a;
}
return o;
};
e.is = function is(e) {
var t;
var n = e;
return Ae.defined(n) && l.is(n.range) && Ae.string(n.message) && (Ae.number(n.severity) || Ae.undefined(n.severity)) && (Ae.integer(n.code) || Ae.string(n.code) || Ae.undefined(n.code)) && (Ae.undefined(n.codeDescription) || Ae.string(null === (t = n.codeDescription) || void 0 === t ? void 0 : t.href)) && (Ae.string(n.source) || Ae.undefined(n.source)) && (Ae.undefined(n.relatedInformation) || Ae.typedArray(n.relatedInformation, h.is));
};
}(b || (b = {}));
var S;
!function(e) {
e.create = function create(e, t) {
var n = [];
for (var i = 2; i < arguments.length; i++) {
n[i - 2] = arguments[i];
}
var r = {
title: e,
command: t
};
if (Ae.defined(n) && n.length > 0) {
r.arguments = n;
}
return r;
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && Ae.string(t.title) && Ae.string(t.command);
};
}(S || (S = {}));
var D;
!function(e) {
e.replace = function replace(e, t) {
return {
range: e,
newText: t
};
};
e.insert = function insert(e, t) {
return {
range: {
start: e,
end: e
},
newText: t
};
};
e.del = function del(e) {
return {
range: e,
newText: ""
};
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && Ae.string(t.newText) && l.is(t.range);
};
}(D || (D = {}));
var N;
!function(e) {
e.create = function create(e, t, n) {
var i = {
label: e
};
if (void 0 !== t) {
i.needsConfirmation = t;
}
if (void 0 !== n) {
i.description = n;
}
return i;
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && Ae.string(t.label) && (Ae.boolean(t.needsConfirmation) || void 0 === t.needsConfirmation) && (Ae.string(t.description) || void 0 === t.description);
};
}(N || (N = {}));
var _;
!function(e) {
e.is = function is(e) {
return Ae.string(e);
};
}(_ || (_ = {}));
var A;
!function(e) {
e.replace = function replace(e, t, n) {
return {
range: e,
newText: t,
annotationId: n
};
};
e.insert = function insert(e, t, n) {
return {
range: {
start: e,
end: e
},
newText: t,
annotationId: n
};
};
e.del = function del(e, t) {
return {
range: e,
newText: "",
annotationId: t
};
};
e.is = function is(e) {
var t = e;
return D.is(t) && (N.is(t.annotationId) || _.is(t.annotationId));
};
}(A || (A = {}));
var k;
!function(e) {
e.create = function create(e, t) {
return {
textDocument: e,
edits: t
};
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && R.is(t.textDocument) && Array.isArray(t.edits);
};
}(k || (k = {}));
var L;
!function(e) {
e.create = function create(e, t, n) {
var i = {
kind: "create",
uri: e
};
if (void 0 !== t && (void 0 !== t.overwrite || void 0 !== t.ignoreIfExists)) {
i.options = t;
}
if (void 0 !== n) {
i.annotationId = n;
}
return i;
};
e.is = function is(e) {
var t = e;
return t && "create" === t.kind && Ae.string(t.uri) && (void 0 === t.options || (void 0 === t.options.overwrite || Ae.boolean(t.options.overwrite)) && (void 0 === t.options.ignoreIfExists || Ae.boolean(t.options.ignoreIfExists))) && (void 0 === t.annotationId || _.is(t.annotationId));
};
}(L || (L = {}));
var C;
!function(e) {
e.create = function create(e, t, n, i) {
var r = {
kind: "rename",
oldUri: e,
newUri: t
};
if (void 0 !== n && (void 0 !== n.overwrite || void 0 !== n.ignoreIfExists)) {
r.options = n;
}
if (void 0 !== i) {
r.annotationId = i;
}
return r;
};
e.is = function is(e) {
var t = e;
return t && "rename" === t.kind && Ae.string(t.oldUri) && Ae.string(t.newUri) && (void 0 === t.options || (void 0 === t.options.overwrite || Ae.boolean(t.options.overwrite)) && (void 0 === t.options.ignoreIfExists || Ae.boolean(t.options.ignoreIfExists))) && (void 0 === t.annotationId || _.is(t.annotationId));
};
}(C || (C = {}));
var F;
!function(e) {
e.create = function create(e, t, n) {
var i = {
kind: "delete",
uri: e
};
if (void 0 !== t && (void 0 !== t.recursive || void 0 !== t.ignoreIfNotExists)) {
i.options = t;
}
if (void 0 !== n) {
i.annotationId = n;
}
return i;
};
e.is = function is(e) {
var t = e;
return t && "delete" === t.kind && Ae.string(t.uri) && (void 0 === t.options || (void 0 === t.options.recursive || Ae.boolean(t.options.recursive)) && (void 0 === t.options.ignoreIfNotExists || Ae.boolean(t.options.ignoreIfNotExists))) && (void 0 === t.annotationId || _.is(t.annotationId));
};
}(F || (F = {}));
var O;
!function(e) {
e.is = function is(e) {
return e && (void 0 !== e.changes || void 0 !== e.documentChanges) && (void 0 === e.documentChanges || e.documentChanges.every((function(e) {
if (Ae.string(e.kind)) {
return L.is(e) || C.is(e) || F.is(e);
} else {
return k.is(e);
}
})));
};
}(O || (O = {}));
var x = function() {
function TextEditChangeImpl(e, t) {
this.edits = e;
this.changeAnnotations = t;
}
TextEditChangeImpl.prototype.insert = function(e, t, n) {
var i;
var r;
if (void 0 === n) {
i = D.insert(e, t);
} else if (_.is(n)) {
r = n;
i = A.insert(e, t, n);
} else {
this.assertChangeAnnotations(this.changeAnnotations);
r = this.changeAnnotations.manage(n);
i = A.insert(e, t, r);
}
this.edits.push(i);
if (void 0 !== r) {
return r;
}
};
TextEditChangeImpl.prototype.replace = function(e, t, n) {
var i;
var r;
if (void 0 === n) {
i = D.replace(e, t);
} else if (_.is(n)) {
r = n;
i = A.replace(e, t, n);
} else {
this.assertChangeAnnotations(this.changeAnnotations);
r = this.changeAnnotations.manage(n);
i = A.replace(e, t, r);
}
this.edits.push(i);
if (void 0 !== r) {
return r;
}
};
TextEditChangeImpl.prototype.delete = function(e, t) {
var n;
var i;
if (void 0 === t) {
n = D.del(e);
} else if (_.is(t)) {
i = t;
n = A.del(e, t);
} else {
this.assertChangeAnnotations(this.changeAnnotations);
i = this.changeAnnotations.manage(t);
n = A.del(e, i);
}
this.edits.push(n);
if (void 0 !== i) {
return i;
}
};
TextEditChangeImpl.prototype.add = function(e) {
this.edits.push(e);
};
TextEditChangeImpl.prototype.all = function() {
return this.edits;
};
TextEditChangeImpl.prototype.clear = function() {
this.edits.splice(0, this.edits.length);
};
TextEditChangeImpl.prototype.assertChangeAnnotations = function(e) {
if (void 0 === e) {
throw new Error("Text edit change is not configured to manage change annotations.");
}
};
return TextEditChangeImpl;
}();
var M = function() {
function ChangeAnnotations(e) {
this._annotations = void 0 === e ? Object.create(null) : e;
this._counter = 0;
this._size = 0;
}
ChangeAnnotations.prototype.all = function() {
return this._annotations;
};
Object.defineProperty(ChangeAnnotations.prototype, "size", {
get: function() {
return this._size;
},
enumerable: !1,
configurable: !0
});
ChangeAnnotations.prototype.manage = function(e, t) {
var n;
if (_.is(e)) {
n = e;
} else {
n = this.nextId();
t = e;
}
if (void 0 !== this._annotations[n]) {
throw new Error("Id ".concat(n, " is already in use."));
}
if (void 0 === t) {
throw new Error("No annotation provided for id ".concat(n));
}
this._annotations[n] = t;
this._size++;
return n;
};
ChangeAnnotations.prototype.nextId = function() {
this._counter++;
return this._counter.toString();
};
return ChangeAnnotations;
}();
!function() {
function WorkspaceChange(e) {
var t = this;
this._textEditChanges = Object.create(null);
if (void 0 !== e) {
this._workspaceEdit = e;
if (e.documentChanges) {
this._changeAnnotations = new M(e.changeAnnotations);
e.changeAnnotations = this._changeAnnotations.all();
e.documentChanges.forEach((function(e) {
if (k.is(e)) {
var n = new x(e.edits, t._changeAnnotations);
t._textEditChanges[e.textDocument.uri] = n;
}
}));
} else if (e.changes) {
Object.keys(e.changes).forEach((function(n) {
var i = new x(e.changes[n]);
t._textEditChanges[n] = i;
}));
}
} else {
this._workspaceEdit = {};
}
}
Object.defineProperty(WorkspaceChange.prototype, "edit", {
get: function() {
this.initDocumentChanges();
if (void 0 !== this._changeAnnotations) {
if (0 === this._changeAnnotations.size) {
this._workspaceEdit.changeAnnotations = void 0;
} else {
this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();
}
}
return this._workspaceEdit;
},
enumerable: !1,
configurable: !0
});
WorkspaceChange.prototype.getTextEditChange = function(e) {
if (R.is(e)) {
this.initDocumentChanges();
if (void 0 === this._workspaceEdit.documentChanges) {
throw new Error("Workspace edit is not configured for document changes.");
}
var t = {
uri: e.uri,
version: e.version
};
if (!(n = this._textEditChanges[t.uri])) {
this._workspaceEdit.documentChanges.push({
textDocument: t,
edits: i = []
});
n = new x(i, this._changeAnnotations);
this._textEditChanges[t.uri] = n;
}
return n;
} else {
this.initChanges();
if (void 0 === this._workspaceEdit.changes) {
throw new Error("Workspace edit is not configured for normal text edit changes.");
}
var n;
if (!(n = this._textEditChanges[e])) {
var i;
this._workspaceEdit.changes[e] = i = [];
n = new x(i);
this._textEditChanges[e] = n;
}
return n;
}
};
WorkspaceChange.prototype.initDocumentChanges = function() {
if (void 0 === this._workspaceEdit.documentChanges && void 0 === this._workspaceEdit.changes) {
this._changeAnnotations = new M;
this._workspaceEdit.documentChanges = [];
this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();
}
};
WorkspaceChange.prototype.initChanges = function() {
if (void 0 === this._workspaceEdit.documentChanges && void 0 === this._workspaceEdit.changes) {
this._workspaceEdit.changes = Object.create(null);
}
};
WorkspaceChange.prototype.createFile = function(e, t, n) {
this.initDocumentChanges();
if (void 0 === this._workspaceEdit.documentChanges) {
throw new Error("Workspace edit is not configured for document changes.");
}
var i;
if (N.is(t) || _.is(t)) {
i = t;
} else {
n = t;
}
var r;
var a;
if (void 0 === i) {
r = L.create(e, n);
} else {
a = _.is(i) ? i : this._changeAnnotations.manage(i);
r = L.create(e, n, a);
}
this._workspaceEdit.documentChanges.push(r);
if (void 0 !== a) {
return a;
}
};
WorkspaceChange.prototype.renameFile = function(e, t, n, i) {
this.initDocumentChanges();
if (void 0 === this._workspaceEdit.documentChanges) {
throw new Error("Workspace edit is not configured for document changes.");
}
var r;
if (N.is(n) || _.is(n)) {
r = n;
} else {
i = n;
}
var a;
var o;
if (void 0 === r) {
a = C.create(e, t, i);
} else {
o = _.is(r) ? r : this._changeAnnotations.manage(r);
a = C.create(e, t, i, o);
}
this._workspaceEdit.documentChanges.push(a);
if (void 0 !== o) {
return o;
}
};
WorkspaceChange.prototype.deleteFile = function(e, t, n) {
this.initDocumentChanges();
if (void 0 === this._workspaceEdit.documentChanges) {
throw new Error("Workspace edit is not configured for document changes.");
}
var i;
if (N.is(t) || _.is(t)) {
i = t;
} else {
n = t;
}
var r;
var a;
if (void 0 === i) {
r = F.create(e, n);
} else {
a = _.is(i) ? i : this._changeAnnotations.manage(i);
r = F.create(e, n, a);
}
this._workspaceEdit.documentChanges.push(r);
if (void 0 !== a) {
return a;
}
};
}();
var P;
!function(e) {
e.create = function create(e) {
return {
uri: e
};
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && Ae.string(t.uri);
};
}(P || (P = {}));
var w;
!function(e) {
e.create = function create(e, t) {
return {
uri: e,
version: t
};
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && Ae.string(t.uri) && Ae.integer(t.version);
};
}(w || (w = {}));
var R;
!function(e) {
e.create = function create(e, t) {
return {
uri: e,
version: t
};
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && Ae.string(t.uri) && (null === t.version || Ae.integer(t.version));
};
}(R || (R = {}));
var j;
!function(e) {
e.create = function create(e, t, n, i) {
return {
uri: e,
languageId: t,
version: n,
text: i
};
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && Ae.string(t.uri) && Ae.string(t.languageId) && Ae.integer(t.version) && Ae.string(t.text);
};
}(j || (j = {}));
var U;
!function(e) {
e.PlainText = "plaintext";
e.Markdown = "markdown";
e.is = function is(t) {
return t === e.PlainText || t === e.Markdown;
};
}(U || (U = {}));
var V;
!function(e) {
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(e) && U.is(t.kind) && Ae.string(t.value);
};
}(V || (V = {}));
var G;
!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;
}(G || (G = {}));
var Y;
!function(e) {
e.PlainText = 1;
e.Snippet = 2;
}(Y || (Y = {}));
var $;
!function(e) {
e.Deprecated = 1;
}($ || ($ = {}));
var Q;
!function(e) {
e.create = function create(e, t, n) {
return {
newText: e,
insert: t,
replace: n
};
};
e.is = function is(e) {
var t = e;
return t && Ae.string(t.newText) && l.is(t.insert) && l.is(t.replace);
};
}(Q || (Q = {}));
var B;
!function(e) {
e.asIs = 1;
e.adjustIndentation = 2;
}(B || (B = {}));
var K;
!function(e) {
e.is = function is(e) {
var t = e;
return t && (Ae.string(t.detail) || void 0 === t.detail) && (Ae.string(t.description) || void 0 === t.description);
};
}(K || (K = {}));
var X;
!function(e) {
e.create = function create(e) {
return {
label: e
};
};
}(X || (X = {}));
var W;
!function(e) {
e.create = function create(e, t) {
return {
items: e ? e : [],
isIncomplete: !!t
};
};
}(W || (W = {}));
var J;
!function(e) {
e.fromPlainText = function fromPlainText(e) {
return e.replace(/[\\`*_{}[\]()#+\-.!]/g, "\\$&");
};
e.is = function is(e) {
var t = e;
return Ae.string(t) || Ae.objectLiteral(t) && Ae.string(t.language) && Ae.string(t.value);
};
}(J || (J = {}));
var z;
!function(e) {
e.is = function is(e) {
var t = e;
return !!t && Ae.objectLiteral(t) && (V.is(t.contents) || J.is(t.contents) || Ae.typedArray(t.contents, J.is)) && (void 0 === e.range || l.is(e.range));
};
}(z || (z = {}));
var q;
!function(e) {
e.create = function create(e, t) {
return t ? {
label: e,
documentation: t
} : {
label: e
};
};
}(q || (q = {}));
var H;
!function(e) {
e.create = function create(e, t) {
var n = [];
for (var i = 2; i < arguments.length; i++) {
n[i - 2] = arguments[i];
}
var r = {
label: e
};
if (Ae.defined(t)) {
r.documentation = t;
}
if (Ae.defined(n)) {
r.parameters = n;
} else {
r.parameters = [];
}
return r;
};
}(H || (H = {}));
var Z;
!function(e) {
e.Text = 1;
e.Read = 2;
e.Write = 3;
}(Z || (Z = {}));
var ee;
!function(e) {
e.create = function create(e, t) {
var n = {
range: e
};
if (Ae.number(t)) {
n.kind = t;
}
return n;
};
}(ee || (ee = {}));
var te;
!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;
}(te || (te = {}));
var ne;
!function(e) {
e.Deprecated = 1;
}(ne || (ne = {}));
var ie;
!function(e) {
e.create = function create(e, t, n, i, r) {
var a = {
name: e,
kind: t,
location: {
uri: i,
range: n
}
};
if (r) {
a.containerName = r;
}
return a;
};
}(ie || (ie = {}));
var re;
!function(e) {
e.create = function create(e, t, n, i) {
return void 0 !== i ? {
name: e,
kind: t,
location: {
uri: n,
range: i
}
} : {
name: e,
kind: t,
location: {
uri: n
}
};
};
}(re || (re = {}));
var ae;
!function(e) {
e.create = function create(e, t, n, i, r, a) {
var o = {
name: e,
detail: t,
kind: n,
range: i,
selectionRange: r
};
if (void 0 !== a) {
o.children = a;
}
return o;
};
e.is = function is(e) {
var t = e;
return t && Ae.string(t.name) && Ae.number(t.kind) && l.is(t.range) && l.is(t.selectionRange) && (void 0 === t.detail || Ae.string(t.detail)) && (void 0 === t.deprecated || Ae.boolean(t.deprecated)) && (void 0 === t.children || Array.isArray(t.children)) && (void 0 === t.tags || Array.isArray(t.tags));
};
}(ae || (ae = {}));
var oe;
!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";
}(oe || (oe = {}));
var se;
!function(e) {
e.Invoked = 1;
e.Automatic = 2;
}(se || (se = {}));
var ce;
!function(e) {
e.create = function create(e, t, n) {
var i = {
diagnostics: e
};
if (null != t) {
i.only = t;
}
if (null != n) {
i.triggerKind = n;
}
return i;
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && Ae.typedArray(t.diagnostics, b.is) && (void 0 === t.only || Ae.typedArray(t.only, Ae.string)) && (void 0 === t.triggerKind || t.triggerKind === se.Invoked || t.triggerKind === se.Automatic);
};
}(ce || (ce = {}));
var ue;
!function(e) {
e.create = function create(e, t, n) {
var i = {
title: e
};
var r = !0;
if ("string" == typeof t) {
r = !1;
i.kind = t;
} else if (S.is(t)) {
i.command = t;
} else {
i.edit = t;
}
if (r && void 0 !== n) {
i.kind = n;
}
return i;
};
e.is = function is(e) {
var t = e;
return t && Ae.string(t.title) && (void 0 === t.diagnostics || Ae.typedArray(t.diagnostics, b.is)) && (void 0 === t.kind || Ae.string(t.kind)) && (void 0 !== t.edit || void 0 !== t.command) && (void 0 === t.command || S.is(t.command)) && (void 0 === t.isPreferred || Ae.boolean(t.isPreferred)) && (void 0 === t.edit || O.is(t.edit));
};
}(ue || (ue = {}));
var le;
!function(e) {
e.create = function create(e, t) {
var n = {
range: e
};
if (Ae.defined(t)) {
n.data = t;
}
return n;
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && l.is(t.range) && (Ae.undefined(t.command) || S.is(t.command));
};
}(le || (le = {}));
var de;
!function(e) {
e.create = function create(e, t) {
return {
tabSize: e,
insertSpaces: t
};
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && Ae.uinteger(t.tabSize) && Ae.boolean(t.insertSpaces);
};
}(de || (de = {}));
var fe;
!function(e) {
e.create = function create(e, t, n) {
return {
range: e,
target: t,
data: n
};
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && l.is(t.range) && (Ae.undefined(t.target) || Ae.string(t.target));
};
}(fe || (fe = {}));
var ve;
!function(e) {
e.create = function create(e, t) {
return {
range: e,
parent: t
};
};
e.is = function is(t) {
var n = t;
return Ae.objectLiteral(n) && l.is(n.range) && (void 0 === n.parent || e.is(n.parent));
};
}(ve || (ve = {}));
var pe;
!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";
}(pe || (pe = {}));
var ge;
!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";
}(ge || (ge = {}));
var me;
!function(e) {
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && (void 0 === t.resultId || "string" == typeof t.resultId) && Array.isArray(t.data) && (0 === t.data.length || "number" == typeof t.data[0]);
};
}(me || (me = {}));
var Ee;
!function(e) {
e.create = function create(e, t) {
return {
range: e,
text: t
};
};
e.is = function is(e) {
var t = e;
return null != t && l.is(t.range) && Ae.string(t.text);
};
}(Ee || (Ee = {}));
var he;
!function(e) {
e.create = function create(e, t, n) {
return {
range: e,
variableName: t,
caseSensitiveLookup: n
};
};
e.is = function is(e) {
var t = e;
return null != t && l.is(t.range) && Ae.boolean(t.caseSensitiveLookup) && (Ae.string(t.variableName) || void 0 === t.variableName);
};
}(he || (he = {}));
var Te;
!function(e) {
e.create = function create(e, t) {
return {
range: e,
expression: t
};
};
e.is = function is(e) {
var t = e;
return null != t && l.is(t.range) && (Ae.string(t.expression) || void 0 === t.expression);
};
}(Te || (Te = {}));
var ye;
!function(e) {
e.create = function create(e, t) {
return {
frameId: e,
stoppedLocation: t
};
};
e.is = function is(e) {
return Ae.defined(e) && l.is(e.stoppedLocation);
};
}(ye || (ye = {}));
var Ie;
!function(e) {
e.Type = 1;
e.Parameter = 2;
e.is = function is(e) {
return 1 === e || 2 === e;
};
}(Ie || (Ie = {}));
var be;
!function(e) {
e.create = function create(e) {
return {
value: e
};
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && (void 0 === t.tooltip || Ae.string(t.tooltip) || V.is(t.tooltip)) && (void 0 === t.location || d.is(t.location)) && (void 0 === t.command || S.is(t.command));
};
}(be || (be = {}));
var Se;
!function(e) {
e.create = function create(e, t, n) {
var i = {
position: e,
label: t
};
if (void 0 !== n) {
i.kind = n;
}
return i;
};
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && u.is(t.position) && (Ae.string(t.label) || Ae.typedArray(t.label, be.is)) && (void 0 === t.kind || Ie.is(t.kind)) && void 0 === t.textEdits || Ae.typedArray(t.textEdits, D.is) && (void 0 === t.tooltip || Ae.string(t.tooltip) || V.is(t.tooltip)) && (void 0 === t.paddingLeft || Ae.boolean(t.paddingLeft)) && (void 0 === t.paddingRight || Ae.boolean(t.paddingRight));
};
}(Se || (Se = {}));
var De;
!function(e) {
e.is = function is(e) {
var t = e;
return Ae.objectLiteral(t) && o.is(t.uri) && Ae.string(t.name);
};
}(De || (De = {}));
var Ne;
!function(e) {
e.create = function create(e, t, n, i) {
return new _e(e, t, n, i);
};
e.is = function is(e) {
var t = e;
return Ae.defined(t) && Ae.string(t.uri) && (Ae.undefined(t.languageId) || Ae.string(t.languageId)) && Ae.uinteger(t.lineCount) && Ae.func(t.getText) && Ae.func(t.positionAt) && Ae.func(t.offsetAt) ? !0 : !1;
};
e.applyEdits = function applyEdits(e, t) {
var n = e.getText();
var i = mergeSort(t, (function(e, t) {
var n = e.range.start.line - t.range.start.line;
if (0 === n) {
return e.range.start.character - t.range.start.character;
}
return n;
}));
var r = n.length;
for (var a = i.length - 1; a >= 0; a--) {
var o = i[a];
var s = e.offsetAt(o.range.start);
var c = e.offsetAt(o.range.end);
if (c <= r) {
n = n.substring(0, s) + o.newText + n.substring(c, n.length);
} else {
throw new Error("Overlapping edit");
}
r = s;
}
return n;
};
function mergeSort(e, t) {
if (e.length <= 1) {
return e;
}
var n = e.length / 2 | 0;
var i = e.slice(0, n);
var r = e.slice(n);
mergeSort(i, t);
mergeSort(r, t);
var a = 0;
var o = 0;
var s = 0;
while (a < i.length && o < r.length) {
if (t(i[a], r[o]) <= 0) {
e[s++] = i[a++];
} else {
e[s++] = r[o++];
}
}
while (a < i.length) {
e[s++] = i[a++];
}
while (o < r.length) {
e[s++] = r[o++];
}
return e;
}
}(Ne || (Ne = {}));
var _e = function() {
function FullTextDocument(e, t, n, i) {
this._uri = e;
this._languageId = t;
this._version = n;
this._content = i;
this._lineOffsets = void 0;
}
Object.defineProperty(FullTextDocument.prototype, "uri", {
get: function() {
return this._uri;
},
enumerable: !1,
configurable: !0
});
Object.defineProperty(FullTextDocument.prototype, "languageId", {
get: function() {
return this._languageId;
},
enumerable: !1,
configurable: !0
});
Object.defineProperty(FullTextDocument.prototype, "version", {
get: function() {
return this._version;
},
enumerable: !1,
configurable: !0
});
FullTextDocument.prototype.getText = function(e) {
if (e) {
var t = this.offsetAt(e.start);
var n = this.offsetAt(e.end);
return this._content.substring(t, n);
}
return this._content;
};
FullTextDocument.prototype.update = function(e, t) {
this._content = e.text;
this._version = t;
this._lineOffsets = void 0;
};
FullTextDocument.prototype.getLineOffsets = function() {
if (void 0 === this._lineOffsets) {
var e = [];
var t = this._content;
var n = !0;
for (var i = 0; i < t.length; i++) {
if (n) {
e.push(i);
n = !1;
}
var r = t.charAt(i);
n = "\r" === r || "\n" === r;
if ("\r" === r && i + 1 < t.length && "\n" === t.charAt(i + 1)) {
i++;
}
}
if (n && t.length > 0) {
e.push(t.length);
}
this._lineOffsets = e;
}
return this._lineOffsets;
};
FullTextDocument.prototype.positionAt = function(e) {
e = Math.max(Math.min(e, this._content.length), 0);
var t = this.getLineOffsets();
var n = 0, i = t.length;
if (0 === i) {
return u.create(0, e);
}
while (n < i) {
var r = Math.floor((n + i) / 2);
if (t[r] > e) {
i = r;
} else {
n = r + 1;
}
}
var a = n - 1;
return u.create(a, e - t[a]);
};
FullTextDocument.prototype.offsetAt = function(e) {
var t = this.getLineOffsets();
if (e.line >= t.length) {
return this._content.length;
} else if (e.line < 0) {
return 0;
}
var n = t[e.line];
return Math.max(Math.min(n + e.character, e.line + 1 < t.length ? t[e.line + 1] : this._content.length), n);
};
Object.defineProperty(FullTextDocument.prototype, "lineCount", {
get: function() {
return this.getLineOffsets().length;
},
enumerable: !1,
configurable: !0
});
return FullTextDocument;
}();
var Ae;
!function(e) {
var t = Object.prototype.toString;
e.defined = function defined(e) {
return void 0 !== e;
};
e.undefined = function undefined$1(e) {
return void 0 === e;
};
e.boolean = function boolean(e) {
return !0 === e || !1 === e;
};
e.string = function string(e) {
return "[object String]" === t.call(e);
};
e.number = function number(e) {
return "[object Number]" === t.call(e);
};
e.numberRange = function numberRange(e, n, i) {
return "[object Number]" === t.call(e) && n <= e && e <= i;
};
e.integer = function integer(e) {
return "[object Number]" === t.call(e) && -2147483648 <= e && e <= 2147483647;
};
e.uinteger = function uinteger(e) {
return "[object Number]" === t.call(e) && 0 <= e && e <= 2147483647;
};
e.func = function func(e) {
return "[object Function]" === t.call(e);
};
e.objectLiteral = function objectLiteral(e) {
return null !== e && "object" == typeof e;
};
e.typedArray = function typedArray(e, t) {
return Array.isArray(e) && e.every(t);
};
}(Ae || (Ae = {}));
var ke;
!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;
}(ke || (ke = {}));
var Le = Object.assign(Object.assign({}, r.Kind), {
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"
});
var Ce = {
command: "editor.action.triggerSuggest",
title: "Suggestions"
};
var collectFragmentDefs = e => {
var t = [];
if (e) {
try {
r.visit(r.parse(e), {
FragmentDefinition(e) {
t.push(e);
}
});
} catch (e) {
return [];
}
}
return t;
};
var Fe = [ r.Kind.SCHEMA_DEFINITION, r.Kind.OPERATION_TYPE_DEFINITION, r.Kind.SCALAR_TYPE_DEFINITION, r.Kind.OBJECT_TYPE_DEFINITION, r.Kind.INTERFACE_TYPE_DEFINITION, r.Kind.UNION_TYPE_DEFINITION, r.Kind.ENUM_TYPE_DEFINITION, r.Kind.INPUT_OBJECT_TYPE_DEFINITION, r.Kind.DIRECTIVE_DEFINITION, r.Kind.SCHEMA_EXTENSION, r.Kind.SCALAR_TYPE_EXTENSION, r.Kind.OBJECT_TYPE_EXTENSION, r.Kind.INTERFACE_TYPE_EXTENSION, r.Kind.UNION_TYPE_EXTENSION, r.Kind.ENUM_TYPE_EXTENSION, r.Kind.INPUT_OBJECT_TYPE_EXTENSION ];
var hasTypeSystemDefinitions = e => {
var t = !1;
if (e) {
try {
r.visit(r.parse(e), {
enter(e) {
if ("Document" === e.kind) {
return;
}
if (Fe.includes(e.kind)) {
t = !0;
return r.BREAK;
}
return !1;
}
});
} catch (e) {
return t;
}
}
return t;
};
function getAutocompleteSuggestions(e, t, n, i, a, o) {
var s;
var c = Object.assign(Object.assign({}, o), {
schema: e
});
var u = i || getTokenAtPosition(t, n, 1);
var l = "Invalid" === u.state.kind ? u.state.prevState : u.state;
var d = (null == o ? void 0 : o.mode) || function getDocumentMode(e, t) {
if (null == t ? void 0 : t.endsWith(".graphqls")) {
return xe.TYPE_SYSTEM;
}
return hasTypeSystemDefinitions(e) ? xe.TYPE_SYSTEM : xe.EXECUTABLE;
}(t, null == o ? void 0 : o.uri);
if (!l) {
return [];
}
var {kind: f, step: v, prevState: p} = l;
var g = getTypeInfo(e, u.state);
if (f === Le.DOCUMENT) {
if (d === xe.TYPE_SYSTEM) {
return function getSuggestionsForTypeSystemDefinitions(e) {
return hintList$1(e, [ {
label: "extend",
kind: ke.Function
}, {
label: "type",
kind: ke.Function
}, {
label: "interface",
kind: ke.Function
}, {
label: "union",
kind: ke.Function
}, {
label: "input",
kind: ke.Function
}, {
label: "scalar",
kind: ke.Function
}, {
label: "schema",
kind: ke.Function
} ]);
}(u);
}
return function getSuggestionsForExecutableDefinitions(e) {
return hintList$1(e, [ {
label: "query",
kind: ke.Function
}, {
label: "mutation",
kind: ke.Function
}, {
label: "subscription",
kind: ke.Function
}, {
label: "fragment",
kind: ke.Function
}, {
label: "{",
kind: ke.Constructor
} ]);
}(u);
}
if (f === Le.EXTEND_DEF) {
return function getSuggestionsForExtensionDefinitions(e) {
return hintList$1(e, [ {
label: "type",
kind: ke.Function
}, {
label: "interface",
kind: ke.Function
}, {
label: "union",
kind: ke.Function
}, {
label: "input",
kind: ke.Function
}, {
label: "scalar",
kind: ke.Function
}, {
label: "schema",
kind: ke.Function
} ]);
}(u);
}
if ((null === (s = null == p ? void 0 : p.prevState) || void 0 === s ? void 0 : s.kind) === Le.EXTENSION_DEFINITION && l.name) {
return hintList$1(u, []);
}
if ((null == p ? void 0 : p.kind) === r.Kind.SCALAR_TYPE_EXTENSION) {
return hintList$1(u, Object.values(e.getTypeMap()).filter(r.isScalarType).map((e => ({
label: e.name,
kind: ke.Function
}))));
}
if ((null == p ? void 0 : p.kind) === r.Kind.OBJECT_TYPE_EXTENSION) {
return hintList$1(u, Object.values(e.getTypeMap()).filter((e => r.isObjectType(e) && !e.name.startsWith("__"))).map((e => ({
label: e.name,
kind: ke.Function
}))));
}
if ((null == p ? void 0 : p.kind) === r.Kind.INTERFACE_TYPE_EXTENSION) {
return hintList$1(u, Object.values(e.getTypeMap()).filter(r.isInterfaceType).map((e => ({
label: e.name,
kind: ke.Function
}))));
}
if ((null == p ? void 0 : p.kind) === r.Kind.UNION_TYPE_EXTENSION) {
return hintList$1(u, Object.values(e.getTypeMap()).filter(r.isUnionType).map((e => ({
label: e.name,
kind: ke.Function
}))));
}
if ((null == p ? void 0 : p.kind) === r.Kind.ENUM_TYPE_EXTENSION) {
return hintList$1(u, Object.values(e.getTypeMap()).filter((e => r.isEnumType(e) && !e.name.startsWith("__"))).map((e => ({
label: e.name,
kind: ke.Function
}))));
}
if ((null == p ? void 0 : p.kind) === r.Kind.INPUT_OBJECT_TYPE_EXTENSION) {
return hintList$1(u, Object.values(e.getTypeMap()).filter(r.isInputObjectType).map((e => ({
label: e.name,
kind: ke.Function
}))));
}
if (f === Le.IMPLEMENTS || f === Le.NAMED_TYPE && (null == p ? void 0 : p.kind) === Le.IMPLEMENTS) {
return function getSuggestionsForImplements(e, t, n, i, a) {
if (t.needsSeparator) {
return [];
}
var o = n.getTypeMap();
var s = objectValues(o).filter(r.isInterfaceType);
var c = s.map((({name: e}) => e));
var u = new Set;
runOnlineParser$1(i, ((e, t) => {
var i, o, s, l, d;
if (t.name) {
if (t.kind === Le.INTERFACE_DEF && !c.includes(t.name)) {
u.add(t.name);
}
if (t.kind === Le.NAMED_TYPE && (null === (i = t.prevState) || void 0 === i ? void 0 : i.kind) === Le.IMPLEMENTS) {
if (a.interfaceDef) {
if (null === (o = a.interfaceDef) || void 0 === o ? void 0 : o.getInterfaces().find((({name: e}) => e === t.name))) {
return;
}
var f = n.getType(t.name);
var v = null === (s = a.interfaceDef) || void 0 === s ? void 0 : s.toConfig();
a.interfaceDef = new r.GraphQLInterfaceType(Object.assign(Object.assign({}, v), {
interfaces: [ ...v.interfaces, f || new r.GraphQLInterfaceType({
name: t.name,
fields: {}
}) ]
}));
} else if (a.objectTypeDef) {
if (null === (l = a.objectTypeDef) || void 0 === l ? void 0 : l.getInterfaces().find((({name: e}) => e === t.name))) {
return;
}
var p = n.getType(t.name);
var g = null === (d = a.objectTypeDef) || void 0 === d ? void 0 : d.toConfig();
a.objectTypeDef = new r.GraphQLObjectType(Object.assign(Object.assign({}, g), {
interfaces: [ ...g.interfaces, p || new r.GraphQLInterfaceType({
name: t.name,
fields: {}
}) ]
}));
}
}
}
}));
var l = a.interfaceDef || a.objectTypeDef;
var d = ((null == l ? void 0 : l.getInterfaces()) || []).map((({name: e}) => e));
var f = s.concat([ ...u ].map((e => ({
name: e
})))).filter((({name: e}) => e !== (null == l ? void 0 : l.name) && !d.includes(e)));
return hintList$1(e, f.map((e => {
var t = {
label: e.name,
kind: ke.Interface,
type: e
};
if (null == e ? void 0 : e.description) {
t.documentation = e.description;
}
return t;
})));
}(u, l, e, t, g);
}
if (f === Le.SELECTION_SET || f === Le.FIELD || f === Le.ALIASED_FIELD) {
return function getSuggestionsForFieldNames(e, t, n) {
var i;
if (t.parentType) {
var {parentType: a} = t;
var o = [];
if ("getFields" in a) {
o = objectValues(a.getFields());
}
if (r.isCompositeType(a)) {
o.push(r.TypeNameMetaFieldDef);
}
if (a === (null === (i = null == n ? void 0 : n.schema) || void 0 === i ? void 0 : i.getQueryType())) {
o.push(r.SchemaMetaFieldDef, r.TypeMetaFieldDef);
}
return hintList$1(e, o.map(((e, t) => {
var i;
var r = {
sortText: String(t) + e.name,
label: e.name,
detail: String(e.type),
documentation: null !== (i = e.description) && void 0 !== i ? i : void 0,
deprecated: Boolean(e.deprecationReason),
isDeprecated: Boolean(e.deprecationReason),
deprecationReason: e.deprecationReason,
kind: ke.Field,
type: e.type
};
if (null == n ? void 0 : n.fillLeafsOnComplete) {
var a = getInsertText(e);
if (a) {
r.insertText = e.name + a;
r.insertTextFormat = Y.Snippet;
r.command = Ce;
}
}
return r;
})));
}
return [];
}(u, g, c);
}
if (f === Le.ARGUMENTS || f === Le.ARGUMENT && 0 === v) {
var {argDefs: m} = g;
if (m) {
return hintList$1(u, m.map((e => {
var t;
return {
label: e.name,
insertText: e.name + ": ",
command: Ce,
detail: String(e.type),
documentation: null !== (t = e.description) && void 0 !== t ? t : void 0,
kind: ke.Variable,
type: e.type
};
})));
}
}
if ((f === Le.OBJECT_VALUE || f === Le.OBJECT_FIELD && 0 === v) && g.objectFieldDefs) {
var E = objectValues(g.objectFieldDefs);
var h = f === Le.OBJECT_VALUE ? ke.Value : ke.Field;
return hintList$1(u, E.map((e => {
var t;
return {
label: e.name,
detail: String(e.type),
documentation: null !== (t = e.description) && void 0 !== t ? t : void 0,
kind: h,
type: e.type
};
})));
}
if (f === Le.ENUM_VALUE || f === Le.LIST_VALUE && 1 === v || f === Le.OBJECT_FIELD && 2 === v || f === Le.ARGUMENT && 2 === v) {
return function getSuggestionsForInputValues(e, t, n, i) {
var a = r.getNamedType(t.inputType);
var o = getVariableCompletions(n, i, e).filter((e => e.detail === a.name));
if (a instanceof r.GraphQLEnumType) {
return hintList$1(e, a.getValues().map((e => {
var t;
return {
label: e.name,
detail: String(a),
documentation: null !== (t = e.description) && void 0 !== t ? t : void 0,
deprecated: Boolean(e.deprecationReason),
isDeprecated: Boolean(e.deprecationReason),
deprecationReason: e.deprecationReason,
kind: ke.EnumMember,
type: a
};
})).concat(o));
}
if (a === r.GraphQLBoolean) {
return hintList$1(e, o.concat([ {
label: "true",
detail: String(r.GraphQLBoolean),
documentation: "Not false.",
kind: ke.Variable,
type: r.GraphQLBoolean
}, {
label: "false",
detail: String(r.GraphQLBoolean),
documentation: "Not true.",
kind: ke.Variable,
type: r.GraphQLBoolean
} ]));
}
return o;
}(u, g, t, e);
}
if (f === Le.VARIABLE && 1 === v) {
var T = r.getNamedType(g.inputType);
return hintList$1(u, getVariableCompletions(t, e, u).filter((e => e.detail === (null == T ? void 0 : T.name))));
}
if (f === Le.TYPE_CONDITION && 1 === v || f === Le.NAMED_TYPE && null != p && p.kind === Le.TYPE_CONDITION) {
return function getSuggestionsForFragmentTypeConditions(e, t, n, i) {
var a;
if (t.parentType) {
if (r.isAbstractType(t.parentType)) {
var o = r.assertAbstractType(t.parentType);
var s = n.getPossibleTypes(o);
var c = Object.create(null);
for (var u of s) {
for (var l of u.getInterfaces()) {
c[l.name] = l;
}
}
a = s.concat(objectValues(c));
} else {
a = [ t.parentType ];
}
} else {
a = objectValues(n.getTypeMap()).filter((e => r.isCompositeType(e) && !e.name.startsWith("__")));
}
return hintList$1(e, a.map((e => {
var t = r.getNamedType(e);
return {
label: String(e),
documentation: (null == t ? void 0 : t.description) || "",
kind: ke.Field
};
})));
}(u, g, e);
}
if (f === Le.FRAGMENT_SPREAD && 1 === v) {
return function getSuggestionsForFragmentSpread$1(e, t, n, i, a) {
if (!i) {
return [];
}
var o = n.getTypeMap();
var s = getDefinitionState(e.state);
var c = function getFragmentDefinitions(e) {
var t = [];
runOnlineParser$1(e, ((e, n) => {
if (n.kind === Le.FRAGMENT_DEFINITION && n.name && n.type) {
t.push({
kind: Le.FRAGMENT_DEFINITION,
name: {
kind: r.Kind.NAME,
value: n.name
},
selectionSet: {
kind: Le.SELECTION_SET,
selections: []
},
typeCondition: {
kind: Le.NAMED_TYPE,
name: {
kind: r.Kind.NAME,
value: n.type
}
}
});
}
}));
return t;
}(i);
if (a && a.length > 0) {
c.push(...a);
}
var u = c.filter((e => o[e.typeCondition.name.value] && !(s && s.kind === Le.FRAGMENT_DEFINITION && s.name === e.name.value) && r.isCompositeType(t.parentType) && r.isCompositeType(o[e.typeCondition.name.value]) && r.doTypesOverlap(n, t.parentType, o[e.typeCondition.name.value])));
return hintList$1(e, u.map((e => ({
label: e.name.value,
detail: String(o[e.typeCondition.name.value]),
documentation: `fragment ${e.name.value} on ${e.typeCondition.name.value}`,
kind: ke.Field,
type: o[e.typeCondition.name.value]
}))));
}(u, g, e, t, Array.isArray(a) ? a : collectFragmentDefs(a));
}
var y = unwrapType(l);
if (d === xe.TYPE_SYSTEM && !y.needsAdvance && f === Le.NAMED_TYPE || f === Le.LIST_TYPE) {
if (y.kind === Le.FIELD_DEF) {
return hintList$1(u, Object.values(e.getTypeMap()).filter((e => r.isOutputType(e) && !e.name.startsWith("__"))).map((e => ({
label: e.name,
kind: ke.Function
}))));
}
if (y.kind === Le.INPUT_VALUE_DEF) {
return hintList$1(u, Object.values(e.getTypeMap()).filter((e => r.isInputType(e) && !e.name.startsWith("__"))).map((e => ({
label: e.name,
kind: ke.Function
}))));
}
}
if (f === Le.VARIABLE_DEFINITION && 2 === v || f === Le.LIST_TYPE && 1 === v || f === Le.NAMED_TYPE && p && (p.kind === Le.VARIABLE_DEFINITION || p.kind === Le.LIST_TYPE || p.kind === Le.NON_NULL_TYPE)) {
return function getSuggestionsForVariableDefinition(e, t, n) {
var i = t.getTypeMap();
var a = objectValues(i).filter(r.isInputType);
return hintList$1(e, a.map((e => ({
label: e.name,
documentation: e.description,
kind: ke.Variable
}))));
}(u, e);
}
if (f === Le.DIRECTIVE) {
return function getSuggestionsForDirective(e, t, n, i) {
var a;
if (null === (a = t.prevState) || void 0 === a ? void 0 : a.kind) {
var o = n.getDirectives().filter((e => function canUseDirective(e, t) {
if (!(null == e ? void 0 : e.kind)) {
return !1;
}
var {kind: n, prevState: i} = e;
var {locations: a} = t;
switch (n) {
case Le.QUERY:
return a.includes(r.DirectiveLocation.QUERY);
case Le.MUTATION:
return a.includes(r.DirectiveLocation.MUTATION);
case Le.SUBSCRIPTION:
return a.includes(r.DirectiveLocation.SUBSCRIPTION);
case Le.FIELD:
case Le.ALIASED_FIELD:
return a.includes(r.DirectiveLocation.FIELD);
case Le.FRAGMENT_DEFINITION:
return a.includes(r.DirectiveLocation.FRAGMENT_DEFINITION);
case Le.FRAGMENT_SPREAD:
return a.includes(r.DirectiveLocation.FRAGMENT_SPREAD);
case Le.INLINE_FRAGMENT:
return a.includes(r.DirectiveLocation.INLINE_FRAGMENT);
case Le.SCHEMA_DEF:
return a.includes(r.DirectiveLocation.SCHEMA);
case Le.SCALAR_DEF:
return a.includes(r.DirectiveLocation.SCALAR);
case Le.OBJECT_TYPE_DEF:
return a.includes(r.DirectiveLocation.OBJECT);
case Le.FIELD_DEF:
return a.includes(r.DirectiveLocation.FIELD_DEFINITION);
case Le.INTERFACE_DEF:
return a.includes(r.DirectiveLocation.INTERFACE);
case Le.UNION_DEF:
return a.includes(r.DirectiveLocation.UNION);
case Le.ENUM_DEF:
return a.includes(r.DirectiveLocation.ENUM);
case Le.ENUM_VALUE:
return a.includes(r.DirectiveLocation.ENUM_VALUE);
case Le.INPUT_DEF:
return a.includes(r.DirectiveLocation.INPUT_OBJECT);
case Le.INPUT_VALUE_DEF:
switch (null == i ? void 0 : i.kind) {
case Le.ARGUMENTS_DEF:
return a.includes(r.DirectiveLocation.ARGUMENT_DEFINITION);
case Le.INPUT_DEF:
return a.includes(r.DirectiveLocation.INPUT_FIELD_DEFINITION);
}
}
return !1;
}(t.prevState, e)));
return hintList$1(e, o.map((e => ({
label: e.name,
documentation: e.description || "",
kind: ke.Function
}))));
}
return [];
}(u, l, e);
}
return [];
}
var Oe = " {\n $1\n}";
var getInsertText = e => {
var {type: t} = e;
if (r.isCompositeType(t)) {
return Oe;
}
if (r.isListType(t) && r.isCompositeType(t.ofType)) {
return Oe;
}
if (r.isNonNullType(t)) {
if (r.isCompositeType(t.ofType)) {
return Oe;
}
if (r.isListType(t.ofType) && r.isCompositeType(t.ofType.ofType)) {
return Oe;
}
}
return null;
};
var getParentDefinition$1 = (e, t) => {
var n, i, r, a, o, s, c, u, l, d;
if ((null === (n = e.prevState) || void 0 === n ? void 0 : n.kind) === t) {
return e.prevState;
}
if ((null === (r = null === (i = e.prevState) || void 0 === i ? void 0 : i.prevState) || void 0 === r ? void 0 : r.kind) === t) {
return e.prevState.prevState;
}
if ((null === (s = null === (o = null === (a = e.prevState) || void 0 === a ? void 0 : a.prevState) || void 0 === o ? void 0 : o.prevState) || void 0 === s ? void 0 : s.kind) === t) {
return e.prevState.prevState.prevState;
}
if ((null === (d = null === (l = null === (u = null === (c = e.prevState) || void 0 === c ? void 0 : c.prevState) || void 0 === u ? void 0 : u.prevState) || void 0 === l ? void 0 : l.prevState) || void 0 === d ? void 0 : d.kind) === t) {
return e.prevState.prevState.prevState.prevState;
}
};
function getVariableCompletions(e, t, n) {
var i = null;
var r;
var a = Object.create({});
runOnlineParser$1(e, ((e, o) => {
if ((null == o ? void 0 : o.kind) === Le.VARIABLE && o.name) {
i = o.name;
}
if ((null == o ? void 0 : o.kind) === Le.NAMED_TYPE && i) {
var s = getParentDefinition$1(o, Le.TYPE);
if (null == s ? void 0 : s.type) {
r = t.getType(null == s ? void 0 : s.type);
}
}
if (i && r && !a[i]) {
a[i] = {
detail: r.toString(),
insertText: "$" === n.string ? i : "$" + i,
label: i,
type: r,
kind: ke.Variable
};
i = null;
r = null;
}
}));
return objectValues(a);
}
function getTokenAtPosition(e, t, n = 0) {
var i = null;
var r = null;
var a = null;
var o = runOnlineParser$1(e, ((e, o, s, c) => {
if (c !== t.line || e.getCurrentPosition() + n < t.character + 1) {
return;
}
i = s;
r = Object.assign({}, o);
a = e.current();
return "BREAK";
}));
return {
start: o.start,
end: o.end,
string: a || o.string,
state: r || o.state,
style: i || o.style
};
}
function runOnlineParser$1(t, n) {
var i = t.split("\n");
var r = e.onlineParser();
var a = r.startState();
var o = "";
var s = new e.CharacterStream("");
for (var c = 0; c < i.length; c++) {
s = new e.CharacterStream(i[c]);
while (!s.eol()) {
if ("BREAK" === n(s, a, o = r.token(s, a), c)) {
break;
}
}
n(s, a, o, c);
if (!a.kind) {
a = r.startState();
}
}
return {
start: s.getStartOfToken(),
end: s.getCurrentPosition(),
string: s.current(),
state: a,
style: o
};
}
function getTypeInfo(e, t) {
var n;
var i;
var a;
var o;
var s;
var c;
var u;
var l;
var d;
var f;
var v;
forEachState(t, (t => {
var p;
switch (t.kind) {
case Le.QUERY:
case "ShortQuery":
f = e.getQueryType();
break;
case Le.MUTATION:
f = e.getMutationType();
break;
case Le.SUBSCRIPTION:
f = e.getSubscriptionType();
break;
case Le.INLINE_FRAGMENT:
case Le.FRAGMENT_DEFINITION:
if (t.type) {
f = e.getType(t.type);
}
break;
case Le.FIELD:
case Le.ALIASED_FIELD:
if (!f || !t.name) {
s = null;
} else {
s = d ? getFieldDef(e, d, t.name) : null;
f = s ? s.type : null;
}
break;
case Le.SELECTION_SET:
d = r.getNamedType(f);
break;
case Le.DIRECTIVE:
a = t.name ? e.getDirective(t.name) : null;
break;
case Le.INTERFACE_DEF:
if (t.name) {
u = null;
v = new r.GraphQLInterfaceType({
name: t.name,
interfaces: [],
fields: {}
});
}
break;
case Le.OBJECT_TYPE_DEF:
if (t.name) {
v = null;
u = new r.GraphQLObjectType({
name: t.name,
interfaces: [],
fields: {}
});
}
break;
case Le.ARGUMENTS:
if (t.prevState) {
switch (t.prevState.kind) {
case Le.FIELD:
i = s && s.args;
break;
case Le.DIRECTIVE:
i = a && a.args;
break;
case Le.ALIASED_FIELD:
var g = null === (p = t.prevState) || void 0 === p ? void 0 : p.name;
if (!g) {
i = null;
break;
}
var m = d ? getFieldDef(e, d, g) : null;
if (!m) {
i = null;
break;
}
i = m.args;
break;
default:
i = null;
}
} else {
i = null;
}
break;
case Le.ARGUMENT:
if (i) {
for (var E = 0; E < i.length; E++) {
if (i[E].name === t.name) {
n = i[E];
break;
}
}
}
c = null == n ? void 0 : n.type;
break;
case Le.ENUM_VALUE:
var h = r.getNamedType(c);
o = h instanceof r.GraphQLEnumType ? h.getValues().find((e => e.value === t.name)) : null;
break;
case Le.LIST_VALUE:
var T = r.getNullableType(c);
c = T instanceof r.GraphQLList ? T.ofType : null;
break;
case Le.OBJECT_VALUE:
var y = r.getNamedType(c);
l = y instanceof r.GraphQLInputObjectType ? y.getFields() : null;
break;
case Le.OBJECT_FIELD:
var I = t.name && l ? l[t.name] : null;
c = null == I ? void 0 : I.type;
break;
case Le.NAMED_TYPE:
if (t.name) {
f = e.getType(t.name);
}
}
}));
return {
argDef: n,
argDefs: i,
directiveDef: a,
enumValue: o,
fieldDef: s,
inputType: c,
objectFieldDefs: l,
parentType: d,
type: f,
interfaceDef: v,
objectTypeDef: u
};
}
var xe;
!function(e) {
e.TYPE_SYSTEM = "TYPE_SYSTEM";
e.EXECUTABLE = "EXECUTABLE";
}(xe || (xe = {}));
function unwrapType(e) {
if (e.prevState && e.kind && [ Le.NAMED_TYPE, Le.LIST_TYPE, Le.TYPE, Le.NON_NULL_TYPE ].includes(e.kind)) {
return unwrapType(e.prevState);
}
return e;
}
function getHoverInformation(e, t, n, i, r) {
var a = i || getTokenAtPosition(t, n);
if (!e || !a || !a.state) {
return "";
}
var {kind: o, step: s} = a.state;
var c = getTypeInfo(e, a.state);
var u = Object.assign(Object.assign({}, r), {
schema: e
});
if ("Field" === o && 0 === s && c.fieldDef || "AliasedField" === o && 2 === s && c.fieldDef) {
var l = [];
renderMdCodeStart(l, u);
!function renderField(e, t, n) {
renderQualifiedField(e, t, n);
renderTypeAnnotation(e, t, n, t.type);
}(l, c, u);
renderMdCodeEnd(l, u);
renderDescription(l, u, c.fieldDef);
return l.join("").trim();
}
if ("Directive" === o && 1 === s && c.directiveDef) {
var d = [];
renderMdCodeStart(d, u);
renderDirective(d, c);
renderMdCodeEnd(d, u);
renderDescription(d, u, c.directiveDef);
return d.join("").trim();
}
if ("Argument" === o && 0 === s && c.argDef) {
var f = [];
renderMdCodeStart(f, u);
!function renderArg(e, t, n) {
if (t.directiveDef) {
renderDirective(e, t);
} else if (t.fieldDef) {
renderQualifiedField(e, t, n);
}
if (!t.argDef) {
return;
}
var {name: i} = t.argDef;
text(e, "(");
text(e, i);
renderTypeAnnotation(e, t, n, t.inputType);
text(e, ")");
}(f, c, u);
renderMdCodeEnd(f, u);
renderDescription(f, u, c.argDef);
return f.join("").trim();
}
if ("EnumValue" === o && c.enumValue && "description" in c.enumValue) {
var v = [];
renderMdCodeStart(v, u);
!function renderEnumValue(e, t, n) {
if (!t.enumValue) {
return;
}
var {name: i} = t.enumValue;
renderType(e, t, n, t.inputType);
text(e, ".");
text(e, i);
}(v, c, u);
renderMdCodeEnd(v, u);
renderDescription(v, u, c.enumValue);
return v.join("").trim();
}
if ("NamedType" === o && c.type && "description" in c.type) {
var p = [];
renderMdCodeStart(p, u);
renderType(p, c, u, c.type);
renderMdCodeEnd(p, u);
renderDescription(p, u, c.type);
return p.join("").trim();
}
return "";
}
function renderMdCodeStart(e, t) {
if (t.useMarkdown) {
text(e, "```graphql\n");
}
}
function renderMdCodeEnd(e, t) {
if (t.useMarkdown) {
text(e, "\n```");
}
}
function renderQualifiedField(e, t, n) {
if (!t.fieldDef) {
return;
}
var i = t.fieldDef.name;
if ("__" !== i.slice(0, 2)) {
renderType(e, t, n, t.parentType);
text(e, ".");
}
text(e, i);
}
function renderDirective(e, t, n) {
if (!t.directiveDef) {
return;
}
text(e, "@" + t.directiveDef.name);
}
function renderTypeAnnotation(e, t, n, i) {
text(e, ": ");
renderType(e, t, n, i);
}
function renderType(e, t, n, i) {
if (!i) {
return;
}
if (i instanceof r.GraphQLNonNull) {
renderType(e, t, n, i.ofType);
text(e, "!");
} else if (i instanceof r.GraphQLList) {
text(e, "[");
renderType(e, t, n, i.ofType);
text(e, "]");
} else {
text(e, i.name);
}
}
function renderDescription(e, t, n) {
if (!n) {
return;
}
var i = "string" == typeof n.description ? n.description : null;
if (i) {
text(e, "\n\n");
text(e, i);
}
!function renderDeprecation(e, t, n) {
if (!n) {
return;
}
var i = n.deprecationReason || null;
if (!i) {
return;
}
text(e, "\n\n");
text(e, "Deprecated: ");
text(e, i);
}(e, 0, n);
}
function text(e, t) {
e.push(t);
}
class Cursor {
constructor(e, t) {
this.line = e;
this.character = t;
}
setLine(e) {
this.line = e;
}
setCharacter(e) {
this.character = e;
}
lessThanOrEqualTo(e) {
return this.line < e.line || this.line === e.line && this.character <= e.character;
}
}
var getToken = (t, n) => {
if (!e.ts.isTemplateLiteral(t) && !e.ts.isStringLiteralLike(t)) {
return;
}
var i = t.getText().slice(1, -1).split("\n");
var r = e.onlineParser();
var a = r.startState();
var o = t.getStart() + 1;
var s = void 0;
var c = void 0;
for (var u = 0; u < i.length; u++) {
if (s) {
continue;
}
var l = o - 1;
var d = new e.CharacterStream(i[u] + "\n");
while (!d.eol()) {
var f = r.token(d, a);
var v = d.current();
if (l + d.getStartOfToken() + 1 <= n && l + d.getCurrentPosition() >= n) {
s = c ? c : {
line: u,
start: d.getStartOfToken() + 1,
end: d.getCurrentPosition(),
string: v,
state: a,
tokenKind: f
};
break;
} else if ("on" === v) {
c = {
line: u,
start: d.getStartOfToken() + 1,
end: d.getCurrentPosition(),
string: v,
state: a,
tokenKind: f
};
} else if ("." === v || ".." === v) {
c = {
line: u,
start: d.getStartOfToken() + 1,
end: d.getCurrentPosition(),
string: v,
state: a,
tokenKind: f
};
} else {
c = void 0;
}
}
o += i[u].length + 1;
}
return s;
};
function hintList(e, t) {
return function filterAndSortList(e, t) {
if (!t) {
return filterNonEmpty(e, (e => !e.isDeprecated));
}
var n = e.map((e => ({
proximity: getProximity(normalizeText(e.label), t),
entry: e
})));
return filterNonEmpty(filterNonEmpty(n, (e => e.proximity <= 2)), (e => !e.entry.isDeprecated)).sort(((e, t) => (e.entry.isDeprecated ? 1 : 0) - (t.entry.isDeprecated ? 1 : 0) || e.proximity - t.proximity || e.entry.label.length - t.entry.label.length)).map((e => e.entry));
}(t, normalizeText(e.string));
}
function filterNonEmpty(e, t) {
var n = e.filter(t);
return 0 === n.length ? e : n;
}
function normalizeText(e) {
return e.toLowerCase().replace(/\W/g, "");
}
function getProximity(e, t) {
var n = function lexicalDistance(e, t) {
var n;
var i;
var r = [];
var a = e.length;
var o = t.length;
for (n = 0; n <= a; n++) {
r[n] = [ n ];
}
for (i = 1; i <= o; i++) {
r[0][i] = i;
}
for (n = 1; n <= a; n++) {
for (i = 1; i <= o; i++) {
var s = e[n - 1] === t[i - 1] ? 0 : 1;
r[n][i] = Math.min(r[n - 1][i] + 1, r[n][i - 1] + 1, r[n - 1][i - 1] + s);
if (n > 1 && i > 1 && e[n - 1] === t[i - 2] && e[n - 2] === t[i - 1]) {
r[n][i] = Math.min(r[n][i], r[n - 2][i - 2] + s);
}
}
}
return r[a][o];
}(t, e);
if (e.length > t.length) {
n -= e.length - t.length - 1;
n += 0 === e.indexOf(t) ? 0 : .5;
}
return n;
}
function getGraphQLCompletions(t, n, i, a) {
var o = a.config.templateIsCallExpression ?? !0;
var s = a.languageService.getProgram()?.getTypeChecker();
var c = e.getSource(a, t);
if (!c) {
return;
}
var u = e.findNode(c, n);
if (!u) {
return;
}
u = o ? e.bubbleUpCallExpression(u) : e.bubbleUpTemplate(u);
var l, d, f;
if (o && e.isGraphQLCall(u, s)) {
var v = e.getSchemaName(u, s);
f = v && i.multi[v] ? i.multi[v]?.schema : i.current?.schema;
var p = getToken(u.arguments[0], n);
if (!f || !p || "." === p.string || ".." === p.string) {
return;
}
l = `${u.arguments[0].getText().slice(1, -1)}\n${e.getAllFragments(t, u, a).map((t => e.print(t))).join("\n")}`;
d = new Cursor(p.line, p.start - 1);
} else if (!o && e.isGraphQLTag(u)) {
var g = getToken(u.template, n);
if (!g || !i.current || "." === g.string || ".." === g.string) {
return;
}
var {combinedText: m, resolvedSpans: E} = e.resolveTemplate(u, t, a);
var h = E.filter((e => e.original.start < n && e.original.start + e.original.length < n)).reduce(((e, t) => e + (t.lines - 1)), 0);
g.line = g.line + h;
l = m;
d = new Cursor(g.line, g.start - 1);
f = i.current.schema;
} else {
return;
}
var [T, y] = function getSuggestionsInternal(e, t, n) {
var i = getTokenAtPosition(t, n);
var a = [];
try {
a = r.parse(t, {
noLocation: !0
}).definitions.filter((e => e.kind === r.Kind.FRAGMENT_DEFINITION));
} catch (e) {}
var o = "on" === i.string && "TypeCondition" === i.state.kind;
var s = getAutocompleteSuggestions(e, t, n, o ? {
...i,
state: {
...i.state,
step: 1
},
type: null
} : void 0);
var c = !o ? function getSuggestionsForFragmentSpread(e, t, n, i, a) {
if (!i) {
return [];
}
var o = n.getTypeMap();
var s = getDefinitionState(e.state);
return hintList(e, a.filter((e => o[e.typeCondition.name.value] && !(s && s.kind === Le.FRAGMENT_DEFINITION && s.name === e.name.value) && r.isCompositeType(t.parentType) && r.isCompositeType(o[e.typeCondition.name.value]) && r.doTypesOverlap(n, t.parentType, o[e.typeCondition.name.value]))).map((e => ({
label: e.name.value,
detail: String(o[e.typeCondition.name.value]),
documentation: `fragment ${e.name.value} on ${e.typeCondition.name.value}`,
kind: ke.Field,
type: o[e.typeCondition.name.value]
}))));
}(i, getTypeInfo(e, i.state), e, t, a) : [];
var u = "Invalid" === i.state.kind ? i.state.prevState : i.state;
var l = getParentDefinition(i.state, Le.FIELD)?.name;
if (u && l) {
var {kind: d} = u;
if (d === Le.ARGUMENTS || d === Le.ARGUMENT) {
var f = new Set;
runOnlineParser(t, ((e, t) => {
if (t.kind === Le.ARGUMENT) {
var n = getParentDefinition(t, Le.FIELD);
if (l && t.name && n?.name === l) {
f.add(t.name);
}
}
}));
s = s.filter((e => !f.has(e.label)));
}
if (d === Le.SELECTION_SET || d === Le.FIELD || d === Le.ALIASED_FIELD) {
var v = new Set;
var p = getUsedFragments(t, l);
runOnlineParser(t, ((e, t) => {
if (t.kind === Le.FIELD || t.kind === Le.ALIASED_FIELD) {
var n = getParentDefinition(t, Le.FIELD);
if (n && n.name === l && t.name) {
v.add(t.name);
}
}
}));
s = s.filter((e => !v.has(e.label)));
c = c.filter((e => !p.has(e.label)));
}
if (d === Le.FRAGMENT_SPREAD) {
var g = getUsedFragments(t, l);
s = s.filter((e => !g.has(e.label)));
c = c.filter((e => !g.has(e.label)));
}
}
return [ s, c ];
}(f, l, d);
return {
isGlobalCompletion: !1,
isMemberCompletion: !1,
isNewIdentifierLocation: !1,
entries: [ ...T.map((t => ({
...t,
kind: e.ts.ScriptElementKind.variableElement,
name: t.label,
kindModifiers: "declare",
sortText: t.sortText || "0",
labelDetails: {
detail: t.type ? " " + t.type?.toString() : void 0,
description: t.documentation
}
}))), ...y.map((t => ({
...t,
kind: e.ts.ScriptElementKind.variableElement,
name: t.label,
insertText: "..." + t.label,
kindModifiers: "declare",
sortText: "0",
labelDetails: {
description: t.documentation
}
}))) ]
};
}
function getUsedFragments(e, t) {
var n = new Set;
runOnlineParser(e, ((e, i) => {
if (i.kind === Le.FRAGMENT_SPREAD && i.name) {
var r = getParentDefinition(i, Le.FIELD);
if (t && r?.name === t) {
n.add(i.name);
}
}
}));
return n;
}
function getParentDefinition(e, t) {
if (e.prevState?.kind === t) {
return e.prevState;
}
if (e.prevState?.prevState?.kind === t) {
return e.prevState.prevState;
}
if (e.prevState?.prevState?.prevState?.kind === t) {
return e.prevState.prevState.prevState;
}
if (e.prevState?.prevState?.prevState?.prevState?.kind === t) {
return e.prevState.prevState.prevState.prevState;
}
}
function runOnlineParser(t, n) {
var i = t.split("\n");
var r = e.onlineParser();
var a = r.startState();
var o = "";
var s = new e.CharacterStream("");
for (var c = 0; c < i.length; c++) {
s = new e.CharacterStream(i[c]);
while (!s.eol()) {
if ("BREAK" === n(s, a, o = r.token(s, a), c)) {
break;
}
}
n(s, a, o, c);
if (!a.kind) {
a = r.startState();
}
}
return {
start: s.getStartOfToken(),
end: s.getCurrentPosition(),
string: s.current(),
state: a,
style: o
};
}
function create(t) {
var logger = e => t.project.projectService.logger.info(`[GraphQLSP] ${e}`);
var r = t.config;
logger("config: " + JSON.stringify(r));
if (!r.schema && !r.schemas) {
logger('Missing "schema" option in configuration.');
throw new Error("Please provide a GraphQL Schema!");
}
logger("Setting up the GraphQL Plugin");
if (r.template) {
e.templates.add(r.template);
}
var a = function createBasicDecorator(e) {
var t = Object.create(null);
var _loop = function() {
var i = e.languageService[n];
t[n] = (...t) => i.apply(e.languageService, t);
};
for (var n of Object.keys(e.languageService)) {
_loop();
}
return t;
}(t);
var o = ((e, t, r) => {
var a = i.loadRef(t);
(async () => {
var o = await i.resolveTypeScriptRootDir(e.project.getProjectName()) || n.dirname(e.project.getProjectName());
var s = e.config.tadaDisablePreprocessing ?? !1;
var c = e.config.tadaOutputLocation && n.resolve(o, e.config.tadaOutputLocation);
r("Got root-directory to resolve schema from: " + o);
r('Resolving schema from "schema" config: ' + JSON.stringify(t));
try {
r("Loading schema...");
await a.load({
rootPath: o
});
} catch (e) {
r(`Failed to load schema: ${e}`);
}
if (a.current) {
if (a.current && void 0 !== a.current.tadaOutputLocation) {
saveTadaIntrospection(a.current.introspection, c, s, r);
}
} else if (a.multi) {
Object.values(a.multi).forEach((e => {
if (!e) {
return;
}
if (e.tadaOutputLocation) {
saveTadaIntrospection(e.introspection, n.resolve(o, e.tadaOutputLocation), s, r);
}
}));
}
a.autoupdate({
rootPath: o
}, ((e, t) => {
if (!t) {
return;
}
if (t.tadaOutputLocation) {
var i = e.multi ? e.multi[t.name] : e.current;
if (!i) {
return;
}
saveTadaIntrospection(i.introspection, n.resolve(o, t.tadaOutputLocation), s, r);
}
}));
})();
return a;
})(t, r, logger);
a.getSemanticDiagnostics = n => {
var i = t.languageService.getSemanticDiagnostics(n);
if (i.some((t => e.ALL_DIAGNOSTICS.includes(t.code)))) {
return i;
}
var r = e.getGraphQLDiagnostics(n, o, t);
return r ? [ ...r, ...i ] : i;
};
a.getCompletionsAtPosition = (e, n, i) => {
var r = getGraphQLCompletions(e, n, o, t);
if (r && r.entries.length) {
return r;
} else {
return t.languageService.getCompletionsAtPosition(e, n, i) || {
isGlobalCompletion: !1,
isMemberCompletion: !1,
isNewIdentifierLocation: !1,
entries: []
};
}
};
a.getEditsForRefactor = (n, i, r, a, o, s, c) => {
var u = t.languageService.getEditsForRefactor(n, i, r, a, o, s, c);
var l = e.getPersistedCodeFixAtPosition(n, "number" == typeof r ? r : r.pos, t);
if (!l) {
return u;
}
return {
edits: [ {
fileName: n,
textChanges: [ {
newText: l.replacement,
span: l.span
} ]
} ]
};
};
a.getApplicableRefactors = (n, i, r, a, o, s) => {
var c = t.languageService.getApplicableRefactors(n, i, r, a, o, s);
if (e.getPersistedCodeFixAtPosition(n, "number" == typeof i ? i : i.pos, t)) {
return [ {
name: "GraphQL",
description: "Operations specific to gql.tada!",
actions: [ {
name: "Insert document-id",
description: "Generate a document-id for your persisted-operation, by default a SHA256 hash."
} ],
inlineable: !0
}, ...c ];
} else {
return c;
}
};
a.getQuickInfoAtPosition = (n, i) => {
var r = function getGraphQLQuickInfo(t, n, i, r) {
var a = r.config.templateIsCallExpression ?? !0;
var o = r.languageService.getProgram()?.getTypeChecker();
var s = e.getSource(r, t);
if (!s) {
return;
}
var c = e.findNode(s, n);
if (!c) {
return;
}
c = a ? e.bubbleUpCallExpression(c) : e.bubbleUpTemplate(c);
var u, l, d;
if (a && e.isGraphQLCall(c, o)) {
var f = r.languageService.getProgram()?.getTypeChecker();
var v = e.getSchemaName(c, f);
d = v && i.multi[v] ? i.multi[v]?.schema : i.current?.schema;
var p = getToken(c.arguments[0], n);
if (!d || !p) {
return;
}
l = c.arguments[0].getText();
u = new Cursor(p.line, p.start - 1);
} else if (!a && e.isGraphQLTag(c)) {
var g = getToken(c.template, n);
if (!g || !i.current) {
return;
}
var {combinedText: m, resolvedSpans: E} = e.resolveTemplate(c, t, r);
var h = E.filter((e => e.original.start < n && e.original.start + e.original.length < n)).reduce(((e, t) => e + (t.lines - 1)), 0);
g.line = g.line + h;
l = m;
u = new Cursor(g.line, g.start - 1);
d = i.current.schema;
} else {
return;
}
var T = getHoverInformation(d, l, u);
return {
kind: e.ts.ScriptElementKind.label,
textSpan: {
start: n,
length: 1
},
kindModifiers: "text",
documentation: Array.isArray(T) ? T.map((e => ({
kind: "text",
text: e
}))) : [ {
kind: "text",
text: T
} ]
};
}(n, i, o, t);
if (r) {
return r;
}
return t.languageService.getQuickInfoAtPosition(n, i);
};
logger("proxy: " + JSON.stringify(a));
return a;
}
module.exports = t => {
e.init(t);
return {
create
};
};
//# sourceMappingURL=graphqlsp.js.map
Выполнить команду
Для локальной разработки. Не используйте в интернете!