@vscode/markdown-editor 0.0.2-0 → 0.0.2-1
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/_observables/assert.d.ts +2 -0
- package/dist/_observables/deps.d.ts +28 -0
- package/dist/_observables/disposables.d.ts +19 -0
- package/dist/_observables/equals.d.ts +32 -0
- package/dist/_observables/index.d.ts +2 -0
- package/dist/_observables/observableInternal/base.d.ts +172 -0
- package/dist/_observables/observableInternal/changeTracker.d.ts +44 -0
- package/dist/_observables/observableInternal/commonFacade/cancellation.d.ts +24 -0
- package/dist/_observables/observableInternal/commonFacade/deps.d.ts +24 -0
- package/dist/_observables/observableInternal/debugLocation.d.ts +21 -0
- package/dist/_observables/observableInternal/debugName.d.ts +33 -0
- package/dist/_observables/observableInternal/experimental/deferUnobserve.d.ts +16 -0
- package/dist/_observables/observableInternal/experimental/reducer.d.ts +37 -0
- package/dist/_observables/observableInternal/experimental/utils.d.ts +15 -0
- package/dist/_observables/observableInternal/index.d.ts +25 -0
- package/dist/_observables/observableInternal/logging/consoleObservableLogger.d.ts +40 -0
- package/dist/_observables/observableInternal/logging/debugGetDependencyGraph.d.ts +4 -0
- package/dist/_observables/observableInternal/logging/debugger/debuggerRpc.d.ts +4 -0
- package/dist/_observables/observableInternal/logging/debugger/devToolsLogger.d.ts +43 -0
- package/dist/_observables/observableInternal/logging/debugger/rpc.d.ts +41 -0
- package/dist/_observables/observableInternal/logging/debugger/utils.d.ts +13 -0
- package/dist/_observables/observableInternal/logging/logging.d.ts +30 -0
- package/dist/_observables/observableInternal/map.d.ts +18 -0
- package/dist/_observables/observableInternal/observables/baseObservable.d.ts +58 -0
- package/dist/_observables/observableInternal/observables/constObservable.d.ts +5 -0
- package/dist/_observables/observableInternal/observables/derived.d.ts +46 -0
- package/dist/_observables/observableInternal/observables/derivedImpl.d.ts +83 -0
- package/dist/_observables/observableInternal/observables/lazyObservableValue.d.ts +27 -0
- package/dist/_observables/observableInternal/observables/observableFromEvent.d.ts +37 -0
- package/dist/_observables/observableInternal/observables/observableSignal.d.ts +11 -0
- package/dist/_observables/observableInternal/observables/observableSignalFromEvent.d.ts +5 -0
- package/dist/_observables/observableInternal/observables/observableValue.d.ts +37 -0
- package/dist/_observables/observableInternal/observables/observableValueOpts.d.ts +8 -0
- package/dist/_observables/observableInternal/reactions/autorun.d.ts +56 -0
- package/dist/_observables/observableInternal/reactions/autorunImpl.d.ts +53 -0
- package/dist/_observables/observableInternal/set.d.ts +17 -0
- package/dist/_observables/observableInternal/transaction.d.ts +27 -0
- package/dist/_observables/observableInternal/utils/promise.d.ts +75 -0
- package/dist/_observables/observableInternal/utils/runOnChange.d.ts +7 -0
- package/dist/_observables/observableInternal/utils/utils.d.ts +43 -0
- package/dist/_observables/observableInternal/utils/utilsCancellation.d.ts +10 -0
- package/dist/_observables/observableInternal/utils/valueWithChangeEvent.d.ts +10 -0
- package/dist/_observables/utils.d.ts +15 -0
- package/dist/index.d.ts +1769 -6
- package/dist/observables.d.ts +4 -1
- package/package.json +1 -1
- package/dist/commands/cursorCommands.d.ts +0 -13
- package/dist/commands/editCommands.d.ts +0 -14
- package/dist/commands/index.d.ts +0 -4
- package/dist/commands/selectionCommands.d.ts +0 -6
- package/dist/commands/types.d.ts +0 -26
- package/dist/core/geometry.d.ts +0 -37
- package/dist/core/index.d.ts +0 -8
- package/dist/core/lengthEdit.d.ts +0 -38
- package/dist/core/offsetRange.d.ts +0 -26
- package/dist/core/selection.d.ts +0 -13
- package/dist/core/sourceOffset.d.ts +0 -1
- package/dist/core/stringEdit.d.ts +0 -27
- package/dist/core/stringValue.d.ts +0 -8
- package/dist/core/wordUtils.d.ts +0 -6
- package/dist/highlighter/defaultMonacoSyntaxHighlighter.d.ts +0 -20
- package/dist/highlighter/index.d.ts +0 -3
- package/dist/highlighter/monacoSyntaxHighlighter.d.ts +0 -38
- package/dist/highlighter/syntaxHighlighter.d.ts +0 -67
- package/dist/model/cursorNavigation.d.ts +0 -7
- package/dist/model/editorModel.d.ts +0 -54
- package/dist/model/index.d.ts +0 -4
- package/dist/model/measuredLayoutModel.d.ts +0 -50
- package/dist/parser/_micromarkAdapter.d.ts +0 -7
- package/dist/parser/ast.d.ts +0 -274
- package/dist/parser/index.d.ts +0 -4
- package/dist/parser/parse.d.ts +0 -2
- package/dist/parser/parser.d.ts +0 -14
- package/dist/parser/reconcile.d.ts +0 -33
- package/dist/parser/test/getAnnotatedSource.d.ts +0 -2
- package/dist/parser/test/snapshot.d.ts +0 -9
- package/dist/parser/visualizeAst.d.ts +0 -33
- package/dist/test/random.d.ts +0 -16
- package/dist/view/content/blockView.d.ts +0 -179
- package/dist/view/content/documentView.d.ts +0 -41
- package/dist/view/content/dom.d.ts +0 -16
- package/dist/view/content/katexEditableIdentifiers.d.ts +0 -36
- package/dist/view/content/viewNode.d.ts +0 -93
- package/dist/view/editorController.d.ts +0 -34
- package/dist/view/editorView.d.ts +0 -100
- package/dist/view/fixture/astViewerView.d.ts +0 -27
- package/dist/view/fixture/cyclingTsHighlighter.d.ts +0 -17
- package/dist/view/fixture/debugColors.d.ts +0 -26
- package/dist/view/fixture/monacoDebugPanel.d.ts +0 -7
- package/dist/view/index.d.ts +0 -9
- package/dist/view/measuredLayoutDebugView.d.ts +0 -70
- package/dist/view/parts/cursorView.d.ts +0 -29
- package/dist/view/parts/selectionView.d.ts +0 -57
- package/dist/view/viewData.d.ts +0 -251
- package/dist/view/visualLineMap.d.ts +0 -157
- package/dist/view/visualizeViewTree.d.ts +0 -5
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IDisposable } from '../../../disposables';
|
|
2
|
+
export declare class Debouncer implements IDisposable {
|
|
3
|
+
private _timeout;
|
|
4
|
+
debounce(fn: () => void, timeoutMs: number): void;
|
|
5
|
+
dispose(): void;
|
|
6
|
+
}
|
|
7
|
+
export declare class Throttler implements IDisposable {
|
|
8
|
+
private _timeout;
|
|
9
|
+
throttle(fn: () => void, timeoutMs: number): void;
|
|
10
|
+
dispose(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare function deepAssign<T>(target: T, source: T): void;
|
|
13
|
+
export declare function deepAssignDeleteNulls<T>(target: T, source: T): void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AutorunObserver } from '../reactions/autorunImpl';
|
|
2
|
+
import { IObservable } from '../base';
|
|
3
|
+
import { TransactionImpl } from '../transaction';
|
|
4
|
+
import type { Derived } from '../observables/derivedImpl';
|
|
5
|
+
import { DebugLocation } from '../debugLocation';
|
|
6
|
+
export declare function addLogger(logger: IObservableLogger): void;
|
|
7
|
+
export declare function getLogger(): IObservableLogger | undefined;
|
|
8
|
+
export declare function setLogObservableFn(fn: (obs: IObservable<any>) => void): void;
|
|
9
|
+
export declare function logObservable(obs: IObservable<any>): void;
|
|
10
|
+
export interface IChangeInformation {
|
|
11
|
+
oldValue: unknown;
|
|
12
|
+
newValue: unknown;
|
|
13
|
+
change: unknown;
|
|
14
|
+
didChange: boolean;
|
|
15
|
+
hadValue: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface IObservableLogger {
|
|
18
|
+
handleObservableCreated(observable: IObservable<any>, location: DebugLocation): void;
|
|
19
|
+
handleOnListenerCountChanged(observable: IObservable<any>, newCount: number): void;
|
|
20
|
+
handleObservableUpdated(observable: IObservable<any>, info: IChangeInformation): void;
|
|
21
|
+
handleAutorunCreated(autorun: AutorunObserver, location: DebugLocation): void;
|
|
22
|
+
handleAutorunDisposed(autorun: AutorunObserver): void;
|
|
23
|
+
handleAutorunDependencyChanged(autorun: AutorunObserver, observable: IObservable<any>, change: unknown): void;
|
|
24
|
+
handleAutorunStarted(autorun: AutorunObserver): void;
|
|
25
|
+
handleAutorunFinished(autorun: AutorunObserver): void;
|
|
26
|
+
handleDerivedDependencyChanged(derived: Derived<any, any, any>, observable: IObservable<any>, change: unknown): void;
|
|
27
|
+
handleDerivedCleared(observable: Derived<any, any, any>): void;
|
|
28
|
+
handleBeginTransaction(transaction: TransactionImpl): void;
|
|
29
|
+
handleEndTransaction(transaction: TransactionImpl): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IObservable, ITransaction } from './base';
|
|
2
|
+
export declare class ObservableMap<K, V> implements Map<K, V> {
|
|
3
|
+
private readonly _data;
|
|
4
|
+
private readonly _obs;
|
|
5
|
+
readonly observable: IObservable<Map<K, V>>;
|
|
6
|
+
get size(): number;
|
|
7
|
+
has(key: K): boolean;
|
|
8
|
+
get(key: K): V | undefined;
|
|
9
|
+
set(key: K, value: V, tx?: ITransaction): this;
|
|
10
|
+
delete(key: K, tx?: ITransaction): boolean;
|
|
11
|
+
clear(tx?: ITransaction): void;
|
|
12
|
+
forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void;
|
|
13
|
+
entries(): IterableIterator<[K, V]>;
|
|
14
|
+
keys(): IterableIterator<K>;
|
|
15
|
+
values(): IterableIterator<V>;
|
|
16
|
+
[Symbol.iterator](): IterableIterator<[K, V]>;
|
|
17
|
+
get [Symbol.toStringTag](): string;
|
|
18
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { IObservableWithChange, IObserver, IReader, IObservable } from '../base';
|
|
2
|
+
import { DisposableStore } from '../commonFacade/deps';
|
|
3
|
+
import { DebugLocation } from '../debugLocation';
|
|
4
|
+
import { DebugOwner } from '../debugName';
|
|
5
|
+
import { debugGetDependencyGraph } from '../logging/debugGetDependencyGraph';
|
|
6
|
+
import type { keepObserved, recomputeInitiallyAndOnChange } from '../utils/utils';
|
|
7
|
+
import { derivedOpts } from './derived';
|
|
8
|
+
declare let _derived: typeof derivedOpts;
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
* This is to allow splitting files.
|
|
12
|
+
*/
|
|
13
|
+
export declare function _setDerivedOpts(derived: typeof _derived): void;
|
|
14
|
+
declare let _recomputeInitiallyAndOnChange: typeof recomputeInitiallyAndOnChange;
|
|
15
|
+
export declare function _setRecomputeInitiallyAndOnChange(recomputeInitiallyAndOnChange: typeof _recomputeInitiallyAndOnChange): void;
|
|
16
|
+
declare let _keepObserved: typeof keepObserved;
|
|
17
|
+
export declare function _setKeepObserved(keepObserved: typeof _keepObserved): void;
|
|
18
|
+
declare let _debugGetDependencyGraph: typeof debugGetDependencyGraph;
|
|
19
|
+
export declare function _setDebugGetDependencyGraph(debugGetDependencyGraph: typeof _debugGetDependencyGraph): void;
|
|
20
|
+
export declare abstract class ConvenientObservable<T, TChange> implements IObservableWithChange<T, TChange> {
|
|
21
|
+
get TChange(): TChange;
|
|
22
|
+
abstract get(): T;
|
|
23
|
+
reportChanges(): void;
|
|
24
|
+
abstract addObserver(observer: IObserver): void;
|
|
25
|
+
abstract removeObserver(observer: IObserver): void;
|
|
26
|
+
/** @sealed */
|
|
27
|
+
read(reader: IReader | undefined): T;
|
|
28
|
+
/** @sealed */
|
|
29
|
+
map<TNew>(fn: (value: T, reader: IReader) => TNew): IObservable<TNew>;
|
|
30
|
+
map<TNew>(owner: DebugOwner, fn: (value: T, reader: IReader) => TNew): IObservable<TNew>;
|
|
31
|
+
abstract log(): IObservableWithChange<T, TChange>;
|
|
32
|
+
/**
|
|
33
|
+
* @sealed
|
|
34
|
+
* Converts an observable of an observable value into a direct observable of the value.
|
|
35
|
+
*/
|
|
36
|
+
flatten<TNew>(this: IObservable<IObservableWithChange<TNew, any>>): IObservable<TNew>;
|
|
37
|
+
recomputeInitiallyAndOnChange(store: DisposableStore, handleValue?: (value: T) => void): IObservable<T>;
|
|
38
|
+
/**
|
|
39
|
+
* Ensures that this observable is observed. This keeps the cache alive.
|
|
40
|
+
* However, in case of deriveds, it does not force eager evaluation (only when the value is read/get).
|
|
41
|
+
* Use `recomputeInitiallyAndOnChange` for eager evaluation.
|
|
42
|
+
*/
|
|
43
|
+
keepObserved(store: DisposableStore): IObservable<T>;
|
|
44
|
+
abstract get debugName(): string;
|
|
45
|
+
protected get debugValue(): T;
|
|
46
|
+
debugGetDependencyGraph(): string;
|
|
47
|
+
}
|
|
48
|
+
export declare abstract class BaseObservable<T, TChange = void> extends ConvenientObservable<T, TChange> {
|
|
49
|
+
protected readonly _observers: Set<IObserver>;
|
|
50
|
+
constructor(debugLocation: DebugLocation);
|
|
51
|
+
addObserver(observer: IObserver): void;
|
|
52
|
+
removeObserver(observer: IObserver): void;
|
|
53
|
+
protected onFirstObserverAdded(): void;
|
|
54
|
+
protected onLastObserverRemoved(): void;
|
|
55
|
+
log(): IObservableWithChange<T, TChange>;
|
|
56
|
+
debugGetObservers(): Set<IObserver>;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { IObservable, IReader, ITransaction, ISettableObservable, IObservableWithChange } from '../base';
|
|
2
|
+
import { IChangeTracker } from '../changeTracker';
|
|
3
|
+
import { DisposableStore, EqualityComparer, IDisposable } from '../commonFacade/deps';
|
|
4
|
+
import { DebugLocation } from '../debugLocation';
|
|
5
|
+
import { DebugOwner, IDebugNameData } from '../debugName';
|
|
6
|
+
import { IDerivedReader } from './derivedImpl';
|
|
7
|
+
/**
|
|
8
|
+
* Creates an observable that is derived from other observables.
|
|
9
|
+
* The value is only recomputed when absolutely needed.
|
|
10
|
+
*
|
|
11
|
+
* {@link computeFn} should start with a JS Doc using `@description` to name the derived.
|
|
12
|
+
*/
|
|
13
|
+
export declare function derived<T, TChange = void>(computeFn: (reader: IDerivedReader<TChange>) => T): IObservableWithChange<T, TChange>;
|
|
14
|
+
export declare function derived<T, TChange = void>(owner: DebugOwner, computeFn: (reader: IDerivedReader<TChange>) => T): IObservableWithChange<T, TChange>;
|
|
15
|
+
export declare function derivedWithSetter<T>(owner: DebugOwner | undefined, computeFn: (reader: IReader) => T, setter: (value: T, transaction: ITransaction | undefined) => void, debugLocation?: DebugLocation): ISettableObservable<T>;
|
|
16
|
+
export declare function derivedOpts<T>(options: IDebugNameData & {
|
|
17
|
+
equalsFn?: EqualityComparer<T>;
|
|
18
|
+
onLastObserverRemoved?: (() => void);
|
|
19
|
+
}, computeFn: (reader: IReader) => T, debugLocation?: DebugLocation): IObservable<T>;
|
|
20
|
+
/**
|
|
21
|
+
* Represents an observable that is derived from other observables.
|
|
22
|
+
* The value is only recomputed when absolutely needed.
|
|
23
|
+
*
|
|
24
|
+
* {@link computeFn} should start with a JS Doc using `@description` to name the derived.
|
|
25
|
+
*
|
|
26
|
+
* Use `createEmptyChangeSummary` to create a "change summary" that can collect the changes.
|
|
27
|
+
* Use `handleChange` to add a reported change to the change summary.
|
|
28
|
+
* The compute function is given the last change summary.
|
|
29
|
+
* The change summary is discarded after the compute function was called.
|
|
30
|
+
*
|
|
31
|
+
* @see derived
|
|
32
|
+
*/
|
|
33
|
+
export declare function derivedHandleChanges<T, TDelta, TChangeSummary>(options: IDebugNameData & {
|
|
34
|
+
changeTracker: IChangeTracker<TChangeSummary>;
|
|
35
|
+
equalityComparer?: EqualityComparer<T>;
|
|
36
|
+
}, computeFn: (reader: IDerivedReader<TDelta>, changeSummary: TChangeSummary) => T, debugLocation?: DebugLocation): IObservableWithChange<T, TDelta>;
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated Use `derived(reader => { reader.store.add(...) })` instead!
|
|
39
|
+
*/
|
|
40
|
+
export declare function derivedWithStore<T>(computeFn: (reader: IReader, store: DisposableStore) => T): IObservable<T>;
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Use `derived(reader => { reader.store.add(...) })` instead!
|
|
43
|
+
*/
|
|
44
|
+
export declare function derivedWithStore<T>(owner: DebugOwner, computeFn: (reader: IReader, store: DisposableStore) => T): IObservable<T>;
|
|
45
|
+
export declare function derivedDisposable<T extends IDisposable | undefined>(computeFn: (reader: IReader) => T): IObservable<T>;
|
|
46
|
+
export declare function derivedDisposable<T extends IDisposable | undefined>(owner: DebugOwner, computeFn: (reader: IReader) => T): IObservable<T>;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { IObservable, IObservableWithChange, IObserver, IReaderWithStore, ISettableObservable, ITransaction } from '../base';
|
|
2
|
+
import { BaseObservable } from './baseObservable';
|
|
3
|
+
import { DebugNameData } from '../debugName';
|
|
4
|
+
import { DisposableStore, EqualityComparer } from '../commonFacade/deps';
|
|
5
|
+
import { IChangeTracker } from '../changeTracker';
|
|
6
|
+
import { DebugLocation } from '../debugLocation';
|
|
7
|
+
export interface IDerivedReader<TChange = void> extends IReaderWithStore {
|
|
8
|
+
/**
|
|
9
|
+
* Call this to report a change delta or to force report a change, even if the new value is the same as the old value.
|
|
10
|
+
*/
|
|
11
|
+
reportChange(change: TChange): void;
|
|
12
|
+
}
|
|
13
|
+
export declare const enum DerivedState {
|
|
14
|
+
/** Initial state, no previous value, recomputation needed */
|
|
15
|
+
initial = 0,
|
|
16
|
+
/**
|
|
17
|
+
* A dependency could have changed.
|
|
18
|
+
* We need to explicitly ask them if at least one dependency changed.
|
|
19
|
+
*/
|
|
20
|
+
dependenciesMightHaveChanged = 1,
|
|
21
|
+
/**
|
|
22
|
+
* A dependency changed and we need to recompute.
|
|
23
|
+
* After recomputation, we need to check the previous value to see if we changed as well.
|
|
24
|
+
*/
|
|
25
|
+
stale = 2,
|
|
26
|
+
/**
|
|
27
|
+
* No change reported, our cached value is up to date.
|
|
28
|
+
*/
|
|
29
|
+
upToDate = 3
|
|
30
|
+
}
|
|
31
|
+
export declare class Derived<T, TChangeSummary = any, TChange = void> extends BaseObservable<T, TChange> implements IDerivedReader<TChange>, IObserver {
|
|
32
|
+
readonly _debugNameData: DebugNameData;
|
|
33
|
+
readonly _computeFn: (reader: IDerivedReader<TChange>, changeSummary: TChangeSummary) => T;
|
|
34
|
+
private readonly _changeTracker;
|
|
35
|
+
private readonly _handleLastObserverRemoved;
|
|
36
|
+
private readonly _equalityComparator;
|
|
37
|
+
private _state;
|
|
38
|
+
private _value;
|
|
39
|
+
private _updateCount;
|
|
40
|
+
private _dependencies;
|
|
41
|
+
private _dependenciesToBeRemoved;
|
|
42
|
+
private _changeSummary;
|
|
43
|
+
private _isUpdating;
|
|
44
|
+
private _isComputing;
|
|
45
|
+
private _didReportChange;
|
|
46
|
+
private _isInBeforeUpdate;
|
|
47
|
+
private _isReaderValid;
|
|
48
|
+
private _store;
|
|
49
|
+
private _delayedStore;
|
|
50
|
+
private _removedObserverToCallEndUpdateOn;
|
|
51
|
+
get debugName(): string;
|
|
52
|
+
constructor(_debugNameData: DebugNameData, _computeFn: (reader: IDerivedReader<TChange>, changeSummary: TChangeSummary) => T, _changeTracker: IChangeTracker<TChangeSummary> | undefined, _handleLastObserverRemoved: (() => void) | undefined, _equalityComparator: EqualityComparer<T>, debugLocation: DebugLocation);
|
|
53
|
+
protected onLastObserverRemoved(): void;
|
|
54
|
+
get(): T;
|
|
55
|
+
private _recompute;
|
|
56
|
+
toString(): string;
|
|
57
|
+
beginUpdate<T>(_observable: IObservable<T>): void;
|
|
58
|
+
endUpdate<T>(_observable: IObservable<T>): void;
|
|
59
|
+
handlePossibleChange<T>(observable: IObservable<T>): void;
|
|
60
|
+
handleChange<T, TChange>(observable: IObservableWithChange<T, TChange>, change: TChange): void;
|
|
61
|
+
private _ensureReaderValid;
|
|
62
|
+
readObservable<T>(observable: IObservable<T>): T;
|
|
63
|
+
reportChange(change: TChange): void;
|
|
64
|
+
get store(): DisposableStore;
|
|
65
|
+
get delayedStore(): DisposableStore;
|
|
66
|
+
addObserver(observer: IObserver): void;
|
|
67
|
+
removeObserver(observer: IObserver): void;
|
|
68
|
+
debugGetState(): {
|
|
69
|
+
state: DerivedState;
|
|
70
|
+
stateStr: string;
|
|
71
|
+
updateCount: number;
|
|
72
|
+
isComputing: boolean;
|
|
73
|
+
dependencies: Set<IObservable<any>>;
|
|
74
|
+
value: T | undefined;
|
|
75
|
+
};
|
|
76
|
+
debugSetValue(newValue: unknown): void;
|
|
77
|
+
debugRecompute(): void;
|
|
78
|
+
setValue(newValue: T, tx: ITransaction, change: TChange): void;
|
|
79
|
+
}
|
|
80
|
+
export declare class DerivedWithSetter<T, TChangeSummary = any, TOutChanges = any> extends Derived<T, TChangeSummary, TOutChanges> implements ISettableObservable<T, TOutChanges> {
|
|
81
|
+
readonly set: (value: T, tx: ITransaction | undefined, change: TOutChanges) => void;
|
|
82
|
+
constructor(debugNameData: DebugNameData, computeFn: (reader: IDerivedReader<TOutChanges>, changeSummary: TChangeSummary) => T, changeTracker: IChangeTracker<TChangeSummary> | undefined, handleLastObserverRemoved: (() => void) | undefined, equalityComparator: EqualityComparer<T>, set: (value: T, tx: ITransaction | undefined, change: TOutChanges) => void, debugLocation: DebugLocation);
|
|
83
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EqualityComparer } from '../commonFacade/deps';
|
|
2
|
+
import { IObserver, ISettableObservable, ITransaction } from '../base';
|
|
3
|
+
import { DebugNameData } from '../debugName';
|
|
4
|
+
import { BaseObservable } from './baseObservable';
|
|
5
|
+
import { DebugLocation } from '../debugLocation';
|
|
6
|
+
/**
|
|
7
|
+
* Holds off updating observers until the value is actually read.
|
|
8
|
+
*/
|
|
9
|
+
export declare class LazyObservableValue<T, TChange = void> extends BaseObservable<T, TChange> implements ISettableObservable<T, TChange> {
|
|
10
|
+
private readonly _debugNameData;
|
|
11
|
+
private readonly _equalityComparator;
|
|
12
|
+
protected _value: T;
|
|
13
|
+
private _isUpToDate;
|
|
14
|
+
private readonly _deltas;
|
|
15
|
+
get debugName(): string;
|
|
16
|
+
constructor(_debugNameData: DebugNameData, initialValue: T, _equalityComparator: EqualityComparer<T>, debugLocation: DebugLocation);
|
|
17
|
+
get(): T;
|
|
18
|
+
private _update;
|
|
19
|
+
private _updateCounter;
|
|
20
|
+
private _beginUpdate;
|
|
21
|
+
private _endUpdate;
|
|
22
|
+
addObserver(observer: IObserver): void;
|
|
23
|
+
removeObserver(observer: IObserver): void;
|
|
24
|
+
set(value: T, tx: ITransaction | undefined, change: TChange): void;
|
|
25
|
+
toString(): string;
|
|
26
|
+
protected _setValue(newValue: T): void;
|
|
27
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { IObservable, ITransaction } from '../base';
|
|
2
|
+
import { EqualityComparer, Event } from '../commonFacade/deps';
|
|
3
|
+
import { DebugOwner, DebugNameData, IDebugNameData } from '../debugName';
|
|
4
|
+
import { BaseObservable } from './baseObservable';
|
|
5
|
+
import { DebugLocation } from '../debugLocation';
|
|
6
|
+
export declare function observableFromEvent<T, TArgs = unknown>(owner: DebugOwner, event: Event<TArgs>, getValue: (args: TArgs | undefined) => T, debugLocation?: DebugLocation): IObservable<T>;
|
|
7
|
+
export declare function observableFromEvent<T, TArgs = unknown>(event: Event<TArgs>, getValue: (args: TArgs | undefined) => T): IObservable<T>;
|
|
8
|
+
export declare function observableFromEventOpts<T, TArgs = unknown>(options: IDebugNameData & {
|
|
9
|
+
equalsFn?: EqualityComparer<T>;
|
|
10
|
+
}, event: Event<TArgs>, getValue: (args: TArgs | undefined) => T, debugLocation?: DebugLocation): IObservable<T>;
|
|
11
|
+
export declare class FromEventObservable<TArgs, T> extends BaseObservable<T> {
|
|
12
|
+
private readonly _debugNameData;
|
|
13
|
+
private readonly event;
|
|
14
|
+
readonly _getValue: (args: TArgs | undefined) => T;
|
|
15
|
+
private readonly _getTransaction;
|
|
16
|
+
private readonly _equalityComparator;
|
|
17
|
+
static globalTransaction: ITransaction | undefined;
|
|
18
|
+
private _value;
|
|
19
|
+
private _hasValue;
|
|
20
|
+
private _subscription;
|
|
21
|
+
constructor(_debugNameData: DebugNameData, event: Event<TArgs>, _getValue: (args: TArgs | undefined) => T, _getTransaction: () => ITransaction | undefined, _equalityComparator: EqualityComparer<T>, debugLocation: DebugLocation);
|
|
22
|
+
private getDebugName;
|
|
23
|
+
get debugName(): string;
|
|
24
|
+
protected onFirstObserverAdded(): void;
|
|
25
|
+
private readonly handleEvent;
|
|
26
|
+
protected onLastObserverRemoved(): void;
|
|
27
|
+
get(): T;
|
|
28
|
+
debugSetValue(value: unknown): void;
|
|
29
|
+
debugGetState(): {
|
|
30
|
+
value: T | undefined;
|
|
31
|
+
hasValue: boolean;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export declare namespace observableFromEvent {
|
|
35
|
+
const Observer: typeof FromEventObservable;
|
|
36
|
+
function batchEventsGlobally(tx: ITransaction, fn: () => void): void;
|
|
37
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IObservableWithChange, ITransaction } from '../base';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a signal that can be triggered to invalidate observers.
|
|
4
|
+
* Signals don't have a value - when they are triggered they indicate a change.
|
|
5
|
+
* However, signals can carry a delta that is passed to observers.
|
|
6
|
+
*/
|
|
7
|
+
export declare function observableSignal<TDelta = void>(debugName: string): IObservableSignal<TDelta>;
|
|
8
|
+
export declare function observableSignal<TDelta = void>(owner: object): IObservableSignal<TDelta>;
|
|
9
|
+
export interface IObservableSignal<TChange> extends IObservableWithChange<void, TChange> {
|
|
10
|
+
trigger(tx: ITransaction | undefined, change: TChange): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IObservable } from '../base';
|
|
2
|
+
import { Event } from '../commonFacade/deps';
|
|
3
|
+
import { DebugOwner } from '../debugName';
|
|
4
|
+
import { DebugLocation } from '../debugLocation';
|
|
5
|
+
export declare function observableSignalFromEvent(owner: DebugOwner | string, event: Event<any>, debugLocation?: DebugLocation): IObservable<void>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ISettableObservable, ITransaction } from '../base';
|
|
2
|
+
import { BaseObservable } from './baseObservable';
|
|
3
|
+
import { EqualityComparer, IDisposable } from '../commonFacade/deps';
|
|
4
|
+
import { DebugNameData } from '../debugName';
|
|
5
|
+
import { DebugLocation } from '../debugLocation';
|
|
6
|
+
/**
|
|
7
|
+
* Creates an observable value.
|
|
8
|
+
* Observers get informed when the value changes.
|
|
9
|
+
* @template TChange An arbitrary type to describe how or why the value changed. Defaults to `void`.
|
|
10
|
+
* Observers will receive every single change value.
|
|
11
|
+
*/
|
|
12
|
+
export declare function observableValue<T, TChange = void>(name: string, initialValue: T, debugLocation?: DebugLocation): ISettableObservable<T, TChange>;
|
|
13
|
+
export declare function observableValue<T, TChange = void>(owner: object, initialValue: T, debugLocation?: DebugLocation): ISettableObservable<T, TChange>;
|
|
14
|
+
export declare class ObservableValue<T, TChange = void> extends BaseObservable<T, TChange> implements ISettableObservable<T, TChange> {
|
|
15
|
+
private readonly _debugNameData;
|
|
16
|
+
private readonly _equalityComparator;
|
|
17
|
+
protected _value: T;
|
|
18
|
+
get debugName(): string;
|
|
19
|
+
constructor(_debugNameData: DebugNameData, initialValue: T, _equalityComparator: EqualityComparer<T>, debugLocation: DebugLocation);
|
|
20
|
+
get(): T;
|
|
21
|
+
set(value: T, tx: ITransaction | undefined, change: TChange): void;
|
|
22
|
+
toString(): string;
|
|
23
|
+
protected _setValue(newValue: T): void;
|
|
24
|
+
debugGetState(): {
|
|
25
|
+
value: T;
|
|
26
|
+
};
|
|
27
|
+
debugSetValue(value: unknown): void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* A disposable observable. When disposed, its value is also disposed.
|
|
31
|
+
* When a new value is set, the previous value is disposed.
|
|
32
|
+
*/
|
|
33
|
+
export declare function disposableObservableValue<T extends IDisposable | undefined, TChange = void>(nameOrOwner: string | object, initialValue: T, debugLocation?: DebugLocation): ISettableObservable<T, TChange> & IDisposable;
|
|
34
|
+
export declare class DisposableObservableValue<T extends IDisposable | undefined, TChange = void> extends ObservableValue<T, TChange> implements IDisposable {
|
|
35
|
+
protected _setValue(newValue: T): void;
|
|
36
|
+
dispose(): void;
|
|
37
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ISettableObservable } from '../base';
|
|
2
|
+
import { IDebugNameData } from '../debugName';
|
|
3
|
+
import { EqualityComparer } from '../commonFacade/deps';
|
|
4
|
+
import { DebugLocation } from '../debugLocation';
|
|
5
|
+
export declare function observableValueOpts<T, TChange = void>(options: IDebugNameData & {
|
|
6
|
+
equalsFn?: EqualityComparer<T>;
|
|
7
|
+
lazy?: boolean;
|
|
8
|
+
}, initialValue: T, debugLocation?: DebugLocation): ISettableObservable<T, TChange>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { IReaderWithStore, IReader, IObservable } from '../base';
|
|
2
|
+
import { IChangeTracker } from '../changeTracker';
|
|
3
|
+
import { DisposableStore, IDisposable } from '../commonFacade/deps';
|
|
4
|
+
import { IDebugNameData } from '../debugName';
|
|
5
|
+
import { DebugLocation } from '../debugLocation';
|
|
6
|
+
/**
|
|
7
|
+
* Runs immediately and whenever a transaction ends and an observed observable changed.
|
|
8
|
+
* {@link fn} should start with a JS Doc using `@description` to name the autorun.
|
|
9
|
+
*/
|
|
10
|
+
export declare function autorun(fn: (reader: IReaderWithStore) => void, debugLocation?: DebugLocation): IDisposable;
|
|
11
|
+
/**
|
|
12
|
+
* Runs immediately and whenever a transaction ends and an observed observable changed.
|
|
13
|
+
* {@link fn} should start with a JS Doc using `@description` to name the autorun.
|
|
14
|
+
*/
|
|
15
|
+
export declare function autorunOpts(options: IDebugNameData & {}, fn: (reader: IReaderWithStore) => void, debugLocation?: DebugLocation): IDisposable;
|
|
16
|
+
/**
|
|
17
|
+
* Runs immediately and whenever a transaction ends and an observed observable changed.
|
|
18
|
+
* {@link fn} should start with a JS Doc using `@description` to name the autorun.
|
|
19
|
+
*
|
|
20
|
+
* Use `changeTracker.createChangeSummary` to create a "change summary" that can collect the changes.
|
|
21
|
+
* Use `changeTracker.handleChange` to add a reported change to the change summary.
|
|
22
|
+
* The run function is given the last change summary.
|
|
23
|
+
* The change summary is discarded after the run function was called.
|
|
24
|
+
*
|
|
25
|
+
* @see autorun
|
|
26
|
+
*/
|
|
27
|
+
export declare function autorunHandleChanges<TChangeSummary>(options: IDebugNameData & {
|
|
28
|
+
changeTracker: IChangeTracker<TChangeSummary>;
|
|
29
|
+
}, fn: (reader: IReader, changeSummary: TChangeSummary) => void, debugLocation?: DebugLocation): IDisposable;
|
|
30
|
+
/**
|
|
31
|
+
* @see autorunHandleChanges (but with a disposable store that is cleared before the next run or on dispose)
|
|
32
|
+
*/
|
|
33
|
+
export declare function autorunWithStoreHandleChanges<TChangeSummary>(options: IDebugNameData & {
|
|
34
|
+
changeTracker: IChangeTracker<TChangeSummary>;
|
|
35
|
+
}, fn: (reader: IReader, changeSummary: TChangeSummary, store: DisposableStore) => void): IDisposable;
|
|
36
|
+
/**
|
|
37
|
+
* @see autorun (but with a disposable store that is cleared before the next run or on dispose)
|
|
38
|
+
*
|
|
39
|
+
* @deprecated Use `autorun(reader => { reader.store.add(...) })` instead!
|
|
40
|
+
*/
|
|
41
|
+
export declare function autorunWithStore(fn: (reader: IReader, store: DisposableStore) => void): IDisposable;
|
|
42
|
+
export declare function autorunDelta<T>(observable: IObservable<T>, handler: (args: {
|
|
43
|
+
lastValue: T | undefined;
|
|
44
|
+
newValue: T;
|
|
45
|
+
}) => void): IDisposable;
|
|
46
|
+
export declare function autorunIterableDelta<T>(getValue: (reader: IReader) => Iterable<T>, handler: (args: {
|
|
47
|
+
addedValues: T[];
|
|
48
|
+
removedValues: T[];
|
|
49
|
+
}) => void, getUniqueIdentifier?: (value: T) => unknown): IDisposable;
|
|
50
|
+
export interface IReaderWithDispose extends IReaderWithStore, IDisposable {
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* An autorun with a `dispose()` method on its `reader` which cancels the autorun.
|
|
54
|
+
* It it safe to call `dispose()` synchronously.
|
|
55
|
+
*/
|
|
56
|
+
export declare function autorunSelfDisposable(fn: (reader: IReaderWithDispose) => void, debugLocation?: DebugLocation): IDisposable;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { IObservable, IObservableWithChange, IObserver, IReaderWithStore } from '../base';
|
|
2
|
+
import { DebugNameData } from '../debugName';
|
|
3
|
+
import { DisposableStore, IDisposable } from '../commonFacade/deps';
|
|
4
|
+
import { IChangeTracker } from '../changeTracker';
|
|
5
|
+
import { DebugLocation } from '../debugLocation';
|
|
6
|
+
export declare const enum AutorunState {
|
|
7
|
+
/**
|
|
8
|
+
* A dependency could have changed.
|
|
9
|
+
* We need to explicitly ask them if at least one dependency changed.
|
|
10
|
+
*/
|
|
11
|
+
dependenciesMightHaveChanged = 1,
|
|
12
|
+
/**
|
|
13
|
+
* A dependency changed and we need to recompute.
|
|
14
|
+
*/
|
|
15
|
+
stale = 2,
|
|
16
|
+
upToDate = 3
|
|
17
|
+
}
|
|
18
|
+
export declare class AutorunObserver<TChangeSummary = any> implements IObserver, IReaderWithStore, IDisposable {
|
|
19
|
+
readonly _debugNameData: DebugNameData;
|
|
20
|
+
readonly _runFn: (reader: IReaderWithStore, changeSummary: TChangeSummary) => void;
|
|
21
|
+
private readonly _changeTracker;
|
|
22
|
+
private _state;
|
|
23
|
+
private _updateCount;
|
|
24
|
+
private _disposed;
|
|
25
|
+
private _dependencies;
|
|
26
|
+
private _dependenciesToBeRemoved;
|
|
27
|
+
private _changeSummary;
|
|
28
|
+
private _isRunning;
|
|
29
|
+
get debugName(): string;
|
|
30
|
+
constructor(_debugNameData: DebugNameData, _runFn: (reader: IReaderWithStore, changeSummary: TChangeSummary) => void, _changeTracker: IChangeTracker<TChangeSummary> | undefined, debugLocation: DebugLocation);
|
|
31
|
+
dispose(): void;
|
|
32
|
+
private _run;
|
|
33
|
+
toString(): string;
|
|
34
|
+
beginUpdate(_observable: IObservable<any>): void;
|
|
35
|
+
endUpdate(_observable: IObservable<any>): void;
|
|
36
|
+
handlePossibleChange(observable: IObservable<any>): void;
|
|
37
|
+
handleChange<T, TChange>(observable: IObservableWithChange<T, TChange>, change: TChange): void;
|
|
38
|
+
private _isDependency;
|
|
39
|
+
private _ensureNoRunning;
|
|
40
|
+
readObservable<T>(observable: IObservable<T>): T;
|
|
41
|
+
private _store;
|
|
42
|
+
get store(): DisposableStore;
|
|
43
|
+
private _delayedStore;
|
|
44
|
+
get delayedStore(): DisposableStore;
|
|
45
|
+
debugGetState(): {
|
|
46
|
+
isRunning: boolean;
|
|
47
|
+
updateCount: number;
|
|
48
|
+
dependencies: Set<IObservable<any>>;
|
|
49
|
+
state: AutorunState;
|
|
50
|
+
stateStr: string;
|
|
51
|
+
};
|
|
52
|
+
debugRerun(): void;
|
|
53
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IObservable, ITransaction } from './base';
|
|
2
|
+
export declare class ObservableSet<T> implements Set<T> {
|
|
3
|
+
private readonly _data;
|
|
4
|
+
private _obs;
|
|
5
|
+
readonly observable: IObservable<Set<T>>;
|
|
6
|
+
get size(): number;
|
|
7
|
+
has(value: T): boolean;
|
|
8
|
+
add(value: T, tx?: ITransaction): this;
|
|
9
|
+
delete(value: T, tx?: ITransaction): boolean;
|
|
10
|
+
clear(tx?: ITransaction): void;
|
|
11
|
+
forEach(callbackfn: (value: T, value2: T, set: Set<T>) => void, thisArg?: any): void;
|
|
12
|
+
entries(): IterableIterator<[T, T]>;
|
|
13
|
+
keys(): IterableIterator<T>;
|
|
14
|
+
values(): IterableIterator<T>;
|
|
15
|
+
[Symbol.iterator](): IterableIterator<T>;
|
|
16
|
+
get [Symbol.toStringTag](): string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IObservable, IObserver, ITransaction } from './base';
|
|
2
|
+
/**
|
|
3
|
+
* Starts a transaction in which many observables can be changed at once.
|
|
4
|
+
* {@link fn} should start with a JS Doc using `@description` to give the transaction a debug name.
|
|
5
|
+
* Reaction run on demand or when the transaction ends.
|
|
6
|
+
*/
|
|
7
|
+
export declare function transaction(fn: (tx: ITransaction) => void, getDebugName?: () => string): void;
|
|
8
|
+
export declare function globalTransaction(fn: (tx: ITransaction) => void): void;
|
|
9
|
+
/** @deprecated */
|
|
10
|
+
export declare function asyncTransaction(fn: (tx: ITransaction) => Promise<void>, getDebugName?: () => string): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Allows to chain transactions.
|
|
13
|
+
*/
|
|
14
|
+
export declare function subtransaction(tx: ITransaction | undefined, fn: (tx: ITransaction) => void, getDebugName?: () => string): void;
|
|
15
|
+
export declare class TransactionImpl implements ITransaction {
|
|
16
|
+
readonly _fn: Function;
|
|
17
|
+
private readonly _getDebugName?;
|
|
18
|
+
private _updatingObservers;
|
|
19
|
+
constructor(_fn: Function, _getDebugName?: (() => string) | undefined);
|
|
20
|
+
getDebugName(): string | undefined;
|
|
21
|
+
updateObserver(observer: IObserver, observable: IObservable<any>): void;
|
|
22
|
+
finish(): void;
|
|
23
|
+
debugGetUpdatingObservers(): {
|
|
24
|
+
observer: IObserver;
|
|
25
|
+
observable: IObservable<any>;
|
|
26
|
+
}[] | null;
|
|
27
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { IObservable } from '../base';
|
|
2
|
+
export declare class ObservableLazy<T> {
|
|
3
|
+
private readonly _computeValue;
|
|
4
|
+
private readonly _value;
|
|
5
|
+
/**
|
|
6
|
+
* The cached value.
|
|
7
|
+
* Does not force a computation of the value.
|
|
8
|
+
*/
|
|
9
|
+
get cachedValue(): IObservable<T | undefined>;
|
|
10
|
+
constructor(_computeValue: () => T);
|
|
11
|
+
/**
|
|
12
|
+
* Returns the cached value.
|
|
13
|
+
* Computes the value if the value has not been cached yet.
|
|
14
|
+
*/
|
|
15
|
+
getValue(): T;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A promise whose state is observable.
|
|
19
|
+
*/
|
|
20
|
+
export declare class ObservablePromise<T> {
|
|
21
|
+
static fromFn<T>(fn: () => Promise<T>): ObservablePromise<T>;
|
|
22
|
+
private readonly _value;
|
|
23
|
+
/**
|
|
24
|
+
* The promise that this object wraps.
|
|
25
|
+
*/
|
|
26
|
+
readonly promise: Promise<T>;
|
|
27
|
+
/**
|
|
28
|
+
* The current state of the promise.
|
|
29
|
+
* Is `undefined` if the promise didn't resolve yet.
|
|
30
|
+
*/
|
|
31
|
+
readonly promiseResult: IObservable<PromiseResult<T> | undefined>;
|
|
32
|
+
constructor(promise: Promise<T>);
|
|
33
|
+
readonly resolvedValue: import("..").IObservableWithChange<T | undefined, void>;
|
|
34
|
+
}
|
|
35
|
+
export declare class PromiseResult<T> {
|
|
36
|
+
/**
|
|
37
|
+
* The value of the resolved promise.
|
|
38
|
+
* Undefined if the promise rejected.
|
|
39
|
+
*/
|
|
40
|
+
readonly data: T | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* The error in case of a rejected promise.
|
|
43
|
+
* Undefined if the promise resolved.
|
|
44
|
+
*/
|
|
45
|
+
readonly error: unknown | undefined;
|
|
46
|
+
constructor(
|
|
47
|
+
/**
|
|
48
|
+
* The value of the resolved promise.
|
|
49
|
+
* Undefined if the promise rejected.
|
|
50
|
+
*/
|
|
51
|
+
data: T | undefined,
|
|
52
|
+
/**
|
|
53
|
+
* The error in case of a rejected promise.
|
|
54
|
+
* Undefined if the promise resolved.
|
|
55
|
+
*/
|
|
56
|
+
error: unknown | undefined);
|
|
57
|
+
/**
|
|
58
|
+
* Returns the value if the promise resolved, otherwise throws the error.
|
|
59
|
+
*/
|
|
60
|
+
getDataOrThrow(): T;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* A lazy promise whose state is observable.
|
|
64
|
+
*/
|
|
65
|
+
export declare class ObservableLazyPromise<T> {
|
|
66
|
+
private readonly _computePromise;
|
|
67
|
+
private readonly _lazyValue;
|
|
68
|
+
/**
|
|
69
|
+
* Does not enforce evaluation of the promise compute function.
|
|
70
|
+
* Is undefined if the promise has not been computed yet.
|
|
71
|
+
*/
|
|
72
|
+
readonly cachedPromiseResult: import("..").IObservableWithChange<PromiseResult<T> | undefined, void>;
|
|
73
|
+
constructor(_computePromise: () => Promise<T>);
|
|
74
|
+
getPromise(): Promise<T>;
|
|
75
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IObservableWithChange } from '../base';
|
|
2
|
+
import { CancellationToken } from '../commonFacade/cancellation';
|
|
3
|
+
import { DisposableStore, IDisposable } from '../commonFacade/deps';
|
|
4
|
+
export type RemoveUndefined<T> = T extends undefined ? never : T;
|
|
5
|
+
export declare function runOnChange<T, TChange>(observable: IObservableWithChange<T, TChange>, cb: (value: T, previousValue: T, deltas: RemoveUndefined<TChange>[]) => void): IDisposable;
|
|
6
|
+
export declare function runOnChangeWithStore<T, TChange>(observable: IObservableWithChange<T, TChange>, cb: (value: T, previousValue: T, deltas: RemoveUndefined<TChange>[], store: DisposableStore) => void): IDisposable;
|
|
7
|
+
export declare function runOnChangeWithCancellationToken<T, TChange>(observable: IObservableWithChange<T, TChange>, cb: (value: T, previousValue: T, deltas: RemoveUndefined<TChange>[], token: CancellationToken) => Promise<void>): IDisposable;
|