glossarist 0.4.50 → 0.4.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (709) hide show
  1. package/dist/compiled-format.d.ts +43 -0
  2. package/dist/compiled-format.d.ts.map +1 -0
  3. package/{src/compiled-format.ts → dist/compiled-format.js} +28 -46
  4. package/dist/compiled-format.js.map +1 -0
  5. package/dist/concept-collection.d.ts +39 -0
  6. package/dist/concept-collection.d.ts.map +1 -0
  7. package/dist/concept-collection.js +127 -0
  8. package/dist/concept-collection.js.map +1 -0
  9. package/dist/concept-diff.d.ts +14 -0
  10. package/dist/concept-diff.d.ts.map +1 -0
  11. package/{src/concept-diff.ts → dist/concept-diff.js} +2 -20
  12. package/dist/concept-diff.js.map +1 -0
  13. package/dist/concept-parser.d.ts +11 -0
  14. package/dist/concept-parser.d.ts.map +1 -0
  15. package/dist/concept-parser.js +209 -0
  16. package/dist/concept-parser.js.map +1 -0
  17. package/dist/concept-reader.d.ts +55 -0
  18. package/dist/concept-reader.d.ts.map +1 -0
  19. package/{src/concept-reader.ts → dist/concept-reader.js} +70 -76
  20. package/dist/concept-reader.js.map +1 -0
  21. package/dist/concept-serializer.d.ts +9 -0
  22. package/dist/concept-serializer.d.ts.map +1 -0
  23. package/dist/concept-serializer.js +87 -0
  24. package/dist/concept-serializer.js.map +1 -0
  25. package/dist/concept-writer.d.ts +10 -0
  26. package/dist/concept-writer.d.ts.map +1 -0
  27. package/dist/concept-writer.js +28 -0
  28. package/dist/concept-writer.js.map +1 -0
  29. package/dist/dataset-asset.d.ts +49 -0
  30. package/dist/dataset-asset.d.ts.map +1 -0
  31. package/{src/dataset-asset.ts → dist/dataset-asset.js} +16 -33
  32. package/dist/dataset-asset.js.map +1 -0
  33. package/dist/diff/canonical-json.d.ts +7 -0
  34. package/dist/diff/canonical-json.d.ts.map +1 -0
  35. package/dist/diff/canonical-json.js +28 -0
  36. package/dist/diff/canonical-json.js.map +1 -0
  37. package/dist/diff/change.d.ts +67 -0
  38. package/dist/diff/change.d.ts.map +1 -0
  39. package/dist/diff/change.js +131 -0
  40. package/dist/diff/change.js.map +1 -0
  41. package/dist/diff/collection-diff.d.ts +50 -0
  42. package/dist/diff/collection-diff.d.ts.map +1 -0
  43. package/dist/diff/collection-diff.js +182 -0
  44. package/dist/diff/collection-diff.js.map +1 -0
  45. package/dist/diff/concept-diff.d.ts +188 -0
  46. package/dist/diff/concept-diff.d.ts.map +1 -0
  47. package/dist/diff/concept-diff.js +624 -0
  48. package/dist/diff/concept-diff.js.map +1 -0
  49. package/dist/diff/diff-patch.d.ts +7 -0
  50. package/dist/diff/diff-patch.d.ts.map +1 -0
  51. package/dist/diff/diff-patch.js +225 -0
  52. package/dist/diff/diff-patch.js.map +1 -0
  53. package/dist/diff/diff-renderer.d.ts +44 -0
  54. package/dist/diff/diff-renderer.d.ts.map +1 -0
  55. package/dist/diff/diff-renderer.js +263 -0
  56. package/dist/diff/diff-renderer.js.map +1 -0
  57. package/dist/diff/identity.d.ts +2 -0
  58. package/dist/diff/identity.d.ts.map +1 -0
  59. package/dist/diff/identity.js +29 -0
  60. package/dist/diff/identity.js.map +1 -0
  61. package/dist/diff/index.d.ts +8 -0
  62. package/dist/diff/index.d.ts.map +1 -0
  63. package/dist/diff/index.js +8 -0
  64. package/dist/diff/index.js.map +1 -0
  65. package/dist/diff/list-diff.d.ts +36 -0
  66. package/dist/diff/list-diff.d.ts.map +1 -0
  67. package/dist/diff/list-diff.js +185 -0
  68. package/dist/diff/list-diff.js.map +1 -0
  69. package/dist/diff/similarity.d.ts +4 -0
  70. package/dist/diff/similarity.d.ts.map +1 -0
  71. package/dist/diff/similarity.js +20 -0
  72. package/dist/diff/similarity.js.map +1 -0
  73. package/dist/diff/text-diff.d.ts +42 -0
  74. package/dist/diff/text-diff.d.ts.map +1 -0
  75. package/dist/diff/text-diff.js +134 -0
  76. package/dist/diff/text-diff.js.map +1 -0
  77. package/dist/entity-directory.d.ts +13 -0
  78. package/dist/entity-directory.d.ts.map +1 -0
  79. package/dist/entity-directory.js +35 -0
  80. package/dist/entity-directory.js.map +1 -0
  81. package/dist/errors.d.ts +15 -0
  82. package/dist/errors.d.ts.map +1 -0
  83. package/dist/errors.js +23 -0
  84. package/dist/errors.js.map +1 -0
  85. package/dist/gcr-reader.d.ts +57 -0
  86. package/dist/gcr-reader.d.ts.map +1 -0
  87. package/dist/gcr-reader.js +264 -0
  88. package/dist/gcr-reader.js.map +1 -0
  89. package/dist/gcr-writer.d.ts +23 -0
  90. package/dist/gcr-writer.d.ts.map +1 -0
  91. package/dist/gcr-writer.js +84 -0
  92. package/dist/gcr-writer.js.map +1 -0
  93. package/dist/index.d.ts +25 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +38 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/managed-concept-collection.d.ts +31 -0
  98. package/dist/managed-concept-collection.d.ts.map +1 -0
  99. package/dist/managed-concept-collection.js +87 -0
  100. package/dist/managed-concept-collection.js.map +1 -0
  101. package/dist/migration/hyperedge-migrator.d.ts +33 -0
  102. package/dist/migration/hyperedge-migrator.d.ts.map +1 -0
  103. package/dist/migration/hyperedge-migrator.js +70 -0
  104. package/dist/migration/hyperedge-migrator.js.map +1 -0
  105. package/dist/models/abstract-hyperedge.d.ts +35 -0
  106. package/dist/models/abstract-hyperedge.d.ts.map +1 -0
  107. package/dist/models/abstract-hyperedge.js +112 -0
  108. package/dist/models/abstract-hyperedge.js.map +1 -0
  109. package/dist/models/base.d.ts +58 -0
  110. package/dist/models/base.d.ts.map +1 -0
  111. package/dist/models/base.js +77 -0
  112. package/dist/models/base.js.map +1 -0
  113. package/dist/models/bibliography-data.d.ts +20 -0
  114. package/dist/models/bibliography-data.d.ts.map +1 -0
  115. package/dist/models/bibliography-data.js +43 -0
  116. package/dist/models/bibliography-data.js.map +1 -0
  117. package/dist/models/bibliography-entry.d.ts +19 -0
  118. package/dist/models/bibliography-entry.d.ts.map +1 -0
  119. package/dist/models/bibliography-entry.js +34 -0
  120. package/dist/models/bibliography-entry.js.map +1 -0
  121. package/dist/models/citation.d.ts +40 -0
  122. package/dist/models/citation.d.ts.map +1 -0
  123. package/dist/models/citation.js +82 -0
  124. package/dist/models/citation.js.map +1 -0
  125. package/dist/models/completeness.d.ts +9 -0
  126. package/dist/models/completeness.d.ts.map +1 -0
  127. package/{src/models/completeness.ts → dist/models/completeness.js} +4 -9
  128. package/dist/models/completeness.js.map +1 -0
  129. package/dist/models/concept-date.d.ts +20 -0
  130. package/dist/models/concept-date.d.ts.map +1 -0
  131. package/dist/models/concept-date.js +36 -0
  132. package/dist/models/concept-date.js.map +1 -0
  133. package/dist/models/concept-ref.d.ts +32 -0
  134. package/dist/models/concept-ref.d.ts.map +1 -0
  135. package/dist/models/concept-ref.js +53 -0
  136. package/dist/models/concept-ref.js.map +1 -0
  137. package/dist/models/concept-reference.d.ts +22 -0
  138. package/dist/models/concept-reference.d.ts.map +1 -0
  139. package/dist/models/concept-reference.js +39 -0
  140. package/dist/models/concept-reference.js.map +1 -0
  141. package/dist/models/concept-source.d.ts +53 -0
  142. package/dist/models/concept-source.d.ts.map +1 -0
  143. package/dist/models/concept-source.js +66 -0
  144. package/dist/models/concept-source.js.map +1 -0
  145. package/dist/models/concept-system-type.d.ts +6 -0
  146. package/dist/models/concept-system-type.d.ts.map +1 -0
  147. package/dist/models/concept-system-type.js +22 -0
  148. package/dist/models/concept-system-type.js.map +1 -0
  149. package/dist/models/concept-system.d.ts +44 -0
  150. package/dist/models/concept-system.d.ts.map +1 -0
  151. package/dist/models/concept-system.js +115 -0
  152. package/dist/models/concept-system.js.map +1 -0
  153. package/dist/models/concept-type.d.ts +7 -0
  154. package/dist/models/concept-type.d.ts.map +1 -0
  155. package/{src/models/concept-type.ts → dist/models/concept-type.js} +8 -19
  156. package/dist/models/concept-type.js.map +1 -0
  157. package/dist/models/concept.d.ts +94 -0
  158. package/dist/models/concept.d.ts.map +1 -0
  159. package/dist/models/concept.js +368 -0
  160. package/dist/models/concept.js.map +1 -0
  161. package/dist/models/dataset-color.d.ts +28 -0
  162. package/dist/models/dataset-color.d.ts.map +1 -0
  163. package/dist/models/dataset-color.js +74 -0
  164. package/dist/models/dataset-color.js.map +1 -0
  165. package/dist/models/definition-type.d.ts +9 -0
  166. package/dist/models/definition-type.d.ts.map +1 -0
  167. package/{src/models/definition-type.ts → dist/models/definition-type.js} +6 -15
  168. package/dist/models/definition-type.js.map +1 -0
  169. package/dist/models/designation-relationship.d.ts +17 -0
  170. package/dist/models/designation-relationship.d.ts.map +1 -0
  171. package/dist/models/designation-relationship.js +30 -0
  172. package/dist/models/designation-relationship.js.map +1 -0
  173. package/dist/models/designation.d.ts +110 -0
  174. package/dist/models/designation.d.ts.map +1 -0
  175. package/dist/models/designation.js +224 -0
  176. package/dist/models/designation.js.map +1 -0
  177. package/dist/models/detailed-definition.d.ts +34 -0
  178. package/dist/models/detailed-definition.d.ts.map +1 -0
  179. package/dist/models/detailed-definition.js +63 -0
  180. package/dist/models/detailed-definition.js.map +1 -0
  181. package/dist/models/enum.d.ts +21 -0
  182. package/dist/models/enum.d.ts.map +1 -0
  183. package/dist/models/enum.js +39 -0
  184. package/dist/models/enum.js.map +1 -0
  185. package/dist/models/equivalence-degree.d.ts +7 -0
  186. package/dist/models/equivalence-degree.d.ts.map +1 -0
  187. package/dist/models/equivalence-degree.js +20 -0
  188. package/dist/models/equivalence-degree.js.map +1 -0
  189. package/dist/models/figure.d.ts +40 -0
  190. package/dist/models/figure.d.ts.map +1 -0
  191. package/dist/models/figure.js +82 -0
  192. package/dist/models/figure.js.map +1 -0
  193. package/dist/models/formula.d.ts +15 -0
  194. package/dist/models/formula.d.ts.map +1 -0
  195. package/dist/models/formula.js +27 -0
  196. package/dist/models/formula.js.map +1 -0
  197. package/dist/models/gcr-metadata.d.ts +62 -0
  198. package/dist/models/gcr-metadata.d.ts.map +1 -0
  199. package/dist/models/gcr-metadata.js +102 -0
  200. package/dist/models/gcr-metadata.js.map +1 -0
  201. package/dist/models/gcr-statistics.d.ts +30 -0
  202. package/dist/models/gcr-statistics.d.ts.map +1 -0
  203. package/dist/models/gcr-statistics.js +53 -0
  204. package/dist/models/gcr-statistics.js.map +1 -0
  205. package/dist/models/generic-hyperedge.d.ts +32 -0
  206. package/dist/models/generic-hyperedge.d.ts.map +1 -0
  207. package/dist/models/generic-hyperedge.js +51 -0
  208. package/dist/models/generic-hyperedge.js.map +1 -0
  209. package/dist/models/generic-member.d.ts +14 -0
  210. package/dist/models/generic-member.d.ts.map +1 -0
  211. package/dist/models/generic-member.js +51 -0
  212. package/dist/models/generic-member.js.map +1 -0
  213. package/dist/models/grammar-info.d.ts +34 -0
  214. package/dist/models/grammar-info.d.ts.map +1 -0
  215. package/dist/models/grammar-info.js +59 -0
  216. package/dist/models/grammar-info.js.map +1 -0
  217. package/dist/models/hyperedge-colors.d.ts +19 -0
  218. package/dist/models/hyperedge-colors.d.ts.map +1 -0
  219. package/dist/models/hyperedge-colors.js +61 -0
  220. package/dist/models/hyperedge-colors.js.map +1 -0
  221. package/dist/models/hyperedge-index.d.ts +34 -0
  222. package/dist/models/hyperedge-index.d.ts.map +1 -0
  223. package/dist/models/hyperedge-index.js +85 -0
  224. package/dist/models/hyperedge-index.js.map +1 -0
  225. package/dist/models/hyperedge-member.d.ts +28 -0
  226. package/dist/models/hyperedge-member.d.ts.map +1 -0
  227. package/dist/models/hyperedge-member.js +92 -0
  228. package/dist/models/hyperedge-member.js.map +1 -0
  229. package/dist/models/hyperedge-registry.d.ts +47 -0
  230. package/dist/models/hyperedge-registry.d.ts.map +1 -0
  231. package/dist/models/hyperedge-registry.js +118 -0
  232. package/dist/models/hyperedge-registry.js.map +1 -0
  233. package/dist/models/index.d.ts +53 -0
  234. package/dist/models/index.d.ts.map +1 -0
  235. package/{src/models/index.ts → dist/models/index.js} +11 -63
  236. package/dist/models/index.js.map +1 -0
  237. package/dist/models/locality.d.ts +17 -0
  238. package/dist/models/locality.d.ts.map +1 -0
  239. package/dist/models/locality.js +26 -0
  240. package/dist/models/locality.js.map +1 -0
  241. package/dist/models/localized-concept.d.ts +102 -0
  242. package/dist/models/localized-concept.d.ts.map +1 -0
  243. package/dist/models/localized-concept.js +195 -0
  244. package/dist/models/localized-concept.js.map +1 -0
  245. package/dist/models/localized-string.d.ts +5 -0
  246. package/dist/models/localized-string.d.ts.map +1 -0
  247. package/dist/models/localized-string.js +20 -0
  248. package/dist/models/localized-string.js.map +1 -0
  249. package/dist/models/multiplicity.d.ts +42 -0
  250. package/dist/models/multiplicity.d.ts.map +1 -0
  251. package/dist/models/multiplicity.js +84 -0
  252. package/dist/models/multiplicity.js.map +1 -0
  253. package/dist/models/non-verb-rep.d.ts +20 -0
  254. package/dist/models/non-verb-rep.d.ts.map +1 -0
  255. package/dist/models/non-verb-rep.js +32 -0
  256. package/dist/models/non-verb-rep.js.map +1 -0
  257. package/dist/models/non-verbal-entity.d.ts +30 -0
  258. package/dist/models/non-verbal-entity.d.ts.map +1 -0
  259. package/dist/models/non-verbal-entity.js +48 -0
  260. package/dist/models/non-verbal-entity.js.map +1 -0
  261. package/dist/models/non-verbal-reference.d.ts +23 -0
  262. package/dist/models/non-verbal-reference.d.ts.map +1 -0
  263. package/dist/models/non-verbal-reference.js +44 -0
  264. package/dist/models/non-verbal-reference.js.map +1 -0
  265. package/dist/models/non-verbal-references.d.ts +12 -0
  266. package/dist/models/non-verbal-references.d.ts.map +1 -0
  267. package/dist/models/non-verbal-references.js +20 -0
  268. package/dist/models/non-verbal-references.js.map +1 -0
  269. package/dist/models/partitive-count.d.ts +10 -0
  270. package/dist/models/partitive-count.d.ts.map +1 -0
  271. package/{src/models/partitive-count.ts → dist/models/partitive-count.js} +5 -9
  272. package/dist/models/partitive-count.js.map +1 -0
  273. package/dist/models/partitive-enumeration.d.ts +5 -0
  274. package/dist/models/partitive-enumeration.d.ts.map +1 -0
  275. package/dist/models/partitive-enumeration.js +16 -0
  276. package/dist/models/partitive-enumeration.js.map +1 -0
  277. package/dist/models/partitive-hyperedge.d.ts +43 -0
  278. package/dist/models/partitive-hyperedge.d.ts.map +1 -0
  279. package/dist/models/partitive-hyperedge.js +63 -0
  280. package/dist/models/partitive-hyperedge.js.map +1 -0
  281. package/dist/models/partitive-member.d.ts +14 -0
  282. package/dist/models/partitive-member.d.ts.map +1 -0
  283. package/dist/models/partitive-member.js +44 -0
  284. package/dist/models/partitive-member.js.map +1 -0
  285. package/dist/models/partitive-presence.d.ts +9 -0
  286. package/dist/models/partitive-presence.d.ts.map +1 -0
  287. package/{src/models/partitive-presence.ts → dist/models/partitive-presence.js} +4 -8
  288. package/dist/models/partitive-presence.js.map +1 -0
  289. package/dist/models/plurality-marker.d.ts +5 -0
  290. package/dist/models/plurality-marker.d.ts.map +1 -0
  291. package/dist/models/plurality-marker.js +20 -0
  292. package/dist/models/plurality-marker.js.map +1 -0
  293. package/dist/models/pronunciation.d.ts +19 -0
  294. package/dist/models/pronunciation.d.ts.map +1 -0
  295. package/dist/models/pronunciation.js +34 -0
  296. package/dist/models/pronunciation.js.map +1 -0
  297. package/dist/models/register.d.ts +104 -0
  298. package/dist/models/register.d.ts.map +1 -0
  299. package/dist/models/register.js +297 -0
  300. package/dist/models/register.js.map +1 -0
  301. package/dist/models/registrable.d.ts +25 -0
  302. package/dist/models/registrable.d.ts.map +1 -0
  303. package/dist/models/registrable.js +23 -0
  304. package/dist/models/registrable.js.map +1 -0
  305. package/dist/models/related-concept.d.ts +33 -0
  306. package/dist/models/related-concept.d.ts.map +1 -0
  307. package/dist/models/related-concept.js +95 -0
  308. package/dist/models/related-concept.js.map +1 -0
  309. package/dist/models/relation-categories.d.ts +38 -0
  310. package/dist/models/relation-categories.d.ts.map +1 -0
  311. package/dist/models/relation-categories.js +135 -0
  312. package/dist/models/relation-categories.js.map +1 -0
  313. package/dist/models/relation-colors.d.ts +35 -0
  314. package/dist/models/relation-colors.d.ts.map +1 -0
  315. package/dist/models/relation-colors.js +68 -0
  316. package/dist/models/relation-colors.js.map +1 -0
  317. package/dist/models/relation-loader.d.ts +41 -0
  318. package/dist/models/relation-loader.d.ts.map +1 -0
  319. package/dist/models/relation-loader.js +101 -0
  320. package/dist/models/relation-loader.js.map +1 -0
  321. package/dist/models/section.d.ts +22 -0
  322. package/dist/models/section.d.ts.map +1 -0
  323. package/dist/models/section.js +47 -0
  324. package/dist/models/section.js.map +1 -0
  325. package/dist/models/sequential-hyperedge.d.ts +32 -0
  326. package/dist/models/sequential-hyperedge.d.ts.map +1 -0
  327. package/dist/models/sequential-hyperedge.js +49 -0
  328. package/dist/models/sequential-hyperedge.js.map +1 -0
  329. package/dist/models/sequential-member.d.ts +8 -0
  330. package/dist/models/sequential-member.d.ts.map +1 -0
  331. package/{src/models/sequential-member.ts → dist/models/sequential-member.js} +4 -9
  332. package/dist/models/sequential-member.js.map +1 -0
  333. package/dist/models/shared-non-verbal-entity.d.ts +16 -0
  334. package/dist/models/shared-non-verbal-entity.d.ts.map +1 -0
  335. package/dist/models/shared-non-verbal-entity.js +28 -0
  336. package/dist/models/shared-non-verbal-entity.js.map +1 -0
  337. package/dist/models/table.d.ts +15 -0
  338. package/dist/models/table.d.ts.map +1 -0
  339. package/dist/models/table.js +27 -0
  340. package/dist/models/table.js.map +1 -0
  341. package/dist/rdf/agents-emitter.d.ts +37 -0
  342. package/dist/rdf/agents-emitter.d.ts.map +1 -0
  343. package/dist/rdf/agents-emitter.js +107 -0
  344. package/dist/rdf/agents-emitter.js.map +1 -0
  345. package/dist/rdf/bibliography-emitter.d.ts +16 -0
  346. package/dist/rdf/bibliography-emitter.d.ts.map +1 -0
  347. package/dist/rdf/bibliography-emitter.js +84 -0
  348. package/dist/rdf/bibliography-emitter.js.map +1 -0
  349. package/dist/rdf/bnode-id.d.ts +2 -0
  350. package/dist/rdf/bnode-id.d.ts.map +1 -0
  351. package/dist/rdf/bnode-id.js +57 -0
  352. package/dist/rdf/bnode-id.js.map +1 -0
  353. package/dist/rdf/build-activity-emitter.d.ts +42 -0
  354. package/dist/rdf/build-activity-emitter.d.ts.map +1 -0
  355. package/dist/rdf/build-activity-emitter.js +103 -0
  356. package/dist/rdf/build-activity-emitter.js.map +1 -0
  357. package/dist/rdf/curie.d.ts +7 -0
  358. package/dist/rdf/curie.d.ts.map +1 -0
  359. package/dist/rdf/curie.js +45 -0
  360. package/dist/rdf/curie.js.map +1 -0
  361. package/dist/rdf/dataset-emitter.d.ts +37 -0
  362. package/dist/rdf/dataset-emitter.d.ts.map +1 -0
  363. package/dist/rdf/dataset-emitter.js +126 -0
  364. package/dist/rdf/dataset-emitter.js.map +1 -0
  365. package/dist/rdf/deterministic-id.d.ts +3 -0
  366. package/dist/rdf/deterministic-id.d.ts.map +1 -0
  367. package/dist/rdf/deterministic-id.js +68 -0
  368. package/dist/rdf/deterministic-id.js.map +1 -0
  369. package/dist/rdf/document-writer.d.ts +11 -0
  370. package/dist/rdf/document-writer.d.ts.map +1 -0
  371. package/dist/rdf/document-writer.js +77 -0
  372. package/dist/rdf/document-writer.js.map +1 -0
  373. package/dist/rdf/gloss-concept.d.ts +27 -0
  374. package/dist/rdf/gloss-concept.d.ts.map +1 -0
  375. package/dist/rdf/gloss-concept.js +95 -0
  376. package/dist/rdf/gloss-concept.js.map +1 -0
  377. package/dist/rdf/gloss-designation.d.ts +17 -0
  378. package/dist/rdf/gloss-designation.d.ts.map +1 -0
  379. package/dist/rdf/gloss-designation.js +46 -0
  380. package/dist/rdf/gloss-designation.js.map +1 -0
  381. package/dist/rdf/gloss-detailed-definition.d.ts +14 -0
  382. package/dist/rdf/gloss-detailed-definition.d.ts.map +1 -0
  383. package/dist/rdf/gloss-detailed-definition.js +53 -0
  384. package/dist/rdf/gloss-detailed-definition.js.map +1 -0
  385. package/dist/rdf/gloss-generic-hyperedge.d.ts +27 -0
  386. package/dist/rdf/gloss-generic-hyperedge.d.ts.map +1 -0
  387. package/{src/rdf/gloss-generic-hyperedge.ts → dist/rdf/gloss-generic-hyperedge.js} +36 -50
  388. package/dist/rdf/gloss-generic-hyperedge.js.map +1 -0
  389. package/dist/rdf/gloss-localized-concept.d.ts +24 -0
  390. package/dist/rdf/gloss-localized-concept.d.ts.map +1 -0
  391. package/dist/rdf/gloss-localized-concept.js +71 -0
  392. package/dist/rdf/gloss-localized-concept.js.map +1 -0
  393. package/dist/rdf/gloss-non-verbal-rep.d.ts +33 -0
  394. package/dist/rdf/gloss-non-verbal-rep.d.ts.map +1 -0
  395. package/dist/rdf/gloss-non-verbal-rep.js +163 -0
  396. package/dist/rdf/gloss-non-verbal-rep.js.map +1 -0
  397. package/dist/rdf/gloss-partitive-member.d.ts +8 -0
  398. package/dist/rdf/gloss-partitive-member.d.ts.map +1 -0
  399. package/{src/rdf/gloss-partitive-member.ts → dist/rdf/gloss-partitive-member.js} +23 -41
  400. package/dist/rdf/gloss-partitive-member.js.map +1 -0
  401. package/dist/rdf/gloss-partitive-relation.d.ts +26 -0
  402. package/dist/rdf/gloss-partitive-relation.d.ts.map +1 -0
  403. package/dist/rdf/gloss-partitive-relation.js +73 -0
  404. package/dist/rdf/gloss-partitive-relation.js.map +1 -0
  405. package/dist/rdf/gloss-source.d.ts +23 -0
  406. package/dist/rdf/gloss-source.d.ts.map +1 -0
  407. package/dist/rdf/gloss-source.js +52 -0
  408. package/dist/rdf/gloss-source.js.map +1 -0
  409. package/dist/rdf/group-emitter.d.ts +46 -0
  410. package/dist/rdf/group-emitter.d.ts.map +1 -0
  411. package/dist/rdf/group-emitter.js +107 -0
  412. package/dist/rdf/group-emitter.js.map +1 -0
  413. package/dist/rdf/image-variant-emitter.d.ts +12 -0
  414. package/dist/rdf/image-variant-emitter.d.ts.map +1 -0
  415. package/dist/rdf/image-variant-emitter.js +55 -0
  416. package/dist/rdf/image-variant-emitter.js.map +1 -0
  417. package/dist/rdf/index.d.ts +26 -0
  418. package/dist/rdf/index.d.ts.map +1 -0
  419. package/{src/rdf/index.ts → dist/rdf/index.js} +8 -37
  420. package/dist/rdf/index.js.map +1 -0
  421. package/dist/rdf/normalize-enum.d.ts +3 -0
  422. package/dist/rdf/normalize-enum.d.ts.map +1 -0
  423. package/{src/rdf/normalize-enum.ts → dist/rdf/normalize-enum.js} +11 -10
  424. package/dist/rdf/normalize-enum.js.map +1 -0
  425. package/dist/rdf/predicates.d.ts +277 -0
  426. package/dist/rdf/predicates.d.ts.map +1 -0
  427. package/dist/rdf/predicates.js +279 -0
  428. package/dist/rdf/predicates.js.map +1 -0
  429. package/dist/rdf/prefixes.d.ts +16 -0
  430. package/dist/rdf/prefixes.d.ts.map +1 -0
  431. package/{src/rdf/prefixes.ts → dist/rdf/prefixes.js} +10 -12
  432. package/dist/rdf/prefixes.js.map +1 -0
  433. package/dist/rdf/provenance-emitter.d.ts +28 -0
  434. package/dist/rdf/provenance-emitter.d.ts.map +1 -0
  435. package/dist/rdf/provenance-emitter.js +74 -0
  436. package/dist/rdf/provenance-emitter.js.map +1 -0
  437. package/dist/rdf/sections-builder.d.ts +17 -0
  438. package/dist/rdf/sections-builder.d.ts.map +1 -0
  439. package/dist/rdf/sections-builder.js +137 -0
  440. package/dist/rdf/sections-builder.js.map +1 -0
  441. package/dist/rdf/shacl-entry.d.ts +2 -0
  442. package/dist/rdf/shacl-entry.d.ts.map +1 -0
  443. package/{src/rdf/shacl-entry.ts → dist/rdf/shacl-entry.js} +1 -1
  444. package/dist/rdf/shacl-entry.js.map +1 -0
  445. package/dist/rdf/shacl.d.ts +10 -0
  446. package/dist/rdf/shacl.d.ts.map +1 -0
  447. package/{src/rdf/shacl.ts → dist/rdf/shacl.js} +38 -57
  448. package/dist/rdf/shacl.js.map +1 -0
  449. package/dist/rdf/terms.d.ts +10 -0
  450. package/dist/rdf/terms.d.ts.map +1 -0
  451. package/{src/rdf/terms.ts → dist/rdf/terms.js} +6 -3
  452. package/dist/rdf/terms.js.map +1 -0
  453. package/dist/rdf/version-emitter.d.ts +57 -0
  454. package/dist/rdf/version-emitter.d.ts.map +1 -0
  455. package/dist/rdf/version-emitter.js +68 -0
  456. package/dist/rdf/version-emitter.js.map +1 -0
  457. package/dist/rdf/vocabulary-emitter.d.ts +32 -0
  458. package/dist/rdf/vocabulary-emitter.d.ts.map +1 -0
  459. package/dist/rdf/vocabulary-emitter.js +46 -0
  460. package/dist/rdf/vocabulary-emitter.js.map +1 -0
  461. package/dist/rdf/write-turtle-sync.d.ts +7 -0
  462. package/dist/rdf/write-turtle-sync.d.ts.map +1 -0
  463. package/dist/rdf/write-turtle-sync.js +130 -0
  464. package/dist/rdf/write-turtle-sync.js.map +1 -0
  465. package/dist/reference-mention.d.ts +49 -0
  466. package/dist/reference-mention.d.ts.map +1 -0
  467. package/dist/reference-mention.js +98 -0
  468. package/dist/reference-mention.js.map +1 -0
  469. package/dist/reference-resolver.d.ts +52 -0
  470. package/dist/reference-resolver.d.ts.map +1 -0
  471. package/dist/reference-resolver.js +311 -0
  472. package/dist/reference-resolver.js.map +1 -0
  473. package/dist/render-classification.d.ts +19 -0
  474. package/dist/render-classification.d.ts.map +1 -0
  475. package/dist/render-classification.js +82 -0
  476. package/dist/render-classification.js.map +1 -0
  477. package/dist/sort.d.ts +5 -0
  478. package/dist/sort.d.ts.map +1 -0
  479. package/dist/sort.js +25 -0
  480. package/dist/sort.js.map +1 -0
  481. package/dist/transforms/concept-to-gloss.transform.d.ts +32 -0
  482. package/dist/transforms/concept-to-gloss.transform.d.ts.map +1 -0
  483. package/dist/transforms/concept-to-gloss.transform.js +60 -0
  484. package/dist/transforms/concept-to-gloss.transform.js.map +1 -0
  485. package/dist/transforms/index.d.ts +2 -0
  486. package/dist/transforms/index.d.ts.map +1 -0
  487. package/{src/transforms/index.ts → dist/transforms/index.js} +1 -0
  488. package/dist/transforms/index.js.map +1 -0
  489. package/dist/utils/assertions.d.ts +4 -0
  490. package/dist/utils/assertions.d.ts.map +1 -0
  491. package/dist/utils/assertions.js +17 -0
  492. package/dist/utils/assertions.js.map +1 -0
  493. package/dist/utils/external-detection.d.ts +38 -0
  494. package/dist/utils/external-detection.d.ts.map +1 -0
  495. package/dist/utils/external-detection.js +55 -0
  496. package/dist/utils/external-detection.js.map +1 -0
  497. package/dist/uuid.d.ts +4 -0
  498. package/dist/uuid.d.ts.map +1 -0
  499. package/dist/uuid.js +23 -0
  500. package/dist/uuid.js.map +1 -0
  501. package/dist/v1-reader.d.ts +8 -0
  502. package/dist/v1-reader.d.ts.map +1 -0
  503. package/dist/v1-reader.js +56 -0
  504. package/dist/v1-reader.js.map +1 -0
  505. package/dist/validators/asset-index.d.ts +23 -0
  506. package/dist/validators/asset-index.d.ts.map +1 -0
  507. package/dist/validators/asset-index.js +58 -0
  508. package/dist/validators/asset-index.js.map +1 -0
  509. package/dist/validators/binary-has-part-redundancy-rule.d.ts +8 -0
  510. package/dist/validators/binary-has-part-redundancy-rule.d.ts.map +1 -0
  511. package/dist/validators/binary-has-part-redundancy-rule.js +57 -0
  512. package/dist/validators/binary-has-part-redundancy-rule.js.map +1 -0
  513. package/dist/validators/concept-validator.d.ts +21 -0
  514. package/dist/validators/concept-validator.d.ts.map +1 -0
  515. package/dist/validators/concept-validator.js +76 -0
  516. package/dist/validators/concept-validator.js.map +1 -0
  517. package/dist/validators/delimiting-coherence-rule.d.ts +8 -0
  518. package/dist/validators/delimiting-coherence-rule.d.ts.map +1 -0
  519. package/dist/validators/delimiting-coherence-rule.js +72 -0
  520. package/dist/validators/delimiting-coherence-rule.js.map +1 -0
  521. package/dist/validators/extensional-completeness.d.ts +18 -0
  522. package/dist/validators/extensional-completeness.d.ts.map +1 -0
  523. package/dist/validators/extensional-completeness.js +41 -0
  524. package/dist/validators/extensional-completeness.js.map +1 -0
  525. package/dist/validators/external-concept-shape-rule.d.ts +8 -0
  526. package/dist/validators/external-concept-shape-rule.d.ts.map +1 -0
  527. package/dist/validators/external-concept-shape-rule.js +48 -0
  528. package/dist/validators/external-concept-shape-rule.js.map +1 -0
  529. package/dist/validators/gcr-validator.d.ts +11 -0
  530. package/dist/validators/gcr-validator.d.ts.map +1 -0
  531. package/dist/validators/gcr-validator.js +76 -0
  532. package/dist/validators/gcr-validator.js.map +1 -0
  533. package/dist/validators/hyperedge-coherence-rule.d.ts +9 -0
  534. package/dist/validators/hyperedge-coherence-rule.d.ts.map +1 -0
  535. package/dist/validators/hyperedge-coherence-rule.js +78 -0
  536. package/dist/validators/hyperedge-coherence-rule.js.map +1 -0
  537. package/dist/validators/index.d.ts +21 -0
  538. package/dist/validators/index.d.ts.map +1 -0
  539. package/{src/validators/index.ts → dist/validators/index.js} +25 -51
  540. package/dist/validators/index.js.map +1 -0
  541. package/dist/validators/partitive-relation-coherence-rule.d.ts +2 -0
  542. package/dist/validators/partitive-relation-coherence-rule.d.ts.map +1 -0
  543. package/{src/validators/partitive-relation-coherence-rule.ts → dist/validators/partitive-relation-coherence-rule.js} +1 -1
  544. package/dist/validators/partitive-relation-coherence-rule.js.map +1 -0
  545. package/dist/validators/ref-keys.d.ts +8 -0
  546. package/dist/validators/ref-keys.d.ts.map +1 -0
  547. package/dist/validators/ref-keys.js +27 -0
  548. package/dist/validators/ref-keys.js.map +1 -0
  549. package/dist/validators/register-validator.d.ts +10 -0
  550. package/dist/validators/register-validator.d.ts.map +1 -0
  551. package/dist/validators/register-validator.js +18 -0
  552. package/dist/validators/register-validator.js.map +1 -0
  553. package/dist/validators/relationship-type-rule.d.ts +13 -0
  554. package/dist/validators/relationship-type-rule.d.ts.map +1 -0
  555. package/dist/validators/relationship-type-rule.js +34 -0
  556. package/dist/validators/relationship-type-rule.js.map +1 -0
  557. package/dist/validators/sourced-from-locality-rule.d.ts +8 -0
  558. package/dist/validators/sourced-from-locality-rule.d.ts.map +1 -0
  559. package/dist/validators/sourced-from-locality-rule.js +37 -0
  560. package/dist/validators/sourced-from-locality-rule.js.map +1 -0
  561. package/dist/validators/v3-rules.d.ts +60 -0
  562. package/dist/validators/v3-rules.d.ts.map +1 -0
  563. package/dist/validators/v3-rules.js +327 -0
  564. package/dist/validators/v3-rules.js.map +1 -0
  565. package/dist/validators/validation-error.d.ts +13 -0
  566. package/dist/validators/validation-error.d.ts.map +1 -0
  567. package/dist/validators/validation-error.js +17 -0
  568. package/dist/validators/validation-error.js.map +1 -0
  569. package/dist/validators/validation-result.d.ts +17 -0
  570. package/dist/validators/validation-result.d.ts.map +1 -0
  571. package/dist/validators/validation-result.js +47 -0
  572. package/dist/validators/validation-result.js.map +1 -0
  573. package/dist/validators/validation-rule.d.ts +10 -0
  574. package/dist/validators/validation-rule.d.ts.map +1 -0
  575. package/dist/validators/validation-rule.js +17 -0
  576. package/dist/validators/validation-rule.js.map +1 -0
  577. package/package.json +37 -42
  578. package/src/concept-collection.ts +0 -172
  579. package/src/concept-parser.ts +0 -235
  580. package/src/concept-reader.d.ts +0 -13
  581. package/src/concept-serializer.ts +0 -110
  582. package/src/concept-writer.d.ts +0 -7
  583. package/src/concept-writer.ts +0 -47
  584. package/src/diff/canonical-json.ts +0 -29
  585. package/src/diff/change.ts +0 -175
  586. package/src/diff/collection-diff.ts +0 -245
  587. package/src/diff/concept-diff.ts +0 -853
  588. package/src/diff/diff-patch.ts +0 -276
  589. package/src/diff/diff-renderer.ts +0 -348
  590. package/src/diff/identity.ts +0 -33
  591. package/src/diff/index.d.ts +0 -242
  592. package/src/diff/index.ts +0 -50
  593. package/src/diff/list-diff.ts +0 -231
  594. package/src/diff/similarity.ts +0 -20
  595. package/src/diff/text-diff.ts +0 -167
  596. package/src/entity-directory.ts +0 -43
  597. package/src/errors.d.ts +0 -11
  598. package/src/errors.ts +0 -24
  599. package/src/gcr-reader.d.ts +0 -65
  600. package/src/gcr-reader.ts +0 -512
  601. package/src/gcr-writer.d.ts +0 -22
  602. package/src/gcr-writer.ts +0 -99
  603. package/src/index.d.ts +0 -124
  604. package/src/index.ts +0 -92
  605. package/src/managed-concept-collection.ts +0 -130
  606. package/src/migration/hyperedge-migrator.ts +0 -104
  607. package/src/models/abstract-hyperedge.ts +0 -164
  608. package/src/models/base.ts +0 -110
  609. package/src/models/bibliography-data.ts +0 -64
  610. package/src/models/bibliography-entry.ts +0 -40
  611. package/src/models/citation.ts +0 -98
  612. package/src/models/concept-date.ts +0 -48
  613. package/src/models/concept-ref.ts +0 -64
  614. package/src/models/concept-reference.ts +0 -50
  615. package/src/models/concept-source.ts +0 -96
  616. package/src/models/concept-system-type.ts +0 -39
  617. package/src/models/concept-system.ts +0 -152
  618. package/src/models/concept.ts +0 -499
  619. package/src/models/dataset-color.ts +0 -88
  620. package/src/models/designation-relationship.ts +0 -39
  621. package/src/models/designation.ts +0 -297
  622. package/src/models/detailed-definition.ts +0 -92
  623. package/src/models/enum.ts +0 -60
  624. package/src/models/equivalence-degree.ts +0 -34
  625. package/src/models/figure.ts +0 -110
  626. package/src/models/formula.ts +0 -36
  627. package/src/models/gcr-metadata.ts +0 -118
  628. package/src/models/gcr-statistics.ts +0 -76
  629. package/src/models/generic-hyperedge.ts +0 -72
  630. package/src/models/generic-member.ts +0 -80
  631. package/src/models/grammar-info.ts +0 -78
  632. package/src/models/hyperedge-colors.ts +0 -87
  633. package/src/models/hyperedge-index.ts +0 -101
  634. package/src/models/hyperedge-member.ts +0 -121
  635. package/src/models/hyperedge-registry.ts +0 -145
  636. package/src/models/index.d.ts +0 -586
  637. package/src/models/locality.ts +0 -34
  638. package/src/models/localized-concept.ts +0 -284
  639. package/src/models/localized-string.ts +0 -32
  640. package/src/models/multiplicity.ts +0 -134
  641. package/src/models/non-verb-rep.ts +0 -48
  642. package/src/models/non-verbal-entity.ts +0 -65
  643. package/src/models/non-verbal-reference.ts +0 -73
  644. package/src/models/non-verbal-references.ts +0 -29
  645. package/src/models/partitive-enumeration.ts +0 -27
  646. package/src/models/partitive-hyperedge.ts +0 -90
  647. package/src/models/partitive-member.ts +0 -56
  648. package/src/models/plurality-marker.ts +0 -31
  649. package/src/models/pronunciation.ts +0 -40
  650. package/src/models/register.ts +0 -315
  651. package/src/models/registrable.ts +0 -48
  652. package/src/models/related-concept.ts +0 -117
  653. package/src/models/relation-categories.ts +0 -167
  654. package/src/models/relation-colors.ts +0 -90
  655. package/src/models/relation-loader.ts +0 -115
  656. package/src/models/section.ts +0 -61
  657. package/src/models/sequential-hyperedge.ts +0 -70
  658. package/src/models/shared-non-verbal-entity.ts +0 -36
  659. package/src/models/table.ts +0 -36
  660. package/src/rdf/agents-emitter.ts +0 -137
  661. package/src/rdf/bibliography-emitter.ts +0 -126
  662. package/src/rdf/bnode-id.ts +0 -55
  663. package/src/rdf/build-activity-emitter.ts +0 -129
  664. package/src/rdf/curie.ts +0 -46
  665. package/src/rdf/dataset-emitter.ts +0 -170
  666. package/src/rdf/deterministic-id.ts +0 -69
  667. package/src/rdf/document-writer.ts +0 -87
  668. package/src/rdf/gloss-concept.ts +0 -115
  669. package/src/rdf/gloss-designation.ts +0 -72
  670. package/src/rdf/gloss-detailed-definition.ts +0 -69
  671. package/src/rdf/gloss-localized-concept.ts +0 -79
  672. package/src/rdf/gloss-non-verbal-rep.ts +0 -202
  673. package/src/rdf/gloss-partitive-relation.ts +0 -89
  674. package/src/rdf/gloss-source.ts +0 -56
  675. package/src/rdf/group-emitter.ts +0 -133
  676. package/src/rdf/image-variant-emitter.ts +0 -80
  677. package/src/rdf/index.d.ts +0 -371
  678. package/src/rdf/predicates.d.ts +0 -527
  679. package/src/rdf/predicates.ts +0 -287
  680. package/src/rdf/provenance-emitter.ts +0 -87
  681. package/src/rdf/sections-builder.ts +0 -190
  682. package/src/rdf/shacl-entry.d.ts +0 -6
  683. package/src/rdf/version-emitter.ts +0 -97
  684. package/src/rdf/vocabulary-emitter.ts +0 -67
  685. package/src/rdf/write-turtle-sync.ts +0 -179
  686. package/src/reference-mention.ts +0 -114
  687. package/src/reference-resolver.ts +0 -361
  688. package/src/render-classification.ts +0 -85
  689. package/src/sort.ts +0 -22
  690. package/src/transforms/concept-to-gloss.transform.ts +0 -81
  691. package/src/transforms/index.d.ts +0 -26
  692. package/src/uuid.ts +0 -32
  693. package/src/v1-reader.ts +0 -66
  694. package/src/validators/asset-index.ts +0 -72
  695. package/src/validators/binary-has-part-redundancy-rule.ts +0 -67
  696. package/src/validators/concept-validator.ts +0 -93
  697. package/src/validators/delimiting-coherence-rule.ts +0 -105
  698. package/src/validators/external-concept-shape-rule.ts +0 -60
  699. package/src/validators/gcr-validator.ts +0 -76
  700. package/src/validators/hyperedge-coherence-rule.ts +0 -98
  701. package/src/validators/index.d.ts +0 -43
  702. package/src/validators/ref-keys.ts +0 -31
  703. package/src/validators/register-validator.ts +0 -18
  704. package/src/validators/relationship-type-rule.ts +0 -39
  705. package/src/validators/sourced-from-locality-rule.ts +0 -53
  706. package/src/validators/v3-rules.ts +0 -382
  707. package/src/validators/validation-error.ts +0 -19
  708. package/src/validators/validation-result.ts +0 -52
  709. package/src/validators/validation-rule.ts +0 -21
@@ -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>;