document-model 4.1.0-dev.9 → 4.1.0-staging.1

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 (117) hide show
  1. package/dist/index.d.ts +8 -7
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +5 -4
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/document/actions/creators.d.ts +2 -2
  6. package/dist/src/document/actions/creators.d.ts.map +1 -1
  7. package/dist/src/document/actions/creators.js +1 -1
  8. package/dist/src/document/actions/creators.js.map +1 -1
  9. package/dist/src/document/actions/operations.d.ts +5 -5
  10. package/dist/src/document/actions/operations.d.ts.map +1 -1
  11. package/dist/src/document/actions/operations.js +11 -9
  12. package/dist/src/document/actions/operations.js.map +1 -1
  13. package/dist/src/document/object.d.ts +3 -3
  14. package/dist/src/document/object.d.ts.map +1 -1
  15. package/dist/src/document/object.js +1 -1
  16. package/dist/src/document/object.js.map +1 -1
  17. package/dist/src/document/ph-factories.d.ts +34 -3
  18. package/dist/src/document/ph-factories.d.ts.map +1 -1
  19. package/dist/src/document/ph-factories.js +64 -33
  20. package/dist/src/document/ph-factories.js.map +1 -1
  21. package/dist/src/document/ph-types.d.ts +10 -2
  22. package/dist/src/document/ph-types.d.ts.map +1 -1
  23. package/dist/src/document/reducer.d.ts +4 -4
  24. package/dist/src/document/reducer.d.ts.map +1 -1
  25. package/dist/src/document/reducer.js +27 -29
  26. package/dist/src/document/reducer.js.map +1 -1
  27. package/dist/src/document/schema/types.d.ts +13 -1
  28. package/dist/src/document/schema/types.d.ts.map +1 -1
  29. package/dist/src/document/schema/zod.d.ts +31 -2
  30. package/dist/src/document/schema/zod.d.ts.map +1 -1
  31. package/dist/src/document/schema/zod.js +23 -11
  32. package/dist/src/document/schema/zod.js.map +1 -1
  33. package/dist/src/document/types.d.ts +58 -62
  34. package/dist/src/document/types.d.ts.map +1 -1
  35. package/dist/src/document/utils/base.d.ts +5 -6
  36. package/dist/src/document/utils/base.d.ts.map +1 -1
  37. package/dist/src/document/utils/base.js +31 -30
  38. package/dist/src/document/utils/base.js.map +1 -1
  39. package/dist/src/document/utils/crypto.d.ts +5 -5
  40. package/dist/src/document/utils/crypto.d.ts.map +1 -1
  41. package/dist/src/document/utils/crypto.js +25 -15
  42. package/dist/src/document/utils/crypto.js.map +1 -1
  43. package/dist/src/document/utils/document-helpers.d.ts +9 -14
  44. package/dist/src/document/utils/document-helpers.d.ts.map +1 -1
  45. package/dist/src/document/utils/document-helpers.js +47 -17
  46. package/dist/src/document/utils/document-helpers.js.map +1 -1
  47. package/dist/src/document/utils/file.d.ts.map +1 -1
  48. package/dist/src/document/utils/file.js.map +1 -1
  49. package/dist/src/document/utils/header.js.map +1 -1
  50. package/dist/src/document/utils/validation.js +1 -1
  51. package/dist/src/document/utils/validation.js.map +1 -1
  52. package/dist/src/document-model/gen/object.d.ts +2 -2
  53. package/dist/src/document-model/gen/object.d.ts.map +1 -1
  54. package/dist/src/document-model/gen/object.js.map +1 -1
  55. package/dist/src/document-model/gen/schema/zod.d.ts +6 -6
  56. package/dist/src/document-model/gen/schema/zod.d.ts.map +1 -1
  57. package/dist/src/document-model/gen/types.d.ts +2 -2
  58. package/dist/src/document-model/gen/types.d.ts.map +1 -1
  59. package/dist/src/document-model/gen/utils.d.ts +1 -2
  60. package/dist/src/document-model/gen/utils.d.ts.map +1 -1
  61. package/dist/src/document-model/gen/utils.js +6 -8
  62. package/dist/src/document-model/gen/utils.js.map +1 -1
  63. package/dist/test/document/crypto.test.js +25 -48
  64. package/dist/test/document/crypto.test.js.map +1 -1
  65. package/dist/test/document/event-vs-command.test.js +80 -50
  66. package/dist/test/document/event-vs-command.test.js.map +1 -1
  67. package/dist/test/document/local.test.js +26 -43
  68. package/dist/test/document/local.test.js.map +1 -1
  69. package/dist/test/document/operation-id.test.js +4 -6
  70. package/dist/test/document/operation-id.test.js.map +1 -1
  71. package/dist/test/document/prune.test.js +21 -34
  72. package/dist/test/document/prune.test.js.map +1 -1
  73. package/dist/test/document/reducer.test.js +99 -76
  74. package/dist/test/document/reducer.test.js.map +1 -1
  75. package/dist/test/document/skip-operations.test.js +65 -85
  76. package/dist/test/document/skip-operations.test.js.map +1 -1
  77. package/dist/test/document/undo-redo.test.js +60 -34
  78. package/dist/test/document/undo-redo.test.js.map +1 -1
  79. package/dist/test/document/utils.test.js +49 -36
  80. package/dist/test/document/utils.test.js.map +1 -1
  81. package/dist/test/document-helpers/addUndo.test.js +1 -1
  82. package/dist/test/document-helpers/addUndo.test.js.map +1 -1
  83. package/dist/test/document-helpers/attachBranch.test.js +20 -20
  84. package/dist/test/document-helpers/attachBranch.test.js.map +1 -1
  85. package/dist/test/document-helpers/conflictResolution.test.js +10 -10
  86. package/dist/test/document-helpers/conflictResolution.test.js.map +1 -1
  87. package/dist/test/document-helpers/groupOperationsByScope.test.js +70 -70
  88. package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -1
  89. package/dist/test/document-helpers/merge.test.js +125 -125
  90. package/dist/test/document-helpers/merge.test.js.map +1 -1
  91. package/dist/test/document-helpers/removeExistingOperations.test.js +37 -24
  92. package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -1
  93. package/dist/test/document-helpers/reshuffleByTimestamp.test.js +15 -15
  94. package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -1
  95. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +21 -21
  96. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -1
  97. package/dist/test/document-helpers/skipHeaderOperations.test.js +33 -40
  98. package/dist/test/document-helpers/skipHeaderOperations.test.js.map +1 -1
  99. package/dist/test/document-helpers/split.test.js +2 -2
  100. package/dist/test/document-helpers/split.test.js.map +1 -1
  101. package/dist/test/document-helpers/utils.d.ts +1 -0
  102. package/dist/test/document-helpers/utils.d.ts.map +1 -1
  103. package/dist/test/document-helpers/utils.js +13 -8
  104. package/dist/test/document-helpers/utils.js.map +1 -1
  105. package/dist/test/document-model/replay.test.js +3 -20
  106. package/dist/test/document-model/replay.test.js.map +1 -1
  107. package/dist/test/document-model/skip-operations.test.js +4 -5
  108. package/dist/test/document-model/skip-operations.test.js.map +1 -1
  109. package/dist/test/document-model/validation.test.js.map +1 -1
  110. package/dist/test/document-model/zip.test.js +1 -1
  111. package/dist/test/document-model/zip.test.js.map +1 -1
  112. package/dist/test/helpers.d.ts +25 -2
  113. package/dist/test/helpers.d.ts.map +1 -1
  114. package/dist/test/helpers.js +55 -6
  115. package/dist/test/helpers.js.map +1 -1
  116. package/dist/tsconfig.tsbuildinfo +1 -1
  117. package/package.json +4 -2
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  export { addModule, addOperation, addOperationError, deleteModule, deleteOperation, deleteOperationError, setAuthorName, setAuthorWebsite, setInitialState, setModelDescription, setModelExtension, setModelId, setModelName, setModuleName, setOperationDescription, setOperationErrorName, setOperationName, setOperationSchema, setStateSchema, } from "#document-model/gen/creators.js";
2
2
  export { reducer as documentModelReducer } from "#document-model/gen/reducer.js";
