consoleObservableLogger.ts ×8

Frontier kind: Joint frontier

unlabeled · c_7bca82adcb38

1 test · 6927 LOC · 59 files · introduces 1 test · 106 LOC · 6 files

Introduces — evidence that enters the hierarchy at this concept

Code
24 ranges106 lines · 6 files
Tests
1 test

Contains — complete concept membership

All code (extent)
1055 ranges6927 lines · 59 files · Browse complete extent
All tests (intent)
1 testBrowse complete intent

Neighbourhood graph

The orange circle is the focus. Violet and green circles are every ancestor and descendant, broader and narrower, at any distance; blue squares and pink diamonds are the introduced files and exact introduced tests of every visible concept, not only the focus's. Arrows point from broader to narrower concepts and bridge only concepts omitted from this view. Undirected links show source or test introduction. Concept and file size follows LOC; exact test nodes use test-count units.

Introduced files, introduced tests, and structurally relevant concept specialization

In the embedded map, ordinary wheel input scrolls the page; use the visible controls to zoom and drag to pan. Open the full-screen map for canvas navigation: wheel pans, Ctrl/Command plus wheel zooms, and arrow keys pan when this region is focused. On touch screens, open the full-screen map to pan or pinch. If JavaScript or WebGL is unavailable, use the native relationship evidence on this page.

