fluid-framework 2.2.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.
@@ -563,6 +563,11 @@ type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string
563
563
  // @public
564
564
  type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
565
565
 
566
+ // @public
567
+ export interface NodeChangedData {
568
+ readonly changedProperties?: ReadonlySet<string>;
569
+ }
570
+
566
571
  // @public
567
572
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
568
573
 
@@ -774,8 +779,8 @@ export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAl
774
779
  }
775
780
 
776
781
  // @public @sealed
777
- export interface TreeChangeEvents {
778
- 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;
779
784
  treeChanged(): void;
780
785
  }
781
786
 
@@ -818,7 +823,7 @@ export abstract class TreeNode implements WithType {
818
823
  export interface TreeNodeApi {
819
824
  is<TSchema extends ImplicitAllowedTypes>(value: unknown, schema: TSchema): value is TreeNodeFromImplicitAllowedTypes<TSchema>;
820
825
  key(node: TreeNode): string | number;
821
- 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;
822
827
  parent(node: TreeNode): TreeNode | undefined;
823
828
  schema(node: TreeNode | TreeLeafValue): TreeNodeSchema;
824
829
  shortId(node: TreeNode): number | string | undefined;
@@ -869,6 +869,11 @@ type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string
869
869
  // @public
870
870
  type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
871
871
 
872
+ // @public
873
+ export interface NodeChangedData {
874
+ readonly changedProperties?: ReadonlySet<string>;
875
+ }
876
+
872
877
  // @public
873
878
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
874
879
 
@@ -1171,8 +1176,8 @@ export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAl
1171
1176
  }
1172
1177
 
1173
1178
  // @public @sealed
1174
- export interface TreeChangeEvents {
1175
- nodeChanged(): void;
1179
+ export interface TreeChangeEvents<TNode = TreeNode> {
1180
+ nodeChanged(data: NodeChangedData & (TNode extends WithType<string, NodeKind.Map | NodeKind.Object> ? Required<Pick<NodeChangedData, "changedProperties">> : unknown)): void;
1176
1181
  treeChanged(): void;
1177
1182
  }
1178
1183
 
@@ -1215,7 +1220,7 @@ export abstract class TreeNode implements WithType {
1215
1220
  export interface TreeNodeApi {
1216
1221
  is<TSchema extends ImplicitAllowedTypes>(value: unknown, schema: TSchema): value is TreeNodeFromImplicitAllowedTypes<TSchema>;
1217
1222
  key(node: TreeNode): string | number;
1218
- on<K extends keyof TreeChangeEvents>(node: TreeNode, eventName: K, listener: TreeChangeEvents[K]): () => void;
1223
+ on<K extends keyof TreeChangeEvents<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: TreeChangeEvents<TNode>[K]): () => void;
1219
1224
  parent(node: TreeNode): TreeNode | undefined;
1220
1225
  schema(node: TreeNode | TreeLeafValue): TreeNodeSchema;
1221
1226
  shortId(node: TreeNode): number | string | undefined;
@@ -599,6 +599,11 @@ type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string
599
599
  // @public
600
600
  type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
601
601
 
602
+ // @public
603
+ export interface NodeChangedData {
604
+ readonly changedProperties?: ReadonlySet<string>;
605
+ }
606
+
602
607
  // @public
603
608
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
604
609
 
@@ -814,8 +819,8 @@ export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAl
814
819
  }
815
820
 
816
821
  // @public @sealed
817
- export interface TreeChangeEvents {
818
- nodeChanged(): void;
822
+ export interface TreeChangeEvents<TNode = TreeNode> {
823
+ nodeChanged(data: NodeChangedData & (TNode extends WithType<string, NodeKind.Map | NodeKind.Object> ? Required<Pick<NodeChangedData, "changedProperties">> : unknown)): void;
819
824
  treeChanged(): void;
820
825
  }
821
826
 
@@ -858,7 +863,7 @@ export abstract class TreeNode implements WithType {
858
863
  export interface TreeNodeApi {
859
864
  is<TSchema extends ImplicitAllowedTypes>(value: unknown, schema: TSchema): value is TreeNodeFromImplicitAllowedTypes<TSchema>;
860
865
  key(node: TreeNode): string | number;
861
- on<K extends keyof TreeChangeEvents>(node: TreeNode, eventName: K, listener: TreeChangeEvents[K]): () => void;
866
+ on<K extends keyof TreeChangeEvents<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: TreeChangeEvents<TNode>[K]): () => void;
862
867
  parent(node: TreeNode): TreeNode | undefined;
863
868
  schema(node: TreeNode | TreeLeafValue): TreeNodeSchema;
864
869
  shortId(node: TreeNode): number | string | undefined;
@@ -563,6 +563,11 @@ type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string
563
563
  // @public
564
564
  type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
565
565
 
566
+ // @public
567
+ export interface NodeChangedData {
568
+ readonly changedProperties?: ReadonlySet<string>;
569
+ }
570
+
566
571
  // @public
567
572
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
568
573
 
@@ -774,8 +779,8 @@ export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAl
774
779
  }
775
780
 
776
781
  // @public @sealed
777
- export interface TreeChangeEvents {
778
- 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;
779
784
  treeChanged(): void;
780
785
  }
781
786
 
@@ -818,7 +823,7 @@ export abstract class TreeNode implements WithType {
818
823
  export interface TreeNodeApi {
819
824
  is<TSchema extends ImplicitAllowedTypes>(value: unknown, schema: TSchema): value is TreeNodeFromImplicitAllowedTypes<TSchema>;
820
825
  key(node: TreeNode): string | number;
821
- 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;
822
827
  parent(node: TreeNode): TreeNode | undefined;
823
828
  schema(node: TreeNode | TreeLeafValue): TreeNodeSchema;
824
829
  shortId(node: TreeNode): number | string | undefined;
package/dist/legacy.d.ts CHANGED
@@ -76,6 +76,7 @@ export {
76
76
  MapNodeInsertableData,
77
77
  MemberChangedListener,
78
78
  Myself,
79
+ NodeChangedData,
79
80
  NodeFromSchema,
80
81
  NodeInDocumentConstraint,
81
82
  NodeKind,
package/dist/public.d.ts CHANGED
@@ -76,6 +76,7 @@ export {
76
76
  MapNodeInsertableData,
77
77
  MemberChangedListener,
78
78
  Myself,
79
+ NodeChangedData,
79
80
  NodeFromSchema,
80
81
  NodeInDocumentConstraint,
81
82
  NodeKind,
package/lib/legacy.d.ts CHANGED
@@ -76,6 +76,7 @@ export {
76
76
  MapNodeInsertableData,
77
77
  MemberChangedListener,
78
78
  Myself,
79
+ NodeChangedData,
79
80
  NodeFromSchema,
80
81
  NodeInDocumentConstraint,
81
82
  NodeKind,
package/lib/public.d.ts CHANGED
@@ -76,6 +76,7 @@ export {
76
76
  MapNodeInsertableData,
77
77
  MemberChangedListener,
78
78
  Myself,
79
+ NodeChangedData,
79
80
  NodeFromSchema,
80
81
  NodeInDocumentConstraint,
81
82
  NodeKind,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "2.2.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,16 +37,16 @@
37
37
  "main": "lib/index.js",
38
38
  "types": "lib/public.d.ts",
39
39
  "dependencies": {
40
- "@fluidframework/container-definitions": "~2.2.0",
41
- "@fluidframework/container-loader": "~2.2.0",
42
- "@fluidframework/core-interfaces": "~2.2.0",
43
- "@fluidframework/driver-definitions": "~2.2.0",
44
- "@fluidframework/fluid-static": "~2.2.0",
45
- "@fluidframework/map": "~2.2.0",
46
- "@fluidframework/runtime-utils": "~2.2.0",
47
- "@fluidframework/sequence": "~2.2.0",
48
- "@fluidframework/shared-object-base": "~2.2.0",
49
- "@fluidframework/tree": "~2.2.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"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@arethetypeswrong/cli": "^0.15.2",