glossarist 0.4.49 → 0.4.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (700) hide show
  1. package/dist/compiled-format.d.ts +43 -0
  2. package/dist/compiled-format.d.ts.map +1 -0
  3. package/{src/compiled-format.ts → dist/compiled-format.js} +28 -46
  4. package/dist/compiled-format.js.map +1 -0
  5. package/dist/concept-collection.d.ts +39 -0
  6. package/dist/concept-collection.d.ts.map +1 -0
  7. package/dist/concept-collection.js +127 -0
  8. package/dist/concept-collection.js.map +1 -0
  9. package/dist/concept-diff.d.ts +14 -0
  10. package/dist/concept-diff.d.ts.map +1 -0
  11. package/{src/concept-diff.ts → dist/concept-diff.js} +2 -20
  12. package/dist/concept-diff.js.map +1 -0
  13. package/dist/concept-parser.d.ts +11 -0
  14. package/dist/concept-parser.d.ts.map +1 -0
  15. package/dist/concept-parser.js +209 -0
  16. package/dist/concept-parser.js.map +1 -0
  17. package/dist/concept-reader.d.ts +55 -0
  18. package/dist/concept-reader.d.ts.map +1 -0
  19. package/{src/concept-reader.ts → dist/concept-reader.js} +70 -76
  20. package/dist/concept-reader.js.map +1 -0
  21. package/dist/concept-serializer.d.ts +9 -0
  22. package/dist/concept-serializer.d.ts.map +1 -0
  23. package/dist/concept-serializer.js +87 -0
  24. package/dist/concept-serializer.js.map +1 -0
  25. package/dist/concept-writer.d.ts +10 -0
  26. package/dist/concept-writer.d.ts.map +1 -0
  27. package/dist/concept-writer.js +28 -0
  28. package/dist/concept-writer.js.map +1 -0
  29. package/dist/dataset-asset.d.ts +49 -0
  30. package/dist/dataset-asset.d.ts.map +1 -0
  31. package/{src/dataset-asset.ts → dist/dataset-asset.js} +16 -33
  32. package/dist/dataset-asset.js.map +1 -0
  33. package/dist/diff/canonical-json.d.ts +7 -0
  34. package/dist/diff/canonical-json.d.ts.map +1 -0
  35. package/dist/diff/canonical-json.js +28 -0
  36. package/dist/diff/canonical-json.js.map +1 -0
  37. package/dist/diff/change.d.ts +67 -0
  38. package/dist/diff/change.d.ts.map +1 -0
  39. package/dist/diff/change.js +131 -0
  40. package/dist/diff/change.js.map +1 -0
  41. package/dist/diff/collection-diff.d.ts +50 -0
  42. package/dist/diff/collection-diff.d.ts.map +1 -0
  43. package/dist/diff/collection-diff.js +182 -0
  44. package/dist/diff/collection-diff.js.map +1 -0
  45. package/dist/diff/concept-diff.d.ts +188 -0
  46. package/dist/diff/concept-diff.d.ts.map +1 -0
  47. package/dist/diff/concept-diff.js +624 -0
  48. package/dist/diff/concept-diff.js.map +1 -0
  49. package/dist/diff/diff-patch.d.ts +7 -0
  50. package/dist/diff/diff-patch.d.ts.map +1 -0
  51. package/dist/diff/diff-patch.js +225 -0
  52. package/dist/diff/diff-patch.js.map +1 -0
  53. package/dist/diff/diff-renderer.d.ts +44 -0
  54. package/dist/diff/diff-renderer.d.ts.map +1 -0
  55. package/dist/diff/diff-renderer.js +263 -0
  56. package/dist/diff/diff-renderer.js.map +1 -0
  57. package/dist/diff/identity.d.ts +2 -0
  58. package/dist/diff/identity.d.ts.map +1 -0
  59. package/dist/diff/identity.js +29 -0
  60. package/dist/diff/identity.js.map +1 -0
  61. package/dist/diff/index.d.ts +8 -0
  62. package/dist/diff/index.d.ts.map +1 -0
  63. package/dist/diff/index.js +8 -0
  64. package/dist/diff/index.js.map +1 -0
  65. package/dist/diff/list-diff.d.ts +36 -0
  66. package/dist/diff/list-diff.d.ts.map +1 -0
  67. package/dist/diff/list-diff.js +185 -0
  68. package/dist/diff/list-diff.js.map +1 -0
  69. package/dist/diff/similarity.d.ts +4 -0
  70. package/dist/diff/similarity.d.ts.map +1 -0
  71. package/dist/diff/similarity.js +20 -0
  72. package/dist/diff/similarity.js.map +1 -0
  73. package/dist/diff/text-diff.d.ts +42 -0
  74. package/dist/diff/text-diff.d.ts.map +1 -0
  75. package/dist/diff/text-diff.js +134 -0
  76. package/dist/diff/text-diff.js.map +1 -0
  77. package/dist/entity-directory.d.ts +13 -0
  78. package/dist/entity-directory.d.ts.map +1 -0
  79. package/dist/entity-directory.js +35 -0
  80. package/dist/entity-directory.js.map +1 -0
  81. package/dist/errors.d.ts +15 -0
  82. package/dist/errors.d.ts.map +1 -0
  83. package/dist/errors.js +23 -0
  84. package/dist/errors.js.map +1 -0
  85. package/dist/gcr-reader.d.ts +57 -0
  86. package/dist/gcr-reader.d.ts.map +1 -0
  87. package/dist/gcr-reader.js +264 -0
  88. package/dist/gcr-reader.js.map +1 -0
  89. package/dist/gcr-writer.d.ts +23 -0
  90. package/dist/gcr-writer.d.ts.map +1 -0
  91. package/dist/gcr-writer.js +84 -0
  92. package/dist/gcr-writer.js.map +1 -0
  93. package/dist/index.d.ts +21 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/{src/index.ts → dist/index.js} +6 -66
  96. package/dist/index.js.map +1 -0
  97. package/dist/managed-concept-collection.d.ts +31 -0
  98. package/dist/managed-concept-collection.d.ts.map +1 -0
  99. package/dist/managed-concept-collection.js +87 -0
  100. package/dist/managed-concept-collection.js.map +1 -0
  101. package/dist/migration/hyperedge-migrator.d.ts +33 -0
  102. package/dist/migration/hyperedge-migrator.d.ts.map +1 -0
  103. package/dist/migration/hyperedge-migrator.js +70 -0
  104. package/dist/migration/hyperedge-migrator.js.map +1 -0
  105. package/dist/models/abstract-hyperedge.d.ts +35 -0
  106. package/dist/models/abstract-hyperedge.d.ts.map +1 -0
  107. package/dist/models/abstract-hyperedge.js +112 -0
  108. package/dist/models/abstract-hyperedge.js.map +1 -0
  109. package/dist/models/base.d.ts +58 -0
  110. package/dist/models/base.d.ts.map +1 -0
  111. package/dist/models/base.js +77 -0
  112. package/dist/models/base.js.map +1 -0
  113. package/dist/models/bibliography-data.d.ts +20 -0
  114. package/dist/models/bibliography-data.d.ts.map +1 -0
  115. package/dist/models/bibliography-data.js +43 -0
  116. package/dist/models/bibliography-data.js.map +1 -0
  117. package/dist/models/bibliography-entry.d.ts +19 -0
  118. package/dist/models/bibliography-entry.d.ts.map +1 -0
  119. package/dist/models/bibliography-entry.js +34 -0
  120. package/dist/models/bibliography-entry.js.map +1 -0
  121. package/dist/models/citation.d.ts +40 -0
  122. package/dist/models/citation.d.ts.map +1 -0
  123. package/dist/models/citation.js +82 -0
  124. package/dist/models/citation.js.map +1 -0
  125. package/dist/models/completeness.d.ts +9 -0
  126. package/dist/models/completeness.d.ts.map +1 -0
  127. package/{src/models/completeness.ts → dist/models/completeness.js} +4 -9
  128. package/dist/models/completeness.js.map +1 -0
  129. package/dist/models/concept-date.d.ts +20 -0
  130. package/dist/models/concept-date.d.ts.map +1 -0
  131. package/dist/models/concept-date.js +36 -0
  132. package/dist/models/concept-date.js.map +1 -0
  133. package/dist/models/concept-ref.d.ts +32 -0
  134. package/dist/models/concept-ref.d.ts.map +1 -0
  135. package/dist/models/concept-ref.js +53 -0
  136. package/dist/models/concept-ref.js.map +1 -0
  137. package/dist/models/concept-reference.d.ts +22 -0
  138. package/dist/models/concept-reference.d.ts.map +1 -0
  139. package/dist/models/concept-reference.js +39 -0
  140. package/dist/models/concept-reference.js.map +1 -0
  141. package/dist/models/concept-source.d.ts +53 -0
  142. package/dist/models/concept-source.d.ts.map +1 -0
  143. package/dist/models/concept-source.js +66 -0
  144. package/dist/models/concept-source.js.map +1 -0
  145. package/dist/models/concept-system-type.d.ts +6 -0
  146. package/dist/models/concept-system-type.d.ts.map +1 -0
  147. package/dist/models/concept-system-type.js +22 -0
  148. package/dist/models/concept-system-type.js.map +1 -0
  149. package/dist/models/concept-system.d.ts +44 -0
  150. package/dist/models/concept-system.d.ts.map +1 -0
  151. package/dist/models/concept-system.js +115 -0
  152. package/dist/models/concept-system.js.map +1 -0
  153. package/dist/models/concept-type.d.ts +7 -0
  154. package/dist/models/concept-type.d.ts.map +1 -0
  155. package/{src/models/concept-type.ts → dist/models/concept-type.js} +8 -19
  156. package/dist/models/concept-type.js.map +1 -0
  157. package/dist/models/concept.d.ts +94 -0
  158. package/dist/models/concept.d.ts.map +1 -0
  159. package/dist/models/concept.js +368 -0
  160. package/dist/models/concept.js.map +1 -0
  161. package/dist/models/dataset-color.d.ts +28 -0
  162. package/dist/models/dataset-color.d.ts.map +1 -0
  163. package/dist/models/dataset-color.js +74 -0
  164. package/dist/models/dataset-color.js.map +1 -0
  165. package/dist/models/definition-type.d.ts +9 -0
  166. package/dist/models/definition-type.d.ts.map +1 -0
  167. package/{src/models/definition-type.ts → dist/models/definition-type.js} +6 -15
  168. package/dist/models/definition-type.js.map +1 -0
  169. package/dist/models/designation-relationship.d.ts +17 -0
  170. package/dist/models/designation-relationship.d.ts.map +1 -0
  171. package/dist/models/designation-relationship.js +30 -0
  172. package/dist/models/designation-relationship.js.map +1 -0
  173. package/dist/models/designation.d.ts +110 -0
  174. package/dist/models/designation.d.ts.map +1 -0
  175. package/dist/models/designation.js +224 -0
  176. package/dist/models/designation.js.map +1 -0
  177. package/dist/models/detailed-definition.d.ts +34 -0
  178. package/dist/models/detailed-definition.d.ts.map +1 -0
  179. package/dist/models/detailed-definition.js +63 -0
  180. package/dist/models/detailed-definition.js.map +1 -0
  181. package/dist/models/enum.d.ts +21 -0
  182. package/dist/models/enum.d.ts.map +1 -0
  183. package/dist/models/enum.js +39 -0
  184. package/dist/models/enum.js.map +1 -0
  185. package/dist/models/equivalence-degree.d.ts +7 -0
  186. package/dist/models/equivalence-degree.d.ts.map +1 -0
  187. package/dist/models/equivalence-degree.js +20 -0
  188. package/dist/models/equivalence-degree.js.map +1 -0
  189. package/dist/models/figure.d.ts +40 -0
  190. package/dist/models/figure.d.ts.map +1 -0
  191. package/dist/models/figure.js +82 -0
  192. package/dist/models/figure.js.map +1 -0
  193. package/dist/models/formula.d.ts +15 -0
  194. package/dist/models/formula.d.ts.map +1 -0
  195. package/dist/models/formula.js +27 -0
  196. package/dist/models/formula.js.map +1 -0
  197. package/dist/models/gcr-metadata.d.ts +62 -0
  198. package/dist/models/gcr-metadata.d.ts.map +1 -0
  199. package/dist/models/gcr-metadata.js +102 -0
  200. package/dist/models/gcr-metadata.js.map +1 -0
  201. package/dist/models/gcr-statistics.d.ts +30 -0
  202. package/dist/models/gcr-statistics.d.ts.map +1 -0
  203. package/dist/models/gcr-statistics.js +53 -0
  204. package/dist/models/gcr-statistics.js.map +1 -0
  205. package/dist/models/generic-hyperedge.d.ts +32 -0
  206. package/dist/models/generic-hyperedge.d.ts.map +1 -0
  207. package/dist/models/generic-hyperedge.js +51 -0
  208. package/dist/models/generic-hyperedge.js.map +1 -0
  209. package/dist/models/generic-member.d.ts +14 -0
  210. package/dist/models/generic-member.d.ts.map +1 -0
  211. package/dist/models/generic-member.js +51 -0
  212. package/dist/models/generic-member.js.map +1 -0
  213. package/dist/models/grammar-info.d.ts +34 -0
  214. package/dist/models/grammar-info.d.ts.map +1 -0
  215. package/dist/models/grammar-info.js +59 -0
  216. package/dist/models/grammar-info.js.map +1 -0
  217. package/dist/models/hyperedge-colors.d.ts +19 -0
  218. package/dist/models/hyperedge-colors.d.ts.map +1 -0
  219. package/dist/models/hyperedge-colors.js +61 -0
  220. package/dist/models/hyperedge-colors.js.map +1 -0
  221. package/dist/models/hyperedge-index.d.ts +34 -0
  222. package/dist/models/hyperedge-index.d.ts.map +1 -0
  223. package/dist/models/hyperedge-index.js +85 -0
  224. package/dist/models/hyperedge-index.js.map +1 -0
  225. package/dist/models/hyperedge-member.d.ts +28 -0
  226. package/dist/models/hyperedge-member.d.ts.map +1 -0
  227. package/dist/models/hyperedge-member.js +92 -0
  228. package/dist/models/hyperedge-member.js.map +1 -0
  229. package/dist/models/hyperedge-registry.d.ts +47 -0
  230. package/dist/models/hyperedge-registry.d.ts.map +1 -0
  231. package/dist/models/hyperedge-registry.js +118 -0
  232. package/dist/models/hyperedge-registry.js.map +1 -0
  233. package/dist/models/index.d.ts +53 -0
  234. package/dist/models/index.d.ts.map +1 -0
  235. package/{src/models/index.ts → dist/models/index.js} +11 -63
  236. package/dist/models/index.js.map +1 -0
  237. package/dist/models/locality.d.ts +17 -0
  238. package/dist/models/locality.d.ts.map +1 -0
  239. package/dist/models/locality.js +26 -0
  240. package/dist/models/locality.js.map +1 -0
  241. package/dist/models/localized-concept.d.ts +102 -0
  242. package/dist/models/localized-concept.d.ts.map +1 -0
  243. package/dist/models/localized-concept.js +195 -0
  244. package/dist/models/localized-concept.js.map +1 -0
  245. package/dist/models/localized-string.d.ts +5 -0
  246. package/dist/models/localized-string.d.ts.map +1 -0
  247. package/dist/models/localized-string.js +20 -0
  248. package/dist/models/localized-string.js.map +1 -0
  249. package/dist/models/multiplicity.d.ts +42 -0
  250. package/dist/models/multiplicity.d.ts.map +1 -0
  251. package/dist/models/multiplicity.js +84 -0
  252. package/dist/models/multiplicity.js.map +1 -0
  253. package/dist/models/non-verb-rep.d.ts +20 -0
  254. package/dist/models/non-verb-rep.d.ts.map +1 -0
  255. package/dist/models/non-verb-rep.js +32 -0
  256. package/dist/models/non-verb-rep.js.map +1 -0
  257. package/dist/models/non-verbal-entity.d.ts +30 -0
  258. package/dist/models/non-verbal-entity.d.ts.map +1 -0
  259. package/dist/models/non-verbal-entity.js +48 -0
  260. package/dist/models/non-verbal-entity.js.map +1 -0
  261. package/dist/models/non-verbal-reference.d.ts +23 -0
  262. package/dist/models/non-verbal-reference.d.ts.map +1 -0
  263. package/dist/models/non-verbal-reference.js +44 -0
  264. package/dist/models/non-verbal-reference.js.map +1 -0
  265. package/dist/models/non-verbal-references.d.ts +12 -0
  266. package/dist/models/non-verbal-references.d.ts.map +1 -0
  267. package/dist/models/non-verbal-references.js +20 -0
  268. package/dist/models/non-verbal-references.js.map +1 -0
  269. package/dist/models/partitive-count.d.ts +10 -0
  270. package/dist/models/partitive-count.d.ts.map +1 -0
  271. package/{src/models/partitive-count.ts → dist/models/partitive-count.js} +5 -9
  272. package/dist/models/partitive-count.js.map +1 -0
  273. package/dist/models/partitive-enumeration.d.ts +5 -0
  274. package/dist/models/partitive-enumeration.d.ts.map +1 -0
  275. package/dist/models/partitive-enumeration.js +16 -0
  276. package/dist/models/partitive-enumeration.js.map +1 -0
  277. package/dist/models/partitive-hyperedge.d.ts +43 -0
  278. package/dist/models/partitive-hyperedge.d.ts.map +1 -0
  279. package/dist/models/partitive-hyperedge.js +63 -0
  280. package/dist/models/partitive-hyperedge.js.map +1 -0
  281. package/dist/models/partitive-member.d.ts +14 -0
  282. package/dist/models/partitive-member.d.ts.map +1 -0
  283. package/dist/models/partitive-member.js +44 -0
  284. package/dist/models/partitive-member.js.map +1 -0
  285. package/dist/models/partitive-presence.d.ts +9 -0
  286. package/dist/models/partitive-presence.d.ts.map +1 -0
  287. package/{src/models/partitive-presence.ts → dist/models/partitive-presence.js} +4 -8
  288. package/dist/models/partitive-presence.js.map +1 -0
  289. package/dist/models/plurality-marker.d.ts +5 -0
  290. package/dist/models/plurality-marker.d.ts.map +1 -0
  291. package/dist/models/plurality-marker.js +20 -0
  292. package/dist/models/plurality-marker.js.map +1 -0
  293. package/dist/models/pronunciation.d.ts +19 -0
  294. package/dist/models/pronunciation.d.ts.map +1 -0
  295. package/dist/models/pronunciation.js +34 -0
  296. package/dist/models/pronunciation.js.map +1 -0
  297. package/dist/models/register.d.ts +104 -0
  298. package/dist/models/register.d.ts.map +1 -0
  299. package/dist/models/register.js +297 -0
  300. package/dist/models/register.js.map +1 -0
  301. package/dist/models/registrable.d.ts +25 -0
  302. package/dist/models/registrable.d.ts.map +1 -0
  303. package/dist/models/registrable.js +23 -0
  304. package/dist/models/registrable.js.map +1 -0
  305. package/dist/models/related-concept.d.ts +33 -0
  306. package/dist/models/related-concept.d.ts.map +1 -0
  307. package/dist/models/related-concept.js +95 -0
  308. package/dist/models/related-concept.js.map +1 -0
  309. package/dist/models/relation-categories.d.ts +38 -0
  310. package/dist/models/relation-categories.d.ts.map +1 -0
  311. package/dist/models/relation-categories.js +135 -0
  312. package/dist/models/relation-categories.js.map +1 -0
  313. package/dist/models/relation-colors.d.ts +35 -0
  314. package/dist/models/relation-colors.d.ts.map +1 -0
  315. package/dist/models/relation-colors.js +68 -0
  316. package/dist/models/relation-colors.js.map +1 -0
  317. package/dist/models/relation-loader.d.ts +41 -0
  318. package/dist/models/relation-loader.d.ts.map +1 -0
  319. package/dist/models/relation-loader.js +101 -0
  320. package/dist/models/relation-loader.js.map +1 -0
  321. package/dist/models/section.d.ts +22 -0
  322. package/dist/models/section.d.ts.map +1 -0
  323. package/dist/models/section.js +47 -0
  324. package/dist/models/section.js.map +1 -0
  325. package/dist/models/sequential-hyperedge.d.ts +32 -0
  326. package/dist/models/sequential-hyperedge.d.ts.map +1 -0
  327. package/dist/models/sequential-hyperedge.js +49 -0
  328. package/dist/models/sequential-hyperedge.js.map +1 -0
  329. package/dist/models/sequential-member.d.ts +8 -0
  330. package/dist/models/sequential-member.d.ts.map +1 -0
  331. package/{src/models/sequential-member.ts → dist/models/sequential-member.js} +4 -9
  332. package/dist/models/sequential-member.js.map +1 -0
  333. package/dist/models/shared-non-verbal-entity.d.ts +16 -0
  334. package/dist/models/shared-non-verbal-entity.d.ts.map +1 -0
  335. package/dist/models/shared-non-verbal-entity.js +28 -0
  336. package/dist/models/shared-non-verbal-entity.js.map +1 -0
  337. package/dist/models/table.d.ts +15 -0
  338. package/dist/models/table.d.ts.map +1 -0
  339. package/dist/models/table.js +27 -0
  340. package/dist/models/table.js.map +1 -0
  341. package/dist/rdf/agents-emitter.d.ts +37 -0
  342. package/dist/rdf/agents-emitter.d.ts.map +1 -0
  343. package/dist/rdf/agents-emitter.js +107 -0
  344. package/dist/rdf/agents-emitter.js.map +1 -0
  345. package/dist/rdf/bibliography-emitter.d.ts +16 -0
  346. package/dist/rdf/bibliography-emitter.d.ts.map +1 -0
  347. package/dist/rdf/bibliography-emitter.js +84 -0
  348. package/dist/rdf/bibliography-emitter.js.map +1 -0
  349. package/dist/rdf/bnode-id.d.ts +2 -0
  350. package/dist/rdf/bnode-id.d.ts.map +1 -0
  351. package/dist/rdf/bnode-id.js +57 -0
  352. package/dist/rdf/bnode-id.js.map +1 -0
  353. package/dist/rdf/build-activity-emitter.d.ts +42 -0
  354. package/dist/rdf/build-activity-emitter.d.ts.map +1 -0
  355. package/dist/rdf/build-activity-emitter.js +103 -0
  356. package/dist/rdf/build-activity-emitter.js.map +1 -0
  357. package/dist/rdf/curie.d.ts +7 -0
  358. package/dist/rdf/curie.d.ts.map +1 -0
  359. package/dist/rdf/curie.js +45 -0
  360. package/dist/rdf/curie.js.map +1 -0
  361. package/dist/rdf/dataset-emitter.d.ts +37 -0
  362. package/dist/rdf/dataset-emitter.d.ts.map +1 -0
  363. package/dist/rdf/dataset-emitter.js +126 -0
  364. package/dist/rdf/dataset-emitter.js.map +1 -0
  365. package/dist/rdf/deterministic-id.d.ts +3 -0
  366. package/dist/rdf/deterministic-id.d.ts.map +1 -0
  367. package/dist/rdf/deterministic-id.js +68 -0
  368. package/dist/rdf/deterministic-id.js.map +1 -0
  369. package/dist/rdf/document-writer.d.ts +11 -0
  370. package/dist/rdf/document-writer.d.ts.map +1 -0
  371. package/dist/rdf/document-writer.js +77 -0
  372. package/dist/rdf/document-writer.js.map +1 -0
  373. package/dist/rdf/gloss-concept.d.ts +27 -0
  374. package/dist/rdf/gloss-concept.d.ts.map +1 -0
  375. package/dist/rdf/gloss-concept.js +95 -0
  376. package/dist/rdf/gloss-concept.js.map +1 -0
  377. package/dist/rdf/gloss-designation.d.ts +17 -0
  378. package/dist/rdf/gloss-designation.d.ts.map +1 -0
  379. package/dist/rdf/gloss-designation.js +46 -0
  380. package/dist/rdf/gloss-designation.js.map +1 -0
  381. package/dist/rdf/gloss-detailed-definition.d.ts +14 -0
  382. package/dist/rdf/gloss-detailed-definition.d.ts.map +1 -0
  383. package/dist/rdf/gloss-detailed-definition.js +53 -0
  384. package/dist/rdf/gloss-detailed-definition.js.map +1 -0
  385. package/dist/rdf/gloss-generic-hyperedge.d.ts +27 -0
  386. package/dist/rdf/gloss-generic-hyperedge.d.ts.map +1 -0
  387. package/{src/rdf/gloss-generic-hyperedge.ts → dist/rdf/gloss-generic-hyperedge.js} +36 -50
  388. package/dist/rdf/gloss-generic-hyperedge.js.map +1 -0
  389. package/dist/rdf/gloss-localized-concept.d.ts +24 -0
  390. package/dist/rdf/gloss-localized-concept.d.ts.map +1 -0
  391. package/dist/rdf/gloss-localized-concept.js +71 -0
  392. package/dist/rdf/gloss-localized-concept.js.map +1 -0
  393. package/dist/rdf/gloss-non-verbal-rep.d.ts +33 -0
  394. package/dist/rdf/gloss-non-verbal-rep.d.ts.map +1 -0
  395. package/dist/rdf/gloss-non-verbal-rep.js +163 -0
  396. package/dist/rdf/gloss-non-verbal-rep.js.map +1 -0
  397. package/dist/rdf/gloss-partitive-member.d.ts +8 -0
  398. package/dist/rdf/gloss-partitive-member.d.ts.map +1 -0
  399. package/{src/rdf/gloss-partitive-member.ts → dist/rdf/gloss-partitive-member.js} +23 -41
  400. package/dist/rdf/gloss-partitive-member.js.map +1 -0
  401. package/dist/rdf/gloss-partitive-relation.d.ts +26 -0
  402. package/dist/rdf/gloss-partitive-relation.d.ts.map +1 -0
  403. package/dist/rdf/gloss-partitive-relation.js +73 -0
  404. package/dist/rdf/gloss-partitive-relation.js.map +1 -0
  405. package/dist/rdf/gloss-source.d.ts +23 -0
  406. package/dist/rdf/gloss-source.d.ts.map +1 -0
  407. package/dist/rdf/gloss-source.js +52 -0
  408. package/dist/rdf/gloss-source.js.map +1 -0
  409. package/dist/rdf/group-emitter.d.ts +46 -0
  410. package/dist/rdf/group-emitter.d.ts.map +1 -0
  411. package/dist/rdf/group-emitter.js +107 -0
  412. package/dist/rdf/group-emitter.js.map +1 -0
  413. package/dist/rdf/image-variant-emitter.d.ts +12 -0
  414. package/dist/rdf/image-variant-emitter.d.ts.map +1 -0
  415. package/dist/rdf/image-variant-emitter.js +55 -0
  416. package/dist/rdf/image-variant-emitter.js.map +1 -0
  417. package/dist/rdf/index.d.ts +26 -0
  418. package/dist/rdf/index.d.ts.map +1 -0
  419. package/{src/rdf/index.ts → dist/rdf/index.js} +8 -37
  420. package/dist/rdf/index.js.map +1 -0
  421. package/dist/rdf/normalize-enum.d.ts +3 -0
  422. package/dist/rdf/normalize-enum.d.ts.map +1 -0
  423. package/{src/rdf/normalize-enum.ts → dist/rdf/normalize-enum.js} +11 -10
  424. package/dist/rdf/normalize-enum.js.map +1 -0
  425. package/dist/rdf/predicates.d.ts +277 -0
  426. package/dist/rdf/predicates.d.ts.map +1 -0
  427. package/dist/rdf/predicates.js +279 -0
  428. package/dist/rdf/predicates.js.map +1 -0
  429. package/dist/rdf/prefixes.d.ts +16 -0
  430. package/dist/rdf/prefixes.d.ts.map +1 -0
  431. package/{src/rdf/prefixes.ts → dist/rdf/prefixes.js} +10 -12
  432. package/dist/rdf/prefixes.js.map +1 -0
  433. package/dist/rdf/provenance-emitter.d.ts +28 -0
  434. package/dist/rdf/provenance-emitter.d.ts.map +1 -0
  435. package/dist/rdf/provenance-emitter.js +74 -0
  436. package/dist/rdf/provenance-emitter.js.map +1 -0
  437. package/dist/rdf/sections-builder.d.ts +17 -0
  438. package/dist/rdf/sections-builder.d.ts.map +1 -0
  439. package/dist/rdf/sections-builder.js +137 -0
  440. package/dist/rdf/sections-builder.js.map +1 -0
  441. package/dist/rdf/shacl-entry.d.ts +2 -0
  442. package/dist/rdf/shacl-entry.d.ts.map +1 -0
  443. package/{src/rdf/shacl-entry.ts → dist/rdf/shacl-entry.js} +1 -1
  444. package/dist/rdf/shacl-entry.js.map +1 -0
  445. package/dist/rdf/shacl.d.ts +10 -0
  446. package/dist/rdf/shacl.d.ts.map +1 -0
  447. package/{src/rdf/shacl.ts → dist/rdf/shacl.js} +38 -56
  448. package/dist/rdf/shacl.js.map +1 -0
  449. package/dist/rdf/terms.d.ts +10 -0
  450. package/dist/rdf/terms.d.ts.map +1 -0
  451. package/{src/rdf/terms.ts → dist/rdf/terms.js} +6 -3
  452. package/dist/rdf/terms.js.map +1 -0
  453. package/dist/rdf/version-emitter.d.ts +57 -0
  454. package/dist/rdf/version-emitter.d.ts.map +1 -0
  455. package/dist/rdf/version-emitter.js +68 -0
  456. package/dist/rdf/version-emitter.js.map +1 -0
  457. package/dist/rdf/vocabulary-emitter.d.ts +32 -0
  458. package/dist/rdf/vocabulary-emitter.d.ts.map +1 -0
  459. package/dist/rdf/vocabulary-emitter.js +46 -0
  460. package/dist/rdf/vocabulary-emitter.js.map +1 -0
  461. package/dist/rdf/write-turtle-sync.d.ts +7 -0
  462. package/dist/rdf/write-turtle-sync.d.ts.map +1 -0
  463. package/dist/rdf/write-turtle-sync.js +130 -0
  464. package/dist/rdf/write-turtle-sync.js.map +1 -0
  465. package/dist/reference-mention.d.ts +49 -0
  466. package/dist/reference-mention.d.ts.map +1 -0
  467. package/dist/reference-mention.js +98 -0
  468. package/dist/reference-mention.js.map +1 -0
  469. package/dist/reference-resolver.d.ts +52 -0
  470. package/dist/reference-resolver.d.ts.map +1 -0
  471. package/dist/reference-resolver.js +311 -0
  472. package/dist/reference-resolver.js.map +1 -0
  473. package/dist/render-classification.d.ts +19 -0
  474. package/dist/render-classification.d.ts.map +1 -0
  475. package/dist/render-classification.js +82 -0
  476. package/dist/render-classification.js.map +1 -0
  477. package/dist/sort.d.ts +5 -0
  478. package/dist/sort.d.ts.map +1 -0
  479. package/dist/sort.js +25 -0
  480. package/dist/sort.js.map +1 -0
  481. package/dist/transforms/concept-to-gloss.transform.d.ts +32 -0
  482. package/dist/transforms/concept-to-gloss.transform.d.ts.map +1 -0
  483. package/dist/transforms/concept-to-gloss.transform.js +60 -0
  484. package/dist/transforms/concept-to-gloss.transform.js.map +1 -0
  485. package/dist/transforms/index.d.ts +2 -0
  486. package/dist/transforms/index.d.ts.map +1 -0
  487. package/{src/transforms/index.ts → dist/transforms/index.js} +1 -0
  488. package/dist/transforms/index.js.map +1 -0
  489. package/dist/utils/assertions.d.ts +4 -0
  490. package/dist/utils/assertions.d.ts.map +1 -0
  491. package/dist/utils/assertions.js +17 -0
  492. package/dist/utils/assertions.js.map +1 -0
  493. package/dist/uuid.d.ts +4 -0
  494. package/dist/uuid.d.ts.map +1 -0
  495. package/dist/uuid.js +23 -0
  496. package/dist/uuid.js.map +1 -0
  497. package/dist/v1-reader.d.ts +8 -0
  498. package/dist/v1-reader.d.ts.map +1 -0
  499. package/dist/v1-reader.js +56 -0
  500. package/dist/v1-reader.js.map +1 -0
  501. package/dist/validators/asset-index.d.ts +23 -0
  502. package/dist/validators/asset-index.d.ts.map +1 -0
  503. package/dist/validators/asset-index.js +58 -0
  504. package/dist/validators/asset-index.js.map +1 -0
  505. package/dist/validators/binary-has-part-redundancy-rule.d.ts +8 -0
  506. package/dist/validators/binary-has-part-redundancy-rule.d.ts.map +1 -0
  507. package/dist/validators/binary-has-part-redundancy-rule.js +57 -0
  508. package/dist/validators/binary-has-part-redundancy-rule.js.map +1 -0
  509. package/dist/validators/concept-validator.d.ts +21 -0
  510. package/dist/validators/concept-validator.d.ts.map +1 -0
  511. package/dist/validators/concept-validator.js +76 -0
  512. package/dist/validators/concept-validator.js.map +1 -0
  513. package/dist/validators/delimiting-coherence-rule.d.ts +8 -0
  514. package/dist/validators/delimiting-coherence-rule.d.ts.map +1 -0
  515. package/dist/validators/delimiting-coherence-rule.js +72 -0
  516. package/dist/validators/delimiting-coherence-rule.js.map +1 -0
  517. package/dist/validators/external-concept-shape-rule.d.ts +8 -0
  518. package/dist/validators/external-concept-shape-rule.d.ts.map +1 -0
  519. package/dist/validators/external-concept-shape-rule.js +48 -0
  520. package/dist/validators/external-concept-shape-rule.js.map +1 -0
  521. package/dist/validators/gcr-validator.d.ts +11 -0
  522. package/dist/validators/gcr-validator.d.ts.map +1 -0
  523. package/dist/validators/gcr-validator.js +76 -0
  524. package/dist/validators/gcr-validator.js.map +1 -0
  525. package/dist/validators/hyperedge-coherence-rule.d.ts +9 -0
  526. package/dist/validators/hyperedge-coherence-rule.d.ts.map +1 -0
  527. package/dist/validators/hyperedge-coherence-rule.js +78 -0
  528. package/dist/validators/hyperedge-coherence-rule.js.map +1 -0
  529. package/dist/validators/index.d.ts +21 -0
  530. package/dist/validators/index.d.ts.map +1 -0
  531. package/{src/validators/index.ts → dist/validators/index.js} +25 -51
  532. package/dist/validators/index.js.map +1 -0
  533. package/dist/validators/partitive-relation-coherence-rule.d.ts +2 -0
  534. package/dist/validators/partitive-relation-coherence-rule.d.ts.map +1 -0
  535. package/{src/validators/partitive-relation-coherence-rule.ts → dist/validators/partitive-relation-coherence-rule.js} +1 -1
  536. package/dist/validators/partitive-relation-coherence-rule.js.map +1 -0
  537. package/dist/validators/ref-keys.d.ts +8 -0
  538. package/dist/validators/ref-keys.d.ts.map +1 -0
  539. package/dist/validators/ref-keys.js +27 -0
  540. package/dist/validators/ref-keys.js.map +1 -0
  541. package/dist/validators/register-validator.d.ts +10 -0
  542. package/dist/validators/register-validator.d.ts.map +1 -0
  543. package/dist/validators/register-validator.js +18 -0
  544. package/dist/validators/register-validator.js.map +1 -0
  545. package/dist/validators/relationship-type-rule.d.ts +13 -0
  546. package/dist/validators/relationship-type-rule.d.ts.map +1 -0
  547. package/dist/validators/relationship-type-rule.js +34 -0
  548. package/dist/validators/relationship-type-rule.js.map +1 -0
  549. package/dist/validators/sourced-from-locality-rule.d.ts +8 -0
  550. package/dist/validators/sourced-from-locality-rule.d.ts.map +1 -0
  551. package/dist/validators/sourced-from-locality-rule.js +37 -0
  552. package/dist/validators/sourced-from-locality-rule.js.map +1 -0
  553. package/dist/validators/v3-rules.d.ts +60 -0
  554. package/dist/validators/v3-rules.d.ts.map +1 -0
  555. package/dist/validators/v3-rules.js +327 -0
  556. package/dist/validators/v3-rules.js.map +1 -0
  557. package/dist/validators/validation-error.d.ts +13 -0
  558. package/dist/validators/validation-error.d.ts.map +1 -0
  559. package/dist/validators/validation-error.js +17 -0
  560. package/dist/validators/validation-error.js.map +1 -0
  561. package/dist/validators/validation-result.d.ts +17 -0
  562. package/dist/validators/validation-result.d.ts.map +1 -0
  563. package/dist/validators/validation-result.js +47 -0
  564. package/dist/validators/validation-result.js.map +1 -0
  565. package/dist/validators/validation-rule.d.ts +10 -0
  566. package/dist/validators/validation-rule.d.ts.map +1 -0
  567. package/dist/validators/validation-rule.js +17 -0
  568. package/dist/validators/validation-rule.js.map +1 -0
  569. package/package.json +37 -42
  570. package/src/concept-collection.ts +0 -166
  571. package/src/concept-parser.ts +0 -229
  572. package/src/concept-reader.d.ts +0 -13
  573. package/src/concept-serializer.ts +0 -99
  574. package/src/concept-writer.d.ts +0 -7
  575. package/src/concept-writer.ts +0 -43
  576. package/src/diff/canonical-json.ts +0 -29
  577. package/src/diff/change.ts +0 -175
  578. package/src/diff/collection-diff.ts +0 -197
  579. package/src/diff/concept-diff.ts +0 -702
  580. package/src/diff/diff-patch.ts +0 -260
  581. package/src/diff/diff-renderer.ts +0 -293
  582. package/src/diff/identity.ts +0 -33
  583. package/src/diff/index.d.ts +0 -242
  584. package/src/diff/index.ts +0 -50
  585. package/src/diff/list-diff.ts +0 -231
  586. package/src/diff/similarity.ts +0 -20
  587. package/src/diff/text-diff.ts +0 -167
  588. package/src/entity-directory.ts +0 -43
  589. package/src/errors.d.ts +0 -11
  590. package/src/errors.ts +0 -24
  591. package/src/gcr-reader.d.ts +0 -65
  592. package/src/gcr-reader.ts +0 -487
  593. package/src/gcr-writer.d.ts +0 -22
  594. package/src/gcr-writer.ts +0 -97
  595. package/src/index.d.ts +0 -124
  596. package/src/managed-concept-collection.ts +0 -95
  597. package/src/migration/hyperedge-migrator.ts +0 -104
  598. package/src/models/abstract-hyperedge.ts +0 -164
  599. package/src/models/base.ts +0 -110
  600. package/src/models/bibliography-data.ts +0 -64
  601. package/src/models/bibliography-entry.ts +0 -40
  602. package/src/models/citation.ts +0 -98
  603. package/src/models/concept-date.ts +0 -48
  604. package/src/models/concept-ref.ts +0 -64
  605. package/src/models/concept-reference.ts +0 -50
  606. package/src/models/concept-source.ts +0 -96
  607. package/src/models/concept-system-type.ts +0 -39
  608. package/src/models/concept-system.ts +0 -152
  609. package/src/models/concept.ts +0 -499
  610. package/src/models/dataset-color.ts +0 -88
  611. package/src/models/designation-relationship.ts +0 -39
  612. package/src/models/designation.ts +0 -297
  613. package/src/models/detailed-definition.ts +0 -92
  614. package/src/models/enum.ts +0 -60
  615. package/src/models/equivalence-degree.ts +0 -34
  616. package/src/models/figure.ts +0 -110
  617. package/src/models/formula.ts +0 -36
  618. package/src/models/gcr-metadata.ts +0 -118
  619. package/src/models/gcr-statistics.ts +0 -76
  620. package/src/models/generic-hyperedge.ts +0 -72
  621. package/src/models/generic-member.ts +0 -80
  622. package/src/models/grammar-info.ts +0 -78
  623. package/src/models/hyperedge-colors.ts +0 -87
  624. package/src/models/hyperedge-index.ts +0 -101
  625. package/src/models/hyperedge-member.ts +0 -121
  626. package/src/models/hyperedge-registry.ts +0 -145
  627. package/src/models/index.d.ts +0 -586
  628. package/src/models/locality.ts +0 -34
  629. package/src/models/localized-concept.ts +0 -284
  630. package/src/models/localized-string.ts +0 -32
  631. package/src/models/multiplicity.ts +0 -134
  632. package/src/models/non-verb-rep.ts +0 -48
  633. package/src/models/non-verbal-entity.ts +0 -65
  634. package/src/models/non-verbal-reference.ts +0 -73
  635. package/src/models/non-verbal-references.ts +0 -29
  636. package/src/models/partitive-enumeration.ts +0 -27
  637. package/src/models/partitive-hyperedge.ts +0 -90
  638. package/src/models/partitive-member.ts +0 -56
  639. package/src/models/plurality-marker.ts +0 -31
  640. package/src/models/pronunciation.ts +0 -40
  641. package/src/models/register.ts +0 -315
  642. package/src/models/registrable.ts +0 -48
  643. package/src/models/related-concept.ts +0 -117
  644. package/src/models/relation-categories.ts +0 -167
  645. package/src/models/relation-colors.ts +0 -90
  646. package/src/models/relation-loader.ts +0 -115
  647. package/src/models/section.ts +0 -61
  648. package/src/models/sequential-hyperedge.ts +0 -70
  649. package/src/models/shared-non-verbal-entity.ts +0 -36
  650. package/src/models/table.ts +0 -36
  651. package/src/rdf/agents-emitter.ts +0 -134
  652. package/src/rdf/bibliography-emitter.ts +0 -126
  653. package/src/rdf/bnode-id.ts +0 -55
  654. package/src/rdf/build-activity-emitter.ts +0 -129
  655. package/src/rdf/curie.ts +0 -47
  656. package/src/rdf/dataset-emitter.ts +0 -170
  657. package/src/rdf/deterministic-id.ts +0 -69
  658. package/src/rdf/document-writer.ts +0 -87
  659. package/src/rdf/gloss-concept.ts +0 -115
  660. package/src/rdf/gloss-designation.ts +0 -72
  661. package/src/rdf/gloss-detailed-definition.ts +0 -69
  662. package/src/rdf/gloss-localized-concept.ts +0 -79
  663. package/src/rdf/gloss-non-verbal-rep.ts +0 -192
  664. package/src/rdf/gloss-partitive-relation.ts +0 -89
  665. package/src/rdf/gloss-source.ts +0 -56
  666. package/src/rdf/group-emitter.ts +0 -133
  667. package/src/rdf/image-variant-emitter.ts +0 -80
  668. package/src/rdf/index.d.ts +0 -371
  669. package/src/rdf/predicates.d.ts +0 -527
  670. package/src/rdf/predicates.ts +0 -287
  671. package/src/rdf/provenance-emitter.ts +0 -87
  672. package/src/rdf/sections-builder.ts +0 -178
  673. package/src/rdf/shacl-entry.d.ts +0 -6
  674. package/src/rdf/version-emitter.ts +0 -97
  675. package/src/rdf/vocabulary-emitter.ts +0 -67
  676. package/src/rdf/write-turtle-sync.ts +0 -167
  677. package/src/reference-mention.ts +0 -114
  678. package/src/reference-resolver.ts +0 -331
  679. package/src/render-classification.ts +0 -76
  680. package/src/sort.ts +0 -22
  681. package/src/transforms/concept-to-gloss.transform.ts +0 -81
  682. package/src/transforms/index.d.ts +0 -26
  683. package/src/uuid.ts +0 -32
  684. package/src/v1-reader.ts +0 -64
  685. package/src/validators/asset-index.ts +0 -67
  686. package/src/validators/binary-has-part-redundancy-rule.ts +0 -67
  687. package/src/validators/concept-validator.ts +0 -93
  688. package/src/validators/delimiting-coherence-rule.ts +0 -105
  689. package/src/validators/external-concept-shape-rule.ts +0 -60
  690. package/src/validators/gcr-validator.ts +0 -75
  691. package/src/validators/hyperedge-coherence-rule.ts +0 -98
  692. package/src/validators/index.d.ts +0 -43
  693. package/src/validators/ref-keys.ts +0 -31
  694. package/src/validators/register-validator.ts +0 -18
  695. package/src/validators/relationship-type-rule.ts +0 -39
  696. package/src/validators/sourced-from-locality-rule.ts +0 -53
  697. package/src/validators/v3-rules.ts +0 -378
  698. package/src/validators/validation-error.ts +0 -19
  699. package/src/validators/validation-result.ts +0 -52
  700. package/src/validators/validation-rule.ts +0 -21
