@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.
Files changed (225) hide show
  1. package/README.md +1 -0
  2. package/dist/chain-methods/chain-assembler.d.ts +10 -0
  3. package/dist/chain-methods/chain-assembler.d.ts.map +1 -0
  4. package/dist/chain-methods/chain-creator.d.ts +18 -0
  5. package/dist/chain-methods/chain-creator.d.ts.map +1 -0
  6. package/dist/chain-methods/ending/index.d.ts +3 -0
  7. package/dist/chain-methods/ending/index.d.ts.map +1 -0
  8. package/dist/chain-methods/ending/queries/context.d.ts +12 -0
  9. package/dist/chain-methods/ending/queries/context.d.ts.map +1 -0
  10. package/dist/chain-methods/ending/queries/descendants/filter-utils.helper.d.ts +11 -0
  11. package/dist/chain-methods/ending/queries/descendants/filter-utils.helper.d.ts.map +1 -0
  12. package/dist/chain-methods/ending/queries/descendants/find-descendants.d.ts +16 -0
  13. package/dist/chain-methods/ending/queries/descendants/find-descendants.d.ts.map +1 -0
  14. package/dist/chain-methods/ending/queries/descendants/flatten-tree.helper.d.ts +6 -0
  15. package/dist/chain-methods/ending/queries/descendants/flatten-tree.helper.d.ts.map +1 -0
  16. package/dist/chain-methods/ending/queries/descendants/group-records.helper.d.ts +15 -0
  17. package/dist/chain-methods/ending/queries/descendants/group-records.helper.d.ts.map +1 -0
  18. package/dist/chain-methods/ending/queries/descendants/index.d.ts +3 -0
  19. package/dist/chain-methods/ending/queries/descendants/index.d.ts.map +1 -0
  20. package/dist/chain-methods/ending/queries/descendants/types.d.ts +39 -0
  21. package/dist/chain-methods/ending/queries/descendants/types.d.ts.map +1 -0
  22. package/dist/chain-methods/ending/queries/descendants/validate-descendants.helper.d.ts +17 -0
  23. package/dist/chain-methods/ending/queries/descendants/validate-descendants.helper.d.ts.map +1 -0
  24. package/dist/chain-methods/ending/queries/find-children.d.ts +9 -0
  25. package/dist/chain-methods/ending/queries/find-children.d.ts.map +1 -0
  26. package/dist/chain-methods/ending/queries/find-children.types.d.ts +6 -0
  27. package/dist/chain-methods/ending/queries/find-children.types.d.ts.map +1 -0
  28. package/dist/chain-methods/ending/queries/get-parent.d.ts +8 -0
  29. package/dist/chain-methods/ending/queries/get-parent.d.ts.map +1 -0
  30. package/dist/chain-methods/ending/queries/get-tree.d.ts +9 -0
  31. package/dist/chain-methods/ending/queries/get-tree.d.ts.map +1 -0
  32. package/dist/chain-methods/ending/queries/get-tree.types.d.ts +18 -0
  33. package/dist/chain-methods/ending/queries/get-tree.types.d.ts.map +1 -0
  34. package/dist/chain-methods/ending/queries/index.d.ts +8 -0
  35. package/dist/chain-methods/ending/queries/index.d.ts.map +1 -0
  36. package/dist/chain-methods/ending/queries/todo/ancestor.d.ts +1 -0
  37. package/dist/chain-methods/ending/queries/todo/ancestor.d.ts.map +1 -0
  38. package/dist/chain-methods/ending/queries/todo/descendants.d.ts +1 -0
  39. package/dist/chain-methods/ending/queries/todo/descendants.d.ts.map +1 -0
  40. package/dist/chain-methods/ending/queries/todo/find-ancestor.d.ts +1 -0
  41. package/dist/chain-methods/ending/queries/todo/find-ancestor.d.ts.map +1 -0
  42. package/dist/chain-methods/ending/queries/todo/find-child.d.ts +1 -0
  43. package/dist/chain-methods/ending/queries/todo/find-child.d.ts.map +1 -0
  44. package/dist/chain-methods/ending/queries/todo/find-descendant.d.ts +1 -0
  45. package/dist/chain-methods/ending/queries/todo/find-descendant.d.ts.map +1 -0
  46. package/dist/chain-methods/ending/queries/todo/observable.d.ts +1 -0
  47. package/dist/chain-methods/ending/queries/todo/observable.d.ts.map +1 -0
  48. package/dist/chain-methods/ending/queries/todo/read.d.ts +1 -0
  49. package/dist/chain-methods/ending/queries/todo/read.d.ts.map +1 -0
  50. package/dist/chain-methods/ending/transaction/commit.d.ts +16 -0
  51. package/dist/chain-methods/ending/transaction/commit.d.ts.map +1 -0
  52. package/dist/chain-methods/ending/transaction/index.d.ts +2 -0
  53. package/dist/chain-methods/ending/transaction/index.d.ts.map +1 -0
  54. package/dist/chain-methods/ending/transaction/merge-operations.d.ts +33 -0
  55. package/dist/chain-methods/ending/transaction/merge-operations.d.ts.map +1 -0
  56. package/dist/chain-methods/index.d.ts +6 -0
  57. package/dist/chain-methods/index.d.ts.map +1 -0
  58. package/dist/chain-methods/mutations/clone.d.ts +17 -0
  59. package/dist/chain-methods/mutations/clone.d.ts.map +1 -0
  60. package/dist/chain-methods/mutations/clone.types.d.ts +17 -0
  61. package/dist/chain-methods/mutations/clone.types.d.ts.map +1 -0
  62. package/dist/chain-methods/mutations/create.d.ts +17 -0
  63. package/dist/chain-methods/mutations/create.d.ts.map +1 -0
  64. package/dist/chain-methods/mutations/create.types.d.ts +32 -0
  65. package/dist/chain-methods/mutations/create.types.d.ts.map +1 -0
  66. package/dist/chain-methods/mutations/delete.d.ts +19 -0
  67. package/dist/chain-methods/mutations/delete.d.ts.map +1 -0
  68. package/dist/chain-methods/mutations/index.d.ts +8 -0
  69. package/dist/chain-methods/mutations/index.d.ts.map +1 -0
  70. package/dist/chain-methods/mutations/update.d.ts +19 -0
  71. package/dist/chain-methods/mutations/update.d.ts.map +1 -0
  72. package/dist/chain-methods/mutations/update.types.d.ts +6 -0
  73. package/dist/chain-methods/mutations/update.types.d.ts.map +1 -0
  74. package/dist/chain-methods/navigation/go-to-element.d.ts +19 -0
  75. package/dist/chain-methods/navigation/go-to-element.d.ts.map +1 -0
  76. package/dist/chain-methods/navigation/go-to-parent.d.ts +18 -0
  77. package/dist/chain-methods/navigation/go-to-parent.d.ts.map +1 -0
  78. package/dist/chain-methods/navigation/index.d.ts +4 -0
  79. package/dist/chain-methods/navigation/index.d.ts.map +1 -0
  80. package/dist/chain-methods/navigation/types.d.ts +10 -0
  81. package/dist/chain-methods/navigation/types.d.ts.map +1 -0
  82. package/dist/chain-methods/secific-types-to-review.d.ts +23 -0
  83. package/dist/chain-methods/secific-types-to-review.d.ts.map +1 -0
  84. package/dist/chain-methods/types.d.ts +54 -0
  85. package/dist/chain-methods/types.d.ts.map +1 -0
  86. package/dist/database/index.d.ts +3 -0
  87. package/dist/database/index.d.ts.map +1 -0
  88. package/dist/database/instance.d.ts +8 -0
  89. package/dist/database/instance.d.ts.map +1 -0
  90. package/dist/database/types.d.ts +16 -0
  91. package/dist/database/types.d.ts.map +1 -0
  92. package/dist/dialecte/entrypoints.d.ts +19 -0
  93. package/dist/dialecte/entrypoints.d.ts.map +1 -0
  94. package/dist/dialecte/index.d.ts +4 -0
  95. package/dist/dialecte/index.d.ts.map +1 -0
  96. package/dist/dialecte/main.d.ts +7 -0
  97. package/dist/dialecte/main.d.ts.map +1 -0
  98. package/dist/dialecte/state.d.ts +54 -0
  99. package/dist/dialecte/state.d.ts.map +1 -0
  100. package/dist/dialecte/types.d.ts +32 -0
  101. package/dist/dialecte/types.d.ts.map +1 -0
  102. package/dist/errors/codes.d.ts +39 -0
  103. package/dist/errors/codes.d.ts.map +1 -0
  104. package/dist/errors/errors.d.ts +34 -0
  105. package/dist/errors/errors.d.ts.map +1 -0
  106. package/dist/errors/index.d.ts +4 -0
  107. package/dist/errors/index.d.ts.map +1 -0
  108. package/dist/errors/types.d.ts +23 -0
  109. package/dist/errors/types.d.ts.map +1 -0
  110. package/dist/generated/constants.generated.d.ts +1476 -0
  111. package/dist/generated/constants.generated.d.ts.map +1 -0
  112. package/dist/generated/descendants-ancestors.generated.d.ts +442 -0
  113. package/dist/generated/descendants-ancestors.generated.d.ts.map +1 -0
  114. package/dist/generated/types.generated.d.ts +3055 -0
  115. package/dist/generated/types.generated.d.ts.map +1 -0
  116. package/dist/helpers/assert.d.ts +2 -0
  117. package/dist/helpers/assert.d.ts.map +1 -0
  118. package/dist/helpers/index.d.ts +5 -0
  119. package/dist/helpers/index.d.ts.map +1 -0
  120. package/dist/helpers/record/converter.d.ts +34 -0
  121. package/dist/helpers/record/converter.d.ts.map +1 -0
  122. package/dist/helpers/record/guard.d.ts +18 -0
  123. package/dist/helpers/record/guard.d.ts.map +1 -0
  124. package/dist/helpers/record/index.d.ts +6 -0
  125. package/dist/helpers/record/index.d.ts.map +1 -0
  126. package/dist/helpers/record/operations.d.ts +24 -0
  127. package/dist/helpers/record/operations.d.ts.map +1 -0
  128. package/dist/helpers/record/query/find-by-attributes.d.ts +23 -0
  129. package/dist/helpers/record/query/find-by-attributes.d.ts.map +1 -0
  130. package/dist/helpers/record/query/index.d.ts +4 -0
  131. package/dist/helpers/record/query/index.d.ts.map +1 -0
  132. package/dist/helpers/record/query/record.d.ts +68 -0
  133. package/dist/helpers/record/query/record.d.ts.map +1 -0
  134. package/dist/helpers/record/query/scope-ancestors.d.ts +1 -0
  135. package/dist/helpers/record/query/scope-ancestors.d.ts.map +1 -0
  136. package/dist/helpers/record/query/types.d.ts +11 -0
  137. package/dist/helpers/record/query/types.d.ts.map +1 -0
  138. package/dist/helpers/record/standardizing.d.ts +9 -0
  139. package/dist/helpers/record/standardizing.d.ts.map +1 -0
  140. package/dist/helpers/test-fixtures/config.d.ts +210 -0
  141. package/dist/helpers/test-fixtures/config.d.ts.map +1 -0
  142. package/dist/helpers/test-fixtures/constant.d.ts +20 -0
  143. package/dist/helpers/test-fixtures/constant.d.ts.map +1 -0
  144. package/dist/helpers/test-fixtures/create-test-dialecte.d.ts +18 -0
  145. package/dist/helpers/test-fixtures/create-test-dialecte.d.ts.map +1 -0
  146. package/dist/helpers/test-fixtures/generated/constants.generated.d.ts +211 -0
  147. package/dist/helpers/test-fixtures/generated/constants.generated.d.ts.map +1 -0
  148. package/dist/helpers/test-fixtures/generated/definition.d.ts +3 -0
  149. package/dist/helpers/test-fixtures/generated/definition.d.ts.map +1 -0
  150. package/dist/helpers/test-fixtures/generated/index.d.ts +4 -0
  151. package/dist/helpers/test-fixtures/generated/index.d.ts.map +1 -0
  152. package/dist/helpers/test-fixtures/generated/types.generated.d.ts +191 -0
  153. package/dist/helpers/test-fixtures/generated/types.generated.d.ts.map +1 -0
  154. package/dist/helpers/test-fixtures/index.d.ts +7 -0
  155. package/dist/helpers/test-fixtures/index.d.ts.map +1 -0
  156. package/dist/helpers/test-fixtures/test-operations.d.ts +12 -0
  157. package/dist/helpers/test-fixtures/test-operations.d.ts.map +1 -0
  158. package/dist/helpers/test-fixtures/test-operations.types.d.ts +14 -0
  159. package/dist/helpers/test-fixtures/test-operations.types.d.ts.map +1 -0
  160. package/dist/helpers/test-fixtures/test-record.d.ts +36 -0
  161. package/dist/helpers/test-fixtures/test-record.d.ts.map +1 -0
  162. package/dist/index.d.ts +8 -0
  163. package/dist/index.d.ts.map +1 -0
  164. package/dist/index.js +6601 -0
  165. package/dist/io/export/constant.d.ts +2 -0
  166. package/dist/io/export/constant.d.ts.map +1 -0
  167. package/dist/io/export/formatter.d.ts +2 -0
  168. package/dist/io/export/formatter.d.ts.map +1 -0
  169. package/dist/io/export/index.d.ts +4 -0
  170. package/dist/io/export/index.d.ts.map +1 -0
  171. package/dist/io/export/main.d.ts +22 -0
  172. package/dist/io/export/main.d.ts.map +1 -0
  173. package/dist/io/import/database-helpers.d.ts +21 -0
  174. package/dist/io/import/database-helpers.d.ts.map +1 -0
  175. package/dist/io/import/guards.d.ts +4 -0
  176. package/dist/io/import/guards.d.ts.map +1 -0
  177. package/dist/io/import/index.d.ts +3 -0
  178. package/dist/io/import/index.d.ts.map +1 -0
  179. package/dist/io/import/main.d.ts +15 -0
  180. package/dist/io/import/main.d.ts.map +1 -0
  181. package/dist/io/import/parser.d.ts +13 -0
  182. package/dist/io/import/parser.d.ts.map +1 -0
  183. package/dist/io/import/relationships.d.ts +9 -0
  184. package/dist/io/import/relationships.d.ts.map +1 -0
  185. package/dist/io/import/test.handler.d.ts +9 -0
  186. package/dist/io/import/test.handler.d.ts.map +1 -0
  187. package/dist/io/import/test.types.d.ts +4 -0
  188. package/dist/io/import/test.types.d.ts.map +1 -0
  189. package/dist/io/import/types.d.ts +13 -0
  190. package/dist/io/import/types.d.ts.map +1 -0
  191. package/dist/io/index.d.ts +3 -0
  192. package/dist/io/index.d.ts.map +1 -0
  193. package/dist/script/element-parent-mapping.d.ts +2 -0
  194. package/dist/script/element-parent-mapping.d.ts.map +1 -0
  195. package/dist/script/find-unreferenced-elements.d.ts +3 -0
  196. package/dist/script/find-unreferenced-elements.d.ts.map +1 -0
  197. package/dist/script/generate-definition.d.ts +3 -0
  198. package/dist/script/generate-definition.d.ts.map +1 -0
  199. package/dist/script/generate-definition.types.d.ts +86 -0
  200. package/dist/script/generate-definition.types.d.ts.map +1 -0
  201. package/dist/script/generate-descendants-ancestors.d.ts +17 -0
  202. package/dist/script/generate-descendants-ancestors.d.ts.map +1 -0
  203. package/dist/script/generate-test-fixtures.d.ts +16 -0
  204. package/dist/script/generate-test-fixtures.d.ts.map +1 -0
  205. package/dist/script/sorted-dexie-dump-json.d.ts +2 -0
  206. package/dist/script/sorted-dexie-dump-json.d.ts.map +1 -0
  207. package/dist/types/context.d.ts +16 -0
  208. package/dist/types/context.d.ts.map +1 -0
  209. package/dist/types/definition.d.ts +70 -0
  210. package/dist/types/definition.d.ts.map +1 -0
  211. package/dist/types/dialecte-config.d.ts +138 -0
  212. package/dist/types/dialecte-config.d.ts.map +1 -0
  213. package/dist/types/index.d.ts +7 -0
  214. package/dist/types/index.d.ts.map +1 -0
  215. package/dist/types/io.d.ts +17 -0
  216. package/dist/types/io.d.ts.map +1 -0
  217. package/dist/types/operations.d.ts +27 -0
  218. package/dist/types/operations.d.ts.map +1 -0
  219. package/dist/types/records.d.ts +56 -0
  220. package/dist/types/records.d.ts.map +1 -0
  221. package/dist/utils/attributes.d.ts +9 -0
  222. package/dist/utils/attributes.d.ts.map +1 -0
  223. package/dist/utils/index.d.ts +2 -0
  224. package/dist/utils/index.d.ts.map +1 -0
  225. package/package.json +61 -0
