glossarist 0.4.49 → 0.4.51

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 (700) 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 +21 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/{src/index.ts → dist/index.js} +6 -66
  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 -56
  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/uuid.d.ts +4 -0
  494. package/dist/uuid.d.ts.map +1 -0
  495. package/dist/uuid.js +23 -0
  496. package/dist/uuid.js.map +1 -0
  497. package/dist/v1-reader.d.ts +8 -0
  498. package/dist/v1-reader.d.ts.map +1 -0
  499. package/dist/v1-reader.js +56 -0
  500. package/dist/v1-reader.js.map +1 -0
  501. package/dist/validators/asset-index.d.ts +23 -0
  502. package/dist/validators/asset-index.d.ts.map +1 -0
  503. package/dist/validators/asset-index.js +58 -0
  504. package/dist/validators/asset-index.js.map +1 -0
  505. package/dist/validators/binary-has-part-redundancy-rule.d.ts +8 -0
  506. package/dist/validators/binary-has-part-redundancy-rule.d.ts.map +1 -0
  507. package/dist/validators/binary-has-part-redundancy-rule.js +57 -0
  508. package/dist/validators/binary-has-part-redundancy-rule.js.map +1 -0
  509. package/dist/validators/concept-validator.d.ts +21 -0
  510. package/dist/validators/concept-validator.d.ts.map +1 -0
  511. package/dist/validators/concept-validator.js +76 -0
  512. package/dist/validators/concept-validator.js.map +1 -0
  513. package/dist/validators/delimiting-coherence-rule.d.ts +8 -0
  514. package/dist/validators/delimiting-coherence-rule.d.ts.map +1 -0
  515. package/dist/validators/delimiting-coherence-rule.js +72 -0
  516. package/dist/validators/delimiting-coherence-rule.js.map +1 -0
  517. package/dist/validators/external-concept-shape-rule.d.ts +8 -0
  518. package/dist/validators/external-concept-shape-rule.d.ts.map +1 -0
  519. package/dist/validators/external-concept-shape-rule.js +48 -0
  520. package/dist/validators/external-concept-shape-rule.js.map +1 -0
  521. package/dist/validators/gcr-validator.d.ts +11 -0
  522. package/dist/validators/gcr-validator.d.ts.map +1 -0
  523. package/dist/validators/gcr-validator.js +76 -0
  524. package/dist/validators/gcr-validator.js.map +1 -0
  525. package/dist/validators/hyperedge-coherence-rule.d.ts +9 -0
  526. package/dist/validators/hyperedge-coherence-rule.d.ts.map +1 -0
  527. package/dist/validators/hyperedge-coherence-rule.js +78 -0
  528. package/dist/validators/hyperedge-coherence-rule.js.map +1 -0
  529. package/dist/validators/index.d.ts +21 -0
  530. package/dist/validators/index.d.ts.map +1 -0
  531. package/{src/validators/index.ts → dist/validators/index.js} +25 -51
  532. package/dist/validators/index.js.map +1 -0
  533. package/dist/validators/partitive-relation-coherence-rule.d.ts +2 -0
  534. package/dist/validators/partitive-relation-coherence-rule.d.ts.map +1 -0
  535. package/{src/validators/partitive-relation-coherence-rule.ts → dist/validators/partitive-relation-coherence-rule.js} +1 -1
  536. package/dist/validators/partitive-relation-coherence-rule.js.map +1 -0
  537. package/dist/validators/ref-keys.d.ts +8 -0
  538. package/dist/validators/ref-keys.d.ts.map +1 -0
  539. package/dist/validators/ref-keys.js +27 -0
  540. package/dist/validators/ref-keys.js.map +1 -0
  541. package/dist/validators/register-validator.d.ts +10 -0
  542. package/dist/validators/register-validator.d.ts.map +1 -0
  543. package/dist/validators/register-validator.js +18 -0
  544. package/dist/validators/register-validator.js.map +1 -0
  545. package/dist/validators/relationship-type-rule.d.ts +13 -0
  546. package/dist/validators/relationship-type-rule.d.ts.map +1 -0
  547. package/dist/validators/relationship-type-rule.js +34 -0
  548. package/dist/validators/relationship-type-rule.js.map +1 -0
  549. package/dist/validators/sourced-from-locality-rule.d.ts +8 -0
  550. package/dist/validators/sourced-from-locality-rule.d.ts.map +1 -0
  551. package/dist/validators/sourced-from-locality-rule.js +37 -0
  552. package/dist/validators/sourced-from-locality-rule.js.map +1 -0
  553. package/dist/validators/v3-rules.d.ts +60 -0
  554. package/dist/validators/v3-rules.d.ts.map +1 -0
  555. package/dist/validators/v3-rules.js +327 -0
  556. package/dist/validators/v3-rules.js.map +1 -0
  557. package/dist/validators/validation-error.d.ts +13 -0
  558. package/dist/validators/validation-error.d.ts.map +1 -0
  559. package/dist/validators/validation-error.js +17 -0
  560. package/dist/validators/validation-error.js.map +1 -0
  561. package/dist/validators/validation-result.d.ts +17 -0
  562. package/dist/validators/validation-result.d.ts.map +1 -0
  563. package/dist/validators/validation-result.js +47 -0
  564. package/dist/validators/validation-result.js.map +1 -0
  565. package/dist/validators/validation-rule.d.ts +10 -0
  566. package/dist/validators/validation-rule.d.ts.map +1 -0
  567. package/dist/validators/validation-rule.js +17 -0
  568. package/dist/validators/validation-rule.js.map +1 -0
  569. package/package.json +37 -42
  570. package/src/concept-collection.ts +0 -166
  571. package/src/concept-parser.ts +0 -229
  572. package/src/concept-reader.d.ts +0 -13
  573. package/src/concept-serializer.ts +0 -99
  574. package/src/concept-writer.d.ts +0 -7
  575. package/src/concept-writer.ts +0 -43
  576. package/src/diff/canonical-json.ts +0 -29
  577. package/src/diff/change.ts +0 -175
  578. package/src/diff/collection-diff.ts +0 -197
  579. package/src/diff/concept-diff.ts +0 -702
  580. package/src/diff/diff-patch.ts +0 -260
  581. package/src/diff/diff-renderer.ts +0 -293
  582. package/src/diff/identity.ts +0 -33
  583. package/src/diff/index.d.ts +0 -242
  584. package/src/diff/index.ts +0 -50
  585. package/src/diff/list-diff.ts +0 -231
  586. package/src/diff/similarity.ts +0 -20
  587. package/src/diff/text-diff.ts +0 -167
  588. package/src/entity-directory.ts +0 -43
  589. package/src/errors.d.ts +0 -11
  590. package/src/errors.ts +0 -24
  591. package/src/gcr-reader.d.ts +0 -65
  592. package/src/gcr-reader.ts +0 -487
  593. package/src/gcr-writer.d.ts +0 -22
  594. package/src/gcr-writer.ts +0 -97
  595. package/src/index.d.ts +0 -124
  596. package/src/managed-concept-collection.ts +0 -95
  597. package/src/migration/hyperedge-migrator.ts +0 -104
  598. package/src/models/abstract-hyperedge.ts +0 -164
  599. package/src/models/base.ts +0 -110
  600. package/src/models/bibliography-data.ts +0 -64
  601. package/src/models/bibliography-entry.ts +0 -40
  602. package/src/models/citation.ts +0 -98
  603. package/src/models/concept-date.ts +0 -48
  604. package/src/models/concept-ref.ts +0 -64
  605. package/src/models/concept-reference.ts +0 -50
  606. package/src/models/concept-source.ts +0 -96
  607. package/src/models/concept-system-type.ts +0 -39
  608. package/src/models/concept-system.ts +0 -152
  609. package/src/models/concept.ts +0 -499
  610. package/src/models/dataset-color.ts +0 -88
  611. package/src/models/designation-relationship.ts +0 -39
  612. package/src/models/designation.ts +0 -297
  613. package/src/models/detailed-definition.ts +0 -92
  614. package/src/models/enum.ts +0 -60
  615. package/src/models/equivalence-degree.ts +0 -34
  616. package/src/models/figure.ts +0 -110
  617. package/src/models/formula.ts +0 -36
  618. package/src/models/gcr-metadata.ts +0 -118
  619. package/src/models/gcr-statistics.ts +0 -76
  620. package/src/models/generic-hyperedge.ts +0 -72
  621. package/src/models/generic-member.ts +0 -80
  622. package/src/models/grammar-info.ts +0 -78
  623. package/src/models/hyperedge-colors.ts +0 -87
  624. package/src/models/hyperedge-index.ts +0 -101
  625. package/src/models/hyperedge-member.ts +0 -121
  626. package/src/models/hyperedge-registry.ts +0 -145
  627. package/src/models/index.d.ts +0 -586
  628. package/src/models/locality.ts +0 -34
  629. package/src/models/localized-concept.ts +0 -284
  630. package/src/models/localized-string.ts +0 -32
  631. package/src/models/multiplicity.ts +0 -134
  632. package/src/models/non-verb-rep.ts +0 -48
  633. package/src/models/non-verbal-entity.ts +0 -65
  634. package/src/models/non-verbal-reference.ts +0 -73
  635. package/src/models/non-verbal-references.ts +0 -29
  636. package/src/models/partitive-enumeration.ts +0 -27
  637. package/src/models/partitive-hyperedge.ts +0 -90
  638. package/src/models/partitive-member.ts +0 -56
  639. package/src/models/plurality-marker.ts +0 -31
  640. package/src/models/pronunciation.ts +0 -40
  641. package/src/models/register.ts +0 -315
  642. package/src/models/registrable.ts +0 -48
  643. package/src/models/related-concept.ts +0 -117
  644. package/src/models/relation-categories.ts +0 -167
  645. package/src/models/relation-colors.ts +0 -90
  646. package/src/models/relation-loader.ts +0 -115
  647. package/src/models/section.ts +0 -61
  648. package/src/models/sequential-hyperedge.ts +0 -70
  649. package/src/models/shared-non-verbal-entity.ts +0 -36
  650. package/src/models/table.ts +0 -36
  651. package/src/rdf/agents-emitter.ts +0 -134
  652. package/src/rdf/bibliography-emitter.ts +0 -126
  653. package/src/rdf/bnode-id.ts +0 -55
  654. package/src/rdf/build-activity-emitter.ts +0 -129
  655. package/src/rdf/curie.ts +0 -47
  656. package/src/rdf/dataset-emitter.ts +0 -170
  657. package/src/rdf/deterministic-id.ts +0 -69
  658. package/src/rdf/document-writer.ts +0 -87
  659. package/src/rdf/gloss-concept.ts +0 -115
  660. package/src/rdf/gloss-designation.ts +0 -72
  661. package/src/rdf/gloss-detailed-definition.ts +0 -69
  662. package/src/rdf/gloss-localized-concept.ts +0 -79
  663. package/src/rdf/gloss-non-verbal-rep.ts +0 -192
  664. package/src/rdf/gloss-partitive-relation.ts +0 -89
  665. package/src/rdf/gloss-source.ts +0 -56
  666. package/src/rdf/group-emitter.ts +0 -133
  667. package/src/rdf/image-variant-emitter.ts +0 -80
  668. package/src/rdf/index.d.ts +0 -371
  669. package/src/rdf/predicates.d.ts +0 -527
  670. package/src/rdf/predicates.ts +0 -287
  671. package/src/rdf/provenance-emitter.ts +0 -87
  672. package/src/rdf/sections-builder.ts +0 -178
  673. package/src/rdf/shacl-entry.d.ts +0 -6
  674. package/src/rdf/version-emitter.ts +0 -97
  675. package/src/rdf/vocabulary-emitter.ts +0 -67
  676. package/src/rdf/write-turtle-sync.ts +0 -167
  677. package/src/reference-mention.ts +0 -114
  678. package/src/reference-resolver.ts +0 -331
  679. package/src/render-classification.ts +0 -76
  680. package/src/sort.ts +0 -22
  681. package/src/transforms/concept-to-gloss.transform.ts +0 -81
  682. package/src/transforms/index.d.ts +0 -26
  683. package/src/uuid.ts +0 -32
  684. package/src/v1-reader.ts +0 -64
  685. package/src/validators/asset-index.ts +0 -67
  686. package/src/validators/binary-has-part-redundancy-rule.ts +0 -67
  687. package/src/validators/concept-validator.ts +0 -93
  688. package/src/validators/delimiting-coherence-rule.ts +0 -105
  689. package/src/validators/external-concept-shape-rule.ts +0 -60
  690. package/src/validators/gcr-validator.ts +0 -75
  691. package/src/validators/hyperedge-coherence-rule.ts +0 -98
  692. package/src/validators/index.d.ts +0 -43
  693. package/src/validators/ref-keys.ts +0 -31
  694. package/src/validators/register-validator.ts +0 -18
  695. package/src/validators/relationship-type-rule.ts +0 -39
  696. package/src/validators/sourced-from-locality-rule.ts +0 -53
  697. package/src/validators/v3-rules.ts +0 -378
  698. package/src/validators/validation-error.ts +0 -19
  699. package/src/validators/validation-result.ts +0 -52
  700. package/src/validators/validation-rule.ts +0 -21