3
- export type { Author, DocumentModelInput, Operation as DocumentModelOperation, Module, Scalars, ScopeState, } from "#document-model/gen/schema/types.js";
3
+ export type { Author, DocumentModelInput, Operation as DocumentModelOperation, DocumentSpecification, Module, Scalars, ScopeState, } from "#document-model/gen/schema/types.js";
4
4
  export type { DocumentModelAction, DocumentModelDocument, DocumentModelLocalState, DocumentModelState, } from "#document-model/gen/types.js";
5
- export { createExtendedState as documentModelCreateExtendedState, loadFromFile as documentModelLoadFromFile, } from "#document-model/gen/utils.js";
6
- export { BaseDocumentClass, applyMixins } from "#document/object.js";
7
- export type { PHDocumentHeader, PHDocumentMeta } from "#document/ph-types.js";
8
- export type { Action, ActionContext, ActionErrorCallback, ActionSigner, App, AttachmentInput, ActionWithAttachment, BaseDocument, BaseState, BaseStateFromDocument, CreateChildDocumentInput, CreateDocument, CreateExtendedState, CreateState, DocumentAction, DocumentModelLib, DocumentModelModule, DocumentModelUtils, DocumentOperations, EditorDispatch, EditorModule, EditorProps, ExtendedState, ExtendedStateFromDocument, FileRegistry, GlobalStateFromDocument, InputMaybe, LoadFromFile, LoadFromInput, LocalStateFromDocument, Manifest, Maybe, NOOPAction, Operation, OperationSignatureContext, PHDocument, PHReducer, PartialState, Reducer, ReducerOptions, SaveToFile, SaveToFileHandle, Signal, SignalDispatch, SignalResult, Signature, StateReducer, User, ValidationError, } from "#document/types.js";
9
- export { baseCreateDocument, baseCreateExtendedState, createAction, createReducer, hashDocumentStateForScope, isDocumentAction, replayDocument, } from "#document/utils/base.js";
10
- export { buildOperationSignature, buildOperationSignatureMessage, buildSignedOperation, generateId, } from "#document/utils/crypto.js";
5
+ export { loadFromFile as documentModelLoadFromFile } from "#document-model/gen/utils.js";
6
+ export { applyMixins, BaseDocumentClass } from "#document/object.js";
7
+ export type { PHAuthState, PHBaseState, PHDocumentHeader, PHDocumentMeta, PHDocumentSignatureInfo, PHDocumentState, } from "#document/ph-types.js";
8
+ export type { Action, ActionContext, ActionErrorCallback, ActionSigner, ActionWithAttachment, App, AttachmentInput, BaseDocument, BaseState, BaseStateFromDocument, CreateChildDocumentInput, CreateDocument, CreateState, DocumentAction, DocumentModelLib, DocumentModelModule, DocumentModelUtils, DocumentOperations, EditorDispatch, EditorModule, EditorProps, FileRegistry, GlobalStateFromDocument, ImportScriptModule, InputMaybe, LoadFromFile, LoadFromInput, LocalStateFromDocument, Manifest, Maybe, NOOPAction, Operation, ActionSignatureContext as OperationSignatureContext, PartialState, PHDocument, PHReducer, Reducer, ReducerOptions, SaveToFile, SaveToFileHandle, Signal, SignalDispatch, SignalResult, Signature, StateReducer, SubgraphModule, User, ValidationError, } from "#document/types.js";
9
+ export { baseCreateDocument, createAction, createReducer, hashDocumentStateForScope, isDocumentAction, replayDocument, } from "#document/utils/base.js";
10
+ export { buildOperationSignature, buildOperationSignatureMessage, buildSignedAction, generateId, } from "#document/utils/crypto.js";
11
11
  export { baseLoadFromFile, baseLoadFromInput, baseSaveToFile, baseSaveToFileHandle, createZip, } from "#document/utils/file.js";
12
12
  export { createUnsignedHeader as createPresignedHeader, validateHeader, } from "#document/utils/header.js";
