fluid-framework 2.33.0-333010 → 2.33.1
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,12 +545,9 @@ 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
|
// @beta @sealed
|
|
612
552
|
export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
|
|
613
553
|
readonly changedProperties?: ReadonlySet<TNode extends WithType<string, NodeKind.Object, infer TInfo> ? string & keyof TInfo : string>;
|
|
@@ -616,9 +556,6 @@ export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
|
|
|
616
556
|
// @public
|
|
617
557
|
export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchemaClass<string, NodeKind, infer TNode> ? TNode : T extends TreeNodeSchemaNonClass<string, NodeKind, infer TNode> ? TNode : never;
|
|
618
558
|
|
|
619
|
-
// @public
|
|
620
|
-
type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
|
|
621
|
-
|
|
622
559
|
// @public
|
|
623
560
|
export interface NodeInDocumentConstraint {
|
|
624
561
|
// (undocumented)
|
|
@@ -646,39 +583,18 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
|
|
|
646
583
|
readonly metadata?: NodeSchemaMetadata<TCustomMetadata> | undefined;
|
|
647
584
|
}
|
|
648
585
|
|
|
649
|
-
// @public
|
|
650
|
-
type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
|
|
586
|
+
// @public @system
|
|
587
|
+
export type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
|
|
651
588
|
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitField<T[Property]> : unknown;
|
|
652
589
|
};
|
|
653
590
|
|
|
654
|
-
// @public
|
|
655
|
-
type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
656
|
-
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
|
|
657
|
-
};
|
|
658
|
-
|
|
659
591
|
// @public
|
|
660
592
|
export type Off = () => void;
|
|
661
593
|
|
|
662
|
-
// @public @sealed
|
|
594
|
+
// @public @sealed @system
|
|
663
595
|
export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
|
|
664
596
|
}
|
|
665
597
|
|
|
666
|
-
// @public @sealed
|
|
667
|
-
interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
|
|
668
|
-
[Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
669
|
-
entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
670
|
-
// (undocumented)
|
|
671
|
-
forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
|
|
672
|
-
// (undocumented)
|
|
673
|
-
get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
|
|
674
|
-
// (undocumented)
|
|
675
|
-
has(key: K): boolean;
|
|
676
|
-
keys(): IterableIterator<K>;
|
|
677
|
-
// (undocumented)
|
|
678
|
-
readonly size: number;
|
|
679
|
-
values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
680
|
-
}
|
|
681
|
-
|
|
682
598
|
// @public
|
|
683
599
|
export type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
|
|
684
600
|
[K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
|
|
@@ -689,7 +605,7 @@ export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
|
|
|
689
605
|
readonly [P in symbol | string]: P extends K ? T : never;
|
|
690
606
|
};
|
|
691
607
|
|
|
692
|
-
// @public
|
|
608
|
+
// @public @system
|
|
693
609
|
export type RestrictiveStringRecord<T> = {
|
|
694
610
|
readonly [P in string]: T;
|
|
695
611
|
} & {
|
|
@@ -747,8 +663,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
747
663
|
scope: TScope);
|
|
748
664
|
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>;
|
|
749
665
|
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>;
|
|
750
|
-
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>, {
|
|
751
|
-
[Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
666
|
+
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>, {
|
|
667
|
+
[Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
752
668
|
}, false, T, undefined>;
|
|
753
669
|
readonly boolean: LeafSchema<"boolean", boolean>;
|
|
754
670
|
static readonly boolean: LeafSchema<"boolean", boolean>;
|
|
@@ -759,34 +675,34 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
759
675
|
static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>];
|
|
760
676
|
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>;
|
|
761
677
|
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>;
|
|
762
|
-
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>, {
|
|
678
|
+
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>, {
|
|
763
679
|
[Symbol.iterator](): Iterator<[
|
|
764
680
|
string,
|
|
765
|
-
InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
681
|
+
System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
766
682
|
]>;
|
|
767
683
|
} | {
|
|
768
|
-
readonly [x: string]: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
|
|
684
|
+
readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
|
|
769
685
|
}, false, T, undefined>;
|
|
770
686
|
readonly null: LeafSchema<"null", null>;
|
|
771
687
|
static readonly null: LeafSchema<"null", null>;
|
|
772
688
|
readonly number: LeafSchema<"number", number>;
|
|
773
689
|
static readonly number: LeafSchema<"number", number>;
|
|
774
690
|
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>;
|
|
775
|
-
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>;
|
|
691
|
+
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>;
|
|
776
692
|
readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
777
693
|
static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
778
|
-
readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
779
|
-
static readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
694
|
+
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>;
|
|
695
|
+
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>;
|
|
780
696
|
readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
781
697
|
static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
782
|
-
readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
783
|
-
static readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
698
|
+
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>;
|
|
699
|
+
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>;
|
|
784
700
|
readonly scope: TScope;
|
|
785
701
|
readonly string: LeafSchema<"string", string>;
|
|
786
702
|
static readonly string: LeafSchema<"string", string>;
|
|
787
703
|
}
|
|
788
704
|
|
|
789
|
-
// @public @sealed
|
|
705
|
+
// @public @sealed @system
|
|
790
706
|
export interface SchemaStatics {
|
|
791
707
|
readonly boolean: LeafSchema<"boolean", boolean>;
|
|
792
708
|
readonly handle: LeafSchema<"handle", IFluidHandle>;
|
|
@@ -800,13 +716,13 @@ export interface SchemaStatics {
|
|
|
800
716
|
readonly null: LeafSchema<"null", null>;
|
|
801
717
|
readonly number: LeafSchema<"number", number>;
|
|
802
718
|
readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
803
|
-
readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
719
|
+
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>;
|
|
804
720
|
readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
805
|
-
readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
721
|
+
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>;
|
|
806
722
|
readonly string: LeafSchema<"string", string>;
|
|
807
723
|
}
|
|
808
724
|
|
|
809
|
-
// @public
|
|
725
|
+
// @public @system
|
|
810
726
|
type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
|
|
811
727
|
|
|
812
728
|
// @public @sealed
|
|
@@ -817,12 +733,100 @@ export interface SharedObjectKind<out TSharedObject = unknown> extends ErasedTyp
|
|
|
817
733
|
// @public
|
|
818
734
|
export const SharedTree: SharedObjectKind<ITree>;
|
|
819
735
|
|
|
820
|
-
// @public @sealed
|
|
736
|
+
// @public @sealed @system
|
|
821
737
|
export interface SimpleNodeSchemaBase<out TNodeKind extends NodeKind, out TCustomMetadata = unknown> {
|
|
822
738
|
readonly kind: TNodeKind;
|
|
823
739
|
readonly metadata: NodeSchemaMetadata<TCustomMetadata>;
|
|
824
740
|
}
|
|
825
741
|
|
|
742
|
+
// @public @system
|
|
743
|
+
export namespace System_Unsafe {
|
|
744
|
+
// @system
|
|
745
|
+
export type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
|
|
746
|
+
// @sealed @system
|
|
747
|
+
export type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
|
|
748
|
+
// @sealed @system
|
|
749
|
+
export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
|
|
750
|
+
readonly allowedTypes: Types;
|
|
751
|
+
readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
|
|
752
|
+
readonly kind: Kind;
|
|
753
|
+
}
|
|
754
|
+
// @system
|
|
755
|
+
export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
|
|
756
|
+
// @system
|
|
757
|
+
export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
|
|
758
|
+
// @system
|
|
759
|
+
export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
760
|
+
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
761
|
+
} & {
|
|
762
|
+
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
763
|
+
};
|
|
764
|
+
// @system
|
|
765
|
+
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;
|
|
766
|
+
// @system
|
|
767
|
+
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = [
|
|
768
|
+
TList
|
|
769
|
+
] extends [
|
|
770
|
+
readonly [
|
|
771
|
+
LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
772
|
+
...infer Rest extends AllowedTypesUnsafe
|
|
773
|
+
]
|
|
774
|
+
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
775
|
+
// @system
|
|
776
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
777
|
+
// @system
|
|
778
|
+
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);
|
|
779
|
+
// @system
|
|
780
|
+
export type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
781
|
+
// @system
|
|
782
|
+
export type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
|
|
783
|
+
// @system
|
|
784
|
+
export type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
785
|
+
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
|
|
786
|
+
};
|
|
787
|
+
// @sealed @system
|
|
788
|
+
export interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
|
|
789
|
+
[Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
790
|
+
entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
791
|
+
// (undocumented)
|
|
792
|
+
forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
|
|
793
|
+
// (undocumented)
|
|
794
|
+
get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
|
|
795
|
+
// (undocumented)
|
|
796
|
+
has(key: K): boolean;
|
|
797
|
+
keys(): IterableIterator<K>;
|
|
798
|
+
// (undocumented)
|
|
799
|
+
readonly size: number;
|
|
800
|
+
values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
801
|
+
}
|
|
802
|
+
// @sealed @system
|
|
803
|
+
export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
|
|
804
|
+
}
|
|
805
|
+
// @system
|
|
806
|
+
export type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
807
|
+
// @sealed @system
|
|
808
|
+
export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
|
|
809
|
+
delete(key: string): void;
|
|
810
|
+
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
|
|
811
|
+
}
|
|
812
|
+
// @system
|
|
813
|
+
export type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
|
|
814
|
+
// @system
|
|
815
|
+
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> {
|
|
816
|
+
// @sealed
|
|
817
|
+
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
818
|
+
}
|
|
819
|
+
// @system
|
|
820
|
+
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> {
|
|
821
|
+
// (undocumented)
|
|
822
|
+
create(data: TInsertable): TNode;
|
|
823
|
+
}
|
|
824
|
+
// @system
|
|
825
|
+
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>;
|
|
826
|
+
// @system
|
|
827
|
+
export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
828
|
+
}
|
|
829
|
+
|
|
826
830
|
// @public
|
|
827
831
|
export interface Tagged<V, T extends string = string> {
|
|
828
832
|
// (undocumented)
|
|
@@ -843,14 +847,14 @@ export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (
|
|
|
843
847
|
// @public
|
|
844
848
|
export const Tree: TreeApi;
|
|
845
849
|
|
|
846
|
-
// @public @sealed
|
|
850
|
+
// @public @sealed @system
|
|
847
851
|
interface TreeApi extends TreeNodeApi {
|
|
848
852
|
contains(node: TreeNode, other: TreeNode): boolean;
|
|
849
853
|
readonly runTransaction: RunTransaction;
|
|
850
854
|
}
|
|
851
855
|
|
|
852
856
|
// @public @sealed
|
|
853
|
-
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> {
|
|
857
|
+
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> {
|
|
854
858
|
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
855
859
|
insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
856
860
|
insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
@@ -876,10 +880,6 @@ export const TreeArrayNode: {
|
|
|
876
880
|
readonly spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
|
|
877
881
|
};
|
|
878
882
|
|
|
879
|
-
// @public @sealed
|
|
880
|
-
export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
|
|
881
|
-
}
|
|
882
|
-
|
|
883
883
|
// @beta @sealed
|
|
884
884
|
export const TreeBeta: {
|
|
885
885
|
on<K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>): () => void;
|
|
@@ -900,9 +900,6 @@ export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode> extends
|
|
|
900
900
|
// @public
|
|
901
901
|
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;
|
|
902
902
|
|
|
903
|
-
// @public
|
|
904
|
-
type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
905
|
-
|
|
906
903
|
// @public
|
|
907
904
|
export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
|
|
908
905
|
|
|
@@ -916,12 +913,6 @@ export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTyp
|
|
|
916
913
|
values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
|
|
917
914
|
}
|
|
918
915
|
|
|
919
|
-
// @public @sealed
|
|
920
|
-
export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
|
|
921
|
-
delete(key: string): void;
|
|
922
|
-
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
|
|
923
|
-
}
|
|
924
|
-
|
|
925
916
|
// @public @sealed
|
|
926
917
|
export abstract class TreeNode implements WithType {
|
|
927
918
|
static [Symbol.hasInstance](value: unknown): value is TreeNode;
|
|
@@ -946,9 +937,6 @@ export interface TreeNodeApi {
|
|
|
946
937
|
// @public
|
|
947
938
|
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
948
939
|
|
|
949
|
-
// @public
|
|
950
|
-
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
|
|
951
|
-
|
|
952
940
|
// @public @sealed
|
|
953
941
|
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>;
|
|
954
942
|
|
|
@@ -959,44 +947,27 @@ export type TreeNodeSchemaClass<Name extends string = string, Kind extends NodeK
|
|
|
959
947
|
new (data: TInsertable | InternalTreeNode | TConstructorExtra): Unhydrated<TNode>;
|
|
960
948
|
});
|
|
961
949
|
|
|
962
|
-
// @public
|
|
963
|
-
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> {
|
|
964
|
-
// @sealed
|
|
965
|
-
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
966
|
-
}
|
|
967
|
-
|
|
968
950
|
// @public @sealed
|
|
969
951
|
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> {
|
|
952
|
+
// @system
|
|
970
953
|
readonly childTypes: ReadonlySet<TreeNodeSchema>;
|
|
971
|
-
// @sealed
|
|
954
|
+
// @sealed @system
|
|
972
955
|
createFromInsertable(data: TInsertable): Unhydrated<TreeNode | TreeLeafValue>;
|
|
973
956
|
readonly identifier: Name;
|
|
974
957
|
readonly implicitlyConstructable: ImplicitlyConstructable;
|
|
975
958
|
readonly info: Info;
|
|
976
959
|
}
|
|
977
960
|
|
|
978
|
-
// @public @sealed
|
|
961
|
+
// @public @sealed @system
|
|
979
962
|
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 ? {
|
|
980
963
|
create(data?: TInsertable | TConstructorExtra): TNode;
|
|
981
964
|
} : {
|
|
982
965
|
create(data: TInsertable | TConstructorExtra): TNode;
|
|
983
966
|
});
|
|
984
967
|
|
|
985
|
-
// @public
|
|
986
|
-
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> {
|
|
987
|
-
// (undocumented)
|
|
988
|
-
create(data: TInsertable): TNode;
|
|
989
|
-
}
|
|
990
|
-
|
|
991
|
-
// @public
|
|
992
|
-
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>;
|
|
993
|
-
|
|
994
968
|
// @public
|
|
995
969
|
export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
996
970
|
|
|
997
|
-
// @public
|
|
998
|
-
export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
999
|
-
|
|
1000
971
|
// @public
|
|
1001
972
|
export enum TreeStatus {
|
|
1002
973
|
Deleted = 2,
|
|
@@ -1033,10 +1004,10 @@ export interface TreeViewEvents {
|
|
|
1033
1004
|
schemaChanged(): void;
|
|
1034
1005
|
}
|
|
1035
1006
|
|
|
1036
|
-
// @public @deprecated
|
|
1007
|
+
// @public @deprecated @system
|
|
1037
1008
|
const typeNameSymbol: unique symbol;
|
|
1038
1009
|
|
|
1039
|
-
// @public
|
|
1010
|
+
// @public @system
|
|
1040
1011
|
export const typeSchemaSymbol: unique symbol;
|
|
1041
1012
|
|
|
1042
1013
|
// @public
|
|
@@ -1045,7 +1016,7 @@ export type Unenforced<_DesiredExtendsConstraint> = unknown;
|
|
|
1045
1016
|
// @public
|
|
1046
1017
|
export type Unhydrated<T> = T;
|
|
1047
1018
|
|
|
1048
|
-
// @public
|
|
1019
|
+
// @public @system
|
|
1049
1020
|
export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) extends (k: infer U) => unknown ? U : never;
|
|
1050
1021
|
|
|
1051
1022
|
// @public
|
|
@@ -1059,7 +1030,7 @@ export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKi
|
|
|
1059
1030
|
[NodeKind.Map]: ImplicitAllowedTypes;
|
|
1060
1031
|
}[T["kind"]]>> = true;
|
|
1061
1032
|
|
|
1062
|
-
// @public @sealed
|
|
1033
|
+
// @public @sealed @system
|
|
1063
1034
|
export interface ViewableTree {
|
|
1064
1035
|
viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
|
|
1065
1036
|
}
|