fluid-framework 2.1.0 → 2.3.0-288113

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.
@@ -100,7 +100,8 @@ export class FieldSchema<out Kind extends FieldKind = FieldKind, out Types exten
100
100
  get allowedTypeSet(): ReadonlySet<TreeNodeSchema>;
101
101
  readonly kind: Kind;
102
102
  readonly props?: FieldProps | undefined;
103
- protected _typeCheck?: MakeNominal;
103
+ readonly requiresValue: boolean;
104
+ protected _typeCheck: MakeNominal;
104
105
  }
105
106
 
106
107
  // @public
@@ -465,6 +466,7 @@ declare namespace InternalTypes {
465
466
  InsertableTypedNodeUnsafe,
466
467
  NodeBuilderDataUnsafe,
467
468
  NodeFromSchemaUnsafe,
469
+ ReadonlyMapInlined,
468
470
  FlexList,
469
471
  FlexListToUnion,
470
472
  ExtractItemType,
@@ -495,6 +497,9 @@ export interface IServiceAudienceEvents<M extends IMember> extends IEvent {
495
497
  (event: "memberRemoved", listener: MemberChangedListener<M>): void;
496
498
  }
497
499
 
500
+ // @public
501
+ export function isFluidHandle(value: unknown): value is IFluidHandle;
502
+
498
503
  // @public
499
504
  export type IsListener<TListener> = TListener extends (...args: any[]) => void ? true : false;
500
505
 
@@ -516,11 +521,11 @@ export interface ITree extends IFluidLoadable {
516
521
  // @public
517
522
  export interface ITreeConfigurationOptions {
518
523
  enableSchemaValidation?: boolean;
524
+ readonly preventAmbiguity?: boolean;
519
525
  }
520
526
 
521
527
  // @public
522
- export interface ITreeViewConfiguration<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> {
523
- readonly enableSchemaValidation?: boolean;
528
+ export interface ITreeViewConfiguration<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> extends ITreeConfigurationOptions {
524
529
  readonly schema: TSchema;
525
530
  }
526
531
 
@@ -541,6 +546,9 @@ export type Listeners<T extends object> = {
541
546
  export interface MakeNominal {
542
547
  }
543
548
 
549
+ // @public
550
+ export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveReadonlyRecord<string, InsertableTreeNodeFromImplicitAllowedTypes<T>>;
551
+
544
552
  // @public
545
553
  export type MemberChangedListener<M extends IMember> = (clientId: string, member: M) => void;
546
554
 
@@ -555,6 +563,11 @@ type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string
555
563
  // @public
556
564
  type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
557
565
 
566
+ // @public
567
+ export interface NodeChangedData {
568
+ readonly changedProperties?: ReadonlySet<string>;
569
+ }
570
+
558
571
  // @public
559
572
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
560
573
 
@@ -590,6 +603,22 @@ type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveReadonlyRecord
590
603
  // @public
591
604
  export type Off = () => void;
592
605
 
606
+ // @public @sealed
607
+ interface ReadonlyMapInlined<K, T extends Unenforced<ImplicitAllowedTypes>> {
608
+ [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
609
+ entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
610
+ // (undocumented)
611
+ forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
612
+ // (undocumented)
613
+ get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
614
+ // (undocumented)
615
+ has(key: K): boolean;
616
+ keys(): IterableIterator<K>;
617
+ // (undocumented)
618
+ readonly size: number;
619
+ values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
620
+ }
621
+
593
622
  // @public
594
623
  export type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
595
624
  [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
@@ -648,17 +677,17 @@ export interface SchemaCompatibilityStatus {
648
677
  // @public @sealed
649
678
  export class SchemaFactory<out TScope extends string | undefined = string | undefined, TName extends number | string = string> {
650
679
  constructor(scope: TScope);
651
- array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T>;
652
- 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>>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T>;
653
- 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>>, {
680
+ 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>;
681
+ 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>;
682
+ 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>, {
654
683
  [Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
655
684
  }, false, T>;
656
685
  readonly boolean: TreeNodeSchema<"com.fluidframework.leaf.boolean", NodeKind.Leaf, boolean, boolean>;
657
686
  readonly handle: TreeNodeSchema<"com.fluidframework.leaf.handle", NodeKind.Leaf, IFluidHandle<unknown>, IFluidHandle<unknown>>;
658
687
  get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
659
- map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchema<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
660
- map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>>, Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T>]>, true, T>;
661
- 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>>, {
688
+ 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>;
689
+ 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>;
690
+ 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>, {
662
691
  [Symbol.iterator](): Iterator<[
663
692
  string,
664
693
  InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
@@ -750,8 +779,8 @@ export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAl
750
779
  }
751
780
 
752
781
  // @public @sealed
753
- export interface TreeChangeEvents {
754
- nodeChanged(): void;
782
+ export interface TreeChangeEvents<TNode = TreeNode> {
783
+ nodeChanged(data: NodeChangedData & (TNode extends WithType<string, NodeKind.Map | NodeKind.Object> ? Required<Pick<NodeChangedData, "changedProperties">> : unknown)): void;
755
784
  treeChanged(): void;
756
785
  }
757
786
 
@@ -775,7 +804,7 @@ export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTyp
775
804
  }
776
805
 
777
806
  // @public @sealed
778
- export interface TreeMapNodeUnsafe<T extends Unenforced<ImplicitAllowedTypes>> extends ReadonlyMap<string, TreeNodeFromImplicitAllowedTypesUnsafe<T>>, TreeNode {
807
+ export interface TreeMapNodeUnsafe<T extends Unenforced<ImplicitAllowedTypes>> extends ReadonlyMapInlined<string, T>, TreeNode {
779
808
  delete(key: string): void;
780
809
  set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
781
810
  }
@@ -784,17 +813,19 @@ export interface TreeMapNodeUnsafe<T extends Unenforced<ImplicitAllowedTypes>> e
784
813
  export abstract class TreeNode implements WithType {
785
814
  static [Symbol.hasInstance](value: unknown): value is TreeNode;
786
815
  static [Symbol.hasInstance]<TSchema extends abstract new (...args: any[]) => TreeNode>(this: TSchema, value: unknown): value is InstanceType<TSchema>;
816
+ // @deprecated
787
817
  abstract get [typeNameSymbol](): string;
788
- protected constructor();
818
+ abstract get [typeSchemaSymbol](): TreeNodeSchemaClass;
819
+ protected constructor(token: unknown);
789
820
  }
790
821
 
791
822
  // @public @sealed
792
823
  export interface TreeNodeApi {
793
824
  is<TSchema extends ImplicitAllowedTypes>(value: unknown, schema: TSchema): value is TreeNodeFromImplicitAllowedTypes<TSchema>;
794
825
  key(node: TreeNode): string | number;
795
- on<K extends keyof TreeChangeEvents>(node: TreeNode, eventName: K, listener: TreeChangeEvents[K]): () => void;
826
+ on<K extends keyof TreeChangeEvents<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: TreeChangeEvents<TNode>[K]): () => void;
796
827
  parent(node: TreeNode): TreeNode | undefined;
797
- schema<T extends TreeNode | TreeLeafValue>(node: T): TreeNodeSchema<string, NodeKind, unknown, T>;
828
+ schema(node: TreeNode | TreeLeafValue): TreeNodeSchema;
798
829
  shortId(node: TreeNode): number | string | undefined;
799
830
  status(node: TreeNode): TreeStatus;
800
831
  }
@@ -816,7 +847,6 @@ export interface TreeNodeSchemaClass<out Name extends string = string, out Kind
816
847
 
817
848
  // @public @sealed
818
849
  export interface TreeNodeSchemaCore<out Name extends string, out Kind extends NodeKind, out ImplicitlyConstructable extends boolean, out Info = unknown> {
819
- // (undocumented)
820
850
  readonly identifier: Name;
821
851
  readonly implicitlyConstructable: ImplicitlyConstructable;
822
852
  readonly info: Info;
@@ -831,10 +861,10 @@ interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind exte
831
861
  }
832
862
 
833
863
  // @public
834
- export type TreeObjectNode<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName>;
864
+ export type TreeObjectNode<T extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object>;
835
865
 
836
866
  // @public
837
- export type TreeObjectNodeUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName>;
867
+ export type TreeObjectNodeUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<string, ImplicitFieldSchema>>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object>;
838
868
 
839
869
  // @public
840
870
  export enum TreeStatus {
@@ -858,7 +888,10 @@ export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposab
858
888
  export class TreeViewConfiguration<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> implements Required<ITreeViewConfiguration<TSchema>> {
859
889
  constructor(props: ITreeViewConfiguration<TSchema>);
860
890
  readonly enableSchemaValidation: boolean;
891
+ readonly preventAmbiguity: boolean;
861
892
  readonly schema: TSchema;
893
+ // (undocumented)
894
+ protected _typeCheck: MakeNominal;
862
895
  }
863
896
 
864
897
  // @public @sealed
@@ -868,9 +901,12 @@ export interface TreeViewEvents {
868
901
  schemaChanged(): void;
869
902
  }
870
903
 
871
- // @public
904
+ // @public @deprecated
872
905
  const typeNameSymbol: unique symbol;
873
906
 
907
+ // @public
908
+ export const typeSchemaSymbol: unique symbol;
909
+
874
910
  // @public
875
911
  export type Unenforced<_DesiredExtendsConstraint> = unknown;
876
912
 
@@ -878,7 +914,7 @@ export type Unenforced<_DesiredExtendsConstraint> = unknown;
878
914
  export type Unhydrated<T> = T;
879
915
 
880
916
  // @public
881
- export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"]>, {
917
+ export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"], T["kind"]>, {
882
918
  [NodeKind.Object]: T["info"] extends RestrictiveReadonlyRecord<string, ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
883
919
  [NodeKind.Array]: T["info"] extends ImplicitAllowedTypes ? Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>> : unknown;
884
920
  [NodeKind.Map]: T["info"] extends ImplicitAllowedTypes ? Iterable<[string, InsertableTreeNodeFromImplicitAllowedTypes<T["info"]>]> : unknown;
@@ -889,8 +925,10 @@ export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKi
889
925
  }[T["kind"]]>> = true;
890
926
 
891
927
  // @public @sealed
892
- export interface WithType<TName extends string = string> {
928
+ export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind> {
929
+ // @deprecated
893
930
  get [typeNameSymbol](): TName;
931
+ get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind>;
894
932
  }
895
933
 
896
934
  ```
package/dist/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export type { ContainerAttachProps, ContainerSchema, IConnection, IFluidContaine
16
16
  export type { SharedObjectKind } from "@fluidframework/shared-object-base";
17
17
  export type { IErrorBase, IEventProvider, IDisposable, IEvent, IEventThisPlaceHolder, IErrorEvent, ErasedType, IFluidHandle, IFluidLoadable, ITelemetryBaseProperties, IEventTransformer, IProvideFluidLoadable, IFluidHandleErased, TransformedEvent, TelemetryBaseEventPropertyType, Tagged, ReplaceIEventThisPlaceHolder, FluidObject, // Linked in doc comment
18
18
  FluidObjectProviderKeys, } from "@fluidframework/core-interfaces";
19
+ export type { isFluidHandle } from "@fluidframework/runtime-utils";
19
20
  export * from "@fluidframework/tree";
20
21
  import type { SharedObjectKind } from "@fluidframework/shared-object-base";
21
22
  import type { ITree } from "@fluidframework/tree";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAMH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,8BAA8B,EAC9B,MAAM,EACN,4BAA4B,EAC5B,WAAW,EAAE,wBAAwB;AACrC,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AAOzC,cAAc,sBAAsB,CAAC;AAQrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAsB,CAAC;AAQtE,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE1E,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,EACJ,sBAAsB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACZ,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACX,aAAa,EACb,mBAAmB,GACnB,MAAM,6CAA6C,CAAC;AAErD,YAAY,EACX,yBAAyB,EAAE,iCAAiC;AAC5D,aAAa,EAAE,yCAAyC;AACxD,MAAM,GACN,MAAM,6CAA6C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAMH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,8BAA8B,EAC9B,MAAM,EACN,4BAA4B,EAC5B,WAAW,EAAE,wBAAwB;AACrC,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAOnE,cAAc,sBAAsB,CAAC;AAQrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAsB,CAAC;AAQtE,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE1E,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,EACJ,sBAAsB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACZ,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACX,aAAa,EACb,mBAAmB,GACnB,MAAM,6CAA6C,CAAC;AAErD,YAAY,EACX,yBAAyB,EAAE,iCAAiC;AAC5D,aAAa,EAAE,yCAAyC;AACxD,MAAM,GACN,MAAM,6CAA6C,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAiBH,+EAAoE;AAA3D,oHAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AAqCxB,mFAAmF;AACnF,gHAAgH;AAChH,gHAAgH;AAChH,qDAAqD;AACrD,+DAA+D;AAC/D,uDAAqC;AAUrC,4DAAiF;AAEjF;;;;;;;;;GASG;AACU,QAAA,UAAU,GAA4B,qBAAkB,CAAC;AAmBtE,yDAA0E;AAAjE,2GAAA,eAAe,OAAA;AAAE,qGAAA,SAAS,OAAA;AAsBnC,8DAO2C;AAN1C,wGAAA,YAAY,OAAA;AACZ,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AACb,4GAAA,gBAAgB,OAAA;AAChB,oHAAA,wBAAwB,OAAA;AACxB,wGAAA,YAAY,OAAA;AAcb,4BAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluidframework/odsp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\n// ===============================================================\n// #region Public exports\n// #region Basic re-exports\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\nexport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nexport type {\n\tIErrorBase,\n\tIEventProvider,\n\tIDisposable,\n\tIEvent,\n\tIEventThisPlaceHolder,\n\tIErrorEvent,\n\tErasedType,\n\tIFluidHandle,\n\tIFluidLoadable,\n\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\n\tTransformedEvent,\n\tTelemetryBaseEventPropertyType,\n\tTagged,\n\tReplaceIEventThisPlaceHolder,\n\tFluidObject, // Linked in doc comment\n\tFluidObjectProviderKeys, // Used by FluidObject\n} from \"@fluidframework/core-interfaces\";\n\n// Let the tree package manage its own API surface, we will simply reflect it here.\n// Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are\n// desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree\n// alpha` to surface everything `@alpha` and higher).\n// eslint-disable-next-line no-restricted-syntax, import/export\nexport * from \"@fluidframework/tree\";\n\n// End of basic public exports - nothing above this line should\n// depend on an /internal path.\n// #endregion Basic re-exports\n// ---------------------------------------------------------------\n// #region Custom re-exports\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { ITree } from \"@fluidframework/tree\";\nimport { SharedTree as OriginalSharedTree } from \"@fluidframework/tree/internal\";\n\n/**\n * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @privateRemarks\n * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.\n * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.\n * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.\n * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.\n * @public\n */\nexport const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;\n\n// #endregion Custom re-exports\n// #endregion Public exports\n\n// ===============================================================\n// #region Legacy exports\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport { SharedDirectory, SharedMap } from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\n} from \"@fluidframework/sequence/internal\";\n\nexport {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n\tSharedString,\n} from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tISharedObject,\n\tISharedObjectEvents,\n} from \"@fluidframework/shared-object-base/internal\";\n\nexport type {\n\tISequencedDocumentMessage, // Leaked via ISharedObjectEvents\n\tIBranchOrigin, // Required for ISequencedDocumentMessage\n\tITrace, // Required for ISequencedDocumentMessage\n} from \"@fluidframework/driver-definitions/internal\";\n\n// #endregion Legacy exports\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAiBH,+EAAoE;AAA3D,oHAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AAuCxB,mFAAmF;AACnF,gHAAgH;AAChH,gHAAgH;AAChH,qDAAqD;AACrD,+DAA+D;AAC/D,uDAAqC;AAUrC,4DAAiF;AAEjF;;;;;;;;;GASG;AACU,QAAA,UAAU,GAA4B,qBAAkB,CAAC;AAmBtE,yDAA0E;AAAjE,2GAAA,eAAe,OAAA;AAAE,qGAAA,SAAS,OAAA;AAsBnC,8DAO2C;AAN1C,wGAAA,YAAY,OAAA;AACZ,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AACb,4GAAA,gBAAgB,OAAA;AAChB,oHAAA,wBAAwB,OAAA;AACxB,wGAAA,YAAY,OAAA;AAcb,4BAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluidframework/odsp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\n// ===============================================================\n// #region Public exports\n// #region Basic re-exports\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\nexport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nexport type {\n\tIErrorBase,\n\tIEventProvider,\n\tIDisposable,\n\tIEvent,\n\tIEventThisPlaceHolder,\n\tIErrorEvent,\n\tErasedType,\n\tIFluidHandle,\n\tIFluidLoadable,\n\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\n\tTransformedEvent,\n\tTelemetryBaseEventPropertyType,\n\tTagged,\n\tReplaceIEventThisPlaceHolder,\n\tFluidObject, // Linked in doc comment\n\tFluidObjectProviderKeys, // Used by FluidObject\n} from \"@fluidframework/core-interfaces\";\n\nexport type { isFluidHandle } from \"@fluidframework/runtime-utils\";\n\n// Let the tree package manage its own API surface, we will simply reflect it here.\n// Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are\n// desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree\n// alpha` to surface everything `@alpha` and higher).\n// eslint-disable-next-line no-restricted-syntax, import/export\nexport * from \"@fluidframework/tree\";\n\n// End of basic public exports - nothing above this line should\n// depend on an /internal path.\n// #endregion Basic re-exports\n// ---------------------------------------------------------------\n// #region Custom re-exports\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { ITree } from \"@fluidframework/tree\";\nimport { SharedTree as OriginalSharedTree } from \"@fluidframework/tree/internal\";\n\n/**\n * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @privateRemarks\n * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.\n * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.\n * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.\n * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.\n * @public\n */\nexport const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;\n\n// #endregion Custom re-exports\n// #endregion Public exports\n\n// ===============================================================\n// #region Legacy exports\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport { SharedDirectory, SharedMap } from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\n} from \"@fluidframework/sequence/internal\";\n\nexport {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n\tSharedString,\n} from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tISharedObject,\n\tISharedObjectEvents,\n} from \"@fluidframework/shared-object-base/internal\";\n\nexport type {\n\tISequencedDocumentMessage, // Leaked via ISharedObjectEvents\n\tIBranchOrigin, // Required for ISequencedDocumentMessage\n\tITrace, // Required for ISequencedDocumentMessage\n} from \"@fluidframework/driver-definitions/internal\";\n\n// #endregion Legacy exports\n"]}
package/dist/legacy.d.ts CHANGED
@@ -73,8 +73,10 @@ export {
73
73
  Listenable,
74
74
  Listeners,
75
75
  MakeNominal,
76
+ MapNodeInsertableData,
76
77
  MemberChangedListener,
77
78
  Myself,
79
+ NodeChangedData,
78
80
  NodeFromSchema,
79
81
  NodeInDocumentConstraint,
80
82
  NodeKind,
@@ -117,7 +119,9 @@ export {
117
119
  Unhydrated,
118
120
  ValidateRecursiveSchema,
119
121
  WithType,
120
- rollback,
122
+ isFluidHandle,
123
+ rollback,
124
+ typeSchemaSymbol,
121
125
 
122
126
  // @legacy APIs
123
127
  DeserializeCallback,
package/dist/public.d.ts CHANGED
@@ -73,8 +73,10 @@ export {
73
73
  Listenable,
74
74
  Listeners,
75
75
  MakeNominal,
76
+ MapNodeInsertableData,
76
77
  MemberChangedListener,
77
78
  Myself,
79
+ NodeChangedData,
78
80
  NodeFromSchema,
79
81
  NodeInDocumentConstraint,
80
82
  NodeKind,
@@ -117,5 +119,7 @@ export {
117
119
  Unhydrated,
118
120
  ValidateRecursiveSchema,
119
121
  WithType,
120
- rollback
122
+ isFluidHandle,
123
+ rollback,
124
+ typeSchemaSymbol
121
125
  } from "./index.js";
package/lib/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export type { ContainerAttachProps, ContainerSchema, IConnection, IFluidContaine
16
16
  export type { SharedObjectKind } from "@fluidframework/shared-object-base";
17
17
  export type { IErrorBase, IEventProvider, IDisposable, IEvent, IEventThisPlaceHolder, IErrorEvent, ErasedType, IFluidHandle, IFluidLoadable, ITelemetryBaseProperties, IEventTransformer, IProvideFluidLoadable, IFluidHandleErased, TransformedEvent, TelemetryBaseEventPropertyType, Tagged, ReplaceIEventThisPlaceHolder, FluidObject, // Linked in doc comment
18
18
  FluidObjectProviderKeys, } from "@fluidframework/core-interfaces";
19
+ export type { isFluidHandle } from "@fluidframework/runtime-utils";
19
20
  export * from "@fluidframework/tree";
20
21
  import type { SharedObjectKind } from "@fluidframework/shared-object-base";
21
22
  import type { ITree } from "@fluidframework/tree";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAMH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,8BAA8B,EAC9B,MAAM,EACN,4BAA4B,EAC5B,WAAW,EAAE,wBAAwB;AACrC,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AAOzC,cAAc,sBAAsB,CAAC;AAQrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAsB,CAAC;AAQtE,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE1E,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,EACJ,sBAAsB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACZ,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACX,aAAa,EACb,mBAAmB,GACnB,MAAM,6CAA6C,CAAC;AAErD,YAAY,EACX,yBAAyB,EAAE,iCAAiC;AAC5D,aAAa,EAAE,yCAAyC;AACxD,MAAM,GACN,MAAM,6CAA6C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAMH,YAAY,EACX,eAAe,IAAI,mBAAmB,EAAE,0CAA0C;AAClF,uBAAuB,GACvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,GACN,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,MAAM,EACN,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,8BAA8B,EAC9B,MAAM,EACN,4BAA4B,EAC5B,WAAW,EAAE,wBAAwB;AACrC,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAOnE,cAAc,sBAAsB,CAAC;AAQrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAsB,CAAC;AAQtE,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE1E,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,IAAI,EACJ,sBAAsB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACZ,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACX,aAAa,EACb,mBAAmB,GACnB,MAAM,6CAA6C,CAAC;AAErD,YAAY,EACX,yBAAyB,EAAE,iCAAiC;AAC5D,aAAa,EAAE,yCAAyC;AACxD,MAAM,GACN,MAAM,6CAA6C,CAAC"}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAqCnE,mFAAmF;AACnF,gHAAgH;AAChH,gHAAgH;AAChH,qDAAqD;AACrD,+DAA+D;AAC/D,cAAc,sBAAsB,CAAC;AAUrC,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEjF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B,kBAAkB,CAAC;AAmBtE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAsB1E,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACZ,MAAM,mCAAmC,CAAC;AAa3C,4BAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluidframework/odsp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\n// ===============================================================\n// #region Public exports\n// #region Basic re-exports\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\nexport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nexport type {\n\tIErrorBase,\n\tIEventProvider,\n\tIDisposable,\n\tIEvent,\n\tIEventThisPlaceHolder,\n\tIErrorEvent,\n\tErasedType,\n\tIFluidHandle,\n\tIFluidLoadable,\n\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\n\tTransformedEvent,\n\tTelemetryBaseEventPropertyType,\n\tTagged,\n\tReplaceIEventThisPlaceHolder,\n\tFluidObject, // Linked in doc comment\n\tFluidObjectProviderKeys, // Used by FluidObject\n} from \"@fluidframework/core-interfaces\";\n\n// Let the tree package manage its own API surface, we will simply reflect it here.\n// Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are\n// desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree\n// alpha` to surface everything `@alpha` and higher).\n// eslint-disable-next-line no-restricted-syntax, import/export\nexport * from \"@fluidframework/tree\";\n\n// End of basic public exports - nothing above this line should\n// depend on an /internal path.\n// #endregion Basic re-exports\n// ---------------------------------------------------------------\n// #region Custom re-exports\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { ITree } from \"@fluidframework/tree\";\nimport { SharedTree as OriginalSharedTree } from \"@fluidframework/tree/internal\";\n\n/**\n * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @privateRemarks\n * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.\n * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.\n * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.\n * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.\n * @public\n */\nexport const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;\n\n// #endregion Custom re-exports\n// #endregion Public exports\n\n// ===============================================================\n// #region Legacy exports\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport { SharedDirectory, SharedMap } from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\n} from \"@fluidframework/sequence/internal\";\n\nexport {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n\tSharedString,\n} from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tISharedObject,\n\tISharedObjectEvents,\n} from \"@fluidframework/shared-object-base/internal\";\n\nexport type {\n\tISequencedDocumentMessage, // Leaked via ISharedObjectEvents\n\tIBranchOrigin, // Required for ISequencedDocumentMessage\n\tITrace, // Required for ISequencedDocumentMessage\n} from \"@fluidframework/driver-definitions/internal\";\n\n// #endregion Legacy exports\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAuCnE,mFAAmF;AACnF,gHAAgH;AAChH,gHAAgH;AAChH,qDAAqD;AACrD,+DAA+D;AAC/D,cAAc,sBAAsB,CAAC;AAUrC,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEjF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4B,kBAAkB,CAAC;AAmBtE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAsB1E,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACZ,MAAM,mCAAmC,CAAC;AAa3C,4BAA4B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Bundles a collection of Fluid Framework client libraries for easy use when paired with a corresponding service client\n * package (e.g. `@fluidframework/azure-client`, `@fluidframework/tinylicious-client`, or `@fluidframework/odsp-client (BETA)`).\n *\n * @packageDocumentation\n */\n\n// ===============================================================\n// #region Public exports\n// #region Basic re-exports\n\nexport type {\n\tConnectionState as ConnectionStateType, // TODO: deduplicate ConnectionState types\n\tICriticalContainerError,\n} from \"@fluidframework/container-definitions\";\nexport { AttachState } from \"@fluidframework/container-definitions\";\nexport { ConnectionState } from \"@fluidframework/container-loader\";\nexport type {\n\tContainerAttachProps,\n\tContainerSchema,\n\tIConnection,\n\tIFluidContainer,\n\tIFluidContainerEvents,\n\tIMember,\n\tInitialObjects,\n\tIServiceAudience,\n\tIServiceAudienceEvents,\n\tMemberChangedListener,\n\tMyself,\n} from \"@fluidframework/fluid-static\";\nexport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nexport type {\n\tIErrorBase,\n\tIEventProvider,\n\tIDisposable,\n\tIEvent,\n\tIEventThisPlaceHolder,\n\tIErrorEvent,\n\tErasedType,\n\tIFluidHandle,\n\tIFluidLoadable,\n\tITelemetryBaseProperties,\n\tIEventTransformer,\n\tIProvideFluidLoadable,\n\tIFluidHandleErased,\n\tTransformedEvent,\n\tTelemetryBaseEventPropertyType,\n\tTagged,\n\tReplaceIEventThisPlaceHolder,\n\tFluidObject, // Linked in doc comment\n\tFluidObjectProviderKeys, // Used by FluidObject\n} from \"@fluidframework/core-interfaces\";\n\nexport type { isFluidHandle } from \"@fluidframework/runtime-utils\";\n\n// Let the tree package manage its own API surface, we will simply reflect it here.\n// Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are\n// desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree\n// alpha` to surface everything `@alpha` and higher).\n// eslint-disable-next-line no-restricted-syntax, import/export\nexport * from \"@fluidframework/tree\";\n\n// End of basic public exports - nothing above this line should\n// depend on an /internal path.\n// #endregion Basic re-exports\n// ---------------------------------------------------------------\n// #region Custom re-exports\n\nimport type { SharedObjectKind } from \"@fluidframework/shared-object-base\";\nimport type { ITree } from \"@fluidframework/tree\";\nimport { SharedTree as OriginalSharedTree } from \"@fluidframework/tree/internal\";\n\n/**\n * A hierarchical data structure for collaboratively editing strongly typed JSON-like trees\n * of objects, arrays, and other data types.\n * @privateRemarks\n * Here we reexport SharedTree, but with the `@alpha` types (`ISharedObjectKind`) removed, just keeping the `SharedObjectKind`.\n * Doing this requires creating this new typed export rather than relying on a reexport directly from the tree package.\n * The tree package itself does not do this because it's API needs to be usable from the encapsulated API which requires `ISharedObjectKind`.\n * This package however is not intended for use by users of the encapsulated API, and therefor it can discard that interface.\n * @public\n */\nexport const SharedTree: SharedObjectKind<ITree> = OriginalSharedTree;\n\n// #endregion Custom re-exports\n// #endregion Public exports\n\n// ===============================================================\n// #region Legacy exports\n\nexport type {\n\tIDirectory,\n\tIDirectoryEvents,\n\tIDirectoryValueChanged,\n\tISharedDirectory,\n\tISharedDirectoryEvents,\n\tISharedMap,\n\tISharedMapEvents,\n\tIValueChanged,\n} from \"@fluidframework/map/internal\";\n\nexport { SharedDirectory, SharedMap } from \"@fluidframework/map/internal\";\n\nexport type {\n\tDeserializeCallback,\n\tInteriorSequencePlace,\n\tIInterval,\n\tIIntervalCollectionEvent,\n\tIIntervalCollection,\n\tIntervalIndex,\n\tIntervalStickiness,\n\tISequenceDeltaRange,\n\tISerializableInterval,\n\tISerializedInterval,\n\tISharedIntervalCollection,\n\tISharedSegmentSequenceEvents,\n\tISharedString,\n\tSequencePlace,\n\tSharedStringSegment,\n\tSide,\n\tISharedSegmentSequence,\n} from \"@fluidframework/sequence/internal\";\n\nexport {\n\tIntervalType,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceInterval,\n\tSequenceMaintenanceEvent,\n\tSharedString,\n} from \"@fluidframework/sequence/internal\";\n\nexport type {\n\tISharedObject,\n\tISharedObjectEvents,\n} from \"@fluidframework/shared-object-base/internal\";\n\nexport type {\n\tISequencedDocumentMessage, // Leaked via ISharedObjectEvents\n\tIBranchOrigin, // Required for ISequencedDocumentMessage\n\tITrace, // Required for ISequencedDocumentMessage\n} from \"@fluidframework/driver-definitions/internal\";\n\n// #endregion Legacy exports\n"]}
package/lib/legacy.d.ts CHANGED
@@ -73,8 +73,10 @@ export {
73
73
  Listenable,
74
74
  Listeners,
75
75
  MakeNominal,
76
+ MapNodeInsertableData,
76
77
  MemberChangedListener,
77
78
  Myself,
79
+ NodeChangedData,
78
80
  NodeFromSchema,
79
81
  NodeInDocumentConstraint,
80
82
  NodeKind,
@@ -117,7 +119,9 @@ export {
117
119
  Unhydrated,
118
120
  ValidateRecursiveSchema,
119
121
  WithType,
120
- rollback,
122
+ isFluidHandle,
123
+ rollback,
124
+ typeSchemaSymbol,
121
125
 
122
126
  // @legacy APIs
123
127
  DeserializeCallback,
package/lib/public.d.ts CHANGED
@@ -73,8 +73,10 @@ export {
73
73
  Listenable,
74
74
  Listeners,
75
75
  MakeNominal,
76
+ MapNodeInsertableData,
76
77
  MemberChangedListener,
77
78
  Myself,
79
+ NodeChangedData,
78
80
  NodeFromSchema,
79
81
  NodeInDocumentConstraint,
80
82
  NodeKind,
@@ -117,5 +119,7 @@ export {
117
119
  Unhydrated,
118
120
  ValidateRecursiveSchema,
119
121
  WithType,
120
- rollback
122
+ isFluidHandle,
123
+ rollback,
124
+ typeSchemaSymbol
121
125
  } from "./index.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.1.0",
3
+ "version": "2.3.0-288113",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -37,22 +37,23 @@
37
37
  "main": "lib/index.js",
38
38
  "types": "lib/public.d.ts",
39
39
  "dependencies": {
40
- "@fluidframework/container-definitions": "~2.1.0",
41
- "@fluidframework/container-loader": "~2.1.0",
42
- "@fluidframework/core-interfaces": "~2.1.0",
43
- "@fluidframework/driver-definitions": "~2.1.0",
44
- "@fluidframework/fluid-static": "~2.1.0",
45
- "@fluidframework/map": "~2.1.0",
46
- "@fluidframework/sequence": "~2.1.0",
47
- "@fluidframework/shared-object-base": "~2.1.0",
48
- "@fluidframework/tree": "~2.1.0"
40
+ "@fluidframework/container-definitions": "2.3.0-288113",
41
+ "@fluidframework/container-loader": "2.3.0-288113",
42
+ "@fluidframework/core-interfaces": "2.3.0-288113",
43
+ "@fluidframework/driver-definitions": "2.3.0-288113",
44
+ "@fluidframework/fluid-static": "2.3.0-288113",
45
+ "@fluidframework/map": "2.3.0-288113",
46
+ "@fluidframework/runtime-utils": "2.3.0-288113",
47
+ "@fluidframework/sequence": "2.3.0-288113",
48
+ "@fluidframework/shared-object-base": "2.3.0-288113",
49
+ "@fluidframework/tree": "2.3.0-288113"
49
50
  },
50
51
  "devDependencies": {
51
52
  "@arethetypeswrong/cli": "^0.15.2",
52
53
  "@biomejs/biome": "~1.8.3",
53
- "@fluid-tools/build-cli": "^0.41.0",
54
+ "@fluid-tools/build-cli": "^0.43.0",
54
55
  "@fluidframework/build-common": "^2.0.3",
55
- "@fluidframework/build-tools": "^0.41.0",
56
+ "@fluidframework/build-tools": "^0.43.0",
56
57
  "@fluidframework/eslint-config-fluid": "^5.3.0",
57
58
  "@microsoft/api-extractor": "^7.45.1",
58
59
  "@types/node": "^18.19.0",
package/src/index.ts CHANGED
@@ -56,6 +56,8 @@ export type {
56
56
  FluidObjectProviderKeys, // Used by FluidObject
57
57
  } from "@fluidframework/core-interfaces";
58
58
 
59
+ export type { isFluidHandle } from "@fluidframework/runtime-utils";
60
+
59
61
  // Let the tree package manage its own API surface, we will simply reflect it here.
60
62
  // Note: this only surfaces the `@public` API items from the tree package. If the `@beta` and `@alpha` items are
61
63
  // desired, they can be added by re-exporting from one of the package's aliased export paths instead (e.g. `tree