document-model 1.0.24 → 1.0.25

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.
Files changed (128) hide show
  1. package/dist/browser/document-model.cjs +1 -1
  2. package/dist/browser/document-model.js +3 -3
  3. package/dist/browser/document.cjs +1 -1
  4. package/dist/browser/document.js +7 -6
  5. package/dist/browser/index.cjs +1 -1
  6. package/dist/browser/index.js +4 -4
  7. package/dist/browser/internal/{index-Xpydy6AU.js → index-3haD_DrE.js} +1 -1
  8. package/dist/browser/internal/index-7bSWIChK.js +38 -0
  9. package/dist/browser/internal/index-DQNkZhvL.js +1 -0
  10. package/dist/browser/internal/{index-sfNIE5tQ.js → index-TAPWNyA9.js} +2 -2
  11. package/dist/browser/internal/object-1BuggAcr.js +6 -0
  12. package/dist/browser/internal/object-jGU_rY7z.js +1895 -0
  13. package/dist/browser/src/document/actions/index.d.ts +3 -3
  14. package/dist/browser/src/document/object.d.ts +63 -0
  15. package/dist/browser/src/document/reducer.d.ts +16 -0
  16. package/dist/browser/src/document/schema/types.d.ts +1 -0
  17. package/dist/browser/src/document/types.d.ts +9 -0
  18. package/dist/browser/src/document/utils/base.d.ts +7 -4
  19. package/dist/node/document-model.cjs +1 -1
  20. package/dist/node/document-model.js +3 -3
  21. package/dist/node/document.cjs +1 -1
  22. package/dist/node/document.js +8 -7
  23. package/dist/node/index.cjs +1 -1
  24. package/dist/node/index.js +4 -4
  25. package/dist/node/internal/index-FmPDtpIY.js +38 -0
  26. package/dist/node/internal/{index-sNi-u40H.js → index-GpOpKG2W.js} +2 -2
  27. package/dist/node/internal/index-lh4jt_0f.js +1 -0
  28. package/dist/node/internal/{index-PkGY1BML.js → index-pZl431ni.js} +1 -1
  29. package/dist/node/internal/{object-T2hpMYZ4.js → object-evJm9vYN.js} +475 -411
  30. package/dist/node/internal/object-pZF_UDWv.js +1 -0
  31. package/dist/node/src/document/actions/index.d.ts +3 -3
  32. package/dist/node/src/document/object.d.ts +63 -0
  33. package/dist/node/src/document/reducer.d.ts +16 -0
  34. package/dist/node/src/document/schema/types.d.ts +1 -0
  35. package/dist/node/src/document/types.d.ts +9 -0
  36. package/dist/node/src/document/utils/base.d.ts +7 -4
  37. package/package.json +1 -1
  38. package/dist/browser/internal/index-e4O5HJBs.js +0 -1
  39. package/dist/browser/internal/index-v3lMuqpK.js +0 -36
  40. package/dist/browser/internal/object-U8CbkcSV.js +0 -6
  41. package/dist/browser/internal/object-YlWt1S0J.js +0 -1831
  42. package/dist/jest.config.d.ts +0 -8
  43. package/dist/node/internal/index-HgkfWSZk.js +0 -36
  44. package/dist/node/internal/index-aihhQ-ya.js +0 -1
  45. package/dist/node/internal/object-Nz1iEXFy.js +0 -1
  46. package/dist/node/test/document/redo.test.d.ts +0 -1
  47. package/dist/node/test/document/undo.test.d.ts +0 -1
  48. package/dist/src/document/actions/creators.d.ts +0 -47
  49. package/dist/src/document/actions/index.d.ts +0 -10
  50. package/dist/src/document/actions/types.d.ts +0 -8
  51. package/dist/src/document/index.d.ts +0 -6
  52. package/dist/src/document/object.d.ts +0 -447
  53. package/dist/src/document/reducer.d.ts +0 -16
  54. package/dist/src/document/schema/index.d.ts +0 -2
  55. package/dist/src/document/schema/types.d.ts +0 -180
  56. package/dist/src/document/schema/zod.d.ts +0 -113
  57. package/dist/src/document/signal.d.ts +0 -28
  58. package/dist/src/document/types.d.ts +0 -201
  59. package/dist/src/document/utils/base.d.ts +0 -74
  60. package/dist/src/document/utils/browser.d.ts +0 -10
  61. package/dist/src/document/utils/file.d.ts +0 -47
  62. package/dist/src/document/utils/index.d.ts +0 -2
  63. package/dist/src/document/utils/node.d.ts +0 -9
  64. package/dist/src/document-model/custom/reducers/header.d.ts +0 -2
  65. package/dist/src/document-model/custom/reducers/module.d.ts +0 -2
  66. package/dist/src/document-model/custom/reducers/operation-error.d.ts +0 -2
  67. package/dist/src/document-model/custom/reducers/operation-example.d.ts +0 -2
  68. package/dist/src/document-model/custom/reducers/operation.d.ts +0 -2
  69. package/dist/src/document-model/custom/reducers/state.d.ts +0 -2
  70. package/dist/src/document-model/custom/reducers/versioning.d.ts +0 -7
  71. package/dist/src/document-model/custom/utils.d.ts +0 -1
  72. package/dist/src/document-model/gen/actions.d.ts +0 -15
  73. package/dist/src/document-model/gen/creators.d.ts +0 -7
  74. package/dist/src/document-model/gen/document-model.d.ts +0 -2
  75. package/dist/src/document-model/gen/header/actions.d.ts +0 -9
  76. package/dist/src/document-model/gen/header/creators.d.ts +0 -8
  77. package/dist/src/document-model/gen/header/object.d.ts +0 -12
  78. package/dist/src/document-model/gen/header/operations.d.ts +0 -10
  79. package/dist/src/document-model/gen/index.d.ts +0 -5
  80. package/dist/src/document-model/gen/module/actions.d.ts +0 -8
  81. package/dist/src/document-model/gen/module/creators.d.ts +0 -7
  82. package/dist/src/document-model/gen/module/object.d.ts +0 -11
  83. package/dist/src/document-model/gen/module/operations.d.ts +0 -9
  84. package/dist/src/document-model/gen/object.d.ts +0 -28
  85. package/dist/src/document-model/gen/operation/actions.d.ts +0 -13
  86. package/dist/src/document-model/gen/operation/creators.d.ts +0 -12
  87. package/dist/src/document-model/gen/operation/object.d.ts +0 -16
  88. package/dist/src/document-model/gen/operation/operations.d.ts +0 -14
  89. package/dist/src/document-model/gen/operation-error/actions.d.ts +0 -10
  90. package/dist/src/document-model/gen/operation-error/creators.d.ts +0 -9
  91. package/dist/src/document-model/gen/operation-error/object.d.ts +0 -13
  92. package/dist/src/document-model/gen/operation-error/operations.d.ts +0 -11
  93. package/dist/src/document-model/gen/operation-example/actions.d.ts +0 -7
  94. package/dist/src/document-model/gen/operation-example/creators.d.ts +0 -6
  95. package/dist/src/document-model/gen/operation-example/object.d.ts +0 -10
  96. package/dist/src/document-model/gen/operation-example/operations.d.ts +0 -8
  97. package/dist/src/document-model/gen/reducer.d.ts +0 -5
  98. package/dist/src/document-model/gen/schema/index.d.ts +0 -2
  99. package/dist/src/document-model/gen/schema/types.d.ts +0 -453
  100. package/dist/src/document-model/gen/schema/zod.d.ts +0 -453
  101. package/dist/src/document-model/gen/state/actions.d.ts +0 -9
  102. package/dist/src/document-model/gen/state/creators.d.ts +0 -8
  103. package/dist/src/document-model/gen/state/object.d.ts +0 -12
  104. package/dist/src/document-model/gen/state/operations.d.ts +0 -10
  105. package/dist/src/document-model/gen/types.d.ts +0 -8
  106. package/dist/src/document-model/gen/utils.d.ts +0 -6
  107. package/dist/src/document-model/gen/versioning/actions.d.ts +0 -8
  108. package/dist/src/document-model/gen/versioning/creators.d.ts +0 -7
  109. package/dist/src/document-model/gen/versioning/object.d.ts +0 -11
  110. package/dist/src/document-model/gen/versioning/operations.d.ts +0 -9
  111. package/dist/src/document-model/index.d.ts +0 -75
  112. package/dist/src/index.d.ts +0 -25
  113. package/dist/test/document/local.test.d.ts +0 -1
  114. package/dist/test/document/object.test.d.ts +0 -1
  115. package/dist/test/document/prune.test.d.ts +0 -1
  116. package/dist/test/document/redo.test.d.ts +0 -1
  117. package/dist/test/document/reducer.test.d.ts +0 -1
  118. package/dist/test/document/skip-operations.test.d.ts +0 -1
  119. package/dist/test/document/undo.test.d.ts +0 -1
  120. package/dist/test/document/utils.test.d.ts +0 -1
  121. package/dist/test/document-model/object.test.d.ts +0 -1
  122. package/dist/test/document-model/skip-operations.test.d.ts +0 -1
  123. package/dist/test/document-model/zip.test.d.ts +0 -1
  124. package/dist/test/helpers.d.ts +0 -32
  125. package/dist/vite.config.d.ts +0 -2
  126. package/dist/vitest.config.d.ts +0 -2
  127. /package/dist/browser/test/document/{redo.test.d.ts → undo-redo.test.d.ts} +0 -0
  128. /package/dist/{browser/test/document/undo.test.d.ts → node/test/document/undo-redo.test.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
- import { Action, Document, ImmutableStateReducer, PruneAction, RedoAction, State, UndoAction } from '../types';
1
+ import { Action, Document, ImmutableStateReducer, PruneAction, RedoAction, State, UndoAction, UndoRedoProcessResult } from '../types';
2
2
  export declare function setNameOperation<T>(document: T, name: string): T;
3
- export declare function undoOperation<T, A extends Action, L>(document: Document<T, A, L>, action: UndoAction, wrappedReducer: ImmutableStateReducer<T, A, L>): Document<T, A, L>;
4
- export declare function redoOperation<T, A extends Action, L>(document: Document<T, A, L>, action: RedoAction, wrappedReducer: ImmutableStateReducer<T, A, L>): Document<T, A, L>;
3
+ export declare function undoOperation<T, A extends Action, L>(document: Document<T, A, L>, action: UndoAction, skip: number): UndoRedoProcessResult<T, A, L>;
4
+ export declare function redoOperation<T, A extends Action, L>(document: Document<T, A, L>, action: RedoAction, skip: number): UndoRedoProcessResult<T, A, L>;
5
5
  export declare function pruneOperation<T, A extends Action, L>(document: Document<T, A, L>, action: PruneAction, wrappedReducer: ImmutableStateReducer<T, A, L>): Document<T, A, L>;
6
6
  export declare function loadStateOperation<T, A extends Action, L>(oldDocument: Document<T, A, L>, newDocument: {
7
7
  name: string;
@@ -400,6 +400,69 @@ export declare abstract class BaseDocument<T, A extends Action, L = unknown> {
400
400
  };
401
401
  };
402
402
  };
403
+ readonly clipboard: readonly ({
404
+ readonly input: {
405
+ readonly operations: number;
406
+ readonly state: {
407
+ readonly data?: unknown;
408
+ readonly name: string;
409
+ };
410
+ };
411
+ readonly type: "LOAD_STATE";
412
+ readonly scope: OperationScope;
413
+ readonly index: number;
414
+ readonly timestamp: string;
415
+ readonly hash: string;
416
+ readonly skip: number;
417
+ } | {
418
+ readonly input: {
419
+ readonly end?: import("./types").InputMaybe<number>;
420
+ readonly start?: import("./types").InputMaybe<number>;
421
+ };
422
+ readonly type: "PRUNE";
423
+ readonly scope: OperationScope;
424
+ readonly index: number;
425
+ readonly timestamp: string;
426
+ readonly hash: string;
427
+ readonly skip: number;
428
+ } | {
429
+ readonly input: number;
430
+ readonly type: "REDO";
431
+ readonly scope: OperationScope;
432
+ readonly index: number;
433
+ readonly timestamp: string;
434
+ readonly hash: string;
435
+ readonly skip: number;
436
+ } | {
437
+ readonly input: string;
438
+ readonly type: "SET_NAME";
439
+ readonly scope: "global";
440
+ readonly index: number;
441
+ readonly timestamp: string;
442
+ readonly hash: string;
443
+ readonly skip: number;
444
+ } | {
445
+ readonly input: number;
446
+ readonly type: "UNDO";
447
+ readonly scope: OperationScope;
448
+ readonly index: number;
449
+ readonly timestamp: string;
450
+ readonly hash: string;
451
+ readonly skip: number;
452
+ } | {
453
+ readonly input: unknown;
454
+ readonly type: "NOOP";
455
+ readonly scope: OperationScope;
456
+ readonly index: number;
457
+ readonly timestamp: string;
458
+ readonly hash: string;
459
+ readonly skip: number;
460
+ } | import("immer").Immutable<A & {
461
+ index: number;
462
+ timestamp: string;
463
+ hash: string;
464
+ skip: number;
465
+ }>)[];
403
466
  };