@@ -0,0 +1,84 @@
1
+ // Multiplicity — ISO 704:2022 partitive multiplicity (derived view).
2
+ //
3
+ // ISO 704:2022 multiplicity is the cross product of two orthogonal
4
+ // dimensions (PartitivePresence × PartitiveCount). The 5 valid
5
+ // combinations map to the 5 ISO 704 names:
6
+ //
7
+ // required × exactly_one → compulsory
8
+ // optional × exactly_one → optional
9
+ // required × multiple → compulsory_multiple
10
+ // optional × multiple → optional_multiple
11
+ // required × at_least_one → compulsory_at_least_one
12
+ //
13
+ // (optional × at_least_one is REDUNDANT with optional × multiple —
14
+ // "may exist, ≥1 if it does" = "may exist in any number" — and is
15
+ // explicitly rejected at construction with a clear error message.)
16
+ //
17
+ // This module is the SSOT for the (presence, count) → ISO name
18
+ // mapping. Both MULTIPLICITY constants and MULTIPLICITY_VALUES are
19
+ // derived from this single table; no duplicate string literals.
20
+ const NAME_BY_PAIR = Object.freeze({
21
+ 'required:exactly_one': 'compulsory',
22
+ 'optional:exactly_one': 'optional',
23
+ 'required:multiple': 'compulsory_multiple',
24
+ 'optional:multiple': 'optional_multiple',
25
+ 'required:at_least_one': 'compulsory_at_least_one',
26
+ });
27
+ const PAIR_BY_NAME = Object.freeze(Object.fromEntries(Object.entries(NAME_BY_PAIR).map(([pair, name]) => [name, pair])));
28
+ export const MULTIPLICITY = Object.freeze(Object.fromEntries(Object.values(NAME_BY_PAIR).map((name) => [name.toUpperCase(), name])));
29
+ export const MULTIPLICITY_VALUES = Object.freeze(Object.values(NAME_BY_PAIR));
30
+ export const DEFAULT_MULTIPLICITY = MULTIPLICITY.COMPULSORY;
31
+ export function multiplicityFromPair(presence, count) {
32
+ const name = NAME_BY_PAIR[`${presence}:${count}`];
33
+ if (name == null) {
34
+ throw invalidCombinationError(presence, count);
35
+ }
36
+ return name;
37
+ }
38
+ /**
39
+ * Canonical error for the invalid (presence, count) combination.
40
+ * Single source of truth — hyperedge-member.ts delegates to this so
41
+ * the error string doesn't drift across the two files.
42
+ */
43
+ export function invalidCombinationError(presence, count) {
44
+ return new Error(`Invalid multiplicity combination: presence=${presence}, count=${count}. ` +
45
+ `(optional + at_least_one collapses to optional + multiple — use count=multiple.)`);
46
+ }
47
+ export function pairFromMultiplicity(name) {
48
+ const pair = PAIR_BY_NAME[name];
49
+ if (pair == null) {
50
+ throw new Error(`Unknown multiplicity: ${JSON.stringify(name)}`);
51
+ }
52
+ const [presence, count] = pair.split(':');
53
+ return { presence, count };
54
+ }
55
+ export function isValidMultiplicity(name) {
56
+ return (typeof name === 'string' &&
57
+ Object.prototype.hasOwnProperty.call(PAIR_BY_NAME, name));
58
+ }
59
+ /**
60
+ * Resolve the ISO 704 multiplicity name from any object carrying
61
+ * `presence` + `count`, OR a legacy object that still has a literal
62
+ * `multiplicity` field (pre-v4 JSON).
63
+ *
64
+ * For v4 `PartitiveMember` instances, `presence` + `count` are always
65
+ * set (defaults applied at construction), so the legacy branch never
66
+ * fires on a real instance — it exists purely to round-trip raw JSON
67
+ * that bypassed the model constructor.
68
+ *
69
+ * Throws on the invalid `(optional, at_least_one)` combination — the
70
+ * model already rejects this at construction, so reaching the throw
71
+ * here means the caller bypassed the model. Let the error propagate
72
+ * rather than silently returning 'compulsory' (which would mask the
73
+ * data corruption).
74
+ */
75
+ export function resolveMultiplicity(member) {
76
+ if (member?.presence && member?.count) {
77
+ return multiplicityFromPair(member.presence, member.count);
78
+ }
79
+ if (typeof member?.multiplicity === 'string') {
80
+ return member.multiplicity;
81
+ }
82
+ return DEFAULT_MULTIPLICITY;
83
+ }
84
+ //# sourceMappingURL=multiplicity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiplicity.js","sourceRoot":"","sources":["../../src/models/multiplicity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { NonVerbalEntity } from './non-verbal-entity.js';
2
+ import type { NonVerbalEntityJson } from './non-verbal-entity.js';
3
+ import { FigureImage } from './figure.js';
4
+ import type { FigureImageJson } from './figure.js';
5
+ export declare const NON_VERBAL_TYPES: ReadonlyArray<string>;
6
+ export interface NonVerbRepJson extends NonVerbalEntityJson {
7
+ type?: string | null;
8
+ images?: ReadonlyArray<FigureImageJson | FigureImage>;
9
+ }
10
+ export declare class NonVerbRep extends NonVerbalEntity {
11
+ readonly type: string | null;
12
+ protected readonly _rawImages: ReadonlyArray<FigureImageJson | FigureImage>;
13
+ protected _images: ReadonlyArray<FigureImage> | null;
14
+ constructor(data?: NonVerbRepJson);
15
+ rdfClass(): string;
16
+ get images(): ReadonlyArray<FigureImage>;
17
+ toJSON(): NonVerbRepJson;
18
+ static fromJSON(data: NonVerbRepJson): NonVerbRep;
19
+ }
20
+ //# sourceMappingURL=non-verb-rep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-verb-rep.d.ts","sourceRoot":"","sources":["../../src/models/non-verb-rep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAEjD,CAAC;AAEH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC;CACvD;AAED,qBAAa,UAAW,SAAQ,eAAe;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC;IAC5E,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,IAAI,CAAQ;gBAEhD,IAAI,GAAE,cAAmB;IAM5B,QAAQ,IAAI,MAAM;IAI3B,IAAI,MAAM,IAAI,aAAa,CAAC,WAAW,CAAC,CAMvC;IAEQ,MAAM,IAAI,cAAc;WAOjB,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU;CAG3D"}
@@ -0,0 +1,32 @@
1
+ import { NonVerbalEntity } from './non-verbal-entity.js';
2
+ import { FigureImage } from './figure.js';
3
+ export const NON_VERBAL_TYPES = Object.freeze([
4
+ 'image', 'table', 'formula',
5
+ ]);
6
+ export class NonVerbRep extends NonVerbalEntity {
7
+ type;
8
+ _rawImages;
9
+ _images = null;
10
+ constructor(data = {}) {
11
+ super(data);
12
+ this.type = data.type ?? null;
13
+ this._rawImages = data.images ?? [];
14
+ }
15
+ rdfClass() {
16
+ return 'NonVerbalRepresentation';
17
+ }
18
+ get images() {
19
+ return this._lazy('_images', '_rawImages', (i) => (i instanceof FigureImage ? i : new FigureImage(i)));
20
+ }
21
+ toJSON() {
22
+ const obj = super.toJSON();
23
+ if (this.type != null)
24
+ obj.type = this.type;
25
+ this._serialize(obj, 'images', '_images', '_rawImages');
26
+ return obj;
27
+ }
28
+ static fromJSON(data) {
29
+ return new NonVerbRep(data);
30
+ }
31
+ }
32
+ //# sourceMappingURL=non-verb-rep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-verb-rep.js","sourceRoot":"","sources":["../../src/models/non-verb-rep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,CAAC,MAAM,gBAAgB,GAA0B,MAAM,CAAC,MAAM,CAAC;IACnE,OAAO,EAAE,OAAO,EAAE,SAAS;CAC5B,CAAC,CAAC;AAOH,MAAM,OAAO,UAAW,SAAQ,eAAe;IACpC,IAAI,CAAgB;IACV,UAAU,CAA+C;IAClE,OAAO,GAAsC,IAAI,CAAC;IAE5D,YAAY,OAAuB,EAAE;QACnC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACtC,CAAC;IAEQ,QAAQ;QACf,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CACf,SAAS,EACT,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAoB,CAAC,CAAC,CAC9E,CAAC;IACJ,CAAC;IAEQ,MAAM;QACb,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAoB,CAAC;QAC7C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAyC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAAoB;QAC3C,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import { RegistrableModel } from './registrable.js';
2
+ import { ConceptSource } from './concept-source.js';
3
+ import type { ConceptSourceJson } from './concept-source.js';
4
+ export interface NonVerbalEntityJson {
5
+ caption?: string | null;
6
+ description?: string | null;
7
+ alt?: string | null;
8
+ sources?: ReadonlyArray<ConceptSourceJson | ConceptSource>;
9
+ type?: string | null;
10
+ }
11
+ export declare class NonVerbalEntity extends RegistrableModel {
12
+ readonly caption: string | null;
13
+ readonly description: string | null;
14
+ readonly alt: string | null;
15
+ protected readonly _rawSources: ReadonlyArray<ConceptSourceJson | ConceptSource>;
16
+ protected _sources: ReadonlyArray<ConceptSource> | null;
17
+ constructor(data?: NonVerbalEntityJson);
18
+ get sources(): ReadonlyArray<ConceptSource>;
19
+ /**
20
+ * Ontology class local-name. Subtypes override to return their specific
21
+ * class (Figure/Table/Formula). Used by the RDF emitter so a new subtype
22
+ * registers without editing the emitter (OCP).
23
+ */
24
+ rdfClass(): string;
25
+ findById(_targetId: string): NonVerbalEntity | null;
26
+ allIds(): string[];
27
+ toJSON(): NonVerbalEntityJson;
28
+ static fromJSON(data: NonVerbalEntityJson): NonVerbalEntity;
29
+ }
30
+ //# sourceMappingURL=non-verbal-entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-verbal-entity.d.ts","sourceRoot":"","sources":["../../src/models/non-verbal-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;IACjF,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI,CAAQ;gBAEnD,IAAI,GAAE,mBAAwB;IAQ1C,IAAI,OAAO,IAAI,aAAa,CAAC,aAAa,CAAC,CAM1C;IAED;;;;OAIG;IACH,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAInD,MAAM,IAAI,MAAM,EAAE;IAIT,MAAM,IAAI,mBAAmB;WAStB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAGrE"}
@@ -0,0 +1,48 @@
1
+ import { RegistrableModel } from './registrable.js';
2
+ import { ConceptSource } from './concept-source.js';
3
+ export class NonVerbalEntity extends RegistrableModel {
4
+ caption;
5
+ description;
6
+ alt;
7
+ _rawSources;
8
+ _sources = null;
9
+ constructor(data = {}) {
10
+ super();
11
+ this.caption = data.caption ?? null;
12
+ this.description = data.description ?? null;
13
+ this.alt = data.alt ?? null;
14
+ this._rawSources = data.sources ?? [];
15
+ }
16
+ get sources() {
17
+ return this._lazy('_sources', '_rawSources', (s) => (s instanceof ConceptSource ? s : new ConceptSource(s)));
18
+ }
19
+ /**
20
+ * Ontology class local-name. Subtypes override to return their specific
21
+ * class (Figure/Table/Formula). Used by the RDF emitter so a new subtype
22
+ * registers without editing the emitter (OCP).
23
+ */
24
+ rdfClass() {
25
+ return 'NonVerbalEntity';
26
+ }
27
+ findById(_targetId) {
28
+ return null;
29
+ }
30
+ allIds() {
31
+ return [];
32
+ }
33
+ toJSON() {
34
+ const obj = {};
35
+ if (this.caption != null)
36
+ obj.caption = this.caption;
37
+ if (this.description != null)
38
+ obj.description = this.description;
39
+ if (this.alt != null)
40
+ obj.alt = this.alt;
41
+ this._serialize(obj, 'sources', '_sources', '_rawSources');
42
+ return obj;
43
+ }
44
+ static fromJSON(data) {
45
+ return NonVerbalEntity.fromData(data);
46
+ }
47
+ }
48
+ //# sourceMappingURL=non-verbal-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-verbal-entity.js","sourceRoot":"","sources":["../../src/models/non-verbal-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWpD,MAAM,OAAO,eAAgB,SAAQ,gBAAgB;IAC1C,OAAO,CAAgB;IACvB,WAAW,CAAgB;IAC3B,GAAG,CAAgB;IACT,WAAW,CAAmD;IACvE,QAAQ,GAAwC,IAAI,CAAC;IAE/D,YAAY,OAA4B,EAAE;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CACf,UAAU,EACV,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAsB,CAAC,CAAC,CACpF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,MAAM;QACb,MAAM,GAAG,GAAwB,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACrD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACjE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;YAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAyC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACjG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAAyB;QAChD,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import { RegistrableModel } from './registrable.js';
2
+ export interface NonVerbalReferenceJson {
3
+ entityId?: string | null;
4
+ entity_id?: string | null;
5
+ ref?: string | null;
6
+ id?: string | null;
7
+ display?: string | null;
8
+ type?: string;
9
+ }
10
+ /**
11
+ * Polymorphic JSON for NonVerbalReference: either a bare string (the
12
+ * entity id) or an object with `{ ref, display?, type? }`.
13
+ */
14
+ export type NonVerbalReferenceInput = NonVerbalReferenceJson | string | NonVerbalReference;
15
+ export declare class NonVerbalReference extends RegistrableModel {
16
+ readonly entityId: string | null;
17
+ readonly display: string | null;
18
+ constructor(data?: NonVerbalReferenceJson);
19
+ get dedupKey(): [string, string | null];
20
+ toJSON(): NonVerbalReferenceJson | string;
21
+ static fromJSON<T extends NonVerbalReference>(this: new (...args: any[]) => T, data: NonVerbalReferenceInput): T | NonVerbalReference;
22
+ }
23
+ //# sourceMappingURL=non-verbal-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-verbal-reference.d.ts","sourceRoot":"","sources":["../../src/models/non-verbal-reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B,sBAAsB,GACtB,MAAM,GACN,kBAAkB,CAAC;AAKvB,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEpB,IAAI,GAAE,sBAA2B;IAM7C,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAEtC;IAEQ,MAAM,IAAI,sBAAsB,GAAG,MAAM;WAOlC,QAAQ,CAAC,CAAC,SAAS,kBAAkB,EAEnD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAC/B,IAAI,EAAE,uBAAuB,GAC5B,CAAC,GAAG,kBAAkB;CAwB1B"}
@@ -0,0 +1,44 @@
1
+ import { RegistrableModel } from './registrable.js';
2
+ export class NonVerbalReference extends RegistrableModel {
3
+ entityId;
4
+ display;
5
+ constructor(data = {}) {
6
+ super();
7
+ this.entityId = data.entityId ?? data.entity_id ?? data.ref ?? data.id ?? null;
8
+ this.display = data.display ?? null;
9
+ }
10
+ get dedupKey() {
11
+ return [this.constructor.name, this.entityId];
12
+ }
13
+ toJSON() {
14
+ if (this.display != null) {
15
+ return { ref: this.entityId ?? '', display: this.display };
16
+ }
17
+ return this.entityId ?? '';
18
+ }
19
+ static fromJSON(data) {
20
+ if (data instanceof NonVerbalReference)
21
+ return data;
22
+ if (typeof data === 'string') {
23
+ return new this({ entityId: data });
24
+ }
25
+ const entityId = data.entityId ?? data.entity_id ?? data.ref ?? data.id ?? null;
26
+ const display = data.display ?? null;
27
+ const type = data.type;
28
+ const Self = this;
29
+ if (type) {
30
+ const Cls = Self._registry().get(type);
31
+ if (Cls) {
32
+ return new Cls({
33
+ entityId: entityId ?? undefined,
34
+ display: display ?? undefined,
35
+ });
36
+ }
37
+ }
38
+ return new this({
39
+ entityId: entityId ?? undefined,
40
+ display: display ?? undefined,
41
+ });
42
+ }
43
+ }
44
+ //# sourceMappingURL=non-verbal-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-verbal-reference.js","sourceRoot":"","sources":["../../src/models/non-verbal-reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAuBpD,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAC7C,QAAQ,CAAgB;IACxB,OAAO,CAAgB;IAEhC,YAAY,OAA+B,EAAE;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC;QAC/E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEQ,MAAM;QACb,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAU,QAAQ,CAGtB,IAA6B;QAE7B,IAAI,IAAI,YAAY,kBAAkB;YAAE,OAAO,IAAI,CAAC;QACpD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAK,IAA6C,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,IAAwD,CAAC;QACtE,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,IAAK,GAA4C,CAAC;oBACvD,QAAQ,EAAE,QAAQ,IAAI,SAAS;oBAC/B,OAAO,EAAE,OAAO,IAAI,SAAS;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,IAAK,IAA6C,CAAC;YACxD,QAAQ,EAAE,QAAQ,IAAI,SAAS;YAC/B,OAAO,EAAE,OAAO,IAAI,SAAS;SAC9B,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import { NonVerbalReference } from './non-verbal-reference.js';
2
+ import type { NonVerbalReferenceInput } from './non-verbal-reference.js';
3
+ export declare class FigureReference extends NonVerbalReference {
4
+ static fromJSON(data: NonVerbalReferenceInput): FigureReference | NonVerbalReference;
5
+ }
6
+ export declare class TableReference extends NonVerbalReference {
7
+ static fromJSON(data: NonVerbalReferenceInput): TableReference | NonVerbalReference;
8
+ }
9
+ export declare class FormulaReference extends NonVerbalReference {
10
+ static fromJSON(data: NonVerbalReferenceInput): FormulaReference | NonVerbalReference;
11
+ }
12
+ //# sourceMappingURL=non-verbal-references.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-verbal-references.d.ts","sourceRoot":"","sources":["../../src/models/non-verbal-references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,qBAAa,eAAgB,SAAQ,kBAAkB;WACrC,QAAQ,CACtB,IAAI,EAAE,uBAAuB,GAC5B,eAAe,GAAG,kBAAkB;CAGxC;AAGD,qBAAa,cAAe,SAAQ,kBAAkB;WACpC,QAAQ,CACtB,IAAI,EAAE,uBAAuB,GAC5B,cAAc,GAAG,kBAAkB;CAGvC;AAGD,qBAAa,gBAAiB,SAAQ,kBAAkB;WACtC,QAAQ,CACtB,IAAI,EAAE,uBAAuB,GAC5B,gBAAgB,GAAG,kBAAkB;CAGzC"}
@@ -0,0 +1,20 @@
1
+ import { NonVerbalReference } from './non-verbal-reference.js';
2
+ export class FigureReference extends NonVerbalReference {
3
+ static fromJSON(data) {
4
+ return NonVerbalReference.fromJSON(data);
5
+ }
6
+ }
7
+ NonVerbalReference.register('figure', FigureReference);
8
+ export class TableReference extends NonVerbalReference {
9
+ static fromJSON(data) {
10
+ return NonVerbalReference.fromJSON(data);
11
+ }
12
+ }
13
+ NonVerbalReference.register('table', TableReference);
14
+ export class FormulaReference extends NonVerbalReference {
15
+ static fromJSON(data) {
16
+ return NonVerbalReference.fromJSON(data);
17
+ }
18
+ }
19
+ NonVerbalReference.register('formula', FormulaReference);
20
+ //# sourceMappingURL=non-verbal-references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-verbal-references.js","sourceRoot":"","sources":["../../src/models/non-verbal-references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IACrD,MAAM,CAAU,QAAQ,CACtB,IAA6B;QAE7B,OAAO,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAyC,CAAC;IACnF,CAAC;CACF;AACD,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AAEvD,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IACpD,MAAM,CAAU,QAAQ,CACtB,IAA6B;QAE7B,OAAO,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAwC,CAAC;IAClF,CAAC;CACF;AACD,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAErD,MAAM,OAAO,gBAAiB,SAAQ,kBAAkB;IACtD,MAAM,CAAU,QAAQ,CACtB,IAA6B;QAE7B,OAAO,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAA0C,CAAC;IACpF,CAAC;CACF;AACD,kBAAkB,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type PartitiveCount = 'exactly_one' | 'at_least_one' | 'multiple';
2
+ export declare const PARTITIVE_COUNT: import("./enum.js").EnumBundle<{
3
+ readonly EXACTLY_ONE: "exactly_one";
4
+ readonly AT_LEAST_ONE: "at_least_one";
5
+ readonly MULTIPLE: "multiple";
6
+ }>;
7
+ export declare const PARTITIVE_COUNT_VALUES: readonly ("exactly_one" | "at_least_one" | "multiple")[];
8
+ export declare const DEFAULT_COUNT: PartitiveCount;
9
+ export declare const isValidCount: (value: unknown) => value is "exactly_one" | "at_least_one" | "multiple";
10
+ //# sourceMappingURL=partitive-count.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitive-count.d.ts","sourceRoot":"","sources":["../../src/models/partitive-count.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,CAAC;AAEzE,eAAO,MAAM,eAAe;;;;EAI1B,CAAC;AAEH,eAAO,MAAM,sBAAsB,0DAAyB,CAAC;AAC7D,eAAO,MAAM,aAAa,EAAE,cAA4C,CAAC;AACzE,eAAO,MAAM,YAAY,0EAA0B,CAAC"}
@@ -6,17 +6,13 @@
6
6
  // multiple — 2 lines (multiple instances)
