document-model 4.1.0-dev.2 → 4.1.0-dev.20
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/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/src/document/actions/creators.d.ts +2 -2
- 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 +5 -5
- package/dist/src/document/actions/operations.d.ts.map +1 -1
- package/dist/src/document/actions/operations.js +8 -6
- package/dist/src/document/actions/operations.js.map +1 -1
- package/dist/src/document/actions/types.d.ts +25 -7
- package/dist/src/document/actions/types.d.ts.map +1 -1
- package/dist/src/document/object.d.ts +7 -7
- package/dist/src/document/object.d.ts.map +1 -1
- package/dist/src/document/object.js.map +1 -1
- package/dist/src/document/ph-factories.d.ts +12 -0
- package/dist/src/document/ph-factories.d.ts.map +1 -0
- package/dist/src/document/ph-factories.js +55 -0
- package/dist/src/document/ph-factories.js.map +1 -0
- package/dist/src/document/reducer.d.ts +6 -6
- package/dist/src/document/reducer.d.ts.map +1 -1
- package/dist/src/document/reducer.js +67 -65
- package/dist/src/document/reducer.js.map +1 -1
- package/dist/src/document/schema/types.d.ts +8 -0
- package/dist/src/document/schema/types.d.ts.map +1 -1
- package/dist/src/document/schema/zod.d.ts +18 -0
- package/dist/src/document/schema/zod.d.ts.map +1 -1
- package/dist/src/document/schema/zod.js +6 -0
- package/dist/src/document/schema/zod.js.map +1 -1
- package/dist/src/document/types.d.ts +64 -50
- package/dist/src/document/types.d.ts.map +1 -1
- package/dist/src/document/utils/base.d.ts +7 -7
- package/dist/src/document/utils/base.d.ts.map +1 -1
- package/dist/src/document/utils/base.js +11 -6
- package/dist/src/document/utils/base.js.map +1 -1
- package/dist/src/document/utils/crypto.d.ts +5 -5
- package/dist/src/document/utils/crypto.d.ts.map +1 -1
- package/dist/src/document/utils/crypto.js +18 -22
- 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 +43 -13
- package/dist/src/document/utils/document-helpers.js.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/gen/document-model.d.ts.map +1 -1
- package/dist/src/document-model/gen/document-model.js +137 -137
- package/dist/src/document-model/gen/document-model.js.map +1 -1
- package/dist/src/document-model/gen/header/actions.d.ts +25 -7
- package/dist/src/document-model/gen/header/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/header/creators.d.ts +1 -1
- package/dist/src/document-model/gen/header/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/header/creators.js +7 -8
- package/dist/src/document-model/gen/header/creators.js.map +1 -1
- package/dist/src/document-model/gen/module/actions.d.ts +21 -6
- package/dist/src/document-model/gen/module/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/module/creators.d.ts +1 -1
- package/dist/src/document-model/gen/module/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/module/creators.js +6 -7
- package/dist/src/document-model/gen/module/creators.js.map +1 -1
- package/dist/src/document-model/gen/operation/actions.d.ts +41 -11
- package/dist/src/document-model/gen/operation/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation/creators.d.ts +1 -1
- package/dist/src/document-model/gen/operation/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation/creators.js +11 -18
- package/dist/src/document-model/gen/operation/creators.js.map +1 -1
- package/dist/src/document-model/gen/operation-error/actions.d.ts +29 -8
- package/dist/src/document-model/gen/operation-error/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-error/creators.d.ts +1 -1
- package/dist/src/document-model/gen/operation-error/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-error/creators.js +8 -15
- package/dist/src/document-model/gen/operation-error/creators.js.map +1 -1
- package/dist/src/document-model/gen/operation-example/actions.d.ts +17 -5
- package/dist/src/document-model/gen/operation-example/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-example/creators.d.ts +1 -1
- package/dist/src/document-model/gen/operation-example/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/operation-example/creators.js +5 -12
- package/dist/src/document-model/gen/operation-example/creators.js.map +1 -1
- 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/index.d.ts +3 -0
- package/dist/src/document-model/gen/schema/index.d.ts.map +1 -0
- package/dist/src/document-model/gen/schema/index.js +3 -0
- package/dist/src/document-model/gen/schema/index.js.map +1 -0
- package/dist/src/document-model/gen/schema/types.d.ts +1 -1
- package/dist/src/document-model/gen/schema/types.d.ts.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/actions.d.ts +25 -7
- package/dist/src/document-model/gen/state/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/state/creators.d.ts +1 -1
- package/dist/src/document-model/gen/state/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/state/creators.js +8 -9
- package/dist/src/document-model/gen/state/creators.js.map +1 -1
- package/dist/src/document-model/gen/types.d.ts +1 -1
- package/dist/src/document-model/gen/types.d.ts.map +1 -1
- package/dist/src/document-model/gen/versioning/actions.d.ts +21 -6
- package/dist/src/document-model/gen/versioning/actions.d.ts.map +1 -1
- package/dist/src/document-model/gen/versioning/creators.d.ts +1 -1
- package/dist/src/document-model/gen/versioning/creators.d.ts.map +1 -1
- package/dist/src/document-model/gen/versioning/creators.js +6 -11
- package/dist/src/document-model/gen/versioning/creators.js.map +1 -1
- package/dist/test/document/crypto.test.js +32 -40
- package/dist/test/document/crypto.test.js.map +1 -1
- package/dist/test/document/event-vs-command.test.js +76 -46
- package/dist/test/document/event-vs-command.test.js.map +1 -1
- package/dist/test/document/local.test.js +9 -9
- package/dist/test/document/local.test.js.map +1 -1
- package/dist/test/document/reducer.test.js +80 -49
- package/dist/test/document/reducer.test.js.map +1 -1
- package/dist/test/document/skip-operations.test.js +50 -58
- package/dist/test/document/skip-operations.test.js.map +1 -1
- package/dist/test/document/undo-redo.test.js +54 -22
- package/dist/test/document/undo-redo.test.js.map +1 -1
- package/dist/test/document/utils.test.js +39 -22
- 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/groupOperationsByScope.test.js +70 -70
- package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -1
- package/dist/test/document-helpers/removeExistingOperations.test.js +31 -18
- package/dist/test/document-helpers/removeExistingOperations.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 +1 -1
- package/dist/test/document-helpers/split.test.js.map +1 -1
- package/dist/test/document-helpers/utils.d.ts +1 -0
- package/dist/test/document-helpers/utils.d.ts.map +1 -1
- package/dist/test/document-helpers/utils.js +11 -6
- package/dist/test/document-helpers/utils.js.map +1 -1
- package/dist/test/document-model/replay.test.js.map +1 -1
- package/dist/test/helpers.d.ts +24 -7
- package/dist/test/helpers.d.ts.map +1 -1
- package/dist/test/helpers.js +18 -8
- package/dist/test/helpers.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -3,11 +3,11 @@ export { reducer as documentModelReducer } from "#document-model/gen/reducer.js"
|
|
|
3
3
|
export type { Author, DocumentModelInput, Operation as DocumentModelOperation, 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
5
|
export { createExtendedState as documentModelCreateExtendedState, loadFromFile as documentModelLoadFromFile, } from "#document-model/gen/utils.js";
|
|
6
|
-
export {
|
|
6
|
+
export { applyMixins, BaseDocumentClass } from "#document/object.js";
|
|
7
7
|
export type { PHDocumentHeader, PHDocumentMeta } from "#document/ph-types.js";
|
|
8
|
-
export type { Action, ActionContext, ActionErrorCallback,
|
|
8
|
+
export type { Action, ActionContext, ActionErrorCallback, ActionSigner, ActionWithAttachment, App, AttachmentInput, 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, ActionSignatureContext as OperationSignatureContext, PartialState, PHDocument, PHReducer, Reducer, ReducerOptions, SaveToFile, SaveToFileHandle, Signal, SignalDispatch, SignalResult, Signature, StateReducer, User, ValidationError, } from "#document/types.js";
|
|
9
9
|
export { baseCreateDocument, baseCreateExtendedState, createAction, createReducer, hashDocumentStateForScope, isDocumentAction, replayDocument, } from "#document/utils/base.js";
|
|
10
|
-
export { buildOperationSignature, buildOperationSignatureMessage,
|
|
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 } 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,EACL,mBAAmB,IAAI,gCAAgC,EACvD,YAAY,IAAI,yBAAyB,GAC1C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,
|
|
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
3
|
export { createExtendedState as documentModelCreateExtendedState, loadFromFile as documentModelLoadFromFile, } from "#document-model/gen/utils.js";
|
|
4
|
-
export {
|
|
4
|
+
export { applyMixins, BaseDocumentClass } from "#document/object.js";
|
|
5
5
|
export { baseCreateDocument, baseCreateExtendedState, createAction, createReducer, hashDocumentStateForScope, isDocumentAction, replayDocument, } from "#document/utils/base.js";
|
|
6
|
-
export { buildOperationSignature, buildOperationSignatureMessage,
|
|
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 } 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,
|
|
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,WAAW,EAAE,iBAAiB,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,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,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gCAAgC,EAChC,sBAAsB,EACtB,KAAK,EACL,QAAQ,EACR,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,GACf,MAAM,qCAAqC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Action, type ExtendedState } from "../types.js";
|
|
2
2
|
import { type LoadStateAction, type NOOPAction, type PruneAction, type RedoAction, type SetNameAction, type UndoAction } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Changes the name of the document.
|
|
@@ -47,5 +47,5 @@ export declare const loadState: <S, T>(state: Pick<ExtendedState<S, T>, "state">
|
|
|
47
47
|
name: string;
|
|
48
48
|
}, operations: number) => LoadStateAction;
|
|
49
49
|
export declare const noop: (scope?: string) => NOOPAction;
|
|
50
|
-
export declare const actions: Record<string, (input: any) =>
|
|
50
|
+
export declare const actions: Record<string, (input: any) => Action>;
|
|
51
51
|
//# sourceMappingURL=creators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creators.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/creators.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,
|
|
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"}
|
|
@@ -6,7 +6,7 @@ import { createAction } from "../utils/base.js";
|
|
|
6
6
|
* @param name - The name to be set in the document.
|
|
7
7
|
* @category Actions
|
|
8
8
|
*/
|
|
9
|
-
export const setName = (name) => createAction("SET_NAME", name, undefined, SetNameActionInputSchema,
|
|
9
|
+
export const setName = (name) => createAction("SET_NAME", name, undefined, SetNameActionInputSchema, "global");
|
|
10
10
|
/**
|
|
11
11
|
* Cancels the last `count` operations.
|
|
12
12
|
*
|
|
@@ -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,
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import { type PruneActionInput } from "../schema/types.js";
|
|
2
|
-
import { type
|
|
2
|
+
import { type Action, type BaseState, type PHDocument, type StateReducer } from "../types.js";
|
|
3
3
|
export declare function setNameOperation<TDocument extends PHDocument>(document: TDocument, name: string): TDocument & {
|
|
4
4
|
header: {
|
|
5
5
|
name: string;
|
|
@@ -16,15 +16,15 @@ export declare function setNameOperation<TDocument extends PHDocument>(document:
|
|
|
16
16
|
meta?: import("../ph-types.js").PHDocumentMeta;
|
|
17
17
|
};
|
|
18
18
|
};
|
|
19
|
-
export declare function undoOperation<TDocument extends PHDocument>(document: TDocument, action:
|
|
19
|
+
export declare function undoOperation<TDocument extends PHDocument>(document: TDocument, action: Action, skip: number): {
|
|
20
20
|
document: TDocument;
|
|
21
|
-
action:
|
|
21
|
+
action: Action;
|
|
22
22
|
skip: number;
|
|
23
23
|
reuseLastOperationIndex: boolean;
|
|
24
24
|
};
|
|
25
|
-
export declare function redoOperation<TDocument extends PHDocument>(document: TDocument, action:
|
|
25
|
+
export declare function redoOperation<TDocument extends PHDocument>(document: TDocument, action: Action, skip: number): {
|
|
26
26
|
document: TDocument;
|
|
27
|
-
action:
|
|
27
|
+
action: Action;
|
|
28
28
|
skip: number;
|
|
29
29
|
reuseLastOperationIndex: boolean;
|
|
30
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAMrB,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,UAAU,EAC3D,QAAQ,EAAE,SAAS,EACnB,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;EAGb;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,UAAU,EACxD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CA8CA;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,UAAU,EACxD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CA8CA;AAED,wBAAgB,cAAc,CAAC,SAAS,SAAS,UAAU,EACzD,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,gBAAgB,EACvB,cAAc,EAAE,YAAY,CAAC,SAAS,CAAC,GACtC,SAAS,CA+DX;AAED,wBAAgB,kBAAkB,CAAC,SAAS,SAAS,UAAU,EAC7D,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CAAE,GACjE,SAAS,CAQX"}
|
|
@@ -21,7 +21,7 @@ export function undoOperation(document, action, skip) {
|
|
|
21
21
|
draft.action = noop(scope);
|
|
22
22
|
const lastOperation = sortedOperations.at(-1);
|
|
23
23
|
let nextIndex = lastOperation?.index ?? -1;
|
|
24
|
-
const isNewNoop = lastOperation?.type !== "NOOP";
|
|
24
|
+
const isNewNoop = lastOperation?.action.type !== "NOOP";
|
|
25
25
|
if (isNewNoop) {
|
|
26
26
|
nextIndex = nextIndex + 1;
|
|
27
27
|
}
|
|
@@ -63,15 +63,15 @@ export function redoOperation(document, action, skip) {
|
|
|
63
63
|
if (draft.document.clipboard.length < 1) {
|
|
64
64
|
throw new Error(`Cannot redo: no operations in the clipboard`);
|
|
65
65
|
}
|
|
66
|
-
const operationIndex = draft.document.clipboard.findLastIndex((op) => op.scope === scope);
|
|
66
|
+
const operationIndex = draft.document.clipboard.findLastIndex((op) => op.action.scope === scope);
|
|
67
67
|
if (operationIndex < 0) {
|
|
68
68
|
throw new Error(`Cannot redo: no operations in clipboard for scope "${scope}"`);
|
|
69
69
|
}
|
|
70
70
|
const operation = draft.document.clipboard.splice(operationIndex, 1)[0];
|
|
71
71
|
draft.action = castDraft({
|
|
72
|
-
type: operation.type,
|
|
73
|
-
scope: operation.scope,
|
|
74
|
-
input: operation.input,
|
|
72
|
+
type: operation.action.type,
|
|
73
|
+
scope: operation.action.scope,
|
|
74
|
+
input: operation.action.input,
|
|
75
75
|
});
|
|
76
76
|
});
|
|
77
77
|
}
|
|
@@ -100,6 +100,7 @@ export function pruneOperation(document, input, wrappedReducer) {
|
|
|
100
100
|
: actionsToKeepEnd.length
|
|
101
101
|
? actionsToKeepEnd[0].timestamp
|
|
102
102
|
: new Date().toISOString();
|
|
103
|
+
const action = loadState({ name, state: newState }, actionsToPrune.length);
|
|
103
104
|
// replaces pruned operations with LOAD_STATE
|
|
104
105
|
return replayOperations(document.initialState, {
|
|
105
106
|
...document.operations,
|
|
@@ -107,7 +108,8 @@ export function pruneOperation(document, input, wrappedReducer) {
|
|
|
107
108
|
...actionsToKeepStart,
|
|
108
109
|
{
|
|
109
110
|
skip: 0,
|
|
110
|
-
...
|
|
111
|
+
...action,
|
|
112
|
+
action,
|
|
111
113
|
timestamp: loadStateTimestamp,
|
|
112
114
|
index: loadStateIndex,
|
|
113
115
|
hash: hashDocumentStateForScope({ state: newState }, "global"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../src/document/actions/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAc,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../src/document/actions/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
import type { LoadStateActionInput, PruneActionInput, RedoAction as _RedoAction, SetNameAction as _SetNameAction, UndoAction as _UndoAction, NOOPAction as _NOOPAction } from "../schema/types.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { Action } from "../types.js";
|
|
3
3
|
export declare const SET_NAME = "SET_NAME";
|
|
4
4
|
export declare const UNDO = "UNDO";
|
|
5
5
|
export declare const REDO = "REDO";
|
|
6
6
|
export declare const PRUNE = "PRUNE";
|
|
7
7
|
export declare const LOAD_STATE = "LOAD_STATE";
|
|
8
8
|
export declare const NOOP = "NOOP";
|
|
9
|
-
export type LoadStateAction =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export type
|
|
14
|
-
|
|
9
|
+
export type LoadStateAction = Action & {
|
|
10
|
+
type: "LOAD_STATE";
|
|
11
|
+
input: LoadStateActionInput;
|
|
12
|
+
};
|
|
13
|
+
export type PruneAction = Action & {
|
|
14
|
+
type: "PRUNE";
|
|
15
|
+
input: PruneActionInput;
|
|
16
|
+
};
|
|
17
|
+
export type RedoAction = Action & {
|
|
18
|
+
type: "REDO";
|
|
19
|
+
input: _RedoAction["input"];
|
|
20
|
+
};
|
|
21
|
+
export type SetNameAction = Action & {
|
|
22
|
+
type: "SET_NAME";
|
|
23
|
+
input: _SetNameAction["input"];
|
|
24
|
+
};
|
|
25
|
+
export type UndoAction = Action & {
|
|
26
|
+
type: "UNDO";
|
|
27
|
+
input: _UndoAction["input"];
|
|
28
|
+
};
|
|
29
|
+
export type NOOPAction = Action & {
|
|
30
|
+
type: "NOOP";
|
|
31
|
+
input: _NOOPAction["input"];
|
|
32
|
+
};
|
|
15
33
|
export type DocumentAction = LoadStateAction | PruneAction | RedoAction | SetNameAction | UndoAction | NOOPAction;
|
|
16
34
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,IAAI,WAAW,EACzB,aAAa,IAAI,cAAc,EAC/B,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/document/actions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,IAAI,WAAW,EACzB,aAAa,IAAI,cAAc,EAC/B,UAAU,IAAI,WAAW,EACzB,UAAU,IAAI,WAAW,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,IAAI,SAAS,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,oBAAoB,CAAC;CAC7B,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAC9E,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEhF,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,WAAW,GACX,UAAU,GACV,aAAa,GACb,UAAU,GACV,UAAU,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type SignalDispatch } from "./signal.js";
|
|
2
|
-
import { type Action, type AttachmentRef, type BaseDocument, type BaseState, type
|
|
2
|
+
import { type Action, type AttachmentRef, type BaseDocument, type BaseState, type Reducer, type ReducerOptions } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* This is an abstract class representing a document and provides methods
|
|
5
5
|
* for creating and manipulating documents.
|
|
@@ -7,7 +7,7 @@ import { type Action, type AttachmentRef, type BaseDocument, type BaseState, typ
|
|
|
7
7
|
* @typeparam A - The type of action the document can take.
|
|
8
8
|
*/
|
|
9
9
|
export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCustomAction extends Action> {
|
|
10
|
-
protected _document: BaseDocument<TGlobalState, TLocalState
|
|
10
|
+
protected _document: BaseDocument<TGlobalState, TLocalState>;
|
|
11
11
|
private _reducer;
|
|
12
12
|
private _signalDispatch?;
|
|
13
13
|
/**
|
|
@@ -15,13 +15,13 @@ export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCust
|
|
|
15
15
|
* @param reducer - The reducer function that updates the state.
|
|
16
16
|
* @param document - The initial state of the document.
|
|
17
17
|
*/
|
|
18
|
-
constructor(reducer: Reducer<BaseDocument<TGlobalState, TLocalState
|
|
18
|
+
constructor(reducer: Reducer<BaseDocument<TGlobalState, TLocalState>>, document: BaseDocument<TGlobalState, TLocalState>, signalDispatch?: SignalDispatch);
|
|
19
19
|
/**
|
|
20
20
|
* Dispatches an action to update the state of the document.
|
|
21
21
|
* @param action - The action to dispatch.
|
|
22
22
|
* @returns The Document instance.
|
|
23
23
|
*/
|
|
24
|
-
protected dispatch(action: TCustomAction
|
|
24
|
+
protected dispatch(action: TCustomAction, options?: ReducerOptions): this;
|
|
25
25
|
/**
|
|
26
26
|
* Saves the state of the document to a file.
|
|
27
27
|
* @param path - The file path where the state should be saved.
|
|
@@ -40,7 +40,7 @@ export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCust
|
|
|
40
40
|
* @param reducer - The reducer function that updates the state.
|
|
41
41
|
* @returns The state of the document.
|
|
42
42
|
*/
|
|
43
|
-
protected static stateFromFile<TGlobalState, TLocalState, TCustomAction extends Action>(path: string, reducer: Reducer<BaseDocument<TGlobalState, TLocalState
|
|
43
|
+
protected static stateFromFile<TGlobalState, TLocalState, TCustomAction extends Action>(path: string, reducer: Reducer<BaseDocument<TGlobalState, TLocalState>>): Promise<BaseDocument<TGlobalState, TLocalState>>;
|
|
44
44
|
/**
|
|
45
45
|
* Gets the current state of the document.
|
|
46
46
|
*/
|
|
@@ -48,7 +48,7 @@ export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCust
|
|
|
48
48
|
/**
|
|
49
49
|
* Gets the list of operations performed on the document.
|
|
50
50
|
*/
|
|
51
|
-
get operations(): Readonly<import("./types.js").DocumentOperations
|
|
51
|
+
get operations(): Readonly<import("./types.js").DocumentOperations>;
|
|
52
52
|
/**
|
|
53
53
|
* Gets the name of the document.
|
|
54
54
|
*/
|
|
@@ -73,7 +73,7 @@ export declare abstract class BaseDocumentClass<TGlobalState, TLocalState, TCust
|
|
|
73
73
|
/**
|
|
74
74
|
* Returns the current document as an object
|
|
75
75
|
*/
|
|
76
|
-
toDocument(): Readonly<BaseDocument<TGlobalState, TLocalState
|
|
76
|
+
toDocument(): Readonly<BaseDocument<TGlobalState, TLocalState>>;
|
|
77
77
|
/**
|
|
78
78
|
* Gets the attachment associated with the given key.
|
|
79
79
|
* @param attachment - The key of the attachment to retrieve.
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/document/object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAIpB;;;;;GAKG;AACH,8BAAsB,iBAAiB,CACrC,YAAY,EACZ,WAAW,EACX,aAAa,SAAS,MAAM;IAE5B,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAmD;IACnE,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC;;;;OAIG;gBAED,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EACzD,QAAQ,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EACjD,cAAc,CAAC,EAAE,cAAc;IAOjC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,cAAc;IAUlE;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAInE;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM;IAI/B;;;;;OAKG;qBACoB,aAAa,CAClC,YAAY,EACZ,WAAW,EACX,aAAa,SAAS,MAAM,EAC5B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAKzE;;OAEG;IACH,IAAI,KAAK,mDAER;IAED;;OAEG;IACH,IAAI,UAAU,sDAEb;IAED;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;OAEG;IACH,IAAI,YAAY,WAEf;IAED,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB;;OAEG;IACH,IAAI,YAAY,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 +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,12 @@
|
|
|
1
|
+
import { type Action, type ActionContext, type ActionSigner, type AppActionSigner, type Operation, type Signature, type UserActionSigner } from "./types.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 declare const actionFromAction: (action: Action) => Action;
|
|
7
|
+
export declare const operationFromAction: (action: Action, index: number, skip: number) => Operation;
|
|
8
|
+
export declare const operationFromOperation: (operation: Operation, skip: number) => Operation;
|
|
9
|
+
export declare const operationWithContext: (operation: Operation, context: ActionContext) => Operation;
|
|
10
|
+
export declare const actionContext: () => ActionContext;
|
|
11
|
+
export declare const actionSigner: (user: UserActionSigner, app: AppActionSigner, signatures?: Signature[]) => ActionSigner;
|
|
12
|
+
//# 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,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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
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
|
+
timestamp: action.timestamp,
|
|
10
|
+
type: action.type,
|
|
11
|
+
input: action.input,
|
|
12
|
+
scope: action.scope,
|
|
13
|
+
context: action.context,
|
|
14
|
+
attachments: action.attachments,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export const operationFromAction = (action, index, skip) => {
|
|
18
|
+
return {
|
|
19
|
+
...action,
|
|
20
|
+
action,
|
|
21
|
+
id: generateId(),
|
|
22
|
+
timestamp: new Date().toISOString(),
|
|
23
|
+
hash: "",
|
|
24
|
+
error: undefined,
|
|
25
|
+
index,
|
|
26
|
+
skip,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export const operationFromOperation = (operation, skip) => {
|
|
30
|
+
return {
|
|
31
|
+
...operation,
|
|
32
|
+
hash: "",
|
|
33
|
+
error: undefined,
|
|
34
|
+
skip,
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export const operationWithContext = (operation, context) => {
|
|
38
|
+
if (!operation.action) {
|
|
39
|
+
throw new Error("Operation has no action");
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
...operation,
|
|
43
|
+
action: {
|
|
44
|
+
...operation.action,
|
|
45
|
+
context,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
export const actionContext = () => ({});
|
|
50
|
+
export const actionSigner = (user, app, signatures = []) => ({
|
|
51
|
+
user,
|
|
52
|
+
app,
|
|
53
|
+
signatures,
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=ph-factories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ph-factories.js","sourceRoot":"","sources":["../../../src/document/ph-factories.ts"],"names":[],"mappings":"AASA,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,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,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,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;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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type SignalDispatch } from "./signal.js";
|
|
2
|
-
import { type Action, type
|
|
2
|
+
import { type Action, type Operation, type PHDocument, type ReducerOptions, type StateReducer } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Updates the document header with the latest revision number and
|
|
5
5
|
* date of last modification.
|
|
@@ -8,7 +8,7 @@ import { type Action, type ActionFromDocument, type DefaultAction, type Operatio
|
|
|
8
8
|
* @param operation The action being applied to the document.
|
|
9
9
|
* @returns The updated document state.
|
|
10
10
|
*/
|
|
11
|
-
export declare function
|
|
11
|
+
export declare function updateHeaderRevision(document: PHDocument, scope: string): PHDocument;
|
|
12
12
|
/**
|
|
13
13
|
* Updates the document state based on the provided action.
|
|
14
14
|
*
|
|
@@ -18,7 +18,7 @@ export declare function updateHeader<TDocument extends PHDocument>(document: TDo
|
|
|
18
18
|
* @param reuseLastOperationIndex Whether to reuse the last operation index (used when a an UNDO operation is performed after an existing one).
|
|
19
19
|
* @returns The updated document state.
|
|
20
20
|
*/
|
|
21
|
-
export declare function updateDocument<TDocument extends PHDocument>(document: TDocument, action: Action
|
|
21
|
+
export declare function updateDocument<TDocument extends PHDocument>(document: TDocument, action: Action, reuseLastOperationIndex?: boolean, skip?: number, operation?: Operation): TDocument;
|
|
22
22
|
/**
|
|
23
23
|
* Processes an UNDO or REDO action.
|
|
24
24
|
*
|
|
@@ -27,9 +27,9 @@ export declare function updateDocument<TDocument extends PHDocument>(document: T
|
|
|
27
27
|
* @param skip The number of operations to skip before applying the action.
|
|
28
28
|
* @returns The updated document, calculated skip value and transformed action (if applied).
|
|
29
29
|
*/
|
|
30
|
-
export declare function processUndoRedo<TDocument extends PHDocument>(document: TDocument, action:
|
|
30
|
+
export declare function processUndoRedo<TDocument extends PHDocument>(document: TDocument, action: Action, skip: number): {
|
|
31
31
|
document: TDocument;
|
|
32
|
-
action:
|
|
32
|
+
action: Action;
|
|
33
33
|
skip: number;
|
|
34
34
|
reuseLastOperationIndex: boolean;
|
|
35
35
|
};
|
|
@@ -45,5 +45,5 @@ export declare function processUndoRedo<TDocument extends PHDocument>(document:
|
|
|
45
45
|
* specific to the document's state.
|
|
46
46
|
* @returns The new state of the document.
|
|
47
47
|
*/
|
|
48
|
-
export declare function baseReducer<TDocument extends PHDocument>(document: TDocument, action: Action
|
|
48
|
+
export declare function baseReducer<TDocument extends PHDocument>(document: TDocument, action: Action, customReducer: StateReducer<TDocument>, dispatch?: SignalDispatch, options?: ReducerOptions): TDocument;
|
|
49
49
|
//# sourceMappingURL=reducer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../src/document/reducer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../src/document/reducer.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AA+BpB;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,MAAM,GACZ,UAAU,CAcZ;AA8ED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,SAAS,SAAS,UAAU,EACzD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,uBAAuB,UAAQ,EAC/B,IAAI,SAAI,EACR,SAAS,CAAC,EAAE,SAAS,GACpB,SAAS,CAsBX;AA8BD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,SAAS,UAAU,EAC1D,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;CAClC,CASA;AAsGD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,SAAS,SAAS,UAAU,EACtD,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,YAAY,CAAC,SAAS,CAAC,EACtC,QAAQ,CAAC,EAAE,cAAc,EACzB,OAAO,GAAE,cAAmB,GAC3B,SAAS,CAuLX"}
|