@vscode/chat-lib 0.0.1 → 0.0.3
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/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +2 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +70 -28
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts +4 -3
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +85 -109
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +14 -6
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js +6 -5
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +1 -0
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js +44 -42
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/authentication/node/copilotTokenManager.d.ts.map +1 -1
- package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js +8 -4
- package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +8 -0
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +11 -3
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts +1 -1
- package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/capiClient.js +2 -2
- package/dist/src/_internal/platform/endpoint/common/capiClient.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +4 -0
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +7 -0
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/capiClientImpl.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/capiClientImpl.js +1 -1
- package/dist/src/_internal/platform/endpoint/node/capiClientImpl.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/responsesApi.js +10 -4
- package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
- package/dist/src/_internal/platform/env/common/envService.d.ts +5 -0
- package/dist/src/_internal/platform/env/common/envService.d.ts.map +1 -1
- package/dist/src/_internal/platform/env/common/envService.js +2 -1
- package/dist/src/_internal/platform/env/common/envService.js.map +1 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.d.ts +3 -0
- package/dist/src/_internal/platform/env/common/nullEnvService.d.ts.map +1 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.js +8 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.js.map +1 -1
- package/dist/src/_internal/platform/github/common/githubService.d.ts +3 -3
- package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
- package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +0 -3
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +0 -5
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +2 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts +7 -0
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js +1 -0
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts +1 -0
- package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/telemetry.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +8 -0
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.js +19 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/enums.d.ts +6 -0
- package/dist/src/_internal/util/common/test/shims/enums.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/enums.js +8 -1
- package/dist/src/_internal/util/common/test/shims/enums.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +9 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
- package/dist/src/_internal/vscodeTypes.d.ts +5 -0
- package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
- package/dist/src/_internal/vscodeTypes.js +6 -1
- package/dist/src/_internal/vscodeTypes.js.map +1 -1
- package/dist/src/main.d.ts +15 -1
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +73 -13
- package/dist/src/main.js.map +1 -1
- package/dist/src/package.json +70 -31
- package/package.json +7 -9
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.d.ts +0 -42
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.d.ts.map +0 -1
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.js +0 -125
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.js.map +0 -1
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.d.ts +0 -60
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.d.ts.map +0 -1
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.js +0 -416
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.js.map +0 -1
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.d.ts +0 -30
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.d.ts.map +0 -1
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.js +0 -64
- package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.js.map +0 -1
- package/dist/src/_internal/extension/prompts/node/inline/visualization.d.ts +0 -26
- package/dist/src/_internal/extension/prompts/node/inline/visualization.d.ts.map +0 -1
- package/dist/src/_internal/extension/prompts/node/inline/visualization.js +0 -41
- package/dist/src/_internal/extension/prompts/node/inline/visualization.js.map +0 -1
- package/dist/src/_internal/platform/editing/common/abstractText.d.ts +0 -58
- package/dist/src/_internal/platform/editing/common/abstractText.d.ts.map +0 -1
- package/dist/src/_internal/platform/editing/common/abstractText.js +0 -129
- package/dist/src/_internal/platform/editing/common/abstractText.js.map +0 -1
- package/dist/src/_internal/platform/parser/node/nodes.d.ts +0 -93
- package/dist/src/_internal/platform/parser/node/nodes.d.ts.map +0 -1
- package/dist/src/_internal/platform/parser/node/nodes.js +0 -133
- package/dist/src/_internal/platform/parser/node/nodes.js.map +0 -1
- package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.d.ts +0 -18
- package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.d.ts.map +0 -1
- package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.js +0 -50
- package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.js.map +0 -1
- package/dist/src/_internal/util/common/arrays.d.ts +0 -18
- package/dist/src/_internal/util/common/arrays.d.ts.map +0 -1
- package/dist/src/_internal/util/common/arrays.js +0 -80
- package/dist/src/_internal/util/common/arrays.js.map +0 -1
- package/src/_internal/extension/byok/node/openAIEndpoint.ts +0 -171
- package/src/_internal/extension/common/constants.ts +0 -90
- package/src/_internal/extension/inlineEdits/common/delayer.ts +0 -108
- package/src/_internal/extension/inlineEdits/common/editRebase.ts +0 -268
- package/src/_internal/extension/inlineEdits/common/ghNearbyNesProvider.tsx +0 -163
- package/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.ts +0 -225
- package/src/_internal/extension/inlineEdits/common/rejectionCollector.ts +0 -164
- package/src/_internal/extension/inlineEdits/node/debugRecorder.ts +0 -205
- package/src/_internal/extension/inlineEdits/node/importFiltering.ts +0 -25
- package/src/_internal/extension/inlineEdits/node/nesConfigs.ts +0 -12
- package/src/_internal/extension/inlineEdits/node/nextEditCache.ts +0 -278
- package/src/_internal/extension/inlineEdits/node/nextEditProvider.ts +0 -778
- package/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.ts +0 -983
- package/src/_internal/extension/inlineEdits/node/nextEditResult.ts +0 -40
- package/src/_internal/extension/prompt/common/importStatement.ts +0 -25
- package/src/_internal/extension/prompt/node/chatMLFetcher.ts +0 -706
- package/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.ts +0 -146
- package/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.ts +0 -527
- package/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.ts +0 -76
- package/src/_internal/extension/prompts/node/inline/visualization.ts +0 -65
- package/src/_internal/extension/vscode.proposed.activeComment.d.ts +0 -23
- package/src/_internal/extension/vscode.proposed.aiRelatedInformation.d.ts +0 -49
- package/src/_internal/extension/vscode.proposed.aiSettingsSearch.d.ts +0 -31
- package/src/_internal/extension/vscode.proposed.aiTextSearchProvider.d.ts +0 -41
- package/src/_internal/extension/vscode.proposed.authLearnMore.d.ts +0 -16
- package/src/_internal/extension/vscode.proposed.chatBinaryReferenceData.d.ts +0 -41
- package/src/_internal/extension/vscode.proposed.chatEditing.d.ts +0 -29
- package/src/_internal/extension/vscode.proposed.chatParticipantAdditions.d.ts +0 -636
- package/src/_internal/extension/vscode.proposed.chatParticipantPrivate.d.ts +0 -276
- package/src/_internal/extension/vscode.proposed.chatProvider.d.ts +0 -62
- package/src/_internal/extension/vscode.proposed.chatReadonlyPromptReference.d.ts +0 -17
- package/src/_internal/extension/vscode.proposed.chatReferenceDiagnostic.d.ts +0 -23
- package/src/_internal/extension/vscode.proposed.chatSessionsProvider.d.ts +0 -218
- package/src/_internal/extension/vscode.proposed.chatStatusItem.d.ts +0 -61
- package/src/_internal/extension/vscode.proposed.codeActionAI.d.ts +0 -16
- package/src/_internal/extension/vscode.proposed.commentReveal.d.ts +0 -32
- package/src/_internal/extension/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts +0 -8
- package/src/_internal/extension/vscode.proposed.contribCommentsViewThreadMenus.d.ts +0 -6
- package/src/_internal/extension/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +0 -7
- package/src/_internal/extension/vscode.proposed.dataChannels.d.ts +0 -19
- package/src/_internal/extension/vscode.proposed.defaultChatParticipant.d.ts +0 -52
- package/src/_internal/extension/vscode.proposed.documentFiltersExclusive.d.ts +0 -13
- package/src/_internal/extension/vscode.proposed.embeddings.d.ts +0 -33
- package/src/_internal/extension/vscode.proposed.extensionsAny.d.ts +0 -40
- package/src/_internal/extension/vscode.proposed.findFiles2.d.ts +0 -125
- package/src/_internal/extension/vscode.proposed.findTextInFiles.d.ts +0 -104
- package/src/_internal/extension/vscode.proposed.findTextInFiles2.d.ts +0 -144
- package/src/_internal/extension/vscode.proposed.inlineCompletionsAdditions.d.ts +0 -202
- package/src/_internal/extension/vscode.proposed.interactive.d.ts +0 -11
- package/src/_internal/extension/vscode.proposed.languageModelCapabilities.d.ts +0 -25
- package/src/_internal/extension/vscode.proposed.languageModelDataPart.d.ts +0 -163
- package/src/_internal/extension/vscode.proposed.languageModelSystem.d.ts +0 -17
- package/src/_internal/extension/vscode.proposed.languageModelThinkingPart.d.ts +0 -49
- package/src/_internal/extension/vscode.proposed.languageModelToolResultAudience.d.ts +0 -36
- package/src/_internal/extension/vscode.proposed.mappedEditsProvider.d.ts +0 -110
- package/src/_internal/extension/vscode.proposed.newSymbolNamesProvider.d.ts +0 -47
- package/src/_internal/extension/vscode.proposed.readonlyMessage.d.ts +0 -14
- package/src/_internal/extension/vscode.proposed.resolvers.d.ts +0 -475
- package/src/_internal/extension/vscode.proposed.scmInputBoxValueProvider.d.ts +0 -25
- package/src/_internal/extension/vscode.proposed.taskProblemMatcherStatus.d.ts +0 -42
- package/src/_internal/extension/vscode.proposed.terminalDataWriteEvent.d.ts +0 -32
- package/src/_internal/extension/vscode.proposed.terminalExecuteCommandEvent.d.ts +0 -48
- package/src/_internal/extension/vscode.proposed.terminalQuickFixProvider.d.ts +0 -87
- package/src/_internal/extension/vscode.proposed.terminalSelection.d.ts +0 -16
- package/src/_internal/extension/vscode.proposed.testObserver.d.ts +0 -199
- package/src/_internal/extension/vscode.proposed.textDocumentChangeReason.d.ts +0 -30
- package/src/_internal/extension/vscode.proposed.textSearchProvider.d.ts +0 -281
- package/src/_internal/extension/vscode.proposed.textSearchProvider2.d.ts +0 -297
- package/src/_internal/extension/xtab/common/promptCrafting.ts +0 -670
- package/src/_internal/extension/xtab/node/xtabEndpoint.ts +0 -102
- package/src/_internal/extension/xtab/node/xtabProvider.ts +0 -976
- package/src/_internal/extension/xtab/node/xtabUtils.ts +0 -62
- package/src/_internal/platform/authentication/common/authentication.ts +0 -309
- package/src/_internal/platform/authentication/common/copilotToken.ts +0 -300
- package/src/_internal/platform/authentication/common/copilotTokenManager.ts +0 -59
- package/src/_internal/platform/authentication/common/copilotTokenStore.ts +0 -40
- package/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.ts +0 -96
- package/src/_internal/platform/authentication/node/copilotTokenManager.ts +0 -303
- package/src/_internal/platform/chat/common/chatMLFetcher.ts +0 -124
- package/src/_internal/platform/chat/common/chatQuotaService.ts +0 -63
- package/src/_internal/platform/chat/common/chatQuotaServiceImpl.ts +0 -96
- package/src/_internal/platform/chat/common/commonTypes.ts +0 -353
- package/src/_internal/platform/chat/common/conversationOptions.ts +0 -16
- package/src/_internal/platform/chat/common/globalStringUtils.ts +0 -54
- package/src/_internal/platform/chat/common/interactionService.ts +0 -35
- package/src/_internal/platform/configuration/common/configurationService.ts +0 -803
- package/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.ts +0 -39
- package/src/_internal/platform/configuration/common/jsonSchema.ts +0 -139
- package/src/_internal/platform/configuration/common/validator.ts +0 -242
- package/src/_internal/platform/diff/common/diffService.ts +0 -41
- package/src/_internal/platform/diff/common/diffWorker.ts +0 -83
- package/src/_internal/platform/diff/node/diffServiceImpl.ts +0 -85
- package/src/_internal/platform/editing/common/abstractText.ts +0 -177
- package/src/_internal/platform/editing/common/notebookDocumentSnapshot.ts +0 -122
- package/src/_internal/platform/editing/common/positionOffsetTransformer.ts +0 -202
- package/src/_internal/platform/editing/common/textDocumentSnapshot.ts +0 -274
- package/src/_internal/platform/endpoint/common/capiClient.ts +0 -37
- package/src/_internal/platform/endpoint/common/chatModelCapabilities.ts +0 -115
- package/src/_internal/platform/endpoint/common/domainService.ts +0 -27
- package/src/_internal/platform/endpoint/common/endpointProvider.ts +0 -104
- package/src/_internal/platform/endpoint/common/endpointTypes.ts +0 -12
- package/src/_internal/platform/endpoint/common/licenseAgreement.ts +0 -11
- package/src/_internal/platform/endpoint/common/statefulMarkerContainer.tsx +0 -85
- package/src/_internal/platform/endpoint/common/thinkingDataContainer.tsx +0 -44
- package/src/_internal/platform/endpoint/node/capiClientImpl.ts +0 -18
- package/src/_internal/platform/endpoint/node/chatEndpoint.ts +0 -435
- package/src/_internal/platform/endpoint/node/domainServiceImpl.ts +0 -80
- package/src/_internal/platform/endpoint/node/proxyXtabEndpoint.ts +0 -43
- package/src/_internal/platform/endpoint/node/responsesApi.ts +0 -326
- package/src/_internal/platform/env/common/envService.ts +0 -134
- package/src/_internal/platform/env/common/nullEnvService.ts +0 -68
- package/src/_internal/platform/env/common/packagejson.ts +0 -49
- package/src/_internal/platform/git/common/gitExtensionService.ts +0 -21
- package/src/_internal/platform/git/common/nullGitExtensionService.ts +0 -20
- package/src/_internal/platform/git/vscode/git.d.ts +0 -414
- package/src/_internal/platform/github/common/githubAPI.ts +0 -44
- package/src/_internal/platform/github/common/githubService.ts +0 -87
- package/src/_internal/platform/github/common/nullOctokitServiceImpl.ts +0 -21
- package/src/_internal/platform/ignore/common/ignoreService.ts +0 -72
- package/src/_internal/platform/inlineCompletions/common/api.ts +0 -198
- package/src/_internal/platform/inlineEdits/common/dataTypes/diagnosticData.ts +0 -32
- package/src/_internal/platform/inlineEdits/common/dataTypes/documentId.ts +0 -52
- package/src/_internal/platform/inlineEdits/common/dataTypes/edit.ts +0 -165
- package/src/_internal/platform/inlineEdits/common/dataTypes/editUtils.ts +0 -74
- package/src/_internal/platform/inlineEdits/common/dataTypes/fetchCancellationError.ts +0 -14
- package/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.ts +0 -107
- package/src/_internal/platform/inlineEdits/common/dataTypes/languageId.ts +0 -14
- package/src/_internal/platform/inlineEdits/common/dataTypes/permutation.ts +0 -69
- package/src/_internal/platform/inlineEdits/common/dataTypes/rootedLineEdit.ts +0 -49
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLength.ts +0 -74
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/combineTextEditInfos.ts +0 -132
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/length.ts +0 -184
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/textEditInfo.ts +0 -32
- package/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts +0 -89
- package/src/_internal/platform/inlineEdits/common/debugRecorderBookmark.ts +0 -10
- package/src/_internal/platform/inlineEdits/common/editReason.ts +0 -134
- package/src/_internal/platform/inlineEdits/common/inlineEditLogContext.ts +0 -490
- package/src/_internal/platform/inlineEdits/common/observableGit.ts +0 -49
- package/src/_internal/platform/inlineEdits/common/observableWorkspace.ts +0 -239
- package/src/_internal/platform/inlineEdits/common/responseProcessor.ts +0 -249
- package/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.ts +0 -468
- package/src/_internal/platform/inlineEdits/common/statelessNextEditProviders.ts +0 -59
- package/src/_internal/platform/inlineEdits/common/utils/observable.ts +0 -54
- package/src/_internal/platform/inlineEdits/common/utils/stringifyChatMessages.ts +0 -29
- package/src/_internal/platform/inlineEdits/common/utils/utils.ts +0 -56
- package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/historyContextProvider.ts +0 -60
- package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesHistoryContextProvider.ts +0 -353
- package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesXtabHistoryTracker.ts +0 -176
- package/src/_internal/platform/languageContextProvider/common/languageContextProviderService.ts +0 -25
- package/src/_internal/platform/languageContextProvider/common/nullLanguageContextProviderService.ts +0 -38
- package/src/_internal/platform/languageServer/common/languageContextService.ts +0 -186
- package/src/_internal/platform/languages/common/languageDiagnosticsService.ts +0 -67
- package/src/_internal/platform/languages/common/testLanguageDiagnosticsService.ts +0 -28
- package/src/_internal/platform/log/common/logService.ts +0 -232
- package/src/_internal/platform/nesFetch/common/completionsAPI.ts +0 -78
- package/src/_internal/platform/nesFetch/common/completionsFetchService.ts +0 -118
- package/src/_internal/platform/nesFetch/common/responseStream.ts +0 -151
- package/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.ts +0 -236
- package/src/_internal/platform/nesFetch/node/streamTransformer.ts +0 -95
- package/src/_internal/platform/networking/common/fetch.ts +0 -349
- package/src/_internal/platform/networking/common/fetcherService.ts +0 -84
- package/src/_internal/platform/networking/common/networking.ts +0 -442
- package/src/_internal/platform/networking/common/openai.ts +0 -273
- package/src/_internal/platform/networking/node/chatStream.ts +0 -137
- package/src/_internal/platform/networking/node/stream.ts +0 -749
- package/src/_internal/platform/notebook/common/alternativeContent.ts +0 -89
- package/src/_internal/platform/notebook/common/alternativeContentFormat.ts +0 -10
- package/src/_internal/platform/notebook/common/alternativeContentProvider.json.ts +0 -262
- package/src/_internal/platform/notebook/common/alternativeContentProvider.text.ts +0 -243
- package/src/_internal/platform/notebook/common/alternativeContentProvider.ts +0 -41
- package/src/_internal/platform/notebook/common/alternativeContentProvider.xml.ts +0 -205
- package/src/_internal/platform/notebook/common/alternativeNotebookDocument.ts +0 -155
- package/src/_internal/platform/notebook/common/helpers.ts +0 -212
- package/src/_internal/platform/notebook/common/notebookService.ts +0 -43
- package/src/_internal/platform/openai/node/fetch.ts +0 -596
- package/src/_internal/platform/parser/node/nodes.ts +0 -190
- package/src/_internal/platform/requestLogger/node/nullRequestLogger.ts +0 -26
- package/src/_internal/platform/requestLogger/node/requestLogger.ts +0 -383
- package/src/_internal/platform/simulationTestContext/common/simulationTestContext.ts +0 -29
- package/src/_internal/platform/snippy/common/snippyService.ts +0 -25
- package/src/_internal/platform/telemetry/common/nullExperimentationService.ts +0 -64
- package/src/_internal/platform/telemetry/common/nullTelemetryService.ts +0 -53
- package/src/_internal/platform/telemetry/common/telemetry.ts +0 -215
- package/src/_internal/platform/telemetry/common/telemetryData.ts +0 -205
- package/src/_internal/platform/thinking/common/thinking.ts +0 -61
- package/src/_internal/platform/thinking/common/thinkingUtils.ts +0 -57
- package/src/_internal/platform/tokenizer/node/parseTikTokens.ts +0 -23
- package/src/_internal/platform/tokenizer/node/tikTokenizerImpl.ts +0 -74
- package/src/_internal/platform/tokenizer/node/tikTokenizerWorker.ts +0 -24
- package/src/_internal/platform/tokenizer/node/tokenizer.ts +0 -357
- package/src/_internal/platform/workspace/common/workspaceService.ts +0 -226
- package/src/_internal/platform/workspaceRecorder/common/workspaceLog.ts +0 -118
- package/src/_internal/util/common/anomalyDetection.ts +0 -112
- package/src/_internal/util/common/arrays.ts +0 -81
- package/src/_internal/util/common/async.ts +0 -155
- package/src/_internal/util/common/cache.ts +0 -183
- package/src/_internal/util/common/crypto.ts +0 -41
- package/src/_internal/util/common/errors.ts +0 -22
- package/src/_internal/util/common/globals.d.ts +0 -12
- package/src/_internal/util/common/imageUtils.ts +0 -154
- package/src/_internal/util/common/languages.ts +0 -940
- package/src/_internal/util/common/notebooks.ts +0 -286
- package/src/_internal/util/common/result.ts +0 -71
- package/src/_internal/util/common/services.ts +0 -43
- package/src/_internal/util/common/test/shims/chatTypes.ts +0 -448
- package/src/_internal/util/common/test/shims/editing.ts +0 -233
- package/src/_internal/util/common/test/shims/enums.ts +0 -61
- package/src/_internal/util/common/test/shims/l10n.ts +0 -37
- package/src/_internal/util/common/test/shims/newSymbolName.ts +0 -23
- package/src/_internal/util/common/test/shims/terminal.ts +0 -33
- package/src/_internal/util/common/test/shims/vscodeTypesShim.ts +0 -115
- package/src/_internal/util/common/time.ts +0 -31
- package/src/_internal/util/common/tokenizer.ts +0 -30
- package/src/_internal/util/common/tracing.ts +0 -52
- package/src/_internal/util/common/types.ts +0 -33
- package/src/_internal/util/common/variableLengthQuantity.ts +0 -40
- package/src/_internal/util/node/worker.ts +0 -130
- package/src/_internal/util/vs/base/common/arrays.ts +0 -926
- package/src/_internal/util/vs/base/common/arraysFind.ts +0 -206
- package/src/_internal/util/vs/base/common/assert.ts +0 -89
- package/src/_internal/util/vs/base/common/async.ts +0 -2582
- package/src/_internal/util/vs/base/common/buffer.ts +0 -501
- package/src/_internal/util/vs/base/common/cache.ts +0 -122
- package/src/_internal/util/vs/base/common/cancellation.ts +0 -150
- package/src/_internal/util/vs/base/common/charCode.ts +0 -452
- package/src/_internal/util/vs/base/common/codicons.ts +0 -66
- package/src/_internal/util/vs/base/common/codiconsLibrary.ts +0 -618
- package/src/_internal/util/vs/base/common/codiconsUtil.ts +0 -30
- package/src/_internal/util/vs/base/common/collections.ts +0 -156
- package/src/_internal/util/vs/base/common/diff/diff.ts +0 -1317
- package/src/_internal/util/vs/base/common/diff/diffChange.ts +0 -62
- package/src/_internal/util/vs/base/common/equals.ts +0 -148
- package/src/_internal/util/vs/base/common/errors.ts +0 -342
- package/src/_internal/util/vs/base/common/event.ts +0 -1782
- package/src/_internal/util/vs/base/common/extpath.ts +0 -425
- package/src/_internal/util/vs/base/common/filters.ts +0 -928
- package/src/_internal/util/vs/base/common/functional.ts +0 -34
- package/src/_internal/util/vs/base/common/glob.ts +0 -839
- package/src/_internal/util/vs/base/common/hash.ts +0 -326
- package/src/_internal/util/vs/base/common/htmlContent.ts +0 -212
- package/src/_internal/util/vs/base/common/iconLabels.ts +0 -118
- package/src/_internal/util/vs/base/common/iterator.ts +0 -196
- package/src/_internal/util/vs/base/common/lazy.ts +0 -59
- package/src/_internal/util/vs/base/common/lifecycle.ts +0 -845
- package/src/_internal/util/vs/base/common/linkedList.ts +0 -144
- package/src/_internal/util/vs/base/common/map.ts +0 -954
- package/src/_internal/util/vs/base/common/marshallingIds.ts +0 -35
- package/src/_internal/util/vs/base/common/mime.ts +0 -136
- package/src/_internal/util/vs/base/common/naturalLanguage/korean.ts +0 -425
- package/src/_internal/util/vs/base/common/network.ts +0 -429
- package/src/_internal/util/vs/base/common/numbers.ts +0 -166
- package/src/_internal/util/vs/base/common/objects.ts +0 -242
- package/src/_internal/util/vs/base/common/observable.ts +0 -10
- package/src/_internal/util/vs/base/common/observableInternal/base.ts +0 -208
- package/src/_internal/util/vs/base/common/observableInternal/changeTracker.ts +0 -96
- package/src/_internal/util/vs/base/common/observableInternal/commonFacade/cancellation.ts +0 -9
- package/src/_internal/util/vs/base/common/observableInternal/commonFacade/deps.ts +0 -12
- package/src/_internal/util/vs/base/common/observableInternal/debugLocation.ts +0 -88
- package/src/_internal/util/vs/base/common/observableInternal/debugName.ts +0 -150
- package/src/_internal/util/vs/base/common/observableInternal/experimental/utils.ts +0 -62
- package/src/_internal/util/vs/base/common/observableInternal/index.ts +0 -61
- package/src/_internal/util/vs/base/common/observableInternal/logging/consoleObservableLogger.ts +0 -388
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerApi.d.ts +0 -154
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerRpc.ts +0 -80
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/devToolsLogger.ts +0 -485
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/rpc.ts +0 -103
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/utils.ts +0 -69
- package/src/_internal/util/vs/base/common/observableInternal/logging/logging.ts +0 -133
- package/src/_internal/util/vs/base/common/observableInternal/map.ts +0 -81
- package/src/_internal/util/vs/base/common/observableInternal/observables/baseObservable.ts +0 -172
- package/src/_internal/util/vs/base/common/observableInternal/observables/constObservable.ts +0 -44
- package/src/_internal/util/vs/base/common/observableInternal/observables/derived.ts +0 -190
- package/src/_internal/util/vs/base/common/observableInternal/observables/derivedImpl.ts +0 -445
- package/src/_internal/util/vs/base/common/observableInternal/observables/lazyObservableValue.ts +0 -154
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableFromEvent.ts +0 -174
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignal.ts +0 -67
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignalFromEvent.ts +0 -62
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableValue.ts +0 -131
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableValueOpts.ts +0 -37
- package/src/_internal/util/vs/base/common/observableInternal/reactions/autorun.ts +0 -188
- package/src/_internal/util/vs/base/common/observableInternal/reactions/autorunImpl.ts +0 -256
- package/src/_internal/util/vs/base/common/observableInternal/set.ts +0 -78
- package/src/_internal/util/vs/base/common/observableInternal/transaction.ts +0 -115
- package/src/_internal/util/vs/base/common/observableInternal/utils/promise.ts +0 -129
- package/src/_internal/util/vs/base/common/observableInternal/utils/runOnChange.ts +0 -65
- package/src/_internal/util/vs/base/common/observableInternal/utils/utils.ts +0 -281
- package/src/_internal/util/vs/base/common/observableInternal/utils/utilsCancellation.ts +0 -101
- package/src/_internal/util/vs/base/common/observableInternal/utils/valueWithChangeEvent.ts +0 -31
- package/src/_internal/util/vs/base/common/path.ts +0 -1591
- package/src/_internal/util/vs/base/common/platform.ts +0 -282
- package/src/_internal/util/vs/base/common/process.ts +0 -78
- package/src/_internal/util/vs/base/common/resources.ts +0 -446
- package/src/_internal/util/vs/base/common/sequence.ts +0 -36
- package/src/_internal/util/vs/base/common/sseParser.ts +0 -247
- package/src/_internal/util/vs/base/common/stopwatch.ts +0 -43
- package/src/_internal/util/vs/base/common/stream.ts +0 -792
- package/src/_internal/util/vs/base/common/strings.ts +0 -1364
- package/src/_internal/util/vs/base/common/symbols.ts +0 -11
- package/src/_internal/util/vs/base/common/themables.ts +0 -106
- package/src/_internal/util/vs/base/common/types.ts +0 -345
- package/src/_internal/util/vs/base/common/uint.ts +0 -61
- package/src/_internal/util/vs/base/common/uri.ts +0 -752
- package/src/_internal/util/vs/base/common/uuid.ts +0 -72
- package/src/_internal/util/vs/base-common.d.ts +0 -42
- package/src/_internal/util/vs/editor/common/core/editOperation.ts +0 -62
- package/src/_internal/util/vs/editor/common/core/edits/edit.ts +0 -399
- package/src/_internal/util/vs/editor/common/core/edits/lineEdit.ts +0 -414
- package/src/_internal/util/vs/editor/common/core/edits/stringEdit.ts +0 -568
- package/src/_internal/util/vs/editor/common/core/edits/textEdit.ts +0 -411
- package/src/_internal/util/vs/editor/common/core/position.ts +0 -186
- package/src/_internal/util/vs/editor/common/core/range.ts +0 -519
- package/src/_internal/util/vs/editor/common/core/ranges/lineRange.ts +0 -416
- package/src/_internal/util/vs/editor/common/core/ranges/offsetRange.ts +0 -275
- package/src/_internal/util/vs/editor/common/core/text/abstractText.ts +0 -127
- package/src/_internal/util/vs/editor/common/core/text/positionToOffset.ts +0 -26
- package/src/_internal/util/vs/editor/common/core/text/positionToOffsetImpl.ts +0 -144
- package/src/_internal/util/vs/editor/common/core/text/textLength.ts +0 -150
- package/src/_internal/util/vs/editor/common/core/wordHelper.ts +0 -177
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.ts +0 -210
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.ts +0 -109
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.ts +0 -178
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.ts +0 -331
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.ts +0 -273
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.ts +0 -475
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.ts +0 -47
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.ts +0 -248
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/utils.ts +0 -76
- package/src/_internal/util/vs/editor/common/diff/legacyLinesDiffComputer.ts +0 -693
- package/src/_internal/util/vs/editor/common/diff/linesDiffComputer.ts +0 -61
- package/src/_internal/util/vs/editor/common/diff/rangeMapping.ts +0 -418
- package/src/_internal/util/vs/editor/common/model/prefixSumComputer.ts +0 -304
- package/src/_internal/util/vs/nls.messages.ts +0 -21
- package/src/_internal/util/vs/nls.ts +0 -243
- package/src/_internal/util/vs/platform/instantiation/common/descriptors.ts +0 -23
- package/src/_internal/util/vs/platform/instantiation/common/graph.ts +0 -113
- package/src/_internal/util/vs/platform/instantiation/common/instantiation.ts +0 -127
- package/src/_internal/util/vs/platform/instantiation/common/instantiationService.ts +0 -483
- package/src/_internal/util/vs/platform/instantiation/common/serviceCollection.ts +0 -34
- package/src/_internal/util/vs/vscode-globals-nls.d.ts +0 -42
- package/src/_internal/util/vs/vscode-globals-product.d.ts +0 -35
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/diagnostic.ts +0 -109
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/es5ClassCompat.ts +0 -34
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/location.ts +0 -51
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/markdownString.ts +0 -83
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/notebooks.ts +0 -296
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/position.ts +0 -195
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/range.ts +0 -167
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/selection.ts +0 -94
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetString.ts +0 -103
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetTextEdit.ts +0 -44
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/symbolInformation.ts +0 -89
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/textEdit.ts +0 -99
- package/src/_internal/vscodeTypes.ts +0 -100
- package/src/main.ts +0 -207
- package/src/package.json +0 -4063
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
//!!! DO NOT modify, this file was COPIED from 'microsoft/vscode'
|
|
2
|
-
|
|
3
|
-
/*---------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
6
|
-
*--------------------------------------------------------------------------------------------*/
|
|
7
|
-
|
|
8
|
-
import { isTypedArray, isObject, isUndefinedOrNull } from './types';
|
|
9
|
-
|
|
10
|
-
export function deepClone<T>(obj: T): T {
|
|
11
|
-
if (!obj || typeof obj !== 'object') {
|
|
12
|
-
return obj;
|
|
13
|
-
}
|
|
14
|
-
if (obj instanceof RegExp) {
|
|
15
|
-
return obj;
|
|
16
|
-
}
|
|
17
|
-
const result: any = Array.isArray(obj) ? [] : {};
|
|
18
|
-
Object.entries(obj).forEach(([key, value]) => {
|
|
19
|
-
result[key] = value && typeof value === 'object' ? deepClone(value) : value;
|
|
20
|
-
});
|
|
21
|
-
return result;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function deepFreeze<T>(obj: T): T {
|
|
25
|
-
if (!obj || typeof obj !== 'object') {
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
|
-
const stack: any[] = [obj];
|
|
29
|
-
while (stack.length > 0) {
|
|
30
|
-
const obj = stack.shift();
|
|
31
|
-
Object.freeze(obj);
|
|
32
|
-
for (const key in obj) {
|
|
33
|
-
if (_hasOwnProperty.call(obj, key)) {
|
|
34
|
-
const prop = obj[key];
|
|
35
|
-
if (typeof prop === 'object' && !Object.isFrozen(prop) && !isTypedArray(prop)) {
|
|
36
|
-
stack.push(prop);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return obj;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const _hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
export function cloneAndChange(obj: any, changer: (orig: any) => any): any {
|
|
48
|
-
return _cloneAndChange(obj, changer, new Set());
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function _cloneAndChange(obj: any, changer: (orig: any) => any, seen: Set<any>): any {
|
|
52
|
-
if (isUndefinedOrNull(obj)) {
|
|
53
|
-
return obj;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const changed = changer(obj);
|
|
57
|
-
if (typeof changed !== 'undefined') {
|
|
58
|
-
return changed;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
if (Array.isArray(obj)) {
|
|
62
|
-
const r1: any[] = [];
|
|
63
|
-
for (const e of obj) {
|
|
64
|
-
r1.push(_cloneAndChange(e, changer, seen));
|
|
65
|
-
}
|
|
66
|
-
return r1;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
if (isObject(obj)) {
|
|
70
|
-
if (seen.has(obj)) {
|
|
71
|
-
throw new Error('Cannot clone recursive data-structure');
|
|
72
|
-
}
|
|
73
|
-
seen.add(obj);
|
|
74
|
-
const r2 = {};
|
|
75
|
-
for (const i2 in obj) {
|
|
76
|
-
if (_hasOwnProperty.call(obj, i2)) {
|
|
77
|
-
(r2 as any)[i2] = _cloneAndChange(obj[i2], changer, seen);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
seen.delete(obj);
|
|
81
|
-
return r2;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return obj;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Copies all properties of source into destination. The optional parameter "overwrite" allows to control
|
|
89
|
-
* if existing properties on the destination should be overwritten or not. Defaults to true (overwrite).
|
|
90
|
-
*/
|
|
91
|
-
export function mixin(destination: any, source: any, overwrite: boolean = true): any {
|
|
92
|
-
if (!isObject(destination)) {
|
|
93
|
-
return source;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (isObject(source)) {
|
|
97
|
-
Object.keys(source).forEach(key => {
|
|
98
|
-
if (key in destination) {
|
|
99
|
-
if (overwrite) {
|
|
100
|
-
if (isObject(destination[key]) && isObject(source[key])) {
|
|
101
|
-
mixin(destination[key], source[key], overwrite);
|
|
102
|
-
} else {
|
|
103
|
-
destination[key] = source[key];
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
} else {
|
|
107
|
-
destination[key] = source[key];
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
return destination;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export function equals(one: any, other: any): boolean {
|
|
115
|
-
if (one === other) {
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
if (one === null || one === undefined || other === null || other === undefined) {
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
if (typeof one !== typeof other) {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
if (typeof one !== 'object') {
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
if ((Array.isArray(one)) !== (Array.isArray(other))) {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
let i: number;
|
|
132
|
-
let key: string;
|
|
133
|
-
|
|
134
|
-
if (Array.isArray(one)) {
|
|
135
|
-
if (one.length !== other.length) {
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
for (i = 0; i < one.length; i++) {
|
|
139
|
-
if (!equals(one[i], other[i])) {
|
|
140
|
-
return false;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
} else {
|
|
144
|
-
const oneKeys: string[] = [];
|
|
145
|
-
|
|
146
|
-
for (key in one) {
|
|
147
|
-
oneKeys.push(key);
|
|
148
|
-
}
|
|
149
|
-
oneKeys.sort();
|
|
150
|
-
const otherKeys: string[] = [];
|
|
151
|
-
for (key in other) {
|
|
152
|
-
otherKeys.push(key);
|
|
153
|
-
}
|
|
154
|
-
otherKeys.sort();
|
|
155
|
-
if (!equals(oneKeys, otherKeys)) {
|
|
156
|
-
return false;
|
|
157
|
-
}
|
|
158
|
-
for (i = 0; i < oneKeys.length; i++) {
|
|
159
|
-
if (!equals(one[oneKeys[i]], other[oneKeys[i]])) {
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return true;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Calls `JSON.Stringify` with a replacer to break apart any circular references.
|
|
169
|
-
* This prevents `JSON`.stringify` from throwing the exception
|
|
170
|
-
* "Uncaught TypeError: Converting circular structure to JSON"
|
|
171
|
-
*/
|
|
172
|
-
export function safeStringify(obj: any): string {
|
|
173
|
-
const seen = new Set<any>();
|
|
174
|
-
return JSON.stringify(obj, (key, value) => {
|
|
175
|
-
if (isObject(value) || Array.isArray(value)) {
|
|
176
|
-
if (seen.has(value)) {
|
|
177
|
-
return '[Circular]';
|
|
178
|
-
} else {
|
|
179
|
-
seen.add(value);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
if (typeof value === 'bigint') {
|
|
183
|
-
return `[BigInt ${value.toString()}]`;
|
|
184
|
-
}
|
|
185
|
-
return value;
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
type obj = { [key: string]: any };
|
|
190
|
-
/**
|
|
191
|
-
* Returns an object that has keys for each value that is different in the base object. Keys
|
|
192
|
-
* that do not exist in the target but in the base object are not considered.
|
|
193
|
-
*
|
|
194
|
-
* Note: This is not a deep-diffing method, so the values are strictly taken into the resulting
|
|
195
|
-
* object if they differ.
|
|
196
|
-
*
|
|
197
|
-
* @param base the object to diff against
|
|
198
|
-
* @param obj the object to use for diffing
|
|
199
|
-
*/
|
|
200
|
-
export function distinct(base: obj, target: obj): obj {
|
|
201
|
-
const result = Object.create(null);
|
|
202
|
-
|
|
203
|
-
if (!base || !target) {
|
|
204
|
-
return result;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
const targetKeys = Object.keys(target);
|
|
208
|
-
targetKeys.forEach(k => {
|
|
209
|
-
const baseValue = base[k];
|
|
210
|
-
const targetValue = target[k];
|
|
211
|
-
|
|
212
|
-
if (!equals(baseValue, targetValue)) {
|
|
213
|
-
result[k] = targetValue;
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
|
|
217
|
-
return result;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
export function getCaseInsensitive(target: obj, key: string): unknown {
|
|
221
|
-
const lowercaseKey = key.toLowerCase();
|
|
222
|
-
const equivalentKey = Object.keys(target).find(k => k.toLowerCase() === lowercaseKey);
|
|
223
|
-
return equivalentKey ? target[equivalentKey] : target[key];
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
export function filter(obj: obj, predicate: (key: string, value: any) => boolean): obj {
|
|
227
|
-
const result = Object.create(null);
|
|
228
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
229
|
-
if (predicate(key, value)) {
|
|
230
|
-
result[key] = value;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
return result;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
export function mapValues<T extends {}, R>(obj: T, fn: (value: T[keyof T], key: string) => R): { [K in keyof T]: R } {
|
|
237
|
-
const result: { [key: string]: R } = {};
|
|
238
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
239
|
-
result[key] = fn(<T[keyof T]>value, key);
|
|
240
|
-
}
|
|
241
|
-
return result as { [K in keyof T]: R };
|
|
242
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
//!!! DO NOT modify, this file was COPIED from 'microsoft/vscode'
|
|
2
|
-
|
|
3
|
-
/*---------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
6
|
-
*--------------------------------------------------------------------------------------------*/
|
|
7
|
-
|
|
8
|
-
// This is a facade for the observable implementation. Only import from here!
|
|
9
|
-
|
|
10
|
-
export * from './observableInternal/index';
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
//!!! DO NOT modify, this file was COPIED from 'microsoft/vscode'
|
|
2
|
-
|
|
3
|
-
/*---------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
6
|
-
*--------------------------------------------------------------------------------------------*/
|
|
7
|
-
|
|
8
|
-
import { DisposableStore, onUnexpectedError } from './commonFacade/deps';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Represents an observable value.
|
|
12
|
-
*
|
|
13
|
-
* @template T The type of the values the observable can hold.
|
|
14
|
-
*/
|
|
15
|
-
// This interface exists so that, for example for string observables,
|
|
16
|
-
// typescript renders the type as `IObservable<string>` instead of `IObservable<string, unknown>`.
|
|
17
|
-
export interface IObservable<T> extends IObservableWithChange<T, unknown> { }
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Represents an observable value.
|
|
21
|
-
*
|
|
22
|
-
* @template T The type of the values the observable can hold.
|
|
23
|
-
* @template TChange The type used to describe value changes
|
|
24
|
-
* (usually `void` and only used in advanced scenarios).
|
|
25
|
-
* While observers can miss temporary values of an observable,
|
|
26
|
-
* they will receive all change values (as long as they are subscribed)!
|
|
27
|
-
*/
|
|
28
|
-
export interface IObservableWithChange<T, TChange = unknown> {
|
|
29
|
-
/**
|
|
30
|
-
* Returns the current value.
|
|
31
|
-
*
|
|
32
|
-
* Calls {@link IObserver.handleChange} if the observable notices that the value changed.
|
|
33
|
-
* Must not be called from {@link IObserver.handleChange}!
|
|
34
|
-
*/
|
|
35
|
-
get(): T;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Forces the observable to check for changes and report them.
|
|
39
|
-
*
|
|
40
|
-
* Has the same effect as calling {@link IObservable.get}, but does not force the observable
|
|
41
|
-
* to actually construct the value, e.g. if change deltas are used.
|
|
42
|
-
* Calls {@link IObserver.handleChange} if the observable notices that the value changed.
|
|
43
|
-
* Must not be called from {@link IObserver.handleChange}!
|
|
44
|
-
*/
|
|
45
|
-
reportChanges(): void;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Adds the observer to the set of subscribed observers.
|
|
49
|
-
* This method is idempotent.
|
|
50
|
-
*/
|
|
51
|
-
addObserver(observer: IObserver): void;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Removes the observer from the set of subscribed observers.
|
|
55
|
-
* This method is idempotent.
|
|
56
|
-
*/
|
|
57
|
-
removeObserver(observer: IObserver): void;
|
|
58
|
-
|
|
59
|
-
// #region These members have a standard implementation and are only part of the interface for convenience.
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Reads the current value and subscribes the reader to this observable.
|
|
63
|
-
*
|
|
64
|
-
* Calls {@link IReader.readObservable} if a reader is given, otherwise {@link IObservable.get}
|
|
65
|
-
* (see {@link ConvenientObservable.read} for the implementation).
|
|
66
|
-
*/
|
|
67
|
-
read(reader: IReader | undefined): T;
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Makes sure this value is computed eagerly.
|
|
71
|
-
*/
|
|
72
|
-
recomputeInitiallyAndOnChange(store: DisposableStore, handleValue?: (value: T) => void): IObservable<T>;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Makes sure this value is cached.
|
|
76
|
-
*/
|
|
77
|
-
keepObserved(store: DisposableStore): IObservable<T>;
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Creates a derived observable that depends on this observable.
|
|
81
|
-
* Use the reader to read other observables
|
|
82
|
-
* (see {@link ConvenientObservable.map} for the implementation).
|
|
83
|
-
*/
|
|
84
|
-
map<TNew>(fn: (value: T, reader: IReader) => TNew): IObservable<TNew>;
|
|
85
|
-
map<TNew>(owner: object, fn: (value: T, reader: IReader) => TNew): IObservable<TNew>;
|
|
86
|
-
|
|
87
|
-
flatten<TNew>(this: IObservable<IObservable<TNew>>): IObservable<TNew>;
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* ONLY FOR DEBUGGING!
|
|
91
|
-
* Logs computations of this derived.
|
|
92
|
-
*/
|
|
93
|
-
log(): IObservableWithChange<T, TChange>;
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* A human-readable name for debugging purposes.
|
|
97
|
-
*/
|
|
98
|
-
readonly debugName: string;
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* This property captures the type of the change object. Do not use it at runtime!
|
|
102
|
-
*/
|
|
103
|
-
readonly TChange: TChange;
|
|
104
|
-
|
|
105
|
-
// #endregion
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Represents an observer that can be subscribed to an observable.
|
|
110
|
-
*
|
|
111
|
-
* If an observer is subscribed to an observable and that observable didn't signal
|
|
112
|
-
* a change through one of the observer methods, the observer can assume that the
|
|
113
|
-
* observable didn't change.
|
|
114
|
-
* If an observable reported a possible change, {@link IObservable.reportChanges} forces
|
|
115
|
-
* the observable to report an actual change if there was one.
|
|
116
|
-
*/
|
|
117
|
-
export interface IObserver {
|
|
118
|
-
/**
|
|
119
|
-
* Signals that the given observable might have changed and a transaction potentially modifying that observable started.
|
|
120
|
-
* Before the given observable can call this method again, is must call {@link IObserver.endUpdate}.
|
|
121
|
-
*
|
|
122
|
-
* Implementations must not get/read the value of other observables, as they might not have received this event yet!
|
|
123
|
-
* The method {@link IObservable.reportChanges} can be used to force the observable to report the changes.
|
|
124
|
-
*/
|
|
125
|
-
beginUpdate<T>(observable: IObservable<T>): void;
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Signals that the transaction that potentially modified the given observable ended.
|
|
129
|
-
* This is a good place to react to (potential) changes.
|
|
130
|
-
*/
|
|
131
|
-
endUpdate<T>(observable: IObservable<T>): void;
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Signals that the given observable might have changed.
|
|
135
|
-
* The method {@link IObservable.reportChanges} can be used to force the observable to report the changes.
|
|
136
|
-
*
|
|
137
|
-
* Implementations must not get/read the value of other observables, as they might not have received this event yet!
|
|
138
|
-
* The change should be processed lazily or in {@link IObserver.endUpdate}.
|
|
139
|
-
*/
|
|
140
|
-
handlePossibleChange<T>(observable: IObservable<T>): void;
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Signals that the given {@link observable} changed.
|
|
144
|
-
*
|
|
145
|
-
* Implementations must not get/read the value of other observables, as they might not have received this event yet!
|
|
146
|
-
* The change should be processed lazily or in {@link IObserver.endUpdate}.
|
|
147
|
-
*
|
|
148
|
-
* @param change Indicates how or why the value changed.
|
|
149
|
-
*/
|
|
150
|
-
handleChange<T, TChange>(observable: IObservableWithChange<T, TChange>, change: TChange): void;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
export interface IReader {
|
|
154
|
-
/**
|
|
155
|
-
* Reads the value of an observable and subscribes to it.
|
|
156
|
-
*/
|
|
157
|
-
readObservable<T>(observable: IObservableWithChange<T, any>): T;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
export interface ISettable<T, TChange = void> {
|
|
161
|
-
/**
|
|
162
|
-
* Sets the value of the observable.
|
|
163
|
-
* Use a transaction to batch multiple changes (with a transaction, observers only react at the end of the transaction).
|
|
164
|
-
*
|
|
165
|
-
* @param transaction When given, value changes are handled on demand or when the transaction ends.
|
|
166
|
-
* @param change Describes how or why the value changed.
|
|
167
|
-
*/
|
|
168
|
-
set(value: T, transaction: ITransaction | undefined, change: TChange): void;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
export interface ITransaction {
|
|
172
|
-
/**
|
|
173
|
-
* Calls {@link Observer.beginUpdate} immediately
|
|
174
|
-
* and {@link Observer.endUpdate} when the transaction ends.
|
|
175
|
-
*/
|
|
176
|
-
updateObserver(observer: IObserver, observable: IObservableWithChange<any, any>): void;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* This function is used to indicate that the caller recovered from an error that indicates a bug.
|
|
181
|
-
*/
|
|
182
|
-
export function handleBugIndicatingErrorRecovery(message: string) {
|
|
183
|
-
const err = new Error('BugIndicatingErrorRecovery: ' + message);
|
|
184
|
-
onUnexpectedError(err);
|
|
185
|
-
console.error('recovered from an error that indicates a bug', err);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* A settable observable.
|
|
190
|
-
*/
|
|
191
|
-
export interface ISettableObservable<T, TChange = void> extends IObservableWithChange<T, TChange>, ISettable<T, TChange> {
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
export interface IReaderWithStore extends IReader {
|
|
195
|
-
/**
|
|
196
|
-
* Items in this store get disposed just before the observable recomputes/reruns or when it becomes unobserved.
|
|
197
|
-
*/
|
|
198
|
-
get store(): DisposableStore;
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Items in this store get disposed just after the observable recomputes/reruns or when it becomes unobserved.
|
|
202
|
-
* This is important if the current run needs the undisposed result from the last run.
|
|
203
|
-
*
|
|
204
|
-
* Warning: Items in this store might still get disposed before dependents (that read the now disposed value in the past) are recomputed with the new (undisposed) value!
|
|
205
|
-
* A clean solution for this is ref counting.
|
|
206
|
-
*/
|
|
207
|
-
get delayedStore(): DisposableStore;
|
|
208
|
-
}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
//!!! DO NOT modify, this file was COPIED from 'microsoft/vscode'
|
|
2
|
-
|
|
3
|
-
/*---------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
6
|
-
*--------------------------------------------------------------------------------------------*/
|
|
7
|
-
|
|
8
|
-
import { BugIndicatingError } from './commonFacade/deps';
|
|
9
|
-
import { IObservableWithChange, IReader } from './base';
|
|
10
|
-
|
|
11
|
-
export interface IChangeTracker<TChangeSummary> {
|
|
12
|
-
createChangeSummary(previousChangeSummary: TChangeSummary | undefined): TChangeSummary;
|
|
13
|
-
handleChange(ctx: IChangeContext, change: TChangeSummary): boolean;
|
|
14
|
-
beforeUpdate?(reader: IReader, change: TChangeSummary): void;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export interface IChangeContext {
|
|
18
|
-
readonly changedObservable: IObservableWithChange<any, any>;
|
|
19
|
-
readonly change: unknown;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Returns if the given observable caused the change.
|
|
23
|
-
*/
|
|
24
|
-
didChange<T, TChange>(observable: IObservableWithChange<T, TChange>): this is { change: TChange };
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Subscribes to and records changes and the last value of the given observables.
|
|
29
|
-
* Don't use the key "changes", as it is reserved for the changes array!
|
|
30
|
-
*/
|
|
31
|
-
export function recordChanges<TObs extends Record<any, IObservableWithChange<any, any>>>(obs: TObs):
|
|
32
|
-
IChangeTracker<{ [TKey in keyof TObs]: ReturnType<TObs[TKey]['get']> }
|
|
33
|
-
& { changes: readonly ({ [TKey in keyof TObs]: { key: TKey; change: TObs[TKey]['TChange'] } }[keyof TObs])[] }> {
|
|
34
|
-
return {
|
|
35
|
-
createChangeSummary: (_previousChangeSummary) => {
|
|
36
|
-
return {
|
|
37
|
-
changes: [],
|
|
38
|
-
} as any;
|
|
39
|
-
},
|
|
40
|
-
handleChange(ctx, changeSummary) {
|
|
41
|
-
for (const key in obs) {
|
|
42
|
-
if (ctx.didChange(obs[key])) {
|
|
43
|
-
(changeSummary.changes as any).push({ key, change: ctx.change });
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return true;
|
|
47
|
-
},
|
|
48
|
-
beforeUpdate(reader, changeSummary) {
|
|
49
|
-
for (const key in obs) {
|
|
50
|
-
if (key === 'changes') {
|
|
51
|
-
throw new BugIndicatingError('property name "changes" is reserved for change tracking');
|
|
52
|
-
}
|
|
53
|
-
changeSummary[key] = obs[key].read(reader);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Subscribes to and records changes and the last value of the given observables.
|
|
61
|
-
* Don't use the key "changes", as it is reserved for the changes array!
|
|
62
|
-
*/
|
|
63
|
-
export function recordChangesLazy<TObs extends Record<any, IObservableWithChange<any, any>>>(getObs: () => TObs):
|
|
64
|
-
IChangeTracker<{ [TKey in keyof TObs]: ReturnType<TObs[TKey]['get']> }
|
|
65
|
-
& { changes: readonly ({ [TKey in keyof TObs]: { key: TKey; change: TObs[TKey]['TChange'] } }[keyof TObs])[] }> {
|
|
66
|
-
let obs: TObs | undefined = undefined;
|
|
67
|
-
return {
|
|
68
|
-
createChangeSummary: (_previousChangeSummary) => {
|
|
69
|
-
return {
|
|
70
|
-
changes: [],
|
|
71
|
-
} as any;
|
|
72
|
-
},
|
|
73
|
-
handleChange(ctx, changeSummary) {
|
|
74
|
-
if (!obs) {
|
|
75
|
-
obs = getObs();
|
|
76
|
-
}
|
|
77
|
-
for (const key in obs) {
|
|
78
|
-
if (ctx.didChange(obs[key])) {
|
|
79
|
-
(changeSummary.changes as any).push({ key, change: ctx.change });
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return true;
|
|
83
|
-
},
|
|
84
|
-
beforeUpdate(reader, changeSummary) {
|
|
85
|
-
if (!obs) {
|
|
86
|
-
obs = getObs();
|
|
87
|
-
}
|
|
88
|
-
for (const key in obs) {
|
|
89
|
-
if (key === 'changes') {
|
|
90
|
-
throw new BugIndicatingError('property name "changes" is reserved for change tracking');
|
|
91
|
-
}
|
|
92
|
-
changeSummary[key] = obs[key].read(reader);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
//!!! DO NOT modify, this file was COPIED from 'microsoft/vscode'
|
|
2
|
-
|
|
3
|
-
/*---------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
6
|
-
*--------------------------------------------------------------------------------------------*/
|
|
7
|
-
|
|
8
|
-
export { CancellationError } from '../../errors';
|
|
9
|
-
export { CancellationToken, CancellationTokenSource, cancelOnDispose } from '../../cancellation';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
//!!! DO NOT modify, this file was COPIED from 'microsoft/vscode'
|
|
2
|
-
|
|
3
|
-
/*---------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
6
|
-
*--------------------------------------------------------------------------------------------*/
|
|
7
|
-
|
|
8
|
-
export { assertFn } from '../../assert';
|
|
9
|
-
export { type EqualityComparer, strictEquals } from '../../equals';
|
|
10
|
-
export { BugIndicatingError, onBugIndicatingError, onUnexpectedError } from '../../errors';
|
|
11
|
-
export { Event, type IValueWithChangeEvent } from '../../event';
|
|
12
|
-
export { DisposableStore, type IDisposable, markAsDisposed, toDisposable, trackDisposable } from '../../lifecycle';
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
//!!! DO NOT modify, this file was COPIED from 'microsoft/vscode'
|
|
2
|
-
|
|
3
|
-
/*---------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
6
|
-
*--------------------------------------------------------------------------------------------*/
|
|
7
|
-
|
|
8
|
-
export type DebugLocation = DebugLocationImpl | undefined;
|
|
9
|
-
|
|
10
|
-
export namespace DebugLocation {
|
|
11
|
-
let enabled = false;
|
|
12
|
-
|
|
13
|
-
export function enable(): void {
|
|
14
|
-
enabled = true;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function ofCaller(): DebugLocation {
|
|
18
|
-
if (!enabled) {
|
|
19
|
-
return undefined;
|
|
20
|
-
}
|
|
21
|
-
const Err = Error as any as { stackTraceLimit: number }; // For the monaco editor checks, which don't have the nodejs types.
|
|
22
|
-
|
|
23
|
-
const l = Err.stackTraceLimit;
|
|
24
|
-
Err.stackTraceLimit = 3;
|
|
25
|
-
const stack = new Error().stack!;
|
|
26
|
-
Err.stackTraceLimit = l;
|
|
27
|
-
|
|
28
|
-
return DebugLocationImpl.fromStack(stack, 2);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
class DebugLocationImpl implements ILocation {
|
|
33
|
-
public static fromStack(stack: string, parentIdx: number): DebugLocationImpl | undefined {
|
|
34
|
-
const lines = stack.split('\n');
|
|
35
|
-
const location = parseLine(lines[parentIdx + 1]);
|
|
36
|
-
if (location) {
|
|
37
|
-
return new DebugLocationImpl(
|
|
38
|
-
location.fileName,
|
|
39
|
-
location.line,
|
|
40
|
-
location.column,
|
|
41
|
-
location.id
|
|
42
|
-
);
|
|
43
|
-
} else {
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
constructor(
|
|
49
|
-
public readonly fileName: string,
|
|
50
|
-
public readonly line: number,
|
|
51
|
-
public readonly column: number,
|
|
52
|
-
public readonly id: string,
|
|
53
|
-
) {
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
export interface ILocation {
|
|
59
|
-
fileName: string;
|
|
60
|
-
line: number;
|
|
61
|
-
column: number;
|
|
62
|
-
id: string;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function parseLine(stackLine: string): ILocation | undefined {
|
|
66
|
-
const match = stackLine.match(/\((.*):(\d+):(\d+)\)/);
|
|
67
|
-
if (match) {
|
|
68
|
-
return {
|
|
69
|
-
fileName: match[1],
|
|
70
|
-
line: parseInt(match[2]),
|
|
71
|
-
column: parseInt(match[3]),
|
|
72
|
-
id: stackLine,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const match2 = stackLine.match(/at ([^\(\)]*):(\d+):(\d+)/);
|
|
77
|
-
|
|
78
|
-
if (match2) {
|
|
79
|
-
return {
|
|
80
|
-
fileName: match2[1],
|
|
81
|
-
line: parseInt(match2[2]),
|
|
82
|
-
column: parseInt(match2[3]),
|
|
83
|
-
id: stackLine,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|