glossarist 0.4.50 → 0.4.52

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 (709) hide show
  1. package/dist/compiled-format.d.ts +43 -0
  2. package/dist/compiled-format.d.ts.map +1 -0
  3. package/{src/compiled-format.ts → dist/compiled-format.js} +28 -46
  4. package/dist/compiled-format.js.map +1 -0
  5. package/dist/concept-collection.d.ts +39 -0
  6. package/dist/concept-collection.d.ts.map +1 -0
  7. package/dist/concept-collection.js +127 -0
  8. package/dist/concept-collection.js.map +1 -0
  9. package/dist/concept-diff.d.ts +14 -0
  10. package/dist/concept-diff.d.ts.map +1 -0
  11. package/{src/concept-diff.ts → dist/concept-diff.js} +2 -20
  12. package/dist/concept-diff.js.map +1 -0
  13. package/dist/concept-parser.d.ts +11 -0
  14. package/dist/concept-parser.d.ts.map +1 -0
  15. package/dist/concept-parser.js +209 -0
  16. package/dist/concept-parser.js.map +1 -0
  17. package/dist/concept-reader.d.ts +55 -0
  18. package/dist/concept-reader.d.ts.map +1 -0
  19. package/{src/concept-reader.ts → dist/concept-reader.js} +70 -76
  20. package/dist/concept-reader.js.map +1 -0
  21. package/dist/concept-serializer.d.ts +9 -0
  22. package/dist/concept-serializer.d.ts.map +1 -0
  23. package/dist/concept-serializer.js +87 -0
  24. package/dist/concept-serializer.js.map +1 -0
  25. package/dist/concept-writer.d.ts +10 -0
  26. package/dist/concept-writer.d.ts.map +1 -0
  27. package/dist/concept-writer.js +28 -0
  28. package/dist/concept-writer.js.map +1 -0
  29. package/dist/dataset-asset.d.ts +49 -0
  30. package/dist/dataset-asset.d.ts.map +1 -0
  31. package/{src/dataset-asset.ts → dist/dataset-asset.js} +16 -33
  32. package/dist/dataset-asset.js.map +1 -0
  33. package/dist/diff/canonical-json.d.ts +7 -0
  34. package/dist/diff/canonical-json.d.ts.map +1 -0
  35. package/dist/diff/canonical-json.js +28 -0
  36. package/dist/diff/canonical-json.js.map +1 -0
  37. package/dist/diff/change.d.ts +67 -0
  38. package/dist/diff/change.d.ts.map +1 -0
  39. package/dist/diff/change.js +131 -0
  40. package/dist/diff/change.js.map +1 -0
  41. package/dist/diff/collection-diff.d.ts +50 -0
  42. package/dist/diff/collection-diff.d.ts.map +1 -0
  43. package/dist/diff/collection-diff.js +182 -0
  44. package/dist/diff/collection-diff.js.map +1 -0
  45. package/dist/diff/concept-diff.d.ts +188 -0
  46. package/dist/diff/concept-diff.d.ts.map +1 -0
  47. package/dist/diff/concept-diff.js +624 -0
  48. package/dist/diff/concept-diff.js.map +1 -0
  49. package/dist/diff/diff-patch.d.ts +7 -0
  50. package/dist/diff/diff-patch.d.ts.map +1 -0
  51. package/dist/diff/diff-patch.js +225 -0
  52. package/dist/diff/diff-patch.js.map +1 -0
  53. package/dist/diff/diff-renderer.d.ts +44 -0
  54. package/dist/diff/diff-renderer.d.ts.map +1 -0
  55. package/dist/diff/diff-renderer.js +263 -0
  56. package/dist/diff/diff-renderer.js.map +1 -0
  57. package/dist/diff/identity.d.ts +2 -0
  58. package/dist/diff/identity.d.ts.map +1 -0
  59. package/dist/diff/identity.js +29 -0
  60. package/dist/diff/identity.js.map +1 -0
  61. package/dist/diff/index.d.ts +8 -0
  62. package/dist/diff/index.d.ts.map +1 -0
  63. package/dist/diff/index.js +8 -0
  64. package/dist/diff/index.js.map +1 -0
  65. package/dist/diff/list-diff.d.ts +36 -0
  66. package/dist/diff/list-diff.d.ts.map +1 -0
  67. package/dist/diff/list-diff.js +185 -0
  68. package/dist/diff/list-diff.js.map +1 -0
  69. package/dist/diff/similarity.d.ts +4 -0
  70. package/dist/diff/similarity.d.ts.map +1 -0
  71. package/dist/diff/similarity.js +20 -0
  72. package/dist/diff/similarity.js.map +1 -0
  73. package/dist/diff/text-diff.d.ts +42 -0
  74. package/dist/diff/text-diff.d.ts.map +1 -0
  75. package/dist/diff/text-diff.js +134 -0
  76. package/dist/diff/text-diff.js.map +1 -0
  77. package/dist/entity-directory.d.ts +13 -0
  78. package/dist/entity-directory.d.ts.map +1 -0
  79. package/dist/entity-directory.js +35 -0
  80. package/dist/entity-directory.js.map +1 -0
  81. package/dist/errors.d.ts +15 -0
  82. package/dist/errors.d.ts.map +1 -0
  83. package/dist/errors.js +23 -0
  84. package/dist/errors.js.map +1 -0
  85. package/dist/gcr-reader.d.ts +57 -0
  86. package/dist/gcr-reader.d.ts.map +1 -0
  87. package/dist/gcr-reader.js +264 -0
  88. package/dist/gcr-reader.js.map +1 -0
  89. package/dist/gcr-writer.d.ts +23 -0
  90. package/dist/gcr-writer.d.ts.map +1 -0
  91. package/dist/gcr-writer.js +84 -0
  92. package/dist/gcr-writer.js.map +1 -0
  93. package/dist/index.d.ts +25 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +38 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/managed-concept-collection.d.ts +31 -0
  98. package/dist/managed-concept-collection.d.ts.map +1 -0
  99. package/dist/managed-concept-collection.js +87 -0
  100. package/dist/managed-concept-collection.js.map +1 -0
  101. package/dist/migration/hyperedge-migrator.d.ts +33 -0
  102. package/dist/migration/hyperedge-migrator.d.ts.map +1 -0
  103. package/dist/migration/hyperedge-migrator.js +70 -0
  104. package/dist/migration/hyperedge-migrator.js.map +1 -0
  105. package/dist/models/abstract-hyperedge.d.ts +35 -0
  106. package/dist/models/abstract-hyperedge.d.ts.map +1 -0
  107. package/dist/models/abstract-hyperedge.js +112 -0
  108. package/dist/models/abstract-hyperedge.js.map +1 -0
  109. package/dist/models/base.d.ts +58 -0
  110. package/dist/models/base.d.ts.map +1 -0
  111. package/dist/models/base.js +77 -0
  112. package/dist/models/base.js.map +1 -0
  113. package/dist/models/bibliography-data.d.ts +20 -0
  114. package/dist/models/bibliography-data.d.ts.map +1 -0
  115. package/dist/models/bibliography-data.js +43 -0
  116. package/dist/models/bibliography-data.js.map +1 -0
  117. package/dist/models/bibliography-entry.d.ts +19 -0
  118. package/dist/models/bibliography-entry.d.ts.map +1 -0
  119. package/dist/models/bibliography-entry.js +34 -0
  120. package/dist/models/bibliography-entry.js.map +1 -0
  121. package/dist/models/citation.d.ts +40 -0
  122. package/dist/models/citation.d.ts.map +1 -0
  123. package/dist/models/citation.js +82 -0
  124. package/dist/models/citation.js.map +1 -0
  125. package/dist/models/completeness.d.ts +9 -0
  126. package/dist/models/completeness.d.ts.map +1 -0
  127. package/{src/models/completeness.ts → dist/models/completeness.js} +4 -9
  128. package/dist/models/completeness.js.map +1 -0
  129. package/dist/models/concept-date.d.ts +20 -0
  130. package/dist/models/concept-date.d.ts.map +1 -0
  131. package/dist/models/concept-date.js +36 -0
  132. package/dist/models/concept-date.js.map +1 -0
  133. package/dist/models/concept-ref.d.ts +32 -0
  134. package/dist/models/concept-ref.d.ts.map +1 -0
  135. package/dist/models/concept-ref.js +53 -0
  136. package/dist/models/concept-ref.js.map +1 -0
  137. package/dist/models/concept-reference.d.ts +22 -0
  138. package/dist/models/concept-reference.d.ts.map +1 -0
  139. package/dist/models/concept-reference.js +39 -0
  140. package/dist/models/concept-reference.js.map +1 -0
  141. package/dist/models/concept-source.d.ts +53 -0
  142. package/dist/models/concept-source.d.ts.map +1 -0
  143. package/dist/models/concept-source.js +66 -0
  144. package/dist/models/concept-source.js.map +1 -0
  145. package/dist/models/concept-system-type.d.ts +6 -0
  146. package/dist/models/concept-system-type.d.ts.map +1 -0
  147. package/dist/models/concept-system-type.js +22 -0
  148. package/dist/models/concept-system-type.js.map +1 -0
  149. package/dist/models/concept-system.d.ts +44 -0
  150. package/dist/models/concept-system.d.ts.map +1 -0
  151. package/dist/models/concept-system.js +115 -0
  152. package/dist/models/concept-system.js.map +1 -0
  153. package/dist/models/concept-type.d.ts +7 -0
  154. package/dist/models/concept-type.d.ts.map +1 -0
  155. package/{src/models/concept-type.ts → dist/models/concept-type.js} +8 -19
  156. package/dist/models/concept-type.js.map +1 -0
  157. package/dist/models/concept.d.ts +94 -0
  158. package/dist/models/concept.d.ts.map +1 -0
  159. package/dist/models/concept.js +368 -0
  160. package/dist/models/concept.js.map +1 -0
  161. package/dist/models/dataset-color.d.ts +28 -0
  162. package/dist/models/dataset-color.d.ts.map +1 -0
  163. package/dist/models/dataset-color.js +74 -0
  164. package/dist/models/dataset-color.js.map +1 -0
  165. package/dist/models/definition-type.d.ts +9 -0
  166. package/dist/models/definition-type.d.ts.map +1 -0
  167. package/{src/models/definition-type.ts → dist/models/definition-type.js} +6 -15
  168. package/dist/models/definition-type.js.map +1 -0
  169. package/dist/models/designation-relationship.d.ts +17 -0
  170. package/dist/models/designation-relationship.d.ts.map +1 -0
  171. package/dist/models/designation-relationship.js +30 -0
  172. package/dist/models/designation-relationship.js.map +1 -0
  173. package/dist/models/designation.d.ts +110 -0
  174. package/dist/models/designation.d.ts.map +1 -0
  175. package/dist/models/designation.js +224 -0
  176. package/dist/models/designation.js.map +1 -0
  177. package/dist/models/detailed-definition.d.ts +34 -0
  178. package/dist/models/detailed-definition.d.ts.map +1 -0
  179. package/dist/models/detailed-definition.js +63 -0
  180. package/dist/models/detailed-definition.js.map +1 -0
  181. package/dist/models/enum.d.ts +21 -0
  182. package/dist/models/enum.d.ts.map +1 -0
  183. package/dist/models/enum.js +39 -0
  184. package/dist/models/enum.js.map +1 -0
  185. package/dist/models/equivalence-degree.d.ts +7 -0
  186. package/dist/models/equivalence-degree.d.ts.map +1 -0
  187. package/dist/models/equivalence-degree.js +20 -0
  188. package/dist/models/equivalence-degree.js.map +1 -0
  189. package/dist/models/figure.d.ts +40 -0
  190. package/dist/models/figure.d.ts.map +1 -0
  191. package/dist/models/figure.js +82 -0
  192. package/dist/models/figure.js.map +1 -0
  193. package/dist/models/formula.d.ts +15 -0
  194. package/dist/models/formula.d.ts.map +1 -0
  195. package/dist/models/formula.js +27 -0
  196. package/dist/models/formula.js.map +1 -0
  197. package/dist/models/gcr-metadata.d.ts +62 -0
  198. package/dist/models/gcr-metadata.d.ts.map +1 -0
  199. package/dist/models/gcr-metadata.js +102 -0
  200. package/dist/models/gcr-metadata.js.map +1 -0
  201. package/dist/models/gcr-statistics.d.ts +30 -0
  202. package/dist/models/gcr-statistics.d.ts.map +1 -0
  203. package/dist/models/gcr-statistics.js +53 -0
  204. package/dist/models/gcr-statistics.js.map +1 -0
  205. package/dist/models/generic-hyperedge.d.ts +32 -0
  206. package/dist/models/generic-hyperedge.d.ts.map +1 -0
  207. package/dist/models/generic-hyperedge.js +51 -0
  208. package/dist/models/generic-hyperedge.js.map +1 -0
  209. package/dist/models/generic-member.d.ts +14 -0
  210. package/dist/models/generic-member.d.ts.map +1 -0
  211. package/dist/models/generic-member.js +51 -0
  212. package/dist/models/generic-member.js.map +1 -0
  213. package/dist/models/grammar-info.d.ts +34 -0
  214. package/dist/models/grammar-info.d.ts.map +1 -0
  215. package/dist/models/grammar-info.js +59 -0
  216. package/dist/models/grammar-info.js.map +1 -0
  217. package/dist/models/hyperedge-colors.d.ts +19 -0
  218. package/dist/models/hyperedge-colors.d.ts.map +1 -0
  219. package/dist/models/hyperedge-colors.js +61 -0
  220. package/dist/models/hyperedge-colors.js.map +1 -0
  221. package/dist/models/hyperedge-index.d.ts +34 -0
  222. package/dist/models/hyperedge-index.d.ts.map +1 -0
  223. package/dist/models/hyperedge-index.js +85 -0
  224. package/dist/models/hyperedge-index.js.map +1 -0
  225. package/dist/models/hyperedge-member.d.ts +28 -0
  226. package/dist/models/hyperedge-member.d.ts.map +1 -0
  227. package/dist/models/hyperedge-member.js +92 -0
  228. package/dist/models/hyperedge-member.js.map +1 -0
  229. package/dist/models/hyperedge-registry.d.ts +47 -0
  230. package/dist/models/hyperedge-registry.d.ts.map +1 -0
  231. package/dist/models/hyperedge-registry.js +118 -0
  232. package/dist/models/hyperedge-registry.js.map +1 -0
  233. package/dist/models/index.d.ts +53 -0
  234. package/dist/models/index.d.ts.map +1 -0
  235. package/{src/models/index.ts → dist/models/index.js} +11 -63
  236. package/dist/models/index.js.map +1 -0
  237. package/dist/models/locality.d.ts +17 -0
  238. package/dist/models/locality.d.ts.map +1 -0
  239. package/dist/models/locality.js +26 -0
  240. package/dist/models/locality.js.map +1 -0
  241. package/dist/models/localized-concept.d.ts +102 -0
  242. package/dist/models/localized-concept.d.ts.map +1 -0
  243. package/dist/models/localized-concept.js +195 -0
  244. package/dist/models/localized-concept.js.map +1 -0
  245. package/dist/models/localized-string.d.ts +5 -0
  246. package/dist/models/localized-string.d.ts.map +1 -0
  247. package/dist/models/localized-string.js +20 -0
  248. package/dist/models/localized-string.js.map +1 -0
  249. package/dist/models/multiplicity.d.ts +42 -0
  250. package/dist/models/multiplicity.d.ts.map +1 -0
  251. package/dist/models/multiplicity.js +84 -0
  252. package/dist/models/multiplicity.js.map +1 -0
  253. package/dist/models/non-verb-rep.d.ts +20 -0
  254. package/dist/models/non-verb-rep.d.ts.map +1 -0
  255. package/dist/models/non-verb-rep.js +32 -0
  256. package/dist/models/non-verb-rep.js.map +1 -0
  257. package/dist/models/non-verbal-entity.d.ts +30 -0
  258. package/dist/models/non-verbal-entity.d.ts.map +1 -0
  259. package/dist/models/non-verbal-entity.js +48 -0
  260. package/dist/models/non-verbal-entity.js.map +1 -0
  261. package/dist/models/non-verbal-reference.d.ts +23 -0
  262. package/dist/models/non-verbal-reference.d.ts.map +1 -0
  263. package/dist/models/non-verbal-reference.js +44 -0
  264. package/dist/models/non-verbal-reference.js.map +1 -0
  265. package/dist/models/non-verbal-references.d.ts +12 -0
  266. package/dist/models/non-verbal-references.d.ts.map +1 -0
  267. package/dist/models/non-verbal-references.js +20 -0
  268. package/dist/models/non-verbal-references.js.map +1 -0
  269. package/dist/models/partitive-count.d.ts +10 -0
  270. package/dist/models/partitive-count.d.ts.map +1 -0
  271. package/{src/models/partitive-count.ts → dist/models/partitive-count.js} +5 -9
  272. package/dist/models/partitive-count.js.map +1 -0
  273. package/dist/models/partitive-enumeration.d.ts +5 -0
  274. package/dist/models/partitive-enumeration.d.ts.map +1 -0
  275. package/dist/models/partitive-enumeration.js +16 -0
  276. package/dist/models/partitive-enumeration.js.map +1 -0
  277. package/dist/models/partitive-hyperedge.d.ts +43 -0
  278. package/dist/models/partitive-hyperedge.d.ts.map +1 -0
  279. package/dist/models/partitive-hyperedge.js +63 -0
  280. package/dist/models/partitive-hyperedge.js.map +1 -0
  281. package/dist/models/partitive-member.d.ts +14 -0
  282. package/dist/models/partitive-member.d.ts.map +1 -0
  283. package/dist/models/partitive-member.js +44 -0
  284. package/dist/models/partitive-member.js.map +1 -0
  285. package/dist/models/partitive-presence.d.ts +9 -0
  286. package/dist/models/partitive-presence.d.ts.map +1 -0
  287. package/{src/models/partitive-presence.ts → dist/models/partitive-presence.js} +4 -8
  288. package/dist/models/partitive-presence.js.map +1 -0
  289. package/dist/models/plurality-marker.d.ts +5 -0
  290. package/dist/models/plurality-marker.d.ts.map +1 -0
  291. package/dist/models/plurality-marker.js +20 -0
  292. package/dist/models/plurality-marker.js.map +1 -0
  293. package/dist/models/pronunciation.d.ts +19 -0
  294. package/dist/models/pronunciation.d.ts.map +1 -0
  295. package/dist/models/pronunciation.js +34 -0
  296. package/dist/models/pronunciation.js.map +1 -0
  297. package/dist/models/register.d.ts +104 -0
  298. package/dist/models/register.d.ts.map +1 -0
  299. package/dist/models/register.js +297 -0
  300. package/dist/models/register.js.map +1 -0
  301. package/dist/models/registrable.d.ts +25 -0
  302. package/dist/models/registrable.d.ts.map +1 -0
  303. package/dist/models/registrable.js +23 -0
  304. package/dist/models/registrable.js.map +1 -0
  305. package/dist/models/related-concept.d.ts +33 -0
  306. package/dist/models/related-concept.d.ts.map +1 -0
  307. package/dist/models/related-concept.js +95 -0
  308. package/dist/models/related-concept.js.map +1 -0
  309. package/dist/models/relation-categories.d.ts +38 -0
  310. package/dist/models/relation-categories.d.ts.map +1 -0
  311. package/dist/models/relation-categories.js +135 -0
  312. package/dist/models/relation-categories.js.map +1 -0
  313. package/dist/models/relation-colors.d.ts +35 -0
  314. package/dist/models/relation-colors.d.ts.map +1 -0
  315. package/dist/models/relation-colors.js +68 -0
  316. package/dist/models/relation-colors.js.map +1 -0
  317. package/dist/models/relation-loader.d.ts +41 -0
  318. package/dist/models/relation-loader.d.ts.map +1 -0
  319. package/dist/models/relation-loader.js +101 -0
  320. package/dist/models/relation-loader.js.map +1 -0
  321. package/dist/models/section.d.ts +22 -0
  322. package/dist/models/section.d.ts.map +1 -0
  323. package/dist/models/section.js +47 -0
  324. package/dist/models/section.js.map +1 -0
  325. package/dist/models/sequential-hyperedge.d.ts +32 -0
  326. package/dist/models/sequential-hyperedge.d.ts.map +1 -0
  327. package/dist/models/sequential-hyperedge.js +49 -0
  328. package/dist/models/sequential-hyperedge.js.map +1 -0
  329. package/dist/models/sequential-member.d.ts +8 -0
  330. package/dist/models/sequential-member.d.ts.map +1 -0
  331. package/{src/models/sequential-member.ts → dist/models/sequential-member.js} +4 -9
  332. package/dist/models/sequential-member.js.map +1 -0
  333. package/dist/models/shared-non-verbal-entity.d.ts +16 -0
  334. package/dist/models/shared-non-verbal-entity.d.ts.map +1 -0
  335. package/dist/models/shared-non-verbal-entity.js +28 -0
  336. package/dist/models/shared-non-verbal-entity.js.map +1 -0
  337. package/dist/models/table.d.ts +15 -0
  338. package/dist/models/table.d.ts.map +1 -0
  339. package/dist/models/table.js +27 -0
  340. package/dist/models/table.js.map +1 -0
  341. package/dist/rdf/agents-emitter.d.ts +37 -0
  342. package/dist/rdf/agents-emitter.d.ts.map +1 -0
  343. package/dist/rdf/agents-emitter.js +107 -0
  344. package/dist/rdf/agents-emitter.js.map +1 -0
  345. package/dist/rdf/bibliography-emitter.d.ts +16 -0
  346. package/dist/rdf/bibliography-emitter.d.ts.map +1 -0
  347. package/dist/rdf/bibliography-emitter.js +84 -0
  348. package/dist/rdf/bibliography-emitter.js.map +1 -0
  349. package/dist/rdf/bnode-id.d.ts +2 -0
  350. package/dist/rdf/bnode-id.d.ts.map +1 -0
  351. package/dist/rdf/bnode-id.js +57 -0
  352. package/dist/rdf/bnode-id.js.map +1 -0
  353. package/dist/rdf/build-activity-emitter.d.ts +42 -0
  354. package/dist/rdf/build-activity-emitter.d.ts.map +1 -0
  355. package/dist/rdf/build-activity-emitter.js +103 -0
  356. package/dist/rdf/build-activity-emitter.js.map +1 -0
  357. package/dist/rdf/curie.d.ts +7 -0
  358. package/dist/rdf/curie.d.ts.map +1 -0
  359. package/dist/rdf/curie.js +45 -0
  360. package/dist/rdf/curie.js.map +1 -0
  361. package/dist/rdf/dataset-emitter.d.ts +37 -0
  362. package/dist/rdf/dataset-emitter.d.ts.map +1 -0
  363. package/dist/rdf/dataset-emitter.js +126 -0
  364. package/dist/rdf/dataset-emitter.js.map +1 -0
  365. package/dist/rdf/deterministic-id.d.ts +3 -0
  366. package/dist/rdf/deterministic-id.d.ts.map +1 -0
  367. package/dist/rdf/deterministic-id.js +68 -0
  368. package/dist/rdf/deterministic-id.js.map +1 -0
  369. package/dist/rdf/document-writer.d.ts +11 -0
  370. package/dist/rdf/document-writer.d.ts.map +1 -0
  371. package/dist/rdf/document-writer.js +77 -0
  372. package/dist/rdf/document-writer.js.map +1 -0
  373. package/dist/rdf/gloss-concept.d.ts +27 -0
  374. package/dist/rdf/gloss-concept.d.ts.map +1 -0
  375. package/dist/rdf/gloss-concept.js +95 -0
  376. package/dist/rdf/gloss-concept.js.map +1 -0
  377. package/dist/rdf/gloss-designation.d.ts +17 -0
  378. package/dist/rdf/gloss-designation.d.ts.map +1 -0
  379. package/dist/rdf/gloss-designation.js +46 -0
  380. package/dist/rdf/gloss-designation.js.map +1 -0
  381. package/dist/rdf/gloss-detailed-definition.d.ts +14 -0
  382. package/dist/rdf/gloss-detailed-definition.d.ts.map +1 -0
  383. package/dist/rdf/gloss-detailed-definition.js +53 -0
  384. package/dist/rdf/gloss-detailed-definition.js.map +1 -0
  385. package/dist/rdf/gloss-generic-hyperedge.d.ts +27 -0
  386. package/dist/rdf/gloss-generic-hyperedge.d.ts.map +1 -0
  387. package/{src/rdf/gloss-generic-hyperedge.ts → dist/rdf/gloss-generic-hyperedge.js} +36 -50
  388. package/dist/rdf/gloss-generic-hyperedge.js.map +1 -0
  389. package/dist/rdf/gloss-localized-concept.d.ts +24 -0
  390. package/dist/rdf/gloss-localized-concept.d.ts.map +1 -0
  391. package/dist/rdf/gloss-localized-concept.js +71 -0
  392. package/dist/rdf/gloss-localized-concept.js.map +1 -0
  393. package/dist/rdf/gloss-non-verbal-rep.d.ts +33 -0
  394. package/dist/rdf/gloss-non-verbal-rep.d.ts.map +1 -0
  395. package/dist/rdf/gloss-non-verbal-rep.js +163 -0
  396. package/dist/rdf/gloss-non-verbal-rep.js.map +1 -0
  397. package/dist/rdf/gloss-partitive-member.d.ts +8 -0
  398. package/dist/rdf/gloss-partitive-member.d.ts.map +1 -0
  399. package/{src/rdf/gloss-partitive-member.ts → dist/rdf/gloss-partitive-member.js} +23 -41
  400. package/dist/rdf/gloss-partitive-member.js.map +1 -0
  401. package/dist/rdf/gloss-partitive-relation.d.ts +26 -0
  402. package/dist/rdf/gloss-partitive-relation.d.ts.map +1 -0
  403. package/dist/rdf/gloss-partitive-relation.js +73 -0
  404. package/dist/rdf/gloss-partitive-relation.js.map +1 -0
  405. package/dist/rdf/gloss-source.d.ts +23 -0
  406. package/dist/rdf/gloss-source.d.ts.map +1 -0
  407. package/dist/rdf/gloss-source.js +52 -0
  408. package/dist/rdf/gloss-source.js.map +1 -0
  409. package/dist/rdf/group-emitter.d.ts +46 -0
  410. package/dist/rdf/group-emitter.d.ts.map +1 -0
  411. package/dist/rdf/group-emitter.js +107 -0
  412. package/dist/rdf/group-emitter.js.map +1 -0
  413. package/dist/rdf/image-variant-emitter.d.ts +12 -0
  414. package/dist/rdf/image-variant-emitter.d.ts.map +1 -0
  415. package/dist/rdf/image-variant-emitter.js +55 -0
  416. package/dist/rdf/image-variant-emitter.js.map +1 -0
  417. package/dist/rdf/index.d.ts +26 -0
  418. package/dist/rdf/index.d.ts.map +1 -0
  419. package/{src/rdf/index.ts → dist/rdf/index.js} +8 -37
  420. package/dist/rdf/index.js.map +1 -0
  421. package/dist/rdf/normalize-enum.d.ts +3 -0
  422. package/dist/rdf/normalize-enum.d.ts.map +1 -0
  423. package/{src/rdf/normalize-enum.ts → dist/rdf/normalize-enum.js} +11 -10
  424. package/dist/rdf/normalize-enum.js.map +1 -0
  425. package/dist/rdf/predicates.d.ts +277 -0
  426. package/dist/rdf/predicates.d.ts.map +1 -0
  427. package/dist/rdf/predicates.js +279 -0
  428. package/dist/rdf/predicates.js.map +1 -0
  429. package/dist/rdf/prefixes.d.ts +16 -0
  430. package/dist/rdf/prefixes.d.ts.map +1 -0
  431. package/{src/rdf/prefixes.ts → dist/rdf/prefixes.js} +10 -12
  432. package/dist/rdf/prefixes.js.map +1 -0
  433. package/dist/rdf/provenance-emitter.d.ts +28 -0
  434. package/dist/rdf/provenance-emitter.d.ts.map +1 -0
  435. package/dist/rdf/provenance-emitter.js +74 -0
  436. package/dist/rdf/provenance-emitter.js.map +1 -0
  437. package/dist/rdf/sections-builder.d.ts +17 -0
  438. package/dist/rdf/sections-builder.d.ts.map +1 -0
  439. package/dist/rdf/sections-builder.js +137 -0
  440. package/dist/rdf/sections-builder.js.map +1 -0
  441. package/dist/rdf/shacl-entry.d.ts +2 -0
  442. package/dist/rdf/shacl-entry.d.ts.map +1 -0
  443. package/{src/rdf/shacl-entry.ts → dist/rdf/shacl-entry.js} +1 -1
  444. package/dist/rdf/shacl-entry.js.map +1 -0
  445. package/dist/rdf/shacl.d.ts +10 -0
  446. package/dist/rdf/shacl.d.ts.map +1 -0
  447. package/{src/rdf/shacl.ts → dist/rdf/shacl.js} +38 -57
  448. package/dist/rdf/shacl.js.map +1 -0
  449. package/dist/rdf/terms.d.ts +10 -0
  450. package/dist/rdf/terms.d.ts.map +1 -0
  451. package/{src/rdf/terms.ts → dist/rdf/terms.js} +6 -3
  452. package/dist/rdf/terms.js.map +1 -0
  453. package/dist/rdf/version-emitter.d.ts +57 -0
  454. package/dist/rdf/version-emitter.d.ts.map +1 -0
  455. package/dist/rdf/version-emitter.js +68 -0
  456. package/dist/rdf/version-emitter.js.map +1 -0
  457. package/dist/rdf/vocabulary-emitter.d.ts +32 -0
  458. package/dist/rdf/vocabulary-emitter.d.ts.map +1 -0
  459. package/dist/rdf/vocabulary-emitter.js +46 -0
  460. package/dist/rdf/vocabulary-emitter.js.map +1 -0
  461. package/dist/rdf/write-turtle-sync.d.ts +7 -0
  462. package/dist/rdf/write-turtle-sync.d.ts.map +1 -0
  463. package/dist/rdf/write-turtle-sync.js +130 -0
  464. package/dist/rdf/write-turtle-sync.js.map +1 -0
  465. package/dist/reference-mention.d.ts +49 -0
  466. package/dist/reference-mention.d.ts.map +1 -0
  467. package/dist/reference-mention.js +98 -0
  468. package/dist/reference-mention.js.map +1 -0
  469. package/dist/reference-resolver.d.ts +52 -0
  470. package/dist/reference-resolver.d.ts.map +1 -0
  471. package/dist/reference-resolver.js +311 -0
  472. package/dist/reference-resolver.js.map +1 -0
  473. package/dist/render-classification.d.ts +19 -0
  474. package/dist/render-classification.d.ts.map +1 -0
  475. package/dist/render-classification.js +82 -0
  476. package/dist/render-classification.js.map +1 -0
  477. package/dist/sort.d.ts +5 -0
  478. package/dist/sort.d.ts.map +1 -0
  479. package/dist/sort.js +25 -0
  480. package/dist/sort.js.map +1 -0
  481. package/dist/transforms/concept-to-gloss.transform.d.ts +32 -0
  482. package/dist/transforms/concept-to-gloss.transform.d.ts.map +1 -0
  483. package/dist/transforms/concept-to-gloss.transform.js +60 -0
  484. package/dist/transforms/concept-to-gloss.transform.js.map +1 -0
  485. package/dist/transforms/index.d.ts +2 -0
  486. package/dist/transforms/index.d.ts.map +1 -0
  487. package/{src/transforms/index.ts → dist/transforms/index.js} +1 -0
  488. package/dist/transforms/index.js.map +1 -0
  489. package/dist/utils/assertions.d.ts +4 -0
  490. package/dist/utils/assertions.d.ts.map +1 -0
  491. package/dist/utils/assertions.js +17 -0
  492. package/dist/utils/assertions.js.map +1 -0
  493. package/dist/utils/external-detection.d.ts +38 -0
  494. package/dist/utils/external-detection.d.ts.map +1 -0
  495. package/dist/utils/external-detection.js +55 -0
  496. package/dist/utils/external-detection.js.map +1 -0
  497. package/dist/uuid.d.ts +4 -0
  498. package/dist/uuid.d.ts.map +1 -0
  499. package/dist/uuid.js +23 -0
  500. package/dist/uuid.js.map +1 -0
  501. package/dist/v1-reader.d.ts +8 -0
  502. package/dist/v1-reader.d.ts.map +1 -0
  503. package/dist/v1-reader.js +56 -0
  504. package/dist/v1-reader.js.map +1 -0
  505. package/dist/validators/asset-index.d.ts +23 -0
  506. package/dist/validators/asset-index.d.ts.map +1 -0
  507. package/dist/validators/asset-index.js +58 -0
  508. package/dist/validators/asset-index.js.map +1 -0
  509. package/dist/validators/binary-has-part-redundancy-rule.d.ts +8 -0
  510. package/dist/validators/binary-has-part-redundancy-rule.d.ts.map +1 -0
  511. package/dist/validators/binary-has-part-redundancy-rule.js +57 -0
  512. package/dist/validators/binary-has-part-redundancy-rule.js.map +1 -0
  513. package/dist/validators/concept-validator.d.ts +21 -0
  514. package/dist/validators/concept-validator.d.ts.map +1 -0
  515. package/dist/validators/concept-validator.js +76 -0
  516. package/dist/validators/concept-validator.js.map +1 -0
  517. package/dist/validators/delimiting-coherence-rule.d.ts +8 -0
  518. package/dist/validators/delimiting-coherence-rule.d.ts.map +1 -0
  519. package/dist/validators/delimiting-coherence-rule.js +72 -0
  520. package/dist/validators/delimiting-coherence-rule.js.map +1 -0
  521. package/dist/validators/extensional-completeness.d.ts +18 -0
  522. package/dist/validators/extensional-completeness.d.ts.map +1 -0
  523. package/dist/validators/extensional-completeness.js +41 -0
  524. package/dist/validators/extensional-completeness.js.map +1 -0
  525. package/dist/validators/external-concept-shape-rule.d.ts +8 -0
  526. package/dist/validators/external-concept-shape-rule.d.ts.map +1 -0
  527. package/dist/validators/external-concept-shape-rule.js +48 -0
  528. package/dist/validators/external-concept-shape-rule.js.map +1 -0
  529. package/dist/validators/gcr-validator.d.ts +11 -0
  530. package/dist/validators/gcr-validator.d.ts.map +1 -0
  531. package/dist/validators/gcr-validator.js +76 -0
  532. package/dist/validators/gcr-validator.js.map +1 -0
  533. package/dist/validators/hyperedge-coherence-rule.d.ts +9 -0
  534. package/dist/validators/hyperedge-coherence-rule.d.ts.map +1 -0
  535. package/dist/validators/hyperedge-coherence-rule.js +78 -0
  536. package/dist/validators/hyperedge-coherence-rule.js.map +1 -0
  537. package/dist/validators/index.d.ts +21 -0
  538. package/dist/validators/index.d.ts.map +1 -0
  539. package/{src/validators/index.ts → dist/validators/index.js} +25 -51
  540. package/dist/validators/index.js.map +1 -0
  541. package/dist/validators/partitive-relation-coherence-rule.d.ts +2 -0
  542. package/dist/validators/partitive-relation-coherence-rule.d.ts.map +1 -0
  543. package/{src/validators/partitive-relation-coherence-rule.ts → dist/validators/partitive-relation-coherence-rule.js} +1 -1
  544. package/dist/validators/partitive-relation-coherence-rule.js.map +1 -0
  545. package/dist/validators/ref-keys.d.ts +8 -0
  546. package/dist/validators/ref-keys.d.ts.map +1 -0
  547. package/dist/validators/ref-keys.js +27 -0
  548. package/dist/validators/ref-keys.js.map +1 -0
  549. package/dist/validators/register-validator.d.ts +10 -0
  550. package/dist/validators/register-validator.d.ts.map +1 -0
  551. package/dist/validators/register-validator.js +18 -0
  552. package/dist/validators/register-validator.js.map +1 -0
  553. package/dist/validators/relationship-type-rule.d.ts +13 -0
  554. package/dist/validators/relationship-type-rule.d.ts.map +1 -0
  555. package/dist/validators/relationship-type-rule.js +34 -0
  556. package/dist/validators/relationship-type-rule.js.map +1 -0
  557. package/dist/validators/sourced-from-locality-rule.d.ts +8 -0
  558. package/dist/validators/sourced-from-locality-rule.d.ts.map +1 -0
  559. package/dist/validators/sourced-from-locality-rule.js +37 -0
  560. package/dist/validators/sourced-from-locality-rule.js.map +1 -0
  561. package/dist/validators/v3-rules.d.ts +60 -0
  562. package/dist/validators/v3-rules.d.ts.map +1 -0
  563. package/dist/validators/v3-rules.js +327 -0
  564. package/dist/validators/v3-rules.js.map +1 -0
  565. package/dist/validators/validation-error.d.ts +13 -0
  566. package/dist/validators/validation-error.d.ts.map +1 -0
  567. package/dist/validators/validation-error.js +17 -0
  568. package/dist/validators/validation-error.js.map +1 -0
  569. package/dist/validators/validation-result.d.ts +17 -0
  570. package/dist/validators/validation-result.d.ts.map +1 -0
  571. package/dist/validators/validation-result.js +47 -0
  572. package/dist/validators/validation-result.js.map +1 -0
  573. package/dist/validators/validation-rule.d.ts +10 -0
  574. package/dist/validators/validation-rule.d.ts.map +1 -0
  575. package/dist/validators/validation-rule.js +17 -0
  576. package/dist/validators/validation-rule.js.map +1 -0
  577. package/package.json +37 -42
  578. package/src/concept-collection.ts +0 -172
  579. package/src/concept-parser.ts +0 -235
  580. package/src/concept-reader.d.ts +0 -13
  581. package/src/concept-serializer.ts +0 -110
  582. package/src/concept-writer.d.ts +0 -7
  583. package/src/concept-writer.ts +0 -47
  584. package/src/diff/canonical-json.ts +0 -29
  585. package/src/diff/change.ts +0 -175
  586. package/src/diff/collection-diff.ts +0 -245
  587. package/src/diff/concept-diff.ts +0 -853
  588. package/src/diff/diff-patch.ts +0 -276
  589. package/src/diff/diff-renderer.ts +0 -348
  590. package/src/diff/identity.ts +0 -33
  591. package/src/diff/index.d.ts +0 -242
  592. package/src/diff/index.ts +0 -50
  593. package/src/diff/list-diff.ts +0 -231
  594. package/src/diff/similarity.ts +0 -20
  595. package/src/diff/text-diff.ts +0 -167
  596. package/src/entity-directory.ts +0 -43
  597. package/src/errors.d.ts +0 -11
  598. package/src/errors.ts +0 -24
  599. package/src/gcr-reader.d.ts +0 -65
  600. package/src/gcr-reader.ts +0 -512
  601. package/src/gcr-writer.d.ts +0 -22
  602. package/src/gcr-writer.ts +0 -99
  603. package/src/index.d.ts +0 -124
  604. package/src/index.ts +0 -92
  605. package/src/managed-concept-collection.ts +0 -130
  606. package/src/migration/hyperedge-migrator.ts +0 -104
  607. package/src/models/abstract-hyperedge.ts +0 -164
  608. package/src/models/base.ts +0 -110
  609. package/src/models/bibliography-data.ts +0 -64
  610. package/src/models/bibliography-entry.ts +0 -40
  611. package/src/models/citation.ts +0 -98
  612. package/src/models/concept-date.ts +0 -48
  613. package/src/models/concept-ref.ts +0 -64
  614. package/src/models/concept-reference.ts +0 -50
  615. package/src/models/concept-source.ts +0 -96
  616. package/src/models/concept-system-type.ts +0 -39
  617. package/src/models/concept-system.ts +0 -152
  618. package/src/models/concept.ts +0 -499
  619. package/src/models/dataset-color.ts +0 -88
  620. package/src/models/designation-relationship.ts +0 -39
  621. package/src/models/designation.ts +0 -297
  622. package/src/models/detailed-definition.ts +0 -92
  623. package/src/models/enum.ts +0 -60
  624. package/src/models/equivalence-degree.ts +0 -34
  625. package/src/models/figure.ts +0 -110
  626. package/src/models/formula.ts +0 -36
  627. package/src/models/gcr-metadata.ts +0 -118
  628. package/src/models/gcr-statistics.ts +0 -76
  629. package/src/models/generic-hyperedge.ts +0 -72
  630. package/src/models/generic-member.ts +0 -80
  631. package/src/models/grammar-info.ts +0 -78
  632. package/src/models/hyperedge-colors.ts +0 -87
  633. package/src/models/hyperedge-index.ts +0 -101
  634. package/src/models/hyperedge-member.ts +0 -121
  635. package/src/models/hyperedge-registry.ts +0 -145
  636. package/src/models/index.d.ts +0 -586
  637. package/src/models/locality.ts +0 -34
  638. package/src/models/localized-concept.ts +0 -284
  639. package/src/models/localized-string.ts +0 -32
  640. package/src/models/multiplicity.ts +0 -134
  641. package/src/models/non-verb-rep.ts +0 -48
  642. package/src/models/non-verbal-entity.ts +0 -65
  643. package/src/models/non-verbal-reference.ts +0 -73
  644. package/src/models/non-verbal-references.ts +0 -29
  645. package/src/models/partitive-enumeration.ts +0 -27
  646. package/src/models/partitive-hyperedge.ts +0 -90
  647. package/src/models/partitive-member.ts +0 -56
  648. package/src/models/plurality-marker.ts +0 -31
  649. package/src/models/pronunciation.ts +0 -40
  650. package/src/models/register.ts +0 -315
  651. package/src/models/registrable.ts +0 -48
  652. package/src/models/related-concept.ts +0 -117
  653. package/src/models/relation-categories.ts +0 -167
  654. package/src/models/relation-colors.ts +0 -90
  655. package/src/models/relation-loader.ts +0 -115
  656. package/src/models/section.ts +0 -61
  657. package/src/models/sequential-hyperedge.ts +0 -70
  658. package/src/models/shared-non-verbal-entity.ts +0 -36
  659. package/src/models/table.ts +0 -36
  660. package/src/rdf/agents-emitter.ts +0 -137
  661. package/src/rdf/bibliography-emitter.ts +0 -126
  662. package/src/rdf/bnode-id.ts +0 -55
  663. package/src/rdf/build-activity-emitter.ts +0 -129
  664. package/src/rdf/curie.ts +0 -46
  665. package/src/rdf/dataset-emitter.ts +0 -170
  666. package/src/rdf/deterministic-id.ts +0 -69
  667. package/src/rdf/document-writer.ts +0 -87
  668. package/src/rdf/gloss-concept.ts +0 -115
  669. package/src/rdf/gloss-designation.ts +0 -72
  670. package/src/rdf/gloss-detailed-definition.ts +0 -69
  671. package/src/rdf/gloss-localized-concept.ts +0 -79
  672. package/src/rdf/gloss-non-verbal-rep.ts +0 -202
  673. package/src/rdf/gloss-partitive-relation.ts +0 -89
  674. package/src/rdf/gloss-source.ts +0 -56
  675. package/src/rdf/group-emitter.ts +0 -133
  676. package/src/rdf/image-variant-emitter.ts +0 -80
  677. package/src/rdf/index.d.ts +0 -371
  678. package/src/rdf/predicates.d.ts +0 -527
  679. package/src/rdf/predicates.ts +0 -287
  680. package/src/rdf/provenance-emitter.ts +0 -87
  681. package/src/rdf/sections-builder.ts +0 -190
  682. package/src/rdf/shacl-entry.d.ts +0 -6
  683. package/src/rdf/version-emitter.ts +0 -97
  684. package/src/rdf/vocabulary-emitter.ts +0 -67
  685. package/src/rdf/write-turtle-sync.ts +0 -179
  686. package/src/reference-mention.ts +0 -114
  687. package/src/reference-resolver.ts +0 -361
  688. package/src/render-classification.ts +0 -85
  689. package/src/sort.ts +0 -22
  690. package/src/transforms/concept-to-gloss.transform.ts +0 -81
  691. package/src/transforms/index.d.ts +0 -26
  692. package/src/uuid.ts +0 -32
  693. package/src/v1-reader.ts +0 -66
  694. package/src/validators/asset-index.ts +0 -72
  695. package/src/validators/binary-has-part-redundancy-rule.ts +0 -67
  696. package/src/validators/concept-validator.ts +0 -93
  697. package/src/validators/delimiting-coherence-rule.ts +0 -105
  698. package/src/validators/external-concept-shape-rule.ts +0 -60
  699. package/src/validators/gcr-validator.ts +0 -76
  700. package/src/validators/hyperedge-coherence-rule.ts +0 -98
  701. package/src/validators/index.d.ts +0 -43
  702. package/src/validators/ref-keys.ts +0 -31
  703. package/src/validators/register-validator.ts +0 -18
  704. package/src/validators/relationship-type-rule.ts +0 -39
  705. package/src/validators/sourced-from-locality-rule.ts +0 -53
  706. package/src/validators/v3-rules.ts +0 -382
  707. package/src/validators/validation-error.ts +0 -19
  708. package/src/validators/validation-result.ts +0 -52
  709. package/src/validators/validation-rule.ts +0 -21
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Registry of compiled/machine formats that can be bundled inside a GCR package.
3
+ *
4
+ * Mirrors the Ruby glossarist gem's GcrPackage::COMPILED_EXTENSIONS:
5
+ * tbx → TBX-Basic XML (ISO 30042)
6
+ * jsonld → JSON-LD (SKOS vocabulary)
7
+ * turtle → Turtle/RDF (SKOS vocabulary)
8
+ * jsonl → JSON Lines (one concept per line)
9
+ */
10
+ /**
11
+ * Maps format name to the file extension used inside the GCR `compiled/` directory.
12
+ * Keys are the canonical format identifiers; values are the extension including
13
+ * the leading dot (for simple lookup) or the multi-part extension for TBX.
14
+ * @type {ReadonlyMap<string, string>}
15
+ */
16
+ declare const COMPILED_EXTENSIONS: Readonly<Map<string, string>>;
17
+ /** Canonical format identifiers, in a stable order. */
18
+ declare const COMPILED_FORMATS: readonly string[];
19
+ /**
20
+ * Returns the filename (without directory) for a compiled-format entry.
21
+ *
22
+ * @param {string} format - e.g. 'tbx', 'jsonld'
23
+ * @param {string} id - concept ID or document name (e.g. '3.1.1.1', 'glossary')
24
+ * @returns {string} e.g. '3.1.1.1.jsonld', 'glossary.tbx.xml'
25
+ */
26
+ declare function compiledFilename(format: string, id: string): string;
27
+ /**
28
+ * Returns the full ZIP path for a compiled-format entry.
29
+ */
30
+ declare function compiledPath(format: string, id: string): string;
31
+ /**
32
+ * Checks whether a format name is a known compiled format.
33
+ */
34
+ declare function isKnownFormat(format: string): boolean;
35
+ /**
36
+ * Extracts the entry ID (concept ID or document name) from a compiled-format ZIP path.
37
+ */
38
+ declare function parseCompiledPath(zipPath: string): {
39
+ format: string;
40
+ id: string;
41
+ } | null;
42
+ export { COMPILED_EXTENSIONS, COMPILED_FORMATS, compiledFilename, compiledPath, isKnownFormat, parseCompiledPath, };
43
+ //# sourceMappingURL=compiled-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiled-format.d.ts","sourceRoot":"","sources":["../src/compiled-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,+BAKtB,CAAC;AAEJ,uDAAuD;AACvD,QAAA,MAAM,gBAAgB,mBAAiD,CAAC;AAExE;;;;;;GAMG;AACH,iBAAS,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAInD;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAE/C;AAED;;GAEG;AACH,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,WAEpC;AAED;;GAEG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAajF;AAED,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,CAAC"}
@@ -7,7 +7,6 @@
7
7
  * turtle → Turtle/RDF (SKOS vocabulary)
