fluid-framework 2.23.0-325054 → 2.30.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.
@@ -17,22 +17,11 @@ type ApplyKind<T, Kind extends FieldKind> = {
17
17
  [FieldKind.Identifier]: T;
18
18
  }[Kind];
19
19
 
20
- // @public
21
- export type ApplyKindAssignment<T, Kind extends FieldKind> = [Kind] extends [
22
- FieldKind.Required
23
- ] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : never;
24
-
25
20
  // @public
26
21
  type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = [
27
22
  Kind
28
23
  ] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
29
24
 
30
- // @public
31
- export type AssignableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindAssignment<GetTypes<Types>["readWrite"], Kind> : [TSchema] extends [ImplicitAllowedTypes] ? GetTypes<TSchema>["readWrite"] : never;
32
-
33
- // @public
34
- export type AssignableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKindAssignment<GetTypesUnsafe<Types>["readWrite"], Kind> : GetTypesUnsafe<TSchema>["readWrite"];
35
-
36
25
  // @public
37
26
  export enum AttachState {
38
27
  Attached = "Attached",
@@ -81,40 +70,10 @@ export interface ContainerSchema {
81
70
  readonly initialObjects: Record<string, SharedObjectKind>;
82
71
  }
83
72
 
84
- // @public
85
- export type CustomizedSchemaTyping<TSchema, TCustom extends CustomTypes> = TSchema & {
86
- [CustomizedTyping]: TCustom;
87
- };
88
-
89
- // @public
90
- export const CustomizedTyping: unique symbol;
91
-
92
- // @public
93
- export type CustomizedTyping = typeof CustomizedTyping;
94
-
95
- // @public @sealed
96
- export interface CustomTypes {
97
- readonly input: unknown;
98
- readonly output: TreeLeafValue | TreeNode;
99
- readonly readWrite: TreeLeafValue | TreeNode;
100
- }
101
-
102
- // @public
103
- export type DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
104
-
105
- // @public
106
- export type DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
107
-
108
73
  // @public @sealed
109
74
  interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
110
75
  }
111
76
 
112
- // @public
113
- export type DefaultTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
114
-
115
- // @public
116
- export type DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
117
-
118
77
  // @alpha (undocumented)
119
78
  export type DeserializeCallback = (properties: PropertySet) => void;
120
79
 
@@ -190,16 +149,6 @@ export type FluidObject<T = unknown> = {
190
149
  // @public
191
150
  export type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string extends TProp ? never : number extends TProp ? never : TProp extends keyof Required<T>[TProp] ? Required<T>[TProp] extends Required<Required<T>[TProp]>[TProp] ? TProp : never : never;
192
151
 
193
- // @public
194
- export type GetTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [
195
- CustomizedSchemaTyping<unknown, infer TCustom>
196
- ] ? TCustom : StrictTypes<TSchema>;
197
-
198
- // @public
199
- export type GetTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [
200
- TSchema
201
- ] extends [CustomizedSchemaTyping<unknown, infer TCustom>] ? TCustom : StrictTypesUnsafe<TSchema>;
202
-
203
152
  // @alpha
204
153
  export interface IBranchOrigin {
205
154
  id: string;
@@ -582,7 +531,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
582
531
  };
583
532
 
584
533
  // @public
585
- export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = [TSchemaInput] extends [CustomizedSchemaTyping<unknown, CustomTypes>] ? TSchemaInput : SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
534
+ 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;
586
535
 
587
536
  // @public
588
537
  export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends Unenforced<ImplicitFieldSchema>, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
@@ -600,10 +549,12 @@ LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
600
549
  ] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
601
550
 
602
551
  // @public
603
- export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = GetTypes<TSchema>["input"];
552
+ export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
553
+ TSchema
554
+ ] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
604
555
 
605
556
  // @public
606
- export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["input"];
557
+ export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
607
558
 
608
559
  // @public
609
560
  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);
@@ -978,30 +929,12 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
978
929
 
979
930
  // @public
980
931
  type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = {
981
- -readonly [Property in keyof T as [
982
- AssignableTreeFieldFromImplicitField<T[Property & string]>
983
- ] extends [never | undefined] ? never : Property]: AssignableTreeFieldFromImplicitField<T[Property & string]>;
984
- } & {
985
- readonly [Property in keyof T]: TreeFieldFromImplicitField<T[Property & string]>;
932
+ -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitField<T[Property]> : unknown;
986
933
  };
