glossarist 0.4.50 → 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 -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/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 -172
  571. package/src/concept-parser.ts +0 -235
  572. package/src/concept-reader.d.ts +0 -13
  573. package/src/concept-serializer.ts +0 -110
  574. package/src/concept-writer.d.ts +0 -7
  575. package/src/concept-writer.ts +0 -47
  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 -245
  579. package/src/diff/concept-diff.ts +0 -853
  580. package/src/diff/diff-patch.ts +0 -276
  581. package/src/diff/diff-renderer.ts +0 -348
  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 -512
  593. package/src/gcr-writer.d.ts +0 -22
  594. package/src/gcr-writer.ts +0 -99
  595. package/src/index.d.ts +0 -124
  596. package/src/managed-concept-collection.ts +0 -130
  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 -137
  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 -46
  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 -202
  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 -190
  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 -179
  677. package/src/reference-mention.ts +0 -114
  678. package/src/reference-resolver.ts +0 -361
  679. package/src/render-classification.ts +0 -85
  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 -66
  685. package/src/validators/asset-index.ts +0 -72
  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 -76
  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 -382
  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
@@ -1,43 +0,0 @@
1
- const ENTITY_DIRECTORIES = Object.freeze(new Map([
2
- ['figure', 'figures'],
3
- ['table', 'tables'],
4
- ['formula', 'formulas'],
5
- ]));
6
-
7
- const ENTITY_TYPES = Object.freeze([...ENTITY_DIRECTORIES.keys()]);
8
-
9
- function entityDir(type) {
10
- const dir = ENTITY_DIRECTORIES.get(type);
11
- if (!dir) throw new RangeError(`Unknown entity type: ${type}`);
12
- return dir;
13
- }
14
-
15
- function entityPath(type, id) {
16
- return `${entityDir(type)}/${id}.yaml`;
17
- }
18
-
19
- function isKnownEntityType(type) {
20
- return ENTITY_DIRECTORIES.has(type);
21
- }
22
-
23
- function parseEntityPath(zipPath) {
24
- for (const [type, dir] of ENTITY_DIRECTORIES) {
25
- const prefix = `${dir}/`;
26
- if (!zipPath.startsWith(prefix)) continue;
27
- const filename = zipPath.slice(prefix.length);
28
- if (!filename.endsWith('.yaml')) continue;
29
- const id = filename.slice(0, -'.yaml'.length);
30
- if (!id) continue;
31
- return { type, id };
32
- }
33
- return null;
34
- }
35
-
36
- export {
37
- ENTITY_DIRECTORIES,
38
- ENTITY_TYPES,
39
- entityDir,
40
- entityPath,
41
- isKnownEntityType,
42
- parseEntityPath,
43
- };
package/src/errors.d.ts DELETED
@@ -1,11 +0,0 @@
1
- export class GlossaristError extends Error {
2
- constructor(message: string, options?: { cause?: Error });
3
- }
4
-
5
- export class InvalidInputError extends GlossaristError {
6
- constructor(what: string, expected?: string);
7
- }
8
-
9
- export class YamlParseError extends GlossaristError {
10
- constructor(context: string, cause: Error);
11
- }
package/src/errors.ts DELETED
@@ -1,24 +0,0 @@
1
- /** Base error for all glossarist errors. */
2
- export class GlossaristError extends Error {
3
- constructor(message: string, options?: { cause?: Error }) {
4
- super(message, options);
5
- this.name = 'GlossaristError';
6
- }
7
- }
8
-
9
- /** Thrown when a function receives invalid input (null, undefined, wrong type). */
10
- export class InvalidInputError extends GlossaristError {
11
- constructor(what: string, expected?: string) {
12
- const msg = expected ? `${what} (expected ${expected})` : what;
13
- super(msg);
14
- this.name = 'InvalidInputError';
15
- }
16
- }
17
-
18
- /** Thrown when YAML content cannot be parsed. */
19
- export class YamlParseError extends GlossaristError {
20
- constructor(context: string, cause: Error) {
21
- super(`Failed to parse YAML for ${context}: ${cause.message}`, { cause });
22
- this.name = 'YamlParseError';
23
- }
24
- }
@@ -1,65 +0,0 @@
1
- import { Concept, GcrMetadata } from './models/index';
2
-
3
- /**
4
- * Load a GCR package from a ZIP archive.
5
- * Accepts Buffer, ArrayBuffer, Uint8Array, Blob, or base64 string.
6
- */
7
- export function loadGcr(input: Buffer | ArrayBuffer | Uint8Array | Blob | string): Promise<GcrPackage>;
8
-
9
- /** A loaded GCR package (ZIP archive of glossarist concept data). */
10
- export class GcrPackage {
11
- /** Read and parse metadata.yaml as a GcrMetadata instance. */
12
- metadata(): Promise<GcrMetadata | null>;
13
- /** Read and parse optional register.yaml. */
14
- register(): Promise<Record<string, unknown> | null>;
15
- /** List all concept IDs, naturally sorted. */
16
- conceptIds(): Promise<string[]>;
17
- /** Read and normalize a single concept by ID. */
18
- concept(id: string): Promise<Concept | null>;
19
- /** Iterate all concepts via callback. */
20
- eachConcept(callback: (concept: Concept, index: number) => void | Promise<void>): Promise<void>;
21
- /** Load all concepts into an array. */
22
- allConcepts(): Promise<Concept[]>;
23
-
24
- // Compiled / machine formats (TBX, JSON-LD, Turtle, JSONL)
25
-
26
- /** List compiled format directories present in this package. */
27
- compiledFormats(): Promise<string[]>;
28
- /** List entry IDs for a given compiled format. */
29
- compiledFormatIds(format: string): Promise<string[]>;
30
- /** Check whether a compiled format is present. */
31
- hasCompiledFormat(format: string): Promise<boolean>;
32
- /** Read a single compiled-format file as a string. */
33
- compiledFile(format: string, id: string): Promise<string | null>;
34
- /** Read a single compiled-format file as a Uint8Array. */
35
- compiledFileBuffer(format: string, id: string): Promise<Uint8Array | null>;
36
- /** Iterate all entries for a compiled format. */
37
- eachCompiledFile(format: string, callback: (id: string, content: string) => void | Promise<void>): Promise<void>;
38
- /** Load all entries for a compiled format into a Map. */
39
- allCompiledFiles(format: string): Promise<Map<string, string>>;
40
-
41
- // Dataset assets (bibliography, images)
42
-
43
- /** List all dataset asset entries found in this package. */
44
- datasetAssetEntries(): Promise<Array<{ path: string; type: 'file' | 'directory'; asset: { path: string; type: string } }>>;
45
- /** Read a file-type dataset asset by its registered path. */
46
- readDatasetFileAsset(assetPath: string): Promise<string | null>;
47
- /** Read bibliography.yaml from the package as raw YAML string. */
48
- bibliography(): Promise<string | null>;
49
- /** Check whether the images/ directory is present and non-empty. */
50
- hasImages(): Promise<boolean>;
51
- /** List all image file paths (relative to ZIP root). */
52
- imageFileNames(): Promise<string[]>;
53
- /** Read a single image file as Uint8Array. */
54
- imageFile(path: string): Promise<Uint8Array | null>;
55
- /** Iterate all image files. */
56
- eachImageFile(callback: (path: string, content: Uint8Array) => void | Promise<void>): Promise<void>;
57
- /** Load all image files into a Map (path → Uint8Array). */
58
- allImageFiles(): Promise<Map<string, Uint8Array>>;
59
- }
60
-
61
- /** Parse raw concept YAML (canonical or managed format) into a Concept. */
62
- export function parseConceptYaml(raw: string, context?: string): Concept;
63
-
64
- /** Natural sort comparator for concept IDs like "3.1.1.1", "551-12-39". */
65
- export function naturalSort(a: string, b: string): number;
package/src/gcr-reader.ts DELETED
@@ -1,512 +0,0 @@
1
- import JSZip from 'jszip';
2
- import * as yaml from 'js-yaml';
3
- import { conceptParser } from './concept-parser.js';
4
- import { InvalidInputError } from './errors.js';
5
- import { COMPILED_FORMATS, parseCompiledPath, compiledPath } from './compiled-format.js';
6
- import { DATASET_ASSETS, findFileAsset, findDirectoryAssetPath } from './dataset-asset.js';
7
- import { GcrMetadata } from './models/gcr-metadata.js';
8
- import { naturalSort } from './sort.js';
9
- import { NonVerbalEntity } from './models/non-verbal-entity.js';
10
- import { BibliographyData } from './models/bibliography-data.js';
11
- import { entityDir, entityPath, ENTITY_TYPES, parseEntityPath } from './entity-directory.js';
12
-
13
- export { naturalSort } from './sort.js';
14
-
15
- const BASE64_RE = /^[A-Za-z0-9+/]{100,}={0,2}$/;
16
-
17
- /**
18
- * @typedef {Object} Term
19
- * @property {string} type - e.g. 'expression', 'symbol', 'abbreviation'
20
- * @property {string} designation - the term text
21
- * @property {string} [normative_status] - e.g. 'preferred', 'admitted'
22
- */
23
-
24
- /**
25
- * @typedef {Object} Definition
26
- * @property {string} content - the definition text
27
- */
28
-
29
- /**
30
- * @typedef {Object} Source
31
- * @property {string} type - e.g. 'authoritative', 'adapted'
32
- * @property {{ ref: { source: string, id?: string, version?: string } }} [origin] - reference to the source standard
33
- */
34
-
35
- /**
36
- * @typedef {Object} Localization
37
- * @property {Term[]} terms - term designations
38
- * @property {Definition[]} [definition] - definition content
39
- * @property {{ content: string }[]} [notes] - editorial notes
40
- * @property {Array<{ content: string, examples?: object[], sources?: object[] }>} [examples] - usage examples (may themselves nest examples)
41
- * @property {Source[]} [sources] - bibliographic sources
42
- * @property {string} [entry_status] - e.g. 'valid', 'draft'
43
- * @property {string} [normative_status] - e.g. 'preferred', 'admitted'
44
- */
45
-
46
- /**
47
- * @typedef {Object} Concept
48
- * @property {string} termid - concept identifier (e.g. '3.1.1.1', '551-12-39')
49
- * @property {string|null} term - primary term (canonical format only)
50
- * @property {Record<string, Localization>} localizations - keyed by ISO 639-3 language code
51
- * @property {Record<string, unknown>} raw - original parsed YAML
52
- */
53
-
54
- /**
55
- * Load a GCR package from a ZIP archive.
56
- *
57
- * Accepts a Buffer/ArrayBuffer/Uint8Array (Node or browser), a Blob (browser),
58
- * or a base64-encoded string.
59
- *
60
- * @param {Buffer | ArrayBuffer | Uint8Array | Blob | string} input
61
- * @returns {Promise<GcrPackage>}
62
- * @throws {InvalidInputError} if input is null or undefined
63
- *
64
- * @example
65
- * import { loadGcr } from 'glossarist';
66
- * import fs from 'fs';
67
- * const pkg = await loadGcr(fs.readFileSync('dataset.gcr'));
68
- * const meta = await pkg.metadata();
69
- */
70
- export async function loadGcr(input) {
71
- if (input == null) {
72
- throw new InvalidInputError('loadGcr requires a Buffer, ArrayBuffer, Uint8Array, Blob, or base64 string', 'non-null input');
73
- }
74
- const opts = typeof input === 'string' && BASE64_RE.test(input) ? { base64: true } : undefined;
75
- const zip = await JSZip.loadAsync(input, opts);
76
- return new GcrPackage(zip);
77
- }
78
-
79
- /**
80
- * Represents a loaded GCR package (ZIP archive of glossarist concept data).
81
- */
82
- export class GcrPackage {
83
- /** @param {JSZip} zip */
84
- constructor(zip) {
85
- // @ts-expect-error TODO(Phase 2e): type this fully
86
- this._zip = zip;
87
- }
88
-
89
- /**
90
- * Read and parse metadata.yaml from the package as a GcrMetadata instance.
91
- * @returns {Promise<GcrMetadata | null>}
92
- */
93
- async metadata() {
94
- const raw = await this._readText('metadata.yaml');
95
- return raw ? GcrMetadata.fromYaml(raw) : null;
96
- }
97
-
98
- /**
99
- * Read and parse optional register.yaml from the package.
100
- * @returns {Promise<Record<string, unknown> | null>}
101
- */
102
- async register() {
103
- const raw = await this._readText('register.yaml');
104
- return raw ? yaml.load(raw) : null;
105
- }
106
-
107
- /**
108
- * List all concept IDs (filenames without .yaml), naturally sorted.
109
- * @returns {Promise<string[]>}
110
- */
111
- async conceptIds() {
112
- const ids = [];
113
- // @ts-expect-error TODO(Phase 2e): type this fully
114
- this._zip.forEach((relativePath, entry) => {
115
- if (!entry.dir && relativePath.startsWith('concepts/') && relativePath.endsWith('.yaml')) {
116
- // @ts-expect-error TODO(Phase 2e): type this fully
117
- ids.push(relativePath.slice('concepts/'.length, -'.yaml'.length));
118
- }
119
- });
120
- return ids.sort(naturalSort);
121
- }
122
-
123
- /**
124
- * Read and normalize a single concept by ID.
125
- * @param {string} id - concept identifier
126
- * @returns {Promise<Concept | null>}
127
- */
128
- async concept(id) {
129
- const raw = await this._readText(`concepts/${id}.yaml`);
130
- if (raw === null) return null;
131
- return conceptParser.parse(raw, id);
132
- }
133
-
134
- /**
135
- * Iterate all concepts. Use for large packages to avoid loading everything at once.
136
- * @param {(concept: Concept, index: number) => void | Promise<void>} callback
137
- * @returns {Promise<void>}
138
- */
139
- async eachConcept(callback) {
140
- const ids = await this.conceptIds();
141
- for (let i = 0; i < ids.length; i++) {
142
- const concept = await this.concept(ids[i]);
143
- if (concept) await callback(concept, i);
144
- }
145
- }
146
-
147
- /**
148
- * Load all concepts into an array. Beware memory for large packages.
149
- * @returns {Promise<Concept[]>}
150
- */
151
- async allConcepts() {
152
- const ids = await this.conceptIds();
153
- const concepts = [];
154
- for (const id of ids) {
155
- const c = await this.concept(id);
156
- // @ts-expect-error TODO(Phase 2e): type this fully
157
- if (c) concepts.push(c);
158
- }
159
- return concepts;
160
- }
161
-
162
- // --- Compiled / machine formats (TBX, JSON-LD, Turtle, JSONL) ---
163
-
164
- /**
165
- * List compiled format directories present in this package.
166
- * @returns {Promise<string[]>}
167
- */
168
- async compiledFormats() {
169
- const seen = new Set();
170
- // @ts-expect-error TODO(Phase 2e): type this fully
171
- this._zip.forEach((relativePath, entry) => {
172
- if (!entry.dir) {
173
- const parsed = parseCompiledPath(relativePath);
174
- if (parsed) seen.add(parsed.format);
175
- }
176
- });
177
- return COMPILED_FORMATS.filter((f) => seen.has(f));
178
- }
179
-
180
- /**
181
- * List entry IDs for a given compiled format.
182
- * @param {string} format - e.g. 'tbx', 'jsonld', 'turtle', 'jsonl'
183
- * @returns {Promise<string[]>}
184
- */
185
- async compiledFormatIds(format) {
186
- const prefix = `compiled/${format}/`;
187
- const ids = [];
188
- // @ts-expect-error TODO(Phase 2e): type this fully
189
- this._zip.forEach((relativePath, entry) => {
190
- if (!entry.dir && relativePath.startsWith(prefix)) {
191
- const parsed = parseCompiledPath(relativePath);
192
- // @ts-expect-error TODO(Phase 2e): type this fully
193
- if (parsed && parsed.format === format) ids.push(parsed.id);
194
- }
195
- });
196
- return ids.sort(naturalSort);
197
- }
198
-
199
- /**
200
- * Check whether a compiled format is present.
201
- * @param {string} format
202
- * @returns {Promise<boolean>}
203
- */
204
- async hasCompiledFormat(format) {
205
- const prefix = `compiled/${format}/`;
206
- let found = false;
207
- // @ts-expect-error TODO(Phase 2e): type this fully
208
- this._zip.forEach((relativePath, entry) => {
209
- if (!found && !entry.dir && relativePath.startsWith(prefix)) {
210
- found = true;
211
- }
212
- });
213
- return found;
214
- }
215
-
216
- /**
217
- * Read a single compiled-format file as a string.
218
- * @param {string} format - e.g. 'jsonld'
219
- * @param {string} id - concept ID or document name (e.g. '3.1.1.1', 'glossary')
220
- * @returns {Promise<string | null>} null if the file doesn't exist
221
- */
222
- async compiledFile(format, id) {
223
- return this._readText(compiledPath(format, id));
224
- }
225
-
226
- /**
227
- * Read a single compiled-format file as a Uint8Array (for binary content).
228
- * @param {string} format
229
- * @param {string} id
230
- * @returns {Promise<Uint8Array | null>}
231
- */
232
- async compiledFileBuffer(format, id) {
233
- // @ts-expect-error TODO(Phase 2e): type this fully
234
- const entry = this._zip.file(compiledPath(format, id));
235
- if (!entry) return null;
236
- return entry.async('uint8array');
237
- }
238
-
239
- /**
240
- * Iterate all entries for a compiled format.
241
- * @param {string} format
242
- * @param {(id: string, content: string) => void | Promise<void>} callback
243
- * @returns {Promise<void>}
244
- */
245
- async eachCompiledFile(format, callback) {
246
- const ids = await this.compiledFormatIds(format);
247
- for (const id of ids) {
248
- const content = await this.compiledFile(format, id);
249
- if (content !== null) await callback(id, content);
250
- }
251
- }
252
-
253
- /**
254
- * Load all entries for a compiled format into a Map (id → content).
255
- * @param {string} format
256
- * @returns {Promise<Map<string, string>>}
257
- */
258
- async allCompiledFiles(format) {
259
- const map = new Map();
260
- await this.eachCompiledFile(format, (id, content) => { map.set(id, content); });
261
- return map;
262
- }
263
-
264
- // --- Dataset assets (bibliography, images, etc.) ---
265
-
266
- /**
267
- * List all dataset asset entries found in this package.
268
- * Each entry has { path, type, asset } where asset is the registry descriptor.
269
- * @returns {Promise<Array<{ path: string, type: 'file' | 'directory', asset: { path: string, type: string } }>>}
270
- */
271
- async datasetAssetEntries() {
272
- const entries = [];
273
- // @ts-expect-error TODO(Phase 2e): type this fully
274
- this._zip.forEach((relativePath, zipEntry) => {
275
- if (zipEntry.dir) return;
276
- const fileAsset = findFileAsset(relativePath);
277
- if (fileAsset) {
278
- // @ts-expect-error TODO(Phase 2e): type this fully
279
- entries.push({ path: relativePath, type: 'file', asset: fileAsset });
280
- return;
281
- }
282
- const dirAsset = findDirectoryAssetPath(relativePath);
283
- if (dirAsset) {
284
- // @ts-expect-error TODO(Phase 2e): type this fully
285
- entries.push({ path: relativePath, type: 'directory', asset: dirAsset });
286
- }
287
- });
288
- return entries;
289
- }
290
-
291
- /**
292
- * Read a file-type dataset asset by its registered path (e.g. 'bibliography.yaml').
293
- * @param {string} assetPath - registered file asset path
294
- * @returns {Promise<string | null>}
295
- */
296
- async readDatasetFileAsset(assetPath) {
297
- return this._readText(assetPath);
298
- }
299
-
300
- /**
301
- * Read and parse bibliography.yaml from the package as a BibliographyData instance.
302
- * @returns {Promise<BibliographyData | null>}
303
- */
304
- async bibliography() {
305
- const raw = await this._readText('bibliography.yaml');
306
- if (raw === null) return null;
307
- return BibliographyData.fromYAML(raw);
308
- }
309
-
310
- /**
311
- * Check whether the images/ directory is present and non-empty.
312
- * Uses the dataset-asset registry to find the images directory.
313
- * @returns {Promise<boolean>}
314
- */
315
- async hasImages() {
316
- const asset = DATASET_ASSETS.find((a) => a.type === 'directory' && a.path === 'images');
317
- if (!asset) return false;
318
- const prefix = `${asset.path}/`;
319
- let found = false;
320
- // @ts-expect-error TODO(Phase 2e): type this fully
321
- this._zip.forEach((relativePath, entry) => {
322
- if (!found && !entry.dir && relativePath.startsWith(prefix)) {
323
- found = true;
324
- }
325
- });
326
- return found;
327
- }
328
-
329
- /**
330
- * List all image file paths (relative to ZIP root).
331
- * Uses the dataset-asset registry to find the images directory.
332
- * @returns {Promise<string[]>}
333
- */
334
- async imageFileNames() {
335
- const asset = DATASET_ASSETS.find((a) => a.type === 'directory' && a.path === 'images');
336
- if (!asset) return [];
337
- const prefix = `${asset.path}/`;
338
- const names = [];
339
- // @ts-expect-error TODO(Phase 2e): type this fully
340
- this._zip.forEach((relativePath, entry) => {
341
- if (!entry.dir && relativePath.startsWith(prefix)) {
342
- // @ts-expect-error TODO(Phase 2e): type this fully
343
- names.push(relativePath);
344
- }
345
- });
346
- return names.sort();
347
- }
348
-
349
- /**
350
- * Read a single image file as a Uint8Array.
351
- * @param {string} path - relative path starting with 'images/' or just the filename
352
- * @returns {Promise<Uint8Array | null>}
353
- */
354
- async imageFile(path) {
355
- const asset = DATASET_ASSETS.find((a) => a.type === 'directory' && a.path === 'images');
356
- if (!asset) return null;
357
- const fullPath = path.startsWith(`${asset.path}/`) ? path : `${asset.path}/${path}`;
358
- // @ts-expect-error TODO(Phase 2e): type this fully
359
- const entry = this._zip.file(fullPath);
360
- if (!entry) return null;
361
- return entry.async('uint8array');
362
- }
363
-
364
- /**
365
- * Iterate all image files.
366
- * @param {(path: string, content: Uint8Array) => void | Promise<void>} callback
367
- * @returns {Promise<void>}
368
- */
369
- async eachImageFile(callback) {
370
- const names = await this.imageFileNames();
371
- for (const name of names) {
372
- // @ts-expect-error TODO(Phase 2e): type this fully
373
- const entry = this._zip.file(name);
374
- if (entry) {
375
- const content = await entry.async('uint8array');
376
- await callback(name, content);
377
- }
378
- }
379
- }
380
-
381
- /**
382
- * Load all image files into a Map (path → Uint8Array).
383
- * @returns {Promise<Map<string, Uint8Array>>}
384
- */
385
- async allImageFiles() {
386
- const map = new Map();
387
- await this.eachImageFile((path, content) => { map.set(path, content); });
388
- return map;
389
- }
390
-
391
- /**
392
- * Read a text file from the package.
393
- * @param {string} filePath
394
- * @returns {Promise<string | null>} null if the file doesn't exist
395
- */
396
- async readText(filePath) {
397
- // @ts-expect-error TODO(Phase 2e): type this fully
398
- const entry = this._zip.file(filePath);
399
- if (!entry) return null;
400
- return entry.async('text');
401
- }
402
-
403
- /**
404
- * List all entry paths in the package.
405
- * @returns {Array<{ path: string, dir: boolean }>}
406
- */
407
- entryPaths() {
408
- const entries = [];
409
- // @ts-expect-error TODO(Phase 2e): type this fully
410
- this._zip.forEach((relativePath, entry) => {
411
- // @ts-expect-error TODO(Phase 2e): type this fully
412
- entries.push({ path: relativePath, dir: !!entry.dir });
413
- });
414
- return entries;
415
- }
416
-
417
- /**
418
- * Check whether a specific entry exists in the package.
419
- * @param {string} filePath
420
- * @returns {boolean}
421
- */
422
- hasEntry(filePath) {
423
- // @ts-expect-error TODO(Phase 2e): type this fully
424
- return this._zip.file(filePath) != null;
425
- }
426
-
427
- /** @private @deprecated Use readText instead */
428
- async _readText(filePath) {
429
- return this.readText(filePath);
430
- }
431
-
432
- // --- Non-verbal entity directories (figures/, tables/, formulas/) ---
433
-
434
- async entityIds(type) {
435
- const prefix = `${entityDir(type)}/`;
436
- const ids = [];
437
- // @ts-expect-error TODO(Phase 2e): type this fully
438
- this._zip.forEach((relativePath, entry) => {
439
- if (!entry.dir && relativePath.startsWith(prefix) && relativePath.endsWith('.yaml')) {
440
- // @ts-expect-error TODO(Phase 2e): type this fully
441
- ids.push(relativePath.slice(prefix.length, -'.yaml'.length));
442
- }
443
- });
444
- return ids.sort(naturalSort);
445
- }
446
-
447
- async entity(type, id) {
448
- const raw = await this.readText(entityPath(type, id));
449
- if (raw === null) return null;
450
- const yamlData = yaml.load(raw);
451
- // @ts-expect-error TODO(Phase 2e): type this fully
452
- return NonVerbalEntity.fromData({ ...yamlData, type });
453
- }
454
-
455
- async eachEntity(type, callback) {
456
- for (const id of await this.entityIds(type)) {
457
- const entity = await this.entity(type, id);
458
- if (entity) await callback(entity, id);
459
- }
460
- }
461
-
462
- async allEntities(type) {
463
- const entities = [];
464
- // @ts-expect-error TODO(Phase 2e): type this fully
465
- await this.eachEntity(type, (e) => { entities.push(e); });
466
- return entities;
467
- }
468
-
469
- async entityTypes() {
470
- const seen = new Set();
471
- // @ts-expect-error TODO(Phase 2e): type this fully
472
- this._zip.forEach((relativePath, entry) => {
473
- if (!entry.dir) {
474
- const parsed = parseEntityPath(relativePath);
475
- if (parsed) seen.add(parsed.type);
476
- }
477
- });
478
- return ENTITY_TYPES.filter((t) => seen.has(t));
479
- }
480
- }
481
-
482
- // --- Concept YAML parsing ---
483
-
484
- /**
485
- * Parse concept YAML (canonical or managed format) into a normalized object.
486
- *
487
- * @param {string} raw - raw YAML string
488
- * @param {string} [context] - concept ID or filename for error messages
489
- * @returns {Concept}
490
- * @throws {InvalidInputError} if raw is null, undefined, or empty
491
- * @throws {YamlParseError} if the YAML content is malformed
492
- *
493
- * @example
494
- * const concept = parseConceptYaml('termid: "001"\neng:\n terms:\n - designation: test', '001');
495
- * console.log(concept.localization('eng').terms[0].designation); // "test"
496
- */
497
- export function parseConceptYaml(raw, context) {
498
- return conceptParser.parse(raw, context);
499
- }
500
-
501
- /**
502
- * @typedef {Object} GcrMetadata
503
- * @property {string} shortname - dataset short name
504
- * @property {string} [version] - dataset version
505
- * @property {string} [title] - dataset title
506
- * @property {number} [concept_count] - number of concepts
507
- * @property {string[]} [languages] - supported language codes
508
- * @property {string} [schema_version] - schema version
509
- * @property {string} [glossarist_version] - glossarist tool version
510
- * @property {string} [created_at] - ISO 8601 creation timestamp
511
- * @property {Record<string, unknown>} [statistics] - dataset statistics
512
- */
@@ -1,22 +0,0 @@
1
- import { Concept, GcrMetadata } from './models/index';
2
-
3
- /** Compiled formats map: format name → id → content string. */
4
- export type CompiledFormatsMap = Record<string, Record<string, string> | Map<string, string>>;
5
-
6
- /** Images map: relative path → binary content. */
7
- export type ImagesMap = Record<string, Uint8Array | string | ArrayBuffer> | Map<string, Uint8Array | string | ArrayBuffer>;
8
-
9
- export class GcrWriter {
10
- static createBuffer(options: {
11
- concepts: Concept[];
12
- metadata?: GcrMetadata | Record<string, unknown>;
13
- register?: Record<string, unknown>;
14
- uuidFn?: () => string;
15
- format?: 'canonical' | 'managed' | 'auto';
16
- compiledFormats?: CompiledFormatsMap;
17
- bibliography?: string;
18
- images?: ImagesMap;
19
- }): Promise<Uint8Array>;
20
- }
21
-
22
- export function createGcr(concepts: Concept[], metadata?: Record<string, unknown>): Promise<Uint8Array>;