glossarist 0.4.50 → 0.4.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (709) hide show
  1. package/dist/compiled-format.d.ts +43 -0
  2. package/dist/compiled-format.d.ts.map +1 -0
  3. package/{src/compiled-format.ts → dist/compiled-format.js} +28 -46
  4. package/dist/compiled-format.js.map +1 -0
  5. package/dist/concept-collection.d.ts +39 -0
  6. package/dist/concept-collection.d.ts.map +1 -0
  7. package/dist/concept-collection.js +127 -0
  8. package/dist/concept-collection.js.map +1 -0
  9. package/dist/concept-diff.d.ts +14 -0
  10. package/dist/concept-diff.d.ts.map +1 -0
  11. package/{src/concept-diff.ts → dist/concept-diff.js} +2 -20
  12. package/dist/concept-diff.js.map +1 -0
  13. package/dist/concept-parser.d.ts +11 -0
  14. package/dist/concept-parser.d.ts.map +1 -0
  15. package/dist/concept-parser.js +209 -0
  16. package/dist/concept-parser.js.map +1 -0
  17. package/dist/concept-reader.d.ts +55 -0
  18. package/dist/concept-reader.d.ts.map +1 -0
  19. package/{src/concept-reader.ts → dist/concept-reader.js} +70 -76
  20. package/dist/concept-reader.js.map +1 -0
  21. package/dist/concept-serializer.d.ts +9 -0
  22. package/dist/concept-serializer.d.ts.map +1 -0
  23. package/dist/concept-serializer.js +87 -0
  24. package/dist/concept-serializer.js.map +1 -0
  25. package/dist/concept-writer.d.ts +10 -0
  26. package/dist/concept-writer.d.ts.map +1 -0
  27. package/dist/concept-writer.js +28 -0
  28. package/dist/concept-writer.js.map +1 -0
  29. package/dist/dataset-asset.d.ts +49 -0
  30. package/dist/dataset-asset.d.ts.map +1 -0
  31. package/{src/dataset-asset.ts → dist/dataset-asset.js} +16 -33
  32. package/dist/dataset-asset.js.map +1 -0
  33. package/dist/diff/canonical-json.d.ts +7 -0
  34. package/dist/diff/canonical-json.d.ts.map +1 -0
  35. package/dist/diff/canonical-json.js +28 -0
  36. package/dist/diff/canonical-json.js.map +1 -0
  37. package/dist/diff/change.d.ts +67 -0
  38. package/dist/diff/change.d.ts.map +1 -0
  39. package/dist/diff/change.js +131 -0
  40. package/dist/diff/change.js.map +1 -0
  41. package/dist/diff/collection-diff.d.ts +50 -0
  42. package/dist/diff/collection-diff.d.ts.map +1 -0
  43. package/dist/diff/collection-diff.js +182 -0
  44. package/dist/diff/collection-diff.js.map +1 -0
  45. package/dist/diff/concept-diff.d.ts +188 -0
  46. package/dist/diff/concept-diff.d.ts.map +1 -0
  47. package/dist/diff/concept-diff.js +624 -0
  48. package/dist/diff/concept-diff.js.map +1 -0
  49. package/dist/diff/diff-patch.d.ts +7 -0
  50. package/dist/diff/diff-patch.d.ts.map +1 -0
  51. package/dist/diff/diff-patch.js +225 -0
  52. package/dist/diff/diff-patch.js.map +1 -0
  53. package/dist/diff/diff-renderer.d.ts +44 -0
  54. package/dist/diff/diff-renderer.d.ts.map +1 -0
  55. package/dist/diff/diff-renderer.js +263 -0
  56. package/dist/diff/diff-renderer.js.map +1 -0
  57. package/dist/diff/identity.d.ts +2 -0
  58. package/dist/diff/identity.d.ts.map +1 -0
  59. package/dist/diff/identity.js +29 -0
  60. package/dist/diff/identity.js.map +1 -0
  61. package/dist/diff/index.d.ts +8 -0
  62. package/dist/diff/index.d.ts.map +1 -0
  63. package/dist/diff/index.js +8 -0
  64. package/dist/diff/index.js.map +1 -0
  65. package/dist/diff/list-diff.d.ts +36 -0
  66. package/dist/diff/list-diff.d.ts.map +1 -0
  67. package/dist/diff/list-diff.js +185 -0
  68. package/dist/diff/list-diff.js.map +1 -0
  69. package/dist/diff/similarity.d.ts +4 -0
  70. package/dist/diff/similarity.d.ts.map +1 -0
  71. package/dist/diff/similarity.js +20 -0
  72. package/dist/diff/similarity.js.map +1 -0
  73. package/dist/diff/text-diff.d.ts +42 -0
  74. package/dist/diff/text-diff.d.ts.map +1 -0
  75. package/dist/diff/text-diff.js +134 -0
  76. package/dist/diff/text-diff.js.map +1 -0
  77. package/dist/entity-directory.d.ts +13 -0
  78. package/dist/entity-directory.d.ts.map +1 -0
  79. package/dist/entity-directory.js +35 -0
  80. package/dist/entity-directory.js.map +1 -0
  81. package/dist/errors.d.ts +15 -0
  82. package/dist/errors.d.ts.map +1 -0
  83. package/dist/errors.js +23 -0
  84. package/dist/errors.js.map +1 -0
  85. package/dist/gcr-reader.d.ts +57 -0
  86. package/dist/gcr-reader.d.ts.map +1 -0
  87. package/dist/gcr-reader.js +264 -0
  88. package/dist/gcr-reader.js.map +1 -0
  89. package/dist/gcr-writer.d.ts +23 -0
  90. package/dist/gcr-writer.d.ts.map +1 -0
  91. package/dist/gcr-writer.js +84 -0
  92. package/dist/gcr-writer.js.map +1 -0
  93. package/dist/index.d.ts +25 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +38 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/managed-concept-collection.d.ts +31 -0
  98. package/dist/managed-concept-collection.d.ts.map +1 -0
  99. package/dist/managed-concept-collection.js +87 -0
  100. package/dist/managed-concept-collection.js.map +1 -0
  101. package/dist/migration/hyperedge-migrator.d.ts +33 -0
  102. package/dist/migration/hyperedge-migrator.d.ts.map +1 -0
  103. package/dist/migration/hyperedge-migrator.js +70 -0
  104. package/dist/migration/hyperedge-migrator.js.map +1 -0
  105. package/dist/models/abstract-hyperedge.d.ts +35 -0
  106. package/dist/models/abstract-hyperedge.d.ts.map +1 -0
  107. package/dist/models/abstract-hyperedge.js +112 -0
  108. package/dist/models/abstract-hyperedge.js.map +1 -0
  109. package/dist/models/base.d.ts +58 -0
  110. package/dist/models/base.d.ts.map +1 -0
  111. package/dist/models/base.js +77 -0
  112. package/dist/models/base.js.map +1 -0
  113. package/dist/models/bibliography-data.d.ts +20 -0
  114. package/dist/models/bibliography-data.d.ts.map +1 -0
  115. package/dist/models/bibliography-data.js +43 -0
  116. package/dist/models/bibliography-data.js.map +1 -0
  117. package/dist/models/bibliography-entry.d.ts +19 -0
  118. package/dist/models/bibliography-entry.d.ts.map +1 -0
  119. package/dist/models/bibliography-entry.js +34 -0
  120. package/dist/models/bibliography-entry.js.map +1 -0
  121. package/dist/models/citation.d.ts +40 -0
  122. package/dist/models/citation.d.ts.map +1 -0
  123. package/dist/models/citation.js +82 -0
  124. package/dist/models/citation.js.map +1 -0
  125. package/dist/models/completeness.d.ts +9 -0
  126. package/dist/models/completeness.d.ts.map +1 -0
  127. package/{src/models/completeness.ts → dist/models/completeness.js} +4 -9
  128. package/dist/models/completeness.js.map +1 -0
  129. package/dist/models/concept-date.d.ts +20 -0
  130. package/dist/models/concept-date.d.ts.map +1 -0
  131. package/dist/models/concept-date.js +36 -0
  132. package/dist/models/concept-date.js.map +1 -0
  133. package/dist/models/concept-ref.d.ts +32 -0
  134. package/dist/models/concept-ref.d.ts.map +1 -0
  135. package/dist/models/concept-ref.js +53 -0
  136. package/dist/models/concept-ref.js.map +1 -0
  137. package/dist/models/concept-reference.d.ts +22 -0
  138. package/dist/models/concept-reference.d.ts.map +1 -0
  139. package/dist/models/concept-reference.js +39 -0
  140. package/dist/models/concept-reference.js.map +1 -0
  141. package/dist/models/concept-source.d.ts +53 -0
  142. package/dist/models/concept-source.d.ts.map +1 -0
  143. package/dist/models/concept-source.js +66 -0
  144. package/dist/models/concept-source.js.map +1 -0
  145. package/dist/models/concept-system-type.d.ts +6 -0
  146. package/dist/models/concept-system-type.d.ts.map +1 -0
  147. package/dist/models/concept-system-type.js +22 -0
  148. package/dist/models/concept-system-type.js.map +1 -0
  149. package/dist/models/concept-system.d.ts +44 -0
  150. package/dist/models/concept-system.d.ts.map +1 -0
  151. package/dist/models/concept-system.js +115 -0
  152. package/dist/models/concept-system.js.map +1 -0
  153. package/dist/models/concept-type.d.ts +7 -0
  154. package/dist/models/concept-type.d.ts.map +1 -0
  155. package/{src/models/concept-type.ts → dist/models/concept-type.js} +8 -19
  156. package/dist/models/concept-type.js.map +1 -0
  157. package/dist/models/concept.d.ts +94 -0
  158. package/dist/models/concept.d.ts.map +1 -0
  159. package/dist/models/concept.js +368 -0
  160. package/dist/models/concept.js.map +1 -0
  161. package/dist/models/dataset-color.d.ts +28 -0
  162. package/dist/models/dataset-color.d.ts.map +1 -0
  163. package/dist/models/dataset-color.js +74 -0
  164. package/dist/models/dataset-color.js.map +1 -0
  165. package/dist/models/definition-type.d.ts +9 -0
  166. package/dist/models/definition-type.d.ts.map +1 -0
  167. package/{src/models/definition-type.ts → dist/models/definition-type.js} +6 -15
  168. package/dist/models/definition-type.js.map +1 -0
  169. package/dist/models/designation-relationship.d.ts +17 -0
  170. package/dist/models/designation-relationship.d.ts.map +1 -0
  171. package/dist/models/designation-relationship.js +30 -0
  172. package/dist/models/designation-relationship.js.map +1 -0
  173. package/dist/models/designation.d.ts +110 -0
  174. package/dist/models/designation.d.ts.map +1 -0
  175. package/dist/models/designation.js +224 -0
  176. package/dist/models/designation.js.map +1 -0
  177. package/dist/models/detailed-definition.d.ts +34 -0
  178. package/dist/models/detailed-definition.d.ts.map +1 -0
  179. package/dist/models/detailed-definition.js +63 -0
  180. package/dist/models/detailed-definition.js.map +1 -0
  181. package/dist/models/enum.d.ts +21 -0
  182. package/dist/models/enum.d.ts.map +1 -0
  183. package/dist/models/enum.js +39 -0
  184. package/dist/models/enum.js.map +1 -0
  185. package/dist/models/equivalence-degree.d.ts +7 -0
  186. package/dist/models/equivalence-degree.d.ts.map +1 -0
  187. package/dist/models/equivalence-degree.js +20 -0
  188. package/dist/models/equivalence-degree.js.map +1 -0
  189. package/dist/models/figure.d.ts +40 -0
  190. package/dist/models/figure.d.ts.map +1 -0
  191. package/dist/models/figure.js +82 -0
  192. package/dist/models/figure.js.map +1 -0
  193. package/dist/models/formula.d.ts +15 -0
  194. package/dist/models/formula.d.ts.map +1 -0
  195. package/dist/models/formula.js +27 -0
  196. package/dist/models/formula.js.map +1 -0
  197. package/dist/models/gcr-metadata.d.ts +62 -0
  198. package/dist/models/gcr-metadata.d.ts.map +1 -0
  199. package/dist/models/gcr-metadata.js +102 -0
  200. package/dist/models/gcr-metadata.js.map +1 -0
  201. package/dist/models/gcr-statistics.d.ts +30 -0
  202. package/dist/models/gcr-statistics.d.ts.map +1 -0
  203. package/dist/models/gcr-statistics.js +53 -0
  204. package/dist/models/gcr-statistics.js.map +1 -0
  205. package/dist/models/generic-hyperedge.d.ts +32 -0
  206. package/dist/models/generic-hyperedge.d.ts.map +1 -0
  207. package/dist/models/generic-hyperedge.js +51 -0
  208. package/dist/models/generic-hyperedge.js.map +1 -0
  209. package/dist/models/generic-member.d.ts +14 -0
  210. package/dist/models/generic-member.d.ts.map +1 -0
  211. package/dist/models/generic-member.js +51 -0
  212. package/dist/models/generic-member.js.map +1 -0
  213. package/dist/models/grammar-info.d.ts +34 -0
  214. package/dist/models/grammar-info.d.ts.map +1 -0
  215. package/dist/models/grammar-info.js +59 -0
  216. package/dist/models/grammar-info.js.map +1 -0
  217. package/dist/models/hyperedge-colors.d.ts +19 -0
  218. package/dist/models/hyperedge-colors.d.ts.map +1 -0
  219. package/dist/models/hyperedge-colors.js +61 -0
  220. package/dist/models/hyperedge-colors.js.map +1 -0
  221. package/dist/models/hyperedge-index.d.ts +34 -0
  222. package/dist/models/hyperedge-index.d.ts.map +1 -0
  223. package/dist/models/hyperedge-index.js +85 -0
  224. package/dist/models/hyperedge-index.js.map +1 -0
  225. package/dist/models/hyperedge-member.d.ts +28 -0
  226. package/dist/models/hyperedge-member.d.ts.map +1 -0
  227. package/dist/models/hyperedge-member.js +92 -0
  228. package/dist/models/hyperedge-member.js.map +1 -0
  229. package/dist/models/hyperedge-registry.d.ts +47 -0
  230. package/dist/models/hyperedge-registry.d.ts.map +1 -0
  231. package/dist/models/hyperedge-registry.js +118 -0
  232. package/dist/models/hyperedge-registry.js.map +1 -0
  233. package/dist/models/index.d.ts +53 -0
  234. package/dist/models/index.d.ts.map +1 -0
  235. package/{src/models/index.ts → dist/models/index.js} +11 -63
  236. package/dist/models/index.js.map +1 -0
  237. package/dist/models/locality.d.ts +17 -0
  238. package/dist/models/locality.d.ts.map +1 -0
  239. package/dist/models/locality.js +26 -0
  240. package/dist/models/locality.js.map +1 -0
  241. package/dist/models/localized-concept.d.ts +102 -0
  242. package/dist/models/localized-concept.d.ts.map +1 -0
  243. package/dist/models/localized-concept.js +195 -0
  244. package/dist/models/localized-concept.js.map +1 -0
  245. package/dist/models/localized-string.d.ts +5 -0
  246. package/dist/models/localized-string.d.ts.map +1 -0
  247. package/dist/models/localized-string.js +20 -0
  248. package/dist/models/localized-string.js.map +1 -0
  249. package/dist/models/multiplicity.d.ts +42 -0
  250. package/dist/models/multiplicity.d.ts.map +1 -0
  251. package/dist/models/multiplicity.js +84 -0
  252. package/dist/models/multiplicity.js.map +1 -0
  253. package/dist/models/non-verb-rep.d.ts +20 -0
  254. package/dist/models/non-verb-rep.d.ts.map +1 -0
  255. package/dist/models/non-verb-rep.js +32 -0
  256. package/dist/models/non-verb-rep.js.map +1 -0
  257. package/dist/models/non-verbal-entity.d.ts +30 -0
  258. package/dist/models/non-verbal-entity.d.ts.map +1 -0
  259. package/dist/models/non-verbal-entity.js +48 -0
  260. package/dist/models/non-verbal-entity.js.map +1 -0
  261. package/dist/models/non-verbal-reference.d.ts +23 -0
  262. package/dist/models/non-verbal-reference.d.ts.map +1 -0
  263. package/dist/models/non-verbal-reference.js +44 -0
  264. package/dist/models/non-verbal-reference.js.map +1 -0
  265. package/dist/models/non-verbal-references.d.ts +12 -0
  266. package/dist/models/non-verbal-references.d.ts.map +1 -0
  267. package/dist/models/non-verbal-references.js +20 -0
  268. package/dist/models/non-verbal-references.js.map +1 -0
  269. package/dist/models/partitive-count.d.ts +10 -0
  270. package/dist/models/partitive-count.d.ts.map +1 -0
  271. package/{src/models/partitive-count.ts → dist/models/partitive-count.js} +5 -9
  272. package/dist/models/partitive-count.js.map +1 -0
  273. package/dist/models/partitive-enumeration.d.ts +5 -0
  274. package/dist/models/partitive-enumeration.d.ts.map +1 -0
  275. package/dist/models/partitive-enumeration.js +16 -0
  276. package/dist/models/partitive-enumeration.js.map +1 -0
  277. package/dist/models/partitive-hyperedge.d.ts +43 -0
  278. package/dist/models/partitive-hyperedge.d.ts.map +1 -0
  279. package/dist/models/partitive-hyperedge.js +63 -0
  280. package/dist/models/partitive-hyperedge.js.map +1 -0
  281. package/dist/models/partitive-member.d.ts +14 -0
  282. package/dist/models/partitive-member.d.ts.map +1 -0
  283. package/dist/models/partitive-member.js +44 -0
  284. package/dist/models/partitive-member.js.map +1 -0
  285. package/dist/models/partitive-presence.d.ts +9 -0
  286. package/dist/models/partitive-presence.d.ts.map +1 -0
  287. package/{src/models/partitive-presence.ts → dist/models/partitive-presence.js} +4 -8
  288. package/dist/models/partitive-presence.js.map +1 -0
  289. package/dist/models/plurality-marker.d.ts +5 -0
  290. package/dist/models/plurality-marker.d.ts.map +1 -0
  291. package/dist/models/plurality-marker.js +20 -0
  292. package/dist/models/plurality-marker.js.map +1 -0
  293. package/dist/models/pronunciation.d.ts +19 -0
  294. package/dist/models/pronunciation.d.ts.map +1 -0
  295. package/dist/models/pronunciation.js +34 -0
  296. package/dist/models/pronunciation.js.map +1 -0
  297. package/dist/models/register.d.ts +104 -0
  298. package/dist/models/register.d.ts.map +1 -0
  299. package/dist/models/register.js +297 -0
  300. package/dist/models/register.js.map +1 -0
  301. package/dist/models/registrable.d.ts +25 -0
  302. package/dist/models/registrable.d.ts.map +1 -0
  303. package/dist/models/registrable.js +23 -0
  304. package/dist/models/registrable.js.map +1 -0
  305. package/dist/models/related-concept.d.ts +33 -0
  306. package/dist/models/related-concept.d.ts.map +1 -0
  307. package/dist/models/related-concept.js +95 -0
  308. package/dist/models/related-concept.js.map +1 -0
  309. package/dist/models/relation-categories.d.ts +38 -0
  310. package/dist/models/relation-categories.d.ts.map +1 -0
  311. package/dist/models/relation-categories.js +135 -0
  312. package/dist/models/relation-categories.js.map +1 -0
  313. package/dist/models/relation-colors.d.ts +35 -0
  314. package/dist/models/relation-colors.d.ts.map +1 -0
  315. package/dist/models/relation-colors.js +68 -0
  316. package/dist/models/relation-colors.js.map +1 -0
  317. package/dist/models/relation-loader.d.ts +41 -0
  318. package/dist/models/relation-loader.d.ts.map +1 -0
  319. package/dist/models/relation-loader.js +101 -0
  320. package/dist/models/relation-loader.js.map +1 -0
  321. package/dist/models/section.d.ts +22 -0
  322. package/dist/models/section.d.ts.map +1 -0
  323. package/dist/models/section.js +47 -0
  324. package/dist/models/section.js.map +1 -0
  325. package/dist/models/sequential-hyperedge.d.ts +32 -0
  326. package/dist/models/sequential-hyperedge.d.ts.map +1 -0
  327. package/dist/models/sequential-hyperedge.js +49 -0
  328. package/dist/models/sequential-hyperedge.js.map +1 -0
  329. package/dist/models/sequential-member.d.ts +8 -0
  330. package/dist/models/sequential-member.d.ts.map +1 -0
  331. package/{src/models/sequential-member.ts → dist/models/sequential-member.js} +4 -9
  332. package/dist/models/sequential-member.js.map +1 -0
  333. package/dist/models/shared-non-verbal-entity.d.ts +16 -0
  334. package/dist/models/shared-non-verbal-entity.d.ts.map +1 -0
  335. package/dist/models/shared-non-verbal-entity.js +28 -0
  336. package/dist/models/shared-non-verbal-entity.js.map +1 -0
  337. package/dist/models/table.d.ts +15 -0
  338. package/dist/models/table.d.ts.map +1 -0
  339. package/dist/models/table.js +27 -0
  340. package/dist/models/table.js.map +1 -0
  341. package/dist/rdf/agents-emitter.d.ts +37 -0
  342. package/dist/rdf/agents-emitter.d.ts.map +1 -0
  343. package/dist/rdf/agents-emitter.js +107 -0
  344. package/dist/rdf/agents-emitter.js.map +1 -0
  345. package/dist/rdf/bibliography-emitter.d.ts +16 -0
  346. package/dist/rdf/bibliography-emitter.d.ts.map +1 -0
  347. package/dist/rdf/bibliography-emitter.js +84 -0
  348. package/dist/rdf/bibliography-emitter.js.map +1 -0
  349. package/dist/rdf/bnode-id.d.ts +2 -0
  350. package/dist/rdf/bnode-id.d.ts.map +1 -0
  351. package/dist/rdf/bnode-id.js +57 -0
  352. package/dist/rdf/bnode-id.js.map +1 -0
  353. package/dist/rdf/build-activity-emitter.d.ts +42 -0
  354. package/dist/rdf/build-activity-emitter.d.ts.map +1 -0
  355. package/dist/rdf/build-activity-emitter.js +103 -0
  356. package/dist/rdf/build-activity-emitter.js.map +1 -0
  357. package/dist/rdf/curie.d.ts +7 -0
  358. package/dist/rdf/curie.d.ts.map +1 -0
  359. package/dist/rdf/curie.js +45 -0
  360. package/dist/rdf/curie.js.map +1 -0
  361. package/dist/rdf/dataset-emitter.d.ts +37 -0
  362. package/dist/rdf/dataset-emitter.d.ts.map +1 -0
  363. package/dist/rdf/dataset-emitter.js +126 -0
  364. package/dist/rdf/dataset-emitter.js.map +1 -0
  365. package/dist/rdf/deterministic-id.d.ts +3 -0
  366. package/dist/rdf/deterministic-id.d.ts.map +1 -0
  367. package/dist/rdf/deterministic-id.js +68 -0
  368. package/dist/rdf/deterministic-id.js.map +1 -0
  369. package/dist/rdf/document-writer.d.ts +11 -0
  370. package/dist/rdf/document-writer.d.ts.map +1 -0
  371. package/dist/rdf/document-writer.js +77 -0
  372. package/dist/rdf/document-writer.js.map +1 -0
  373. package/dist/rdf/gloss-concept.d.ts +27 -0
  374. package/dist/rdf/gloss-concept.d.ts.map +1 -0
  375. package/dist/rdf/gloss-concept.js +95 -0
  376. package/dist/rdf/gloss-concept.js.map +1 -0
  377. package/dist/rdf/gloss-designation.d.ts +17 -0
  378. package/dist/rdf/gloss-designation.d.ts.map +1 -0
  379. package/dist/rdf/gloss-designation.js +46 -0
  380. package/dist/rdf/gloss-designation.js.map +1 -0
  381. package/dist/rdf/gloss-detailed-definition.d.ts +14 -0
  382. package/dist/rdf/gloss-detailed-definition.d.ts.map +1 -0
  383. package/dist/rdf/gloss-detailed-definition.js +53 -0
  384. package/dist/rdf/gloss-detailed-definition.js.map +1 -0
  385. package/dist/rdf/gloss-generic-hyperedge.d.ts +27 -0
  386. package/dist/rdf/gloss-generic-hyperedge.d.ts.map +1 -0
  387. package/{src/rdf/gloss-generic-hyperedge.ts → dist/rdf/gloss-generic-hyperedge.js} +36 -50
  388. package/dist/rdf/gloss-generic-hyperedge.js.map +1 -0
  389. package/dist/rdf/gloss-localized-concept.d.ts +24 -0
  390. package/dist/rdf/gloss-localized-concept.d.ts.map +1 -0
  391. package/dist/rdf/gloss-localized-concept.js +71 -0
  392. package/dist/rdf/gloss-localized-concept.js.map +1 -0
  393. package/dist/rdf/gloss-non-verbal-rep.d.ts +33 -0
  394. package/dist/rdf/gloss-non-verbal-rep.d.ts.map +1 -0
  395. package/dist/rdf/gloss-non-verbal-rep.js +163 -0
  396. package/dist/rdf/gloss-non-verbal-rep.js.map +1 -0
  397. package/dist/rdf/gloss-partitive-member.d.ts +8 -0
  398. package/dist/rdf/gloss-partitive-member.d.ts.map +1 -0
  399. package/{src/rdf/gloss-partitive-member.ts → dist/rdf/gloss-partitive-member.js} +23 -41
  400. package/dist/rdf/gloss-partitive-member.js.map +1 -0
  401. package/dist/rdf/gloss-partitive-relation.d.ts +26 -0
  402. package/dist/rdf/gloss-partitive-relation.d.ts.map +1 -0
  403. package/dist/rdf/gloss-partitive-relation.js +73 -0
  404. package/dist/rdf/gloss-partitive-relation.js.map +1 -0
  405. package/dist/rdf/gloss-source.d.ts +23 -0
  406. package/dist/rdf/gloss-source.d.ts.map +1 -0
  407. package/dist/rdf/gloss-source.js +52 -0
  408. package/dist/rdf/gloss-source.js.map +1 -0
  409. package/dist/rdf/group-emitter.d.ts +46 -0
  410. package/dist/rdf/group-emitter.d.ts.map +1 -0
  411. package/dist/rdf/group-emitter.js +107 -0
  412. package/dist/rdf/group-emitter.js.map +1 -0
  413. package/dist/rdf/image-variant-emitter.d.ts +12 -0
  414. package/dist/rdf/image-variant-emitter.d.ts.map +1 -0
  415. package/dist/rdf/image-variant-emitter.js +55 -0
  416. package/dist/rdf/image-variant-emitter.js.map +1 -0
  417. package/dist/rdf/index.d.ts +26 -0
  418. package/dist/rdf/index.d.ts.map +1 -0
  419. package/{src/rdf/index.ts → dist/rdf/index.js} +8 -37
  420. package/dist/rdf/index.js.map +1 -0
  421. package/dist/rdf/normalize-enum.d.ts +3 -0
  422. package/dist/rdf/normalize-enum.d.ts.map +1 -0
  423. package/{src/rdf/normalize-enum.ts → dist/rdf/normalize-enum.js} +11 -10
  424. package/dist/rdf/normalize-enum.js.map +1 -0
  425. package/dist/rdf/predicates.d.ts +277 -0
  426. package/dist/rdf/predicates.d.ts.map +1 -0
  427. package/dist/rdf/predicates.js +279 -0
  428. package/dist/rdf/predicates.js.map +1 -0
  429. package/dist/rdf/prefixes.d.ts +16 -0
  430. package/dist/rdf/prefixes.d.ts.map +1 -0
  431. package/{src/rdf/prefixes.ts → dist/rdf/prefixes.js} +10 -12
  432. package/dist/rdf/prefixes.js.map +1 -0
  433. package/dist/rdf/provenance-emitter.d.ts +28 -0
  434. package/dist/rdf/provenance-emitter.d.ts.map +1 -0
  435. package/dist/rdf/provenance-emitter.js +74 -0
  436. package/dist/rdf/provenance-emitter.js.map +1 -0
  437. package/dist/rdf/sections-builder.d.ts +17 -0
  438. package/dist/rdf/sections-builder.d.ts.map +1 -0
  439. package/dist/rdf/sections-builder.js +137 -0
  440. package/dist/rdf/sections-builder.js.map +1 -0
  441. package/dist/rdf/shacl-entry.d.ts +2 -0
  442. package/dist/rdf/shacl-entry.d.ts.map +1 -0
  443. package/{src/rdf/shacl-entry.ts → dist/rdf/shacl-entry.js} +1 -1
  444. package/dist/rdf/shacl-entry.js.map +1 -0
  445. package/dist/rdf/shacl.d.ts +10 -0
  446. package/dist/rdf/shacl.d.ts.map +1 -0
  447. package/{src/rdf/shacl.ts → dist/rdf/shacl.js} +38 -57
  448. package/dist/rdf/shacl.js.map +1 -0
  449. package/dist/rdf/terms.d.ts +10 -0
  450. package/dist/rdf/terms.d.ts.map +1 -0
  451. package/{src/rdf/terms.ts → dist/rdf/terms.js} +6 -3
  452. package/dist/rdf/terms.js.map +1 -0
  453. package/dist/rdf/version-emitter.d.ts +57 -0
  454. package/dist/rdf/version-emitter.d.ts.map +1 -0
  455. package/dist/rdf/version-emitter.js +68 -0
  456. package/dist/rdf/version-emitter.js.map +1 -0
  457. package/dist/rdf/vocabulary-emitter.d.ts +32 -0
  458. package/dist/rdf/vocabulary-emitter.d.ts.map +1 -0
  459. package/dist/rdf/vocabulary-emitter.js +46 -0
  460. package/dist/rdf/vocabulary-emitter.js.map +1 -0
  461. package/dist/rdf/write-turtle-sync.d.ts +7 -0
  462. package/dist/rdf/write-turtle-sync.d.ts.map +1 -0
  463. package/dist/rdf/write-turtle-sync.js +130 -0
  464. package/dist/rdf/write-turtle-sync.js.map +1 -0
  465. package/dist/reference-mention.d.ts +49 -0
  466. package/dist/reference-mention.d.ts.map +1 -0
  467. package/dist/reference-mention.js +98 -0
  468. package/dist/reference-mention.js.map +1 -0
  469. package/dist/reference-resolver.d.ts +52 -0
  470. package/dist/reference-resolver.d.ts.map +1 -0
  471. package/dist/reference-resolver.js +311 -0
  472. package/dist/reference-resolver.js.map +1 -0
  473. package/dist/render-classification.d.ts +19 -0
  474. package/dist/render-classification.d.ts.map +1 -0
  475. package/dist/render-classification.js +82 -0
  476. package/dist/render-classification.js.map +1 -0
  477. package/dist/sort.d.ts +5 -0
  478. package/dist/sort.d.ts.map +1 -0
  479. package/dist/sort.js +25 -0
  480. package/dist/sort.js.map +1 -0
  481. package/dist/transforms/concept-to-gloss.transform.d.ts +32 -0
  482. package/dist/transforms/concept-to-gloss.transform.d.ts.map +1 -0
  483. package/dist/transforms/concept-to-gloss.transform.js +60 -0
  484. package/dist/transforms/concept-to-gloss.transform.js.map +1 -0
  485. package/dist/transforms/index.d.ts +2 -0
  486. package/dist/transforms/index.d.ts.map +1 -0
  487. package/{src/transforms/index.ts → dist/transforms/index.js} +1 -0
  488. package/dist/transforms/index.js.map +1 -0
  489. package/dist/utils/assertions.d.ts +4 -0
  490. package/dist/utils/assertions.d.ts.map +1 -0
  491. package/dist/utils/assertions.js +17 -0
  492. package/dist/utils/assertions.js.map +1 -0
  493. package/dist/utils/external-detection.d.ts +38 -0
  494. package/dist/utils/external-detection.d.ts.map +1 -0
  495. package/dist/utils/external-detection.js +55 -0
  496. package/dist/utils/external-detection.js.map +1 -0
  497. package/dist/uuid.d.ts +4 -0
  498. package/dist/uuid.d.ts.map +1 -0
  499. package/dist/uuid.js +23 -0
  500. package/dist/uuid.js.map +1 -0
  501. package/dist/v1-reader.d.ts +8 -0
  502. package/dist/v1-reader.d.ts.map +1 -0
  503. package/dist/v1-reader.js +56 -0
  504. package/dist/v1-reader.js.map +1 -0
  505. package/dist/validators/asset-index.d.ts +23 -0
  506. package/dist/validators/asset-index.d.ts.map +1 -0
  507. package/dist/validators/asset-index.js +58 -0
  508. package/dist/validators/asset-index.js.map +1 -0
  509. package/dist/validators/binary-has-part-redundancy-rule.d.ts +8 -0
  510. package/dist/validators/binary-has-part-redundancy-rule.d.ts.map +1 -0
  511. package/dist/validators/binary-has-part-redundancy-rule.js +57 -0
  512. package/dist/validators/binary-has-part-redundancy-rule.js.map +1 -0
  513. package/dist/validators/concept-validator.d.ts +21 -0
  514. package/dist/validators/concept-validator.d.ts.map +1 -0
  515. package/dist/validators/concept-validator.js +76 -0
  516. package/dist/validators/concept-validator.js.map +1 -0
  517. package/dist/validators/delimiting-coherence-rule.d.ts +8 -0
  518. package/dist/validators/delimiting-coherence-rule.d.ts.map +1 -0
  519. package/dist/validators/delimiting-coherence-rule.js +72 -0
  520. package/dist/validators/delimiting-coherence-rule.js.map +1 -0
  521. package/dist/validators/extensional-completeness.d.ts +18 -0
  522. package/dist/validators/extensional-completeness.d.ts.map +1 -0
  523. package/dist/validators/extensional-completeness.js +41 -0
  524. package/dist/validators/extensional-completeness.js.map +1 -0
  525. package/dist/validators/external-concept-shape-rule.d.ts +8 -0
  526. package/dist/validators/external-concept-shape-rule.d.ts.map +1 -0
  527. package/dist/validators/external-concept-shape-rule.js +48 -0
  528. package/dist/validators/external-concept-shape-rule.js.map +1 -0
  529. package/dist/validators/gcr-validator.d.ts +11 -0
  530. package/dist/validators/gcr-validator.d.ts.map +1 -0
  531. package/dist/validators/gcr-validator.js +76 -0
  532. package/dist/validators/gcr-validator.js.map +1 -0
  533. package/dist/validators/hyperedge-coherence-rule.d.ts +9 -0
  534. package/dist/validators/hyperedge-coherence-rule.d.ts.map +1 -0
  535. package/dist/validators/hyperedge-coherence-rule.js +78 -0
  536. package/dist/validators/hyperedge-coherence-rule.js.map +1 -0
  537. package/dist/validators/index.d.ts +21 -0
  538. package/dist/validators/index.d.ts.map +1 -0
  539. package/{src/validators/index.ts → dist/validators/index.js} +25 -51
  540. package/dist/validators/index.js.map +1 -0
  541. package/dist/validators/partitive-relation-coherence-rule.d.ts +2 -0
  542. package/dist/validators/partitive-relation-coherence-rule.d.ts.map +1 -0
  543. package/{src/validators/partitive-relation-coherence-rule.ts → dist/validators/partitive-relation-coherence-rule.js} +1 -1
  544. package/dist/validators/partitive-relation-coherence-rule.js.map +1 -0
  545. package/dist/validators/ref-keys.d.ts +8 -0
  546. package/dist/validators/ref-keys.d.ts.map +1 -0
  547. package/dist/validators/ref-keys.js +27 -0
  548. package/dist/validators/ref-keys.js.map +1 -0
  549. package/dist/validators/register-validator.d.ts +10 -0
  550. package/dist/validators/register-validator.d.ts.map +1 -0
  551. package/dist/validators/register-validator.js +18 -0
  552. package/dist/validators/register-validator.js.map +1 -0
  553. package/dist/validators/relationship-type-rule.d.ts +13 -0
  554. package/dist/validators/relationship-type-rule.d.ts.map +1 -0
  555. package/dist/validators/relationship-type-rule.js +34 -0
  556. package/dist/validators/relationship-type-rule.js.map +1 -0
  557. package/dist/validators/sourced-from-locality-rule.d.ts +8 -0
  558. package/dist/validators/sourced-from-locality-rule.d.ts.map +1 -0
  559. package/dist/validators/sourced-from-locality-rule.js +37 -0
  560. package/dist/validators/sourced-from-locality-rule.js.map +1 -0
  561. package/dist/validators/v3-rules.d.ts +60 -0
  562. package/dist/validators/v3-rules.d.ts.map +1 -0
  563. package/dist/validators/v3-rules.js +327 -0
  564. package/dist/validators/v3-rules.js.map +1 -0
  565. package/dist/validators/validation-error.d.ts +13 -0
  566. package/dist/validators/validation-error.d.ts.map +1 -0
  567. package/dist/validators/validation-error.js +17 -0
  568. package/dist/validators/validation-error.js.map +1 -0
  569. package/dist/validators/validation-result.d.ts +17 -0
  570. package/dist/validators/validation-result.d.ts.map +1 -0
  571. package/dist/validators/validation-result.js +47 -0
  572. package/dist/validators/validation-result.js.map +1 -0
  573. package/dist/validators/validation-rule.d.ts +10 -0
  574. package/dist/validators/validation-rule.d.ts.map +1 -0
  575. package/dist/validators/validation-rule.js +17 -0
  576. package/dist/validators/validation-rule.js.map +1 -0
  577. package/package.json +37 -42
  578. package/src/concept-collection.ts +0 -172
  579. package/src/concept-parser.ts +0 -235
  580. package/src/concept-reader.d.ts +0 -13
  581. package/src/concept-serializer.ts +0 -110
  582. package/src/concept-writer.d.ts +0 -7
  583. package/src/concept-writer.ts +0 -47
  584. package/src/diff/canonical-json.ts +0 -29
  585. package/src/diff/change.ts +0 -175
  586. package/src/diff/collection-diff.ts +0 -245
  587. package/src/diff/concept-diff.ts +0 -853
  588. package/src/diff/diff-patch.ts +0 -276
  589. package/src/diff/diff-renderer.ts +0 -348
  590. package/src/diff/identity.ts +0 -33
  591. package/src/diff/index.d.ts +0 -242
  592. package/src/diff/index.ts +0 -50
  593. package/src/diff/list-diff.ts +0 -231
  594. package/src/diff/similarity.ts +0 -20
  595. package/src/diff/text-diff.ts +0 -167
  596. package/src/entity-directory.ts +0 -43
  597. package/src/errors.d.ts +0 -11
  598. package/src/errors.ts +0 -24
  599. package/src/gcr-reader.d.ts +0 -65
  600. package/src/gcr-reader.ts +0 -512
  601. package/src/gcr-writer.d.ts +0 -22
  602. package/src/gcr-writer.ts +0 -99
  603. package/src/index.d.ts +0 -124
  604. package/src/index.ts +0 -92
  605. package/src/managed-concept-collection.ts +0 -130
  606. package/src/migration/hyperedge-migrator.ts +0 -104
  607. package/src/models/abstract-hyperedge.ts +0 -164
  608. package/src/models/base.ts +0 -110
  609. package/src/models/bibliography-data.ts +0 -64
  610. package/src/models/bibliography-entry.ts +0 -40
  611. package/src/models/citation.ts +0 -98
  612. package/src/models/concept-date.ts +0 -48
  613. package/src/models/concept-ref.ts +0 -64
  614. package/src/models/concept-reference.ts +0 -50
  615. package/src/models/concept-source.ts +0 -96
  616. package/src/models/concept-system-type.ts +0 -39
  617. package/src/models/concept-system.ts +0 -152
  618. package/src/models/concept.ts +0 -499
  619. package/src/models/dataset-color.ts +0 -88
  620. package/src/models/designation-relationship.ts +0 -39
  621. package/src/models/designation.ts +0 -297
  622. package/src/models/detailed-definition.ts +0 -92
  623. package/src/models/enum.ts +0 -60
  624. package/src/models/equivalence-degree.ts +0 -34
  625. package/src/models/figure.ts +0 -110
  626. package/src/models/formula.ts +0 -36
  627. package/src/models/gcr-metadata.ts +0 -118
  628. package/src/models/gcr-statistics.ts +0 -76
  629. package/src/models/generic-hyperedge.ts +0 -72
  630. package/src/models/generic-member.ts +0 -80
  631. package/src/models/grammar-info.ts +0 -78
  632. package/src/models/hyperedge-colors.ts +0 -87
  633. package/src/models/hyperedge-index.ts +0 -101
  634. package/src/models/hyperedge-member.ts +0 -121
  635. package/src/models/hyperedge-registry.ts +0 -145
  636. package/src/models/index.d.ts +0 -586
  637. package/src/models/locality.ts +0 -34
  638. package/src/models/localized-concept.ts +0 -284
  639. package/src/models/localized-string.ts +0 -32
  640. package/src/models/multiplicity.ts +0 -134
  641. package/src/models/non-verb-rep.ts +0 -48
  642. package/src/models/non-verbal-entity.ts +0 -65
  643. package/src/models/non-verbal-reference.ts +0 -73
  644. package/src/models/non-verbal-references.ts +0 -29
  645. package/src/models/partitive-enumeration.ts +0 -27
  646. package/src/models/partitive-hyperedge.ts +0 -90
  647. package/src/models/partitive-member.ts +0 -56
  648. package/src/models/plurality-marker.ts +0 -31
  649. package/src/models/pronunciation.ts +0 -40
  650. package/src/models/register.ts +0 -315
  651. package/src/models/registrable.ts +0 -48
  652. package/src/models/related-concept.ts +0 -117
  653. package/src/models/relation-categories.ts +0 -167
  654. package/src/models/relation-colors.ts +0 -90
  655. package/src/models/relation-loader.ts +0 -115
  656. package/src/models/section.ts +0 -61
  657. package/src/models/sequential-hyperedge.ts +0 -70
  658. package/src/models/shared-non-verbal-entity.ts +0 -36
  659. package/src/models/table.ts +0 -36
  660. package/src/rdf/agents-emitter.ts +0 -137
  661. package/src/rdf/bibliography-emitter.ts +0 -126
  662. package/src/rdf/bnode-id.ts +0 -55
  663. package/src/rdf/build-activity-emitter.ts +0 -129
  664. package/src/rdf/curie.ts +0 -46
  665. package/src/rdf/dataset-emitter.ts +0 -170
  666. package/src/rdf/deterministic-id.ts +0 -69
  667. package/src/rdf/document-writer.ts +0 -87
  668. package/src/rdf/gloss-concept.ts +0 -115
  669. package/src/rdf/gloss-designation.ts +0 -72
  670. package/src/rdf/gloss-detailed-definition.ts +0 -69
  671. package/src/rdf/gloss-localized-concept.ts +0 -79
  672. package/src/rdf/gloss-non-verbal-rep.ts +0 -202
  673. package/src/rdf/gloss-partitive-relation.ts +0 -89
  674. package/src/rdf/gloss-source.ts +0 -56
  675. package/src/rdf/group-emitter.ts +0 -133
  676. package/src/rdf/image-variant-emitter.ts +0 -80
  677. package/src/rdf/index.d.ts +0 -371
  678. package/src/rdf/predicates.d.ts +0 -527
  679. package/src/rdf/predicates.ts +0 -287
  680. package/src/rdf/provenance-emitter.ts +0 -87
  681. package/src/rdf/sections-builder.ts +0 -190
  682. package/src/rdf/shacl-entry.d.ts +0 -6
  683. package/src/rdf/version-emitter.ts +0 -97
  684. package/src/rdf/vocabulary-emitter.ts +0 -67
  685. package/src/rdf/write-turtle-sync.ts +0 -179
  686. package/src/reference-mention.ts +0 -114
  687. package/src/reference-resolver.ts +0 -361
  688. package/src/render-classification.ts +0 -85
  689. package/src/sort.ts +0 -22
  690. package/src/transforms/concept-to-gloss.transform.ts +0 -81
  691. package/src/transforms/index.d.ts +0 -26
  692. package/src/uuid.ts +0 -32
  693. package/src/v1-reader.ts +0 -66
  694. package/src/validators/asset-index.ts +0 -72
  695. package/src/validators/binary-has-part-redundancy-rule.ts +0 -67
  696. package/src/validators/concept-validator.ts +0 -93
  697. package/src/validators/delimiting-coherence-rule.ts +0 -105
  698. package/src/validators/external-concept-shape-rule.ts +0 -60
  699. package/src/validators/gcr-validator.ts +0 -76
  700. package/src/validators/hyperedge-coherence-rule.ts +0 -98
  701. package/src/validators/index.d.ts +0 -43
  702. package/src/validators/ref-keys.ts +0 -31
  703. package/src/validators/register-validator.ts +0 -18
  704. package/src/validators/relationship-type-rule.ts +0 -39
  705. package/src/validators/sourced-from-locality-rule.ts +0 -53
  706. package/src/validators/v3-rules.ts +0 -382
  707. package/src/validators/validation-error.ts +0 -19
  708. package/src/validators/validation-result.ts +0 -52
  709. package/src/validators/validation-rule.ts +0 -21
