@dialecte/core 0.2.11 → 0.2.14
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/bind-extensions.d.ts +2 -2
- package/dist/document/bind-extensions.d.ts.map +1 -1
- package/dist/document/index.d.ts +1 -0
- package/dist/document/index.d.ts.map +1 -1
- package/dist/document/query/get/tree/get-tree.d.ts.map +1 -1
- package/dist/document/types.extensions.d.ts +16 -8
- package/dist/document/types.extensions.d.ts.map +1 -1
- package/dist/errors/codes.d.ts +16 -0
- package/dist/errors/codes.d.ts.map +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index-CTdGZJiM.js +7220 -0
- package/dist/index.js +52 -44
- package/dist/{index-DWV6tSGF.js → invariant-CqEgHr3M.js} +32 -16
- package/dist/{merge-extensions-dj7By9gG.js → merge-extensions-CcL-L2ca.js} +1 -1
- package/dist/project/index.d.ts +3 -2
- package/dist/project/index.d.ts.map +1 -1
- package/dist/project/io/export-blob.d.ts +7 -0
- package/dist/project/io/export-blob.d.ts.map +1 -0
- package/dist/project/io/index.d.ts +1 -0
- package/dist/project/io/index.d.ts.map +1 -1
- package/dist/project/project.d.ts +26 -2
- package/dist/project/project.d.ts.map +1 -1
- package/dist/project/types.d.ts +18 -1
- package/dist/project/types.d.ts.map +1 -1
- package/dist/store/in-memory/in-memory-store.d.ts +71 -0
- package/dist/store/in-memory/in-memory-store.d.ts.map +1 -0
- package/dist/store/in-memory/index.d.ts +3 -0
- package/dist/store/in-memory/index.d.ts.map +1 -0
- package/dist/store/in-memory/types.d.ts +5 -0
- package/dist/store/in-memory/types.d.ts.map +1 -0
- package/dist/store/index.d.ts +2 -1
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/local/dexie-store.d.ts +15 -1
- package/dist/store/local/dexie-store.d.ts.map +1 -1
- package/dist/store/resolve-store.d.ts +2 -1
- package/dist/store/resolve-store.d.ts.map +1 -1
- package/dist/store/store.constants.d.ts +10 -0
- package/dist/store/store.constants.d.ts.map +1 -1
- package/dist/store/store.types.d.ts +26 -1
- package/dist/store/store.types.d.ts.map +1 -1
- package/dist/test.js +2 -2
- package/dist/types/blob.d.ts +35 -0
- package/dist/types/blob.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/save-to-disk.d.ts +17 -0
- package/dist/utils/save-to-disk.d.ts.map +1 -0
- package/dist/utils.js +21 -2
- package/dist/xml/build/download-file.d.ts.map +1 -1
- package/package.json +5 -4
- package/dist/index-BdP_eGXx.js +0 -6855
package/dist/index.js
CHANGED
|
@@ -1,48 +1,56 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
import { E as
|
|
1
|
+
import { A as e, a as t, B as r, b as o, C as n, c as A, D as i, d as E, I as c, M as T, e as l, P as m, Q as u, T as B, f as _, g as b, h as D, i as d, j as S, k as C, l as L, m as O, n as M, o as g, p as R, q as y, r as N, s as p, t as F, u as H, v as f, w as x, y as I, z as G, E as P, F as X, G as h, H as j, J as U, K as w, L as Q, N as v, O as k, R as q, S as z, U as J, V as K, W as V, X as W, Y } from "./index-CTdGZJiM.js";
|
|
2
|
+
import { E as $, t as aa } from "./invariant-CqEgHr3M.js";
|
|
3
3
|
export {
|
|
4
|
-
|
|
4
|
+
e as AnyQuery,
|
|
5
5
|
t as AnyTransaction,
|
|
6
|
-
r as
|
|
7
|
-
o as
|
|
6
|
+
r as BLOBS_SCHEMA,
|
|
7
|
+
o as BLOB_DATA_SCHEMA,
|
|
8
|
+
n as CHANGELOG_SCHEMA,
|
|
9
|
+
A as DOCUMENTS_SCHEMA,
|
|
8
10
|
i as DexieStore,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
u as
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
z as
|
|
11
|
+
E as Document,
|
|
12
|
+
$ as ERROR_CATALOG,
|
|
13
|
+
c as InMemoryStore,
|
|
14
|
+
T as META_SCHEMA,
|
|
15
|
+
l as ParseSession,
|
|
16
|
+
m as Project,
|
|
17
|
+
u as Query,
|
|
18
|
+
B as TABLE_BLOBS,
|
|
19
|
+
_ as TABLE_BLOB_PREFIX,
|
|
20
|
+
b as TABLE_CHANGELOG,
|
|
21
|
+
D as TABLE_DOCUMENTS,
|
|
22
|
+
d as TABLE_META,
|
|
23
|
+
S as TABLE_RECORD_PREFIX,
|
|
24
|
+
C as TEMP_IDB_ID_ATTRIBUTE_NAME,
|
|
25
|
+
L as Transaction,
|
|
26
|
+
O as bindExtensions,
|
|
27
|
+
M as blobTableName,
|
|
28
|
+
g as buildDocumentState,
|
|
29
|
+
R as buildXmlDocument,
|
|
30
|
+
y as downloadFile,
|
|
31
|
+
N as exportBlob,
|
|
32
|
+
p as exportDocument,
|
|
33
|
+
F as findAncestors,
|
|
34
|
+
H as findByAttributes,
|
|
35
|
+
f as findDescendants,
|
|
36
|
+
x as formatXml,
|
|
37
|
+
I as getAttribute,
|
|
38
|
+
G as getAttributeFullObject,
|
|
39
|
+
P as getAttributes,
|
|
40
|
+
X as getAttributesFullObject,
|
|
41
|
+
h as getChild,
|
|
42
|
+
j as getChildren,
|
|
43
|
+
U as getRecord,
|
|
44
|
+
w as getRecords,
|
|
45
|
+
Q as getRecordsByTagName,
|
|
46
|
+
v as getTree,
|
|
47
|
+
k as importDocument,
|
|
48
|
+
q as initEmptyDocument,
|
|
49
|
+
z as isTransactionContext,
|
|
50
|
+
J as matchesAttributeFilter,
|
|
51
|
+
K as parseXmlFile,
|
|
52
|
+
V as reconcileDocumentState,
|
|
53
|
+
W as recordTableName,
|
|
54
|
+
Y as resolveStore,
|
|
55
|
+
aa as throwDialecteError
|
|
48
56
|
};
|
|
@@ -33,6 +33,14 @@ const c = {
|
|
|
33
33
|
code: "D1006",
|
|
34
34
|
message: "Failed to delete records from database"
|
|
35
35
|
},
|
|
36
|
+
STORE_NOT_WRITABLE: {
|
|
37
|
+
code: "D1007",
|
|
38
|
+
message: "Store is not writable"
|
|
39
|
+
},
|
|
40
|
+
STORE_BLOB_NOT_FOUND: {
|
|
41
|
+
code: "D1008",
|
|
42
|
+
message: "Blob not found"
|
|
43
|
+
},
|
|
36
44
|
// D2xxx — Element lookup
|
|
37
45
|
ELEMENT_NOT_FOUND: {
|
|
38
46
|
code: "D2001",
|
|
@@ -67,6 +75,10 @@ const c = {
|
|
|
67
75
|
code: "D3004",
|
|
68
76
|
message: "Required attribute is missing"
|
|
69
77
|
},
|
|
78
|
+
UNIQUE_CONSTRAINT_VIOLATION: {
|
|
79
|
+
code: "D3005",
|
|
80
|
+
message: "Value is already used within its scope"
|
|
81
|
+
},
|
|
70
82
|
// D4xxx — Transaction lifecycle
|
|
71
83
|
ALREADY_COMMITTED: {
|
|
72
84
|
code: "D4001",
|
|
@@ -110,34 +122,38 @@ const c = {
|
|
|
110
122
|
PROJECT_NOT_OPENED: {
|
|
111
123
|
code: "D7003",
|
|
112
124
|
message: "Project not opened"
|
|
125
|
+
},
|
|
126
|
+
BLOB_NOT_FOUND: {
|
|
127
|
+
code: "D7004",
|
|
128
|
+
message: "Blob not found in store"
|
|
113
129
|
}
|
|
114
130
|
};
|
|
115
|
-
function d(
|
|
116
|
-
const s = c[
|
|
131
|
+
function d(t, e) {
|
|
132
|
+
const s = c[t], o = {
|
|
117
133
|
code: s.code,
|
|
118
|
-
key:
|
|
134
|
+
key: t,
|
|
119
135
|
message: e.message ?? s.message,
|
|
120
136
|
detail: e.detail,
|
|
121
137
|
method: i(new Error().stack),
|
|
122
138
|
ref: e.ref,
|
|
123
139
|
cause: e.cause
|
|
124
|
-
},
|
|
125
|
-
throw
|
|
140
|
+
}, a = new Error(e.detail);
|
|
141
|
+
throw a.cause = o, a;
|
|
126
142
|
}
|
|
127
|
-
function i(
|
|
128
|
-
if (!
|
|
129
|
-
const e =
|
|
143
|
+
function i(t) {
|
|
144
|
+
if (!t) return "unknown";
|
|
145
|
+
const e = t.split(`
|
|
130
146
|
`).slice(1).find((r) => !/\b(throwDialecteError|assert)\b/.test(r));
|
|
131
147
|
if (!e) return "unknown";
|
|
132
|
-
const s = e.match(/\bat\s+(\S+)\s+\(([^)]+)\)/),
|
|
133
|
-
if (!
|
|
134
|
-
const
|
|
135
|
-
return
|
|
148
|
+
const s = e.match(/\bat\s+(\S+)\s+\(([^)]+)\)/), o = s?.[1], a = s?.[2];
|
|
149
|
+
if (!a || !o) return o ?? "unknown";
|
|
150
|
+
const n = a.match(/(\w[\w-]*\/src\/[^?:]+)/);
|
|
151
|
+
return n ? `${n[1].replace(/\.[^/.]+$/, "")}::${o}` : o;
|
|
136
152
|
}
|
|
137
|
-
function D(
|
|
138
|
-
if (
|
|
139
|
-
const { detail: s, key:
|
|
140
|
-
d(
|
|
153
|
+
function D(t, e) {
|
|
154
|
+
if (t) return;
|
|
155
|
+
const { detail: s, key: o = "ASSERTION_FAILED", ref: a } = e;
|
|
156
|
+
d(o, { detail: s, ref: a });
|
|
141
157
|
}
|
|
142
158
|
export {
|
|
143
159
|
c as E,
|
package/dist/project/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export { Project } from './project';
|
|
2
2
|
export { buildDocumentState, reconcileDocumentState } from './state/document-state';
|
|
3
3
|
export { exportDocument } from './io/export-document';
|
|
4
|
+
export { exportBlob } from './io/export-blob';
|
|
4
5
|
export { initEmptyDocument } from './io/init-empty-document';
|
|
5
6
|
export { importDocument } from './io/import-document';
|
|
6
7
|
export { resolveStore } from '../store/resolve-store';
|
|
7
|
-
export type { ProjectParams, InitEmptyDocumentOptions, ImportDocumentOptions, ExportDocumentOptions, StorageParam, DocumentRecord, DocumentEntry, ProjectState, } from './types';
|
|
8
|
-
export type { InitEmptyDocumentParams, InitEmptyDocumentResult, ImportDocumentParams, ImportDocumentResult, ExportDocumentParams, ExportDocumentResult, } from './types';
|
|
8
|
+
export type { ProjectParams, InitEmptyDocumentOptions, ImportDocumentOptions, ExportDocumentOptions, ExportBlobOptions, StorageParam, DocumentRecord, DocumentEntry, ProjectState, } from './types';
|
|
9
|
+
export type { InitEmptyDocumentParams, InitEmptyDocumentResult, ImportDocumentParams, ImportDocumentResult, ExportDocumentParams, ExportDocumentResult, ExportBlobParams, ExportBlobResult, } from './types';
|
|
9
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,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,YAAY,EACZ,cAAc,EACd,aAAa,EACb,YAAY,GACZ,MAAM,SAAS,CAAA;AAChB,YAAY,EACX,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,
|
|
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,GACZ,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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExportBlobParams, ExportBlobResult } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Export a blob from the project store. Optionally triggers a browser download
|
|
4
|
+
* via `saveToDisk` (mirrors `exportDocument`'s `withDownload` option).
|
|
5
|
+
*/
|
|
6
|
+
export declare function exportBlob(params: ExportBlobParams): Promise<ExportBlobResult>;
|
|
7
|
+
//# sourceMappingURL=export-blob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-blob.d.ts","sourceRoot":"","sources":["../../../src/project/io/export-blob.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAElE;;;GAGG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiBpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/project/io/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/project/io/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Document, ExtensionModules, MergedExtensions, QueryExtensions, Query } from '../document';
|
|
2
|
-
import { InitEmptyDocumentOptions, ImportDocumentOptions, ExportDocumentOptions, ProjectParams, ProjectState, DocumentRecord } from './types';
|
|
2
|
+
import { InitEmptyDocumentOptions, ImportDocumentOptions, ExportDocumentOptions, ExportBlobOptions, ExportBlobResult, ProjectParams, ProjectState, DocumentRecord } from './types';
|
|
3
3
|
import { Store } from '../store';
|
|
4
|
-
import { AnyDialecteConfig, TransactionHooks } from '../types';
|
|
4
|
+
import { AnyDialecteConfig, BlobAttachment, BlobRecord, TransactionHooks } from '../types';
|
|
5
5
|
/**
|
|
6
6
|
* Project — top-level entry point for multi-file dialecte workspaces.
|
|
7
7
|
*
|
|
@@ -79,6 +79,30 @@ export declare class Project<GenericConfig extends AnyDialecteConfig, GenericMod
|
|
|
79
79
|
getDocumentConfig(documentId: string): GenericConfig | undefined;
|
|
80
80
|
undo(documentId: string): Promise<void>;
|
|
81
81
|
redo(documentId: string): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Add a blob owned by `documentId`. The binary lives in `blob_{documentId}`.
|
|
84
|
+
* Returns the generated blob id.
|
|
85
|
+
*/
|
|
86
|
+
addBlob(documentId: string, file: File, attachedTo?: BlobAttachment[]): Promise<string>;
|
|
87
|
+
getBlob(blobId: string): Promise<{
|
|
88
|
+
entry: BlobRecord;
|
|
89
|
+
data: Blob;
|
|
90
|
+
} | undefined>;
|
|
91
|
+
/**
|
|
92
|
+
* Export a blob from the store. Mirrors `export(documentId)` for blobs:
|
|
93
|
+
* returns `{ entry, data, filename }` and optionally triggers a download via
|
|
94
|
+
* `options.withDownload`.
|
|
95
|
+
*/
|
|
96
|
+
exportBlob(blobId: string, options?: ExportBlobOptions): Promise<ExportBlobResult>;
|
|
97
|
+
getBlobsByDocument(documentId: string): Promise<BlobRecord[]>;
|
|
98
|
+
getBlobsByRecord(documentId: string, recordRef: string): Promise<BlobRecord[]>;
|
|
99
|
+
getStandaloneBlobs(): Promise<BlobRecord[]>;
|
|
100
|
+
attachBlob(blobId: string, ref: BlobAttachment): Promise<void>;
|
|
101
|
+
detachBlob(blobId: string, ref: {
|
|
102
|
+
documentId: string;
|
|
103
|
+
recordRef: string;
|
|
104
|
+
}): Promise<void>;
|
|
105
|
+
removeBlob(blobId: string): Promise<void>;
|
|
82
106
|
/**
|
|
83
107
|
* Run a query function across all documents, return the first non-undefined result.
|
|
84
108
|
* Iterates documents sequentially; stops at the first match.
|
|
@@ -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,aAAa,EACb,YAAY,EACZ,cAAc,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAC5F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;
|
|
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, ChunkOptions, TransactionHooks } from '../types';
|
|
3
|
+
import { AnyDialecteConfig, BlobRecord, ChunkOptions, TransactionHooks } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* DocumentRecord - metadata entry for a file registered in a Project.
|
|
6
6
|
*
|
|
@@ -43,6 +43,9 @@ export type StorageParam = {
|
|
|
43
43
|
} | {
|
|
44
44
|
type: 'custom';
|
|
45
45
|
store: Store;
|
|
46
|
+
} | {
|
|
47
|
+
type: 'inMemory';
|
|
48
|
+
writable?: boolean;
|
|
46
49
|
};
|
|
47
50
|
export type ProjectParams<GenericConfig extends AnyDialecteConfig, BaseExtensions extends ExtensionModules = Record<never, never>, CustomExtensions extends ExtensionModules = Record<never, never>> = {
|
|
48
51
|
/**
|
|
@@ -125,4 +128,18 @@ export type ExportDocumentResult = {
|
|
|
125
128
|
xmlDocument: XMLDocument;
|
|
126
129
|
filename: string;
|
|
127
130
|
};
|
|
131
|
+
export type ExportBlobParams = {
|
|
132
|
+
blobId: string;
|
|
133
|
+
store: Store;
|
|
134
|
+
options?: ExportBlobOptions;
|
|
135
|
+
};
|
|
136
|
+
export type ExportBlobOptions = {
|
|
137
|
+
/** Trigger a browser file download after fetching the blob */
|
|
138
|
+
withDownload?: boolean;
|
|
139
|
+
};
|
|
140
|
+
export type ExportBlobResult = {
|
|
141
|
+
entry: BlobRecord;
|
|
142
|
+
data: Blob;
|
|
143
|
+
filename: string;
|
|
144
|
+
};
|
|
128
145
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -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,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/project/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Store, ChangeLogEntry } from '../store.types';
|
|
2
|
+
import { InMemoryStoreOptions } from './types';
|
|
3
|
+
import { DocumentRecord } from '../../project/types';
|
|
4
|
+
import { AnyRawRecord, BlobAttachment, BlobRecord, RecordPatch } from '../../types';
|
|
5
|
+
/**
|
|
6
|
+
* InMemoryStore - Map-backed Store implementation with no persistence.
|
|
7
|
+
*
|
|
8
|
+
* Use cases:
|
|
9
|
+
* - Null-object document placeholder (writable: false)
|
|
10
|
+
* - Test fixtures (writable: true)
|
|
11
|
+
* - Demos and playground (writable: true)
|
|
12
|
+
*
|
|
13
|
+
* When writable is false, any mutation throws STORE_NOT_WRITABLE.
|
|
14
|
+
* Reads always return empty results.
|
|
15
|
+
*/
|
|
16
|
+
export declare class InMemoryStore implements Store {
|
|
17
|
+
readonly name: string;
|
|
18
|
+
private readonly writable;
|
|
19
|
+
private documents;
|
|
20
|
+
private records;
|
|
21
|
+
private changelog;
|
|
22
|
+
private heads;
|
|
23
|
+
private blobs;
|
|
24
|
+
private blobData;
|
|
25
|
+
constructor(name: string, options?: InMemoryStoreOptions);
|
|
26
|
+
open(): Promise<void>;
|
|
27
|
+
close(): void;
|
|
28
|
+
destroy(): Promise<void>;
|
|
29
|
+
registerDocument(file: DocumentRecord): Promise<void>;
|
|
30
|
+
getDocument(documentId: string): Promise<DocumentRecord | undefined>;
|
|
31
|
+
getDocuments(): Promise<DocumentRecord[]>;
|
|
32
|
+
updateDocument(documentId: string, updates: Partial<Pick<DocumentRecord, 'name' | 'metadata'>>): Promise<void>;
|
|
33
|
+
removeDocument(documentId: string): Promise<void>;
|
|
34
|
+
get(id: string, documentId?: string): Promise<AnyRawRecord | undefined>;
|
|
35
|
+
getByDocumentId(documentId: string): Promise<AnyRawRecord[]>;
|
|
36
|
+
getByTagNameInDocument(tagName: string, documentId: string): Promise<AnyRawRecord[]>;
|
|
37
|
+
bulkWrite(documentId: string, ops: {
|
|
38
|
+
creates?: AnyRawRecord[];
|
|
39
|
+
updates?: RecordPatch[];
|
|
40
|
+
deletes?: string[];
|
|
41
|
+
}): Promise<void>;
|
|
42
|
+
commit(params: {
|
|
43
|
+
documentId: string;
|
|
44
|
+
creates: AnyRawRecord[];
|
|
45
|
+
updates: AnyRawRecord[];
|
|
46
|
+
deletes: string[];
|
|
47
|
+
onProgress: (current: number, total: number) => void;
|
|
48
|
+
}): Promise<void>;
|
|
49
|
+
undo(documentId: string): Promise<void>;
|
|
50
|
+
redo(documentId: string): Promise<void>;
|
|
51
|
+
getChangeLog(documentId: string): Promise<ChangeLogEntry[]>;
|
|
52
|
+
getDatabaseInstance(): unknown;
|
|
53
|
+
addBlob(entry: BlobRecord, data: Blob): Promise<void>;
|
|
54
|
+
getBlob(blobId: string): Promise<{
|
|
55
|
+
entry: BlobRecord;
|
|
56
|
+
data: Blob;
|
|
57
|
+
} | undefined>;
|
|
58
|
+
getBlobsByDocument(documentId: string): Promise<BlobRecord[]>;
|
|
59
|
+
getBlobsByRecord(documentId: string, recordRef: string): Promise<BlobRecord[]>;
|
|
60
|
+
getStandaloneBlobs(): Promise<BlobRecord[]>;
|
|
61
|
+
attachBlob(blobId: string, ref: BlobAttachment): Promise<void>;
|
|
62
|
+
detachBlob(blobId: string, ref: {
|
|
63
|
+
documentId: string;
|
|
64
|
+
recordRef: string;
|
|
65
|
+
}): Promise<void>;
|
|
66
|
+
removeBlob(blobId: string): Promise<void>;
|
|
67
|
+
private getBlobTable;
|
|
68
|
+
private getTable;
|
|
69
|
+
private guardWritable;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=in-memory-store.d.ts.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/store/in-memory/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAClC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA"}
|
package/dist/store/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type { Store, ChangeLogEntry, ChangeLogMeta, RecordSchema } from './store.types';
|
|
2
2
|
export * from './local';
|
|
3
|
-
export
|
|
3
|
+
export * from './in-memory';
|
|
4
|
+
export { TABLE_DOCUMENTS, TABLE_CHANGELOG, TABLE_META, TABLE_RECORD_PREFIX, recordTableName, TABLE_BLOBS, TABLE_BLOB_PREFIX, blobTableName, DOCUMENTS_SCHEMA, CHANGELOG_SCHEMA, META_SCHEMA, BLOBS_SCHEMA, BLOB_DATA_SCHEMA, } from './store.constants';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACvF,cAAc,SAAS,CAAA;AACvB,OAAO,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACvF,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,OAAO,EACN,eAAe,EACf,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,gBAAgB,GAChB,MAAM,mBAAmB,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { default as Dexie } from 'dexie';
|
|
|
2
2
|
import { Store, ChangeLogEntry, RecordSchema } from '../store.types';
|
|
3
3
|
import { DexieStoreOptions } from './types';
|
|
4
4
|
import { DocumentRecord } from '../../project';
|
|
5
|
-
import { AnyRawRecord, RecordPatch } from '../../types';
|
|
5
|
+
import { AnyRawRecord, BlobAttachment, BlobRecord, RecordPatch } from '../../types';
|
|
6
6
|
/**
|
|
7
7
|
* Translate a backend-agnostic RecordSchema into Dexie's schema DSL string.
|
|
8
8
|
*
|
|
@@ -53,6 +53,20 @@ export declare class DexieStore implements Store {
|
|
|
53
53
|
undo(documentId: string): Promise<void>;
|
|
54
54
|
redo(documentId: string): Promise<void>;
|
|
55
55
|
getChangeLog(documentId: string): Promise<ChangeLogEntry[]>;
|
|
56
|
+
addBlob(entry: BlobRecord, data: Blob): Promise<void>;
|
|
57
|
+
getBlob(blobId: string): Promise<{
|
|
58
|
+
entry: BlobRecord;
|
|
59
|
+
data: Blob;
|
|
60
|
+
} | undefined>;
|
|
61
|
+
getBlobsByDocument(documentId: string): Promise<BlobRecord[]>;
|
|
62
|
+
getBlobsByRecord(documentId: string, recordRef: string): Promise<BlobRecord[]>;
|
|
63
|
+
getStandaloneBlobs(): Promise<BlobRecord[]>;
|
|
64
|
+
attachBlob(blobId: string, ref: BlobAttachment): Promise<void>;
|
|
65
|
+
detachBlob(blobId: string, ref: {
|
|
66
|
+
documentId: string;
|
|
67
|
+
recordRef: string;
|
|
68
|
+
}): Promise<void>;
|
|
69
|
+
removeBlob(blobId: string): Promise<void>;
|
|
56
70
|
/**
|
|
57
71
|
* Expose the underlying Dexie instance.
|
|
58
72
|
* Useful for legacy compatibility layers and advanced testing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dexie-store.d.ts","sourceRoot":"","sources":["../../../src/store/local/dexie-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dexie-store.d.ts","sourceRoot":"","sources":["../../../src/store/local/dexie-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import { Store } from '.';
|
|
|
3
3
|
import { AnyDialecteConfig } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* Resolve the Store instance from open params.
|
|
6
|
-
* 'local' creates a DexieStore; '
|
|
6
|
+
* 'local' creates a DexieStore; 'inMemory' creates an InMemoryStore;
|
|
7
|
+
* 'custom' passes through the user-provided store.
|
|
7
8
|
*/
|
|
8
9
|
export declare function resolveStore<GenericConfig extends AnyDialecteConfig>(name: string, storage: StorageParam, config: GenericConfig): Store;
|
|
9
10
|
//# sourceMappingURL=resolve-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-store.d.ts","sourceRoot":"","sources":["../../src/store/resolve-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD
|
|
1
|
+
{"version":3,"file":"resolve-store.d.ts","sourceRoot":"","sources":["../../src/store/resolve-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,aAAa,SAAS,iBAAiB,EACnE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,aAAa,GACnB,KAAK,CASP"}
|
|
@@ -9,10 +9,20 @@ export declare const TABLE_META = "_meta";
|
|
|
9
9
|
export declare const TABLE_RECORD_PREFIX = "xel_";
|
|
10
10
|
/** Derive the record table name for a given documentId */
|
|
11
11
|
export declare function recordTableName(documentId: string): string;
|
|
12
|
+
/** System table: blob metadata registry */
|
|
13
|
+
export declare const TABLE_BLOBS = "_blobs";
|
|
14
|
+
/** Prefix for per-document blob data tables */
|
|
15
|
+
export declare const TABLE_BLOB_PREFIX = "blob_";
|
|
16
|
+
/** Derive the blob data table name for a given documentId */
|
|
17
|
+
export declare function blobTableName(documentId: string): string;
|
|
12
18
|
/** Schema for the _files registry table */
|
|
13
19
|
export declare const DOCUMENTS_SCHEMA: RecordSchema;
|
|
14
20
|
/** Schema for the _changeLog table */
|
|
15
21
|
export declare const CHANGELOG_SCHEMA: RecordSchema;
|
|
16
22
|
/** Schema for the _meta table */
|
|
17
23
|
export declare const META_SCHEMA: RecordSchema;
|
|
24
|
+
/** Schema for the _blobs registry table. `documentId` indexed for cascade cleanup. */
|
|
25
|
+
export declare const BLOBS_SCHEMA: RecordSchema;
|
|
26
|
+
/** Schema for the per-document blob data tables (`blob_{documentId}`). */
|
|
27
|
+
export declare const BLOB_DATA_SCHEMA: RecordSchema;
|
|
18
28
|
//# sourceMappingURL=store.constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.constants.d.ts","sourceRoot":"","sources":["../../src/store/store.constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,kCAAkC;AAClC,eAAO,MAAM,eAAe,eAAe,CAAA;AAE3C,+CAA+C;AAC/C,eAAO,MAAM,eAAe,eAAe,CAAA;AAE3C,8DAA8D;AAC9D,eAAO,MAAM,UAAU,UAAU,CAAA;AAEjC,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,SAAS,CAAA;AAEzC,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1D;AAID,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB,EAAE,YAK9B,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,gBAAgB,EAAE,YAM9B,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,WAAW,EAAE,YAKzB,CAAA"}
|
|
1
|
+
{"version":3,"file":"store.constants.d.ts","sourceRoot":"","sources":["../../src/store/store.constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,kCAAkC;AAClC,eAAO,MAAM,eAAe,eAAe,CAAA;AAE3C,+CAA+C;AAC/C,eAAO,MAAM,eAAe,eAAe,CAAA;AAE3C,8DAA8D;AAC9D,eAAO,MAAM,UAAU,UAAU,CAAA;AAEjC,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,SAAS,CAAA;AAEzC,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,2CAA2C;AAC3C,eAAO,MAAM,WAAW,WAAW,CAAA;AAEnC,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,UAAU,CAAA;AAExC,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAID,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB,EAAE,YAK9B,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,gBAAgB,EAAE,YAM9B,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,WAAW,EAAE,YAKzB,CAAA;AAED,sFAAsF;AACtF,eAAO,MAAM,YAAY,EAAE,YAK1B,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,EAAE,YAK9B,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DocumentRecord } from '../project/types';
|
|
2
|
-
import { AnyRawRecord, RecordPatch } from '../types';
|
|
2
|
+
import { AnyRawRecord, BlobAttachment, BlobRecord, RecordPatch } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* RecordSchema — backend-agnostic index declaration for record tables.
|
|
5
5
|
*
|
|
@@ -73,6 +73,31 @@ export interface Store {
|
|
|
73
73
|
redo(documentId: string): Promise<void>;
|
|
74
74
|
/** Return changelog entries for a document in ascending sequenceNumber order */
|
|
75
75
|
getChangeLog(documentId: string): Promise<ChangeLogEntry[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Add a blob: writes the entry to `_blobs` and the binary to `blob_{entry.documentId}`.
|
|
78
|
+
* The owning document must already be registered.
|
|
79
|
+
*/
|
|
80
|
+
addBlob(entry: BlobRecord, data: Blob): Promise<void>;
|
|
81
|
+
/** Get a blob entry + binary data by blob id. */
|
|
82
|
+
getBlob(blobId: string): Promise<{
|
|
83
|
+
entry: BlobRecord;
|
|
84
|
+
data: Blob;
|
|
85
|
+
} | undefined>;
|
|
86
|
+
/** List blob metadata referenced by a document (via `attachedTo`). No binary data loaded. */
|
|
87
|
+
getBlobsByDocument(documentId: string): Promise<BlobRecord[]>;
|
|
88
|
+
/** List blob metadata referenced by a specific record (via `attachedTo`). */
|
|
89
|
+
getBlobsByRecord(documentId: string, recordRef: string): Promise<BlobRecord[]>;
|
|
90
|
+
/** List blob metadata with no `attachedTo` references (standalone project blobs). */
|
|
91
|
+
getStandaloneBlobs(): Promise<BlobRecord[]>;
|
|
92
|
+
/** Append a reference to `attachedTo`. No-op if the reference already exists. */
|
|
93
|
+
attachBlob(blobId: string, ref: BlobAttachment): Promise<void>;
|
|
94
|
+
/** Remove all references matching `{ documentId, recordRef }` from `attachedTo`. */
|
|
95
|
+
detachBlob(blobId: string, ref: {
|
|
96
|
+
documentId: string;
|
|
97
|
+
recordRef: string;
|
|
98
|
+
}): Promise<void>;
|
|
99
|
+
/** Hard-delete a blob: removes from `_blobs` and `blob_{entry.documentId}`. */
|
|
100
|
+
removeBlob(blobId: string): Promise<void>;
|
|
76
101
|
/**
|
|
77
102
|
* Expose the underlying database instance.
|
|
78
103
|
* Type depends on the implementation (e.g. Dexie for DexieStore).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.types.d.ts","sourceRoot":"","sources":["../../src/store/store.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
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,6 +1,6 @@
|
|
|
1
1
|
import { expect as m, it as p } from "vitest";
|
|
2
|
-
import { x as L, D as T, P as w } from "./index-
|
|
3
|
-
import { D as g, s as O, o as M, n as k } from "./merge-extensions-
|
|
2
|
+
import { x as L, D as T, P as w } from "./index-CTdGZJiM.js";
|
|
3
|
+
import { D as g, s as O, o as M, n as k } from "./merge-extensions-CcL-L2ca.js";
|
|
4
4
|
function E(a) {
|
|
5
5
|
const e = R(a);
|
|
6
6
|
if (e.length === 0)
|