8
8
  * jsonl → JSON Lines (one concept per line)
9
9
  */
10
-
11
10
  /**
12
11
  * Maps format name to the file extension used inside the GCR `compiled/` directory.
13
12
  * Keys are the canonical format identifiers; values are the extension including
@@ -15,15 +14,13 @@
15
14
  * @type {ReadonlyMap<string, string>}
16
15
  */
17
16
  const COMPILED_EXTENSIONS = Object.freeze(new Map([
18
- ['tbx', 'tbx.xml'],
19
- ['jsonld', 'jsonld'],
20
- ['turtle', 'ttl'],
21
- ['jsonl', 'jsonl'],
17
+ ['tbx', 'tbx.xml'],
18
+ ['jsonld', 'jsonld'],
19
+ ['turtle', 'ttl'],
20
+ ['jsonl', 'jsonl'],
22
21
  ]));
23
-
24
22
  /** Canonical format identifiers, in a stable order. */
25
23
  const COMPILED_FORMATS = Object.freeze([...COMPILED_EXTENSIONS.keys()]);
26
-
27
24
  /**
28
25
  * Returns the filename (without directory) for a compiled-format entry.
29
26
  *
@@ -32,58 +29,43 @@ const COMPILED_FORMATS = Object.freeze([...COMPILED_EXTENSIONS.keys()]);
32
29
  * @returns {string} e.g. '3.1.1.1.jsonld', 'glossary.tbx.xml'
33
30
  */
