@gql.tada/cli-utils 1.2.0 → 1.2.1-canary-e42804ea2a1e64b58239cd45b152b047b9afcd17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/chunks/index-chunk.js +1050 -558
- package/dist/chunks/index-chunk.js.map +1 -1
- package/dist/chunks/index-chunk.mjs +919 -425
- package/dist/chunks/index-chunk.mjs.map +1 -1
- package/dist/chunks/svelte-chunk.js +53 -51
- package/dist/chunks/svelte-chunk.js.map +1 -1
- package/dist/chunks/svelte-chunk.mjs +58 -56
- package/dist/chunks/svelte-chunk.mjs.map +1 -1
- package/dist/chunks/thread-chunk.js +97 -130
- package/dist/chunks/thread-chunk.js.map +1 -1
- package/dist/chunks/thread-chunk.mjs +94 -106
- package/dist/chunks/thread-chunk.mjs.map +1 -1
- package/dist/chunks/thread-chunk2.js +46 -82
- package/dist/chunks/thread-chunk2.js.map +1 -1
- package/dist/chunks/thread-chunk2.mjs +44 -59
- package/dist/chunks/thread-chunk2.mjs.map +1 -1
- package/dist/chunks/thread-chunk3.js +45 -50
- package/dist/chunks/thread-chunk3.js.map +1 -1
- package/dist/chunks/thread-chunk3.mjs +45 -50
- package/dist/chunks/thread-chunk3.mjs.map +1 -1
- package/dist/chunks/vue-chunk.js +18 -15
- package/dist/chunks/vue-chunk.js.map +1 -1
- package/dist/chunks/vue-chunk.mjs +18 -15
- package/dist/chunks/vue-chunk.mjs.map +1 -1
- package/dist/gql-tada-cli.js +58 -49
- package/dist/gql-tada-cli.js.map +1 -1
- package/dist/gql-tada-cli.mjs +656 -647
- package/dist/gql-tada-cli.mjs.map +1 -1
- package/package.json +2 -3
- package/dist/chunks/project-chunk.js +0 -63
- package/dist/chunks/project-chunk.js.map +0 -1
- package/dist/chunks/project-chunk.mjs +0 -65
- package/dist/chunks/project-chunk.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svelte-chunk.mjs","sources":["../../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.4.15/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js","../../../../node_modules/.pnpm/vscode-languageserver-textdocument@1.0.11/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","../../src/ts/virtualCode/svelte.ts"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sourcemapCodec = {}));\n})(this, (function (exports) { 'use strict';\n\n const comma = ','.charCodeAt(0);\n const semicolon = ';'.charCodeAt(0);\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n const intToChar = new Uint8Array(64); // 64 possible chars.\n const charToInt = new Uint8Array(128); // z is 122 in ASCII\n for (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n }\n // Provide a fallback for older environments.\n const td = typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf) {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n function decode(mappings) {\n const state = new Int32Array(5);\n const decoded = [];\n let index = 0;\n do {\n const semi = indexOf(mappings, index);\n const line = [];\n let sorted = true;\n let lastCol = 0;\n state[0] = 0;\n for (let i = index; i < semi; i++) {\n let seg;\n i = decodeInteger(mappings, i, state, 0); // genColumn\n const col = state[0];\n if (col < lastCol)\n sorted = false;\n lastCol = col;\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 1); // sourcesIndex\n i = decodeInteger(mappings, i, state, 2); // sourceLine\n i = decodeInteger(mappings, i, state, 3); // sourceColumn\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 4); // namesIndex\n seg = [col, state[1], state[2], state[3], state[4]];\n }\n else {\n seg = [col, state[1], state[2], state[3]];\n }\n }\n else {\n seg = [col];\n }\n line.push(seg);\n }\n if (!sorted)\n sort(line);\n decoded.push(line);\n index = semi + 1;\n } while (index <= mappings.length);\n return decoded;\n }\n function indexOf(mappings, index) {\n const idx = mappings.indexOf(';', index);\n return idx === -1 ? mappings.length : idx;\n }\n function decodeInteger(mappings, pos, state, j) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = mappings.charCodeAt(pos++);\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n state[j] += value;\n return pos;\n }\n function hasMoreVlq(mappings, i, length) {\n if (i >= length)\n return false;\n return mappings.charCodeAt(i) !== comma;\n }\n function sort(line) {\n line.sort(sortComparator);\n }\n function sortComparator(a, b) {\n return a[0] - b[0];\n }\n function encode(decoded) {\n const state = new Int32Array(5);\n const bufLength = 1024 * 16;\n const subLength = bufLength - 36;\n const buf = new Uint8Array(bufLength);\n const sub = buf.subarray(0, subLength);\n let pos = 0;\n let out = '';\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) {\n if (pos === bufLength) {\n out += td.decode(buf);\n pos = 0;\n }\n buf[pos++] = semicolon;\n }\n if (line.length === 0)\n continue;\n state[0] = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n // We can push up to 5 ints, each int can take at most 7 chars, and we\n // may push a comma.\n if (pos > subLength) {\n out += td.decode(sub);\n buf.copyWithin(0, subLength, pos);\n pos -= subLength;\n }\n if (j > 0)\n buf[pos++] = comma;\n pos = encodeInteger(buf, pos, state, segment, 0); // genColumn\n if (segment.length === 1)\n continue;\n pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex\n pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine\n pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn\n if (segment.length === 4)\n continue;\n pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex\n }\n }\n return out + td.decode(buf.subarray(0, pos));\n }\n function encodeInteger(buf, pos, state, segment, j) {\n const next = segment[j];\n let num = next - state[j];\n state[j] = next;\n num = num < 0 ? (-num << 1) | 1 : num << 1;\n do {\n let clamped = num & 0b011111;\n num >>>= 5;\n if (num > 0)\n clamped |= 0b100000;\n buf[pos++] = intToChar[clamped];\n } while (num > 0);\n return pos;\n }\n\n exports.decode = decode;\n exports.encode = encode;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=sourcemap-codec.umd.js.map\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nclass FullTextDocument {\n constructor(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n get uri() {\n return this._uri;\n }\n get languageId() {\n return this._languageId;\n }\n get version() {\n return this._version;\n }\n getText(range) {\n if (range) {\n const start = this.offsetAt(range.start);\n const end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n }\n update(changes, version) {\n for (let change of changes) {\n if (FullTextDocument.isIncremental(change)) {\n // makes sure start is before end\n const range = getWellformedRange(change.range);\n // update content\n const startOffset = this.offsetAt(range.start);\n const endOffset = this.offsetAt(range.end);\n this._content = this._content.substring(0, startOffset) + change.text + this._content.substring(endOffset, this._content.length);\n // update the offsets\n const startLine = Math.max(range.start.line, 0);\n const endLine = Math.max(range.end.line, 0);\n let lineOffsets = this._lineOffsets;\n const addedLineOffsets = computeLineOffsets(change.text, false, startOffset);\n if (endLine - startLine === addedLineOffsets.length) {\n for (let i = 0, len = addedLineOffsets.length; i < len; i++) {\n lineOffsets[i + startLine + 1] = addedLineOffsets[i];\n }\n }\n else {\n if (addedLineOffsets.length < 10000) {\n lineOffsets.splice(startLine + 1, endLine - startLine, ...addedLineOffsets);\n }\n else { // avoid too many arguments for splice\n this._lineOffsets = lineOffsets = lineOffsets.slice(0, startLine + 1).concat(addedLineOffsets, lineOffsets.slice(endLine + 1));\n }\n }\n const diff = change.text.length - (endOffset - startOffset);\n if (diff !== 0) {\n for (let i = startLine + 1 + addedLineOffsets.length, len = lineOffsets.length; i < len; i++) {\n lineOffsets[i] = lineOffsets[i] + diff;\n }\n }\n }\n else if (FullTextDocument.isFull(change)) {\n this._content = change.text;\n this._lineOffsets = undefined;\n }\n else {\n throw new Error('Unknown change event received');\n }\n }\n this._version = version;\n }\n getLineOffsets() {\n if (this._lineOffsets === undefined) {\n this._lineOffsets = computeLineOffsets(this._content, true);\n }\n return this._lineOffsets;\n }\n positionAt(offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n let lineOffsets = this.getLineOffsets();\n let low = 0, high = lineOffsets.length;\n if (high === 0) {\n return { line: 0, character: offset };\n }\n while (low < high) {\n let mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n let line = low - 1;\n return { line, character: offset - lineOffsets[line] };\n }\n offsetAt(position) {\n let lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n let lineOffset = lineOffsets[position.line];\n let nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n }\n get lineCount() {\n return this.getLineOffsets().length;\n }\n static isIncremental(event) {\n let candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range !== undefined &&\n (candidate.rangeLength === undefined || typeof candidate.rangeLength === 'number');\n }\n static isFull(event) {\n let candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range === undefined && candidate.rangeLength === undefined;\n }\n}\nexport var TextDocument;\n(function (TextDocument) {\n /**\n * Creates a new text document.\n *\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's initial version number.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Updates a TextDocument by modifying its content.\n *\n * @param document the document to update. Only documents created by TextDocument.create are valid inputs.\n * @param changes the changes to apply to the document.\n * @param version the changes version for the document.\n * @returns The updated TextDocument. Note: That's the same document instance passed in as first parameter.\n *\n */\n function update(document, changes, version) {\n if (document instanceof FullTextDocument) {\n document.update(changes, version);\n return document;\n }\n else {\n throw new Error('TextDocument.update: document must be created by TextDocument.create');\n }\n }\n TextDocument.update = update;\n function applyEdits(document, edits) {\n let text = document.getText();\n let sortedEdits = mergeSort(edits.map(getWellformedEdit), (a, b) => {\n let diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n let lastModifiedOffset = 0;\n const spans = [];\n for (const e of sortedEdits) {\n let startOffset = document.offsetAt(e.range.start);\n if (startOffset < lastModifiedOffset) {\n throw new Error('Overlapping edit');\n }\n else if (startOffset > lastModifiedOffset) {\n spans.push(text.substring(lastModifiedOffset, startOffset));\n }\n if (e.newText.length) {\n spans.push(e.newText);\n }\n lastModifiedOffset = document.offsetAt(e.range.end);\n }\n spans.push(text.substr(lastModifiedOffset));\n return spans.join('');\n }\n TextDocument.applyEdits = applyEdits;\n})(TextDocument || (TextDocument = {}));\nfunction mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n const p = (data.length / 2) | 0;\n const left = data.slice(0, p);\n const right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n let leftIdx = 0;\n let rightIdx = 0;\n let i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n let ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n}\nfunction computeLineOffsets(text, isAtLineStart, textOffset = 0) {\n const result = isAtLineStart ? [textOffset] : [];\n for (let i = 0; i < text.length; i++) {\n let ch = text.charCodeAt(i);\n if (ch === 13 /* CharCode.CarriageReturn */ || ch === 10 /* CharCode.LineFeed */) {\n if (ch === 13 /* CharCode.CarriageReturn */ && i + 1 < text.length && text.charCodeAt(i + 1) === 10 /* CharCode.LineFeed */) {\n i++;\n }\n result.push(textOffset + i + 1);\n }\n }\n return result;\n}\nfunction getWellformedRange(range) {\n const start = range.start;\n const end = range.end;\n if (start.line > end.line || (start.line === end.line && start.character > end.character)) {\n return { start: end, end: start };\n }\n return range;\n}\nfunction getWellformedEdit(textEdit) {\n const range = getWellformedRange(textEdit.range);\n if (range !== textEdit.range) {\n return { newText: textEdit.newText, range };\n }\n return textEdit;\n}\n","import type { CodeMapping, VirtualCode } from '@vue/language-core';\nimport { decode } from '@jridgewell/sourcemap-codec';\nimport { svelte2tsx } from 'svelte2tsx';\nimport { TextDocument } from 'vscode-languageserver-textdocument';\n\nimport type { CreateVirtualCode } from './types';\n\n// See: https://github.com/johnsoncodehk/language-tools/blob/volar2/packages/language-server/src/languagePlugin.ts\nexport const createVirtualCode: CreateVirtualCode = (\n fileId,\n snapshot,\n ts\n): VirtualCode | undefined => {\n const text = snapshot.getText(0, snapshot.getLength());\n\n let tsx: ReturnType<typeof svelte2tsx>;\n\n try {\n tsx = svelte2tsx(text, {\n filename: fileId,\n isTsFile: true,\n emitOnTemplateError: true,\n mode: 'ts',\n });\n } catch (error) {\n return;\n }\n\n const v3Mappings = decode(tsx.map.mappings);\n const document = TextDocument.create('', 'svelte', 0, text);\n const generateDocument = TextDocument.create('', 'typescript', 0, tsx.code);\n const mappings: CodeMapping[] = [];\n\n let current:\n | {\n genOffset: number;\n sourceOffset: number;\n }\n | undefined;\n\n for (let genLine = 0; genLine < v3Mappings.length; genLine++) {\n for (const segment of v3Mappings[genLine]) {\n const genCharacter = segment[0];\n const genOffset = generateDocument.offsetAt({ line: genLine, character: genCharacter });\n if (current) {\n let length = genOffset - current.genOffset;\n const sourceText = text.substring(current.sourceOffset, current.sourceOffset + length);\n const genText = tsx.code.substring(current.genOffset, current.genOffset + length);\n if (sourceText !== genText) {\n length = 0;\n for (let i = 0; i < genOffset - current.genOffset; i++) {\n if (sourceText[i] === genText[i]) {\n length = i + 1;\n } else {\n break;\n }\n }\n }\n if (length > 0) {\n const lastMapping = mappings.length ? mappings[mappings.length - 1] : undefined;\n if (\n lastMapping &&\n lastMapping.generatedOffsets[0] + lastMapping.lengths[0] === current.genOffset &&\n lastMapping.sourceOffsets[0] + lastMapping.lengths[0] === current.sourceOffset\n ) {\n lastMapping.lengths[0] += length;\n } else {\n mappings.push({\n sourceOffsets: [current.sourceOffset],\n generatedOffsets: [current.genOffset],\n lengths: [length],\n data: {\n verification: true,\n completion: true,\n semantic: true,\n navigation: true,\n structure: false,\n format: false,\n },\n });\n }\n }\n current = undefined;\n }\n if (segment[2] !== undefined && segment[3] !== undefined) {\n const sourceOffset = document.offsetAt({ line: segment[2], character: segment[3] });\n current = {\n genOffset,\n sourceOffset,\n };\n }\n }\n }\n\n return {\n id: 'ts',\n languageId: 'typescript',\n snapshot: ts.ScriptSnapshot.fromString(tsx.code),\n mappings: mappings,\n embeddedCodes: [],\n } satisfies VirtualCode;\n};\n"],"names":["exports","comma","charCodeAt","semicolon","chars","intToChar","Uint8Array","charToInt","i","length","c","TextDecoder","Buffer","decode","buf","from","buffer","byteOffset","byteLength","toString","out","String","fromCharCode","mappings","state","Int32Array","decoded","index","semi","indexOf","line","sorted","lastCol","seg","decodeInteger","col","hasMoreVlq","push","sort","idx","j","value","shift","integer","pos","shouldNegate","sortComparator","a","b","encode","bufLength","subLength","sub","subarray","_i3","td","segment","copyWithin","encodeInteger","factory","FullTextDocument","constructor","uri","languageId","version","content","this","_uri","_languageId","_version","_content","_lineOffsets","undefined","getText","range","start","offsetAt","end","substring","update","changes","change","isIncremental","getWellformedRange","startOffset","endOffset","text","startLine","Math","max","endLine","lineOffsets","addedLineOffsets","computeLineOffsets","len","splice","slice","concat","diff","isFull","Error","getLineOffsets","positionAt","offset","min","low","high","character","mid","floor","position","lineOffset","lineCount","event","candidate","rangeLength","TextDocument","create","document","applyEdits","edits","sortedEdits","mergeSort","map","getWellformedEdit","lastModifiedOffset","spans","e","newText","substr","join","data","compare","p","left","right","leftIdx","rightIdx","isAtLineStart","textOffset","result","ch","textEdit","createVirtualCode","fileId","snapshot","ts","getLength","tsx","svelte2tsx","filename","isTsFile","emitOnTemplateError","mode","error","v3Mappings","generateDocument","code","current","genLine","genOffset","sourceText","sourceOffset","genText","lastMapping","generatedOffsets","lengths","sourceOffsets","verification","completion","semantic","navigation","structure","format","id","ScriptSnapshot","fromString","embeddedCodes"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"svelte-chunk.mjs","sources":["../../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.4.15/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js","../../../../node_modules/.pnpm/vscode-languageserver-textdocument@1.0.11/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","../../src/ts/transformers/svelte.ts"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sourcemapCodec = {}));\n})(this, (function (exports) { 'use strict';\n\n const comma = ','.charCodeAt(0);\n const semicolon = ';'.charCodeAt(0);\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n const intToChar = new Uint8Array(64); // 64 possible chars.\n const charToInt = new Uint8Array(128); // z is 122 in ASCII\n for (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n }\n // Provide a fallback for older environments.\n const td = typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf) {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n function decode(mappings) {\n const state = new Int32Array(5);\n const decoded = [];\n let index = 0;\n do {\n const semi = indexOf(mappings, index);\n const line = [];\n let sorted = true;\n let lastCol = 0;\n state[0] = 0;\n for (let i = index; i < semi; i++) {\n let seg;\n i = decodeInteger(mappings, i, state, 0); // genColumn\n const col = state[0];\n if (col < lastCol)\n sorted = false;\n lastCol = col;\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 1); // sourcesIndex\n i = decodeInteger(mappings, i, state, 2); // sourceLine\n i = decodeInteger(mappings, i, state, 3); // sourceColumn\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 4); // namesIndex\n seg = [col, state[1], state[2], state[3], state[4]];\n }\n else {\n seg = [col, state[1], state[2], state[3]];\n }\n }\n else {\n seg = [col];\n }\n line.push(seg);\n }\n if (!sorted)\n sort(line);\n decoded.push(line);\n index = semi + 1;\n } while (index <= mappings.length);\n return decoded;\n }\n function indexOf(mappings, index) {\n const idx = mappings.indexOf(';', index);\n return idx === -1 ? mappings.length : idx;\n }\n function decodeInteger(mappings, pos, state, j) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = mappings.charCodeAt(pos++);\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n state[j] += value;\n return pos;\n }\n function hasMoreVlq(mappings, i, length) {\n if (i >= length)\n return false;\n return mappings.charCodeAt(i) !== comma;\n }\n function sort(line) {\n line.sort(sortComparator);\n }\n function sortComparator(a, b) {\n return a[0] - b[0];\n }\n function encode(decoded) {\n const state = new Int32Array(5);\n const bufLength = 1024 * 16;\n const subLength = bufLength - 36;\n const buf = new Uint8Array(bufLength);\n const sub = buf.subarray(0, subLength);\n let pos = 0;\n let out = '';\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) {\n if (pos === bufLength) {\n out += td.decode(buf);\n pos = 0;\n }\n buf[pos++] = semicolon;\n }\n if (line.length === 0)\n continue;\n state[0] = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n // We can push up to 5 ints, each int can take at most 7 chars, and we\n // may push a comma.\n if (pos > subLength) {\n out += td.decode(sub);\n buf.copyWithin(0, subLength, pos);\n pos -= subLength;\n }\n if (j > 0)\n buf[pos++] = comma;\n pos = encodeInteger(buf, pos, state, segment, 0); // genColumn\n if (segment.length === 1)\n continue;\n pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex\n pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine\n pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn\n if (segment.length === 4)\n continue;\n pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex\n }\n }\n return out + td.decode(buf.subarray(0, pos));\n }\n function encodeInteger(buf, pos, state, segment, j) {\n const next = segment[j];\n let num = next - state[j];\n state[j] = next;\n num = num < 0 ? (-num << 1) | 1 : num << 1;\n do {\n let clamped = num & 0b011111;\n num >>>= 5;\n if (num > 0)\n clamped |= 0b100000;\n buf[pos++] = intToChar[clamped];\n } while (num > 0);\n return pos;\n }\n\n exports.decode = decode;\n exports.encode = encode;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=sourcemap-codec.umd.js.map\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nclass FullTextDocument {\n constructor(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n get uri() {\n return this._uri;\n }\n get languageId() {\n return this._languageId;\n }\n get version() {\n return this._version;\n }\n getText(range) {\n if (range) {\n const start = this.offsetAt(range.start);\n const end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n }\n update(changes, version) {\n for (let change of changes) {\n if (FullTextDocument.isIncremental(change)) {\n // makes sure start is before end\n const range = getWellformedRange(change.range);\n // update content\n const startOffset = this.offsetAt(range.start);\n const endOffset = this.offsetAt(range.end);\n this._content = this._content.substring(0, startOffset) + change.text + this._content.substring(endOffset, this._content.length);\n // update the offsets\n const startLine = Math.max(range.start.line, 0);\n const endLine = Math.max(range.end.line, 0);\n let lineOffsets = this._lineOffsets;\n const addedLineOffsets = computeLineOffsets(change.text, false, startOffset);\n if (endLine - startLine === addedLineOffsets.length) {\n for (let i = 0, len = addedLineOffsets.length; i < len; i++) {\n lineOffsets[i + startLine + 1] = addedLineOffsets[i];\n }\n }\n else {\n if (addedLineOffsets.length < 10000) {\n lineOffsets.splice(startLine + 1, endLine - startLine, ...addedLineOffsets);\n }\n else { // avoid too many arguments for splice\n this._lineOffsets = lineOffsets = lineOffsets.slice(0, startLine + 1).concat(addedLineOffsets, lineOffsets.slice(endLine + 1));\n }\n }\n const diff = change.text.length - (endOffset - startOffset);\n if (diff !== 0) {\n for (let i = startLine + 1 + addedLineOffsets.length, len = lineOffsets.length; i < len; i++) {\n lineOffsets[i] = lineOffsets[i] + diff;\n }\n }\n }\n else if (FullTextDocument.isFull(change)) {\n this._content = change.text;\n this._lineOffsets = undefined;\n }\n else {\n throw new Error('Unknown change event received');\n }\n }\n this._version = version;\n }\n getLineOffsets() {\n if (this._lineOffsets === undefined) {\n this._lineOffsets = computeLineOffsets(this._content, true);\n }\n return this._lineOffsets;\n }\n positionAt(offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n let lineOffsets = this.getLineOffsets();\n let low = 0, high = lineOffsets.length;\n if (high === 0) {\n return { line: 0, character: offset };\n }\n while (low < high) {\n let mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n let line = low - 1;\n return { line, character: offset - lineOffsets[line] };\n }\n offsetAt(position) {\n let lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n let lineOffset = lineOffsets[position.line];\n let nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n }\n get lineCount() {\n return this.getLineOffsets().length;\n }\n static isIncremental(event) {\n let candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range !== undefined &&\n (candidate.rangeLength === undefined || typeof candidate.rangeLength === 'number');\n }\n static isFull(event) {\n let candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range === undefined && candidate.rangeLength === undefined;\n }\n}\nexport var TextDocument;\n(function (TextDocument) {\n /**\n * Creates a new text document.\n *\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's initial version number.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Updates a TextDocument by modifying its content.\n *\n * @param document the document to update. Only documents created by TextDocument.create are valid inputs.\n * @param changes the changes to apply to the document.\n * @param version the changes version for the document.\n * @returns The updated TextDocument. Note: That's the same document instance passed in as first parameter.\n *\n */\n function update(document, changes, version) {\n if (document instanceof FullTextDocument) {\n document.update(changes, version);\n return document;\n }\n else {\n throw new Error('TextDocument.update: document must be created by TextDocument.create');\n }\n }\n TextDocument.update = update;\n function applyEdits(document, edits) {\n let text = document.getText();\n let sortedEdits = mergeSort(edits.map(getWellformedEdit), (a, b) => {\n let diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n let lastModifiedOffset = 0;\n const spans = [];\n for (const e of sortedEdits) {\n let startOffset = document.offsetAt(e.range.start);\n if (startOffset < lastModifiedOffset) {\n throw new Error('Overlapping edit');\n }\n else if (startOffset > lastModifiedOffset) {\n spans.push(text.substring(lastModifiedOffset, startOffset));\n }\n if (e.newText.length) {\n spans.push(e.newText);\n }\n lastModifiedOffset = document.offsetAt(e.range.end);\n }\n spans.push(text.substr(lastModifiedOffset));\n return spans.join('');\n }\n TextDocument.applyEdits = applyEdits;\n})(TextDocument || (TextDocument = {}));\nfunction mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n const p = (data.length / 2) | 0;\n const left = data.slice(0, p);\n const right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n let leftIdx = 0;\n let rightIdx = 0;\n let i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n let ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n}\nfunction computeLineOffsets(text, isAtLineStart, textOffset = 0) {\n const result = isAtLineStart ? [textOffset] : [];\n for (let i = 0; i < text.length; i++) {\n let ch = text.charCodeAt(i);\n if (ch === 13 /* CharCode.CarriageReturn */ || ch === 10 /* CharCode.LineFeed */) {\n if (ch === 13 /* CharCode.CarriageReturn */ && i + 1 < text.length && text.charCodeAt(i + 1) === 10 /* CharCode.LineFeed */) {\n i++;\n }\n result.push(textOffset + i + 1);\n }\n }\n return result;\n}\nfunction getWellformedRange(range) {\n const start = range.start;\n const end = range.end;\n if (start.line > end.line || (start.line === end.line && start.character > end.character)) {\n return { start: end, end: start };\n }\n return range;\n}\nfunction getWellformedEdit(textEdit) {\n const range = getWellformedRange(textEdit.range);\n if (range !== textEdit.range) {\n return { newText: textEdit.newText, range };\n }\n return textEdit;\n}\n","import ts from 'typescript';\nimport type { CodeMapping, VirtualCode } from '@vue/language-core';\nimport { decode } from '@jridgewell/sourcemap-codec';\nimport { svelte2tsx } from 'svelte2tsx';\nimport { TextDocument } from 'vscode-languageserver-textdocument';\n\n// See: https://github.com/johnsoncodehk/language-tools/blob/volar2/packages/language-server/src/languagePlugin.ts\nexport const transform = (sourceFile: ts.SourceFile): VirtualCode | undefined => {\n const text = sourceFile.getFullText();\n\n let tsx: ReturnType<typeof svelte2tsx>;\n\n try {\n tsx = svelte2tsx(text, {\n filename: sourceFile.fileName,\n isTsFile: true,\n emitOnTemplateError: true,\n mode: 'ts',\n });\n } catch (error) {\n return;\n }\n\n const v3Mappings = decode(tsx.map.mappings);\n const document = TextDocument.create('', 'svelte', 0, text);\n const generateDocument = TextDocument.create('', 'typescript', 0, tsx.code);\n const mappings: CodeMapping[] = [];\n\n let current:\n | {\n genOffset: number;\n sourceOffset: number;\n }\n | undefined;\n\n for (let genLine = 0; genLine < v3Mappings.length; genLine++) {\n for (const segment of v3Mappings[genLine]) {\n const genCharacter = segment[0];\n const genOffset = generateDocument.offsetAt({ line: genLine, character: genCharacter });\n if (current) {\n let length = genOffset - current.genOffset;\n const sourceText = text.substring(current.sourceOffset, current.sourceOffset + length);\n const genText = tsx.code.substring(current.genOffset, current.genOffset + length);\n if (sourceText !== genText) {\n length = 0;\n for (let i = 0; i < genOffset - current.genOffset; i++) {\n if (sourceText[i] === genText[i]) {\n length = i + 1;\n } else {\n break;\n }\n }\n }\n if (length > 0) {\n const lastMapping = mappings.length ? mappings[mappings.length - 1] : undefined;\n if (\n lastMapping &&\n lastMapping.generatedOffsets[0] + lastMapping.lengths[0] === current.genOffset &&\n lastMapping.sourceOffsets[0] + lastMapping.lengths[0] === current.sourceOffset\n ) {\n lastMapping.lengths[0] += length;\n } else {\n mappings.push({\n sourceOffsets: [current.sourceOffset],\n generatedOffsets: [current.genOffset],\n lengths: [length],\n data: {\n verification: true,\n completion: true,\n semantic: true,\n navigation: true,\n structure: false,\n format: false,\n },\n });\n }\n }\n current = undefined;\n }\n if (segment[2] !== undefined && segment[3] !== undefined) {\n const sourceOffset = document.offsetAt({ line: segment[2], character: segment[3] });\n current = {\n genOffset,\n sourceOffset,\n };\n }\n }\n }\n\n return {\n id: 'ts',\n languageId: 'typescript',\n snapshot: ts.ScriptSnapshot.fromString(tsx.code),\n mappings: mappings,\n embeddedCodes: [],\n } satisfies VirtualCode;\n};\n"],"names":["exports","comma","charCodeAt","semicolon","chars","intToChar","Uint8Array","charToInt","i","length","c","TextDecoder","Buffer","decode","buf","from","buffer","byteOffset","byteLength","toString","out","String","fromCharCode","mappings","state","Int32Array","decoded","index","semi","indexOf","line","sorted","lastCol","seg","decodeInteger","col","hasMoreVlq","push","sort","idx","j","value","shift","integer","pos","shouldNegate","sortComparator","a","b","encode","bufLength","subLength","sub","subarray","_i3","td","segment","copyWithin","encodeInteger","factory","FullTextDocument","constructor","uri","languageId","version","content","this","_uri","_languageId","_version","_content","_lineOffsets","undefined","getText","range","start","offsetAt","end","substring","update","changes","change","isIncremental","getWellformedRange","startOffset","endOffset","text","startLine","Math","max","endLine","lineOffsets","addedLineOffsets","computeLineOffsets","len","splice","slice","concat","diff","isFull","Error","getLineOffsets","positionAt","offset","min","low","high","character","mid","floor","position","lineOffset","lineCount","event","candidate","rangeLength","TextDocument","create","document","applyEdits","edits","sortedEdits","mergeSort","map","getWellformedEdit","lastModifiedOffset","spans","e","newText","substr","join","data","compare","p","left","right","leftIdx","rightIdx","isAtLineStart","textOffset","result","ch","textEdit","transform","sourceFile","getFullText","tsx","svelte2tsx","filename","fileName","isTsFile","emitOnTemplateError","mode","error","v3Mappings","generateDocument","code","current","genLine","genOffset","sourceText","sourceOffset","genText","lastMapping","generatedOffsets","lengths","sourceOffsets","verification","completion","semantic","navigation","structure","format","id","snapshot","ts","ScriptSnapshot","fromString","embeddedCodes"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,35 +1,10 @@
|
|
|
1
|
-
var e = require("
|
|
1
|
+
var e = require("typescript");
|
|
2
2
|
|
|
3
|
-
var i = require("
|
|
4
|
-
|
|
5
|
-
var t = require("@0no-co/graphqlsp/api");
|
|
3
|
+
var i = require("@0no-co/graphqlsp/api");
|
|
6
4
|
|
|
7
5
|
var n = require("./index-chunk.js");
|
|
8
6
|
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
function _interopNamespaceDefault(e) {
|
|
12
|
-
var i = Object.create(null);
|
|
13
|
-
if (e) {
|
|
14
|
-
Object.keys(e).forEach((function(t) {
|
|
15
|
-
if ("default" !== t) {
|
|
16
|
-
var n = Object.getOwnPropertyDescriptor(e, t);
|
|
17
|
-
Object.defineProperty(i, t, n.get ? n : {
|
|
18
|
-
enumerable: !0,
|
|
19
|
-
get: function() {
|
|
20
|
-
return e[t];
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
i.default = e;
|
|
27
|
-
return i;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
var a = _interopNamespaceDefault(e);
|
|
31
|
-
|
|
32
|
-
var l = function(e) {
|
|
7
|
+
var t = function(e) {
|
|
33
8
|
e[e.Const = 1] = "Const";
|
|
34
9
|
e[e.Var = 2] = "Var";
|
|
35
10
|
e[e.Int = 3] = "Int";
|
|
@@ -38,28 +13,28 @@ var l = function(e) {
|
|
|
38
13
|
e[e.String = 6] = "String";
|
|
39
14
|
e[e.Enum = 7] = "Enum";
|
|
40
15
|
return e;
|
|
41
|
-
}(
|
|
16
|
+
}(t || {});
|
|
42
17
|
|
|
43
|
-
var
|
|
18
|
+
var r = function(e) {
|
|
44
19
|
e[e.Spread = 1] = "Spread";
|
|
45
20
|
e[e.Name = 2] = "Name";
|
|
46
21
|
return e;
|
|
47
|
-
}(
|
|
22
|
+
}(r || {});
|
|
48
23
|
|
|
49
|
-
function mapJoin(e, i,
|
|
50
|
-
var
|
|
24
|
+
function mapJoin(e, i, n) {
|
|
25
|
+
var t = "";
|
|
51
26
|
for (var r = 0; r < e.length; r++) {
|
|
52
27
|
if (r) {
|
|
53
|
-
|
|
28
|
+
t += i;
|
|
54
29
|
}
|
|
55
|
-
|
|
30
|
+
t += n(e[r]);
|
|
56
31
|
}
|
|
57
|
-
return
|
|
32
|
+
return t;
|
|
58
33
|
}
|
|
59
34
|
|
|
60
|
-
var
|
|
35
|
+
var a = "\n";
|
|
61
36
|
|
|
62
|
-
var
|
|
37
|
+
var l = {
|
|
63
38
|
OperationDefinition(e) {
|
|
64
39
|
var i = e.operation;
|
|
65
40
|
if (e.name) {
|
|
@@ -69,38 +44,38 @@ var u = {
|
|
|
69
44
|
if (!e.name) {
|
|
70
45
|
i += " ";
|
|
71
46
|
}
|
|
72
|
-
i += "(" + mapJoin(e.variableDefinitions, ", ",
|
|
47
|
+
i += "(" + mapJoin(e.variableDefinitions, ", ", l.VariableDefinition) + ")";
|
|
73
48
|
}
|
|
74
49
|
if (e.directives && e.directives.length) {
|
|
75
|
-
i += " " + mapJoin(e.directives, " ",
|
|
50
|
+
i += " " + mapJoin(e.directives, " ", l.Directive);
|
|
76
51
|
}
|
|
77
|
-
return "query" !== i ? i + " " +
|
|
52
|
+
return "query" !== i ? i + " " + l.SelectionSet(e.selectionSet) : l.SelectionSet(e.selectionSet);
|
|
78
53
|
},
|
|
79
54
|
VariableDefinition(e) {
|
|
80
|
-
var i =
|
|
55
|
+
var i = l.Variable(e.variable) + ": " + _print(e.type);
|
|
81
56
|
if (e.defaultValue) {
|
|
82
57
|
i += " = " + _print(e.defaultValue);
|
|
83
58
|
}
|
|
84
59
|
if (e.directives && e.directives.length) {
|
|
85
|
-
i += " " + mapJoin(e.directives, " ",
|
|
60
|
+
i += " " + mapJoin(e.directives, " ", l.Directive);
|
|
86
61
|
}
|
|
87
62
|
return i;
|
|
88
63
|
},
|
|
89
64
|
Field(e) {
|
|
90
65
|
var i = e.alias ? e.alias.value + ": " + e.name.value : e.name.value;
|
|
91
66
|
if (e.arguments && e.arguments.length) {
|
|
92
|
-
var
|
|
93
|
-
if (i.length +
|
|
94
|
-
i += "(" + (
|
|
67
|
+
var n = mapJoin(e.arguments, ", ", l.Argument);
|
|
68
|
+
if (i.length + n.length + 2 > 80) {
|
|
69
|
+
i += "(" + (a += " ") + mapJoin(e.arguments, a, l.Argument) + (a = a.slice(0, -2)) + ")";
|
|
95
70
|
} else {
|
|
96
|
-
i += "(" +
|
|
71
|
+
i += "(" + n + ")";
|
|
97
72
|
}
|
|
98
73
|
}
|
|
99
74
|
if (e.directives && e.directives.length) {
|
|
100
|
-
i += " " + mapJoin(e.directives, " ",
|
|
75
|
+
i += " " + mapJoin(e.directives, " ", l.Directive);
|
|
101
76
|
}
|
|
102
77
|
if (e.selectionSet) {
|
|
103
|
-
i += " " +
|
|
78
|
+
i += " " + l.SelectionSet(e.selectionSet);
|
|
104
79
|
}
|
|
105
80
|
return i;
|
|
106
81
|
},
|
|
@@ -108,7 +83,7 @@ var u = {
|
|
|
108
83
|
if (e.block) {
|
|
109
84
|
return function printBlockString(e) {
|
|
110
85
|
return '"""\n' + e.replace(/"""/g, '\\"""') + '\n"""';
|
|
111
|
-
}(e.value).replace(/\n/g,
|
|
86
|
+
}(e.value).replace(/\n/g, a);
|
|
112
87
|
} else {
|
|
113
88
|
return function printString(e) {
|
|
114
89
|
return JSON.stringify(e);
|
|
@@ -123,7 +98,7 @@ var u = {
|
|
|
123
98
|
Name: e => e.value,
|
|
124
99
|
Variable: e => "$" + e.name.value,
|
|
125
100
|
ListValue: e => "[" + mapJoin(e.values, ", ", _print) + "]",
|
|
126
|
-
ObjectValue: e => "{" + mapJoin(e.fields, ", ",
|
|
101
|
+
ObjectValue: e => "{" + mapJoin(e.fields, ", ", l.ObjectField) + "}",
|
|
127
102
|
ObjectField: e => e.name.value + ": " + _print(e.value),
|
|
128
103
|
Document(e) {
|
|
129
104
|
if (!e.definitions || !e.definitions.length) {
|
|
@@ -131,12 +106,12 @@ var u = {
|
|
|
131
106
|
}
|
|
132
107
|
return mapJoin(e.definitions, "\n\n", _print);
|
|
133
108
|
},
|
|
134
|
-
SelectionSet: e => "{" + (
|
|
109
|
+
SelectionSet: e => "{" + (a += " ") + mapJoin(e.selections, a, _print) + (a = a.slice(0, -2)) + "}",
|
|
135
110
|
Argument: e => e.name.value + ": " + _print(e.value),
|
|
136
111
|
FragmentSpread(e) {
|
|
137
112
|
var i = "..." + e.name.value;
|
|
138
113
|
if (e.directives && e.directives.length) {
|
|
139
|
-
i += " " + mapJoin(e.directives, " ",
|
|
114
|
+
i += " " + mapJoin(e.directives, " ", l.Directive);
|
|
140
115
|
}
|
|
141
116
|
return i;
|
|
142
117
|
},
|
|
@@ -146,22 +121,22 @@ var u = {
|
|
|
146
121
|
i += " on " + e.typeCondition.name.value;
|
|
147
122
|
}
|
|
148
123
|
if (e.directives && e.directives.length) {
|
|
149
|
-
i += " " + mapJoin(e.directives, " ",
|
|
124
|
+
i += " " + mapJoin(e.directives, " ", l.Directive);
|
|
150
125
|
}
|
|
151
|
-
return i + " " +
|
|
126
|
+
return i + " " + l.SelectionSet(e.selectionSet);
|
|
152
127
|
},
|
|
153
128
|
FragmentDefinition(e) {
|
|
154
129
|
var i = "fragment " + e.name.value;
|
|
155
130
|
i += " on " + e.typeCondition.name.value;
|
|
156
131
|
if (e.directives && e.directives.length) {
|
|
157
|
-
i += " " + mapJoin(e.directives, " ",
|
|
132
|
+
i += " " + mapJoin(e.directives, " ", l.Directive);
|
|
158
133
|
}
|
|
159
|
-
return i + " " +
|
|
134
|
+
return i + " " + l.SelectionSet(e.selectionSet);
|
|
160
135
|
},
|
|
161
136
|
Directive(e) {
|
|
162
137
|
var i = "@" + e.name.value;
|
|
163
138
|
if (e.arguments && e.arguments.length) {
|
|
164
|
-
i += "(" + mapJoin(e.arguments, ", ",
|
|
139
|
+
i += "(" + mapJoin(e.arguments, ", ", l.Argument) + ")";
|
|
165
140
|
}
|
|
166
141
|
return i;
|
|
167
142
|
},
|
|
@@ -170,110 +145,102 @@ var u = {
|
|
|
170
145
|
NonNullType: e => _print(e.type) + "!"
|
|
171
146
|
};
|
|
172
147
|
|
|
173
|
-
var _print = e =>
|
|
148
|
+
var _print = e => l[e.kind](e);
|
|
174
149
|
|
|
175
150
|
function print(e) {
|
|
176
|
-
|
|
177
|
-
return
|
|
151
|
+
a = "\n";
|
|
152
|
+
return l[e.kind] ? l[e.kind](e) : "";
|
|
178
153
|
}
|
|
179
154
|
|
|
180
|
-
var
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
var l = a.dirname(e.configPath);
|
|
185
|
-
var s = new i.Project({
|
|
186
|
-
tsConfigFilePath: e.configPath
|
|
187
|
-
});
|
|
188
|
-
var o = await n.loadVirtualCode(l, s, i.ts);
|
|
189
|
-
if (o) {
|
|
155
|
+
var s = n.expose((async function* _runPersisted(t) {
|
|
156
|
+
var r = n.programFactory(t);
|
|
157
|
+
var a = r.createExternalFiles();
|
|
158
|
+
if (a.length) {
|
|
190
159
|
yield {
|
|
191
160
|
kind: "EXTERNAL_WARNING"
|
|
192
161
|
};
|
|
162
|
+
await r.addVirtualFiles(a);
|
|
193
163
|
}
|
|
194
|
-
var
|
|
195
|
-
var
|
|
196
|
-
var t = a.resolve(l, i.getFilePath());
|
|
197
|
-
return !a.relative(e.rootPath, t).startsWith("..");
|
|
198
|
-
}));
|
|
164
|
+
var l = r.build();
|
|
165
|
+
var s = l.getSourceFiles();
|
|
199
166
|
yield {
|
|
200
167
|
kind: "FILE_COUNT",
|
|
201
|
-
fileCount:
|
|
168
|
+
fileCount: s.length
|
|
202
169
|
};
|
|
203
|
-
for (var
|
|
204
|
-
var
|
|
205
|
-
var
|
|
206
|
-
var
|
|
207
|
-
var
|
|
208
|
-
for (var
|
|
209
|
-
var
|
|
210
|
-
|
|
211
|
-
var
|
|
212
|
-
var
|
|
213
|
-
var
|
|
214
|
-
if (!
|
|
215
|
-
|
|
170
|
+
for (var u of s) {
|
|
171
|
+
var o = u.fileName;
|
|
172
|
+
var c = {};
|
|
173
|
+
var m = [];
|
|
174
|
+
var v = i.findAllPersistedCallExpressions(u);
|
|
175
|
+
for (var f of v) {
|
|
176
|
+
var g = l.getSourcePosition(u, f.getStart());
|
|
177
|
+
o = g.fileName;
|
|
178
|
+
var d = f.arguments[0];
|
|
179
|
+
var p = f.arguments[1];
|
|
180
|
+
var S = f.typeArguments && f.typeArguments[0];
|
|
181
|
+
if (!d || !e.isStringLiteral(d)) {
|
|
182
|
+
m.push({
|
|
216
183
|
message: '"graphql.persisted" must be called with a string literal as the first argument.',
|
|
217
|
-
file:
|
|
218
|
-
line:
|
|
219
|
-
col:
|
|
184
|
+
file: g.fileName,
|
|
185
|
+
line: g.line,
|
|
186
|
+
col: g.col
|
|
220
187
|
});
|
|
221
188
|
continue;
|
|
222
|
-
} else if (!
|
|
223
|
-
|
|
189
|
+
} else if (!p && !S) {
|
|
190
|
+
m.push({
|
|
224
191
|
message: '"graphql.persisted" is missing a document.\nThis may be passed as a generic such as `graphql.persisted<typeof document>` or as the second argument.',
|
|
225
|
-
file:
|
|
226
|
-
line:
|
|
227
|
-
col:
|
|
192
|
+
file: g.fileName,
|
|
193
|
+
line: g.line,
|
|
194
|
+
col: g.col
|
|
228
195
|
});
|
|
229
196
|
continue;
|
|
230
197
|
}
|
|
231
|
-
var
|
|
232
|
-
var
|
|
233
|
-
if (
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
} else if (
|
|
237
|
-
|
|
238
|
-
|
|
198
|
+
var h = null;
|
|
199
|
+
var y = f;
|
|
200
|
+
if (p && (e.isCallExpression(p) || e.isIdentifier(p))) {
|
|
201
|
+
h = i.getDocumentReferenceFromDocumentNode(p, u.fileName, l.buildPluginInfo(t.pluginConfig)).node;
|
|
202
|
+
y = p;
|
|
203
|
+
} else if (S && e.isTypeQueryNode(S)) {
|
|
204
|
+
h = i.getDocumentReferenceFromTypeQuery(S, u.fileName, l.buildPluginInfo(t.pluginConfig)).node;
|
|
205
|
+
y = S;
|
|
239
206
|
}
|
|
240
|
-
if (!
|
|
241
|
-
|
|
242
|
-
message: `Could not find reference for "${
|
|
243
|
-
file:
|
|
244
|
-
line:
|
|
245
|
-
col:
|
|
207
|
+
if (!h) {
|
|
208
|
+
m.push({
|
|
209
|
+
message: `Could not find reference for "${y.getText()}".\nIf this is unexpected, please file an issue describing your case.`,
|
|
210
|
+
file: g.fileName,
|
|
211
|
+
line: g.line,
|
|
212
|
+
col: g.col
|
|
246
213
|
});
|
|
247
214
|
continue;
|
|
248
215
|
}
|
|
249
|
-
if (!
|
|
250
|
-
|
|
251
|
-
message: `The referenced document of "${
|
|
252
|
-
file:
|
|
253
|
-
line:
|
|
254
|
-
col:
|
|
216
|
+
if (!h || !e.isCallExpression(h) || !e.isNoSubstitutionTemplateLiteral(h.arguments[0]) && !e.isStringLiteral(h.arguments[0])) {
|
|
217
|
+
m.push({
|
|
218
|
+
message: `The referenced document of "${y.getText()}" contains no document string literal.\nIf this is unexpected, please file an issue describing your case.`,
|
|
219
|
+
file: g.fileName,
|
|
220
|
+
line: g.line,
|
|
221
|
+
col: g.col
|
|
255
222
|
});
|
|
256
223
|
continue;
|
|
257
224
|
}
|
|
258
|
-
var
|
|
259
|
-
var
|
|
260
|
-
if (
|
|
261
|
-
|
|
225
|
+
var N = [];
|
|
226
|
+
var b = h.arguments[0].getText().slice(1, -1);
|
|
227
|
+
if (h.arguments[1] && e.isArrayLiteralExpression(h.arguments[1])) {
|
|
228
|
+
i.unrollTadaFragments(h.arguments[1], N, l.buildPluginInfo(t.pluginConfig));
|
|
262
229
|
}
|
|
263
|
-
var
|
|
264
|
-
for (var
|
|
265
|
-
|
|
230
|
+
var D = b;
|
|
231
|
+
for (var F of N) {
|
|
232
|
+
D += "\n\n" + print(F);
|
|
266
233
|
}
|
|
267
|
-
|
|
234
|
+
c[d.getText().slice(1, -1)] = D;
|
|
268
235
|
}
|
|
269
236
|
yield {
|
|
270
237
|
kind: "FILE_PERSISTED",
|
|
271
|
-
filePath:
|
|
272
|
-
documents:
|
|
273
|
-
warnings:
|
|
238
|
+
filePath: o,
|
|
239
|
+
documents: c,
|
|
240
|
+
warnings: m
|
|
274
241
|
};
|
|
275
242
|
}
|
|
276
243
|
}));
|
|
277
244
|
|
|
278
|
-
exports.runPersisted =
|
|
245
|
+
exports.runPersisted = s;
|
|
279
246
|
//# sourceMappingURL=thread-chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-chunk.js","sources":["../../src/commands/generate-persisted/thread.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"thread-chunk.js","sources":["../../src/commands/generate-persisted/thread.ts"],"sourcesContent":["import ts from 'typescript';\nimport { print } from '@0no-co/graphql.web';\n\nimport type { FragmentDefinitionNode } from '@0no-co/graphql.web';\nimport type { GraphQLSPConfig } from '@gql.tada/internal';\n\nimport {\n findAllPersistedCallExpressions,\n getDocumentReferenceFromTypeQuery,\n getDocumentReferenceFromDocumentNode,\n unrollTadaFragments,\n} from '@0no-co/graphqlsp/api';\n\nimport { programFactory } from '../../ts';\nimport { expose } from '../../threads';\n\nimport type { PersistedSignal, PersistedWarning } from './types';\n\nexport interface PersistedParams {\n rootPath: string;\n configPath: string;\n pluginConfig: GraphQLSPConfig;\n}\n\nasync function* _runPersisted(params: PersistedParams): AsyncIterableIterator<PersistedSignal> {\n const factory = programFactory(params);\n\n const externalFiles = factory.createExternalFiles();\n if (externalFiles.length) {\n yield { kind: 'EXTERNAL_WARNING' };\n await factory.addVirtualFiles(externalFiles);\n }\n\n const container = factory.build();\n const sourceFiles = container.getSourceFiles();\n\n yield {\n kind: 'FILE_COUNT',\n fileCount: sourceFiles.length,\n };\n\n for (const sourceFile of sourceFiles) {\n let filePath = sourceFile.fileName;\n const documents: Record<string, string> = {};\n const warnings: PersistedWarning[] = [];\n\n const calls = findAllPersistedCallExpressions(sourceFile);\n for (const call of calls) {\n const position = container.getSourcePosition(sourceFile, call.getStart());\n filePath = position.fileName;\n\n const hashArg = call.arguments[0];\n const docArg = call.arguments[1];\n const typeQuery = call.typeArguments && call.typeArguments[0];\n if (!hashArg || !ts.isStringLiteral(hashArg)) {\n warnings.push({\n message:\n '\"graphql.persisted\" must be called with a string literal as the first argument.',\n file: position.fileName,\n line: position.line,\n col: position.col,\n });\n continue;\n } else if (!docArg && !typeQuery) {\n warnings.push({\n message:\n '\"graphql.persisted\" is missing a document.\\n' +\n 'This may be passed as a generic such as `graphql.persisted<typeof document>` or as the second argument.',\n file: position.fileName,\n line: position.line,\n col: position.col,\n });\n continue;\n }\n\n let foundNode: ts.CallExpression | null = null;\n let referencingNode: ts.Node = call;\n if (docArg && (ts.isCallExpression(docArg) || ts.isIdentifier(docArg))) {\n const result = getDocumentReferenceFromDocumentNode(\n docArg,\n sourceFile.fileName,\n container.buildPluginInfo(params.pluginConfig)\n );\n foundNode = result.node;\n referencingNode = docArg;\n } else if (typeQuery && ts.isTypeQueryNode(typeQuery)) {\n const result = getDocumentReferenceFromTypeQuery(\n typeQuery,\n sourceFile.fileName,\n container.buildPluginInfo(params.pluginConfig)\n );\n foundNode = result.node;\n referencingNode = typeQuery;\n }\n\n if (!foundNode) {\n warnings.push({\n message:\n `Could not find reference for \"${referencingNode.getText()}\".\\n` +\n 'If this is unexpected, please file an issue describing your case.',\n file: position.fileName,\n line: position.line,\n col: position.col,\n });\n continue;\n }\n\n if (\n !foundNode ||\n !ts.isCallExpression(foundNode) ||\n (!ts.isNoSubstitutionTemplateLiteral(foundNode.arguments[0]) &&\n !ts.isStringLiteral(foundNode.arguments[0]))\n ) {\n warnings.push({\n message:\n `The referenced document of \"${referencingNode.getText()}\" contains no document string literal.\\n` +\n 'If this is unexpected, please file an issue describing your case.',\n file: position.fileName,\n line: position.line,\n col: position.col,\n });\n continue;\n }\n\n const fragments: FragmentDefinitionNode[] = [];\n const operation = foundNode.arguments[0].getText().slice(1, -1);\n if (foundNode.arguments[1] && ts.isArrayLiteralExpression(foundNode.arguments[1])) {\n unrollTadaFragments(\n foundNode.arguments[1],\n fragments,\n container.buildPluginInfo(params.pluginConfig)\n );\n }\n\n let document = operation;\n for (const fragment of fragments) document += '\\n\\n' + print(fragment);\n documents[hashArg.getText().slice(1, -1)] = document;\n }\n\n yield {\n kind: 'FILE_PERSISTED',\n filePath,\n documents,\n warnings,\n };\n }\n}\n\nexport const runPersisted = expose(_runPersisted);\n"],"names":["runPersisted","expose","async","_runPersisted","params","factory","programFactory","externalFiles","createExternalFiles","length","kind","addVirtualFiles","container","build","sourceFiles","getSourceFiles","fileCount","sourceFile","filePath","fileName","documents","warnings","calls","findAllPersistedCallExpressions","call","position","getSourcePosition","getStart","hashArg","arguments","docArg","typeQuery","typeArguments","ts","isStringLiteral","push","message","file","line","col","foundNode","referencingNode","isCallExpression","isIdentifier","getDocumentReferenceFromDocumentNode","buildPluginInfo","pluginConfig","node","isTypeQueryNode","getDocumentReferenceFromTypeQuery","getText","isNoSubstitutionTemplateLiteral","fragments","operation","slice","isArrayLiteralExpression","unrollTadaFragments","document","fragment","print"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoJaA,IAAeC,EAAMA,QA5HlCC,gBAAgBC,cAAcC;EAC5B,IAAMC,IAAUC,iBAAeF;EAE/B,IAAMG,IAAgBF,EAAQG;EAC9B,IAAID,EAAcE,QAAQ;UAClB;MAAEC,MAAM;;UACRL,EAAQM,gBAAgBJ;AAChC;EAEA,IAAMK,IAAYP,EAAQQ;EAC1B,IAAMC,IAAcF,EAAUG;QAExB;IACJL,MAAM;IACNM,WAAWF,EAAYL;;EAGzB,KAAK,IAAMQ,KAAcH,GAAa;IACpC,IAAII,IAAWD,EAAWE;IAC1B,IAAMC,IAAoC,CAAA;IAC1C,IAAMC,IAA+B;IAErC,IAAMC,IAAQC,kCAAgCN;IAC9C,KAAK,IAAMO,KAAQF,GAAO;MACxB,IAAMG,IAAWb,EAAUc,kBAAkBT,GAAYO,EAAKG;MAC9DT,IAAWO,EAASN;MAEpB,IAAMS,IAAUJ,EAAKK,UAAU;MAC/B,IAAMC,IAASN,EAAKK,UAAU;MAC9B,IAAME,IAAYP,EAAKQ,iBAAiBR,EAAKQ,cAAc;MAC3D,KAAKJ,MAAYK,EAAGC,gBAAgBN,IAAU;QAC5CP,EAASc,KAAK;UACZC,SACE;UACFC,MAAMZ,EAASN;UACfmB,MAAMb,EAASa;UACfC,KAAKd,EAASc;;QAEhB;AACF,aAAO,KAAKT,MAAWC,GAAW;QAChCV,EAASc,KAAK;UACZC,SACE;UAEFC,MAAMZ,EAASN;UACfmB,MAAMb,EAASa;UACfC,KAAKd,EAASc;;QAEhB;AACF;MAEA,IAAIC,IAAsC;MAC1C,IAAIC,IAA2BjB;MAC/B,IAAIM,MAAWG,EAAGS,iBAAiBZ,MAAWG,EAAGU,aAAab,KAAU;QAMtEU,IALeI,EAAAA,qCACbd,GACAb,EAAWE,UACXP,EAAUiC,gBAAgBzC,EAAO0C,eAEhBC;QACnBN,IAAkBX;AACnB,aAAM,IAAIC,KAAaE,EAAGe,gBAAgBjB,IAAY;QAMrDS,IALeS,EAAAA,kCACblB,GACAd,EAAWE,UACXP,EAAUiC,gBAAgBzC,EAAO0C,eAEhBC;QACnBN,IAAkBV;AACpB;MAEA,KAAKS,GAAW;QACdnB,EAASc,KAAK;UACZC,SACG,iCAAgCK,EAAgBS;UAEnDb,MAAMZ,EAASN;UACfmB,MAAMb,EAASa;UACfC,KAAKd,EAASc;;QAEhB;AACF;MAEA,KACGC,MACAP,EAAGS,iBAAiBF,OACnBP,EAAGkB,gCAAgCX,EAAUX,UAAU,QACtDI,EAAGC,gBAAgBM,EAAUX,UAAU,KAC1C;QACAR,EAASc,KAAK;UACZC,SACG,+BAA8BK,EAAgBS;UAEjDb,MAAMZ,EAASN;UACfmB,MAAMb,EAASa;UACfC,KAAKd,EAASc;;QAEhB;AACF;MAEA,IAAMa,IAAsC;MAC5C,IAAMC,IAAYb,EAAUX,UAAU,GAAGqB,UAAUI,MAAM,IAAI;MAC7D,IAAId,EAAUX,UAAU,MAAMI,EAAGsB,yBAAyBf,EAAUX,UAAU;QAC5E2B,EAAAA,oBACEhB,EAAUX,UAAU,IACpBuB,GACAxC,EAAUiC,gBAAgBzC,EAAO0C;;MAIrC,IAAIW,IAAWJ;MACf,KAAK,IAAMK,KAAYN;QAAWK,KAAY,SAASE,MAAMD;;MAC7DtC,EAAUQ,EAAQsB,UAAUI,MAAM,IAAI,MAAMG;AAC9C;UAEM;MACJ/C,MAAM;MACNQ;MACAE;MACAC;;AAEJ;AACF;;"}
|