UNPKG

@arkts/language-server

Version:
1,054 lines (1,039 loc) 8.47 MB
//#region rolldown:runtime var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __esm = (fn, res) => function() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key$1; i < n; i++) { key$1 = keys[i]; if (!__hasOwnProp.call(to, key$1) && key$1 !== except) __defProp(to, key$1, { get: ((k) => from[k]).bind(null, key$1), enumerable: !(desc = __getOwnPropDesc(from, key$1)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); //#endregion const node_fs = __toESM(require("node:fs")); const node_process = __toESM(require("node:process")); const node_path = __toESM(require("node:path")); const node_util = __toESM(require("node:util")); //#region ../../node_modules/.pnpm/@volar+typescript@2.4.23/node_modules/@volar/typescript/lib/common.js var require_common$2 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+typescript@2.4.23/node_modules/@volar/typescript/lib/common.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveFileLanguageId = resolveFileLanguageId; function resolveFileLanguageId(path$13) { const ext = path$13.split(".").pop(); switch (ext) { case "js": return "javascript"; case "cjs": return "javascript"; case "mjs": return "javascript"; case "ts": return "typescript"; case "cts": return "typescript"; case "mts": return "typescript"; case "jsx": return "javascriptreact"; case "tsx": return "typescriptreact"; case "json": return "json"; } } }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+source-map@2.4.23/node_modules/@volar/source-map/lib/binarySearch.js var require_binarySearch = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+source-map@2.4.23/node_modules/@volar/source-map/lib/binarySearch.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.binarySearch = binarySearch$1; function binarySearch$1(values, searchValue) { let low = 0; let high = values.length - 1; let match; while (low <= high) { const mid = Math.floor((low + high) / 2); const midValue = values[mid]; if (midValue < searchValue) low = mid + 1; else if (midValue > searchValue) high = mid - 1; else { low = mid; high = mid; match = mid; break; } } const finalLow = Math.max(Math.min(low, high, values.length - 1), 0); const finalHigh = Math.min(Math.max(low, high, 0), values.length - 1); return { low: finalLow, high: finalHigh, match }; } }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+source-map@2.4.23/node_modules/@volar/source-map/lib/translateOffset.js var require_translateOffset = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+source-map@2.4.23/node_modules/@volar/source-map/lib/translateOffset.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.translateOffset = translateOffset; let warned = false; function translateOffset(start, fromOffsets, toOffsets, fromLengths, toLengths = fromLengths) { const isSorted = fromOffsets.every((value, index) => index === 0 || fromOffsets[index - 1] <= value); if (!isSorted) { for (let i = 0; i < fromOffsets.length; i++) { const fromOffset = fromOffsets[i]; const fromLength = fromLengths[i]; if (start >= fromOffset && start <= fromOffset + fromLength) { const toLength = toLengths[i]; const toOffset$1 = toOffsets[i]; let rangeOffset = Math.min(start - fromOffset, toLength); return toOffset$1 + rangeOffset; } } if (!warned) { warned = true; console.warn("fromOffsets should be sorted in ascending order"); } } let low = 0; let high = fromOffsets.length - 1; while (low <= high) { const mid = Math.floor((low + high) / 2); const fromOffset = fromOffsets[mid]; const fromLength = fromLengths[mid]; if (start >= fromOffset && start <= fromOffset + fromLength) { const toLength = toLengths[mid]; const toOffset$1 = toOffsets[mid]; let rangeOffset = Math.min(start - fromOffset, toLength); return toOffset$1 + rangeOffset; } else if (start < fromOffset) high = mid - 1; else low = mid + 1; } } }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+source-map@2.4.23/node_modules/@volar/source-map/lib/sourceMap.js var require_sourceMap = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+source-map@2.4.23/node_modules/@volar/source-map/lib/sourceMap.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.SourceMap = void 0; const binarySearch_1 = require_binarySearch(); const translateOffset_1 = require_translateOffset(); var SourceMap = class { constructor(mappings) { this.mappings = mappings; } toSourceRange(generatedStart, generatedEnd, fallbackToAnyMatch, filter) { return this.findMatchingStartEnd(generatedStart, generatedEnd, fallbackToAnyMatch, "generatedOffsets", filter); } toGeneratedRange(sourceStart, sourceEnd, fallbackToAnyMatch, filter) { return this.findMatchingStartEnd(sourceStart, sourceEnd, fallbackToAnyMatch, "sourceOffsets", filter); } toSourceLocation(generatedOffset, filter) { return this.findMatchingOffsets(generatedOffset, "generatedOffsets", filter); } toGeneratedLocation(sourceOffset, filter) { return this.findMatchingOffsets(sourceOffset, "sourceOffsets", filter); } *findMatchingOffsets(offset, fromRange, filter) { const memo = this.getMemoBasedOnRange(fromRange); if (memo.offsets.length === 0) return; const { low: start, high: end } = (0, binarySearch_1.binarySearch)(memo.offsets, offset); const skip = /* @__PURE__ */ new Set(); const toRange$1 = fromRange == "sourceOffsets" ? "generatedOffsets" : "sourceOffsets"; for (let i = start; i <= end; i++) for (const mapping of memo.mappings[i]) { if (skip.has(mapping)) continue; skip.add(mapping); if (filter && !filter(mapping.data)) continue; const mapped = (0, translateOffset_1.translateOffset)(offset, mapping[fromRange], mapping[toRange$1], getLengths(mapping, fromRange), getLengths(mapping, toRange$1)); if (mapped !== void 0) yield [mapped, mapping]; } } *findMatchingStartEnd(start, end, fallbackToAnyMatch, fromRange, filter) { const toRange$1 = fromRange == "sourceOffsets" ? "generatedOffsets" : "sourceOffsets"; const mappedStarts = []; let hadMatch = false; for (const [mappedStart, mapping] of this.findMatchingOffsets(start, fromRange)) { if (filter && !filter(mapping.data)) continue; mappedStarts.push([mappedStart, mapping]); const mappedEnd = (0, translateOffset_1.translateOffset)(end, mapping[fromRange], mapping[toRange$1], getLengths(mapping, fromRange), getLengths(mapping, toRange$1)); if (mappedEnd !== void 0) { hadMatch = true; yield [ mappedStart, mappedEnd, mapping, mapping ]; } } if (!hadMatch && fallbackToAnyMatch) for (const [mappedStart, mappingStart] of mappedStarts) for (const [mappedEnd, mappingEnd] of this.findMatchingOffsets(end, fromRange)) { if (filter && !filter(mappingEnd.data) || mappedEnd < mappedStart) continue; yield [ mappedStart, mappedEnd, mappingStart, mappingEnd ]; break; } } getMemoBasedOnRange(fromRange) { return fromRange === "sourceOffsets" ? this.sourceCodeOffsetsMemo ??= this.createMemo("sourceOffsets") : this.generatedCodeOffsetsMemo ??= this.createMemo("generatedOffsets"); } createMemo(key$1) { const offsetsSet = /* @__PURE__ */ new Set(); for (const mapping of this.mappings) for (let i = 0; i < mapping[key$1].length; i++) { offsetsSet.add(mapping[key$1][i]); offsetsSet.add(mapping[key$1][i] + getLengths(mapping, key$1)[i]); } const offsets = [...offsetsSet].sort((a, b) => a - b); const mappings = offsets.map(() => /* @__PURE__ */ new Set()); for (const mapping of this.mappings) for (let i = 0; i < mapping[key$1].length; i++) { const startIndex = (0, binarySearch_1.binarySearch)(offsets, mapping[key$1][i]).match; const endIndex = (0, binarySearch_1.binarySearch)(offsets, mapping[key$1][i] + getLengths(mapping, key$1)[i]).match; for (let i$1 = startIndex; i$1 <= endIndex; i$1++) mappings[i$1].add(mapping); } return { offsets, mappings }; } }; exports.SourceMap = SourceMap; function getLengths(mapping, key$1) { return key$1 == "sourceOffsets" ? mapping.lengths : mapping.generatedLengths ?? mapping.lengths; } }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+source-map@2.4.23/node_modules/@volar/source-map/index.js var require_source_map$1 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+source-map@2.4.23/node_modules/@volar/source-map/index.js": ((exports) => { var __createBinding$11 = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = { enumerable: true, get: function() { return m[k]; } }; Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar$11 = exports && exports.__exportStar || function(m, exports$1) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$1, p)) __createBinding$11(exports$1, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar$11(require_sourceMap(), exports); __exportStar$11(require_translateOffset(), exports); }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+language-core@2.4.23/node_modules/@volar/language-core/lib/editor.js var require_editor = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+language-core@2.4.23/node_modules/@volar/language-core/lib/editor.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.isHoverEnabled = isHoverEnabled; exports.isInlayHintsEnabled = isInlayHintsEnabled; exports.isCodeLensEnabled = isCodeLensEnabled; exports.isMonikerEnabled = isMonikerEnabled; exports.isInlineValueEnabled = isInlineValueEnabled; exports.isSemanticTokensEnabled = isSemanticTokensEnabled; exports.isCallHierarchyEnabled = isCallHierarchyEnabled; exports.isTypeHierarchyEnabled = isTypeHierarchyEnabled; exports.isRenameEnabled = isRenameEnabled; exports.isDefinitionEnabled = isDefinitionEnabled; exports.isTypeDefinitionEnabled = isTypeDefinitionEnabled; exports.isReferencesEnabled = isReferencesEnabled; exports.isImplementationEnabled = isImplementationEnabled; exports.isHighlightEnabled = isHighlightEnabled; exports.isSymbolsEnabled = isSymbolsEnabled; exports.isFoldingRangesEnabled = isFoldingRangesEnabled; exports.isSelectionRangesEnabled = isSelectionRangesEnabled; exports.isLinkedEditingEnabled = isLinkedEditingEnabled; exports.isColorEnabled = isColorEnabled; exports.isDocumentLinkEnabled = isDocumentLinkEnabled; exports.isDiagnosticsEnabled = isDiagnosticsEnabled; exports.isCodeActionsEnabled = isCodeActionsEnabled; exports.isFormattingEnabled = isFormattingEnabled; exports.isCompletionEnabled = isCompletionEnabled; exports.isAutoInsertEnabled = isAutoInsertEnabled; exports.isSignatureHelpEnabled = isSignatureHelpEnabled; exports.shouldReportDiagnostics = shouldReportDiagnostics; exports.resolveRenameNewName = resolveRenameNewName; exports.resolveRenameEditText = resolveRenameEditText; exports.findOverlapCodeRange = findOverlapCodeRange; function isHoverEnabled(info) { return !!info.semantic; } function isInlayHintsEnabled(info) { return !!info.semantic; } function isCodeLensEnabled(info) { return !!info.semantic; } function isMonikerEnabled(info) { return !!info.semantic; } function isInlineValueEnabled(info) { return !!info.semantic; } function isSemanticTokensEnabled(info) { var _info$semantic$should, _info$semantic; return typeof info.semantic === "object" ? ((_info$semantic$should = (_info$semantic = info.semantic).shouldHighlight) === null || _info$semantic$should === void 0 ? void 0 : _info$semantic$should.call(_info$semantic)) ?? true : !!info.semantic; } function isCallHierarchyEnabled(info) { return !!info.navigation; } function isTypeHierarchyEnabled(info) { return !!info.navigation; } function isRenameEnabled(info) { var _info$navigation$shou, _info$navigation; return typeof info.navigation === "object" ? ((_info$navigation$shou = (_info$navigation = info.navigation).shouldRename) === null || _info$navigation$shou === void 0 ? void 0 : _info$navigation$shou.call(_info$navigation)) ?? true : !!info.navigation; } function isDefinitionEnabled(info) { return !!info.navigation; } function isTypeDefinitionEnabled(info) { return !!info.navigation; } function isReferencesEnabled(info) { return !!info.navigation; } function isImplementationEnabled(info) { return !!info.navigation; } function isHighlightEnabled(info) { var _info$navigation$shou2, _info$navigation2; return typeof info.navigation === "object" ? ((_info$navigation$shou2 = (_info$navigation2 = info.navigation).shouldHighlight) === null || _info$navigation$shou2 === void 0 ? void 0 : _info$navigation$shou2.call(_info$navigation2)) ?? true : !!info.navigation; } function isSymbolsEnabled(info) { return !!info.structure; } function isFoldingRangesEnabled(info) { return !!info.structure; } function isSelectionRangesEnabled(info) { return !!info.structure; } function isLinkedEditingEnabled(info) { return !!info.structure; } function isColorEnabled(info) { return !!info.structure; } function isDocumentLinkEnabled(info) { return !!info.structure; } function isDiagnosticsEnabled(info) { return !!info.verification; } function isCodeActionsEnabled(info) { return !!info.verification; } function isFormattingEnabled(info) { return !!info.format; } function isCompletionEnabled(info) { return !!info.completion; } function isAutoInsertEnabled(info) { return !!info.completion; } function isSignatureHelpEnabled(info) { return !!info.completion; } function shouldReportDiagnostics(info, source$1, code) { var _info$verification$sh, _info$verification; return typeof info.verification === "object" ? ((_info$verification$sh = (_info$verification = info.verification).shouldReport) === null || _info$verification$sh === void 0 ? void 0 : _info$verification$sh.call(_info$verification, source$1, code)) ?? true : !!info.verification; } function resolveRenameNewName(newName, info) { var _info$navigation$reso, _info$navigation3; return typeof info.navigation === "object" ? ((_info$navigation$reso = (_info$navigation3 = info.navigation).resolveRenameNewName) === null || _info$navigation$reso === void 0 ? void 0 : _info$navigation$reso.call(_info$navigation3, newName)) ?? newName : newName; } function resolveRenameEditText(text, info) { var _info$navigation$reso2, _info$navigation4; return typeof info.navigation === "object" ? ((_info$navigation$reso2 = (_info$navigation4 = info.navigation).resolveRenameEditText) === null || _info$navigation$reso2 === void 0 ? void 0 : _info$navigation$reso2.call(_info$navigation4, text)) ?? text : text; } function findOverlapCodeRange(start, end, map$1, filter) { let mappedStart; let mappedEnd; for (const [mapped, mapping] of map$1.toGeneratedLocation(start)) if (filter(mapping.data)) { mappedStart = mapped; break; } for (const [mapped, mapping] of map$1.toGeneratedLocation(end)) if (filter(mapping.data)) { mappedEnd = mapped; break; } if (mappedStart === void 0 || mappedEnd === void 0) { for (const mapping of map$1.mappings) if (filter(mapping.data)) { const mappingStart = mapping.sourceOffsets[0]; const mappingEnd = mapping.sourceOffsets[mapping.sourceOffsets.length - 1] + mapping.lengths[mapping.lengths.length - 1]; const overlap = getOverlapRange(start, end, mappingStart, mappingEnd); if (overlap) { const curMappedStart = overlap.start - mappingStart + mapping.generatedOffsets[0]; const lastGeneratedLength = (mapping.generatedLengths ?? mapping.lengths)[mapping.generatedOffsets.length - 1]; const curMappedEndOffset = Math.min(overlap.end - mapping.sourceOffsets[mapping.sourceOffsets.length - 1], lastGeneratedLength); const curMappedEnd = mapping.generatedOffsets[mapping.generatedOffsets.length - 1] + curMappedEndOffset; mappedStart = mappedStart === void 0 ? curMappedStart : Math.min(mappedStart, curMappedStart); mappedEnd = mappedEnd === void 0 ? curMappedEnd : Math.max(mappedEnd, curMappedEnd); } } } if (mappedStart !== void 0 && mappedEnd !== void 0) return { start: mappedStart, end: mappedEnd }; } function getOverlapRange(range1Start, range1End, range2Start, range2End) { const start = Math.max(range1Start, range2Start); const end = Math.min(range1End, range2End); if (start > end) return void 0; return { start, end }; } }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+language-core@2.4.23/node_modules/@volar/language-core/lib/linkedCodeMap.js var require_linkedCodeMap = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+language-core@2.4.23/node_modules/@volar/language-core/lib/linkedCodeMap.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.LinkedCodeMap = void 0; const source_map_1$1 = require_source_map$1(); var LinkedCodeMap = class extends source_map_1$1.SourceMap { *getLinkedOffsets(start) { for (const mapped of this.toGeneratedLocation(start)) yield mapped[0]; for (const mapped of this.toSourceLocation(start)) yield mapped[0]; } }; exports.LinkedCodeMap = LinkedCodeMap; }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+language-core@2.4.23/node_modules/@volar/language-core/lib/types.js var require_types$2 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+language-core@2.4.23/node_modules/@volar/language-core/lib/types.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+language-core@2.4.23/node_modules/@volar/language-core/lib/utils.js var require_utils$1 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+language-core@2.4.23/node_modules/@volar/language-core/lib/utils.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.FileMap = void 0; var FileMap = class extends Map { constructor(caseSensitive) { super(); this.caseSensitive = caseSensitive; this.originalFileNames = /* @__PURE__ */ new Map(); } keys() { return this.originalFileNames.values(); } get(key$1) { return super.get(this.normalizeId(key$1)); } has(key$1) { return super.has(this.normalizeId(key$1)); } set(key$1, value) { this.originalFileNames.set(this.normalizeId(key$1), key$1); return super.set(this.normalizeId(key$1), value); } delete(key$1) { this.originalFileNames.delete(this.normalizeId(key$1)); return super.delete(this.normalizeId(key$1)); } clear() { this.originalFileNames.clear(); return super.clear(); } normalizeId(id) { return this.caseSensitive ? id : id.toLowerCase(); } }; exports.FileMap = FileMap; }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+language-core@2.4.23/node_modules/@volar/language-core/index.js var require_language_core = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+language-core@2.4.23/node_modules/@volar/language-core/index.js": ((exports) => { var __createBinding$10 = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { if (k2 === void 0) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = { enumerable: true, get: function() { return m[k]; } }; Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === void 0) k2 = k; o[k2] = m[k]; })); var __exportStar$10 = exports && exports.__exportStar || function(m, exports$1) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$1, p)) __createBinding$10(exports$1, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultMapperFactory = exports.SourceMap = void 0; exports.createLanguage = createLanguage; exports.forEachEmbeddedCode = forEachEmbeddedCode; var source_map_1 = require_source_map$1(); Object.defineProperty(exports, "SourceMap", { enumerable: true, get: function() { return source_map_1.SourceMap; } }); __exportStar$10(require_editor(), exports); __exportStar$10(require_linkedCodeMap(), exports); __exportStar$10(require_types$2(), exports); __exportStar$10(require_utils$1(), exports); const source_map_2 = require_source_map$1(); const linkedCodeMap_1 = require_linkedCodeMap(); const defaultMapperFactory = (mappings) => new source_map_2.SourceMap(mappings); exports.defaultMapperFactory = defaultMapperFactory; function createLanguage(plugins, scriptRegistry, sync, onAssociationDirty) { const virtualCodeToSourceScriptMap = /* @__PURE__ */ new WeakMap(); const virtualCodeToSourceMap = /* @__PURE__ */ new WeakMap(); const virtualCodeToLinkedCodeMap = /* @__PURE__ */ new WeakMap(); const language = { mapperFactory: exports.defaultMapperFactory, plugins, scripts: { fromVirtualCode(virtualCode) { return virtualCodeToSourceScriptMap.get(virtualCode); }, get(id, includeFsFiles = true, shouldRegister = false) { sync(id, includeFsFiles, shouldRegister); const result = scriptRegistry.get(id); if (result === null || result === void 0 ? void 0 : result.isAssociationDirty) this.set(id, result.snapshot, result.languageId); return scriptRegistry.get(id); }, set(id, snapshot, languageId, _plugins = plugins) { if (!languageId) for (const plugin of plugins) { var _plugin$getLanguageId; languageId = (_plugin$getLanguageId = plugin.getLanguageId) === null || _plugin$getLanguageId === void 0 ? void 0 : _plugin$getLanguageId.call(plugin, id); if (languageId) break; } if (!languageId) { console.warn(`languageId not found for ${id}`); return; } let associatedOnly = false; for (const plugin of plugins) { var _plugin$isAssociatedF; if ((_plugin$isAssociatedF = plugin.isAssociatedFileOnly) === null || _plugin$isAssociatedF === void 0 ? void 0 : _plugin$isAssociatedF.call(plugin, id, languageId)) { associatedOnly = true; break; } } if (scriptRegistry.has(id)) { const sourceScript = scriptRegistry.get(id); if (sourceScript.languageId !== languageId || sourceScript.associatedOnly !== associatedOnly) { this.delete(id); triggerTargetsDirty(sourceScript); return this.set(id, snapshot, languageId); } else if (associatedOnly) { if (sourceScript.snapshot !== snapshot) { sourceScript.snapshot = snapshot; triggerTargetsDirty(sourceScript); } } else if (sourceScript.isAssociationDirty || sourceScript.snapshot !== snapshot) { if (sourceScript.snapshot !== snapshot) { sourceScript.snapshot = snapshot; triggerTargetsDirty(sourceScript); } const codegenCtx = prepareCreateVirtualCode(sourceScript); if (sourceScript.generated) { const { updateVirtualCode, createVirtualCode: createVirtualCode$1 } = sourceScript.generated.languagePlugin; const newVirtualCode = updateVirtualCode ? updateVirtualCode(id, sourceScript.generated.root, snapshot, codegenCtx) : createVirtualCode$1 === null || createVirtualCode$1 === void 0 ? void 0 : createVirtualCode$1(id, languageId, snapshot, codegenCtx); if (newVirtualCode) { sourceScript.generated.root = newVirtualCode; sourceScript.generated.embeddedCodes.clear(); for (const code of forEachEmbeddedCode(sourceScript.generated.root)) { virtualCodeToSourceScriptMap.set(code, sourceScript); sourceScript.generated.embeddedCodes.set(code.id, code); } return sourceScript; } else { this.delete(id); return; } } } else return sourceScript; } else { const sourceScript = { id, languageId, snapshot, associatedIds: /* @__PURE__ */ new Set(), targetIds: /* @__PURE__ */ new Set(), associatedOnly }; scriptRegistry.set(id, sourceScript); if (associatedOnly) return sourceScript; for (const languagePlugin of _plugins) { var _languagePlugin$creat; const virtualCode = (_languagePlugin$creat = languagePlugin.createVirtualCode) === null || _languagePlugin$creat === void 0 ? void 0 : _languagePlugin$creat.call(languagePlugin, id, languageId, snapshot, prepareCreateVirtualCode(sourceScript)); if (virtualCode) { sourceScript.generated = { root: virtualCode, languagePlugin, embeddedCodes: /* @__PURE__ */ new Map() }; for (const code of forEachEmbeddedCode(virtualCode)) { virtualCodeToSourceScriptMap.set(code, sourceScript); sourceScript.generated.embeddedCodes.set(code.id, code); } break; } } return sourceScript; } }, delete(id) { const sourceScript = scriptRegistry.get(id); if (sourceScript) { var _sourceScript$generat, _sourceScript$generat2, _sourceScript$generat3; (_sourceScript$generat = sourceScript.generated) === null || _sourceScript$generat === void 0 || (_sourceScript$generat3 = (_sourceScript$generat2 = _sourceScript$generat.languagePlugin).disposeVirtualCode) === null || _sourceScript$generat3 === void 0 || _sourceScript$generat3.call(_sourceScript$generat2, id, sourceScript.generated.root); scriptRegistry.delete(id); triggerTargetsDirty(sourceScript); } } }, maps: { get(virtualCode, sourceScript) { let mapCache = virtualCodeToSourceMap.get(virtualCode.snapshot); if (!mapCache) virtualCodeToSourceMap.set(virtualCode.snapshot, mapCache = /* @__PURE__ */ new WeakMap()); if (!mapCache.has(sourceScript.snapshot)) { var _virtualCode$associat; const mappings = ((_virtualCode$associat = virtualCode.associatedScriptMappings) === null || _virtualCode$associat === void 0 ? void 0 : _virtualCode$associat.get(sourceScript.id)) ?? virtualCode.mappings; mapCache.set(sourceScript.snapshot, language.mapperFactory(mappings)); } return mapCache.get(sourceScript.snapshot); }, *forEach(virtualCode) { const sourceScript = virtualCodeToSourceScriptMap.get(virtualCode); yield [sourceScript, this.get(virtualCode, sourceScript)]; if (virtualCode.associatedScriptMappings) for (const [relatedScriptId] of virtualCode.associatedScriptMappings) { const relatedSourceScript = scriptRegistry.get(relatedScriptId); if (relatedSourceScript) yield [relatedSourceScript, this.get(virtualCode, relatedSourceScript)]; } } }, linkedCodeMaps: { get(virtualCode) { const sourceScript = virtualCodeToSourceScriptMap.get(virtualCode); let mapCache = virtualCodeToLinkedCodeMap.get(virtualCode.snapshot); if ((mapCache === null || mapCache === void 0 ? void 0 : mapCache[0]) !== sourceScript.snapshot) virtualCodeToLinkedCodeMap.set(virtualCode.snapshot, mapCache = [sourceScript.snapshot, virtualCode.linkedCodeMappings ? new linkedCodeMap_1.LinkedCodeMap(virtualCode.linkedCodeMappings) : void 0]); return mapCache[1]; } } }; return language; function triggerTargetsDirty(sourceScript) { sourceScript.targetIds.forEach((id) => { const sourceScript$1 = scriptRegistry.get(id); if (sourceScript$1) { sourceScript$1.isAssociationDirty = true; onAssociationDirty === null || onAssociationDirty === void 0 || onAssociationDirty(sourceScript$1.id); } }); } function prepareCreateVirtualCode(sourceScript) { for (const id of sourceScript.associatedIds) { var _scriptRegistry$get; (_scriptRegistry$get = scriptRegistry.get(id)) === null || _scriptRegistry$get === void 0 || _scriptRegistry$get.targetIds.delete(sourceScript.id); } sourceScript.associatedIds.clear(); sourceScript.isAssociationDirty = false; return { getAssociatedScript(id) { sync(id, true, true); const relatedSourceScript = scriptRegistry.get(id); if (relatedSourceScript) { relatedSourceScript.targetIds.add(sourceScript.id); sourceScript.associatedIds.add(relatedSourceScript.id); } return relatedSourceScript; } }; } } function* forEachEmbeddedCode(virtualCode) { yield virtualCode; if (virtualCode.embeddedCodes) for (const embeddedCode of virtualCode.embeddedCodes) yield* forEachEmbeddedCode(embeddedCode); } }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+typescript@2.4.23/node_modules/@volar/typescript/lib/node/dedupe.js var require_dedupe$1 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+typescript@2.4.23/node_modules/@volar/typescript/lib/node/dedupe.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.dedupeDocumentSpans = dedupeDocumentSpans; function dedupeDocumentSpans(items) { return dedupe$10(items, (item) => [ item.fileName, item.textSpan.start, item.textSpan.length ].join(":")); } function dedupe$10(items, getKey) { const map$1 = /* @__PURE__ */ new Map(); for (const item of items.reverse()) map$1.set(getKey(item), item); return [...map$1.values()]; } }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+typescript@2.4.23/node_modules/@volar/typescript/lib/node/utils.js var require_utils = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+typescript@2.4.23/node_modules/@volar/typescript/lib/node/utils.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.getServiceScript = getServiceScript; function getServiceScript(language, fileName) { const sourceScript = language.scripts.get(fileName); if (sourceScript === null || sourceScript === void 0 ? void 0 : sourceScript.targetIds.size) for (const targetId of sourceScript.targetIds) { const targetScript = language.scripts.get(targetId); if (targetScript === null || targetScript === void 0 ? void 0 : targetScript.generated) { var _targetScript$generat; const serviceScript = (_targetScript$generat = targetScript.generated.languagePlugin.typescript) === null || _targetScript$generat === void 0 ? void 0 : _targetScript$generat.getServiceScript(targetScript.generated.root); if (serviceScript) return [ serviceScript, targetScript, sourceScript ]; } } if (sourceScript === null || sourceScript === void 0 ? void 0 : sourceScript.associatedOnly) return [ void 0, sourceScript, sourceScript ]; if (sourceScript === null || sourceScript === void 0 ? void 0 : sourceScript.generated) { var _sourceScript$generat; const serviceScript = (_sourceScript$generat = sourceScript.generated.languagePlugin.typescript) === null || _sourceScript$generat === void 0 ? void 0 : _sourceScript$generat.getServiceScript(sourceScript.generated.root); if (serviceScript) return [ serviceScript, sourceScript, sourceScript ]; } return [ void 0, void 0, void 0 ]; } }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+typescript@2.4.23/node_modules/@volar/typescript/lib/node/transform.js var require_transform$1 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+typescript@2.4.23/node_modules/@volar/typescript/lib/node/transform.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.transformCallHierarchyItem = transformCallHierarchyItem; exports.transformDiagnostic = transformDiagnostic$1; exports.fillSourceFileText = fillSourceFileText; exports.transformFileTextChanges = transformFileTextChanges; exports.transformDocumentSpan = transformDocumentSpan; exports.transformSpan = transformSpan; exports.transformTextChange = transformTextChange; exports.transformTextSpan = transformTextSpan; exports.toSourceOffset = toSourceOffset; exports.toSourceRanges = toSourceRanges; exports.toSourceOffsets = toSourceOffsets; exports.toGeneratedRange = toGeneratedRange; exports.toGeneratedRanges = toGeneratedRanges; exports.toGeneratedOffset = toGeneratedOffset; exports.toGeneratedOffsets = toGeneratedOffsets; exports.getMappingOffset = getMappingOffset; const language_core_1$30 = require_language_core(); const utils_1$2 = require_utils(); const transformedDiagnostics = /* @__PURE__ */ new WeakMap(); const transformedSourceFile = /* @__PURE__ */ new WeakSet(); /** * This file contains a number of facilities for transforming `ts.Diagnostic`s returned * from the base TypeScript LanguageService, which reference locations in generated * TS code (e.g. the TypeScript codegen'd from the script portion of a .vue file) into locations * in the script portion of the .vue file. */ function transformCallHierarchyItem(language, item, fallbackToAnyMatch, filter) { const span = transformSpan(language, item.file, item.span, fallbackToAnyMatch, filter); const selectionSpan = transformSpan(language, item.file, item.selectionSpan, fallbackToAnyMatch, filter); return { ...item, file: (span === null || span === void 0 ? void 0 : span.fileName) ?? item.file, span: (span === null || span === void 0 ? void 0 : span.textSpan) ?? { start: 0, length: 0 }, selectionSpan: (selectionSpan === null || selectionSpan === void 0 ? void 0 : selectionSpan.textSpan) ?? { start: 0, length: 0 } }; } function transformDiagnostic$1(language, diagnostic, program, isTsc) { if (!transformedDiagnostics.has(diagnostic)) { transformedDiagnostics.set(diagnostic, void 0); const { relatedInformation } = diagnostic; if (relatedInformation) diagnostic.relatedInformation = relatedInformation.map((d) => transformDiagnostic$1(language, d, program, isTsc)).filter((d) => !!d); if (diagnostic.file !== void 0 && diagnostic.start !== void 0 && diagnostic.length !== void 0) { const [serviceScript] = (0, utils_1$2.getServiceScript)(language, diagnostic.file.fileName); if (serviceScript) { const [sourceSpanFileName, sourceSpan] = transformTextSpan(void 0, language, serviceScript, { start: diagnostic.start, length: diagnostic.length }, true, (data) => (0, language_core_1$30.shouldReportDiagnostics)(data, String(diagnostic.source), String(diagnostic.code))) ?? []; const actualDiagnosticFile = sourceSpanFileName ? diagnostic.file.fileName === sourceSpanFileName ? diagnostic.file : program === null || program === void 0 ? void 0 : program.getSourceFile(sourceSpanFileName) : void 0; if (sourceSpan && actualDiagnosticFile) { if (isTsc) fillSourceFileText(language, diagnostic.file); transformedDiagnostics.set(diagnostic, { ...diagnostic, file: actualDiagnosticFile, start: sourceSpan.start, length: sourceSpan.length }); } } else transformedDiagnostics.set(diagnostic, diagnostic); } else transformedDiagnostics.set(diagnostic, diagnostic); } return transformedDiagnostics.get(diagnostic); } function fillSourceFileText(language, sourceFile) { if (transformedSourceFile.has(sourceFile)) return; transformedSourceFile.add(sourceFile); const [serviceScript] = (0, utils_1$2.getServiceScript)(language, sourceFile.fileName); if (serviceScript && !serviceScript.preventLeadingOffset) { const sourceScript = language.scripts.fromVirtualCode(serviceScript.code); sourceFile.text = sourceScript.snapshot.getText(0, sourceScript.snapshot.getLength()) + sourceFile.text.substring(sourceScript.snapshot.getLength()); } } function transformFileTextChanges(language, changes, fallbackToAnyMatch, filter) { const changesPerFile = {}; const newFiles = /* @__PURE__ */ new Set(); for (const fileChanges of changes) { const [_, source$1] = (0, utils_1$2.getServiceScript)(language, fileChanges.fileName); if (source$1) fileChanges.textChanges.forEach((c$1) => { const { fileName, textSpan } = transformSpan(language, fileChanges.fileName, c$1.span, fallbackToAnyMatch, filter) ?? {}; if (fileName && textSpan) (changesPerFile[fileName] ?? (changesPerFile[fileName] = [])).push({ ...c$1, span: textSpan }); }); else { const list = changesPerFile[fileChanges.fileName] ?? (changesPerFile[fileChanges.fileName] = []); fileChanges.textChanges.forEach((c$1) => { list.push(c$1); }); if (fileChanges.isNewFile) newFiles.add(fileChanges.fileName); } } const result = []; for (const fileName in changesPerFile) result.push({ fileName, isNewFile: newFiles.has(fileName), textChanges: changesPerFile[fileName] }); return result; } function transformDocumentSpan(language, documentSpan, fallbackToAnyMatch, filter, shouldFallback) { let textSpan = transformSpan(language, documentSpan.fileName, documentSpan.textSpan, fallbackToAnyMatch, filter); if (!textSpan && shouldFallback) textSpan = { fileName: documentSpan.fileName, textSpan: { start: 0, length: 0 } }; if (!textSpan) return; const contextSpan = transformSpan(language, documentSpan.fileName, documentSpan.contextSpan, fallbackToAnyMatch, filter); const originalTextSpan = transformSpan(language, documentSpan.originalFileName, documentSpan.originalTextSpan, fallbackToAnyMatch, filter); const originalContextSpan = transformSpan(language, documentSpan.originalFileName, documentSpan.originalContextSpan, fallbackToAnyMatch, filter); return { ...documentSpan, fileName: textSpan.fileName, textSpan: textSpan.textSpan, contextSpan: contextSpan === null || contextSpan === void 0 ? void 0 : contextSpan.textSpan, originalFileName: originalTextSpan === null || originalTextSpan === void 0 ? void 0 : originalTextSpan.fileName, originalTextSpan: originalTextSpan === null || originalTextSpan === void 0 ? void 0 : originalTextSpan.textSpan, originalContextSpan: originalContextSpan === null || originalContextSpan === void 0 ? void 0 : originalContextSpan.textSpan }; } function transformSpan(language, fileName, textSpan, fallbackToAnyMatch, filter) { if (!fileName || !textSpan) return; const [serviceScript] = (0, utils_1$2.getServiceScript)(language, fileName); if (serviceScript) { const [sourceSpanFileName, sourceSpan] = transformTextSpan(void 0, language, serviceScript, textSpan, fallbackToAnyMatch, filter) ?? []; if (sourceSpan && sourceSpanFileName) return { fileName: sourceSpanFileName, textSpan: sourceSpan }; } else return { fileName, textSpan }; } function transformTextChange(sourceScript, language, serviceScript, textChange, fallbackToAnyMatch, filter) { const [sourceSpanFileName, sourceSpan] = transformTextSpan(sourceScript, language, serviceScript, textChange.span, fallbackToAnyMatch, filter) ?? []; if (sourceSpan && sourceSpanFileName) return [sourceSpanFileName, { newText: textChange.newText, span: sourceSpan }]; return void 0; } function transformTextSpan(sourceScript, language, serviceScript, textSpan, fallbackToAnyMatch, filter) { const start = textSpan.start; const end = textSpan.start + textSpan.length; for (const [fileName, sourceStart, sourceEnd] of toSourceRanges(sourceScript, language, serviceScript, start, end, fallbackToAnyMatch, filter)) return [fileName, { start: sourceStart, length: sourceEnd - sourceStart }]; } function toSourceOffset(sourceScript, language, serviceScript, position, filter) { for (const source$1 of toSourceOffsets(sourceScript, language, serviceScript, position, filter)) return source$1; } function* toSourceRanges(sourceScript, language, serviceScript, start, end, fallbackToAnyMatch, filter) { if (sourceScript) { const map$1 = language.maps.get(serviceScript.code, sourceScript); for (const [sourceStart, sourceEnd] of map$1.toSourceRange(start - getMappingOffset(language, serviceScript), end - getMappingOffset(language, serviceScript), fallbackToAnyMatch, filter)) yield [ sourceScript.id, sourceStart, sourceEnd ]; } else for (const [sourceScript$1, map$1] of language.maps.forEach(serviceScript.code)) for (const [sourceStart, sourceEnd] of map$1.toSourceRange(start - getMappingOffset(language, serviceScript), end - getMappingOffset(language, serviceScript), fallbackToAnyMatch, filter)) yield [ sourceScript$1.id, sourceStart, sourceEnd ]; } function* toSourceOffsets(sourceScript, language, serviceScript, position, filter) { if (sourceScript) { const map$1 = language.maps.get(serviceScript.code, sourceScript); for (const [sourceOffset, mapping] of map$1.toSourceLocation(position - getMappingOffset(language, serviceScript))) if (filter(mapping.data)) yield [sourceScript.id, sourceOffset]; } else for (const [sourceScript$1, map$1] of language.maps.forEach(serviceScript.code)) for (const [sourceOffset, mapping] of map$1.toSourceLocation(position - getMappingOffset(language, serviceScript))) if (filter(mapping.data)) yield [sourceScript$1.id, sourceOffset]; } function toGeneratedRange(language, serviceScript, sourceScript, start, end, filter) { for (const result of toGeneratedRanges(language, serviceScript, sourceScript, start, end, filter)) return result; } function* toGeneratedRanges(language, serviceScript, sourceScript, start, end, filter) { const map$1 = language.maps.get(serviceScript.code, sourceScript); for (const [generateStart, generateEnd] of map$1.toGeneratedRange(start, end, true, filter)) yield [generateStart + getMappingOffset(language, serviceScript), generateEnd + getMappingOffset(language, serviceScript)]; } function toGeneratedOffset(language, serviceScript, sourceScript, position, filter) { for (const [generateOffset] of toGeneratedOffsets(language, serviceScript, sourceScript, position, filter)) return generateOffset; } function* toGeneratedOffsets(language, serviceScript, sourceScript, position, filter) { const map$1 = language.maps.get(serviceScript.code, sourceScript); for (const [generateOffset, mapping] of map$1.toGeneratedLocation(position)) if (filter(mapping.data)) yield [generateOffset + getMappingOffset(language, serviceScript), mapping]; } function getMappingOffset(language, serviceScript) { if (serviceScript.preventLeadingOffset) return 0; const sourceScript = language.scripts.fromVirtualCode(serviceScript.code); return sourceScript.snapshot.getLength(); } }) }); //#endregion //#region ../../node_modules/.pnpm/@volar+typescript@2.4.23/node_modules/@volar/typescript/lib/node/proxyLanguageService.js var require_proxyLanguageService = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@volar+typescript@2.4.23/node_modules/@volar/typescript/lib/node/proxyLanguageService.js": ((exports) => { Object.defineProperty(exports, "__esModule", { value: true }); exports.createProxyLanguageService = createProxyLanguageService; const language_core_1$29 = require_language_core(); const dedupe_1 = require_dedupe$1(); const transform_1$16 = require_transform$1(); const utils_1$1 = require_utils(); const windowsPathReg = /\\/g; /** * Creates and returns a Proxy around the base TypeScript LanguageService. * * This is used by the Volar TypeScript Plugin (which can be created by `createLanguageServicePlugin` * and `createAsyncLanguageServicePlugin`) as an adapter layer between the TypeScript Language Service * plugin API (see https://github.com/microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin) * and a Volar `Language`. * * Once the `initialize` method is called, the proxy will begin intercepting requests and * enhancing the default behavior of the LanguageService with enhancements based on * the Volar `Language` that has been passed to `initialize`. */ function createProxyLanguageService(languageService) { const proxyCache = /* @__PURE__ */ new Map(); let getProxyMethod; return { initialize(language) { getProxyMethod = (target, p) => { switch (p) { case "getNavigationTree": return getNavigationTree(language, target[p]); case "getOutliningSpans": return getOutliningSpans(language, target[p]); case "getFormattingEditsForDocument": return getFormattingEditsForDocument(language, target[p]); case "getFormattingEditsForRange": return getFormattingEditsForRange(language, target[p]); case "getFormattingEditsAfterKeystroke": return getFormattingEditsAfterKeystroke(language, target[p]); case "getEditsForFileRename": return getEditsForFileRename(language, target[p]); case "getLinkedEditingRangeAtPosition": return getLinkedEditingRangeAtPosition(language, target[p]); case "prepareCallHierarchy": return prepareCallHierarchy(language, target[p]); case "provideCallHierarchyIncomingCalls": return provideCallHierarchyIncomingCalls(language, target[p]); case "provideCallHierarchyOutgoingCalls": return provideCallHierarchyOutgoingCalls(language, target[p]); case "organizeImports": return organizeImports(language, target[p]); case "getQuickInfoAtPosition": return getQuickInfoAtPosition(language, target[p]); case "getSignatureHelpItems": return getSignatureHelpItems(language, target[p]); case "getDocumentHighlights": return getDocumentHighlights(language, target[p]); case "getApplicableRefactors": return getApplicableRefactors(language, target[p]); case "getEditsForRefactor": return getEditsForRefactor(language, target[p]); case "getCombinedCodeFix": return getCombinedCodeFix(language, target[p]); case "getRenameInfo": return getRenameInfo(language, target[p]); case "getCodeFixesAtPosition": return getCodeFixesAtPosition(language, target[p]); case "getEncodedSemanticClassifications": return getEncodedSemanticClassifications(language, target[p]); case "getSyntacticDiagnostics": return getSyntacticDiagnostics(language, languageService, target[p]); case "getSemanticDiagnostics": return getSemanticDiagnostics(language, languageService, target[p]); case "getSuggestionDiagnostics": return getSuggestionDiagnostics(language, languageService, target[p]); case "getDefinitionAndBoundSpan": return getDefinitionAndBoundSpan(language, target[p]); case "findReferences": return findReferences(language, target[p]); case "getDefinitionAtPosition": return getDefinitionAtPosition(language, target[p]); case "getTypeDefinitionAtPosition": return getTypeDefinitionAtPosition(language, target[p]); case "getImplementationAtPosition": return getImplementationAtPosition(language, target[p]); case "findRenameLocations": return findRenameLocations(language, target[p]); case "getReferencesAtPosition": return getReferencesAtPosition(language, target[p]); case "getCompletionsAtPosition": return getCompletionsAtPosition(language, target[p]); case "getCompletionEntryDetails": return getCompletionEntryDetails(language, target[p]); case "provideInlayHints": return provideInlayHints(language, target[p]); case "getFileReferences": return getFileReferences(language, target[p]); case "getNavigateToItems": return getNavigateToItems(language, target[p]); } }; }, proxy: new Proxy(languageService, { get(target, p, receiver) { if (getProxyMethod) { if (!proxyCache.has(p)) proxyCache.set(p, getProxyMethod(target, p)); const proxyMethod = proxyCache.get(p); if (proxyMethod) return proxyMethod; } return Reflect.get(target, p, receiver); }, set(target, p, value, receiver) { return Reflect.set(target, p, value, receiver); } }) }; } function getNavigationTree(language, getNavigationTree$1) { return (filePath) => { const fileName = filePath.replace(windowsPathReg, "/"); const [serviceScript, targetScript] = (0, utils_1$1.getServiceScript)(language, fileName); if (serviceScript || (targetScript === null || targetScript === void 0 ? void 0 : targetScript.associatedOnly)) { const tree = getNavigationTree$1(targetScript.id); tree.childItems = void 0; return tree; } else return getNavigationTree$1(fileName); }; } function getOutliningSpans(language, getOutliningSpans$1) { return (filePath) => { const fileName = filePath.replace(windowsPathReg, "/"); const [serviceScript, targetScript] = (0, utils_1$1.getServiceScript)(languag