34
31
  function compiledFilename(format, id) {
35
- const ext = COMPILED_EXTENSIONS.get(format);
36
- if (!ext) throw new RangeError(`Unknown compiled format: ${format}`);
37
- return `${id}.${ext}`;
32
+ const ext = COMPILED_EXTENSIONS.get(format);
33
+ if (!ext)
34
+ throw new RangeError(`Unknown compiled format: ${format}`);
35
+ return `${id}.${ext}`;
38
36
  }
39
-
40
37
  /**
41
38
  * Returns the full ZIP path for a compiled-format entry.
42
- *
43
- * @param {string} format
44
- * @param {string} id
45
- * @returns {string} e.g. 'compiled/jsonld/3.1.1.1.jsonld'
46
39
  */
47
40
  function compiledPath(format, id) {
48
- return `compiled/${format}/${compiledFilename(format, id)}`;
41
+ return `compiled/${format}/${compiledFilename(format, id)}`;
49
42
  }
50
-
51
43
  /**
52
44
  * Checks whether a format name is a known compiled format.
53
- * @param {string} format
54
- * @returns {boolean}
55
45
  */
56
46
  function isKnownFormat(format) {
57
- return COMPILED_EXTENSIONS.has(format);
47
+ return COMPILED_EXTENSIONS.has(format);
58
48
  }