Introduced files, introduced tests, and structurally relevant concept specializationdebugName.ts ×9 · 25 introduced LOCdebugName.ts ×9derivedImpl.ts ×2 · 3 introduced LOCderivedImpl.ts ×2autorun.ts ×1 · 7 introduced LOCautorun.ts ×1autorunImpl.ts ×15 · 71 introduced LOCautorunImpl.ts ×15derivedImpl.ts ×1 · 2 introduced LOCderivedImpl.ts ×1derivedImpl.ts ×13 · 74 introduced LOCderivedImpl.ts ×13derivedImpl.ts ×4 · 15 introduced LOCderivedImpl.ts ×4derivedImpl.ts ×2 · 13 introduced LOCderivedImpl.ts ×2derivedImpl.ts ×4 · 6 introduced LOCderivedImpl.ts ×4baseObservable.ts ×1 · 1 introduced LOCbaseObservable.ts ×1observableValue.ts ×1 · 1 introduced LOCobservableValue.ts ×1observableValue.ts ×3 · 5 introduced LOCobservableValue.ts ×3derived.ts ×1 · 11 introduced LOCderived.ts ×1baseObservable.ts ×1 · 8 introduced LOCbaseObservable.ts ×1derived.ts ×1 · 5 introduced LOCderived.ts ×1observableValue.ts ×1 · 2 introduced LOCobservableValue.ts ×1baseObservable.ts ×1 · 9 introduced LOCbaseObservable.ts ×1derivedImpl.ts ×1 · 10 introduced LOCderivedImpl.ts ×1observableValue.ts ×1 · 10 introduced LOCobservableValue.ts ×1debugLocation.ts ×2 · 13 introduced LOCdebugLocation.ts ×2baseObservable.ts ×3 · 3 introduced LOCbaseObservable.ts ×3observableSignalFromEvent.ts ×1 · 10 introduced LOCobservableSignalFromEven…promise.ts ×1 · 5 introduced LOCpromise.ts ×1devToolsLogger.ts ×24 · 1971 introduced LOCdevToolsLogger.ts ×24cancellation.ts ×18 · 90 introduced LOCcancellation.ts ×18lifecycle.test|title=Lifecycle dispose disposable array|occurrence=1, lifecycle.test|title=Lifecycle Action bar has broken accessibility #100273|occurrence=1 · 0 introduced LOClifecycle.test|title=Lif…event.ts ×93 · 864 introduced LOCevent.ts ×93lifecycle.ts ×1 · 6 introduced LOClifecycle.ts ×1utils.ts ×1 · 2 introduced LOCutils.ts ×1equals.ts ×14 · 108 introduced LOCequals.ts ×14utils.ts ×3 · 9 introduced LOCutils.ts ×3lifecycle.ts ×1 · 3 introduced LOClifecycle.ts ×1linkedList.ts ×13 · 44 introduced LOClinkedList.ts ×13lifecycle.ts ×2 · 6 introduced LOClifecycle.ts ×2lifecycle.ts ×2 · 4 introduced LOClifecycle.ts ×2lifecycle.ts ×1 · 6 introduced LOClifecycle.ts ×1lifecycle.ts ×1 · 1 introduced LOClifecycle.ts ×1lifecycle.ts ×3 · 9 introduced LOClifecycle.ts ×3lifecycle.ts ×1 · 7 introduced LOClifecycle.ts ×1lifecycle.ts ×4 · 7 introduced LOClifecycle.ts ×4lifecycle.ts ×4 · 8 introduced LOClifecycle.ts ×4lifecycle.ts ×6 · 16 introduced LOClifecycle.ts ×6lifecycle.ts ×2 · 2 introduced LOClifecycle.ts ×2lifecycle.ts ×1 · 3 introduced LOClifecycle.ts ×1lifecycle.ts ×3 · 3 introduced LOClifecycle.ts ×3lifecycle.ts ×1 · 2 introduced LOClifecycle.ts ×1lifecycle.ts ×1 · 2 introduced LOClifecycle.ts ×1iterator.ts ×1 · 2 introduced LOCiterator.ts ×1lifecycle.ts ×1 · 3 introduced LOClifecycle.ts ×1map.ts ×97 · 3334 introduced LOCmap.ts ×97src/vs/base/common/arrays.ts · 949 LOCcommon/arrays.tssrc/vs/base/common/arraysFind.ts · 226 LOCcommon/arraysFind.tssrc/vs/base/common/assert.ts · 91 LOCcommon/assert.tssrc/vs/base/common/cancellation.ts · 206 LOCcommon/cancellation.tssrc/vs/base/common/charCode.ts · 450 LOCcommon/charCode.tssrc/vs/base/common/collections.ts · 176 LOCcommon/collections.tssrc/vs/base/common/equals.ts · 206 LOCcommon/equals.tssrc/vs/base/common/errors.ts · 357 LOCcommon/errors.tssrc/vs/base/common/event.ts · 1964 LOCcommon/event.tssrc/vs/base/common/functional.ts · 32 LOCcommon/functional.tssrc/vs/base/common/iterator.ts · 194 LOCcommon/iterator.tssrc/vs/base/common/lifecycle.ts · 974 LOCcommon/lifecycle.tssrc/vs/base/common/linkedList.ts · 151 LOCcommon/linkedList.tssrc/vs/base/common/map.ts · 1016 LOCcommon/map.tssrc/vs/base/common/marshallingIds.ts · 33 LOCcommon/marshallingIds.tssrc/vs/base/common/observable.ts · 8 LOCcommon/observable.tssrc/vs/base/common/observableInternal/base.ts · 210 LOCobservableInternal/base.…src/vs/base/common/observableInternal/changeTracker.ts · 98 LOCobservableInternal/chang…src/vs/base/common/observableInternal/commonFacade/cancellation.ts · 7 LOCcommonFacade/cancellatio…src/vs/base/common/observableInternal/commonFacade/deps.ts · 10 LOCcommonFacade/deps.tssrc/vs/base/common/observableInternal/debugLocation.ts · 86 LOCobservableInternal/debug…src/vs/base/common/observableInternal/debugName.ts · 148 LOCobservableInternal/debug…src/vs/base/common/observableInternal/experimental/utils.ts · 60 LOCexperimental/utils.tssrc/vs/base/common/observableInternal/index.ts · 62 LOCobservableInternal/index…src/vs/base/common/observableInternal/logging/consoleObservableLogger.ts · 387 LOClogging/consoleObservabl…src/vs/base/common/observableInternal/logging/debugGetDependencyGraph.ts · 159 LOClogging/debugGetDependen…src/vs/base/common/observableInternal/logging/debugger/debuggerRpc.ts · 79 LOCdebugger/debuggerRpc.tssrc/vs/base/common/observableInternal/logging/debugger/devToolsLogger.ts · 483 LOCdebugger/devToolsLogger.…src/vs/base/common/observableInternal/logging/debugger/rpc.ts · 102 LOCdebugger/rpc.tssrc/vs/base/common/observableInternal/logging/debugger/utils.ts · 67 LOCdebugger/utils.tssrc/vs/base/common/observableInternal/logging/logging.ts · 131 LOClogging/logging.tssrc/vs/base/common/observableInternal/map.ts · 79 LOCobservableInternal/map.t…src/vs/base/common/observableInternal/observables/baseObservable.ts · 193 LOCobservables/baseObservab…src/vs/base/common/observableInternal/observables/constObservable.ts · 42 LOCobservables/constObserva…src/vs/base/common/observableInternal/observables/derived.ts · 194 LOCobservables/derived.tssrc/vs/base/common/observableInternal/observables/derivedImpl.ts · 459 LOCobservables/derivedImpl.…src/vs/base/common/observableInternal/observables/lazyObservableValue.ts · 152 LOCobservables/lazyObservab…src/vs/base/common/observableInternal/observables/observableFromEvent.ts · 181 LOCobservables/observableFr…src/vs/base/common/observableInternal/observables/observableSignal.ts · 65 LOCobservables/observableSi…src/vs/base/common/observableInternal/observables/observableSignalFromEvent.ts · 60 LOCobservables/observableSi…src/vs/base/common/observableInternal/observables/observableValue.ts · 129 LOCobservables/observableVa…src/vs/base/common/observableInternal/observables/observableValueOpts.ts · 35 LOCobservables/observableVa…src/vs/base/common/observableInternal/reactions/autorun.ts · 294 LOCreactions/autorun.tssrc/vs/base/common/observableInternal/reactions/autorunImpl.ts · 282 LOCreactions/autorunImpl.tssrc/vs/base/common/observableInternal/set.ts · 76 LOCobservableInternal/set.t…src/vs/base/common/observableInternal/transaction.ts · 113 LOCobservableInternal/trans…src/vs/base/common/observableInternal/utils/promise.ts · 171 LOCutils/promise.tssrc/vs/base/common/observableInternal/utils/runOnChange.ts · 63 LOCutils/runOnChange.tssrc/vs/base/common/observableInternal/utils/utils.ts · 352 LOCutils/utils.tssrc/vs/base/common/observableInternal/utils/utilsCancellation.ts · 101 LOCutils/utilsCancellation.…src/vs/base/common/observableInternal/utils/valueWithChangeEvent.ts · 29 LOCutils/valueWithChangeEve…src/vs/base/common/path.ts · 1589 LOCcommon/path.tssrc/vs/base/common/platform.ts · 281 LOCcommon/platform.tssrc/vs/base/common/process.ts · 76 LOCcommon/process.tssrc/vs/base/common/stopwatch.ts · 41 LOCcommon/stopwatch.tssrc/vs/base/common/types.ts · 410 LOCcommon/types.tssrc/vs/base/common/uri.ts · 754 LOCcommon/uri.tssrc/vs/base/test/common/utils.ts · 107 LOCcommon/utils.tssrc/vs/nls.ts · 244 LOCvs/nls.tslifecycle.test|title=Lifecycle Action bar has broken accessibility #100273|occurrence=1 · introduced test · mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/lifecycle.test|title=Lifecycle Action bar has broken accessibility #100273|occurrence=1lifecycle.test|title=Lif…lifecycle.test|title=Lifecycle dispose disposable array|occurrence=1 · introduced test · mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/lifecycle.test|title=Lifecycle dispose disposable array|occurrence=1lifecycle.test|title=Lif…debug.test|title=debug debugGetDependencyGraph|occurrence=1 · introduced test · mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/observables/debug.test|title=debug debugGetDependencyGraph|occurrence=1debug.test|title=debug d…Focused concept · consoleObservableLogger.ts ×8 · 106 introduced LOCconsoleObservableLogger.…

