11import { HashedObject } from "data/model" ;
2- import { Context } from "./Context" ;
32import { HashedSet } from "./HashedSet" ;
43import { Hash } from "./Hashing" ;
54import { HashReference } from "./HashReference" ;
65import { InvalidateAfterOp } from "./InvalidateAfterOp" ;
76import { MutationOp } from "./MutationOp" ;
8- import { RedoOp } from "./RedoOp" ;
9- import { UndoOp } from "./UndoOp" ;
107
118 /*
129 * Op0 <-
@@ -85,13 +82,15 @@ import { UndoOp } from "./UndoOp";
8582 *
8683 */
8784
88- abstract class CascadedInvalidateOp extends MutationOp {
85+ class CascadedInvalidateOp extends MutationOp {
86+
87+ static className = 'hhs/v0/CascadedInvalidateOp' ;
8988
9089 undo ?: boolean ;
9190 targetOp ?: MutationOp ;
9291
9392
94- constructor ( undo ?: boolean , causalOp ?: InvalidateAfterOp | CascadedInvalidateOp , targetOp ?: MutationOp ) {
93+ constructor ( undo ?: boolean , targetOp ?: MutationOp , causalOp ?: InvalidateAfterOp | CascadedInvalidateOp ) {
9594 super ( targetOp ?. targetObject , causalOp === undefined ? undefined : [ causalOp ] . values ( ) ) ;
9695
9796 if ( undo !== undefined ) {
@@ -263,7 +262,7 @@ abstract class CascadedInvalidateOp extends MutationOp {
263262 return this . targetOp ;
264263 }
265264
266- literalizeInContext ( context : Context , path : string , flags ?: Array < string > ) : Hash {
265+ /* literalizeInContext(context: Context, path: string, flags?: Array<string>) : Hash {
267266
268267 if (flags === undefined) {
269268 flags = [];
@@ -278,16 +277,29 @@ abstract class CascadedInvalidateOp extends MutationOp {
278277
279278 return super.literalizeInContext(context, path, flags);
280279
280+ }*/
281+
282+ getClassName ( ) : string {
283+ return CascadedInvalidateOp . className ;
284+ }
285+
286+ init ( ) : void {
287+
281288 }
282289
283- static createFromBoolean ( undo : boolean , causalOp : InvalidateAfterOp | CascadedInvalidateOp , targetOp : MutationOp ) : CascadedInvalidateOp {
290+ static create ( targetOp : MutationOp , causalOp : InvalidateAfterOp | CascadedInvalidateOp ) {
291+
292+ const undo = ( targetOp instanceof CascadedInvalidateOp ) ? ! targetOp . undo : true ;
293+
284294 if ( undo ) {
285- return new UndoOp ( causalOp , targetOp ) ;
295+ return new CascadedInvalidateOp ( true , targetOp , causalOp ) ;
286296 } else {
287- return new RedoOp ( causalOp , targetOp ) ;
297+ return new CascadedInvalidateOp ( false , targetOp , causalOp ) ;
288298 }
289299 }
290300
291301}
292302
303+ HashedObject . registerClass ( CascadedInvalidateOp . className , CascadedInvalidateOp ) ;
304+
293305export { CascadedInvalidateOp } ;
0 commit comments