fluid-framework 2.3.1 → 2.4.0-297027

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.
@@ -89,21 +89,29 @@ export enum FieldKind {
89
89
  }
90
90
 
91
91
  // @public
92
- export interface FieldProps {
92
+ export interface FieldProps<TCustomMetadata = unknown> {
93
93
  readonly defaultProvider?: DefaultProvider;
94
94
  readonly key?: string;
95
+ readonly metadata?: FieldSchemaMetadata<TCustomMetadata>;
95
96
  }
96
97
 
97
98
  // @public @sealed
98
- export class FieldSchema<out Kind extends FieldKind = FieldKind, out Types extends ImplicitAllowedTypes = ImplicitAllowedTypes> {
99
+ export class FieldSchema<out Kind extends FieldKind = FieldKind, out Types extends ImplicitAllowedTypes = ImplicitAllowedTypes, out TCustomMetadata = unknown> {
99
100
  readonly allowedTypes: Types;
100
101
  get allowedTypeSet(): ReadonlySet<TreeNodeSchema>;
101
102
  readonly kind: Kind;
102
- readonly props?: FieldProps | undefined;
103
+ get metadata(): FieldSchemaMetadata<TCustomMetadata> | undefined;
104
+ readonly props?: FieldProps<TCustomMetadata> | undefined;
103
105
  readonly requiresValue: boolean;
104
106
  protected _typeCheck: MakeNominal;
105
107
  }
106
108
 
109
+ // @public @sealed
110
+ export interface FieldSchemaMetadata<TCustomMetadata = unknown> {
111
+ readonly custom?: TCustomMetadata;
112
+ readonly description?: string | undefined;
113
+ }
114
+
107
115
  // @public
108
116
  export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends Unenforced<ImplicitAllowedTypes>> extends FieldSchema<Kind, any> {
109
117
  readonly allowedTypes: Types;
@@ -398,14 +406,14 @@ export type InitialObjects<T extends ContainerSchema> = {
398
406
  type _InlineTrick = 0;
399
407
 
400
408
  // @public
401
- type InsertableObjectFromSchemaRecord<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>> = FlattenKeys<{
402
- readonly [Property in keyof T]?: InsertableTreeFieldFromImplicitField<T[Property]>;
409
+ type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = FlattenKeys<{
410
+ readonly [Property in keyof T]?: InsertableTreeFieldFromImplicitField<T[Property] & string>;
403
411
  } & {
404
- readonly [Property in keyof T as FieldHasDefault<T[Property]> extends false ? Property : never]: InsertableTreeFieldFromImplicitField<T[Property]>;
412
+ readonly [Property in keyof T as FieldHasDefault<T[Property] & string> extends false ? Property : never]: InsertableTreeFieldFromImplicitField<T[Property] & string>;
405
413
  }>;
406
414
 
407
415
  // @public
408
- export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>> = {
416
+ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<ImplicitFieldSchema>>> = {
409
417
  readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
410
418
  } & {
411
419
  readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property]>;
@@ -446,7 +454,6 @@ declare namespace InternalTypes {
446
454
  ApplyKind,
447
455
  NodeBuilderData,
448
456
  FieldHasDefault,
449
- TreeNodeSchemaNonClass,
450
457
  TreeArrayNodeBase,
451
458
  ScopedSchemaName,
452
459
  DefaultProvider,
@@ -514,8 +521,7 @@ export class IterableTreeArrayContent<T> implements Iterable<T> {
514
521
  }
515
522
 
516
523
  // @public @sealed
517
- export interface ITree extends IFluidLoadable {
518
- viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
524
+ export interface ITree extends ViewableTree, IFluidLoadable {
519
525
  }
520
526
 
521
527
  // @public
@@ -547,7 +553,7 @@ export interface MakeNominal {
547
553
  }
548
554
 
549
555
  // @public
550
- export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveReadonlyRecord<string, InsertableTreeNodeFromImplicitAllowedTypes<T>>;
556
+ export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
551
557
 
552
558
  // @public
553
559
  export type MemberChangedListener<M extends IMember> = (clientId: string, member: M) => void;
@@ -586,12 +592,12 @@ export enum NodeKind {
586
592
  }
587
593
 
588
594
  // @public
589
- type ObjectFromSchemaRecord<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>> = {
590
- -readonly [Property in keyof T]: TreeFieldFromImplicitField<T[Property]>;
595
+ type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = {
596
+ -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitField<T[Property]> : unknown;
591
597
  };
592
598
 
593
599
  // @public
594
- type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>> = {
600
+ type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<ImplicitFieldSchema>>> = {
595
601
  -readonly [Property in keyof T]: TreeFieldFromImplicitFieldUnsafe<T[Property]>;
596
602
  };
597
603
 
@@ -619,11 +625,18 @@ export type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any
619
625
  [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
620
626
  } : L;
621
627
 
622
- // @public
628
+ // @public @deprecated
623
629
  export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
624
630
  readonly [P in symbol | string]: P extends K ? T : never;
625
631
  };
626
632
 
633
+ // @public
634
+ export type RestrictiveStringRecord<T> = {
635
+ readonly [P in string]: T;
636
+ } & {
637
+ readonly [P in symbol]?: never;
638
+ };
639
+
627
640
  // @public @sealed
628
641
  export interface Revertible {
629
642
  dispose(): void;
@@ -672,7 +685,7 @@ export interface SchemaCompatibilityStatus {
672
685
  // @public @sealed
673
686
  export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> {
674
687
  constructor(scope: TScope);
675
- array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T>;
688
+ 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>;
676
689
  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>;
677
690
  arrayRecursive<const Name extends TName, const T extends Unenforced<ImplicitAllowedTypes>>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
678
691
  [Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
@@ -680,7 +693,7 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
680
693
  readonly boolean: TreeNodeSchema<"com.fluidframework.leaf.boolean", NodeKind.Leaf, boolean, boolean>;
681
694
  readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<unknown>, IFluidHandle<unknown>>;
682
695
  get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
683
- map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map>, MapNodeInsertableData<T>, true, T>;
696
+ 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>;
684
697
  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>;
685
698
  mapRecursive<Name extends TName, const T extends Unenforced<ImplicitAllowedTypes>>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
686
699
  [Symbol.iterator](): Iterator<[
@@ -690,11 +703,11 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
690
703
  }, false, T>;
691
704
  readonly null: TreeNodeSchema<"com.fluidframework.leaf.null", NodeKind.Leaf, null, null>;
692
705
  readonly number: TreeNodeSchema<"com.fluidframework.leaf.number", NodeKind.Leaf, number, number>;
693
- object<const Name extends TName, const T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
694
- objectRecursive<const Name extends TName, const T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & { readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property]>; } & { readonly [Property_1 in keyof T as FieldHasDefaultUnsafe<T[Property_1]> extends true ? Property_1 : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property_1]> | undefined; }, false, T>;
695
- optional<const T extends ImplicitAllowedTypes>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchema<FieldKind.Optional, T>;
706
+ 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>;
707
+ objectRecursive<const Name extends TName, const T extends Unenforced<RestrictiveStringRecord<ImplicitFieldSchema>>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & { readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property]>; } & { readonly [Property_1 in keyof T as FieldHasDefaultUnsafe<T[Property_1]> extends true ? Property_1 : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property_1]> | undefined; }, false, T>;
708
+ optional<const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">): FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
696
709
  optionalRecursive<const T extends Unenforced<ImplicitAllowedTypes>>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchemaUnsafe<FieldKind.Optional, T>;
697
- required<const T extends ImplicitAllowedTypes>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchema<FieldKind.Required, T>;
710
+ required<const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">): FieldSchema<FieldKind.Required, T, TCustomMetadata>;
698
711
  requiredRecursive<const T extends Unenforced<ImplicitAllowedTypes>>(t: T, props?: Omit<FieldProps, "defaultProvider">): FieldSchemaUnsafe<FieldKind.Required, T>;
699
712
  // (undocumented)
700
713
  readonly scope: TScope;
@@ -754,14 +767,14 @@ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<
754
767
  insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
755
768
  moveRangeToEnd(sourceStart: number, sourceEnd: number): void;
756
769
  moveRangeToEnd(sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
757
- moveRangeToIndex(index: number, sourceStart: number, sourceEnd: number): void;
758
- moveRangeToIndex(index: number, sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
770
+ moveRangeToIndex(destinationGap: number, sourceStart: number, sourceEnd: number): void;
771
+ moveRangeToIndex(destinationGap: number, sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
759
772
  moveRangeToStart(sourceStart: number, sourceEnd: number): void;
760
773
  moveRangeToStart(sourceStart: number, sourceEnd: number, source: TMoveFrom): void;
761
774
  moveToEnd(sourceIndex: number): void;
762
775
  moveToEnd(sourceIndex: number, source: TMoveFrom): void;
763
- moveToIndex(index: number, sourceIndex: number): void;
764
- moveToIndex(index: number, sourceIndex: number, source: TMoveFrom): void;
776
+ moveToIndex(destinationGap: number, sourceIndex: number): void;
777
+ moveToIndex(destinationGap: number, sourceIndex: number, source: TMoveFrom): void;
765
778
  moveToStart(sourceIndex: number): void;
766
779
  moveToStart(sourceIndex: number, source: TMoveFrom): void;
767
780
  removeAt(index: number): void;
@@ -842,6 +855,7 @@ export interface TreeNodeSchemaClass<out Name extends string = string, out Kind
842
855
 
843
856
  // @public @sealed
844
857
  export interface TreeNodeSchemaCore<out Name extends string, out Kind extends NodeKind, out ImplicitlyConstructable extends boolean, out Info = unknown> {
858
+ readonly childTypes: ReadonlySet<TreeNodeSchema>;
845
859
  readonly identifier: Name;
846
860
  readonly implicitlyConstructable: ImplicitlyConstructable;
847
861
  readonly info: Info;
@@ -850,16 +864,16 @@ export interface TreeNodeSchemaCore<out Name extends string, out Kind extends No
850
864
  }
851
865
 
852
866
  // @public @sealed
853
- interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
867
+ export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
854
868
  // (undocumented)
855
869
  create(data: TInsertable): TNode;
856
870
  }
857
871
 
858
872
  // @public
859
- export type TreeObjectNode<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
873
+ export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
860
874
 
861
875
  // @public
862
- export type TreeObjectNodeUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object>;
876
+ export type TreeObjectNodeUnsafe<T extends Unenforced<RestrictiveStringRecord<ImplicitFieldSchema>>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object>;
863
877
 
864
878
  // @public
865
879
  export enum TreeStatus {
@@ -876,6 +890,7 @@ export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposab
876
890
  initialize(content: InsertableTreeFieldFromImplicitField<TSchema>): void;
877
891
  get root(): TreeFieldFromImplicitField<TSchema>;
878
892
  set root(newRoot: InsertableTreeFieldFromImplicitField<TSchema>);
893
+ readonly schema: TSchema;
879
894
  upgradeSchema(): void;
880
895
  }
881
896
 
@@ -910,15 +925,20 @@ export type Unhydrated<T> = T;
910
925
 
911
926
  // @public
912
927
  export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"], T["kind"]>, {
913
- [NodeKind.Object]: T["info"] extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
928
+ [NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
914
929
  [NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
915
930
  [NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
916
931
  }[T["kind"]], false, {
917
- [NodeKind.Object]: RestrictiveReadonlyRecord<string, ImplicitFieldSchema>;
932
+ [NodeKind.Object]: RestrictiveStringRecord<ImplicitFieldSchema>;
918
933
  [NodeKind.Array]: ImplicitAllowedTypes;
919
934
  [NodeKind.Map]: ImplicitAllowedTypes;
920
935
  }[T["kind"]]>> = true;
921
936
 
937
+ // @public @sealed
938
+ export interface ViewableTree {
939
+ viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
940
+ }
941
+
922
942
  // @public @sealed
923
943
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
924
944
  // @deprecated
package/dist/alpha.d.ts CHANGED
@@ -32,6 +32,7 @@ export {
32
32
  FieldKind,
33
33
  FieldProps,
34
34
  FieldSchema,
35
+ FieldSchemaMetadata,
35
36
  FieldSchemaUnsafe,
36
37
  FluidObject,
37
38
  FluidObjectProviderKeys,
@@ -82,6 +83,7 @@ export {
82
83
  Off,
83
84
  ReplaceIEventThisPlaceHolder,
84
85
  RestrictiveReadonlyRecord,
86
+ RestrictiveStringRecord,
85
87
  Revertible,
86
88
  RevertibleFactory,
87
89
  RevertibleStatus,
@@ -108,6 +110,7 @@ export {
108
110
  TreeNodeSchema,
109
111
  TreeNodeSchemaClass,
110
112
  TreeNodeSchemaCore,
113
+ TreeNodeSchemaNonClass,
111
114
  TreeObjectNode,
112
115
  TreeObjectNodeUnsafe,
113
116
  TreeStatus,
@@ -117,6 +120,7 @@ export {
117
120
  Unenforced,
118
121
  Unhydrated,
119
122
  ValidateRecursiveSchema,
123
+ ViewableTree,
120
124
  WithType,
121
125
  isFluidHandle,
122
126
  rollback,
@@ -142,5 +146,8 @@ export {
142
146
  JsonSchemaRef,
143
147
  JsonSchemaType,
144
148
  JsonTreeSchema,
149
+ TreeBranch,
150
+ TreeBranchFork,
151
+ getBranch,
145
152
  getJsonSchema
146
153
  } from "./index.js";
package/dist/beta.d.ts CHANGED
@@ -32,6 +32,7 @@ export {
32
32
  FieldKind,
33
33
  FieldProps,
34
34
  FieldSchema,
35
+ FieldSchemaMetadata,
35
36
  FieldSchemaUnsafe,
36
37
  FluidObject,
37
38
  FluidObjectProviderKeys,
@@ -82,6 +83,7 @@ export {
82
83
  Off,
83
84
  ReplaceIEventThisPlaceHolder,
84
85
  RestrictiveReadonlyRecord,
86
+ RestrictiveStringRecord,
85
87
  Revertible,
86
88
  RevertibleFactory,
87
89
  RevertibleStatus,
@@ -108,6 +110,7 @@ export {
108
110
  TreeNodeSchema,
109
111
  TreeNodeSchemaClass,
110
112
  TreeNodeSchemaCore,
113
+ TreeNodeSchemaNonClass,
111
114
  TreeObjectNode,
112
115
  TreeObjectNodeUnsafe,
113
116
  TreeStatus,
@@ -117,6 +120,7 @@ export {
117
120
  Unenforced,
118
121
  Unhydrated,
119
122
  ValidateRecursiveSchema,
123
+ ViewableTree,
120
124
  WithType,
121
125
  isFluidHandle,
122
126
  rollback,
package/dist/legacy.d.ts CHANGED
@@ -32,6 +32,7 @@ export {
32
32
  FieldKind,
33
33
  FieldProps,
34
34
  FieldSchema,
35
+ FieldSchemaMetadata,
35
36
  FieldSchemaUnsafe,
36
37
  FluidObject,
37
38
  FluidObjectProviderKeys,
@@ -82,6 +83,7 @@ export {
82
83
  Off,
83
84
  ReplaceIEventThisPlaceHolder,
84
85
  RestrictiveReadonlyRecord,
86
+ RestrictiveStringRecord,
85
87
  Revertible,
86
88
  RevertibleFactory,
87
89
  RevertibleStatus,
@@ -108,6 +110,7 @@ export {
108
110
  TreeNodeSchema,
109
111
  TreeNodeSchemaClass,
110
112
  TreeNodeSchemaCore,
113
+ TreeNodeSchemaNonClass,
111
114
  TreeObjectNode,
112
115
  TreeObjectNodeUnsafe,
113
116
  TreeStatus,
@@ -117,6 +120,7 @@ export {
117
120
  Unenforced,
118
121
  Unhydrated,
119
122
  ValidateRecursiveSchema,
123
+ ViewableTree,
120
124
  WithType,
121
125
  isFluidHandle,
122
126
  rollback,
package/dist/public.d.ts CHANGED
@@ -32,6 +32,7 @@ export {
32
32
  FieldKind,
33
33
  FieldProps,
34
34
  FieldSchema,
35
+ FieldSchemaMetadata,
35
36
  FieldSchemaUnsafe,
36
37
  FluidObject,
37
38
  FluidObjectProviderKeys,
@@ -82,6 +83,7 @@ export {
82
83
  Off,
83
84
  ReplaceIEventThisPlaceHolder,
84
85
  RestrictiveReadonlyRecord,
86
+ RestrictiveStringRecord,
85
87
  Revertible,
86
88
  RevertibleFactory,
87
89
  RevertibleStatus,
@@ -108,6 +110,7 @@ export {
108
110
  TreeNodeSchema,
109
111
  TreeNodeSchemaClass,
110
112
  TreeNodeSchemaCore,
113
+ TreeNodeSchemaNonClass,
111
114
  TreeObjectNode,
112
115
  TreeObjectNodeUnsafe,
113
116
  TreeStatus,
@@ -117,6 +120,7 @@ export {
117
120
  Unenforced,
118
121
  Unhydrated,
119
122
  ValidateRecursiveSchema,
123
+ ViewableTree,
120
124
  WithType,
121
125
  isFluidHandle,
122
126
  rollback,
package/lib/alpha.d.ts CHANGED
@@ -32,6 +32,7 @@ export {
32
32
  FieldKind,
33
33
  FieldProps,
34
34
  FieldSchema,
35
+ FieldSchemaMetadata,
35
36
  FieldSchemaUnsafe,
36
37
  FluidObject,
37
38
  FluidObjectProviderKeys,
@@ -82,6 +83,7 @@ export {
82
83
  Off,
83
84
  ReplaceIEventThisPlaceHolder,
84
85
  RestrictiveReadonlyRecord,
86
+ RestrictiveStringRecord,
85
87
  Revertible,
86
88
  RevertibleFactory,
87
89
  RevertibleStatus,
@@ -108,6 +110,7 @@ export {
108
110
  TreeNodeSchema,
109
111
  TreeNodeSchemaClass,
110
112
  TreeNodeSchemaCore,
113
+ TreeNodeSchemaNonClass,
111
114
  TreeObjectNode,
112
115
  TreeObjectNodeUnsafe,
113
116
  TreeStatus,
@@ -117,6 +120,7 @@ export {
117
120
  Unenforced,
118
121
  Unhydrated,
119
122
  ValidateRecursiveSchema,
123
+ ViewableTree,
120
124
  WithType,
121
125
  isFluidHandle,
122
126
  rollback,
@@ -142,5 +146,8 @@ export {
142
146
  JsonSchemaRef,
143
147
  JsonSchemaType,
144
148
  JsonTreeSchema,
149
+ TreeBranch,
150
+ TreeBranchFork,
151
+ getBranch,
145
152
  getJsonSchema
146
153
  } from "./index.js";
package/lib/beta.d.ts CHANGED
@@ -32,6 +32,7 @@ export {
32
32
  FieldKind,
33
33
  FieldProps,
34
34
  FieldSchema,
35
+ FieldSchemaMetadata,
35
36
  FieldSchemaUnsafe,
36
37
  FluidObject,
37
38
  FluidObjectProviderKeys,
@@ -82,6 +83,7 @@ export {
82
83
  Off,
83
84
  ReplaceIEventThisPlaceHolder,
84
85
  RestrictiveReadonlyRecord,
86
+ RestrictiveStringRecord,
85
87
  Revertible,
86
88
  RevertibleFactory,
87
89
  RevertibleStatus,
@@ -108,6 +110,7 @@ export {
108
110
  TreeNodeSchema,
109
111
  TreeNodeSchemaClass,
110
112
  TreeNodeSchemaCore,
113
+ TreeNodeSchemaNonClass,
111
114
  TreeObjectNode,
112
115
  TreeObjectNodeUnsafe,
113
116
  TreeStatus,
@@ -117,6 +120,7 @@ export {
117
120
  Unenforced,
118
121
  Unhydrated,
119
122
  ValidateRecursiveSchema,
123
+ ViewableTree,
120
124
  WithType,
121
125
  isFluidHandle,
122
126
  rollback,
package/lib/legacy.d.ts CHANGED
@@ -32,6 +32,7 @@ export {
32
32
  FieldKind,
33
33
  FieldProps,
34
34
  FieldSchema,
35
+ FieldSchemaMetadata,
35
36
  FieldSchemaUnsafe,
36
37
  FluidObject,
37
38
  FluidObjectProviderKeys,
@@ -82,6 +83,7 @@ export {
82
83
  Off,
83
84
  ReplaceIEventThisPlaceHolder,
84
85
  RestrictiveReadonlyRecord,
86
+ RestrictiveStringRecord,
85
87
  Revertible,
86
88
  RevertibleFactory,
87
89
  RevertibleStatus,
@@ -108,6 +110,7 @@ export {
108
110
  TreeNodeSchema,
109
111
  TreeNodeSchemaClass,
110
112
  TreeNodeSchemaCore,
113
+ TreeNodeSchemaNonClass,
111
114
  TreeObjectNode,
112
115
  TreeObjectNodeUnsafe,
113
116
  TreeStatus,
@@ -117,6 +120,7 @@ export {
117
120
  Unenforced,
118
121
  Unhydrated,
119
122
  ValidateRecursiveSchema,
123
+ ViewableTree,
120
124
  WithType,
121
125
  isFluidHandle,
122
126
  rollback,
package/lib/public.d.ts CHANGED
@@ -32,6 +32,7 @@ export {
32
32
  FieldKind,
33
33
  FieldProps,
34
34
  FieldSchema,
35
+ FieldSchemaMetadata,
35
36
  FieldSchemaUnsafe,
36
37
  FluidObject,
37
38
  FluidObjectProviderKeys,
@@ -82,6 +83,7 @@ export {
82
83
  Off,
83
84
  ReplaceIEventThisPlaceHolder,
84
85
  RestrictiveReadonlyRecord,
86
+ RestrictiveStringRecord,
85
87
  Revertible,
86
88
  RevertibleFactory,
87
89
  RevertibleStatus,
@@ -108,6 +110,7 @@ export {
108
110
  TreeNodeSchema,
109
111
  TreeNodeSchemaClass,
110
112
  TreeNodeSchemaCore,
113
+ TreeNodeSchemaNonClass,
111
114
  TreeObjectNode,
112
115
  TreeObjectNodeUnsafe,
113
116
  TreeStatus,
@@ -117,6 +120,7 @@ export {
117
120
  Unenforced,
118
121
  Unhydrated,
119
122
  ValidateRecursiveSchema,
123
+ ViewableTree,
120
124
  WithType,
121
125
  isFluidHandle,
122
126
  rollback,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.3.1",
3
+ "version": "2.4.0-297027",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -57,16 +57,16 @@
57
57
  "main": "lib/index.js",
58
58
  "types": "lib/public.d.ts",
59
59
  "dependencies": {
60
- "@fluidframework/container-definitions": "~2.3.1",
61
- "@fluidframework/container-loader": "~2.3.1",
62
- "@fluidframework/core-interfaces": "~2.3.1",
63
- "@fluidframework/driver-definitions": "~2.3.1",
64
- "@fluidframework/fluid-static": "~2.3.1",
65
- "@fluidframework/map": "~2.3.1",
66
- "@fluidframework/runtime-utils": "~2.3.1",
67
- "@fluidframework/sequence": "~2.3.1",
68
- "@fluidframework/shared-object-base": "~2.3.1",
69
- "@fluidframework/tree": "~2.3.1"
60
+ "@fluidframework/container-definitions": "2.4.0-297027",
61
+ "@fluidframework/container-loader": "2.4.0-297027",
62
+ "@fluidframework/core-interfaces": "2.4.0-297027",
63
+ "@fluidframework/driver-definitions": "2.4.0-297027",
64
+ "@fluidframework/fluid-static": "2.4.0-297027",
65
+ "@fluidframework/map": "2.4.0-297027",
66
+ "@fluidframework/runtime-utils": "2.4.0-297027",
67
+ "@fluidframework/sequence": "2.4.0-297027",
68
+ "@fluidframework/shared-object-base": "2.4.0-297027",
69
+ "@fluidframework/tree": "2.4.0-297027"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@arethetypeswrong/cli": "^0.15.2",