@fluid-experimental/tree 2.10.0 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # @fluid-experimental/tree
2
2
 
3
+ ## 2.11.0
4
+
5
+ Dependency updates only.
6
+
3
7
  ## 2.10.0
4
8
 
5
9
  Dependency updates only.
@@ -419,6 +419,12 @@ export interface InternalizedChange {
419
419
  InternalChangeBrand: '2cae1045-61cf-4ef7-a6a3-8ad920cb7ab3';
420
420
  }
421
421
 
422
+ // @alpha
423
+ export interface IRevertible {
424
+ discard(): any;
425
+ revert(): any;
426
+ }
427
+
422
428
  // @alpha
423
429
  export interface ISharedTreeEvents extends ISharedObjectEvents {
424
430
  // (undocumented)
@@ -427,6 +433,11 @@ export interface ISharedTreeEvents extends ISharedObjectEvents {
427
433
  (event: 'appliedSequencedEdit', listener: SequencedEditAppliedHandler): any;
428
434
  }
429
435
 
436
+ // @alpha
437
+ export interface IUndoConsumer {
438
+ pushToCurrentOperation(revertible: IRevertible): any;
439
+ }
440
+
430
441
  // @alpha
431
442
  export type LocalCompressedId = number & {
432
443
  readonly LocalCompressedId: '6fccb42f-e2a4-4243-bd29-f13d12b9c6d1';
@@ -721,6 +732,13 @@ export interface SharedTreeSummaryBase {
721
732
  readonly version: WriteFormat;
722
733
  }
723
734
 
735
+ // @alpha
736
+ export class SharedTreeUndoRedoHandler {
737
+ constructor(stackManager: IUndoConsumer);
738
+ attachTree(tree: SharedTree): void;
739
+ detachTree(tree: SharedTree): void;
740
+ }
741
+
724
742
  // @alpha
725
743
  export enum Side {
726
744
  // (undocumented)
@@ -4,21 +4,53 @@
4
4
  */
5
5
  import { EditId } from './Identifiers.js';
6
6
  import { SharedTree } from './SharedTree.js';
7
+ /**
8
+ * A revertible change
9
+ *
10
+ * @alpha
11
+ */
7
12
  export interface IRevertible {
13
+ /**
14
+ * Revert the change
15
+ */
8
16
  revert(): any;
17
+ /**
18
+ * Discard the change, freeing any associated resources.
19
+ */
9
20
  discard(): any;
10
21
  }
22
+ /**
23
+ * A consumer of revertible changes.
24
+ *
25
+ * This interface is typically implemented by a stack which may optionally aggregate multiple
26
+ * changes into one operation.
27
+ *
28
+ * @alpha
29
+ */
11
30
  export interface IUndoConsumer {
31
+ /**
32
+ * Push a revertible to the current operation. Invoked for each change on undo consumers subscribed to a SharedTree.
33
+ */
12
34
  pushToCurrentOperation(revertible: IRevertible): any;
13
35
  }
14
36
  /**
15
37
  * A shared tree undo redo handler that will add revertible local tree changes to the provided
16
38
  * undo redo stack manager
39
+ *
40
+ * @alpha
17
41
  */
18
42
  export declare class SharedTreeUndoRedoHandler {
19
43
  private readonly stackManager;
20
44
  constructor(stackManager: IUndoConsumer);
45
+ /**
46
+ * Attach a shared tree to this handler. Each edit from the tree will invoke `this.stackManager`'s
47
+ * {@link IUndoConsumer.pushToCurrentOperation} method with an associated {@link IRevertible}.
48
+ */
21
49
  attachTree(tree: SharedTree): void;
50
+ /**
51
+ * Detach a shared tree from this handler. Edits from the tree will no longer cause `this.stackManager`'s
52
+ * {@link IUndoConsumer.pushToCurrentOperation} to be called.
53
+ */
22
54
  detachTree(tree: SharedTree): void;
23
55
  private readonly treeDeltaHandler;
24
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UndoRedoHandler.d.ts","sourceRoot":"","sources":["../src/UndoRedoHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAA+B,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK1E,MAAM,WAAW,WAAW;IAC3B,MAAM,QAAG;IACT,OAAO,QAAG;CACV;AAED,MAAM,WAAW,aAAa;IAC7B,sBAAsB,CAAC,UAAU,EAAE,WAAW,OAAE;CAChD;AAED;;;GAGG;AACH,qBAAa,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,aAAa;IAEjD,UAAU,CAAC,IAAI,EAAE,UAAU;IAG3B,UAAU,CAAC,IAAI,EAAE,UAAU;IAIlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAc/B;CACF;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,WAAW;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU;IAG3B,MAAM;IAIN,OAAO;CAGd"}
1
+ {"version":3,"file":"UndoRedoHandler.d.ts","sourceRoot":"","sources":["../src/UndoRedoHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAA+B,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK1E;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,MAAM,QAAG;IAET;;OAEG;IACH,OAAO,QAAG;CACV;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC7B;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,WAAW,OAAE;CAChD;AAED;;;;;GAKG;AACH,qBAAa,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,aAAa;IAExD;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,UAAU;IAIlC;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,UAAU;IAIlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAc/B;CACF;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,WAAW;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU;IAG3B,MAAM;IAIN,OAAO;CAGd"}
@@ -10,6 +10,8 @@ const EventTypes_js_1 = require("./EventTypes.js");
10
10
  /**
11
11
  * A shared tree undo redo handler that will add revertible local tree changes to the provided
12
12
  * undo redo stack manager
13
+ *
14
+ * @alpha
13
15
  */
14
16
  class SharedTreeUndoRedoHandler {
15
17
  constructor(stackManager) {
@@ -21,9 +23,17 @@ class SharedTreeUndoRedoHandler {
21
23
  }
22
24
  };
23
25
  }
26
+ /**
27
+ * Attach a shared tree to this handler. Each edit from the tree will invoke `this.stackManager`'s
28
+ * {@link IUndoConsumer.pushToCurrentOperation} method with an associated {@link IRevertible}.
29
+ */
24
30
  attachTree(tree) {
25
31
  tree.on(EventTypes_js_1.SharedTreeEvent.EditCommitted, this.treeDeltaHandler);
26
32
  }
33
+ /**
34
+ * Detach a shared tree from this handler. Edits from the tree will no longer cause `this.stackManager`'s
35
+ * {@link IUndoConsumer.pushToCurrentOperation} to be called.
36
+ */
27
37
  detachTree(tree) {
28
38
  tree.off(EventTypes_js_1.SharedTreeEvent.EditCommitted, this.treeDeltaHandler);
29
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UndoRedoHandler.js","sourceRoot":"","sources":["../src/UndoRedoHandler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2CAAiD;AACjD,mDAAkD;AAgBlD;;;GAGG;AACH,MAAa,yBAAyB;IACrC,YAA6B,YAA2B;QAA3B,iBAAY,GAAZ,YAAY,CAAe;QASvC,qBAAgB,GAAG,CAAC,cAA2C,EAAE,EAAE;YACnF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;YAE/C,IAAI,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACvC,IAAI,oBAAoB,CACvB,MAAM,EACN,IAAA,8BAAkB,EACjB,IAAI,EACJ,sGAAsG,CACtG,CACD,CACD,CAAC;YACH,CAAC;QACF,CAAC,CAAC;IAvByD,CAAC;IAErD,UAAU,CAAC,IAAgB;QACjC,IAAI,CAAC,EAAE,CAAC,+BAAe,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IACM,UAAU,CAAC,IAAgB;QACjC,IAAI,CAAC,GAAG,CAAC,+BAAe,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;CAiBD;AAzBD,8DAyBC;AAED;;GAEG;AACH,MAAa,oBAAoB;IAChC,YACkB,MAAc,EACd,IAAgB;QADhB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAY;IAC/B,CAAC;IAEG,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEM,OAAO;QACb,OAAO;IACR,CAAC;CACD;AAbD,oDAaC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assertNotUndefined } from './Common.js';\nimport { SharedTreeEvent } from './EventTypes.js';\nimport { EditId } from './Identifiers.js';\nimport { EditCommittedEventArguments, SharedTree } from './SharedTree.js';\n\n// TODO: We temporarily duplicate these contracts from 'framework/undo-redo' to unblock development\n// while we decide on the correct layering for undo.\n\nexport interface IRevertible {\n\trevert();\n\tdiscard();\n}\n\nexport interface IUndoConsumer {\n\tpushToCurrentOperation(revertible: IRevertible);\n}\n\n/**\n * A shared tree undo redo handler that will add revertible local tree changes to the provided\n * undo redo stack manager\n */\nexport class SharedTreeUndoRedoHandler {\n\tconstructor(private readonly stackManager: IUndoConsumer) {}\n\n\tpublic attachTree(tree: SharedTree) {\n\t\ttree.on(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);\n\t}\n\tpublic detachTree(tree: SharedTree) {\n\t\ttree.off(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);\n\t}\n\n\tprivate readonly treeDeltaHandler = (eventArguments: EditCommittedEventArguments) => {\n\t\tconst { editId, local, tree } = eventArguments;\n\n\t\tif (local) {\n\t\t\tthis.stackManager.pushToCurrentOperation(\n\t\t\t\tnew SharedTreeRevertible(\n\t\t\t\t\teditId,\n\t\t\t\t\tassertNotUndefined(\n\t\t\t\t\t\ttree,\n\t\t\t\t\t\t'An edit committed event for a revertible edit should include the target SharedTree in its arguments.'\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t};\n}\n\n/**\n * Tracks a change on a shared tree and allows reverting it\n */\nexport class SharedTreeRevertible implements IRevertible {\n\tconstructor(\n\t\tprivate readonly editId: EditId,\n\t\tprivate readonly tree: SharedTree\n\t) {}\n\n\tpublic revert() {\n\t\tthis.tree.revert(this.editId);\n\t}\n\n\tpublic discard() {\n\t\treturn;\n\t}\n}\n"]}
1
+ {"version":3,"file":"UndoRedoHandler.js","sourceRoot":"","sources":["../src/UndoRedoHandler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2CAAiD;AACjD,mDAAkD;AAuClD;;;;;GAKG;AACH,MAAa,yBAAyB;IACrC,YAA6B,YAA2B;QAA3B,iBAAY,GAAZ,YAAY,CAAe;QAkBvC,qBAAgB,GAAG,CAAC,cAA2C,EAAE,EAAE;YACnF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;YAE/C,IAAI,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACvC,IAAI,oBAAoB,CACvB,MAAM,EACN,IAAA,8BAAkB,EACjB,IAAI,EACJ,sGAAsG,CACtG,CACD,CACD,CAAC;YACH,CAAC;QACF,CAAC,CAAC;IAhCyD,CAAC;IAE5D;;;OAGG;IACI,UAAU,CAAC,IAAgB;QACjC,IAAI,CAAC,EAAE,CAAC,+BAAe,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,IAAgB;QACjC,IAAI,CAAC,GAAG,CAAC,+BAAe,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;CAiBD;AAlCD,8DAkCC;AAED;;GAEG;AACH,MAAa,oBAAoB;IAChC,YACkB,MAAc,EACd,IAAgB;QADhB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAY;IAC/B,CAAC;IAEG,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEM,OAAO;QACb,OAAO;IACR,CAAC;CACD;AAbD,oDAaC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assertNotUndefined } from './Common.js';\nimport { SharedTreeEvent } from './EventTypes.js';\nimport { EditId } from './Identifiers.js';\nimport { EditCommittedEventArguments, SharedTree } from './SharedTree.js';\n\n// TODO: We temporarily duplicate these contracts from 'framework/undo-redo' to unblock development\n// while we decide on the correct layering for undo.\n\n/**\n * A revertible change\n *\n * @alpha\n */\nexport interface IRevertible {\n\t/**\n\t * Revert the change\n\t */\n\trevert();\n\n\t/**\n\t * Discard the change, freeing any associated resources.\n\t */\n\tdiscard();\n}\n\n/**\n * A consumer of revertible changes.\n *\n * This interface is typically implemented by a stack which may optionally aggregate multiple\n * changes into one operation.\n *\n * @alpha\n */\nexport interface IUndoConsumer {\n\t/**\n\t * Push a revertible to the current operation. Invoked for each change on undo consumers subscribed to a SharedTree.\n\t */\n\tpushToCurrentOperation(revertible: IRevertible);\n}\n\n/**\n * A shared tree undo redo handler that will add revertible local tree changes to the provided\n * undo redo stack manager\n *\n * @alpha\n */\nexport class SharedTreeUndoRedoHandler {\n\tconstructor(private readonly stackManager: IUndoConsumer) {}\n\n\t/**\n\t * Attach a shared tree to this handler. Each edit from the tree will invoke `this.stackManager`'s\n\t * {@link IUndoConsumer.pushToCurrentOperation} method with an associated {@link IRevertible}.\n\t */\n\tpublic attachTree(tree: SharedTree) {\n\t\ttree.on(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);\n\t}\n\n\t/**\n\t * Detach a shared tree from this handler. Edits from the tree will no longer cause `this.stackManager`'s\n\t * {@link IUndoConsumer.pushToCurrentOperation} to be called.\n\t */\n\tpublic detachTree(tree: SharedTree) {\n\t\ttree.off(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);\n\t}\n\n\tprivate readonly treeDeltaHandler = (eventArguments: EditCommittedEventArguments) => {\n\t\tconst { editId, local, tree } = eventArguments;\n\n\t\tif (local) {\n\t\t\tthis.stackManager.pushToCurrentOperation(\n\t\t\t\tnew SharedTreeRevertible(\n\t\t\t\t\teditId,\n\t\t\t\t\tassertNotUndefined(\n\t\t\t\t\t\ttree,\n\t\t\t\t\t\t'An edit committed event for a revertible edit should include the target SharedTree in its arguments.'\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t};\n}\n\n/**\n * Tracks a change on a shared tree and allows reverting it\n */\nexport class SharedTreeRevertible implements IRevertible {\n\tconstructor(\n\t\tprivate readonly editId: EditId,\n\t\tprivate readonly tree: SharedTree\n\t) {}\n\n\tpublic revert() {\n\t\tthis.tree.revert(this.editId);\n\t}\n\n\tpublic discard() {\n\t\treturn;\n\t}\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -43,4 +43,5 @@ export { Transaction, TransactionEvent, TransactionEvents } from './Transaction.
43
43
  export { TransactionInternal, GenericTransaction, GenericTransactionPolicy, EditingResult, EditingResultBase, FailedEditingResult, ValidEditingResult, TransactionState, TransactionFailure, SucceedingTransactionState, FailingTransactionState, ChangeResult, } from './TransactionInternal.js';
44
44
  export { NodeInTrait, PlaceIndex, TreeViewNode, TreeView, TraitNodeIndex, TreeViewPlace, TreeViewRange, TraitLocation, } from './TreeView.js';
45
45
  export { type IMigrationEvent, type IShim, MigrationShim, MigrationShimFactory, SharedTreeShim, SharedTreeShimFactory, } from './migration-shim/index.js';
46
+ export { IRevertible, IUndoConsumer, SharedTreeUndoRedoHandler } from './UndoRedoHandler.js';
46
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.SharedTreeShim = exports.MigrationShimFactory = exports.MigrationShim = exports.TreeView = exports.GenericTransaction = exports.TransactionInternal = exports.TransactionEvent = exports.Transaction = exports.getSerializedUploadedEditChunkContents = exports.getUploadedEditChunkContents = exports.SharedTree = exports.SharedTreeFactory = exports.rangeFromStableRange = exports.placeFromStablePlace = exports.getTraitLocationOfRange = exports.TreeNodeHandle = exports.TransactionView = exports.RevisionView = exports.StableRangeInternal = exports.StablePlaceInternal = exports.WriteFormat = exports.ChangeTypeInternal = exports.ChangeInternal = exports.ConstraintEffect = exports.EditStatus = exports.Side = exports.comparePayloads = exports.useFailedSequencedEditTelemetry = exports.SharedTreeMergeHealthTelemetryHeartbeat = exports.LazyCheckout = exports.initialTree = exports.isDetachedSequenceId = exports.Forest = exports.SharedTreeEvent = exports.SharedTreeDiagnosticEvent = exports.RangeValidationResultKind = exports.PlaceValidationResult = exports.areRevisionViewsSemanticallyEqual = exports.setTrait = exports.EagerCheckout = exports.Result = exports.sharedTreeAssertionErrorType = exports.isSharedTreeEvent = exports.EditValidationResult = exports.CheckoutEvent = exports.Checkout = exports.StableRange = exports.StablePlace = exports.ChangeType = exports.Change = void 0;
8
- exports.SharedTreeShimFactory = void 0;
8
+ exports.SharedTreeUndoRedoHandler = exports.SharedTreeShimFactory = void 0;
9
9
  /**
10
10
  * Fluid DDS storing a tree.
11
11
  *
@@ -92,4 +92,6 @@ Object.defineProperty(exports, "MigrationShim", { enumerable: true, get: functio
92
92
  Object.defineProperty(exports, "MigrationShimFactory", { enumerable: true, get: function () { return index_js_2.MigrationShimFactory; } });
93
93
  Object.defineProperty(exports, "SharedTreeShim", { enumerable: true, get: function () { return index_js_2.SharedTreeShim; } });
94
94
  Object.defineProperty(exports, "SharedTreeShimFactory", { enumerable: true, get: function () { return index_js_2.SharedTreeShimFactory; } });
95
+ var UndoRedoHandler_js_1 = require("./UndoRedoHandler.js");
96
+ Object.defineProperty(exports, "SharedTreeUndoRedoHandler", { enumerable: true, get: function () { return UndoRedoHandler_js_1.SharedTreeUndoRedoHandler; } });
95
97
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH,cAAc;AAEd,mDAa0B;AATzB,wGAAA,MAAM,OAAA;AACN,4GAAA,UAAU,OAAA;AAMV,6GAAA,WAAW,OAAA;AACX,6GAAA,WAAW,OAAA;AAEZ,6CAA+F;AAAtF,uGAAA,QAAQ,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAmB,mHAAA,oBAAoB,OAAA;AACvE,yCAAsF;AAA7E,8GAAA,iBAAiB,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AAAE,mGAAA,MAAM,OAAA;AAChE,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAEtB,uDAQ4B;AAP3B,4GAAA,QAAQ,OAAA;AACR,qIAAA,iCAAiC,OAAA;AAGjC,yHAAA,qBAAqB,OAAA;AAErB,6HAAA,yBAAyB,OAAA;AAE1B,iDAA6E;AAApE,0HAAA,yBAAyB,OAAA;AAAE,gHAAA,eAAe,OAAA;AACnD,yCAAoE;AAApD,mGAAA,MAAM,OAAA;AAkBtB,mDAAwD;AAA/C,sHAAA,oBAAoB,OAAA;AAC7B,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAGrB,mDAI0B;AAFzB,yIAAA,uCAAuC,OAAA;AACvC,iIAAA,+BAA+B,OAAA;AAEhC,6DAAwD;AAA/C,sHAAA,eAAe,OAAA;AACxB,uDAyCoC;AAxCnC,gGAAA,IAAI,OAAA;AACJ,sGAAA,UAAU,OAAA;AAIV,4GAAA,gBAAgB,OAAA;AAEhB,0GAAA,cAAc,OAAA;AAqBd,8GAAA,kBAAkB,OAAA;AAElB,uGAAA,WAAW,OAAA;AAEX,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AAcpB,qDAAkE;AAAzD,+GAAA,YAAY,OAAA;AAAE,kHAAA,eAAe,OAAA;AACtC,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,+DAIgC;AAH/B,+HAAA,uBAAuB,OAAA;AACvB,4HAAA,oBAAoB,OAAA;AACpB,4HAAA,oBAAoB,OAAA;AAErB,iDAeyB;AATxB,kHAAA,iBAAiB,OAAA;AACjB,2GAAA,UAAU,OAAA;AAWX;;GAEG;AACH,qEAGmC;AAFlC,uIAAA,sCAAsC,OAAgC;AACtE,iJAAA,sCAAsC,OAAA;AAGvC,mDAAoF;AAA3E,6GAAA,WAAW,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AACtC,mEAakC;AAZjC,6HAAA,mBAAmB,OAAA;AACnB,4HAAA,kBAAkB,OAAA;AAYnB,6CASuB;AALtB,uGAAA,QAAQ,OAAA;AAOT,sDAOmC;AAJlC,yGAAA,aAAa,OAAA;AACb,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Fluid DDS storing a tree.\n *\n * @packageDocumentation\n */\n\n/**\n * This file represents the public API. Consumers of this library will not see exported modules unless they are enumerated here.\n * Removing / editing existing exports here will often indicate a breaking change, so please be cognizant of changes made here.\n */\n\n// API Exports\n\nexport {\n\tBuild,\n\tBuildNode,\n\tBuildTreeNode,\n\tChange,\n\tChangeType,\n\tConstraint,\n\tDetach,\n\tHasVariadicTraits,\n\tInsert,\n\tSetValue,\n\tStablePlace,\n\tStableRange,\n} from './ChangeTypes.js';\nexport { Checkout, CheckoutEvent, ICheckoutEvents, EditValidationResult } from './Checkout.js';\nexport { isSharedTreeEvent, sharedTreeAssertionErrorType, Result } from './Common.js';\nexport { EagerCheckout } from './EagerCheckout.js';\nexport type { OrderedEditSet, EditHandle } from './EditLog.js';\nexport {\n\tsetTrait,\n\tareRevisionViewsSemanticallyEqual,\n\tBadPlaceValidationResult,\n\tBadRangeValidationResult,\n\tPlaceValidationResult,\n\tRangeValidationResult,\n\tRangeValidationResultKind,\n} from './EditUtilities.js';\nexport { SharedTreeDiagnosticEvent, SharedTreeEvent } from './EventTypes.js';\nexport { Delta, Forest, ForestNode, ParentData } from './Forest.js';\nexport type {\n\tCompressedId,\n\tDefinition,\n\tDetachedSequenceId,\n\tEditId,\n\tInternedStringId,\n\tFinalCompressedId,\n\tLocalCompressedId,\n\tNodeId,\n\tNodeIdBrand,\n\tStableNodeId,\n\tSessionSpaceCompressedId,\n\tSessionUnique,\n\tTraitLabel,\n\tUuidString,\n\tAttributionId,\n} from './Identifiers.js';\nexport { isDetachedSequenceId } from './Identifiers.js';\nexport { initialTree } from './InitialTree.js';\nexport { LazyCheckout } from './LazyCheckout.js';\nexport { LogViewer } from './LogViewer.js';\nexport { NodeIdContext, NodeIdGenerator, NodeIdConverter } from './NodeIdUtilities.js';\nexport {\n\tMergeHealthStats,\n\tSharedTreeMergeHealthTelemetryHeartbeat,\n\tuseFailedSequencedEditTelemetry,\n} from './MergeHealth.js';\nexport { comparePayloads } from './PayloadUtilities.js';\nexport {\n\tSide,\n\tEditStatus,\n\tTreeNode,\n\tTreeNodeSequence,\n\tPayload,\n\tConstraintEffect,\n\tEdit,\n\tChangeInternal,\n\tInternalizedChange,\n\tChangeNode,\n\tChangeNode_0_0_2,\n\tEditLogSummary,\n\tFluidEditHandle,\n\tSharedTreeSummaryBase,\n\tEditWithoutId,\n\tPlaceholderTree,\n\tEditBase,\n\tHasTraits,\n\tInsertInternal,\n\tDetachInternal,\n\tBuildInternal,\n\tSetValueInternal,\n\tConstraintInternal,\n\tBuildNodeInternal,\n\tStablePlaceInternal_0_0_2,\n\tStableRangeInternal_0_0_2,\n\tNodeData,\n\tTraitMap,\n\tChangeTypeInternal,\n\tTraitLocationInternal_0_0_2,\n\tWriteFormat,\n\tConstraintInternal_0_0_2,\n\tStablePlaceInternal,\n\tStableRangeInternal,\n\tBuildNodeInternal_0_0_2,\n\tBuildInternal_0_0_2,\n\tInsertInternal_0_0_2,\n\tDetachInternal_0_0_2,\n\tSetValueInternal_0_0_2,\n\tTraitLocationInternal,\n} from './persisted-types/index.js';\nexport {\n\tReconciliationChange,\n\tReconciliationEdit,\n\tReconciliationPath,\n} from './ReconciliationPath.js';\nexport { Revision } from './RevisionValueCache.js';\nexport { RevisionView, TransactionView } from './RevisionView.js';\nexport { TreeNodeHandle } from './TreeNodeHandle.js';\nexport {\n\tgetTraitLocationOfRange,\n\tplaceFromStablePlace,\n\trangeFromStableRange,\n} from './TreeViewUtilities.js';\nexport {\n\tSharedTreeArgs,\n\tSharedTreeOptions,\n\tSharedTreeBaseOptions,\n\tSharedTreeOptions_0_0_2,\n\tSharedTreeOptions_0_1_1,\n\tSharedTreeFactory,\n\tSharedTree,\n\tEditCommittedHandler,\n\tSequencedEditAppliedHandler,\n\tEditCommittedEventArguments,\n\tSequencedEditAppliedEventArguments,\n\tEditApplicationOutcome,\n\tISharedTreeEvents,\n\tStashedLocalOpMetadata,\n} from './SharedTree.js';\nexport { StringInterner } from './StringInterner.js';\n\n/**\n * TODO:#61413: Publish test utilities from a separate test package\n */\nexport {\n\tgetSerializedUploadedEditChunkContents as getUploadedEditChunkContents,\n\tgetSerializedUploadedEditChunkContents,\n} from './SummaryTestUtilities.js';\n\nexport { Transaction, TransactionEvent, TransactionEvents } from './Transaction.js';\nexport {\n\tTransactionInternal,\n\tGenericTransaction,\n\tGenericTransactionPolicy,\n\tEditingResult,\n\tEditingResultBase,\n\tFailedEditingResult,\n\tValidEditingResult,\n\tTransactionState,\n\tTransactionFailure,\n\tSucceedingTransactionState,\n\tFailingTransactionState,\n\tChangeResult,\n} from './TransactionInternal.js';\nexport {\n\tNodeInTrait,\n\tPlaceIndex,\n\tTreeViewNode,\n\tTreeView,\n\tTraitNodeIndex,\n\tTreeViewPlace,\n\tTreeViewRange,\n\tTraitLocation,\n} from './TreeView.js';\n\nexport {\n\ttype IMigrationEvent,\n\ttype IShim,\n\tMigrationShim,\n\tMigrationShimFactory,\n\tSharedTreeShim,\n\tSharedTreeShimFactory,\n} from './migration-shim/index.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH,cAAc;AAEd,mDAa0B;AATzB,wGAAA,MAAM,OAAA;AACN,4GAAA,UAAU,OAAA;AAMV,6GAAA,WAAW,OAAA;AACX,6GAAA,WAAW,OAAA;AAEZ,6CAA+F;AAAtF,uGAAA,QAAQ,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAmB,mHAAA,oBAAoB,OAAA;AACvE,yCAAsF;AAA7E,8GAAA,iBAAiB,OAAA;AAAE,yHAAA,4BAA4B,OAAA;AAAE,mGAAA,MAAM,OAAA;AAChE,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAEtB,uDAQ4B;AAP3B,4GAAA,QAAQ,OAAA;AACR,qIAAA,iCAAiC,OAAA;AAGjC,yHAAA,qBAAqB,OAAA;AAErB,6HAAA,yBAAyB,OAAA;AAE1B,iDAA6E;AAApE,0HAAA,yBAAyB,OAAA;AAAE,gHAAA,eAAe,OAAA;AACnD,yCAAoE;AAApD,mGAAA,MAAM,OAAA;AAkBtB,mDAAwD;AAA/C,sHAAA,oBAAoB,OAAA;AAC7B,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAGrB,mDAI0B;AAFzB,yIAAA,uCAAuC,OAAA;AACvC,iIAAA,+BAA+B,OAAA;AAEhC,6DAAwD;AAA/C,sHAAA,eAAe,OAAA;AACxB,uDAyCoC;AAxCnC,gGAAA,IAAI,OAAA;AACJ,sGAAA,UAAU,OAAA;AAIV,4GAAA,gBAAgB,OAAA;AAEhB,0GAAA,cAAc,OAAA;AAqBd,8GAAA,kBAAkB,OAAA;AAElB,uGAAA,WAAW,OAAA;AAEX,+GAAA,mBAAmB,OAAA;AACnB,+GAAA,mBAAmB,OAAA;AAcpB,qDAAkE;AAAzD,+GAAA,YAAY,OAAA;AAAE,kHAAA,eAAe,OAAA;AACtC,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,+DAIgC;AAH/B,+HAAA,uBAAuB,OAAA;AACvB,4HAAA,oBAAoB,OAAA;AACpB,4HAAA,oBAAoB,OAAA;AAErB,iDAeyB;AATxB,kHAAA,iBAAiB,OAAA;AACjB,2GAAA,UAAU,OAAA;AAWX;;GAEG;AACH,qEAGmC;AAFlC,uIAAA,sCAAsC,OAAgC;AACtE,iJAAA,sCAAsC,OAAA;AAGvC,mDAAoF;AAA3E,6GAAA,WAAW,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AACtC,mEAakC;AAZjC,6HAAA,mBAAmB,OAAA;AACnB,4HAAA,kBAAkB,OAAA;AAYnB,6CASuB;AALtB,uGAAA,QAAQ,OAAA;AAOT,sDAOmC;AAJlC,yGAAA,aAAa,OAAA;AACb,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AAGtB,2DAA6F;AAAxD,+HAAA,yBAAyB,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Fluid DDS storing a tree.\n *\n * @packageDocumentation\n */\n\n/**\n * This file represents the public API. Consumers of this library will not see exported modules unless they are enumerated here.\n * Removing / editing existing exports here will often indicate a breaking change, so please be cognizant of changes made here.\n */\n\n// API Exports\n\nexport {\n\tBuild,\n\tBuildNode,\n\tBuildTreeNode,\n\tChange,\n\tChangeType,\n\tConstraint,\n\tDetach,\n\tHasVariadicTraits,\n\tInsert,\n\tSetValue,\n\tStablePlace,\n\tStableRange,\n} from './ChangeTypes.js';\nexport { Checkout, CheckoutEvent, ICheckoutEvents, EditValidationResult } from './Checkout.js';\nexport { isSharedTreeEvent, sharedTreeAssertionErrorType, Result } from './Common.js';\nexport { EagerCheckout } from './EagerCheckout.js';\nexport type { OrderedEditSet, EditHandle } from './EditLog.js';\nexport {\n\tsetTrait,\n\tareRevisionViewsSemanticallyEqual,\n\tBadPlaceValidationResult,\n\tBadRangeValidationResult,\n\tPlaceValidationResult,\n\tRangeValidationResult,\n\tRangeValidationResultKind,\n} from './EditUtilities.js';\nexport { SharedTreeDiagnosticEvent, SharedTreeEvent } from './EventTypes.js';\nexport { Delta, Forest, ForestNode, ParentData } from './Forest.js';\nexport type {\n\tCompressedId,\n\tDefinition,\n\tDetachedSequenceId,\n\tEditId,\n\tInternedStringId,\n\tFinalCompressedId,\n\tLocalCompressedId,\n\tNodeId,\n\tNodeIdBrand,\n\tStableNodeId,\n\tSessionSpaceCompressedId,\n\tSessionUnique,\n\tTraitLabel,\n\tUuidString,\n\tAttributionId,\n} from './Identifiers.js';\nexport { isDetachedSequenceId } from './Identifiers.js';\nexport { initialTree } from './InitialTree.js';\nexport { LazyCheckout } from './LazyCheckout.js';\nexport { LogViewer } from './LogViewer.js';\nexport { NodeIdContext, NodeIdGenerator, NodeIdConverter } from './NodeIdUtilities.js';\nexport {\n\tMergeHealthStats,\n\tSharedTreeMergeHealthTelemetryHeartbeat,\n\tuseFailedSequencedEditTelemetry,\n} from './MergeHealth.js';\nexport { comparePayloads } from './PayloadUtilities.js';\nexport {\n\tSide,\n\tEditStatus,\n\tTreeNode,\n\tTreeNodeSequence,\n\tPayload,\n\tConstraintEffect,\n\tEdit,\n\tChangeInternal,\n\tInternalizedChange,\n\tChangeNode,\n\tChangeNode_0_0_2,\n\tEditLogSummary,\n\tFluidEditHandle,\n\tSharedTreeSummaryBase,\n\tEditWithoutId,\n\tPlaceholderTree,\n\tEditBase,\n\tHasTraits,\n\tInsertInternal,\n\tDetachInternal,\n\tBuildInternal,\n\tSetValueInternal,\n\tConstraintInternal,\n\tBuildNodeInternal,\n\tStablePlaceInternal_0_0_2,\n\tStableRangeInternal_0_0_2,\n\tNodeData,\n\tTraitMap,\n\tChangeTypeInternal,\n\tTraitLocationInternal_0_0_2,\n\tWriteFormat,\n\tConstraintInternal_0_0_2,\n\tStablePlaceInternal,\n\tStableRangeInternal,\n\tBuildNodeInternal_0_0_2,\n\tBuildInternal_0_0_2,\n\tInsertInternal_0_0_2,\n\tDetachInternal_0_0_2,\n\tSetValueInternal_0_0_2,\n\tTraitLocationInternal,\n} from './persisted-types/index.js';\nexport {\n\tReconciliationChange,\n\tReconciliationEdit,\n\tReconciliationPath,\n} from './ReconciliationPath.js';\nexport { Revision } from './RevisionValueCache.js';\nexport { RevisionView, TransactionView } from './RevisionView.js';\nexport { TreeNodeHandle } from './TreeNodeHandle.js';\nexport {\n\tgetTraitLocationOfRange,\n\tplaceFromStablePlace,\n\trangeFromStableRange,\n} from './TreeViewUtilities.js';\nexport {\n\tSharedTreeArgs,\n\tSharedTreeOptions,\n\tSharedTreeBaseOptions,\n\tSharedTreeOptions_0_0_2,\n\tSharedTreeOptions_0_1_1,\n\tSharedTreeFactory,\n\tSharedTree,\n\tEditCommittedHandler,\n\tSequencedEditAppliedHandler,\n\tEditCommittedEventArguments,\n\tSequencedEditAppliedEventArguments,\n\tEditApplicationOutcome,\n\tISharedTreeEvents,\n\tStashedLocalOpMetadata,\n} from './SharedTree.js';\nexport { StringInterner } from './StringInterner.js';\n\n/**\n * TODO:#61413: Publish test utilities from a separate test package\n */\nexport {\n\tgetSerializedUploadedEditChunkContents as getUploadedEditChunkContents,\n\tgetSerializedUploadedEditChunkContents,\n} from './SummaryTestUtilities.js';\n\nexport { Transaction, TransactionEvent, TransactionEvents } from './Transaction.js';\nexport {\n\tTransactionInternal,\n\tGenericTransaction,\n\tGenericTransactionPolicy,\n\tEditingResult,\n\tEditingResultBase,\n\tFailedEditingResult,\n\tValidEditingResult,\n\tTransactionState,\n\tTransactionFailure,\n\tSucceedingTransactionState,\n\tFailingTransactionState,\n\tChangeResult,\n} from './TransactionInternal.js';\nexport {\n\tNodeInTrait,\n\tPlaceIndex,\n\tTreeViewNode,\n\tTreeView,\n\tTraitNodeIndex,\n\tTreeViewPlace,\n\tTreeViewRange,\n\tTraitLocation,\n} from './TreeView.js';\n\nexport {\n\ttype IMigrationEvent,\n\ttype IShim,\n\tMigrationShim,\n\tMigrationShimFactory,\n\tSharedTreeShim,\n\tSharedTreeShimFactory,\n} from './migration-shim/index.js';\n\nexport { IRevertible, IUndoConsumer, SharedTreeUndoRedoHandler } from './UndoRedoHandler.js';\n"]}
@@ -4,21 +4,53 @@
4
4
  */
5
5
  import { EditId } from './Identifiers.js';
6
6
  import { SharedTree } from './SharedTree.js';
7
+ /**
8
+ * A revertible change
9
+ *
10
+ * @alpha
11
+ */
7
12
  export interface IRevertible {
13
+ /**
14
+ * Revert the change
15
+ */
8
16
  revert(): any;
17
+ /**
18
+ * Discard the change, freeing any associated resources.
19
+ */
9
20
  discard(): any;
10
21
  }
22
+ /**
23
+ * A consumer of revertible changes.
24
+ *
25
+ * This interface is typically implemented by a stack which may optionally aggregate multiple
26
+ * changes into one operation.
27
+ *
28
+ * @alpha
29
+ */
11
30
  export interface IUndoConsumer {
31
+ /**
32
+ * Push a revertible to the current operation. Invoked for each change on undo consumers subscribed to a SharedTree.
33
+ */
12
34
  pushToCurrentOperation(revertible: IRevertible): any;
13
35
  }
14
36
  /**
15
37
  * A shared tree undo redo handler that will add revertible local tree changes to the provided
16
38
  * undo redo stack manager
39
+ *
40
+ * @alpha
17
41
  */
18
42
  export declare class SharedTreeUndoRedoHandler {
19
43
  private readonly stackManager;
20
44
  constructor(stackManager: IUndoConsumer);
45
+ /**
46
+ * Attach a shared tree to this handler. Each edit from the tree will invoke `this.stackManager`'s
47
+ * {@link IUndoConsumer.pushToCurrentOperation} method with an associated {@link IRevertible}.
48
+ */
21
49
  attachTree(tree: SharedTree): void;
50
+ /**
51
+ * Detach a shared tree from this handler. Edits from the tree will no longer cause `this.stackManager`'s
52
+ * {@link IUndoConsumer.pushToCurrentOperation} to be called.
53
+ */
22
54
  detachTree(tree: SharedTree): void;
23
55
  private readonly treeDeltaHandler;
24
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UndoRedoHandler.d.ts","sourceRoot":"","sources":["../src/UndoRedoHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAA+B,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK1E,MAAM,WAAW,WAAW;IAC3B,MAAM,QAAG;IACT,OAAO,QAAG;CACV;AAED,MAAM,WAAW,aAAa;IAC7B,sBAAsB,CAAC,UAAU,EAAE,WAAW,OAAE;CAChD;AAED;;;GAGG;AACH,qBAAa,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,aAAa;IAEjD,UAAU,CAAC,IAAI,EAAE,UAAU;IAG3B,UAAU,CAAC,IAAI,EAAE,UAAU;IAIlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAc/B;CACF;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,WAAW;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU;IAG3B,MAAM;IAIN,OAAO;CAGd"}
1
+ {"version":3,"file":"UndoRedoHandler.d.ts","sourceRoot":"","sources":["../src/UndoRedoHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAA+B,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK1E;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,MAAM,QAAG;IAET;;OAEG;IACH,OAAO,QAAG;CACV;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC7B;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,WAAW,OAAE;CAChD;AAED;;;;;GAKG;AACH,qBAAa,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,aAAa;IAExD;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,UAAU;IAIlC;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,UAAU;IAIlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAc/B;CACF;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,WAAW;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU;IAG3B,MAAM;IAIN,OAAO;CAGd"}
@@ -7,6 +7,8 @@ import { SharedTreeEvent } from './EventTypes.js';
7
7
  /**
8
8
  * A shared tree undo redo handler that will add revertible local tree changes to the provided
9
9
  * undo redo stack manager
10
+ *
11
+ * @alpha
10
12
  */
11
13
  export class SharedTreeUndoRedoHandler {
12
14
  constructor(stackManager) {
@@ -18,9 +20,17 @@ export class SharedTreeUndoRedoHandler {
18
20
  }
19
21
  };
20
22
  }
23
+ /**
24
+ * Attach a shared tree to this handler. Each edit from the tree will invoke `this.stackManager`'s
25
+ * {@link IUndoConsumer.pushToCurrentOperation} method with an associated {@link IRevertible}.
26
+ */
21
27
  attachTree(tree) {
22
28
  tree.on(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);
23
29
  }
30
+ /**
31
+ * Detach a shared tree from this handler. Edits from the tree will no longer cause `this.stackManager`'s
32
+ * {@link IUndoConsumer.pushToCurrentOperation} to be called.
33
+ */
24
34
  detachTree(tree) {
25
35
  tree.off(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);
26
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UndoRedoHandler.js","sourceRoot":"","sources":["../src/UndoRedoHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAgBlD;;;GAGG;AACH,MAAM,OAAO,yBAAyB;IACrC,YAA6B,YAA2B;QAA3B,iBAAY,GAAZ,YAAY,CAAe;QASvC,qBAAgB,GAAG,CAAC,cAA2C,EAAE,EAAE;YACnF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;YAE/C,IAAI,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACvC,IAAI,oBAAoB,CACvB,MAAM,EACN,kBAAkB,CACjB,IAAI,EACJ,sGAAsG,CACtG,CACD,CACD,CAAC;YACH,CAAC;QACF,CAAC,CAAC;IAvByD,CAAC;IAErD,UAAU,CAAC,IAAgB;QACjC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IACM,UAAU,CAAC,IAAgB;QACjC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;CAiBD;AAED;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAChC,YACkB,MAAc,EACd,IAAgB;QADhB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAY;IAC/B,CAAC;IAEG,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEM,OAAO;QACb,OAAO;IACR,CAAC;CACD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assertNotUndefined } from './Common.js';\nimport { SharedTreeEvent } from './EventTypes.js';\nimport { EditId } from './Identifiers.js';\nimport { EditCommittedEventArguments, SharedTree } from './SharedTree.js';\n\n// TODO: We temporarily duplicate these contracts from 'framework/undo-redo' to unblock development\n// while we decide on the correct layering for undo.\n\nexport interface IRevertible {\n\trevert();\n\tdiscard();\n}\n\nexport interface IUndoConsumer {\n\tpushToCurrentOperation(revertible: IRevertible);\n}\n\n/**\n * A shared tree undo redo handler that will add revertible local tree changes to the provided\n * undo redo stack manager\n */\nexport class SharedTreeUndoRedoHandler {\n\tconstructor(private readonly stackManager: IUndoConsumer) {}\n\n\tpublic attachTree(tree: SharedTree) {\n\t\ttree.on(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);\n\t}\n\tpublic detachTree(tree: SharedTree) {\n\t\ttree.off(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);\n\t}\n\n\tprivate readonly treeDeltaHandler = (eventArguments: EditCommittedEventArguments) => {\n\t\tconst { editId, local, tree } = eventArguments;\n\n\t\tif (local) {\n\t\t\tthis.stackManager.pushToCurrentOperation(\n\t\t\t\tnew SharedTreeRevertible(\n\t\t\t\t\teditId,\n\t\t\t\t\tassertNotUndefined(\n\t\t\t\t\t\ttree,\n\t\t\t\t\t\t'An edit committed event for a revertible edit should include the target SharedTree in its arguments.'\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t};\n}\n\n/**\n * Tracks a change on a shared tree and allows reverting it\n */\nexport class SharedTreeRevertible implements IRevertible {\n\tconstructor(\n\t\tprivate readonly editId: EditId,\n\t\tprivate readonly tree: SharedTree\n\t) {}\n\n\tpublic revert() {\n\t\tthis.tree.revert(this.editId);\n\t}\n\n\tpublic discard() {\n\t\treturn;\n\t}\n}\n"]}
1
+ {"version":3,"file":"UndoRedoHandler.js","sourceRoot":"","sources":["../src/UndoRedoHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAuClD;;;;;GAKG;AACH,MAAM,OAAO,yBAAyB;IACrC,YAA6B,YAA2B;QAA3B,iBAAY,GAAZ,YAAY,CAAe;QAkBvC,qBAAgB,GAAG,CAAC,cAA2C,EAAE,EAAE;YACnF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;YAE/C,IAAI,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACvC,IAAI,oBAAoB,CACvB,MAAM,EACN,kBAAkB,CACjB,IAAI,EACJ,sGAAsG,CACtG,CACD,CACD,CAAC;YACH,CAAC;QACF,CAAC,CAAC;IAhCyD,CAAC;IAE5D;;;OAGG;IACI,UAAU,CAAC,IAAgB;QACjC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,IAAgB;QACjC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;CAiBD;AAED;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAChC,YACkB,MAAc,EACd,IAAgB;QADhB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAY;IAC/B,CAAC;IAEG,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEM,OAAO;QACb,OAAO;IACR,CAAC;CACD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { assertNotUndefined } from './Common.js';\nimport { SharedTreeEvent } from './EventTypes.js';\nimport { EditId } from './Identifiers.js';\nimport { EditCommittedEventArguments, SharedTree } from './SharedTree.js';\n\n// TODO: We temporarily duplicate these contracts from 'framework/undo-redo' to unblock development\n// while we decide on the correct layering for undo.\n\n/**\n * A revertible change\n *\n * @alpha\n */\nexport interface IRevertible {\n\t/**\n\t * Revert the change\n\t */\n\trevert();\n\n\t/**\n\t * Discard the change, freeing any associated resources.\n\t */\n\tdiscard();\n}\n\n/**\n * A consumer of revertible changes.\n *\n * This interface is typically implemented by a stack which may optionally aggregate multiple\n * changes into one operation.\n *\n * @alpha\n */\nexport interface IUndoConsumer {\n\t/**\n\t * Push a revertible to the current operation. Invoked for each change on undo consumers subscribed to a SharedTree.\n\t */\n\tpushToCurrentOperation(revertible: IRevertible);\n}\n\n/**\n * A shared tree undo redo handler that will add revertible local tree changes to the provided\n * undo redo stack manager\n *\n * @alpha\n */\nexport class SharedTreeUndoRedoHandler {\n\tconstructor(private readonly stackManager: IUndoConsumer) {}\n\n\t/**\n\t * Attach a shared tree to this handler. Each edit from the tree will invoke `this.stackManager`'s\n\t * {@link IUndoConsumer.pushToCurrentOperation} method with an associated {@link IRevertible}.\n\t */\n\tpublic attachTree(tree: SharedTree) {\n\t\ttree.on(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);\n\t}\n\n\t/**\n\t * Detach a shared tree from this handler. Edits from the tree will no longer cause `this.stackManager`'s\n\t * {@link IUndoConsumer.pushToCurrentOperation} to be called.\n\t */\n\tpublic detachTree(tree: SharedTree) {\n\t\ttree.off(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);\n\t}\n\n\tprivate readonly treeDeltaHandler = (eventArguments: EditCommittedEventArguments) => {\n\t\tconst { editId, local, tree } = eventArguments;\n\n\t\tif (local) {\n\t\t\tthis.stackManager.pushToCurrentOperation(\n\t\t\t\tnew SharedTreeRevertible(\n\t\t\t\t\teditId,\n\t\t\t\t\tassertNotUndefined(\n\t\t\t\t\t\ttree,\n\t\t\t\t\t\t'An edit committed event for a revertible edit should include the target SharedTree in its arguments.'\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t};\n}\n\n/**\n * Tracks a change on a shared tree and allows reverting it\n */\nexport class SharedTreeRevertible implements IRevertible {\n\tconstructor(\n\t\tprivate readonly editId: EditId,\n\t\tprivate readonly tree: SharedTree\n\t) {}\n\n\tpublic revert() {\n\t\tthis.tree.revert(this.editId);\n\t}\n\n\tpublic discard() {\n\t\treturn;\n\t}\n}\n"]}
package/lib/index.d.ts CHANGED
@@ -43,4 +43,5 @@ export { Transaction, TransactionEvent, TransactionEvents } from './Transaction.
43
43
  export { TransactionInternal, GenericTransaction, GenericTransactionPolicy, EditingResult, EditingResultBase, FailedEditingResult, ValidEditingResult, TransactionState, TransactionFailure, SucceedingTransactionState, FailingTransactionState, ChangeResult, } from './TransactionInternal.js';
44
44
  export { NodeInTrait, PlaceIndex, TreeViewNode, TreeView, TraitNodeIndex, TreeViewPlace, TreeViewRange, TraitLocation, } from './TreeView.js';
45
45
  export { type IMigrationEvent, type IShim, MigrationShim, MigrationShimFactory, SharedTreeShim, SharedTreeShimFactory, } from './migration-shim/index.js';
46
+ export { IRevertible, IUndoConsumer, SharedTreeUndoRedoHandler } from './UndoRedoHandler.js';
46
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -37,4 +37,5 @@ export { Transaction, TransactionEvent } from './Transaction.js';
37
37
  export { TransactionInternal, GenericTransaction, } from './TransactionInternal.js';
38
38
  export { TreeView, } from './TreeView.js';
39
39
  export { MigrationShim, MigrationShimFactory, SharedTreeShim, SharedTreeShimFactory, } from './migration-shim/index.js';
40
+ export { SharedTreeUndoRedoHandler } from './UndoRedoHandler.js';
40
41
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH,cAAc;AAEd,OAAO,EAIN,MAAM,EACN,UAAU,EAMV,WAAW,EACX,WAAW,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAmB,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EACN,QAAQ,EACR,iCAAiC,EAGjC,qBAAqB,EAErB,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAS,MAAM,EAA0B,MAAM,aAAa,CAAC;AAkBpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAEN,uCAAuC,EACvC,+BAA+B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACN,IAAI,EACJ,UAAU,EAIV,gBAAgB,EAEhB,cAAc,EAqBd,kBAAkB,EAElB,WAAW,EAEX,mBAAmB,EACnB,mBAAmB,GAOnB,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAMN,iBAAiB,EACjB,UAAU,GAQV,MAAM,iBAAiB,CAAC;AAGzB;;GAEG;AACH,OAAO,EACN,sCAAsC,IAAI,4BAA4B,EACtE,sCAAsC,GACtC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAqB,MAAM,kBAAkB,CAAC;AACpF,OAAO,EACN,mBAAmB,EACnB,kBAAkB,GAWlB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAIN,QAAQ,GAKR,MAAM,eAAe,CAAC;AAEvB,OAAO,EAGN,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,qBAAqB,GACrB,MAAM,2BAA2B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Fluid DDS storing a tree.\n *\n * @packageDocumentation\n */\n\n/**\n * This file represents the public API. Consumers of this library will not see exported modules unless they are enumerated here.\n * Removing / editing existing exports here will often indicate a breaking change, so please be cognizant of changes made here.\n */\n\n// API Exports\n\nexport {\n\tBuild,\n\tBuildNode,\n\tBuildTreeNode,\n\tChange,\n\tChangeType,\n\tConstraint,\n\tDetach,\n\tHasVariadicTraits,\n\tInsert,\n\tSetValue,\n\tStablePlace,\n\tStableRange,\n} from './ChangeTypes.js';\nexport { Checkout, CheckoutEvent, ICheckoutEvents, EditValidationResult } from './Checkout.js';\nexport { isSharedTreeEvent, sharedTreeAssertionErrorType, Result } from './Common.js';\nexport { EagerCheckout } from './EagerCheckout.js';\nexport type { OrderedEditSet, EditHandle } from './EditLog.js';\nexport {\n\tsetTrait,\n\tareRevisionViewsSemanticallyEqual,\n\tBadPlaceValidationResult,\n\tBadRangeValidationResult,\n\tPlaceValidationResult,\n\tRangeValidationResult,\n\tRangeValidationResultKind,\n} from './EditUtilities.js';\nexport { SharedTreeDiagnosticEvent, SharedTreeEvent } from './EventTypes.js';\nexport { Delta, Forest, ForestNode, ParentData } from './Forest.js';\nexport type {\n\tCompressedId,\n\tDefinition,\n\tDetachedSequenceId,\n\tEditId,\n\tInternedStringId,\n\tFinalCompressedId,\n\tLocalCompressedId,\n\tNodeId,\n\tNodeIdBrand,\n\tStableNodeId,\n\tSessionSpaceCompressedId,\n\tSessionUnique,\n\tTraitLabel,\n\tUuidString,\n\tAttributionId,\n} from './Identifiers.js';\nexport { isDetachedSequenceId } from './Identifiers.js';\nexport { initialTree } from './InitialTree.js';\nexport { LazyCheckout } from './LazyCheckout.js';\nexport { LogViewer } from './LogViewer.js';\nexport { NodeIdContext, NodeIdGenerator, NodeIdConverter } from './NodeIdUtilities.js';\nexport {\n\tMergeHealthStats,\n\tSharedTreeMergeHealthTelemetryHeartbeat,\n\tuseFailedSequencedEditTelemetry,\n} from './MergeHealth.js';\nexport { comparePayloads } from './PayloadUtilities.js';\nexport {\n\tSide,\n\tEditStatus,\n\tTreeNode,\n\tTreeNodeSequence,\n\tPayload,\n\tConstraintEffect,\n\tEdit,\n\tChangeInternal,\n\tInternalizedChange,\n\tChangeNode,\n\tChangeNode_0_0_2,\n\tEditLogSummary,\n\tFluidEditHandle,\n\tSharedTreeSummaryBase,\n\tEditWithoutId,\n\tPlaceholderTree,\n\tEditBase,\n\tHasTraits,\n\tInsertInternal,\n\tDetachInternal,\n\tBuildInternal,\n\tSetValueInternal,\n\tConstraintInternal,\n\tBuildNodeInternal,\n\tStablePlaceInternal_0_0_2,\n\tStableRangeInternal_0_0_2,\n\tNodeData,\n\tTraitMap,\n\tChangeTypeInternal,\n\tTraitLocationInternal_0_0_2,\n\tWriteFormat,\n\tConstraintInternal_0_0_2,\n\tStablePlaceInternal,\n\tStableRangeInternal,\n\tBuildNodeInternal_0_0_2,\n\tBuildInternal_0_0_2,\n\tInsertInternal_0_0_2,\n\tDetachInternal_0_0_2,\n\tSetValueInternal_0_0_2,\n\tTraitLocationInternal,\n} from './persisted-types/index.js';\nexport {\n\tReconciliationChange,\n\tReconciliationEdit,\n\tReconciliationPath,\n} from './ReconciliationPath.js';\nexport { Revision } from './RevisionValueCache.js';\nexport { RevisionView, TransactionView } from './RevisionView.js';\nexport { TreeNodeHandle } from './TreeNodeHandle.js';\nexport {\n\tgetTraitLocationOfRange,\n\tplaceFromStablePlace,\n\trangeFromStableRange,\n} from './TreeViewUtilities.js';\nexport {\n\tSharedTreeArgs,\n\tSharedTreeOptions,\n\tSharedTreeBaseOptions,\n\tSharedTreeOptions_0_0_2,\n\tSharedTreeOptions_0_1_1,\n\tSharedTreeFactory,\n\tSharedTree,\n\tEditCommittedHandler,\n\tSequencedEditAppliedHandler,\n\tEditCommittedEventArguments,\n\tSequencedEditAppliedEventArguments,\n\tEditApplicationOutcome,\n\tISharedTreeEvents,\n\tStashedLocalOpMetadata,\n} from './SharedTree.js';\nexport { StringInterner } from './StringInterner.js';\n\n/**\n * TODO:#61413: Publish test utilities from a separate test package\n */\nexport {\n\tgetSerializedUploadedEditChunkContents as getUploadedEditChunkContents,\n\tgetSerializedUploadedEditChunkContents,\n} from './SummaryTestUtilities.js';\n\nexport { Transaction, TransactionEvent, TransactionEvents } from './Transaction.js';\nexport {\n\tTransactionInternal,\n\tGenericTransaction,\n\tGenericTransactionPolicy,\n\tEditingResult,\n\tEditingResultBase,\n\tFailedEditingResult,\n\tValidEditingResult,\n\tTransactionState,\n\tTransactionFailure,\n\tSucceedingTransactionState,\n\tFailingTransactionState,\n\tChangeResult,\n} from './TransactionInternal.js';\nexport {\n\tNodeInTrait,\n\tPlaceIndex,\n\tTreeViewNode,\n\tTreeView,\n\tTraitNodeIndex,\n\tTreeViewPlace,\n\tTreeViewRange,\n\tTraitLocation,\n} from './TreeView.js';\n\nexport {\n\ttype IMigrationEvent,\n\ttype IShim,\n\tMigrationShim,\n\tMigrationShimFactory,\n\tSharedTreeShim,\n\tSharedTreeShimFactory,\n} from './migration-shim/index.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH,cAAc;AAEd,OAAO,EAIN,MAAM,EACN,UAAU,EAMV,WAAW,EACX,WAAW,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAmB,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EACN,QAAQ,EACR,iCAAiC,EAGjC,qBAAqB,EAErB,yBAAyB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAS,MAAM,EAA0B,MAAM,aAAa,CAAC;AAkBpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAEN,uCAAuC,EACvC,+BAA+B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACN,IAAI,EACJ,UAAU,EAIV,gBAAgB,EAEhB,cAAc,EAqBd,kBAAkB,EAElB,WAAW,EAEX,mBAAmB,EACnB,mBAAmB,GAOnB,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAMN,iBAAiB,EACjB,UAAU,GAQV,MAAM,iBAAiB,CAAC;AAGzB;;GAEG;AACH,OAAO,EACN,sCAAsC,IAAI,4BAA4B,EACtE,sCAAsC,GACtC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAqB,MAAM,kBAAkB,CAAC;AACpF,OAAO,EACN,mBAAmB,EACnB,kBAAkB,GAWlB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAIN,QAAQ,GAKR,MAAM,eAAe,CAAC;AAEvB,OAAO,EAGN,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,qBAAqB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAA8B,yBAAyB,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Fluid DDS storing a tree.\n *\n * @packageDocumentation\n */\n\n/**\n * This file represents the public API. Consumers of this library will not see exported modules unless they are enumerated here.\n * Removing / editing existing exports here will often indicate a breaking change, so please be cognizant of changes made here.\n */\n\n// API Exports\n\nexport {\n\tBuild,\n\tBuildNode,\n\tBuildTreeNode,\n\tChange,\n\tChangeType,\n\tConstraint,\n\tDetach,\n\tHasVariadicTraits,\n\tInsert,\n\tSetValue,\n\tStablePlace,\n\tStableRange,\n} from './ChangeTypes.js';\nexport { Checkout, CheckoutEvent, ICheckoutEvents, EditValidationResult } from './Checkout.js';\nexport { isSharedTreeEvent, sharedTreeAssertionErrorType, Result } from './Common.js';\nexport { EagerCheckout } from './EagerCheckout.js';\nexport type { OrderedEditSet, EditHandle } from './EditLog.js';\nexport {\n\tsetTrait,\n\tareRevisionViewsSemanticallyEqual,\n\tBadPlaceValidationResult,\n\tBadRangeValidationResult,\n\tPlaceValidationResult,\n\tRangeValidationResult,\n\tRangeValidationResultKind,\n} from './EditUtilities.js';\nexport { SharedTreeDiagnosticEvent, SharedTreeEvent } from './EventTypes.js';\nexport { Delta, Forest, ForestNode, ParentData } from './Forest.js';\nexport type {\n\tCompressedId,\n\tDefinition,\n\tDetachedSequenceId,\n\tEditId,\n\tInternedStringId,\n\tFinalCompressedId,\n\tLocalCompressedId,\n\tNodeId,\n\tNodeIdBrand,\n\tStableNodeId,\n\tSessionSpaceCompressedId,\n\tSessionUnique,\n\tTraitLabel,\n\tUuidString,\n\tAttributionId,\n} from './Identifiers.js';\nexport { isDetachedSequenceId } from './Identifiers.js';\nexport { initialTree } from './InitialTree.js';\nexport { LazyCheckout } from './LazyCheckout.js';\nexport { LogViewer } from './LogViewer.js';\nexport { NodeIdContext, NodeIdGenerator, NodeIdConverter } from './NodeIdUtilities.js';\nexport {\n\tMergeHealthStats,\n\tSharedTreeMergeHealthTelemetryHeartbeat,\n\tuseFailedSequencedEditTelemetry,\n} from './MergeHealth.js';\nexport { comparePayloads } from './PayloadUtilities.js';\nexport {\n\tSide,\n\tEditStatus,\n\tTreeNode,\n\tTreeNodeSequence,\n\tPayload,\n\tConstraintEffect,\n\tEdit,\n\tChangeInternal,\n\tInternalizedChange,\n\tChangeNode,\n\tChangeNode_0_0_2,\n\tEditLogSummary,\n\tFluidEditHandle,\n\tSharedTreeSummaryBase,\n\tEditWithoutId,\n\tPlaceholderTree,\n\tEditBase,\n\tHasTraits,\n\tInsertInternal,\n\tDetachInternal,\n\tBuildInternal,\n\tSetValueInternal,\n\tConstraintInternal,\n\tBuildNodeInternal,\n\tStablePlaceInternal_0_0_2,\n\tStableRangeInternal_0_0_2,\n\tNodeData,\n\tTraitMap,\n\tChangeTypeInternal,\n\tTraitLocationInternal_0_0_2,\n\tWriteFormat,\n\tConstraintInternal_0_0_2,\n\tStablePlaceInternal,\n\tStableRangeInternal,\n\tBuildNodeInternal_0_0_2,\n\tBuildInternal_0_0_2,\n\tInsertInternal_0_0_2,\n\tDetachInternal_0_0_2,\n\tSetValueInternal_0_0_2,\n\tTraitLocationInternal,\n} from './persisted-types/index.js';\nexport {\n\tReconciliationChange,\n\tReconciliationEdit,\n\tReconciliationPath,\n} from './ReconciliationPath.js';\nexport { Revision } from './RevisionValueCache.js';\nexport { RevisionView, TransactionView } from './RevisionView.js';\nexport { TreeNodeHandle } from './TreeNodeHandle.js';\nexport {\n\tgetTraitLocationOfRange,\n\tplaceFromStablePlace,\n\trangeFromStableRange,\n} from './TreeViewUtilities.js';\nexport {\n\tSharedTreeArgs,\n\tSharedTreeOptions,\n\tSharedTreeBaseOptions,\n\tSharedTreeOptions_0_0_2,\n\tSharedTreeOptions_0_1_1,\n\tSharedTreeFactory,\n\tSharedTree,\n\tEditCommittedHandler,\n\tSequencedEditAppliedHandler,\n\tEditCommittedEventArguments,\n\tSequencedEditAppliedEventArguments,\n\tEditApplicationOutcome,\n\tISharedTreeEvents,\n\tStashedLocalOpMetadata,\n} from './SharedTree.js';\nexport { StringInterner } from './StringInterner.js';\n\n/**\n * TODO:#61413: Publish test utilities from a separate test package\n */\nexport {\n\tgetSerializedUploadedEditChunkContents as getUploadedEditChunkContents,\n\tgetSerializedUploadedEditChunkContents,\n} from './SummaryTestUtilities.js';\n\nexport { Transaction, TransactionEvent, TransactionEvents } from './Transaction.js';\nexport {\n\tTransactionInternal,\n\tGenericTransaction,\n\tGenericTransactionPolicy,\n\tEditingResult,\n\tEditingResultBase,\n\tFailedEditingResult,\n\tValidEditingResult,\n\tTransactionState,\n\tTransactionFailure,\n\tSucceedingTransactionState,\n\tFailingTransactionState,\n\tChangeResult,\n} from './TransactionInternal.js';\nexport {\n\tNodeInTrait,\n\tPlaceIndex,\n\tTreeViewNode,\n\tTreeView,\n\tTraitNodeIndex,\n\tTreeViewPlace,\n\tTreeViewRange,\n\tTraitLocation,\n} from './TreeView.js';\n\nexport {\n\ttype IMigrationEvent,\n\ttype IShim,\n\tMigrationShim,\n\tMigrationShimFactory,\n\tSharedTreeShim,\n\tSharedTreeShimFactory,\n} from './migration-shim/index.js';\n\nexport { IRevertible, IUndoConsumer, SharedTreeUndoRedoHandler } from './UndoRedoHandler.js';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-experimental/tree",
3
- "version": "2.10.0",
3
+ "version": "2.11.0",
4
4
  "description": "Distributed tree",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -37,18 +37,18 @@
37
37
  "main": "lib/index.js",
38
38
  "types": "lib/index.d.ts",
39
39
  "dependencies": {
40
- "@fluid-internal/client-utils": "~2.10.0",
41
- "@fluidframework/container-definitions": "~2.10.0",
42
- "@fluidframework/core-interfaces": "~2.10.0",
43
- "@fluidframework/core-utils": "~2.10.0",
44
- "@fluidframework/datastore-definitions": "~2.10.0",
45
- "@fluidframework/driver-definitions": "~2.10.0",
46
- "@fluidframework/id-compressor": "~2.10.0",
47
- "@fluidframework/runtime-definitions": "~2.10.0",
48
- "@fluidframework/runtime-utils": "~2.10.0",
49
- "@fluidframework/shared-object-base": "~2.10.0",
50
- "@fluidframework/telemetry-utils": "~2.10.0",
51
- "@fluidframework/tree": "~2.10.0",
40
+ "@fluid-internal/client-utils": "~2.11.0",
41
+ "@fluidframework/container-definitions": "~2.11.0",
42
+ "@fluidframework/core-interfaces": "~2.11.0",
43
+ "@fluidframework/core-utils": "~2.11.0",
44
+ "@fluidframework/datastore-definitions": "~2.11.0",
45
+ "@fluidframework/driver-definitions": "~2.11.0",
46
+ "@fluidframework/id-compressor": "~2.11.0",
47
+ "@fluidframework/runtime-definitions": "~2.11.0",
48
+ "@fluidframework/runtime-utils": "~2.11.0",
49
+ "@fluidframework/shared-object-base": "~2.11.0",
50
+ "@fluidframework/telemetry-utils": "~2.11.0",
51
+ "@fluidframework/tree": "~2.11.0",
52
52
  "@tylerbu/sorted-btree-es6": "^1.8.0",
53
53
  "buffer": "^6.0.3",
54
54
  "denque": "^1.5.1",
@@ -58,20 +58,20 @@
58
58
  "devDependencies": {
59
59
  "@arethetypeswrong/cli": "^0.16.4",
60
60
  "@biomejs/biome": "~1.9.3",
61
- "@fluid-internal/mocha-test-setup": "~2.10.0",
62
- "@fluid-private/stochastic-test-utils": "~2.10.0",
63
- "@fluid-private/test-drivers": "~2.10.0",
61
+ "@fluid-internal/mocha-test-setup": "~2.11.0",
62
+ "@fluid-private/stochastic-test-utils": "~2.11.0",
63
+ "@fluid-private/test-drivers": "~2.11.0",
64
64
  "@fluid-tools/benchmark": "^0.50.0",
65
65
  "@fluidframework/build-common": "^2.0.3",
66
66
  "@fluidframework/build-tools": "^0.51.0",
67
- "@fluidframework/container-definitions": "~2.10.0",
68
- "@fluidframework/container-loader": "~2.10.0",
69
- "@fluidframework/container-runtime": "~2.10.0",
70
- "@fluidframework/eslint-config-fluid": "^5.4.0",
71
- "@fluidframework/runtime-utils": "~2.10.0",
72
- "@fluidframework/test-runtime-utils": "~2.10.0",
73
- "@fluidframework/test-utils": "~2.10.0",
74
- "@fluidframework/undo-redo": "~2.10.0",
67
+ "@fluidframework/container-definitions": "~2.11.0",
68
+ "@fluidframework/container-loader": "~2.11.0",
69
+ "@fluidframework/container-runtime": "~2.11.0",
70
+ "@fluidframework/eslint-config-fluid": "^5.6.0",
71
+ "@fluidframework/runtime-utils": "~2.11.0",
72
+ "@fluidframework/test-runtime-utils": "~2.11.0",
73
+ "@fluidframework/test-utils": "~2.11.0",
74
+ "@fluidframework/undo-redo": "~2.11.0",
75
75
  "@microsoft/api-extractor": "7.47.8",
76
76
  "@types/chai": "^4.0.0",
77
77
  "@types/lru-cache": "^5.1.0",
@@ -11,25 +11,59 @@ import { EditCommittedEventArguments, SharedTree } from './SharedTree.js';
11
11
  // TODO: We temporarily duplicate these contracts from 'framework/undo-redo' to unblock development
12
12
  // while we decide on the correct layering for undo.
13
13
 
14
+ /**
15
+ * A revertible change
16
+ *
17
+ * @alpha
18
+ */
14
19
  export interface IRevertible {
20
+ /**
21
+ * Revert the change
22
+ */
15
23
  revert();
24
+
25
+ /**
26
+ * Discard the change, freeing any associated resources.
27
+ */
16
28
  discard();
17
29
  }
18
30
 
31
+ /**
32
+ * A consumer of revertible changes.
33
+ *
34
+ * This interface is typically implemented by a stack which may optionally aggregate multiple
35
+ * changes into one operation.
36
+ *
37
+ * @alpha
38
+ */
19
39
  export interface IUndoConsumer {
40
+ /**
41
+ * Push a revertible to the current operation. Invoked for each change on undo consumers subscribed to a SharedTree.
42
+ */
20
43
  pushToCurrentOperation(revertible: IRevertible);
21
44
  }
22
45
 
23
46
  /**
24
47
  * A shared tree undo redo handler that will add revertible local tree changes to the provided
25
48
  * undo redo stack manager
49
+ *
50
+ * @alpha
26
51
  */
27
52
  export class SharedTreeUndoRedoHandler {
28
53
  constructor(private readonly stackManager: IUndoConsumer) {}
29
54
 
55
+ /**
56
+ * Attach a shared tree to this handler. Each edit from the tree will invoke `this.stackManager`'s
57
+ * {@link IUndoConsumer.pushToCurrentOperation} method with an associated {@link IRevertible}.
58
+ */
30
59
  public attachTree(tree: SharedTree) {
31
60
  tree.on(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);
32
61
  }
62
+
63
+ /**
64
+ * Detach a shared tree from this handler. Edits from the tree will no longer cause `this.stackManager`'s
65
+ * {@link IUndoConsumer.pushToCurrentOperation} to be called.
66
+ */
33
67
  public detachTree(tree: SharedTree) {
34
68
  tree.off(SharedTreeEvent.EditCommitted, this.treeDeltaHandler);
35
69
  }
package/src/index.ts CHANGED
@@ -188,3 +188,5 @@ export {
188
188
  SharedTreeShim,
189
189
  SharedTreeShimFactory,
190
190
  } from './migration-shim/index.js';
191
+
192
+ export { IRevertible, IUndoConsumer, SharedTreeUndoRedoHandler } from './UndoRedoHandler.js';