404
467
  /**
405
468
  * Gets the attachment associated with the given key.
@@ -1,6 +1,21 @@
1
1
  import { BaseAction } from './actions/types';
2
+ import { UndoRedoAction } from './schema';
2
3
  import { Action, Document, ImmutableStateReducer, ReducerOptions } from './types';
3
4
  import { SignalDispatch } from './signal';
5
+ type UndoRedoProcessResult<T, A extends Action, L> = {
6
+ document: Document<T, A, L>;
7
+ action: A | BaseAction;
8
+ skip: number;
9
+ };
10
+ /**
11
+ * Processes an UNDO or REDO action.
12
+ *
13
+ * @param document The current state of the document.
14
+ * @param action The action being applied to the document.
15
+ * @param skip The number of operations to skip before applying the action.
16
+ * @returns The updated document, calculated skip value and transformed action (if apply).
17
+ */
18
+ export declare function processUndoRedo<T, A extends Action, L>(document: Document<T, A, L>, action: UndoRedoAction, skip: number): UndoRedoProcessResult<T, A, L>;
4
19
  /**
5
20
  * Base document reducer that wraps a custom document reducer and handles
6
21
  * document-level actions such as undo, redo, prune, and set name.
@@ -14,3 +29,4 @@ import { SignalDispatch } from './signal';
14
29
  * @returns The new state of the document.
15
30
  */
