@dialecte/core 0.0.3
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/README.md +1 -0
- package/dist/chain-methods/chain-assembler.d.ts +10 -0
- package/dist/chain-methods/chain-assembler.d.ts.map +1 -0
- package/dist/chain-methods/chain-creator.d.ts +18 -0
- package/dist/chain-methods/chain-creator.d.ts.map +1 -0
- package/dist/chain-methods/ending/index.d.ts +3 -0
- package/dist/chain-methods/ending/index.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/context.d.ts +12 -0
- package/dist/chain-methods/ending/queries/context.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/descendants/filter-utils.helper.d.ts +11 -0
- package/dist/chain-methods/ending/queries/descendants/filter-utils.helper.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/descendants/find-descendants.d.ts +16 -0
- package/dist/chain-methods/ending/queries/descendants/find-descendants.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/descendants/flatten-tree.helper.d.ts +6 -0
- package/dist/chain-methods/ending/queries/descendants/flatten-tree.helper.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/descendants/group-records.helper.d.ts +15 -0
- package/dist/chain-methods/ending/queries/descendants/group-records.helper.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/descendants/index.d.ts +3 -0
- package/dist/chain-methods/ending/queries/descendants/index.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/descendants/types.d.ts +39 -0
- package/dist/chain-methods/ending/queries/descendants/types.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/descendants/validate-descendants.helper.d.ts +17 -0
- package/dist/chain-methods/ending/queries/descendants/validate-descendants.helper.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/find-children.d.ts +9 -0
- package/dist/chain-methods/ending/queries/find-children.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/find-children.types.d.ts +6 -0
- package/dist/chain-methods/ending/queries/find-children.types.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/get-parent.d.ts +8 -0
- package/dist/chain-methods/ending/queries/get-parent.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/get-tree.d.ts +9 -0
- package/dist/chain-methods/ending/queries/get-tree.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/get-tree.types.d.ts +18 -0
- package/dist/chain-methods/ending/queries/get-tree.types.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/index.d.ts +8 -0
- package/dist/chain-methods/ending/queries/index.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/todo/ancestor.d.ts +1 -0
- package/dist/chain-methods/ending/queries/todo/ancestor.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/todo/descendants.d.ts +1 -0
- package/dist/chain-methods/ending/queries/todo/descendants.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/todo/find-ancestor.d.ts +1 -0
- package/dist/chain-methods/ending/queries/todo/find-ancestor.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/todo/find-child.d.ts +1 -0
- package/dist/chain-methods/ending/queries/todo/find-child.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/todo/find-descendant.d.ts +1 -0
- package/dist/chain-methods/ending/queries/todo/find-descendant.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/todo/observable.d.ts +1 -0
- package/dist/chain-methods/ending/queries/todo/observable.d.ts.map +1 -0
- package/dist/chain-methods/ending/queries/todo/read.d.ts +1 -0
- package/dist/chain-methods/ending/queries/todo/read.d.ts.map +1 -0
- package/dist/chain-methods/ending/transaction/commit.d.ts +16 -0
- package/dist/chain-methods/ending/transaction/commit.d.ts.map +1 -0
- package/dist/chain-methods/ending/transaction/index.d.ts +2 -0
- package/dist/chain-methods/ending/transaction/index.d.ts.map +1 -0
- package/dist/chain-methods/ending/transaction/merge-operations.d.ts +33 -0
- package/dist/chain-methods/ending/transaction/merge-operations.d.ts.map +1 -0
- package/dist/chain-methods/index.d.ts +6 -0
- package/dist/chain-methods/index.d.ts.map +1 -0
- package/dist/chain-methods/mutations/clone.d.ts +17 -0
- package/dist/chain-methods/mutations/clone.d.ts.map +1 -0
- package/dist/chain-methods/mutations/clone.types.d.ts +17 -0
- package/dist/chain-methods/mutations/clone.types.d.ts.map +1 -0
- package/dist/chain-methods/mutations/create.d.ts +17 -0
- package/dist/chain-methods/mutations/create.d.ts.map +1 -0
- package/dist/chain-methods/mutations/create.types.d.ts +32 -0
- package/dist/chain-methods/mutations/create.types.d.ts.map +1 -0
- package/dist/chain-methods/mutations/delete.d.ts +19 -0
- package/dist/chain-methods/mutations/delete.d.ts.map +1 -0
- package/dist/chain-methods/mutations/index.d.ts +8 -0
- package/dist/chain-methods/mutations/index.d.ts.map +1 -0
- package/dist/chain-methods/mutations/update.d.ts +19 -0
- package/dist/chain-methods/mutations/update.d.ts.map +1 -0
- package/dist/chain-methods/mutations/update.types.d.ts +6 -0
- package/dist/chain-methods/mutations/update.types.d.ts.map +1 -0
- package/dist/chain-methods/navigation/go-to-element.d.ts +19 -0
- package/dist/chain-methods/navigation/go-to-element.d.ts.map +1 -0
- package/dist/chain-methods/navigation/go-to-parent.d.ts +18 -0
- package/dist/chain-methods/navigation/go-to-parent.d.ts.map +1 -0
- package/dist/chain-methods/navigation/index.d.ts +4 -0
- package/dist/chain-methods/navigation/index.d.ts.map +1 -0
- package/dist/chain-methods/navigation/types.d.ts +10 -0
- package/dist/chain-methods/navigation/types.d.ts.map +1 -0
- package/dist/chain-methods/secific-types-to-review.d.ts +23 -0
- package/dist/chain-methods/secific-types-to-review.d.ts.map +1 -0
- package/dist/chain-methods/types.d.ts +54 -0
- package/dist/chain-methods/types.d.ts.map +1 -0
- package/dist/database/index.d.ts +3 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/instance.d.ts +8 -0
- package/dist/database/instance.d.ts.map +1 -0
- package/dist/database/types.d.ts +16 -0
- package/dist/database/types.d.ts.map +1 -0
- package/dist/dialecte/entrypoints.d.ts +19 -0
- package/dist/dialecte/entrypoints.d.ts.map +1 -0
- package/dist/dialecte/index.d.ts +4 -0
- package/dist/dialecte/index.d.ts.map +1 -0
- package/dist/dialecte/main.d.ts +7 -0
- package/dist/dialecte/main.d.ts.map +1 -0
- package/dist/dialecte/state.d.ts +54 -0
- package/dist/dialecte/state.d.ts.map +1 -0
- package/dist/dialecte/types.d.ts +32 -0
- package/dist/dialecte/types.d.ts.map +1 -0
- package/dist/errors/codes.d.ts +39 -0
- package/dist/errors/codes.d.ts.map +1 -0
- package/dist/errors/errors.d.ts +34 -0
- package/dist/errors/errors.d.ts.map +1 -0
- package/dist/errors/index.d.ts +4 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/types.d.ts +23 -0
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/generated/constants.generated.d.ts +1476 -0
- package/dist/generated/constants.generated.d.ts.map +1 -0
- package/dist/generated/descendants-ancestors.generated.d.ts +442 -0
- package/dist/generated/descendants-ancestors.generated.d.ts.map +1 -0
- package/dist/generated/types.generated.d.ts +3055 -0
- package/dist/generated/types.generated.d.ts.map +1 -0
- package/dist/helpers/assert.d.ts +2 -0
- package/dist/helpers/assert.d.ts.map +1 -0
- package/dist/helpers/index.d.ts +5 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/record/converter.d.ts +34 -0
- package/dist/helpers/record/converter.d.ts.map +1 -0
- package/dist/helpers/record/guard.d.ts +18 -0
- package/dist/helpers/record/guard.d.ts.map +1 -0
- package/dist/helpers/record/index.d.ts +6 -0
- package/dist/helpers/record/index.d.ts.map +1 -0
- package/dist/helpers/record/operations.d.ts +24 -0
- package/dist/helpers/record/operations.d.ts.map +1 -0
- package/dist/helpers/record/query/find-by-attributes.d.ts +23 -0
- package/dist/helpers/record/query/find-by-attributes.d.ts.map +1 -0
- package/dist/helpers/record/query/index.d.ts +4 -0
- package/dist/helpers/record/query/index.d.ts.map +1 -0
- package/dist/helpers/record/query/record.d.ts +68 -0
- package/dist/helpers/record/query/record.d.ts.map +1 -0
- package/dist/helpers/record/query/scope-ancestors.d.ts +1 -0
- package/dist/helpers/record/query/scope-ancestors.d.ts.map +1 -0
- package/dist/helpers/record/query/types.d.ts +11 -0
- package/dist/helpers/record/query/types.d.ts.map +1 -0
- package/dist/helpers/record/standardizing.d.ts +9 -0
- package/dist/helpers/record/standardizing.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/config.d.ts +210 -0
- package/dist/helpers/test-fixtures/config.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/constant.d.ts +20 -0
- package/dist/helpers/test-fixtures/constant.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/create-test-dialecte.d.ts +18 -0
- package/dist/helpers/test-fixtures/create-test-dialecte.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/generated/constants.generated.d.ts +211 -0
- package/dist/helpers/test-fixtures/generated/constants.generated.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/generated/definition.d.ts +3 -0
- package/dist/helpers/test-fixtures/generated/definition.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/generated/index.d.ts +4 -0
- package/dist/helpers/test-fixtures/generated/index.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/generated/types.generated.d.ts +191 -0
- package/dist/helpers/test-fixtures/generated/types.generated.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/index.d.ts +7 -0
- package/dist/helpers/test-fixtures/index.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/test-operations.d.ts +12 -0
- package/dist/helpers/test-fixtures/test-operations.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/test-operations.types.d.ts +14 -0
- package/dist/helpers/test-fixtures/test-operations.types.d.ts.map +1 -0
- package/dist/helpers/test-fixtures/test-record.d.ts +36 -0
- package/dist/helpers/test-fixtures/test-record.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6601 -0
- package/dist/io/export/constant.d.ts +2 -0
- package/dist/io/export/constant.d.ts.map +1 -0
- package/dist/io/export/formatter.d.ts +2 -0
- package/dist/io/export/formatter.d.ts.map +1 -0
- package/dist/io/export/index.d.ts +4 -0
- package/dist/io/export/index.d.ts.map +1 -0
- package/dist/io/export/main.d.ts +22 -0
- package/dist/io/export/main.d.ts.map +1 -0
- package/dist/io/import/database-helpers.d.ts +21 -0
- package/dist/io/import/database-helpers.d.ts.map +1 -0
- package/dist/io/import/guards.d.ts +4 -0
- package/dist/io/import/guards.d.ts.map +1 -0
- package/dist/io/import/index.d.ts +3 -0
- package/dist/io/import/index.d.ts.map +1 -0
- package/dist/io/import/main.d.ts +15 -0
- package/dist/io/import/main.d.ts.map +1 -0
- package/dist/io/import/parser.d.ts +13 -0
- package/dist/io/import/parser.d.ts.map +1 -0
- package/dist/io/import/relationships.d.ts +9 -0
- package/dist/io/import/relationships.d.ts.map +1 -0
- package/dist/io/import/test.handler.d.ts +9 -0
- package/dist/io/import/test.handler.d.ts.map +1 -0
- package/dist/io/import/test.types.d.ts +4 -0
- package/dist/io/import/test.types.d.ts.map +1 -0
- package/dist/io/import/types.d.ts +13 -0
- package/dist/io/import/types.d.ts.map +1 -0
- package/dist/io/index.d.ts +3 -0
- package/dist/io/index.d.ts.map +1 -0
- package/dist/script/element-parent-mapping.d.ts +2 -0
- package/dist/script/element-parent-mapping.d.ts.map +1 -0
- package/dist/script/find-unreferenced-elements.d.ts +3 -0
- package/dist/script/find-unreferenced-elements.d.ts.map +1 -0
- package/dist/script/generate-definition.d.ts +3 -0
- package/dist/script/generate-definition.d.ts.map +1 -0
- package/dist/script/generate-definition.types.d.ts +86 -0
- package/dist/script/generate-definition.types.d.ts.map +1 -0
- package/dist/script/generate-descendants-ancestors.d.ts +17 -0
- package/dist/script/generate-descendants-ancestors.d.ts.map +1 -0
- package/dist/script/generate-test-fixtures.d.ts +16 -0
- package/dist/script/generate-test-fixtures.d.ts.map +1 -0
- package/dist/script/sorted-dexie-dump-json.d.ts +2 -0
- package/dist/script/sorted-dexie-dump-json.d.ts.map +1 -0
- package/dist/types/context.d.ts +16 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/definition.d.ts +70 -0
- package/dist/types/definition.d.ts.map +1 -0
- package/dist/types/dialecte-config.d.ts +138 -0
- package/dist/types/dialecte-config.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/io.d.ts +17 -0
- package/dist/types/io.d.ts.map +1 -0
- package/dist/types/operations.d.ts +27 -0
- package/dist/types/operations.d.ts.map +1 -0
- package/dist/types/records.d.ts +56 -0
- package/dist/types/records.d.ts.map +1 -0
- package/dist/utils/attributes.d.ts +9 -0
- package/dist/utils/attributes.d.ts.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../../src/io/export/constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,iBAAiB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../src/io/export/formatter.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,UAE1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/export/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AnyDialecteConfig } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Generic XML export function that works with any dialecte
|
|
4
|
+
* @param databaseName - Name of the database to export
|
|
5
|
+
* @param dialecteConfig - Dialecte configuration with IO settings
|
|
6
|
+
* @returns XML document and filename
|
|
7
|
+
*/
|
|
8
|
+
export declare function exportXmlFile(params: {
|
|
9
|
+
databaseName: string;
|
|
10
|
+
dialecteConfig: AnyDialecteConfig;
|
|
11
|
+
}): Promise<{
|
|
12
|
+
xmlDocument: XMLDocument;
|
|
13
|
+
filename: string;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function exportXmlDocumentForOpenSCD(params: {
|
|
16
|
+
databaseName: string;
|
|
17
|
+
dialecteConfig: AnyDialecteConfig;
|
|
18
|
+
}): Promise<{
|
|
19
|
+
xmlDocument: XMLDocument;
|
|
20
|
+
filename: string;
|
|
21
|
+
}>;
|
|
22
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/io/export/main.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,iBAAiB,EAKjB,MAAM,SAAS,CAAA;AAIhB;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,iBAAiB,CAAA;CACjC,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAO1D;AAED,wBAAsB,2BAA2B,CAAC,MAAM,EAAE;IACzD,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,iBAAiB,CAAA;CACjC,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAO1D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as Dexie } from 'dexie';
|
|
2
|
+
import { AnyRawRecord } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Add a batch of records to the elements table
|
|
5
|
+
* @param databaseInstance - Database instance
|
|
6
|
+
* @param elementsTableName - Name of the elements table
|
|
7
|
+
* @param records - Array of records to add
|
|
8
|
+
*/
|
|
9
|
+
export declare function bulkAddRecords(params: {
|
|
10
|
+
databaseInstance: Dexie;
|
|
11
|
+
elementsTableName: string;
|
|
12
|
+
records: AnyRawRecord[];
|
|
13
|
+
}): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Deletes a Dexie/IndexedDB database if it exists.
|
|
16
|
+
* Closes before deleting if open.
|
|
17
|
+
* @param databaseName Name of the database to delete
|
|
18
|
+
* @returns Promise that resolves when deletion is complete
|
|
19
|
+
*/
|
|
20
|
+
export declare function deleteDatabaseIfExists(databaseName: string): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=database-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-helpers.d.ts","sourceRoot":"","sources":["../../../src/io/import/database-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE;IAC5C,gBAAgB,EAAE,KAAK,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,OAAO,EAAE,YAAY,EAAE,CAAA;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type * as sax from 'sax';
|
|
2
|
+
export declare function isSaxQualifiedTag(node: sax.Tag | sax.QualifiedTag): node is sax.QualifiedTag;
|
|
3
|
+
export declare function isSaxQualifiedAttribute(attribute: string | sax.QualifiedAttribute | undefined): attribute is sax.QualifiedAttribute;
|
|
4
|
+
//# sourceMappingURL=guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../src/io/import/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,KAAK,CAAA;AAE/B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,YAAY,GAAG,IAAI,IAAI,GAAG,CAAC,YAAY,CAE5F;AAED,wBAAgB,uBAAuB,CACtC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,kBAAkB,GAAG,SAAS,GACpD,SAAS,IAAI,GAAG,CAAC,kBAAkB,CAUrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/import/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AnyDialecteConfig } from '../../types';
|
|
2
|
+
export declare function importXmlFiles(params: {
|
|
3
|
+
files: File[];
|
|
4
|
+
dialecteConfig: AnyDialecteConfig;
|
|
5
|
+
useCustomRecordsIds?: boolean;
|
|
6
|
+
}): Promise<string[]>;
|
|
7
|
+
/**
|
|
8
|
+
* Validates if a file is supported for import
|
|
9
|
+
*/
|
|
10
|
+
export declare function isFileSupported(params: {
|
|
11
|
+
file: File;
|
|
12
|
+
supportedExtensions: readonly string[];
|
|
13
|
+
}): boolean;
|
|
14
|
+
export declare function getDatabaseName(file: File): string;
|
|
15
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/io/import/main.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAA+B,MAAM,SAAS,CAAA;AAQ7E,wBAAsB,cAAc,CAAC,MAAM,EAAE;IAC5C,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,cAAc,EAAE,iBAAiB,CAAA;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC7B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgCpB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IACvC,IAAI,EAAE,IAAI,CAAA;IACV,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAA;CACtC,GAAG,OAAO,CAGV;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAElD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ParserInstance } from './types';
|
|
2
|
+
import { AnyDialecteConfig } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Sets up the SAX parser for XML parsing.
|
|
5
|
+
* @param namespaces Namespace configuration from dialecte
|
|
6
|
+
* @param useCustomRecordsIds Whether to use custom record IDs from the XML attributes
|
|
7
|
+
* @returns SAX parser instance
|
|
8
|
+
*/
|
|
9
|
+
export declare function setSaxParser(params: {
|
|
10
|
+
dialecteConfig: AnyDialecteConfig;
|
|
11
|
+
useCustomRecordsIds: boolean;
|
|
12
|
+
}): ParserInstance;
|
|
13
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/io/import/parser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,SAAS,CAAA;AAC1D,OAAO,KAAK,EAEX,iBAAiB,EAKjB,MAAM,SAAS,CAAA;AAIhB;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACpC,cAAc,EAAE,iBAAiB,CAAA;IACjC,mBAAmB,EAAE,OAAO,CAAA;CAC5B,GAAG,cAAc,CAsDjB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AnyRelationship, AnyRawRecord } from '../../types';
|
|
2
|
+
export declare function registerPendingChildrenRelationship(params: {
|
|
3
|
+
parentId: string;
|
|
4
|
+
child: AnyRelationship;
|
|
5
|
+
}): void;
|
|
6
|
+
export declare function resolveCurrentBatchChildrenRelationships(params: {
|
|
7
|
+
currentBatch: AnyRawRecord[];
|
|
8
|
+
}): AnyRawRecord[];
|
|
9
|
+
//# sourceMappingURL=relationships.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../src/io/import/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAQ5D,wBAAgB,mCAAmC,CAAC,MAAM,EAAE;IAC3D,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,eAAe,CAAA;CACtB,QAaA;AAED,wBAAgB,wCAAwC,CAAC,MAAM,EAAE;IAChE,YAAY,EAAE,YAAY,EAAE,CAAA;CAC5B,GAAG,YAAY,EAAE,CAiBjB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ExpectedRecords } from './test.types';
|
|
2
|
+
import { AnyDatabaseInstance } from '../../database';
|
|
3
|
+
import { AnyDialecteConfig } from '../../types';
|
|
4
|
+
export declare function handleExpectedRecords(params: {
|
|
5
|
+
dialecteConfig: AnyDialecteConfig;
|
|
6
|
+
databaseInstance: AnyDatabaseInstance;
|
|
7
|
+
expectedRecords: ExpectedRecords;
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=test.handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.handler.d.ts","sourceRoot":"","sources":["../../../src/io/import/test.handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,cAAc,CAAA;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EAAgB,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAI9D,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IACnD,cAAc,EAAE,iBAAiB,CAAA;IACjC,gBAAgB,EAAE,mBAAmB,CAAA;IACrC,eAAe,EAAE,eAAe,CAAA;CAChC,iBAgBA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.types.d.ts","sourceRoot":"","sources":["../../../src/io/import/test.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AACzF,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AnyRawRecord, Namespace } from '../../types';
|
|
2
|
+
import { SAXParser } from 'sax';
|
|
3
|
+
export type ParserInstance = {
|
|
4
|
+
parser: SAXParser;
|
|
5
|
+
drainBatch: () => AnyRawRecord[];
|
|
6
|
+
getSize: () => number;
|
|
7
|
+
};
|
|
8
|
+
export type ParserState = {
|
|
9
|
+
defaultNamespace: Namespace | null;
|
|
10
|
+
stack: AnyRawRecord[];
|
|
11
|
+
recordsBatch: AnyRawRecord[];
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/io/import/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,MAAM,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,SAAS,CAAA;IACjB,UAAU,EAAE,MAAM,YAAY,EAAE,CAAA;IAChC,OAAO,EAAE,MAAM,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACzB,gBAAgB,EAAE,SAAS,GAAG,IAAI,CAAA;IAClC,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,YAAY,EAAE,YAAY,EAAE,CAAA;CAC5B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-parent-mapping.d.ts","sourceRoot":"","sources":["../../src/script/element-parent-mapping.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAoD5C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-unreferenced-elements.d.ts","sourceRoot":"","sources":["../../src/script/find-unreferenced-elements.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-definition.d.ts","sourceRoot":"","sources":["../../src/script/generate-definition.ts"],"names":[],"mappings":";AA0dA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAoE1C"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Namespace } from '../types';
|
|
2
|
+
export type CLIArgs = {
|
|
3
|
+
in: string;
|
|
4
|
+
out: string;
|
|
5
|
+
};
|
|
6
|
+
export type Constraint = {
|
|
7
|
+
name: string;
|
|
8
|
+
kind: 'unique' | 'key' | 'keyref';
|
|
9
|
+
paths: string[][];
|
|
10
|
+
deep: boolean;
|
|
11
|
+
refer: string | null;
|
|
12
|
+
attributes: string[];
|
|
13
|
+
text: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type BaseValidationFacets = {
|
|
16
|
+
enumeration: string[] | null;
|
|
17
|
+
pattern: string[] | null;
|
|
18
|
+
minInclusive: number | null;
|
|
19
|
+
maxInclusive: number | null;
|
|
20
|
+
minLength: number | null;
|
|
21
|
+
maxLength: number | null;
|
|
22
|
+
fractionDigits: number | null;
|
|
23
|
+
totalDigits: number | null;
|
|
24
|
+
whitespace: string | null;
|
|
25
|
+
assertions: string[] | null;
|
|
26
|
+
};
|
|
27
|
+
export type AttributeValidation = BaseValidationFacets;
|
|
28
|
+
export type ChildValidation = BaseValidationFacets & {
|
|
29
|
+
minOccurrence: number | null;
|
|
30
|
+
maxOccurrence: number | null;
|
|
31
|
+
};
|
|
32
|
+
export type ElementValidation = BaseValidationFacets & {
|
|
33
|
+
minOccurrence: number | null;
|
|
34
|
+
maxOccurrence: number | null;
|
|
35
|
+
};
|
|
36
|
+
export type AttributeDetail = {
|
|
37
|
+
required: boolean;
|
|
38
|
+
default: string | null | undefined;
|
|
39
|
+
namespace: Namespace;
|
|
40
|
+
validation: AttributeValidation;
|
|
41
|
+
};
|
|
42
|
+
export type SubElementDetail = {
|
|
43
|
+
required: boolean;
|
|
44
|
+
validation: ChildValidation;
|
|
45
|
+
constraints: Constraint[] | null;
|
|
46
|
+
};
|
|
47
|
+
export type ChoiceGroup = {
|
|
48
|
+
minOccurrence: number | null;
|
|
49
|
+
maxOccurrence: number | null;
|
|
50
|
+
options: string[];
|
|
51
|
+
};
|
|
52
|
+
export type ElementDefinition = {
|
|
53
|
+
tag: string;
|
|
54
|
+
namespace: Namespace;
|
|
55
|
+
documentation: string | null;
|
|
56
|
+
parents: string[];
|
|
57
|
+
validation: ElementValidation;
|
|
58
|
+
attributes: {
|
|
59
|
+
any: boolean;
|
|
60
|
+
sequence: string[];
|
|
61
|
+
details: Record<string, AttributeDetail>;
|
|
62
|
+
};
|
|
63
|
+
subElements: {
|
|
64
|
+
any: boolean;
|
|
65
|
+
sequence: string[];
|
|
66
|
+
details: Record<string, SubElementDetail>;
|
|
67
|
+
choices: ChoiceGroup[];
|
|
68
|
+
};
|
|
69
|
+
constraints: Constraint[];
|
|
70
|
+
value: string | null;
|
|
71
|
+
};
|
|
72
|
+
export type SchemaModel = Record<string, ElementDefinition>;
|
|
73
|
+
export type IntermediateAttributeEntry = {
|
|
74
|
+
required: boolean;
|
|
75
|
+
enum: string[] | null;
|
|
76
|
+
pattern: string[] | null;
|
|
77
|
+
};
|
|
78
|
+
export type IntermediateModel = {
|
|
79
|
+
elementNames: string[];
|
|
80
|
+
requiredAttributes: Record<string, string[]>;
|
|
81
|
+
attributeDetails: Record<string, Record<string, IntermediateAttributeEntry>>;
|
|
82
|
+
attributePatterns: Record<string, Record<string, string[]>>;
|
|
83
|
+
childElements: Record<string, string[]>;
|
|
84
|
+
parentElements: Record<string, string[]>;
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=generate-definition.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-definition.types.d.ts","sourceRoot":"","sources":["../../src/script/generate-definition.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* generate-descendants-ancestors.ts
|
|
4
|
+
* Utility functions to compute DESCENDANTS and ANCESTORS by traversing graphs.
|
|
5
|
+
* Used by generate-definition.ts to create descendants-ancestors.generated.ts
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Compute all descendants of an element by traversing the CHILDREN graph.
|
|
9
|
+
* Uses BFS to avoid infinite loops and handles cycles.
|
|
10
|
+
*/
|
|
11
|
+
export declare function computeDescendants(element: string, childrenMap: Record<string, string[]>): string[];
|
|
12
|
+
/**
|
|
13
|
+
* Compute all ancestors of an element by traversing the PARENTS graph.
|
|
14
|
+
* Uses BFS to avoid infinite loops and handles cycles.
|
|
15
|
+
*/
|
|
16
|
+
export declare function computeAncestors(element: string, parentsMap: Record<string, string[]>): string[];
|
|
17
|
+
//# sourceMappingURL=generate-descendants-ancestors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-descendants-ancestors.d.ts","sourceRoot":"","sources":["../../src/script/generate-descendants-ancestors.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACnC,MAAM,EAAE,CAmBV;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAmBhG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* generate-test-fixtures.ts
|
|
3
|
+
*
|
|
4
|
+
* Generates TypeScript types and constants from the test DEFINITION constant.
|
|
5
|
+
*
|
|
6
|
+
* Steps:
|
|
7
|
+
* 1. Import DEFINITION from definition.ts
|
|
8
|
+
* 2. Write it to a temporary JSON file
|
|
9
|
+
* 3. Run generate-definition.ts on it (with empty MAPPING for test fixtures)
|
|
10
|
+
* 4. Clean up temp file
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* node --import=tsx src/script/generate-test-fixtures.ts
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=generate-test-fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-test-fixtures.d.ts","sourceRoot":"","sources":["../../src/script/generate-test-fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sorted-dexie-dump-json.d.ts","sourceRoot":"","sources":["../../src/script/sorted-dexie-dump-json.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AnyDialecteConfig, ElementsOf } from './dialecte-config';
|
|
2
|
+
import { Operation } from './operations';
|
|
3
|
+
import { ChainRecord } from './records';
|
|
4
|
+
/**
|
|
5
|
+
* Context carries the state through the promise chain
|
|
6
|
+
* Each operation returns a new builder with updated context
|
|
7
|
+
*/
|
|
8
|
+
export type Context<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
9
|
+
currentFocus: ChainRecord<GenericConfig, GenericElement>;
|
|
10
|
+
stagedOperations: Operation<GenericConfig>[];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Generic context for situations where element type is not yet known
|
|
14
|
+
*/
|
|
15
|
+
export type AnyContext = Context<AnyDialecteConfig, ElementsOf<AnyDialecteConfig>>;
|
|
16
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/types/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C;;;GAGG;AACH,MAAM,MAAM,OAAO,CAClB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,IAC7C;IACH,YAAY,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACxD,gBAAgB,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;CAC5C,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Namespace } from './records';
|
|
2
|
+
/**
|
|
3
|
+
* Validation rules that can be applied to attributes, elements, or values
|
|
4
|
+
*/
|
|
5
|
+
export type ValidationRules = {
|
|
6
|
+
readonly enumeration: readonly string[] | null;
|
|
7
|
+
readonly pattern: readonly string[] | null;
|
|
8
|
+
readonly minInclusive: number | string | null;
|
|
9
|
+
readonly maxInclusive: number | string | null;
|
|
10
|
+
readonly minLength: number | string | null;
|
|
11
|
+
readonly maxLength: number | string | null;
|
|
12
|
+
readonly fractionDigits: number | string | null;
|
|
13
|
+
readonly totalDigits: number | string | null;
|
|
14
|
+
readonly whitespace: 'preserve' | 'replace' | 'collapse' | null;
|
|
15
|
+
readonly assertions: readonly any[] | null;
|
|
16
|
+
readonly minOccurrence: number | string | null;
|
|
17
|
+
readonly maxOccurrence: number | string | null;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Attribute definition with validation rules
|
|
21
|
+
*/
|
|
22
|
+
export type AttributeDefinition = {
|
|
23
|
+
readonly required: boolean;
|
|
24
|
+
readonly default: string | null;
|
|
25
|
+
readonly namespace: Namespace | null;
|
|
26
|
+
readonly validation: ValidationRules;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Sub-element definition with constraints
|
|
30
|
+
*/
|
|
31
|
+
export type SubElementDefinition = {
|
|
32
|
+
readonly required: boolean;
|
|
33
|
+
readonly validation: ValidationRules;
|
|
34
|
+
readonly constraints: readonly any[] | null;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Generic element definition parameterized by element type
|
|
38
|
+
* Provides typed access to attributes, sub-elements, and parents
|
|
39
|
+
*/
|
|
40
|
+
export type ElementDefinition = {
|
|
41
|
+
readonly tag: string;
|
|
42
|
+
readonly namespace: Namespace;
|
|
43
|
+
readonly documentation: string | null;
|
|
44
|
+
readonly parents: readonly string[];
|
|
45
|
+
readonly validation: ValidationRules;
|
|
46
|
+
readonly attributes: {
|
|
47
|
+
readonly any: boolean;
|
|
48
|
+
readonly sequence: readonly string[];
|
|
49
|
+
readonly details: Record<string, AttributeDefinition>;
|
|
50
|
+
};
|
|
51
|
+
readonly subElements: {
|
|
52
|
+
readonly any: boolean;
|
|
53
|
+
readonly sequence: readonly string[];
|
|
54
|
+
readonly details: Record<string, SubElementDefinition>;
|
|
55
|
+
readonly choices: readonly any[];
|
|
56
|
+
};
|
|
57
|
+
readonly constraints: readonly any[];
|
|
58
|
+
readonly value: {
|
|
59
|
+
readonly type: string | null;
|
|
60
|
+
readonly validation: ValidationRules;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Complete definition - maps element names to their definitions
|
|
65
|
+
* This is the raw JSON structure from XSD generation
|
|
66
|
+
*
|
|
67
|
+
* Each dialecte should define its own specific type extending this
|
|
68
|
+
*/
|
|
69
|
+
export type AnyDefinition = Record<string, ElementDefinition>;
|
|
70
|
+
//# sourceMappingURL=definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/types/definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { Context } from './context';
|
|
2
|
+
import { AnyDefinition } from './definition';
|
|
3
|
+
import { ImportOptions, ExportOptions } from './io';
|
|
4
|
+
import { Operation } from './operations';
|
|
5
|
+
import { Namespace, ChainRecord, RawRecord } from './records';
|
|
6
|
+
import { ChainFactory } from '../chain-methods';
|
|
7
|
+
export type RawDialecteConfig<GenericElementNames extends readonly string[], GenericRootElement extends GenericElementNames[number], GenericAttributes extends Record<string, any>, GenericChildren extends Record<string, readonly string[]>, GenericParents extends Record<string, readonly string[]>, GenericDescendants extends Record<string, readonly string[]>, GenericAncestors extends Record<string, readonly string[]>, GenericExtensions extends Record<GenericElementNames[number], Record<string, (...args: any[]) => any>>> = {
|
|
8
|
+
rootElementName: GenericRootElement;
|
|
9
|
+
singletonElements?: readonly GenericElementNames[number][];
|
|
10
|
+
namespaces: Record<'default', Namespace> & Record<string, Namespace>;
|
|
11
|
+
elements: GenericElementNames;
|
|
12
|
+
attributes: GenericAttributes;
|
|
13
|
+
children: GenericChildren;
|
|
14
|
+
parents: GenericParents;
|
|
15
|
+
descendants: GenericDescendants;
|
|
16
|
+
ancestors: GenericAncestors;
|
|
17
|
+
database: DatabaseConfig;
|
|
18
|
+
io: IOConfig;
|
|
19
|
+
definition: AnyDefinition;
|
|
20
|
+
extensions: GenericExtensions;
|
|
21
|
+
hooks: DialecteHooks;
|
|
22
|
+
};
|
|
23
|
+
export type IOConfig = {
|
|
24
|
+
supportedFileExtensions: readonly string[];
|
|
25
|
+
importOptions?: Partial<ImportOptions>;
|
|
26
|
+
exportOptions?: Partial<ExportOptions>;
|
|
27
|
+
};
|
|
28
|
+
export type ExtensionsMethodParams<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
29
|
+
chain: ChainFactory;
|
|
30
|
+
dialecteConfig: RuntimeDialecteConfig<GenericConfig>;
|
|
31
|
+
contextPromise: Promise<Context<GenericConfig, GenericElement>>;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Extension method creator - receives context params and returns the actual extension method
|
|
35
|
+
* The returned method should be chainable (return a CoreChain) unless it's an ending method
|
|
36
|
+
*/
|
|
37
|
+
export type ExtensionMethodCreator<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = (params: ExtensionsMethodParams<GenericConfig, GenericElement>) => (...args: any[]) => any;
|
|
38
|
+
/**
|
|
39
|
+
* Extension registry - maps element types to their extension methods
|
|
40
|
+
* Each element can have multiple extension methods identified by method name
|
|
41
|
+
*/
|
|
42
|
+
export type ExtensionRegistry<GenericConfig extends AnyDialecteConfig> = Partial<{
|
|
43
|
+
[K in ElementsOf<GenericConfig>]: Record<string, ExtensionMethodCreator<GenericConfig, K>>;
|
|
44
|
+
}>;
|
|
45
|
+
export type DialecteHooks = {
|
|
46
|
+
/**
|
|
47
|
+
* Called before cloning a record.
|
|
48
|
+
* Return modified attributes for the clone.
|
|
49
|
+
*/
|
|
50
|
+
beforeClone?: <GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
|
|
51
|
+
record: ChainRecord<GenericConfig, GenericElement>;
|
|
52
|
+
}) => ChainRecord<GenericConfig, GenericElement>;
|
|
53
|
+
/**
|
|
54
|
+
* Called after core standardizes element from definition.
|
|
55
|
+
* Use to enrich record (e.g., auto-generate UUIDs).
|
|
56
|
+
*/
|
|
57
|
+
afterStandardizedRecord?: <GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
|
|
58
|
+
record: RawRecord<GenericConfig, GenericElement>;
|
|
59
|
+
}) => RawRecord<GenericConfig, GenericElement>;
|
|
60
|
+
/**
|
|
61
|
+
* Called after record created but before staging.
|
|
62
|
+
* Return additional operations (e.g., wrapper elements).
|
|
63
|
+
*/
|
|
64
|
+
afterCreated?: <GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericParentElement extends ParentsOf<GenericConfig, GenericElement>>(params: {
|
|
65
|
+
childRecord: RawRecord<GenericConfig, GenericElement>;
|
|
66
|
+
parentRecord: RawRecord<GenericConfig, GenericParentElement>;
|
|
67
|
+
context: Context<GenericConfig, GenericParentElement>;
|
|
68
|
+
}) => Operation<GenericConfig>[];
|
|
69
|
+
};
|
|
70
|
+
export type DatabaseConfig = Readonly<{
|
|
71
|
+
tables: {
|
|
72
|
+
xmlElements: {
|
|
73
|
+
name: string;
|
|
74
|
+
schema: string;
|
|
75
|
+
};
|
|
76
|
+
additionalTables?: Record<string, {
|
|
77
|
+
schema: string;
|
|
78
|
+
}>;
|
|
79
|
+
};
|
|
80
|
+
}>;
|
|
81
|
+
export type RuntimeDialecteConfig<GenericConfig extends AnyDialecteConfig> = GenericConfig & {
|
|
82
|
+
extensions: ExtensionRegistry<GenericConfig>;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Generic FlavorConfig type for contexts where specific flavor is not known.
|
|
86
|
+
* Use this instead of FlavorConfig<any, any, any, any, any>
|
|
87
|
+
*/
|
|
88
|
+
export type AnyDialecteConfig = RawDialecteConfig<readonly string[], string, Record<string, any>, Record<string, readonly string[]>, Record<string, readonly string[]>, Record<string, readonly string[]>, Record<string, readonly string[]>, Record<string, Record<string, (...args: any[]) => any>>>;
|
|
89
|
+
/**
|
|
90
|
+
* Extract the element union type from a dialecte config
|
|
91
|
+
*/
|
|
92
|
+
export type ElementsOf<GenericConfig extends AnyDialecteConfig> = GenericConfig['elements'][number];
|
|
93
|
+
export type AnyElement = string;
|
|
94
|
+
/**
|
|
95
|
+
* Get attributes type for a specific element from dialecte config
|
|
96
|
+
*/
|
|
97
|
+
export type AttributesValueObjectOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = GenericConfig['attributes'][GenericElement];
|
|
98
|
+
export type AnyAttributesValueObject = Record<string, string>;
|
|
99
|
+
/**
|
|
100
|
+
* Get attribute name union for a specific element from dialecte config
|
|
101
|
+
*/
|
|
102
|
+
export type AttributesOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = keyof AttributesValueObjectOf<GenericConfig, GenericElement> & string;
|
|
103
|
+
export type AnyAttributeName = string;
|
|
104
|
+
/**
|
|
105
|
+
* Get attribute object type for a specific element from dialecte config
|
|
106
|
+
*/
|
|
107
|
+
export type FullAttributeObjectOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
108
|
+
[K in AttributesOf<GenericConfig, GenericElement>]: {
|
|
109
|
+
name: K;
|
|
110
|
+
value: AttributesValueObjectOf<GenericConfig, GenericElement>[K];
|
|
111
|
+
namespace?: Namespace;
|
|
112
|
+
};
|
|
113
|
+
}[AttributesOf<GenericConfig, GenericElement>];
|
|
114
|
+
/**
|
|
115
|
+
* Get valid children elements for a specific element from dialecte config
|
|
116
|
+
*/
|
|
117
|
+
export type ChildrenOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = GenericConfig['children'][GenericElement][number];
|
|
118
|
+
/**
|
|
119
|
+
* Get valid parent elements for a specific element from dialecte config
|
|
120
|
+
*/
|
|
121
|
+
export type ParentsOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = GenericConfig['parents'][GenericElement][number];
|
|
122
|
+
/**
|
|
123
|
+
* Get descendants elements for a specific element from dialecte config
|
|
124
|
+
*/
|
|
125
|
+
export type DescendantsOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = GenericConfig['descendants'][GenericElement][number];
|
|
126
|
+
/**
|
|
127
|
+
* Get ancestors elements for a specific element from dialecte config
|
|
128
|
+
*/
|
|
129
|
+
export type AncestorsOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = GenericConfig['ancestors'][GenericElement][number];
|
|
130
|
+
/**
|
|
131
|
+
* Get the root element type from a dialecte config
|
|
132
|
+
*/
|
|
133
|
+
export type RootElementOf<GenericConfig extends AnyDialecteConfig> = GenericConfig['rootElementName'];
|
|
134
|
+
/**
|
|
135
|
+
* Get singleton elements from dialecte config
|
|
136
|
+
*/
|
|
137
|
+
export type SingletonElementsOf<GenericConfig extends AnyDialecteConfig> = GenericConfig['singletonElements'] extends readonly (infer E)[] ? E : never;
|
|
138
|
+
//# sourceMappingURL=dialecte-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialecte-config.d.ts","sourceRoot":"","sources":["../../src/types/dialecte-config.ts"],"names":[],"mappings":"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"}
|