Graph controls are ready.

Interactive rendering requires JavaScript and WebGL. Use the native relationship evidence on this page while the interactive map is unavailable.

Native relationship evidence

Every exact file and test below is linked only from the concept that introduces it.

Introduced tests

Every collected test enters the hierarchy at exactly one concept.

1 test introduced at this concept.

Introduced code

Every collected source range enters the hierarchy at exactly one concept.

6 files ranked by introduced lines: 106 introduced LOC across 24 ranges. Expand a file to inspect source; the > gutter marks introduced lines.

src/vs/base/common/observableInternal/logging/debugGetDependencyGraph.ts 45 introduced LOC · 5 ranges

Open complete file

17
18 export function debugGetObservableGraph(obs: IObservable<any> | IObserver, options: IOptions): string {
19 > const debugNamePostProcessor = options?.debugNamePostProcessor ?? ((str: string) => str); debugGetDependencyGraph.ts
20 > const info = Info.from(obs, debugNamePostProcessor);
21 > if (!info) {
22 return '';
23 }
25 > const alreadyListed = new Set<IObservable<any> | IObserver>();
26 >
27 > if (options.type === 'observers') {
28 return formatObservableInfoWithObservers(info, 0, alreadyListed, options).trim();
30 > return formatObservableInfoWithDependencies(info, 0, alreadyListed, options).trim();
31 > }
32 > }
33
34 > function formatObservableInfoWithDependencies(info: Info, indentLevel: number, alreadyListed: Set<IObservable<any> | IObserver>, options: IOptions): string { debugGetDependencyGraph.ts
35 > const indent = '\t\t'.repeat(indentLevel);
36 > const lines: string[] = [];
37 >
38 > const isAlreadyListed = alreadyListed.has(info.sourceObj);
39 > if (isAlreadyListed) {
40 > lines.push(`${indent}* ${info.type} ${info.name} (already listed)`);
41 > return lines.join('\n');
42 > }
43 >
44 > alreadyListed.add(info.sourceObj);
45 >
46 > lines.push(`${indent}* ${info.type} ${info.name}:`);
47 > lines.push(`${indent} value: ${formatValue(info.value, 50)}`);
48 > lines.push(`${indent} state: ${info.state}`);
49 >
50 > if (info.dependencies.length > 0) {
51 > lines.push(`${indent} dependencies:`);
52 > for (const dep of info.dependencies) {
53 > const info = Info.from(dep, options.debugNamePostProcessor ?? (name => name)) ?? Info.unknown(dep);
54 > lines.push(formatObservableInfoWithDependencies(info, indentLevel + 1, alreadyListed, options));
55 > }
56 > }
57 >
58 > return lines.join('\n');
59 > }
60
61 function formatObservableInfoWithObservers(info: Info, indentLevel: number, alreadyListed: Set<IObservable<any> | IObserver>, options: IOptions): string {
149
150 constructor(
151 > public readonly sourceObj: IObservable<any> | IObserver, debugGetDependencyGraph.ts
152 > public readonly name: string,
153 > public readonly type: string,
154 > public readonly value: any,
155 > public readonly state: string,
156 > public readonly dependencies: (IObservable<any> | IObserver)[],
157 > public readonly observers: (IObservable<any> | IObserver)[],
158 > ) { }
159 }
src/vs/base/common/observableInternal/debugName.ts 24 introduced LOC · 7 ranges