16
31
  export declare function baseReducer<T, A extends Action, L>(document: Document<T, A, L>, action: A | BaseAction, customReducer: ImmutableStateReducer<T, A, L>, dispatch?: SignalDispatch, options?: ReducerOptions): Document<T, A, L>;
32
+ export {};
@@ -64,6 +64,7 @@ export type Action = IAction & {
64
64
  type: Scalars['String']['output'];
65
65
  };
66
66
  export type BaseAction = LoadStateAction | PruneAction | RedoAction | SetNameAction | UndoAction | NOOPAction;
67
+ export type UndoRedoAction = RedoAction | UndoAction;
67
68
  export type DocumentFile = {
68
69
  __typename?: 'DocumentFile';
69
70
  data: Scalars['String']['output'];
@@ -30,6 +30,8 @@ export type ActionWithAttachment<T extends string = string, I = unknown, S exten
30
30
  export type ReducerOptions = {
31
31
  /** The number of operations to skip before this new action is applied */
32
32
  skip?: number;
33
+ /** When true the skip count is ignored and the action is applied regardless of the skip count */
34
+ ignoreSkipOperations?: boolean;
33
35
  };
34
36
  /**
35
37
  * A pure function that takes an action and the previous state
@@ -151,6 +153,8 @@ ExtendedState<GlobalState, LocalState> & {
151
153
  operations: DocumentOperations<A>;
152
154
  /** The initial state of the document, enabling replaying operations. */
153
155
  initialState: ExtendedState<GlobalState, LocalState>;
156
+ /** A list of undone operations */
157
+ clipboard: Operation<BaseAction | A>[];
154
158
  };
