@primmel/primmel 1.3.2 → 1.4.1

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 (423) hide show
  1. package/dist/index.d.ts +40 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +112 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/check-allowlist.d.ts +56 -0
  6. package/dist/src/check-allowlist.d.ts.map +1 -0
  7. package/dist/src/check-allowlist.js +307 -0
  8. package/dist/src/check-allowlist.js.map +1 -0
  9. package/dist/src/check-rules.d.ts +17 -0
  10. package/dist/src/check-rules.d.ts.map +1 -0
  11. package/dist/src/check-rules.js +351 -0
  12. package/dist/src/check-rules.js.map +1 -0
  13. package/dist/src/check.d.ts +115 -0
  14. package/dist/src/check.d.ts.map +1 -0
  15. package/dist/src/check.js +4164 -0
  16. package/dist/src/check.js.map +1 -0
  17. package/dist/src/export/rdf-competency-questions.d.ts +11 -0
  18. package/dist/src/export/rdf-competency-questions.d.ts.map +1 -0
  19. package/dist/src/export/rdf-competency-questions.js +99 -0
  20. package/dist/src/export/rdf-competency-questions.js.map +1 -0
  21. package/dist/src/export/rdf-shapes.d.ts +3 -0
  22. package/dist/src/export/rdf-shapes.d.ts.map +1 -0
  23. package/dist/src/export/rdf-shapes.js +225 -0
  24. package/dist/src/export/rdf-shapes.js.map +1 -0
  25. package/dist/src/export/rdf-vocabulary.d.ts +125 -0
  26. package/dist/src/export/rdf-vocabulary.d.ts.map +1 -0
  27. package/dist/src/export/rdf-vocabulary.js +230 -0
  28. package/dist/src/export/rdf-vocabulary.js.map +1 -0
  29. package/dist/src/export/rdf.d.ts +92 -0
  30. package/dist/src/export/rdf.d.ts.map +1 -0
  31. package/dist/src/export/rdf.js +707 -0
  32. package/dist/src/export/rdf.js.map +1 -0
  33. package/dist/src/export/reqif.d.ts +81 -0
  34. package/dist/src/export/reqif.d.ts.map +1 -0
  35. package/dist/src/export/reqif.js +703 -0
  36. package/dist/src/export/reqif.js.map +1 -0
  37. package/dist/src/instance-resolution.d.ts +68 -0
  38. package/dist/src/instance-resolution.d.ts.map +1 -0
  39. package/dist/src/instance-resolution.js +239 -0
  40. package/dist/src/instance-resolution.js.map +1 -0
  41. package/dist/src/mapping-coverage.d.ts +220 -0
  42. package/dist/src/mapping-coverage.d.ts.map +1 -0
  43. package/dist/src/mapping-coverage.js +528 -0
  44. package/dist/src/mapping-coverage.js.map +1 -0
  45. package/dist/src/model-diff.d.ts +198 -0
  46. package/dist/src/model-diff.d.ts.map +1 -0
  47. package/dist/src/model-diff.js +914 -0
  48. package/dist/src/model-diff.js.map +1 -0
  49. package/dist/src/operational-state.d.ts +112 -0
  50. package/dist/src/operational-state.d.ts.map +1 -0
  51. package/dist/src/operational-state.js +162 -0
  52. package/dist/src/operational-state.js.map +1 -0
  53. package/dist/src/package-diff.d.ts +36 -0
  54. package/dist/src/package-diff.d.ts.map +1 -0
  55. package/dist/src/package-diff.js +104 -0
  56. package/dist/src/package-diff.js.map +1 -0
  57. package/dist/src/ser-des/config/acceptance.d.ts +10 -0
  58. package/dist/src/ser-des/config/acceptance.d.ts.map +1 -0
  59. package/dist/src/ser-des/config/acceptance.js +163 -0
  60. package/dist/src/ser-des/config/acceptance.js.map +1 -0
  61. package/dist/src/ser-des/config/activityArchetype.d.ts +5 -0
  62. package/dist/src/ser-des/config/activityArchetype.d.ts.map +1 -0
  63. package/dist/src/ser-des/config/activityArchetype.js +78 -0
  64. package/dist/src/ser-des/config/activityArchetype.js.map +1 -0
  65. package/dist/src/ser-des/config/artifact.d.ts +16 -0
  66. package/dist/src/ser-des/config/artifact.d.ts.map +1 -0
  67. package/dist/src/ser-des/config/artifact.js +392 -0
  68. package/dist/src/ser-des/config/artifact.js.map +1 -0
  69. package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
  70. package/dist/src/ser-des/config/calculation.js +214 -12
  71. package/dist/src/ser-des/config/calculation.js.map +1 -1
  72. package/dist/src/ser-des/config/comment.d.ts +34 -0
  73. package/dist/src/ser-des/config/comment.d.ts.map +1 -0
  74. package/dist/src/ser-des/config/comment.js +121 -0
  75. package/dist/src/ser-des/config/comment.js.map +1 -0
  76. package/dist/src/ser-des/config/competenceKind.d.ts +8 -0
  77. package/dist/src/ser-des/config/competenceKind.d.ts.map +1 -0
  78. package/dist/src/ser-des/config/competenceKind.js +266 -0
  79. package/dist/src/ser-des/config/competenceKind.js.map +1 -0
  80. package/dist/src/ser-des/config/composition.d.ts +6 -0
  81. package/dist/src/ser-des/config/composition.d.ts.map +1 -0
  82. package/dist/src/ser-des/config/composition.js +165 -0
  83. package/dist/src/ser-des/config/composition.js.map +1 -0
  84. package/dist/src/ser-des/config/conformanceClass.d.ts +9 -0
  85. package/dist/src/ser-des/config/conformanceClass.d.ts.map +1 -0
  86. package/dist/src/ser-des/config/conformanceClass.js +128 -0
  87. package/dist/src/ser-des/config/conformanceClass.js.map +1 -0
  88. package/dist/src/ser-des/config/conformanceTest.d.ts +6 -0
  89. package/dist/src/ser-des/config/conformanceTest.d.ts.map +1 -0
  90. package/dist/src/ser-des/config/conformanceTest.js +929 -0
  91. package/dist/src/ser-des/config/conformanceTest.js.map +1 -0
  92. package/dist/src/ser-des/config/constraint.d.ts +5 -0
  93. package/dist/src/ser-des/config/constraint.d.ts.map +1 -0
  94. package/dist/src/ser-des/config/constraint.js +108 -0
  95. package/dist/src/ser-des/config/constraint.js.map +1 -0
  96. package/dist/src/ser-des/config/data.d.ts.map +1 -1
  97. package/dist/src/ser-des/config/data.js +105 -12
  98. package/dist/src/ser-des/config/data.js.map +1 -1
  99. package/dist/src/ser-des/config/design.d.ts +9 -0
  100. package/dist/src/ser-des/config/design.d.ts.map +1 -0
  101. package/dist/src/ser-des/config/design.js +847 -0
  102. package/dist/src/ser-des/config/design.js.map +1 -0
  103. package/dist/src/ser-des/config/discrepancyRecord.d.ts +5 -0
  104. package/dist/src/ser-des/config/discrepancyRecord.d.ts.map +1 -0
  105. package/dist/src/ser-des/config/discrepancyRecord.js +109 -0
  106. package/dist/src/ser-des/config/discrepancyRecord.js.map +1 -0
  107. package/dist/src/ser-des/config/dual.d.ts +9 -0
  108. package/dist/src/ser-des/config/dual.d.ts.map +1 -0
  109. package/dist/src/ser-des/config/dual.js +84 -0
  110. package/dist/src/ser-des/config/dual.js.map +1 -0
  111. package/dist/src/ser-des/config/field-parser.d.ts +92 -7
  112. package/dist/src/ser-des/config/field-parser.d.ts.map +1 -1
  113. package/dist/src/ser-des/config/field-parser.js +844 -29
  114. package/dist/src/ser-des/config/field-parser.js.map +1 -1
  115. package/dist/src/ser-des/config/form.d.ts.map +1 -1
  116. package/dist/src/ser-des/config/form.js +356 -134
  117. package/dist/src/ser-des/config/form.js.map +1 -1
  118. package/dist/src/ser-des/config/formulasUsed.d.ts +9 -0
  119. package/dist/src/ser-des/config/formulasUsed.d.ts.map +1 -0
  120. package/dist/src/ser-des/config/formulasUsed.js +126 -0
  121. package/dist/src/ser-des/config/formulasUsed.js.map +1 -0
  122. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  123. package/dist/src/ser-des/config/index.js +180 -1
  124. package/dist/src/ser-des/config/index.js.map +1 -1
  125. package/dist/src/ser-des/config/instance.d.ts +22 -0
  126. package/dist/src/ser-des/config/instance.d.ts.map +1 -0
  127. package/dist/src/ser-des/config/instance.js +266 -0
  128. package/dist/src/ser-des/config/instance.js.map +1 -0
  129. package/dist/src/ser-des/config/invariant.d.ts +9 -0
  130. package/dist/src/ser-des/config/invariant.d.ts.map +1 -0
  131. package/dist/src/ser-des/config/invariant.js +143 -0
  132. package/dist/src/ser-des/config/invariant.js.map +1 -0
  133. package/dist/src/ser-des/config/mapProfile.d.ts.map +1 -1
  134. package/dist/src/ser-des/config/mapProfile.js +199 -14
  135. package/dist/src/ser-des/config/mapProfile.js.map +1 -1
  136. package/dist/src/ser-des/config/metadata.js +6 -6
  137. package/dist/src/ser-des/config/metadata.js.map +1 -1
  138. package/dist/src/ser-des/config/monitor.d.ts +9 -0
  139. package/dist/src/ser-des/config/monitor.d.ts.map +1 -0
  140. package/dist/src/ser-des/config/monitor.js +322 -0
  141. package/dist/src/ser-des/config/monitor.js.map +1 -0
  142. package/dist/src/ser-des/config/note.d.ts.map +1 -1
  143. package/dist/src/ser-des/config/note.js +16 -1
  144. package/dist/src/ser-des/config/note.js.map +1 -1
  145. package/dist/src/ser-des/config/packageManifest.d.ts +5 -0
  146. package/dist/src/ser-des/config/packageManifest.d.ts.map +1 -0
  147. package/dist/src/ser-des/config/packageManifest.js +349 -0
  148. package/dist/src/ser-des/config/packageManifest.js.map +1 -0
  149. package/dist/src/ser-des/config/passport.d.ts +9 -0
  150. package/dist/src/ser-des/config/passport.d.ts.map +1 -0
  151. package/dist/src/ser-des/config/passport.js +191 -0
  152. package/dist/src/ser-des/config/passport.js.map +1 -0
  153. package/dist/src/ser-des/config/process.d.ts +5 -3
  154. package/dist/src/ser-des/config/process.d.ts.map +1 -1
  155. package/dist/src/ser-des/config/process.js +915 -8
  156. package/dist/src/ser-des/config/process.js.map +1 -1
  157. package/dist/src/ser-des/config/quantity.d.ts +21 -0
  158. package/dist/src/ser-des/config/quantity.d.ts.map +1 -0
  159. package/dist/src/ser-des/config/quantity.js +114 -0
  160. package/dist/src/ser-des/config/quantity.js.map +1 -0
  161. package/dist/src/ser-des/config/quantityRegister.d.ts +9 -0
  162. package/dist/src/ser-des/config/quantityRegister.d.ts.map +1 -0
  163. package/dist/src/ser-des/config/quantityRegister.js +202 -0
  164. package/dist/src/ser-des/config/quantityRegister.js.map +1 -0
  165. package/dist/src/ser-des/config/reference.d.ts.map +1 -1
  166. package/dist/src/ser-des/config/reference.js +6 -0
  167. package/dist/src/ser-des/config/reference.js.map +1 -1
  168. package/dist/src/ser-des/config/referenceMaterial.d.ts +5 -0
  169. package/dist/src/ser-des/config/referenceMaterial.d.ts.map +1 -0
  170. package/dist/src/ser-des/config/referenceMaterial.js +296 -0
  171. package/dist/src/ser-des/config/referenceMaterial.js.map +1 -0
  172. package/dist/src/ser-des/config/requirement.d.ts +16 -0
  173. package/dist/src/ser-des/config/requirement.d.ts.map +1 -0
  174. package/dist/src/ser-des/config/requirement.js +579 -0
  175. package/dist/src/ser-des/config/requirement.js.map +1 -0
  176. package/dist/src/ser-des/config/role.d.ts.map +1 -1
  177. package/dist/src/ser-des/config/role.js +12 -0
  178. package/dist/src/ser-des/config/role.js.map +1 -1
  179. package/dist/src/ser-des/config/series.d.ts +9 -0
  180. package/dist/src/ser-des/config/series.d.ts.map +1 -0
  181. package/dist/src/ser-des/config/series.js +121 -0
  182. package/dist/src/ser-des/config/series.js.map +1 -0
  183. package/dist/src/ser-des/config/sourceDiscrepancy.d.ts +11 -0
  184. package/dist/src/ser-des/config/sourceDiscrepancy.d.ts.map +1 -0
  185. package/dist/src/ser-des/config/sourceDiscrepancy.js +83 -0
  186. package/dist/src/ser-des/config/sourceDiscrepancy.js.map +1 -0
  187. package/dist/src/ser-des/config/stateMachine.d.ts.map +1 -1
  188. package/dist/src/ser-des/config/stateMachine.js +189 -38
  189. package/dist/src/ser-des/config/stateMachine.js.map +1 -1
  190. package/dist/src/ser-des/config/subform.d.ts.map +1 -1
  191. package/dist/src/ser-des/config/subform.js +25 -33
  192. package/dist/src/ser-des/config/subform.js.map +1 -1
  193. package/dist/src/ser-des/config/subject.d.ts +58 -0
  194. package/dist/src/ser-des/config/subject.d.ts.map +1 -0
  195. package/dist/src/ser-des/config/subject.js +2093 -0
  196. package/dist/src/ser-des/config/subject.js.map +1 -0
  197. package/dist/src/ser-des/config/symbol.d.ts.map +1 -1
  198. package/dist/src/ser-des/config/symbol.js +130 -6
  199. package/dist/src/ser-des/config/symbol.js.map +1 -1
  200. package/dist/src/ser-des/config/table.d.ts.map +1 -1
  201. package/dist/src/ser-des/config/table.js +373 -7
  202. package/dist/src/ser-des/config/table.js.map +1 -1
  203. package/dist/src/ser-des/config/term.d.ts.map +1 -1
  204. package/dist/src/ser-des/config/term.js +107 -0
  205. package/dist/src/ser-des/config/term.js.map +1 -1
  206. package/dist/src/ser-des/config/testPointSet.d.ts +5 -0
  207. package/dist/src/ser-des/config/testPointSet.d.ts.map +1 -0
  208. package/dist/src/ser-des/config/testPointSet.js +199 -0
  209. package/dist/src/ser-des/config/testPointSet.js.map +1 -0
  210. package/dist/src/ser-des/config/testSequence.d.ts +9 -0
  211. package/dist/src/ser-des/config/testSequence.d.ts.map +1 -0
  212. package/dist/src/ser-des/config/testSequence.js +206 -0
  213. package/dist/src/ser-des/config/testSequence.js.map +1 -0
  214. package/dist/src/ser-des/config/text.d.ts +5 -0
  215. package/dist/src/ser-des/config/text.d.ts.map +1 -0
  216. package/dist/src/ser-des/config/text.js +106 -0
  217. package/dist/src/ser-des/config/text.js.map +1 -0
  218. package/dist/src/ser-des/config/twin.d.ts +31 -0
  219. package/dist/src/ser-des/config/twin.d.ts.map +1 -0
  220. package/dist/src/ser-des/config/twin.js +362 -0
  221. package/dist/src/ser-des/config/twin.js.map +1 -0
  222. package/dist/src/ser-des/config/verdict.d.ts +5 -0
  223. package/dist/src/ser-des/config/verdict.d.ts.map +1 -0
  224. package/dist/src/ser-des/config/verdict.js +159 -0
  225. package/dist/src/ser-des/config/verdict.js.map +1 -0
  226. package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -1
  227. package/dist/src/ser-des/config/viewProfile.js +7 -0
  228. package/dist/src/ser-des/config/viewProfile.js.map +1 -1
  229. package/dist/src/ser-des/includes.d.ts.map +1 -1
  230. package/dist/src/ser-des/includes.js +5 -2
  231. package/dist/src/ser-des/includes.js.map +1 -1
  232. package/dist/src/ser-des/index.d.ts +12 -0
  233. package/dist/src/ser-des/index.d.ts.map +1 -1
  234. package/dist/src/ser-des/index.js +42 -0
  235. package/dist/src/ser-des/index.js.map +1 -1
  236. package/dist/src/ser-des/package.d.ts +53 -0
  237. package/dist/src/ser-des/package.d.ts.map +1 -0
  238. package/dist/src/ser-des/package.js +404 -0
  239. package/dist/src/ser-des/package.js.map +1 -0
  240. package/dist/src/ser-des/parse-block.d.ts.map +1 -1
  241. package/dist/src/ser-des/parse-block.js +7 -1
  242. package/dist/src/ser-des/parse-block.js.map +1 -1
  243. package/dist/src/ser-des/parse.d.ts.map +1 -1
  244. package/dist/src/ser-des/parse.js +45 -0
  245. package/dist/src/ser-des/parse.js.map +1 -1
  246. package/dist/src/ser-des/prm.d.ts +53 -0
  247. package/dist/src/ser-des/prm.d.ts.map +1 -0
  248. package/dist/src/ser-des/prm.js +257 -0
  249. package/dist/src/ser-des/prm.js.map +1 -0
  250. package/dist/src/ser-des/resolve.d.ts.map +1 -1
  251. package/dist/src/ser-des/resolve.js +1 -0
  252. package/dist/src/ser-des/resolve.js.map +1 -1
  253. package/dist/src/ser-des/tokenize.d.ts +11 -0
  254. package/dist/src/ser-des/tokenize.d.ts.map +1 -1
  255. package/dist/src/ser-des/tokenize.js +28 -1
  256. package/dist/src/ser-des/tokenize.js.map +1 -1
  257. package/dist/src/ser-des/types.d.ts +56 -1
  258. package/dist/src/ser-des/types.d.ts.map +1 -1
  259. package/dist/src/spelling.d.ts +35 -0
  260. package/dist/src/spelling.d.ts.map +1 -0
  261. package/dist/src/spelling.js +140 -0
  262. package/dist/src/spelling.js.map +1 -0
  263. package/dist/src/text-coverage.d.ts +164 -0
  264. package/dist/src/text-coverage.d.ts.map +1 -0
  265. package/dist/src/text-coverage.js +679 -0
  266. package/dist/src/text-coverage.js.map +1 -0
  267. package/dist/src/time.d.ts +55 -0
  268. package/dist/src/time.d.ts.map +1 -0
  269. package/dist/src/time.js +223 -0
  270. package/dist/src/time.js.map +1 -0
  271. package/dist/src/type-expr.d.ts +31 -0
  272. package/dist/src/type-expr.d.ts.map +1 -0
  273. package/dist/src/type-expr.js +110 -0
  274. package/dist/src/type-expr.js.map +1 -0
  275. package/dist/src/types/Acceptance.d.ts +31 -0
  276. package/dist/src/types/Acceptance.d.ts.map +1 -0
  277. package/dist/src/types/Acceptance.js +12 -0
  278. package/dist/src/types/Acceptance.js.map +1 -0
  279. package/dist/src/types/ActivityArchetype.d.ts +14 -0
  280. package/dist/src/types/ActivityArchetype.d.ts.map +1 -0
  281. package/dist/src/types/ActivityArchetype.js +17 -0
  282. package/dist/src/types/ActivityArchetype.js.map +1 -0
  283. package/dist/src/types/Artifact.d.ts +117 -0
  284. package/dist/src/types/Artifact.d.ts.map +1 -0
  285. package/dist/src/types/Artifact.js +35 -0
  286. package/dist/src/types/Artifact.js.map +1 -0
  287. package/dist/src/types/Calculation.d.ts +49 -0
  288. package/dist/src/types/Calculation.d.ts.map +1 -1
  289. package/dist/src/types/Comment.d.ts +23 -0
  290. package/dist/src/types/Comment.d.ts.map +1 -0
  291. package/dist/src/types/Comment.js +3 -0
  292. package/dist/src/types/Comment.js.map +1 -0
  293. package/dist/src/types/CompetenceKind.d.ts +70 -0
  294. package/dist/src/types/CompetenceKind.d.ts.map +1 -0
  295. package/dist/src/types/CompetenceKind.js +3 -0
  296. package/dist/src/types/CompetenceKind.js.map +1 -0
  297. package/dist/src/types/Composition.d.ts +80 -0
  298. package/dist/src/types/Composition.d.ts.map +1 -0
  299. package/dist/src/types/Composition.js +44 -0
  300. package/dist/src/types/Composition.js.map +1 -0
  301. package/dist/src/types/ConformanceClass.d.ts +22 -0
  302. package/dist/src/types/ConformanceClass.d.ts.map +1 -0
  303. package/dist/src/types/ConformanceClass.js +7 -0
  304. package/dist/src/types/ConformanceClass.js.map +1 -0
  305. package/dist/src/types/ConformanceTest.d.ts +206 -0
  306. package/dist/src/types/ConformanceTest.d.ts.map +1 -0
  307. package/dist/src/types/ConformanceTest.js +3 -0
  308. package/dist/src/types/ConformanceTest.js.map +1 -0
  309. package/dist/src/types/Constraint.d.ts +34 -0
  310. package/dist/src/types/Constraint.d.ts.map +1 -0
  311. package/dist/src/types/Constraint.js +3 -0
  312. package/dist/src/types/Constraint.js.map +1 -0
  313. package/dist/src/types/Design.d.ts +147 -0
  314. package/dist/src/types/Design.d.ts.map +1 -0
  315. package/dist/src/types/Design.js +10 -0
  316. package/dist/src/types/Design.js.map +1 -0
  317. package/dist/src/types/DiscrepancyRecord.d.ts +42 -0
  318. package/dist/src/types/DiscrepancyRecord.d.ts.map +1 -0
  319. package/dist/src/types/DiscrepancyRecord.js +3 -0
  320. package/dist/src/types/DiscrepancyRecord.js.map +1 -0
  321. package/dist/src/types/Form.d.ts +132 -1
  322. package/dist/src/types/Form.d.ts.map +1 -1
  323. package/dist/src/types/FormulasUsed.d.ts +95 -0
  324. package/dist/src/types/FormulasUsed.d.ts.map +1 -0
  325. package/dist/src/types/FormulasUsed.js +64 -0
  326. package/dist/src/types/FormulasUsed.js.map +1 -0
  327. package/dist/src/types/Instance.d.ts +105 -0
  328. package/dist/src/types/Instance.d.ts.map +1 -0
  329. package/dist/src/types/Instance.js +40 -0
  330. package/dist/src/types/Instance.js.map +1 -0
  331. package/dist/src/types/Invariant.d.ts +82 -0
  332. package/dist/src/types/Invariant.d.ts.map +1 -0
  333. package/dist/src/types/Invariant.js +50 -0
  334. package/dist/src/types/Invariant.js.map +1 -0
  335. package/dist/src/types/MapProfile.d.ts +36 -1
  336. package/dist/src/types/MapProfile.d.ts.map +1 -1
  337. package/dist/src/types/Monitor.d.ts +144 -0
  338. package/dist/src/types/Monitor.d.ts.map +1 -0
  339. package/dist/src/types/Monitor.js +74 -0
  340. package/dist/src/types/Monitor.js.map +1 -0
  341. package/dist/src/types/Note.d.ts +4 -1
  342. package/dist/src/types/Note.d.ts.map +1 -1
  343. package/dist/src/types/Package.d.ts +161 -0
  344. package/dist/src/types/Package.d.ts.map +1 -0
  345. package/dist/src/types/Package.js +3 -0
  346. package/dist/src/types/Package.js.map +1 -0
  347. package/dist/src/types/Passport.d.ts +125 -0
  348. package/dist/src/types/Passport.d.ts.map +1 -0
  349. package/dist/src/types/Passport.js +84 -0
  350. package/dist/src/types/Passport.js.map +1 -0
  351. package/dist/src/types/Quantity.d.ts +99 -0
  352. package/dist/src/types/Quantity.d.ts.map +1 -0
  353. package/dist/src/types/Quantity.js +24 -0
  354. package/dist/src/types/Quantity.js.map +1 -0
  355. package/dist/src/types/Reference.d.ts +2 -0
  356. package/dist/src/types/Reference.d.ts.map +1 -1
  357. package/dist/src/types/ReferenceMaterial.d.ts +53 -0
  358. package/dist/src/types/ReferenceMaterial.d.ts.map +1 -0
  359. package/dist/src/types/ReferenceMaterial.js +14 -0
  360. package/dist/src/types/ReferenceMaterial.js.map +1 -0
  361. package/dist/src/types/Requirement.d.ts +111 -0
  362. package/dist/src/types/Requirement.d.ts.map +1 -0
  363. package/dist/src/types/Requirement.js +10 -0
  364. package/dist/src/types/Requirement.js.map +1 -0
  365. package/dist/src/types/Role.d.ts +4 -0
  366. package/dist/src/types/Role.d.ts.map +1 -1
  367. package/dist/src/types/Series.d.ts +31 -0
  368. package/dist/src/types/Series.d.ts.map +1 -0
  369. package/dist/src/types/Series.js +14 -0
  370. package/dist/src/types/Series.js.map +1 -0
  371. package/dist/src/types/SourceDiscrepancy.d.ts +21 -0
  372. package/dist/src/types/SourceDiscrepancy.d.ts.map +1 -0
  373. package/dist/src/types/SourceDiscrepancy.js +13 -0
  374. package/dist/src/types/SourceDiscrepancy.js.map +1 -0
  375. package/dist/src/types/Standard.d.ts +68 -0
  376. package/dist/src/types/Standard.d.ts.map +1 -1
  377. package/dist/src/types/StateMachine.d.ts +43 -0
  378. package/dist/src/types/StateMachine.d.ts.map +1 -1
  379. package/dist/src/types/StateMachine.js +7 -0
  380. package/dist/src/types/StateMachine.js.map +1 -1
  381. package/dist/src/types/Subject.d.ts +432 -0
  382. package/dist/src/types/Subject.d.ts.map +1 -0
  383. package/dist/src/types/Subject.js +13 -0
  384. package/dist/src/types/Subject.js.map +1 -0
  385. package/dist/src/types/Symbol.d.ts +31 -1
  386. package/dist/src/types/Symbol.d.ts.map +1 -1
  387. package/dist/src/types/Table.d.ts +43 -0
  388. package/dist/src/types/Table.d.ts.map +1 -1
  389. package/dist/src/types/Term.d.ts +29 -0
  390. package/dist/src/types/Term.d.ts.map +1 -1
  391. package/dist/src/types/TestPointSet.d.ts +33 -0
  392. package/dist/src/types/TestPointSet.d.ts.map +1 -0
  393. package/dist/src/types/TestPointSet.js +11 -0
  394. package/dist/src/types/TestPointSet.js.map +1 -0
  395. package/dist/src/types/TestSequence.d.ts +105 -0
  396. package/dist/src/types/TestSequence.d.ts.map +1 -0
  397. package/dist/src/types/TestSequence.js +65 -0
  398. package/dist/src/types/TestSequence.js.map +1 -0
  399. package/dist/src/types/Text.d.ts +21 -0
  400. package/dist/src/types/Text.d.ts.map +1 -0
  401. package/dist/src/types/Text.js +38 -0
  402. package/dist/src/types/Text.js.map +1 -0
  403. package/dist/src/types/Time.d.ts +43 -0
  404. package/dist/src/types/Time.d.ts.map +1 -0
  405. package/dist/src/types/Time.js +14 -0
  406. package/dist/src/types/Time.js.map +1 -0
  407. package/dist/src/types/Twin.d.ts +155 -0
  408. package/dist/src/types/Twin.d.ts.map +1 -0
  409. package/dist/src/types/Twin.js +102 -0
  410. package/dist/src/types/Twin.js.map +1 -0
  411. package/dist/src/types/Verdict.d.ts +40 -0
  412. package/dist/src/types/Verdict.d.ts.map +1 -0
  413. package/dist/src/types/Verdict.js +14 -0
  414. package/dist/src/types/Verdict.js.map +1 -0
  415. package/dist/src/types/ViewProfile.d.ts +6 -0
  416. package/dist/src/types/ViewProfile.d.ts.map +1 -1
  417. package/dist/src/types/data.d.ts +27 -0
  418. package/dist/src/types/data.d.ts.map +1 -1
  419. package/dist/src/types/process.d.ts +231 -0
  420. package/dist/src/types/process.d.ts.map +1 -1
  421. package/dist-browser/index.mjs +6699 -661
  422. package/dist-cli/primmel.mjs +21462 -0
  423. package/package.json +61 -5
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // Competence-kind construct (TODO.roadmap/48 — BUG.R60-SSOT gap 1):
4
+ // the laboratory testing-competence registry, the vocabulary of a
5
+ // conformance test's `required_competence` and a TestLaboratory's
6
+ // `accreditation_scope`:
7
+ // competence_kind force_measurement {
8
+ // label "Force measurement"
9
+ // definition "…"
10
+ // source { doc "ISO/IEC 17025:2017, 6.4" clause "" }
11
+ // method_standard iec-60068-2-30 "Environmental testing — Test Db"
12
+ // }
13
+ //
14
+ // The required_competence facet on conformance_test (parsed/dumped here
15
+ // too — the entry shape is shared with the laboratory scope entries):
16
+ // required_competence {
17
+ // competence force_measurement {
18
+ // range { min 0 max "e_max" unit "kg" }
19
+ // method_standard "iec-60068-2-30"
20
+ // resolution { value 0.1 unit "uV" }
21
+ // stability { value 2 unit "degC" }
22
+ // description "…"
23
+ // }
24
+ // }
25
+ // A range bound is a number, or a quoted subject-parameter id the
26
+ // dispatch context resolves (e.g. "e_max"); a laboratory scope always
27
+ // states numbers.
28
+ // ─────────────────────────────────────────────────────────────────────
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.dumpCompetenceKind = exports.parseCompetenceKind = void 0;
31
+ exports.parseRequiredCompetence = parseRequiredCompetence;
32
+ exports.dumpRequiredCompetence = dumpRequiredCompetence;
33
+ const tokenize_1 = require("../tokenize");
34
+ const tokenize_2 = require("../tokenize");
35
+ const field_parser_1 = require("./field-parser");
36
+ /** A bound token: unquoted numbers parse as numbers, quoted tokens stay
37
+ * parameter ids (stripWrapping removes the quotes). */
38
+ function readBound(raw) {
39
+ const s = (0, tokenize_2.stripWrapping)(raw);
40
+ if (s.trim() !== '' && !isNaN(Number(s))) {
41
+ return Number(s);
42
+ }
43
+ return s;
44
+ }
45
+ function readQuantity(block) {
46
+ const q = { value: 0, unit: '' };
47
+ const t = (0, tokenize_1.default)(block);
48
+ let i = 0;
49
+ while (i < t.length) {
50
+ const cmd = t[i++];
51
+ if (i >= t.length) {
52
+ break;
53
+ }
54
+ if (cmd === 'value') {
55
+ q.value = Number((0, tokenize_2.stripWrapping)(t[i++]));
56
+ }
57
+ else if (cmd === 'unit') {
58
+ q.unit = (0, tokenize_2.stripWrapping)(t[i++]);
59
+ }
60
+ else {
61
+ (0, tokenize_2.unwrapBlock)(t[i++]);
62
+ }
63
+ }
64
+ return q;
65
+ }
66
+ function parseRequiredCompetence(block) {
67
+ const out = [];
68
+ const t = (0, tokenize_1.default)(block);
69
+ let i = 0;
70
+ while (i < t.length) {
71
+ const cmd = t[i++];
72
+ if (cmd !== 'competence') {
73
+ if (i < t.length) {
74
+ (0, tokenize_2.unwrapBlock)(t[i++]); // forward-compat: consume the value token
75
+ }
76
+ continue;
77
+ }
78
+ const entry = {
79
+ kind: (0, tokenize_2.stripWrapping)(t[i++]),
80
+ range: null,
81
+ methodStandard: '',
82
+ resolution: null,
83
+ stability: null,
84
+ description: '',
85
+ };
86
+ if (i < t.length && t[i].startsWith('{')) {
87
+ const ct = (0, tokenize_1.default)((0, tokenize_2.unwrapBlock)(t[i++]));
88
+ let j = 0;
89
+ while (j < ct.length) {
90
+ const cc = ct[j++];
91
+ if (j >= ct.length) {
92
+ break;
93
+ }
94
+ if (cc === 'range') {
95
+ const rt = (0, tokenize_1.default)((0, tokenize_2.unwrapBlock)(ct[j++]));
96
+ const range = { min: null, max: null, unit: '' };
97
+ let k = 0;
98
+ while (k < rt.length) {
99
+ const rc = rt[k++];
100
+ if (k >= rt.length) {
101
+ break;
102
+ }
103
+ if (rc === 'min') {
104
+ range.min = readBound(rt[k++]);
105
+ }
106
+ else if (rc === 'max') {
107
+ range.max = readBound(rt[k++]);
108
+ }
109
+ else if (rc === 'unit') {
110
+ range.unit = (0, tokenize_2.stripWrapping)(rt[k++]);
111
+ }
112
+ else {
113
+ (0, tokenize_2.unwrapBlock)(rt[k++]);
114
+ }
115
+ }
116
+ entry.range = range;
117
+ }
118
+ else if (cc === 'method_standard') {
119
+ entry.methodStandard = (0, tokenize_2.stripWrapping)(ct[j++]);
120
+ }
121
+ else if (cc === 'resolution') {
122
+ entry.resolution = readQuantity((0, tokenize_2.unwrapBlock)(ct[j++]));
123
+ }
124
+ else if (cc === 'stability') {
125
+ entry.stability = readQuantity((0, tokenize_2.unwrapBlock)(ct[j++]));
126
+ }
127
+ else if (cc === 'description') {
128
+ entry.description = (0, tokenize_2.stripWrapping)(ct[j++]);
129
+ }
130
+ else {
131
+ (0, tokenize_2.unwrapBlock)(ct[j++]);
132
+ }
133
+ }
134
+ }
135
+ out.push(entry);
136
+ }
137
+ return out;
138
+ }
139
+ function dumpQuantity(keyword, q) {
140
+ if (!q) {
141
+ return '';
142
+ }
143
+ return (' ' +
144
+ keyword +
145
+ ' { value ' +
146
+ String(q.value) +
147
+ ' unit "' +
148
+ (0, tokenize_2.escapeString)(q.unit) +
149
+ '" }\n');
150
+ }
151
+ function dumpBound(bound) {
152
+ if (bound === null) {
153
+ return '';
154
+ }
155
+ return typeof bound === 'number'
156
+ ? String(bound)
157
+ : '"' + (0, tokenize_2.escapeString)(bound) + '"';
158
+ }
159
+ function dumpRequiredCompetence(entries) {
160
+ let out = ' required_competence {\n';
161
+ for (const e of entries) {
162
+ out += ' competence ' + e.kind + ' {\n';
163
+ if (e.range) {
164
+ let line = ' range {';
165
+ if (e.range.min !== null) {
166
+ line += ' min ' + dumpBound(e.range.min);
167
+ }
168
+ if (e.range.max !== null) {
169
+ line += ' max ' + dumpBound(e.range.max);
170
+ }
171
+ line += ' unit "' + (0, tokenize_2.escapeString)(e.range.unit) + '" }\n';
172
+ out += line;
173
+ }
174
+ if (e.methodStandard) {
175
+ out += ' method_standard "' + (0, tokenize_2.escapeString)(e.methodStandard) + '"\n';
176
+ }
177
+ out += dumpQuantity('resolution', e.resolution);
178
+ out += dumpQuantity('stability', e.stability);
179
+ if (e.description) {
180
+ out += ' description "' + (0, tokenize_2.escapeString)(e.description) + '"\n';
181
+ }
182
+ out += ' }\n';
183
+ }
184
+ out += ' }\n';
185
+ return out;
186
+ }
187
+ /** Unwrap one value token: quoted strings unescape, blocks unwrap. */
188
+ function readValue(raw) {
189
+ if (raw.length >= 2 &&
190
+ raw.charAt(0) === '"' &&
191
+ raw.charAt(raw.length - 1) === '"') {
192
+ return (0, tokenize_2.unescapeString)(raw.substr(1, raw.length - 2));
193
+ }
194
+ return (0, tokenize_2.unwrapBlock)(raw);
195
+ }
196
+ const parseCompetenceKind = function (id, data) {
197
+ const result = {
198
+ id,
199
+ label: '',
200
+ definition: '',
201
+ source: null,
202
+ methodStandards: [],
203
+ };
204
+ // Manual walk (not forEachEntry): a method_standard line carries TWO
205
+ // value tokens (id + title), which the pairwise helper cannot frame.
206
+ const t = (0, tokenize_2.tokenizePackage)(data);
207
+ let i = 0;
208
+ while (i < t.length) {
209
+ const keyword = t[i++];
210
+ if (i >= t.length) {
211
+ throw new Error(`Parsing error: competence_kind. ID ${id}: Expecting value for ${keyword}`);
212
+ }
213
+ if (keyword === 'label') {
214
+ result.label = readValue(t[i++]);
215
+ }
216
+ else if (keyword === 'definition') {
217
+ result.definition = readValue(t[i++]);
218
+ }
219
+ else if (keyword === 'source') {
220
+ result.source = (0, field_parser_1.readSource)((0, tokenize_2.unwrapBlock)(t[i++]));
221
+ }
222
+ else if (keyword === 'method_standard') {
223
+ const stdId = (0, tokenize_2.stripWrapping)(t[i++]);
224
+ if (i >= t.length) {
225
+ throw new Error(`Parsing error: competence_kind. ID ${id}: Expecting title for method_standard ${stdId}`);
226
+ }
227
+ result.methodStandards.push({ id: stdId, title: readValue(t[i++]) });
228
+ }
229
+ else {
230
+ i++; // forward-compat: skip unknown keyword value
231
+ }
232
+ }
233
+ return ctx => {
234
+ ctx.competenceKinds[id] = result;
235
+ return ctx;
236
+ };
237
+ };
238
+ exports.parseCompetenceKind = parseCompetenceKind;
239
+ const dumpCompetenceKind = function (k) {
240
+ let out = 'competence_kind ' + k.id + ' {\n';
241
+ if (k.label) {
242
+ out += ' label "' + (0, tokenize_2.escapeString)(k.label) + '"\n';
243
+ }
244
+ if (k.definition) {
245
+ out += ' definition "' + (0, tokenize_2.escapeString)(k.definition) + '"\n';
246
+ }
247
+ if (k.source && (k.source.doc || k.source.clause)) {
248
+ out +=
249
+ ' source { doc "' +
250
+ (0, tokenize_2.escapeString)(k.source.doc) +
251
+ '" clause "' +
252
+ (0, tokenize_2.escapeString)(k.source.clause) +
253
+ '"' +
254
+ (k.source.fragment
255
+ ? ' fragment "' + (0, tokenize_2.escapeString)(k.source.fragment) + '"'
256
+ : '') +
257
+ ' }\n';
258
+ }
259
+ for (const ms of k.methodStandards) {
260
+ out += ' method_standard ' + ms.id + ' "' + (0, tokenize_2.escapeString)(ms.title) + '"\n';
261
+ }
262
+ out += '}\n';
263
+ return out;
264
+ };
265
+ exports.dumpCompetenceKind = dumpCompetenceKind;
266
+ //# sourceMappingURL=competenceKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"competenceKind.js","sourceRoot":"","sources":["../../../../src/ser-des/config/competenceKind.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { CompositionDecl } from '../../types/Composition';
2
+ /** Parse the `composed_of { … }` block of a subject's is-anatomy. */
3
+ export declare function parseComposedOf(block: string): CompositionDecl;
4
+ /** Dump the `composed_of { … }` block at the given indent. */
5
+ export declare function dumpComposedOf(decl: CompositionDecl, indent: string): string;
6
+ //# sourceMappingURL=composition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/composition.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AA6DjC,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAwB9D;AAgBD,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA0B5E"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // The composition facet construct (TODO.integration/14 — types/
4
+ // Composition.ts): `composed_of` nested in the subject anatomy
5
+ // (is.composedOf). Consumed BY subject.ts (the anatomy dispatcher),
6
+ // exactly like twin.ts's endpoint/serve grammars.
7
+ //
8
+ // Grammar:
9
+ //
10
+ // composed_of {
11
+ // component analyzer {
12
+ // product acme-cgm-200@2026
13
+ // endpoint cgm_api
14
+ // serial "CGM200-DEMO-0001"
15
+ // certificate null
16
+ // }
17
+ // decomposition {
18
+ // sample.indication_co -> analyzer.indication_co
19
+ // sample.test_context.flow -> sample_line.flow
20
+ // sample.state -> rule any_fault_else_analyzer
21
+ // }
22
+ // revision 1
23
+ // }
24
+ //
25
+ // Round-trip: the dump emits the canonical multi-line form; both the
26
+ // authored and dumped forms re-parse to the same model.
27
+ // ─────────────────────────────────────────────────────────────────────
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.parseComposedOf = parseComposedOf;
30
+ exports.dumpComposedOf = dumpComposedOf;
31
+ const tokenize_1 = require("../tokenize");
32
+ const tokenize_2 = require("../tokenize");
33
+ const field_parser_1 = require("./field-parser");
34
+ function parseComponent(id, block) {
35
+ const component = {
36
+ id,
37
+ product: '',
38
+ endpoint: '',
39
+ serial: '',
40
+ certificate: null,
41
+ };
42
+ const t = (0, tokenize_1.default)(block);
43
+ let i = 0;
44
+ while (i < t.length) {
45
+ const cmd = t[i++];
46
+ if (cmd === 'product') {
47
+ component.product = (0, tokenize_2.stripWrapping)(t[i++] ?? '');
48
+ }
49
+ else if (cmd === 'endpoint') {
50
+ component.endpoint = (0, tokenize_2.stripWrapping)(t[i++] ?? '');
51
+ }
52
+ else if (cmd === 'serial') {
53
+ component.serial = (0, tokenize_2.stripWrapping)(t[i++] ?? '');
54
+ }
55
+ else if (cmd === 'certificate') {
56
+ const v = (0, tokenize_2.stripWrapping)(t[i++] ?? '');
57
+ component.certificate = v === 'null' ? null : v;
58
+ }
59
+ else {
60
+ (0, tokenize_2.unwrapBlock)(t[i++] ?? '');
61
+ }
62
+ }
63
+ return component;
64
+ }
65
+ function parseDecomposition(block) {
66
+ const entries = [];
67
+ // <register> -> <component>.<register> | rule <rule-id> — one per line.
68
+ for (const rawLine of block.split('\n')) {
69
+ const line = rawLine.trim();
70
+ if (!line) {
71
+ continue;
72
+ }
73
+ const ruleMatch = /^(\S+)\s*->\s*rule\s+(\S+)\s*$/.exec(line);
74
+ if (ruleMatch) {
75
+ entries.push({
76
+ register: ruleMatch[1],
77
+ component: 'composite',
78
+ rule: ruleMatch[2],
79
+ });
80
+ continue;
81
+ }
82
+ const m = /^(\S+)\s*->\s*(\S+)\.(\S+)\s*$/.exec(line);
83
+ if (m) {
84
+ entries.push({
85
+ register: m[1],
86
+ component: m[2],
87
+ componentRegister: m[3],
88
+ });
89
+ }
90
+ // Unparseable lines drop silently — the linter reports a malformed
91
+ // decomposition (the parser stays total).
92
+ }
93
+ return entries;
94
+ }
95
+ /** Parse the `composed_of { … }` block of a subject's is-anatomy. */
96
+ function parseComposedOf(block) {
97
+ const decl = { components: [], decomposition: [] };
98
+ const t = (0, tokenize_2.tokenizePackage)(block);
99
+ let i = 0;
100
+ while (i < t.length) {
101
+ const cmd = t[i++];
102
+ if (cmd === 'component') {
103
+ const id = t[i++] ?? '';
104
+ const body = i < t.length ? (0, tokenize_2.unwrapBlock)(t[i++]) : '';
105
+ if (id) {
106
+ decl.components.push(parseComponent(id, body));
107
+ }
108
+ }
109
+ else if (cmd === 'decomposition') {
110
+ decl.decomposition = parseDecomposition((0, tokenize_2.unwrapBlock)(t[i++] ?? ''));
111
+ }
112
+ else if (cmd === 'revision') {
113
+ const v = Number(t[i++] ?? '');
114
+ if (Number.isFinite(v)) {
115
+ decl.revision = v;
116
+ }
117
+ }
118
+ else {
119
+ (0, tokenize_2.unwrapBlock)(t[i++] ?? '');
120
+ }
121
+ }
122
+ return decl;
123
+ }
124
+ /** Dump one component as `component <id> { … }` at the given indent. */
125
+ function dumpComponent(c, indent) {
126
+ let out = indent + 'component ' + (0, field_parser_1.dumpBareSafe)(c.id) + ' {\n';
127
+ out += indent + ' product ' + (0, field_parser_1.dumpBareSafe)(c.product) + '\n';
128
+ out += indent + ' endpoint ' + (0, field_parser_1.dumpBareSafe)(c.endpoint) + '\n';
129
+ out += indent + ' serial ' + (0, tokenize_2.escapeString)(c.serial) + '\n';
130
+ out +=
131
+ indent +
132
+ ' certificate ' +
133
+ (c.certificate === null ? 'null' : (0, tokenize_2.escapeString)(c.certificate)) +
134
+ '\n';
135
+ return out + indent + '}\n';
136
+ }
137
+ /** Dump the `composed_of { … }` block at the given indent. */
138
+ function dumpComposedOf(decl, indent) {
139
+ let out = indent + 'composed_of {\n';
140
+ for (const c of decl.components) {
141
+ out += dumpComponent(c, indent + ' ');
142
+ }
143
+ if (decl.decomposition.length > 0) {
144
+ out += indent + ' decomposition {\n';
145
+ for (const e of decl.decomposition) {
146
+ out +=
147
+ indent +
148
+ ' ' +
149
+ (0, field_parser_1.dumpBareSafe)(e.register) +
150
+ ' -> ' +
151
+ (e.component === 'composite'
152
+ ? 'rule ' + (0, field_parser_1.dumpBareSafe)(e.rule ?? '')
153
+ : (0, field_parser_1.dumpBareSafe)(e.component) +
154
+ '.' +
155
+ (0, field_parser_1.dumpBareSafe)(e.componentRegister ?? '')) +
156
+ '\n';
157
+ }
158
+ out += indent + ' }\n';
159
+ }
160
+ if (decl.revision !== undefined) {
161
+ out += indent + ' revision ' + String(decl.revision) + '\n';
162
+ }
163
+ return out + indent + '}\n';
164
+ }
165
+ //# sourceMappingURL=composition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../../../src/ser-des/config/composition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ConformanceClass } from '../../types/ConformanceClass';
2
+ export declare const conformanceClassConstruct: {
3
+ readonly keyword: "conformance_class";
4
+ readonly field: "conformanceClasses";
5
+ readonly takesID: true;
6
+ readonly parse: import("../types").Parser;
7
+ readonly dump: (cc: ConformanceClass) => string;
8
+ };
9
+ //# sourceMappingURL=conformanceClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformanceClass.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/conformanceClass.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAoGrE,eAAO,MAAM,yBAAyB;;;;;wBA3CK,gBAAgB,KAAG,MAAM;CAiD1D,CAAC"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // conformance_class construct (Primmel v2) — a conformance-test scope:
4
+ // conformance_class /conf/metrological-tests {
5
+ // title "Metrological tests"
6
+ // name "Metrological conformance tests"
7
+ // target /req/metrological
8
+ // subject "LoadCell"
9
+ // description "..."
10
+ // applicability { accuracy_class: [A, B, C, D] }
11
+ // guidance "..."
12
+ // }
13
+ // ─────────────────────────────────────────────────────────────────────
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.conformanceClassConstruct = void 0;
16
+ const tokenize_1 = require("../tokenize");
17
+ const tokenize_2 = require("../tokenize");
18
+ const field_parser_1 = require("./field-parser");
19
+ const conformanceTest_1 = require("./conformanceTest");
20
+ const parseConformanceClass = function (id, data) {
21
+ const result = {
22
+ id,
23
+ name: '',
24
+ title: '',
25
+ description: '',
26
+ target: '',
27
+ subject: '',
28
+ applicability: [],
29
+ guidance: '',
30
+ dependencies: [],
31
+ referenceIds: [],
32
+ };
33
+ const t = (0, tokenize_2.tokenizePackage)(data);
34
+ let i = 0;
35
+ while (i < t.length) {
36
+ const cmd = t[i++];
37
+ if (i >= t.length) {
38
+ break;
39
+ }
40
+ if (cmd === 'name') {
41
+ result.name = (0, tokenize_2.stripWrapping)(t[i++]);
42
+ }
43
+ else if (cmd === 'title') {
44
+ result.title = (0, tokenize_2.stripWrapping)(t[i++]);
45
+ }
46
+ else if (cmd === 'description') {
47
+ result.description = (0, tokenize_2.stripWrapping)(t[i++]);
48
+ }
49
+ else if (cmd === 'target') {
50
+ result.target = (0, tokenize_2.stripWrapping)(t[i++]);
51
+ }
52
+ else if (cmd === 'subject') {
53
+ result.subject = (0, tokenize_2.stripWrapping)(t[i++]);
54
+ }
55
+ else if (cmd === 'applicability') {
56
+ result.applicability = (0, field_parser_1.parseApplicability)((0, tokenize_2.unwrapBlock)(t[i++]));
57
+ }
58
+ else if (cmd === 'test_subject') {
59
+ result.testSubject = (0, conformanceTest_1.parseTestSubject)((0, tokenize_2.unwrapBlock)(t[i++]));
60
+ }
61
+ else if (cmd === 'guidance') {
62
+ result.guidance = (0, tokenize_2.stripWrapping)(t[i++]);
63
+ }
64
+ else if (cmd === 'dependencies') {
65
+ result.dependencies = (0, tokenize_1.default)((0, tokenize_2.stripWrapping)(t[i++])).map(tokenize_2.stripWrapping);
66
+ }
67
+ else if (cmd === 'reference') {
68
+ result.referenceIds = (0, tokenize_1.default)((0, tokenize_2.stripWrapping)(t[i++])).map(tokenize_2.stripWrapping);
69
+ }
70
+ else {
71
+ (0, tokenize_2.unwrapBlock)(t[i++]);
72
+ }
73
+ }
74
+ return ctx => {
75
+ ctx.conformanceClasses[id] = result;
76
+ return ctx;
77
+ };
78
+ };
79
+ const dumpConformanceClass = function (cc) {
80
+ let out = 'conformance_class ' + cc.id + ' {\n';
81
+ if (cc.title) {
82
+ out += ' title "' + (0, tokenize_2.escapeString)(cc.title) + '"\n';
83
+ }
84
+ if (cc.name) {
85
+ out += ' name "' + (0, tokenize_2.escapeString)(cc.name) + '"\n';
86
+ }
87
+ if (cc.target) {
88
+ out += ' target ' + cc.target + '\n';
89
+ }
90
+ if (cc.subject) {
91
+ out += ' subject "' + (0, tokenize_2.escapeString)(cc.subject) + '"\n';
92
+ }
93
+ if (cc.description) {
94
+ out += ' description "' + (0, tokenize_2.escapeString)(cc.description) + '"\n';
95
+ }
96
+ if (cc.applicability.length > 0) {
97
+ out +=
98
+ ' applicability {\n ' +
99
+ (0, field_parser_1.dumpApplicabilityEntries)(cc.applicability).trim() +
100
+ '\n }\n';
101
+ }
102
+ if (cc.guidance) {
103
+ out += ' guidance "' + (0, tokenize_2.escapeString)(cc.guidance) + '"\n';
104
+ }
105
+ if (cc.testSubject && Object.keys(cc.testSubject).length > 0) {
106
+ out += ' test_subject {\n';
107
+ for (const [k, v] of Object.entries(cc.testSubject)) {
108
+ out += ' ' + k + ': "' + (0, tokenize_2.escapeString)(v) + '"\n';
109
+ }
110
+ out += ' }\n';
111
+ }
112
+ if (cc.dependencies.length > 0) {
113
+ out += ' dependencies { ' + cc.dependencies.join(' ') + ' }\n';
114
+ }
115
+ if (cc.referenceIds.length > 0) {
116
+ out += ' reference { ' + cc.referenceIds.join(' ') + ' }\n';
117
+ }
118
+ out += '}\n';
119
+ return out;
120
+ };
121
+ exports.conformanceClassConstruct = {
122
+ keyword: 'conformance_class',
123
+ field: 'conformanceClasses',
124
+ takesID: true,
125
+ parse: parseConformanceClass,
126
+ dump: dumpConformanceClass,
127
+ };
128
+ //# sourceMappingURL=conformanceClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformanceClass.js","sourceRoot":"","sources":["../../../../src/ser-des/config/conformanceClass.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import ConformanceTest from '../../types/ConformanceTest';
2
+ import { Dumper, Parser } from '../types';
3
+ export declare function parseTestSubject(block: string): Record<string, string>;
4
+ export declare const parseConformanceTest: Parser;
5
+ export declare const dumpConformanceTest: Dumper<ConformanceTest>;
6
+ //# sourceMappingURL=conformanceTest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformanceTest.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/conformanceTest.ts"],"names":[],"mappings":"AAAA,OAAO,eAMN,MAAM,6BAA6B,CAAC;AAyBrC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA2S1C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiBtE;AAkDD,eAAO,MAAM,oBAAoB,EAAE,MAyMlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,eAAe,CA8SvD,CAAC"}