@@ -0,0 +1,33 @@
1
+ import { GlossaristModel } from './base.js';
2
+ import { ConceptRef } from './concept-ref.js';
3
+ import type { ConceptRefJson } from './concept-ref.js';
4
+ import type { LocalizedString } from './generic-member.js';
5
+ export declare const RELATIONSHIP_TYPES: ReadonlyArray<string>;
6
+ export type RelationshipType = string;
7
+ export interface RelatedConceptJson {
8
+ type?: RelationshipType;
9
+ content?: LocalizedString | string | null;
10
+ ref?: ConceptRefJson | ConceptRef | null;
11
+ }
12
+ export declare class RelatedConcept extends GlossaristModel {
13
+ readonly type: RelationshipType;
14
+ readonly content: LocalizedString | null;
15
+ readonly ref: ConceptRef | null;
16
+ constructor(data?: RelatedConceptJson);
17
+ /**
18
+ * Convenience reader: returns the first available string value from
19
+ * the localized hash, or null if absent.
20
+ */
21
+ get contentString(): string | null;
22
+ toJSON(): RelatedConceptJson;
23
+ static identityOf(value: {
24
+ type?: string;
25
+ ref?: {
26
+ source?: string | null;
27
+ id?: string | null;
28
+ } | null;
29
+ } | null | undefined): string;
30
+ identity(): string;
31
+ static fromJSON(data: RelatedConceptJson): RelatedConcept;
32
+ }
33
+ //# sourceMappingURL=related-concept.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"related-concept.d.ts","sourceRoot":"","sources":["../../src/models/related-concept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAkCnD,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,GAAG,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,CAAC;CAC1C;AAED,qBAAa,cAAe,SAAQ,eAAe;IACjD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;gBAEpB,IAAI,GAAE,kBAAuB;IAWzC;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAIjC;IAEQ,MAAM,IAAI,kBAAkB;IAOrC,MAAM,CAAC,UAAU,CACf,KAAK,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;KAC7D,GAAG,IAAI,GAAG,SAAS,GACnB,MAAM;IAMA,QAAQ,IAAI,MAAM;WAIX,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc;CAGnE"}
@@ -0,0 +1,95 @@
1
+ import { GlossaristModel } from './base.js';
2
+ import { ConceptRef } from './concept-ref.js';
3
+ export const RELATIONSHIP_TYPES = Object.freeze([
4
+ // Lifecycle (ISO 10241-1)
5
+ 'deprecates', 'deprecated_by', 'supersedes', 'superseded_by',
6
+ 'replaces', 'replaced_by', 'invalidates', 'invalidated_by',
7
+ 'retires', 'retired_by',
8
+ // Hierarchical (SKOS)
9
+ 'broader', 'narrower',
10
+ // ISO 25964 generic
11
+ 'broader_generic', 'narrower_generic',
12
+ // ISO 25964 partitive
13
+ 'broader_partitive', 'narrower_partitive',
14
+ // ISO 25964 instantial
15
+ 'broader_instantial', 'narrower_instantial',
16
+ // ISO 19135 concept-to-concept
17
+ 'has_concept', 'is_concept_of', 'instance_of', 'has_instance',
18
+ 'has_definition', 'definition_of', 'has_part', 'is_part_of',
19
+ 'inherits', 'inherited_by',
20
+ // ISO 19135 versioning
21
+ 'has_version', 'version_of', 'current_version', 'current_version_of',
22
+ // SKOS mapping
23
+ 'equivalent', 'close_match', 'broad_match', 'narrow_match', 'related_match',
24
+ // Associative (ISO 10241-1 / ISO 25964)
25
+ 'see', 'related_concept', 'related_concept_broader', 'related_concept_narrower',
26
+ 'references',
27
+ // ExternalConcept resolution (Glossarist extension). Direction: real
28
+ // concept `provides` substance for an external concept; external concept
29
+ // `provided_by` real concept. Stored on the ExternalConcept.
30
+ 'provides', 'provided_by',
31
+ // Comparative (ISO 10241-1)
32
+ 'compare', 'contrast',
33
+ // Spatiotemporal (ISO 25964 / TBX)
34
+ 'sequentially_related_concept', 'spatially_related_concept', 'temporally_related_concept',
35
+ // Lexical (ISO 12620 / TBX)
36
+ 'homograph', 'false_friend',
37
+ ]);
38
+ export class RelatedConcept extends GlossaristModel {
39
+ type;
40
+ content;
41
+ ref;
42
+ constructor(data = {}) {
43
+ super();
44
+ this.type = data.type ?? 'see';
45
+ this.content = _normalizeContent(data.content);
46
+ this.ref = data.ref
47
+ ? data.ref instanceof ConceptRef
48
+ ? data.ref
49
+ : new ConceptRef(data.ref)
50
+ : null;
51
+ }
52
+ /**
53
+ * Convenience reader: returns the first available string value from
54
+ * the localized hash, or null if absent.
55
+ */
56
+ get contentString() {
57
+ if (!this.content)
58
+ return null;
59
+ const values = Object.values(this.content);
60
+ return values.length > 0 ? (values[0] ?? null) : null;
61
+ }
62
+ toJSON() {
63
+ const obj = { type: this.type };
64
+ if (this.content != null)
65
+ obj.content = this.content;
66
+ if (this.ref != null)
67
+ obj.ref = this.ref.toJSON();
68
+ return obj;
69
+ }
70
+ static identityOf(value) {
71
+ const v = value ?? {};
72
+ const ref = v.ref;
73
+ return `${v.type ?? ''}|${ref?.source ?? ''}|${ref?.id ?? ''}`;
74
+ }
75
+ identity() {
76
+ return RelatedConcept.identityOf(this);
77
+ }
78
+ static fromJSON(data) {
79
+ return new RelatedConcept(data);
80
+ }
81
+ }
82
+ function _normalizeContent(value) {
83
+ if (value == null)
84
+ return null;
85
+ if (typeof value === 'string')
86
+ return { default: value };
87
+ if (typeof value === 'object') {
88
+ const entries = Object.entries(value).filter(([, v]) => typeof v === 'string');
89
+ return entries.length > 0
90
+ ? Object.fromEntries(entries)
91
+ : null;
92
+ }
93
+ return null;
94
+ }
95
+ //# sourceMappingURL=related-concept.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"related-concept.js","sourceRoot":"","sources":["../../src/models/related-concept.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ export interface CategoryDefinition {
2
+ label: string;
3
+ description: string;
4
+ types: ReadonlyArray<string>;
5
+ }
6
+ type CategoryKey = 'lifecycle' | 'hierarchical' | 'associative' | 'comparative' | 'spatiotemporal' | 'lexical' | 'mapping' | 'definitional';
7
+ /**
8
+ * Each type in RELATIONSHIP_TYPES belongs to exactly one category. The
9
+ * categories mirror the concept-model taxonomy. Adding a new type
10
+ * means adding a taxonomy entry — no code changes here.
11
+ */
12
+ export declare const RELATION_CATEGORIES: Readonly<Record<CategoryKey, CategoryDefinition>>;
13
+ /**
14
+ * Returns the category key for the given relationship type, or null
15
+ * when the type is not categorized.
16
+ */
17
+ export declare function categoryOf(type: string): string | null;
18
+ /**
19
+ * Returns the category definition for the given category key.
20
+ * Accepts both canonical names (definitional) and aliases from
21
+ * earlier glossarist-js versions.
22
+ */
23
+ export declare function categoryDefinition(categoryKey: string): CategoryDefinition | null;
24
+ /**
25
+ * MECE sanity check. Returns the list of relationship types that are
26
+ * NOT categorized.
27
+ */
28
+ export declare function uncategorizedTypes(): string[];
29
+ /**
30
+ * MECE sanity check. Returns a list of { type, count } entries for any
31
+ * type that appears in MORE than one category.
32
+ */
33
+ export declare function duplicatedTypes(): ReadonlyArray<{
34
+ type: string;
35
+ count: number;
36
+ }>;
37
+ export { RELATION_CATEGORIES as RELATION_CATEGORIES_READONLY, type CategoryKey as RelationCategoryKey, };
38
+ //# sourceMappingURL=relation-categories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-categories.d.ts","sourceRoot":"","sources":["../../src/models/relation-categories.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC9B;AAED,KAAK,WAAW,GACZ,WAAW,GACX,cAAc,GACd,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,SAAS,GACT,SAAS,GACT,cAAc,CAAC;AAEnB;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CA+EhF,CAAC;AAeH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAGjF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAYhF;AAED,OAAO,EACL,mBAAmB,IAAI,4BAA4B,EACnD,KAAK,WAAW,IAAI,mBAAmB,GACxC,CAAC"}
@@ -0,0 +1,135 @@
1
+ // Categorization SSOT for the 52 glossarist relationship types.
2
+ import { RELATIONSHIP_TYPES } from './related-concept.js';
3
+ /**
4
+ * Each type in RELATIONSHIP_TYPES belongs to exactly one category. The
5
+ * categories mirror the concept-model taxonomy. Adding a new type
6
+ * means adding a taxonomy entry — no code changes here.
7
+ */
8
+ export const RELATION_CATEGORIES = Object.freeze({
9
+ lifecycle: Object.freeze({
10
+ label: 'Lifecycle',
11
+ description: 'Concept lifecycle transitions: supersession, deprecation, replacement.',
12
+ types: Object.freeze([
13
+ 'deprecates', 'deprecated_by',
14
+ 'supersedes', 'superseded_by',
15
+ 'replaces', 'replaced_by',
16
+ 'invalidates', 'invalidated_by',
17
+ 'retires', 'retired_by',
18
+ ]),
19
+ }),
20
+ hierarchical: Object.freeze({
21
+ label: 'Hierarchical',
22
+ description: 'Broader/narrower relations, including SKOS and ISO 25964 generic/partitive/instantial.',
23
+ types: Object.freeze([
24
+ 'broader', 'narrower',
25
+ 'broader_generic', 'narrower_generic',
26
+ 'broader_partitive', 'narrower_partitive',
27
+ 'broader_instantial', 'narrower_instantial',
28
+ ]),
29
+ }),
30
+ associative: Object.freeze({
31
+ label: 'Associative',
32
+ description: 'Generic see-also references between concepts.',
33
+ types: Object.freeze([
34
+ 'see', 'related_concept',
35
+ 'related_concept_broader', 'related_concept_narrower',
36
+ 'references',
37
+ ]),
38
+ }),
39
+ comparative: Object.freeze({
40
+ label: 'Comparative',
41
+ description: 'Compare / contrast relations between concepts.',
42
+ types: Object.freeze(['compare', 'contrast']),
43
+ }),
44
+ spatiotemporal: Object.freeze({
45
+ label: 'Spatiotemporal',
46
+ description: 'Sequential, spatial, and temporal relations.',
47
+ types: Object.freeze([
48
+ 'sequentially_related_concept',
49
+ 'spatially_related_concept',
50
+ 'temporally_related_concept',
51
+ ]),
52
+ }),
53
+ lexical: Object.freeze({
54
+ label: 'Lexical',
55
+ description: 'Lexical relations between designations across languages.',
56
+ types: Object.freeze(['homograph', 'false_friend']),
57
+ }),
58
+ mapping: Object.freeze({
59
+ label: 'Mapping',
60
+ description: 'SKOS mapping properties for cross-vocabulary alignment.',
61
+ types: Object.freeze([
62
+ 'equivalent', 'close_match',
63
+ 'broad_match', 'narrow_match', 'related_match',
64
+ ]),
65
+ }),
66
+ definitional: Object.freeze({
67
+ label: 'Definitional',
68
+ description: 'ISO 19135 concept-to-concept relations: definition, part, instance, inheritance, versioning.',
69
+ types: Object.freeze([
70
+ 'has_concept', 'is_concept_of',
71
+ 'instance_of', 'has_instance',
72
+ 'has_definition', 'definition_of',
73
+ 'has_part', 'is_part_of',
74
+ 'inherits', 'inherited_by',
75
+ 'has_version', 'version_of',
76
+ 'current_version', 'current_version_of',
77
+ 'provides', 'provided_by',
78
+ ]),
79
+ }),
80
+ });
81
+ const _CATEGORY_BY_TYPE = (() => {
82
+ const map = new Map();
83
+ for (const [cat, def] of Object.entries(RELATION_CATEGORIES)) {
84
+ for (const t of def.types)
85
+ map.set(t, cat);
86
+ }
87
+ return map;
88
+ })();
89
+ const _CATEGORY_ALIASES = {
90
+ conceptInstance: 'definitional',
91
+ versioning: 'definitional',
92
+ };
93
+ /**
94
+ * Returns the category key for the given relationship type, or null
95
+ * when the type is not categorized.
96
+ */
97
+ export function categoryOf(type) {
98
+ return _CATEGORY_BY_TYPE.get(type) ?? null;
99
+ }
100
+ /**
101
+ * Returns the category definition for the given category key.
102
+ * Accepts both canonical names (definitional) and aliases from
103
+ * earlier glossarist-js versions.
104
+ */
105
+ export function categoryDefinition(categoryKey) {
106
+ const canonical = _CATEGORY_ALIASES[categoryKey] ?? categoryKey;
107
+ return RELATION_CATEGORIES[canonical] ?? null;
108
+ }
109
+ /**
110
+ * MECE sanity check. Returns the list of relationship types that are
111
+ * NOT categorized.
112
+ */
113
+ export function uncategorizedTypes() {
114
+ return RELATIONSHIP_TYPES.filter((t) => !_CATEGORY_BY_TYPE.has(t));
115
+ }
116
+ /**
117
+ * MECE sanity check. Returns a list of { type, count } entries for any
118
+ * type that appears in MORE than one category.
119
+ */
120
+ export function duplicatedTypes() {
121
+ const counts = new Map();
122
+ for (const def of Object.values(RELATION_CATEGORIES)) {
123
+ for (const t of def.types) {
124
+ counts.set(t, (counts.get(t) ?? 0) + 1);
125
+ }
126
+ }
127
+ const out = [];
128
+ for (const [type, count] of counts) {
129
+ if (count > 1)
130
+ out.push({ type, count });
131
+ }
132
+ return out;
133
+ }
134
+ export { RELATION_CATEGORIES as RELATION_CATEGORIES_READONLY, };
135
+ //# sourceMappingURL=relation-categories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-categories.js","sourceRoot":"","sources":["../../src/models/relation-categories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export interface ColorPair {
2
+ light: string;
3
+ dark: string;
4
+ }
5
+ export interface RelationColorPalette {
6
+ byCategory: Readonly<Record<string, ColorPair>>;
7
+ byType: Readonly<Record<string, ColorPair>>;
8
+ }
9
+ export interface ResolveRelationColorOptions {
10
+ overrides?: Partial<RelationColorPalette>;
11
+ mode?: 'light' | 'dark';
12
+ }
13
+ /**
14
+ * One { light, dark } pair per category. Keeping these in glossarist-js
15
+ * lets the defaults ship with the library; consumers only need to
16
+ * customize when they want to deviate.
17
+ */
18
+ export declare const RELATION_COLOR_DEFAULTS: RelationColorPalette;
19
+ /**
20
+ * Resolves the color for a relationship type. Resolution order:
21
+ * 1. overrides.byType[type]
22
+ * 2. RELATION_COLOR_DEFAULTS.byType[type]
23
+ * 3. overrides.byCategory[category]
24
+ * 4. RELATION_COLOR_DEFAULTS.byCategory[category]
25
+ * 5. null (uncategorized or unrecognized type)
26
+ */
27
+ export declare function resolveRelationColor(type: string, options?: ResolveRelationColorOptions): string | null;
28
+ /**
29
+ * Returns the { light, dark } pair for a category, merging overrides
30
+ * over defaults. Useful for UIs that want to render a legend.
31
+ */
32
+ export declare function categoryColorPair(categoryKey: string, overrides?: {
33
+ byCategory?: Record<string, Partial<ColorPair>>;
34
+ }): ColorPair | null;
35
+ //# sourceMappingURL=relation-colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-colors.d.ts","sourceRoot":"","sources":["../../src/models/relation-colors.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,oBAYpC,CAAC;AAEH;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,2BAAgC,GACxC,MAAM,GAAG,IAAI,CAcf;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;CAAO,GAClE,SAAS,GAAG,IAAI,CAOlB"}
@@ -0,0 +1,68 @@
1
+ // Default color palette for relation categories and individual types.
2
+ //
3
+ // The defaults mirror concept-browser/data/colors.json. Per-deployment
4
+ // overrides pass through resolveRelationColor(type, { overrides, mode })
5
+ // and take precedence over category defaults.
6
+ import { categoryOf, categoryDefinition } from './relation-categories.js';
7
+ /**
8
+ * One { light, dark } pair per category. Keeping these in glossarist-js
9
+ * lets the defaults ship with the library; consumers only need to
10
+ * customize when they want to deviate.
11
+ */
12
+ export const RELATION_COLOR_DEFAULTS = Object.freeze({
13
+ byCategory: Object.freeze({
14
+ lifecycle: { light: '#B43A2E', dark: '#F87171' },
15
+ hierarchical: { light: '#1F6FEB', dark: '#6EA8FE' },
16
+ associative: { light: '#6B7280', dark: '#9CA3AF' },
17
+ comparative: { light: '#A855F7', dark: '#C4B5FD' },
18
+ spatiotemporal: { light: '#0D9488', dark: '#5EEAD4' },
19
+ lexical: { light: '#D97706', dark: '#FBBF24' },
20
+ mapping: { light: '#2563EB', dark: '#93BBFD' },
21
+ definitional: { light: '#65A30D', dark: '#A3E635' },
22
+ }),
23
+ byType: Object.freeze({}),
24
+ });
25
+ /**
26
+ * Resolves the color for a relationship type. Resolution order:
27
+ * 1. overrides.byType[type]
28
+ * 2. RELATION_COLOR_DEFAULTS.byType[type]
29
+ * 3. overrides.byCategory[category]
30
+ * 4. RELATION_COLOR_DEFAULTS.byCategory[category]
31
+ * 5. null (uncategorized or unrecognized type)
32
+ */
33
+ export function resolveRelationColor(type, options = {}) {
34
+ const mode = options.mode ?? 'light';
35
+ const overrides = options.overrides ?? {};
36
+ const typeOverride = overrides.byType?.[type] ?? RELATION_COLOR_DEFAULTS.byType[type];
37
+ if (typeOverride)
38
+ return pickMode(typeOverride, mode);
39
+ const category = categoryOf(type);
40
+ if (!category)
41
+ return null;
42
+ const categoryOverride = overrides.byCategory?.[category] ?? RELATION_COLOR_DEFAULTS.byCategory[category];
43
+ if (!categoryOverride)
44
+ return null;
45
+ return pickMode(categoryOverride, mode);
46
+ }
47
+ /**
48
+ * Returns the { light, dark } pair for a category, merging overrides
49
+ * over defaults. Useful for UIs that want to render a legend.
50
+ */
51
+ export function categoryColorPair(categoryKey, overrides = {}) {
52
+ const def = categoryDefinition(categoryKey);
53
+ if (!def)
54
+ return null;
55
+ const fromOverride = overrides.byCategory?.[categoryKey];
56
+ const fromDefault = RELATION_COLOR_DEFAULTS.byCategory[categoryKey];
57
+ if (!fromDefault && !fromOverride)
58
+ return null;
59
+ return { ...(fromDefault ?? { light: '', dark: '' }), ...(fromOverride ?? {}) };
60
+ }
61
+ function pickMode(pair, mode) {
62
+ if (pair == null)
63
+ return null;
64
+ if (typeof pair === 'string')
65
+ return pair;
66
+ return pair[mode] ?? pair.light ?? pair.dark ?? null;
67
+ }
68
+ //# sourceMappingURL=relation-colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-colors.js","sourceRoot":"","sources":["../../src/models/relation-colors.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,8CAA8C;AAE9C,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAiB1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAyB,MAAM,CAAC,MAAM,CAAC;IACzE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;QACxB,SAAS,EAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACrD,YAAY,EAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACrD,WAAW,EAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACrD,WAAW,EAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACrD,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACrD,OAAO,EAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACrD,OAAO,EAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACrD,YAAY,EAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;KACtD,CAAwC;IACzC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAwC;CACjE,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,UAAuC,EAAE;IAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtF,IAAI,YAAY;QAAE,OAAO,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAEtD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,gBAAgB,GACpB,SAAS,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnF,IAAI,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAEnC,OAAO,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAmB,EACnB,YAAiE,EAAE;IAEnE,MAAM,GAAG,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,uBAAuB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAe,CAAC;AAC/F,CAAC;AAED,SAAS,QAAQ,CAAC,IAA+B,EAAE,IAAsB;IACvE,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;AACvD,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { AbstractHyperedge } from './abstract-hyperedge.js';
2
+ /**
3
+ * Backward-compat: snapshot of registered classes keyed by typeTag.
4
+ * Prefer HyperedgeRegistry.forTypeTag() for new code — this snapshot
5
+ * is frozen at module load and won't pick up runtime registrations
6
+ * from tests (the OCP test in Phase 11 registers a mock type after
7
+ * import).
8
+ */
9
+ export declare const TYPE_TO_CLASS: object;
10
+ /**
11
+ * Thrown by `loadAll` when a relation file has an unknown `type`,
12
+ * malformed structure, or a class that fails to instantiate.
13
+ */
14
+ export declare class RelationLoadError extends Error {
15
+ readonly path: string;
16
+ constructor(path: string, message: string);
17
+ }
18
+ /**
19
+ * Walk a `relations/` directory and load every relation file,
20
+ * returning a Map keyed by comprehensive-id.
21
+ *
22
+ * Returns an empty Map if `relationsDir` doesn't exist or is empty.
23
+ */
24
+ export declare function loadAll(relationsDir: string | null | undefined): Map<string, AbstractHyperedge[]>;
25
+ /**
26
+ * Namespace bundle for the loader — callers import it as
27
+ * `import { RelationLoader } from './relation-loader.js'` and call
28
+ * `RelationLoader.loadAll(dir)`. The individual functions are also
29
+ * exported directly for tree-shakeable single-call sites.
30
+ */
31
+ export declare const RelationLoader: Readonly<{
32
+ loadAll: typeof loadAll;
33
+ loadOne: typeof loadOne;
34
+ }>;
35
+ /**
36
+ * Load a single relation file. Returns null if the file is missing,
37
+ * unreadable, or doesn't have a recognized `type` field. Throws
38
+ * `RelationLoadError` on malformed content.
39
+ */
40
+ export declare function loadOne(path: string): AbstractHyperedge | null;
41
+ //# sourceMappingURL=relation-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-loader.d.ts","sourceRoot":"","sources":["../../src/models/relation-loader.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAWjE;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,QAazB,CAAC;AAEF;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAqBlC;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;EAAsC,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAa9D"}
@@ -0,0 +1,101 @@
1
+ // HyperedgeLoader — runtime loader for per-file hyperedge YAMLs.
2
+ //
3
+ // Walks a `relations/<comprehensive-id>/<slug>.yaml` directory and
4
+ // dispatches each file to the appropriate class (PartitiveHyperedge,
5
+ // GenericHyperedge, future leaves) based on its `type` field, via
6
+ // HyperedgeRegistry.
7
+ import { readdirSync, readFileSync, existsSync } from 'node:fs';
8
+ import * as yaml from 'js-yaml';
9
+ import { HyperedgeRegistry } from './hyperedge-registry.js';
10
+ /**
11
+ * Backward-compat: snapshot of registered classes keyed by typeTag.
12
+ * Prefer HyperedgeRegistry.forTypeTag() for new code — this snapshot
13
+ * is frozen at module load and won't pick up runtime registrations
14
+ * from tests (the OCP test in Phase 11 registers a mock type after
15
+ * import).
16
+ */
17
+ export const TYPE_TO_CLASS = new Proxy({}, {
18
+ get(_target, prop) {
19
+ return typeof prop === 'string' ? HyperedgeRegistry.forTypeTag(prop) : null;
20
+ },
21
+ ownKeys() {
22
+ return HyperedgeRegistry.allTypeTags();
23
+ },
24
+ getOwnPropertyDescriptor() {
25
+ return { enumerable: true, configurable: true };
26
+ },
27
+ });
28
+ /**
29
+ * Thrown by `loadAll` when a relation file has an unknown `type`,
30
+ * malformed structure, or a class that fails to instantiate.
31
+ */
32
+ export class RelationLoadError extends Error {
33
+ path;
34
+ constructor(path, message) {
35
+ super(`relation-loader: ${path}: ${message}`);
36
+ this.path = path;
37
+ }
38
+ }
39
+ /**
40
+ * Walk a `relations/` directory and load every relation file,
41
+ * returning a Map keyed by comprehensive-id.
42
+ *
43
+ * Returns an empty Map if `relationsDir` doesn't exist or is empty.
44
+ */
45
+ export function loadAll(relationsDir) {
46
+ const result = new Map();
47
+ if (!relationsDir)
48
+ return result;
49
+ if (!existsSync(relationsDir))
50
+ return result;
51
+ const entries = readdirSync(relationsDir, { withFileTypes: true });
52
+ for (const compEntry of entries) {
53
+ if (!compEntry.isDirectory())
54
+ continue;
55
+ const compId = compEntry.name;
56
+ const compDir = `${relationsDir}/${compId}`;
57
+ if (!result.has(compId))
58
+ result.set(compId, []);
59
+ const files = readdirSync(compDir)
60
+ .filter((f) => f.endsWith('.yaml') || f.endsWith('.yml'))
61
+ .sort();
62
+ for (const file of files) {
63
+ const path = `${compDir}/${file}`;
64
+ const rel = loadOne(path);
65
+ if (rel)
66
+ result.get(compId)?.push(rel);
67
+ }
68
+ }
69
+ return result;
70
+ }
71
+ /**
72
+ * Namespace bundle for the loader — callers import it as
73
+ * `import { RelationLoader } from './relation-loader.js'` and call
74
+ * `RelationLoader.loadAll(dir)`. The individual functions are also
75
+ * exported directly for tree-shakeable single-call sites.
76
+ */
77
+ export const RelationLoader = Object.freeze({ loadAll, loadOne });
78
+ /**
79
+ * Load a single relation file. Returns null if the file is missing,
80
+ * unreadable, or doesn't have a recognized `type` field. Throws
81
+ * `RelationLoadError` on malformed content.
82
+ */
83
+ export function loadOne(path) {
84
+ let doc;
85
+ try {
86
+ doc = yaml.load(readFileSync(path, 'utf8'));
87
+ }
88
+ catch (e) {
89
+ throw new RelationLoadError(path, `YAML parse failed: ${e.message}`);
90
+ }
91
+ if (!doc || typeof doc !== 'object')
92
+ return null;
93
+ const d = doc;
94
+ if (!d.type)
95
+ return null;
96
+ const Cls = HyperedgeRegistry.forTypeTag(d.type);
97
+ if (!Cls)
98
+ return null;
99
+ return Cls.fromJSON(d);
100
+ }
101
+ //# sourceMappingURL=relation-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-loader.js","sourceRoot":"","sources":["../../src/models/relation-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { GlossaristModel } from './base.js';
2
+ import type { LocalizedString } from './generic-member.js';
3
+ export declare const ORDERING_METHODS: ReadonlyArray<string>;
4
+ export type OrderingMethod = string;
5
+ export interface SectionJson {
6
+ id?: string | null;
7
+ names?: LocalizedString;
8
+ ordering?: OrderingMethod | null;
9
+ children?: ReadonlyArray<SectionJson | Section>;
10
+ }
11
+ export declare class Section extends GlossaristModel {
12
+ readonly id: string | null;
13
+ readonly names: LocalizedString;
14
+ readonly ordering: OrderingMethod | null;
15
+ readonly children: ReadonlyArray<Section>;
16
+ constructor(data?: SectionJson);
17
+ name(lang: string): string | null;
18
+ descendantById(id: string): Section | null;
19
+ toJSON(): SectionJson;
20
+ static fromJSON(data: SectionJson): Section;
21
+ }
22
+ //# sourceMappingURL=section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../src/models/section.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAIjD,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC;CACjD;AAED,qBAAa,OAAQ,SAAQ,eAAe;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;gBAE9B,IAAI,GAAE,WAAgB;IAUlC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIjC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IASjC,MAAM,IAAI,WAAW;WAUd,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;CAGrD"}