13
13
  export { validateInitialState, validateModule, validateModuleOperation, validateModules, validateStateSchemaName, } from "#document-model/custom/utils.js";
@@ -15,6 +15,7 @@ export type { OperationError as DocumentModelOperationError } from "#document-mo
15
15
  export { createDocument, createState } from "#document-model/gen/utils.js";
16
16
  export { documentModelDocumentModelModule } from "#document-model/module.js";
17
17
  export { actions, loadState, noop, prune, redo, setName, undo, } from "#document/actions/creators.js";
18
+ export { actionContext, createAuthState, createBaseState, createDocumentState, defaultAuthState, defaultBaseState, defaultDocumentState, } from "#document/ph-factories.js";
18
19
  export type { EditorContext } from "#document/types.js";
19
20
  export { attachBranch, garbageCollect, garbageCollectDocumentOperations, groupOperationsByScope, merge, precedes, removeExistingOperations, reshuffleByTimestamp, skipHeaderOperations, sortOperations, } from "#document/utils/document-helpers.js";
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACjF,YAAY,EACV,MAAM,EACN,kBAAkB,EAClB,SAAS,IAAI,sBAAsB,EACnC,MAAM,EACN,OAAO,EACP,UAAU,GACX,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mBAAmB,IAAI,gCAAgC,EACvD,YAAY,IAAI,yBAAyB,GAC1C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9E,YAAY,EACV,MAAM,EACN,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,GAAG,EACH,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,yBAAyB,EACzB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,IAAI,EACJ,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,oBAAoB,EACpB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,SAAS,GACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,IAAI,qBAAqB,EAC7C,cAAc,GACf,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,cAAc,IAAI,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACL,OAAO,EACP,SAAS,EACT,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,OAAO,EACP,IAAI,GACL,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gCAAgC,EAChC,sBAAsB,EACtB,KAAK,EACL,QAAQ,EACR,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,GACf,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,14 +1,15 @@
1
1
  export { addModule, addOperation, addOperationError, deleteModule, deleteOperation, deleteOperationError, setAuthorName, setAuthorWebsite, setInitialState, setModelDescription, setModelExtension, setModelId, setModelName, setModuleName, setOperationDescription, setOperationErrorName, setOperationName, setOperationSchema, setStateSchema, } from "#document-model/gen/creators.js";
2
2
  export { reducer as documentModelReducer } from "#document-model/gen/reducer.js";
3
- export { createExtendedState as documentModelCreateExtendedState, loadFromFile as documentModelLoadFromFile, } from "#document-model/gen/utils.js";
4
- export { BaseDocumentClass, applyMixins } from "#document/object.js";
5
- export { baseCreateDocument, baseCreateExtendedState, createAction, createReducer, hashDocumentStateForScope, isDocumentAction, replayDocument, } from "#document/utils/base.js";
6
- export { buildOperationSignature, buildOperationSignatureMessage, buildSignedOperation, generateId, } from "#document/utils/crypto.js";
3
+ export { loadFromFile as documentModelLoadFromFile } from "#document-model/gen/utils.js";
4
+ export { applyMixins, BaseDocumentClass } from "#document/object.js";
5
+ export { baseCreateDocument, createAction, createReducer, hashDocumentStateForScope, isDocumentAction, replayDocument, } from "#document/utils/base.js";
6
+ export { buildOperationSignature, buildOperationSignatureMessage, buildSignedAction, generateId, } from "#document/utils/crypto.js";
7
7
  export { baseLoadFromFile, baseLoadFromInput, baseSaveToFile, baseSaveToFileHandle, createZip, } from "#document/utils/file.js";
8
8
  export { createUnsignedHeader as createPresignedHeader, validateHeader, } from "#document/utils/header.js";
9
9
  export { validateInitialState, validateModule, validateModuleOperation, validateModules, validateStateSchemaName, } from "#document-model/custom/utils.js";
10
10
  export { createDocument, createState } from "#document-model/gen/utils.js";
11
11
  export { documentModelDocumentModelModule } from "#document-model/module.js";
12
12
  export { actions, loadState, noop, prune, redo, setName, undo, } from "#document/actions/creators.js";
13
+ export { actionContext, createAuthState, createBaseState, createDocumentState, defaultAuthState, defaultBaseState, defaultDocumentState, } from "#document/ph-factories.js";
13
14
  export { attachBranch, garbageCollect, garbageCollectDocumentOperations, groupOperationsByScope, merge, precedes, removeExistingOperations, reshuffleByTimestamp, skipHeaderOperations, sortOperations, } from "#document/utils/document-helpers.js";
14
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAejF,OAAO,EACL,mBAAmB,IAAI,gCAAgC,EACvD,YAAY,IAAI,yBAAyB,GAC1C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAqDrE,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,oBAAoB,EACpB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,SAAS,GACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,IAAI,qBAAqB,EAC7C,cAAc,GACf,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACL,OAAO,EACP,SAAS,EACT,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,OAAO,EACP,IAAI,GACL,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gCAAgC,EAChC,sBAAsB,EACtB,KAAK,EACL,QAAQ,EACR,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,GACf,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAgBjF,OAAO,EAAE,YAAY,IAAI,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA2DrE,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,iBAAiB,EACjB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,SAAS,GACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,IAAI,qBAAqB,EAC7C,cAAc,GACf,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,eAAe,EACf,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EACL,OAAO,EACP,SAAS,EACT,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,OAAO,EACP,IAAI,GACL,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gCAAgC,EAChC,sBAAsB,EACtB,KAAK,EACL,QAAQ,EACR,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,GACf,MAAM,qCAAqC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type Action, type ExtendedState } from "../types.js";
1
+ import { type Action, type BaseState } from "../types.js";
2
2
  import { type LoadStateAction, type NOOPAction, type PruneAction, type RedoAction, type SetNameAction, type UndoAction } from "./types.js";
3
3
  /**
4
4
  * Changes the name of the document.
@@ -43,7 +43,7 @@ export declare const prune: (start?: number | undefined, end?: number | undefine
43
43
  * @param operations - Number of operations that were removed from the previous state.
44
44
  * @category Actions
45
45
  */
