document-model 4.1.0-dev.9 → 5.0.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 (149) 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 +3 -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 +11 -13
  10. package/dist/src/document/actions/operations.d.ts.map +1 -1
  11. package/dist/src/document/actions/operations.js +15 -14
  12. package/dist/src/document/actions/operations.js.map +1 -1
  13. package/dist/src/document/object.d.ts +11 -10
  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 +6 -5
  24. package/dist/src/document/reducer.d.ts.map +1 -1
  25. package/dist/src/document/reducer.js +28 -30
  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 +41 -12
  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 +74 -99
  34. package/dist/src/document/types.d.ts.map +1 -1
  35. package/dist/src/document/utils/base.d.ts +6 -7
  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 +6 -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 +3 -2
  48. package/dist/src/document/utils/file.d.ts.map +1 -1
  49. package/dist/src/document/utils/file.js.map +1 -1
  50. package/dist/src/document/utils/header.js.map +1 -1
  51. package/dist/src/document/utils/validation.js +1 -1
  52. package/dist/src/document/utils/validation.js.map +1 -1
  53. package/dist/src/document-model/gen/header/object.d.ts +3 -3
  54. package/dist/src/document-model/gen/header/object.d.ts.map +1 -1
  55. package/dist/src/document-model/gen/header/object.js.map +1 -1
  56. package/dist/src/document-model/gen/module/object.d.ts +3 -3
  57. package/dist/src/document-model/gen/module/object.d.ts.map +1 -1
  58. package/dist/src/document-model/gen/module/object.js.map +1 -1
  59. package/dist/src/document-model/gen/object.d.ts +4 -5
  60. package/dist/src/document-model/gen/object.d.ts.map +1 -1
  61. package/dist/src/document-model/gen/object.js.map +1 -1
  62. package/dist/src/document-model/gen/operation/object.d.ts +3 -4
  63. package/dist/src/document-model/gen/operation/object.d.ts.map +1 -1
  64. package/dist/src/document-model/gen/operation/object.js.map +1 -1
  65. package/dist/src/document-model/gen/operation-error/object.d.ts +3 -4
  66. package/dist/src/document-model/gen/operation-error/object.d.ts.map +1 -1
  67. package/dist/src/document-model/gen/operation-error/object.js.map +1 -1
  68. package/dist/src/document-model/gen/operation-example/object.d.ts +2 -3
  69. package/dist/src/document-model/gen/operation-example/object.d.ts.map +1 -1
  70. package/dist/src/document-model/gen/operation-example/object.js.map +1 -1
  71. package/dist/src/document-model/gen/ph-factories.d.ts +27 -0
  72. package/dist/src/document-model/gen/ph-factories.d.ts.map +1 -0
  73. package/dist/src/document-model/gen/ph-factories.js +60 -0
  74. package/dist/src/document-model/gen/ph-factories.js.map +1 -0
  75. package/dist/src/document-model/gen/reducer.d.ts +3 -3
  76. package/dist/src/document-model/gen/reducer.d.ts.map +1 -1
  77. package/dist/src/document-model/gen/reducer.js.map +1 -1
  78. package/dist/src/document-model/gen/schema/zod.d.ts +6 -6
  79. package/dist/src/document-model/gen/schema/zod.d.ts.map +1 -1
  80. package/dist/src/document-model/gen/state/object.d.ts +3 -3
  81. package/dist/src/document-model/gen/state/object.d.ts.map +1 -1
  82. package/dist/src/document-model/gen/state/object.js.map +1 -1
  83. package/dist/src/document-model/gen/types.d.ts +5 -5
  84. package/dist/src/document-model/gen/types.d.ts.map +1 -1
  85. package/dist/src/document-model/gen/utils.d.ts +6 -7
  86. package/dist/src/document-model/gen/utils.d.ts.map +1 -1
  87. package/dist/src/document-model/gen/utils.js +6 -8
  88. package/dist/src/document-model/gen/utils.js.map +1 -1
  89. package/dist/src/document-model/gen/versioning/object.d.ts +2 -3
  90. package/dist/src/document-model/gen/versioning/object.d.ts.map +1 -1
  91. package/dist/src/document-model/gen/versioning/object.js.map +1 -1
  92. package/dist/src/document-model/types.d.ts +2 -2
  93. package/dist/src/document-model/types.d.ts.map +1 -1
  94. package/dist/test/document/crypto.test.js +25 -48
  95. package/dist/test/document/crypto.test.js.map +1 -1
  96. package/dist/test/document/event-vs-command.test.js +80 -50
  97. package/dist/test/document/event-vs-command.test.js.map +1 -1
  98. package/dist/test/document/local.test.js +26 -43
  99. package/dist/test/document/local.test.js.map +1 -1
  100. package/dist/test/document/operation-id.test.js +4 -6
  101. package/dist/test/document/operation-id.test.js.map +1 -1
  102. package/dist/test/document/prune.test.js +21 -34
  103. package/dist/test/document/prune.test.js.map +1 -1
  104. package/dist/test/document/reducer.test.js +99 -77
  105. package/dist/test/document/reducer.test.js.map +1 -1
  106. package/dist/test/document/skip-operations.test.js +65 -85
  107. package/dist/test/document/skip-operations.test.js.map +1 -1
  108. package/dist/test/document/undo-redo.test.js +60 -34
  109. package/dist/test/document/undo-redo.test.js.map +1 -1
  110. package/dist/test/document/utils.test.js +49 -36
  111. package/dist/test/document/utils.test.js.map +1 -1
  112. package/dist/test/document-helpers/addUndo.test.js +1 -1
  113. package/dist/test/document-helpers/addUndo.test.js.map +1 -1
  114. package/dist/test/document-helpers/attachBranch.test.js +20 -20
  115. package/dist/test/document-helpers/attachBranch.test.js.map +1 -1
  116. package/dist/test/document-helpers/conflictResolution.test.js +10 -10
  117. package/dist/test/document-helpers/conflictResolution.test.js.map +1 -1
  118. package/dist/test/document-helpers/groupOperationsByScope.test.js +70 -70
  119. package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -1
  120. package/dist/test/document-helpers/merge.test.js +125 -125
  121. package/dist/test/document-helpers/merge.test.js.map +1 -1
  122. package/dist/test/document-helpers/removeExistingOperations.test.js +37 -24
  123. package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -1
  124. package/dist/test/document-helpers/reshuffleByTimestamp.test.js +15 -15
  125. package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -1
  126. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +21 -21
  127. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -1
  128. package/dist/test/document-helpers/skipHeaderOperations.test.js +33 -40
  129. package/dist/test/document-helpers/skipHeaderOperations.test.js.map +1 -1
  130. package/dist/test/document-helpers/split.test.js +2 -2
  131. package/dist/test/document-helpers/split.test.js.map +1 -1
  132. package/dist/test/document-helpers/utils.d.ts +1 -0
  133. package/dist/test/document-helpers/utils.d.ts.map +1 -1
  134. package/dist/test/document-helpers/utils.js +13 -8
  135. package/dist/test/document-helpers/utils.js.map +1 -1
  136. package/dist/test/document-model/replay.test.js +3 -20
  137. package/dist/test/document-model/replay.test.js.map +1 -1
  138. package/dist/test/document-model/skip-operations.test.js +4 -5
  139. package/dist/test/document-model/skip-operations.test.js.map +1 -1
  140. package/dist/test/document-model/validation.test.js +15 -6
  141. package/dist/test/document-model/validation.test.js.map +1 -1
  142. package/dist/test/document-model/zip.test.js +1 -1
  143. package/dist/test/document-model/zip.test.js.map +1 -1
  144. package/dist/test/helpers.d.ts +42 -8
  145. package/dist/test/helpers.d.ts.map +1 -1
  146. package/dist/test/helpers.js +55 -6
  147. package/dist/test/helpers.js.map +1 -1
  148. package/dist/tsconfig.tsbuildinfo +1 -1
  149. 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, CreateChildDocumentInput, CreateDocument, CreateState, DocumentAction, DocumentModelLib, DocumentModelModule, DocumentModelUtils, DocumentOperations, EditorDispatch, EditorModule, EditorProps, FileRegistry, ImportScriptModule, InputMaybe, LoadFromFile, LoadFromInput, Manifest, Maybe, NOOPAction, Operation, ActionSignatureContext as OperationSignatureContext, PartialState, PHDocument, 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":"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"}
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,qBAAqB,EACrB,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,EAAE,YAAY,IAAI,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACrE,YAAY,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,MAAM,EACN,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,GAAG,EACH,eAAe,EACf,YAAY,EACZ,wBAAwB,EACxB,cAAc,EACd,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,sBAAsB,IAAI,yBAAyB,EACnD,YAAY,EACZ,UAAU,EACV,OAAO,EACP,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,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;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,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,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"}
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;AAsDrE,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,5 @@
1
- import { type Action, type ExtendedState } from "../types.js";
1
+ import { type PHBaseState } from "#document/ph-types.js";
2
+ import { type Action } from "../types.js";
2
3
  import { type LoadStateAction, type NOOPAction, type PruneAction, type RedoAction, type SetNameAction, type UndoAction } from "./types.js";
