@raphy-js/raph 1.0.0-dev.2 → 1.0.1-dev.25
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 +1096 -0
- package/dist/api/Raph.d.ts +59 -190
- package/dist/api/RaphFacadeSession.d.ts +90 -0
- package/dist/api/RaphReactivityInstance.d.ts +72 -0
- package/dist/api/errors.d.ts +9 -4
- package/dist/api/types.d.ts +162 -17
- package/dist/core-CClhT8WR.js +1044 -0
- package/dist/core-cPQWYD4K.cjs +1 -0
- package/dist/debug/api/Raph.cjs +1 -1
- package/dist/debug/api/Raph.js +368 -367
- package/dist/debug/api/RaphFacadeSession.cjs +1 -0
- package/dist/debug/api/RaphFacadeSession.js +302 -0
- package/dist/debug/api/RaphReactivityInstance.cjs +1 -0
- package/dist/debug/api/RaphReactivityInstance.js +146 -0
- package/dist/debug/api/errors.cjs +1 -1
- package/dist/debug/api/errors.js +10 -7
- package/dist/debug/path/DataPath.cjs +1 -0
- package/dist/debug/path/DataPath.js +390 -0
- package/dist/debug/path/PathRouter.cjs +1 -0
- package/dist/debug/path/PathRouter.js +80 -0
- package/dist/debug/path/RaphKernel.cjs +1 -1
- package/dist/debug/path/RaphKernel.js +316 -236
- package/dist/debug/path/data-path.utils.cjs +1 -0
- package/dist/debug/path/data-path.utils.js +56 -0
- package/dist/debug/path/derived/DerivedRegistry.cjs +1 -0
- package/dist/debug/path/derived/DerivedRegistry.js +143 -0
- package/dist/debug/path/derived/RaphDerivedHandle.cjs +1 -0
- package/dist/debug/path/{RaphDerivedHandle.js → derived/RaphDerivedHandle.js} +19 -22
- package/dist/debug/path/derived/derived-collection.utils.cjs +1 -0
- package/dist/debug/path/{derived-collection.js → derived/derived-collection.utils.js} +71 -71
- package/dist/debug/path/derived/derived-strategy.types.cjs +1 -0
- package/dist/debug/path/derived/derived-strategy.types.js +1 -0
- package/dist/debug/path/meta/MetaController.cjs +1 -0
- package/dist/debug/path/{MetaController.js → meta/MetaController.js} +58 -66
- package/dist/debug/path/meta/RaphMeta.cjs +1 -0
- package/dist/debug/path/meta/RaphMeta.js +62 -0
- package/dist/debug/path/meta/RaphMetaStore.cjs +1 -0
- package/dist/debug/path/{RaphMetaStore.js → meta/RaphMetaStore.js} +24 -30
- package/dist/debug/path/meta/meta.types.cjs +1 -0
- package/dist/debug/path/meta/meta.types.js +1 -0
- package/dist/debug/path/storage/AdapterPathStore.cjs +1 -0
- package/dist/debug/path/storage/AdapterPathStore.js +128 -0
- package/dist/debug/path/storage/DefaultDataAdapter.cjs +1 -0
- package/dist/debug/path/{data-adapter.js → storage/DefaultDataAdapter.js} +47 -57
- package/dist/debug/path/storage/PathEventHub.cjs +1 -0
- package/dist/debug/path/storage/PathEventHub.js +161 -0
- package/dist/debug/path/storage/PathStore.cjs +1 -0
- package/dist/debug/path/{PathStore.js → storage/PathStore.js} +88 -98
- package/dist/debug/path/storage/createDataDraft.cjs +1 -0
- package/dist/debug/path/{data-draft.js → storage/createDataDraft.js} +24 -28
- package/dist/debug/path/storage/data-adapter.types.cjs +1 -0
- package/dist/debug/path/storage/data-adapter.types.js +1 -0
- package/dist/debug/reactivity/disposal.cjs +1 -0
- package/dist/debug/reactivity/disposal.js +32 -0
- package/dist/debug/reactivity/engine.cjs +1 -1
- package/dist/debug/reactivity/engine.js +888 -321
- package/dist/debug/reactivity/reactive-object.cjs +1 -0
- package/dist/debug/reactivity/reactive-object.js +265 -0
- package/dist/debug/reactivity/scope.cjs +1 -1
- package/dist/debug/reactivity/scope.js +221 -117
- package/dist/debug/reactivity/watch.cjs +1 -1
- package/dist/debug/reactivity/watch.js +1 -1
- package/dist/debug/runtime/RaphRuntime.cjs +1 -1
- package/dist/debug/runtime/RaphRuntime.js +1134 -502
- package/dist/debug/runtime/diagnostics/RaphDebug.cjs +1 -0
- package/dist/debug/runtime/diagnostics/RaphDebug.js +287 -0
- package/dist/debug/runtime/errors.cjs +1 -1
- package/dist/debug/runtime/errors.js +6 -3
- package/dist/debug/runtime/ownership/RaphEffectScope.cjs +1 -0
- package/dist/debug/runtime/ownership/RaphEffectScope.js +304 -0
- package/dist/debug/runtime/ownership/RaphNode.cjs +1 -0
- package/dist/debug/runtime/ownership/RaphNode.js +665 -0
- package/dist/debug/runtime/ownership/RaphScope.cjs +1 -0
- package/dist/debug/runtime/ownership/RaphScope.js +236 -0
- package/dist/debug/runtime/ownership/parent-graph.types.cjs +1 -0
- package/dist/debug/runtime/ownership/parent-graph.types.js +1 -0
- package/dist/debug/runtime/phases/RaphFrameLoop.cjs +1 -0
- package/dist/debug/runtime/{RaphFrameLoop.js → phases/RaphFrameLoop.js} +13 -17
- package/dist/debug/runtime/phases/RaphPhasePipeline.cjs +1 -0
- package/dist/debug/runtime/phases/RaphPhasePipeline.js +848 -0
- package/dist/debug/runtime/phases/RaphPhaseTaskRecord.cjs +1 -0
- package/dist/debug/runtime/phases/RaphPhaseTaskRecord.js +176 -0
- package/dist/debug/runtime/phases/RaphPhaseWatch.cjs +1 -0
- package/dist/debug/runtime/phases/RaphPhaseWatch.js +20 -0
- package/dist/debug/runtime/phases/orderPhaseTasks.cjs +1 -0
- package/dist/debug/runtime/phases/orderPhaseTasks.js +59 -0
- package/dist/debug/runtime/reactivity/PathHandle.cjs +1 -0
- package/dist/debug/runtime/reactivity/PathHandle.js +165 -0
- package/dist/debug/runtime/reactivity/RaphMetaSource.cjs +1 -0
- package/dist/debug/runtime/reactivity/RaphMetaSource.js +108 -0
- package/dist/debug/runtime/reactivity/RaphSelector.cjs +1 -0
- package/dist/debug/runtime/reactivity/RaphSelector.js +503 -0
- package/dist/debug/runtime/reactivity/RaphWorkGraph.cjs +1 -0
- package/dist/debug/runtime/reactivity/RaphWorkGraph.js +1157 -0
- package/dist/debug/runtime/reactivity/RuntimeReactivity.cjs +1 -0
- package/dist/debug/runtime/reactivity/RuntimeReactivity.js +550 -0
- package/dist/debug/runtime/reactivity/RuntimeWatch.cjs +1 -0
- package/dist/debug/runtime/reactivity/RuntimeWatch.js +77 -0
- package/dist/debug/runtime/reactivity/disposal-sweep.utils.cjs +1 -0
- package/dist/debug/runtime/reactivity/disposal-sweep.utils.js +42 -0
- package/dist/debug/runtime/reactivity/runtime-reactivity.types.cjs +1 -0
- package/dist/debug/runtime/reactivity/runtime-reactivity.types.js +1 -0
- package/dist/entrypoints/machine-testing.d.ts +2 -0
- package/dist/entrypoints/machine.d.ts +5 -0
- package/dist/entrypoints/path.d.ts +14 -0
- package/dist/entrypoints/reactivity.d.ts +1 -0
- package/dist/entrypoints/runtime.d.ts +18 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +46 -38
- package/dist/machine/compiler.d.ts +71 -0
- package/dist/machine/core.d.ts +50 -0
- package/dist/machine/persistence.d.ts +5 -0
- package/dist/machine/runtime.d.ts +4 -0
- package/dist/machine/testing.d.ts +43 -0
- package/dist/machine/types.d.ts +155 -0
- package/dist/machine-testing.cjs +1 -0
- package/dist/machine-testing.js +188 -0
- package/dist/machine.cjs +1 -0
- package/dist/machine.js +822 -0
- package/dist/main.d.ts +20 -0
- package/dist/path/{data-path.d.ts → DataPath.d.ts} +16 -40
- package/dist/path/{path-router.d.ts → PathRouter.d.ts} +1 -1
- package/dist/path/RaphKernel.d.ts +37 -10
- package/dist/path/data-path.types.d.ts +34 -0
- package/dist/path/data-path.utils.d.ts +9 -0
- package/dist/path/{DerivedRegistry.d.ts → derived/DerivedRegistry.d.ts} +2 -2
- package/dist/path/{RaphDerivedHandle.d.ts → derived/RaphDerivedHandle.d.ts} +3 -3
- package/dist/path/derived/derived-collection.types.d.ts +12 -0
- package/dist/path/{derived-collection.d.ts → derived/derived-collection.utils.d.ts} +3 -13
- package/dist/path/{derived-strategies.d.ts → derived/derived-strategy.types.d.ts} +0 -3
- package/dist/path/derived/derived-strategy.utils.d.ts +4 -0
- package/dist/path/{MetaController.d.ts → meta/MetaController.d.ts} +4 -4
- package/dist/path/{RaphMeta.d.ts → meta/RaphMeta.d.ts} +2 -2
- package/dist/path/{RaphMetaStore.d.ts → meta/RaphMetaStore.d.ts} +1 -1
- package/dist/path/{meta.types.d.ts → meta/meta.types.d.ts} +2 -4
- package/dist/path/path.types.d.ts +3 -2
- package/dist/path/{segment-key.d.ts → pathSegmentKey.d.ts} +1 -1
- package/dist/path/{AdapterPathStore.d.ts → storage/AdapterPathStore.d.ts} +4 -4
- package/dist/path/{data-adapter.d.ts → storage/DefaultDataAdapter.d.ts} +2 -17
- package/dist/path/storage/PathEventHub.d.ts +62 -0
- package/dist/path/{PathStore.d.ts → storage/PathStore.d.ts} +7 -7
- package/dist/path/storage/data-adapter.types.d.ts +17 -0
- package/dist/path.cjs +1 -1
- package/dist/path.js +16 -16
- package/dist/raph.cjs +1 -1
- package/dist/raph.js +46 -38
- package/dist/reactivity/disposal.d.ts +14 -0
- package/dist/reactivity/engine.d.ts +193 -6
- package/dist/reactivity/reactive-object.d.ts +36 -0
- package/dist/reactivity/scope.d.ts +108 -30
- package/dist/reactivity/types.d.ts +25 -0
- package/dist/reactivity.cjs +1 -1
- package/dist/reactivity.js +12 -12
- package/dist/runtime/RaphRuntime.d.ts +319 -160
- package/dist/runtime/diagnostics/RaphDebug.d.ts +239 -0
- package/dist/runtime/errors.d.ts +5 -0
- package/dist/runtime/ownership/RaphEffectScope.d.ts +98 -0
- package/dist/runtime/ownership/RaphNode.d.ts +310 -0
- package/dist/runtime/ownership/RaphScope.d.ts +168 -0
- package/dist/runtime/{parent-graph.d.ts → ownership/parent-graph.types.d.ts} +0 -1
- package/dist/runtime/ownership/parentGraph.d.ts +3 -0
- package/dist/runtime/phases/RaphPhasePipeline.d.ts +253 -0
- package/dist/runtime/phases/RaphPhaseTaskRecord.d.ts +195 -0
- package/dist/runtime/phases/RaphPhaseWatch.d.ts +22 -0
- package/dist/runtime/phases/orderPhaseTasks.d.ts +6 -0
- package/dist/runtime/phases/phase.types.d.ts +171 -0
- package/dist/runtime/{PathHandle.d.ts → reactivity/PathHandle.d.ts} +14 -6
- package/dist/runtime/reactivity/RaphMetaSource.d.ts +32 -0
- package/dist/runtime/reactivity/RaphSelector.d.ts +338 -0
- package/dist/runtime/reactivity/RaphWorkGraph.d.ts +309 -0
- package/dist/runtime/reactivity/RuntimeReactivity.d.ts +293 -0
- package/dist/runtime/{RuntimeWatch.d.ts → reactivity/RuntimeWatch.d.ts} +12 -6
- package/dist/runtime/reactivity/disposal-sweep.utils.d.ts +19 -0
- package/dist/runtime/reactivity/runtime-reactivity.types.d.ts +56 -0
- package/dist/runtime.cjs +1 -1
- package/dist/runtime.js +21 -16
- package/package.json +76 -35
- package/ReadMe.md +0 -153
- package/dist/api/public.d.ts +0 -22
- package/dist/debug/api/public.cjs +0 -1
- package/dist/debug/api/public.js +0 -40
- package/dist/debug/path/AdapterPathStore.cjs +0 -1
- package/dist/debug/path/AdapterPathStore.js +0 -133
- package/dist/debug/path/DerivedRegistry.cjs +0 -1
- package/dist/debug/path/DerivedRegistry.js +0 -157
- package/dist/debug/path/MetaController.cjs +0 -1
- package/dist/debug/path/PathEventHub.cjs +0 -1
- package/dist/debug/path/PathEventHub.js +0 -148
- package/dist/debug/path/PathStore.cjs +0 -1
- package/dist/debug/path/RaphDerivedHandle.cjs +0 -1
- package/dist/debug/path/RaphMeta.cjs +0 -1
- package/dist/debug/path/RaphMeta.js +0 -68
- package/dist/debug/path/RaphMetaStore.cjs +0 -1
- package/dist/debug/path/data-adapter.cjs +0 -1
- package/dist/debug/path/data-draft.cjs +0 -1
- package/dist/debug/path/data-path.cjs +0 -1
- package/dist/debug/path/data-path.js +0 -423
- package/dist/debug/path/derived-collection.cjs +0 -1
- package/dist/debug/path/path-router.cjs +0 -1
- package/dist/debug/path/path-router.js +0 -86
- package/dist/debug/path/public.cjs +0 -1
- package/dist/debug/path/public.js +0 -18
- package/dist/debug/runtime/PathHandle.cjs +0 -1
- package/dist/debug/runtime/PathHandle.js +0 -139
- package/dist/debug/runtime/RaphDebug.cjs +0 -1
- package/dist/debug/runtime/RaphDebug.js +0 -15
- package/dist/debug/runtime/RaphFrameLoop.cjs +0 -1
- package/dist/debug/runtime/RaphNode.cjs +0 -1
- package/dist/debug/runtime/RaphNode.js +0 -143
- package/dist/debug/runtime/RaphPhasePipeline.cjs +0 -1
- package/dist/debug/runtime/RaphPhasePipeline.js +0 -526
- package/dist/debug/runtime/RaphScope.cjs +0 -1
- package/dist/debug/runtime/RaphScope.js +0 -64
- package/dist/debug/runtime/RuntimeReactivity.cjs +0 -1
- package/dist/debug/runtime/RuntimeReactivity.js +0 -154
- package/dist/debug/runtime/RuntimeWatch.cjs +0 -1
- package/dist/debug/runtime/RuntimeWatch.js +0 -71
- package/dist/debug/runtime/public.cjs +0 -1
- package/dist/debug/runtime/public.js +0 -18
- package/dist/path/PathEventHub.d.ts +0 -48
- package/dist/path/public.d.ts +0 -14
- package/dist/runtime/RaphDebug.d.ts +0 -32
- package/dist/runtime/RaphNode.d.ts +0 -68
- package/dist/runtime/RaphPhasePipeline.d.ts +0 -133
- package/dist/runtime/RaphScope.d.ts +0 -50
- package/dist/runtime/RuntimeReactivity.d.ts +0 -40
- package/dist/runtime/phase.types.d.ts +0 -49
- package/dist/runtime/public.d.ts +0 -13
- package/dist/runtime/runtime-reactivity.types.d.ts +0 -9
- /package/dist/debug/path/{meta.types.cjs → data-path.types.cjs} +0 -0
- /package/dist/debug/path/{meta.types.js → data-path.types.js} +0 -0
- /package/dist/debug/{runtime/runtime-reactivity.types.cjs → path/derived/derived-collection.types.cjs} +0 -0
- /package/dist/debug/{runtime/runtime-reactivity.types.js → path/derived/derived-collection.types.js} +0 -0
- /package/dist/debug/path/{derived-strategies.cjs → derived/derived-strategy.utils.cjs} +0 -0
- /package/dist/debug/path/{derived-strategies.js → derived/derived-strategy.utils.js} +0 -0
- /package/dist/debug/path/{segment-key.cjs → pathSegmentKey.cjs} +0 -0
- /package/dist/debug/path/{segment-key.js → pathSegmentKey.js} +0 -0
- /package/dist/debug/runtime/{parent-graph.cjs → ownership/parentGraph.cjs} +0 -0
- /package/dist/debug/runtime/{parent-graph.js → ownership/parentGraph.js} +0 -0
- /package/dist/debug/runtime/{disposal.cjs → ownership/throwDisposalErrors.cjs} +0 -0
- /package/dist/debug/runtime/{disposal.js → ownership/throwDisposalErrors.js} +0 -0
- /package/dist/debug/runtime/{phase.types.cjs → phases/phase.types.cjs} +0 -0
- /package/dist/debug/runtime/{phase.types.js → phases/phase.types.js} +0 -0
- /package/dist/path/{data-draft.d.ts → storage/createDataDraft.d.ts} +0 -0
- /package/dist/runtime/{disposal.d.ts → ownership/throwDisposalErrors.d.ts} +0 -0
- /package/dist/runtime/{RaphFrameLoop.d.ts → phases/RaphFrameLoop.d.ts} +0 -0
package/dist/main.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { RaphCapabilityError, RaphConfigurationError, RaphDefaultInstanceError, RaphError, RaphFacadeDisposedError, } from './api/errors';
|
|
2
|
+
export { Raph } from './api/Raph';
|
|
3
|
+
export { RaphReactivityInstance } from './api/RaphReactivityInstance';
|
|
4
|
+
export type { ConfiguredRaph, RaphConfigureOptions, RaphFlatConfigureOptions, RaphInstance, RaphInstanceDefinition, RaphInstanceDefinitions, RaphInstanceMode, RaphInstancesConfigureOptions, RaphReactiveApi, RaphReactivityApi, RaphReactivityConfigureOptions, RaphReactivityInstanceDefinition, RaphReactivityInstanceOptions, RaphRuntimeApi, RaphRuntimeConfigureOptions, RaphRuntimeInstanceDefinition, StrictRaphConfigureOptions, } from './api/types';
|
|
5
|
+
export * from './entrypoints/runtime';
|
|
6
|
+
export type { DataPathParseOptions, PathScalar, PathSegment, PlainDataPath, } from './path/data-path.types';
|
|
7
|
+
export { DataPath } from './path/DataPath';
|
|
8
|
+
export type { DerivedCollectionByKeyStrategy, DerivedFilterByKeyStrategy, DerivedFullStrategy, DerivedStrategy, } from './path/derived/derived-strategy.types';
|
|
9
|
+
export { collectionByKey, filterByKey, full } from './path/derived/derived-strategy.utils';
|
|
10
|
+
export { RaphDerivedHandle, RaphDerivedTargetWriteError } from './path/derived/RaphDerivedHandle';
|
|
11
|
+
export type { DerivedOptions } from './path/derived/RaphDerivedHandle';
|
|
12
|
+
export type { RaphMetaApi, RaphMetaEvents, RaphMetaMutationCause, RaphMetaMutationEvent, RaphMetaMutationKind, RaphMetaReadOptions, RaphMetaWatchCallback, RaphMetaWatchOptions, RaphMetaWriteOptions, } from './path/meta/meta.types';
|
|
13
|
+
export { RaphMeta } from './path/meta/RaphMeta';
|
|
14
|
+
export type { DataPathDef, PathEvent, PathEvents, PathMutationKind, PathOptions, PathWatchCallback, } from './path/path.types';
|
|
15
|
+
export { RaphKernel } from './path/RaphKernel';
|
|
16
|
+
export type { RaphKernelOptions, RaphKernelRoot, RaphKernelRuntime, } from './path/RaphKernel';
|
|
17
|
+
export type { DataAdapter, DataObject, DefaultAdapterOptions, } from './path/storage/data-adapter.types';
|
|
18
|
+
export { DefaultDataAdapter } from './path/storage/DefaultDataAdapter';
|
|
19
|
+
export type { Disposer, ReadonlySignal, Signal, WatchOptions, WatchSource, WatchValue, WritableComputedOptions, } from './reactivity/types';
|
|
20
|
+
export type PhaseName = string;
|
|
@@ -1,37 +1,5 @@
|
|
|
1
|
+
import { DataPathParseOptions, ParsedDataPath, ParsedPathMask, PathSegment, PlainDataPath } from './data-path.types';
|
|
1
2
|
import { DataPathDef, PathOptions } from './path.types';
|
|
2
|
-
export type PathScalar = string | number | boolean | null;
|
|
3
|
-
export type PathSegment = {
|
|
4
|
-
readonly kind: 'key';
|
|
5
|
-
readonly key: string;
|
|
6
|
-
} | {
|
|
7
|
-
readonly kind: 'index';
|
|
8
|
-
readonly index: number;
|
|
9
|
-
} | {
|
|
10
|
-
readonly kind: 'selector';
|
|
11
|
-
readonly key: string;
|
|
12
|
-
readonly value: PathScalar;
|
|
13
|
-
} | {
|
|
14
|
-
readonly kind: 'wildcard';
|
|
15
|
-
readonly indexed: boolean;
|
|
16
|
-
};
|
|
17
|
-
export interface ParsedDataPath {
|
|
18
|
-
readonly canonical: string;
|
|
19
|
-
readonly segments: readonly Exclude<PathSegment, {
|
|
20
|
-
kind: 'wildcard';
|
|
21
|
-
}>[];
|
|
22
|
-
}
|
|
23
|
-
export interface ParsedPathMask {
|
|
24
|
-
readonly canonical: string;
|
|
25
|
-
readonly deep: boolean;
|
|
26
|
-
readonly segments: readonly PathSegment[];
|
|
27
|
-
}
|
|
28
|
-
export interface DataPathParseOptions extends PathOptions {
|
|
29
|
-
readonly wildcardDynamic?: boolean;
|
|
30
|
-
}
|
|
31
|
-
export interface PlainDataPath {
|
|
32
|
-
readonly deepOnTail?: boolean;
|
|
33
|
-
readonly segs: readonly unknown[];
|
|
34
|
-
}
|
|
35
3
|
/**
|
|
36
4
|
* Неизменяемый публичный value object строгой E2 path grammar.
|
|
37
5
|
*/
|
|
@@ -57,6 +25,21 @@ export declare class DataPath {
|
|
|
57
25
|
* Восстанавливает DataPath из сериализованного представления.
|
|
58
26
|
*/
|
|
59
27
|
static fromPlain(plain: PlainDataPath): DataPath;
|
|
28
|
+
/**
|
|
29
|
+
* Разбирает строку exact path без создания публичного value object.
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
static _parseExactString(path: string, options?: PathOptions): ParsedDataPath;
|
|
33
|
+
/**
|
|
34
|
+
* Разбирает строку path mask без создания публичного value object.
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
static _parseMaskString(mask: string): ParsedPathMask;
|
|
38
|
+
/**
|
|
39
|
+
* Формирует canonical path из уже проверенных сегментов.
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
static _renderSegments(segments: readonly PathSegment[]): string;
|
|
60
43
|
/**
|
|
61
44
|
* Сериализует path в независимое plain-представление.
|
|
62
45
|
*/
|
|
@@ -88,10 +71,3 @@ export declare class DataPath {
|
|
|
88
71
|
*/
|
|
89
72
|
_asMask(): ParsedPathMask;
|
|
90
73
|
}
|
|
91
|
-
export declare function parseDataPath(path: DataPathDef, options?: PathOptions): ParsedDataPath;
|
|
92
|
-
export declare function parsePathMask(mask: DataPathDef): ParsedPathMask;
|
|
93
|
-
/**
|
|
94
|
-
* Формирует masks для публикации всех отношений exact path.
|
|
95
|
-
* @internal
|
|
96
|
-
*/
|
|
97
|
-
export declare function pathRelationMasks(path: ParsedDataPath): readonly string[];
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RaphMetaEvents, RaphMetaReadOptions, RaphMetaWatchOptions, RaphMetaWriteOptions } from './meta.types';
|
|
1
|
+
import { DerivedOptions, RaphDerivedHandle } from './derived/RaphDerivedHandle';
|
|
2
|
+
import { RaphMetaEvents, RaphMetaReadOptions, RaphMetaWatchOptions, RaphMetaWriteOptions } from './meta/meta.types';
|
|
3
|
+
import { RaphMeta } from './meta/RaphMeta';
|
|
3
4
|
import { DataPathDef, PathOptions, PathWatchCallback } from './path.types';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
5
|
+
import { DataAdapter, DataObject, DefaultAdapterOptions } from './storage/data-adapter.types';
|
|
6
|
+
import { PathEventHub } from './storage/PathEventHub';
|
|
6
7
|
export type RaphKernelRoot = DataObject;
|
|
7
8
|
export interface RaphKernelOptions {
|
|
8
9
|
readonly id?: string;
|
|
@@ -12,8 +13,8 @@ export interface RaphKernelOptions {
|
|
|
12
13
|
}
|
|
13
14
|
export interface RaphKernelRuntime {
|
|
14
15
|
dispose: () => void;
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
_beginKernelBatch?: () => void;
|
|
17
|
+
_endKernelBatch?: () => void;
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
19
20
|
* Независимый владелец одного path data-plane без signal/runtime state.
|
|
@@ -25,7 +26,10 @@ export declare class RaphKernel {
|
|
|
25
26
|
private _derivedController;
|
|
26
27
|
private _runtimes;
|
|
27
28
|
private _metaController;
|
|
28
|
-
private
|
|
29
|
+
private _soleRuntime;
|
|
30
|
+
private _pathBatch;
|
|
31
|
+
private _batchDepth;
|
|
32
|
+
private _runtimeMutationDepth;
|
|
29
33
|
private _stabilizing;
|
|
30
34
|
private _derivedWriteDepth;
|
|
31
35
|
/**
|
|
@@ -82,9 +86,30 @@ export declare class RaphKernel {
|
|
|
82
86
|
*/
|
|
83
87
|
delete(path: DataPathDef, options?: PathOptions): void;
|
|
84
88
|
/**
|
|
85
|
-
* Выполняет операцию в общей синхронной
|
|
89
|
+
* Выполняет операцию в общей синхронной batch boundary.
|
|
86
90
|
*/
|
|
87
|
-
|
|
91
|
+
batch<T>(operation: () => T): T;
|
|
92
|
+
/**
|
|
93
|
+
* Открывает то же, что `batch()`, для единственного присоединённого Runtime
|
|
94
|
+
* без closure операции и без массивов: границу этого Runtime и path batch.
|
|
95
|
+
* Возвращает владельца path batch, которого вызывающий передаёт в
|
|
96
|
+
* `_closeSoleRuntimeBatch()` после операции.
|
|
97
|
+
*
|
|
98
|
+
* Возвращает `undefined` и ничего не открывает в любом другом состоянии:
|
|
99
|
+
* Kernel разделяют несколько Runtime, граница Runtime уже открыта, есть
|
|
100
|
+
* derived handles либо metadata watchers, store построен над adapter. Тогда
|
|
101
|
+
* вызывающий исполняет `batch()`. Состояние читается при входе, как в
|
|
102
|
+
* `batch()`: то, что появилось во время операции, выход не меняет.
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
_openSoleRuntimeBatch(runtime: RaphKernelRuntime): PathEventHub | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* Закрывает границу, открытую `_openSoleRuntimeBatch()`, в порядке `batch()`:
|
|
108
|
+
* публикация path events, затем граница Runtime. Бросает то же, что бросил бы
|
|
109
|
+
* `batch()` с этой операцией; после успешного выхода возвращает управление.
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
_closeSoleRuntimeBatch(runtime: RaphKernelRuntime, hub: PathEventHub, operationFailed: boolean, operationError: unknown): void;
|
|
88
113
|
/**
|
|
89
114
|
* Подписывает callback на подходящие изменения и возвращает disposer.
|
|
90
115
|
*/
|
|
@@ -144,10 +169,12 @@ export declare class RaphKernel {
|
|
|
144
169
|
_removeDerived(handle: RaphDerivedHandle<any, any>): void;
|
|
145
170
|
private get _store();
|
|
146
171
|
private get _metadata();
|
|
172
|
+
/** Keeps every attached Runtime quiescent until one Kernel publication completes. */
|
|
173
|
+
private _withAttachedRuntimeBoundary;
|
|
147
174
|
private _assertWritablePath;
|
|
148
175
|
private _writeDerivedTarget;
|
|
149
176
|
private _mutateDerived;
|
|
150
|
-
private
|
|
177
|
+
private _runDerivedBatch;
|
|
151
178
|
private _mutateWithMetaLifecycle;
|
|
152
179
|
private _pruneMissingMetaOwners;
|
|
153
180
|
private _metaPath;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { PathOptions } from './path.types';
|
|
2
|
+
export type PathScalar = string | number | boolean | null;
|
|
3
|
+
export type PathSegment = {
|
|
4
|
+
readonly kind: 'key';
|
|
5
|
+
readonly key: string;
|
|
6
|
+
} | {
|
|
7
|
+
readonly kind: 'index';
|
|
8
|
+
readonly index: number;
|
|
9
|
+
} | {
|
|
10
|
+
readonly kind: 'selector';
|
|
11
|
+
readonly key: string;
|
|
12
|
+
readonly value: PathScalar;
|
|
13
|
+
} | {
|
|
14
|
+
readonly kind: 'wildcard';
|
|
15
|
+
readonly indexed: boolean;
|
|
16
|
+
};
|
|
17
|
+
export interface ParsedDataPath {
|
|
18
|
+
readonly canonical: string;
|
|
19
|
+
readonly segments: readonly Exclude<PathSegment, {
|
|
20
|
+
kind: 'wildcard';
|
|
21
|
+
}>[];
|
|
22
|
+
}
|
|
23
|
+
export interface ParsedPathMask {
|
|
24
|
+
readonly canonical: string;
|
|
25
|
+
readonly deep: boolean;
|
|
26
|
+
readonly segments: readonly PathSegment[];
|
|
27
|
+
}
|
|
28
|
+
export interface DataPathParseOptions extends PathOptions {
|
|
29
|
+
readonly wildcardDynamic?: boolean;
|
|
30
|
+
}
|
|
31
|
+
export interface PlainDataPath {
|
|
32
|
+
readonly deepOnTail?: boolean;
|
|
33
|
+
readonly segs: readonly unknown[];
|
|
34
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ParsedDataPath, ParsedPathMask } from './data-path.types';
|
|
2
|
+
import { DataPathDef, PathOptions } from './path.types';
|
|
3
|
+
export declare function parseDataPath(path: DataPathDef, options?: PathOptions): ParsedDataPath;
|
|
4
|
+
export declare function parsePathMask(mask: DataPathDef): ParsedPathMask;
|
|
5
|
+
/**
|
|
6
|
+
* Формирует masks для публикации всех отношений exact path.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare function pathRelationMasks(path: ParsedDataPath): readonly string[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ParsedDataPath } from '
|
|
2
|
-
import { CollectionDerivedState, DerivedCollectionKey } from './derived-collection';
|
|
1
|
+
import { ParsedDataPath } from '../data-path.types';
|
|
2
|
+
import { CollectionDerivedState, DerivedCollectionKey } from './derived-collection.types';
|
|
3
3
|
import { RaphDerivedHandle } from './RaphDerivedHandle';
|
|
4
4
|
/**
|
|
5
5
|
* Владеет регистрациями, routes и pending-state materialized derived.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { DataPathDef } from '../path.types';
|
|
2
|
+
import { RaphKernel } from '../RaphKernel';
|
|
3
|
+
import { DerivedStrategy } from './derived-strategy.types';
|
|
4
4
|
/**
|
|
5
5
|
* Сообщает о прямой записи в target, которым владеет derived-вычисление.
|
|
6
6
|
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ParsedDataPath } from '../data-path.types';
|
|
2
|
+
export type DerivedCollectionKey = string | number;
|
|
3
|
+
export interface CollectionDerivedState {
|
|
4
|
+
readonly from: ParsedDataPath;
|
|
5
|
+
readonly kind: 'collection-by-key' | 'filter-by-key';
|
|
6
|
+
readonly key: string;
|
|
7
|
+
initialized: boolean;
|
|
8
|
+
full: boolean;
|
|
9
|
+
readonly keys: Set<DerivedCollectionKey>;
|
|
10
|
+
sourceIndex: Map<DerivedCollectionKey, number> | undefined;
|
|
11
|
+
targetIndex: Map<DerivedCollectionKey, number> | undefined;
|
|
12
|
+
}
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
import { ParsedDataPath } from '
|
|
2
|
-
import { DataPathDef } from '
|
|
3
|
-
|
|
4
|
-
export interface CollectionDerivedState {
|
|
5
|
-
readonly from: ParsedDataPath;
|
|
6
|
-
readonly kind: 'collection-by-key' | 'filter-by-key';
|
|
7
|
-
readonly key: string;
|
|
8
|
-
initialized: boolean;
|
|
9
|
-
full: boolean;
|
|
10
|
-
readonly keys: Set<DerivedCollectionKey>;
|
|
11
|
-
sourceIndex: Map<DerivedCollectionKey, number> | undefined;
|
|
12
|
-
targetIndex: Map<DerivedCollectionKey, number> | undefined;
|
|
13
|
-
}
|
|
1
|
+
import { ParsedDataPath } from '../data-path.types';
|
|
2
|
+
import { DataPathDef } from '../path.types';
|
|
3
|
+
import { DerivedCollectionKey } from './derived-collection.types';
|
|
14
4
|
export declare function collectionMutationImpact(source: ParsedDataPath, keyField: string, mutation: ParsedDataPath): {
|
|
15
5
|
readonly kind: 'full';
|
|
16
6
|
} | {
|
|
@@ -10,6 +10,3 @@ export interface DerivedFilterByKeyStrategy {
|
|
|
10
10
|
readonly key: string;
|
|
11
11
|
}
|
|
12
12
|
export type DerivedStrategy = DerivedFullStrategy | DerivedCollectionByKeyStrategy | DerivedFilterByKeyStrategy;
|
|
13
|
-
export declare function full(): DerivedFullStrategy;
|
|
14
|
-
export declare function collectionByKey(key: string): DerivedCollectionByKeyStrategy;
|
|
15
|
-
export declare function filterByKey(key: string): DerivedFilterByKeyStrategy;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { DerivedCollectionByKeyStrategy, DerivedFilterByKeyStrategy, DerivedFullStrategy } from './derived-strategy.types';
|
|
2
|
+
export declare function full(): DerivedFullStrategy;
|
|
3
|
+
export declare function collectionByKey(key: string): DerivedCollectionByKeyStrategy;
|
|
4
|
+
export declare function filterByKey(key: string): DerivedFilterByKeyStrategy;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { DataPathDef } from '../path.types';
|
|
2
|
+
import { RaphKernel } from '../RaphKernel';
|
|
1
3
|
import { RaphMetaEvents, RaphMetaMutationCause, RaphMetaMutationEvent, RaphMetaWatchOptions, RaphMetaWriteOptions } from './meta.types';
|
|
2
|
-
import {
|
|
3
|
-
import { RaphKernel } from './RaphKernel';
|
|
4
|
-
import { DataPath } from './data-path';
|
|
4
|
+
import { DataPath } from '../DataPath';
|
|
5
5
|
import { RaphMeta } from './RaphMeta';
|
|
6
6
|
/**
|
|
7
7
|
* Владеет metadata storage, routing и пакетной публикацией.
|
|
@@ -71,7 +71,7 @@ export declare class MetaController {
|
|
|
71
71
|
*/
|
|
72
72
|
watch(maskOrMasks: DataPathDef | readonly DataPathDef[], callback: (payload: RaphMetaEvents) => void, options?: RaphMetaWatchOptions, afterPublish?: (invalidate: boolean) => void): () => void;
|
|
73
73
|
/**
|
|
74
|
-
* Добавляет событие в текущую
|
|
74
|
+
* Добавляет событие в текущую batch либо публикует его сразу.
|
|
75
75
|
*/
|
|
76
76
|
record(kind: RaphMetaMutationEvent['kind'], path: DataPath, namespace: string | null, cause: RaphMetaMutationCause, options?: RaphMetaWriteOptions): void;
|
|
77
77
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { DataPathDef } from '../path.types';
|
|
2
|
+
import { RaphKernel } from '../RaphKernel';
|
|
1
3
|
import { RaphMetaApi, RaphMetaReadOptions, RaphMetaWatchCallback, RaphMetaWatchOptions, RaphMetaWriteOptions } from './meta.types';
|
|
2
|
-
import { DataPathDef } from './path.types';
|
|
3
|
-
import { RaphKernel } from './RaphKernel';
|
|
4
4
|
export interface RaphMetaBinding {
|
|
5
5
|
readonly assertReadable?: () => void;
|
|
6
6
|
readonly assertWritable?: () => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DataPath } from '
|
|
2
|
-
import { DataPathDef, PathOptions } from '
|
|
1
|
+
import { DataPath } from '../DataPath';
|
|
2
|
+
import { DataPathDef, PathOptions } from '../path.types';
|
|
3
3
|
export type RaphMetaMutationKind = 'set' | 'merge' | 'delete';
|
|
4
4
|
export type RaphMetaMutationCause = 'explicit' | 'owner-delete' | 'owner-replaced';
|
|
5
5
|
export interface RaphMetaMutationEvent {
|
|
@@ -19,8 +19,6 @@ export interface RaphMetaWriteOptions extends RaphMetaReadOptions {
|
|
|
19
19
|
export interface RaphMetaWatchOptions extends RaphMetaReadOptions {
|
|
20
20
|
readonly namespace?: string;
|
|
21
21
|
readonly wildcardDynamic?: boolean;
|
|
22
|
-
readonly phase?: string;
|
|
23
|
-
readonly priority?: number;
|
|
24
22
|
}
|
|
25
23
|
export type RaphMetaWatchCallback = (payload: RaphMetaEvents) => void | (() => void);
|
|
26
24
|
export interface RaphMetaApi {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PlainDataPath } from './data-path.types';
|
|
2
|
+
import { DataPath } from './DataPath';
|
|
2
3
|
export type DataPathDef = string | DataPath | PlainDataPath;
|
|
3
4
|
export interface PathOptions {
|
|
4
5
|
readonly vars?: Readonly<Record<string, unknown>>;
|
|
@@ -21,6 +22,6 @@ export interface PathApi {
|
|
|
21
22
|
set: <T>(path: DataPathDef, value: T, options?: PathOptions) => void;
|
|
22
23
|
merge: (path: DataPathDef, value: unknown, options?: PathOptions) => void;
|
|
23
24
|
delete: (path: DataPathDef, options?: PathOptions) => void;
|
|
24
|
-
|
|
25
|
+
batch: <T>(operation: () => T) => T;
|
|
25
26
|
watch: (masks: DataPathDef | readonly DataPathDef[], callback: PathWatchCallback) => () => void;
|
|
26
27
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { PathSegment } from './data-path';
|
|
1
|
+
import { PathSegment } from './data-path.types';
|
|
2
2
|
export declare function pathSegmentKey(segment: PathSegment): string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { DataPathDef, PathOptions, PathWatchCallback } from '../path.types';
|
|
2
|
+
import { DataAdapter } from './data-adapter.types';
|
|
3
3
|
/**
|
|
4
4
|
* Связывает events и watchers только для Kernel поверх внешнего DataAdapter.
|
|
5
5
|
*/
|
|
@@ -35,9 +35,9 @@ export declare class AdapterPathStore {
|
|
|
35
35
|
*/
|
|
36
36
|
delete(path: DataPathDef, options?: PathOptions): void;
|
|
37
37
|
/**
|
|
38
|
-
* Выполняет операцию в общей синхронной
|
|
38
|
+
* Выполняет операцию в общей синхронной batch boundary.
|
|
39
39
|
*/
|
|
40
|
-
|
|
40
|
+
batch<T>(operation: () => T): T;
|
|
41
41
|
/**
|
|
42
42
|
* Подписывает callback на подходящие изменения и возвращает disposer.
|
|
43
43
|
*/
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
import { DataPathDef, PathOptions } from '
|
|
2
|
-
|
|
3
|
-
export interface DataAdapter {
|
|
4
|
-
root: () => DataObject;
|
|
5
|
-
has?: (path: DataPathDef, options?: PathOptions) => boolean;
|
|
6
|
-
get: (path: DataPathDef, options?: PathOptions) => unknown;
|
|
7
|
-
set: (path: DataPathDef, value: unknown, options?: PathOptions) => void;
|
|
8
|
-
delete: (path: DataPathDef, options?: PathOptions) => void;
|
|
9
|
-
merge: (path: DataPathDef, value: unknown, options?: PathOptions) => void;
|
|
10
|
-
indexOf?: (path: DataPathDef, options?: PathOptions) => number;
|
|
11
|
-
}
|
|
12
|
-
export interface DefaultAdapterOptions {
|
|
13
|
-
readonly arrayDelete?: 'splice' | 'unset';
|
|
14
|
-
readonly autoCreate?: boolean;
|
|
15
|
-
readonly indexEnabled?: boolean;
|
|
16
|
-
readonly indexStrategy?: 'lazy-key' | 'eager-all-keys';
|
|
17
|
-
}
|
|
1
|
+
import { DataPathDef, PathOptions } from '../path.types';
|
|
2
|
+
import { DataAdapter, DataObject, DefaultAdapterOptions } from './data-adapter.types';
|
|
18
3
|
/**
|
|
19
4
|
* Настраиваемый in-memory adapter, включаемый явно.
|
|
20
5
|
* Kernel без опций продолжает работать напрямую через PathStore без дополнительной ветки.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { DataPathDef, PathEvent, PathWatchCallback } from '../path.types';
|
|
2
|
+
/**
|
|
3
|
+
* Общий dormant event/watch lifecycle для встроенного и adapter path-store.
|
|
4
|
+
*/
|
|
5
|
+
export declare class PathEventHub {
|
|
6
|
+
private readonly _batchErrorMessage;
|
|
7
|
+
private _router;
|
|
8
|
+
private _events;
|
|
9
|
+
private _batchDepth;
|
|
10
|
+
private _watcherCount;
|
|
11
|
+
private _publishing;
|
|
12
|
+
/**
|
|
13
|
+
* Создаёт общий batch и publication boundary для path store.
|
|
14
|
+
*/
|
|
15
|
+
constructor(_batchErrorMessage: string);
|
|
16
|
+
/**
|
|
17
|
+
* Показывает, есть ли watchers, ради которых нужно сохранять значения событий.
|
|
18
|
+
*/
|
|
19
|
+
get hasWatchers(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Возвращает накопленные события текущей batch.
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
get events(): readonly PathEvent[] | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Возвращает внутренний path router для диагностики store.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
get router(): unknown;
|
|
30
|
+
/**
|
|
31
|
+
* Возвращает число активных watchers.
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
get watcherCount(): number;
|
|
35
|
+
/**
|
|
36
|
+
* Добавляет событие в текущую batch либо публикует его сразу.
|
|
37
|
+
*/
|
|
38
|
+
record(event: PathEvent): void;
|
|
39
|
+
/**
|
|
40
|
+
* Выполняет операцию в общей синхронной batch boundary.
|
|
41
|
+
*/
|
|
42
|
+
batch<T>(operation: () => T): T;
|
|
43
|
+
/**
|
|
44
|
+
* Открывает batch boundary без closure операции: вызывающий сам исполняет
|
|
45
|
+
* операцию и закрывает boundary через `_closeBatch()`.
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
_openBatch(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Закрывает один уровень batch boundary: на внешнем уровне публикует
|
|
51
|
+
* накопленные события. Бросает то же, что `batch()`: ошибку операции, ошибку
|
|
52
|
+
* публикации либо обе в AggregateError; после успешной операции и публикации
|
|
53
|
+
* возвращает управление.
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
_closeBatch(operationFailed: boolean, operationError: unknown): void;
|
|
57
|
+
/**
|
|
58
|
+
* Подписывает callback на подходящие изменения и возвращает disposer.
|
|
59
|
+
*/
|
|
60
|
+
watch(maskOrMasks: DataPathDef | readonly DataPathDef[], callback: PathWatchCallback): () => void;
|
|
61
|
+
private _publish;
|
|
62
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DataPathDef, PathApi, PathOptions, PathWatchCallback } from '
|
|
1
|
+
import { DataPathDef, PathApi, PathOptions, PathWatchCallback } from '../path.types';
|
|
2
|
+
import { PathEventHub } from './PathEventHub';
|
|
2
3
|
/**
|
|
3
4
|
* Владеет одним независимым path-root, mutation log и watch-router.
|
|
4
5
|
*/
|
|
@@ -6,12 +7,11 @@ export declare class PathStore implements PathApi {
|
|
|
6
7
|
private _root;
|
|
7
8
|
private readonly _eventHub;
|
|
8
9
|
/**
|
|
9
|
-
* Возвращает
|
|
10
|
+
* Возвращает владельца batch boundary этого store: Kernel открывает и
|
|
11
|
+
* закрывает её без closure операции.
|
|
10
12
|
* @internal
|
|
11
13
|
*/
|
|
12
|
-
|
|
13
|
-
private get _events();
|
|
14
|
-
private get _watcherCount();
|
|
14
|
+
get _batchHub(): PathEventHub;
|
|
15
15
|
/**
|
|
16
16
|
* Возвращает значение по пути без создания отсутствующих данных.
|
|
17
17
|
*/
|
|
@@ -37,9 +37,9 @@ export declare class PathStore implements PathApi {
|
|
|
37
37
|
*/
|
|
38
38
|
delete(path: DataPathDef, options?: PathOptions): void;
|
|
39
39
|
/**
|
|
40
|
-
* Выполняет операцию в общей синхронной
|
|
40
|
+
* Выполняет операцию в общей синхронной batch boundary.
|
|
41
41
|
*/
|
|
42
|
-
|
|
42
|
+
batch<T>(operation: () => T): T;
|
|
43
43
|
/**
|
|
44
44
|
* Подписывает callback на подходящие изменения и возвращает disposer.
|
|
45
45
|
*/
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DataPathDef, PathOptions } from '../path.types';
|
|
2
|
+
export type DataObject = Record<string, unknown> | unknown[];
|
|
3
|
+
export interface DataAdapter {
|
|
4
|
+
root: () => DataObject;
|
|
5
|
+
has?: (path: DataPathDef, options?: PathOptions) => boolean;
|
|
6
|
+
get: (path: DataPathDef, options?: PathOptions) => unknown;
|
|
7
|
+
set: (path: DataPathDef, value: unknown, options?: PathOptions) => void;
|
|
8
|
+
delete: (path: DataPathDef, options?: PathOptions) => void;
|
|
9
|
+
merge: (path: DataPathDef, value: unknown, options?: PathOptions) => void;
|
|
10
|
+
indexOf?: (path: DataPathDef, options?: PathOptions) => number;
|
|
11
|
+
}
|
|
12
|
+
export interface DefaultAdapterOptions {
|
|
13
|
+
readonly arrayDelete?: 'splice' | 'unset';
|
|
14
|
+
readonly autoCreate?: boolean;
|
|
15
|
+
readonly indexEnabled?: boolean;
|
|
16
|
+
readonly indexStrategy?: 'lazy-key' | 'eager-all-keys';
|
|
17
|
+
}
|
package/dist/path.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./debug/path/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./debug/path/DataPath.cjs"),e=require("./debug/path/derived/derived-strategy.utils.cjs"),a=require("./debug/path/derived/RaphDerivedHandle.cjs"),r=require("./debug/path/meta/RaphMeta.cjs"),d=require("./debug/path/RaphKernel.cjs"),l=require("./debug/path/storage/DefaultDataAdapter.cjs"),u=require("./debug/path/storage/PathStore.cjs");exports.DataPath=t.DataPath;exports.collectionByKey=e.collectionByKey;exports.filterByKey=e.filterByKey;exports.full=e.full;exports.RaphDerivedHandle=a.RaphDerivedHandle;exports.RaphMeta=r.RaphMeta;exports.RaphKernel=d.RaphKernel;exports.DefaultDataAdapter=l.DefaultDataAdapter;exports.PathStore=u.PathStore;
|
package/dist/path.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { DataPath as o } from "./debug/path/DataPath.js";
|
|
2
|
+
import { collectionByKey as a, filterByKey as p, full as f } from "./debug/path/derived/derived-strategy.utils.js";
|
|
3
|
+
import { RaphDerivedHandle as m } from "./debug/path/derived/RaphDerivedHandle.js";
|
|
4
|
+
import { RaphMeta as h } from "./debug/path/meta/RaphMeta.js";
|
|
5
|
+
import { RaphKernel as D } from "./debug/path/RaphKernel.js";
|
|
6
|
+
import { DefaultDataAdapter as i } from "./debug/path/storage/DefaultDataAdapter.js";
|
|
7
|
+
import { PathStore as K } from "./debug/path/storage/PathStore.js";
|
|
8
8
|
export {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
o as DataPath,
|
|
10
|
+
i as DefaultDataAdapter,
|
|
11
|
+
K as PathStore,
|
|
12
|
+
m as RaphDerivedHandle,
|
|
13
|
+
D as RaphKernel,
|
|
14
|
+
h as RaphMeta,
|
|
15
|
+
a as collectionByKey,
|
|
16
|
+
p as filterByKey,
|
|
17
|
+
f as full
|
|
18
18
|
};
|
package/dist/raph.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./debug/api/errors.cjs"),p=require("./debug/api/Raph.cjs"),i=require("./debug/api/RaphReactivityInstance.cjs"),r=require("./debug/runtime/errors.cjs"),o=require("./debug/runtime/ownership/parentGraph.cjs"),h=require("./debug/runtime/ownership/RaphEffectScope.cjs"),n=require("./debug/runtime/ownership/RaphNode.cjs"),s=require("./debug/runtime/ownership/RaphScope.cjs"),u=require("./debug/runtime/phases/orderPhaseTasks.cjs"),R=require("./debug/runtime/phases/phase.types.cjs"),d=require("./debug/runtime/RaphRuntime.cjs"),c=require("./debug/runtime/reactivity/PathHandle.cjs"),_=require("./debug/path/DataPath.cjs"),a=require("./debug/path/derived/derived-strategy.utils.cjs"),t=require("./debug/path/derived/RaphDerivedHandle.cjs"),l=require("./debug/path/meta/RaphMeta.cjs"),g=require("./debug/path/RaphKernel.cjs"),E=require("./debug/path/storage/DefaultDataAdapter.cjs");exports.RaphCapabilityError=e.RaphCapabilityError;exports.RaphConfigurationError=e.RaphConfigurationError;exports.RaphDefaultInstanceError=e.RaphDefaultInstanceError;exports.RaphError=e.RaphError;exports.RaphFacadeDisposedError=e.RaphFacadeDisposedError;exports.Raph=p.Raph;exports.RaphReactivityInstance=i.RaphReactivityInstance;exports.RaphActionError=r.RaphActionError;exports.RaphCrossRuntimeError=r.RaphCrossRuntimeError;exports.RaphDisposedError=r.RaphDisposedError;exports.RaphPhaseProcessError=r.RaphPhaseProcessError;exports.parentGraph=o.parentGraph;exports.RaphEffectScope=h.RaphEffectScope;exports.RaphNode=n.RaphNode;exports.RaphScope=s.RaphScope;exports.orderPhaseTasks=u.orderPhaseTasks;exports.RaphSchedulerType=R.RaphSchedulerType;exports.RaphRuntime=d.RaphRuntime;exports.PathHandle=c.PathHandle;exports.DataPath=_.DataPath;exports.collectionByKey=a.collectionByKey;exports.filterByKey=a.filterByKey;exports.full=a.full;exports.RaphDerivedHandle=t.RaphDerivedHandle;exports.RaphDerivedTargetWriteError=t.RaphDerivedTargetWriteError;exports.RaphMeta=l.RaphMeta;exports.RaphKernel=g.RaphKernel;exports.DefaultDataAdapter=E.DefaultDataAdapter;
|