@@ -0,0 +1,32 @@
1
+ import { AbstractHyperedge } from './abstract-hyperedge.js';
2
+ import type { AbstractHyperedgeJson } from './abstract-hyperedge.js';
3
+ import { GenericMember } from './generic-member.js';
4
+ import type { GenericMemberJson } from './generic-member.js';
5
+ export interface GenericHyperedgeJson extends AbstractHyperedgeJson {
6
+ members: ReadonlyArray<GenericMemberJson | GenericMember>;
7
+ }
8
+ export declare class GenericHyperedge extends AbstractHyperedge {
9
+ static wireKey: "generic_relations";
10
+ static typeTag: "generic_relation";
11
+ static rdfType: "gloss:GenericRelation";
12
+ static memberClass: typeof GenericMember;
13
+ static v1WireKeys: ReadonlyArray<string>;
14
+ static kindLabel: string;
15
+ readonly members: ReadonlyArray<GenericMember>;
16
+ constructor(data?: Partial<GenericHyperedgeJson>);
17
+ static identityOf(value: {
18
+ comprehensive?: {
19
+ source?: string | null;
20
+ id?: string | null;
21
+ } | null;
22
+ members?: ReadonlyArray<{
23
+ ref?: {
24
+ source?: string | null;
25
+ id?: string | null;
26
+ } | null;
27
+ } | null>;
28
+ } | null | undefined): string;
29
+ static fromJSON(data: GenericHyperedgeJson): GenericHyperedge;
30
+ }
31
+ export default GenericHyperedge;
32
+ //# sourceMappingURL=generic-hyperedge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-hyperedge.d.ts","sourceRoot":"","sources":["../../src/models/generic-hyperedge.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IACjE,OAAO,EAAE,aAAa,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;CAC3D;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB;IAErD,MAAM,CAAC,OAAO,EAAG,mBAAmB,CAAU;IAC9C,MAAM,CAAC,OAAO,EAAG,kBAAkB,CAAU;IAC7C,MAAM,CAAC,OAAO,EAAG,uBAAuB,CAAU;IAClD,MAAM,CAAC,WAAW,uBAAiB;IACnC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAM;IAC9C,MAAM,CAAC,SAAS,SAAS;IAEzB,SAAiB,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;gBAE3C,IAAI,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAepD,MAAM,CAAC,UAAU,CACf,KAAK,EAAE;QACL,aAAa,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;QACtE,OAAO,CAAC,EAAE,aAAa,CAAC;YAAE,GAAG,CAAC,EAAE;gBAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC,CAAC;KACjG,GAAG,IAAI,GAAG,SAAS,GACnB,MAAM;WAYO,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB;CAGvE;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,51 @@
1
+ // GenericHyperedge — an ISO 704 / ISO 1087-1 / ISO 12620 generic
2
+ // relation connecting a comprehensive concept (the genus) to two
3
+ // or more specific concepts (the species) which together constitute
4
+ // a decomposition by some criterion of subdivision.
5
+ //
6
+ // Mirror of PartitiveHyperedge. Multiple GenericRelations on the same
7
+ // comprehensive distinguished by `criterion` is the OIML pattern
8
+ // (5.1 measurement standard has 6 criterion groups).
9
+ //
10
+ // See docs/design/generic-relation.md (concept-model repo).
11
+ import { AbstractHyperedge } from './abstract-hyperedge.js';
12
+ import { GenericMember } from './generic-member.js';
13
+ import { HyperedgeRegistry } from './hyperedge-registry.js';
14
+ export class GenericHyperedge extends AbstractHyperedge {
15
+ // Per-class metadata block — the OCP contract.
16
+ static wireKey = 'generic_relations';
17
+ static typeTag = 'generic_relation';
18
+ static rdfType = 'gloss:GenericRelation';
19
+ static memberClass = GenericMember;
20
+ static v1WireKeys = [];
21
+ static kindLabel = 'GEN';
22
+ constructor(data = {}) {
23
+ super({
24
+ comprehensive: data.comprehensive ?? {},
25
+ members: data.members ?? [],
26
+ completeness: data.completeness ?? 'complete',
27
+ criterion: data.criterion,
28
+ sources: data.sources,
29
+ notes: data.notes,
30
+ status: data.status,
31
+ });
32
+ this.members = (Array.isArray(data.members) ? data.members : []).map((m) => m instanceof GenericMember ? m : new GenericMember(m));
33
+ }
34
+ static identityOf(value) {
35
+ const v = value ?? {};
36
+ const c = v.comprehensive ?? {};
37
+ const memberKeys = (v.members ?? [])
38
+ .map((m) => {
39
+ const r = m?.ref ?? m ?? {};
40
+ return `${r.source ?? ''}:${r.id ?? ''}`;
41
+ })
42
+ .sort();
43
+ return `${c.source ?? ''}:${c.id ?? ''}|${memberKeys.join('|')}`;
44
+ }
45
+ static fromJSON(data) {
46
+ return new GenericHyperedge(data);
47
+ }
48
+ }
49
+ export default GenericHyperedge;
50
+ HyperedgeRegistry.register(GenericHyperedge);
51
+ //# sourceMappingURL=generic-hyperedge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-hyperedge.js","sourceRoot":"","sources":["../../src/models/generic-hyperedge.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,iEAAiE;AACjE,oEAAoE;AACpE,oDAAoD;AACpD,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,qDAAqD;AACrD,EAAE;AACF,4DAA4D;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAM5D,MAAM,OAAO,gBAAiB,SAAQ,iBAAiB;IACrD,+CAA+C;IAC/C,MAAM,CAAC,OAAO,GAAG,mBAA4B,CAAC;IAC9C,MAAM,CAAC,OAAO,GAAG,kBAA2B,CAAC;IAC7C,MAAM,CAAC,OAAO,GAAG,uBAAgC,CAAC;IAClD,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC;IACnC,MAAM,CAAC,UAAU,GAA0B,EAAE,CAAC;IAC9C,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IAIzB,YAAY,OAAsC,EAAE;QAClD,KAAK,CAAC;YACJ,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,UAAU;YAC7C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACzE,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAsB,CAAC,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CACf,KAGoB;QAEpB,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,IAAK,CAA6C,IAAI,EAAE,CAAC;YACzE,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3C,CAAC,CAAC;aACD,IAAI,EAAE,CAAC;QACV,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAA0B;QACjD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;;AAGH,eAAe,gBAAgB,CAAC;AAEhC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { HyperedgeMember } from './hyperedge-member.js';
2
+ import type { HyperedgeMemberJson } from './hyperedge-member.js';
3
+ export type LocalizedString = Readonly<Record<string, string>>;
4
+ export interface GenericMemberJson extends HyperedgeMemberJson {
5
+ delimitingCharacteristic: LocalizedString | string;
6
+ }
7
+ export declare class GenericMember extends HyperedgeMember {
8
+ readonly delimitingCharacteristic: LocalizedString;
9
+ constructor(data?: GenericMemberJson);
10
+ toJSON(): GenericMemberJson;
11
+ static fromJSON(data: GenericMemberJson): GenericMember;
12
+ }
13
+ export default GenericMember;
14
+ //# sourceMappingURL=generic-member.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-member.d.ts","sourceRoot":"","sources":["../../src/models/generic-member.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/D,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,wBAAwB,EAAE,eAAe,GAAG,MAAM,CAAC;CACpD;AAED,qBAAa,aAAc,SAAQ,eAAe;IAChD,QAAQ,CAAC,wBAAwB,EAAE,eAAe,CAAC;gBAEvC,IAAI,GAAE,iBAAoD;IAO7D,MAAM,IAAI,iBAAiB;WAMpB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa;CAGjE;AAsCD,eAAe,aAAa,CAAC"}
@@ -0,0 +1,51 @@
1
+ // GenericMember — one member of a GenericHyperedge.
2
+ //
3
+ // Per ISO 704:2022 §5.5.4.2.1 (Generic relations and general concepts):
4
+ //
5
+ // "In a generic relation, the intension of the subordinate concept
6
+ // includes the intension of the superordinate concept plus at least
7
+ // one additional delimiting characteristic."
8
+ //
9
+ // See docs/design/abstract-hyperedge.md for the full rationale and
10
+ // the computer-mouse worked example.
11
+ import { HyperedgeMember } from './hyperedge-member.js';
12
+ export class GenericMember extends HyperedgeMember {
13
+ delimitingCharacteristic;
14
+ constructor(data = { delimitingCharacteristic: {} }) {
15
+ super(data);
16
+ this.delimitingCharacteristic = _resolveDelimitingCharacteristic(data.delimitingCharacteristic);
17
+ }
18
+ toJSON() {
19
+ const base = super.toJSON();
20
+ base.delimitingCharacteristic = { ...this.delimitingCharacteristic };
21
+ return base;
22
+ }
23
+ static fromJSON(data) {
24
+ return new GenericMember(data);
25
+ }
26
+ }
27
+ function _resolveDelimitingCharacteristic(value) {
28
+ if (value == null) {
29
+ throw new Error('GenericMember.delimitingCharacteristic is required per ISO 704:2022 §5.5.4.2.1 ' +
30
+ '(the intension of a subordinate concept must include at least one additional ' +
31
+ 'delimiting characteristic beyond the superordinate).');
32
+ }
33
+ if (typeof value === 'string') {
34
+ if (value.length === 0) {
35
+ throw new Error('GenericMember.delimitingCharacteristic cannot be empty (ISO 704:2022 §5.5.4.2.1)');
36
+ }
37
+ return { default: value };
38
+ }
39
+ if (typeof value === 'object') {
40
+ const entries = Object.entries(value).filter(([, v]) => typeof v === 'string' && v.length > 0);
41
+ if (entries.length === 0) {
42
+ throw new Error('GenericMember.delimitingCharacteristic must have at least one non-empty string ' +
43
+ 'value (ISO 704:2022 §5.5.4.2.1)');
44
+ }
45
+ return Object.fromEntries(entries);
46
+ }
47
+ throw new Error(`GenericMember.delimitingCharacteristic must be a string or a language-keyed object; ` +
48
+ `got ${typeof value}`);
49
+ }
50
+ export default GenericMember;
51
+ //# sourceMappingURL=generic-member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-member.js","sourceRoot":"","sources":["../../src/models/generic-member.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,wEAAwE;AACxE,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,gDAAgD;AAChD,EAAE;AACF,mEAAmE;AACnE,qCAAqC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AASxD,MAAM,OAAO,aAAc,SAAQ,eAAe;IACvC,wBAAwB,CAAkB;IAEnD,YAAY,OAA0B,EAAE,wBAAwB,EAAE,EAAE,EAAE;QACpE,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,wBAAwB,GAAG,gCAAgC,CAC9D,IAAI,CAAC,wBAAwB,CAC9B,CAAC;IACJ,CAAC;IAEQ,MAAM;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAuB,CAAC;QACjD,IAAI,CAAC,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAAuB;QAC9C,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAED,SAAS,gCAAgC,CACvC,KAAkD;IAElD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,iFAAiF;YACjF,+EAA+E;YAC/E,sDAAsD,CACvD,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CACjD,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,iFAAiF;gBACjF,iCAAiC,CAClC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAoB,CAAC;IACxD,CAAC;IACD,MAAM,IAAI,KAAK,CACb,sFAAsF;QACtF,OAAO,OAAO,KAAK,EAAE,CACtB,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { GlossaristModel } from './base.js';
2
+ export type GrammarGender = 'm' | 'f' | 'n' | 'c' | string;
3
+ export type GrammarNumber = 'singular' | 'dual' | 'plural' | string;
4
+ export type GrammarPartOfSpeech = 'noun' | 'verb' | 'adj' | 'adverb' | 'preposition' | 'participle' | string;
5
+ export declare const GRAMMAR_GENDERS: ReadonlyArray<string>;
6
+ export declare const GRAMMAR_NUMBERS: ReadonlyArray<string>;
7
+ export declare const GRAMMAR_PARTS_OF_SPEECH: ReadonlyArray<string>;
8
+ export interface GrammarInfoJson {
9
+ gender?: GrammarGender | null;
10
+ number?: GrammarNumber | null;
11
+ part_of_speech?: GrammarPartOfSpeech | null;
12
+ partOfSpeech?: GrammarPartOfSpeech | null;
13
+ noun?: boolean;
14
+ verb?: boolean;
15
+ adj?: boolean;
16
+ adverb?: boolean;
17
+ preposition?: boolean;
18
+ participle?: boolean;
19
+ }
20
+ export declare class GrammarInfo extends GlossaristModel {
21
+ readonly gender: GrammarGender | null;
22
+ readonly number: GrammarNumber | null;
23
+ readonly partOfSpeech: GrammarPartOfSpeech | null;
24
+ readonly noun: boolean;
25
+ readonly verb: boolean;
26
+ readonly adj: boolean;
27
+ readonly adverb: boolean;
28
+ readonly preposition: boolean;
29
+ readonly participle: boolean;
30
+ constructor(data?: GrammarInfoJson);
31
+ toJSON(): GrammarInfoJson;
32
+ static fromJSON(data: GrammarInfoJson): GrammarInfo;
33
+ }
34
+ //# sourceMappingURL=grammar-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammar-info.d.ts","sourceRoot":"","sources":["../../src/models/grammar-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,MAAM,GACN,KAAK,GACL,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,MAAM,CAAC;AAEX,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,MAAM,CAEhD,CAAC;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,MAAM,CAEhD,CAAC;AACH,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,MAAM,CAExD,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,WAAY,SAAQ,eAAe;IAC9C,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;gBAEjB,IAAI,GAAE,eAAoB;IAa7B,MAAM,IAAI,eAAe;WAclB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW;CAG7D"}
@@ -0,0 +1,59 @@
1
+ import { GlossaristModel } from './base.js';
2
+ export const GRAMMAR_GENDERS = Object.freeze([
3
+ 'm', 'f', 'n', 'c',
4
+ ]);
5
+ export const GRAMMAR_NUMBERS = Object.freeze([
6
+ 'singular', 'dual', 'plural',
7
+ ]);
8
+ export const GRAMMAR_PARTS_OF_SPEECH = Object.freeze([
9
+ 'noun', 'verb', 'adj', 'adverb', 'preposition', 'participle',
10
+ ]);
11
+ export class GrammarInfo extends GlossaristModel {
12
+ gender;
13
+ number;
14
+ partOfSpeech;
15
+ noun;
16
+ verb;
17
+ adj;
18
+ adverb;
19
+ preposition;
20
+ participle;
21
+ constructor(data = {}) {
22
+ super();
23
+ this.gender = data.gender ?? null;
24
+ this.number = data.number ?? null;
25
+ this.partOfSpeech = data.part_of_speech ?? data.partOfSpeech ?? null;
26
+ this.noun = data.noun ?? false;
27
+ this.verb = data.verb ?? false;
28
+ this.adj = data.adj ?? false;
29
+ this.adverb = data.adverb ?? false;
30
+ this.preposition = data.preposition ?? false;
31
+ this.participle = data.participle ?? false;
32
+ }
33
+ toJSON() {
34
+ const obj = {};
35
+ if (this.gender != null)
36
+ obj.gender = this.gender;
37
+ if (this.number != null)
38
+ obj.number = this.number;
39
+ if (this.partOfSpeech != null)
40
+ obj.part_of_speech = this.partOfSpeech;
41
+ if (this.noun)
42
+ obj.noun = true;
43
+ if (this.verb)
44
+ obj.verb = true;
45
+ if (this.adj)
46
+ obj.adj = true;
47
+ if (this.adverb)
48
+ obj.adverb = true;
49
+ if (this.preposition)
50
+ obj.preposition = true;
51
+ if (this.participle)
52
+ obj.participle = true;
53
+ return obj;
54
+ }
55
+ static fromJSON(data) {
56
+ return new GrammarInfo(data);
57
+ }
58
+ }
59
+ //# sourceMappingURL=grammar-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammar-info.js","sourceRoot":"","sources":["../../src/models/grammar-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAa5C,MAAM,CAAC,MAAM,eAAe,GAA0B,MAAM,CAAC,MAAM,CAAC;IAClE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CACnB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B,MAAM,CAAC,MAAM,CAAC;IAClE,UAAU,EAAE,MAAM,EAAE,QAAQ;CAC7B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA0B,MAAM,CAAC,MAAM,CAAC;IAC1E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY;CAC7D,CAAC,CAAC;AAeH,MAAM,OAAO,WAAY,SAAQ,eAAe;IACrC,MAAM,CAAuB;IAC7B,MAAM,CAAuB;IAC7B,YAAY,CAA6B;IACzC,IAAI,CAAU;IACd,IAAI,CAAU;IACd,GAAG,CAAU;IACb,MAAM,CAAU;IAChB,WAAW,CAAU;IACrB,UAAU,CAAU;IAE7B,YAAY,OAAwB,EAAE;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;IAC7C,CAAC;IAEQ,MAAM;QACb,MAAM,GAAG,GAAoB,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAClD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAClD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC;QACtE,IAAI,IAAI,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QACnC,IAAI,IAAI,CAAC,WAAW;YAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7C,IAAI,IAAI,CAAC,UAAU;YAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAAqB;QAC5C,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ import type { ColorPair } from './relation-colors.js';
2
+ export interface ResolveHyperedgeColorOptions {
3
+ category?: string;
4
+ overrides?: {
5
+ byCategory?: Record<string, Partial<ColorPair>>;
6
+ };
7
+ }
8
+ export interface ResolvedHyperedgeColor {
9
+ light: string;
10
+ dark: string;
11
+ pattern: 'dashed' | 'double' | null;
12
+ }
13
+ interface HyperedgeLike {
14
+ enumeration?: string;
15
+ markers?: ReadonlyArray<string>;
16
+ }
17
+ export declare function resolveHyperedgeColor(hyperedge: HyperedgeLike | null, options?: ResolveHyperedgeColorOptions): ResolvedHyperedgeColor | null;
18
+ export {};
19
+ //# sourceMappingURL=hyperedge-colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperedge-colors.d.ts","sourceRoot":"","sources":["../../src/models/hyperedge-colors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAStD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;CACrC;AAED,UAAU,aAAa;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,aAAa,GAAG,IAAI,EAC/B,OAAO,GAAE,4BAAiC,GACzC,sBAAsB,GAAG,IAAI,CAe/B"}
@@ -0,0 +1,61 @@
1
+ // Hyperedge color resolver — resolves display colors for a
2
+ // PartitiveHyperedge based on its enumeration and the carrying
3
+ // concept's category color.
4
+ import { categoryColorPair } from './relation-colors.js';
5
+ const ENUMERATION_INTENSITY = Object.freeze({
6
+ closed: 1.0,
7
+ open: 0.55,
8
+ });
9
+ const DEFAULT_CATEGORY = 'hierarchical';
10
+ export function resolveHyperedgeColor(hyperedge, options = {}) {
11
+ if (!hyperedge)
12
+ return null;
13
+ const category = options.category ?? DEFAULT_CATEGORY;
14
+ const base = categoryColorPair(category, options.overrides);
15
+ if (!base)
16
+ return null;
17
+ const intensity = ENUMERATION_INTENSITY[hyperedge.enumeration ?? ''] ?? 1.0;
18
+ const pattern = derivePattern(hyperedge.markers);
19
+ return {
20
+ light: tint(base.light, intensity),
21
+ dark: tint(base.dark, intensity),
22
+ pattern,
23
+ };
24
+ }
25
+ function derivePattern(markers) {
26
+ const arr = markers ?? [];
27
+ if (arr.includes('dashed'))
28
+ return 'dashed';
29
+ if (arr.includes('double'))
30
+ return 'double';
31
+ return null;
32
+ }
33
+ /**
34
+ * Linear interpolation between the base color and white (light mode)
35
+ * or between the base and a neutral (dark mode). Pure-string inputs
36
+ * return the original color when intensity === 1.0.
37
+ */
38
+ function tint(hex, ratio) {
39
+ if (ratio >= 1.0)
40
+ return hex;
41
+ const rgb = parseHex(hex);
42
+ if (!rgb)
43
+ return hex;
44
+ const target = [255, 255, 255];
45
+ const mixed = rgb.map((c, i) => Math.round(c + ((target[i] ?? 255) - c) * (1 - ratio)));
46
+ return '#' + mixed.map((c) => c.toString(16).padStart(2, '0')).join('');
47
+ }
48
+ function parseHex(s) {
49
+ if (typeof s !== 'string')
50
+ return null;
51
+ const m = s.match(/^#?([0-9a-f]{6})$/i);
52
+ if (!m)
53
+ return null;
54
+ const n = m[1];
55
+ return [
56
+ parseInt(n.slice(0, 2), 16),
57
+ parseInt(n.slice(2, 4), 16),
58
+ parseInt(n.slice(4, 6), 16),
59
+ ];
60
+ }
61
+ //# sourceMappingURL=hyperedge-colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperedge-colors.js","sourceRoot":"","sources":["../../src/models/hyperedge-colors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { AbstractHyperedge } from './abstract-hyperedge.js';
2
+ interface HyperedgeLike {
3
+ comprehensive?: {
4
+ source?: string | null;
5
+ id?: string | null;
6
+ } | null;
7
+ members?: ReadonlyArray<{
8
+ ref?: {
9
+ source?: string | null;
10
+ id?: string | null;
11
+ } | null;
12
+ }>;
13
+ }
14
+ export declare class HyperedgeIndex {
15
+ private readonly _byComprehensive;
16
+ private readonly _byMember;
17
+ constructor(hyperedges?: ReadonlyArray<HyperedgeLike>);
18
+ forComprehensive(qualifiedId: string): HyperedgeLike[];
19
+ forMember(qualifiedId: string): HyperedgeLike[];
20
+ comprehensives(): string[];
21
+ members(): string[];
22
+ get size(): number;
23
+ }
24
+ /**
25
+ * Build a HyperedgeIndex across multiple Concepts' relations arrays
26
+ * (a dataset-wide view). Each Concept contributes its own .relations.
27
+ * Helper for the most common pattern: index once at collection load,
28
+ * query many times.
29
+ */
30
+ export declare function buildDatasetIndex(concepts?: ReadonlyArray<{
31
+ relations?: ReadonlyArray<AbstractHyperedge | HyperedgeLike>;
32
+ }>): HyperedgeIndex;
33
+ export {};
34
+ //# sourceMappingURL=hyperedge-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperedge-index.d.ts","sourceRoot":"","sources":["../../src/models/hyperedge-index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,UAAU,aAAa;IACrB,aAAa,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,OAAO,CAAC,EAAE,aAAa,CAAC;QAAE,GAAG,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC1F;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAChE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;gBAE7C,UAAU,GAAE,aAAa,CAAC,aAAa,CAAM;IAgBzD,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE;IAKtD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE;IAK/C,cAAc,IAAI,MAAM,EAAE;IAK1B,OAAO,IAAI,MAAM,EAAE;IAInB,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,GAAE,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,aAAa,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAA;CAAE,CAAM,GAC7F,cAAc,CAQhB"}
@@ -0,0 +1,85 @@
1
+ // HyperedgeIndex — directional index over a hyperedge set.
2
+ //
3
+ // A hyperedge is 1→N (one comprehensive, many members). The forward
4
+ // query ("which hyperedges have X as comprehensive?") and the reverse
5
+ // query ("which hyperedges have Y as a member?") are both useful. The
6
+ // reverse query is the load-bearing one: OIML V 2-200:2010 concept
7
+ // 5.13 is a member of one of 5.1's hyperedges AND the comprehensive
8
+ // of its own 2 hyperedges — without an index, every "find hyperedges
9
+ // mentioning X" turns into an O(N) walk over every hyperedge.
10
+ //
11
+ // The index is built on demand from a flat hyperedge list (typically
12
+ // Concept.relations or the union of all concepts' relations in a
13
+ // collection). It does not store state on Concept — Concept stays a
14
+ // simple value object.
15
+ //
16
+ // Identity key matches HyperedgeRegistry / ConceptRef conventions:
17
+ // `${source}:${id}` (empty source or id is rejected)
18
+ export class HyperedgeIndex {
19
+ _byComprehensive;
20
+ _byMember;
21
+ constructor(hyperedges = []) {
22
+ this._byComprehensive = new Map();
23
+ this._byMember = new Map();
24
+ for (const h of hyperedges) {
25
+ const cKey = _qualifiedId(h?.comprehensive);
26
+ if (cKey)
27
+ _addToMapList(this._byComprehensive, cKey, h);
28
+ const members = Array.isArray(h?.members) ? h.members : [];
29
+ for (const m of members) {
30
+ const mKey = _qualifiedId(m?.ref ?? m);
31
+ if (mKey)
32
+ _addToMapList(this._byMember, mKey, h);
33
+ }
34
+ }
35
+ }
36
+ // Hyperedges where the given concept is the comprehensive (the "1" side).
37
+ forComprehensive(qualifiedId) {
38
+ return this._byComprehensive.get(qualifiedId) ?? [];
39
+ }
40
+ // Hyperedges where the given concept appears as a member (the "many" side).
41
+ forMember(qualifiedId) {
42
+ return this._byMember.get(qualifiedId) ?? [];
43
+ }
44
+ // All concepts that appear as a comprehensive in any indexed hyperedge.
45
+ comprehensives() {
46
+ return [...this._byComprehensive.keys()];
47
+ }
48
+ // All concepts that appear as a member in any indexed hyperedge.
49
+ members() {
50
+ return [...this._byMember.keys()];
51
+ }
52
+ get size() {
53
+ return this._byComprehensive.size;
54
+ }
55
+ }
56
+ /**
57
+ * Build a HyperedgeIndex across multiple Concepts' relations arrays
58
+ * (a dataset-wide view). Each Concept contributes its own .relations.
59
+ * Helper for the most common pattern: index once at collection load,
60
+ * query many times.
61
+ */
62
+ export function buildDatasetIndex(concepts = []) {
63
+ const all = [];
64
+ for (const concept of concepts) {
65
+ for (const h of concept.relations ?? []) {
66
+ all.push(h);
67
+ }
68
+ }
69
+ return new HyperedgeIndex(all);
70
+ }
71
+ function _qualifiedId(ref) {
72
+ if (!ref)
73
+ return null;
74
+ const source = ref.source ?? '';
75
+ const id = ref.id ?? '';
76
+ if (!source && !id)
77
+ return null;
78
+ return `${source}:${id}`;
79
+ }
80
+ function _addToMapList(map, key, value) {
81
+ if (!map.has(key))
82
+ map.set(key, []);
83
+ map.get(key)?.push(value);
84
+ }
85
+ //# sourceMappingURL=hyperedge-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperedge-index.js","sourceRoot":"","sources":["../../src/models/hyperedge-index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,oEAAoE;AACpE,sEAAsE;AACtE,sEAAsE;AACtE,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,8DAA8D;AAC9D,EAAE;AACF,qEAAqE;AACrE,iEAAiE;AACjE,oEAAoE;AACpE,uBAAuB;AACvB,EAAE;AACF,mEAAmE;AACnE,yDAAyD;AASzD,MAAM,OAAO,cAAc;IACR,gBAAgB,CAA+B;IAC/C,SAAS,CAA+B;IAEzD,YAAY,aAA2C,EAAE;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAC5C,IAAI,IAAI;gBAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBACvC,IAAI,IAAI;oBAAE,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,gBAAgB,CAAC,WAAmB;QAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,4EAA4E;IAC5E,SAAS,CAAC,WAAmB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,wEAAwE;IACxE,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAA4F,EAAE;IAE9F,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,CAAkB,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,YAAY,CACnB,GAAsE;IAEtE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;IAChC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,aAAa,CAAI,GAAqB,EAAE,GAAW,EAAE,KAAQ;IACpE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { GlossaristModel } from './base.js';
2
+ import { ConceptRef } from './concept-ref.js';
3
+ import type { ConceptRefJson } from './concept-ref.js';
4
+ import type { PartitivePresence } from './partitive-presence.js';
5
+ import type { PartitiveCount } from './partitive-count.js';
6
+ export interface HyperedgeMemberJson {
7
+ ref?: ConceptRefJson | ConceptRef;
8
+ presence?: PartitivePresence;
9
+ count?: PartitiveCount;
10
+ }
11
+ export declare abstract class HyperedgeMember extends GlossaristModel {
12
+ readonly ref: ConceptRef;
13
+ readonly presence: PartitivePresence;
14
+ readonly count: PartitiveCount;
15
+ constructor(data?: HyperedgeMemberJson);
16
+ get isRequired(): boolean;
17
+ get isOptional(): boolean;
18
+ identity(): string;
19
+ toJSON(): HyperedgeMemberJson;
20
+ static identityOf(value: {
21
+ ref?: {
22
+ source?: string | null;
23
+ id?: string | null;
24
+ } | null;
25
+ } | null | undefined): string;
26
+ static fromJSON(_data: HyperedgeMemberJson): HyperedgeMember;
27
+ }
28
+ //# sourceMappingURL=hyperedge-member.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperedge-member.d.ts","sourceRoot":"","sources":["../../src/models/hyperedge-member.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC;IAClC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,8BAAsB,eAAgB,SAAQ,eAAe;IAC3D,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;gBAEnB,IAAI,GAAE,mBAAwB;IAS1C,IAAI,UAAU,IAAI,OAAO,CAAyC;IAClE,IAAI,UAAU,IAAI,OAAO,CAAyC;IAEzD,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,mBAAmB;IAOtC,MAAM,CAAC,UAAU,CACf,KAAK,EAAE;QAAE,GAAG,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,GACxF,MAAM;WAMO,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,eAAe;CAStE"}
@@ -0,0 +1,92 @@
1
+ // HyperedgeMember — abstract base shape for the members of any directed
2
+ // 1→N hyperedge (PartitiveMember, GenericMember, future AssociativeMember,
3
+ // SequentialMember).
4
+ //
5
+ // Carries ONLY the dimensions shared by every hyperedge member type:
6
+ // ref — ConceptRef [1] (the member concept)
7
+ // presence — 'required' | 'optional' (default: required)
8
+ // count — 'exactly_one' | 'at_least_one' | 'multiple' (default: exactly_one)
9
+ //
10
+ // These three form the ISO 704:2022 MECE pair (presence × count). The
11
+ // pair is the shared invariant across all hyperedge types — that's
12
+ // why it lives on the base.
13
+ //
14
+ // Type-specific extensions live on the leaves:
15
+ // PartitiveMember — is_delimiting (rake-diagram semantics, ISO 704 §5.5.4.2.2)
16
+ // GenericMember — delimitingCharacteristic (intension difference, ISO 704 §5.5.4.2.1)
17
+ //
18
+ // See docs/design/abstract-hyperedge.md (concept-model repo).
19
+ import { GlossaristModel } from './base.js';
20
+ import { ConceptRef } from './concept-ref.js';
21
+ import { PARTITIVE_PRESENCE_VALUES, DEFAULT_PRESENCE, isValidPresence } from './partitive-presence.js';
22
+ import { PARTITIVE_COUNT_VALUES, DEFAULT_COUNT, isValidCount } from './partitive-count.js';
23
+ import { multiplicityFromPair } from './multiplicity.js';
24
+ export class HyperedgeMember extends GlossaristModel {
25
+ ref;
26
+ presence;
27
+ count;
28
+ constructor(data = {}) {
29
+ super();
30
+ this.ref = _ensureRef(data.ref);
31
+ this.presence = _resolvePresence(data.presence);
32
+ this.count = _resolveCount(data.count);
33
+ _assertValidPair(this.presence, this.count);
34
+ }
35
+ get isRequired() { return this.presence === 'required'; }
36
+ get isOptional() { return this.presence === 'optional'; }
37
+ identity() {
38
+ return HyperedgeMember.identityOf(this);
39
+ }
40
+ toJSON() {
41
+ const obj = { ref: this.ref.toJSON() };
42
+ if (this.presence !== DEFAULT_PRESENCE)
43
+ obj.presence = this.presence;
44
+ if (this.count !== DEFAULT_COUNT)
45
+ obj.count = this.count;
46
+ return obj;
47
+ }
48
+ static identityOf(value) {
49
+ const v = value ?? {};
50
+ const ref = v.ref ?? {};
51
+ return `${ref.source ?? ''}:${ref.id ?? ''}`;
52
+ }
53
+ static fromJSON(_data) {
54
+ // Abstract base — subclasses MUST override. The base
55
+ // implementation is a typed marker that dispatches to the wrong
56
+ // class would surface as a runtime error rather than silently
57
+ // returning a mis-typed instance.
58
+ throw new Error('HyperedgeMember.fromJSON must be overridden by a subclass');
59
+ }
60
+ }
61
+ function _ensureRef(value) {
62
+ const ref = value instanceof ConceptRef ? value : new ConceptRef(value ?? {});
63
+ if (!ref.source && !ref.id && !ref.text) {
64
+ throw new Error('HyperedgeMember.ref must be a non-empty ConceptRef ' +
65
+ '(source, id, or text required)');
66
+ }
67
+ return ref;
68
+ }
69
+ function _resolvePresence(value) {
70
+ const p = value ?? DEFAULT_PRESENCE;
71
+ if (!isValidPresence(p)) {
72
+ throw new Error(`invalid presence ${JSON.stringify(value)}; ` +
73
+ `must be one of: ${PARTITIVE_PRESENCE_VALUES.join(', ')}`);
74
+ }
75
+ return p;
76
+ }
77
+ function _resolveCount(value) {
78
+ const c = value ?? DEFAULT_COUNT;
79
+ if (!isValidCount(c)) {
80
+ throw new Error(`invalid count ${JSON.stringify(value)}; ` +
81
+ `must be one of: ${PARTITIVE_COUNT_VALUES.join(', ')}`);
82
+ }
83
+ return c;
84
+ }
85
+ function _assertValidPair(presence, count) {
86
+ // Delegate to the multiplicity SSOT. The canonical error string
87
+ // lives in one place: multiplicity.ts. Calling multiplicityFromPair
88
+ // throws on the invalid combination; we don't need to duplicate the
89
+ // error message here.
90
+ multiplicityFromPair(presence, count);
91
+ }
92
+ //# sourceMappingURL=hyperedge-member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperedge-member.js","sourceRoot":"","sources":["../../src/models/hyperedge-member.ts"],"names":[],"mappings":"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"}