46
- export declare const loadState: <S, T>(state: Pick<ExtendedState<S, T>, "state"> & {
46
+ export declare const loadState: <S, T>(state: BaseState<S, T> & {
47
47
  name: string;
48
48
  }, operations: number) => LoadStateAction;
49
49
  export declare const noop: (scope?: string) => NOOPAction;
@@ -1 +1 @@
1
- {"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/creators.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,kBAOjC,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,aAAQ,EAAE,cAAgB,eAO5C,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,cAAS,EAAE,cAAgB,eAO7C,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,GAChB,QAAQ,MAAM,GAAG,SAAS,EAC1B,MAAM,MAAM,GAAG,SAAS,EACxB,cAAgB,gBAQf,CAAC;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5D,YAAY,MAAM,oBAOjB,CAAC;AAEJ,eAAO,MAAM,IAAI,GAAI,cAAgB,eACqC,CAAC;AAE3E,eAAO,MAAM,OAAO,EAOJ,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/creators.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,kBAOjC,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,aAAQ,EAAE,cAAgB,eAO5C,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,cAAS,EAAE,cAAgB,eAO7C,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,GAChB,QAAQ,MAAM,GAAG,SAAS,EAC1B,MAAM,MAAM,GAAG,SAAS,EACxB,cAAgB,gBAQf,CAAC;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAC5B,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACzC,YAAY,MAAM,oBAOjB,CAAC;AAEJ,eAAO,MAAM,IAAI,GAAI,cAAgB,eACqC,CAAC;AAE3E,eAAO,MAAM,OAAO,EAOJ,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC"}
@@ -43,7 +43,7 @@ export const prune = (start, end, scope = "global") => createAction("PRUNE", { s
43
43
  * @param operations - Number of operations that were removed from the previous state.
44
44
  * @category Actions
45
45
  */
46
- export const loadState = (state, operations) => createAction("LOAD_STATE", { state: { name: state.name, ...state.state }, operations }, undefined, LoadStateActionInputSchema);
46
+ export const loadState = (state, operations) => createAction("LOAD_STATE", { state, operations }, undefined, LoadStateActionInputSchema);
47
47
  export const noop = (scope = "global") => createAction("NOOP", undefined, undefined, undefined, scope);
48
48
  export const actions = {
49
49
  setName,
@@ -1 +1 @@
1
- {"version":3,"file":"creators.js","sourceRoot":"","sources":["../../../../src/document/actions/creators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CACtC,YAAY,CACV,UAAU,EACV,IAAI,EACJ,SAAS,EACT,wBAAwB,EACxB,QAAQ,CACT,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,EAAE,CACjD,YAAY,CACV,MAAM,EACN,IAAI,EACJ,SAAS,EACT,qBAAqB,EACrB,KAAK,CACN,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,EAAE,CAClD,YAAY,CACV,MAAM,EACN,KAAK,EACL,SAAS,EACT,qBAAqB,EACrB,KAAK,CACN,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,KAA0B,EAC1B,GAAwB,EACxB,KAAK,GAAG,QAAQ,EAChB,EAAE,CACF,YAAY,CACV,OAAO,EACP,EAAE,KAAK,EAAE,GAAG,EAAE,EACd,SAAS,EACT,sBAAsB,EACtB,KAAK,CACN,CAAC;AAEJ;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,KAA4D,EAC5D,UAAkB,EAClB,EAAE,CACF,YAAY,CACV,YAAY,EACZ,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAC3D,SAAS,EACT,0BAA0B,CAC3B,CAAC;AAEJ,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,EAAE,CACvC,YAAY,CAAa,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,SAAS;IACT,IAAI;CACgD,CAAC;AACvD,iCAAiC"}
1
+ {"version":3,"file":"creators.js","sourceRoot":"","sources":["../../../../src/document/actions/creators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CACtC,YAAY,CACV,UAAU,EACV,IAAI,EACJ,SAAS,EACT,wBAAwB,EACxB,QAAQ,CACT,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,EAAE,CACjD,YAAY,CACV,MAAM,EACN,IAAI,EACJ,SAAS,EACT,qBAAqB,EACrB,KAAK,CACN,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,EAAE,CAClD,YAAY,CACV,MAAM,EACN,KAAK,EACL,SAAS,EACT,qBAAqB,EACrB,KAAK,CACN,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,KAA0B,EAC1B,GAAwB,EACxB,KAAK,GAAG,QAAQ,EAChB,EAAE,CACF,YAAY,CACV,OAAO,EACP,EAAE,KAAK,EAAE,GAAG,EAAE,EACd,SAAS,EACT,sBAAsB,EACtB,KAAK,CACN,CAAC;AAEJ;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,KAAyC,EACzC,UAAkB,EAClB,EAAE,CACF,YAAY,CACV,YAAY,EACZ,EAAE,KAAK,EAAE,UAAU,EAAE,EACrB,SAAS,EACT,0BAA0B,CAC3B,CAAC;AAEJ,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,EAAE,CACvC,YAAY,CAAa,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,SAAS;IACT,IAAI;CACgD,CAAC;AACvD,iCAAiC"}
@@ -1,5 +1,5 @@
1
1
  import { type PruneActionInput } from "../schema/types.js";
2
- import { type Action, type BaseState, type Operation, type PHDocument, type StateReducer } from "../types.js";
2
+ import { type Action, type BaseState, type PHDocument, type StateReducer } from "../types.js";
3
3
  export declare function setNameOperation<TDocument extends PHDocument>(document: TDocument, name: string): TDocument & {
4
4
  header: {
5
5
  name: string;
@@ -16,15 +16,15 @@ export declare function setNameOperation<TDocument extends PHDocument>(document:
16
16
  meta?: import("../ph-types.js").PHDocumentMeta;
17
17
  };
18
18
  };
19
- export declare function undoOperation<TDocument extends PHDocument>(document: TDocument, action: Action | Operation, skip: number): {
19
+ export declare function undoOperation<TDocument extends PHDocument>(document: TDocument, action: Action, skip: number): {
20
20
  document: TDocument;
21
- action: Action | Operation;
21
+ action: Action;
22
22
  skip: number;
23
23
  reuseLastOperationIndex: boolean;
24
24
  };
25
- export declare function redoOperation<TDocument extends PHDocument>(document: TDocument, action: Action | Operation, skip: number): {
25
+ export declare function redoOperation<TDocument extends PHDocument>(document: TDocument, action: Action, skip: number): {
26
26
  document: TDocument;
27
- action: Action | Operation;
27
+ action: Action;
28
28
  skip: number;
29
29
  reuseLastOperationIndex: boolean;
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAMrB,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,UAAU,EAC3D,QAAQ,EAAE,SAAS,EACnB,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;EAGb;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,UAAU,EACxD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CA8CA;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,UAAU,EACxD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CA8CA;AAED,wBAAgB,cAAc,CAAC,SAAS,SAAS,UAAU,EACzD,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,gBAAgB,EACvB,cAAc,EAAE,YAAY,CAAC,SAAS,CAAC,GACtC,SAAS,CA4DX;AAED,wBAAgB,kBAAkB,CAAC,SAAS,SAAS,UAAU,EAC7D,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CAAE,GACjE,SAAS,CAQX"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAMrB,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,UAAU,EAC3D,QAAQ,EAAE,SAAS,EACnB,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;EAGb;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,UAAU,EACxD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CA8CA;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,UAAU,EACxD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CA8CA;AAED,wBAAgB,cAAc,CAAC,SAAS,SAAS,UAAU,EACzD,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,gBAAgB,EACvB,cAAc,EAAE,YAAY,CAAC,SAAS,CAAC,GACtC,SAAS,CA+DX;AAED,wBAAgB,kBAAkB,CAAC,SAAS,SAAS,UAAU,EAC7D,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CAAE,GACjE,SAAS,CAQX"}
@@ -21,7 +21,7 @@ export function undoOperation(document, action, skip) {
21
21
  draft.action = noop(scope);
22
22
  const lastOperation = sortedOperations.at(-1);
23
23
  let nextIndex = lastOperation?.index ?? -1;
24
- const isNewNoop = lastOperation?.type !== "NOOP";
24
+ const isNewNoop = lastOperation?.action.type !== "NOOP";
25
25
  if (isNewNoop) {
26
26
  nextIndex = nextIndex + 1;
27
27
  }
@@ -63,15 +63,15 @@ export function redoOperation(document, action, skip) {
63
63
  if (draft.document.clipboard.length < 1) {
64
64
  throw new Error(`Cannot redo: no operations in the clipboard`);
65
65
  }
66
- const operationIndex = draft.document.clipboard.findLastIndex((op) => op.scope === scope);
66
+ const operationIndex = draft.document.clipboard.findLastIndex((op) => op.action.scope === scope);
67
67
  if (operationIndex < 0) {
68
68
  throw new Error(`Cannot redo: no operations in clipboard for scope "${scope}"`);
69
69
  }
70
70
  const operation = draft.document.clipboard.splice(operationIndex, 1)[0];
71
71
  draft.action = castDraft({
72
- type: operation.type,
73
- scope: operation.scope,
74
- input: operation.input,
72
+ type: operation.action.type,
73
+ scope: operation.action.scope,
74
+ input: operation.action.input,
75
75
  });
76
76
  });
77
77
  }
@@ -96,10 +96,11 @@ export function pruneOperation(document, input, wrappedReducer) {
96
96
  // if and operation is pruned then reuses the timestamp of the last operation
97
97
  // if not then assigns the timestamp of the following unpruned operation
98
98
  const loadStateTimestamp = actionsToKeepStart.length
99
- ? actionsToKeepStart[actionsToKeepStart.length - 1].timestamp
99
+ ? actionsToKeepStart[actionsToKeepStart.length - 1].timestampUtcMs
100
100
  : actionsToKeepEnd.length
101
- ? actionsToKeepEnd[0].timestamp
101
+ ? actionsToKeepEnd[0].timestampUtcMs
102
102
  : new Date().toISOString();
103
+ const action = loadState({ name, ...newState }, actionsToPrune.length);
103
104
  // replaces pruned operations with LOAD_STATE
104
105
  return replayOperations(document.initialState, {
105
106
  ...document.operations,
@@ -107,8 +108,9 @@ export function pruneOperation(document, input, wrappedReducer) {
107
108
  ...actionsToKeepStart,
108
109
  {
109
110
  skip: 0,
110
- ...loadState({ name, state: newState }, actionsToPrune.length),
111
- timestamp: loadStateTimestamp,
111
+ ...action,
112
+ action,
113
+ timestampUtcMs: loadStateTimestamp,
112
114
  index: loadStateIndex,
113
115
  hash: hashDocumentStateForScope({ state: newState }, "global"),
114
116
  },
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../src/document/actions/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../src/document/actions/operations.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type SignalDispatch } from "./signal.js";
2
- import { type Action, type AttachmentRef, type BaseDocument, type BaseState, type Operation, type Reducer, type ReducerOptions } from "./types.js";
2
+ import { type Action, type AttachmentRef, type BaseDocument, type BaseState, type Reducer, type ReducerOptions } from "./types.js";
3
3
  /**
4
4
  * This is an abstract class representing a document and provides methods
5
5
  * for creating and manipulating documents.
@@ -21,7 +21,7 @@ export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCust
21
21
  * @param action - The action to dispatch.
22
22
  * @returns The Document instance.
23
23
  */
24
- protected dispatch(action: TCustomAction | Operation, options?: ReducerOptions): this;
24
+ protected dispatch(action: TCustomAction, options?: ReducerOptions): this;
25
25
  /**
26
26
  * Saves the state of the document to a file.
27
27
  * @param path - The file path where the state should be saved.
@@ -69,7 +69,7 @@ export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCust
69
69
  /**
70
70
  * Gets the initial state of the document.
71
71
  */
72
- get initialState(): Readonly<import("./types.js").ExtendedState<TGlobalState, TLocalState>>;
72
+ get initialState(): Readonly<BaseState<TGlobalState, TLocalState>>;
73
73
  /**
74
74
  * Returns the current document as an object
75
75
  */
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/document/object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAIpB;;;;;GAKG;AACH,8BAAsB,iBAAiB,CACrC,YAAY,EACZ,WAAW,EACX,aAAa,SAAS,MAAM;IAE5B,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAmD;IACnE,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC;;;;OAIG;gBAED,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EACzD,QAAQ,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EACjD,cAAc,CAAC,EAAE,cAAc;IAOjC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAChB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,OAAO,CAAC,EAAE,cAAc;IAW1B;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAInE;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM;IAI/B;;;;;OAKG;qBACoB,aAAa,CAClC,YAAY,EACZ,WAAW,EACX,aAAa,SAAS,MAAM,EAC5B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAKzE;;OAEG;IACH,IAAI,KAAK,mDAER;IAED;;OAEG;IACH,IAAI,UAAU,sDAEb;IAED;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IAED,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB;;OAEG;IACH,IAAI,YAAY,4EAEf;IAED;;OAEG;IACI,UAAU;IAIjB;;;OAGG;IACI,aAAa,CAAC,UAAU,EAAE,aAAa;IAI9C;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM;IAK3B;;;OAGG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM;IAKzB;;;OAGG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM;IAIzB;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS;IAKjE;;;;OAIG;IACI,SAAS,CACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;KAC7C,EACD,UAAU,EAAE,MAAM;CAKrB;AACD;;;;;;;;;GASG;AAEH,wBAAgB,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,QAchE"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/document/object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAIpB;;;;;GAKG;AACH,8BAAsB,iBAAiB,CACrC,YAAY,EACZ,WAAW,EACX,aAAa,SAAS,MAAM;IAE5B,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAmD;IACnE,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC;;;;OAIG;gBAED,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EACzD,QAAQ,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EACjD,cAAc,CAAC,EAAE,cAAc;IAOjC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,cAAc;IAUlE;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAInE;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM;IAI/B;;;;;OAKG;qBACoB,aAAa,CAClC,YAAY,EACZ,WAAW,EACX,aAAa,SAAS,MAAM,EAC5B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAKzE;;OAEG;IACH,IAAI,KAAK,mDAER;IAED;;OAEG;IACH,IAAI,UAAU,sDAEb;IAED;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IAED,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB;;OAEG;IACH,IAAI,YAAY,mDAEf;IAED;;OAEG;IACI,UAAU;IAIjB;;;OAGG;IACI,aAAa,CAAC,UAAU,EAAE,aAAa;IAI9C;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM;IAK3B;;;OAGG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM;IAKzB;;;OAGG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM;IAIzB;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS;IAKjE;;;;OAIG;IACI,SAAS,CACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;KAC7C,EACD,UAAU,EAAE,MAAM;CAUrB;AACD;;;;;;;;;GASG;AAEH,wBAAgB,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,QAchE"}
@@ -153,7 +153,7 @@ export class BaseDocumentClass {
153
153
  * @param operations - The operations to apply to the document.
154
154
  */
155
155
  loadState(state, operations) {
156
- this.dispatch(loadState(state, operations));
156
+ this.dispatch(loadState({ name: state.name, ...state.state }, operations));
157
157
  return this;
158
158
  }
159
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/document/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/document/object.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,37 @@
1
- import { type Action, type Operation, type OperationSignatureContext, type Signature } from "./types.js";
1
+ import { type PHAuthState, type PHBaseState, type PHDocumentState } from "./ph-types.js";
2
+ import { type Action, type ActionContext, type ActionSigner, type AppActionSigner, type Operation, type Signature, type UserActionSigner } from "./types.js";
3
+ /**
4
+ * This function should be used instead of { ...action } to ensure
5
+ * that extra properties are not included in the action.
6
+ */
7
+ export declare const actionFromAction: (action: Action) => Action;
2
8
  export declare const operationFromAction: (action: Action, index: number, skip: number) => Operation;
3
9
  export declare const operationFromOperation: (operation: Operation, skip: number) => Operation;
4
- export declare const operationWithSignature: (operation: Operation, signature: Signature) => Operation;
5
- export declare const operationWithSignatureDeprecated: (operation: Operation, context: Omit<OperationSignatureContext, "operation" | "previousStateHash">, signature: Signature) => Operation;
10
+ export declare const operationWithContext: (operation: Operation, context: ActionContext) => Operation;
11
+ export declare const actionContext: () => ActionContext;
12
+ export declare const actionSigner: (user: UserActionSigner, app: AppActionSigner, signatures?: Signature[]) => ActionSigner;
13
+ /**
14
+ * Creates a default PHAuthState
15
+ */
16
+ export declare const defaultAuthState: () => PHAuthState;
17
+ /**
18
+ * Creates a default PHDocumentState
19
+ */
20
+ export declare const defaultDocumentState: () => PHDocumentState;
21
+ /**
22
+ * Creates a default PHBaseState with auth and document properties
23
+ */
24
+ export declare const defaultBaseState: () => PHBaseState;
25
+ /**
26
+ * Creates a PHAuthState with the given properties
27
+ */
28
+ export declare const createAuthState: (auth?: Partial<PHAuthState>) => PHAuthState;
29
+ /**
30
+ * Creates a PHDocumentState with the given properties
31
+ */
32
+ export declare const createDocumentState: (document?: Partial<PHDocumentState>) => PHDocumentState;
33
+ /**
34
+ * Creates a PHBaseState with the given auth and document properties
35
+ */
36
+ export declare const createBaseState: (auth?: Partial<PHAuthState>, document?: Partial<PHDocumentState>) => PHBaseState;
6
37
  //# sourceMappingURL=ph-factories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ph-factories.d.ts","sourceRoot":"","sources":["../../../src/document/ph-factories.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,yBAAyB,EAC9B,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,MAAM,MAAM,KACX,SAWF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,WAAW,SAAS,EACpB,MAAM,MAAM,KACX,SAQF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,WAAW,SAAS,EACpB,WAAW,SAAS,KACnB,SA+BF,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,WAAW,SAAS,EACpB,SAAS,IAAI,CAAC,yBAAyB,EAAE,WAAW,GAAG,mBAAmB,CAAC,EAC3E,WAAW,SAAS,KACnB,SAYF,CAAC"}
1
+ {"version":3,"file":"ph-factories.d.ts","sourceRoot":"","sources":["../../../src/document/ph-factories.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAGpB;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAUjD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,MAAM,MAAM,KACX,SAYF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,WAAW,SAAS,EACpB,MAAM,MAAM,KACX,SAOF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,WAAW,SAAS,EACpB,SAAS,aAAa,KACrB,SAYF,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,aAAqB,CAAC;AAEvD,eAAO,MAAM,YAAY,GACvB,MAAM,gBAAgB,EACtB,KAAK,eAAe,EACpB,aAAY,SAAS,EAAO,KAC3B,YAID,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,WAAmB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAO,eAEtC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,WAGlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,CAAC,WAAW,CAAC,KAAG,WAG5D,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,OAAO,CAAC,eAAe,CAAC,KAClC,eAGD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,OAAO,CAAC,WAAW,CAAC,EAC3B,WAAW,OAAO,CAAC,eAAe,CAAC,KAClC,WAGD,CAAC"}
@@ -1,9 +1,25 @@
1
1
  import { generateId } from "./utils/crypto.js";
2
+ /**
3
+ * This function should be used instead of { ...action } to ensure
4
+ * that extra properties are not included in the action.
5
+ */
6
+ export const actionFromAction = (action) => {
7
+ return {
8
+ id: action.id,
9
+ timestampUtcMs: action.timestampUtcMs,
10
+ type: action.type,
11
+ input: action.input,
12
+ scope: action.scope,
13
+ context: action.context,
14
+ attachments: action.attachments,
15
+ };
16
+ };
2
17
  export const operationFromAction = (action, index, skip) => {
3
18
  return {
4
19
  ...action,
20
+ action,
5
21
  id: generateId(),
6
- timestamp: new Date().toISOString(),
22
+ timestampUtcMs: new Date().toISOString(),
7
23
  hash: "",
8
24
  error: undefined,
9
25
  index,
@@ -18,45 +34,60 @@ export const operationFromOperation = (operation, skip) => {
18
34
  skip,
19
35
  };
20
36
  };
21
- export const operationWithSignature = (operation, signature) => {
37
+ export const operationWithContext = (operation, context) => {
22
38
  if (!operation.action) {
23
39
  throw new Error("Operation has no action");
24
40
  }
25
- if (!operation.action.context) {
26
- throw new Error("Operation has no context");
27
- }
28
- if (!operation.action.context.signer) {
29
- throw new Error("Operation has no signer");
30
- }
31
- const action = operation.action;
32
- const context = action.context;
33
- const signer = context.signer;
34
- const signatures = signer.signatures ?? [];
35
41
  return {
36
42
  ...operation,
37
43
  action: {
38
- ...action,
39
- context: {
40
- ...context,
41
- signer: {
42
- ...signer,
43
- signatures: [...signatures, signature],
44
- },
45
- },
46
- },
47
- };
48
- };
49
- export const operationWithSignatureDeprecated = (operation, context, signature) => {
50
- return {
51
- ...operation,
52
- context: {
53
- ...operation.context,
54
- signer: {
55
- ...operation.context?.signer,
56
- ...context.signer,
57
- signatures: [...(context.signer.signatures ?? []), signature],
58
- },
44
+ ...operation.action,
45
+ context,
59
46
  },
60
47
  };
61
48
  };
49
+ export const actionContext = () => ({});
50
+ export const actionSigner = (user, app, signatures = []) => ({
51
+ user,
52
+ app,
53
+ signatures,
54
+ });
55
+ /**
56
+ * Creates a default PHAuthState
57
+ */
58
+ export const defaultAuthState = () => ({});
59
+ /**
60
+ * Creates a default PHDocumentState
61
+ */
62
+ export const defaultDocumentState = () => ({
63
+ version: "1.0.0",
64
+ });
65
+ /**
66
+ * Creates a default PHBaseState with auth and document properties
67
+ */
68
+ export const defaultBaseState = () => ({
69
+ auth: defaultAuthState(),
70
+ document: defaultDocumentState(),
71
+ });
72
+ /**
73
+ * Creates a PHAuthState with the given properties
74
+ */
75
+ export const createAuthState = (auth) => ({
76
+ ...defaultAuthState(),
77
+ ...auth,
78
+ });
79
+ /**
80
+ * Creates a PHDocumentState with the given properties
81
+ */
82
+ export const createDocumentState = (document) => ({
83
+ ...defaultDocumentState(),
84
+ ...document,
85
+ });
86
+ /**
87
+ * Creates a PHBaseState with the given auth and document properties
88
+ */
89
+ export const createBaseState = (auth, document) => ({
90
+ auth: createAuthState(auth),
91
+ document: createDocumentState(document),
92
+ });
62
93
  //# sourceMappingURL=ph-factories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ph-factories.js","sourceRoot":"","sources":["../../../src/document/ph-factories.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAc,EACd,KAAa,EACb,IAAY,EACD,EAAE;IACb,OAAO;QACL,GAAG,MAAM;QACT,EAAE,EAAE,UAAU,EAAE;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS;QAEhB,KAAK;QACL,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,SAAoB,EACpB,IAAY,EACD,EAAE;IACb,OAAO;QACL,GAAG,SAAS;QACZ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS;QAEhB,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,SAAoB,EACpB,SAAoB,EACT,EAAE;IACb,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAQ,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAO,CAAC;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAE3C,OAAO;QACL,GAAG,SAAS;QACZ,MAAM,EAAE;YACN,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,MAAM,EAAE;oBACN,GAAG,MAAM;oBACT,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,SAAS,CAAC;iBACvC;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,SAAoB,EACpB,OAA2E,EAC3E,SAAoB,EACT,EAAE;IACb,OAAO;QACL,GAAG,SAAS;QACZ,OAAO,EAAE;YACP,GAAG,SAAS,CAAC,OAAO;YACpB,MAAM,EAAE;gBACN,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM;gBAC5B,GAAG,OAAO,CAAC,MAAM;gBACjB,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC;aAC9D;SACF;KACW,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"ph-factories.js","sourceRoot":"","sources":["../../../src/document/ph-factories.ts"],"names":[],"mappings":"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"}
@@ -61,8 +61,16 @@ export type PHDocumentHeader = {
61
61
  /** Meta information about the document. */
62
62
  meta?: PHDocumentMeta;
63
63
  };
64
- export type PHBaseState<TDocumentState = JsonSerializable> = {
65
- document?: TDocumentState;
64
+ export type PHAuthState = {};
65
+ export type PHDocumentState = {
66
+ /** The current version of the document. */
67
+ version: string;
68
+ };
69
+ export type PHBaseState = {
70
+ /** Carries authentication information. */
71
+ auth: PHAuthState;
72
+ /** Carries information about the document. */
73
+ document: PHDocumentState;
66
74
  };
67
75
  export type PHDocumentHistory = {};
68
76
  //# sourceMappingURL=ph-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ph-types.d.ts","sourceRoot":"","sources":["../../../src/document/ph-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,gBAAgB,EAAE,GAClB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,uBAAuB,GAAG;IACpC;;QAEI;IACJ,SAAS,EAAE,UAAU,CAAC;IAEtB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG;IAC3B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;QAII;IACJ,EAAE,EAAE,MAAM,CAAC;IAEX;;;;QAII;IACJ,GAAG,EAAE,uBAAuB,CAAC;IAE7B;;;;;QAKI;IACJ,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;QAKI;IACJ,eAAe,EAAE,MAAM,CAAC;IAExB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,EAAE;QACR,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;KACzB,CAAC;IAEF;;QAEI;IACJ,oBAAoB,EAAE,MAAM,CAAC;IAE7B,2CAA2C;IAC3C,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,cAAc,GAAG,gBAAgB,IAAI;IAE3D,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"ph-types.d.ts","sourceRoot":"","sources":["../../../src/document/ph-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,gBAAgB,EAAE,GAClB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,uBAAuB,GAAG;IACpC;;QAEI;IACJ,SAAS,EAAE,UAAU,CAAC;IAEtB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG;IAC3B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;QAII;IACJ,EAAE,EAAE,MAAM,CAAC;IAEX;;;;QAII;IACJ,GAAG,EAAE,uBAAuB,CAAC;IAE7B;;;;;QAKI;IACJ,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;QAKI;IACJ,eAAe,EAAE,MAAM,CAAC;IAExB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,EAAE;QACR,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;KACzB,CAAC;IAEF;;QAEI;IACJ,oBAAoB,EAAE,MAAM,CAAC;IAE7B,2CAA2C;IAC3C,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,EAAE,CAAC;AAE7B,MAAM,MAAM,eAAe,GAAG;IAC5B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,0CAA0C;IAC1C,IAAI,EAAE,WAAW,CAAC;IAElB,8CAA8C;IAC9C,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,EAAE,CAAC"}
@@ -18,7 +18,7 @@ export declare function updateHeaderRevision(document: PHDocument, scope: string
18
18
  * @param reuseLastOperationIndex Whether to reuse the last operation index (used when a an UNDO operation is performed after an existing one).
19
19
  * @returns The updated document state.
20
20
  */
21
- export declare function updateDocument<TDocument extends PHDocument>(document: TDocument, action: Action | Operation, skip?: number, reuseLastOperationIndex?: boolean): TDocument;
21
+ export declare function updateDocument<TDocument extends PHDocument>(document: TDocument, action: Action, reuseLastOperationIndex?: boolean, skip?: number, operation?: Operation): TDocument;
22
22
  /**
23
23
  * Processes an UNDO or REDO action.
24
24
  *
@@ -27,9 +27,9 @@ export declare function updateDocument<TDocument extends PHDocument>(document: T
27
27
  * @param skip The number of operations to skip before applying the action.
28
28
  * @returns The updated document, calculated skip value and transformed action (if applied).
29
29
  */
30
- export declare function processUndoRedo<TDocument extends PHDocument>(document: TDocument, action: Action | Operation, skip: number): {
30
+ export declare function processUndoRedo<TDocument extends PHDocument>(document: TDocument, action: Action, skip: number): {
31
31
  document: TDocument;
32
- action: Action | Operation;
32
+ action: Action;
33
33
  skip: number;
34
34
  reuseLastOperationIndex: boolean;
35
35
  };
@@ -45,5 +45,5 @@ export declare function processUndoRedo<TDocument extends PHDocument>(document:
45
45
  * specific to the document's state.
46
46
  * @returns The new state of the document.
47
47
  */
48
- export declare function baseReducer<TDocument extends PHDocument>(document: TDocument, action: Action | Operation, customReducer: StateReducer<TDocument>, dispatch?: SignalDispatch, options?: ReducerOptions): TDocument;
48
+ export declare function baseReducer<TDocument extends PHDocument>(document: TDocument, action: Action, customReducer: StateReducer<TDocument>, dispatch?: SignalDispatch, options?: ReducerOptions): TDocument;
49
49
  //# sourceMappingURL=reducer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../src/document/reducer.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AA+BpB;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,MAAM,GACZ,UAAU,CAcZ;AAoFD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,SAAS,SAAS,UAAU,EACzD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,SAAI,EACR,uBAAuB,UAAQ,GAC9B,SAAS,CAwBX;AA8BD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,SAAS,UAAU,EAC1D,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CASA;AAwGD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,SAAS,SAAS,UAAU,EACtD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,EACtC,QAAQ,CAAC,EAAE,cAAc,EACzB,OAAO,GAAE,cAAmB,GAC3B,SAAS,CA8KX"}
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../src/document/reducer.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AA+BpB;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,MAAM,GACZ,UAAU,CAcZ;AA8ED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,SAAS,SAAS,UAAU,EACzD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,uBAAuB,UAAQ,EAC/B,IAAI,SAAI,EACR,SAAS,CAAC,EAAE,SAAS,GACpB,SAAS,CAsBX;AA8BD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,SAAS,UAAU,EAC1D,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CASA;AAsGD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,SAAS,SAAS,UAAU,EACtD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,EACtC,QAAQ,CAAC,EAAE,cAAc,EACzB,OAAO,GAAE,cAAmB,GAC3B,SAAS,CAuLX"}