Open complete file

49 const cached = cachedDebugName.get(target);
50 if (cached) {
51 > return cached; debugName.ts
52 > }
53
54 const dbgName = computeDebugName(target, data);
55 if (dbgName) {
56 > let count = countPerName.get(dbgName) ?? 0; debugName.ts
57 > count++;
58 > countPerName.set(dbgName, count);
59 > const result = count === 1 ? dbgName : `${dbgName}#${count}`;
60 > cachedDebugName.set(target, result);
61 > return result;
62 > }
63 return undefined;
64 }
75 const debugNameSource = data.debugNameSource;
76 if (debugNameSource !== undefined) {
77 > if (typeof debugNameSource === 'function') { debugName.ts
78 result = debugNameSource();
79 if (result !== undefined) {
80 return ownerStr + result;
81 }
82 > } else { debugName.ts
83 > return ownerStr + debugNameSource;
84 > }
85 > }
86
87 const referenceFn = data.referenceFn;
88 if (referenceFn !== undefined) {
89 > result = getFunctionName(referenceFn); debugName.ts
90 > if (result !== undefined) {
91 return ownerStr + result;
92 }
93 > } debugName.ts
94
95 if (data.owner !== undefined) {
140
141 export function getFunctionName(fn: Function): string | undefined {
142 > const fnSrc = fn.toString(); debugName.ts
143 > // Pattern: /** @description ... */
144 > const regexp = /\/\*\*\s*@description\s*([^*]*)\*\//;
145 > const match = regexp.exec(fnSrc);
146 > const result = match ? match[1] : undefined;
147 > return result?.trim();
148 > }
src/vs/base/common/observableInternal/observables/derivedImpl.ts 18 introduced LOC · 2 ranges

Open complete file

41 }
42
43 > function derivedStateToString(state: DerivedState): string { derivedImpl.ts
44 > switch (state) {
45 > case DerivedState.initial: return 'initial';
46 > case DerivedState.dependenciesMightHaveChanged: return 'dependenciesMightHaveChanged';
47 > case DerivedState.stale: return 'stale';
48 > case DerivedState.upToDate: return 'upToDate';
49 > default: return '<unknown>';
50 > }
51 > }
52
53 export class Derived<T, TChangeSummary = any, TChange = void> extends BaseObservable<T, TChange> implements IDerivedReader<TChange>, IObserver {
399
400 public debugGetState() {
401 > return { derivedImpl.ts
402 > state: this._state,
403 > stateStr: derivedStateToString(this._state),
404 > updateCount: this._updateCount,
405 > isComputing: this._isComputing,
406 > dependencies: this._dependencies,
407 > value: this._value,
408 > };
409 > }
410
411 public debugSetValue(newValue: unknown) {
src/vs/base/common/observableInternal/logging/consoleObservableLogger.ts 13 introduced LOC · 8 ranges

Open complete file

296
297 export function formatValue(value: unknown, availableLen: number): string {
298 > switch (typeof value) { consoleObservableLogger.ts
299 > case 'number':
300 > return '' + value;
301 > case 'string':
302 if (value.length + 2 <= availableLen) {
303 return `"${value}"`;
304 }
305 return `"${value.substr(0, availableLen - 7)}"+...`;
307 > case 'boolean':
308 return value ? 'true' : 'false';
309 > case 'undefined': consoleObservableLogger.ts
310 return 'undefined';
311 > case 'object': consoleObservableLogger.ts
312 if (value === null) {
313 return 'null';
src/vs/base/common/observableInternal/observables/observableValue.ts 4 introduced LOC · 1 range

Open complete file

89
90 public debugGetState() {
91 > return { observableValue.ts
92 > value: this._value,
93 > };
94 > }
95
96 public debugSetValue(value: unknown) {
src/vs/base/common/observableInternal/observables/baseObservable.ts 2 introduced LOC · 1 range

Open complete file

189
190 public debugGetObservers() {
191 > return this._observers; baseObservable.ts
192 > }
193 }