@@ -0,0 +1,2 @@
1
+ export declare const TEMP_IDB_ID_ATTRIBUTE_NAME = "_temp-idb-id";
2
+ //# sourceMappingURL=constant.d.ts.map
@@ -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,2 @@
1
+ export declare function formatXml(xmlString: string): string;
2
+ //# sourceMappingURL=formatter.d.ts.map
@@ -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,4 @@
1
+ export * from './main';
2
+ export * from './formatter';
3
+ export * from './constant';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export * from './main';
2
+ export * from './database-helpers';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,4 @@
1
+ import { AnyRawRecord } from '../../types';
2
+ export type ExpectedRecord = Pick<AnyRawRecord, 'id' | 'tagName'> & Partial<AnyRawRecord>;
3
+ export type ExpectedRecords = Array<ExpectedRecord>;
4
+ //# sourceMappingURL=test.types.d.ts.map
@@ -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,3 @@
1
+ export * from './import';
2
+ export * from './export';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export declare const MAPPING: Record<string, string[]>;
2
+ //# sourceMappingURL=element-parent-mapping.d.ts.map
@@ -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,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=find-unreferenced-elements.d.ts.map
@@ -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,3 @@
1
+ #!/usr/bin/env node
2
+ export declare function main(): Promise<void>;
3
+ //# sourceMappingURL=generate-definition.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sorted-dexie-dump-json.d.ts.map
@@ -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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"}