fluid-framework 2.33.0-333010 → 2.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +65 -0
- package/api-report/fluid-framework.alpha.api.md +169 -192
- package/api-report/fluid-framework.beta.api.md +135 -164
- package/api-report/fluid-framework.legacy.alpha.api.md +177 -206
- package/api-report/fluid-framework.legacy.public.api.md +139 -168
- package/api-report/fluid-framework.public.api.md +135 -164
- package/dist/alpha.d.ts +3 -11
- package/dist/beta.d.ts +2 -11
- package/dist/legacy.d.ts +2 -11
- package/dist/public.d.ts +2 -11
- package/lib/alpha.d.ts +3 -11
- package/lib/beta.d.ts +2 -11
- package/lib/legacy.d.ts +2 -11
- package/lib/public.d.ts +2 -11
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +13 -13
|
@@ -4,20 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
|
|
7
|
-
// @public
|
|
7
|
+
// @public @system
|
|
8
8
|
export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
|
|
9
9
|
|
|
10
|
-
// @public
|
|
11
|
-
type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
|
|
12
|
-
|
|
13
|
-
// @public
|
|
10
|
+
// @public @system
|
|
14
11
|
type ApplyKind<T, Kind extends FieldKind> = {
|
|
15
12
|
[FieldKind.Required]: T;
|
|
16
13
|
[FieldKind.Optional]: T | undefined;
|
|
17
14
|
[FieldKind.Identifier]: T;
|
|
18
15
|
}[Kind];
|
|
19
16
|
|
|
20
|
-
// @public
|
|
17
|
+
// @public @system
|
|
21
18
|
type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = [
|
|
22
19
|
Kind
|
|
23
20
|
] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
|
|
@@ -70,7 +67,7 @@ export interface ContainerSchema {
|
|
|
70
67
|
readonly initialObjects: Record<string, SharedObjectKind>;
|
|
71
68
|
}
|
|
72
69
|
|
|
73
|
-
// @public @sealed
|
|
70
|
+
// @public @sealed @system
|
|
74
71
|
interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
|
|
75
72
|
}
|
|
76
73
|
|
|
@@ -80,15 +77,12 @@ export abstract class ErasedType<out Name = unknown> {
|
|
|
80
77
|
protected abstract brand(dummy: never): Name;
|
|
81
78
|
}
|
|
82
79
|
|
|
83
|
-
// @public
|
|
80
|
+
// @public @system
|
|
84
81
|
type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
|
|
85
82
|
|
|
86
|
-
// @public
|
|
83
|
+
// @public @system
|
|
87
84
|
type FieldHasDefault<T extends ImplicitFieldSchema> = T extends FieldSchema<FieldKind.Optional | FieldKind.Identifier> ? true : false;
|
|
88
85
|
|
|
89
|
-
// @public @sealed
|
|
90
|
-
type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
|
|
91
|
-
|
|
92
86
|
// @public
|
|
93
87
|
export enum FieldKind {
|
|
94
88
|
Identifier = 2,
|
|
@@ -124,22 +118,15 @@ export interface FieldSchemaMetadata<TCustomMetadata = unknown> {
|
|
|
124
118
|
readonly description?: string | undefined;
|
|
125
119
|
}
|
|
126
120
|
|
|
127
|
-
// @public @
|
|
128
|
-
export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
|
|
129
|
-
readonly allowedTypes: Types;
|
|
130
|
-
readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
|
|
131
|
-
readonly kind: Kind;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// @public
|
|
121
|
+
// @public @system
|
|
135
122
|
type FlattenKeys<T> = [{
|
|
136
123
|
[Property in keyof T]: T[Property];
|
|
137
124
|
}][_InlineTrick];
|
|
138
125
|
|
|
139
|
-
// @public
|
|
126
|
+
// @public @system
|
|
140
127
|
type FlexList<Item = unknown> = readonly LazyItem<Item>[];
|
|
141
128
|
|
|
142
|
-
// @public
|
|
129
|
+
// @public @system
|
|
143
130
|
type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
|
|
144
131
|
|
|
145
132
|
// @public
|
|
@@ -406,27 +393,21 @@ export interface IMember {
|
|
|
406
393
|
// @public
|
|
407
394
|
export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
408
395
|
|
|
409
|
-
// @public
|
|
410
|
-
export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
|
|
411
|
-
|
|
412
396
|
// @public
|
|
413
397
|
export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
|
|
414
398
|
|
|
415
|
-
// @public
|
|
416
|
-
export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
|
|
417
|
-
|
|
418
399
|
// @public
|
|
419
400
|
export type InitialObjects<T extends ContainerSchema> = {
|
|
420
401
|
[K in keyof T["initialObjects"]]: T["initialObjects"][K] extends SharedObjectKind<infer TChannel> ? TChannel : never;
|
|
421
402
|
};
|
|
422
403
|
|
|
423
|
-
// @public
|
|
404
|
+
// @public @system
|
|
424
405
|
type _InlineTrick = 0;
|
|
425
406
|
|
|
426
|
-
// @public
|
|
407
|
+
// @public @system
|
|
427
408
|
export type Input<T extends never> = T;
|
|
428
409
|
|
|
429
|
-
// @public
|
|
410
|
+
// @public @system
|
|
430
411
|
type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {
|
|
431
412
|
arbitraryKey: "arbitraryValue";
|
|
432
413
|
} extends T ? Record<string, never> : never : FlattenKeys<{
|
|
@@ -435,45 +416,25 @@ type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<Implicit
|
|
|
435
416
|
readonly [Property in keyof T as FieldHasDefault<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitField<T[Property & string]>;
|
|
436
417
|
}>;
|
|
437
418
|
|
|
438
|
-
// @public
|
|
439
|
-
export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
440
|
-
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
441
|
-
} & {
|
|
442
|
-
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
443
|
-
};
|
|
444
|
-
|
|
445
419
|
// @public
|
|
446
420
|
export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
|
|
447
421
|
|
|
448
|
-
// @public
|
|
449
|
-
export type
|
|
450
|
-
|
|
451
|
-
// @public
|
|
452
|
-
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = TList extends readonly [
|
|
422
|
+
// @public @system
|
|
423
|
+
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = [TList] extends [
|
|
424
|
+
readonly [
|
|
453
425
|
LazyItem<infer TSchema extends TreeNodeSchema>,
|
|
454
426
|
...infer Rest extends AllowedTypes
|
|
427
|
+
]
|
|
455
428
|
] ? InsertableTypedNode<TSchema> | InsertableTreeNodeFromAllowedTypes<Rest> : never;
|
|
456
429
|
|
|
457
|
-
// @public
|
|
458
|
-
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = TList extends readonly [
|
|
459
|
-
LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
460
|
-
...infer Rest extends AllowedTypesUnsafe
|
|
461
|
-
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
462
|
-
|
|
463
430
|
// @public
|
|
464
431
|
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
|
|
465
432
|
TSchema
|
|
466
433
|
] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
|
|
467
434
|
|
|
468
|
-
// @public
|
|
469
|
-
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
470
|
-
|
|
471
435
|
// @public
|
|
472
436
|
export type InsertableTypedNode<TSchema extends TreeNodeSchema, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchema<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderData<T> : never) | (T extends TreeNodeSchema ? Unhydrated<TreeNode extends NodeFromSchema<T> ? never : NodeFromSchema<T>> : never);
|
|
473
437
|
|
|
474
|
-
// @public
|
|
475
|
-
type InsertableTypedNodeUnsafe<TSchema extends TreeNodeSchemaUnsafe, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchemaUnsafe<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderDataUnsafe<T> : never) | (T extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<T> : never);
|
|
476
|
-
|
|
477
438
|
// @public @sealed
|
|
478
439
|
export interface InternalTreeNode extends ErasedType<"@fluidframework/tree.InternalTreeNode"> {
|
|
479
440
|
}
|
|
@@ -490,24 +451,6 @@ declare namespace InternalTypes {
|
|
|
490
451
|
DefaultProvider,
|
|
491
452
|
typeNameSymbol,
|
|
492
453
|
InsertableObjectFromSchemaRecord,
|
|
493
|
-
ObjectFromSchemaRecord,
|
|
494
|
-
FieldHasDefaultUnsafe,
|
|
495
|
-
ObjectFromSchemaRecordUnsafe,
|
|
496
|
-
TreeObjectNodeUnsafe,
|
|
497
|
-
TreeFieldFromImplicitFieldUnsafe,
|
|
498
|
-
TreeNodeFromImplicitAllowedTypesUnsafe,
|
|
499
|
-
InsertableTreeNodeFromImplicitAllowedTypesUnsafe,
|
|
500
|
-
TreeArrayNodeUnsafe,
|
|
501
|
-
TreeMapNodeUnsafe,
|
|
502
|
-
InsertableObjectFromSchemaRecordUnsafe,
|
|
503
|
-
InsertableTreeFieldFromImplicitFieldUnsafe,
|
|
504
|
-
InsertableTypedNodeUnsafe,
|
|
505
|
-
NodeBuilderDataUnsafe,
|
|
506
|
-
NodeFromSchemaUnsafe,
|
|
507
|
-
ReadonlyMapInlined,
|
|
508
|
-
TreeNodeSchemaUnsafe,
|
|
509
|
-
AllowedTypesUnsafe,
|
|
510
|
-
TreeNodeSchemaNonClassUnsafe,
|
|
511
454
|
FlexList,
|
|
512
455
|
FlexListToUnion,
|
|
513
456
|
ExtractItemType,
|
|
@@ -572,7 +515,7 @@ export interface ITreeViewConfiguration<TSchema extends ImplicitFieldSchema = Im
|
|
|
572
515
|
// @public
|
|
573
516
|
export type LazyItem<Item = unknown> = Item | (() => Item);
|
|
574
517
|
|
|
575
|
-
// @public @sealed
|
|
518
|
+
// @public @sealed @system
|
|
576
519
|
export interface LeafSchema<Name extends string, T extends TreeLeafValue> extends TreeNodeSchemaNonClass<`com.fluidframework.leaf.${Name}`, NodeKind.Leaf, T, T, true> {
|
|
577
520
|
}
|
|
578
521
|
|
|
@@ -591,7 +534,7 @@ export type Listeners<T extends object> = {
|
|
|
591
534
|
export interface MakeNominal {
|
|
592
535
|
}
|
|
593
536
|
|
|
594
|
-
// @public
|
|
537
|
+
// @public @system
|
|
595
538
|
export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
|
|
596
539
|
|
|
597
540
|
// @public
|
|
@@ -602,18 +545,12 @@ export type Myself<M extends IMember = IMember> = M & {
|
|
|
602
545
|
readonly currentConnection: string;
|
|
603
546
|
};
|
|
604
547
|
|
|
605
|
-
// @public
|
|
548
|
+
// @public @system
|
|
606
549
|
type NodeBuilderData<T extends TreeNodeSchemaCore<string, NodeKind, boolean>> = T extends TreeNodeSchemaCore<string, NodeKind, boolean, unknown, infer TBuild> ? TBuild : never;
|
|
607
550
|
|
|
608
|
-
// @public
|
|
609
|
-
type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
610
|
-
|
|
611
551
|
// @public
|
|
612
552
|
export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchemaClass<string, NodeKind, infer TNode> ? TNode : T extends TreeNodeSchemaNonClass<string, NodeKind, infer TNode> ? TNode : never;
|
|
613
553
|
|
|
614
|
-
// @public
|
|
615
|
-
type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
|
|
616
|
-
|
|
617
554
|
// @public
|
|
618
555
|
export interface NodeInDocumentConstraint {
|
|
619
556
|
// (undocumented)
|
|
@@ -641,39 +578,18 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
|
|
|
641
578
|
readonly metadata?: NodeSchemaMetadata<TCustomMetadata> | undefined;
|
|
642
579
|
}
|
|
643
580
|
|
|
644
|
-
// @public
|
|
645
|
-
type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
|
|
581
|
+
// @public @system
|
|
582
|
+
export type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
|
|
646
583
|
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitField<T[Property]> : unknown;
|
|
647
584
|
};
|
|
648
585
|
|
|
649
|
-
// @public
|
|
650
|
-
type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
651
|
-
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
|
|
652
|
-
};
|
|
653
|
-
|
|
654
586
|
// @public
|
|
655
587
|
export type Off = () => void;
|
|
656
588
|
|
|
657
|
-
// @public @sealed
|
|
589
|
+
// @public @sealed @system
|
|
658
590
|
export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
|
|
659
591
|
}
|
|
660
592
|
|
|
661
|
-
// @public @sealed
|
|
662
|
-
interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
|
|
663
|
-
[Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
664
|
-
entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
665
|
-
// (undocumented)
|
|
666
|
-
forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
|
|
667
|
-
// (undocumented)
|
|
668
|
-
get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
|
|
669
|
-
// (undocumented)
|
|
670
|
-
has(key: K): boolean;
|
|
671
|
-
keys(): IterableIterator<K>;
|
|
672
|
-
// (undocumented)
|
|
673
|
-
readonly size: number;
|
|
674
|
-
values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
675
|
-
}
|
|
676
|
-
|
|
677
593
|
// @public
|
|
678
594
|
export type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
|
|
679
595
|
[K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
|
|
@@ -684,7 +600,7 @@ export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
|
|
|
684
600
|
readonly [P in symbol | string]: P extends K ? T : never;
|
|
685
601
|
};
|
|
686
602
|
|
|
687
|
-
// @public
|
|
603
|
+
// @public @system
|
|
688
604
|
export type RestrictiveStringRecord<T> = {
|
|
689
605
|
readonly [P in string]: T;
|
|
690
606
|
} & {
|
|
@@ -742,8 +658,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
742
658
|
scope: TScope);
|
|
743
659
|
array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
|
|
744
660
|
array<const Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
|
|
745
|
-
arrayRecursive<const Name extends TName, const T extends ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
|
|
746
|
-
[Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
661
|
+
arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
|
|
662
|
+
[Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
747
663
|
}, false, T, undefined>;
|
|
748
664
|
readonly boolean: LeafSchema<"boolean", boolean>;
|
|
749
665
|
static readonly boolean: LeafSchema<"boolean", boolean>;
|
|
@@ -754,34 +670,34 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
754
670
|
static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>];
|
|
755
671
|
map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
|
|
756
672
|
map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
|
|
757
|
-
mapRecursive<Name extends TName, const T extends ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
|
|
673
|
+
mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
|
|
758
674
|
[Symbol.iterator](): Iterator<[
|
|
759
675
|
string,
|
|
760
|
-
InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
676
|
+
System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
761
677
|
]>;
|
|
762
678
|
} | {
|
|
763
|
-
readonly [x: string]: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
|
|
679
|
+
readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
|
|
764
680
|
}, false, T, undefined>;
|
|
765
681
|
readonly null: LeafSchema<"null", null>;
|
|
766
682
|
static readonly null: LeafSchema<"null", null>;
|
|
767
683
|
readonly number: LeafSchema<"number", number>;
|
|
768
684
|
static readonly number: LeafSchema<"number", number>;
|
|
769
685
|
object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
|
|
770
|
-
objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
|
|
686
|
+
objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
|
|
771
687
|
readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
772
688
|
static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
773
|
-
readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
774
|
-
static readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
689
|
+
readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
690
|
+
static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
775
691
|
readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
776
692
|
static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
777
|
-
readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
778
|
-
static readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
693
|
+
readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
694
|
+
static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
779
695
|
readonly scope: TScope;
|
|
780
696
|
readonly string: LeafSchema<"string", string>;
|
|
781
697
|
static readonly string: LeafSchema<"string", string>;
|
|
782
698
|
}
|
|
783
699
|
|
|
784
|
-
// @public @sealed
|
|
700
|
+
// @public @sealed @system
|
|
785
701
|
export interface SchemaStatics {
|
|
786
702
|
readonly boolean: LeafSchema<"boolean", boolean>;
|
|
787
703
|
readonly handle: LeafSchema<"handle", IFluidHandle>;
|
|
@@ -795,13 +711,13 @@ export interface SchemaStatics {
|
|
|
795
711
|
readonly null: LeafSchema<"null", null>;
|
|
796
712
|
readonly number: LeafSchema<"number", number>;
|
|
797
713
|
readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
798
|
-
readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
714
|
+
readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
799
715
|
readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
800
|
-
readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
716
|
+
readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
801
717
|
readonly string: LeafSchema<"string", string>;
|
|
802
718
|
}
|
|
803
719
|
|
|
804
|
-
// @public
|
|
720
|
+
// @public @system
|
|
805
721
|
type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
|
|
806
722
|
|
|
807
723
|
// @public @sealed
|
|
@@ -812,12 +728,100 @@ export interface SharedObjectKind<out TSharedObject = unknown> extends ErasedTyp
|
|
|
812
728
|
// @public
|
|
813
729
|
export const SharedTree: SharedObjectKind<ITree>;
|
|
814
730
|
|
|
815
|
-
// @public @sealed
|
|
731
|
+
// @public @sealed @system
|
|
816
732
|
export interface SimpleNodeSchemaBase<out TNodeKind extends NodeKind, out TCustomMetadata = unknown> {
|
|
817
733
|
readonly kind: TNodeKind;
|
|
818
734
|
readonly metadata: NodeSchemaMetadata<TCustomMetadata>;
|
|
819
735
|
}
|
|
820
736
|
|
|
737
|
+
// @public @system
|
|
738
|
+
export namespace System_Unsafe {
|
|
739
|
+
// @system
|
|
740
|
+
export type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
|
|
741
|
+
// @sealed @system
|
|
742
|
+
export type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
|
|
743
|
+
// @sealed @system
|
|
744
|
+
export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
|
|
745
|
+
readonly allowedTypes: Types;
|
|
746
|
+
readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
|
|
747
|
+
readonly kind: Kind;
|
|
748
|
+
}
|
|
749
|
+
// @system
|
|
750
|
+
export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
|
|
751
|
+
// @system
|
|
752
|
+
export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
|
|
753
|
+
// @system
|
|
754
|
+
export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
755
|
+
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
756
|
+
} & {
|
|
757
|
+
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
758
|
+
};
|
|
759
|
+
// @system
|
|
760
|
+
export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends ImplicitFieldSchemaUnsafe, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
|
|
761
|
+
// @system
|
|
762
|
+
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = [
|
|
763
|
+
TList
|
|
764
|
+
] extends [
|
|
765
|
+
readonly [
|
|
766
|
+
LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
767
|
+
...infer Rest extends AllowedTypesUnsafe
|
|
768
|
+
]
|
|
769
|
+
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
770
|
+
// @system
|
|
771
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
772
|
+
// @system
|
|
773
|
+
export type InsertableTypedNodeUnsafe<TSchema extends TreeNodeSchemaUnsafe, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchemaUnsafe<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderDataUnsafe<T> : never) | (T extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<T> : never);
|
|
774
|
+
// @system
|
|
775
|
+
export type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
776
|
+
// @system
|
|
777
|
+
export type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
|
|
778
|
+
// @system
|
|
779
|
+
export type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
780
|
+
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
|
|
781
|
+
};
|
|
782
|
+
// @sealed @system
|
|
783
|
+
export interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
|
|
784
|
+
[Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
785
|
+
entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
786
|
+
// (undocumented)
|
|
787
|
+
forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
|
|
788
|
+
// (undocumented)
|
|
789
|
+
get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
|
|
790
|
+
// (undocumented)
|
|
791
|
+
has(key: K): boolean;
|
|
792
|
+
keys(): IterableIterator<K>;
|
|
793
|
+
// (undocumented)
|
|
794
|
+
readonly size: number;
|
|
795
|
+
values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
796
|
+
}
|
|
797
|
+
// @sealed @system
|
|
798
|
+
export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
|
|
799
|
+
}
|
|
800
|
+
// @system
|
|
801
|
+
export type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
802
|
+
// @sealed @system
|
|
803
|
+
export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
|
|
804
|
+
delete(key: string): void;
|
|
805
|
+
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
|
|
806
|
+
}
|
|
807
|
+
// @system
|
|
808
|
+
export type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
|
|
809
|
+
// @system
|
|
810
|
+
export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info, out TCustomMetadata = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info, never, TCustomMetadata> {
|
|
811
|
+
// @sealed
|
|
812
|
+
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
813
|
+
}
|
|
814
|
+
// @system
|
|
815
|
+
export interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
816
|
+
// (undocumented)
|
|
817
|
+
create(data: TInsertable): TNode;
|
|
818
|
+
}
|
|
819
|
+
// @system
|
|
820
|
+
export 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>;
|
|
821
|
+
// @system
|
|
822
|
+
export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
823
|
+
}
|
|
824
|
+
|
|
821
825
|
// @public
|
|
822
826
|
export interface Tagged<V, T extends string = string> {
|
|
823
827
|
// (undocumented)
|
|
@@ -838,14 +842,14 @@ export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (
|
|
|
838
842
|
// @public
|
|
839
843
|
export const Tree: TreeApi;
|
|
840
844
|
|
|
841
|
-
// @public @sealed
|
|
845
|
+
// @public @sealed @system
|
|
842
846
|
interface TreeApi extends TreeNodeApi {
|
|
843
847
|
contains(node: TreeNode, other: TreeNode): boolean;
|
|
844
848
|
readonly runTransaction: RunTransaction;
|
|
845
849
|
}
|
|
846
850
|
|
|
847
851
|
// @public @sealed
|
|
848
|
-
export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes, out T = [TAllowedTypes] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TAllowedTypes> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes> : InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
|
|
852
|
+
export interface TreeArrayNode<TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes, out T = [TAllowedTypes] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TAllowedTypes> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes> : InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
|
|
849
853
|
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
850
854
|
insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
851
855
|
insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
@@ -871,10 +875,6 @@ export const TreeArrayNode: {
|
|
|
871
875
|
readonly spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
|
|
872
876
|
};
|
|
873
877
|
|
|
874
|
-
// @public @sealed
|
|
875
|
-
export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
|
|
876
|
-
}
|
|
877
|
-
|
|
878
878
|
// @public @sealed
|
|
879
879
|
export interface TreeChangeEvents {
|
|
880
880
|
nodeChanged(unstable?: unknown): void;
|
|
@@ -884,9 +884,6 @@ export interface TreeChangeEvents {
|
|
|
884
884
|
// @public
|
|
885
885
|
export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TreeNode | TreeLeafValue | undefined;
|
|
886
886
|
|
|
887
|
-
// @public
|
|
888
|
-
type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
889
|
-
|
|
890
887
|
// @public
|
|
891
888
|
export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
|
|
892
889
|
|
|
@@ -900,12 +897,6 @@ export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTyp
|
|
|
900
897
|
values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
|
|
901
898
|
}
|
|
902
899
|
|
|
903
|
-
// @public @sealed
|
|
904
|
-
export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
|
|
905
|
-
delete(key: string): void;
|
|
906
|
-
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
|
|
907
|
-
}
|
|
908
|
-
|
|
909
900
|
// @public @sealed
|
|
910
901
|
export abstract class TreeNode implements WithType {
|
|
911
902
|
static [Symbol.hasInstance](value: unknown): value is TreeNode;
|
|
@@ -930,9 +921,6 @@ export interface TreeNodeApi {
|
|
|
930
921
|
// @public
|
|
931
922
|
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
932
923
|
|
|
933
|
-
// @public
|
|
934
|
-
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
|
|
935
|
-
|
|
936
924
|
// @public @sealed
|
|
937
925
|
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, TCustomMetadata = unknown> = (TNode extends TreeNode ? TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata> : never) | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata>;
|
|
938
926
|
|
|
@@ -943,44 +931,27 @@ export type TreeNodeSchemaClass<Name extends string = string, Kind extends NodeK
|
|
|
943
931
|
new (data: TInsertable | InternalTreeNode | TConstructorExtra): Unhydrated<TNode>;
|
|
944
932
|
});
|
|
945
933
|
|
|
946
|
-
// @public
|
|
947
|
-
export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info, out TCustomMetadata = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info, never, TCustomMetadata> {
|
|
948
|
-
// @sealed
|
|
949
|
-
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
950
|
-
}
|
|
951
|
-
|
|
952
934
|
// @public @sealed
|
|
953
935
|
export interface TreeNodeSchemaCore<out Name extends string, out Kind extends NodeKind, out ImplicitlyConstructable extends boolean, out Info = unknown, out TInsertable = never, out TCustomMetadata = unknown> extends SimpleNodeSchemaBase<Kind, TCustomMetadata> {
|
|
936
|
+
// @system
|
|
954
937
|
readonly childTypes: ReadonlySet<TreeNodeSchema>;
|
|
955
|
-
// @sealed
|
|
938
|
+
// @sealed @system
|
|
956
939
|
createFromInsertable(data: TInsertable): Unhydrated<TreeNode | TreeLeafValue>;
|
|
957
940
|
readonly identifier: Name;
|
|
958
941
|
readonly implicitlyConstructable: ImplicitlyConstructable;
|
|
959
942
|
readonly info: Info;
|
|
960
943
|
}
|
|
961
944
|
|
|
962
|
-
// @public @sealed
|
|
945
|
+
// @public @sealed @system
|
|
963
946
|
export type TreeNodeSchemaNonClass<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TInsertable = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown, TConstructorExtra = never, TCustomMetadata = unknown> = TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info, TInsertable, TCustomMetadata> & (undefined extends TConstructorExtra ? {
|
|
964
947
|
create(data?: TInsertable | TConstructorExtra): TNode;
|
|
965
948
|
} : {
|
|
966
949
|
create(data: TInsertable | TConstructorExtra): TNode;
|
|
967
950
|
});
|
|
968
951
|
|
|
969
|
-
// @public
|
|
970
|
-
interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
|
|
971
|
-
// (undocumented)
|
|
972
|
-
create(data: TInsertable): TNode;
|
|
973
|
-
}
|
|
974
|
-
|
|
975
|
-
// @public
|
|
976
|
-
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>;
|
|
977
|
-
|
|
978
952
|
// @public
|
|
979
953
|
export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
980
954
|
|
|
981
|
-
// @public
|
|
982
|
-
export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
983
|
-
|
|
984
955
|
// @public
|
|
985
956
|
export enum TreeStatus {
|
|
986
957
|
Deleted = 2,
|
|
@@ -1017,10 +988,10 @@ export interface TreeViewEvents {
|
|
|
1017
988
|
schemaChanged(): void;
|
|
1018
989
|
}
|
|
1019
990
|
|
|
1020
|
-
// @public @deprecated
|
|
991
|
+
// @public @deprecated @system
|
|
1021
992
|
const typeNameSymbol: unique symbol;
|
|
1022
993
|
|
|
1023
|
-
// @public
|
|
994
|
+
// @public @system
|
|
1024
995
|
export const typeSchemaSymbol: unique symbol;
|
|
1025
996
|
|
|
1026
997
|
// @public
|
|
@@ -1029,7 +1000,7 @@ export type Unenforced<_DesiredExtendsConstraint> = unknown;
|
|
|
1029
1000
|
// @public
|
|
1030
1001
|
export type Unhydrated<T> = T;
|
|
1031
1002
|
|
|
1032
|
-
// @public
|
|
1003
|
+
// @public @system
|
|
1033
1004
|
export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) extends (k: infer U) => unknown ? U : never;
|
|
1034
1005
|
|
|
1035
1006
|
// @public
|
|
@@ -1043,7 +1014,7 @@ export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKi
|
|
|
1043
1014
|
[NodeKind.Map]: ImplicitAllowedTypes;
|
|
1044
1015
|
}[T["kind"]]>> = true;
|
|
1045
1016
|
|
|
1046
|
-
// @public @sealed
|
|
1017
|
+
// @public @sealed @system
|
|
1047
1018
|
export interface ViewableTree {
|
|
1048
1019
|
viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
|
|
1049
1020
|
}
|