fluid-framework 2.32.0 → 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
|
@@ -15,35 +15,35 @@ export function adaptEnum<TScope extends string, const TEnum extends Record<stri
|
|
|
15
15
|
}, Record<string, never>, true, Record<string, never>, undefined>; }[keyof TEnum]>;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
// @public
|
|
18
|
+
// @public @system
|
|
19
19
|
export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
|
|
20
20
|
|
|
21
|
-
// @
|
|
22
|
-
|
|
21
|
+
// @alpha
|
|
22
|
+
export function allowUnused<T>(t?: T): void;
|
|
23
23
|
|
|
24
|
-
// @public
|
|
24
|
+
// @public @system
|
|
25
25
|
type ApplyKind<T, Kind extends FieldKind> = {
|
|
26
26
|
[FieldKind.Required]: T;
|
|
27
27
|
[FieldKind.Optional]: T | undefined;
|
|
28
28
|
[FieldKind.Identifier]: T;
|
|
29
29
|
}[Kind];
|
|
30
30
|
|
|
31
|
-
// @public
|
|
31
|
+
// @public @system
|
|
32
32
|
type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = [
|
|
33
33
|
Kind
|
|
34
34
|
] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
|
|
35
35
|
|
|
36
|
-
// @alpha @sealed
|
|
36
|
+
// @alpha @sealed @system
|
|
37
37
|
export interface ArrayNodeCustomizableSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaClass<TName, NodeKind.Array, TreeArrayNode<T> & WithType<TName, NodeKind.Array, T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<TCustomMetadata> {
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
// @alpha @sealed
|
|
41
|
-
export interface ArrayNodeCustomizableSchemaUnsafe<out TName extends string, in out T extends ImplicitAllowedTypesUnsafe, out TCustomMetadata> extends TreeNodeSchemaClass<TName, NodeKind.Array, TreeArrayNodeUnsafe<T> & WithType<TName, NodeKind.Array, T>, {
|
|
42
|
-
[Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
40
|
+
// @alpha @sealed @system
|
|
41
|
+
export interface ArrayNodeCustomizableSchemaUnsafe<out TName extends string, in out T extends System_Unsafe.ImplicitAllowedTypesUnsafe, out TCustomMetadata> extends TreeNodeSchemaClass<TName, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<TName, NodeKind.Array, T>, {
|
|
42
|
+
[Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
43
43
|
}, false, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<TCustomMetadata> {
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
// @alpha @sealed
|
|
46
|
+
// @alpha @sealed @system
|
|
47
47
|
export interface ArrayNodePojoEmulationSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaNonClass<TName, NodeKind.Array, TreeArrayNode<T> & WithType<TName, NodeKind.Array, T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<TCustomMetadata> {
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -146,7 +146,7 @@ export function createSimpleTreeIndex<TFieldSchema extends ImplicitFieldSchema,
|
|
|
146
146
|
// @alpha
|
|
147
147
|
export function createSimpleTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): SimpleTreeIndex<TKey, TValue>;
|
|
148
148
|
|
|
149
|
-
// @public @sealed
|
|
149
|
+
// @public @sealed @system
|
|
150
150
|
interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
|
|
151
151
|
}
|
|
152
152
|
|
|
@@ -170,26 +170,23 @@ export abstract class ErasedType<out Name = unknown> {
|
|
|
170
170
|
// @alpha
|
|
171
171
|
export function evaluateLazySchema<T extends TreeNodeSchema>(value: LazyItem<T>): T;
|
|
172
172
|
|
|
173
|
-
// @public
|
|
173
|
+
// @public @system
|
|
174
174
|
type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
|
|
175
175
|
|
|
176
176
|
// @alpha
|
|
177
177
|
export function extractPersistedSchema(schema: ImplicitFieldSchema): JsonCompatible;
|
|
178
178
|
|
|
179
|
-
// @alpha
|
|
179
|
+
// @alpha @system
|
|
180
180
|
export type FactoryContent = IFluidHandle | string | number | boolean | null | Iterable<readonly [string, InsertableContent]> | readonly InsertableContent[] | FactoryContentObject;
|
|
181
181
|
|
|
182
|
-
// @alpha
|
|
182
|
+
// @alpha @system
|
|
183
183
|
export type FactoryContentObject = {
|
|
184
184
|
readonly [P in string]?: InsertableContent;
|
|
185
185
|
};
|
|
186
186
|
|
|
187
|
-
// @public
|
|
187
|
+
// @public @system
|
|
188
188
|
type FieldHasDefault<T extends ImplicitFieldSchema> = T extends FieldSchema<FieldKind.Optional | FieldKind.Identifier> ? true : false;
|
|
189
189
|
|
|
190
|
-
// @public @sealed
|
|
191
|
-
type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
|
|
192
|
-
|
|
193
190
|
// @public
|
|
194
191
|
export enum FieldKind {
|
|
195
192
|
Identifier = 2,
|
|
@@ -226,8 +223,8 @@ export class FieldSchemaAlpha<Kind extends FieldKind = FieldKind, Types extends
|
|
|
226
223
|
get allowedTypesIdentifiers(): ReadonlySet<string>;
|
|
227
224
|
}
|
|
228
225
|
|
|
229
|
-
// @alpha @sealed
|
|
230
|
-
export interface FieldSchemaAlphaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchemaAlpha<Kind, any, TCustomMetadata>, FieldSchemaUnsafe<Kind, Types, TCustomMetadata> {
|
|
226
|
+
// @alpha @sealed @system
|
|
227
|
+
export interface FieldSchemaAlphaUnsafe<out Kind extends FieldKind, out Types extends System_Unsafe.ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchemaAlpha<Kind, any, TCustomMetadata>, System_Unsafe.FieldSchemaUnsafe<Kind, Types, TCustomMetadata> {
|
|
231
228
|
readonly allowedTypes: Types;
|
|
232
229
|
}
|
|
233
230
|
|
|
@@ -237,25 +234,18 @@ export interface FieldSchemaMetadata<TCustomMetadata = unknown> {
|
|
|
237
234
|
readonly description?: string | undefined;
|
|
238
235
|
}
|
|
239
236
|
|
|
240
|
-
// @public @sealed
|
|
241
|
-
export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
|
|
242
|
-
readonly allowedTypes: Types;
|
|
243
|
-
readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
|
|
244
|
-
readonly kind: Kind;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
237
|
// @alpha
|
|
248
238
|
export type FixRecursiveArraySchema<T> = T extends TreeNodeSchema ? undefined : undefined;
|
|
249
239
|
|
|
250
|
-
// @public
|
|
240
|
+
// @public @system
|
|
251
241
|
type FlattenKeys<T> = [{
|
|
252
242
|
[Property in keyof T]: T[Property];
|
|
253
243
|
}][_InlineTrick];
|
|
254
244
|
|
|
255
|
-
// @public
|
|
245
|
+
// @public @system
|
|
256
246
|
type FlexList<Item = unknown> = readonly LazyItem<Item>[];
|
|
257
247
|
|
|
258
|
-
// @public
|
|
248
|
+
// @public @system
|
|
259
249
|
type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
|
|
260
250
|
|
|
261
251
|
// @alpha
|
|
@@ -574,15 +564,9 @@ export interface IMember {
|
|
|
574
564
|
// @public
|
|
575
565
|
export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
576
566
|
|
|
577
|
-
// @public
|
|
578
|
-
export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
|
|
579
|
-
|
|
580
567
|
// @public
|
|
581
568
|
export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
|
|
582
569
|
|
|
583
|
-
// @public
|
|
584
|
-
export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
|
|
585
|
-
|
|
586
570
|
// @alpha
|
|
587
571
|
export function independentInitializedView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options: ForestOptions & ICodecOptions, content: ViewContent): TreeViewAlpha<TSchema>;
|
|
588
572
|
|
|
@@ -596,16 +580,16 @@ export type InitialObjects<T extends ContainerSchema> = {
|
|
|
596
580
|
[K in keyof T["initialObjects"]]: T["initialObjects"][K] extends SharedObjectKind<infer TChannel> ? TChannel : never;
|
|
597
581
|
};
|
|
598
582
|
|
|
599
|
-
// @public
|
|
583
|
+
// @public @system
|
|
600
584
|
type _InlineTrick = 0;
|
|
601
585
|
|
|
602
|
-
// @public
|
|
586
|
+
// @public @system
|
|
603
587
|
export type Input<T extends never> = T;
|
|
604
588
|
|
|
605
589
|
// @alpha
|
|
606
590
|
export type Insertable<TSchema extends ImplicitAllowedTypes | UnsafeUnknownSchema> = TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : InsertableContent;
|
|
607
591
|
|
|
608
|
-
// @alpha
|
|
592
|
+
// @alpha @system
|
|
609
593
|
export type InsertableContent = Unhydrated<TreeNode> | FactoryContent;
|
|
610
594
|
|
|
611
595
|
// @alpha
|
|
@@ -613,7 +597,7 @@ export type InsertableField<TSchema extends ImplicitFieldSchema | UnsafeUnknownS
|
|
|
613
597
|
TSchema
|
|
614
598
|
] extends [ImplicitFieldSchema] ? InsertableTreeFieldFromImplicitField<TSchema> : [TSchema] extends [UnsafeUnknownSchema] ? InsertableContent | undefined : never;
|
|
615
599
|
|
|
616
|
-
// @public
|
|
600
|
+
// @public @system
|
|
617
601
|
type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {
|
|
618
602
|
arbitraryKey: "arbitraryValue";
|
|
619
603
|
} extends T ? Record<string, never> : never : FlattenKeys<{
|
|
@@ -622,45 +606,25 @@ type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<Implicit
|
|
|
622
606
|
readonly [Property in keyof T as FieldHasDefault<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitField<T[Property & string]>;
|
|
623
607
|
}>;
|
|
624
608
|
|
|
625
|
-
// @public
|
|
626
|
-
export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
627
|
-
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
628
|
-
} & {
|
|
629
|
-
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
630
|
-
};
|
|
631
|
-
|
|
632
609
|
// @public
|
|
633
610
|
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;
|
|
634
611
|
|
|
635
|
-
// @public
|
|
636
|
-
export type
|
|
637
|
-
|
|
638
|
-
// @public
|
|
639
|
-
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = TList extends readonly [
|
|
612
|
+
// @public @system
|
|
613
|
+
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = [TList] extends [
|
|
614
|
+
readonly [
|
|
640
615
|
LazyItem<infer TSchema extends TreeNodeSchema>,
|
|
641
616
|
...infer Rest extends AllowedTypes
|
|
617
|
+
]
|
|
642
618
|
] ? InsertableTypedNode<TSchema> | InsertableTreeNodeFromAllowedTypes<Rest> : never;
|
|
643
619
|
|
|
644
|
-
// @public
|
|
645
|
-
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = TList extends readonly [
|
|
646
|
-
LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
647
|
-
...infer Rest extends AllowedTypesUnsafe
|
|
648
|
-
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
649
|
-
|
|
650
620
|
// @public
|
|
651
621
|
export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
|
|
652
622
|
TSchema
|
|
653
623
|
] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
|
|
654
624
|
|
|
655
|
-
// @public
|
|
656
|
-
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
657
|
-
|
|
658
625
|
// @public
|
|
659
626
|
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);
|
|
660
627
|
|
|
661
|
-
// @public
|
|
662
|
-
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);
|
|
663
|
-
|
|
664
628
|
// @public @sealed
|
|
665
629
|
export interface InternalTreeNode extends ErasedType<"@fluidframework/tree.InternalTreeNode"> {
|
|
666
630
|
}
|
|
@@ -677,24 +641,6 @@ declare namespace InternalTypes {
|
|
|
677
641
|
DefaultProvider,
|
|
678
642
|
typeNameSymbol,
|
|
679
643
|
InsertableObjectFromSchemaRecord,
|
|
680
|
-
ObjectFromSchemaRecord,
|
|
681
|
-
FieldHasDefaultUnsafe,
|
|
682
|
-
ObjectFromSchemaRecordUnsafe,
|
|
683
|
-
TreeObjectNodeUnsafe,
|
|
684
|
-
TreeFieldFromImplicitFieldUnsafe,
|
|
685
|
-
TreeNodeFromImplicitAllowedTypesUnsafe,
|
|
686
|
-
InsertableTreeNodeFromImplicitAllowedTypesUnsafe,
|
|
687
|
-
TreeArrayNodeUnsafe,
|
|
688
|
-
TreeMapNodeUnsafe,
|
|
689
|
-
InsertableObjectFromSchemaRecordUnsafe,
|
|
690
|
-
InsertableTreeFieldFromImplicitFieldUnsafe,
|
|
691
|
-
InsertableTypedNodeUnsafe,
|
|
692
|
-
NodeBuilderDataUnsafe,
|
|
693
|
-
NodeFromSchemaUnsafe,
|
|
694
|
-
ReadonlyMapInlined,
|
|
695
|
-
TreeNodeSchemaUnsafe,
|
|
696
|
-
AllowedTypesUnsafe,
|
|
697
|
-
TreeNodeSchemaNonClassUnsafe,
|
|
698
644
|
FlexList,
|
|
699
645
|
FlexListToUnion,
|
|
700
646
|
ExtractItemType,
|
|
@@ -731,7 +677,7 @@ export function isFluidHandle(value: unknown): value is IFluidHandle;
|
|
|
731
677
|
// @public
|
|
732
678
|
export type IsListener<TListener> = TListener extends (...args: any[]) => void ? true : false;
|
|
733
679
|
|
|
734
|
-
// @alpha
|
|
680
|
+
// @alpha @system
|
|
735
681
|
export type IsUnion<T, T2 = T> = T extends unknown ? [T2] extends [T] ? false : true : "error";
|
|
736
682
|
|
|
737
683
|
// @public
|
|
@@ -780,16 +726,19 @@ export namespace JsonAsTree {
|
|
|
780
726
|
// @sealed
|
|
781
727
|
export class JsonObject extends _APIExtractorWorkaroundObjectBase {
|
|
782
728
|
}
|
|
783
|
-
const
|
|
784
|
-
|
|
729
|
+
const // @system
|
|
730
|
+
_APIExtractorWorkaroundObjectBase: TreeNodeSchemaClass<"com.fluidframework.json.object", NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<readonly [LeafSchema<"null", null>, LeafSchema<"number", number>, LeafSchema<"string", string>, LeafSchema<"boolean", boolean>, () => typeof JsonObject, () => typeof Array]> & WithType<"com.fluidframework.json.object", NodeKind.Map, unknown>, {
|
|
731
|
+
[Symbol.iterator](): Iterator<[string, string | number | JsonObject | Array | System_Unsafe.InsertableTypedNodeUnsafe<LeafSchema<"boolean", boolean>, LeafSchema<"boolean", boolean>> | null], any, undefined>;
|
|
785
732
|
} | {
|
|
786
|
-
readonly [x: string]: string | number | JsonObject | Array | InsertableTypedNodeUnsafe<LeafSchema<"boolean", boolean>, LeafSchema<"boolean", boolean>> | null;
|
|
733
|
+
readonly [x: string]: string | number | JsonObject | Array | System_Unsafe.InsertableTypedNodeUnsafe<LeafSchema<"boolean", boolean>, LeafSchema<"boolean", boolean>> | null;
|
|
787
734
|
}, false, readonly [LeafSchema<"null", null>, LeafSchema<"number", number>, LeafSchema<"string", string>, LeafSchema<"boolean", boolean>, () => typeof JsonObject, () => typeof Array], undefined>;
|
|
788
735
|
// (undocumented)
|
|
789
736
|
export type Primitive = TreeNodeFromImplicitAllowedTypes<typeof Primitive>;
|
|
737
|
+
// @system
|
|
790
738
|
export type _RecursiveArrayWorkaroundJsonArray = FixRecursiveArraySchema<typeof Array>;
|
|
791
|
-
const
|
|
792
|
-
|
|
739
|
+
const // @system
|
|
740
|
+
_APIExtractorWorkaroundArrayBase: TreeNodeSchemaClass<"com.fluidframework.json.array", NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<readonly [LeafSchema<"null", null>, LeafSchema<"number", number>, LeafSchema<"string", string>, LeafSchema<"boolean", boolean>, () => typeof JsonObject, () => typeof Array]> & WithType<"com.fluidframework.json.array", NodeKind.Array, unknown>, {
|
|
741
|
+
[Symbol.iterator](): Iterator<string | number | JsonObject | Array | System_Unsafe.InsertableTypedNodeUnsafe<LeafSchema<"boolean", boolean>, LeafSchema<"boolean", boolean>> | null, any, undefined>;
|
|
793
742
|
}, false, readonly [LeafSchema<"null", null>, LeafSchema<"number", number>, LeafSchema<"string", string>, LeafSchema<"boolean", boolean>, () => typeof JsonObject, () => typeof Array], undefined>;
|
|
794
743
|
// (undocumented)
|
|
795
744
|
export type Tree = TreeNodeFromImplicitAllowedTypes<typeof Tree>;
|
|
@@ -869,7 +818,7 @@ export interface JsonValidator {
|
|
|
869
818
|
// @public
|
|
870
819
|
export type LazyItem<Item = unknown> = Item | (() => Item);
|
|
871
820
|
|
|
872
|
-
// @public @sealed
|
|
821
|
+
// @public @sealed @system
|
|
873
822
|
export interface LeafSchema<Name extends string, T extends TreeLeafValue> extends TreeNodeSchemaNonClass<`com.fluidframework.leaf.${Name}`, NodeKind.Leaf, T, T, true> {
|
|
874
823
|
}
|
|
875
824
|
|
|
@@ -888,25 +837,25 @@ export type Listeners<T extends object> = {
|
|
|
888
837
|
export interface MakeNominal {
|
|
889
838
|
}
|
|
890
839
|
|
|
891
|
-
// @alpha @sealed
|
|
840
|
+
// @alpha @sealed @system
|
|
892
841
|
export interface MapNodeCustomizableSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaClass<TName, NodeKind.Map, TreeMapNode<T> & WithType<TName, NodeKind.Map, T>, MapNodeInsertableData<T>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleMapNodeSchema<TCustomMetadata> {
|
|
893
842
|
}
|
|
894
843
|
|
|
895
|
-
// @alpha @sealed
|
|
896
|
-
export interface MapNodeCustomizableSchemaUnsafe<out TName extends string, in out T extends ImplicitAllowedTypesUnsafe, out TCustomMetadata> extends TreeNodeSchemaClass<TName, NodeKind.Map, TreeMapNodeUnsafe<T> & WithType<TName, NodeKind.Map, T>, {
|
|
844
|
+
// @alpha @sealed @system
|
|
845
|
+
export interface MapNodeCustomizableSchemaUnsafe<out TName extends string, in out T extends System_Unsafe.ImplicitAllowedTypesUnsafe, out TCustomMetadata> extends TreeNodeSchemaClass<TName, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<TName, NodeKind.Map, T>, {
|
|
897
846
|
[Symbol.iterator](): Iterator<[
|
|
898
847
|
string,
|
|
899
|
-
InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
848
|
+
System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
900
849
|
]>;
|
|
901
850
|
} | {
|
|
902
|
-
readonly [P in string]: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
|
|
851
|
+
readonly [P in string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
|
|
903
852
|
}, false, T, undefined, TCustomMetadata>, SimpleMapNodeSchema<TCustomMetadata> {
|
|
904
853
|
}
|
|
905
854
|
|
|
906
|
-
// @public
|
|
855
|
+
// @public @system
|
|
907
856
|
export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
|
|
908
857
|
|
|
909
|
-
// @alpha @sealed
|
|
858
|
+
// @alpha @sealed @system
|
|
910
859
|
export interface MapNodePojoEmulationSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaNonClass<TName, NodeKind.Map, TreeMapNode<T> & WithType<TName, NodeKind.Map, T>, MapNodeInsertableData<T>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleMapNodeSchema<TCustomMetadata> {
|
|
911
860
|
}
|
|
912
861
|
|
|
@@ -926,12 +875,9 @@ export type Myself<M extends IMember = IMember> = M & {
|
|
|
926
875
|
readonly currentConnection: string;
|
|
927
876
|
};
|
|
928
877
|
|
|
929
|
-
// @public
|
|
878
|
+
// @public @system
|
|
930
879
|
type NodeBuilderData<T extends TreeNodeSchemaCore<string, NodeKind, boolean>> = T extends TreeNodeSchemaCore<string, NodeKind, boolean, unknown, infer TBuild> ? TBuild : never;
|
|
931
880
|
|
|
932
|
-
// @public
|
|
933
|
-
type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
934
|
-
|
|
935
881
|
// @beta @sealed
|
|
936
882
|
export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
|
|
937
883
|
readonly changedProperties?: ReadonlySet<TNode extends WithType<string, NodeKind.Object, infer TInfo> ? string & keyof TInfo : string>;
|
|
@@ -940,9 +886,6 @@ export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
|
|
|
940
886
|
// @public
|
|
941
887
|
export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchemaClass<string, NodeKind, infer TNode> ? TNode : T extends TreeNodeSchemaNonClass<string, NodeKind, infer TNode> ? TNode : never;
|
|
942
888
|
|
|
943
|
-
// @public
|
|
944
|
-
type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
|
|
945
|
-
|
|
946
889
|
// @public
|
|
947
890
|
export interface NodeInDocumentConstraint {
|
|
948
891
|
// (undocumented)
|
|
@@ -973,16 +916,11 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
|
|
|
973
916
|
// @alpha
|
|
974
917
|
export const noopValidator: JsonValidator;
|
|
975
918
|
|
|
976
|
-
// @public
|
|
977
|
-
type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
|
|
919
|
+
// @public @system
|
|
920
|
+
export type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
|
|
978
921
|
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitField<T[Property]> : unknown;
|
|
979
922
|
};
|
|
980
923
|
|
|
981
|
-
// @public
|
|
982
|
-
type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
983
|
-
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
|
|
984
|
-
};
|
|
985
|
-
|
|
986
924
|
// @alpha @sealed
|
|
987
925
|
export interface ObjectNodeSchema<out TName extends string = string, in out T extends RestrictiveStringRecord<ImplicitFieldSchema> = RestrictiveStringRecord<ImplicitFieldSchema>, ImplicitlyConstructable extends boolean = boolean, out TCustomMetadata = unknown> extends TreeNodeSchemaClass<TName, NodeKind.Object, TreeObjectNode<T, TName>, InsertableObjectFromSchemaRecord<T>, ImplicitlyConstructable, T, never, TCustomMetadata>, SimpleObjectNodeSchema<TCustomMetadata> {
|
|
988
926
|
readonly fields: ReadonlyMap<string, FieldSchemaAlpha & SimpleObjectFieldSchema>;
|
|
@@ -999,33 +937,17 @@ export type Off = () => void;
|
|
|
999
937
|
// @alpha
|
|
1000
938
|
export function onAssertionFailure(handler: (error: Error) => void): () => void;
|
|
1001
939
|
|
|
1002
|
-
// @alpha
|
|
940
|
+
// @alpha @system
|
|
1003
941
|
export type PopUnion<Union, AsOverloadedFunction = UnionToIntersection<Union extends unknown ? (f: Union) => void : never>> = AsOverloadedFunction extends (a: infer First) => void ? First : never;
|
|
1004
942
|
|
|
1005
|
-
// @alpha
|
|
943
|
+
// @alpha @system
|
|
1006
944
|
export type ReadableField<TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> = TreeFieldFromImplicitField<ReadSchema<TSchema>>;
|
|
1007
945
|
|
|
1008
|
-
// @public @sealed
|
|
946
|
+
// @public @sealed @system
|
|
1009
947
|
export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
|
|
1010
948
|
}
|
|
1011
949
|
|
|
1012
|
-
// @
|
|
1013
|
-
interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
|
|
1014
|
-
[Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
1015
|
-
entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
1016
|
-
// (undocumented)
|
|
1017
|
-
forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
|
|
1018
|
-
// (undocumented)
|
|
1019
|
-
get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
|
|
1020
|
-
// (undocumented)
|
|
1021
|
-
has(key: K): boolean;
|
|
1022
|
-
keys(): IterableIterator<K>;
|
|
1023
|
-
// (undocumented)
|
|
1024
|
-
readonly size: number;
|
|
1025
|
-
values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
1026
|
-
}
|
|
1027
|
-
|
|
1028
|
-
// @alpha
|
|
950
|
+
// @alpha @system
|
|
1029
951
|
export type ReadSchema<TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> = [
|
|
1030
952
|
TSchema
|
|
1031
953
|
] extends [ImplicitFieldSchema] ? TSchema : ImplicitFieldSchema;
|
|
@@ -1049,7 +971,7 @@ export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
|
|
|
1049
971
|
readonly [P in symbol | string]: P extends K ? T : never;
|
|
1050
972
|
};
|
|
1051
973
|
|
|
1052
|
-
// @public
|
|
974
|
+
// @public @system
|
|
1053
975
|
export type RestrictiveStringRecord<T> = {
|
|
1054
976
|
readonly [P in string]: T;
|
|
1055
977
|
} & {
|
|
@@ -1120,8 +1042,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
1120
1042
|
scope: TScope);
|
|
1121
1043
|
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>;
|
|
1122
1044
|
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>;
|
|
1123
|
-
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>, {
|
|
1124
|
-
[Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
1045
|
+
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>, {
|
|
1046
|
+
[Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
1125
1047
|
}, false, T, undefined>;
|
|
1126
1048
|
readonly boolean: LeafSchema<"boolean", boolean>;
|
|
1127
1049
|
static readonly boolean: LeafSchema<"boolean", boolean>;
|
|
@@ -1132,28 +1054,28 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
1132
1054
|
static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>];
|
|
1133
1055
|
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>;
|
|
1134
1056
|
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>;
|
|
1135
|
-
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>, {
|
|
1057
|
+
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>, {
|
|
1136
1058
|
[Symbol.iterator](): Iterator<[
|
|
1137
1059
|
string,
|
|
1138
|
-
InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
1060
|
+
System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
|
|
1139
1061
|
]>;
|
|
1140
1062
|
} | {
|
|
1141
|
-
readonly [x: string]: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
|
|
1063
|
+
readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
|
|
1142
1064
|
}, false, T, undefined>;
|
|
1143
1065
|
readonly null: LeafSchema<"null", null>;
|
|
1144
1066
|
static readonly null: LeafSchema<"null", null>;
|
|
1145
1067
|
readonly number: LeafSchema<"number", number>;
|
|
1146
1068
|
static readonly number: LeafSchema<"number", number>;
|
|
1147
1069
|
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>;
|
|
1148
|
-
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>;
|
|
1070
|
+
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>;
|
|
1149
1071
|
readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
1150
1072
|
static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
1151
|
-
readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
1152
|
-
static readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
1073
|
+
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>;
|
|
1074
|
+
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>;
|
|
1153
1075
|
readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
1154
1076
|
static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
1155
|
-
readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
1156
|
-
static readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
1077
|
+
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>;
|
|
1078
|
+
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>;
|
|
1157
1079
|
readonly scope: TScope;
|
|
1158
1080
|
readonly string: LeafSchema<"string", string>;
|
|
1159
1081
|
static readonly string: LeafSchema<"string", string>;
|
|
@@ -1162,17 +1084,17 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
|
|
|
1162
1084
|
// @alpha
|
|
1163
1085
|
export class SchemaFactoryAlpha<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactory<TScope, TName> {
|
|
1164
1086
|
arrayAlpha<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): ArrayNodeCustomizableSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
|
|
1165
|
-
arrayRecursive<const Name extends TName, const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): ArrayNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>;
|
|
1087
|
+
arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): ArrayNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>;
|
|
1166
1088
|
static readonly identifier: <const TCustomMetadata = unknown>(props?: Omit<FieldProps_2<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha_2<FieldKind_2.Identifier, LeafSchema_2<"string", string> & SimpleLeafNodeSchema_2, TCustomMetadata>;
|
|
1167
1089
|
static readonly leaves: readonly [LeafSchema_2<"string", string> & SimpleLeafNodeSchema_2, LeafSchema_2<"number", number> & SimpleLeafNodeSchema_2, LeafSchema_2<"boolean", boolean> & SimpleLeafNodeSchema_2, LeafSchema_2<"null", null> & SimpleLeafNodeSchema_2, LeafSchema_2<"handle", IFluidHandle_2<unknown>> & SimpleLeafNodeSchema_2];
|
|
1168
1090
|
mapAlpha<Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): MapNodeCustomizableSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
|
|
1169
|
-
mapRecursive<Name extends TName, const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): MapNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>;
|
|
1091
|
+
mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): MapNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>;
|
|
1170
1092
|
object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: SchemaFactoryObjectOptions<TCustomMetadata>): ObjectNodeSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata> & {
|
|
1171
1093
|
readonly createFromInsertable: unknown;
|
|
1172
1094
|
};
|
|
1173
|
-
objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: SchemaFactoryObjectOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordUnsafe<T>, false, T, never, TCustomMetadata> & SimpleObjectNodeSchema<TCustomMetadata> & Pick<ObjectNodeSchema, "fields">;
|
|
1095
|
+
objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: SchemaFactoryObjectOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T, never, TCustomMetadata> & SimpleObjectNodeSchema<TCustomMetadata> & Pick<ObjectNodeSchema, "fields">;
|
|
1174
1096
|
static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps_2<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha_2<FieldKind_2.Optional, T, TCustomMetadata>;
|
|
1175
|
-
static readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps_2<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe_2<FieldKind_2.Optional, T, TCustomMetadata>;
|
|
1097
|
+
static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps_2<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe_2<FieldKind_2.Optional, T, TCustomMetadata>;
|
|
1176
1098
|
static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps_2<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha_2<FieldKind_2.Required, T, TCustomMetadata>;
|
|
1177
1099
|
scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryAlpha<ScopedSchemaName<TScope, T>, TNameInner>;
|
|
1178
1100
|
}
|
|
@@ -1182,7 +1104,7 @@ export interface SchemaFactoryObjectOptions<TCustomMetadata = unknown> extends N
|
|
|
1182
1104
|
allowUnknownOptionalFields?: boolean;
|
|
1183
1105
|
}
|
|
1184
1106
|
|
|
1185
|
-
// @public @sealed
|
|
1107
|
+
// @public @sealed @system
|
|
1186
1108
|
export interface SchemaStatics {
|
|
1187
1109
|
readonly boolean: LeafSchema<"boolean", boolean>;
|
|
1188
1110
|
readonly handle: LeafSchema<"handle", IFluidHandle>;
|
|
@@ -1196,9 +1118,9 @@ export interface SchemaStatics {
|
|
|
1196
1118
|
readonly null: LeafSchema<"null", null>;
|
|
1197
1119
|
readonly number: LeafSchema<"number", number>;
|
|
1198
1120
|
readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
|
|
1199
|
-
readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
|
|
1121
|
+
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>;
|
|
1200
1122
|
readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
|
|
1201
|
-
readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
|
|
1123
|
+
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>;
|
|
1202
1124
|
readonly string: LeafSchema<"string", string>;
|
|
1203
1125
|
}
|
|
1204
1126
|
|
|
@@ -1207,7 +1129,7 @@ export interface SchemaValidationFunction<Schema extends TSchema> {
|
|
|
1207
1129
|
check(data: unknown): data is Static<Schema>;
|
|
1208
1130
|
}
|
|
1209
1131
|
|
|
1210
|
-
// @public
|
|
1132
|
+
// @public @system
|
|
1211
1133
|
type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
|
|
1212
1134
|
|
|
1213
1135
|
// @public @sealed
|
|
@@ -1262,7 +1184,7 @@ export interface SimpleMapNodeSchema<out TCustomMetadata = unknown> extends Simp
|
|
|
1262
1184
|
// @alpha
|
|
1263
1185
|
export type SimpleNodeSchema = SimpleLeafNodeSchema | SimpleMapNodeSchema | SimpleArrayNodeSchema | SimpleObjectNodeSchema;
|
|
1264
1186
|
|
|
1265
|
-
// @public @sealed
|
|
1187
|
+
// @public @sealed @system
|
|
1266
1188
|
export interface SimpleNodeSchemaBase<out TNodeKind extends NodeKind, out TCustomMetadata = unknown> {
|
|
1267
1189
|
readonly kind: TNodeKind;
|
|
1268
1190
|
readonly metadata: NodeSchemaMetadata<TCustomMetadata>;
|
|
@@ -1292,6 +1214,94 @@ export function singletonSchema<TScope extends string, TName extends string | nu
|
|
|
1292
1214
|
readonly value: TName;
|
|
1293
1215
|
}, Record<string, never>, true, Record<string, never>, undefined>;
|
|
1294
1216
|
|
|
1217
|
+
// @public @system
|
|
1218
|
+
export namespace System_Unsafe {
|
|
1219
|
+
// @system
|
|
1220
|
+
export type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
|
|
1221
|
+
// @sealed @system
|
|
1222
|
+
export type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
|
|
1223
|
+
// @sealed @system
|
|
1224
|
+
export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
|
|
1225
|
+
readonly allowedTypes: Types;
|
|
1226
|
+
readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
|
|
1227
|
+
readonly kind: Kind;
|
|
1228
|
+
}
|
|
1229
|
+
// @system
|
|
1230
|
+
export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
|
|
1231
|
+
// @system
|
|
1232
|
+
export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
|
|
1233
|
+
// @system
|
|
1234
|
+
export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
1235
|
+
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
1236
|
+
} & {
|
|
1237
|
+
readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
|
|
1238
|
+
};
|
|
1239
|
+
// @system
|
|
1240
|
+
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;
|
|
1241
|
+
// @system
|
|
1242
|
+
export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = [
|
|
1243
|
+
TList
|
|
1244
|
+
] extends [
|
|
1245
|
+
readonly [
|
|
1246
|
+
LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
|
|
1247
|
+
...infer Rest extends AllowedTypesUnsafe
|
|
1248
|
+
]
|
|
1249
|
+
] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
|
|
1250
|
+
// @system
|
|
1251
|
+
export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
|
|
1252
|
+
// @system
|
|
1253
|
+
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);
|
|
1254
|
+
// @system
|
|
1255
|
+
export type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
|
|
1256
|
+
// @system
|
|
1257
|
+
export type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
|
|
1258
|
+
// @system
|
|
1259
|
+
export type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
|
|
1260
|
+
-readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
|
|
1261
|
+
};
|
|
1262
|
+
// @sealed @system
|
|
1263
|
+
export interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
|
|
1264
|
+
[Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
1265
|
+
entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
|
|
1266
|
+
// (undocumented)
|
|
1267
|
+
forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
|
|
1268
|
+
// (undocumented)
|
|
1269
|
+
get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
|
|
1270
|
+
// (undocumented)
|
|
1271
|
+
has(key: K): boolean;
|
|
1272
|
+
keys(): IterableIterator<K>;
|
|
1273
|
+
// (undocumented)
|
|
1274
|
+
readonly size: number;
|
|
1275
|
+
values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
|
|
1276
|
+
}
|
|
1277
|
+
// @sealed @system
|
|
1278
|
+
export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
|
|
1279
|
+
}
|
|
1280
|
+
// @system
|
|
1281
|
+
export type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
1282
|
+
// @sealed @system
|
|
1283
|
+
export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
|
|
1284
|
+
delete(key: string): void;
|
|
1285
|
+
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
|
|
1286
|
+
}
|
|
1287
|
+
// @system
|
|
1288
|
+
export type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
|
|
1289
|
+
// @system
|
|
1290
|
+
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> {
|
|
1291
|
+
// @sealed
|
|
1292
|
+
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
1293
|
+
}
|
|
1294
|
+
// @system
|
|
1295
|
+
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> {
|
|
1296
|
+
// (undocumented)
|
|
1297
|
+
create(data: TInsertable): TNode;
|
|
1298
|
+
}
|
|
1299
|
+
// @system
|
|
1300
|
+
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>;
|
|
1301
|
+
// @system
|
|
1302
|
+
export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1295
1305
|
// @public
|
|
1296
1306
|
export interface Tagged<V, T extends string = string> {
|
|
1297
1307
|
// (undocumented)
|
|
@@ -1359,14 +1369,14 @@ export const TreeAlpha: {
|
|
|
1359
1369
|
} & ICodecOptions): Unhydrated<TreeFieldFromImplicitField<TSchema>>;
|
|
1360
1370
|
};
|
|
1361
1371
|
|
|
1362
|
-
// @public @sealed
|
|
1372
|
+
// @public @sealed @system
|
|
1363
1373
|
interface TreeApi extends TreeNodeApi {
|
|
1364
1374
|
contains(node: TreeNode, other: TreeNode): boolean;
|
|
1365
1375
|
readonly runTransaction: RunTransaction;
|
|
1366
1376
|
}
|
|
1367
1377
|
|
|
1368
1378
|
// @public @sealed
|
|
1369
|
-
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> {
|
|
1379
|
+
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> {
|
|
1370
1380
|
insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1371
1381
|
insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
1372
1382
|
insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
|
|
@@ -1392,10 +1402,6 @@ export const TreeArrayNode: {
|
|
|
1392
1402
|
readonly spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
|
|
1393
1403
|
};
|
|
1394
1404
|
|
|
1395
|
-
// @public @sealed
|
|
1396
|
-
export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
|
|
1397
|
-
}
|
|
1398
|
-
|
|
1399
1405
|
// @beta @sealed
|
|
1400
1406
|
export const TreeBeta: {
|
|
1401
1407
|
on<K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>): () => void;
|
|
@@ -1448,9 +1454,6 @@ export interface TreeEncodingOptions {
|
|
|
1448
1454
|
// @public
|
|
1449
1455
|
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;
|
|
1450
1456
|
|
|
1451
|
-
// @public
|
|
1452
|
-
type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
|
|
1453
|
-
|
|
1454
1457
|
// @alpha
|
|
1455
1458
|
export interface TreeIndex<TKey extends TreeIndexKey, TValue> extends ReadonlyMap<TKey, TValue> {
|
|
1456
1459
|
dispose(): void;
|
|
@@ -1475,12 +1478,6 @@ export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTyp
|
|
|
1475
1478
|
values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
|
|
1476
1479
|
}
|
|
1477
1480
|
|
|
1478
|
-
// @public @sealed
|
|
1479
|
-
export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
|
|
1480
|
-
delete(key: string): void;
|
|
1481
|
-
set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
|
|
1482
|
-
}
|
|
1483
|
-
|
|
1484
1481
|
// @public @sealed
|
|
1485
1482
|
export abstract class TreeNode implements WithType {
|
|
1486
1483
|
static [Symbol.hasInstance](value: unknown): value is TreeNode;
|
|
@@ -1505,9 +1502,6 @@ export interface TreeNodeApi {
|
|
|
1505
1502
|
// @public
|
|
1506
1503
|
export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
|
|
1507
1504
|
|
|
1508
|
-
// @public
|
|
1509
|
-
type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
|
|
1510
|
-
|
|
1511
1505
|
// @public @sealed
|
|
1512
1506
|
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>;
|
|
1513
1507
|
|
|
@@ -1518,44 +1512,27 @@ export type TreeNodeSchemaClass<Name extends string = string, Kind extends NodeK
|
|
|
1518
1512
|
new (data: TInsertable | InternalTreeNode | TConstructorExtra): Unhydrated<TNode>;
|
|
1519
1513
|
});
|
|
1520
1514
|
|
|
1521
|
-
// @public
|
|
1522
|
-
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> {
|
|
1523
|
-
// @sealed
|
|
1524
|
-
new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
|
|
1525
|
-
}
|
|
1526
|
-
|
|
1527
1515
|
// @public @sealed
|
|
1528
1516
|
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> {
|
|
1517
|
+
// @system
|
|
1529
1518
|
readonly childTypes: ReadonlySet<TreeNodeSchema>;
|
|
1530
|
-
// @sealed
|
|
1519
|
+
// @sealed @system
|
|
1531
1520
|
createFromInsertable(data: TInsertable): Unhydrated<TreeNode | TreeLeafValue>;
|
|
1532
1521
|
readonly identifier: Name;
|
|
1533
1522
|
readonly implicitlyConstructable: ImplicitlyConstructable;
|
|
1534
1523
|
readonly info: Info;
|
|
1535
1524
|
}
|
|
1536
1525
|
|
|
1537
|
-
// @public @sealed
|
|
1526
|
+
// @public @sealed @system
|
|
1538
1527
|
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 ? {
|
|
1539
1528
|
create(data?: TInsertable | TConstructorExtra): TNode;
|
|
1540
1529
|
} : {
|
|
1541
1530
|
create(data: TInsertable | TConstructorExtra): TNode;
|
|
1542
1531
|
});
|
|
1543
1532
|
|
|
1544
|
-
// @public
|
|
1545
|
-
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> {
|
|
1546
|
-
// (undocumented)
|
|
1547
|
-
create(data: TInsertable): TNode;
|
|
1548
|
-
}
|
|
1549
|
-
|
|
1550
|
-
// @public
|
|
1551
|
-
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>;
|
|
1552
|
-
|
|
1553
1533
|
// @public
|
|
1554
1534
|
export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
1555
1535
|
|
|
1556
|
-
// @public
|
|
1557
|
-
export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
|
|
1558
|
-
|
|
1559
1536
|
// @alpha @sealed (undocumented)
|
|
1560
1537
|
export interface TreeSchema extends SimpleTreeSchema {
|
|
1561
1538
|
readonly definitions: ReadonlyMap<string, SimpleNodeSchema & TreeNodeSchema>;
|
|
@@ -1628,10 +1605,10 @@ export interface TreeViewEvents {
|
|
|
1628
1605
|
// @alpha
|
|
1629
1606
|
export const typeboxValidator: JsonValidator;
|
|
1630
1607
|
|
|
1631
|
-
// @public @deprecated
|
|
1608
|
+
// @public @deprecated @system
|
|
1632
1609
|
const typeNameSymbol: unique symbol;
|
|
1633
1610
|
|
|
1634
|
-
// @public
|
|
1611
|
+
// @public @system
|
|
1635
1612
|
export const typeSchemaSymbol: unique symbol;
|
|
1636
1613
|
|
|
1637
1614
|
// @public
|
|
@@ -1640,7 +1617,7 @@ export type Unenforced<_DesiredExtendsConstraint> = unknown;
|
|
|
1640
1617
|
// @public
|
|
1641
1618
|
export type Unhydrated<T> = T;
|
|
1642
1619
|
|
|
1643
|
-
// @public
|
|
1620
|
+
// @public @system
|
|
1644
1621
|
export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) extends (k: infer U) => unknown ? U : never;
|
|
1645
1622
|
|
|
1646
1623
|
// @alpha
|
|
@@ -1688,7 +1665,7 @@ export interface VerboseTreeNode<THandle = IFluidHandle> {
|
|
|
1688
1665
|
type: string;
|
|
1689
1666
|
}
|
|
1690
1667
|
|
|
1691
|
-
// @public @sealed
|
|
1668
|
+
// @public @sealed @system
|
|
1692
1669
|
export interface ViewableTree {
|
|
1693
1670
|
viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
|
|
1694
1671
|
}
|