155
159
  /**
156
160
  * String type representing an attachment in a Document.
@@ -199,3 +203,8 @@ export type DocumentModelLib = {
199
203
  documentModels: DocumentModel[];
200
204
  editors: Editor[];
201
205
  };
206
+ export type UndoRedoProcessResult<T, A extends Action, L> = {
207
+ document: Document<T, A, L>;
208
+ action: A | BaseAction;
209
+ skip: number;
210
+ };
@@ -1,6 +1,7 @@
1
1
  import { baseReducer } from '../reducer';
2
- import { Action, BaseAction, Document, ExtendedState, ImmutableStateReducer, Reducer, Immutable, OperationScope, State, CreateState, PartialState, DocumentOperations, DocumentHeader, DocumentOperationsIgnoreMap, Operation, MappedOperation } from '../types';
2
+ import { Action, BaseAction, UndoRedoAction, Document, ExtendedState, ImmutableStateReducer, Reducer, Immutable, OperationScope, State, CreateState, PartialState, DocumentOperations, DocumentHeader, DocumentOperationsIgnoreMap, Operation, MappedOperation } from '../types';
3
3
  import { SignalDispatch } from '../signal';
4
+ export declare function isUndoRedo(action: Action): action is UndoRedoAction;
4
5
  export declare function isBaseAction(action: Action): action is BaseAction;
5
6
  /**
6
7
  * Helper function to be used by action creators.
@@ -64,11 +65,13 @@ export declare function readOnly<T>(value: T): Immutable<T>;
64
65
  * Maps skipped operations in an array of operations.
65
66
  * Skipped operations are operations that are ignored during processing.
66
67
  * @param operations - The array of operations to map.
68
+ * @param skippedHeadOperations - The number of operations to skip at the head of the array of operations.
67
69
  * @returns An array of mapped operations with ignore flag indicating if the operation is skipped.
68
70
  * @throws Error if the operation index is invalid and there are missing operations.
69
71
  */