987
934
 
988
935
  // @public
989
936
  type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<ImplicitFieldSchema>>> = {
990
- -readonly [Property in keyof T as [T[Property]] extends [
991
- CustomizedSchemaTyping<unknown, {
992
- readonly readWrite: never;
993
- readonly input: unknown;
994
- readonly output: TreeNode | TreeLeafValue;
995
- }>
996
- ] ? never : Property]: AssignableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
997
- } & {
998
- readonly [Property in keyof T as [T[Property]] extends [
999
- CustomizedSchemaTyping<unknown, {
1000
- readonly readWrite: never;
1001
- readonly input: unknown;
1002
- readonly output: TreeNode | TreeLeafValue;
1003
- }>
1004
- ] ? Property : never]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
937
+ -readonly [Property in keyof T]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
1005
938
  };
1006
939
 
1007
940
  // @public
@@ -1148,11 +1081,6 @@ export const schemaStatics: {
1148
1081
  readonly requiredRecursive: <const T_3 extends unknown>(t: T_3, props?: Omit<FieldProps, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T_3>;
1149
1082
  };
1150
1083
 
1151
- // @public
1152
- export type SchemaUnionToIntersection<T> = [T] extends [
1153
- CustomizedSchemaTyping<unknown, CustomTypes>
1154
- ] ? T : UnionToIntersection<T>;
1155
-
1156
1084
  // @public
1157
1085
  type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
1158
1086
 
@@ -1242,26 +1170,6 @@ export const SharedTree: SharedObjectKind<ITree>;
1242
1170
 
1243
1171
  export { Side }
1244
1172
 
1245
- // @public @sealed
1246
- export interface StrictTypes<TSchema extends ImplicitAllowedTypes, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema>, TOutput extends TreeNode | TreeLeafValue = DefaultTreeNodeFromImplicitAllowedTypes<TSchema>> {
1247
- // (undocumented)
1248
- input: TInput;
1249
- // (undocumented)
1250
- output: TOutput;
1251
- // (undocumented)
1252
- readWrite: TInput extends never ? never : TOutput;
1253
- }
1254
-
1255
- // @public
1256
- export interface StrictTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>, TOutput = DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>> {
1257
- // (undocumented)
1258
- input: TInput;
1259
- // (undocumented)
1260
- output: TOutput;
1261
- // (undocumented)
1262
- readWrite: TOutput;
1263
- }
1264
-
1265
1173
  // @public
1266
1174
  export interface Tagged<V, T extends string = string> {
1267
1175
  // (undocumented)
@@ -1372,10 +1280,10 @@ export interface TreeNodeApi {
1372
1280
  }
1373
1281
 
1374
1282
  // @public
1375
- export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = GetTypes<TSchema>["output"];
1283
+ export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
1376
1284
 
1377
1285
  // @public
1378
- type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["output"];
1286
+ type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
1379
1287
 
1380
1288
  // @public @sealed
1381
1289
  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>;
@@ -17,22 +17,11 @@ type ApplyKind<T, Kind extends FieldKind> = {
17
17
  [FieldKind.Identifier]: T;
18
18
  }[Kind];
19
19
 
20
- // @public
21
- export type ApplyKindAssignment<T, Kind extends FieldKind> = [Kind] extends [
22
- FieldKind.Required
23
- ] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : never;
24
-
25
20
  // @public
26
21
  type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = [
27
22
  Kind
28
23
  ] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
29
24
 
30
- // @public
31
- export type AssignableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindAssignment<GetTypes<Types>["readWrite"], Kind> : [TSchema] extends [ImplicitAllowedTypes] ? GetTypes<TSchema>["readWrite"] : never;
32
-
33
- // @public
34
- export type AssignableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKindAssignment<GetTypesUnsafe<Types>["readWrite"], Kind> : GetTypesUnsafe<TSchema>["readWrite"];
35
-
36
25
  // @public
37
26
  export enum AttachState {
38
27
  Attached = "Attached",
@@ -81,40 +70,10 @@ export interface ContainerSchema {
81
70
  readonly initialObjects: Record<string, SharedObjectKind>;
82
71
  }
83
72
 
84
- // @public
85
- export type CustomizedSchemaTyping<TSchema, TCustom extends CustomTypes> = TSchema & {
86
- [CustomizedTyping]: TCustom;
87
- };
88
-
89
- // @public
90
- export const CustomizedTyping: unique symbol;
91
-
92
- // @public
93
- export type CustomizedTyping = typeof CustomizedTyping;
94
-
95
- // @public @sealed
96
- export interface CustomTypes {
97
- readonly input: unknown;
98
- readonly output: TreeLeafValue | TreeNode;
99
- readonly readWrite: TreeLeafValue | TreeNode;
100
- }
101
-
102
- // @public
103
- export type DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
104
-
105
- // @public
106
- export type DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
107
-
108
73
  // @public @sealed
109
74
  interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
110
75
  }
111
76
 
112
- // @public
113
- export type DefaultTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
114
-
115
- // @public
116
- export type DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
117
-
118
77
  // @public @sealed
119
78
  export abstract class ErasedType<out Name = unknown> {
120
79
  static [Symbol.hasInstance](value: never): value is never;
@@ -187,16 +146,6 @@ export type FluidObject<T = unknown> = {
187
146
  // @public
188
147
  export type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string extends TProp ? never : number extends TProp ? never : TProp extends keyof Required<T>[TProp] ? Required<T>[TProp] extends Required<Required<T>[TProp]>[TProp] ? TProp : never : never;
189
148
 
190
- // @public
191
- export type GetTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [
192
- CustomizedSchemaTyping<unknown, infer TCustom>
193
- ] ? TCustom : StrictTypes<TSchema>;
194
-
195
- // @public
196
- export type GetTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [
197
- TSchema
198
- ] extends [CustomizedSchemaTyping<unknown, infer TCustom>] ? TCustom : StrictTypesUnsafe<TSchema>;
199
-
200
149
  // @public
201
150
  export interface IConnection {
202
151
  readonly id: string;
@@ -510,7 +459,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
510
459
  };
511
460
 
512
461
  // @public
513
- export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = [TSchemaInput] extends [CustomizedSchemaTyping<unknown, CustomTypes>] ? TSchemaInput : SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
462
+ 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;
514
463
 
515
464
  // @public
516
465
  export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends Unenforced<ImplicitFieldSchema>, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
@@ -528,10 +477,12 @@ LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
528
477
  ] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
529
478
 
530
479
  // @public
531
- export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = GetTypes<TSchema>["input"];
480
+ export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
481
+ TSchema
482
+ ] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
532
483
 
533
484
  // @public
534
- export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["input"];
485
+ export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
535
486
 
536
487
  // @public
537
488
  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);
@@ -712,30 +663,12 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
712
663
 
713
664
  // @public
714
665
  type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = {
715
- -readonly [Property in keyof T as [
716
- AssignableTreeFieldFromImplicitField<T[Property & string]>
717
- ] extends [never | undefined] ? never : Property]: AssignableTreeFieldFromImplicitField<T[Property & string]>;
718
- } & {
719
- readonly [Property in keyof T]: TreeFieldFromImplicitField<T[Property & string]>;
666
+ -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitField<T[Property]> : unknown;
720
667
  };
721
668
 
722
669
  // @public
723
670
  type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<ImplicitFieldSchema>>> = {
724
- -readonly [Property in keyof T as [T[Property]] extends [
725
- CustomizedSchemaTyping<unknown, {
726
- readonly readWrite: never;
727
- readonly input: unknown;
728
- readonly output: TreeNode | TreeLeafValue;
729
- }>
730
- ] ? never : Property]: AssignableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
731
- } & {
732
- readonly [Property in keyof T as [T[Property]] extends [
733
- CustomizedSchemaTyping<unknown, {
734
- readonly readWrite: never;
735
- readonly input: unknown;
736
- readonly output: TreeNode | TreeLeafValue;
737
- }>
738
- ] ? Property : never]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
671
+ -readonly [Property in keyof T]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
739
672
  };
740
673
 
741
674
  // @public
@@ -882,11 +815,6 @@ export const schemaStatics: {
882
815
  readonly requiredRecursive: <const T_3 extends unknown>(t: T_3, props?: Omit<FieldProps, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T_3>;
883
816
  };
884
817
 
885
- // @public
886
- export type SchemaUnionToIntersection<T> = [T] extends [
887
- CustomizedSchemaTyping<unknown, CustomTypes>
888
- ] ? T : UnionToIntersection<T>;
889
-
890
818
  // @public
891
819
  type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
892
820
 
@@ -902,26 +830,6 @@ export const SharedTree: SharedObjectKind<ITree>;
902
830
 
903
831
  export { Side }
904
832
 
905
- // @public @sealed
906
- export interface StrictTypes<TSchema extends ImplicitAllowedTypes, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema>, TOutput extends TreeNode | TreeLeafValue = DefaultTreeNodeFromImplicitAllowedTypes<TSchema>> {
907
- // (undocumented)
908
- input: TInput;
909
- // (undocumented)
910
- output: TOutput;
911
- // (undocumented)
912
- readWrite: TInput extends never ? never : TOutput;
913
- }
914
-
915
- // @public
916
- export interface StrictTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>, TOutput = DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>> {
917
- // (undocumented)
918
- input: TInput;
919
- // (undocumented)
920
- output: TOutput;
921
- // (undocumented)
922
- readWrite: TOutput;
923
- }
924
-
925
833
  // @public
926
834
  export interface Tagged<V, T extends string = string> {
927
835
  // (undocumented)
@@ -1032,10 +940,10 @@ export interface TreeNodeApi {
1032
940
  }
1033
941
 
1034
942
  // @public
1035
- export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = GetTypes<TSchema>["output"];
943
+ export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
1036
944
 
1037
945
  // @public
1038
- type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["output"];
946
+ type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
1039
947
 
1040
948
  // @public @sealed
1041
949
  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>;
@@ -17,22 +17,11 @@ type ApplyKind<T, Kind extends FieldKind> = {
17
17
  [FieldKind.Identifier]: T;
18
18
  }[Kind];
19
19
 
20
- // @public
21
- export type ApplyKindAssignment<T, Kind extends FieldKind> = [Kind] extends [
22
- FieldKind.Required
23
- ] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : never;
24
-
25
20
  // @public
26
21
  type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = [
27
22
  Kind
28
23
  ] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
29
24
 
30
- // @public
31
- export type AssignableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindAssignment<GetTypes<Types>["readWrite"], Kind> : [TSchema] extends [ImplicitAllowedTypes] ? GetTypes<TSchema>["readWrite"] : never;
32
-
33
- // @public
34
- export type AssignableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKindAssignment<GetTypesUnsafe<Types>["readWrite"], Kind> : GetTypesUnsafe<TSchema>["readWrite"];
35
-
36
25
  // @public
37
26
  export enum AttachState {
38
27
  Attached = "Attached",
@@ -81,40 +70,10 @@ export interface ContainerSchema {
81
70
  readonly initialObjects: Record<string, SharedObjectKind>;
82
71
  }
83
72
 
84
- // @public
85
- export type CustomizedSchemaTyping<TSchema, TCustom extends CustomTypes> = TSchema & {
86
- [CustomizedTyping]: TCustom;
87
- };
88
-
89
- // @public
90
- export const CustomizedTyping: unique symbol;
91
-
92
- // @public
93
- export type CustomizedTyping = typeof CustomizedTyping;
94
-
95
- // @public @sealed
96
- export interface CustomTypes {
97
- readonly input: unknown;
98
- readonly output: TreeLeafValue | TreeNode;
99
- readonly readWrite: TreeLeafValue | TreeNode;
100
- }
101
-
102
- // @public
103
- export type DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
104
-
105
- // @public
106
- export type DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
107
-
108
73
  // @public @sealed
109
74
  interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
110
75
  }
111
76
 
112
- // @public
113
- export type DefaultTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
114
-
115
- // @public
116
- export type DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
117
-
118
77
  // @public @sealed
119
78
  export abstract class ErasedType<out Name = unknown> {
120
79
  static [Symbol.hasInstance](value: never): value is never;
@@ -187,16 +146,6 @@ export type FluidObject<T = unknown> = {
187
146
  // @public
188
147
  export type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string extends TProp ? never : number extends TProp ? never : TProp extends keyof Required<T>[TProp] ? Required<T>[TProp] extends Required<Required<T>[TProp]>[TProp] ? TProp : never : never;
189
148
 
190
- // @public
191
- export type GetTypes<TSchema extends ImplicitAllowedTypes> = [TSchema] extends [
192
- CustomizedSchemaTyping<unknown, infer TCustom>
193
- ] ? TCustom : StrictTypes<TSchema>;
194
-
195
- // @public
196
- export type GetTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [
197
- TSchema
198
- ] extends [CustomizedSchemaTyping<unknown, infer TCustom>] ? TCustom : StrictTypesUnsafe<TSchema>;
199
-
200
149
  // @public
201
150
  export interface IConnection {
202
151
  readonly id: string;
@@ -482,7 +431,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
482
431
  };
483
432
 
484
433
  // @public
485
- export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = [TSchemaInput] extends [CustomizedSchemaTyping<unknown, CustomTypes>] ? TSchemaInput : SchemaUnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
434
+ 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;
486
435
 
487
436
  // @public
488
437
  export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends Unenforced<ImplicitFieldSchema>, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
@@ -500,10 +449,12 @@ LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
500
449
  ] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
501
450
 
502
451
  // @public
503
- export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = GetTypes<TSchema>["input"];
452
+ export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
453
+ TSchema
454
+ ] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
504
455
 
505
456
  // @public
506
- export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["input"];
457
+ export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
507
458
 
508
459
  // @public
509
460
  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);
@@ -676,30 +627,12 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
676
627
 
677
628
  // @public
678
629
  type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = {
679
- -readonly [Property in keyof T as [
680
- AssignableTreeFieldFromImplicitField<T[Property & string]>
681
- ] extends [never | undefined] ? never : Property]: AssignableTreeFieldFromImplicitField<T[Property & string]>;
682
- } & {
683
- readonly [Property in keyof T]: TreeFieldFromImplicitField<T[Property & string]>;
630
+ -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitField<T[Property]> : unknown;
684
631
  };
685
632
 
686
633
  // @public
687
634
  type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<ImplicitFieldSchema>>> = {
688
- -readonly [Property in keyof T as [T[Property]] extends [
689
- CustomizedSchemaTyping<unknown, {
690
- readonly readWrite: never;
691
- readonly input: unknown;
692
- readonly output: TreeNode | TreeLeafValue;
693
- }>
694
- ] ? never : Property]: AssignableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
695
- } & {
696
- readonly [Property in keyof T as [T[Property]] extends [
697
- CustomizedSchemaTyping<unknown, {
698
- readonly readWrite: never;
699
- readonly input: unknown;
700
- readonly output: TreeNode | TreeLeafValue;
701
- }>
702
- ] ? Property : never]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
635
+ -readonly [Property in keyof T]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
703
636
  };
704
637
 
705
638
  // @public
@@ -846,11 +779,6 @@ export const schemaStatics: {
846
779
  readonly requiredRecursive: <const T_3 extends unknown>(t: T_3, props?: Omit<FieldProps, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T_3>;
847
780
  };
848
781
 
849
- // @public
850
- export type SchemaUnionToIntersection<T> = [T] extends [
851
- CustomizedSchemaTyping<unknown, CustomTypes>
852
- ] ? T : UnionToIntersection<T>;
853
-
854
782
  // @public
855
783
  type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
856
784
 
@@ -862,26 +790,6 @@ export interface SharedObjectKind<out TSharedObject = unknown> extends ErasedTyp
862
790
  // @public
863
791
  export const SharedTree: SharedObjectKind<ITree>;
864
792
 
865
- // @public @sealed
866
- export interface StrictTypes<TSchema extends ImplicitAllowedTypes, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypes<TSchema>, TOutput extends TreeNode | TreeLeafValue = DefaultTreeNodeFromImplicitAllowedTypes<TSchema>> {
867
- // (undocumented)
868
- input: TInput;
869
- // (undocumented)
870
- output: TOutput;
871
- // (undocumented)
872
- readWrite: TInput extends never ? never : TOutput;
873
- }
874
-
875
- // @public
876
- export interface StrictTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>, TInput = DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>, TOutput = DefaultTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>> {
877
- // (undocumented)
878
- input: TInput;
879
- // (undocumented)
880
- output: TOutput;
881
- // (undocumented)
882
- readWrite: TOutput;
883
- }
884
-
885
793
  // @public
886
794
  export interface Tagged<V, T extends string = string> {
887
795
  // (undocumented)
@@ -992,10 +900,10 @@ export interface TreeNodeApi {
992
900
  }
993
901
 
994
902
  // @public
995
- export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = GetTypes<TSchema>["output"];
903
+ export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
996
904
 
997
905
  // @public
998
- type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = GetTypesUnsafe<TSchema>["output"];
906
+ type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
999
907
 
1000
908
  // @public @sealed
1001
909
  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>;
package/dist/alpha.d.ts CHANGED
@@ -21,9 +21,6 @@ export {
21
21
 
22
22
  // @public APIs
23
23
  AllowedTypes,
24
- ApplyKindAssignment,
25
- AssignableTreeFieldFromImplicitField,
26
- AssignableTreeFieldFromImplicitFieldUnsafe,
27
24
  AttachState,
28
25
  CommitKind,
29
26
  CommitMetadata,
@@ -31,13 +28,6 @@ export {
31
28
  ConnectionStateType,
32
29
  ContainerAttachProps,
33
30
  ContainerSchema,
34
- CustomTypes,
35
- CustomizedSchemaTyping,
36
- CustomizedTyping,
37
- DefaultInsertableTreeNodeFromImplicitAllowedTypes,
38
- DefaultInsertableTreeNodeFromImplicitAllowedTypesUnsafe,
39
- DefaultTreeNodeFromImplicitAllowedTypes,
40
- DefaultTreeNodeFromImplicitAllowedTypesUnsafe,
41
31
  ErasedType,
42
32
  FieldKind,
43
33
  FieldProps,
@@ -46,8 +36,6 @@ export {
46
36
  FieldSchemaUnsafe,
47
37
  FluidObject,
48
38
  FluidObjectProviderKeys,
49
- GetTypes,
50
- GetTypesUnsafe,
51
39
  IConnection,
52
40
  ICriticalContainerError,
53
41
  IDisposable,
@@ -108,11 +96,8 @@ export {
108
96
  RunTransaction,
109
97
  SchemaCompatibilityStatus,
110
98
  SchemaFactory,
111
- SchemaUnionToIntersection,
112
99
  SharedObjectKind,
113
100
  SharedTree,
114
- StrictTypes,
115
- StrictTypesUnsafe,
116
101
  Tagged,
117
102
  TelemetryBaseEventPropertyType,
118
103
  TransactionConstraint,
@@ -157,9 +142,7 @@ export {
157
142
 
158
143
  // @alpha APIs
159
144
  BranchableTree,
160
- Component,
161
145
  ConciseTree,
162
- Customizer,
163
146
  EncodeOptions,
164
147
  FactoryContent,
165
148
  FactoryContentObject,
@@ -170,6 +153,7 @@ export {
170
153
  ForestTypeExpensiveDebug,
171
154
  ForestTypeOptimized,
172
155
  ForestTypeReference,
156
+ HandleConverter,
173
157
  ICodecOptions,
174
158
  IdentifierIndex,
175
159
  Insertable,
@@ -229,11 +213,11 @@ export {
229
213
  VoidTransactionCallbackStatus,
230
214
  adaptEnum,
231
215
  asTreeViewAlpha,
216
+ cloneWithReplacements,
232
217
  comparePersistedSchema,
233
218
  configuredSharedTree,
234
219
  createIdentifierIndex,
235
220
  createSimpleTreeIndex,
236
- customizeSchemaTyping,
237
221
  enumFromStrings,
238
222
  evaluateLazySchema,
239
223
  extractPersistedSchema,
@@ -242,6 +226,9 @@ export {
242
226
  independentInitializedView,
243
227
  independentView,
244
228
  noopValidator,
229
+ replaceConciseTreeHandles,
230
+ replaceHandles,
231
+ replaceVerboseTreeHandles,
245
232
  singletonSchema,
246
233
  typeboxValidator
247
234
  } from "./index.js";