document-model 4.1.0-dev.5 → 4.1.0-dev.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/src/document/actions/creators.d.ts +5 -4
- package/dist/src/document/actions/creators.d.ts.map +1 -1
- package/dist/src/document/actions/creators.js +1 -1
- package/dist/src/document/actions/creators.js.map +1 -1
- package/dist/src/document/actions/operations.d.ts +11 -13
- package/dist/src/document/actions/operations.d.ts.map +1 -1
- package/dist/src/document/actions/operations.js +15 -14
- package/dist/src/document/actions/operations.js.map +1 -1
- package/dist/src/document/object.d.ts +12 -11
- package/dist/src/document/object.d.ts.map +1 -1
- package/dist/src/document/object.js +1 -1
- package/dist/src/document/object.js.map +1 -1
- package/dist/src/document/ph-factories.d.ts +37 -0
- package/dist/src/document/ph-factories.d.ts.map +1 -0
- package/dist/src/document/ph-factories.js +93 -0
- package/dist/src/document/ph-factories.js.map +1 -0
- package/dist/src/document/ph-types.d.ts +10 -2
- package/dist/src/document/ph-types.d.ts.map +1 -1
- package/dist/src/document/reducer.d.ts +9 -8
- package/dist/src/document/reducer.d.ts.map +1 -1
- package/dist/src/document/reducer.js +68 -66
- package/dist/src/document/reducer.js.map +1 -1
- package/dist/src/document/schema/types.d.ts +13 -1
- package/dist/src/document/schema/types.d.ts.map +1 -1
- package/dist/src/document/schema/zod.d.ts +41 -12
- package/dist/src/document/schema/zod.d.ts.map +1 -1
- package/dist/src/document/schema/zod.js +23 -11
- package/dist/src/document/schema/zod.js.map +1 -1
- package/dist/src/document/signal.d.ts +1 -1
- package/dist/src/document/signal.d.ts.map +1 -1
- package/dist/src/document/types.d.ts +83 -94
- package/dist/src/document/types.d.ts.map +1 -1
- package/dist/src/document/utils/base.d.ts +8 -9
- package/dist/src/document/utils/base.d.ts.map +1 -1
- package/dist/src/document/utils/base.js +32 -31
- package/dist/src/document/utils/base.js.map +1 -1
- package/dist/src/document/utils/crypto.d.ts +6 -5
- package/dist/src/document/utils/crypto.d.ts.map +1 -1
- package/dist/src/document/utils/crypto.js +24 -23
- package/dist/src/document/utils/crypto.js.map +1 -1
- package/dist/src/document/utils/document-helpers.d.ts +9 -13
- package/dist/src/document/utils/document-helpers.d.ts.map +1 -1
- package/dist/src/document/utils/document-helpers.js +47 -17
- package/dist/src/document/utils/document-helpers.js.map +1 -1
- package/dist/src/document/utils/errors.d.ts +1 -1
- package/dist/src/document/utils/errors.d.ts.map +1 -1
- package/dist/src/document/utils/file.d.ts +6 -5
- package/dist/src/document/utils/file.d.ts.map +1 -1
- package/dist/src/document/utils/file.js.map +1 -1
- package/dist/src/document/utils/header.d.ts +1 -1
- package/dist/src/document/utils/header.d.ts.map +1 -1
- package/dist/src/document/utils/header.js.map +1 -1
- package/dist/src/document/utils/node.d.ts +1 -1
- package/dist/src/document/utils/node.d.ts.map +1 -1
- package/dist/src/document/utils/node.js +1 -1
- package/dist/src/document/utils/node.js.map +1 -1
- package/dist/src/document/utils/validation.d.ts +1 -1
- package/dist/src/document/utils/validation.d.ts.map +1 -1
- package/dist/src/document/utils/validation.js +1 -1
- package/dist/src/document/utils/validation.js.map +1 -1
- package/dist/src/document-model/custom/reducers/header.d.ts +1 -1
- package/dist/src/document-model/custom/reducers/header.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/module.d.ts +1 -1
- package/dist/src/document-model/custom/reducers/module.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/operation-error.d.ts +1 -1
- package/dist/src/document-model/custom/reducers/operation-error.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/operation-example.d.ts +1 -1
- package/dist/src/document-model/custom/reducers/operation-example.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/operation.d.ts +1 -1
- package/dist/src/document-model/custom/reducers/operation.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/state.d.ts +1 -1
- package/dist/src/document-model/custom/reducers/state.d.ts.map +1 -1
- package/dist/src/document-model/custom/reducers/versioning.d.ts +1 -1
- package/dist/src/document-model/custom/reducers/versioning.d.ts.map +1 -1
- package/dist/src/document-model/custom/utils.d.ts +2 -2
- package/dist/src/document-model/custom/utils.d.ts.map +1 -1
- package/dist/src/document-model/gen/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/document-model.d.ts.map +1 -1
- package/dist/src/document-model/gen/document-model.js +40 -40
- package/dist/src/document-model/gen/document-model.js.map +1 -1
- package/dist/src/document-model/gen/header/object.d.ts +3 -3
- package/dist/src/document-model/gen/header/object.d.ts.map +1 -1
- package/dist/src/document-model/gen/header/object.js.map +1 -1
- package/dist/src/document-model/gen/module/object.d.ts +3 -3
- package/dist/src/document-model/gen/module/object.d.ts.map +1 -1
- package/dist/src/document-model/gen/module/object.js.map +1 -1
- package/dist/src/document-model/gen/module/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/object.d.ts +4 -5
- package/dist/src/document-model/gen/object.d.ts.map +1 -1
- package/dist/src/document-model/gen/object.js.map +1 -1
- package/dist/src/document-model/gen/operation/object.d.ts +3 -4
- package/dist/src/document-model/gen/operation/object.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation/object.js.map +1 -1
- package/dist/src/document-model/gen/operation/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-error/object.d.ts +3 -4
- package/dist/src/document-model/gen/operation-error/object.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-error/object.js.map +1 -1
- package/dist/src/document-model/gen/operation-error/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-example/object.d.ts +2 -3
- package/dist/src/document-model/gen/operation-example/object.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-example/object.js.map +1 -1
- package/dist/src/document-model/gen/operation-example/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/ph-factories.d.ts +27 -0
- package/dist/src/document-model/gen/ph-factories.d.ts.map +1 -0
- package/dist/src/document-model/gen/ph-factories.js +60 -0
- package/dist/src/document-model/gen/ph-factories.js.map +1 -0
- package/dist/src/document-model/gen/reducer.d.ts +3 -3
- package/dist/src/document-model/gen/reducer.d.ts.map +1 -1
- package/dist/src/document-model/gen/reducer.js.map +1 -1
- package/dist/src/document-model/gen/schema/zod.d.ts +6 -6
- package/dist/src/document-model/gen/schema/zod.d.ts.map +1 -1
- package/dist/src/document-model/gen/state/object.d.ts +3 -3
- package/dist/src/document-model/gen/state/object.d.ts.map +1 -1
- package/dist/src/document-model/gen/state/object.js.map +1 -1
- package/dist/src/document-model/gen/state/operations.d.ts.map +1 -1
- package/dist/src/document-model/gen/types.d.ts +5 -5
- package/dist/src/document-model/gen/types.d.ts.map +1 -1
- package/dist/src/document-model/gen/utils.d.ts +6 -7
- package/dist/src/document-model/gen/utils.d.ts.map +1 -1
- package/dist/src/document-model/gen/utils.js +6 -8
- package/dist/src/document-model/gen/utils.js.map +1 -1
- package/dist/src/document-model/gen/versioning/object.d.ts +2 -3
- package/dist/src/document-model/gen/versioning/object.d.ts.map +1 -1
- package/dist/src/document-model/gen/versioning/object.js.map +1 -1
- package/dist/src/document-model/gen/versioning/operations.d.ts.map +1 -1
- package/dist/src/document-model/module.d.ts +1 -1
- package/dist/src/document-model/module.d.ts.map +1 -1
- package/dist/src/document-model/types.d.ts +3 -3
- package/dist/src/document-model/types.d.ts.map +1 -1
- package/dist/test/document/crypto.test.js +37 -55
- package/dist/test/document/crypto.test.js.map +1 -1
- package/dist/test/document/event-vs-command.test.js +80 -50
- package/dist/test/document/event-vs-command.test.js.map +1 -1
- package/dist/test/document/local.test.js +26 -43
- package/dist/test/document/local.test.js.map +1 -1
- package/dist/test/document/operation-id.test.js +4 -6
- package/dist/test/document/operation-id.test.js.map +1 -1
- package/dist/test/document/prune.test.js +21 -34
- package/dist/test/document/prune.test.js.map +1 -1
- package/dist/test/document/reducer.test.js +99 -77
- package/dist/test/document/reducer.test.js.map +1 -1
- package/dist/test/document/skip-operations.test.js +65 -85
- package/dist/test/document/skip-operations.test.js.map +1 -1
- package/dist/test/document/undo-redo.test.js +60 -34
- package/dist/test/document/undo-redo.test.js.map +1 -1
- package/dist/test/document/utils.test.js +49 -36
- package/dist/test/document/utils.test.js.map +1 -1
- package/dist/test/document-helpers/addUndo.test.js +1 -1
- package/dist/test/document-helpers/addUndo.test.js.map +1 -1
- package/dist/test/document-helpers/attachBranch.test.js +20 -20
- package/dist/test/document-helpers/attachBranch.test.js.map +1 -1
- package/dist/test/document-helpers/conflictResolution.test.js +10 -10
- package/dist/test/document-helpers/conflictResolution.test.js.map +1 -1
- package/dist/test/document-helpers/garbageCollect.test.js +1 -1
- package/dist/test/document-helpers/garbageCollect.test.js.map +1 -1
- package/dist/test/document-helpers/groupOperationsByScope.test.js +70 -70
- package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -1
- package/dist/test/document-helpers/merge.test.js +125 -125
- package/dist/test/document-helpers/merge.test.js.map +1 -1
- package/dist/test/document-helpers/removeExistingOperations.test.js +37 -24
- package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -1
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js +15 -15
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -1
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +21 -21
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -1
- package/dist/test/document-helpers/skipHeaderOperations.test.js +33 -40
- package/dist/test/document-helpers/skipHeaderOperations.test.js.map +1 -1
- package/dist/test/document-helpers/split.test.js +2 -2
- package/dist/test/document-helpers/split.test.js.map +1 -1
- package/dist/test/document-helpers/utils.d.ts +2 -1
- package/dist/test/document-helpers/utils.d.ts.map +1 -1
- package/dist/test/document-helpers/utils.js +13 -8
- package/dist/test/document-helpers/utils.js.map +1 -1
- package/dist/test/document-model/replay.test.js +3 -20
- package/dist/test/document-model/replay.test.js.map +1 -1
- package/dist/test/document-model/skip-operations.test.js +4 -5
- package/dist/test/document-model/skip-operations.test.js.map +1 -1
- package/dist/test/document-model/validation.test.js +15 -6
- package/dist/test/document-model/validation.test.js.map +1 -1
- package/dist/test/document-model/zip.test.js +1 -1
- package/dist/test/document-model/zip.test.js.map +1 -1
- package/dist/test/helpers.d.ts +42 -8
- package/dist/test/helpers.d.ts.map +1 -1
- package/dist/test/helpers.js +55 -6
- package/dist/test/helpers.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +3 -0
- package/dist/vitest.config.js.map +1 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
Install the library:
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- NPM: `npm install @acaldas/document-model-libs`
|
|
8
|
+
- Yarn: `yarn add @acaldas/document-model-libs`
|
|
9
9
|
|
|
10
10
|
## Documentation
|
|
11
11
|
|
|
@@ -17,32 +17,32 @@ There are two ways to interact with a document:
|
|
|
17
17
|
|
|
18
18
|
```javascript
|
|
19
19
|
import {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
} from
|
|
20
|
+
actions,
|
|
21
|
+
reducer,
|
|
22
|
+
utils,
|
|
23
|
+
} from "@acaldas/document-model-libs/budget-statement";
|
|
24
24
|
|
|
25
25
|
let budgetStatement = utils.createDocument({
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
name: "March report",
|
|
27
|
+
data: { month: "2023/01" },
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
budgetStatement = reducer(
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
budgetStatement,
|
|
32
|
+
actions.addAccount([{ address: "eth:0x00" }]),
|
|
33
33
|
);
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
### Object oriented:
|
|
37
37
|
|
|
38
38
|
```javascript
|
|
39
|
-
import { BudgetStatement } from
|
|
39
|
+
import { BudgetStatement } from "@acaldas/document-model-libs/budget-statement";
|
|
40
40
|
|
|
41
41
|
const budgetStatement = new BudgetStatement({
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
name: "march",
|
|
43
|
+
data: { month: "2023/01" },
|
|
44
44
|
});
|
|
45
|
-
budgetStatement.addAccount([{ address:
|
|
45
|
+
budgetStatement.addAccount([{ address: "eth:0x00" }]);
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
## Architecture
|
|
@@ -59,24 +59,24 @@ An action is a JSON object with the action name and payload:
|
|
|
59
59
|
|
|
60
60
|
```javascript
|
|
61
61
|
{
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
type: "SET_NAME";
|
|
63
|
+
input: {
|
|
64
|
+
name: "March report";
|
|
65
|
+
}
|
|
66
66
|
}
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
To make it easier to create actions and avoid bugs, an action creator is provided for each action. This is a function that accepts the action input and returns the JSON structure. For the case above the action creator would be:
|
|
70
70
|
|
|
71
71
|
```javascript
|
|
72
|
-
state = reducer(state, setName(
|
|
72
|
+
state = reducer(state, setName("March report"));
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
An Object-oriented version is also provided. A document can be instantiated and interacted in an imperative way:
|
|
76
76
|
|
|
77
77
|
```javascript
|
|
78
78
|
const document = new Document();
|
|
79
|
-
document.setName(
|
|
79
|
+
document.setName("March report");
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
## Base Document Model
|
|
@@ -100,25 +100,25 @@ Document reducers are wrapped by the Base Document reducer, which is responsible
|
|
|
100
100
|
|
|
101
101
|
▸ For more information on Document actions, please refer to the [complete documentation](markdown/modules/Document.actions.md).
|
|
102
102
|
|
|
103
|
-
-
|
|
103
|
+
- `SET_NAME`: Changes the name of the document
|
|
104
104
|
|
|
105
105
|
```javascript
|
|
106
106
|
setName(name: string);
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
-
|
|
109
|
+
- `UNDO`: Cancels the last X operations. Defaults to 1.
|
|
110
110
|
|
|
111
111
|
```javascript
|
|
112
112
|
undo(count: number);
|
|
113
113
|
```
|
|
114
114
|
|
|
115
|
-
-
|
|
115
|
+
- `REDO`: Cancels the last X UNDO operations. Defaults to 1.
|
|
116
116
|
|
|
117
117
|
```javascript
|
|
118
118
|
redo(count: number);
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
-
-
|
|
121
|
+
- `PRUNE`: Joins multiple operations into a single `LOAD_STATE` operation. Useful to keep operations history smaller. Operations to prune are selected by index, similar to the [slice](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) method in Arrays.
|
|
122
122
|
|
|
123
123
|
```javascript
|
|
124
124
|
prune(start?: number, end?: number);
|
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 {
|
|
6
|
-
export {
|
|
7
|
-
export type { PHDocumentHeader, PHDocumentMeta } from "#document/ph-types.js";
|
|
8
|
-
export type { Action, ActionContext, ActionErrorCallback, ActionSigner, App, AttachmentInput,
|
|
9
|
-
export { baseCreateDocument,
|
|
10
|
-
export { buildOperationSignature, buildOperationSignatureMessage,
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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 {
|
|
4
|
-
export {
|
|
5
|
-
export { baseCreateDocument,
|
|
6
|
-
export { buildOperationSignature, buildOperationSignatureMessage,
|
|
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;
|
|
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,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import type { PHBaseState } from "#document/ph-types.js";
|
|
2
|
+
import type { Action } from "../types.js";
|
|
3
|
+
import type { LoadStateAction, NOOPAction, PruneAction, RedoAction, SetNameAction, UndoAction } from "./types.js";
|
|
3
4
|
/**
|
|
4
5
|
* Changes the name of the document.
|
|
5
6
|
*
|
|
@@ -43,9 +44,9 @@ 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: <
|
|
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;
|
|
50
|
-
export declare const actions: Record<string, (input: any) =>
|
|
51
|
+
export declare const actions: Record<string, (input: any) => Action>;
|
|
51
52
|
//# sourceMappingURL=creators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/creators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/creators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,UAAU,EACX,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
|
|
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":"
|
|
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 {
|
|
2
|
-
import
|
|
1
|
+
import type { PHBaseState } from "#document/ph-types.js";
|
|
2
|
+
import type { LoadStateActionInput, PruneActionInput } from "../schema/types.js";
|
|
3
|
+
import type { Action, PHDocument, 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("
|
|
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("
|
|
17
|
+
meta?: import("#document/ph-types.js").PHDocumentMeta;
|
|
17
18
|
};
|
|
18
19
|
};
|
|
19
|
-
export declare function undoOperation<TDocument extends PHDocument>(document: TDocument, action: Action
|
|
20
|
+
export declare function undoOperation<TDocument extends PHDocument>(document: TDocument, action: Action, skip: number): {
|
|
20
21
|
document: TDocument;
|
|
21
|
-
action: Action
|
|
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
|
|
26
|
+
export declare function redoOperation<TDocument extends PHDocument>(document: TDocument, action: Action, skip: number): {
|
|
26
27
|
document: TDocument;
|
|
27
|
-
action: Action
|
|
28
|
+
action: Action;
|
|
28
29
|
skip: number;
|
|
29
30
|
reuseLastOperationIndex: boolean;
|
|
30
31
|
};
|
|
31
|
-
export declare function pruneOperation<
|
|
32
|
-
export declare function loadStateOperation<
|
|
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":"
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMpE,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].
|
|
99
|
+
? actionsToKeepStart[actionsToKeepStart.length - 1].timestampUtcMs
|
|
100
100
|
: actionsToKeepEnd.length
|
|
101
|
-
? actionsToKeepEnd[0].
|
|
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
|
-
...
|
|
111
|
-
|
|
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(
|
|
126
|
+
export function loadStateOperation(document, action) {
|
|
125
127
|
return {
|
|
126
|
-
...
|
|
127
|
-
name:
|
|
128
|
-
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":"
|
|
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 {
|
|
2
|
-
import
|
|
1
|
+
import type { PHBaseState } from "./ph-types.js";
|
|
2
|
+
import type { SignalDispatch } from "./signal.js";
|
|
3
|
+
import type { PHDocument, Action, AttachmentRef, Reducer, 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<
|
|
10
|
-
protected _document:
|
|
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<
|
|
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:
|
|
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<
|
|
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<
|
|
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<
|
|
73
|
+
get initialState(): Readonly<TState>;
|
|
73
74
|
/**
|
|
74
75
|
* Returns the current document as an object
|
|
75
76
|
*/
|
|
76
|
-
toDocument(): Readonly<
|
|
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:
|
|
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,
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/document/object.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EACV,UAAU,EACV,MAAM,EACN,aAAa,EACb,OAAO,EACP,cAAc,EACf,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":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/document/object.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { PHAuthState, PHBaseState, PHDocumentState } from "./ph-types.js";
|
|
2
|
+
import type { Action, ActionContext, ActionSigner, AppActionSigner, Operation, Signature, 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;
|
|
8
|
+
export declare const operationFromAction: (action: Action, index: number, skip: number) => Operation;
|
|
9
|
+
export declare const operationFromOperation: (operation: Operation, skip: number) => 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;
|
|
37
|
+
//# sourceMappingURL=ph-factories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ph-factories.d.ts","sourceRoot":"","sources":["../../../src/document/ph-factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,gBAAgB,EACjB,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"}
|