@vscode/component-explorer-cli 0.2.1-5 → 0.2.1-50
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/README.md +6 -6
- package/dist/WorktreePool.d.ts +5 -4
- package/dist/WorktreePool.d.ts.map +1 -1
- package/dist/WorktreePool.js +3 -3
- package/dist/WorktreePool.js.map +1 -1
- package/dist/_virtual/_build-info.js +1 -1
- package/dist/browserPage.d.ts +50 -0
- package/dist/browserPage.d.ts.map +1 -1
- package/dist/browserPage.js +78 -0
- package/dist/browserPage.js.map +1 -1
- package/dist/commands/acceptCommand.d.ts +1 -1
- package/dist/commands/acceptCommand.d.ts.map +1 -1
- package/dist/commands/acceptCommand.js +15 -8
- package/dist/commands/acceptCommand.js.map +1 -1
- package/dist/commands/checkStabilityCommand.d.ts +2 -0
- package/dist/commands/checkStabilityCommand.d.ts.map +1 -1
- package/dist/commands/checkStabilityCommand.js +19 -2
- package/dist/commands/checkStabilityCommand.js.map +1 -1
- package/dist/commands/compareCommand.d.ts +1 -1
- package/dist/commands/compareCommand.d.ts.map +1 -1
- package/dist/commands/compareCommand.js +24 -15
- package/dist/commands/compareCommand.js.map +1 -1
- package/dist/commands/inputArg.d.ts +33 -0
- package/dist/commands/inputArg.d.ts.map +1 -0
- package/dist/commands/inputArg.js +103 -0
- package/dist/commands/inputArg.js.map +1 -0
- package/dist/commands/mcpCommand.d.ts +0 -2
- package/dist/commands/mcpCommand.d.ts.map +1 -1
- package/dist/commands/mcpCommand.js +136 -68
- package/dist/commands/mcpCommand.js.map +1 -1
- package/dist/commands/renderCommand.d.ts +9 -1
- package/dist/commands/renderCommand.d.ts.map +1 -1
- package/dist/commands/renderCommand.js +308 -21
- package/dist/commands/renderCommand.js.map +1 -1
- package/dist/commands/serveCommand.d.ts +1 -0
- package/dist/commands/serveCommand.d.ts.map +1 -1
- package/dist/commands/serveCommand.js +11 -6
- package/dist/commands/serveCommand.js.map +1 -1
- package/dist/commands/serviceDiffCommitsCommand.d.ts +1 -0
- package/dist/commands/serviceDiffCommitsCommand.d.ts.map +1 -1
- package/dist/commands/serviceDiffCommitsCommand.js +34 -28
- package/dist/commands/serviceDiffCommitsCommand.js.map +1 -1
- package/dist/commands/watchCommand.d.ts +1 -0
- package/dist/commands/watchCommand.d.ts.map +1 -1
- package/dist/commands/watchCommand.js +24 -13
- package/dist/commands/watchCommand.js.map +1 -1
- package/dist/comparison.d.ts +4 -3
- package/dist/comparison.d.ts.map +1 -1
- package/dist/comparison.js +17 -14
- package/dist/comparison.js.map +1 -1
- package/dist/component-explorer-config.schema.json +55 -2
- package/dist/componentExplorer.d.ts +106 -11
- package/dist/componentExplorer.d.ts.map +1 -1
- package/dist/componentExplorer.js +159 -16
- package/dist/componentExplorer.js.map +1 -1
- package/dist/config.d.ts +33 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +64 -27
- package/dist/config.js.map +1 -1
- package/dist/coverage.d.ts +64 -0
- package/dist/coverage.d.ts.map +1 -0
- package/dist/coverage.js +212 -0
- package/dist/coverage.js.map +1 -0
- package/dist/daemon/DaemonService.d.ts +14 -5
- package/dist/daemon/DaemonService.d.ts.map +1 -1
- package/dist/daemon/DaemonService.js +39 -15
- package/dist/daemon/DaemonService.js.map +1 -1
- package/dist/daemon/approvalStore.d.ts +2 -1
- package/dist/daemon/approvalStore.d.ts.map +1 -1
- package/dist/daemon/approvalStore.js +4 -3
- package/dist/daemon/approvalStore.js.map +1 -1
- package/dist/daemon/inProcessClient.js +2 -2
- package/dist/daemon/lifecycle.d.ts +4 -1
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +1 -1
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/pipeClient.d.ts +2 -0
- package/dist/daemon/pipeClient.d.ts.map +1 -1
- package/dist/daemon/pipeClient.js +21 -3
- package/dist/daemon/pipeClient.js.map +1 -1
- package/dist/daemon/pipeName.d.ts +3 -3
- package/dist/daemon/pipeName.d.ts.map +1 -1
- package/dist/daemon/pipeName.js +1 -2
- package/dist/daemon/pipeName.js.map +1 -1
- package/dist/daemon/pipeServer.js +2 -2
- package/dist/daemon/version.d.ts +1 -1
- package/dist/daemon/version.js +1 -1
- package/dist/dependencyInstaller.d.ts +2 -1
- package/dist/dependencyInstaller.d.ts.map +1 -1
- package/dist/dependencyInstaller.js +4 -4
- package/dist/dependencyInstaller.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js +3 -2
- package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/experimental/manualObserver.js +85 -0
- package/dist/external/vscode-observables/observables/dist/observableInternal/experimental/manualObserver.js.map +1 -0
- package/dist/external/vscode-observables/observables/dist/observableInternal/index.js +3 -3
- package/dist/external/vscode-observables/observables/dist/observableInternal/index.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js +171 -28
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js +9 -6
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js +11 -8
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js +7 -5
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js +16 -0
- package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js.map +1 -1
- package/dist/git/gitCommitResolver.d.ts +2 -1
- package/dist/git/gitCommitResolver.d.ts.map +1 -1
- package/dist/git/gitCommitResolver.js +2 -2
- package/dist/git/gitCommitResolver.js.map +1 -1
- package/dist/git/gitIndexResolver.d.ts +2 -1
- package/dist/git/gitIndexResolver.d.ts.map +1 -1
- package/dist/git/gitIndexResolver.js +1 -1
- package/dist/git/gitIndexResolver.js.map +1 -1
- package/dist/git/gitService.d.ts +5 -4
- package/dist/git/gitService.d.ts.map +1 -1
- package/dist/git/gitService.js.map +1 -1
- package/dist/git/gitUtils.d.ts +6 -5
- package/dist/git/gitUtils.d.ts.map +1 -1
- package/dist/git/gitUtils.js +5 -4
- package/dist/git/gitUtils.js.map +1 -1
- package/dist/git/gitWorktreeManager.d.ts +15 -14
- package/dist/git/gitWorktreeManager.d.ts.map +1 -1
- package/dist/git/gitWorktreeManager.js +10 -11
- package/dist/git/gitWorktreeManager.js.map +1 -1
- package/dist/git/testUtils.d.ts +2 -1
- package/dist/git/testUtils.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.schema.json +38 -16
- package/dist/mcp/DaemonAccessor.d.ts +22 -0
- package/dist/mcp/DaemonAccessor.d.ts.map +1 -0
- package/dist/mcp/McpServer.d.ts +5 -19
- package/dist/mcp/McpServer.d.ts.map +1 -1
- package/dist/mcp/McpServer.js +367 -281
- package/dist/mcp/McpServer.js.map +1 -1
- package/dist/packages/common/dist/explorerUrl.js +21 -0
- package/dist/packages/common/dist/explorerUrl.js.map +1 -0
- package/dist/packages/common/dist/renderManifest.js +26 -5
- package/dist/packages/common/dist/renderManifest.js.map +1 -1
- package/dist/packages/simple-api/dist/{chunk-3R7GHWBM.js → chunk-FJ7AVNQE.js} +2 -1
- package/dist/packages/simple-api/dist/chunk-FJ7AVNQE.js.map +1 -0
- package/dist/packages/simple-api/dist/{chunk-SGBCNXYH.js → chunk-TTRCY65Z.js} +4 -1
- package/dist/packages/simple-api/dist/chunk-TTRCY65Z.js.map +1 -0
- package/dist/packages/simple-api/dist/{chunk-TAEFVNPN.js → chunk-WNXMRXWV.js} +2 -1
- package/dist/packages/simple-api/dist/chunk-WNXMRXWV.js.map +1 -0
- package/dist/packages/simple-api/dist/express.js +1 -1
- package/dist/packages/simple-api/dist/express.js.map +1 -1
- package/dist/path.d.ts +30 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +78 -0
- package/dist/path.js.map +1 -0
- package/dist/processTree.d.ts +9 -0
- package/dist/processTree.d.ts.map +1 -0
- package/dist/processTree.js +41 -0
- package/dist/processTree.js.map +1 -0
- package/dist/screenshotServiceClient.d.ts +5 -1
- package/dist/screenshotServiceClient.d.ts.map +1 -1
- package/dist/screenshotServiceClient.js +8 -2
- package/dist/screenshotServiceClient.js.map +1 -1
- package/dist/server/httpServer.d.ts +1 -1
- package/dist/server/httpServer.d.ts.map +1 -1
- package/dist/server/httpServer.js +22 -20
- package/dist/server/httpServer.js.map +1 -1
- package/dist/server/serverConfig.d.ts +23 -6
- package/dist/server/serverConfig.d.ts.map +1 -1
- package/dist/server/serverConfig.js +11 -18
- package/dist/server/serverConfig.js.map +1 -1
- package/dist/server/viteServer.d.ts +16 -1
- package/dist/server/viteServer.d.ts.map +1 -1
- package/dist/server/viteServer.js +86 -5
- package/dist/server/viteServer.js.map +1 -1
- package/dist/storage.d.ts +2 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +1 -1
- package/dist/storage.js.map +1 -1
- package/dist/utils.d.ts +3 -30
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +4 -24
- package/dist/utils.js.map +1 -1
- package/dist/visualCache.d.ts +2 -1
- package/dist/visualCache.d.ts.map +1 -1
- package/dist/visualCache.js +4 -3
- package/dist/visualCache.js.map +1 -1
- package/dist/viteProjectRef.d.ts +4 -12
- package/dist/viteProjectRef.d.ts.map +1 -1
- package/dist/viteProjectRef.js +9 -17
- package/dist/viteProjectRef.js.map +1 -1
- package/package.json +20 -19
- package/dist/commands/artifactCommand.d.ts +0 -14
- package/dist/commands/artifactCommand.d.ts.map +0 -1
- package/dist/commands/screenshotCommand.d.ts +0 -19
- package/dist/commands/screenshotCommand.d.ts.map +0 -1
- package/dist/packages/simple-api/dist/chunk-3R7GHWBM.js.map +0 -1
- package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js.map +0 -1
- package/dist/packages/simple-api/dist/chunk-TAEFVNPN.js.map +0 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { DebugNameData } from '../debugName.js';
|
|
2
|
+
import { getLogger } from '../logging/logging.js';
|
|
3
|
+
import { DebugLocation } from '../debugLocation.js';
|
|
4
|
+
import { _getDebugHelperClass } from '../observables/baseObservable.js';
|
|
5
|
+
|
|
6
|
+
/*---------------------------------------------------------------------------------------------
|
|
7
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
8
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
9
|
+
*--------------------------------------------------------------------------------------------*/
|
|
10
|
+
|
|
11
|
+
/*---------------------------------------------------------------------------------------------
|
|
12
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
13
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
14
|
+
*--------------------------------------------------------------------------------------------*/
|
|
15
|
+
class ManualChangesHandler {
|
|
16
|
+
constructor(_run) {
|
|
17
|
+
this._run = _run;
|
|
18
|
+
this._changes = [];
|
|
19
|
+
this._updateCounter = 0;
|
|
20
|
+
}
|
|
21
|
+
beginUpdate(observable) {
|
|
22
|
+
this._updateCounter++;
|
|
23
|
+
this._changes.push(observable);
|
|
24
|
+
}
|
|
25
|
+
endUpdate(_observable) {
|
|
26
|
+
this._updateCounter--;
|
|
27
|
+
if (this._updateCounter === 0) {
|
|
28
|
+
if (this._changes.length > 0) {
|
|
29
|
+
const c = this._changes;
|
|
30
|
+
this._changes = [];
|
|
31
|
+
this._run(c);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
handlePossibleChange(observable) {
|
|
36
|
+
this._changes.push(observable);
|
|
37
|
+
}
|
|
38
|
+
handleChange(_observable, _change) {
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
class ManualObserver {
|
|
42
|
+
constructor(_run, debugName, debugLocation = DebugLocation.ofCaller()) {
|
|
43
|
+
this._run = _run;
|
|
44
|
+
this._dependencies = new Set();
|
|
45
|
+
this._disposed = false;
|
|
46
|
+
this.debugName = debugName ?? '(anonymous ManualObserver)';
|
|
47
|
+
this._debugNameData = new DebugNameData(undefined, this.debugName, undefined);
|
|
48
|
+
this._runFn = _run;
|
|
49
|
+
this._handler = new ManualChangesHandler(() => {
|
|
50
|
+
if (!this._disposed) {
|
|
51
|
+
this._run();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
getLogger()?.handleAutorunCreated(this, debugLocation);
|
|
55
|
+
}
|
|
56
|
+
get reader() {
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
readObservable(observable) {
|
|
60
|
+
observable.addObserver(this._handler);
|
|
61
|
+
const value = observable.get();
|
|
62
|
+
this._dependencies.add(observable);
|
|
63
|
+
return value;
|
|
64
|
+
}
|
|
65
|
+
getDependencies() {
|
|
66
|
+
return this._dependencies;
|
|
67
|
+
}
|
|
68
|
+
get debug() {
|
|
69
|
+
return new (_getDebugHelperClass())(this);
|
|
70
|
+
}
|
|
71
|
+
dispose() {
|
|
72
|
+
if (this._disposed) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
this._disposed = true;
|
|
76
|
+
for (const dep of this._dependencies) {
|
|
77
|
+
dep.removeObserver(this._handler);
|
|
78
|
+
}
|
|
79
|
+
this._dependencies.clear();
|
|
80
|
+
getLogger()?.handleAutorunDisposed(this);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { ManualChangesHandler, ManualObserver };
|
|
85
|
+
//# sourceMappingURL=manualObserver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manualObserver.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/experimental/manualObserver.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { DebugNameData } from '../debugName.js';\nimport { getLogger } from '../logging/logging.js';\nimport { DebugLocation } from '../debugLocation.js';\nimport { _getDebugHelperClass } from '../observables/baseObservable.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 *--------------------------------------------------------------------------------------------*/\nclass ManualChangesHandler {\n constructor(_run) {\n this._run = _run;\n this._changes = [];\n this._updateCounter = 0;\n }\n beginUpdate(observable) {\n this._updateCounter++;\n this._changes.push(observable);\n }\n endUpdate(_observable) {\n this._updateCounter--;\n if (this._updateCounter === 0) {\n if (this._changes.length > 0) {\n const c = this._changes;\n this._changes = [];\n this._run(c);\n }\n }\n }\n handlePossibleChange(observable) {\n this._changes.push(observable);\n }\n handleChange(_observable, _change) {\n }\n}\nclass ManualObserver {\n constructor(_run, debugName, debugLocation = DebugLocation.ofCaller()) {\n this._run = _run;\n this._dependencies = new Set();\n this._disposed = false;\n this.debugName = debugName ?? '(anonymous ManualObserver)';\n this._debugNameData = new DebugNameData(undefined, this.debugName, undefined);\n this._runFn = _run;\n this._handler = new ManualChangesHandler(() => {\n if (!this._disposed) {\n this._run();\n }\n });\n getLogger()?.handleAutorunCreated(this, debugLocation);\n }\n get reader() {\n return this;\n }\n readObservable(observable) {\n observable.addObserver(this._handler);\n const value = observable.get();\n this._dependencies.add(observable);\n return value;\n }\n getDependencies() {\n return this._dependencies;\n }\n get debug() {\n return new (_getDebugHelperClass())(this);\n }\n dispose() {\n if (this._disposed) {\n return;\n }\n this._disposed = true;\n for (const dep of this._dependencies) {\n dep.removeObserver(this._handler);\n }\n this._dependencies.clear();\n getLogger()?.handleAutorunDisposed(this);\n }\n}\n\nexport { ManualChangesHandler, ManualObserver };\n//# sourceMappingURL=manualObserver.js.map\n"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { setLogObservableFn } from './logging/logging.js';
|
|
2
|
-
import {
|
|
2
|
+
import { _setDebugHelperClass } from './observables/baseObservable.js';
|
|
3
3
|
export { DebugLocation } from './debugLocation.js';
|
|
4
4
|
export { derived, derivedOpts } from './observables/derived.js';
|
|
5
5
|
export { keepObserved, recomputeInitiallyAndOnChange } from './utils/utils.js';
|
|
6
6
|
export { observableFromEvent } from './observables/observableFromEvent.js';
|
|
7
7
|
import { logObservableToConsole } from './logging/consoleObservableLogger.js';
|
|
8
|
-
import {
|
|
8
|
+
import { DebugHelper } from './logging/debugGetDependencyGraph.js';
|
|
9
9
|
|
|
10
10
|
/*---------------------------------------------------------------------------------------------
|
|
11
11
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -17,6 +17,6 @@ import { debugGetDependencyGraph } from './logging/debugGetDependencyGraph.js';
|
|
|
17
17
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
18
18
|
*--------------------------------------------------------------------------------------------*/
|
|
19
19
|
// This is a facade for the observable implementation. Only import from here!
|
|
20
|
-
|
|
20
|
+
_setDebugHelperClass(DebugHelper);
|
|
21
21
|
setLogObservableFn(logObservableToConsole);
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../../external/vscode-observables/observables/dist/observableInternal/index.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { setLogObservableFn } from './logging/logging.js';\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../external/vscode-observables/observables/dist/observableInternal/index.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { setLogObservableFn } from './logging/logging.js';\nimport { _setDebugHelperClass } from './observables/baseObservable.js';\nexport { DebugLocation } from './debugLocation.js';\nexport { derived, derivedDisposable, derivedHandleChanges, derivedOpts, derivedWithSetter, derivedWithStore } from './observables/derived.js';\nexport { debouncedObservable, debouncedObservableDeprecated, derivedObservableWithCache, derivedObservableWithWritableCache, keepObserved, mapObservableArrayCached, observableFromPromise, recomputeInitiallyAndOnChange, signalFromObservable, wasEventTriggeredRecently } from './utils/utils.js';\nexport { observableFromEvent, observableFromEventOpts } from './observables/observableFromEvent.js';\nimport { logObservableToConsole } from './logging/consoleObservableLogger.js';\nimport { DebugHelper } from './logging/debugGetDependencyGraph.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// This is a facade for the observable implementation. Only import from here!\n_setDebugHelperClass(DebugHelper);\nsetLogObservableFn(logObservableToConsole);\n//# sourceMappingURL=index.js.map\n"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA,oBAAoB,CAAC,WAAW,CAAC;AACjC,kBAAkB,CAAC,sBAAsB,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { Derived } from '../observables/derivedImpl.js';
|
|
|
2
2
|
import { FromEventObservable } from '../observables/observableFromEvent.js';
|
|
3
3
|
import { ObservableValue } from '../observables/observableValue.js';
|
|
4
4
|
import { AutorunObserver } from '../reactions/autorunImpl.js';
|
|
5
|
+
import { ManualObserver } from '../experimental/manualObserver.js';
|
|
5
6
|
import { formatValue } from './consoleObservableLogger.js';
|
|
6
7
|
|
|
7
8
|
/*---------------------------------------------------------------------------------------------
|
|
@@ -13,67 +14,209 @@ import { formatValue } from './consoleObservableLogger.js';
|
|
|
13
14
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
14
15
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
15
16
|
*--------------------------------------------------------------------------------------------*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// GraphInfo — the result of graph traversal, separated from rendering
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
class GraphInfo {
|
|
21
|
+
constructor(name, type, value, state, children) {
|
|
22
|
+
this.name = name;
|
|
23
|
+
this.type = type;
|
|
24
|
+
this.value = value;
|
|
25
|
+
this.state = state;
|
|
26
|
+
this.children = children;
|
|
27
|
+
}
|
|
24
28
|
}
|
|
25
|
-
function
|
|
29
|
+
function buildGraph(obs, options) {
|
|
30
|
+
const debugNamePostProcessor = options.debugNamePostProcessor ?? ((s) => s);
|
|
31
|
+
const visited = new Map();
|
|
32
|
+
function build(node) {
|
|
33
|
+
const existing = visited.get(node);
|
|
34
|
+
if (existing) {
|
|
35
|
+
return existing;
|
|
36
|
+
}
|
|
37
|
+
const info = RawInfo.from(node, debugNamePostProcessor) ?? RawInfo.unknown(node);
|
|
38
|
+
const children = options.type === 'observers' ? info.observers : info.dependencies;
|
|
39
|
+
const graphInfo = new GraphInfo(info.name, info.type, info.value, info.state, []);
|
|
40
|
+
visited.set(info.sourceObj, graphInfo);
|
|
41
|
+
graphInfo.children.push(...children.map(build));
|
|
42
|
+
return graphInfo;
|
|
43
|
+
}
|
|
44
|
+
const root = RawInfo.from(obs, debugNamePostProcessor);
|
|
45
|
+
if (!root) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
return build(obs);
|
|
49
|
+
}
|
|
50
|
+
// ---------------------------------------------------------------------------
|
|
51
|
+
// Text backend
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
function formatAsText(graph) {
|
|
54
|
+
const visited = new Set();
|
|
55
|
+
return formatNodeAsText(graph, 0, visited).trim();
|
|
56
|
+
}
|
|
57
|
+
function formatNodeAsText(node, indentLevel, visited) {
|
|
26
58
|
const indent = '\t\t'.repeat(indentLevel);
|
|
27
59
|
const lines = [];
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
lines.push(`${indent}* ${info.type} ${info.name} (already listed)`);
|
|
60
|
+
if (visited.has(node)) {
|
|
61
|
+
lines.push(`${indent}* ${node.type} ${node.name} (already listed)`);
|
|
31
62
|
return lines.join('\n');
|
|
32
63
|
}
|
|
33
|
-
|
|
34
|
-
lines.push(`${indent}* ${
|
|
35
|
-
lines.push(`${indent} value: ${formatValue(
|
|
36
|
-
lines.push(`${indent} state: ${
|
|
37
|
-
if (
|
|
38
|
-
lines.push(`${indent}
|
|
39
|
-
for (const
|
|
40
|
-
lines.push(
|
|
64
|
+
visited.add(node);
|
|
65
|
+
lines.push(`${indent}* ${node.type} ${node.name}:`);
|
|
66
|
+
lines.push(`${indent} value: ${formatValue(node.value, 50)}`);
|
|
67
|
+
lines.push(`${indent} state: ${node.state}`);
|
|
68
|
+
if (node.children.length > 0) {
|
|
69
|
+
lines.push(`${indent} children:`);
|
|
70
|
+
for (const child of node.children) {
|
|
71
|
+
lines.push(formatNodeAsText(child, indentLevel + 1, visited));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return lines.join('\n');
|
|
75
|
+
}
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
// Mermaid backend
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
function formatAsMermaid(graph) {
|
|
80
|
+
const nodeIds = new Map();
|
|
81
|
+
let nextId = 0;
|
|
82
|
+
const getNodeId = (node) => {
|
|
83
|
+
let id = nodeIds.get(node);
|
|
84
|
+
if (!id) {
|
|
85
|
+
id = `n${nextId++}`;
|
|
86
|
+
nodeIds.set(node, id);
|
|
87
|
+
}
|
|
88
|
+
return id;
|
|
89
|
+
};
|
|
90
|
+
const lines = ['graph TD'];
|
|
91
|
+
const visited = new Set();
|
|
92
|
+
const escape = (s) => s.replace(/"/g, '#quot;');
|
|
93
|
+
function visit(node) {
|
|
94
|
+
if (visited.has(node)) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
visited.add(node);
|
|
98
|
+
const id = getNodeId(node);
|
|
99
|
+
const label = `${node.type}: ${node.name}\\nstate: ${node.state}${node.value !== undefined ? `\\nvalue: ${formatValue(node.value, 30)}` : ''}`;
|
|
100
|
+
lines.push(` ${id}["${escape(label)}"]`);
|
|
101
|
+
for (const child of node.children) {
|
|
102
|
+
lines.push(` ${id} --> ${getNodeId(child)}`);
|
|
103
|
+
visit(child);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
visit(graph);
|
|
107
|
+
return lines.join('\n');
|
|
108
|
+
}
|
|
109
|
+
// ---------------------------------------------------------------------------
|
|
110
|
+
// Graphviz DOT backend
|
|
111
|
+
// ---------------------------------------------------------------------------
|
|
112
|
+
function formatAsGraphviz(graph) {
|
|
113
|
+
const nodeIds = new Map();
|
|
114
|
+
let nextId = 0;
|
|
115
|
+
const getNodeId = (node) => {
|
|
116
|
+
let id = nodeIds.get(node);
|
|
117
|
+
if (!id) {
|
|
118
|
+
id = `n${nextId++}`;
|
|
119
|
+
nodeIds.set(node, id);
|
|
120
|
+
}
|
|
121
|
+
return id;
|
|
122
|
+
};
|
|
123
|
+
const lines = ['digraph {'];
|
|
124
|
+
const visited = new Set();
|
|
125
|
+
const escape = (s) => s.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
126
|
+
function visit(node) {
|
|
127
|
+
if (visited.has(node)) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
visited.add(node);
|
|
131
|
+
const id = getNodeId(node);
|
|
132
|
+
const label = `${node.type}: ${node.name}\nstate: ${node.state}${node.value !== undefined ? `\nvalue: ${formatValue(node.value, 30)}` : ''}`;
|
|
133
|
+
lines.push(` ${id} [label="${escape(label)}"]`);
|
|
134
|
+
for (const child of node.children) {
|
|
135
|
+
lines.push(` ${id} -> ${getNodeId(child)}`);
|
|
136
|
+
visit(child);
|
|
41
137
|
}
|
|
42
138
|
}
|
|
139
|
+
visit(graph);
|
|
140
|
+
lines.push('}');
|
|
43
141
|
return lines.join('\n');
|
|
44
142
|
}
|
|
45
|
-
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
// DebugHelper — the public API for .debug on observables and observers
|
|
145
|
+
// ---------------------------------------------------------------------------
|
|
146
|
+
class DebugHelper {
|
|
147
|
+
constructor(_node) {
|
|
148
|
+
this._node = _node;
|
|
149
|
+
}
|
|
150
|
+
buildDependencyGraph() {
|
|
151
|
+
return buildGraph(this._node, { type: 'dependencies' });
|
|
152
|
+
}
|
|
153
|
+
buildObserverGraph() {
|
|
154
|
+
return buildGraph(this._node, { type: 'observers' });
|
|
155
|
+
}
|
|
156
|
+
getDependencyGraph() {
|
|
157
|
+
const graph = this.buildDependencyGraph();
|
|
158
|
+
return graph ? formatAsText(graph) : '';
|
|
159
|
+
}
|
|
160
|
+
getObserverGraph() {
|
|
161
|
+
const graph = this.buildObserverGraph();
|
|
162
|
+
return graph ? formatAsText(graph) : '';
|
|
163
|
+
}
|
|
164
|
+
getDependencyMermaid() {
|
|
165
|
+
const graph = this.buildDependencyGraph();
|
|
166
|
+
return graph ? formatAsMermaid(graph) : '';
|
|
167
|
+
}
|
|
168
|
+
getObserverMermaid() {
|
|
169
|
+
const graph = this.buildObserverGraph();
|
|
170
|
+
return graph ? formatAsMermaid(graph) : '';
|
|
171
|
+
}
|
|
172
|
+
getDependencyGraphviz() {
|
|
173
|
+
const graph = this.buildDependencyGraph();
|
|
174
|
+
return graph ? formatAsGraphviz(graph) : '';
|
|
175
|
+
}
|
|
176
|
+
getObserverGraphviz() {
|
|
177
|
+
const graph = this.buildObserverGraph();
|
|
178
|
+
return graph ? formatAsGraphviz(graph) : '';
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// ---------------------------------------------------------------------------
|
|
182
|
+
// RawInfo — internal: extracts metadata from concrete observable/observer types
|
|
183
|
+
// ---------------------------------------------------------------------------
|
|
184
|
+
class RawInfo {
|
|
46
185
|
static from(obs, debugNamePostProcessor) {
|
|
47
186
|
if (obs instanceof AutorunObserver) {
|
|
48
187
|
const state = obs.debugGetState();
|
|
49
|
-
return new
|
|
188
|
+
return new RawInfo(obs, debugNamePostProcessor(obs.debugName), 'autorun', undefined, state.stateStr, Array.from(state.dependencies), []);
|
|
189
|
+
}
|
|
190
|
+
else if (obs instanceof ManualObserver) {
|
|
191
|
+
return new RawInfo(obs, debugNamePostProcessor(obs.debugName), 'manualObserver', undefined, 'active', Array.from(obs.getDependencies()), []);
|
|
50
192
|
}
|
|
51
193
|
else if (obs instanceof Derived) {
|
|
52
194
|
const state = obs.debugGetState();
|
|
53
|
-
return new
|
|
195
|
+
return new RawInfo(obs, debugNamePostProcessor(obs.debugName), 'derived', state.value, state.stateStr, Array.from(state.dependencies), Array.from(obs.debugGetObservers()));
|
|
54
196
|
}
|
|
55
197
|
else if (obs instanceof ObservableValue) {
|
|
56
198
|
const state = obs.debugGetState();
|
|
57
|
-
return new
|
|
199
|
+
return new RawInfo(obs, debugNamePostProcessor(obs.debugName), 'observableValue', state.value, 'upToDate', [], Array.from(obs.debugGetObservers()));
|
|
58
200
|
}
|
|
59
201
|
else if (obs instanceof FromEventObservable) {
|
|
60
202
|
const state = obs.debugGetState();
|
|
61
|
-
return new
|
|
203
|
+
return new RawInfo(obs, debugNamePostProcessor(obs.debugName), 'fromEvent', state.value, state.hasValue ? 'upToDate' : 'initial', [], Array.from(obs.debugGetObservers()));
|
|
62
204
|
}
|
|
63
205
|
return undefined;
|
|
64
206
|
}
|
|
65
207
|
static unknown(obs) {
|
|
66
|
-
return new
|
|
208
|
+
return new RawInfo(obs, '(unknown)', 'unknown', undefined, 'unknown', [], []);
|
|
67
209
|
}
|
|
68
|
-
constructor(sourceObj, name, type, value, state, dependencies) {
|
|
210
|
+
constructor(sourceObj, name, type, value, state, dependencies, observers) {
|
|
69
211
|
this.sourceObj = sourceObj;
|
|
70
212
|
this.name = name;
|
|
71
213
|
this.type = type;
|
|
72
214
|
this.value = value;
|
|
73
215
|
this.state = state;
|
|
74
216
|
this.dependencies = dependencies;
|
|
217
|
+
this.observers = observers;
|
|
75
218
|
}
|
|
76
219
|
}
|
|
77
220
|
|
|
78
|
-
export {
|
|
221
|
+
export { DebugHelper, GraphInfo };
|
|
79
222
|
//# sourceMappingURL=debugGetDependencyGraph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugGetDependencyGraph.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { Derived } from '../observables/derivedImpl.js';\nimport { FromEventObservable } from '../observables/observableFromEvent.js';\nimport { ObservableValue } from '../observables/observableValue.js';\nimport { AutorunObserver } from '../reactions/autorunImpl.js';\nimport { formatValue } from './consoleObservableLogger.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 *--------------------------------------------------------------------------------------------*/\nfunction debugGetDependencyGraph(obs, options) {\n const debugNamePostProcessor = options?.debugNamePostProcessor ?? ((str) => str);\n const info = Info.from(obs, debugNamePostProcessor);\n if (!info) {\n return '';\n }\n const alreadyListed = new Set();\n return formatObservableInfo(info, 0, alreadyListed).trim();\n}\nfunction formatObservableInfo(info, indentLevel, alreadyListed) {\n const indent = '\\t\\t'.repeat(indentLevel);\n const lines = [];\n const isAlreadyListed = alreadyListed.has(info.sourceObj);\n if (isAlreadyListed) {\n lines.push(`${indent}* ${info.type} ${info.name} (already listed)`);\n return lines.join('\\n');\n }\n alreadyListed.add(info.sourceObj);\n lines.push(`${indent}* ${info.type} ${info.name}:`);\n lines.push(`${indent} value: ${formatValue(info.value, 50)}`);\n lines.push(`${indent} state: ${info.state}`);\n if (info.dependencies.length > 0) {\n lines.push(`${indent} dependencies:`);\n for (const dep of info.dependencies) {\n lines.push(formatObservableInfo(dep, indentLevel + 1, alreadyListed));\n }\n }\n return lines.join('\\n');\n}\nclass Info {\n static from(obs, debugNamePostProcessor) {\n if (obs instanceof AutorunObserver) {\n const state = obs.debugGetState();\n return new Info(obs, debugNamePostProcessor(obs.debugName), 'autorun', undefined, state.stateStr, Array.from(state.dependencies).map(dep => Info.from(dep, debugNamePostProcessor) || Info.unknown(dep)));\n }\n else if (obs instanceof Derived) {\n const state = obs.debugGetState();\n return new Info(obs, debugNamePostProcessor(obs.debugName), 'derived', state.value, state.stateStr, Array.from(state.dependencies).map(dep => Info.from(dep, debugNamePostProcessor) || Info.unknown(dep)));\n }\n else if (obs instanceof ObservableValue) {\n const state = obs.debugGetState();\n return new Info(obs, debugNamePostProcessor(obs.debugName), 'observableValue', state.value, 'upToDate', []);\n }\n else if (obs instanceof FromEventObservable) {\n const state = obs.debugGetState();\n return new Info(obs, debugNamePostProcessor(obs.debugName), 'fromEvent', state.value, state.hasValue ? 'upToDate' : 'initial', []);\n }\n return undefined;\n }\n static unknown(obs) {\n return new Info(obs, '(unknown)', 'unknown', undefined, 'unknown', []);\n }\n constructor(sourceObj, name, type, value, state, dependencies) {\n this.sourceObj = sourceObj;\n this.name = name;\n this.type = type;\n this.value = value;\n this.state = state;\n this.dependencies = dependencies;\n }\n}\n\nexport { debugGetDependencyGraph };\n//# sourceMappingURL=debugGetDependencyGraph.js.map\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"debugGetDependencyGraph.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { Derived } from '../observables/derivedImpl.js';\nimport { FromEventObservable } from '../observables/observableFromEvent.js';\nimport { ObservableValue } from '../observables/observableValue.js';\nimport { AutorunObserver } from '../reactions/autorunImpl.js';\nimport { ManualObserver } from '../experimental/manualObserver.js';\nimport { formatValue } from './consoleObservableLogger.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// GraphInfo — the result of graph traversal, separated from rendering\n// ---------------------------------------------------------------------------\nclass GraphInfo {\n constructor(name, type, value, state, children) {\n this.name = name;\n this.type = type;\n this.value = value;\n this.state = state;\n this.children = children;\n }\n}\nfunction buildGraph(obs, options) {\n const debugNamePostProcessor = options.debugNamePostProcessor ?? ((s) => s);\n const visited = new Map();\n function build(node) {\n const existing = visited.get(node);\n if (existing) {\n return existing;\n }\n const info = RawInfo.from(node, debugNamePostProcessor) ?? RawInfo.unknown(node);\n const children = options.type === 'observers' ? info.observers : info.dependencies;\n const graphInfo = new GraphInfo(info.name, info.type, info.value, info.state, []);\n visited.set(info.sourceObj, graphInfo);\n graphInfo.children.push(...children.map(build));\n return graphInfo;\n }\n const root = RawInfo.from(obs, debugNamePostProcessor);\n if (!root) {\n return undefined;\n }\n return build(obs);\n}\n// ---------------------------------------------------------------------------\n// Text backend\n// ---------------------------------------------------------------------------\nfunction formatAsText(graph) {\n const visited = new Set();\n return formatNodeAsText(graph, 0, visited).trim();\n}\nfunction formatNodeAsText(node, indentLevel, visited) {\n const indent = '\\t\\t'.repeat(indentLevel);\n const lines = [];\n if (visited.has(node)) {\n lines.push(`${indent}* ${node.type} ${node.name} (already listed)`);\n return lines.join('\\n');\n }\n visited.add(node);\n lines.push(`${indent}* ${node.type} ${node.name}:`);\n lines.push(`${indent} value: ${formatValue(node.value, 50)}`);\n lines.push(`${indent} state: ${node.state}`);\n if (node.children.length > 0) {\n lines.push(`${indent} children:`);\n for (const child of node.children) {\n lines.push(formatNodeAsText(child, indentLevel + 1, visited));\n }\n }\n return lines.join('\\n');\n}\n// ---------------------------------------------------------------------------\n// Mermaid backend\n// ---------------------------------------------------------------------------\nfunction formatAsMermaid(graph) {\n const nodeIds = new Map();\n let nextId = 0;\n const getNodeId = (node) => {\n let id = nodeIds.get(node);\n if (!id) {\n id = `n${nextId++}`;\n nodeIds.set(node, id);\n }\n return id;\n };\n const lines = ['graph TD'];\n const visited = new Set();\n const escape = (s) => s.replace(/\"/g, '#quot;');\n function visit(node) {\n if (visited.has(node)) {\n return;\n }\n visited.add(node);\n const id = getNodeId(node);\n const label = `${node.type}: ${node.name}\\\\nstate: ${node.state}${node.value !== undefined ? `\\\\nvalue: ${formatValue(node.value, 30)}` : ''}`;\n lines.push(` ${id}[\"${escape(label)}\"]`);\n for (const child of node.children) {\n lines.push(` ${id} --> ${getNodeId(child)}`);\n visit(child);\n }\n }\n visit(graph);\n return lines.join('\\n');\n}\n// ---------------------------------------------------------------------------\n// Graphviz DOT backend\n// ---------------------------------------------------------------------------\nfunction formatAsGraphviz(graph) {\n const nodeIds = new Map();\n let nextId = 0;\n const getNodeId = (node) => {\n let id = nodeIds.get(node);\n if (!id) {\n id = `n${nextId++}`;\n nodeIds.set(node, id);\n }\n return id;\n };\n const lines = ['digraph {'];\n const visited = new Set();\n const escape = (s) => s.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n function visit(node) {\n if (visited.has(node)) {\n return;\n }\n visited.add(node);\n const id = getNodeId(node);\n const label = `${node.type}: ${node.name}\\nstate: ${node.state}${node.value !== undefined ? `\\nvalue: ${formatValue(node.value, 30)}` : ''}`;\n lines.push(` ${id} [label=\"${escape(label)}\"]`);\n for (const child of node.children) {\n lines.push(` ${id} -> ${getNodeId(child)}`);\n visit(child);\n }\n }\n visit(graph);\n lines.push('}');\n return lines.join('\\n');\n}\n// ---------------------------------------------------------------------------\n// DebugHelper — the public API for .debug on observables and observers\n// ---------------------------------------------------------------------------\nclass DebugHelper {\n constructor(_node) {\n this._node = _node;\n }\n buildDependencyGraph() {\n return buildGraph(this._node, { type: 'dependencies' });\n }\n buildObserverGraph() {\n return buildGraph(this._node, { type: 'observers' });\n }\n getDependencyGraph() {\n const graph = this.buildDependencyGraph();\n return graph ? formatAsText(graph) : '';\n }\n getObserverGraph() {\n const graph = this.buildObserverGraph();\n return graph ? formatAsText(graph) : '';\n }\n getDependencyMermaid() {\n const graph = this.buildDependencyGraph();\n return graph ? formatAsMermaid(graph) : '';\n }\n getObserverMermaid() {\n const graph = this.buildObserverGraph();\n return graph ? formatAsMermaid(graph) : '';\n }\n getDependencyGraphviz() {\n const graph = this.buildDependencyGraph();\n return graph ? formatAsGraphviz(graph) : '';\n }\n getObserverGraphviz() {\n const graph = this.buildObserverGraph();\n return graph ? formatAsGraphviz(graph) : '';\n }\n}\n// ---------------------------------------------------------------------------\n// RawInfo — internal: extracts metadata from concrete observable/observer types\n// ---------------------------------------------------------------------------\nclass RawInfo {\n static from(obs, debugNamePostProcessor) {\n if (obs instanceof AutorunObserver) {\n const state = obs.debugGetState();\n return new RawInfo(obs, debugNamePostProcessor(obs.debugName), 'autorun', undefined, state.stateStr, Array.from(state.dependencies), []);\n }\n else if (obs instanceof ManualObserver) {\n return new RawInfo(obs, debugNamePostProcessor(obs.debugName), 'manualObserver', undefined, 'active', Array.from(obs.getDependencies()), []);\n }\n else if (obs instanceof Derived) {\n const state = obs.debugGetState();\n return new RawInfo(obs, debugNamePostProcessor(obs.debugName), 'derived', state.value, state.stateStr, Array.from(state.dependencies), Array.from(obs.debugGetObservers()));\n }\n else if (obs instanceof ObservableValue) {\n const state = obs.debugGetState();\n return new RawInfo(obs, debugNamePostProcessor(obs.debugName), 'observableValue', state.value, 'upToDate', [], Array.from(obs.debugGetObservers()));\n }\n else if (obs instanceof FromEventObservable) {\n const state = obs.debugGetState();\n return new RawInfo(obs, debugNamePostProcessor(obs.debugName), 'fromEvent', state.value, state.hasValue ? 'upToDate' : 'initial', [], Array.from(obs.debugGetObservers()));\n }\n return undefined;\n }\n static unknown(obs) {\n return new RawInfo(obs, '(unknown)', 'unknown', undefined, 'unknown', [], []);\n }\n constructor(sourceObj, name, type, value, state, dependencies, observers) {\n this.sourceObj = sourceObj;\n this.name = name;\n this.type = type;\n this.value = value;\n this.state = state;\n this.dependencies = dependencies;\n this.observers = observers;\n }\n}\n\nexport { DebugHelper, GraphInfo };\n//# sourceMappingURL=debugGetDependencyGraph.js.map\n"],"names":[],"mappings":"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"}
|
|
@@ -27,9 +27,12 @@ let _keepObserved;
|
|
|
27
27
|
function _setKeepObserved(keepObserved) {
|
|
28
28
|
_keepObserved = keepObserved;
|
|
29
29
|
}
|
|
30
|
-
let
|
|
31
|
-
function
|
|
32
|
-
|
|
30
|
+
let _debugHelperCtor;
|
|
31
|
+
function _setDebugHelperClass(ctor) {
|
|
32
|
+
_debugHelperCtor = ctor;
|
|
33
|
+
}
|
|
34
|
+
function _getDebugHelperClass() {
|
|
35
|
+
return _debugHelperCtor;
|
|
33
36
|
}
|
|
34
37
|
class ConvenientObservable {
|
|
35
38
|
get TChange() { return null; }
|
|
@@ -95,8 +98,8 @@ class ConvenientObservable {
|
|
|
95
98
|
get debugValue() {
|
|
96
99
|
return this.get();
|
|
97
100
|
}
|
|
98
|
-
|
|
99
|
-
return
|
|
101
|
+
get debug() {
|
|
102
|
+
return new _debugHelperCtor(this);
|
|
100
103
|
}
|
|
101
104
|
}
|
|
102
105
|
class BaseObservable extends ConvenientObservable {
|
|
@@ -139,5 +142,5 @@ class BaseObservable extends ConvenientObservable {
|
|
|
139
142
|
}
|
|
140
143
|
}
|
|
141
144
|
|
|
142
|
-
export { BaseObservable, ConvenientObservable,
|
|
145
|
+
export { BaseObservable, ConvenientObservable, _getDebugHelperClass, _setDebugHelperClass, _setDerivedOpts, _setKeepObserved, _setRecomputeInitiallyAndOnChange };
|
|
143
146
|
//# sourceMappingURL=baseObservable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseObservable.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { DebugLocation } from '../debugLocation.js';\nimport { getFunctionName } from '../debugName.js';\nimport { logObservable, getLogger } from '../logging/logging.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 *--------------------------------------------------------------------------------------------*/\nlet _derived;\n/**\n * @internal\n * This is to allow splitting files.\n*/\nfunction _setDerivedOpts(derived) {\n _derived = derived;\n}\nlet _recomputeInitiallyAndOnChange;\nfunction _setRecomputeInitiallyAndOnChange(recomputeInitiallyAndOnChange) {\n _recomputeInitiallyAndOnChange = recomputeInitiallyAndOnChange;\n}\nlet _keepObserved;\nfunction _setKeepObserved(keepObserved) {\n _keepObserved = keepObserved;\n}\nlet
|
|
1
|
+
{"version":3,"file":"baseObservable.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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 *--------------------------------------------------------------------------------------------*/\nimport { DebugLocation } from '../debugLocation.js';\nimport { getFunctionName } from '../debugName.js';\nimport { logObservable, getLogger } from '../logging/logging.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 *--------------------------------------------------------------------------------------------*/\nlet _derived;\n/**\n * @internal\n * This is to allow splitting files.\n*/\nfunction _setDerivedOpts(derived) {\n _derived = derived;\n}\nlet _recomputeInitiallyAndOnChange;\nfunction _setRecomputeInitiallyAndOnChange(recomputeInitiallyAndOnChange) {\n _recomputeInitiallyAndOnChange = recomputeInitiallyAndOnChange;\n}\nlet _keepObserved;\nfunction _setKeepObserved(keepObserved) {\n _keepObserved = keepObserved;\n}\nlet _debugHelperCtor;\nfunction _setDebugHelperClass(ctor) {\n _debugHelperCtor = ctor;\n}\nfunction _getDebugHelperClass() {\n return _debugHelperCtor;\n}\nclass ConvenientObservable {\n get TChange() { return null; }\n reportChanges() {\n this.get();\n }\n /** @sealed */\n read(reader) {\n if (reader) {\n return reader.readObservable(this);\n }\n else {\n return this.get();\n }\n }\n map(fnOrOwner, fnOrUndefined, debugLocation = DebugLocation.ofCaller()) {\n const owner = fnOrUndefined === undefined ? undefined : fnOrOwner;\n const fn = fnOrUndefined === undefined ? fnOrOwner : fnOrUndefined;\n return _derived({\n owner,\n debugName: () => {\n const name = getFunctionName(fn);\n if (name !== undefined) {\n return name;\n }\n // regexp to match `x => x.y` or `x => x?.y` where x and y can be arbitrary identifiers (uses backref):\n const regexp = /^\\s*\\(?\\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\\s*\\)?\\s*=>\\s*\\1(?:\\??)\\.([a-zA-Z_$][a-zA-Z_$0-9]*)\\s*$/;\n const match = regexp.exec(fn.toString());\n if (match) {\n return `${this.debugName}.${match[2]}`;\n }\n if (!owner) {\n return `${this.debugName} (mapped)`;\n }\n return undefined;\n },\n debugReferenceFn: fn,\n }, (reader) => fn(this.read(reader), reader), debugLocation);\n }\n /**\n * @sealed\n * Converts an observable of an observable value into a direct observable of the value.\n */\n flatten() {\n return _derived({\n owner: undefined,\n debugName: () => `${this.debugName} (flattened)`,\n }, (reader) => this.read(reader).read(reader));\n }\n recomputeInitiallyAndOnChange(store, handleValue) {\n store.add(_recomputeInitiallyAndOnChange(this, handleValue));\n return this;\n }\n /**\n * Ensures that this observable is observed. This keeps the cache alive.\n * However, in case of deriveds, it does not force eager evaluation (only when the value is read/get).\n * Use `recomputeInitiallyAndOnChange` for eager evaluation.\n */\n keepObserved(store) {\n store.add(_keepObserved(this));\n return this;\n }\n get debugValue() {\n return this.get();\n }\n get debug() {\n return new _debugHelperCtor(this);\n }\n}\nclass BaseObservable extends ConvenientObservable {\n constructor(debugLocation) {\n super();\n this._observers = new Set();\n getLogger()?.handleObservableCreated(this, debugLocation);\n }\n addObserver(observer) {\n const len = this._observers.size;\n this._observers.add(observer);\n if (len === 0) {\n this.onFirstObserverAdded();\n }\n if (len !== this._observers.size) {\n getLogger()?.handleOnListenerCountChanged(this, this._observers.size);\n }\n }\n removeObserver(observer) {\n const deleted = this._observers.delete(observer);\n if (deleted && this._observers.size === 0) {\n this.onLastObserverRemoved();\n }\n if (deleted) {\n getLogger()?.handleOnListenerCountChanged(this, this._observers.size);\n }\n }\n onFirstObserverAdded() { }\n onLastObserverRemoved() { }\n log() {\n const hadLogger = !!getLogger();\n logObservable(this);\n if (!hadLogger) {\n getLogger()?.handleObservableCreated(this, DebugLocation.ofCaller());\n }\n return this;\n }\n debugGetObservers() {\n return this._observers;\n }\n}\n\nexport { BaseObservable, ConvenientObservable, _getDebugHelperClass, _setDebugHelperClass, _setDerivedOpts, _setKeepObserved, _setRecomputeInitiallyAndOnChange };\n//# sourceMappingURL=baseObservable.js.map\n"],"names":[],"mappings":"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"}
|
|
@@ -310,10 +310,7 @@ class Derived extends BaseObservable {
|
|
|
310
310
|
const shouldCallBeginUpdate = !this._observers.has(observer) && this._updateCount > 0;
|
|
311
311
|
super.addObserver(observer);
|
|
312
312
|
if (shouldCallBeginUpdate) {
|
|
313
|
-
if (this._removedObserverToCallEndUpdateOn
|
|
314
|
-
this._removedObserverToCallEndUpdateOn.delete(observer);
|
|
315
|
-
}
|
|
316
|
-
else {
|
|
313
|
+
if (!this._removedObserverToCallEndUpdateOn?.delete(observer)) {
|
|
317
314
|
observer.beginUpdate(this);
|
|
318
315
|
}
|
|
319
316
|
}
|
|
@@ -341,11 +338,17 @@ class Derived extends BaseObservable {
|
|
|
341
338
|
this._value = newValue;
|
|
342
339
|
}
|
|
343
340
|
debugRecompute() {
|
|
344
|
-
|
|
345
|
-
|
|
341
|
+
this.beginUpdate(this);
|
|
342
|
+
try {
|
|
343
|
+
if (!this._isComputing) {
|
|
344
|
+
this._recompute();
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
this._state = 2 /* DerivedState.stale */;
|
|
348
|
+
}
|
|
346
349
|
}
|
|
347
|
-
|
|
348
|
-
this.
|
|
350
|
+
finally {
|
|
351
|
+
this.endUpdate(this);
|
|
349
352
|
}
|
|
350
353
|
}
|
|
351
354
|
setValue(newValue, tx, change) {
|