70
- export declare function mapSkippedOperations<A extends Action>(operations: Operation<BaseAction | A>[]): MappedOperation<A>[];
72
+ export declare function mapSkippedOperations<A extends Action>(operations: Operation<BaseAction | A>[], skippedHeadOperations?: number): MappedOperation<A>[];
71
73
  export declare function sortOperations<A extends Action>(operations: DocumentOperations<A>): Operation<BaseAction | A>[];
72
74
  export declare function sortMappedOperations<A extends Action>(operations: DocumentOperationsIgnoreMap<A>): MappedOperation<A>[];
73
- export declare function replayOperations<T, A extends Action, L>(initialState: ExtendedState<T, L>, operations: DocumentOperations<A>, reducer: ImmutableStateReducer<T, A, L>, dispatch?: SignalDispatch, header?: DocumentHeader, documentReducer?: typeof baseReducer): Document<T, A, L>;
74
- export declare function replayDocument<T, A extends Action, L>(initialState: ExtendedState<T, L>, operations: DocumentOperations<A>, reducer: Reducer<T, A, L>, dispatch?: SignalDispatch, header?: DocumentHeader): Document<T, A, L>;
75
+ export declare function replayOperations<T, A extends Action, L>(initialState: ExtendedState<T, L>, operations: DocumentOperations<A>, reducer: ImmutableStateReducer<T, A, L>, dispatch?: SignalDispatch, header?: DocumentHeader, documentReducer?: typeof baseReducer, skipHeaderOperations?: SkipHeaderOperations): Document<T, A, L>;
76
+ export type SkipHeaderOperations = Partial<Record<OperationScope, number>>;
77
+ export declare function replayDocument<T, A extends Action, L>(initialState: ExtendedState<T, L>, operations: DocumentOperations<A>, reducer: Reducer<T, A, L>, dispatch?: SignalDispatch, header?: DocumentHeader, skipHeaderOperations?: SkipHeaderOperations): Document<T, A, L>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./internal/object-Nz1iEXFy.js");require("json-stringify-deterministic");require("immer");require("jszip");require("crypto");require("fs");require("https");require("path");const e=require("./internal/index-PkGY1BML.js");require("zod");exports.Document=e.Document;exports.DocumentModel=e.DocumentModel$1;exports.actions=e.actions;exports.documentModel=e.documentModel;exports.module=e.module;exports.reducer=e.reducer;exports.utils=e.utils;exports.z=e.zod;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./internal/object-pZF_UDWv.js");require("immer");require("json-stringify-deterministic");require("jszip");require("crypto");require("fs");require("https");require("path");const e=require("./internal/index-pZl431ni.js");require("zod");exports.Document=e.Document;exports.DocumentModel=e.DocumentModel$1;exports.actions=e.actions;exports.documentModel=e.documentModel;exports.module=e.module;exports.reducer=e.reducer;exports.utils=e.utils;exports.z=e.zod;
@@ -1,12 +1,12 @@
1
- import "./internal/object-T2hpMYZ4.js";
2
- import "json-stringify-deterministic";
1
+ import "./internal/object-evJm9vYN.js";
3
2
  import "immer";
