@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.
Files changed (109) hide show
  1. package/.vscode/settings.json +1 -9
  2. package/api-report/tree.alpha.api.md +21 -78
  3. package/api-report/tree.beta.api.md +21 -46
  4. package/api-report/tree.legacy.alpha.api.md +21 -46
  5. package/api-report/tree.legacy.public.api.md +21 -46
  6. package/api-report/tree.public.api.md +21 -46
  7. package/dist/alpha.d.ts +0 -9
  8. package/dist/beta.d.ts +0 -2
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/internalTypes.d.ts +1 -1
  13. package/dist/internalTypes.d.ts.map +1 -1
  14. package/dist/internalTypes.js.map +1 -1
  15. package/dist/legacy.d.ts +0 -2
  16. package/dist/packageVersion.d.ts +1 -1
  17. package/dist/packageVersion.js +1 -1
  18. package/dist/packageVersion.js.map +1 -1
  19. package/dist/public.d.ts +0 -2
  20. package/dist/shared-tree/treeApi.d.ts +6 -6
  21. package/dist/shared-tree/treeApi.d.ts.map +1 -1
  22. package/dist/shared-tree/treeApi.js.map +1 -1
  23. package/dist/simple-tree/api/index.d.ts +2 -2
  24. package/dist/simple-tree/api/index.d.ts.map +1 -1
  25. package/dist/simple-tree/api/index.js.map +1 -1
  26. package/dist/simple-tree/api/tree.d.ts +3 -12
  27. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  28. package/dist/simple-tree/api/tree.js.map +1 -1
  29. package/dist/simple-tree/api/typesUnsafe.d.ts +9 -48
  30. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  31. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  32. package/dist/simple-tree/arrayNode.d.ts +3 -14
  33. package/dist/simple-tree/arrayNode.d.ts.map +1 -1
  34. package/dist/simple-tree/arrayNode.js.map +1 -1
  35. package/dist/simple-tree/core/treeNodeSchema.d.ts +5 -6
  36. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  37. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  38. package/dist/simple-tree/core/withType.d.ts +1 -3
  39. package/dist/simple-tree/core/withType.d.ts.map +1 -1
  40. package/dist/simple-tree/core/withType.js.map +1 -1
  41. package/dist/simple-tree/index.d.ts +4 -4
  42. package/dist/simple-tree/index.d.ts.map +1 -1
  43. package/dist/simple-tree/index.js.map +1 -1
  44. package/dist/simple-tree/schemaTypes.d.ts +6 -58
  45. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  46. package/dist/simple-tree/schemaTypes.js +1 -6
  47. package/dist/simple-tree/schemaTypes.js.map +1 -1
  48. package/dist/simple-tree/toMapTree.d.ts +2 -4
  49. package/dist/simple-tree/toMapTree.d.ts.map +1 -1
  50. package/dist/simple-tree/toMapTree.js.map +1 -1
  51. package/lib/alpha.d.ts +0 -9
  52. package/lib/beta.d.ts +0 -2
  53. package/lib/index.d.ts +1 -1
  54. package/lib/index.d.ts.map +1 -1
  55. package/lib/index.js.map +1 -1
  56. package/lib/internalTypes.d.ts +1 -1
  57. package/lib/internalTypes.d.ts.map +1 -1
  58. package/lib/internalTypes.js.map +1 -1
  59. package/lib/legacy.d.ts +0 -2
  60. package/lib/packageVersion.d.ts +1 -1
  61. package/lib/packageVersion.js +1 -1
  62. package/lib/packageVersion.js.map +1 -1
  63. package/lib/public.d.ts +0 -2
  64. package/lib/shared-tree/treeApi.d.ts +6 -6
  65. package/lib/shared-tree/treeApi.d.ts.map +1 -1
  66. package/lib/shared-tree/treeApi.js.map +1 -1
  67. package/lib/simple-tree/api/index.d.ts +2 -2
  68. package/lib/simple-tree/api/index.d.ts.map +1 -1
  69. package/lib/simple-tree/api/index.js.map +1 -1
  70. package/lib/simple-tree/api/tree.d.ts +3 -12
  71. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  72. package/lib/simple-tree/api/tree.js.map +1 -1
  73. package/lib/simple-tree/api/typesUnsafe.d.ts +9 -48
  74. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  75. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  76. package/lib/simple-tree/arrayNode.d.ts +3 -14
  77. package/lib/simple-tree/arrayNode.d.ts.map +1 -1
  78. package/lib/simple-tree/arrayNode.js.map +1 -1
  79. package/lib/simple-tree/core/treeNodeSchema.d.ts +5 -6
  80. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  81. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  82. package/lib/simple-tree/core/withType.d.ts +1 -3
  83. package/lib/simple-tree/core/withType.d.ts.map +1 -1
  84. package/lib/simple-tree/core/withType.js.map +1 -1
  85. package/lib/simple-tree/index.d.ts +4 -4
  86. package/lib/simple-tree/index.d.ts.map +1 -1
  87. package/lib/simple-tree/index.js +1 -1
  88. package/lib/simple-tree/index.js.map +1 -1
  89. package/lib/simple-tree/schemaTypes.d.ts +6 -58
  90. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  91. package/lib/simple-tree/schemaTypes.js +0 -5
  92. package/lib/simple-tree/schemaTypes.js.map +1 -1
  93. package/lib/simple-tree/toMapTree.d.ts +2 -4
  94. package/lib/simple-tree/toMapTree.d.ts.map +1 -1
  95. package/lib/simple-tree/toMapTree.js.map +1 -1
  96. package/package.json +23 -39
  97. package/src/index.ts +0 -9
  98. package/src/internalTypes.ts +0 -3
  99. package/src/packageVersion.ts +1 -1
  100. package/src/shared-tree/treeApi.ts +9 -19
  101. package/src/simple-tree/api/index.ts +0 -5
  102. package/src/simple-tree/api/tree.ts +2 -24
  103. package/src/simple-tree/api/typesUnsafe.ts +18 -82
  104. package/src/simple-tree/arrayNode.ts +14 -34
  105. package/src/simple-tree/core/treeNodeSchema.ts +5 -7
  106. package/src/simple-tree/core/withType.ts +1 -10
  107. package/src/simple-tree/index.ts +1 -15
  108. package/src/simple-tree/schemaTypes.ts +5 -68
  109. 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> : never;
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 AllowedTypesUnsafe ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
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, TreeNode | TreeLeafValue, infer TBuild> ? TBuild : never;
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 TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
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 TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
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<any>>(tree: TView, transaction: (root: TView["root"]) => void): void;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
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<any>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
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 = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
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> : TreeNode | TreeLeafValue | undefined;
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 TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
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 extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
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 extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
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 extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
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<in out TSchema extends ImplicitFieldSchema> extends IDisposable {
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, TreeNode | TreeLeafValue, never, boolean, TInfo>;
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> : never;
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 AllowedTypesUnsafe ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
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, TreeNode | TreeLeafValue, infer TBuild> ? TBuild : never;
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 TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
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 TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
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<any>>(tree: TView, transaction: (root: TView["root"]) => void): void;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
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<any>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
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 = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
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> : TreeNode | TreeLeafValue | undefined;
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 TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
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 extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
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 extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
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 extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
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<in out TSchema extends ImplicitFieldSchema> extends IDisposable {
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, TreeNode | TreeLeafValue, never, boolean, TInfo>;
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> : never;
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 AllowedTypesUnsafe ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
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, TreeNode | TreeLeafValue, infer TBuild> ? TBuild : never;
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 TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
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 TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
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<any>>(tree: TView, transaction: (root: TView["root"]) => void): void;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
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<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
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<any>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
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 = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
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> : TreeNode | TreeLeafValue | undefined;
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 TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
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 extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
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 extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
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 extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
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<in out TSchema extends ImplicitFieldSchema> extends IDisposable {
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, TreeNode | TreeLeafValue, never, boolean, TInfo>;
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,