7
7
  //
8
8
  // Default: exactly_one.
9
-
10
9
  import { makeEnum } from './enum.js';
11
-
12
- export type PartitiveCount = 'exactly_one' | 'at_least_one' | 'multiple';
13
-
14
10
  export const PARTITIVE_COUNT = makeEnum('PARTITIVE_COUNT', {
15
- EXACTLY_ONE: 'exactly_one',
16
- AT_LEAST_ONE: 'at_least_one',
17
- MULTIPLE: 'multiple',
11
+ EXACTLY_ONE: 'exactly_one',
12
+ AT_LEAST_ONE: 'at_least_one',
13
+ MULTIPLE: 'multiple',
18
14
  });
19
-
20
15
  export const PARTITIVE_COUNT_VALUES = PARTITIVE_COUNT.VALUES;
21
- export const DEFAULT_COUNT: PartitiveCount = PARTITIVE_COUNT.EXACTLY_ONE;
16
+ export const DEFAULT_COUNT = PARTITIVE_COUNT.EXACTLY_ONE;
22
17
  export const isValidCount = PARTITIVE_COUNT.isValid;
18
+ //# sourceMappingURL=partitive-count.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitive-count.js","sourceRoot":"","sources":["../../src/models/partitive-count.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,sBAAsB;AACtB,iDAAiD;AACjD,8DAA8D;AAC9D,gDAAgD;AAChD,EAAE;AACF,wBAAwB;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC,iBAAiB,EAAE;IACzD,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC,MAAM,CAAC;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAmB,eAAe,CAAC,WAAW,CAAC;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type PartitiveEnumeration = 'closed' | 'open';
2
+ export declare const PARTITIVE_ENUMERATION: Readonly<Record<'CLOSED' | 'OPEN', PartitiveEnumeration>>;
3
+ export declare const PARTITIVE_ENUMERATION_VALUES: ReadonlyArray<PartitiveEnumeration>;
4
+ export declare function isValidPartitiveEnumeration(value: unknown): value is PartitiveEnumeration;
5
+ //# sourceMappingURL=partitive-enumeration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitive-enumeration.d.ts","sourceRoot":"","sources":["../../src/models/partitive-enumeration.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,MAAM,CAAC,QAAQ,GAAG,MAAM,EAAE,oBAAoB,CAAC,CAI/C,CAAC;AAEH,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC,oBAAoB,CACF,CAAC;AAE5E,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,oBAAoB,CAK/B"}
@@ -0,0 +1,16 @@
1
+ // PartitiveEnumeration — allowed values for PartitiveHyperedge#enumeration.
2
+ //
3
+ // closed — the encoded parts are ALL the parts of the comprehensive.
4
+ // Adding or removing a part would change the relationship.
5
+ // open — the encoded parts are SOME of the parts; others may exist
6
+ // but are not encoded.
7
+ export const PARTITIVE_ENUMERATION = Object.freeze({
8
+ CLOSED: 'closed',
9
+ OPEN: 'open',
10
+ });
11
+ export const PARTITIVE_ENUMERATION_VALUES = Object.freeze([PARTITIVE_ENUMERATION.CLOSED, PARTITIVE_ENUMERATION.OPEN]);
12
+ export function isValidPartitiveEnumeration(value) {
13
+ return (typeof value === 'string' &&
14
+ PARTITIVE_ENUMERATION_VALUES.includes(value));
15
+ }
16
+ //# sourceMappingURL=partitive-enumeration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitive-enumeration.js","sourceRoot":"","sources":["../../src/models/partitive-enumeration.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,uEAAuE;AACvE,sEAAsE;AACtE,uEAAuE;AACvE,kCAAkC;AAIlC,MAAM,CAAC,MAAM,qBAAqB,GAE9B,MAAM,CAAC,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GACvC,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5E,MAAM,UAAU,2BAA2B,CACzC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,4BAAkD,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { AbstractHyperedge } from './abstract-hyperedge.js';
2
+ import type { AbstractHyperedgeJson } from './abstract-hyperedge.js';
3
+ import { PartitiveMember } from './partitive-member.js';
4
+ import type { PartitiveMemberJson } from './partitive-member.js';
5
+ export interface PartitiveHyperedgeJson extends AbstractHyperedgeJson {
6
+ members: ReadonlyArray<PartitiveMemberJson | PartitiveMember>;
7
+ /** PartitiveHyperedge wire alias of `members`. Both emitted for
8
+ * backward compat with consumers that read `partitives`. */
9
+ partitives?: ReadonlyArray<PartitiveMemberJson | PartitiveMember>;
10
+ }
11
+ export declare class PartitiveHyperedge extends AbstractHyperedge {
12
+ static wireKey: "partitive_relations";
13
+ static typeTag: "partitive_relation";
14
+ static rdfType: "gloss:PartitiveRelation";
15
+ static memberClass: typeof PartitiveMember;
16
+ static v1WireKeys: string[];
17
+ static kindLabel: string;
18
+ readonly members: ReadonlyArray<PartitiveMember>;
19
+ constructor(data?: Partial<PartitiveHyperedgeJson>);
20
+ get partitives(): ReadonlyArray<PartitiveMember>;
21
+ toJSON(): PartitiveHyperedgeJson;
22
+ static identityOf(value: {
23
+ comprehensive?: {
24
+ source?: string | null;
25
+ id?: string | null;
26
+ } | null;
27
+ partitives?: ReadonlyArray<{
28
+ ref?: {
29
+ source?: string | null;
30
+ id?: string | null;
31
+ } | null;
32
+ } | null>;
33
+ members?: ReadonlyArray<{
34
+ ref?: {
35
+ source?: string | null;
36
+ id?: string | null;
37
+ } | null;
38
+ } | null>;
39
+ } | null | undefined): string;
40
+ static fromJSON(data: PartitiveHyperedgeJson): PartitiveHyperedge;
41
+ }
42
+ export default PartitiveHyperedge;
43
+ //# sourceMappingURL=partitive-hyperedge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitive-hyperedge.d.ts","sourceRoot":"","sources":["../../src/models/partitive-hyperedge.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,OAAO,EAAE,aAAa,CAAC,mBAAmB,GAAG,eAAe,CAAC,CAAC;IAC9D;iEAC6D;IAC7D,UAAU,CAAC,EAAE,aAAa,CAAC,mBAAmB,GAAG,eAAe,CAAC,CAAC;CACnE;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;IAMvD,MAAM,CAAC,OAAO,EAAG,qBAAqB,CAAU;IAChD,MAAM,CAAC,OAAO,EAAG,oBAAoB,CAAU;IAC/C,MAAM,CAAC,OAAO,EAAG,yBAAyB,CAAU;IACpD,MAAM,CAAC,WAAW,yBAAmB;IACrC,MAAM,CAAC,UAAU,WAA4B;IAC7C,MAAM,CAAC,SAAS,SAAU;IAE1B,SAAiB,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;gBAE7C,IAAI,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAiBtD,IAAI,UAAU,IAAI,aAAa,CAAC,eAAe,CAAC,CAAyB;IAEhE,MAAM,IAAI,sBAAsB;IAMzC,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,UAAU,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;QACnG,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;WAaO,QAAQ,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB;CAG3E;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,63 @@
1
+ // PartitiveHyperedge — an ISO 704:2022 / ISO 1087-1 / ISO 12620
2
+ // partitive relation connecting a comprehensive concept
3
+ // (superordinate concept partitive) to two or more partitive
4
+ // concepts (subordinate concepts partitive) which fitted together
5
+ // constitute the comprehensive.
6
+ //
7
+ // Extends AbstractHyperedge; the leaf-specific concern is the
8
+ // PartitiveMember type for `members`. The wire-level field name
9
+ // stays `partitives` for v1/v2 backward compat.
10
+ import { AbstractHyperedge } from './abstract-hyperedge.js';
11
+ import { PartitiveMember } from './partitive-member.js';
12
+ import { HyperedgeRegistry } from './hyperedge-registry.js';
13
+ export class PartitiveHyperedge extends AbstractHyperedge {
14
+ // Per-class metadata block — the OCP contract. External systems
15
+ // (parser, serializer, diff, RDF emitter, validators) read from
16
+ // these statics and the HyperedgeRegistry. Adding a new hyperedge
17
+ // type = declaring these fields on a new subclass + registering
18
+ // it. Nothing else in the codebase changes.
19
+ static wireKey = 'partitive_relations';
20
+ static typeTag = 'partitive_relation';
21
+ static rdfType = 'gloss:PartitiveRelation';
22
+ static memberClass = PartitiveMember;
23
+ static v1WireKeys = ['partitive_hyperedges'];
24
+ static kindLabel = 'PART';
25
+ constructor(data = {}) {
26
+ const memberSource = data.members ?? data.partitives;
27
+ const normalized = {
28
+ comprehensive: data.comprehensive ?? {},
29
+ members: memberSource ?? [],
30
+ completeness: data.completeness ?? 'complete',
31
+ criterion: data.criterion,
32
+ sources: data.sources,
33
+ notes: data.notes,
34
+ status: data.status,
35
+ };
36
+ super(normalized);
37
+ this.members = (Array.isArray(memberSource) ? memberSource : []).map((m) => m instanceof PartitiveMember ? m : new PartitiveMember(m));
38
+ }
39
+ get partitives() { return this.members; }
40
+ toJSON() {
41
+ const base = super.toJSON();
42
+ const { members, ...rest } = base;
43
+ return { ...rest, members: members, partitives: members };
44
+ }
45
+ static identityOf(value) {
46
+ const v = value ?? {};
47
+ const c = v.comprehensive ?? {};
48
+ const source = v.partitives ?? v.members ?? [];
49
+ const partKeys = source
50
+ .map((p) => {
51
+ const r = p?.ref ?? p ?? {};
52
+ return `${r.source ?? ''}:${r.id ?? ''}`;
53
+ })
54
+ .sort();
55
+ return `${c.source ?? ''}:${c.id ?? ''}|${partKeys.join('|')}`;
56
+ }
57
+ static fromJSON(data) {
58
+ return new PartitiveHyperedge(data);
59
+ }
60
+ }
61
+ export default PartitiveHyperedge;
62
+ HyperedgeRegistry.register(PartitiveHyperedge);
63
+ //# sourceMappingURL=partitive-hyperedge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitive-hyperedge.js","sourceRoot":"","sources":["../../src/models/partitive-hyperedge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { HyperedgeMember } from './hyperedge-member.js';
2
+ import type { HyperedgeMemberJson } from './hyperedge-member.js';
3
+ export interface PartitiveMemberJson extends HyperedgeMemberJson {
4
+ is_delimiting?: boolean;
5
+ }
6
+ export declare class PartitiveMember extends HyperedgeMember {
7
+ readonly is_delimiting: boolean;
8
+ constructor(data?: PartitiveMemberJson);
9
+ get isDelimiting(): boolean;
10
+ toJSON(): PartitiveMemberJson;
11
+ static fromJSON(data: PartitiveMemberJson): PartitiveMember;
12
+ }
13
+ export default PartitiveMember;
14
+ //# sourceMappingURL=partitive-member.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitive-member.d.ts","sourceRoot":"","sources":["../../src/models/partitive-member.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,eAAgB,SAAQ,eAAe;IAClD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;gBAEpB,IAAI,GAAE,mBAAiC;IAKnD,IAAI,YAAY,IAAI,OAAO,CAAwC;IAE1D,MAAM,IAAI,mBAAmB;WAOtB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAGrE;AAYD,eAAe,eAAe,CAAC"}
@@ -0,0 +1,44 @@
1
+ // PartitiveMember — one member of a PartitiveHyperedge.
2
+ //
3
+ // Adds to HyperedgeMember the partitive-specific `is_delimiting` flag
4
+ // from ISO 704:2022 §5.5.4.2.2 (rake diagram semantics):
5
+ //
6
+ // "Delimiting" parts (bold/3x-width line in source diagrams) behave
7
+ // like delimiting characteristics — they distinguish the comprehensive
8
+ // from coordinate concepts. Whether a part is delimiting depends on
9
+ // the concept system, the coordinate concepts, the inheritance
10
+ // principle, and the criterion of subdivision used.
11
+ //
12
+ // `is_delimiting` lives here on PartitiveMember, not on the base
13
+ // HyperedgeMember, because it is partitive-specific. GenericMember
14
+ // carries `delimitingCharacteristic` instead (the intension-difference
15
+ // value per §5.5.4.2.1, which always applies to every generic member).
16
+ import { HyperedgeMember } from './hyperedge-member.js';
17
+ export class PartitiveMember extends HyperedgeMember {
18
+ is_delimiting;
19
+ constructor(data = { ref: {} }) {
20
+ super(data);
21
+ this.is_delimiting = _resolveDelimiting(data.is_delimiting);
22
+ }
23
+ get isDelimiting() { return this.is_delimiting === true; }
24
+ toJSON() {
25
+ const base = super.toJSON();
26
+ const out = { ...base };
27
+ if (this.is_delimiting)
28
+ out.is_delimiting = true;
29
+ return out;
30
+ }
31
+ static fromJSON(data) {
32
+ return new PartitiveMember(data);
33
+ }
34
+ }
35
+ function _resolveDelimiting(value) {
36
+ if (value == null)
37
+ return false;
38
+ if (typeof value !== 'boolean') {
39
+ throw new Error(`PartitiveMember.is_delimiting must be boolean; got ${typeof value}`);
40
+ }
41
+ return value;
42
+ }
43
+ export default PartitiveMember;
44
+ //# sourceMappingURL=partitive-member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitive-member.js","sourceRoot":"","sources":["../../src/models/partitive-member.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,sEAAsE;AACtE,yDAAyD;AACzD,EAAE;AACF,sEAAsE;AACtE,yEAAyE;AACzE,sEAAsE;AACtE,iEAAiE;AACjE,sDAAsD;AACtD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,uEAAuE;AACvE,uEAAuE;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,MAAM,OAAO,eAAgB,SAAQ,eAAe;IACzC,aAAa,CAAU;IAEhC,YAAY,OAA4B,EAAE,GAAG,EAAE,EAAE,EAAE;QACjD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,YAAY,KAAc,OAAO,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC;IAE1D,MAAM;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAwB,EAAE,GAAG,IAAI,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,aAAa;YAAE,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;QACjD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAU,QAAQ,CAAC,IAAyB;QAChD,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;CACF;AAED,SAAS,kBAAkB,CAAC,KAAiC;IAC3D,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,sDAAsD,OAAO,KAAK,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,eAAe,eAAe,CAAC"}