doxum 0.1.3 → 0.1.5

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.
@@ -14,12 +14,17 @@ type DocumentTreeValue<TValue> = {
14
14
  };
15
15
  type BaseNode<K extends string> = {
16
16
  readonly kind: K;
17
+ readonly optional?: boolean;
17
18
  };
18
19
  type FieldNode<T, Optional extends boolean = false> = BaseNode<'field'> & {
19
20
  readonly __value?: T;
20
- readonly optional?: Optional;
21
- };
22
- type OptionalNode<TNode extends DocumentNode> = TNode & {
21
+ } & (Optional extends true ? {
22
+ readonly optional: true;
23
+ } : {
24
+ readonly optional?: false;
25
+ });
26
+ /** A node with optional presence. The marker replaces, rather than intersects, a field marker. */
27
+ type OptionalNode<TNode extends DocumentNode> = TNode extends FieldNode<infer TValue, boolean> ? FieldNode<TValue, true> : TNode & {
23
28
  readonly optional: true;
24
29
  };
25
30
  interface ObjectShape {
@@ -59,7 +64,7 @@ type ListNode<TItem> = BaseNode<'list'> & {
59
64
  type TreeNode<TValue> = BaseNode<'tree'> & {
60
65
  readonly __value?: TValue;
61
66
  };
62
- type DocumentNode = FieldNode<unknown, boolean> | ObjectNode<ObjectShape> | VariantNode<string, VariantShape> | SingleNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | TableNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | MapNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | RecordNode<string, unknown> | DictNode<string, unknown> | ListNode<unknown> | TreeNode<unknown>;
67
+ type DocumentNode = FieldNode<unknown, false> | FieldNode<unknown, true> | ObjectNode<ObjectShape> | VariantNode<string, VariantShape> | SingleNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | TableNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | MapNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | RecordNode<string, unknown> | DictNode<string, unknown> | ListNode<unknown> | TreeNode<unknown>;
63
68
  type EntityValue<N extends ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> = N extends ObjectNode<infer S> ? DocumentValueOfShape<S> : N extends VariantNode<infer T, infer V> ? { [K in keyof V & string]: { [P in T]: K } & DocumentValueOfShape<V[K] extends ObjectNode<infer S> ? S : never> }[keyof V & string] : never;
64
69
  type DocumentValueOfNode<N> = N extends FieldNode<infer T, infer O> ? O extends true ? T | undefined : T : N extends ObjectNode<infer S> ? DocumentValueOfShape<S> : N extends VariantNode<infer T, infer V> ? EntityValue<VariantNode<T, V>> : N extends SingleNode<infer V> ? EntityValue<V> : N extends TableNode<infer V> ? {
65
70
  readonly ids: readonly string[];
@@ -71,12 +76,13 @@ type OptionalKeys<S extends ObjectShape> = { [K in keyof S]: S[K] extends {
71
76
  type RequiredKeys<S extends ObjectShape> = Exclude<keyof S, OptionalKeys<S>>;
72
77
  type DocumentValueOfShape<S extends ObjectShape> = { readonly [K in RequiredKeys<S>]: DocumentValueOfNode<S[K]> } & { readonly [K in OptionalKeys<S>]?: DocumentValueOfNode<S[K]> };
73
78
  type ReadonlyDocument<S extends DocumentSchema> = DocumentValueOfShape<S['shape']>;
74
- type CollectionSelector<TId extends string = string, TEntry = unknown> = {
79
+ type EntitySchemaNode = ObjectNode<ObjectShape> | VariantNode<string, VariantShape>;
80
+ type CollectionSelector<TId extends string = string, TNode extends EntitySchemaNode = EntitySchemaNode> = {
75
81
  readonly kind: 'collection';
76
82
  readonly schema: DocumentSchema;
77
83
  readonly address: DocumentAddress;
78
- readonly __id?: TId;
79
- readonly __entry?: TEntry;
84
+ readonly __id?: TId; /** Compile-time entry schema carried by schema selectors. */
85
+ readonly __node?: TNode;
80
86
  };
81
87
  type ValueSelector<TResult = unknown> = {
82
88
  readonly kind: 'value';
@@ -91,7 +97,7 @@ type ImpactTarget<T = unknown> = {
91
97
  readonly kind: 'collection';
92
98
  readonly at: DocumentAddress;
93
99
  readonly id?: string;
94
- } | CollectionSelector<string, T>;
100
+ } | CollectionSelector<string>;
95
101
  type PathMarker<TValue> = {
96
102
  readonly __value?: TValue;
97
103
  };
@@ -101,7 +107,7 @@ type SchemaPathFor<S extends ObjectShape = ObjectShape, TValue = unknown> = { re
101
107
  type DocumentSchema<TShape extends ObjectShape = {}> = {
102
108
  readonly kind: 'schema';
103
109
  readonly shape: TShape;
104
- collection<TPath extends PathMarker<unknown>>(pick: (path: SchemaPath<TShape>) => TPath): CollectionSelector<CollectionId<TPath>, CollectionEntry<TPath>>;
110
+ collection<TPath extends PathMarker<unknown>>(pick: (path: SchemaPath<TShape>) => TPath): CollectionSelector<CollectionId<TPath>, CollectionNode<TPath>>;
105
111
  value<TPath extends PathMarker<unknown>>(pick: (path: SchemaPath<TShape>) => TPath): ValueSelector<PathValueResult<TPath>>;
106
112
  };
107
113
  type SchemaPath<S extends ObjectShape = {}> = SchemaPathFor<S, DocumentValueOfShape<S>>;
@@ -118,25 +124,25 @@ type CollectionPath<N extends ObjectNode<ObjectShape> | VariantNode<string, Vari
118
124
  readonly item: (id: string) => EntityPath<N>;
119
125
  readonly __collection?: {
120
126
  readonly id: string;
121
- readonly entry: DocumentValueOfNode<N>;
127
+ readonly node: N;
122
128
  };
123
129
  };
124
130
  type PathValue<N extends DocumentNode> = N extends ObjectNode<infer S> ? SchemaPathFor<S, PathNodeValue<N>> : N extends VariantNode<infer _TTag, infer V> ? VariantPath<V> : N extends TableNode<infer V> | MapNode<infer V> ? CollectionPath<V> : N extends SingleNode<infer V> ? EntityPath<V> : SchemaPathFor<{}, PathNodeValue<N>>;
125
131
  type CollectionInfo<T> = T extends {
126
132
  readonly __collection?: {
127
133
  readonly id: infer TId;
128
- readonly entry: infer TEntry;
134
+ readonly node: infer TNode extends EntitySchemaNode;
129
135
  };
130
136
  } ? {
131
137
  readonly id: TId;
132
- readonly entry: TEntry;
138
+ readonly node: TNode;
133
139
  } : never;
134
140
  type CollectionId<T> = CollectionInfo<T> extends {
135
141
  readonly id: infer TId extends string;
136
142
  } ? TId : string;
137
- type CollectionEntry<T> = CollectionInfo<T> extends {
138
- readonly entry: infer TEntry;
139
- } ? TEntry : never;
143
+ type CollectionNode<T> = CollectionInfo<T> extends {
144
+ readonly node: infer TNode extends EntitySchemaNode;
145
+ } ? TNode : EntitySchemaNode;
140
146
  type PathValueResult<T> = T extends PathMarker<infer TValue> ? TValue : unknown;
141
147
  declare const field: <T>() => FieldNode<T>;
142
148
  declare const optional: <T extends DocumentNode>(value: T) => OptionalNode<T>;
@@ -169,6 +175,9 @@ type FieldSetOperation<TSchema extends DocumentSchema = DocumentSchema> = Operat
169
175
  type FieldClearOperation<TSchema extends DocumentSchema = DocumentSchema> = OperationBase & {
170
176
  readonly type: 'field.clear';
171
177
  };
178
+ type ValueClearOperation<TSchema extends DocumentSchema = DocumentSchema> = OperationBase & {
179
+ readonly type: 'value.clear';
180
+ };
172
181
  type VariantReplaceOperation<TSchema extends DocumentSchema = DocumentSchema> = OperationBase & {
173
182
  readonly type: 'variant.replace';
174
183
  readonly value: unknown;
@@ -251,17 +260,17 @@ type TreeReplaceOperation<TSchema extends DocumentSchema = DocumentSchema> = Ope
251
260
  readonly type: 'tree.replace';
252
261
  readonly value: unknown;
253
262
  };
254
- type DocumentOperationUnion<TSchema extends DocumentSchema = DocumentSchema> = FieldSetOperation<TSchema> | FieldClearOperation<TSchema> | VariantReplaceOperation<TSchema> | DictSetOperation<TSchema> | DictDeleteOperation<TSchema> | DictReplaceOperation<TSchema> | EntityCreateOperation<TSchema> | EntityRemoveOperation<TSchema> | EntityMoveOperation<TSchema> | ListInsertOperation<TSchema> | ListMoveOperation<TSchema> | ListRemoveOperation<TSchema> | ListReplaceOperation<TSchema> | TreeInsertOperation<TSchema> | TreeMoveOperation<TSchema> | TreeRemoveOperation<TSchema> | TreeSetOperation<TSchema> | TreeReplaceOperation<TSchema>;
263
+ type DocumentOperationUnion<TSchema extends DocumentSchema = DocumentSchema> = FieldSetOperation<TSchema> | FieldClearOperation<TSchema> | ValueClearOperation<TSchema> | VariantReplaceOperation<TSchema> | DictSetOperation<TSchema> | DictDeleteOperation<TSchema> | DictReplaceOperation<TSchema> | EntityCreateOperation<TSchema> | EntityRemoveOperation<TSchema> | EntityMoveOperation<TSchema> | ListInsertOperation<TSchema> | ListMoveOperation<TSchema> | ListRemoveOperation<TSchema> | ListReplaceOperation<TSchema> | TreeInsertOperation<TSchema> | TreeMoveOperation<TSchema> | TreeRemoveOperation<TSchema> | TreeSetOperation<TSchema> | TreeReplaceOperation<TSchema>;
255
264
  type DocumentOperation<TSchema extends DocumentSchema = DocumentSchema> = DocumentOperationUnion<TSchema>;
256
265
  //#endregion
257
266
  //#region core/src/access/reader.d.ts
258
267
  type FieldReader<T> = {
259
268
  readonly get: () => T;
260
269
  };
261
- type CollectionReader<TId, TEntry> = {
270
+ type CollectionReader<TId, TNode extends EntitySchemaNode> = {
262
271
  readonly ids: () => readonly TId[];
263
272
  readonly has: (id: TId) => boolean;
264
- readonly get: (id: TId) => EntityReader<TEntry> | undefined;
273
+ readonly get: (id: TId) => ReaderOfNode<TNode> | undefined;
265
274
  };
266
275
  type ListReader<T> = {
267
276
  readonly values: () => readonly T[];
@@ -275,44 +284,43 @@ type TreeReader<T> = {
275
284
  readonly parent: (id: string) => string | undefined;
276
285
  readonly children: (id: string) => readonly string[];
277
286
  };
278
- type EntityReader<T> = T extends object ? { readonly [K in keyof T]: ReaderValue<T[K]> } : FieldReader<T>;
279
- type ReaderValue<T> = T extends readonly (infer TItem)[] ? ListReader<TItem> : T extends object ? EntityReader<T> : FieldReader<T>;
280
287
  type ReaderOfNode<TNode extends DocumentNode> = TNode extends {
281
288
  kind: 'field';
282
- } ? FieldReader<DocumentValueOfNode<TNode>> : TNode extends ObjectNode<infer TShape> ? { readonly [K in keyof TShape]: ReaderOfNode<TShape[K]> } : TNode extends VariantNode<string, infer TVariants> ? { readonly [K in keyof TVariants]: ReaderOfNode<TVariants[K]> } : TNode extends SingleNode<infer TValue> ? ReaderOfNode<TValue> : TNode extends TableNode<infer TValue> ? CollectionReader<string, DocumentValueOfNode<TValue>> : TNode extends MapNode<infer TValue> ? CollectionReader<string, DocumentValueOfNode<TValue>> : TNode extends DictNode<infer TKey, infer TValue> ? FieldReader<Readonly<Partial<Record<TKey, TValue>>>> : TNode extends ListNode<infer TItem> ? ListReader<TItem> : TNode extends TreeNode<infer TValue> ? TreeReader<TValue> : FieldReader<DocumentValueOfNode<TNode>>;
289
+ } ? FieldReader<DocumentValueOfNode<TNode>> : TNode extends ObjectNode<infer TShape> ? { readonly [K in keyof TShape]: ReaderOfNode<TShape[K]> } : TNode extends VariantNode<string, infer TVariants> ? { readonly [K in keyof TVariants]: ReaderOfNode<TVariants[K]> } : TNode extends SingleNode<infer TValue> ? ReaderOfNode<TValue> : TNode extends TableNode<infer TValue> ? CollectionReader<string, TValue> : TNode extends MapNode<infer TValue> ? CollectionReader<string, TValue> : TNode extends DictNode<infer TKey, infer TValue> ? FieldReader<Readonly<Partial<Record<TKey, TValue>>>> : TNode extends ListNode<infer TItem> ? ListReader<TItem> : TNode extends TreeNode<infer TValue> ? TreeReader<TValue> : FieldReader<DocumentValueOfNode<TNode>>;
283
290
  type DocumentReader<TSchema extends DocumentSchema> = ReaderOfNode<ObjectNode<TSchema['shape']>>;
284
291
  //#endregion
285
292
  //#region core/src/access/writer.d.ts
286
- type FieldWriter<T> = {
293
+ type FieldWriter<T, Optional extends boolean = false> = {
287
294
  readonly set: (value: T) => void;
288
- readonly clear?: () => void;
289
- };
295
+ } & (Optional extends true ? {
296
+ readonly clear: () => void;
297
+ } : {});
290
298
  type DictionaryWriter<TKey extends string, TValue> = {
291
299
  readonly set: (key: TKey, value: TValue) => void;
292
300
  readonly delete: (key: TKey) => void;
293
301
  readonly replace: (value: Readonly<Partial<Record<TKey, TValue>>>) => void;
294
302
  };
295
- type CollectionWriter<TId, TEntry> = {
303
+ type CollectionWriter<TId, TNode extends EntitySchemaNode> = {
296
304
  readonly create: (entry: {
297
305
  readonly id: TId;
298
- readonly value: TEntry;
306
+ readonly value: DocumentValueOfNode<TNode>;
299
307
  } | readonly {
300
308
  readonly id: TId;
301
- readonly value: TEntry;
309
+ readonly value: DocumentValueOfNode<TNode>;
302
310
  }[], anchor?: DocumentAnchor) => void;
303
- readonly item: (id: TId) => EntityWriter<TEntry>;
311
+ readonly item: (id: TId) => WriterOfNode<TNode>;
304
312
  readonly remove: (id: TId | readonly TId[]) => void;
305
313
  readonly move: (id: TId, anchor?: DocumentAnchor) => void;
306
314
  };
307
- type MapWriter<TId, TEntry> = {
315
+ type MapWriter<TId, TNode extends EntitySchemaNode> = {
308
316
  readonly create: (entry: {
309
317
  readonly id: TId;
310
- readonly value: TEntry;
318
+ readonly value: DocumentValueOfNode<TNode>;
311
319
  } | readonly {
312
320
  readonly id: TId;
313
- readonly value: TEntry;
321
+ readonly value: DocumentValueOfNode<TNode>;
314
322
  }[]) => void;
315
- readonly item: (id: TId) => EntityWriter<TEntry>;
323
+ readonly item: (id: TId) => WriterOfNode<TNode>;
316
324
  readonly remove: (id: TId | readonly TId[]) => void;
317
325
  };
318
326
  type ListWriter<T> = {
@@ -326,15 +334,20 @@ type TreeWriter<T> = {
326
334
  readonly move: (id: string, parentId?: string, index?: number) => void;
327
335
  readonly remove: (id: string) => void;
328
336
  readonly set: (id: string, value: T) => void;
329
- readonly replace: (value: unknown) => void;
337
+ readonly replace: (value: DocumentTreeValue<T>) => void;
330
338
  };
331
- type EntityWriter<T> = T extends object ? { readonly [K in keyof T]: WriterValue<T[K]> } : FieldWriter<T>;
332
- type WriterValue<T> = T extends readonly (infer TItem)[] ? ListWriter<TItem> : T extends object ? EntityWriter<T> : FieldWriter<T>;
339
+ type OptionalClear<TNode extends DocumentNode, TWriter> = TNode extends {
340
+ readonly optional: true;
341
+ } ? TWriter & {
342
+ readonly clear: () => void;
343
+ } : TWriter;
333
344
  type WriterOfNode<TNode extends DocumentNode> = TNode extends {
334
345
  kind: 'field';
335
- } ? FieldWriter<DocumentValueOfNode<TNode>> : TNode extends ObjectNode<infer TShape> ? { readonly [K in keyof TShape]: WriterOfNode<TShape[K]> } : TNode extends VariantNode<string, infer _TVariants> ? {
346
+ } ? TNode extends {
347
+ readonly optional: true;
348
+ } ? FieldWriter<DocumentValueOfNode<TNode>, true> : FieldWriter<DocumentValueOfNode<TNode>> : TNode extends ObjectNode<infer TShape> ? { readonly [K in keyof TShape]: WriterOfNode<TShape[K]> } : TNode extends VariantNode<string, infer _TVariants> ? OptionalClear<TNode, {
336
349
  readonly replace: (value: DocumentValueOfNode<TNode>) => void;
337
- } : TNode extends SingleNode<infer TValue> ? WriterOfNode<TValue> : TNode extends TableNode<infer TValue> ? CollectionWriter<string, DocumentValueOfNode<TValue>> : TNode extends MapNode<infer TValue> ? MapWriter<string, DocumentValueOfNode<TValue>> : TNode extends DictNode<infer TKey, infer TValue> ? DictionaryWriter<TKey, TValue> : TNode extends ListNode<infer TItem> ? ListWriter<TItem> : TNode extends TreeNode<infer TValue> ? TreeWriter<TValue> : FieldWriter<DocumentValueOfNode<TNode>>;
350
+ }> : TNode extends SingleNode<infer TValue> ? WriterOfNode<TValue> : TNode extends TableNode<infer TValue> ? CollectionWriter<string, TValue> : TNode extends MapNode<infer TValue> ? MapWriter<string, TValue> : TNode extends DictNode<infer TKey, infer TValue> ? OptionalClear<TNode, DictionaryWriter<TKey, TValue>> : TNode extends ListNode<infer TItem> ? OptionalClear<TNode, ListWriter<TItem>> : TNode extends TreeNode<infer TValue> ? OptionalClear<TNode, TreeWriter<TValue>> : FieldWriter<DocumentValueOfNode<TNode>>;
338
351
  type DocumentWriter<TSchema extends DocumentSchema> = WriterOfNode<ObjectNode<TSchema['shape']>>;
339
352
  //#endregion
340
353
  //#region core/src/mutation/issue.d.ts
@@ -360,7 +373,7 @@ type CollectionImpact<TId> = {
360
373
  type DocumentImpact<TSchema extends DocumentSchema> = {
361
374
  readonly kind: 'incremental' | 'reset';
362
375
  readonly affects: (target: ImpactTarget<unknown>) => boolean;
363
- readonly collection: <TId extends string, TEntry>(selector: CollectionSelector<TId, TEntry>) => CollectionImpact<TId>;
376
+ readonly collection: <TId extends string>(selector: CollectionSelector<TId>) => CollectionImpact<TId>;
364
377
  readonly operations: readonly DocumentOperationUnion<TSchema>[];
365
378
  };
366
379
  //#endregion
@@ -535,5 +548,5 @@ type DocumentRuntime<TSchema extends DocumentSchema> = DocumentReadable<TSchema>
535
548
  dispose(): void;
536
549
  };
537
550
  //#endregion
538
- export { DocumentOperationUnion as $, variant as $t, MutationIssue as A, ObjectNode as At, WriterOfNode as B, VariantNode as Bt, contains as C, DocumentTreeValue as Ct, resolveAddress as D, ImpactTarget as Dt, read as E, FieldNode as Et, EntityWriter as F, SchemaPath as Ft, ListReader as G, map as Gt, DocumentReader as H, dict as Ht, FieldWriter as I, SingleNode as It, DictDeleteOperation as J, record as Jt, ReaderOfNode as K, object as Kt, ListWriter as L, TableNode as Lt, CollectionWriter as M, OptionalNode as Mt, DictionaryWriter as N, ReadonlyDocument as Nt, CollectionImpact as O, ListNode as Ot, DocumentWriter as P, RecordNode as Pt, DocumentOperation as Q, tree as Qt, MapWriter as R, TreeNode as Rt, AddressRef as S, DocumentTreeNode as St, overlaps as T, DocumentValueOfShape as Tt, EntityReader as U, field as Ut, CollectionReader as V, VariantShape as Vt, FieldReader as W, list as Wt, DictSetOperation as X, single as Xt, DictReplaceOperation as Y, schema as Yt, DocumentAnchor as Z, table as Zt, CommandFootprint as _, DictNode as _t, DocumentProblem as a, FieldSetOperation as at, decodeCommandFootprint as b, DocumentNode as bt, DocumentRuntime as c, ListRemoveOperation as ct, LocalHistory as d, TreeMoveOperation as dt, EntityCreateOperation as et, ObserverError as f, TreeRemoveOperation as ft, Unsubscribe as g, CollectionSelector as gt, TransactionResult as h, VariantReplaceOperation as ht, DocumentDisposedError as i, FieldClearOperation as it, MutationIssueCode as j, ObjectShape as jt, DocumentImpact as k, MapNode as kt, DocumentTransaction as l, ListReplaceOperation as lt, PreparedUpdateResult as m, TreeSetOperation as mt, DocumentCommit as n, EntityMoveOperation as nt, DocumentReadable as o, ListInsertOperation as ot, OperationResult as p, TreeReplaceOperation as pt, TreeReader as q, optional as qt, DocumentDiagnostic as r, EntityRemoveOperation as rt, DocumentReentrancyError as s, ListMoveOperation as st, CommitSource as t, EntityEntry as tt, HistoryState as u, TreeInsertOperation as ut, CommandFootprintTarget as v, DocumentAddress as vt, debugKey as w, DocumentValueOfNode as wt, footprintsOverlap as x, DocumentSchema as xt, commandFootprint as y, DocumentListConfig as yt, TreeWriter as z, ValueSelector as zt };
539
- //# sourceMappingURL=contract-BsY1XLiG.d.ts.map
551
+ export { EntityEntry as $, tree as $t, MutationIssue as A, MapNode as At, CollectionReader as B, ValueSelector as Bt, contains as C, DocumentTreeValue as Ct, resolveAddress as D, FieldNode as Dt, read as E, EntitySchemaNode as Et, FieldWriter as F, RecordNode as Ft, TreeReader as G, list as Gt, FieldReader as H, VariantShape as Ht, ListWriter as I, SchemaPath as It, DictSetOperation as J, optional as Jt, DictDeleteOperation as K, map as Kt, MapWriter as L, SingleNode as Lt, CollectionWriter as M, ObjectShape as Mt, DictionaryWriter as N, OptionalNode as Nt, CollectionImpact as O, ImpactTarget as Ot, DocumentWriter as P, ReadonlyDocument as Pt, EntityCreateOperation as Q, table as Qt, TreeWriter as R, TableNode as Rt, AddressRef as S, DocumentTreeNode as St, overlaps as T, DocumentValueOfShape as Tt, ListReader as U, dict as Ut, DocumentReader as V, VariantNode as Vt, ReaderOfNode as W, field as Wt, DocumentOperation as X, schema as Xt, DocumentAnchor as Y, record as Yt, DocumentOperationUnion as Z, single as Zt, CommandFootprint as _, DictNode as _t, DocumentProblem as a, ListMoveOperation as at, decodeCommandFootprint as b, DocumentNode as bt, DocumentRuntime as c, TreeInsertOperation as ct, LocalHistory as d, TreeReplaceOperation as dt, variant as en, EntityMoveOperation as et, ObserverError as f, TreeSetOperation as ft, Unsubscribe as g, CollectionSelector as gt, TransactionResult as h, CollectionNode as ht, DocumentDisposedError as i, ListInsertOperation as it, MutationIssueCode as j, ObjectNode as jt, DocumentImpact as k, ListNode as kt, DocumentTransaction as l, TreeMoveOperation as lt, PreparedUpdateResult as m, VariantReplaceOperation as mt, DocumentCommit as n, FieldClearOperation as nt, DocumentReadable as o, ListRemoveOperation as ot, OperationResult as p, ValueClearOperation as pt, DictReplaceOperation as q, object as qt, DocumentDiagnostic as r, FieldSetOperation as rt, DocumentReentrancyError as s, ListReplaceOperation as st, CommitSource as t, EntityRemoveOperation as tt, HistoryState as u, TreeRemoveOperation as ut, CommandFootprintTarget as v, DocumentAddress as vt, debugKey as w, DocumentValueOfNode as wt, footprintsOverlap as x, DocumentSchema as xt, commandFootprint as y, DocumentListConfig as yt, WriterOfNode as z, TreeNode as zt };
552
+ //# sourceMappingURL=contract-4E3moCbY.d.ts.map
@@ -14,12 +14,17 @@ type DocumentTreeValue<TValue> = {
14
14
  };
15
15
  type BaseNode<K extends string> = {
16
16
  readonly kind: K;
17
+ readonly optional?: boolean;
17
18
  };
18
19
  type FieldNode<T, Optional extends boolean = false> = BaseNode<'field'> & {
19
20
  readonly __value?: T;
20
- readonly optional?: Optional;
21
- };
22
- type OptionalNode<TNode extends DocumentNode> = TNode & {
21
+ } & (Optional extends true ? {
22
+ readonly optional: true;
23
+ } : {
24
+ readonly optional?: false;
25
+ });
26
+ /** A node with optional presence. The marker replaces, rather than intersects, a field marker. */
27
+ type OptionalNode<TNode extends DocumentNode> = TNode extends FieldNode<infer TValue, boolean> ? FieldNode<TValue, true> : TNode & {
23
28
  readonly optional: true;
24
29
  };
25
30
  interface ObjectShape {
@@ -59,7 +64,7 @@ type ListNode<TItem> = BaseNode<'list'> & {
59
64
  type TreeNode<TValue> = BaseNode<'tree'> & {
60
65
  readonly __value?: TValue;
61
66
  };
62
- type DocumentNode = FieldNode<unknown, boolean> | ObjectNode<ObjectShape> | VariantNode<string, VariantShape> | SingleNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | TableNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | MapNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | RecordNode<string, unknown> | DictNode<string, unknown> | ListNode<unknown> | TreeNode<unknown>;
67
+ type DocumentNode = FieldNode<unknown, false> | FieldNode<unknown, true> | ObjectNode<ObjectShape> | VariantNode<string, VariantShape> | SingleNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | TableNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | MapNode<ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> | RecordNode<string, unknown> | DictNode<string, unknown> | ListNode<unknown> | TreeNode<unknown>;
63
68
  type EntityValue<N extends ObjectNode<ObjectShape> | VariantNode<string, VariantShape>> = N extends ObjectNode<infer S> ? DocumentValueOfShape<S> : N extends VariantNode<infer T, infer V> ? { [K in keyof V & string]: { [P in T]: K } & DocumentValueOfShape<V[K] extends ObjectNode<infer S> ? S : never> }[keyof V & string] : never;
64
69
  type DocumentValueOfNode<N> = N extends FieldNode<infer T, infer O> ? O extends true ? T | undefined : T : N extends ObjectNode<infer S> ? DocumentValueOfShape<S> : N extends VariantNode<infer T, infer V> ? EntityValue<VariantNode<T, V>> : N extends SingleNode<infer V> ? EntityValue<V> : N extends TableNode<infer V> ? {
65
70
  readonly ids: readonly string[];
@@ -71,12 +76,13 @@ type OptionalKeys<S extends ObjectShape> = { [K in keyof S]: S[K] extends {
71
76
  type RequiredKeys<S extends ObjectShape> = Exclude<keyof S, OptionalKeys<S>>;
72
77
  type DocumentValueOfShape<S extends ObjectShape> = { readonly [K in RequiredKeys<S>]: DocumentValueOfNode<S[K]> } & { readonly [K in OptionalKeys<S>]?: DocumentValueOfNode<S[K]> };
73
78
  type ReadonlyDocument<S extends DocumentSchema> = DocumentValueOfShape<S['shape']>;
74
- type CollectionSelector<TId extends string = string, TEntry = unknown> = {
79
+ type EntitySchemaNode = ObjectNode<ObjectShape> | VariantNode<string, VariantShape>;
80
+ type CollectionSelector<TId extends string = string, TNode extends EntitySchemaNode = EntitySchemaNode> = {
75
81
  readonly kind: 'collection';
76
82
  readonly schema: DocumentSchema;
77
83
  readonly address: DocumentAddress;
78
- readonly __id?: TId;
79
- readonly __entry?: TEntry;
84
+ readonly __id?: TId; /** Compile-time entry schema carried by schema selectors. */
85
+ readonly __node?: TNode;
80
86
  };
81
87
  type ValueSelector<TResult = unknown> = {
82
88
  readonly kind: 'value';
@@ -91,7 +97,7 @@ type ImpactTarget<T = unknown> = {
91
97
  readonly kind: 'collection';
92
98
  readonly at: DocumentAddress;
93
99
  readonly id?: string;
94
- } | CollectionSelector<string, T>;
100
+ } | CollectionSelector<string>;
95
101
  type PathMarker<TValue> = {
96
102
  readonly __value?: TValue;
97
103
  };
@@ -101,7 +107,7 @@ type SchemaPathFor<S extends ObjectShape = ObjectShape, TValue = unknown> = { re
101
107
  type DocumentSchema<TShape extends ObjectShape = {}> = {
102
108
  readonly kind: 'schema';
103
109
  readonly shape: TShape;
104
- collection<TPath extends PathMarker<unknown>>(pick: (path: SchemaPath<TShape>) => TPath): CollectionSelector<CollectionId<TPath>, CollectionEntry<TPath>>;
110
+ collection<TPath extends PathMarker<unknown>>(pick: (path: SchemaPath<TShape>) => TPath): CollectionSelector<CollectionId<TPath>, CollectionNode<TPath>>;
105
111
  value<TPath extends PathMarker<unknown>>(pick: (path: SchemaPath<TShape>) => TPath): ValueSelector<PathValueResult<TPath>>;
106
112
  };
107
113
  type SchemaPath<S extends ObjectShape = {}> = SchemaPathFor<S, DocumentValueOfShape<S>>;
@@ -118,25 +124,25 @@ type CollectionPath<N extends ObjectNode<ObjectShape> | VariantNode<string, Vari
118
124
  readonly item: (id: string) => EntityPath<N>;
119
125
  readonly __collection?: {
120
126
  readonly id: string;
121
- readonly entry: DocumentValueOfNode<N>;
127
+ readonly node: N;
122
128
  };
123
129
  };
124
130
  type PathValue<N extends DocumentNode> = N extends ObjectNode<infer S> ? SchemaPathFor<S, PathNodeValue<N>> : N extends VariantNode<infer _TTag, infer V> ? VariantPath<V> : N extends TableNode<infer V> | MapNode<infer V> ? CollectionPath<V> : N extends SingleNode<infer V> ? EntityPath<V> : SchemaPathFor<{}, PathNodeValue<N>>;
125
131
  type CollectionInfo<T> = T extends {
126
132
  readonly __collection?: {
127
133
  readonly id: infer TId;
128
- readonly entry: infer TEntry;
134
+ readonly node: infer TNode extends EntitySchemaNode;
129
135
  };
130
136
  } ? {
131
137
  readonly id: TId;
132
- readonly entry: TEntry;
138
+ readonly node: TNode;
133
139
  } : never;
134
140
  type CollectionId<T> = CollectionInfo<T> extends {
135
141
  readonly id: infer TId extends string;
136
142
  } ? TId : string;
137
- type CollectionEntry<T> = CollectionInfo<T> extends {
138
- readonly entry: infer TEntry;
139
- } ? TEntry : never;
143
+ type CollectionNode<T> = CollectionInfo<T> extends {
144
+ readonly node: infer TNode extends EntitySchemaNode;
145
+ } ? TNode : EntitySchemaNode;
140
146
  type PathValueResult<T> = T extends PathMarker<infer TValue> ? TValue : unknown;
141
147
  declare const field: <T>() => FieldNode<T>;
142
148
  declare const optional: <T extends DocumentNode>(value: T) => OptionalNode<T>;
@@ -169,6 +175,9 @@ type FieldSetOperation<TSchema extends DocumentSchema = DocumentSchema> = Operat
169
175
  type FieldClearOperation<TSchema extends DocumentSchema = DocumentSchema> = OperationBase & {
170
176
  readonly type: 'field.clear';
171
177
  };
178
+ type ValueClearOperation<TSchema extends DocumentSchema = DocumentSchema> = OperationBase & {
179
+ readonly type: 'value.clear';
180
+ };
172
181
  type VariantReplaceOperation<TSchema extends DocumentSchema = DocumentSchema> = OperationBase & {
173
182
  readonly type: 'variant.replace';
174
183
  readonly value: unknown;
@@ -251,17 +260,17 @@ type TreeReplaceOperation<TSchema extends DocumentSchema = DocumentSchema> = Ope
251
260
  readonly type: 'tree.replace';
252
261
  readonly value: unknown;
253
262
  };
254
- type DocumentOperationUnion<TSchema extends DocumentSchema = DocumentSchema> = FieldSetOperation<TSchema> | FieldClearOperation<TSchema> | VariantReplaceOperation<TSchema> | DictSetOperation<TSchema> | DictDeleteOperation<TSchema> | DictReplaceOperation<TSchema> | EntityCreateOperation<TSchema> | EntityRemoveOperation<TSchema> | EntityMoveOperation<TSchema> | ListInsertOperation<TSchema> | ListMoveOperation<TSchema> | ListRemoveOperation<TSchema> | ListReplaceOperation<TSchema> | TreeInsertOperation<TSchema> | TreeMoveOperation<TSchema> | TreeRemoveOperation<TSchema> | TreeSetOperation<TSchema> | TreeReplaceOperation<TSchema>;
263
+ type DocumentOperationUnion<TSchema extends DocumentSchema = DocumentSchema> = FieldSetOperation<TSchema> | FieldClearOperation<TSchema> | ValueClearOperation<TSchema> | VariantReplaceOperation<TSchema> | DictSetOperation<TSchema> | DictDeleteOperation<TSchema> | DictReplaceOperation<TSchema> | EntityCreateOperation<TSchema> | EntityRemoveOperation<TSchema> | EntityMoveOperation<TSchema> | ListInsertOperation<TSchema> | ListMoveOperation<TSchema> | ListRemoveOperation<TSchema> | ListReplaceOperation<TSchema> | TreeInsertOperation<TSchema> | TreeMoveOperation<TSchema> | TreeRemoveOperation<TSchema> | TreeSetOperation<TSchema> | TreeReplaceOperation<TSchema>;
255
264
  type DocumentOperation<TSchema extends DocumentSchema = DocumentSchema> = DocumentOperationUnion<TSchema>;
256
265
  //#endregion
257
266
  //#region core/src/access/reader.d.ts
258
267
  type FieldReader<T> = {
259
268
  readonly get: () => T;
260
269
  };
261
- type CollectionReader<TId, TEntry> = {
270
+ type CollectionReader<TId, TNode extends EntitySchemaNode> = {
262
271
  readonly ids: () => readonly TId[];
263
272
  readonly has: (id: TId) => boolean;
264
- readonly get: (id: TId) => EntityReader<TEntry> | undefined;
273
+ readonly get: (id: TId) => ReaderOfNode<TNode> | undefined;
265
274
  };
266
275
  type ListReader<T> = {
267
276
  readonly values: () => readonly T[];
@@ -275,44 +284,43 @@ type TreeReader<T> = {
275
284
  readonly parent: (id: string) => string | undefined;
276
285
  readonly children: (id: string) => readonly string[];
277
286
  };
278
- type EntityReader<T> = T extends object ? { readonly [K in keyof T]: ReaderValue<T[K]> } : FieldReader<T>;
279
- type ReaderValue<T> = T extends readonly (infer TItem)[] ? ListReader<TItem> : T extends object ? EntityReader<T> : FieldReader<T>;
280
287
  type ReaderOfNode<TNode extends DocumentNode> = TNode extends {
281
288
  kind: 'field';
282
- } ? FieldReader<DocumentValueOfNode<TNode>> : TNode extends ObjectNode<infer TShape> ? { readonly [K in keyof TShape]: ReaderOfNode<TShape[K]> } : TNode extends VariantNode<string, infer TVariants> ? { readonly [K in keyof TVariants]: ReaderOfNode<TVariants[K]> } : TNode extends SingleNode<infer TValue> ? ReaderOfNode<TValue> : TNode extends TableNode<infer TValue> ? CollectionReader<string, DocumentValueOfNode<TValue>> : TNode extends MapNode<infer TValue> ? CollectionReader<string, DocumentValueOfNode<TValue>> : TNode extends DictNode<infer TKey, infer TValue> ? FieldReader<Readonly<Partial<Record<TKey, TValue>>>> : TNode extends ListNode<infer TItem> ? ListReader<TItem> : TNode extends TreeNode<infer TValue> ? TreeReader<TValue> : FieldReader<DocumentValueOfNode<TNode>>;
289
+ } ? FieldReader<DocumentValueOfNode<TNode>> : TNode extends ObjectNode<infer TShape> ? { readonly [K in keyof TShape]: ReaderOfNode<TShape[K]> } : TNode extends VariantNode<string, infer TVariants> ? { readonly [K in keyof TVariants]: ReaderOfNode<TVariants[K]> } : TNode extends SingleNode<infer TValue> ? ReaderOfNode<TValue> : TNode extends TableNode<infer TValue> ? CollectionReader<string, TValue> : TNode extends MapNode<infer TValue> ? CollectionReader<string, TValue> : TNode extends DictNode<infer TKey, infer TValue> ? FieldReader<Readonly<Partial<Record<TKey, TValue>>>> : TNode extends ListNode<infer TItem> ? ListReader<TItem> : TNode extends TreeNode<infer TValue> ? TreeReader<TValue> : FieldReader<DocumentValueOfNode<TNode>>;
283
290
  type DocumentReader<TSchema extends DocumentSchema> = ReaderOfNode<ObjectNode<TSchema['shape']>>;
284
291
  //#endregion
285
292
  //#region core/src/access/writer.d.ts
286
- type FieldWriter<T> = {
293
+ type FieldWriter<T, Optional extends boolean = false> = {
287
294
  readonly set: (value: T) => void;
288
- readonly clear?: () => void;
289
- };
295
+ } & (Optional extends true ? {
296
+ readonly clear: () => void;
297
+ } : {});
290
298
  type DictionaryWriter<TKey extends string, TValue> = {
291
299
  readonly set: (key: TKey, value: TValue) => void;
292
300
  readonly delete: (key: TKey) => void;
293
301
  readonly replace: (value: Readonly<Partial<Record<TKey, TValue>>>) => void;
294
302
  };
295
- type CollectionWriter<TId, TEntry> = {
303
+ type CollectionWriter<TId, TNode extends EntitySchemaNode> = {
296
304
  readonly create: (entry: {
297
305
  readonly id: TId;
298
- readonly value: TEntry;
306
+ readonly value: DocumentValueOfNode<TNode>;
299
307
  } | readonly {
300
308
  readonly id: TId;
301
- readonly value: TEntry;
309
+ readonly value: DocumentValueOfNode<TNode>;
302
310
  }[], anchor?: DocumentAnchor) => void;
303
- readonly item: (id: TId) => EntityWriter<TEntry>;
311
+ readonly item: (id: TId) => WriterOfNode<TNode>;
304
312
  readonly remove: (id: TId | readonly TId[]) => void;
305
313
  readonly move: (id: TId, anchor?: DocumentAnchor) => void;
306
314
  };
307
- type MapWriter<TId, TEntry> = {
315
+ type MapWriter<TId, TNode extends EntitySchemaNode> = {
308
316
  readonly create: (entry: {
309
317
  readonly id: TId;
310
- readonly value: TEntry;
318
+ readonly value: DocumentValueOfNode<TNode>;
311
319
  } | readonly {
312
320
  readonly id: TId;
313
- readonly value: TEntry;
321
+ readonly value: DocumentValueOfNode<TNode>;
314
322
  }[]) => void;
315
- readonly item: (id: TId) => EntityWriter<TEntry>;
323
+ readonly item: (id: TId) => WriterOfNode<TNode>;
316
324
  readonly remove: (id: TId | readonly TId[]) => void;
317
325
  };
318
326
  type ListWriter<T> = {
@@ -326,15 +334,20 @@ type TreeWriter<T> = {
326
334
  readonly move: (id: string, parentId?: string, index?: number) => void;
327
335
  readonly remove: (id: string) => void;
328
336
  readonly set: (id: string, value: T) => void;
329
- readonly replace: (value: unknown) => void;
337
+ readonly replace: (value: DocumentTreeValue<T>) => void;
330
338
  };
331
- type EntityWriter<T> = T extends object ? { readonly [K in keyof T]: WriterValue<T[K]> } : FieldWriter<T>;
332
- type WriterValue<T> = T extends readonly (infer TItem)[] ? ListWriter<TItem> : T extends object ? EntityWriter<T> : FieldWriter<T>;
339
+ type OptionalClear<TNode extends DocumentNode, TWriter> = TNode extends {
340
+ readonly optional: true;
341
+ } ? TWriter & {
342
+ readonly clear: () => void;
343
+ } : TWriter;
333
344
  type WriterOfNode<TNode extends DocumentNode> = TNode extends {
334
345
  kind: 'field';
335
- } ? FieldWriter<DocumentValueOfNode<TNode>> : TNode extends ObjectNode<infer TShape> ? { readonly [K in keyof TShape]: WriterOfNode<TShape[K]> } : TNode extends VariantNode<string, infer _TVariants> ? {
346
+ } ? TNode extends {
347
+ readonly optional: true;
348
+ } ? FieldWriter<DocumentValueOfNode<TNode>, true> : FieldWriter<DocumentValueOfNode<TNode>> : TNode extends ObjectNode<infer TShape> ? { readonly [K in keyof TShape]: WriterOfNode<TShape[K]> } : TNode extends VariantNode<string, infer _TVariants> ? OptionalClear<TNode, {
336
349
  readonly replace: (value: DocumentValueOfNode<TNode>) => void;
337
- } : TNode extends SingleNode<infer TValue> ? WriterOfNode<TValue> : TNode extends TableNode<infer TValue> ? CollectionWriter<string, DocumentValueOfNode<TValue>> : TNode extends MapNode<infer TValue> ? MapWriter<string, DocumentValueOfNode<TValue>> : TNode extends DictNode<infer TKey, infer TValue> ? DictionaryWriter<TKey, TValue> : TNode extends ListNode<infer TItem> ? ListWriter<TItem> : TNode extends TreeNode<infer TValue> ? TreeWriter<TValue> : FieldWriter<DocumentValueOfNode<TNode>>;
350
+ }> : TNode extends SingleNode<infer TValue> ? WriterOfNode<TValue> : TNode extends TableNode<infer TValue> ? CollectionWriter<string, TValue> : TNode extends MapNode<infer TValue> ? MapWriter<string, TValue> : TNode extends DictNode<infer TKey, infer TValue> ? OptionalClear<TNode, DictionaryWriter<TKey, TValue>> : TNode extends ListNode<infer TItem> ? OptionalClear<TNode, ListWriter<TItem>> : TNode extends TreeNode<infer TValue> ? OptionalClear<TNode, TreeWriter<TValue>> : FieldWriter<DocumentValueOfNode<TNode>>;
338
351
  type DocumentWriter<TSchema extends DocumentSchema> = WriterOfNode<ObjectNode<TSchema['shape']>>;
339
352
  //#endregion
340
353
  //#region core/src/mutation/issue.d.ts
@@ -360,7 +373,7 @@ type CollectionImpact<TId> = {
360
373
  type DocumentImpact<TSchema extends DocumentSchema> = {
361
374
  readonly kind: 'incremental' | 'reset';
362
375
  readonly affects: (target: ImpactTarget<unknown>) => boolean;
363
- readonly collection: <TId extends string, TEntry>(selector: CollectionSelector<TId, TEntry>) => CollectionImpact<TId>;
376
+ readonly collection: <TId extends string>(selector: CollectionSelector<TId>) => CollectionImpact<TId>;
364
377
  readonly operations: readonly DocumentOperationUnion<TSchema>[];
365
378
  };
366
379
  //#endregion
@@ -535,5 +548,5 @@ type DocumentRuntime<TSchema extends DocumentSchema> = DocumentReadable<TSchema>
535
548
  dispose(): void;
536
549
  };
537
550
  //#endregion
538
- export { DocumentOperationUnion as $, variant as $t, MutationIssue as A, ObjectNode as At, WriterOfNode as B, VariantNode as Bt, contains as C, DocumentTreeValue as Ct, resolveAddress as D, ImpactTarget as Dt, read as E, FieldNode as Et, EntityWriter as F, SchemaPath as Ft, ListReader as G, map as Gt, DocumentReader as H, dict as Ht, FieldWriter as I, SingleNode as It, DictDeleteOperation as J, record as Jt, ReaderOfNode as K, object as Kt, ListWriter as L, TableNode as Lt, CollectionWriter as M, OptionalNode as Mt, DictionaryWriter as N, ReadonlyDocument as Nt, CollectionImpact as O, ListNode as Ot, DocumentWriter as P, RecordNode as Pt, DocumentOperation as Q, tree as Qt, MapWriter as R, TreeNode as Rt, AddressRef as S, DocumentTreeNode as St, overlaps as T, DocumentValueOfShape as Tt, EntityReader as U, field as Ut, CollectionReader as V, VariantShape as Vt, FieldReader as W, list as Wt, DictSetOperation as X, single as Xt, DictReplaceOperation as Y, schema as Yt, DocumentAnchor as Z, table as Zt, CommandFootprint as _, DictNode as _t, DocumentProblem as a, FieldSetOperation as at, decodeCommandFootprint as b, DocumentNode as bt, DocumentRuntime as c, ListRemoveOperation as ct, LocalHistory as d, TreeMoveOperation as dt, EntityCreateOperation as et, ObserverError as f, TreeRemoveOperation as ft, Unsubscribe as g, CollectionSelector as gt, TransactionResult as h, VariantReplaceOperation as ht, DocumentDisposedError as i, FieldClearOperation as it, MutationIssueCode as j, ObjectShape as jt, DocumentImpact as k, MapNode as kt, DocumentTransaction as l, ListReplaceOperation as lt, PreparedUpdateResult as m, TreeSetOperation as mt, DocumentCommit as n, EntityMoveOperation as nt, DocumentReadable as o, ListInsertOperation as ot, OperationResult as p, TreeReplaceOperation as pt, TreeReader as q, optional as qt, DocumentDiagnostic as r, EntityRemoveOperation as rt, DocumentReentrancyError as s, ListMoveOperation as st, CommitSource as t, EntityEntry as tt, HistoryState as u, TreeInsertOperation as ut, CommandFootprintTarget as v, DocumentAddress as vt, debugKey as w, DocumentValueOfNode as wt, footprintsOverlap as x, DocumentSchema as xt, commandFootprint as y, DocumentListConfig as yt, TreeWriter as z, ValueSelector as zt };
539
- //# sourceMappingURL=contract-D8kjdfqT.d.cts.map
551
+ export { EntityEntry as $, tree as $t, MutationIssue as A, MapNode as At, CollectionReader as B, ValueSelector as Bt, contains as C, DocumentTreeValue as Ct, resolveAddress as D, FieldNode as Dt, read as E, EntitySchemaNode as Et, FieldWriter as F, RecordNode as Ft, TreeReader as G, list as Gt, FieldReader as H, VariantShape as Ht, ListWriter as I, SchemaPath as It, DictSetOperation as J, optional as Jt, DictDeleteOperation as K, map as Kt, MapWriter as L, SingleNode as Lt, CollectionWriter as M, ObjectShape as Mt, DictionaryWriter as N, OptionalNode as Nt, CollectionImpact as O, ImpactTarget as Ot, DocumentWriter as P, ReadonlyDocument as Pt, EntityCreateOperation as Q, table as Qt, TreeWriter as R, TableNode as Rt, AddressRef as S, DocumentTreeNode as St, overlaps as T, DocumentValueOfShape as Tt, ListReader as U, dict as Ut, DocumentReader as V, VariantNode as Vt, ReaderOfNode as W, field as Wt, DocumentOperation as X, schema as Xt, DocumentAnchor as Y, record as Yt, DocumentOperationUnion as Z, single as Zt, CommandFootprint as _, DictNode as _t, DocumentProblem as a, ListMoveOperation as at, decodeCommandFootprint as b, DocumentNode as bt, DocumentRuntime as c, TreeInsertOperation as ct, LocalHistory as d, TreeReplaceOperation as dt, variant as en, EntityMoveOperation as et, ObserverError as f, TreeSetOperation as ft, Unsubscribe as g, CollectionSelector as gt, TransactionResult as h, CollectionNode as ht, DocumentDisposedError as i, ListInsertOperation as it, MutationIssueCode as j, ObjectNode as jt, DocumentImpact as k, ListNode as kt, DocumentTransaction as l, TreeMoveOperation as lt, PreparedUpdateResult as m, VariantReplaceOperation as mt, DocumentCommit as n, FieldClearOperation as nt, DocumentReadable as o, ListRemoveOperation as ot, OperationResult as p, ValueClearOperation as pt, DictReplaceOperation as q, object as qt, DocumentDiagnostic as r, FieldSetOperation as rt, DocumentReentrancyError as s, ListReplaceOperation as st, CommitSource as t, EntityRemoveOperation as tt, HistoryState as u, TreeRemoveOperation as ut, CommandFootprintTarget as v, DocumentAddress as vt, debugKey as w, DocumentValueOfNode as wt, footprintsOverlap as x, DocumentSchema as xt, commandFootprint as y, DocumentListConfig as yt, WriterOfNode as z, TreeNode as zt };
552
+ //# sourceMappingURL=contract-uYJTmT8o.d.cts.map