@eclipse-docks/extension-monaco-editor 0.8.10 → 0.8.11
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/dist/{cssMode-C0DY-xOF.js → cssMode-WhyC7WN7.js} +2 -2
- package/dist/cssMode-WhyC7WN7.js.map +1 -0
- package/dist/{htmlMode-C96hxfYb.js → htmlMode-jz8KjPWy.js} +2 -2
- package/dist/htmlMode-jz8KjPWy.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/{jsonMode-D1ocs_c3.js → jsonMode-COhY_wSh.js} +2 -2
- package/dist/jsonMode-COhY_wSh.js.map +1 -0
- package/dist/{monaco-editor-BplIrm9e.js → monaco-editor-Dq4CT90-.js} +2 -2
- package/dist/{monaco-editor-BplIrm9e.js.map → monaco-editor-Dq4CT90-.js.map} +1 -1
- package/dist/{monaco-editor-extension-CgqbkH2f.js → monaco-editor-extension-D3ofvJeE.js} +2 -2
- package/dist/{monaco-editor-extension-CgqbkH2f.js.map → monaco-editor-extension-D3ofvJeE.js.map} +1 -1
- package/dist/{monaco-widget-CPYnLHgO.js → monaco-widget-vQSNeFxK.js} +5 -45
- package/dist/{monaco-widget-CPYnLHgO.js.map → monaco-widget-vQSNeFxK.js.map} +1 -1
- package/dist/monaco-widget.d.ts.map +1 -1
- package/dist/{register-BJVDE20s.js → register-DIVg7sKY.js} +2 -2
- package/dist/{register-BJVDE20s.js.map → register-DIVg7sKY.js.map} +1 -1
- package/dist/{tsMode-DeJ-HdLq.js → tsMode-DgFHl-em.js} +3 -3
- package/dist/tsMode-DgFHl-em.js.map +1 -0
- package/dist/widget.js +1 -1
- package/package.json +1 -1
- package/dist/assets/editor.worker-bQAJ25qk.js +0 -15909
- package/dist/assets/editor.worker-bQAJ25qk.js.map +0 -1
- package/dist/cssMode-C0DY-xOF.js.map +0 -1
- package/dist/htmlMode-C96hxfYb.js.map +0 -1
- package/dist/jsonMode-D1ocs_c3.js.map +0 -1
- package/dist/tsMode-DeJ-HdLq.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cssMode-C0DY-xOF.js","names":[],"sources":["../../../node_modules/monaco-editor/esm/vs/languages/features/css/workerManager.js","../../../node_modules/monaco-editor/esm/vs/languages/features/css/cssMode.js"],"sourcesContent":["import { createWebWorker } from '../../../internal/common/workers.js';\n\nconst STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;\nclass WorkerManager {\n constructor(defaults) {\n this._defaults = defaults;\n this._worker = null;\n this._client = null;\n this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);\n this._lastUsedTime = 0;\n this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());\n }\n _stopWorker() {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n }\n dispose() {\n clearInterval(this._idleCheckInterval);\n this._configChangeListener.dispose();\n this._stopWorker();\n }\n _checkIfIdle() {\n if (!this._worker) {\n return;\n }\n let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;\n if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {\n this._stopWorker();\n }\n }\n _getClient() {\n this._lastUsedTime = Date.now();\n if (!this._client) {\n this._worker = createWebWorker({\n // module that exports the create() method and returns a `CSSWorker` instance\n moduleId: \"vs/language/css/cssWorker\",\n createWorker: () => new Worker(new URL('css.worker.js', import.meta.url), { type: \"module\" }),\n label: this._defaults.languageId,\n // passed in to the create() method\n createData: {\n options: this._defaults.options,\n languageId: this._defaults.languageId\n }\n });\n this._client = this._worker.getProxy();\n }\n return this._client;\n }\n getLanguageServiceWorker(...resources) {\n let _client;\n return this._getClient().then((client) => {\n _client = client;\n }).then((_) => {\n if (this._worker) {\n return this._worker.withSyncedResources(resources);\n }\n }).then((_) => _client);\n }\n}\n\nexport { WorkerManager };\n","import { WorkerManager } from './workerManager.js';\nimport { CompletionAdapter, HoverAdapter, DocumentHighlightAdapter, DefinitionAdapter, ReferenceAdapter, DocumentSymbolAdapter, RenameAdapter, DocumentColorAdapter, FoldingRangeAdapter, DiagnosticsAdapter, SelectionRangeAdapter, DocumentFormattingEditProvider, DocumentRangeFormattingEditProvider } from '../common/lspLanguageFeatures.js';\nexport { DocumentLinkAdapter, fromPosition, fromRange, toRange, toTextEdit } from '../common/lspLanguageFeatures.js';\nimport { languages } from '../../../editor/editor.api.js';\n\nfunction setupMode(defaults) {\n const disposables = [];\n const providers = [];\n const client = new WorkerManager(defaults);\n disposables.push(client);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n function registerProviders() {\n const { languageId, modeConfiguration } = defaults;\n disposeAll(providers);\n if (modeConfiguration.completionItems) {\n providers.push(\n languages.registerCompletionItemProvider(\n languageId,\n new CompletionAdapter(worker, [\"/\", \"-\", \":\"])\n )\n );\n }\n if (modeConfiguration.hovers) {\n providers.push(\n languages.registerHoverProvider(languageId, new HoverAdapter(worker))\n );\n }\n if (modeConfiguration.documentHighlights) {\n providers.push(\n languages.registerDocumentHighlightProvider(\n languageId,\n new DocumentHighlightAdapter(worker)\n )\n );\n }\n if (modeConfiguration.definitions) {\n providers.push(\n languages.registerDefinitionProvider(\n languageId,\n new DefinitionAdapter(worker)\n )\n );\n }\n if (modeConfiguration.references) {\n providers.push(\n languages.registerReferenceProvider(\n languageId,\n new ReferenceAdapter(worker)\n )\n );\n }\n if (modeConfiguration.documentSymbols) {\n providers.push(\n languages.registerDocumentSymbolProvider(\n languageId,\n new DocumentSymbolAdapter(worker)\n )\n );\n }\n if (modeConfiguration.rename) {\n providers.push(\n languages.registerRenameProvider(languageId, new RenameAdapter(worker))\n );\n }\n if (modeConfiguration.colors) {\n providers.push(\n languages.registerColorProvider(\n languageId,\n new DocumentColorAdapter(worker)\n )\n );\n }\n if (modeConfiguration.foldingRanges) {\n providers.push(\n languages.registerFoldingRangeProvider(\n languageId,\n new FoldingRangeAdapter(worker)\n )\n );\n }\n if (modeConfiguration.diagnostics) {\n providers.push(\n new DiagnosticsAdapter(languageId, worker, defaults.onDidChange)\n );\n }\n if (modeConfiguration.selectionRanges) {\n providers.push(\n languages.registerSelectionRangeProvider(\n languageId,\n new SelectionRangeAdapter(worker)\n )\n );\n }\n if (modeConfiguration.documentFormattingEdits) {\n providers.push(\n languages.registerDocumentFormattingEditProvider(\n languageId,\n new DocumentFormattingEditProvider(worker)\n )\n );\n }\n if (modeConfiguration.documentRangeFormattingEdits) {\n providers.push(\n languages.registerDocumentRangeFormattingEditProvider(\n languageId,\n new DocumentRangeFormattingEditProvider(worker)\n )\n );\n }\n }\n registerProviders();\n disposables.push(asDisposable(providers));\n return asDisposable(disposables);\n}\nfunction asDisposable(disposables) {\n return { dispose: () => disposeAll(disposables) };\n}\nfunction disposeAll(disposables) {\n while (disposables.length) {\n disposables.pop().dispose();\n }\n}\n\nexport { CompletionAdapter, DefinitionAdapter, DiagnosticsAdapter, DocumentColorAdapter, DocumentFormattingEditProvider, DocumentHighlightAdapter, DocumentRangeFormattingEditProvider, DocumentSymbolAdapter, FoldingRangeAdapter, HoverAdapter, ReferenceAdapter, RenameAdapter, SelectionRangeAdapter, WorkerManager, setupMode };\n"],"ignoreList":[0,1],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"htmlMode-C96hxfYb.js","names":[],"sources":["../../../node_modules/monaco-editor/esm/vs/languages/features/html/workerManager.js","../../../node_modules/monaco-editor/esm/vs/languages/features/html/htmlMode.js"],"sourcesContent":["import { createWebWorker } from '../../../internal/common/workers.js';\n\nconst STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;\nclass WorkerManager {\n constructor(defaults) {\n this._defaults = defaults;\n this._worker = null;\n this._client = null;\n this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);\n this._lastUsedTime = 0;\n this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());\n }\n _stopWorker() {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n }\n dispose() {\n clearInterval(this._idleCheckInterval);\n this._configChangeListener.dispose();\n this._stopWorker();\n }\n _checkIfIdle() {\n if (!this._worker) {\n return;\n }\n let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;\n if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {\n this._stopWorker();\n }\n }\n _getClient() {\n this._lastUsedTime = Date.now();\n if (!this._client) {\n this._worker = createWebWorker({\n // module that exports the create() method and returns a `HTMLWorker` instance\n moduleId: \"vs/language/html/htmlWorker\",\n createWorker: () => new Worker(new URL('html.worker.js', import.meta.url), { type: \"module\" }),\n // passed in to the create() method\n createData: {\n languageSettings: this._defaults.options,\n languageId: this._defaults.languageId\n },\n label: this._defaults.languageId\n });\n this._client = this._worker.getProxy();\n }\n return this._client;\n }\n getLanguageServiceWorker(...resources) {\n let _client;\n return this._getClient().then((client) => {\n _client = client;\n }).then((_) => {\n if (this._worker) {\n return this._worker.withSyncedResources(resources);\n }\n }).then((_) => _client);\n }\n}\n\nexport { WorkerManager };\n","import { WorkerManager } from './workerManager.js';\nimport { HoverAdapter, DocumentHighlightAdapter, DocumentLinkAdapter, FoldingRangeAdapter, DocumentSymbolAdapter, SelectionRangeAdapter, RenameAdapter, DocumentFormattingEditProvider, DocumentRangeFormattingEditProvider, CompletionAdapter } from '../common/lspLanguageFeatures.js';\nexport { DefinitionAdapter, DiagnosticsAdapter, DocumentColorAdapter, ReferenceAdapter, fromPosition, fromRange, toRange, toTextEdit } from '../common/lspLanguageFeatures.js';\nimport { languages } from '../../../editor/editor.api.js';\n\nclass HTMLCompletionAdapter extends CompletionAdapter {\n constructor(worker) {\n super(worker, [\".\", \":\", \"<\", '\"', \"=\", \"/\"]);\n }\n}\nfunction setupMode1(defaults) {\n const client = new WorkerManager(defaults);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n let languageId = defaults.languageId;\n languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker));\n languages.registerHoverProvider(languageId, new HoverAdapter(worker));\n languages.registerDocumentHighlightProvider(\n languageId,\n new DocumentHighlightAdapter(worker)\n );\n languages.registerLinkProvider(languageId, new DocumentLinkAdapter(worker));\n languages.registerFoldingRangeProvider(\n languageId,\n new FoldingRangeAdapter(worker)\n );\n languages.registerDocumentSymbolProvider(\n languageId,\n new DocumentSymbolAdapter(worker)\n );\n languages.registerSelectionRangeProvider(\n languageId,\n new SelectionRangeAdapter(worker)\n );\n languages.registerRenameProvider(languageId, new RenameAdapter(worker));\n if (languageId === \"html\") {\n languages.registerDocumentFormattingEditProvider(\n languageId,\n new DocumentFormattingEditProvider(worker)\n );\n languages.registerDocumentRangeFormattingEditProvider(\n languageId,\n new DocumentRangeFormattingEditProvider(worker)\n );\n }\n}\nfunction setupMode(defaults) {\n const disposables = [];\n const providers = [];\n const client = new WorkerManager(defaults);\n disposables.push(client);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n function registerProviders() {\n const { languageId, modeConfiguration } = defaults;\n disposeAll(providers);\n if (modeConfiguration.completionItems) {\n providers.push(\n languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker))\n );\n }\n if (modeConfiguration.hovers) {\n providers.push(\n languages.registerHoverProvider(languageId, new HoverAdapter(worker))\n );\n }\n if (modeConfiguration.documentHighlights) {\n providers.push(\n languages.registerDocumentHighlightProvider(\n languageId,\n new DocumentHighlightAdapter(worker)\n )\n );\n }\n if (modeConfiguration.links) {\n providers.push(\n languages.registerLinkProvider(languageId, new DocumentLinkAdapter(worker))\n );\n }\n if (modeConfiguration.documentSymbols) {\n providers.push(\n languages.registerDocumentSymbolProvider(\n languageId,\n new DocumentSymbolAdapter(worker)\n )\n );\n }\n if (modeConfiguration.rename) {\n providers.push(\n languages.registerRenameProvider(languageId, new RenameAdapter(worker))\n );\n }\n if (modeConfiguration.foldingRanges) {\n providers.push(\n languages.registerFoldingRangeProvider(\n languageId,\n new FoldingRangeAdapter(worker)\n )\n );\n }\n if (modeConfiguration.selectionRanges) {\n providers.push(\n languages.registerSelectionRangeProvider(\n languageId,\n new SelectionRangeAdapter(worker)\n )\n );\n }\n if (modeConfiguration.documentFormattingEdits) {\n providers.push(\n languages.registerDocumentFormattingEditProvider(\n languageId,\n new DocumentFormattingEditProvider(worker)\n )\n );\n }\n if (modeConfiguration.documentRangeFormattingEdits) {\n providers.push(\n languages.registerDocumentRangeFormattingEditProvider(\n languageId,\n new DocumentRangeFormattingEditProvider(worker)\n )\n );\n }\n }\n registerProviders();\n disposables.push(asDisposable(providers));\n return asDisposable(disposables);\n}\nfunction asDisposable(disposables) {\n return { dispose: () => disposeAll(disposables) };\n}\nfunction disposeAll(disposables) {\n while (disposables.length) {\n disposables.pop().dispose();\n }\n}\n\nexport { CompletionAdapter, DocumentFormattingEditProvider, DocumentHighlightAdapter, DocumentLinkAdapter, DocumentRangeFormattingEditProvider, DocumentSymbolAdapter, FoldingRangeAdapter, HoverAdapter, RenameAdapter, SelectionRangeAdapter, WorkerManager, setupMode, setupMode1 };\n"],"ignoreList":[0,1],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsonMode-D1ocs_c3.js","names":["createScanner"],"sources":["../../../node_modules/monaco-editor/esm/vs/languages/features/json/workerManager.js","../../../node_modules/monaco-editor/esm/external/jsonc-parser/lib/esm/impl/scanner.js","../../../node_modules/monaco-editor/esm/external/jsonc-parser/lib/esm/impl/string-intern.js","../../../node_modules/monaco-editor/esm/external/jsonc-parser/lib/esm/impl/parser.js","../../../node_modules/monaco-editor/esm/external/jsonc-parser/lib/esm/main.js","../../../node_modules/monaco-editor/esm/vs/languages/features/json/tokenization.js","../../../node_modules/monaco-editor/esm/vs/languages/features/json/jsonMode.js"],"sourcesContent":["import { createWebWorker } from '../../../internal/common/workers.js';\n\nconst STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;\nclass WorkerManager {\n constructor(defaults) {\n this._defaults = defaults;\n this._worker = null;\n this._client = null;\n this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);\n this._lastUsedTime = 0;\n this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());\n }\n _stopWorker() {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n }\n dispose() {\n clearInterval(this._idleCheckInterval);\n this._configChangeListener.dispose();\n this._stopWorker();\n }\n _checkIfIdle() {\n if (!this._worker) {\n return;\n }\n let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;\n if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {\n this._stopWorker();\n }\n }\n _getClient() {\n this._lastUsedTime = Date.now();\n if (!this._client) {\n this._worker = createWebWorker({\n // module that exports the create() method and returns a `JSONWorker` instance\n moduleId: \"vs/language/json/jsonWorker\",\n createWorker: () => new Worker(new URL('json.worker.js', import.meta.url), { type: \"module\" }),\n label: this._defaults.languageId,\n // passed in to the create() method\n createData: {\n languageSettings: this._defaults.diagnosticsOptions,\n languageId: this._defaults.languageId,\n enableSchemaRequest: this._defaults.diagnosticsOptions.enableSchemaRequest\n }\n });\n this._client = this._worker.getProxy();\n }\n return this._client;\n }\n getLanguageServiceWorker(...resources) {\n let _client;\n return this._getClient().then((client) => {\n _client = client;\n }).then((_) => {\n if (this._worker) {\n return this._worker.withSyncedResources(resources);\n }\n }).then((_) => _client);\n }\n}\n\nexport { WorkerManager };\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/**\n * Creates a JSON scanner on the given text.\n * If ignoreTrivia is set, whitespaces or comments are ignored.\n */\nfunction createScanner(text, ignoreTrivia = false) {\n const len = text.length;\n let pos = 0, value = '', tokenOffset = 0, token = 16 /* SyntaxKind.Unknown */, lineNumber = 0, lineStartOffset = 0, tokenLineStartOffset = 0, prevTokenLineStartOffset = 0, scanError = 0 /* ScanError.None */;\n function scanHexDigits(count, exact) {\n let digits = 0;\n let value = 0;\n while (digits < count || false) {\n let ch = text.charCodeAt(pos);\n if (ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */) {\n value = value * 16 + ch - 48 /* CharacterCodes._0 */;\n }\n else if (ch >= 65 /* CharacterCodes.A */ && ch <= 70 /* CharacterCodes.F */) {\n value = value * 16 + ch - 65 /* CharacterCodes.A */ + 10;\n }\n else if (ch >= 97 /* CharacterCodes.a */ && ch <= 102 /* CharacterCodes.f */) {\n value = value * 16 + ch - 97 /* CharacterCodes.a */ + 10;\n }\n else {\n break;\n }\n pos++;\n digits++;\n }\n if (digits < count) {\n value = -1;\n }\n return value;\n }\n function setPosition(newPosition) {\n pos = newPosition;\n value = '';\n tokenOffset = 0;\n token = 16 /* SyntaxKind.Unknown */;\n scanError = 0 /* ScanError.None */;\n }\n function scanNumber() {\n let start = pos;\n if (text.charCodeAt(pos) === 48 /* CharacterCodes._0 */) {\n pos++;\n }\n else {\n pos++;\n while (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n }\n }\n if (pos < text.length && text.charCodeAt(pos) === 46 /* CharacterCodes.dot */) {\n pos++;\n if (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n while (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n }\n }\n else {\n scanError = 3 /* ScanError.UnexpectedEndOfNumber */;\n return text.substring(start, pos);\n }\n }\n let end = pos;\n if (pos < text.length && (text.charCodeAt(pos) === 69 /* CharacterCodes.E */ || text.charCodeAt(pos) === 101 /* CharacterCodes.e */)) {\n pos++;\n if (pos < text.length && text.charCodeAt(pos) === 43 /* CharacterCodes.plus */ || text.charCodeAt(pos) === 45 /* CharacterCodes.minus */) {\n pos++;\n }\n if (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n while (pos < text.length && isDigit(text.charCodeAt(pos))) {\n pos++;\n }\n end = pos;\n }\n else {\n scanError = 3 /* ScanError.UnexpectedEndOfNumber */;\n }\n }\n return text.substring(start, end);\n }\n function scanString() {\n let result = '', start = pos;\n while (true) {\n if (pos >= len) {\n result += text.substring(start, pos);\n scanError = 2 /* ScanError.UnexpectedEndOfString */;\n break;\n }\n const ch = text.charCodeAt(pos);\n if (ch === 34 /* CharacterCodes.doubleQuote */) {\n result += text.substring(start, pos);\n pos++;\n break;\n }\n if (ch === 92 /* CharacterCodes.backslash */) {\n result += text.substring(start, pos);\n pos++;\n if (pos >= len) {\n scanError = 2 /* ScanError.UnexpectedEndOfString */;\n break;\n }\n const ch2 = text.charCodeAt(pos++);\n switch (ch2) {\n case 34 /* CharacterCodes.doubleQuote */:\n result += '\\\"';\n break;\n case 92 /* CharacterCodes.backslash */:\n result += '\\\\';\n break;\n case 47 /* CharacterCodes.slash */:\n result += '/';\n break;\n case 98 /* CharacterCodes.b */:\n result += '\\b';\n break;\n case 102 /* CharacterCodes.f */:\n result += '\\f';\n break;\n case 110 /* CharacterCodes.n */:\n result += '\\n';\n break;\n case 114 /* CharacterCodes.r */:\n result += '\\r';\n break;\n case 116 /* CharacterCodes.t */:\n result += '\\t';\n break;\n case 117 /* CharacterCodes.u */:\n const ch3 = scanHexDigits(4);\n if (ch3 >= 0) {\n result += String.fromCharCode(ch3);\n }\n else {\n scanError = 4 /* ScanError.InvalidUnicode */;\n }\n break;\n default:\n scanError = 5 /* ScanError.InvalidEscapeCharacter */;\n }\n start = pos;\n continue;\n }\n if (ch >= 0 && ch <= 0x1f) {\n if (isLineBreak(ch)) {\n result += text.substring(start, pos);\n scanError = 2 /* ScanError.UnexpectedEndOfString */;\n break;\n }\n else {\n scanError = 6 /* ScanError.InvalidCharacter */;\n // mark as error but continue with string\n }\n }\n pos++;\n }\n return result;\n }\n function scanNext() {\n value = '';\n scanError = 0 /* ScanError.None */;\n tokenOffset = pos;\n lineStartOffset = lineNumber;\n prevTokenLineStartOffset = tokenLineStartOffset;\n if (pos >= len) {\n // at the end\n tokenOffset = len;\n return token = 17 /* SyntaxKind.EOF */;\n }\n let code = text.charCodeAt(pos);\n // trivia: whitespace\n if (isWhiteSpace(code)) {\n do {\n pos++;\n value += String.fromCharCode(code);\n code = text.charCodeAt(pos);\n } while (isWhiteSpace(code));\n return token = 15 /* SyntaxKind.Trivia */;\n }\n // trivia: newlines\n if (isLineBreak(code)) {\n pos++;\n value += String.fromCharCode(code);\n if (code === 13 /* CharacterCodes.carriageReturn */ && text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) {\n pos++;\n value += '\\n';\n }\n lineNumber++;\n tokenLineStartOffset = pos;\n return token = 14 /* SyntaxKind.LineBreakTrivia */;\n }\n switch (code) {\n // tokens: []{}:,\n case 123 /* CharacterCodes.openBrace */:\n pos++;\n return token = 1 /* SyntaxKind.OpenBraceToken */;\n case 125 /* CharacterCodes.closeBrace */:\n pos++;\n return token = 2 /* SyntaxKind.CloseBraceToken */;\n case 91 /* CharacterCodes.openBracket */:\n pos++;\n return token = 3 /* SyntaxKind.OpenBracketToken */;\n case 93 /* CharacterCodes.closeBracket */:\n pos++;\n return token = 4 /* SyntaxKind.CloseBracketToken */;\n case 58 /* CharacterCodes.colon */:\n pos++;\n return token = 6 /* SyntaxKind.ColonToken */;\n case 44 /* CharacterCodes.comma */:\n pos++;\n return token = 5 /* SyntaxKind.CommaToken */;\n // strings\n case 34 /* CharacterCodes.doubleQuote */:\n pos++;\n value = scanString();\n return token = 10 /* SyntaxKind.StringLiteral */;\n // comments\n case 47 /* CharacterCodes.slash */:\n const start = pos - 1;\n // Single-line comment\n if (text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) {\n pos += 2;\n while (pos < len) {\n if (isLineBreak(text.charCodeAt(pos))) {\n break;\n }\n pos++;\n }\n value = text.substring(start, pos);\n return token = 12 /* SyntaxKind.LineCommentTrivia */;\n }\n // Multi-line comment\n if (text.charCodeAt(pos + 1) === 42 /* CharacterCodes.asterisk */) {\n pos += 2;\n const safeLength = len - 1; // For lookahead.\n let commentClosed = false;\n while (pos < safeLength) {\n const ch = text.charCodeAt(pos);\n if (ch === 42 /* CharacterCodes.asterisk */ && text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) {\n pos += 2;\n commentClosed = true;\n break;\n }\n pos++;\n if (isLineBreak(ch)) {\n if (ch === 13 /* CharacterCodes.carriageReturn */ && text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) {\n pos++;\n }\n lineNumber++;\n tokenLineStartOffset = pos;\n }\n }\n if (!commentClosed) {\n pos++;\n scanError = 1 /* ScanError.UnexpectedEndOfComment */;\n }\n value = text.substring(start, pos);\n return token = 13 /* SyntaxKind.BlockCommentTrivia */;\n }\n // just a single slash\n value += String.fromCharCode(code);\n pos++;\n return token = 16 /* SyntaxKind.Unknown */;\n // numbers\n case 45 /* CharacterCodes.minus */:\n value += String.fromCharCode(code);\n pos++;\n if (pos === len || !isDigit(text.charCodeAt(pos))) {\n return token = 16 /* SyntaxKind.Unknown */;\n }\n // found a minus, followed by a number so\n // we fall through to proceed with scanning\n // numbers\n case 48 /* CharacterCodes._0 */:\n case 49 /* CharacterCodes._1 */:\n case 50 /* CharacterCodes._2 */:\n case 51 /* CharacterCodes._3 */:\n case 52 /* CharacterCodes._4 */:\n case 53 /* CharacterCodes._5 */:\n case 54 /* CharacterCodes._6 */:\n case 55 /* CharacterCodes._7 */:\n case 56 /* CharacterCodes._8 */:\n case 57 /* CharacterCodes._9 */:\n value += scanNumber();\n return token = 11 /* SyntaxKind.NumericLiteral */;\n // literals and unknown symbols\n default:\n // is a literal? Read the full word.\n while (pos < len && isUnknownContentCharacter(code)) {\n pos++;\n code = text.charCodeAt(pos);\n }\n if (tokenOffset !== pos) {\n value = text.substring(tokenOffset, pos);\n // keywords: true, false, null\n switch (value) {\n case 'true': return token = 8 /* SyntaxKind.TrueKeyword */;\n case 'false': return token = 9 /* SyntaxKind.FalseKeyword */;\n case 'null': return token = 7 /* SyntaxKind.NullKeyword */;\n }\n return token = 16 /* SyntaxKind.Unknown */;\n }\n // some\n value += String.fromCharCode(code);\n pos++;\n return token = 16 /* SyntaxKind.Unknown */;\n }\n }\n function isUnknownContentCharacter(code) {\n if (isWhiteSpace(code) || isLineBreak(code)) {\n return false;\n }\n switch (code) {\n case 125 /* CharacterCodes.closeBrace */:\n case 93 /* CharacterCodes.closeBracket */:\n case 123 /* CharacterCodes.openBrace */:\n case 91 /* CharacterCodes.openBracket */:\n case 34 /* CharacterCodes.doubleQuote */:\n case 58 /* CharacterCodes.colon */:\n case 44 /* CharacterCodes.comma */:\n case 47 /* CharacterCodes.slash */:\n return false;\n }\n return true;\n }\n function scanNextNonTrivia() {\n let result;\n do {\n result = scanNext();\n } while (result >= 12 /* SyntaxKind.LineCommentTrivia */ && result <= 15 /* SyntaxKind.Trivia */);\n return result;\n }\n return {\n setPosition: setPosition,\n getPosition: () => pos,\n scan: ignoreTrivia ? scanNextNonTrivia : scanNext,\n getToken: () => token,\n getTokenValue: () => value,\n getTokenOffset: () => tokenOffset,\n getTokenLength: () => pos - tokenOffset,\n getTokenStartLine: () => lineStartOffset,\n getTokenStartCharacter: () => tokenOffset - prevTokenLineStartOffset,\n getTokenError: () => scanError,\n };\n}\nfunction isWhiteSpace(ch) {\n return ch === 32 /* CharacterCodes.space */ || ch === 9 /* CharacterCodes.tab */;\n}\nfunction isLineBreak(ch) {\n return ch === 10 /* CharacterCodes.lineFeed */ || ch === 13 /* CharacterCodes.carriageReturn */;\n}\nfunction isDigit(ch) {\n return ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */;\n}\nvar CharacterCodes;\n(function (CharacterCodes) {\n CharacterCodes[CharacterCodes[\"lineFeed\"] = 10] = \"lineFeed\";\n CharacterCodes[CharacterCodes[\"carriageReturn\"] = 13] = \"carriageReturn\";\n CharacterCodes[CharacterCodes[\"space\"] = 32] = \"space\";\n CharacterCodes[CharacterCodes[\"_0\"] = 48] = \"_0\";\n CharacterCodes[CharacterCodes[\"_1\"] = 49] = \"_1\";\n CharacterCodes[CharacterCodes[\"_2\"] = 50] = \"_2\";\n CharacterCodes[CharacterCodes[\"_3\"] = 51] = \"_3\";\n CharacterCodes[CharacterCodes[\"_4\"] = 52] = \"_4\";\n CharacterCodes[CharacterCodes[\"_5\"] = 53] = \"_5\";\n CharacterCodes[CharacterCodes[\"_6\"] = 54] = \"_6\";\n CharacterCodes[CharacterCodes[\"_7\"] = 55] = \"_7\";\n CharacterCodes[CharacterCodes[\"_8\"] = 56] = \"_8\";\n CharacterCodes[CharacterCodes[\"_9\"] = 57] = \"_9\";\n CharacterCodes[CharacterCodes[\"a\"] = 97] = \"a\";\n CharacterCodes[CharacterCodes[\"b\"] = 98] = \"b\";\n CharacterCodes[CharacterCodes[\"c\"] = 99] = \"c\";\n CharacterCodes[CharacterCodes[\"d\"] = 100] = \"d\";\n CharacterCodes[CharacterCodes[\"e\"] = 101] = \"e\";\n CharacterCodes[CharacterCodes[\"f\"] = 102] = \"f\";\n CharacterCodes[CharacterCodes[\"g\"] = 103] = \"g\";\n CharacterCodes[CharacterCodes[\"h\"] = 104] = \"h\";\n CharacterCodes[CharacterCodes[\"i\"] = 105] = \"i\";\n CharacterCodes[CharacterCodes[\"j\"] = 106] = \"j\";\n CharacterCodes[CharacterCodes[\"k\"] = 107] = \"k\";\n CharacterCodes[CharacterCodes[\"l\"] = 108] = \"l\";\n CharacterCodes[CharacterCodes[\"m\"] = 109] = \"m\";\n CharacterCodes[CharacterCodes[\"n\"] = 110] = \"n\";\n CharacterCodes[CharacterCodes[\"o\"] = 111] = \"o\";\n CharacterCodes[CharacterCodes[\"p\"] = 112] = \"p\";\n CharacterCodes[CharacterCodes[\"q\"] = 113] = \"q\";\n CharacterCodes[CharacterCodes[\"r\"] = 114] = \"r\";\n CharacterCodes[CharacterCodes[\"s\"] = 115] = \"s\";\n CharacterCodes[CharacterCodes[\"t\"] = 116] = \"t\";\n CharacterCodes[CharacterCodes[\"u\"] = 117] = \"u\";\n CharacterCodes[CharacterCodes[\"v\"] = 118] = \"v\";\n CharacterCodes[CharacterCodes[\"w\"] = 119] = \"w\";\n CharacterCodes[CharacterCodes[\"x\"] = 120] = \"x\";\n CharacterCodes[CharacterCodes[\"y\"] = 121] = \"y\";\n CharacterCodes[CharacterCodes[\"z\"] = 122] = \"z\";\n CharacterCodes[CharacterCodes[\"A\"] = 65] = \"A\";\n CharacterCodes[CharacterCodes[\"B\"] = 66] = \"B\";\n CharacterCodes[CharacterCodes[\"C\"] = 67] = \"C\";\n CharacterCodes[CharacterCodes[\"D\"] = 68] = \"D\";\n CharacterCodes[CharacterCodes[\"E\"] = 69] = \"E\";\n CharacterCodes[CharacterCodes[\"F\"] = 70] = \"F\";\n CharacterCodes[CharacterCodes[\"G\"] = 71] = \"G\";\n CharacterCodes[CharacterCodes[\"H\"] = 72] = \"H\";\n CharacterCodes[CharacterCodes[\"I\"] = 73] = \"I\";\n CharacterCodes[CharacterCodes[\"J\"] = 74] = \"J\";\n CharacterCodes[CharacterCodes[\"K\"] = 75] = \"K\";\n CharacterCodes[CharacterCodes[\"L\"] = 76] = \"L\";\n CharacterCodes[CharacterCodes[\"M\"] = 77] = \"M\";\n CharacterCodes[CharacterCodes[\"N\"] = 78] = \"N\";\n CharacterCodes[CharacterCodes[\"O\"] = 79] = \"O\";\n CharacterCodes[CharacterCodes[\"P\"] = 80] = \"P\";\n CharacterCodes[CharacterCodes[\"Q\"] = 81] = \"Q\";\n CharacterCodes[CharacterCodes[\"R\"] = 82] = \"R\";\n CharacterCodes[CharacterCodes[\"S\"] = 83] = \"S\";\n CharacterCodes[CharacterCodes[\"T\"] = 84] = \"T\";\n CharacterCodes[CharacterCodes[\"U\"] = 85] = \"U\";\n CharacterCodes[CharacterCodes[\"V\"] = 86] = \"V\";\n CharacterCodes[CharacterCodes[\"W\"] = 87] = \"W\";\n CharacterCodes[CharacterCodes[\"X\"] = 88] = \"X\";\n CharacterCodes[CharacterCodes[\"Y\"] = 89] = \"Y\";\n CharacterCodes[CharacterCodes[\"Z\"] = 90] = \"Z\";\n CharacterCodes[CharacterCodes[\"asterisk\"] = 42] = \"asterisk\";\n CharacterCodes[CharacterCodes[\"backslash\"] = 92] = \"backslash\";\n CharacterCodes[CharacterCodes[\"closeBrace\"] = 125] = \"closeBrace\";\n CharacterCodes[CharacterCodes[\"closeBracket\"] = 93] = \"closeBracket\";\n CharacterCodes[CharacterCodes[\"colon\"] = 58] = \"colon\";\n CharacterCodes[CharacterCodes[\"comma\"] = 44] = \"comma\";\n CharacterCodes[CharacterCodes[\"dot\"] = 46] = \"dot\";\n CharacterCodes[CharacterCodes[\"doubleQuote\"] = 34] = \"doubleQuote\";\n CharacterCodes[CharacterCodes[\"minus\"] = 45] = \"minus\";\n CharacterCodes[CharacterCodes[\"openBrace\"] = 123] = \"openBrace\";\n CharacterCodes[CharacterCodes[\"openBracket\"] = 91] = \"openBracket\";\n CharacterCodes[CharacterCodes[\"plus\"] = 43] = \"plus\";\n CharacterCodes[CharacterCodes[\"slash\"] = 47] = \"slash\";\n CharacterCodes[CharacterCodes[\"formFeed\"] = 12] = \"formFeed\";\n CharacterCodes[CharacterCodes[\"tab\"] = 9] = \"tab\";\n})(CharacterCodes || (CharacterCodes = {}));\n\nexport { createScanner };\n","const cachedSpaces = new Array(20).fill(0).map((_, index) => {\n return ' '.repeat(index);\n});\nconst maxCachedValues = 200;\nconst cachedBreakLinesWithSpaces = {\n ' ': {\n '\\n': new Array(maxCachedValues).fill(0).map((_, index) => {\n return '\\n' + ' '.repeat(index);\n }),\n '\\r': new Array(maxCachedValues).fill(0).map((_, index) => {\n return '\\r' + ' '.repeat(index);\n }),\n '\\r\\n': new Array(maxCachedValues).fill(0).map((_, index) => {\n return '\\r\\n' + ' '.repeat(index);\n }),\n },\n '\\t': {\n '\\n': new Array(maxCachedValues).fill(0).map((_, index) => {\n return '\\n' + '\\t'.repeat(index);\n }),\n '\\r': new Array(maxCachedValues).fill(0).map((_, index) => {\n return '\\r' + '\\t'.repeat(index);\n }),\n '\\r\\n': new Array(maxCachedValues).fill(0).map((_, index) => {\n return '\\r\\n' + '\\t'.repeat(index);\n }),\n }\n};\nconst supportedEols = ['\\n', '\\r', '\\r\\n'];\n\nexport { cachedBreakLinesWithSpaces, cachedSpaces, supportedEols };\n","import { createScanner } from './scanner.js';\n\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 *--------------------------------------------------------------------------------------------*/\nvar ParseOptions;\n(function (ParseOptions) {\n ParseOptions.DEFAULT = {\n allowTrailingComma: false\n };\n})(ParseOptions || (ParseOptions = {}));\n/**\n * Parses the given text and returns the object the JSON content represents. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.\n * Therefore always check the errors list to find out if the input was valid.\n */\nfunction parse(text, errors = [], options = ParseOptions.DEFAULT) {\n let currentProperty = null;\n let currentParent = [];\n const previousParents = [];\n function onValue(value) {\n if (Array.isArray(currentParent)) {\n currentParent.push(value);\n }\n else if (currentProperty !== null) {\n currentParent[currentProperty] = value;\n }\n }\n const visitor = {\n onObjectBegin: () => {\n const object = {};\n onValue(object);\n previousParents.push(currentParent);\n currentParent = object;\n currentProperty = null;\n },\n onObjectProperty: (name) => {\n currentProperty = name;\n },\n onObjectEnd: () => {\n currentParent = previousParents.pop();\n },\n onArrayBegin: () => {\n const array = [];\n onValue(array);\n previousParents.push(currentParent);\n currentParent = array;\n currentProperty = null;\n },\n onArrayEnd: () => {\n currentParent = previousParents.pop();\n },\n onLiteralValue: onValue,\n onError: (error, offset, length) => {\n errors.push({ error, offset, length });\n }\n };\n visit(text, visitor, options);\n return currentParent[0];\n}\n/**\n * Gets the JSON path of the given JSON DOM node\n */\nfunction getNodePath(node) {\n if (!node.parent || !node.parent.children) {\n return [];\n }\n const path = getNodePath(node.parent);\n if (node.parent.type === 'property') {\n const key = node.parent.children[0].value;\n path.push(key);\n }\n else if (node.parent.type === 'array') {\n const index = node.parent.children.indexOf(node);\n if (index !== -1) {\n path.push(index);\n }\n }\n return path;\n}\n/**\n * Evaluates the JavaScript object of the given JSON DOM node\n */\nfunction getNodeValue(node) {\n switch (node.type) {\n case 'array':\n return node.children.map(getNodeValue);\n case 'object':\n const obj = Object.create(null);\n for (let prop of node.children) {\n const valueNode = prop.children[1];\n if (valueNode) {\n obj[prop.children[0].value] = getNodeValue(valueNode);\n }\n }\n return obj;\n case 'null':\n case 'string':\n case 'number':\n case 'boolean':\n return node.value;\n default:\n return undefined;\n }\n}\nfunction contains(node, offset, includeRightBound = false) {\n return (offset >= node.offset && offset < (node.offset + node.length)) || includeRightBound && (offset === (node.offset + node.length));\n}\n/**\n * Finds the most inner node at the given offset. If includeRightBound is set, also finds nodes that end at the given offset.\n */\nfunction findNodeAtOffset(node, offset, includeRightBound = false) {\n if (contains(node, offset, includeRightBound)) {\n const children = node.children;\n if (Array.isArray(children)) {\n for (let i = 0; i < children.length && children[i].offset <= offset; i++) {\n const item = findNodeAtOffset(children[i], offset, includeRightBound);\n if (item) {\n return item;\n }\n }\n }\n return node;\n }\n return undefined;\n}\n/**\n * Parses the given text and invokes the visitor functions for each object, array and literal reached.\n */\nfunction visit(text, visitor, options = ParseOptions.DEFAULT) {\n const _scanner = createScanner(text, false);\n // Important: Only pass copies of this to visitor functions to prevent accidental modification, and\n // to not affect visitor functions which stored a reference to a previous JSONPath\n const _jsonPath = [];\n function toNoArgVisit(visitFunction) {\n return visitFunction ? () => visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;\n }\n function toNoArgVisitWithPath(visitFunction) {\n return visitFunction ? () => visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) : () => true;\n }\n function toOneArgVisit(visitFunction) {\n return visitFunction ? (arg) => visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;\n }\n function toOneArgVisitWithPath(visitFunction) {\n return visitFunction ? (arg) => visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) : () => true;\n }\n const onObjectBegin = toNoArgVisitWithPath(visitor.onObjectBegin), onObjectProperty = toOneArgVisitWithPath(visitor.onObjectProperty), onObjectEnd = toNoArgVisit(visitor.onObjectEnd), onArrayBegin = toNoArgVisitWithPath(visitor.onArrayBegin), onArrayEnd = toNoArgVisit(visitor.onArrayEnd), onLiteralValue = toOneArgVisitWithPath(visitor.onLiteralValue), onSeparator = toOneArgVisit(visitor.onSeparator), onComment = toNoArgVisit(visitor.onComment), onError = toOneArgVisit(visitor.onError);\n const disallowComments = options && options.disallowComments;\n const allowTrailingComma = options && options.allowTrailingComma;\n function scanNext() {\n while (true) {\n const token = _scanner.scan();\n switch (_scanner.getTokenError()) {\n case 4 /* ScanError.InvalidUnicode */:\n handleError(14 /* ParseErrorCode.InvalidUnicode */);\n break;\n case 5 /* ScanError.InvalidEscapeCharacter */:\n handleError(15 /* ParseErrorCode.InvalidEscapeCharacter */);\n break;\n case 3 /* ScanError.UnexpectedEndOfNumber */:\n handleError(13 /* ParseErrorCode.UnexpectedEndOfNumber */);\n break;\n case 1 /* ScanError.UnexpectedEndOfComment */:\n if (!disallowComments) {\n handleError(11 /* ParseErrorCode.UnexpectedEndOfComment */);\n }\n break;\n case 2 /* ScanError.UnexpectedEndOfString */:\n handleError(12 /* ParseErrorCode.UnexpectedEndOfString */);\n break;\n case 6 /* ScanError.InvalidCharacter */:\n handleError(16 /* ParseErrorCode.InvalidCharacter */);\n break;\n }\n switch (token) {\n case 12 /* SyntaxKind.LineCommentTrivia */:\n case 13 /* SyntaxKind.BlockCommentTrivia */:\n if (disallowComments) {\n handleError(10 /* ParseErrorCode.InvalidCommentToken */);\n }\n else {\n onComment();\n }\n break;\n case 16 /* SyntaxKind.Unknown */:\n handleError(1 /* ParseErrorCode.InvalidSymbol */);\n break;\n case 15 /* SyntaxKind.Trivia */:\n case 14 /* SyntaxKind.LineBreakTrivia */:\n break;\n default:\n return token;\n }\n }\n }\n function handleError(error, skipUntilAfter = [], skipUntil = []) {\n onError(error);\n if (skipUntilAfter.length + skipUntil.length > 0) {\n let token = _scanner.getToken();\n while (token !== 17 /* SyntaxKind.EOF */) {\n if (skipUntilAfter.indexOf(token) !== -1) {\n scanNext();\n break;\n }\n else if (skipUntil.indexOf(token) !== -1) {\n break;\n }\n token = scanNext();\n }\n }\n }\n function parseString(isValue) {\n const value = _scanner.getTokenValue();\n if (isValue) {\n onLiteralValue(value);\n }\n else {\n onObjectProperty(value);\n // add property name afterwards\n _jsonPath.push(value);\n }\n scanNext();\n return true;\n }\n function parseLiteral() {\n switch (_scanner.getToken()) {\n case 11 /* SyntaxKind.NumericLiteral */:\n const tokenValue = _scanner.getTokenValue();\n let value = Number(tokenValue);\n if (isNaN(value)) {\n handleError(2 /* ParseErrorCode.InvalidNumberFormat */);\n value = 0;\n }\n onLiteralValue(value);\n break;\n case 7 /* SyntaxKind.NullKeyword */:\n onLiteralValue(null);\n break;\n case 8 /* SyntaxKind.TrueKeyword */:\n onLiteralValue(true);\n break;\n case 9 /* SyntaxKind.FalseKeyword */:\n onLiteralValue(false);\n break;\n default:\n return false;\n }\n scanNext();\n return true;\n }\n function parseProperty() {\n if (_scanner.getToken() !== 10 /* SyntaxKind.StringLiteral */) {\n handleError(3 /* ParseErrorCode.PropertyNameExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n return false;\n }\n parseString(false);\n if (_scanner.getToken() === 6 /* SyntaxKind.ColonToken */) {\n onSeparator(':');\n scanNext(); // consume colon\n if (!parseValue()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n }\n else {\n handleError(5 /* ParseErrorCode.ColonExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n _jsonPath.pop(); // remove processed property name\n return true;\n }\n function parseObject() {\n onObjectBegin();\n scanNext(); // consume open brace\n let needsComma = false;\n while (_scanner.getToken() !== 2 /* SyntaxKind.CloseBraceToken */ && _scanner.getToken() !== 17 /* SyntaxKind.EOF */) {\n if (_scanner.getToken() === 5 /* SyntaxKind.CommaToken */) {\n if (!needsComma) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n }\n onSeparator(',');\n scanNext(); // consume comma\n if (_scanner.getToken() === 2 /* SyntaxKind.CloseBraceToken */ && allowTrailingComma) {\n break;\n }\n }\n else if (needsComma) {\n handleError(6 /* ParseErrorCode.CommaExpected */, [], []);\n }\n if (!parseProperty()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n needsComma = true;\n }\n onObjectEnd();\n if (_scanner.getToken() !== 2 /* SyntaxKind.CloseBraceToken */) {\n handleError(7 /* ParseErrorCode.CloseBraceExpected */, [2 /* SyntaxKind.CloseBraceToken */], []);\n }\n else {\n scanNext(); // consume close brace\n }\n return true;\n }\n function parseArray() {\n onArrayBegin();\n scanNext(); // consume open bracket\n let isFirstElement = true;\n let needsComma = false;\n while (_scanner.getToken() !== 4 /* SyntaxKind.CloseBracketToken */ && _scanner.getToken() !== 17 /* SyntaxKind.EOF */) {\n if (_scanner.getToken() === 5 /* SyntaxKind.CommaToken */) {\n if (!needsComma) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n }\n onSeparator(',');\n scanNext(); // consume comma\n if (_scanner.getToken() === 4 /* SyntaxKind.CloseBracketToken */ && allowTrailingComma) {\n break;\n }\n }\n else if (needsComma) {\n handleError(6 /* ParseErrorCode.CommaExpected */, [], []);\n }\n if (isFirstElement) {\n _jsonPath.push(0);\n isFirstElement = false;\n }\n else {\n _jsonPath[_jsonPath.length - 1]++;\n }\n if (!parseValue()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], [4 /* SyntaxKind.CloseBracketToken */, 5 /* SyntaxKind.CommaToken */]);\n }\n needsComma = true;\n }\n onArrayEnd();\n if (!isFirstElement) {\n _jsonPath.pop(); // remove array index\n }\n if (_scanner.getToken() !== 4 /* SyntaxKind.CloseBracketToken */) {\n handleError(8 /* ParseErrorCode.CloseBracketExpected */, [4 /* SyntaxKind.CloseBracketToken */], []);\n }\n else {\n scanNext(); // consume close bracket\n }\n return true;\n }\n function parseValue() {\n switch (_scanner.getToken()) {\n case 3 /* SyntaxKind.OpenBracketToken */:\n return parseArray();\n case 1 /* SyntaxKind.OpenBraceToken */:\n return parseObject();\n case 10 /* SyntaxKind.StringLiteral */:\n return parseString(true);\n default:\n return parseLiteral();\n }\n }\n scanNext();\n if (_scanner.getToken() === 17 /* SyntaxKind.EOF */) {\n if (options.allowEmptyContent) {\n return true;\n }\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n return false;\n }\n if (!parseValue()) {\n handleError(4 /* ParseErrorCode.ValueExpected */, [], []);\n return false;\n }\n if (_scanner.getToken() !== 17 /* SyntaxKind.EOF */) {\n handleError(9 /* ParseErrorCode.EndOfFileExpected */, [], []);\n }\n return true;\n}\n\nexport { contains, findNodeAtOffset, getNodePath, getNodeValue, parse, visit };\n","import { format as format$1 } from './impl/format.js';\nimport { parse as parse$1, getNodePath as getNodePath$1, getNodeValue as getNodeValue$1, findNodeAtOffset as findNodeAtOffset$1 } from './impl/parser.js';\nimport { createScanner as createScanner$1 } from './impl/scanner.js';\n\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/**\n * Creates a JSON scanner on the given text.\n * If ignoreTrivia is set, whitespaces or comments are ignored.\n */\nconst createScanner = createScanner$1;\nvar ScanError;\n(function (ScanError) {\n ScanError[ScanError[\"None\"] = 0] = \"None\";\n ScanError[ScanError[\"UnexpectedEndOfComment\"] = 1] = \"UnexpectedEndOfComment\";\n ScanError[ScanError[\"UnexpectedEndOfString\"] = 2] = \"UnexpectedEndOfString\";\n ScanError[ScanError[\"UnexpectedEndOfNumber\"] = 3] = \"UnexpectedEndOfNumber\";\n ScanError[ScanError[\"InvalidUnicode\"] = 4] = \"InvalidUnicode\";\n ScanError[ScanError[\"InvalidEscapeCharacter\"] = 5] = \"InvalidEscapeCharacter\";\n ScanError[ScanError[\"InvalidCharacter\"] = 6] = \"InvalidCharacter\";\n})(ScanError || (ScanError = {}));\nvar SyntaxKind;\n(function (SyntaxKind) {\n SyntaxKind[SyntaxKind[\"OpenBraceToken\"] = 1] = \"OpenBraceToken\";\n SyntaxKind[SyntaxKind[\"CloseBraceToken\"] = 2] = \"CloseBraceToken\";\n SyntaxKind[SyntaxKind[\"OpenBracketToken\"] = 3] = \"OpenBracketToken\";\n SyntaxKind[SyntaxKind[\"CloseBracketToken\"] = 4] = \"CloseBracketToken\";\n SyntaxKind[SyntaxKind[\"CommaToken\"] = 5] = \"CommaToken\";\n SyntaxKind[SyntaxKind[\"ColonToken\"] = 6] = \"ColonToken\";\n SyntaxKind[SyntaxKind[\"NullKeyword\"] = 7] = \"NullKeyword\";\n SyntaxKind[SyntaxKind[\"TrueKeyword\"] = 8] = \"TrueKeyword\";\n SyntaxKind[SyntaxKind[\"FalseKeyword\"] = 9] = \"FalseKeyword\";\n SyntaxKind[SyntaxKind[\"StringLiteral\"] = 10] = \"StringLiteral\";\n SyntaxKind[SyntaxKind[\"NumericLiteral\"] = 11] = \"NumericLiteral\";\n SyntaxKind[SyntaxKind[\"LineCommentTrivia\"] = 12] = \"LineCommentTrivia\";\n SyntaxKind[SyntaxKind[\"BlockCommentTrivia\"] = 13] = \"BlockCommentTrivia\";\n SyntaxKind[SyntaxKind[\"LineBreakTrivia\"] = 14] = \"LineBreakTrivia\";\n SyntaxKind[SyntaxKind[\"Trivia\"] = 15] = \"Trivia\";\n SyntaxKind[SyntaxKind[\"Unknown\"] = 16] = \"Unknown\";\n SyntaxKind[SyntaxKind[\"EOF\"] = 17] = \"EOF\";\n})(SyntaxKind || (SyntaxKind = {}));\n/**\n * Parses the given text and returns the object the JSON content represents. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.\n * Therefore, always check the errors list to find out if the input was valid.\n */\nconst parse = parse$1;\n/**\n * Finds the innermost node at the given offset. If includeRightBound is set, also finds nodes that end at the given offset.\n */\nconst findNodeAtOffset = findNodeAtOffset$1;\n/**\n * Gets the JSON path of the given JSON DOM node\n */\nconst getNodePath = getNodePath$1;\n/**\n * Evaluates the JavaScript object of the given JSON DOM node\n */\nconst getNodeValue = getNodeValue$1;\nvar ParseErrorCode;\n(function (ParseErrorCode) {\n ParseErrorCode[ParseErrorCode[\"InvalidSymbol\"] = 1] = \"InvalidSymbol\";\n ParseErrorCode[ParseErrorCode[\"InvalidNumberFormat\"] = 2] = \"InvalidNumberFormat\";\n ParseErrorCode[ParseErrorCode[\"PropertyNameExpected\"] = 3] = \"PropertyNameExpected\";\n ParseErrorCode[ParseErrorCode[\"ValueExpected\"] = 4] = \"ValueExpected\";\n ParseErrorCode[ParseErrorCode[\"ColonExpected\"] = 5] = \"ColonExpected\";\n ParseErrorCode[ParseErrorCode[\"CommaExpected\"] = 6] = \"CommaExpected\";\n ParseErrorCode[ParseErrorCode[\"CloseBraceExpected\"] = 7] = \"CloseBraceExpected\";\n ParseErrorCode[ParseErrorCode[\"CloseBracketExpected\"] = 8] = \"CloseBracketExpected\";\n ParseErrorCode[ParseErrorCode[\"EndOfFileExpected\"] = 9] = \"EndOfFileExpected\";\n ParseErrorCode[ParseErrorCode[\"InvalidCommentToken\"] = 10] = \"InvalidCommentToken\";\n ParseErrorCode[ParseErrorCode[\"UnexpectedEndOfComment\"] = 11] = \"UnexpectedEndOfComment\";\n ParseErrorCode[ParseErrorCode[\"UnexpectedEndOfString\"] = 12] = \"UnexpectedEndOfString\";\n ParseErrorCode[ParseErrorCode[\"UnexpectedEndOfNumber\"] = 13] = \"UnexpectedEndOfNumber\";\n ParseErrorCode[ParseErrorCode[\"InvalidUnicode\"] = 14] = \"InvalidUnicode\";\n ParseErrorCode[ParseErrorCode[\"InvalidEscapeCharacter\"] = 15] = \"InvalidEscapeCharacter\";\n ParseErrorCode[ParseErrorCode[\"InvalidCharacter\"] = 16] = \"InvalidCharacter\";\n})(ParseErrorCode || (ParseErrorCode = {}));\n/**\n * Computes the edit operations needed to format a JSON document.\n *\n * @param documentText The input text\n * @param range The range to format or `undefined` to format the full content\n * @param options The formatting options\n * @returns The edit operations describing the formatting changes to the original document following the format described in {@linkcode EditResult}.\n * To apply the edit operations to the input, use {@linkcode applyEdits}.\n */\nfunction format(documentText, range, options) {\n return format$1(documentText, range, options);\n}\n\nexport { ParseErrorCode, ScanError, SyntaxKind, createScanner, findNodeAtOffset, format, getNodePath, getNodeValue, parse };\n","import { createScanner } from '../../../../external/jsonc-parser/lib/esm/main.js';\n\nfunction createTokenizationSupport(supportComments) {\n return {\n getInitialState: () => new JSONState(null, null, false, null),\n tokenize: (line, state) => tokenize(supportComments, line, state)\n };\n}\nconst TOKEN_DELIM_OBJECT = \"delimiter.bracket.json\";\nconst TOKEN_DELIM_ARRAY = \"delimiter.array.json\";\nconst TOKEN_DELIM_COLON = \"delimiter.colon.json\";\nconst TOKEN_DELIM_COMMA = \"delimiter.comma.json\";\nconst TOKEN_VALUE_BOOLEAN = \"keyword.json\";\nconst TOKEN_VALUE_NULL = \"keyword.json\";\nconst TOKEN_VALUE_STRING = \"string.value.json\";\nconst TOKEN_VALUE_NUMBER = \"number.json\";\nconst TOKEN_PROPERTY_NAME = \"string.key.json\";\nconst TOKEN_COMMENT_BLOCK = \"comment.block.json\";\nconst TOKEN_COMMENT_LINE = \"comment.line.json\";\nclass ParentsStack {\n constructor(parent, type) {\n this.parent = parent;\n this.type = type;\n }\n static pop(parents) {\n if (parents) {\n return parents.parent;\n }\n return null;\n }\n static push(parents, type) {\n return new ParentsStack(parents, type);\n }\n static equals(a, b) {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n while (a && b) {\n if (a === b) {\n return true;\n }\n if (a.type !== b.type) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n }\n return true;\n }\n}\nclass JSONState {\n constructor(state, scanError, lastWasColon, parents) {\n this._state = state;\n this.scanError = scanError;\n this.lastWasColon = lastWasColon;\n this.parents = parents;\n }\n clone() {\n return new JSONState(this._state, this.scanError, this.lastWasColon, this.parents);\n }\n equals(other) {\n if (other === this) {\n return true;\n }\n if (!other || !(other instanceof JSONState)) {\n return false;\n }\n return this.scanError === other.scanError && this.lastWasColon === other.lastWasColon && ParentsStack.equals(this.parents, other.parents);\n }\n getStateData() {\n return this._state;\n }\n setStateData(state) {\n this._state = state;\n }\n}\nfunction tokenize(comments, line, state, offsetDelta = 0) {\n let numberOfInsertedCharacters = 0;\n let adjustOffset = false;\n switch (state.scanError) {\n case 2 /* UnexpectedEndOfString */:\n line = '\"' + line;\n numberOfInsertedCharacters = 1;\n break;\n case 1 /* UnexpectedEndOfComment */:\n line = \"/*\" + line;\n numberOfInsertedCharacters = 2;\n break;\n }\n const scanner = createScanner(line);\n let lastWasColon = state.lastWasColon;\n let parents = state.parents;\n const ret = {\n tokens: [],\n endState: state.clone()\n };\n while (true) {\n let offset = offsetDelta + scanner.getPosition();\n let type = \"\";\n const kind = scanner.scan();\n if (kind === 17 /* EOF */) {\n break;\n }\n if (offset === offsetDelta + scanner.getPosition()) {\n throw new Error(\n \"Scanner did not advance, next 3 characters are: \" + line.substr(scanner.getPosition(), 3)\n );\n }\n if (adjustOffset) {\n offset -= numberOfInsertedCharacters;\n }\n adjustOffset = numberOfInsertedCharacters > 0;\n switch (kind) {\n case 1 /* OpenBraceToken */:\n parents = ParentsStack.push(parents, 0 /* Object */);\n type = TOKEN_DELIM_OBJECT;\n lastWasColon = false;\n break;\n case 2 /* CloseBraceToken */:\n parents = ParentsStack.pop(parents);\n type = TOKEN_DELIM_OBJECT;\n lastWasColon = false;\n break;\n case 3 /* OpenBracketToken */:\n parents = ParentsStack.push(parents, 1 /* Array */);\n type = TOKEN_DELIM_ARRAY;\n lastWasColon = false;\n break;\n case 4 /* CloseBracketToken */:\n parents = ParentsStack.pop(parents);\n type = TOKEN_DELIM_ARRAY;\n lastWasColon = false;\n break;\n case 6 /* ColonToken */:\n type = TOKEN_DELIM_COLON;\n lastWasColon = true;\n break;\n case 5 /* CommaToken */:\n type = TOKEN_DELIM_COMMA;\n lastWasColon = false;\n break;\n case 8 /* TrueKeyword */:\n case 9 /* FalseKeyword */:\n type = TOKEN_VALUE_BOOLEAN;\n lastWasColon = false;\n break;\n case 7 /* NullKeyword */:\n type = TOKEN_VALUE_NULL;\n lastWasColon = false;\n break;\n case 10 /* StringLiteral */:\n const currentParent = parents ? parents.type : 0 /* Object */;\n const inArray = currentParent === 1 /* Array */;\n type = lastWasColon || inArray ? TOKEN_VALUE_STRING : TOKEN_PROPERTY_NAME;\n lastWasColon = false;\n break;\n case 11 /* NumericLiteral */:\n type = TOKEN_VALUE_NUMBER;\n lastWasColon = false;\n break;\n }\n {\n switch (kind) {\n case 12 /* LineCommentTrivia */:\n type = TOKEN_COMMENT_LINE;\n break;\n case 13 /* BlockCommentTrivia */:\n type = TOKEN_COMMENT_BLOCK;\n break;\n }\n }\n ret.endState = new JSONState(\n state.getStateData(),\n scanner.getTokenError(),\n lastWasColon,\n parents\n );\n ret.tokens.push({\n startIndex: offset,\n scopes: type\n });\n }\n return ret;\n}\n\nexport { TOKEN_COMMENT_BLOCK, TOKEN_COMMENT_LINE, TOKEN_DELIM_ARRAY, TOKEN_DELIM_COLON, TOKEN_DELIM_COMMA, TOKEN_DELIM_OBJECT, TOKEN_PROPERTY_NAME, TOKEN_VALUE_BOOLEAN, TOKEN_VALUE_NULL, TOKEN_VALUE_NUMBER, TOKEN_VALUE_STRING, createTokenizationSupport };\n","import { WorkerManager } from './workerManager.js';\nimport { DocumentFormattingEditProvider, DocumentRangeFormattingEditProvider, CompletionAdapter, HoverAdapter, DocumentSymbolAdapter, DocumentColorAdapter, FoldingRangeAdapter, SelectionRangeAdapter, DiagnosticsAdapter } from '../common/lspLanguageFeatures.js';\nexport { DefinitionAdapter, DocumentHighlightAdapter, DocumentLinkAdapter, ReferenceAdapter, RenameAdapter, fromPosition, fromRange, toRange, toTextEdit } from '../common/lspLanguageFeatures.js';\nimport { createTokenizationSupport } from './tokenization.js';\nimport { languages, editor } from '../../../editor/editor.api.js';\n\nlet worker;\nfunction getWorker() {\n return new Promise((resolve, reject) => {\n if (!worker) {\n return reject(\"JSON not registered!\");\n }\n resolve(worker);\n });\n}\nclass JSONDiagnosticsAdapter extends DiagnosticsAdapter {\n constructor(languageId, worker2, defaults) {\n super(languageId, worker2, defaults.onDidChange);\n this._disposables.push(\n editor.onWillDisposeModel((model) => {\n this._resetSchema(model.uri);\n })\n );\n this._disposables.push(\n editor.onDidChangeModelLanguage((event) => {\n this._resetSchema(event.model.uri);\n })\n );\n }\n _resetSchema(resource) {\n this._worker().then((worker2) => {\n worker2.resetSchema(resource.toString());\n });\n }\n}\nfunction setupMode(defaults) {\n const disposables = [];\n const providers = [];\n const client = new WorkerManager(defaults);\n disposables.push(client);\n worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n function registerProviders() {\n const { languageId, modeConfiguration: modeConfiguration2 } = defaults;\n disposeAll(providers);\n if (modeConfiguration2.documentFormattingEdits) {\n providers.push(\n languages.registerDocumentFormattingEditProvider(\n languageId,\n new DocumentFormattingEditProvider(worker)\n )\n );\n }\n if (modeConfiguration2.documentRangeFormattingEdits) {\n providers.push(\n languages.registerDocumentRangeFormattingEditProvider(\n languageId,\n new DocumentRangeFormattingEditProvider(worker)\n )\n );\n }\n if (modeConfiguration2.completionItems) {\n providers.push(\n languages.registerCompletionItemProvider(\n languageId,\n new CompletionAdapter(worker, [\" \", \":\", '\"'])\n )\n );\n }\n if (modeConfiguration2.hovers) {\n providers.push(\n languages.registerHoverProvider(languageId, new HoverAdapter(worker))\n );\n }\n if (modeConfiguration2.documentSymbols) {\n providers.push(\n languages.registerDocumentSymbolProvider(\n languageId,\n new DocumentSymbolAdapter(worker)\n )\n );\n }\n if (modeConfiguration2.tokens) {\n providers.push(languages.setTokensProvider(languageId, createTokenizationSupport(true)));\n }\n if (modeConfiguration2.colors) {\n providers.push(\n languages.registerColorProvider(\n languageId,\n new DocumentColorAdapter(worker)\n )\n );\n }\n if (modeConfiguration2.foldingRanges) {\n providers.push(\n languages.registerFoldingRangeProvider(\n languageId,\n new FoldingRangeAdapter(worker)\n )\n );\n }\n if (modeConfiguration2.diagnostics) {\n providers.push(new JSONDiagnosticsAdapter(languageId, worker, defaults));\n }\n if (modeConfiguration2.selectionRanges) {\n providers.push(\n languages.registerSelectionRangeProvider(\n languageId,\n new SelectionRangeAdapter(worker)\n )\n );\n }\n }\n registerProviders();\n disposables.push(languages.setLanguageConfiguration(defaults.languageId, richEditConfiguration));\n let modeConfiguration = defaults.modeConfiguration;\n defaults.onDidChange((newDefaults) => {\n if (newDefaults.modeConfiguration !== modeConfiguration) {\n modeConfiguration = newDefaults.modeConfiguration;\n registerProviders();\n }\n });\n disposables.push(asDisposable(providers));\n return asDisposable(disposables);\n}\nfunction asDisposable(disposables) {\n return { dispose: () => disposeAll(disposables) };\n}\nfunction disposeAll(disposables) {\n while (disposables.length) {\n disposables.pop().dispose();\n }\n}\nconst richEditConfiguration = {\n wordPattern: /(-?\\d*\\.\\d\\w*)|([^\\[\\{\\]\\}\\:\\\"\\,\\s]+)/g,\n comments: {\n lineComment: \"//\",\n blockComment: [\"/*\", \"*/\"]\n },\n brackets: [\n [\"{\", \"}\"],\n [\"[\", \"]\"]\n ],\n autoClosingPairs: [\n { open: \"{\", close: \"}\", notIn: [\"string\"] },\n { open: \"[\", close: \"]\", notIn: [\"string\"] },\n { open: '\"', close: '\"', notIn: [\"string\"] }\n ]\n};\n\nexport { CompletionAdapter, DiagnosticsAdapter, DocumentColorAdapter, DocumentFormattingEditProvider, DocumentRangeFormattingEditProvider, DocumentSymbolAdapter, FoldingRangeAdapter, HoverAdapter, SelectionRangeAdapter, WorkerManager, getWorker, setupMode };\n"],"ignoreList":[0,1,2,3,4,5,6],"mappings":"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AAQ,MAAM;CAC5C,eAAe,eAAe,QAAQ,MAAM;CAC5C,eAAe,eAAe,QAAQ,MAAM;CAC5C,eAAe,eAAe,QAAQ,MAAM;CAC5C,eAAe,eAAe,QAAQ,MAAM;CAC5C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,OAAO;CAC5C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,MAAM;CAC3C,eAAe,eAAe,OAAO,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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tsMode-DeJ-HdLq.js","names":[],"sources":["../../../node_modules/monaco-editor/esm/vs/languages/features/typescript/workerManager.js","../../../node_modules/monaco-editor/esm/vs/languages/features/typescript/lib/lib.index.js","../../../node_modules/monaco-editor/esm/vs/languages/features/typescript/languageFeatures.js","../../../node_modules/monaco-editor/esm/vs/languages/features/typescript/tsMode.js"],"sourcesContent":["import { editor } from '../../../editor/editor.api.js';\nimport { createWebWorker } from '../../../internal/common/workers.js';\n\nclass WorkerManager {\n constructor(_modeId, _defaults) {\n this._modeId = _modeId;\n this._defaults = _defaults;\n this._worker = null;\n this._client = null;\n this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());\n this._updateExtraLibsToken = 0;\n this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange(\n () => this._updateExtraLibs()\n );\n }\n dispose() {\n this._configChangeListener.dispose();\n this._extraLibsChangeListener.dispose();\n this._stopWorker();\n }\n _stopWorker() {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n }\n async _updateExtraLibs() {\n if (!this._worker) {\n return;\n }\n const myToken = ++this._updateExtraLibsToken;\n const proxy = await this._worker.getProxy();\n if (this._updateExtraLibsToken !== myToken) {\n return;\n }\n proxy.updateExtraLibs(this._defaults.getExtraLibs());\n }\n _getClient() {\n if (!this._client) {\n this._client = (async () => {\n this._worker = createWebWorker({\n // module that exports the create() method and returns a `TypeScriptWorker` instance\n moduleId: \"vs/language/typescript/tsWorker\",\n createWorker: () => new Worker(new URL('ts.worker.js', import.meta.url), { type: \"module\" }),\n label: this._modeId,\n keepIdleModels: true,\n // passed in to the create() method\n createData: {\n compilerOptions: this._defaults.getCompilerOptions(),\n extraLibs: this._defaults.getExtraLibs(),\n customWorkerPath: this._defaults.workerOptions.customWorkerPath,\n inlayHintsOptions: this._defaults.inlayHintsOptions\n }\n });\n if (this._defaults.getEagerModelSync()) {\n return await this._worker.withSyncedResources(\n editor.getModels().filter((model) => model.getLanguageId() === this._modeId).map((model) => model.uri)\n );\n }\n return await this._worker.getProxy();\n })();\n }\n return this._client;\n }\n async getLanguageServiceWorker(...resources) {\n const client = await this._getClient();\n if (this._worker) {\n await this._worker.withSyncedResources(resources);\n }\n return client;\n }\n}\n\nexport { WorkerManager };\n","const libFileSet = {};\nlibFileSet[\"lib.d.ts\"] = true;\nlibFileSet[\"lib.decorators.d.ts\"] = true;\nlibFileSet[\"lib.decorators.legacy.d.ts\"] = true;\nlibFileSet[\"lib.dom.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.dom.d.ts\"] = true;\nlibFileSet[\"lib.dom.iterable.d.ts\"] = true;\nlibFileSet[\"lib.es2015.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2015.core.d.ts\"] = true;\nlibFileSet[\"lib.es2015.d.ts\"] = true;\nlibFileSet[\"lib.es2015.generator.d.ts\"] = true;\nlibFileSet[\"lib.es2015.iterable.d.ts\"] = true;\nlibFileSet[\"lib.es2015.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2015.proxy.d.ts\"] = true;\nlibFileSet[\"lib.es2015.reflect.d.ts\"] = true;\nlibFileSet[\"lib.es2015.symbol.d.ts\"] = true;\nlibFileSet[\"lib.es2015.symbol.wellknown.d.ts\"] = true;\nlibFileSet[\"lib.es2016.array.include.d.ts\"] = true;\nlibFileSet[\"lib.es2016.d.ts\"] = true;\nlibFileSet[\"lib.es2016.full.d.ts\"] = true;\nlibFileSet[\"lib.es2016.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2017.arraybuffer.d.ts\"] = true;\nlibFileSet[\"lib.es2017.d.ts\"] = true;\nlibFileSet[\"lib.es2017.date.d.ts\"] = true;\nlibFileSet[\"lib.es2017.full.d.ts\"] = true;\nlibFileSet[\"lib.es2017.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2017.object.d.ts\"] = true;\nlibFileSet[\"lib.es2017.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2017.string.d.ts\"] = true;\nlibFileSet[\"lib.es2017.typedarrays.d.ts\"] = true;\nlibFileSet[\"lib.es2018.asyncgenerator.d.ts\"] = true;\nlibFileSet[\"lib.es2018.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.es2018.d.ts\"] = true;\nlibFileSet[\"lib.es2018.full.d.ts\"] = true;\nlibFileSet[\"lib.es2018.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2018.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2018.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2019.array.d.ts\"] = true;\nlibFileSet[\"lib.es2019.d.ts\"] = true;\nlibFileSet[\"lib.es2019.full.d.ts\"] = true;\nlibFileSet[\"lib.es2019.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2019.object.d.ts\"] = true;\nlibFileSet[\"lib.es2019.string.d.ts\"] = true;\nlibFileSet[\"lib.es2019.symbol.d.ts\"] = true;\nlibFileSet[\"lib.es2020.bigint.d.ts\"] = true;\nlibFileSet[\"lib.es2020.d.ts\"] = true;\nlibFileSet[\"lib.es2020.date.d.ts\"] = true;\nlibFileSet[\"lib.es2020.full.d.ts\"] = true;\nlibFileSet[\"lib.es2020.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2020.number.d.ts\"] = true;\nlibFileSet[\"lib.es2020.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2020.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2020.string.d.ts\"] = true;\nlibFileSet[\"lib.es2020.symbol.wellknown.d.ts\"] = true;\nlibFileSet[\"lib.es2021.d.ts\"] = true;\nlibFileSet[\"lib.es2021.full.d.ts\"] = true;\nlibFileSet[\"lib.es2021.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2021.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2021.string.d.ts\"] = true;\nlibFileSet[\"lib.es2021.weakref.d.ts\"] = true;\nlibFileSet[\"lib.es2022.array.d.ts\"] = true;\nlibFileSet[\"lib.es2022.d.ts\"] = true;\nlibFileSet[\"lib.es2022.error.d.ts\"] = true;\nlibFileSet[\"lib.es2022.full.d.ts\"] = true;\nlibFileSet[\"lib.es2022.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2022.object.d.ts\"] = true;\nlibFileSet[\"lib.es2022.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2022.string.d.ts\"] = true;\nlibFileSet[\"lib.es2023.array.d.ts\"] = true;\nlibFileSet[\"lib.es2023.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2023.d.ts\"] = true;\nlibFileSet[\"lib.es2023.full.d.ts\"] = true;\nlibFileSet[\"lib.es2023.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2024.arraybuffer.d.ts\"] = true;\nlibFileSet[\"lib.es2024.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2024.d.ts\"] = true;\nlibFileSet[\"lib.es2024.full.d.ts\"] = true;\nlibFileSet[\"lib.es2024.object.d.ts\"] = true;\nlibFileSet[\"lib.es2024.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2024.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2024.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2024.string.d.ts\"] = true;\nlibFileSet[\"lib.es5.d.ts\"] = true;\nlibFileSet[\"lib.es6.d.ts\"] = true;\nlibFileSet[\"lib.esnext.array.d.ts\"] = true;\nlibFileSet[\"lib.esnext.collection.d.ts\"] = true;\nlibFileSet[\"lib.esnext.d.ts\"] = true;\nlibFileSet[\"lib.esnext.decorators.d.ts\"] = true;\nlibFileSet[\"lib.esnext.disposable.d.ts\"] = true;\nlibFileSet[\"lib.esnext.error.d.ts\"] = true;\nlibFileSet[\"lib.esnext.float16.d.ts\"] = true;\nlibFileSet[\"lib.esnext.full.d.ts\"] = true;\nlibFileSet[\"lib.esnext.intl.d.ts\"] = true;\nlibFileSet[\"lib.esnext.iterator.d.ts\"] = true;\nlibFileSet[\"lib.esnext.promise.d.ts\"] = true;\nlibFileSet[\"lib.esnext.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.scripthost.d.ts\"] = true;\nlibFileSet[\"lib.webworker.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.webworker.d.ts\"] = true;\nlibFileSet[\"lib.webworker.importscripts.d.ts\"] = true;\nlibFileSet[\"lib.webworker.iterable.d.ts\"] = true;\n\nexport { libFileSet };\n","import { typescriptDefaults } from './register.js';\nimport { libFileSet } from './lib/lib.index.js';\nimport { Uri, editor, MarkerTag, MarkerSeverity, Range, languages } from '../../../editor/editor.api.js';\n\nfunction flattenDiagnosticMessageText(diag, newLine, indent = 0) {\n if (typeof diag === \"string\") {\n return diag;\n } else if (diag === void 0) {\n return \"\";\n }\n let result = \"\";\n if (indent) {\n result += newLine;\n for (let i = 0; i < indent; i++) {\n result += \" \";\n }\n }\n result += diag.messageText;\n indent++;\n if (diag.next) {\n for (const kid of diag.next) {\n result += flattenDiagnosticMessageText(kid, newLine, indent);\n }\n }\n return result;\n}\nfunction displayPartsToString(displayParts) {\n if (displayParts) {\n return displayParts.map((displayPart) => displayPart.text).join(\"\");\n }\n return \"\";\n}\nclass Adapter {\n constructor(_worker) {\n this._worker = _worker;\n }\n // protected _positionToOffset(model: editor.ITextModel, position: monaco.IPosition): number {\n // \treturn model.getOffsetAt(position);\n // }\n // protected _offsetToPosition(model: editor.ITextModel, offset: number): monaco.IPosition {\n // \treturn model.getPositionAt(offset);\n // }\n _textSpanToRange(model, span) {\n let p1 = model.getPositionAt(span.start);\n let p2 = model.getPositionAt(span.start + span.length);\n let { lineNumber: startLineNumber, column: startColumn } = p1;\n let { lineNumber: endLineNumber, column: endColumn } = p2;\n return { startLineNumber, startColumn, endLineNumber, endColumn };\n }\n}\nclass LibFiles {\n constructor(_worker) {\n this._worker = _worker;\n this._libFiles = {};\n this._hasFetchedLibFiles = false;\n this._fetchLibFilesPromise = null;\n }\n isLibFile(uri) {\n if (!uri) {\n return false;\n }\n if (uri.path.indexOf(\"/lib.\") === 0) {\n return !!libFileSet[uri.path.slice(1)];\n }\n return false;\n }\n getOrCreateModel(fileName) {\n const uri = Uri.parse(fileName);\n const model = editor.getModel(uri);\n if (model) {\n return model;\n }\n if (this.isLibFile(uri) && this._hasFetchedLibFiles) {\n return editor.createModel(this._libFiles[uri.path.slice(1)], \"typescript\", uri);\n }\n const matchedLibFile = typescriptDefaults.getExtraLibs()[fileName];\n if (matchedLibFile) {\n return editor.createModel(matchedLibFile.content, \"typescript\", uri);\n }\n return null;\n }\n _containsLibFile(uris) {\n for (let uri of uris) {\n if (this.isLibFile(uri)) {\n return true;\n }\n }\n return false;\n }\n async fetchLibFilesIfNecessary(uris) {\n if (!this._containsLibFile(uris)) {\n return;\n }\n await this._fetchLibFiles();\n }\n _fetchLibFiles() {\n if (!this._fetchLibFilesPromise) {\n this._fetchLibFilesPromise = this._worker().then((w) => w.getLibFiles()).then((libFiles) => {\n this._hasFetchedLibFiles = true;\n this._libFiles = libFiles;\n });\n }\n return this._fetchLibFilesPromise;\n }\n}\nclass DiagnosticsAdapter extends Adapter {\n constructor(_libFiles, _defaults, _selector, worker) {\n super(worker);\n this._libFiles = _libFiles;\n this._defaults = _defaults;\n this._selector = _selector;\n this._disposables = [];\n this._listener = /* @__PURE__ */ Object.create(null);\n const onModelAdd = (model) => {\n if (model.getLanguageId() !== _selector) {\n return;\n }\n const maybeValidate = () => {\n const { onlyVisible } = this._defaults.getDiagnosticsOptions();\n if (onlyVisible) {\n if (model.isAttachedToEditor()) {\n this._doValidate(model);\n }\n } else {\n this._doValidate(model);\n }\n };\n let handle;\n const changeSubscription = model.onDidChangeContent(() => {\n clearTimeout(handle);\n handle = window.setTimeout(maybeValidate, 500);\n });\n const visibleSubscription = model.onDidChangeAttached(() => {\n const { onlyVisible } = this._defaults.getDiagnosticsOptions();\n if (onlyVisible) {\n if (model.isAttachedToEditor()) {\n maybeValidate();\n } else {\n editor.setModelMarkers(model, this._selector, []);\n }\n }\n });\n this._listener[model.uri.toString()] = {\n dispose() {\n changeSubscription.dispose();\n visibleSubscription.dispose();\n clearTimeout(handle);\n }\n };\n maybeValidate();\n };\n const onModelRemoved = (model) => {\n editor.setModelMarkers(model, this._selector, []);\n const key = model.uri.toString();\n if (this._listener[key]) {\n this._listener[key].dispose();\n delete this._listener[key];\n }\n };\n this._disposables.push(\n editor.onDidCreateModel((model) => onModelAdd(model))\n );\n this._disposables.push(editor.onWillDisposeModel(onModelRemoved));\n this._disposables.push(\n editor.onDidChangeModelLanguage((event) => {\n onModelRemoved(event.model);\n onModelAdd(event.model);\n })\n );\n this._disposables.push({\n dispose() {\n for (const model of editor.getModels()) {\n onModelRemoved(model);\n }\n }\n });\n const recomputeDiagostics = () => {\n for (const model of editor.getModels()) {\n onModelRemoved(model);\n onModelAdd(model);\n }\n };\n this._disposables.push(this._defaults.onDidChange(recomputeDiagostics));\n this._disposables.push(this._defaults.onDidExtraLibsChange(recomputeDiagostics));\n editor.getModels().forEach((model) => onModelAdd(model));\n }\n dispose() {\n this._disposables.forEach((d) => d && d.dispose());\n this._disposables = [];\n }\n async _doValidate(model) {\n const worker = await this._worker(model.uri);\n if (model.isDisposed()) {\n return;\n }\n const promises = [];\n const { noSyntaxValidation, noSemanticValidation, noSuggestionDiagnostics } = this._defaults.getDiagnosticsOptions();\n if (!noSyntaxValidation) {\n promises.push(worker.getSyntacticDiagnostics(model.uri.toString()));\n }\n if (!noSemanticValidation) {\n promises.push(worker.getSemanticDiagnostics(model.uri.toString()));\n }\n if (!noSuggestionDiagnostics) {\n promises.push(worker.getSuggestionDiagnostics(model.uri.toString()));\n }\n const allDiagnostics = await Promise.all(promises);\n if (!allDiagnostics || model.isDisposed()) {\n return;\n }\n const diagnostics = allDiagnostics.reduce((p, c) => c.concat(p), []).filter(\n (d) => (this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(d.code) === -1\n );\n const relatedUris = diagnostics.map((d) => d.relatedInformation || []).reduce((p, c) => c.concat(p), []).map(\n (relatedInformation) => relatedInformation.file ? Uri.parse(relatedInformation.file.fileName) : null\n );\n await this._libFiles.fetchLibFilesIfNecessary(relatedUris);\n if (model.isDisposed()) {\n return;\n }\n editor.setModelMarkers(\n model,\n this._selector,\n diagnostics.map((d) => this._convertDiagnostics(model, d))\n );\n }\n _convertDiagnostics(model, diag) {\n const diagStart = diag.start || 0;\n const diagLength = diag.length || 1;\n const { lineNumber: startLineNumber, column: startColumn } = model.getPositionAt(diagStart);\n const { lineNumber: endLineNumber, column: endColumn } = model.getPositionAt(\n diagStart + diagLength\n );\n const tags = [];\n if (diag.reportsUnnecessary) {\n tags.push(MarkerTag.Unnecessary);\n }\n if (diag.reportsDeprecated) {\n tags.push(MarkerTag.Deprecated);\n }\n return {\n severity: this._tsDiagnosticCategoryToMarkerSeverity(diag.category),\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n message: flattenDiagnosticMessageText(diag.messageText, \"\\n\"),\n code: diag.code.toString(),\n tags,\n relatedInformation: this._convertRelatedInformation(model, diag.relatedInformation)\n };\n }\n _convertRelatedInformation(model, relatedInformation) {\n if (!relatedInformation) {\n return [];\n }\n const result = [];\n relatedInformation.forEach((info) => {\n let relatedResource = model;\n if (info.file) {\n relatedResource = this._libFiles.getOrCreateModel(info.file.fileName);\n }\n if (!relatedResource) {\n return;\n }\n const infoStart = info.start || 0;\n const infoLength = info.length || 1;\n const { lineNumber: startLineNumber, column: startColumn } = relatedResource.getPositionAt(infoStart);\n const { lineNumber: endLineNumber, column: endColumn } = relatedResource.getPositionAt(\n infoStart + infoLength\n );\n result.push({\n resource: relatedResource.uri,\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n message: flattenDiagnosticMessageText(info.messageText, \"\\n\")\n });\n });\n return result;\n }\n _tsDiagnosticCategoryToMarkerSeverity(category) {\n switch (category) {\n case 1 /* Error */:\n return MarkerSeverity.Error;\n case 3 /* Message */:\n return MarkerSeverity.Info;\n case 0 /* Warning */:\n return MarkerSeverity.Warning;\n case 2 /* Suggestion */:\n return MarkerSeverity.Hint;\n }\n return MarkerSeverity.Info;\n }\n}\nclass SuggestAdapter extends Adapter {\n get triggerCharacters() {\n return [\".\"];\n }\n async provideCompletionItems(model, position, _context, token) {\n const wordInfo = model.getWordUntilPosition(position);\n const wordRange = new Range(\n position.lineNumber,\n wordInfo.startColumn,\n position.lineNumber,\n wordInfo.endColumn\n );\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getCompletionsAtPosition(resource.toString(), offset);\n if (!info || model.isDisposed()) {\n return;\n }\n const suggestions = info.entries.map((entry) => {\n let range = wordRange;\n if (entry.replacementSpan) {\n const p1 = model.getPositionAt(entry.replacementSpan.start);\n const p2 = model.getPositionAt(entry.replacementSpan.start + entry.replacementSpan.length);\n range = new Range(p1.lineNumber, p1.column, p2.lineNumber, p2.column);\n }\n const tags = [];\n if (entry.kindModifiers !== void 0 && entry.kindModifiers.indexOf(\"deprecated\") !== -1) {\n tags.push(languages.CompletionItemTag.Deprecated);\n }\n return {\n uri: resource,\n position,\n offset,\n range,\n label: entry.name,\n insertText: entry.name,\n sortText: entry.sortText,\n kind: SuggestAdapter.convertKind(entry.kind),\n tags\n };\n });\n return {\n suggestions\n };\n }\n async resolveCompletionItem(item, token) {\n const myItem = item;\n const resource = myItem.uri;\n const position = myItem.position;\n const offset = myItem.offset;\n const worker = await this._worker(resource);\n const details = await worker.getCompletionEntryDetails(\n resource.toString(),\n offset,\n myItem.label\n );\n if (!details) {\n return myItem;\n }\n return {\n uri: resource,\n position,\n label: details.name,\n kind: SuggestAdapter.convertKind(details.kind),\n detail: displayPartsToString(details.displayParts),\n documentation: {\n value: SuggestAdapter.createDocumentationString(details)\n }\n };\n }\n static convertKind(kind) {\n switch (kind) {\n case Kind.primitiveType:\n case Kind.keyword:\n return languages.CompletionItemKind.Keyword;\n case Kind.variable:\n case Kind.localVariable:\n return languages.CompletionItemKind.Variable;\n case Kind.memberVariable:\n case Kind.memberGetAccessor:\n case Kind.memberSetAccessor:\n return languages.CompletionItemKind.Field;\n case Kind.function:\n case Kind.memberFunction:\n case Kind.constructSignature:\n case Kind.callSignature:\n case Kind.indexSignature:\n return languages.CompletionItemKind.Function;\n case Kind.enum:\n return languages.CompletionItemKind.Enum;\n case Kind.module:\n return languages.CompletionItemKind.Module;\n case Kind.class:\n return languages.CompletionItemKind.Class;\n case Kind.interface:\n return languages.CompletionItemKind.Interface;\n case Kind.warning:\n return languages.CompletionItemKind.File;\n }\n return languages.CompletionItemKind.Property;\n }\n static createDocumentationString(details) {\n let documentationString = displayPartsToString(details.documentation);\n if (details.tags) {\n for (const tag of details.tags) {\n documentationString += `\n\n${tagToString(tag)}`;\n }\n }\n return documentationString;\n }\n}\nfunction tagToString(tag) {\n let tagLabel = `*@${tag.name}*`;\n if (tag.name === \"param\" && tag.text) {\n const [paramName, ...rest] = tag.text;\n tagLabel += `\\`${paramName.text}\\``;\n if (rest.length > 0) tagLabel += ` \\u2014 ${rest.map((r) => r.text).join(\" \")}`;\n } else if (Array.isArray(tag.text)) {\n tagLabel += ` \\u2014 ${tag.text.map((r) => r.text).join(\" \")}`;\n } else if (tag.text) {\n tagLabel += ` \\u2014 ${tag.text}`;\n }\n return tagLabel;\n}\nclass SignatureHelpAdapter extends Adapter {\n constructor() {\n super(...arguments);\n this.signatureHelpTriggerCharacters = [\"(\", \",\"];\n }\n static _toSignatureHelpTriggerReason(context) {\n switch (context.triggerKind) {\n case languages.SignatureHelpTriggerKind.TriggerCharacter:\n if (context.triggerCharacter) {\n if (context.isRetrigger) {\n return { kind: \"retrigger\", triggerCharacter: context.triggerCharacter };\n } else {\n return { kind: \"characterTyped\", triggerCharacter: context.triggerCharacter };\n }\n } else {\n return { kind: \"invoked\" };\n }\n case languages.SignatureHelpTriggerKind.ContentChange:\n return context.isRetrigger ? { kind: \"retrigger\" } : { kind: \"invoked\" };\n case languages.SignatureHelpTriggerKind.Invoke:\n default:\n return { kind: \"invoked\" };\n }\n }\n async provideSignatureHelp(model, position, token, context) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getSignatureHelpItems(resource.toString(), offset, {\n triggerReason: SignatureHelpAdapter._toSignatureHelpTriggerReason(context)\n });\n if (!info || model.isDisposed()) {\n return;\n }\n const ret = {\n activeSignature: info.selectedItemIndex,\n activeParameter: info.argumentIndex,\n signatures: []\n };\n info.items.forEach((item) => {\n const signature = {\n label: \"\",\n parameters: []\n };\n signature.documentation = {\n value: displayPartsToString(item.documentation)\n };\n signature.label += displayPartsToString(item.prefixDisplayParts);\n item.parameters.forEach((p, i, a) => {\n const label = displayPartsToString(p.displayParts);\n const parameter = {\n label,\n documentation: {\n value: displayPartsToString(p.documentation)\n }\n };\n signature.label += label;\n signature.parameters.push(parameter);\n if (i < a.length - 1) {\n signature.label += displayPartsToString(item.separatorDisplayParts);\n }\n });\n signature.label += displayPartsToString(item.suffixDisplayParts);\n ret.signatures.push(signature);\n });\n return {\n value: ret,\n dispose() {\n }\n };\n }\n}\nclass QuickInfoAdapter extends Adapter {\n async provideHover(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getQuickInfoAtPosition(resource.toString(), offset);\n if (!info || model.isDisposed()) {\n return;\n }\n const documentation = displayPartsToString(info.documentation);\n const tags = info.tags ? info.tags.map((tag) => tagToString(tag)).join(\" \\n\\n\") : \"\";\n const contents = displayPartsToString(info.displayParts);\n return {\n range: this._textSpanToRange(model, info.textSpan),\n contents: [\n {\n value: \"```typescript\\n\" + contents + \"\\n```\\n\"\n },\n {\n value: documentation + (tags ? \"\\n\\n\" + tags : \"\")\n }\n ]\n };\n }\n}\nclass DocumentHighlightAdapter extends Adapter {\n async provideDocumentHighlights(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getDocumentHighlights(resource.toString(), offset, [\n resource.toString()\n ]);\n if (!entries || model.isDisposed()) {\n return;\n }\n return entries.flatMap((entry) => {\n return entry.highlightSpans.map((highlightSpans) => {\n return {\n range: this._textSpanToRange(model, highlightSpans.textSpan),\n kind: highlightSpans.kind === \"writtenReference\" ? languages.DocumentHighlightKind.Write : languages.DocumentHighlightKind.Text\n };\n });\n });\n }\n}\nclass DefinitionAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideDefinition(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getDefinitionAtPosition(resource.toString(), offset);\n if (!entries || model.isDisposed()) {\n return;\n }\n await this._libFiles.fetchLibFilesIfNecessary(\n entries.map((entry) => Uri.parse(entry.fileName))\n );\n if (model.isDisposed()) {\n return;\n }\n const result = [];\n for (let entry of entries) {\n const refModel = this._libFiles.getOrCreateModel(entry.fileName);\n if (refModel) {\n result.push({\n uri: refModel.uri,\n range: this._textSpanToRange(refModel, entry.textSpan)\n });\n }\n }\n return result;\n }\n}\nclass ReferenceAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideReferences(model, position, context, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getReferencesAtPosition(resource.toString(), offset);\n if (!entries || model.isDisposed()) {\n return;\n }\n await this._libFiles.fetchLibFilesIfNecessary(\n entries.map((entry) => Uri.parse(entry.fileName))\n );\n if (model.isDisposed()) {\n return;\n }\n const result = [];\n for (let entry of entries) {\n const refModel = this._libFiles.getOrCreateModel(entry.fileName);\n if (refModel) {\n result.push({\n uri: refModel.uri,\n range: this._textSpanToRange(refModel, entry.textSpan)\n });\n }\n }\n return result;\n }\n}\nclass OutlineAdapter extends Adapter {\n async provideDocumentSymbols(model, token) {\n const resource = model.uri;\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const root = await worker.getNavigationTree(resource.toString());\n if (!root || model.isDisposed()) {\n return;\n }\n const convert = (item, containerLabel) => {\n const result2 = {\n name: item.text,\n detail: \"\",\n kind: outlineTypeTable[item.kind] || languages.SymbolKind.Variable,\n range: this._textSpanToRange(model, item.spans[0]),\n selectionRange: this._textSpanToRange(model, item.spans[0]),\n tags: [],\n children: item.childItems?.map((child) => convert(child, item.text)),\n containerName: containerLabel\n };\n return result2;\n };\n const result = root.childItems ? root.childItems.map((item) => convert(item)) : [];\n return result;\n }\n}\nclass Kind {\n}\nKind.unknown = \"\";\nKind.keyword = \"keyword\";\nKind.script = \"script\";\nKind.module = \"module\";\nKind.class = \"class\";\nKind.interface = \"interface\";\nKind.type = \"type\";\nKind.enum = \"enum\";\nKind.variable = \"var\";\nKind.localVariable = \"local var\";\nKind.function = \"function\";\nKind.localFunction = \"local function\";\nKind.memberFunction = \"method\";\nKind.memberGetAccessor = \"getter\";\nKind.memberSetAccessor = \"setter\";\nKind.memberVariable = \"property\";\nKind.constructorImplementation = \"constructor\";\nKind.callSignature = \"call\";\nKind.indexSignature = \"index\";\nKind.constructSignature = \"construct\";\nKind.parameter = \"parameter\";\nKind.typeParameter = \"type parameter\";\nKind.primitiveType = \"primitive type\";\nKind.label = \"label\";\nKind.alias = \"alias\";\nKind.const = \"const\";\nKind.let = \"let\";\nKind.warning = \"warning\";\nlet outlineTypeTable = /* @__PURE__ */ Object.create(null);\noutlineTypeTable[Kind.module] = languages.SymbolKind.Module;\noutlineTypeTable[Kind.class] = languages.SymbolKind.Class;\noutlineTypeTable[Kind.enum] = languages.SymbolKind.Enum;\noutlineTypeTable[Kind.interface] = languages.SymbolKind.Interface;\noutlineTypeTable[Kind.memberFunction] = languages.SymbolKind.Method;\noutlineTypeTable[Kind.memberVariable] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.memberGetAccessor] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.memberSetAccessor] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.variable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.const] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.localVariable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.variable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.function] = languages.SymbolKind.Function;\noutlineTypeTable[Kind.localFunction] = languages.SymbolKind.Function;\nclass FormatHelper extends Adapter {\n static _convertOptions(options) {\n return {\n ConvertTabsToSpaces: options.insertSpaces,\n TabSize: options.tabSize,\n IndentSize: options.tabSize,\n IndentStyle: 2 /* Smart */,\n NewLineCharacter: \"\\n\",\n InsertSpaceAfterCommaDelimiter: true,\n InsertSpaceAfterSemicolonInForStatements: true,\n InsertSpaceBeforeAndAfterBinaryOperators: true,\n InsertSpaceAfterKeywordsInControlFlowStatements: true,\n InsertSpaceAfterFunctionKeywordForAnonymousFunctions: true,\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: false,\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: false,\n InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: false,\n PlaceOpenBraceOnNewLineForControlBlocks: false,\n PlaceOpenBraceOnNewLineForFunctions: false\n };\n }\n _convertTextChanges(model, change) {\n return {\n text: change.newText,\n range: this._textSpanToRange(model, change.span)\n };\n }\n}\nclass FormatAdapter extends FormatHelper {\n constructor() {\n super(...arguments);\n this.canFormatMultipleRanges = false;\n }\n async provideDocumentRangeFormattingEdits(model, range, options, token) {\n const resource = model.uri;\n const startOffset = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const endOffset = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const edits = await worker.getFormattingEditsForRange(\n resource.toString(),\n startOffset,\n endOffset,\n FormatHelper._convertOptions(options)\n );\n if (!edits || model.isDisposed()) {\n return;\n }\n return edits.map((edit) => this._convertTextChanges(model, edit));\n }\n}\nclass FormatOnTypeAdapter extends FormatHelper {\n get autoFormatTriggerCharacters() {\n return [\";\", \"}\", \"\\n\"];\n }\n async provideOnTypeFormattingEdits(model, position, ch, options, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const edits = await worker.getFormattingEditsAfterKeystroke(\n resource.toString(),\n offset,\n ch,\n FormatHelper._convertOptions(options)\n );\n if (!edits || model.isDisposed()) {\n return;\n }\n return edits.map((edit) => this._convertTextChanges(model, edit));\n }\n}\nclass CodeActionAdaptor extends FormatHelper {\n async provideCodeActions(model, range, context, token) {\n const resource = model.uri;\n const start = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const end = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const formatOptions = FormatHelper._convertOptions(model.getOptions());\n const errorCodes = context.markers.filter((m) => m.code).map((m) => m.code).map(Number);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const codeFixes = await worker.getCodeFixesAtPosition(\n resource.toString(),\n start,\n end,\n errorCodes,\n formatOptions\n );\n if (!codeFixes || model.isDisposed()) {\n return { actions: [], dispose: () => {\n } };\n }\n const actions = codeFixes.filter((fix) => {\n return fix.changes.filter((change) => change.isNewFile).length === 0;\n }).map((fix) => {\n return this._tsCodeFixActionToMonacoCodeAction(model, context, fix);\n });\n return {\n actions,\n dispose: () => {\n }\n };\n }\n _tsCodeFixActionToMonacoCodeAction(model, context, codeFix) {\n const edits = [];\n for (const change of codeFix.changes) {\n for (const textChange of change.textChanges) {\n edits.push({\n resource: model.uri,\n versionId: void 0,\n textEdit: {\n range: this._textSpanToRange(model, textChange.span),\n text: textChange.newText\n }\n });\n }\n }\n const action = {\n title: codeFix.description,\n edit: { edits },\n diagnostics: context.markers,\n kind: \"quickfix\"\n };\n return action;\n }\n}\nclass RenameAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideRenameEdits(model, position, newName, token) {\n const resource = model.uri;\n const fileName = resource.toString();\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const renameInfo = await worker.getRenameInfo(fileName, offset, {\n allowRenameOfImportPath: false\n });\n if (renameInfo.canRename === false) {\n return {\n edits: [],\n rejectReason: renameInfo.localizedErrorMessage\n };\n }\n if (renameInfo.fileToRename !== void 0) {\n throw new Error(\"Renaming files is not supported.\");\n }\n const renameLocations = await worker.findRenameLocations(\n fileName,\n offset,\n /*strings*/\n false,\n /*comments*/\n false,\n /*prefixAndSuffix*/\n false\n );\n if (!renameLocations || model.isDisposed()) {\n return;\n }\n const edits = [];\n for (const renameLocation of renameLocations) {\n const model2 = this._libFiles.getOrCreateModel(renameLocation.fileName);\n if (model2) {\n edits.push({\n resource: model2.uri,\n versionId: void 0,\n textEdit: {\n range: this._textSpanToRange(model2, renameLocation.textSpan),\n text: newName\n }\n });\n } else {\n throw new Error(`Unknown file ${renameLocation.fileName}.`);\n }\n }\n return { edits };\n }\n}\nclass InlayHintsAdapter extends Adapter {\n async provideInlayHints(model, range, token) {\n const resource = model.uri;\n const fileName = resource.toString();\n const start = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const end = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return null;\n }\n const tsHints = await worker.provideInlayHints(fileName, start, end);\n const hints = tsHints.map((hint) => {\n return {\n ...hint,\n label: hint.text,\n position: model.getPositionAt(hint.position),\n kind: this._convertHintKind(hint.kind)\n };\n });\n return { hints, dispose: () => {\n } };\n }\n _convertHintKind(kind) {\n switch (kind) {\n case \"Parameter\":\n return languages.InlayHintKind.Parameter;\n case \"Type\":\n return languages.InlayHintKind.Type;\n default:\n return languages.InlayHintKind.Type;\n }\n }\n}\n\nexport { Adapter, CodeActionAdaptor, DefinitionAdapter, DiagnosticsAdapter, DocumentHighlightAdapter, FormatAdapter, FormatHelper, FormatOnTypeAdapter, InlayHintsAdapter, Kind, LibFiles, OutlineAdapter, QuickInfoAdapter, ReferenceAdapter, RenameAdapter, SignatureHelpAdapter, SuggestAdapter, flattenDiagnosticMessageText };\n","import { WorkerManager } from './workerManager.js';\nimport { SuggestAdapter, SignatureHelpAdapter, QuickInfoAdapter, DocumentHighlightAdapter, DefinitionAdapter, LibFiles, ReferenceAdapter, OutlineAdapter, RenameAdapter, FormatAdapter, FormatOnTypeAdapter, CodeActionAdaptor, InlayHintsAdapter, DiagnosticsAdapter } from './languageFeatures.js';\nexport { Adapter, FormatHelper, Kind, flattenDiagnosticMessageText } from './languageFeatures.js';\nimport { languages } from '../../../editor/editor.api.js';\n\nlet javaScriptWorker;\nlet typeScriptWorker;\nfunction setupTypeScript(defaults) {\n typeScriptWorker = setupMode(defaults, \"typescript\");\n}\nfunction setupJavaScript(defaults) {\n javaScriptWorker = setupMode(defaults, \"javascript\");\n}\nfunction getJavaScriptWorker() {\n return new Promise((resolve, reject) => {\n if (!javaScriptWorker) {\n return reject(\"JavaScript not registered!\");\n }\n resolve(javaScriptWorker);\n });\n}\nfunction getTypeScriptWorker() {\n return new Promise((resolve, reject) => {\n if (!typeScriptWorker) {\n return reject(\"TypeScript not registered!\");\n }\n resolve(typeScriptWorker);\n });\n}\nfunction setupMode(defaults, modeId) {\n const providers = [];\n const client = new WorkerManager(modeId, defaults);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n const libFiles = new LibFiles(worker);\n function registerProviders() {\n const { modeConfiguration } = defaults;\n disposeAll(providers);\n if (modeConfiguration.completionItems) {\n providers.push(\n languages.registerCompletionItemProvider(\n modeId,\n new SuggestAdapter(worker)\n )\n );\n }\n if (modeConfiguration.signatureHelp) {\n providers.push(\n languages.registerSignatureHelpProvider(\n modeId,\n new SignatureHelpAdapter(worker)\n )\n );\n }\n if (modeConfiguration.hovers) {\n providers.push(\n languages.registerHoverProvider(modeId, new QuickInfoAdapter(worker))\n );\n }\n if (modeConfiguration.documentHighlights) {\n providers.push(\n languages.registerDocumentHighlightProvider(\n modeId,\n new DocumentHighlightAdapter(worker)\n )\n );\n }\n if (modeConfiguration.definitions) {\n providers.push(\n languages.registerDefinitionProvider(\n modeId,\n new DefinitionAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.references) {\n providers.push(\n languages.registerReferenceProvider(\n modeId,\n new ReferenceAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.documentSymbols) {\n providers.push(\n languages.registerDocumentSymbolProvider(\n modeId,\n new OutlineAdapter(worker)\n )\n );\n }\n if (modeConfiguration.rename) {\n providers.push(\n languages.registerRenameProvider(\n modeId,\n new RenameAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.documentRangeFormattingEdits) {\n providers.push(\n languages.registerDocumentRangeFormattingEditProvider(\n modeId,\n new FormatAdapter(worker)\n )\n );\n }\n if (modeConfiguration.onTypeFormattingEdits) {\n providers.push(\n languages.registerOnTypeFormattingEditProvider(\n modeId,\n new FormatOnTypeAdapter(worker)\n )\n );\n }\n if (modeConfiguration.codeActions) {\n providers.push(\n languages.registerCodeActionProvider(modeId, new CodeActionAdaptor(worker))\n );\n }\n if (modeConfiguration.inlayHints) {\n providers.push(\n languages.registerInlayHintsProvider(modeId, new InlayHintsAdapter(worker))\n );\n }\n if (modeConfiguration.diagnostics) {\n providers.push(new DiagnosticsAdapter(libFiles, defaults, modeId, worker));\n }\n }\n registerProviders();\n return worker;\n}\nfunction disposeAll(disposables) {\n while (disposables.length) {\n disposables.pop().dispose();\n }\n}\n\nexport { CodeActionAdaptor, DefinitionAdapter, DiagnosticsAdapter, DocumentHighlightAdapter, FormatAdapter, FormatOnTypeAdapter, InlayHintsAdapter, LibFiles, OutlineAdapter, QuickInfoAdapter, ReferenceAdapter, RenameAdapter, SignatureHelpAdapter, SuggestAdapter, WorkerManager, getJavaScriptWorker, getTypeScriptWorker, setupJavaScript, setupTypeScript };\n"],"ignoreList":[0,1,2,3],"mappings":"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"}
|