@dialecte/core 0.3.0 → 0.4.0
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/document/document.d.ts +20 -10
- package/dist/document/document.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/project/index.d.ts +1 -1
- package/dist/project/index.d.ts.map +1 -1
- package/dist/project/project.d.ts +32 -2
- package/dist/project/project.d.ts.map +1 -1
- package/dist/project/types.d.ts +51 -1
- package/dist/project/types.d.ts.map +1 -1
- package/dist/{project-XmB3YqMT.js → project-CblzZXzn.js} +98 -44
- package/dist/store/in-memory/in-memory-store.d.ts +4 -0
- package/dist/store/in-memory/in-memory-store.d.ts.map +1 -1
- package/dist/store/local/dexie-store.d.ts +4 -0
- package/dist/store/local/dexie-store.d.ts.map +1 -1
- package/dist/store/store.types.d.ts +5 -0
- package/dist/store/store.types.d.ts.map +1 -1
- package/dist/test.js +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { Query } from './query';
|
|
|
2
2
|
import { Transaction } from './transaction';
|
|
3
3
|
import { PreparedTransaction, DocumentState } from './types';
|
|
4
4
|
import { AllExtensions, ExtensionsRegistry, QueryExtensions } from './types.extensions';
|
|
5
|
+
import { ProjectChannelMessage } from '../project/types';
|
|
5
6
|
import { Store } from '../store';
|
|
6
7
|
import { AnyDialecteConfig, DialecteHooks } from '../types';
|
|
7
8
|
/**
|
|
@@ -22,19 +23,28 @@ export declare class Document<GenericConfig extends AnyDialecteConfig, GenericEx
|
|
|
22
23
|
protected hooks: DialecteHooks<GenericConfig> | undefined;
|
|
23
24
|
readonly documentId: string;
|
|
24
25
|
private extensionsRegistry?;
|
|
26
|
+
/**
|
|
27
|
+
* Observable state, shared with the owning Project's DocumentEntry.
|
|
28
|
+
* Every Document instance opened for the same documentId mutates the same
|
|
29
|
+
* object, so commits (local or folded in from other tabs by the Project)
|
|
30
|
+
* are visible to all of them without any same-tab messaging.
|
|
31
|
+
*/
|
|
25
32
|
readonly state: DocumentState;
|
|
26
|
-
/** Track concurrent transactions to manage loading flag */
|
|
27
|
-
private activeTransactions;
|
|
28
33
|
/**
|
|
29
|
-
* BroadcastChannel
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* BroadcastChannel does not deliver messages back to the sender,
|
|
34
|
-
* so no self-filter is needed.
|
|
34
|
+
* Name of the project's BroadcastChannel. Open your own instance
|
|
35
|
+
* (`new BroadcastChannel(doc.channelName)`) to receive ProjectChannelMessage
|
|
36
|
+
* events for this project, same-tab and cross-tab.
|
|
35
37
|
*/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
readonly channelName: string;
|
|
39
|
+
/** Announce a mutation on the project channel (provided by the owning Project) */
|
|
40
|
+
private notify;
|
|
41
|
+
/** Track concurrent transactions to manage loading flag */
|
|
42
|
+
private activeTransactions;
|
|
43
|
+
constructor(store: Store, config: GenericConfig, documentId: string, extensions: GenericExtension | undefined, hooks: DialecteHooks<GenericConfig> | undefined, project: {
|
|
44
|
+
state: DocumentState;
|
|
45
|
+
channelName: string;
|
|
46
|
+
notify: (message: ProjectChannelMessage) => void;
|
|
47
|
+
});
|
|
38
48
|
private withQueryExtensions;
|
|
39
49
|
private withAllExtensions;
|
|
40
50
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/document/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC5F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE/D;;;;;;;;;;;GAWG;AACH,qBAAa,QAAQ,CACpB,aAAa,SAAS,iBAAiB,EACvC,gBAAgB,SAAS,kBAAkB,GAAG,EAAE;IAEhD,SAAS,CAAC,KAAK,EAAE,KAAK,CAAA;IACtB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAA;IAC/B,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAkB;IAE7C,QAAQ,CAAC,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/document/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE/D;;;;;;;;;;;GAWG;AACH,qBAAa,QAAQ,CACpB,aAAa,SAAS,iBAAiB,EACvC,gBAAgB,SAAS,kBAAkB,GAAG,EAAE;IAEhD,SAAS,CAAC,KAAK,EAAE,KAAK,CAAA;IACtB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAA;IAC/B,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAkB;IAE7C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAE5B,kFAAkF;IAClF,OAAO,CAAC,MAAM,CAA0C;IAExD,2DAA2D;IAC3D,OAAO,CAAC,kBAAkB,CAAI;gBAG7B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,SAAS,EAC/C,OAAO,EAAE;QACR,KAAK,EAAE,aAAa,CAAA;QACpB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAA;KAChD;IAcF,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,aAAa,CAAC;IAI7C,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAEpE;IAID;;;OAGG;IACH,SAAS,CAAC,iBAAiB,IAAI,WAAW,CAAC,aAAa,CAAC;IAInD,WAAW,CAAC,CAAC,EAClB,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACpF,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,CAAC,CAAC;IA+Cb;;;;;;;;;;;;;;;;;;;OAmBG;IACG,OAAO,CACZ,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EACvF,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAgGhE,iCAAiC;IACjC,KAAK,IAAI,IAAI;IAIb,wDAAwD;IAClD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as b, U as x, V as S, W as C, X as w, Y as T, Z as E, _ as D, a as O, at as k, b as A, c as j, ct as M, d as N, et as P, f as F, g as I, h as L, i as R, it as z, j as B, k as V, l as H, lt as U, m as W, n as G, nt as K, o as q, ot as J, p as Y, q as X, r as Z, rt as Q, s as $, st as ee, t as te, tt as ne, u as re, ut as ie, v as ae, w as oe, x as se, y as ce } from "./project-
|
|
1
|
+
import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as _, R as v, S as y, T as b, U as x, V as S, W as C, X as w, Y as T, Z as E, _ as D, a as O, at as k, b as A, c as j, ct as M, d as N, et as P, f as F, g as I, h as L, i as R, it as z, j as B, k as V, l as H, lt as U, m as W, n as G, nt as K, o as q, ot as J, p as Y, q as X, r as Z, rt as Q, s as $, st as ee, t as te, tt as ne, u as re, ut as ie, v as ae, w as oe, x as se, y as ce } from "./project-CblzZXzn.js";
|
|
2
2
|
import { l as le, u as ue } from "./utils-DgKwrT2n.js";
|
|
3
3
|
export { V as AnyQuery, i as AnyTransaction, N as BLOBS_SCHEMA, F as BLOB_DATA_SCHEMA, Y as CHANGELOG_SCHEMA, W as DOCUMENTS_SCHEMA, re as DexieStore, oe as Document, ue as ERROR_CATALOG, H as InMemoryStore, L as META_SCHEMA, p as ParseSession, te as Project, h as Query, I as TABLE_BLOBS, D as TABLE_BLOB_PREFIX, ae as TABLE_CHANGELOG, ce as TABLE_DOCUMENTS, A as TABLE_META, se as TABLE_RECORD_PREFIX, f as TEMP_IDB_ID_ATTRIBUTE_NAME, a as Transaction, C as applyOmit, x as applyOrder, u as applyUnwrap, ie as bindExtensions, y as blobTableName, R as buildDocumentState, g as buildXmlDocument, S as collectSnapshotRecords, o as downloadFile, q as exportBlob, $ as exportDocument, K as findAncestors, P as findByAttributes, e as findDescendants, v as formatXml, E as getAttribute, _ as getAttributeFullObject, T as getAttributes, w as getAttributesFullObject, z as getChild, Q as getChildren, ee as getRecord, J as getRecords, k as getRecordsByTagName, t as getSnapshot, c as getTree, Z as importDocument, M as indexStagedDeletesByParent, G as initEmptyDocument, m as inspectXml, s as isOmitted, b as isTransactionContext, ne as matchesAttributeFilter, U as overlayAllStaged, d as parseOmit, B as parseXmlFile, O as reconcileDocumentState, r as recordTableName, n as recordsToTree, j as resolveStore, X as shouldStopTraversal, le as throwDialecteError, l as xmlDocumentToString };
|
package/dist/project/index.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ export { exportBlob } from './io/export-blob';
|
|
|
5
5
|
export { initEmptyDocument } from './io/init-empty-document';
|
|
6
6
|
export { importDocument } from './io/import-document';
|
|
7
7
|
export { resolveStore } from '../store/resolve-store';
|
|
8
|
-
export type { ProjectParams, InitEmptyDocumentOptions, ImportDocumentOptions, ExportDocumentOptions, ExportBlobOptions, StorageParam, DocumentRecord, DocumentEntry, ProjectState, } from './types';
|
|
8
|
+
export type { ProjectParams, InitEmptyDocumentOptions, ImportDocumentOptions, ExportDocumentOptions, ExportBlobOptions, StorageParam, DocumentRecord, DocumentEntry, ProjectState, ProjectChannelMessage, } from './types';
|
|
9
9
|
export type { InitEmptyDocumentParams, InitEmptyDocumentResult, ImportDocumentParams, ImportDocumentResult, ExportDocumentParams, ExportDocumentResult, ExportBlobParams, ExportBlobResult, } from './types';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EACX,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EACX,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,EACZ,qBAAqB,GACrB,MAAM,SAAS,CAAA;AAChB,YAAY,EACX,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,SAAS,CAAA"}
|
|
@@ -11,7 +11,16 @@ import { AnyDialecteConfig, BlobAttachment, BlobRecord, DialecteHooks } from '..
|
|
|
11
11
|
export declare class Project<GenericConfig extends AnyDialecteConfig, GenericModules extends ExtensionModules = Record<never, never>, GenericStore extends Store = Store> {
|
|
12
12
|
private _name?;
|
|
13
13
|
private _store?;
|
|
14
|
-
|
|
14
|
+
/** Posting side of the project channel. Never listened to. */
|
|
15
|
+
private _postChannel?;
|
|
16
|
+
/**
|
|
17
|
+
* Listening side of the project channel. A separate instance from
|
|
18
|
+
* _postChannel on purpose: BroadcastChannel withholds a message only from
|
|
19
|
+
* the exact instance that posted it, so this instance also receives this
|
|
20
|
+
* tab's own posts (echo) — one code path folds every mutation source,
|
|
21
|
+
* local and cross-tab, into project state.
|
|
22
|
+
*/
|
|
23
|
+
private _listenChannel?;
|
|
15
24
|
private readonly storage;
|
|
16
25
|
private configs;
|
|
17
26
|
private defaultConfigKey;
|
|
@@ -19,7 +28,20 @@ export declare class Project<GenericConfig extends AnyDialecteConfig, GenericMod
|
|
|
19
28
|
private hooks?;
|
|
20
29
|
get name(): string;
|
|
21
30
|
private get store();
|
|
22
|
-
private get
|
|
31
|
+
private get postChannel();
|
|
32
|
+
/**
|
|
33
|
+
* Name of this project's BroadcastChannel — the public event contract.
|
|
34
|
+
* Open your own instance (see createChannel) to receive every
|
|
35
|
+
* ProjectChannelMessage, same-tab and cross-tab.
|
|
36
|
+
*/
|
|
37
|
+
get channelName(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Convenience: a fresh BroadcastChannel on this project's channel.
|
|
40
|
+
* The caller owns it — call channel.close() when done listening.
|
|
41
|
+
*/
|
|
42
|
+
createChannel(): BroadcastChannel;
|
|
43
|
+
/** Post a message on the project channel. */
|
|
44
|
+
private notify;
|
|
23
45
|
readonly state: ProjectState;
|
|
24
46
|
constructor(params: {
|
|
25
47
|
configs: Record<string, GenericConfig>;
|
|
@@ -36,6 +58,14 @@ export declare class Project<GenericConfig extends AnyDialecteConfig, GenericMod
|
|
|
36
58
|
* Must be called before import/export/openDocument.
|
|
37
59
|
*/
|
|
38
60
|
open(name: string): Promise<this>;
|
|
61
|
+
/**
|
|
62
|
+
* Fold an incoming channel message into project state. Receives this tab's
|
|
63
|
+
* own posts too (see _listenChannel), so every mutation source — local
|
|
64
|
+
* commit, other-tab commit, undo/redo — converges through this one handler.
|
|
65
|
+
*/
|
|
66
|
+
private onChannelMessage;
|
|
67
|
+
/** Recompute canUndo/canRedo for a document from the store's history. */
|
|
68
|
+
private refreshHistoryStatus;
|
|
39
69
|
/**
|
|
40
70
|
* Close the store and release resources.
|
|
41
71
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,OAAO,KAAK,EACX,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"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"}
|
package/dist/project/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DocumentState, ExtensionModules } from '../document';
|
|
2
2
|
import { Store } from '../store/store.types';
|
|
3
|
-
import { AnyDialecteConfig, BlobRecord, ChunkOptions, DialecteHooks } from '../types';
|
|
3
|
+
import { AnyDialecteConfig, BlobAttachment, BlobRecord, ChunkOptions, DialecteHooks } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* DocumentRecord - metadata entry for a file registered in a Project.
|
|
6
6
|
*
|
|
@@ -38,6 +38,56 @@ export type ProjectState = {
|
|
|
38
38
|
documents: Map<string, DocumentEntry>;
|
|
39
39
|
activeTransactions: number;
|
|
40
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* ProjectChannelMessage - the public event contract of a Project.
|
|
43
|
+
*
|
|
44
|
+
* Every mutation a Project or one of its Documents performs is announced on a
|
|
45
|
+
* BroadcastChannel named `project.channelName`. Open your own channel instance
|
|
46
|
+
* (`project.createChannel()`) to receive every message, same-tab and cross-tab
|
|
47
|
+
* (the spec only withholds a message from the exact instance that posted it).
|
|
48
|
+
*
|
|
49
|
+
* Payloads are structured-cloneable by construction — they cross the channel.
|
|
50
|
+
* Changing a member of this union is a breaking API change.
|
|
51
|
+
*/
|
|
52
|
+
export type ProjectChannelMessage = {
|
|
53
|
+
type: 'commit';
|
|
54
|
+
documentId: string;
|
|
55
|
+
timestamp: number;
|
|
56
|
+
} | {
|
|
57
|
+
type: 'init-empty-document';
|
|
58
|
+
documentId: string;
|
|
59
|
+
timestamp: number;
|
|
60
|
+
} | {
|
|
61
|
+
type: 'document-removed';
|
|
62
|
+
documentId: string;
|
|
63
|
+
timestamp: number;
|
|
64
|
+
} | {
|
|
65
|
+
type: 'document-imported';
|
|
66
|
+
documentId: string;
|
|
67
|
+
timestamp: number;
|
|
68
|
+
} | {
|
|
69
|
+
type: 'blob-added';
|
|
70
|
+
blobId: string;
|
|
71
|
+
documentId: string;
|
|
72
|
+
timestamp: number;
|
|
73
|
+
} | {
|
|
74
|
+
type: 'blob-attached';
|
|
75
|
+
blobId: string;
|
|
76
|
+
ref: BlobAttachment;
|
|
77
|
+
timestamp: number;
|
|
78
|
+
} | {
|
|
79
|
+
type: 'blob-detached';
|
|
80
|
+
blobId: string;
|
|
81
|
+
ref: {
|
|
82
|
+
documentId: string;
|
|
83
|
+
recordRef: string;
|
|
84
|
+
};
|
|
85
|
+
timestamp: number;
|
|
86
|
+
} | {
|
|
87
|
+
type: 'blob-removed';
|
|
88
|
+
blobId: string;
|
|
89
|
+
timestamp: number;
|
|
90
|
+
};
|
|
41
91
|
export type StorageParam = {
|
|
42
92
|
type: 'local';
|
|
43
93
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/project/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/project/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -3331,15 +3331,7 @@ function Lt(e) {
|
|
|
3331
3331
|
//#region src/document/document.ts
|
|
3332
3332
|
var Rt = class {
|
|
3333
3333
|
constructor(e, t, n, r, i, a) {
|
|
3334
|
-
this.state =
|
|
3335
|
-
loading: !1,
|
|
3336
|
-
error: null,
|
|
3337
|
-
progress: null,
|
|
3338
|
-
history: [],
|
|
3339
|
-
lastUpdate: null
|
|
3340
|
-
}, this.activeTransactions = 0, this.store = e, this.config = t, this.documentId = n, this.hooks = i, this.extensionsRegistry = r, this.channel = a, this.channel.onmessage = (e) => {
|
|
3341
|
-
e.data?.type === "commit" && e.data.documentId === this.documentId && (this.state.lastUpdate = e.data.timestamp ?? Date.now());
|
|
3342
|
-
};
|
|
3334
|
+
this.activeTransactions = 0, this.store = e, this.config = t, this.documentId = n, this.hooks = i, this.extensionsRegistry = r, this.state = a.state, this.channelName = a.channelName, this.notify = a.notify;
|
|
3343
3335
|
}
|
|
3344
3336
|
withQueryExtensions(e) {
|
|
3345
3337
|
let t = C(this.extensionsRegistry?.query, e);
|
|
@@ -3371,10 +3363,10 @@ var Rt = class {
|
|
|
3371
3363
|
let r = this.withAllExtensions(this.createTransaction());
|
|
3372
3364
|
try {
|
|
3373
3365
|
let t = await e(r);
|
|
3374
|
-
return await r.commit(), this.
|
|
3366
|
+
return await r.commit(), this.notify({
|
|
3375
3367
|
type: "commit",
|
|
3376
3368
|
documentId: this.documentId,
|
|
3377
|
-
timestamp: Date.now()
|
|
3369
|
+
timestamp: this.state.lastUpdate ?? Date.now()
|
|
3378
3370
|
}), r.clearStagedOperations(), r.clearRecordCache(), r.clearCumulativeCloneMappings(), this.state.history.push({
|
|
3379
3371
|
method: "commit",
|
|
3380
3372
|
message: n?.label ?? "Changes committed",
|
|
@@ -3414,10 +3406,10 @@ var Rt = class {
|
|
|
3414
3406
|
if (!o) {
|
|
3415
3407
|
o = !0, this.activeTransactions++, this.state.loading = !0;
|
|
3416
3408
|
try {
|
|
3417
|
-
await r.commit(), this.
|
|
3409
|
+
await r.commit(), this.notify({
|
|
3418
3410
|
type: "commit",
|
|
3419
3411
|
documentId: this.documentId,
|
|
3420
|
-
timestamp: Date.now()
|
|
3412
|
+
timestamp: this.state.lastUpdate ?? Date.now()
|
|
3421
3413
|
}), r.clearStagedOperations(), r.clearRecordCache(), r.clearCumulativeCloneMappings(), this.state.history.push({
|
|
3422
3414
|
method: "commit",
|
|
3423
3415
|
message: n?.label ?? "Changes committed",
|
|
@@ -7439,6 +7431,16 @@ var on = {
|
|
|
7439
7431
|
i.length > 0 && await r.bulkAdd(i), a.length > 0 && await r.bulkPut(a.map((e) => e.after)), o.length > 0 && await r.bulkDelete(o.map((e) => e.id)), await this.setHead(e, t);
|
|
7440
7432
|
});
|
|
7441
7433
|
}
|
|
7434
|
+
async getHistoryStatus(e) {
|
|
7435
|
+
let t = await this.getHead(e), n = await this.db.table(W).where({
|
|
7436
|
+
documentId: e,
|
|
7437
|
+
sequenceNumber: t + 1
|
|
7438
|
+
}).first();
|
|
7439
|
+
return {
|
|
7440
|
+
canUndo: t > 0,
|
|
7441
|
+
canRedo: n !== void 0
|
|
7442
|
+
};
|
|
7443
|
+
}
|
|
7442
7444
|
async getChangeLog(e) {
|
|
7443
7445
|
return this.db.table(W).where({ documentId: e }).sortBy("sequenceNumber");
|
|
7444
7446
|
}
|
|
@@ -7653,6 +7655,13 @@ var un = class {
|
|
|
7653
7655
|
for (let e of o) r.delete(e.id);
|
|
7654
7656
|
this.heads.set(e, t);
|
|
7655
7657
|
}
|
|
7658
|
+
async getHistoryStatus(e) {
|
|
7659
|
+
let t = this.heads.get(e) ?? 0, n = this.changelog.get(e) ?? [];
|
|
7660
|
+
return {
|
|
7661
|
+
canUndo: t > 0,
|
|
7662
|
+
canRedo: n.some((e) => e.sequenceNumber === t + 1)
|
|
7663
|
+
};
|
|
7664
|
+
}
|
|
7656
7665
|
async getChangeLog(e) {
|
|
7657
7666
|
return this.changelog.get(e) ?? [];
|
|
7658
7667
|
}
|
|
@@ -7862,11 +7871,20 @@ var vn = class {
|
|
|
7862
7871
|
detail: "Call project.open(name) before accessing project properties."
|
|
7863
7872
|
}), this._store;
|
|
7864
7873
|
}
|
|
7865
|
-
get
|
|
7866
|
-
return i(this.
|
|
7874
|
+
get postChannel() {
|
|
7875
|
+
return i(this._postChannel !== void 0, {
|
|
7867
7876
|
key: "PROJECT_NOT_OPENED",
|
|
7868
7877
|
detail: "Call project.open(name) before accessing project properties."
|
|
7869
|
-
}), this.
|
|
7878
|
+
}), this._postChannel;
|
|
7879
|
+
}
|
|
7880
|
+
get channelName() {
|
|
7881
|
+
return `dialecte::project::${this.name}`;
|
|
7882
|
+
}
|
|
7883
|
+
createChannel() {
|
|
7884
|
+
return new BroadcastChannel(this.channelName);
|
|
7885
|
+
}
|
|
7886
|
+
notify(e) {
|
|
7887
|
+
this.postChannel.postMessage(e);
|
|
7870
7888
|
}
|
|
7871
7889
|
constructor(e) {
|
|
7872
7890
|
this.state = {
|
|
@@ -7880,21 +7898,40 @@ var vn = class {
|
|
|
7880
7898
|
}) : void 0;
|
|
7881
7899
|
}
|
|
7882
7900
|
async open(e) {
|
|
7883
|
-
this._name = e, this.
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
};
|
|
7901
|
+
this._name = e, this._postChannel = new BroadcastChannel(this.channelName), this._listenChannel = new BroadcastChannel(this.channelName), this._listenChannel.addEventListener("message", (e) => {
|
|
7902
|
+
this.onChannelMessage(e.data);
|
|
7903
|
+
});
|
|
7887
7904
|
let t = dn(e, this.storage, this.configs[this.defaultConfigKey]);
|
|
7888
7905
|
await t.open(), this._store = t;
|
|
7889
7906
|
let n = await t.getDocuments();
|
|
7890
7907
|
for (let e of n) this.state.documents.set(e.id, mn(e));
|
|
7891
|
-
return this;
|
|
7908
|
+
return await Promise.all(n.map((e) => this.refreshHistoryStatus(e.id))), this;
|
|
7909
|
+
}
|
|
7910
|
+
onChannelMessage(e) {
|
|
7911
|
+
switch (e?.type) {
|
|
7912
|
+
case "init-empty-document":
|
|
7913
|
+
case "document-removed":
|
|
7914
|
+
case "document-imported":
|
|
7915
|
+
this.refreshState().catch(() => {});
|
|
7916
|
+
break;
|
|
7917
|
+
case "commit": {
|
|
7918
|
+
let t = this.state.documents.get(e.documentId);
|
|
7919
|
+
t && (t.lastUpdate = e.timestamp ?? Date.now()), this.refreshHistoryStatus(e.documentId).catch(() => {});
|
|
7920
|
+
break;
|
|
7921
|
+
}
|
|
7922
|
+
}
|
|
7923
|
+
}
|
|
7924
|
+
async refreshHistoryStatus(e) {
|
|
7925
|
+
let t = this.state.documents.get(e);
|
|
7926
|
+
if (!t) return;
|
|
7927
|
+
let { canUndo: n, canRedo: r } = await this.store.getHistoryStatus(e);
|
|
7928
|
+
t.canUndo = n, t.canRedo = r;
|
|
7892
7929
|
}
|
|
7893
7930
|
close() {
|
|
7894
|
-
this.
|
|
7931
|
+
this.postChannel.close(), this._listenChannel?.close(), this.store.close();
|
|
7895
7932
|
}
|
|
7896
7933
|
async destroy() {
|
|
7897
|
-
this.
|
|
7934
|
+
this.postChannel.close(), this._listenChannel?.close(), await this.store.destroy(), this.state.documents.clear();
|
|
7898
7935
|
}
|
|
7899
7936
|
async initEmptyDocument(e) {
|
|
7900
7937
|
let t = await _n({
|
|
@@ -7904,15 +7941,17 @@ var vn = class {
|
|
|
7904
7941
|
options: e,
|
|
7905
7942
|
hooks: this.hooks
|
|
7906
7943
|
});
|
|
7907
|
-
return this.state.documents.set(t.documentId, t.documentState), this.
|
|
7944
|
+
return this.state.documents.set(t.documentId, t.documentState), this.notify({
|
|
7908
7945
|
type: "init-empty-document",
|
|
7909
|
-
documentId: t.documentId
|
|
7946
|
+
documentId: t.documentId,
|
|
7947
|
+
timestamp: Date.now()
|
|
7910
7948
|
}), t.documentId;
|
|
7911
7949
|
}
|
|
7912
7950
|
async removeDocument(e) {
|
|
7913
|
-
await this.store.removeDocument(e), this.state.documents.delete(e), this.
|
|
7951
|
+
await this.store.removeDocument(e), this.state.documents.delete(e), this.notify({
|
|
7914
7952
|
type: "document-removed",
|
|
7915
|
-
documentId: e
|
|
7953
|
+
documentId: e,
|
|
7954
|
+
timestamp: Date.now()
|
|
7916
7955
|
});
|
|
7917
7956
|
}
|
|
7918
7957
|
async import(e, t) {
|
|
@@ -7924,9 +7963,10 @@ var vn = class {
|
|
|
7924
7963
|
options: t,
|
|
7925
7964
|
hooks: this.hooks
|
|
7926
7965
|
})));
|
|
7927
|
-
for (let e of n) this.state.documents.set(e.documentId, e.documentState), this.
|
|
7966
|
+
for (let e of n) this.state.documents.set(e.documentId, e.documentState), this.notify({
|
|
7928
7967
|
type: "document-imported",
|
|
7929
|
-
documentId: e.documentId
|
|
7968
|
+
documentId: e.documentId,
|
|
7969
|
+
timestamp: Date.now()
|
|
7930
7970
|
});
|
|
7931
7971
|
return n.map(({ documentId: e, recordCount: t }) => ({
|
|
7932
7972
|
documentId: e,
|
|
@@ -7956,30 +7996,40 @@ var vn = class {
|
|
|
7956
7996
|
detail: `Document "${e}" not registered in project "${this.name}"`
|
|
7957
7997
|
});
|
|
7958
7998
|
let n = this.configs[t.record.configKey];
|
|
7959
|
-
return new Rt(this.store, n, e, this.mergedExtensions, this.hooks,
|
|
7999
|
+
return new Rt(this.store, n, e, this.mergedExtensions, this.hooks, {
|
|
8000
|
+
state: t,
|
|
8001
|
+
channelName: this.channelName,
|
|
8002
|
+
notify: (e) => this.notify(e)
|
|
8003
|
+
});
|
|
7960
8004
|
}
|
|
7961
8005
|
getDocumentConfig(e) {
|
|
7962
8006
|
let t = this.state.documents.get(e);
|
|
7963
8007
|
if (t) return this.configs[t.record.configKey];
|
|
7964
8008
|
}
|
|
7965
8009
|
async undo(e) {
|
|
7966
|
-
|
|
8010
|
+
let t = this.state.documents.get(e);
|
|
8011
|
+
i(t, {
|
|
7967
8012
|
key: "DOCUMENT_NOT_REGISTERED",
|
|
7968
8013
|
detail: `Document "${e}" not registered in project "${this.name}"`
|
|
7969
|
-
}), await this.store.undo(e)
|
|
8014
|
+
}), await this.store.undo(e);
|
|
8015
|
+
let n = Date.now();
|
|
8016
|
+
t.lastUpdate = n, await this.refreshHistoryStatus(e), this.notify({
|
|
7970
8017
|
type: "commit",
|
|
7971
8018
|
documentId: e,
|
|
7972
|
-
timestamp:
|
|
8019
|
+
timestamp: n
|
|
7973
8020
|
});
|
|
7974
8021
|
}
|
|
7975
8022
|
async redo(e) {
|
|
7976
|
-
|
|
8023
|
+
let t = this.state.documents.get(e);
|
|
8024
|
+
i(t, {
|
|
7977
8025
|
key: "DOCUMENT_NOT_REGISTERED",
|
|
7978
8026
|
detail: `Document "${e}" not registered in project "${this.name}"`
|
|
7979
|
-
}), await this.store.redo(e)
|
|
8027
|
+
}), await this.store.redo(e);
|
|
8028
|
+
let n = Date.now();
|
|
8029
|
+
t.lastUpdate = n, await this.refreshHistoryStatus(e), this.notify({
|
|
7980
8030
|
type: "commit",
|
|
7981
8031
|
documentId: e,
|
|
7982
|
-
timestamp:
|
|
8032
|
+
timestamp: n
|
|
7983
8033
|
});
|
|
7984
8034
|
}
|
|
7985
8035
|
async addBlob(e, t, n = []) {
|
|
@@ -7992,10 +8042,11 @@ var vn = class {
|
|
|
7992
8042
|
createdAt: Date.now(),
|
|
7993
8043
|
attachedTo: n
|
|
7994
8044
|
};
|
|
7995
|
-
return await this.store.addBlob(r, t), this.
|
|
8045
|
+
return await this.store.addBlob(r, t), this.notify({
|
|
7996
8046
|
type: "blob-added",
|
|
7997
8047
|
blobId: r.id,
|
|
7998
|
-
documentId: e
|
|
8048
|
+
documentId: e,
|
|
8049
|
+
timestamp: Date.now()
|
|
7999
8050
|
}), r.id;
|
|
8000
8051
|
}
|
|
8001
8052
|
async getBlob(e) {
|
|
@@ -8018,23 +8069,26 @@ var vn = class {
|
|
|
8018
8069
|
return this.store.getStandaloneBlobs();
|
|
8019
8070
|
}
|
|
8020
8071
|
async attachBlob(e, t) {
|
|
8021
|
-
await this.store.attachBlob(e, t), this.
|
|
8072
|
+
await this.store.attachBlob(e, t), this.notify({
|
|
8022
8073
|
type: "blob-attached",
|
|
8023
8074
|
blobId: e,
|
|
8024
|
-
ref: t
|
|
8075
|
+
ref: t,
|
|
8076
|
+
timestamp: Date.now()
|
|
8025
8077
|
});
|
|
8026
8078
|
}
|
|
8027
8079
|
async detachBlob(e, t) {
|
|
8028
|
-
await this.store.detachBlob(e, t), this.
|
|
8080
|
+
await this.store.detachBlob(e, t), this.notify({
|
|
8029
8081
|
type: "blob-detached",
|
|
8030
8082
|
blobId: e,
|
|
8031
|
-
ref: t
|
|
8083
|
+
ref: t,
|
|
8084
|
+
timestamp: Date.now()
|
|
8032
8085
|
});
|
|
8033
8086
|
}
|
|
8034
8087
|
async removeBlob(e) {
|
|
8035
|
-
await this.store.removeBlob(e), this.
|
|
8088
|
+
await this.store.removeBlob(e), this.notify({
|
|
8036
8089
|
type: "blob-removed",
|
|
8037
|
-
blobId: e
|
|
8090
|
+
blobId: e,
|
|
8091
|
+
timestamp: Date.now()
|
|
8038
8092
|
});
|
|
8039
8093
|
}
|
|
8040
8094
|
async queryFirst(e) {
|
|
@@ -48,6 +48,10 @@ export declare class InMemoryStore implements Store {
|
|
|
48
48
|
}): Promise<void>;
|
|
49
49
|
undo(documentId: string): Promise<void>;
|
|
50
50
|
redo(documentId: string): Promise<void>;
|
|
51
|
+
getHistoryStatus(documentId: string): Promise<{
|
|
52
|
+
canUndo: boolean;
|
|
53
|
+
canRedo: boolean;
|
|
54
|
+
}>;
|
|
51
55
|
getChangeLog(documentId: string): Promise<ChangeLogEntry[]>;
|
|
52
56
|
getDatabaseInstance(): unknown;
|
|
53
57
|
addBlob(entry: BlobRecord, data: Blob): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../../../src/store/in-memory/in-memory-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../../../src/store/in-memory/in-memory-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,10 @@ export declare class DexieStore implements Store {
|
|
|
52
52
|
}): Promise<void>;
|
|
53
53
|
undo(documentId: string): Promise<void>;
|
|
54
54
|
redo(documentId: string): Promise<void>;
|
|
55
|
+
getHistoryStatus(documentId: string): Promise<{
|
|
56
|
+
canUndo: boolean;
|
|
57
|
+
canRedo: boolean;
|
|
58
|
+
}>;
|
|
55
59
|
getChangeLog(documentId: string): Promise<ChangeLogEntry[]>;
|
|
56
60
|
addBlob(entry: BlobRecord, data: Blob): Promise<void>;
|
|
57
61
|
getBlob(blobId: string): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dexie-store.d.ts","sourceRoot":"","sources":["../../../src/store/local/dexie-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dexie-store.d.ts","sourceRoot":"","sources":["../../../src/store/local/dexie-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,11 @@ export interface Store {
|
|
|
71
71
|
undo(documentId: string): Promise<void>;
|
|
72
72
|
/** Redo the next change for a document. No-op at end of history. */
|
|
73
73
|
redo(documentId: string): Promise<void>;
|
|
74
|
+
/** Whether undo/redo are currently available for a document */
|
|
75
|
+
getHistoryStatus(documentId: string): Promise<{
|
|
76
|
+
canUndo: boolean;
|
|
77
|
+
canRedo: boolean;
|
|
78
|
+
}>;
|
|
74
79
|
/** Return changelog entries for a document in ascending sequenceNumber order */
|
|
75
80
|
getChangeLog(documentId: string): Promise<ChangeLogEntry[]>;
|
|
76
81
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.types.d.ts","sourceRoot":"","sources":["../../src/store/store.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.types.d.ts","sourceRoot":"","sources":["../../src/store/store.types.ts"],"names":[],"mappings":"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"}
|
package/dist/test.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dt as e, t, u as n, z as r } from "./project-
|
|
1
|
+
import { dt as e, t, u as n, z as r } from "./project-CblzZXzn.js";
|
|
2
2
|
import { DIALECTE_NAMESPACES as i, standardizeRecord as a, toTrackedRecord as o, toTreeRecord as s } from "./helpers.js";
|
|
3
3
|
import { expect as c, it as l } from "vitest";
|
|
4
4
|
//#region src/test/assert-xml/xpath-parser.ts
|