59
-
60
49
  /**
61
50
  * Extracts the entry ID (concept ID or document name) from a compiled-format ZIP path.
62
- * Returns null if the path doesn't match the expected pattern.
63
- *
64
- * @param {string} zipPath - e.g. 'compiled/jsonld/3.1.1.1.jsonld'
65
- * @returns {{ format: string, id: string } | null}
66
51
  */
67
52
  function parseCompiledPath(zipPath) {
68
- if (!zipPath.startsWith('compiled/')) return null;
69
- const rest = zipPath.slice('compiled/'.length);
70
- const slash = rest.indexOf('/');
71
- if (slash === -1) return null;
72
- const format = rest.slice(0, slash);
73
- const ext = COMPILED_EXTENSIONS.get(format);
74
- if (!ext) return null;
75
- const filename = rest.slice(slash + 1);
76
- const suffix = `.${ext}`;
77
- if (!filename.endsWith(suffix)) return null;
78
- const id = filename.slice(0, -suffix.length);
79
- return { format, id };
53
+ if (!zipPath.startsWith('compiled/'))
54
+ return null;
55
+ const rest = zipPath.slice('compiled/'.length);
56
+ const slash = rest.indexOf('/');
57
+ if (slash === -1)
58
+ return null;
59
+ const format = rest.slice(0, slash);
60
+ const ext = COMPILED_EXTENSIONS.get(format);
61
+ if (!ext)
62
+ return null;
63
+ const filename = rest.slice(slash + 1);
64
+ const suffix = `.${ext}`;
65
+ if (!filename.endsWith(suffix))
66
+ return null;
67
+ const id = filename.slice(0, -suffix.length);
68
+ return { format, id };
80
69
  }