3
+ import "json-stringify-deterministic";
4
4
  import "jszip";
5
5
  import "crypto";
6
6
  import "fs";
7
7
  import "https";
8
8
  import "path";
9
- import { b as d, a as l, c as n, d as D, m as M, r as b, u as f, z as x } from "./internal/index-sNi-u40H.js";
9
+ import { b as d, a as l, c as n, d as D, m as M, r as b, u as f, z as x } from "./internal/index-GpOpKG2W.js";
10
10
  import "zod";
11
11
  export {
12
12
  d as Document,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./internal/object-Nz1iEXFy.js"),r=require("./internal/index-aihhQ-ya.js");require("json-stringify-deterministic");require("immer");require("zod");require("jszip");require("crypto");require("fs");require("https");require("path");exports.BaseDocument=e.BaseDocument;exports.actions=e.BaseActions;exports.applyMixins=e.applyMixins;exports.baseReducer=e.baseReducer;exports.z=e.zod;exports.utils=r.index;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./internal/object-pZF_UDWv.js"),r=require("./internal/index-lh4jt_0f.js");require("immer");require("json-stringify-deterministic");require("zod");require("jszip");require("crypto");require("fs");require("https");require("path");exports.BaseDocument=e.BaseDocument;exports.actions=e.BaseActions;exports.applyMixins=e.applyMixins;exports.baseReducer=e.baseReducer;exports.processUndoRedo=e.processUndoRedo;exports.z=e.zod;exports.utils=r.index;
@@ -1,7 +1,7 @@
1
- import { B as n, h as u, g as x, w as f, z as l } from "./internal/object-T2hpMYZ4.js";
2
- import { i as b } from "./internal/index-HgkfWSZk.js";
3
- import "json-stringify-deterministic";
1
+ import { B as n, h as x, g as d, x as u, y as f, z as l } from "./internal/object-evJm9vYN.js";
2
+ import { i as B } from "./internal/index-FmPDtpIY.js";
4
3
  import "immer";
4
+ import "json-stringify-deterministic";
5
5
  import "zod";
6
6
  import "jszip";
7
7
  import "crypto";
@@ -10,9 +10,10 @@ import "https";
10
10
  import "path";
