@dialecte/core 0.1.22 → 0.2.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/document/bind-extensions.d.ts +1 -1
- package/dist/document/bind-extensions.d.ts.map +1 -1
- package/dist/document/document.d.ts +6 -7
- package/dist/document/document.d.ts.map +1 -1
- package/dist/document/index.d.ts +3 -1
- package/dist/document/index.d.ts.map +1 -1
- package/dist/document/query/any/any-query.d.ts +2 -1
- package/dist/document/query/any/any-query.d.ts.map +1 -1
- package/dist/document/query/find/ancestor/find-ancestor.d.ts +2 -2
- package/dist/document/query/find/ancestor/find-ancestor.d.ts.map +1 -1
- package/dist/document/query/find/descendant/find-descendant.d.ts +2 -2
- package/dist/document/query/find/descendant/find-descendant.d.ts.map +1 -1
- package/dist/document/query/get/attribute/get-attribute.d.ts +2 -2
- package/dist/document/query/get/attribute/get-attribute.d.ts.map +1 -1
- package/dist/document/query/get/attribute/get-attributes.d.ts +2 -2
- package/dist/document/query/get/attribute/get-attributes.d.ts.map +1 -1
- package/dist/document/query/get/record/get-child.d.ts +2 -2
- package/dist/document/query/get/record/get-child.d.ts.map +1 -1
- package/dist/document/query/get/record/get-children.d.ts +2 -2
- package/dist/document/query/get/record/get-children.d.ts.map +1 -1
- package/dist/document/query/get/record/get-record.d.ts +2 -2
- package/dist/document/query/get/record/get-record.d.ts.map +1 -1
- package/dist/document/query/get/record/get-records.d.ts +2 -2
- package/dist/document/query/get/record/get-records.d.ts.map +1 -1
- package/dist/document/query/get/tree/get-tree.d.ts +2 -2
- package/dist/document/query/get/tree/get-tree.d.ts.map +1 -1
- package/dist/document/query/main.d.ts +4 -2
- package/dist/document/query/main.d.ts.map +1 -1
- package/dist/document/transaction/any/any-transaction.d.ts +2 -3
- package/dist/document/transaction/any/any-transaction.d.ts.map +1 -1
- package/dist/document/transaction/clone/clone.d.ts +2 -2
- package/dist/document/transaction/clone/clone.d.ts.map +1 -1
- package/dist/document/transaction/clone/clone.types.d.ts +2 -1
- package/dist/document/transaction/clone/clone.types.d.ts.map +1 -1
- package/dist/document/transaction/commit/commit.d.ts +3 -2
- package/dist/document/transaction/commit/commit.d.ts.map +1 -1
- package/dist/document/transaction/create/create.d.ts +2 -2
- package/dist/document/transaction/create/create.d.ts.map +1 -1
- package/dist/document/transaction/delete/delete.d.ts +2 -2
- package/dist/document/transaction/delete/delete.d.ts.map +1 -1
- package/dist/document/transaction/ensure/ensure.d.ts +2 -2
- package/dist/document/transaction/ensure/ensure.d.ts.map +1 -1
- package/dist/document/transaction/main.d.ts +5 -4
- package/dist/document/transaction/main.d.ts.map +1 -1
- package/dist/document/transaction/update/update.d.ts +2 -2
- package/dist/document/transaction/update/update.d.ts.map +1 -1
- package/dist/document/types.d.ts +2 -1
- package/dist/document/types.d.ts.map +1 -1
- package/dist/{types/extensions.d.ts → document/types.extensions.d.ts} +3 -3
- package/dist/document/types.extensions.d.ts.map +1 -0
- package/dist/{types/ref.d.ts → document/types.ref.d.ts} +2 -3
- package/dist/document/types.ref.d.ts.map +1 -0
- package/dist/errors/codes.d.ts +16 -0
- package/dist/errors/codes.d.ts.map +1 -1
- package/dist/helpers/converter.d.ts +2 -1
- package/dist/helpers/converter.d.ts.map +1 -1
- package/dist/helpers/merge-extensions.d.ts +1 -2
- package/dist/helpers/merge-extensions.d.ts.map +1 -1
- package/dist/helpers.js +1 -1
- package/dist/{index-B1qiHOqL.js → index-C2WRi-6U.js} +27 -10
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +73 -38
- package/dist/{merge-extensions-D-JNgVJ8.js → merge-extensions-DQKNUthU.js} +1 -1
- package/dist/project/index.d.ts +9 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/io/export-document.d.ts +7 -0
- package/dist/project/io/export-document.d.ts.map +1 -0
- package/dist/project/io/import-document.d.ts +7 -0
- package/dist/project/io/import-document.d.ts.map +1 -0
- package/dist/project/io/index.d.ts +4 -0
- package/dist/project/io/index.d.ts.map +1 -0
- package/dist/project/io/init-empty-document.d.ts +7 -0
- package/dist/project/io/init-empty-document.d.ts.map +1 -0
- package/dist/project/project.d.ts +80 -0
- package/dist/project/project.d.ts.map +1 -0
- package/dist/project/state/document-state.d.ts +11 -0
- package/dist/project/state/document-state.d.ts.map +1 -0
- package/dist/project/state/index.d.ts +2 -0
- package/dist/project/state/index.d.ts.map +1 -0
- package/dist/project/types.d.ts +128 -0
- package/dist/project/types.d.ts.map +1 -0
- package/dist/project-ChrJXVyu.js +6762 -0
- package/dist/store/index.d.ts +3 -2
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/local/dexie-store.d.ts +74 -0
- package/dist/store/local/dexie-store.d.ts.map +1 -0
- package/dist/store/local/index.d.ts +3 -0
- package/dist/store/local/index.d.ts.map +1 -0
- package/dist/store/local/types.d.ts +6 -0
- package/dist/store/local/types.d.ts.map +1 -0
- package/dist/store/resolve-store.d.ts +9 -0
- package/dist/store/resolve-store.d.ts.map +1 -0
- package/dist/store/store.constants.d.ts +18 -0
- package/dist/store/store.constants.d.ts.map +1 -0
- package/dist/store/store.types.d.ts +70 -32
- package/dist/store/store.types.d.ts.map +1 -1
- package/dist/test/assert-xml/assert-xml.d.ts +1 -1
- package/dist/test/config.d.ts +14 -0
- package/dist/test/config.d.ts.map +1 -1
- package/dist/test/create-test-dialecte.d.ts +20 -20
- package/dist/test/create-test-dialecte.d.ts.map +1 -1
- package/dist/test/run-test-cases.d.ts +6 -0
- package/dist/test/run-test-cases.d.ts.map +1 -1
- package/dist/test/run-test-cases.type.d.ts +4 -8
- package/dist/test/run-test-cases.type.d.ts.map +1 -1
- package/dist/test/test-record.d.ts +48 -0
- package/dist/test/test-record.d.ts.map +1 -1
- package/dist/test.js +227 -227
- package/dist/types/dialecte-config.d.ts +8 -1
- package/dist/types/dialecte-config.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/xml/build/build-xml-document.d.ts +10 -0
- package/dist/xml/build/build-xml-document.d.ts.map +1 -0
- package/dist/xml/build/build-xml-document.types.d.ts +7 -0
- package/dist/xml/build/build-xml-document.types.d.ts.map +1 -0
- package/dist/xml/build/constant.d.ts.map +1 -0
- package/dist/{io/export → xml/build}/download-file.d.ts.map +1 -1
- package/dist/xml/build/formatter.d.ts.map +1 -0
- package/dist/xml/build/index.d.ts +6 -0
- package/dist/xml/build/index.d.ts.map +1 -0
- package/dist/xml/index.d.ts +3 -0
- package/dist/xml/index.d.ts.map +1 -0
- package/dist/{io/import → xml/parse}/guards.d.ts.map +1 -1
- package/dist/xml/parse/index.d.ts +5 -0
- package/dist/xml/parse/index.d.ts.map +1 -0
- package/dist/xml/parse/parse-session.d.ts +22 -0
- package/dist/xml/parse/parse-session.d.ts.map +1 -0
- package/dist/xml/parse/parse-xml-document.d.ts +12 -0
- package/dist/xml/parse/parse-xml-document.d.ts.map +1 -0
- package/dist/xml/parse/parse-xml-document.types.d.ts +17 -0
- package/dist/xml/parse/parse-xml-document.types.d.ts.map +1 -0
- package/dist/{io/import → xml/parse}/parser.d.ts +2 -0
- package/dist/xml/parse/parser.d.ts.map +1 -0
- package/dist/{io/import → xml/parse}/types.d.ts.map +1 -1
- package/package.json +1 -10
- package/dist/dialecte/index.d.ts +0 -2
- package/dist/dialecte/index.d.ts.map +0 -1
- package/dist/dialecte/main.d.ts +0 -6
- package/dist/dialecte/main.d.ts.map +0 -1
- package/dist/dialecte/main.types.d.ts +0 -12
- package/dist/dialecte/main.types.d.ts.map +0 -1
- package/dist/index-BI0vaz_1.js +0 -6662
- package/dist/io/database/index.d.ts +0 -3
- package/dist/io/database/index.d.ts.map +0 -1
- package/dist/io/database/instance.d.ts +0 -7
- package/dist/io/database/instance.d.ts.map +0 -1
- package/dist/io/database/types.d.ts +0 -7
- package/dist/io/database/types.d.ts.map +0 -1
- package/dist/io/export/constant.d.ts.map +0 -1
- package/dist/io/export/formatter.d.ts.map +0 -1
- package/dist/io/export/index.d.ts +0 -4
- package/dist/io/export/index.d.ts.map +0 -1
- package/dist/io/export/main.d.ts +0 -18
- package/dist/io/export/main.d.ts.map +0 -1
- package/dist/io/import/database-helpers.d.ts +0 -53
- package/dist/io/import/database-helpers.d.ts.map +0 -1
- package/dist/io/import/index.d.ts +0 -4
- package/dist/io/import/index.d.ts.map +0 -1
- package/dist/io/import/main.d.ts +0 -15
- package/dist/io/import/main.d.ts.map +0 -1
- package/dist/io/import/parser.d.ts.map +0 -1
- package/dist/io/import/relationships.d.ts +0 -9
- package/dist/io/import/relationships.d.ts.map +0 -1
- package/dist/io/import/test.types.d.ts +0 -4
- package/dist/io/import/test.types.d.ts.map +0 -1
- package/dist/io/index.d.ts +0 -3
- package/dist/io/index.d.ts.map +0 -1
- package/dist/script/element-parent-mapping.d.ts +0 -2
- package/dist/script/element-parent-mapping.d.ts.map +0 -1
- package/dist/script/find-singleton.d.ts +0 -1
- package/dist/script/find-singleton.d.ts.map +0 -1
- package/dist/script/find-unreferenced-elements.d.ts +0 -3
- package/dist/script/find-unreferenced-elements.d.ts.map +0 -1
- package/dist/script/generate-definition.d.ts +0 -3
- package/dist/script/generate-definition.d.ts.map +0 -1
- package/dist/script/generate-definition.types.d.ts +0 -86
- package/dist/script/generate-definition.types.d.ts.map +0 -1
- package/dist/script/pyodide.d.ts +0 -12
- package/dist/script/pyodide.d.ts.map +0 -1
- package/dist/script/sorted-dexie-dump-json.d.ts +0 -2
- package/dist/script/sorted-dexie-dump-json.d.ts.map +0 -1
- package/dist/script/test-pyodide.d.ts +0 -9
- package/dist/script/test-pyodide.d.ts.map +0 -1
- package/dist/store/dexie-store.d.ts +0 -36
- package/dist/store/dexie-store.d.ts.map +0 -1
- package/dist/types/extensions.d.ts.map +0 -1
- package/dist/types/ref.d.ts.map +0 -1
- /package/dist/{io/export → xml/build}/constant.d.ts +0 -0
- /package/dist/{io/export → xml/build}/download-file.d.ts +0 -0
- /package/dist/{io/export → xml/build}/formatter.d.ts +0 -0
- /package/dist/{io/import → xml/parse}/guards.d.ts +0 -0
- /package/dist/{io/import → xml/parse}/types.d.ts +0 -0
package/dist/store/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export type { Store, ChangeLogEntry,
|
|
2
|
-
export
|
|
1
|
+
export type { Store, ChangeLogEntry, ChangeLogMeta, RecordSchema } from './store.types';
|
|
2
|
+
export * from './local';
|
|
3
|
+
export { TABLE_DOCUMENTS, TABLE_CHANGELOG, TABLE_META, TABLE_RECORD_PREFIX, recordTableName, DOCUMENTS_SCHEMA, CHANGELOG_SCHEMA, META_SCHEMA, } from './store.constants';
|
|
3
4
|
//# 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,
|
|
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,GACX,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { default as Dexie } from 'dexie';
|
|
2
|
+
import { Store, ChangeLogEntry, RecordSchema } from '../store.types';
|
|
3
|
+
import { DexieStoreOptions } from './types';
|
|
4
|
+
import { DocumentRecord } from '../../project';
|
|
5
|
+
import { AnyRawRecord, RecordPatch } from '../../types';
|
|
6
|
+
/**
|
|
7
|
+
* Translate a backend-agnostic RecordSchema into Dexie's schema DSL string.
|
|
8
|
+
*
|
|
9
|
+
* Dexie format: '++primaryKey, field1, field2, [compound1+compound2], *arrayField'
|
|
10
|
+
*/
|
|
11
|
+
export declare function buildDexieSchema(schema: RecordSchema): string;
|
|
12
|
+
/**
|
|
13
|
+
* DexieStore — IndexedDB-backed Store implementation via Dexie.
|
|
14
|
+
*
|
|
15
|
+
* Manages partitioned tables: one `xel_{documentId}` per registered file.
|
|
16
|
+
* Dynamic schema versioning via close/reopen with version bump.
|
|
17
|
+
*
|
|
18
|
+
* Constructor takes the project name and optionally a RecordSchema from the dialecte config.
|
|
19
|
+
*/
|
|
20
|
+
export declare class DexieStore implements Store {
|
|
21
|
+
readonly name: string;
|
|
22
|
+
private db;
|
|
23
|
+
private schemaVersion;
|
|
24
|
+
private readonly dexieRecordSchema;
|
|
25
|
+
/** In-memory file registry - avoids bootstrap connections during close/reopen */
|
|
26
|
+
private knownDocuments;
|
|
27
|
+
/** Serialization lock for schema-changing operations */
|
|
28
|
+
private schemaLock;
|
|
29
|
+
constructor(projectName: string, options?: DexieStoreOptions);
|
|
30
|
+
open(): Promise<void>;
|
|
31
|
+
close(): void;
|
|
32
|
+
destroy(): Promise<void>;
|
|
33
|
+
registerDocument(file: DocumentRecord): Promise<void>;
|
|
34
|
+
getDocument(documentId: string): Promise<DocumentRecord | undefined>;
|
|
35
|
+
getDocuments(): Promise<DocumentRecord[]>;
|
|
36
|
+
updateDocument(documentId: string, updates: Partial<Pick<DocumentRecord, 'name' | 'metadata'>>): Promise<void>;
|
|
37
|
+
removeDocument(documentId: string): Promise<void>;
|
|
38
|
+
get(id: string, documentId?: string): Promise<AnyRawRecord | undefined>;
|
|
39
|
+
getByDocumentId(documentId: string): Promise<AnyRawRecord[]>;
|
|
40
|
+
getByTagNameInDocument(tagName: string, documentId: string): Promise<AnyRawRecord[]>;
|
|
41
|
+
bulkWrite(documentId: string, ops: {
|
|
42
|
+
creates?: AnyRawRecord[];
|
|
43
|
+
updates?: RecordPatch[];
|
|
44
|
+
deletes?: string[];
|
|
45
|
+
}): Promise<void>;
|
|
46
|
+
commit(params: {
|
|
47
|
+
documentId: string;
|
|
48
|
+
creates: AnyRawRecord[];
|
|
49
|
+
updates: AnyRawRecord[];
|
|
50
|
+
deletes: string[];
|
|
51
|
+
onProgress: (current: number, total: number) => void;
|
|
52
|
+
}): Promise<void>;
|
|
53
|
+
undo(documentId: string): Promise<void>;
|
|
54
|
+
redo(documentId: string): Promise<void>;
|
|
55
|
+
getChangeLog(documentId: string): Promise<ChangeLogEntry[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Expose the underlying Dexie instance.
|
|
58
|
+
* Useful for legacy compatibility layers and advanced testing.
|
|
59
|
+
*/
|
|
60
|
+
getDatabaseInstance(): Dexie;
|
|
61
|
+
private getHead;
|
|
62
|
+
private setHead;
|
|
63
|
+
/** Build Dexie stores object from current knownDocuments */
|
|
64
|
+
private buildStores;
|
|
65
|
+
/** Close DB, bump version, reopen with updated schema */
|
|
66
|
+
private reopenWithNewSchema;
|
|
67
|
+
/** Serialize schema-changing operations */
|
|
68
|
+
private withSchemaLock;
|
|
69
|
+
/**
|
|
70
|
+
* Resolve the Dexie table name for a documentId.
|
|
71
|
+
*/
|
|
72
|
+
private resolveTableName;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=dexie-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dexie-store.d.ts","sourceRoot":"","sources":["../../../src/store/local/dexie-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/store/local/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,iBAAiB,GAAG;IAC/B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,YAAY,CAAA;CAC3B,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { StorageParam } from '../project/types';
|
|
2
|
+
import { Store } from '.';
|
|
3
|
+
import { AnyDialecteConfig } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* Resolve the Store instance from open params.
|
|
6
|
+
* 'local' creates a DexieStore; 'custom' passes through the user-provided store.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveStore<GenericConfig extends AnyDialecteConfig>(name: string, storage: StorageParam, config: GenericConfig): Store;
|
|
9
|
+
//# sourceMappingURL=resolve-store.d.ts.map
|
|
@@ -0,0 +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;;;GAGG;AACH,wBAAgB,YAAY,CAAC,aAAa,SAAS,iBAAiB,EACnE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,aAAa,GACnB,KAAK,CAMP"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RecordSchema } from './store.types';
|
|
2
|
+
/** System table: file registry */
|
|
3
|
+
export declare const TABLE_DOCUMENTS = "_documents";
|
|
4
|
+
/** System table: per-file changelog entries */
|
|
5
|
+
export declare const TABLE_CHANGELOG = "_changeLog";
|
|
6
|
+
/** System table: metadata (schema version, per-file heads) */
|
|
7
|
+
export declare const TABLE_META = "_meta";
|
|
8
|
+
/** Prefix for per-file record tables */
|
|
9
|
+
export declare const TABLE_RECORD_PREFIX = "xel_";
|
|
10
|
+
/** Derive the record table name for a given documentId */
|
|
11
|
+
export declare function recordTableName(documentId: string): string;
|
|
12
|
+
/** Schema for the _files registry table */
|
|
13
|
+
export declare const DOCUMENTS_SCHEMA: RecordSchema;
|
|
14
|
+
/** Schema for the _changeLog table */
|
|
15
|
+
export declare const CHANGELOG_SCHEMA: RecordSchema;
|
|
16
|
+
/** Schema for the _meta table */
|
|
17
|
+
export declare const META_SCHEMA: RecordSchema;
|
|
18
|
+
//# sourceMappingURL=store.constants.d.ts.map
|
|
@@ -0,0 +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,44 +1,89 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DocumentRecord } from '../project/types';
|
|
2
|
+
import { AnyRawRecord, RecordPatch } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* RecordSchema — backend-agnostic index declaration for record tables.
|
|
5
|
+
*
|
|
6
|
+
* Each dialecte declares what fields to index. Store implementations
|
|
7
|
+
* translate this into their native format (Dexie DSL, SQL DDL, Mongo indexes, etc.).
|
|
8
|
+
*/
|
|
9
|
+
export type RecordSchema = {
|
|
10
|
+
/** Primary key field name */
|
|
11
|
+
primaryKey: string;
|
|
12
|
+
/** Auto-increment primary key (e.g. Dexie ++id, SQL AUTOINCREMENT) */
|
|
13
|
+
autoIncrement?: boolean;
|
|
14
|
+
/** Single-field indexes */
|
|
15
|
+
indexes: string[];
|
|
16
|
+
/** Compound indexes (multiple fields queried together) */
|
|
17
|
+
compoundIndexes: string[][];
|
|
18
|
+
/** Array field indexes (per-element lookup: Dexie multi-entry, Mongo multikey, SQL junction/GIN) */
|
|
19
|
+
arrayIndexes: string[];
|
|
20
|
+
};
|
|
2
21
|
/**
|
|
3
22
|
* Store — the database port.
|
|
4
23
|
*
|
|
5
24
|
* Abstracts persistence so Document/Transaction don't couple to IndexedDB.
|
|
6
|
-
* Implement DexieStore for
|
|
25
|
+
* Implement DexieStore for IndexedDB, or any other backend (SQLite, Mongo, InMemory).
|
|
7
26
|
*
|
|
27
|
+
* All record operations are document-scoped via documentId.
|
|
8
28
|
* Not generic on Config — stores raw records as-is.
|
|
9
29
|
* Type narrowing lives in Document/Transaction, not here.
|
|
10
30
|
*/
|
|
11
31
|
export interface Store {
|
|
12
32
|
/** Unique identifier for this store — used to scope the BroadcastChannel */
|
|
13
|
-
name: string;
|
|
14
|
-
/** Get a single record by primary key */
|
|
15
|
-
get(id: string): Promise<AnyRawRecord | undefined>;
|
|
16
|
-
/** Get all records with a given tagName */
|
|
17
|
-
getByTagName(tagName: string): Promise<AnyRawRecord[]>;
|
|
18
|
-
/** Atomic commit — all-or-nothing write */
|
|
19
|
-
commit(params: {
|
|
20
|
-
creates: AnyRawRecord[];
|
|
21
|
-
updates: AnyRawRecord[];
|
|
22
|
-
deletes: string[];
|
|
23
|
-
onProgress: (current: number, total: number) => void;
|
|
24
|
-
}): Promise<void>;
|
|
25
|
-
/** Wipe all records */
|
|
26
|
-
clear(): Promise<void>;
|
|
33
|
+
readonly name: string;
|
|
27
34
|
/** Open the connection (if not already open) */
|
|
28
35
|
open(): Promise<void>;
|
|
29
36
|
/** Close the connection */
|
|
30
37
|
close(): void;
|
|
31
38
|
/** Delete the database entirely (not just clear — remove from browser) */
|
|
32
39
|
destroy(): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
|
|
40
|
+
/** Register a new document — creates its backing storage partition */
|
|
41
|
+
registerDocument(file: DocumentRecord): Promise<void>;
|
|
42
|
+
/** Get a document record by id */
|
|
43
|
+
getDocument(documentId: string): Promise<DocumentRecord | undefined>;
|
|
44
|
+
/** Get all registered documents */
|
|
45
|
+
getDocuments(): Promise<DocumentRecord[]>;
|
|
46
|
+
/** Update document metadata (name, metadata) */
|
|
47
|
+
updateDocument(documentId: string, updates: Partial<Pick<DocumentRecord, 'name' | 'metadata'>>): Promise<void>;
|
|
48
|
+
/** Remove a document and all its records (O(1) table clear) */
|
|
49
|
+
removeDocument(documentId: string): Promise<void>;
|
|
50
|
+
/** Get a single record by primary key. documentId optimizes lookup when known. */
|
|
51
|
+
get(id: string, documentId?: string): Promise<AnyRawRecord | undefined>;
|
|
52
|
+
/** Get all records belonging to a document */
|
|
53
|
+
getByDocumentId(documentId: string): Promise<AnyRawRecord[]>;
|
|
54
|
+
/** Get records matching a tagName within a specific document */
|
|
55
|
+
getByTagNameInDocument(tagName: string, documentId: string): Promise<AnyRawRecord[]>;
|
|
56
|
+
/** Bulk write - atomic creates/updates/deletes bypassing changelog. For import pipeline. */
|
|
57
|
+
bulkWrite(documentId: string, ops: {
|
|
58
|
+
creates?: AnyRawRecord[];
|
|
59
|
+
updates?: RecordPatch[];
|
|
60
|
+
deletes?: string[];
|
|
61
|
+
}): Promise<void>;
|
|
62
|
+
/** Atomic commit — all-or-nothing write scoped to a document */
|
|
63
|
+
commit(params: {
|
|
64
|
+
documentId: string;
|
|
65
|
+
creates: AnyRawRecord[];
|
|
66
|
+
updates: AnyRawRecord[];
|
|
67
|
+
deletes: string[];
|
|
68
|
+
onProgress: (current: number, total: number) => void;
|
|
69
|
+
}): Promise<void>;
|
|
70
|
+
/** Undo the last committed change for a document. No-op at beginning of history. */
|
|
71
|
+
undo(documentId: string): Promise<void>;
|
|
72
|
+
/** Redo the next change for a document. No-op at end of history. */
|
|
73
|
+
redo(documentId: string): Promise<void>;
|
|
74
|
+
/** Return changelog entries for a document in ascending sequenceNumber order */
|
|
75
|
+
getChangeLog(documentId: string): Promise<ChangeLogEntry[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Expose the underlying database instance.
|
|
78
|
+
* Type depends on the implementation (e.g. Dexie for DexieStore).
|
|
79
|
+
* Cast at the call site when the concrete store type is known.
|
|
80
|
+
*/
|
|
81
|
+
getDatabaseInstance(): unknown;
|
|
39
82
|
}
|
|
40
83
|
export type ChangeLogEntry = {
|
|
41
|
-
|
|
84
|
+
/** Auto-increment primary key (assigned by Dexie) */
|
|
85
|
+
id: number;
|
|
86
|
+
documentId: string;
|
|
42
87
|
sequenceNumber: number;
|
|
43
88
|
timestamp: number;
|
|
44
89
|
operations: {
|
|
@@ -50,16 +95,9 @@ export type ChangeLogEntry = {
|
|
|
50
95
|
deletes: AnyRawRecord[];
|
|
51
96
|
};
|
|
52
97
|
};
|
|
53
|
-
/**
|
|
98
|
+
/** Per-file head stored in _meta table */
|
|
54
99
|
export type ChangeLogMeta = {
|
|
55
|
-
key:
|
|
100
|
+
key: string;
|
|
56
101
|
value: number;
|
|
57
102
|
};
|
|
58
|
-
export type StorageOptions = {
|
|
59
|
-
type: 'local';
|
|
60
|
-
databaseName: string;
|
|
61
|
-
} | {
|
|
62
|
-
type: 'custom';
|
|
63
|
-
store: Store;
|
|
64
|
-
};
|
|
65
103
|
//# sourceMappingURL=store.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.types.d.ts","sourceRoot":"","sources":["../../src/store/store.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,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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"}
|
|
@@ -3,7 +3,7 @@ import { Namespace } from '../../types';
|
|
|
3
3
|
/**
|
|
4
4
|
* Creates a pair of assertion functions pre-configured with a namespace resolver
|
|
5
5
|
* derived from a prefix → URI map. Intended to be instantiated once per dialecte
|
|
6
|
-
* (e.g. in scl test) and re-exported alongside
|
|
6
|
+
* (e.g. in scl test) and re-exported alongside createTestProject.
|
|
7
7
|
*/
|
|
8
8
|
export declare function createXmlAssertions(params: {
|
|
9
9
|
namespaces: Record<string, Namespace>;
|
package/dist/test/config.d.ts
CHANGED
|
@@ -2,6 +2,13 @@ export declare const IO_CONFIG: {
|
|
|
2
2
|
readonly supportedFileExtensions: readonly [".xml"];
|
|
3
3
|
};
|
|
4
4
|
export declare const DATABASE_CONFIG: {
|
|
5
|
+
readonly recordSchema: {
|
|
6
|
+
readonly primaryKey: "id";
|
|
7
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
8
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
9
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
10
|
+
};
|
|
11
|
+
/** @deprecated - kept for old io/ pipeline until Phase 5 removes it */
|
|
5
12
|
readonly tables: {
|
|
6
13
|
readonly xmlElements: {
|
|
7
14
|
readonly name: "xmlElements";
|
|
@@ -193,6 +200,13 @@ export declare const TEST_DIALECTE_CONFIG: {
|
|
|
193
200
|
readonly Root: readonly [];
|
|
194
201
|
};
|
|
195
202
|
readonly database: {
|
|
203
|
+
readonly recordSchema: {
|
|
204
|
+
readonly primaryKey: "id";
|
|
205
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
206
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
207
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
208
|
+
};
|
|
209
|
+
/** @deprecated - kept for old io/ pipeline until Phase 5 removes it */
|
|
196
210
|
readonly tables: {
|
|
197
211
|
readonly xmlElements: {
|
|
198
212
|
readonly name: "xmlElements";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/test/config.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,SAAS;;CAEO,CAAA;AAG7B,eAAO,MAAM,eAAe;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/test/config.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,SAAS;;CAEO,CAAA;AAG7B,eAAO,MAAM,eAAe;;;;;;;IAO3B,uEAAuE;;;;;;;CAQrC,CAAA;AAEnC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAVhC,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBlC,CAAA;AAEtC,MAAM,MAAM,kBAAkB,GAAG,OAAO,oBAAoB,CAAA"}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import { TEST_DIALECTE_CONFIG } from './config';
|
|
2
|
-
import {
|
|
2
|
+
import { Project } from '../project';
|
|
3
|
+
import { Document, Context } from '../document';
|
|
3
4
|
import { AnyDialecteConfig, TransactionHooks } from '../types';
|
|
4
5
|
type TestDialecteConfig = typeof TEST_DIALECTE_CONFIG;
|
|
6
|
+
export type TestFile<GenericConfig extends AnyDialecteConfig> = {
|
|
7
|
+
documentId: string;
|
|
8
|
+
document: Document<GenericConfig>;
|
|
9
|
+
};
|
|
10
|
+
export type TestProjectResult<GenericConfig extends AnyDialecteConfig> = {
|
|
11
|
+
project: Project<GenericConfig>;
|
|
12
|
+
source: TestFile<GenericConfig>;
|
|
13
|
+
target?: TestFile<GenericConfig>;
|
|
14
|
+
};
|
|
5
15
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
16
|
+
* Spin up a Project with source (and optionally target) file imported.
|
|
17
|
+
* Returns project + pre-opened documents. Caller owns lifecycle via project.destroy().
|
|
8
18
|
*/
|
|
9
|
-
export declare function
|
|
10
|
-
|
|
19
|
+
export declare function createTestProject<GenericConfig extends AnyDialecteConfig = TestDialecteConfig>(params: {
|
|
20
|
+
sourceXml: string;
|
|
21
|
+
targetXml?: string;
|
|
11
22
|
dialecteConfig?: GenericConfig;
|
|
12
23
|
hooks?: TransactionHooks<GenericConfig>;
|
|
13
|
-
}): Promise<
|
|
14
|
-
document: Document<GenericConfig>;
|
|
15
|
-
databaseName: string;
|
|
16
|
-
cleanup: () => Promise<void>;
|
|
17
|
-
exportCurrentTest: (params?: {
|
|
18
|
-
extension?: GenericConfig['io']['supportedFileExtensions'][number];
|
|
19
|
-
withDatabaseIds?: boolean;
|
|
20
|
-
}) => Promise<{
|
|
21
|
-
xmlDocument: XMLDocument;
|
|
22
|
-
filename: string;
|
|
23
|
-
}>;
|
|
24
|
-
}>;
|
|
24
|
+
}): Promise<TestProjectResult<GenericConfig>>;
|
|
25
25
|
/**
|
|
26
26
|
* Create a Context directly from a databaseName for testing FP query functions.
|
|
27
|
-
*
|
|
28
|
-
* or use DexieStore which opens lazily on first query.
|
|
27
|
+
* Opens the store to discover existing tables.
|
|
29
28
|
*/
|
|
30
29
|
export declare function createTestContext<GenericConfig extends AnyDialecteConfig>(params: {
|
|
31
30
|
databaseName: string;
|
|
32
31
|
dialecteConfig: GenericConfig;
|
|
33
|
-
|
|
32
|
+
documentId: string;
|
|
33
|
+
}): Promise<Context<GenericConfig>>;
|
|
34
34
|
export {};
|
|
35
35
|
//# sourceMappingURL=create-test-dialecte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-test-dialecte.d.ts","sourceRoot":"","sources":["../../src/test/create-test-dialecte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"create-test-dialecte.d.ts","sourceRoot":"","sources":["../../src/test/create-test-dialecte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE,KAAK,kBAAkB,GAAG,OAAO,oBAAoB,CAAA;AAErD,MAAM,MAAM,QAAQ,CAAC,aAAa,SAAS,iBAAiB,IAAI;IAC/D,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,aAAa,SAAS,iBAAiB,IAAI;IACxE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;CAChC,CAAA;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACtC,aAAa,SAAS,iBAAiB,GAAG,kBAAkB,EAC3D,MAAM,EAAE;IACT,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;CACvC,GAAG,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CA6C5C;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,SAAS,iBAAiB,EAAE,MAAM,EAAE;IACxF,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,aAAa,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAalC"}
|
|
@@ -185,6 +185,12 @@ export declare const runTestCases: TestRunner<{
|
|
|
185
185
|
readonly Root: readonly [];
|
|
186
186
|
};
|
|
187
187
|
readonly database: {
|
|
188
|
+
readonly recordSchema: {
|
|
189
|
+
readonly primaryKey: "id";
|
|
190
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
191
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
192
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
193
|
+
};
|
|
188
194
|
readonly tables: {
|
|
189
195
|
readonly xmlElements: {
|
|
190
196
|
readonly name: "xmlElements";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-test-cases.d.ts","sourceRoot":"","sources":["../../src/test/run-test-cases.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-test-cases.d.ts","sourceRoot":"","sources":["../../src/test/run-test-cases.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,23 +10,19 @@ export type BaseXmlTestCase = BaseTestCase & {
|
|
|
10
10
|
unexpectedQueries?: string[];
|
|
11
11
|
};
|
|
12
12
|
export type TestCases<GenericTestCase extends BaseXmlTestCase> = Record<string, GenericTestCase>;
|
|
13
|
-
export type TestContext<GenericConfig extends AnyDialecteConfig> = {
|
|
14
|
-
document: Document<GenericConfig>;
|
|
15
|
-
databaseName: string;
|
|
16
|
-
};
|
|
17
13
|
export type ActParams<GenericConfig extends AnyDialecteConfig, GenericTestCase extends BaseXmlTestCase> = {
|
|
18
14
|
testCase: GenericTestCase;
|
|
19
|
-
source:
|
|
20
|
-
target?:
|
|
15
|
+
source: Document<GenericConfig>;
|
|
16
|
+
target?: Document<GenericConfig>;
|
|
21
17
|
};
|
|
22
18
|
export type ActResult = {
|
|
23
|
-
|
|
19
|
+
assertOn?: 'source' | 'target';
|
|
24
20
|
withDatabaseIds?: boolean;
|
|
25
21
|
};
|
|
26
22
|
export type TestRunner<GenericConfig extends AnyDialecteConfig> = {
|
|
27
23
|
withExport<GenericTestCase extends BaseXmlTestCase>(params: {
|
|
28
24
|
testCases: TestCases<GenericTestCase>;
|
|
29
|
-
act: (params: ActParams<GenericConfig, GenericTestCase>) => Promise<ActResult>;
|
|
25
|
+
act: (params: ActParams<GenericConfig, GenericTestCase>) => Promise<ActResult | void>;
|
|
30
26
|
dialecteConfig?: GenericConfig;
|
|
31
27
|
hooks?: TransactionHooks<GenericConfig>;
|
|
32
28
|
}): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-test-cases.type.d.ts","sourceRoot":"","sources":["../../src/test/run-test-cases.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,eAAe,SAAS,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAEhG,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"run-test-cases.type.d.ts","sourceRoot":"","sources":["../../src/test/run-test-cases.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElE,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,eAAe,SAAS,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAEhG,MAAM,MAAM,SAAS,CACpB,aAAa,SAAS,iBAAiB,EACvC,eAAe,SAAS,eAAe,IACpC;IACH,QAAQ,EAAE,eAAe,CAAA;IACzB,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,aAAa,SAAS,iBAAiB,IAAI;IACjE,UAAU,CAAC,eAAe,SAAS,eAAe,EAAE,MAAM,EAAE;QAC3D,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;QACrC,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,eAAe,CAAC,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;QACrF,cAAc,CAAC,EAAE,aAAa,CAAA;QAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;KACvC,GAAG,IAAI,CAAA;IACR,aAAa,CAAC,eAAe,SAAS,eAAe,EAAE,MAAM,EAAE;QAC9D,SAAS,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;QACrC,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,eAAe,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QACzE,cAAc,CAAC,EAAE,aAAa,CAAA;QAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;KACvC,GAAG,IAAI,CAAA;IACR,OAAO,CAAC,eAAe,SAAS,YAAY,EAC3C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC1C,GAAG,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,GACtC,IAAI,CAAA;CACP,CAAA"}
|
|
@@ -210,6 +210,12 @@ export declare const createTestRecord: {
|
|
|
210
210
|
readonly Root: readonly [];
|
|
211
211
|
};
|
|
212
212
|
readonly database: {
|
|
213
|
+
readonly recordSchema: {
|
|
214
|
+
readonly primaryKey: "id";
|
|
215
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
216
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
217
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
218
|
+
};
|
|
213
219
|
readonly tables: {
|
|
214
220
|
readonly xmlElements: {
|
|
215
221
|
readonly name: "xmlElements";
|
|
@@ -2350,6 +2356,12 @@ export declare const createTestRecord: {
|
|
|
2350
2356
|
readonly Root: readonly [];
|
|
2351
2357
|
};
|
|
2352
2358
|
readonly database: {
|
|
2359
|
+
readonly recordSchema: {
|
|
2360
|
+
readonly primaryKey: "id";
|
|
2361
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
2362
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
2363
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
2364
|
+
};
|
|
2353
2365
|
readonly tables: {
|
|
2354
2366
|
readonly xmlElements: {
|
|
2355
2367
|
readonly name: "xmlElements";
|
|
@@ -4492,6 +4504,12 @@ export declare const createTestRecord: {
|
|
|
4492
4504
|
readonly Root: readonly [];
|
|
4493
4505
|
};
|
|
4494
4506
|
readonly database: {
|
|
4507
|
+
readonly recordSchema: {
|
|
4508
|
+
readonly primaryKey: "id";
|
|
4509
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
4510
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
4511
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
4512
|
+
};
|
|
4495
4513
|
readonly tables: {
|
|
4496
4514
|
readonly xmlElements: {
|
|
4497
4515
|
readonly name: "xmlElements";
|
|
@@ -6632,6 +6650,12 @@ export declare const createTestRecord: {
|
|
|
6632
6650
|
readonly Root: readonly [];
|
|
6633
6651
|
};
|
|
6634
6652
|
readonly database: {
|
|
6653
|
+
readonly recordSchema: {
|
|
6654
|
+
readonly primaryKey: "id";
|
|
6655
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
6656
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
6657
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
6658
|
+
};
|
|
6635
6659
|
readonly tables: {
|
|
6636
6660
|
readonly xmlElements: {
|
|
6637
6661
|
readonly name: "xmlElements";
|
|
@@ -8774,6 +8798,12 @@ export declare const createTestRecord: {
|
|
|
8774
8798
|
readonly Root: readonly [];
|
|
8775
8799
|
};
|
|
8776
8800
|
readonly database: {
|
|
8801
|
+
readonly recordSchema: {
|
|
8802
|
+
readonly primaryKey: "id";
|
|
8803
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
8804
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
8805
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
8806
|
+
};
|
|
8777
8807
|
readonly tables: {
|
|
8778
8808
|
readonly xmlElements: {
|
|
8779
8809
|
readonly name: "xmlElements";
|
|
@@ -10914,6 +10944,12 @@ export declare const createTestRecord: {
|
|
|
10914
10944
|
readonly Root: readonly [];
|
|
10915
10945
|
};
|
|
10916
10946
|
readonly database: {
|
|
10947
|
+
readonly recordSchema: {
|
|
10948
|
+
readonly primaryKey: "id";
|
|
10949
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
10950
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
10951
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
10952
|
+
};
|
|
10917
10953
|
readonly tables: {
|
|
10918
10954
|
readonly xmlElements: {
|
|
10919
10955
|
readonly name: "xmlElements";
|
|
@@ -13056,6 +13092,12 @@ export declare const createTestRecord: {
|
|
|
13056
13092
|
readonly Root: readonly [];
|
|
13057
13093
|
};
|
|
13058
13094
|
readonly database: {
|
|
13095
|
+
readonly recordSchema: {
|
|
13096
|
+
readonly primaryKey: "id";
|
|
13097
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
13098
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
13099
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
13100
|
+
};
|
|
13059
13101
|
readonly tables: {
|
|
13060
13102
|
readonly xmlElements: {
|
|
13061
13103
|
readonly name: "xmlElements";
|
|
@@ -15196,6 +15238,12 @@ export declare const createTestRecord: {
|
|
|
15196
15238
|
readonly Root: readonly [];
|
|
15197
15239
|
};
|
|
15198
15240
|
readonly database: {
|
|
15241
|
+
readonly recordSchema: {
|
|
15242
|
+
readonly primaryKey: "id";
|
|
15243
|
+
readonly indexes: ["tagName", "parent.id", "parent.tagName"];
|
|
15244
|
+
readonly compoundIndexes: [["id", "tagName"]];
|
|
15245
|
+
readonly arrayIndexes: ["children.id", "children.tagName"];
|
|
15246
|
+
};
|
|
15199
15247
|
readonly tables: {
|
|
15200
15248
|
readonly xmlElements: {
|
|
15201
15249
|
readonly name: "xmlElements";
|