81
-
82
- export {
83
- COMPILED_EXTENSIONS,
84
- COMPILED_FORMATS,
85
- compiledFilename,
86
- compiledPath,
87
- isKnownFormat,
88
- parseCompiledPath,
89
- };
70
+ export { COMPILED_EXTENSIONS, COMPILED_FORMATS, compiledFilename, compiledPath, isKnownFormat, parseCompiledPath, };
71
+ //# sourceMappingURL=compiled-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiled-format.js","sourceRoot":"","sources":["../src/compiled-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAChD,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,KAAK,CAAC;IACjB,CAAC,OAAO,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC,CAAC;AAEJ,uDAAuD;AACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAExE;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,EAAU;IAClD,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,UAAU,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACrE,OAAO,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,MAAc,EAAE,EAAU;IAC9C,OAAO,YAAY,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { Concept } from './models/concept.js';
2
+ import type { Register } from './models/register.js';
3
+ type SectionIdInput = string | string[];
4
+ interface BySectionOptions {
5
+ register?: Register;
6
+ }
7
+ export declare class ConceptCollection {
8
+ #private;
9
+ constructor(concepts?: Iterable<Concept>);
10
+ get length(): number;
11
+ [Symbol.iterator](): Iterator<Concept>;
12
+ at(index: number): Concept | undefined;
13
+ indexOf(item: Concept, fromIndex?: number): number;
14
+ find(fn: (c: Concept, i: number, arr: Concept[]) => unknown): Concept | undefined;
15
+ findIndex(fn: (c: Concept, i: number, arr: Concept[]) => unknown): number;
16
+ forEach(fn: (c: Concept, i: number) => void): void;
17
+ map<U>(fn: (c: Concept, i: number) => U): U[];
18
+ reduce<U>(fn: (acc: U, c: Concept, i: number) => U, init: U): U;
19
+ includes(item: Concept): boolean;
20
+ push(...items: Concept[]): number;
21
+ splice(start: number, deleteCount?: number, ...items: Concept[]): Concept[];
22
+ set(index: number, item: Concept): void;
23
+ toArray(): Concept[];
24
+ byId(id: string): Concept | undefined;
25
+ byIdAnd(id: string, version: string | null): Concept | null;
26
+ byPrefix(prefix: string): ConceptCollection;
27
+ byLanguage(lang: string): ConceptCollection;
28
+ byStatus(status: string): ConceptCollection;
29
+ bySection(sectionId: SectionIdInput, options?: BySectionOptions): ConceptCollection;
30
+ index(): Map<string, Concept>;
31
+ sorted(): ConceptCollection;
32
+ search(query: string): ConceptCollection;
33
+ allLanguages(): string[];
34
+ filter(fn: (c: Concept, i: number, arr: Concept[]) => unknown): ConceptCollection;
35
+ slice(start?: number, end?: number): ConceptCollection;
36
+ concat(...args: Concept[][]): ConceptCollection;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=concept-collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concept-collection.d.ts","sourceRoot":"","sources":["../src/concept-collection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ import { naturalSort } from './sort.js';
2
+ export class ConceptCollection {
3
+ #items;
4
+ constructor(concepts = []) {
5
+ this.#items = Array.from(concepts);
6
+ }
7
+ get length() { return this.#items.length; }
8
+ [Symbol.iterator]() { return this.#items[Symbol.iterator](); }
9
+ at(index) { return this.#items.at(index); }
10
+ indexOf(item, fromIndex) { return this.#items.indexOf(item, fromIndex); }
11
+ find(fn) { return this.#items.find(fn); }
12
+ findIndex(fn) { return this.#items.findIndex(fn); }
13
+ forEach(fn) { this.#items.forEach(fn); }
14
+ map(fn) { return this.#items.map(fn); }
15
+ reduce(fn, init) { return this.#items.reduce(fn, init); }
16
+ includes(item) { return this.#items.includes(item); }
17
+ push(...items) { return this.#items.push(...items); }
18
+ splice(start, deleteCount, ...items) {
19
+ return deleteCount === undefined
20
+ ? this.#items.splice(start)
21
+ : this.#items.splice(start, deleteCount, ...items);
22
+ }
23
+ set(index, item) { this.#items[index] = item; }
24
+ toArray() { return [...this.#items]; }
25
+ byId(id) {
26
+ return this.#items.find(c => c.id === id || c.termid === id);
27
+ }
28
+ byIdAnd(id, version) {
29
+ if (version == null)
30
+ return this.byId(id) ?? null;
31
+ return this.#items.find(c => (c.id === id || c.termid === id) && c.version === version) ?? null;
32
+ }
33
+ byPrefix(prefix) {
34
+ return new ConceptCollection(this.#items.filter(c => c.id.startsWith(prefix)));
35
+ }
36
+ byLanguage(lang) {
37
+ return new ConceptCollection(this.#items.filter(c => c.hasLocalization(lang)));
38
+ }
39
+ byStatus(status) {
40
+ return new ConceptCollection(this.#items.filter(c => {
41
+ return c.languages.some(lang => c.localization(lang)?.entryStatus === status);
42
+ }));
43
+ }
44
+ bySection(sectionId, options = {}) {
45
+ if (Array.isArray(sectionId)) {
46
+ const targetSet = new Set(sectionId);
47
+ return new ConceptCollection(this.#items.filter(c => {
48
+ const ids = options.register
49
+ ? options.register.conceptSectionIds(c)
50
+ : _flatConceptSectionIds(c);
51
+ return ids.some(id => targetSet.has(id));
52
+ }));
53
+ }
54
+ if (!options.register) {
55
+ throw new Error('bySection(sectionId) requires { register } to expand the concept section closures');
56
+ }
57
+ const target = sectionId;
58
+ return new ConceptCollection(this.#items.filter(c => {
59
+ const ids = options.register.conceptSectionIds(c);
60
+ return ids.includes(target);
61
+ }));
62
+ }
63
+ index() {
64
+ const map = new Map();
65
+ for (const c of this.#items)
66
+ map.set(c.id, c);
67
+ return map;
68
+ }
69
+ sorted() {
70
+ const copy = [...this.#items];
71
+ copy.sort((a, b) => naturalSort(a.id, b.id));
72
+ return new ConceptCollection(copy);
73
+ }
74
+ search(query) {
75
+ const q = query.toLowerCase();
76
+ return new ConceptCollection(this.#items.filter(c => {
77
+ for (const lang of c.languages) {
78
+ const lc = c.localization(lang);
79
+ if (!lc)
80
+ continue;
81
+ for (const t of lc.terms) {
82
+ if ((t.designation ?? '').toLowerCase().includes(q))
83
+ return true;
84
+ }
85
+ }
86
+ for (const { text } of c.walkTexts()) {
87
+ if (text.toLowerCase().includes(q))
88
+ return true;
89
+ }
90
+ return false;
91
+ }));
92
+ }
93
+ allLanguages() {
94
+ const set = new Set();
95
+ for (const c of this.#items) {
96
+ for (const lang of c.languages)
97
+ set.add(lang);
98
+ }
99
+ return [...set].sort();
100
+ }
101
+ filter(fn) { return new ConceptCollection(this.#items.filter(fn)); }
102
+ slice(start, end) { return new ConceptCollection(this.#items.slice(start, end)); }
103
+ concat(...args) { return new ConceptCollection(this.#items.concat(...args)); }
104
+ }
105
+ function _flatConceptSectionIds(concept) {
106
+ if (!concept)
107
+ return [];
108
+ const out = [];
109
+ const cAny = concept;
110
+ for (const source of [cAny.sections, cAny.groups]) {
111
+ if (!Array.isArray(source))
112
+ continue;
113
+ for (const entry of source) {
114
+ if (typeof entry === 'string') {
115
+ out.push(entry);
116
+ }
117
+ else if (entry && typeof entry === 'object') {
118
+ const e = entry;
119
+ const id = e.id ?? e.sectionId ?? e.ref?.id;
120
+ if (id)
121
+ out.push(String(id));
122
+ }
123
+ }
124
+ }
125
+ return out;
126
+ }
127
+ //# sourceMappingURL=concept-collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concept-collection.js","sourceRoot":"","sources":["../src/concept-collection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @deprecated Import from `glossarist/diff` (i.e. `src/diff/index.js`)
3
+ * instead. This file is a backwards-compatibility shim left over from
4
+ * the pre-`eb6e61c` layout. It will be removed in the next major
5
+ * release.
6
+ *
7
+ * Migration:
8
+ * - `import { diffConcepts } from 'glossarist/concept-diff'`
9
+ * + `import { diffConcepts } from 'glossarist/diff'`
10
+ *
11
+ * See TODO.hyperedges-v2/12 for the deprecation rationale.
12
+ */
13
+ export { diffConcepts, diffLocalizedConcepts, diffText, diffList, diffSet, ConceptDiff, ConceptLevelDiff, LocalizedConceptDiff, MetadataDiff, DiffStats, ListDiff, TextDiff, TextHunk, Change, Added, Removed, Changed, Matched, } from './diff/index.js';
14
+ //# sourceMappingURL=concept-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concept-diff.d.ts","sourceRoot":"","sources":["../src/concept-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,GACR,MAAM,iBAAiB,CAAC"}
@@ -10,23 +10,5 @@
10
10
  *
11
11
  * See TODO.hyperedges-v2/12 for the deprecation rationale.
12
12
  */
13
- export {
14
- diffConcepts,
15
- diffLocalizedConcepts,
16
- diffText,
17
- diffList,
18
- diffSet,
19
- ConceptDiff,
20
- ConceptLevelDiff,
21
- LocalizedConceptDiff,
22
- MetadataDiff,
23
- DiffStats,
24
- ListDiff,
25
- TextDiff,
26
- TextHunk,
27
- Change,
28
- Added,
29
- Removed,
30
- Changed,
31
- Matched,
32
- } from './diff/index.js';
13
+ export { diffConcepts, diffLocalizedConcepts, diffText, diffList, diffSet, ConceptDiff, ConceptLevelDiff, LocalizedConceptDiff, MetadataDiff, DiffStats, ListDiff, TextDiff, TextHunk, Change, Added, Removed, Changed, Matched, } from './diff/index.js';
14
+ //# sourceMappingURL=concept-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concept-diff.js","sourceRoot":"","sources":["../src/concept-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,GACR,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Concept } from './models/concept.js';
2
+ type YamlDoc = Record<string, any>;
3
+ export declare class ConceptParser {
4
+ parse(raw: unknown, context?: string): Concept;
5
+ _detectFormat(docs: unknown[], label: string): 'managed' | 'canonical';
6
+ _parseCanonical(doc: YamlDoc): Concept;
7
+ _parseManaged(docs: unknown[]): Concept;
8
+ }
9
+ export declare const conceptParser: ConceptParser;
10
+ export {};
11
+ //# sourceMappingURL=concept-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concept-parser.d.ts","sourceRoot":"","sources":["../src/concept-parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAoD9C,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAOnC,qBAAa,aAAa;IACxB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM;IA4BpC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW;IAOtE,eAAe,CAAC,GAAG,EAAE,OAAO;IAoB5B,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE;CAuC9B;AAwFD,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -0,0 +1,209 @@
1
+ import * as yaml from 'js-yaml';
2
+ import { Concept } from './models/concept.js';
3
+ import { RelatedConcept } from './models/related-concept.js';
4
+ import { HyperedgeRegistry } from './models/hyperedge-registry.js';
5
+ import { migrateHyperedgeToRelation } from './migration/hyperedge-migrator.js';
6
+ import { InvalidInputError, YamlParseError } from './errors.js';
7
+ void null;
8
+ // Structural keys are reserved at the concept level and excluded
9
+ // from language localization discovery. The set is derived from
10
+ // HyperedgeRegistry — every registered hyperedge class contributes
11
+ // its wireKey and any v1WireKeys to the reserved set. Adding a new
12
+ // hyperedge type means the parser reserves its wire key automatically;
13
+ // no edits here.
14
+ const STRUCTURAL_KEYS = new Set([
15
+ 'termid', 'term', 'figures', 'tables', 'formulas',
16
+ 'related', 'relatedConcepts',
17
+ 'relations',
18
+ ..._registryStructuralKeys(),
19
+ ]);
20
+ function _registryStructuralKeys() {
21
+ const out = [];
22
+ for (const cls of HyperedgeRegistry.allClasses()) {
23
+ out.push(cls.wireKey);
24
+ out.push(_camelCase(cls.wireKey));
25
+ for (const k of cls.v1WireKeys ?? []) {
26
+ out.push(k);
27
+ out.push(_camelCase(k));
28
+ }
29
+ }
30
+ return out;
31
+ }
32
+ function nested(v, key) {
33
+ if (v && typeof v === 'object' && key in v)
34
+ return v[key];
35
+ return undefined;
36
+ }
37
+ function deepIdentifier(docs) {
38
+ const first = docs[0];
39
+ return nested(nested(first, 'data'), 'identifier');
40
+ }
41
+ function _camelCase(s) {
42
+ if (typeof s !== 'string' || !s.includes('_'))
43
+ return s;
44
+ return s.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
45
+ }
46
+ export class ConceptParser {
47
+ parse(raw, context) {
48
+ const label = context ?? 'concept';
49
+ if (raw == null) {
50
+ throw new InvalidInputError(`parseConceptYaml requires a non-empty YAML string (${label})`, 'non-null string');
51
+ }
52
+ if (typeof raw !== 'string' || raw.trim() === '') {
53
+ throw new InvalidInputError(`parseConceptYaml requires a non-empty YAML string (${label})`, 'non-empty string');
54
+ }
55
+ let docs;
56
+ try {
57
+ docs = yaml.loadAll(raw, { schema: yaml.CORE_SCHEMA ?? yaml.JSON_SCHEMA });
58
+ }
59
+ catch (err) {
60
+ throw new YamlParseError(label, err);
61
+ }
62
+ return this._detectFormat(docs, label) === 'managed'
63
+ ? this._parseManaged(docs)
64
+ : this._parseCanonical(docs[0]);
65
+ }
66
+ _detectFormat(docs, label) {
67
+ const first = docs[0];
68
+ if (docs.length >= 1 && deepIdentifier(docs) !== undefined)
69
+ return 'managed';
70
+ if (first == null)
71
+ throw new YamlParseError(label, new Error('YAML document is empty'));
72
+ return 'canonical';
73
+ }
74
+ _parseCanonical(doc) {
75
+ const localizations = {};
76
+ for (const key of Object.keys(doc)) {
77
+ const val = doc[key];
78
+ if (!STRUCTURAL_KEYS.has(key) && typeof val === 'object' && val !== null) {
79
+ localizations[key] = val;
80
+ }
81
+ }
82
+ return new Concept({
83
+ id: String(doc.termid),
84
+ term: doc.term || null,
85
+ localizations,
86
+ figures: doc.figures,
87
+ tables: doc.tables,
88
+ formulas: doc.formulas,
89
+ relations: _resolveHyperedgeData(doc) ?? undefined,
90
+ raw: doc,
91
+ });
92
+ }
93
+ _parseManaged(docs) {
94
+ const mc = docs[0];
95
+ const localizations = {};
96
+ for (const doc of docs.slice(1)) {
97
+ const d = doc;
98
+ if (!d?.data?.language_code)
99
+ continue;
100
+ const lang = d.data.language_code;
101
+ const lcData = { ...d.data };
102
+ delete lcData.language_code;
103
+ localizations[lang] = lcData;
104
+ }
105
+ const conceptLevelOnlyKeys = [
106
+ 'related',
107
+ 'relations',
108
+ ...HyperedgeRegistry.allWireAndLegacyKeys(),
109
+ ];
110
+ assertConceptLevelOnly(mc, conceptLevelOnlyKeys);
111
+ return new Concept({
112
+ id: String(mc.data.identifier),
113
+ term: null,
114
+ localizations,
115
+ related: _normalizeRelated(mc.related),
116
+ relations: _resolveHyperedgeData(mc) ?? undefined,
117
+ domains: mc.data.domains,
118
+ groups: mc.data.groups,
119
+ dates: mc.dates ?? mc.data?.dates,
120
+ sources: mc.sources ?? mc.data?.sources,
121
+ figures: mc.data?.figures,
122
+ tables: mc.data?.tables,
123
+ formulas: mc.data?.formulas,
124
+ status: mc.status,
125
+ schemaVersion: mc.schema_version,
126
+ raw: mc,
127
+ });
128
+ }
129
+ }
130
+ function assertConceptLevelOnly(mc, keys) {
131
+ const conceptId = mc?.data?.identifier ?? '<unknown>';
132
+ for (const key of keys) {
133
+ const camelKey = _camelCase(key);
134
+ if (mc?.data?.[key] != null && mc[key] == null && mc[camelKey] == null) {
135
+ throw new InvalidInputError(`'${key}' must live at concept level (top-level of the managed ` +
136
+ `concept document), not under data:. Found data.${key} in concept ` +
137
+ `${conceptId}. Move the key out of the data: block.`, 'concept-level ' + key);
138
+ }
139
+ }
140
+ }
141
+ // Resolve hyperedge data from any input shape into a single unified
142
+ // array. Iterates HyperedgeRegistry — for each registered class:
143
+ // - read its wireKey from the container (e.g. partitive_relations)
144
+ // - read any v1WireKeys (e.g. partitive_hyperedges) and migrate
145
+ // - tag each entry with the class's typeTag
146
+ //
147
+ // Returns null when no relation data is present, so Concept's
148
+ // `_resolveHyperedges` falls back to the empty-array default.
149
+ //
150
+ // Adding a new hyperedge type means: declare it on a class, register.
151
+ // The parser picks it up automatically — no edits here.
152
+ function _resolveHyperedgeData(container) {
153
+ if (!container)
154
+ return null;
155
+ if (Array.isArray(container.relations)) {
156
+ return container.relations;
157
+ }
158
+ const out = [];
159
+ for (const cls of HyperedgeRegistry.allClasses()) {
160
+ const arr = container[cls.wireKey] ?? container[_camelCase(cls.wireKey)];
161
+ if (Array.isArray(arr)) {
162
+ for (const r of arr) {
163
+ const tagged = _addTypeIfMissing(r, cls.typeTag);
164
+ if (tagged != null)
165
+ out.push(tagged);
166
+ }
167
+ }
168
+ for (const v1Key of cls.v1WireKeys ?? []) {
169
+ const v1Arr = container[v1Key] ?? container[_camelCase(v1Key)];
170
+ if (!Array.isArray(v1Arr))
171
+ continue;
172
+ for (const h of v1Arr) {
173
+ const hash = h?.toJSON && typeof h.toJSON === 'function' ? h.toJSON() : h;
174
+ const migrated = migrateHyperedgeToRelation(hash);
175
+ if (migrated)
176
+ out.push({ ...migrated, type: cls.typeTag });
177
+ }
178
+ }
179
+ }
180
+ return out.length > 0 ? out : null;
181
+ }
182
+ function _addTypeIfMissing(value, type) {
183
+ if (value == null)
184
+ return null;
185
+ const v = value;
186
+ if (typeof v.toJSON === 'function') {
187
+ const hash = v.toJSON();
188
+ return hash.type ? hash : { ...hash, type };
189
+ }
190
+ if (typeof value === 'object') {
191
+ return v.type ? value : { ...value, type };
192
+ }
193
+ return value;
194
+ }
195
+ function _normalizeRelated(arr) {
196
+ if (!arr || !Array.isArray(arr))
197
+ return [];
198
+ return arr.map(r => {
199
+ if (r instanceof RelatedConcept)
200
+ return r;
201
+ const rr = r;
202
+ if (rr.ref != null && typeof rr.ref !== 'object') {
203
+ throw new InvalidInputError(`RelatedConcept.ref must be an object { source, id }, got: ${typeof rr.ref}`, 'object');
204
+ }
205
+ return new RelatedConcept(r);
206
+ });
207
+ }
208
+ export const conceptParser = new ConceptParser();
209
+ //# sourceMappingURL=concept-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concept-parser.js","sourceRoot":"","sources":["../src/concept-parser.ts"],"names":[],"mappings":"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"}