@texaryn/core 0.13.0 → 0.15.0
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/CHANGELOG.md +15 -0
- package/README.md +8 -3
- package/dist/commands/handler.d.ts.map +1 -1
- package/dist/commands/handler.js +52 -4
- package/dist/commands/handler.js.map +1 -1
- package/dist/commands/types.d.ts +5 -1
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ir/compiler.js +1 -0
- package/dist/ir/compiler.js.map +1 -1
- package/dist/ir/index.d.ts +1 -1
- package/dist/ir/index.d.ts.map +1 -1
- package/dist/ir/index.js.map +1 -1
- package/dist/ir/runtime-state.d.ts +4 -0
- package/dist/ir/runtime-state.d.ts.map +1 -1
- package/dist/ir/types.d.ts +53 -5
- package/dist/ir/types.d.ts.map +1 -1
- package/dist/messages/english.d.ts +1 -1
- package/dist/messages/english.d.ts.map +1 -1
- package/dist/messages/english.js +10 -0
- package/dist/messages/english.js.map +1 -1
- package/dist/messages/index.d.ts +1 -1
- package/dist/messages/index.d.ts.map +1 -1
- package/dist/messages/index.js.map +1 -1
- package/dist/messages/types.d.ts +9 -0
- package/dist/messages/types.d.ts.map +1 -1
- package/dist/renderer/registry.d.ts +2 -1
- package/dist/renderer/registry.d.ts.map +1 -1
- package/dist/renderer/registry.js.map +1 -1
- package/dist/renderer/types.d.ts +7 -7
- package/dist/renderer/types.d.ts.map +1 -1
- package/dist/runtime/document-limits.d.ts +19 -0
- package/dist/runtime/document-limits.d.ts.map +1 -0
- package/dist/runtime/document-limits.js +170 -0
- package/dist/runtime/document-limits.js.map +1 -0
- package/dist/runtime/document-runtime-control.d.ts +18 -0
- package/dist/runtime/document-runtime-control.d.ts.map +1 -0
- package/dist/runtime/document-runtime-control.js +11 -0
- package/dist/runtime/document-runtime-control.js.map +1 -0
- package/dist/runtime/document-runtime.d.ts +7 -0
- package/dist/runtime/document-runtime.d.ts.map +1 -0
- package/dist/runtime/document-runtime.js +574 -0
- package/dist/runtime/document-runtime.js.map +1 -0
- package/dist/runtime/document-update-session.d.ts +3 -0
- package/dist/runtime/document-update-session.d.ts.map +1 -0
- package/dist/runtime/document-update-session.js +320 -0
- package/dist/runtime/document-update-session.js.map +1 -0
- package/dist/runtime/index.d.ts +4 -2
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +3 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/runtime.d.ts +4 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +420 -21
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/types.d.ts +94 -4
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/port.d.ts +19 -1
- package/dist/schema/port.d.ts.map +1 -1
- package/dist/state/signal.d.ts +1 -0
- package/dist/state/signal.d.ts.map +1 -1
- package/dist/state/signal.js +47 -10
- package/dist/state/signal.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/runtime/types.d.ts
CHANGED
|
@@ -1,12 +1,70 @@
|
|
|
1
1
|
import type { Store } from '../state/store.js';
|
|
2
|
-
import type { UIDocument } from '../ir/types.js';
|
|
2
|
+
import type { AnyUIDocument, UIDocument, UIDocumentV2 } from '../ir/types.js';
|
|
3
3
|
import type { UIHints } from '../hints/types.js';
|
|
4
4
|
import type { Command } from '../commands/types.js';
|
|
5
5
|
import type { SubmissionState } from '../ir/runtime-state.js';
|
|
6
|
-
import type { NodeId, MaybePromise, ValidationError, VisibleError } from '../types.js';
|
|
6
|
+
import type { JsonScalar, JsonValue, NodeId, StableItemId, MaybePromise, ValidationError, VisibleError } from '../types.js';
|
|
7
7
|
import type { DefaultConflict, DefaultRefusal } from '../initialization/index.js';
|
|
8
8
|
/** Which initialization policy consumes the schema's `default` annotations. */
|
|
9
9
|
export type InitializationPolicy = 'none' | 'schema-defaults';
|
|
10
|
+
export interface UIDocumentRuntime<Document extends AnyUIDocument = AnyUIDocument, Data = unknown> {
|
|
11
|
+
readonly document: Store<Document>;
|
|
12
|
+
readonly data: Store<Data>;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
}
|
|
15
|
+
export interface DocumentCollectionRow {
|
|
16
|
+
readonly id: StableItemId;
|
|
17
|
+
readonly value: JsonScalar;
|
|
18
|
+
readonly cells: readonly JsonScalar[];
|
|
19
|
+
}
|
|
20
|
+
export interface DocumentActionContext {
|
|
21
|
+
readonly nodeId: NodeId;
|
|
22
|
+
readonly document: UIDocumentV2;
|
|
23
|
+
readonly data: JsonValue;
|
|
24
|
+
}
|
|
25
|
+
export type DocumentActionHandler = (args: JsonValue | undefined, context: DocumentActionContext) => MaybePromise<void>;
|
|
26
|
+
export type DocumentActionArgumentValidator = (args: JsonValue | undefined) => JsonValue | undefined;
|
|
27
|
+
export interface DocumentActionRegistration {
|
|
28
|
+
handler: DocumentActionHandler;
|
|
29
|
+
validateArgs?: DocumentActionArgumentValidator;
|
|
30
|
+
}
|
|
31
|
+
export type DocumentAction = DocumentActionHandler | DocumentActionRegistration;
|
|
32
|
+
export interface DocumentRuntimeLimits {
|
|
33
|
+
maxJsonDepth: number;
|
|
34
|
+
maxJsonValues: number;
|
|
35
|
+
maxArrayItems: number;
|
|
36
|
+
maxStringLength: number;
|
|
37
|
+
maxTotalStringLength: number;
|
|
38
|
+
maxDocumentNodes: number;
|
|
39
|
+
maxDocumentTreeDepth: number;
|
|
40
|
+
maxRowsPerCollection: number;
|
|
41
|
+
maxCollectionRows: number;
|
|
42
|
+
maxTableCells: number;
|
|
43
|
+
}
|
|
44
|
+
export interface DocumentRuntimeOptions {
|
|
45
|
+
initialData?: unknown;
|
|
46
|
+
actions?: Readonly<Record<string, DocumentAction>>;
|
|
47
|
+
limits?: Partial<DocumentRuntimeLimits>;
|
|
48
|
+
}
|
|
49
|
+
export interface DocumentRuntime extends UIDocumentRuntime<UIDocumentV2, JsonValue> {
|
|
50
|
+
replaceDocument(document: unknown): void;
|
|
51
|
+
setData(data: unknown): void;
|
|
52
|
+
replaceSnapshot(document: unknown, data: unknown): void;
|
|
53
|
+
getCollection(nodeId: NodeId): Store<readonly DocumentCollectionRow[]> | undefined;
|
|
54
|
+
hasActionHandler(actionType: string): boolean;
|
|
55
|
+
invokeAction(nodeId: NodeId): Promise<void>;
|
|
56
|
+
}
|
|
57
|
+
export interface DocumentUpdateSessionOptions {
|
|
58
|
+
maxMessagesPerSecond?: number;
|
|
59
|
+
maxPatchOperations?: number;
|
|
60
|
+
now?: () => number;
|
|
61
|
+
onNotificationError: (error: unknown) => void;
|
|
62
|
+
}
|
|
63
|
+
export interface DocumentUpdateSession {
|
|
64
|
+
apply(message: unknown): void;
|
|
65
|
+
getRevision(): number | undefined;
|
|
66
|
+
destroy(): void;
|
|
67
|
+
}
|
|
10
68
|
/**
|
|
11
69
|
* What one run of ADR-003's initialization pass did, without the data, which
|
|
12
70
|
* the runtime publishes on `data` like any other.
|
|
@@ -31,6 +89,14 @@ export interface FormRuntimeOptions {
|
|
|
31
89
|
hints?: UIHints;
|
|
32
90
|
onSubmit?: (data: unknown) => MaybePromise<void>;
|
|
33
91
|
validationDebounceMs?: number;
|
|
92
|
+
/**
|
|
93
|
+
* `'retain'`, the default, validates and submits all current form data.
|
|
94
|
+
* `'projected'` asks the adapter for a submission snapshot with locations
|
|
95
|
+
* outside its currently applicable schema removed. The runtime validates
|
|
96
|
+
* that same snapshot and leaves live form data untouched. Creation fails if
|
|
97
|
+
* the adapter does not implement `projectSubmission`.
|
|
98
|
+
*/
|
|
99
|
+
submission?: 'retain' | 'projected';
|
|
34
100
|
/**
|
|
35
101
|
* ADR-003. `'none'`, the default, materialises nothing: given `{}` the
|
|
36
102
|
* runtime's data stays `{}`.
|
|
@@ -52,6 +118,23 @@ export interface FormRuntimeOptions {
|
|
|
52
118
|
*/
|
|
53
119
|
initialization?: InitializationPolicy;
|
|
54
120
|
}
|
|
121
|
+
export interface FormMutation {
|
|
122
|
+
readonly command?: Command;
|
|
123
|
+
readonly origin?: unknown;
|
|
124
|
+
readonly beforeData: unknown;
|
|
125
|
+
readonly data: unknown;
|
|
126
|
+
readonly beforeDocument: UIDocument;
|
|
127
|
+
readonly document: UIDocument;
|
|
128
|
+
readonly changedPointers?: readonly string[];
|
|
129
|
+
}
|
|
130
|
+
export interface FormCommandGuardContext {
|
|
131
|
+
readonly document: UIDocument;
|
|
132
|
+
readonly data: unknown;
|
|
133
|
+
}
|
|
134
|
+
export type FormCommandGuard = (command: Command, context: FormCommandGuardContext) => string | undefined;
|
|
135
|
+
export interface RemoteSnapshotOptions {
|
|
136
|
+
readonly origin?: unknown;
|
|
137
|
+
}
|
|
55
138
|
export interface NodeState {
|
|
56
139
|
readonly value: Store<unknown>;
|
|
57
140
|
readonly errors: Store<ValidationError[]>;
|
|
@@ -62,7 +145,7 @@ export interface NodeState {
|
|
|
62
145
|
readonly validationStatus: Store<'idle' | 'pending' | 'valid' | 'invalid'>;
|
|
63
146
|
readonly showErrors: Store<boolean>;
|
|
64
147
|
}
|
|
65
|
-
export interface FormRuntime {
|
|
148
|
+
export interface FormRuntime extends UIDocumentRuntime<UIDocument, unknown> {
|
|
66
149
|
readonly document: Store<UIDocument>;
|
|
67
150
|
readonly data: Store<unknown>;
|
|
68
151
|
readonly submission: Store<SubmissionState>;
|
|
@@ -87,7 +170,14 @@ export interface FormRuntime {
|
|
|
87
170
|
* rather than one run over data.
|
|
88
171
|
*/
|
|
89
172
|
readonly initialization: Store<InitializationReport | undefined>;
|
|
90
|
-
|
|
173
|
+
readonly initializationPolicy: InitializationPolicy;
|
|
174
|
+
dispatch(command: Command, options?: {
|
|
175
|
+
origin?: unknown;
|
|
176
|
+
}): void;
|
|
177
|
+
subscribeMutations(listener: (mutation: FormMutation) => void, onError: (error: unknown) => void): () => void;
|
|
178
|
+
registerCommandGuard(guard: FormCommandGuard, onRejected?: (reason: string) => void): () => void;
|
|
179
|
+
applyRemoteSnapshot(data: unknown, options?: RemoteSnapshotOptions): void;
|
|
180
|
+
lockArrayStructure(): () => void;
|
|
91
181
|
getNodeState(nodeId: NodeId): NodeState | undefined;
|
|
92
182
|
destroy(): void;
|
|
93
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { SchemaEvaluationPort, SchemaProjection, ProjectionDiagnostic, ProjectionDiagnosticCode, NodeProjection, ProjectionBoundary, ChildProjection, AnnotationSet, } from './port.js';
|
|
1
|
+
export type { SchemaEvaluationPort, SchemaProjection, ProjectionDiagnostic, ProjectionDiagnosticCode, NodeProjection, ProjectionBoundary, ProjectionBoundaryTarget, ProjectionOptions, ChildProjection, AnnotationSet, } from './port.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,aAAa,GACd,MAAM,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,WAAW,CAAA"}
|
package/dist/schema/port.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { JsonPointer, JsonSchemaType, MaybePromise, ValidationResult } from '../types.js';
|
|
2
2
|
import type { FieldConstraints, EnumOption } from '../ir/types.js';
|
|
3
3
|
export interface SchemaEvaluationPort {
|
|
4
|
-
project(data: unknown): SchemaProjection;
|
|
4
|
+
project(data: unknown, options?: ProjectionOptions): SchemaProjection;
|
|
5
|
+
/** Returns an independent snapshot with data from inactive schema declarations removed. */
|
|
6
|
+
projectSubmission?(data: unknown): unknown;
|
|
5
7
|
validate(data: unknown): MaybePromise<ValidationResult>;
|
|
6
8
|
validateAt?(data: unknown, pointer: JsonPointer): MaybePromise<ValidationResult>;
|
|
7
9
|
}
|
|
@@ -117,6 +119,20 @@ export type ProjectionDiagnosticCode =
|
|
|
117
119
|
*/
|
|
118
120
|
| 'ambiguous-default';
|
|
119
121
|
export type ProjectionBoundary = 'recursion' | 'budget';
|
|
122
|
+
export interface ProjectionOptions {
|
|
123
|
+
/** Boundary tokens from the current projection to admit into the view. */
|
|
124
|
+
expandedBoundaryTokens?: ReadonlySet<string>;
|
|
125
|
+
/** Changes when instance pointers can refer to different logical array items. */
|
|
126
|
+
boundaryGeneration?: number;
|
|
127
|
+
}
|
|
128
|
+
export interface ProjectionBoundaryTarget {
|
|
129
|
+
/** Instance location that the projection withheld. */
|
|
130
|
+
pointer: JsonPointer;
|
|
131
|
+
/** Why the projection withheld this location. */
|
|
132
|
+
reason: ProjectionBoundary;
|
|
133
|
+
/** Opaque token scoped to the schema location and instance pointer. */
|
|
134
|
+
token: string;
|
|
135
|
+
}
|
|
120
136
|
export interface NodeProjection {
|
|
121
137
|
/**
|
|
122
138
|
* The shape a renderer should present, which is not an assertion about the
|
|
@@ -155,6 +171,8 @@ export interface NodeProjection {
|
|
|
155
171
|
*/
|
|
156
172
|
provisional?: boolean;
|
|
157
173
|
boundaries?: readonly ProjectionBoundary[];
|
|
174
|
+
/** Individual withheld locations that may be explicitly revealed in the view. */
|
|
175
|
+
boundaryTargets?: readonly ProjectionBoundaryTarget[];
|
|
158
176
|
/** Reached only by expanding recursion past the data, so a policy must not write here (ADR-007). */
|
|
159
177
|
recursiveExpansion?: boolean;
|
|
160
178
|
/** The schema positions that supplied `annotations.default`, when this node applies a position on a cycle. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/schema/port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAElE,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/schema/port.ts"],"names":[],"mappings":"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"}
|
package/dist/state/signal.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/state/signal.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,GAAG,IAAI,CAAC,CAAA;IACR,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,GAAG,IAAI,CAAC,CAAA;CACT;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAE1D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAE1D;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/state/signal.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAiBD,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,GAAG,IAAI,CAAC,CAAA;IACR,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,GAAG,IAAI,CAAC,CAAA;CACT;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAE1D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAE1D;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAgB1C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAKZ"}
|
package/dist/state/signal.js
CHANGED
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
let currentComputation = null;
|
|
2
2
|
let batchDepth = 0;
|
|
3
3
|
const pendingNotifications = new Set();
|
|
4
|
+
export function isBatchActive() {
|
|
5
|
+
return batchDepth > 0;
|
|
6
|
+
}
|
|
7
|
+
function throwNotificationErrors(errors) {
|
|
8
|
+
if (errors.length === 1)
|
|
9
|
+
throw errors[0];
|
|
10
|
+
if (errors.length > 1)
|
|
11
|
+
throw new AggregateError(errors, 'Multiple signal notifications failed');
|
|
12
|
+
}
|
|
13
|
+
function notifyListeners(listeners, errors) {
|
|
14
|
+
for (const listener of listeners) {
|
|
15
|
+
try {
|
|
16
|
+
listener();
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
errors.push(error);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
4
23
|
export function createSignal(initialValue) {
|
|
5
24
|
return new SignalImpl(initialValue);
|
|
6
25
|
}
|
|
@@ -9,18 +28,22 @@ export function createComputed(fn) {
|
|
|
9
28
|
}
|
|
10
29
|
export function batch(fn) {
|
|
11
30
|
batchDepth++;
|
|
31
|
+
const errors = [];
|
|
12
32
|
try {
|
|
13
33
|
fn();
|
|
14
34
|
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
errors.push(error);
|
|
37
|
+
}
|
|
15
38
|
finally {
|
|
16
39
|
batchDepth--;
|
|
17
40
|
if (batchDepth === 0) {
|
|
18
41
|
const fns = [...pendingNotifications];
|
|
19
42
|
pendingNotifications.clear();
|
|
20
|
-
|
|
21
|
-
f();
|
|
43
|
+
notifyListeners(fns, errors);
|
|
22
44
|
}
|
|
23
45
|
}
|
|
46
|
+
throwNotificationErrors(errors);
|
|
24
47
|
}
|
|
25
48
|
export function subscribeToSignal(source, listener) {
|
|
26
49
|
const impl = source;
|
|
@@ -50,16 +73,23 @@ class SignalImpl {
|
|
|
50
73
|
this.notify();
|
|
51
74
|
}
|
|
52
75
|
notify() {
|
|
53
|
-
|
|
54
|
-
|
|
76
|
+
const errors = [];
|
|
77
|
+
for (const dep of this.dependents) {
|
|
78
|
+
try {
|
|
79
|
+
dep.markDirty();
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
errors.push(error);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
55
85
|
if (batchDepth > 0) {
|
|
56
86
|
for (const fn of this.subscribers)
|
|
57
87
|
pendingNotifications.add(fn);
|
|
58
88
|
}
|
|
59
89
|
else {
|
|
60
|
-
|
|
61
|
-
fn();
|
|
90
|
+
notifyListeners(this.subscribers, errors);
|
|
62
91
|
}
|
|
92
|
+
throwNotificationErrors(errors);
|
|
63
93
|
}
|
|
64
94
|
}
|
|
65
95
|
class ComputedImpl {
|
|
@@ -85,16 +115,23 @@ class ComputedImpl {
|
|
|
85
115
|
if (this.dirty)
|
|
86
116
|
return;
|
|
87
117
|
this.dirty = true;
|
|
88
|
-
|
|
89
|
-
|
|
118
|
+
const errors = [];
|
|
119
|
+
for (const dep of this.dependents) {
|
|
120
|
+
try {
|
|
121
|
+
dep.markDirty();
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
errors.push(error);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
90
127
|
if (batchDepth > 0) {
|
|
91
128
|
for (const fn of this.subscribers)
|
|
92
129
|
pendingNotifications.add(fn);
|
|
93
130
|
}
|
|
94
131
|
else {
|
|
95
|
-
|
|
96
|
-
fn();
|
|
132
|
+
notifyListeners(this.subscribers, errors);
|
|
97
133
|
}
|
|
134
|
+
throwNotificationErrors(errors);
|
|
98
135
|
}
|
|
99
136
|
recompute() {
|
|
100
137
|
for (const source of this.sources) {
|
package/dist/state/signal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/state/signal.ts"],"names":[],"mappings":"AAAA,IAAI,kBAAkB,GAAiC,IAAI,CAAA;AAC3D,IAAI,UAAU,GAAG,CAAC,CAAA;AAClB,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/state/signal.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -7,6 +7,10 @@ export type StableItemId = string & {
|
|
|
7
7
|
export type JsonPointer = string & {
|
|
8
8
|
__brand: 'JsonPointer';
|
|
9
9
|
};
|
|
10
|
+
export type JsonScalar = string | number | boolean | null;
|
|
11
|
+
export type JsonValue = JsonScalar | JsonValue[] | {
|
|
12
|
+
[key: string]: JsonValue;
|
|
13
|
+
};
|
|
10
14
|
export type MaybePromise<T> = T | Promise<T>;
|
|
11
15
|
export type JsonSchemaType = 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null';
|
|
12
16
|
export interface ValidationResult {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAA;AACnD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,CAAA;AAC/D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,CAAA;AAE7D,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAE5C,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,CAAA;AAEV,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAA;AACnD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,CAAA;AAC/D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,CAAA;AAE7D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AACzD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAE/E,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAE5C,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,CAAA;AAEV,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@texaryn/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Headless runtime for JSON Schema forms and schema-driven UI: a framework-neutral UI IR, compiler, form state and renderer registry, used with @texaryn/schema-json and a React, Vue or Web Components binding",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"json-schema",
|