11
11
  export {
12
12
  n as BaseDocument,
13
- u as actions,
14
- x as applyMixins,
15
- f as baseReducer,
16
- b as utils,
13
+ x as actions,
14
+ d as applyMixins,
15
+ u as baseReducer,
16
+ f as processUndoRedo,
17
+ B as utils,
17
18
  l as z
18
19
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./internal/index-aihhQ-ya.js"),o=require("./internal/index-PkGY1BML.js");require("./internal/object-Nz1iEXFy.js");require("json-stringify-deterministic");require("immer");require("zod");require("jszip");require("crypto");require("fs");require("https");require("path");const u={"powerhouse/document":e.Document,"powerhouse/document-model":o.DocumentModel},r={Document:e.Document,DocumentModel:o.DocumentModel};exports.Document=e.Document;exports.DocumentModel=o.DocumentModel;exports.DocumentModels=u;exports.default=r;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./internal/index-lh4jt_0f.js"),o=require("./internal/index-pZl431ni.js");require("./internal/object-pZF_UDWv.js");require("immer");require("json-stringify-deterministic");require("zod");require("jszip");require("crypto");require("fs");require("https");require("path");const u={"powerhouse/document":e.Document,"powerhouse/document-model":o.DocumentModel},r={Document:e.Document,DocumentModel:o.DocumentModel};exports.Document=e.Document;exports.DocumentModel=o.DocumentModel;exports.DocumentModels=u;exports.default=r;
@@ -1,8 +1,8 @@
1
- import { D as o } from "./internal/index-HgkfWSZk.js";
2
- import { D as t } from "./internal/index-sNi-u40H.js";
3
- import "./internal/object-T2hpMYZ4.js";
4
- import "json-stringify-deterministic";
1
+ import { D as o } from "./internal/index-FmPDtpIY.js";
2
+ import { D as t } from "./internal/index-GpOpKG2W.js";
3
+ import "./internal/object-evJm9vYN.js";
5
4
  import "immer";
5
+ import "json-stringify-deterministic";
6
6
  import "zod";
7
7
  import "jszip";
8
8
  import "crypto";
@@ -0,0 +1,38 @@
1
+ import { f as e, b as a, a as s, c as o, j as t, k as r, m as n, n as i, o as c, i as l, p, l as d, e as u, q as m, r as y, t as O, u as b, s as _, d as g, v as F, w as f, B as D, h as S, g as h, x as j, y as v, z as x } from "./object-evJm9vYN.js";
2
+ const z = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3
+ __proto__: null,
4
+ createAction: e,
5
+ createDocument: a,
6
+ createExtendedState: s,
7
+ createReducer: o,
8
+ createZip: t,
9
+ getLocalFile: r,
10
+ getRemoteFile: n,
11
+ hashDocument: i,
12
+ hashKey: c,
13
+ isBaseAction: l,
14
+ isUndoRedo: p,
15
+ loadFromFile: d,
16
+ loadFromInput: u,
17
+ mapSkippedOperations: m,
18
+ readOnly: y,
19
+ replayDocument: O,
20
+ replayOperations: b,
21
+ saveToFile: _,
22
+ saveToFileHandle: g,
23
+ sortMappedOperations: F,
24
+ sortOperations: f
25
+ }, Symbol.toStringTag, { value: "Module" })), B = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
26
+ __proto__: null,
27
+ BaseDocument: D,
28
+ actions: S,
29
+ applyMixins: h,
30
+ baseReducer: j,
31
+ processUndoRedo: v,
32
+ utils: z,
33
+ z: x
34
+ }, Symbol.toStringTag, { value: "Module" }));
35
+ export {
36
+ B as D,
37
+ z as i
38
+ };
@@ -1,9 +1,9 @@
1
1
  var ut = Object.defineProperty;