3
4
  /**
4
5
  * Changes the name of the document.
@@ -43,7 +44,7 @@ export declare const prune: (start?: number | undefined, end?: number | undefine
43
44
  * @param operations - Number of operations that were removed from the previous state.
44
45
  * @category Actions
45
46
  */
46
- export declare const loadState: <S, T>(state: Pick<ExtendedState<S, T>, "state"> & {
47
+ export declare const loadState: <TState extends PHBaseState = PHBaseState>(state: TState & {
47
48
  name: string;
48
49
  }, operations: number) => LoadStateAction;
49
50
  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":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,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,MAAM,SAAS,WAAW,GAAG,WAAW,EAChE,OAAO,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChC,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":"AACA,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,KAAgC,EAChC,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,10 +1,11 @@
1
- import { type PruneActionInput } from "../schema/types.js";
2
- import { type Action, type BaseState, type Operation, type PHDocument, type StateReducer } from "../types.js";
1
+ import { type PHBaseState } from "#document/ph-types.js";
2
+ import { type LoadStateActionInput, type PruneActionInput } from "../schema/types.js";
3
+ import { type Action, type PHDocument, type StateReducer } from "../types.js";
3
4
  export declare function setNameOperation<TDocument extends PHDocument>(document: TDocument, name: string): TDocument & {
4
5
  header: {
5
6
  name: string;
6
7
  id: string;
7
- sig: import("../ph-types.js").PHDocumentSignatureInfo;
8
+ sig: import("#document/ph-types.js").PHDocumentSignatureInfo;
8
9
  documentType: string;
9
10
  createdAtUtcIso: string;
10
11
  slug: string;
@@ -13,24 +14,21 @@ export declare function setNameOperation<TDocument extends PHDocument>(document:
13
14
  [scope: string]: number;
14
15
  };
15
16
  lastModifiedAtUtcIso: string;
16
- meta?: import("../ph-types.js").PHDocumentMeta;
17
+ meta?: import("#document/ph-types.js").PHDocumentMeta;
17
18
  };
18
19
  };
19
- export declare function undoOperation<TDocument extends PHDocument>(document: TDocument, action: Action | Operation, skip: number): {
20
+ export declare function undoOperation<TDocument extends PHDocument>(document: TDocument, action: Action, skip: number): {
20
21
  document: TDocument;
21
- action: Action | Operation;
22
+ action: Action;
22
23
  skip: number;
23
24
  reuseLastOperationIndex: boolean;
24
25
  };
25
- export declare function redoOperation<TDocument extends PHDocument>(document: TDocument, action: Action | Operation, skip: number): {
26
+ export declare function redoOperation<TDocument extends PHDocument>(document: TDocument, action: Action, skip: number): {
26
27
  document: TDocument;
27
- action: Action | Operation;
28
+ action: Action;
28
29
  skip: number;
29
30
  reuseLastOperationIndex: boolean;
30
31
  };
31
- export declare function pruneOperation<TDocument extends PHDocument>(document: TDocument, input: PruneActionInput, wrappedReducer: StateReducer<TDocument>): TDocument;
32
- export declare function loadStateOperation<TDocument extends PHDocument>(oldDocument: TDocument, newDocument: {
33
- name: string;
34
- state?: BaseState<unknown, unknown>;
35
- }): TDocument;
32
+ export declare function pruneOperation<TState extends PHBaseState = PHBaseState>(document: PHDocument<TState>, input: PruneActionInput, wrappedReducer: StateReducer<TState>): PHDocument<TState>;
33
+ export declare function loadStateOperation<TState extends PHBaseState>(document: PHDocument<TState>, action: LoadStateActionInput): PHDocument<TState>;
36
34
  //# sourceMappingURL=operations.d.ts.map
@@ -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":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAM9E,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,MAAM,SAAS,WAAW,GAAG,WAAW,EACrE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAC5B,KAAK,EAAE,gBAAgB,EACvB,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,GACnC,UAAU,CAAC,MAAM,CAAC,CA+DpB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,WAAW,EAC3D,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,oBAAoB,GAC3B,UAAU,CAAC,MAAM,CAAC,CAMpB"}
@@ -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
  },
@@ -121,12 +123,11 @@ export function pruneOperation(document, input, wrappedReducer) {
121
123
  ],
122
124
  }, wrappedReducer);
