document-model 4.1.0-dev.9 → 4.1.0-staging.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +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 +11 -9
- package/dist/src/document/actions/operations.js.map +1 -1
- package/dist/src/document/object.d.ts +3 -3
- 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 +34 -3
- package/dist/src/document/ph-factories.d.ts.map +1 -1
- package/dist/src/document/ph-factories.js +64 -33
- package/dist/src/document/ph-factories.js.map +1 -1
- 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 +4 -4
- package/dist/src/document/reducer.d.ts.map +1 -1
- package/dist/src/document/reducer.js +27 -29
- 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 +31 -2
- 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/types.d.ts +58 -62
- package/dist/src/document/types.d.ts.map +1 -1
- package/dist/src/document/utils/base.d.ts +5 -6
- package/dist/src/document/utils/base.d.ts.map +1 -1
- package/dist/src/document/utils/base.js +31 -30
- 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 +25 -15
- package/dist/src/document/utils/crypto.js.map +1 -1
- package/dist/src/document/utils/document-helpers.d.ts +9 -14
- 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/file.d.ts.map +1 -1
- package/dist/src/document/utils/file.js.map +1 -1
- package/dist/src/document/utils/header.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/object.d.ts +2 -2
- 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/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/types.d.ts +2 -2
- package/dist/src/document-model/gen/types.d.ts.map +1 -1
- package/dist/src/document-model/gen/utils.d.ts +1 -2
- 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/test/document/crypto.test.js +25 -48
- 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 -76
- 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/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 +1 -0
- 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.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 +25 -2
- 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/package.json +4 -2
|
@@ -8,27 +8,40 @@ import { type FileInput } from "./utils/file.js";
|
|
|
8
8
|
export type { NOOPAction } from "./schema/types.js";
|
|
9
9
|
export type { CreateChildDocumentInput, DocumentAction, FileInput, Immutable, Signal, SignalDispatch, SignalResult, };
|
|
10
10
|
export type Signature = [string, string, string, string, string];
|
|
11
|
+
export type UserActionSigner = {
|
|
12
|
+
address: string;
|
|
13
|
+
networkId: string;
|
|
14
|
+
chainId: number;
|
|
15
|
+
};
|
|
16
|
+
export type AppActionSigner = {
|
|
17
|
+
name: string;
|
|
18
|
+
key: string;
|
|
19
|
+
};
|
|
11
20
|
export type ActionSigner = {
|
|
12
|
-
user:
|
|
13
|
-
|
|
14
|
-
networkId: string;
|
|
15
|
-
chainId: number;
|
|
16
|
-
};
|
|
17
|
-
app: {
|
|
18
|
-
name: string;
|
|
19
|
-
key: string;
|
|
20
|
-
};
|
|
21
|
+
user: UserActionSigner;
|
|
22
|
+
app: AppActionSigner;
|
|
21
23
|
signatures: Signature[];
|
|
22
24
|
};
|
|
23
25
|
export type ActionContext = {
|
|
26
|
+
/** The index of the previous operation, showing intended ordering. */
|
|
27
|
+
prevOpIndex?: number;
|
|
28
|
+
/** The hash of the previous operation, showing intended state. */
|
|
29
|
+
prevOpHash?: string;
|
|
30
|
+
/** A nonce, to cover specific signing attacks and to prevent replay attacks from no-ops. */
|
|
31
|
+
nonce?: string;
|
|
32
|
+
/** The signer of the action. */
|
|
24
33
|
signer?: ActionSigner;
|
|
25
34
|
};
|
|
26
35
|
/**
|
|
27
36
|
* Defines the basic structure of an action.
|
|
28
37
|
*/
|
|
29
38
|
export type Action = {
|
|
39
|
+
/** The id of the action. This is distinct from the operation id. */
|
|
40
|
+
id: string;
|
|
30
41
|
/** The name of the action. */
|
|
31
42
|
type: string;
|
|
43
|
+
/** The timestamp of the action. */
|
|
44
|
+
timestampUtcMs: string;
|
|
32
45
|
/** The payload of the action. */
|
|
33
46
|
input: unknown;
|
|
34
47
|
/** The scope of the action */
|
|
@@ -42,26 +55,34 @@ export type ActionWithAttachment = Action & {
|
|
|
42
55
|
attachments: AttachmentInput[];
|
|
43
56
|
};
|
|
44
57
|
export type ReducerOptions = {
|
|
45
|
-
/** The number of operations to skip before this new action is applied */
|
|
58
|
+
/** The number of operations to skip before this new action is applied. This overrides the skip count in the operation. */
|
|
46
59
|
skip?: number;
|
|
47
60
|
/** When true the skip count is ignored and the action is applied regardless of the skip count */
|
|
48
61
|
ignoreSkipOperations?: boolean;
|
|
49
|
-
/** if true reuses the provided action hash */
|
|
50
|
-
reuseHash?: boolean;
|
|
51
62
|
/** if true reuses the provided action resulting state instead of replaying it */
|
|
52
63
|
reuseOperationResultingState?: boolean;
|
|
53
64
|
/** if true checks the hashes of the operations */
|
|
54
65
|
checkHashes?: boolean;
|
|
66
|
+
/** Options for performing a replay. */
|
|
67
|
+
replayOptions?: {
|
|
68
|
+
/** The previously created operation to verify against. */
|
|
69
|
+
operation: Operation;
|
|
70
|
+
};
|
|
55
71
|
/** Optional parser for the operation resulting state, uses JSON.parse by default */
|
|
56
72
|
operationResultingStateParser?: <TState>(state: string | null | undefined) => TState;
|
|
73
|
+
/**
|
|
74
|
+
* When true (default), the reducer will prune operations (garbage collect) when processing a skip.
|
|
75
|
+
* When false, it will recompute state for the skip but preserve the existing operations history.
|
|
76
|
+
*/
|
|
77
|
+
pruneOnSkip?: boolean;
|
|
57
78
|
};
|
|
58
79
|
/**
|
|
59
80
|
* A pure function that takes an action and the previous state
|
|
60
81
|
* of the document and returns the new state.
|
|
61
82
|
*/
|
|
62
|
-
export type Reducer<TDocument extends PHDocument> = (document: TDocument, action: Action
|
|
83
|
+
export type Reducer<TDocument extends PHDocument> = (document: TDocument, action: Action, dispatch?: SignalDispatch, options?: ReducerOptions) => TDocument;
|
|
63
84
|
export type PHReducer<TDocument extends PHDocument = PHDocument> = Reducer<TDocument>;
|
|
64
|
-
export type StateReducer<TDocument extends PHDocument> = (state: Draft<BaseStateFromDocument<TDocument>>, action: Action
|
|
85
|
+
export type StateReducer<TDocument extends PHDocument> = (state: Draft<BaseStateFromDocument<TDocument>>, action: Action, dispatch?: SignalDispatch) => BaseStateFromDocument<TDocument> | undefined;
|
|
65
86
|
export type PHStateReducer<TDocument extends PHDocument = PHDocument> = StateReducer<TDocument>;
|
|
66
87
|
/**
|
|
67
88
|
* An operation that was applied to a {@link BaseDocument}.
|
|
@@ -74,20 +95,10 @@ export type PHStateReducer<TDocument extends PHDocument = PHDocument> = StateRed
|
|
|
74
95
|
* @typeParam A - The type of the action.
|
|
75
96
|
*/
|
|
76
97
|
export type Operation = {
|
|
77
|
-
/** The name of the action. */
|
|
78
|
-
type: string;
|
|
79
|
-
/** The payload of the action. */
|
|
80
|
-
input: unknown;
|
|
81
|
-
/** The scope of the action */
|
|
82
|
-
scope: string;
|
|
83
|
-
/** The attachments included in the action. */
|
|
84
|
-
attachments?: AttachmentInput[] | undefined;
|
|
85
|
-
/** The context of the action. */
|
|
86
|
-
context?: ActionContext;
|
|
87
98
|
/** Position of the operation in the history */
|
|
88
99
|
index: number;
|
|
89
100
|
/** Timestamp of when the operation was added */
|
|
90
|
-
|
|
101
|
+
timestampUtcMs: string;
|
|
91
102
|
/** Hash of the resulting document data after the operation */
|
|
92
103
|
hash: string;
|
|
93
104
|
/** The number of operations skipped with this Operation */
|
|
@@ -96,14 +107,12 @@ export type Operation = {
|
|
|
96
107
|
error?: string;
|
|
97
108
|
/** The resulting state after the operation */
|
|
98
109
|
resultingState?: string;
|
|
99
|
-
/** Unique operation id */
|
|
110
|
+
/** Unique operation id. This is distinct from the action id and can be undefined and assigned later. */
|
|
100
111
|
id?: string;
|
|
101
112
|
/**
|
|
102
113
|
* The action that was applied to the document to produce this operation.
|
|
103
|
-
*
|
|
104
|
-
* TODO: this will not be optional in the future.
|
|
105
114
|
*/
|
|
106
|
-
action
|
|
115
|
+
action: Action;
|
|
107
116
|
};
|
|
108
117
|
export type Meta = {
|
|
109
118
|
preferredEditor?: string;
|
|
@@ -131,11 +140,11 @@ export type AttachmentInput = Attachment & {
|
|
|
131
140
|
*
|
|
132
141
|
*/
|
|
133
142
|
export type FileRegistry = Record<AttachmentRef, Attachment>;
|
|
134
|
-
export type BaseState<
|
|
143
|
+
export type BaseState<TGlobalState, TLocalState> = PHBaseState & {
|
|
135
144
|
/**
|
|
136
145
|
* Use {@link PHBaseState} `document` instead.
|
|
137
146
|
*/
|
|
138
|
-
global:
|
|
147
|
+
global: TGlobalState;
|
|
139
148
|
/**
|
|
140
149
|
* Not a requirement for BaseState, but could be in extended states.
|
|
141
150
|
*/
|
|
@@ -143,34 +152,25 @@ export type BaseState<TDocumentState, TLocalState> = PHBaseState<TDocumentState>
|
|
|
143
152
|
};
|
|
144
153
|
export type PartialState<TState> = TState | Partial<TState>;
|
|
145
154
|
export type CreateState<TDocument extends PHDocument> = (state?: PartialState<BaseState<PartialState<GlobalStateFromDocument<TDocument>>, PartialState<LocalStateFromDocument<TDocument>>>>) => BaseStateFromDocument<TDocument>;
|
|
146
|
-
export type CreateExtendedState<TDocument extends BaseDocument<any, any>> = (extendedState?: Partial<ExtendedState<PartialState<GlobalStateFromDocument<TDocument>>, PartialState<LocalStateFromDocument<TDocument>>>>, createState?: CreateState<TDocument>) => ExtendedStateFromDocument<TDocument>;
|
|
147
155
|
export type SaveToFileHandle = (document: PHDocument, input: FileSystemFileHandle) => void | Promise<void>;
|
|
148
156
|
export type SaveToFile = (document: PHDocument, path: string, name?: string) => string | Promise<string>;
|
|
149
157
|
export type LoadFromInput<TDocument extends BaseDocument<any, any>> = (input: FileInput) => TDocument | Promise<TDocument>;
|
|
150
158
|
export type LoadFromFile<TDocument extends BaseDocument<any, any>> = (path: string) => TDocument | Promise<TDocument>;
|
|
151
|
-
export type CreateDocument<TDocument extends BaseDocument<any, any>> = (initialState?: Partial<
|
|
152
|
-
export type ExtendedState<TDocumentState, TLocalState> = {
|
|
153
|
-
/** The document model specific state. */
|
|
154
|
-
state: BaseState<TDocumentState, TLocalState>;
|
|
155
|
-
/** The index of document attachments. */
|
|
156
|
-
attachments?: FileRegistry;
|
|
157
|
-
};
|
|
159
|
+
export type CreateDocument<TDocument extends BaseDocument<any, any>> = (initialState?: Partial<PHBaseState>, createState?: CreateState<TDocument>) => TDocument;
|
|
158
160
|
export type DocumentOperations = Record<string, Operation[]>;
|
|
159
161
|
export type MappedOperation = {
|
|
160
162
|
ignore: boolean;
|
|
161
163
|
operation: Operation;
|
|
162
164
|
};
|
|
163
165
|
export type DocumentOperationsIgnoreMap = Record<string, MappedOperation[]>;
|
|
164
|
-
export type
|
|
166
|
+
export type ActionSignatureContext = {
|
|
165
167
|
documentId: string;
|
|
166
|
-
signer:
|
|
167
|
-
|
|
168
|
-
};
|
|
169
|
-
operation: Operation;
|
|
168
|
+
signer: ActionSigner;
|
|
169
|
+
action: Action;
|
|
170
170
|
previousStateHash: string;
|
|
171
171
|
};
|
|
172
|
-
export type
|
|
173
|
-
export type
|
|
172
|
+
export type ActionSigningHandler = (message: Uint8Array) => Promise<Uint8Array>;
|
|
173
|
+
export type ActionVerificationHandler = (publicKey: string, signature: Uint8Array, data: Uint8Array) => Promise<boolean>;
|
|
174
174
|
/**
|
|
175
175
|
* The base type of a document model.
|
|
176
176
|
*
|
|
@@ -185,13 +185,16 @@ export type BaseDocument<TDocumentState, TLocalState> = {
|
|
|
185
185
|
header: PHDocumentHeader;
|
|
186
186
|
/** The history of the document. */
|
|
187
187
|
history: PHDocumentHistory;
|
|
188
|
-
|
|
188
|
+
/** The document model specific state. */
|
|
189
|
+
state: BaseState<TDocumentState, TLocalState>;
|
|
190
|
+
/** The initial state of the document, enabling replaying operations. */
|
|
191
|
+
initialState: BaseState<TDocumentState, TLocalState>;
|
|
189
192
|
/** The operations history of the document. */
|
|
190
193
|
operations: DocumentOperations;
|
|
191
|
-
/** The initial state of the document, enabling replaying operations. */
|
|
192
|
-
initialState: ExtendedState<TDocumentState, TLocalState>;
|
|
193
194
|
/** A list of undone operations */
|
|
194
195
|
clipboard: Operation[];
|
|
196
|
+
/** The index of document attachments. */
|
|
197
|
+
attachments?: FileRegistry;
|
|
195
198
|
};
|
|
196
199
|
export type PHDocument<TGlobalState = unknown, TLocalState = unknown> = BaseDocument<TGlobalState, TLocalState>;
|
|
197
200
|
/**
|
|
@@ -204,7 +207,6 @@ export type AttachmentRef = string;
|
|
|
204
207
|
export type DocumentModelUtils<TDocument extends PHDocument> = {
|
|
205
208
|
fileExtension: string;
|
|
206
209
|
createState: CreateState<TDocument>;
|
|
207
|
-
createExtendedState: CreateExtendedState<TDocument>;
|
|
208
210
|
createDocument: CreateDocument<TDocument>;
|
|
209
211
|
loadFromFile: LoadFromFile<TDocument>;
|
|
210
212
|
loadFromInput: LoadFromInput<TDocument>;
|
|
@@ -230,21 +232,16 @@ export type GetDocumentOptions = ReducerOptions & {
|
|
|
230
232
|
checkHashes?: boolean;
|
|
231
233
|
};
|
|
232
234
|
export type EditorContext = {
|
|
233
|
-
theme: "light" | "dark";
|
|
234
235
|
debug?: boolean;
|
|
235
|
-
user?: User;
|
|
236
236
|
readMode?: boolean;
|
|
237
237
|
selectedTimelineRevision?: string | number | null;
|
|
238
238
|
getDocumentRevision?: (options?: GetDocumentOptions) => Promise<PHDocument> | undefined;
|
|
239
239
|
};
|
|
240
240
|
export type ActionErrorCallback = (error: unknown) => void;
|
|
241
241
|
export type EditorDispatch = (action: Action, onErrorCallback?: ActionErrorCallback) => void;
|
|
242
|
-
export type EditorProps
|
|
243
|
-
document:
|
|
244
|
-
dispatch: EditorDispatch;
|
|
242
|
+
export type EditorProps = {
|
|
243
|
+
document: PHDocument;
|
|
245
244
|
context: EditorContext;
|
|
246
|
-
error?: unknown;
|
|
247
|
-
documentNodeName?: string;
|
|
248
245
|
};
|
|
249
246
|
export type SubgraphModule = {
|
|
250
247
|
id: string;
|
|
@@ -258,10 +255,10 @@ export type ImportScriptModule = {
|
|
|
258
255
|
gql: string;
|
|
259
256
|
endpoint: string;
|
|
260
257
|
};
|
|
261
|
-
export type EditorModule
|
|
262
|
-
Component: FC<EditorProps
|
|
258
|
+
export type EditorModule = {
|
|
259
|
+
Component: FC<EditorProps>;
|
|
263
260
|
documentTypes: string[];
|
|
264
|
-
config:
|
|
261
|
+
config: {
|
|
265
262
|
id: string;
|
|
266
263
|
disableExternalControls?: boolean;
|
|
267
264
|
documentToolbarEnabled?: boolean;
|
|
@@ -309,7 +306,7 @@ export type Manifest = {
|
|
|
309
306
|
export type DocumentModelLib<TDocument extends PHDocument = PHDocument> = {
|
|
310
307
|
manifest: Manifest;
|
|
311
308
|
documentModels: DocumentModelModule<TDocument>[];
|
|
312
|
-
editors: EditorModule
|
|
309
|
+
editors: EditorModule[];
|
|
313
310
|
subgraphs: SubgraphModule[];
|
|
314
311
|
importScripts: ImportScriptModule[];
|
|
315
312
|
};
|
|
@@ -333,7 +330,6 @@ export type DocumentStateFromDocument<TDocument extends PHDocument> = ExtractPHD
|
|
|
333
330
|
export type GlobalStateFromDocument<TDocument extends PHDocument> = ExtractPHDocumentGenerics<TDocument>["globalState"];
|
|
334
331
|
export type LocalStateFromDocument<TDocument extends PHDocument> = ExtractPHDocumentGenerics<TDocument>["localState"];
|
|
335
332
|
export type BaseStateFromDocument<TDocument extends PHDocument> = BaseState<DocumentStateFromDocument<TDocument>, LocalStateFromDocument<TDocument>>;
|
|
336
|
-
export type ExtendedStateFromDocument<TDocument extends PHDocument> = ExtendedState<PartialState<DocumentStateFromDocument<TDocument>>, PartialState<LocalStateFromDocument<TDocument>>>;
|
|
337
333
|
export type Maybe<T> = T | null;
|
|
338
334
|
export type InputMaybe<T> = T | null | undefined;
|
|
339
335
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/document/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/document/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type PHDocumentHeader } from "#document/ph-types.js";
|
|
1
|
+
import { type PHBaseState, type PHDocumentHeader } from "#document/ph-types.js";
|
|
2
2
|
import { baseReducer } from "../reducer.js";
|
|
3
3
|
import { type UndoAction, type UndoRedoAction } from "../schema/types.js";
|
|
4
4
|
import { type SignalDispatch } from "../signal.js";
|
|
5
|
-
import { type Action, type CreateState, type DocumentAction, type DocumentOperations, type DocumentOperationsIgnoreMap, type
|
|
5
|
+
import { type Action, type BaseStateFromDocument, type CreateState, type DocumentAction, type DocumentOperations, type DocumentOperationsIgnoreMap, type MappedOperation, type Operation, type PHDocument, type Reducer, type StateReducer } from "../types.js";
|
|
6
6
|
export declare function isNoopOperation<TOp extends {
|
|
7
7
|
type: string;
|
|
8
8
|
skip: number;
|
|
@@ -53,12 +53,11 @@ export declare function createAction<TAction extends Action>(type: TAction["type
|
|
|
53
53
|
* @returns The new reducer.
|
|
54
54
|
*/
|
|
55
55
|
export declare function createReducer<TDocument extends PHDocument>(stateReducer: StateReducer<TDocument>, documentReducer?: typeof baseReducer): Reducer<TDocument>;
|
|
56
|
-
export declare function baseCreateExtendedState<TDocument extends PHDocument>(initialState?: Partial<ExtendedState<PartialState<GlobalStateFromDocument<TDocument>>, PartialState<LocalStateFromDocument<TDocument>>>>, createState?: CreateState<TDocument>): ExtendedStateFromDocument<TDocument>;
|
|
57
56
|
/**
|
|
58
57
|
* Important note: it is the responsibility of the caller to set the document type
|
|
59
58
|
* on the header.
|
|
60
59
|
*/
|
|
61
|
-
export declare function baseCreateDocument<TDocument extends PHDocument>(
|
|
60
|
+
export declare function baseCreateDocument<TDocument extends PHDocument>(createState: CreateState<TDocument>, initialState?: Partial<PHBaseState>): TDocument;
|
|
62
61
|
export declare function hashDocumentStateForScope(document: {
|
|
63
62
|
state: {
|
|
64
63
|
[key: string]: unknown;
|
|
@@ -76,13 +75,13 @@ export declare function readOnly<T>(value: T): Readonly<T>;
|
|
|
76
75
|
export declare function mapSkippedOperations(operations: Operation[], skippedHeadOperations?: number): MappedOperation[];
|
|
77
76
|
export declare function sortMappedOperations(operations: DocumentOperationsIgnoreMap): MappedOperation[];
|
|
78
77
|
export declare function getDocumentLastModified(document: PHDocument): string;
|
|
79
|
-
export declare function replayOperations<TDocument extends PHDocument>(initialState:
|
|
78
|
+
export declare function replayOperations<TDocument extends PHDocument>(initialState: BaseStateFromDocument<TDocument>, clearedOperations: DocumentOperations, stateReducer: StateReducer<TDocument>, dispatch?: SignalDispatch, header?: PHDocumentHeader, documentReducer?: typeof baseReducer, skipHeaderOperations?: SkipHeaderOperations, options?: ReplayDocumentOptions): TDocument;
|
|
80
79
|
export type SkipHeaderOperations = Partial<Record<string, number>>;
|
|
81
80
|
export type ReplayDocumentOptions = {
|
|
82
81
|
checkHashes?: boolean;
|
|
83
82
|
reuseOperationResultingState?: boolean;
|
|
84
83
|
operationResultingStateParser?: <TState>(state: string) => TState;
|
|
85
84
|
};
|
|
86
|
-
export declare function replayDocument<TDocument extends PHDocument>(initialState:
|
|
85
|
+
export declare function replayDocument<TDocument extends PHDocument>(initialState: BaseStateFromDocument<TDocument>, operations: DocumentOperations, reducer: Reducer<TDocument>, dispatch?: SignalDispatch, header?: PHDocumentHeader, skipHeaderOperations?: SkipHeaderOperations, options?: ReplayDocumentOptions): TDocument;
|
|
87
86
|
export declare function parseResultingState<TState>(state: string | null | undefined): TState;
|
|
88
87
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import stringifyJson from "safe-stable-stringify";
|
|
|
3
3
|
import { ZodError } from "zod";
|
|
4
4
|
import { LOAD_STATE, NOOP, PRUNE, REDO, SET_NAME, UNDO, } from "../actions/types.js";
|
|
5
5
|
import { baseReducer, updateHeaderRevision } from "../reducer.js";
|
|
6
|
+
import { generateId } from "./crypto.js";
|
|
6
7
|
import { sortOperations } from "./document-helpers.js";
|
|
7
8
|
import { InvalidActionInputError, InvalidActionInputZodError, } from "./errors.js";
|
|
8
9
|
import { createUnsignedHeader } from "./header.js";
|
|
@@ -49,6 +50,8 @@ export function createAction(type, input, attachments, validator, scope = "globa
|
|
|
49
50
|
throw new Error(`Invalid action type: ${JSON.stringify(type)}`);
|
|
50
51
|
}
|
|
51
52
|
const action = {
|
|
53
|
+
id: generateId(),
|
|
54
|
+
timestampUtcMs: new Date().toISOString(),
|
|
52
55
|
type,
|
|
53
56
|
input,
|
|
54
57
|
scope,
|
|
@@ -93,30 +96,23 @@ export function createReducer(stateReducer, documentReducer = baseReducer) {
|
|
|
93
96
|
};
|
|
94
97
|
return reducer;
|
|
95
98
|
}
|
|
96
|
-
export function baseCreateExtendedState(initialState, createState) {
|
|
97
|
-
return {
|
|
98
|
-
state: createState?.(initialState?.state) ??
|
|
99
|
-
(initialState?.state ?? {
|
|
100
|
-
global: {},
|
|
101
|
-
local: {},
|
|
102
|
-
}),
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
99
|
/**
|
|
106
100
|
* Important note: it is the responsibility of the caller to set the document type
|
|
107
101
|
* on the header.
|
|
108
102
|
*/
|
|
109
|
-
export function baseCreateDocument(
|
|
110
|
-
const state =
|
|
103
|
+
export function baseCreateDocument(createState, initialState) {
|
|
104
|
+
const state = createState(initialState);
|
|
111
105
|
const header = createUnsignedHeader();
|
|
112
|
-
|
|
113
|
-
...state,
|
|
106
|
+
const phDocument = {
|
|
114
107
|
header,
|
|
108
|
+
state,
|
|
115
109
|
initialState: state,
|
|
116
110
|
operations: { global: [], local: [] },
|
|
117
111
|
clipboard: [],
|
|
118
112
|
attachments: {},
|
|
113
|
+
history: [],
|
|
119
114
|
};
|
|
115
|
+
return phDocument;
|
|
120
116
|
}
|
|
121
117
|
export function hashDocumentStateForScope(document, scope = "global") {
|
|
122
118
|
const stateString = stringifyJson(document.state[scope] || "");
|
|
@@ -168,15 +164,20 @@ export function mapSkippedOperations(operations, skippedHeadOperations) {
|
|
|
168
164
|
export function sortMappedOperations(operations) {
|
|
169
165
|
return Object.values(operations)
|
|
170
166
|
.flatMap((array) => array)
|
|
171
|
-
.sort((a, b) => new Date(a.operation.
|
|
172
|
-
new Date(b.operation.
|
|
167
|
+
.sort((a, b) => new Date(a.operation.timestampUtcMs).getTime() -
|
|
168
|
+
new Date(b.operation.timestampUtcMs).getTime());
|
|
173
169
|
}
|
|
174
170
|
// gets the last modified timestamp of a document from§
|
|
175
171
|
// it's operations, falling back to the initial state
|
|
176
172
|
export function getDocumentLastModified(document) {
|
|
177
173
|
const sortedOperations = sortOperations(Object.values(document.operations).flat());
|
|
178
|
-
return (sortedOperations.at(-1).
|
|
174
|
+
return (sortedOperations.at(-1).timestampUtcMs ||
|
|
175
|
+
document.header.lastModifiedAtUtcIso);
|
|
179
176
|
}
|
|
177
|
+
// Default createState function that just returns the state as-is
|
|
178
|
+
const defaultCreateState = (state) => {
|
|
179
|
+
return state;
|
|
180
|
+
};
|
|
180
181
|
// Runs the operations on the initial data using the
|
|
181
182
|
// provided reducer, wrapped with the document reducer.
|
|
182
183
|
// This rebuilds the document according to the provided actions.
|
|
@@ -215,11 +216,8 @@ export function replayDocument(initialState, operations, reducer, dispatch, head
|
|
|
215
216
|
const scopeState = operationResultingStateParser(opWithState.resultingState);
|
|
216
217
|
documentState = {
|
|
217
218
|
...documentState,
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
// TODO how to deal with attachments?
|
|
221
|
-
[scope]: scopeState,
|
|
222
|
-
},
|
|
219
|
+
// TODO how to deal with attachments?
|
|
220
|
+
[scope]: scopeState,
|
|
223
221
|
};
|
|
224
222
|
initialOperations[scope].push(...scopeOperations.slice(0, index + 1));
|
|
225
223
|
operationsToReplay.push(...scopeOperations.slice(index + 1));
|
|
@@ -234,7 +232,7 @@ export function replayDocument(initialState, operations, reducer, dispatch, head
|
|
|
234
232
|
operationsToReplay.push(...Object.values(operations).flat());
|
|
235
233
|
}
|
|
236
234
|
// builds a new document from the initial data
|
|
237
|
-
const document = baseCreateDocument(documentState);
|
|
235
|
+
const document = baseCreateDocument((defaultCreateState), documentState);
|
|
238
236
|
if (header?.slug) {
|
|
239
237
|
document.header.slug = header.slug;
|
|
240
238
|
}
|
|
@@ -245,10 +243,12 @@ export function replayDocument(initialState, operations, reducer, dispatch, head
|
|
|
245
243
|
// then replays them
|
|
246
244
|
if (operationsToReplay.length) {
|
|
247
245
|
result = operationsToReplay.reduce((document, operation) => {
|
|
248
|
-
const doc = reducer(document, operation, dispatch, {
|
|
249
|
-
skip: operation.skip,
|
|
246
|
+
const doc = reducer(document, operation.action, dispatch, {
|
|
250
247
|
ignoreSkipOperations: true,
|
|
251
|
-
|
|
248
|
+
checkHashes,
|
|
249
|
+
replayOptions: {
|
|
250
|
+
operation,
|
|
251
|
+
},
|
|
252
252
|
});
|
|
253
253
|
return doc;
|
|
254
254
|
}, document);
|
|
@@ -259,7 +259,7 @@ export function replayDocument(initialState, operations, reducer, dispatch, head
|
|
|
259
259
|
for (const scopeOperations of Object.values(initialOperations)) {
|
|
260
260
|
const lastOperation = scopeOperations.at(-1);
|
|
261
261
|
if (lastOperation) {
|
|
262
|
-
result = updateHeaderRevision(result, lastOperation.scope);
|
|
262
|
+
result = updateHeaderRevision(result, lastOperation.action.scope);
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
265
|
}
|
|
@@ -269,7 +269,7 @@ export function replayDocument(initialState, operations, reducer, dispatch, head
|
|
|
269
269
|
for (const scope of Object.keys(result.state)) {
|
|
270
270
|
for (let i = operationsToReplay.length - 1; i >= 0; i--) {
|
|
271
271
|
const operation = operationsToReplay[i];
|
|
272
|
-
if (operation.scope !== scope) {
|
|
272
|
+
if (operation.action.scope !== scope) {
|
|
273
273
|
continue;
|
|
274
274
|
}
|
|
275
275
|
if (operation.hash !== hashDocumentStateForScope(result, scope)) {
|
|
@@ -290,7 +290,8 @@ export function replayDocument(initialState, operations, reducer, dispatch, head
|
|
|
290
290
|
...result.operations[scope].map((operation, index) => {
|
|
291
291
|
return {
|
|
292
292
|
...operation,
|
|
293
|
-
timestamp: operations[scope][index]?.
|
|
293
|
+
timestamp: operations[scope][index]?.timestampUtcMs ??
|
|
294
|
+
operation.timestampUtcMs,
|
|
294
295
|
};
|
|
295
296
|
}),
|
|
296
297
|
],
|
|
@@ -302,8 +303,8 @@ export function replayDocument(initialState, operations, reducer, dispatch, head
|
|
|
302
303
|
: Object.values(resultOperations).reduce((acc, curr) => {
|
|
303
304
|
const operation = curr.at(-1);
|
|
304
305
|
if (operation) {
|
|
305
|
-
if (operation.
|
|
306
|
-
return operation.
|
|
306
|
+
if (operation.timestampUtcMs > acc) {
|
|
307
|
+
return operation.timestampUtcMs;
|
|
307
308
|
}
|
|
308
309
|
}
|
|
309
310
|
return acc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/document/utils/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,IAAI,GACL,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/document/utils/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { type Action, type
|
|
1
|
+
import { type Action, type ActionSignatureContext, type ActionSigner, type ActionSigningHandler, type ActionVerificationHandler, type PHDocument, type Reducer, type Signature } from "../types.js";
|
|
2
2
|
export declare function generateId(method?: "UUIDv4"): string;
|
|
3
3
|
export declare function getUnixTimestamp(date: Date | string): string;
|
|
4
|
-
export declare function buildOperationSignatureParams({ documentId, signer,
|
|
4
|
+
export declare function buildOperationSignatureParams({ documentId, signer, action, previousStateHash, }: ActionSignatureContext): [string, string, string, string];
|
|
5
5
|
export declare function buildOperationSignatureMessage(params: [string, string, string, string]): Uint8Array;
|
|
6
6
|
export declare function ab2hex(ab: ArrayBuffer | ArrayBufferView): string;
|
|
7
7
|
export declare function hex2ab(hex: string): Uint8Array<ArrayBuffer>;
|
|
8
|
-
export declare function buildOperationSignature(context:
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function verifyOperationSignature(signature: Signature, signer: Omit<ActionSigner, "signatures">, verifyHandler:
|
|
8
|
+
export declare function buildOperationSignature(context: ActionSignatureContext, signMethod: ActionSigningHandler): Promise<Signature>;
|
|
9
|
+
export declare function buildSignedAction<TDocument extends PHDocument>(action: Action, reducer: Reducer<TDocument>, document: TDocument, signer: ActionSigner, signHandler: ActionSigningHandler): Promise<import("../types.js").Operation>;
|
|
10
|
+
export declare function verifyOperationSignature(signature: Signature, signer: Omit<ActionSigner, "signatures">, verifyHandler: ActionVerificationHandler): Promise<boolean>;
|
|
11
11
|
//# sourceMappingURL=crypto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/crypto.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../src/document/utils/crypto.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAErB,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAYpD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,UAAU,EACV,MAAM,EACN,MAAM,EACN,iBAAiB,GAClB,EAAE,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAU3D;AAID,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACvC,UAAU,CAIZ;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,WAAW,GAAG,eAAe,GAAG,MAAM,CAKhE;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,2BAMjC;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,sBAAsB,EAC/B,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,SAAS,CAAC,CAKpB;AAED,wBAAsB,iBAAiB,CAAC,SAAS,SAAS,UAAU,EAClE,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,EAC3B,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,oBAAoB,4CA8BlC;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EACxC,aAAa,EAAE,yBAAyB,oBAOzC"}
|