2
2
  var mt = (t, e, r) => e in t ? ut(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
3
  var ce = (t, e, r) => (mt(t, typeof e != "symbol" ? e + "" : e, r), r);
4
- import { c as Et, i as ht, a as Ot, b as gt, s as St, d as bt, l as ft, e as _t, f as s, B as l, g as It, h as Tt } from "./object-T2hpMYZ4.js";
5
- import "json-stringify-deterministic";
4
+ import { c as Et, i as ht, a as Ot, b as gt, s as St, d as bt, l as ft, e as _t, f as s, B as l, g as It, h as Tt } from "./object-evJm9vYN.js";
6
5
  import "immer";
6
+ import "json-stringify-deterministic";
7
7
  import "jszip";
8
8
  import "crypto";
9
9
  import "fs";
@@ -0,0 +1 @@
1
+ "use strict";const e=require("./object-pZF_UDWv.js"),o=Object.freeze(Object.defineProperty({__proto__:null,createAction:e.createAction,createDocument:e.createDocument,createExtendedState:e.createExtendedState,createReducer:e.createReducer,createZip:e.createZip,getLocalFile:e.getLocalFile,getRemoteFile:e.getRemoteFile,hashDocument:e.hashDocument,hashKey:e.hashKey,isBaseAction:e.isBaseAction,isUndoRedo:e.isUndoRedo,loadFromFile:e.loadFromFile,loadFromInput:e.loadFromInput,mapSkippedOperations:e.mapSkippedOperations,readOnly:e.readOnly,replayDocument:e.replayDocument,replayOperations:e.replayOperations,saveToFile:e.saveToFile,saveToFileHandle:e.saveToFileHandle,sortMappedOperations:e.sortMappedOperations,sortOperations:e.sortOperations},Symbol.toStringTag,{value:"Module"})),t=Object.freeze(Object.defineProperty({__proto__:null,BaseDocument:e.BaseDocument,actions:e.BaseActions,applyMixins:e.applyMixins,baseReducer:e.baseReducer,processUndoRedo:e.processUndoRedo,utils:o,z:e.zod},Symbol.toStringTag,{value:"Module"}));exports.Document=t;exports.index=o;
@@ -1,4 +1,4 @@
1
- "use strict";var mt=Object.defineProperty;var Et=(t,e,r)=>e in t?mt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var me=(t,e,r)=>(Et(t,typeof e!="symbol"?e+"":e,r),r);const s=require("./object-Nz1iEXFy.js");require("json-stringify-deterministic");require("immer");require("jszip");require("crypto");require("fs");require("https");require("path");const o=require("zod"),ht=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),_={id:"powerhouse/document-model",name:"DocumentModel",extension:"phdm",description:"The Powerhouse Document Model describes the state and operations of a document type.",author:{name:"Powerhouse",website:"https://www.powerhouse.inc/"},specifications:[{version:1,changeLog:[],modules:[{name:"header",operations:[{name:"SetModelName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelId",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelExtension",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetAuthorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetAuthorWebsite",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"versioning",operations:[{name:"AddChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderChangeLogItems",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReleaseNewVersion",schema:null,id:"",description:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"module",operations:[{name:"AddModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModuleName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModuleDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderModules",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation-error",operations:[{name:"AddOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorCode",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderOperationErrors",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation-example",operations:[{name:"AddOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderOperationExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation",operations:[{name:"AddOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationReducer",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"MoveOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderModuleOperations",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"state",operations:[{name:"SetStateSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetInitialState",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"AddStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderStateExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""}],state:{global:{schema:"",initialValue:`{
1
+ "use strict";var mt=Object.defineProperty;var Et=(t,e,r)=>e in t?mt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var me=(t,e,r)=>(Et(t,typeof e!="symbol"?e+"":e,r),r);const s=require("./object-pZF_UDWv.js");require("immer");require("json-stringify-deterministic");require("jszip");require("crypto");require("fs");require("https");require("path");const o=require("zod"),ht=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),_={id:"powerhouse/document-model",name:"DocumentModel",extension:"phdm",description:"The Powerhouse Document Model describes the state and operations of a document type.",author:{name:"Powerhouse",website:"https://www.powerhouse.inc/"},specifications:[{version:1,changeLog:[],modules:[{name:"header",operations:[{name:"SetModelName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelId",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelExtension",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModelDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetAuthorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetAuthorWebsite",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"versioning",operations:[{name:"AddChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteChangeLogItem",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderChangeLogItems",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReleaseNewVersion",schema:null,id:"",description:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"module",operations:[{name:"AddModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModuleName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetModuleDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteModule",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderModules",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation-error",operations:[{name:"AddOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorCode",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationErrorTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperationError",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderOperationErrors",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation-example",operations:[{name:"AddOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperationExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderOperationExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"operation",operations:[{name:"AddOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationName",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationDescription",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationTemplate",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetOperationReducer",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"MoveOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteOperation",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderModuleOperations",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""},{name:"state",operations:[{name:"SetStateSchema",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"SetInitialState",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"AddStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"UpdateStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"DeleteStateExample",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"ReorderStateExamples",id:"",description:"",schema:"",template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""}],state:{global:{schema:"",initialValue:`{
2
2
  "id": "",
3
3
  "name": "",
4
4
  "extension": "",