123
125
  }
124
- export function loadStateOperation(oldDocument, newDocument) {
126
+ export function loadStateOperation(document, action) {
125
127
  return {
126
- ...oldDocument,
127
- name: newDocument.name,
128
- state: newDocument.state ??
129
- { global: {}, local: {} },
128
+ ...document,
129
+ header: { ...document.header, name: action.state.name },
130
+ state: action.state.data,
130
131
  };
131
132
  }
132
133
  //# sourceMappingURL=operations.js.map
@@ -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,13 +1,14 @@
1
+ import { type PHBaseState } from "./ph-types.js";
1
2
  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";
3
+ import { type PHDocument, type Action, type AttachmentRef, type Reducer, type ReducerOptions } from "./types.js";
3
4
  /**
4
5
  * This is an abstract class representing a document and provides methods
5
6
  * for creating and manipulating documents.
6
7
  * @typeparam T - The type of data stored in the document.
7
8
  * @typeparam A - The type of action the document can take.
8
9
  */
9
- export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCustomAction extends Action> {
10
- protected _document: BaseDocument<TGlobalState, TLocalState>;
10
+ export declare abstract class BaseDocumentClass<TState extends PHBaseState> {
11
+ protected _document: PHDocument<TState>;
11
12
  private _reducer;
12
13
  private _signalDispatch?;
13
14
  /**
@@ -15,13 +16,13 @@ export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCust
15
16
  * @param reducer - The reducer function that updates the state.
16
17
  * @param document - The initial state of the document.
17
18
  */
18
- constructor(reducer: Reducer<BaseDocument<TGlobalState, TLocalState>>, document: BaseDocument<TGlobalState, TLocalState>, signalDispatch?: SignalDispatch);
19
+ constructor(reducer: Reducer<TState>, document: PHDocument<TState>, signalDispatch?: SignalDispatch);
19
20
  /**
20
21
  * Dispatches an action to update the state of the document.
21
22
  * @param action - The action to dispatch.
22
23
  * @returns The Document instance.
23
24
  */
24
- protected dispatch(action: TCustomAction | Operation, options?: ReducerOptions): this;
25
+ protected dispatch(action: Action, options?: ReducerOptions): this;
25
26
  /**
26
27
  * Saves the state of the document to a file.
27
28
  * @param path - The file path where the state should be saved.
@@ -40,11 +41,11 @@ export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCust
40
41
  * @param reducer - The reducer function that updates the state.
41
42
  * @returns The state of the document.
42
43
  */
43
- protected static stateFromFile<TGlobalState, TLocalState, TCustomAction extends Action>(path: string, reducer: Reducer<BaseDocument<TGlobalState, TLocalState>>): Promise<BaseDocument<TGlobalState, TLocalState>>;
44
+ protected static stateFromFile<TState extends PHBaseState>(path: string, reducer: Reducer<TState>): Promise<PHDocument<TState>>;
44
45
  /**
45
46
  * Gets the current state of the document.
46
47
  */
47
- get state(): Readonly<BaseState<TGlobalState, TLocalState>>;
48
+ get state(): Readonly<TState>;
48
49
  /**
49
50
  * Gets the list of operations performed on the document.
50
51
  */
@@ -69,11 +70,11 @@ export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCust
69
70
  /**
70
71
  * Gets the initial state of the document.
71
72
  */
72
- get initialState(): Readonly<import("./types.js").ExtendedState<TGlobalState, TLocalState>>;
73
+ get initialState(): Readonly<TState>;
73
74
  /**
74
75
  * Returns the current document as an object
75
76
  */
76
- toDocument(): Readonly<BaseDocument<TGlobalState, TLocalState>>;
77
+ toDocument(): Readonly<PHDocument<TState>>;
77
78
  /**
78
79
  * Gets the attachment associated with the given key.
79
80
  * @param attachment - The key of the attachment to retrieve.
@@ -107,7 +108,7 @@ export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCust
107
108
  */
108
109
  loadState(state: {
109
110
  name: string;
110
- state: BaseState<TGlobalState, TLocalState>;
111
+ state: TState;
111
112
  }, operations: number): this;
112
113
  }
113
114
  /**
@@ -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,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAIpB;;;;;GAKG;AACH,8BAAsB,iBAAiB,CAAC,MAAM,SAAS,WAAW;IAChE,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC;;;;OAIG;gBAED,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EACxB,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAC5B,cAAc,CAAC,EAAE,cAAc;IAOjC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAU3D;;;;;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,CAAC,MAAM,SAAS,WAAW,EAC7D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;IAM1B;;OAEG;IACH,IAAI,KAAK,qBAER;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,qBAEf;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,MAAM,CAAC;KACf,EACD,UAAU,EAAE,MAAM;CAKrB;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":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAU,EAAE;IACzD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAc,EACd,KAAa,EACb,IAAY,EACD,EAAE;IACb,OAAO;QACL,GAAG,MAAM;QACT,MAAM;QACN,EAAE,EAAE,UAAU,EAAE;QAChB,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACxC,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;QAChB,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAoB,EACpB,OAAsB,EACX,EAAE;IACb,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,GAAG,SAAS;QACZ,MAAM,EAAE;YACN,GAAG,SAAS,CAAC,MAAM;YACnB,OAAO;SACR;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAsB,EACtB,GAAoB,EACpB,aAA0B,EAAE,EACd,EAAE,CAAC,CAAC;IAClB,IAAI;IACJ,GAAG;IACH,UAAU;CACX,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAoB,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAgB,EAAE,CAAC,CAAC;IAClD,IAAI,EAAE,gBAAgB,EAAE;IACxB,QAAQ,EAAE,oBAAoB,EAAE;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAA2B,EAAe,EAAE,CAAC,CAAC;IAC5E,GAAG,gBAAgB,EAAE;IACrB,GAAG,IAAI;CACR,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAmC,EAClB,EAAE,CAAC,CAAC;IACrB,GAAG,oBAAoB,EAAE;IACzB,GAAG,QAAQ;CACZ,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAA2B,EAC3B,QAAmC,EACtB,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC;CACxC,CAAC,CAAC"}
@@ -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"}