@fluidframework/tree 2.4.0-299374 → 2.4.0-299707
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/.vscode/settings.json +1 -9
- package/api-report/tree.alpha.api.md +21 -78
- package/api-report/tree.beta.api.md +21 -46
- package/api-report/tree.legacy.alpha.api.md +21 -46
- package/api-report/tree.legacy.public.api.md +21 -46
- package/api-report/tree.public.api.md +21 -46
- package/dist/alpha.d.ts +0 -9
- package/dist/beta.d.ts +0 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internalTypes.d.ts +1 -1
- package/dist/internalTypes.d.ts.map +1 -1
- package/dist/internalTypes.js.map +1 -1
- package/dist/legacy.d.ts +0 -2
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/public.d.ts +0 -2
- package/dist/shared-tree/treeApi.d.ts +6 -6
- package/dist/shared-tree/treeApi.d.ts.map +1 -1
- package/dist/shared-tree/treeApi.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +2 -2
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +3 -12
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.d.ts +9 -48
- package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
- package/dist/simple-tree/arrayNode.d.ts +3 -14
- package/dist/simple-tree/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/arrayNode.js.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.d.ts +5 -6
- package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/dist/simple-tree/core/withType.d.ts +1 -3
- package/dist/simple-tree/core/withType.d.ts.map +1 -1
- package/dist/simple-tree/core/withType.js.map +1 -1
- package/dist/simple-tree/index.d.ts +4 -4
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/schemaTypes.d.ts +6 -58
- package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
- package/dist/simple-tree/schemaTypes.js +1 -6
- package/dist/simple-tree/schemaTypes.js.map +1 -1
- package/dist/simple-tree/toMapTree.d.ts +2 -4
- package/dist/simple-tree/toMapTree.d.ts.map +1 -1
- package/dist/simple-tree/toMapTree.js.map +1 -1
- package/lib/alpha.d.ts +0 -9
- package/lib/beta.d.ts +0 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/internalTypes.d.ts +1 -1
- package/lib/internalTypes.d.ts.map +1 -1
- package/lib/internalTypes.js.map +1 -1
- package/lib/legacy.d.ts +0 -2
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/public.d.ts +0 -2
- package/lib/shared-tree/treeApi.d.ts +6 -6
- package/lib/shared-tree/treeApi.d.ts.map +1 -1
- package/lib/shared-tree/treeApi.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +2 -2
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +3 -12
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.d.ts +9 -48
- package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
- package/lib/simple-tree/arrayNode.d.ts +3 -14
- package/lib/simple-tree/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/arrayNode.js.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.d.ts +5 -6
- package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
- package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
- package/lib/simple-tree/core/withType.d.ts +1 -3
- package/lib/simple-tree/core/withType.d.ts.map +1 -1
- package/lib/simple-tree/core/withType.js.map +1 -1
- package/lib/simple-tree/index.d.ts +4 -4
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/schemaTypes.d.ts +6 -58
- package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
- package/lib/simple-tree/schemaTypes.js +0 -5
- package/lib/simple-tree/schemaTypes.js.map +1 -1
- package/lib/simple-tree/toMapTree.d.ts +2 -4
- package/lib/simple-tree/toMapTree.d.ts.map +1 -1
- package/lib/simple-tree/toMapTree.js.map +1 -1
- package/package.json +23 -39
- package/src/index.ts +0 -9
- package/src/internalTypes.ts +0 -3
- package/src/packageVersion.ts +1 -1
- package/src/shared-tree/treeApi.ts +9 -19
- package/src/simple-tree/api/index.ts +0 -5
- package/src/simple-tree/api/tree.ts +2 -24
- package/src/simple-tree/api/typesUnsafe.ts +18 -82
- package/src/simple-tree/arrayNode.ts +14 -34
- package/src/simple-tree/core/treeNodeSchema.ts +5 -7
- package/src/simple-tree/core/withType.ts +1 -10
- package/src/simple-tree/index.ts +1 -15
- package/src/simple-tree/schemaTypes.ts +5 -68
- package/src/simple-tree/toMapTree.ts +1 -4
|
@@ -7,9 +7,6 @@
|
|
|
7
7
|
// @public
|
|
8
8
|
export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
|
|
9
9
|
|
|
10
|
-
// @public
|
|
11
|
-
type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
|
|
12
|
-
|
|
13
10
|
// @public
|
|
14
11
|
type ApplyKind<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = {
|
|
15
12
|
[FieldKind.Required]: T;
|
|
@@ -116,7 +113,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
|
|
|
116
113
|
};
|
|
117
114
|
|
|
118
115
|
// @public
|
|
119
|
-
export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> :
|
|
116
|
+
export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
120
117
|
|
|
121
118
|
// @public
|
|
122
119
|
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
|
|
@@ -125,7 +122,7 @@ export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforce
|
|
|
125
122
|
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? InsertableTypedNode<TSchema> : TSchema extends AllowedTypes ? InsertableTypedNode<FlexListToUnion<TSchema>> : never;
|
|
126
123
|
|
|
127
124
|
// @public
|
|
128
|
-
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends
|
|
125
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends AllowedTypes ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
|
|
129
126
|
|
|
130
127
|
// @public
|
|
131
128
|
export type InsertableTypedNode<T extends TreeNodeSchema> = (T extends {
|
|
@@ -170,9 +167,6 @@ declare namespace InternalTypes {
|
|
|
170
167
|
NodeBuilderDataUnsafe,
|
|
171
168
|
NodeFromSchemaUnsafe,
|
|
172
169
|
ReadonlyMapInlined,
|
|
173
|
-
TreeNodeSchemaUnsafe,
|
|
174
|
-
AllowedTypesUnsafe,
|
|
175
|
-
TreeNodeSchemaNonClassUnsafe,
|
|
176
170
|
FlexList,
|
|
177
171
|
FlexListToUnion,
|
|
178
172
|
ExtractItemType,
|
|
@@ -225,16 +219,16 @@ export interface MakeNominal {
|
|
|
225
219
|
export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
|
|
226
220
|
|
|
227
221
|
// @public
|
|
228
|
-
type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind,
|
|
222
|
+
type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
229
223
|
|
|
230
224
|
// @public
|
|
231
|
-
type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends
|
|
225
|
+
type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
232
226
|
|
|
233
227
|
// @public
|
|
234
228
|
export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
|
|
235
229
|
|
|
236
230
|
// @public
|
|
237
|
-
type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends
|
|
231
|
+
type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
|
|
238
232
|
|
|
239
233
|
// @public
|
|
240
234
|
export interface NodeInDocumentConstraint {
|
|
@@ -265,10 +259,6 @@ type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<I
|
|
|
265
259
|
// @public
|
|
266
260
|
export type Off = () => void;
|
|
267
261
|
|
|
268
|
-
// @public @sealed
|
|
269
|
-
export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
|
|
270
|
-
}
|
|
271
|
-
|
|
272
262
|
// @public @sealed
|
|
273
263
|
interface ReadonlyMapInlined<K, T extends Unenforced<ImplicitAllowedTypes>> {
|
|
274
264
|
[Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
@@ -320,17 +310,17 @@ export const rollback: unique symbol;
|
|
|
320
310
|
// @public @sealed
|
|
321
311
|
export interface RunTransaction {
|
|
322
312
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult): TResult;
|
|
323
|
-
<TView extends TreeView<
|
|
313
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
|
|
324
314
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback): TResult | typeof rollback;
|
|
325
|
-
<TView extends TreeView<
|
|
315
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
|
|
326
316
|
<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void): void;
|
|
327
|
-
<TView extends TreeView<
|
|
317
|
+
<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void): void;
|
|
328
318
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
|
|
329
|
-
<TView extends TreeView<
|
|
319
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
|
|
330
320
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
|
|
331
|
-
<TView extends TreeView<
|
|
321
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
|
|
332
322
|
<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: readonly TransactionConstraint[]): void;
|
|
333
|
-
<TView extends TreeView<
|
|
323
|
+
<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
|
|
334
324
|
readonly rollback: typeof rollback;
|
|
335
325
|
}
|
|
336
326
|
|
|
@@ -393,7 +383,7 @@ interface TreeApi extends TreeNodeApi {
|
|
|
393
383
|
}
|
|
394
384
|
|
|
395
385
|
// @public @sealed
|
|
396
|
-
export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes
|
|
386
|
+
export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>, TreeArrayNode> {
|
|
397
387
|
}
|
|
398
388
|
|
|
399
389
|
// @public
|
|
@@ -402,7 +392,7 @@ export const TreeArrayNode: {
|
|
|
402
392
|
};
|
|
403
393
|
|
|
404
394
|
// @public @sealed
|
|
405
|
-
interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom
|
|
395
|
+
interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T>, TreeNode {
|
|
406
396
|
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
407
397
|
insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
408
398
|
insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
@@ -424,7 +414,7 @@ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> ex
|
|
|
424
414
|
}
|
|
425
415
|
|
|
426
416
|
// @public @sealed
|
|
427
|
-
export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes
|
|
417
|
+
export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, TreeArrayNode> {
|
|
428
418
|
}
|
|
429
419
|
|
|
430
420
|
// @public @sealed
|
|
@@ -434,7 +424,7 @@ export interface TreeChangeEvents {
|
|
|
434
424
|
}
|
|
435
425
|
|
|
436
426
|
// @public
|
|
437
|
-
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> :
|
|
427
|
+
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
438
428
|
|
|
439
429
|
// @public
|
|
440
430
|
type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
@@ -483,19 +473,13 @@ export interface TreeNodeApi {
|
|
|
483
473
|
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
484
474
|
|
|
485
475
|
// @public
|
|
486
|
-
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends
|
|
476
|
+
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
487
477
|
|
|
488
478
|
// @public @sealed
|
|
489
|
-
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode
|
|
479
|
+
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
|
|
490
480
|
|
|
491
481
|
// @public @sealed
|
|
492
|
-
export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode
|
|
493
|
-
// @sealed
|
|
494
|
-
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
// @public
|
|
498
|
-
export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
482
|
+
export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
499
483
|
// @sealed
|
|
500
484
|
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
501
485
|
}
|
|
@@ -511,20 +495,11 @@ export interface TreeNodeSchemaCore<out Name extends string, out Kind extends No
|
|
|
511
495
|
}
|
|
512
496
|
|
|
513
497
|
// @public @sealed
|
|
514
|
-
export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode
|
|
515
|
-
// (undocumented)
|
|
516
|
-
create(data: TInsertable): TNode;
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
// @public
|
|
520
|
-
interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
498
|
+
export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
521
499
|
// (undocumented)
|
|
522
500
|
create(data: TInsertable): TNode;
|
|
523
501
|
}
|
|
524
502
|
|
|
525
|
-
// @public
|
|
526
|
-
type TreeNodeSchemaUnsafe<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends Unenforced<TreeNode | TreeLeafValue> = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
|
|
527
|
-
|
|
528
503
|
// @public
|
|
529
504
|
export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
530
505
|
|
|
@@ -540,7 +515,7 @@ export enum TreeStatus {
|
|
|
540
515
|
}
|
|
541
516
|
|
|
542
517
|
// @public @sealed
|
|
543
|
-
export interface TreeView<
|
|
518
|
+
export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable {
|
|
544
519
|
readonly compatibility: SchemaCompatibilityStatus;
|
|
545
520
|
readonly events: Listenable<TreeViewEvents>;
|
|
546
521
|
initialize(content: InsertableTreeFieldFromImplicitField<TSchema>): void;
|
|
@@ -599,7 +574,7 @@ export interface ViewableTree {
|
|
|
599
574
|
export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
|
|
600
575
|
// @deprecated
|
|
601
576
|
get [typeNameSymbol](): TName;
|
|
602
|
-
get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind,
|
|
577
|
+
get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, unknown, never, boolean, TInfo>;
|
|
603
578
|
}
|
|
604
579
|
|
|
605
580
|
// (No @packageDocumentation comment for this package)
|
|
@@ -7,9 +7,6 @@
|
|
|
7
7
|
// @public
|
|
8
8
|
export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
|
|
9
9
|
|
|
10
|
-
// @public
|
|
11
|
-
type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
|
|
12
|
-
|
|
13
10
|
// @public
|
|
14
11
|
type ApplyKind<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = {
|
|
15
12
|
[FieldKind.Required]: T;
|
|
@@ -116,7 +113,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
|
|
|
116
113
|
};
|
|
117
114
|
|
|
118
115
|
// @public
|
|
119
|
-
export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> :
|
|
116
|
+
export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
120
117
|
|
|
121
118
|
// @public
|
|
122
119
|
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
|
|
@@ -125,7 +122,7 @@ export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforce
|
|
|
125
122
|
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? InsertableTypedNode<TSchema> : TSchema extends AllowedTypes ? InsertableTypedNode<FlexListToUnion<TSchema>> : never;
|
|
126
123
|
|
|
127
124
|
// @public
|
|
128
|
-
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends
|
|
125
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends AllowedTypes ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
|
|
129
126
|
|
|
130
127
|
// @public
|
|
131
128
|
export type InsertableTypedNode<T extends TreeNodeSchema> = (T extends {
|
|
@@ -170,9 +167,6 @@ declare namespace InternalTypes {
|
|
|
170
167
|
NodeBuilderDataUnsafe,
|
|
171
168
|
NodeFromSchemaUnsafe,
|
|
172
169
|
ReadonlyMapInlined,
|
|
173
|
-
TreeNodeSchemaUnsafe,
|
|
174
|
-
AllowedTypesUnsafe,
|
|
175
|
-
TreeNodeSchemaNonClassUnsafe,
|
|
176
170
|
FlexList,
|
|
177
171
|
FlexListToUnion,
|
|
178
172
|
ExtractItemType,
|
|
@@ -225,16 +219,16 @@ export interface MakeNominal {
|
|
|
225
219
|
export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
|
|
226
220
|
|
|
227
221
|
// @public
|
|
228
|
-
type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind,
|
|
222
|
+
type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
229
223
|
|
|
230
224
|
// @public
|
|
231
|
-
type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends
|
|
225
|
+
type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
232
226
|
|
|
233
227
|
// @public
|
|
234
228
|
export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
|
|
235
229
|
|
|
236
230
|
// @public
|
|
237
|
-
type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends
|
|
231
|
+
type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
|
|
238
232
|
|
|
239
233
|
// @public
|
|
240
234
|
export interface NodeInDocumentConstraint {
|
|
@@ -265,10 +259,6 @@ type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<I
|
|
|
265
259
|
// @public
|
|
266
260
|
export type Off = () => void;
|
|
267
261
|
|
|
268
|
-
// @public @sealed
|
|
269
|
-
export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
|
|
270
|
-
}
|
|
271
|
-
|
|
272
262
|
// @public @sealed
|
|
273
263
|
interface ReadonlyMapInlined<K, T extends Unenforced<ImplicitAllowedTypes>> {
|
|
274
264
|
[Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
@@ -320,17 +310,17 @@ export const rollback: unique symbol;
|
|
|
320
310
|
// @public @sealed
|
|
321
311
|
export interface RunTransaction {
|
|
322
312
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult): TResult;
|
|
323
|
-
<TView extends TreeView<
|
|
313
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
|
|
324
314
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback): TResult | typeof rollback;
|
|
325
|
-
<TView extends TreeView<
|
|
315
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
|
|
326
316
|
<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void): void;
|
|
327
|
-
<TView extends TreeView<
|
|
317
|
+
<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void): void;
|
|
328
318
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
|
|
329
|
-
<TView extends TreeView<
|
|
319
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
|
|
330
320
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
|
|
331
|
-
<TView extends TreeView<
|
|
321
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
|
|
332
322
|
<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: readonly TransactionConstraint[]): void;
|
|
333
|
-
<TView extends TreeView<
|
|
323
|
+
<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
|
|
334
324
|
readonly rollback: typeof rollback;
|
|
335
325
|
}
|
|
336
326
|
|
|
@@ -390,7 +380,7 @@ interface TreeApi extends TreeNodeApi {
|
|
|
390
380
|
}
|
|
391
381
|
|
|
392
382
|
// @public @sealed
|
|
393
|
-
export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes
|
|
383
|
+
export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>, TreeArrayNode> {
|
|
394
384
|
}
|
|
395
385
|
|
|
396
386
|
// @public
|
|
@@ -399,7 +389,7 @@ export const TreeArrayNode: {
|
|
|
399
389
|
};
|
|
400
390
|
|
|
401
391
|
// @public @sealed
|
|
402
|
-
interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom
|
|
392
|
+
interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T>, TreeNode {
|
|
403
393
|
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
404
394
|
insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
405
395
|
insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
@@ -421,7 +411,7 @@ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> ex
|
|
|
421
411
|
}
|
|
422
412
|
|
|
423
413
|
// @public @sealed
|
|
424
|
-
export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes
|
|
414
|
+
export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, TreeArrayNode> {
|
|
425
415
|
}
|
|
426
416
|
|
|
427
417
|
// @public @sealed
|
|
@@ -431,7 +421,7 @@ export interface TreeChangeEvents {
|
|
|
431
421
|
}
|
|
432
422
|
|
|
433
423
|
// @public
|
|
434
|
-
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> :
|
|
424
|
+
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
435
425
|
|
|
436
426
|
// @public
|
|
437
427
|
type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
@@ -480,19 +470,13 @@ export interface TreeNodeApi {
|
|
|
480
470
|
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
481
471
|
|
|
482
472
|
// @public
|
|
483
|
-
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends
|
|
473
|
+
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
484
474
|
|
|
485
475
|
// @public @sealed
|
|
486
|
-
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode
|
|
476
|
+
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
|
|
487
477
|
|
|
488
478
|
// @public @sealed
|
|
489
|
-
export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode
|
|
490
|
-
// @sealed
|
|
491
|
-
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
// @public
|
|
495
|
-
export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
479
|
+
export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
496
480
|
// @sealed
|
|
497
481
|
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
498
482
|
}
|
|
@@ -508,20 +492,11 @@ export interface TreeNodeSchemaCore<out Name extends string, out Kind extends No
|
|
|
508
492
|
}
|
|
509
493
|
|
|
510
494
|
// @public @sealed
|
|
511
|
-
export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode
|
|
512
|
-
// (undocumented)
|
|
513
|
-
create(data: TInsertable): TNode;
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
// @public
|
|
517
|
-
interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
495
|
+
export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
518
496
|
// (undocumented)
|
|
519
497
|
create(data: TInsertable): TNode;
|
|
520
498
|
}
|
|
521
499
|
|
|
522
|
-
// @public
|
|
523
|
-
type TreeNodeSchemaUnsafe<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends Unenforced<TreeNode | TreeLeafValue> = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
|
|
524
|
-
|
|
525
500
|
// @public
|
|
526
501
|
export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
527
502
|
|
|
@@ -537,7 +512,7 @@ export enum TreeStatus {
|
|
|
537
512
|
}
|
|
538
513
|
|
|
539
514
|
// @public @sealed
|
|
540
|
-
export interface TreeView<
|
|
515
|
+
export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable {
|
|
541
516
|
readonly compatibility: SchemaCompatibilityStatus;
|
|
542
517
|
readonly events: Listenable<TreeViewEvents>;
|
|
543
518
|
initialize(content: InsertableTreeFieldFromImplicitField<TSchema>): void;
|
|
@@ -596,7 +571,7 @@ export interface ViewableTree {
|
|
|
596
571
|
export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
|
|
597
572
|
// @deprecated
|
|
598
573
|
get [typeNameSymbol](): TName;
|
|
599
|
-
get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind,
|
|
574
|
+
get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, unknown, never, boolean, TInfo>;
|
|
600
575
|
}
|
|
601
576
|
|
|
602
577
|
// (No @packageDocumentation comment for this package)
|
|
@@ -7,9 +7,6 @@
|
|
|
7
7
|
// @public
|
|
8
8
|
export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
|
|
9
9
|
|
|
10
|
-
// @public
|
|
11
|
-
type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
|
|
12
|
-
|
|
13
10
|
// @public
|
|
14
11
|
type ApplyKind<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = {
|
|
15
12
|
[FieldKind.Required]: T;
|
|
@@ -116,7 +113,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
|
|
|
116
113
|
};
|
|
117
114
|
|
|
118
115
|
// @public
|
|
119
|
-
export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> :
|
|
116
|
+
export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
120
117
|
|
|
121
118
|
// @public
|
|
122
119
|
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
|
|
@@ -125,7 +122,7 @@ export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforce
|
|
|
125
122
|
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? InsertableTypedNode<TSchema> : TSchema extends AllowedTypes ? InsertableTypedNode<FlexListToUnion<TSchema>> : never;
|
|
126
123
|
|
|
127
124
|
// @public
|
|
128
|
-
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends
|
|
125
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends AllowedTypes ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
|
|
129
126
|
|
|
130
127
|
// @public
|
|
131
128
|
export type InsertableTypedNode<T extends TreeNodeSchema> = (T extends {
|
|
@@ -170,9 +167,6 @@ declare namespace InternalTypes {
|
|
|
170
167
|
NodeBuilderDataUnsafe,
|
|
171
168
|
NodeFromSchemaUnsafe,
|
|
172
169
|
ReadonlyMapInlined,
|
|
173
|
-
TreeNodeSchemaUnsafe,
|
|
174
|
-
AllowedTypesUnsafe,
|
|
175
|
-
TreeNodeSchemaNonClassUnsafe,
|
|
176
170
|
FlexList,
|
|
177
171
|
FlexListToUnion,
|
|
178
172
|
ExtractItemType,
|
|
@@ -225,16 +219,16 @@ export interface MakeNominal {
|
|
|
225
219
|
export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
|
|
226
220
|
|
|
227
221
|
// @public
|
|
228
|
-
type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind,
|
|
222
|
+
type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
229
223
|
|
|
230
224
|
// @public
|
|
231
|
-
type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends
|
|
225
|
+
type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
232
226
|
|
|
233
227
|
// @public
|
|
234
228
|
export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
|
|
235
229
|
|
|
236
230
|
// @public
|
|
237
|
-
type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends
|
|
231
|
+
type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
|
|
238
232
|
|
|
239
233
|
// @public
|
|
240
234
|
export interface NodeInDocumentConstraint {
|
|
@@ -265,10 +259,6 @@ type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<I
|
|
|
265
259
|
// @public
|
|
266
260
|
export type Off = () => void;
|
|
267
261
|
|
|
268
|
-
// @public @sealed
|
|
269
|
-
export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
|
|
270
|
-
}
|
|
271
|
-
|
|
272
262
|
// @public @sealed
|
|
273
263
|
interface ReadonlyMapInlined<K, T extends Unenforced<ImplicitAllowedTypes>> {
|
|
274
264
|
[Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
@@ -320,17 +310,17 @@ export const rollback: unique symbol;
|
|
|
320
310
|
// @public @sealed
|
|
321
311
|
export interface RunTransaction {
|
|
322
312
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult): TResult;
|
|
323
|
-
<TView extends TreeView<
|
|
313
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
|
|
324
314
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback): TResult | typeof rollback;
|
|
325
|
-
<TView extends TreeView<
|
|
315
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
|
|
326
316
|
<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void): void;
|
|
327
|
-
<TView extends TreeView<
|
|
317
|
+
<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void): void;
|
|
328
318
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
|
|
329
|
-
<TView extends TreeView<
|
|
319
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
|
|
330
320
|
<TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
|
|
331
|
-
<TView extends TreeView<
|
|
321
|
+
<TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
|
|
332
322
|
<TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: readonly TransactionConstraint[]): void;
|
|
333
|
-
<TView extends TreeView<
|
|
323
|
+
<TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
|
|
334
324
|
readonly rollback: typeof rollback;
|
|
335
325
|
}
|
|
336
326
|
|
|
@@ -390,7 +380,7 @@ interface TreeApi extends TreeNodeApi {
|
|
|
390
380
|
}
|
|
391
381
|
|
|
392
382
|
// @public @sealed
|
|
393
|
-
export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes
|
|
383
|
+
export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>, TreeArrayNode> {
|
|
394
384
|
}
|
|
395
385
|
|
|
396
386
|
// @public
|
|
@@ -399,7 +389,7 @@ export const TreeArrayNode: {
|
|
|
399
389
|
};
|
|
400
390
|
|
|
401
391
|
// @public @sealed
|
|
402
|
-
interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom
|
|
392
|
+
interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T>, TreeNode {
|
|
403
393
|
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
404
394
|
insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
405
395
|
insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
@@ -421,7 +411,7 @@ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> ex
|
|
|
421
411
|
}
|
|
422
412
|
|
|
423
413
|
// @public @sealed
|
|
424
|
-
export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes
|
|
414
|
+
export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, TreeArrayNode> {
|
|
425
415
|
}
|
|
426
416
|
|
|
427
417
|
// @public @sealed
|
|
@@ -431,7 +421,7 @@ export interface TreeChangeEvents {
|
|
|
431
421
|
}
|
|
432
422
|
|
|
433
423
|
// @public
|
|
434
|
-
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> :
|
|
424
|
+
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
|
|
435
425
|
|
|
436
426
|
// @public
|
|
437
427
|
type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
@@ -480,19 +470,13 @@ export interface TreeNodeApi {
|
|
|
480
470
|
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
481
471
|
|
|
482
472
|
// @public
|
|
483
|
-
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends
|
|
473
|
+
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
484
474
|
|
|
485
475
|
// @public @sealed
|
|
486
|
-
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode
|
|
476
|
+
export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
|
|
487
477
|
|
|
488
478
|
// @public @sealed
|
|
489
|
-
export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode
|
|
490
|
-
// @sealed
|
|
491
|
-
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
// @public
|
|
495
|
-
export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
479
|
+
export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
496
480
|
// @sealed
|
|
497
481
|
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
498
482
|
}
|
|
@@ -508,20 +492,11 @@ export interface TreeNodeSchemaCore<out Name extends string, out Kind extends No
|
|
|
508
492
|
}
|
|
509
493
|
|
|
510
494
|
// @public @sealed
|
|
511
|
-
export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode
|
|
512
|
-
// (undocumented)
|
|
513
|
-
create(data: TInsertable): TNode;
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
// @public
|
|
517
|
-
interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
495
|
+
export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
518
496
|
// (undocumented)
|
|
519
497
|
create(data: TInsertable): TNode;
|
|
520
498
|
}
|
|
521
499
|
|
|
522
|
-
// @public
|
|
523
|
-
type TreeNodeSchemaUnsafe<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends Unenforced<TreeNode | TreeLeafValue> = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
|
|
524
|
-
|
|
525
500
|
// @public
|
|
526
501
|
export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
527
502
|
|
|
@@ -537,7 +512,7 @@ export enum TreeStatus {
|
|
|
537
512
|
}
|
|
538
513
|
|
|
539
514
|
// @public @sealed
|
|
540
|
-
export interface TreeView<
|
|
515
|
+
export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable {
|
|
541
516
|
readonly compatibility: SchemaCompatibilityStatus;
|
|
542
517
|
readonly events: Listenable<TreeViewEvents>;
|
|
543
518
|
initialize(content: InsertableTreeFieldFromImplicitField<TSchema>): void;
|
|
@@ -596,7 +571,7 @@ export interface ViewableTree {
|
|
|
596
571
|
export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
|
|
597
572
|
// @deprecated
|
|
598
573
|
get [typeNameSymbol](): TName;
|
|
599
|
-
get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind,
|
|
574
|
+
get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, unknown, never, boolean, TInfo>;
|
|
600
575
|
}
|
|
601
576
|
|
|
602
577
|
// (No @packageDocumentation comment for this package)
|
package/dist/alpha.d.ts
CHANGED
|
@@ -44,7 +44,6 @@ export {
|
|
|
44
44
|
NodeInDocumentConstraint,
|
|
45
45
|
NodeKind,
|
|
46
46
|
Off,
|
|
47
|
-
ReadonlyArrayNode,
|
|
48
47
|
RestrictiveReadonlyRecord,
|
|
49
48
|
RestrictiveStringRecord,
|
|
50
49
|
Revertible,
|
|
@@ -67,7 +66,6 @@ export {
|
|
|
67
66
|
TreeNodeFromImplicitAllowedTypes,
|
|
68
67
|
TreeNodeSchema,
|
|
69
68
|
TreeNodeSchemaClass,
|
|
70
|
-
TreeNodeSchemaClassUnsafe,
|
|
71
69
|
TreeNodeSchemaCore,
|
|
72
70
|
TreeNodeSchemaNonClass,
|
|
73
71
|
TreeObjectNode,
|
|
@@ -90,15 +88,10 @@ export {
|
|
|
90
88
|
TreeChangeEventsBeta,
|
|
91
89
|
|
|
92
90
|
// @alpha APIs
|
|
93
|
-
FactoryContent,
|
|
94
|
-
FactoryContentObject,
|
|
95
91
|
FixRecursiveArraySchema,
|
|
96
92
|
ForestOptions,
|
|
97
93
|
ForestType,
|
|
98
94
|
ICodecOptions,
|
|
99
|
-
Insertable,
|
|
100
|
-
InsertableContent,
|
|
101
|
-
InsertableField,
|
|
102
95
|
JsonArrayNodeSchema,
|
|
103
96
|
JsonCompatible,
|
|
104
97
|
JsonCompatibleObject,
|
|
@@ -122,8 +115,6 @@ export {
|
|
|
122
115
|
TreeBranch,
|
|
123
116
|
TreeBranchFork,
|
|
124
117
|
TreeCompressionStrategy,
|
|
125
|
-
TreeViewAlpha,
|
|
126
|
-
UnsafeUnknownSchema,
|
|
127
118
|
adaptEnum,
|
|
128
119
|
comparePersistedSchema,
|
|
129
120
|
enumFromStrings,
|