@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.
- package/dist/index.d.ts +40 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +112 -1
- package/dist/index.js.map +1 -1
- package/dist/src/check-allowlist.d.ts +56 -0
- package/dist/src/check-allowlist.d.ts.map +1 -0
- package/dist/src/check-allowlist.js +307 -0
- package/dist/src/check-allowlist.js.map +1 -0
- package/dist/src/check-rules.d.ts +17 -0
- package/dist/src/check-rules.d.ts.map +1 -0
- package/dist/src/check-rules.js +351 -0
- package/dist/src/check-rules.js.map +1 -0
- package/dist/src/check.d.ts +115 -0
- package/dist/src/check.d.ts.map +1 -0
- package/dist/src/check.js +4164 -0
- package/dist/src/check.js.map +1 -0
- package/dist/src/export/rdf-competency-questions.d.ts +11 -0
- package/dist/src/export/rdf-competency-questions.d.ts.map +1 -0
- package/dist/src/export/rdf-competency-questions.js +99 -0
- package/dist/src/export/rdf-competency-questions.js.map +1 -0
- package/dist/src/export/rdf-shapes.d.ts +3 -0
- package/dist/src/export/rdf-shapes.d.ts.map +1 -0
- package/dist/src/export/rdf-shapes.js +225 -0
- package/dist/src/export/rdf-shapes.js.map +1 -0
- package/dist/src/export/rdf-vocabulary.d.ts +125 -0
- package/dist/src/export/rdf-vocabulary.d.ts.map +1 -0
- package/dist/src/export/rdf-vocabulary.js +230 -0
- package/dist/src/export/rdf-vocabulary.js.map +1 -0
- package/dist/src/export/rdf.d.ts +92 -0
- package/dist/src/export/rdf.d.ts.map +1 -0
- package/dist/src/export/rdf.js +707 -0
- package/dist/src/export/rdf.js.map +1 -0
- package/dist/src/export/reqif.d.ts +81 -0
- package/dist/src/export/reqif.d.ts.map +1 -0
- package/dist/src/export/reqif.js +703 -0
- package/dist/src/export/reqif.js.map +1 -0
- package/dist/src/instance-resolution.d.ts +68 -0
- package/dist/src/instance-resolution.d.ts.map +1 -0
- package/dist/src/instance-resolution.js +239 -0
- package/dist/src/instance-resolution.js.map +1 -0
- package/dist/src/mapping-coverage.d.ts +220 -0
- package/dist/src/mapping-coverage.d.ts.map +1 -0
- package/dist/src/mapping-coverage.js +528 -0
- package/dist/src/mapping-coverage.js.map +1 -0
- package/dist/src/model-diff.d.ts +198 -0
- package/dist/src/model-diff.d.ts.map +1 -0
- package/dist/src/model-diff.js +914 -0
- package/dist/src/model-diff.js.map +1 -0
- package/dist/src/operational-state.d.ts +112 -0
- package/dist/src/operational-state.d.ts.map +1 -0
- package/dist/src/operational-state.js +162 -0
- package/dist/src/operational-state.js.map +1 -0
- package/dist/src/package-diff.d.ts +36 -0
- package/dist/src/package-diff.d.ts.map +1 -0
- package/dist/src/package-diff.js +104 -0
- package/dist/src/package-diff.js.map +1 -0
- package/dist/src/ser-des/config/acceptance.d.ts +10 -0
- package/dist/src/ser-des/config/acceptance.d.ts.map +1 -0
- package/dist/src/ser-des/config/acceptance.js +163 -0
- package/dist/src/ser-des/config/acceptance.js.map +1 -0
- package/dist/src/ser-des/config/activityArchetype.d.ts +5 -0
- package/dist/src/ser-des/config/activityArchetype.d.ts.map +1 -0
- package/dist/src/ser-des/config/activityArchetype.js +78 -0
- package/dist/src/ser-des/config/activityArchetype.js.map +1 -0
- package/dist/src/ser-des/config/artifact.d.ts +16 -0
- package/dist/src/ser-des/config/artifact.d.ts.map +1 -0
- package/dist/src/ser-des/config/artifact.js +392 -0
- package/dist/src/ser-des/config/artifact.js.map +1 -0
- package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
- package/dist/src/ser-des/config/calculation.js +214 -12
- package/dist/src/ser-des/config/calculation.js.map +1 -1
- package/dist/src/ser-des/config/comment.d.ts +34 -0
- package/dist/src/ser-des/config/comment.d.ts.map +1 -0
- package/dist/src/ser-des/config/comment.js +121 -0
- package/dist/src/ser-des/config/comment.js.map +1 -0
- package/dist/src/ser-des/config/competenceKind.d.ts +8 -0
- package/dist/src/ser-des/config/competenceKind.d.ts.map +1 -0
- package/dist/src/ser-des/config/competenceKind.js +266 -0
- package/dist/src/ser-des/config/competenceKind.js.map +1 -0
- package/dist/src/ser-des/config/composition.d.ts +6 -0
- package/dist/src/ser-des/config/composition.d.ts.map +1 -0
- package/dist/src/ser-des/config/composition.js +165 -0
- package/dist/src/ser-des/config/composition.js.map +1 -0
- package/dist/src/ser-des/config/conformanceClass.d.ts +9 -0
- package/dist/src/ser-des/config/conformanceClass.d.ts.map +1 -0
- package/dist/src/ser-des/config/conformanceClass.js +128 -0
- package/dist/src/ser-des/config/conformanceClass.js.map +1 -0
- package/dist/src/ser-des/config/conformanceTest.d.ts +6 -0
- package/dist/src/ser-des/config/conformanceTest.d.ts.map +1 -0
- package/dist/src/ser-des/config/conformanceTest.js +929 -0
- package/dist/src/ser-des/config/conformanceTest.js.map +1 -0
- package/dist/src/ser-des/config/constraint.d.ts +5 -0
- package/dist/src/ser-des/config/constraint.d.ts.map +1 -0
- package/dist/src/ser-des/config/constraint.js +108 -0
- package/dist/src/ser-des/config/constraint.js.map +1 -0
- package/dist/src/ser-des/config/data.d.ts.map +1 -1
- package/dist/src/ser-des/config/data.js +105 -12
- package/dist/src/ser-des/config/data.js.map +1 -1
- package/dist/src/ser-des/config/design.d.ts +9 -0
- package/dist/src/ser-des/config/design.d.ts.map +1 -0
- package/dist/src/ser-des/config/design.js +847 -0
- package/dist/src/ser-des/config/design.js.map +1 -0
- package/dist/src/ser-des/config/discrepancyRecord.d.ts +5 -0
- package/dist/src/ser-des/config/discrepancyRecord.d.ts.map +1 -0
- package/dist/src/ser-des/config/discrepancyRecord.js +109 -0
- package/dist/src/ser-des/config/discrepancyRecord.js.map +1 -0
- package/dist/src/ser-des/config/dual.d.ts +9 -0
- package/dist/src/ser-des/config/dual.d.ts.map +1 -0
- package/dist/src/ser-des/config/dual.js +84 -0
- package/dist/src/ser-des/config/dual.js.map +1 -0
- package/dist/src/ser-des/config/field-parser.d.ts +92 -7
- package/dist/src/ser-des/config/field-parser.d.ts.map +1 -1
- package/dist/src/ser-des/config/field-parser.js +844 -29
- package/dist/src/ser-des/config/field-parser.js.map +1 -1
- package/dist/src/ser-des/config/form.d.ts.map +1 -1
- package/dist/src/ser-des/config/form.js +356 -134
- package/dist/src/ser-des/config/form.js.map +1 -1
- package/dist/src/ser-des/config/formulasUsed.d.ts +9 -0
- package/dist/src/ser-des/config/formulasUsed.d.ts.map +1 -0
- package/dist/src/ser-des/config/formulasUsed.js +126 -0
- package/dist/src/ser-des/config/formulasUsed.js.map +1 -0
- package/dist/src/ser-des/config/index.d.ts.map +1 -1
- package/dist/src/ser-des/config/index.js +180 -1
- package/dist/src/ser-des/config/index.js.map +1 -1
- package/dist/src/ser-des/config/instance.d.ts +22 -0
- package/dist/src/ser-des/config/instance.d.ts.map +1 -0
- package/dist/src/ser-des/config/instance.js +266 -0
- package/dist/src/ser-des/config/instance.js.map +1 -0
- package/dist/src/ser-des/config/invariant.d.ts +9 -0
- package/dist/src/ser-des/config/invariant.d.ts.map +1 -0
- package/dist/src/ser-des/config/invariant.js +143 -0
- package/dist/src/ser-des/config/invariant.js.map +1 -0
- package/dist/src/ser-des/config/mapProfile.d.ts.map +1 -1
- package/dist/src/ser-des/config/mapProfile.js +199 -14
- package/dist/src/ser-des/config/mapProfile.js.map +1 -1
- package/dist/src/ser-des/config/metadata.js +6 -6
- package/dist/src/ser-des/config/metadata.js.map +1 -1
- package/dist/src/ser-des/config/monitor.d.ts +9 -0
- package/dist/src/ser-des/config/monitor.d.ts.map +1 -0
- package/dist/src/ser-des/config/monitor.js +322 -0
- package/dist/src/ser-des/config/monitor.js.map +1 -0
- package/dist/src/ser-des/config/note.d.ts.map +1 -1
- package/dist/src/ser-des/config/note.js +16 -1
- package/dist/src/ser-des/config/note.js.map +1 -1
- package/dist/src/ser-des/config/packageManifest.d.ts +5 -0
- package/dist/src/ser-des/config/packageManifest.d.ts.map +1 -0
- package/dist/src/ser-des/config/packageManifest.js +349 -0
- package/dist/src/ser-des/config/packageManifest.js.map +1 -0
- package/dist/src/ser-des/config/passport.d.ts +9 -0
- package/dist/src/ser-des/config/passport.d.ts.map +1 -0
- package/dist/src/ser-des/config/passport.js +191 -0
- package/dist/src/ser-des/config/passport.js.map +1 -0
- package/dist/src/ser-des/config/process.d.ts +5 -3
- package/dist/src/ser-des/config/process.d.ts.map +1 -1
- package/dist/src/ser-des/config/process.js +915 -8
- package/dist/src/ser-des/config/process.js.map +1 -1
- package/dist/src/ser-des/config/quantity.d.ts +21 -0
- package/dist/src/ser-des/config/quantity.d.ts.map +1 -0
- package/dist/src/ser-des/config/quantity.js +114 -0
- package/dist/src/ser-des/config/quantity.js.map +1 -0
- package/dist/src/ser-des/config/quantityRegister.d.ts +9 -0
- package/dist/src/ser-des/config/quantityRegister.d.ts.map +1 -0
- package/dist/src/ser-des/config/quantityRegister.js +202 -0
- package/dist/src/ser-des/config/quantityRegister.js.map +1 -0
- package/dist/src/ser-des/config/reference.d.ts.map +1 -1
- package/dist/src/ser-des/config/reference.js +6 -0
- package/dist/src/ser-des/config/reference.js.map +1 -1
- package/dist/src/ser-des/config/referenceMaterial.d.ts +5 -0
- package/dist/src/ser-des/config/referenceMaterial.d.ts.map +1 -0
- package/dist/src/ser-des/config/referenceMaterial.js +296 -0
- package/dist/src/ser-des/config/referenceMaterial.js.map +1 -0
- package/dist/src/ser-des/config/requirement.d.ts +16 -0
- package/dist/src/ser-des/config/requirement.d.ts.map +1 -0
- package/dist/src/ser-des/config/requirement.js +579 -0
- package/dist/src/ser-des/config/requirement.js.map +1 -0
- package/dist/src/ser-des/config/role.d.ts.map +1 -1
- package/dist/src/ser-des/config/role.js +12 -0
- package/dist/src/ser-des/config/role.js.map +1 -1
- package/dist/src/ser-des/config/series.d.ts +9 -0
- package/dist/src/ser-des/config/series.d.ts.map +1 -0
- package/dist/src/ser-des/config/series.js +121 -0
- package/dist/src/ser-des/config/series.js.map +1 -0
- package/dist/src/ser-des/config/sourceDiscrepancy.d.ts +11 -0
- package/dist/src/ser-des/config/sourceDiscrepancy.d.ts.map +1 -0
- package/dist/src/ser-des/config/sourceDiscrepancy.js +83 -0
- package/dist/src/ser-des/config/sourceDiscrepancy.js.map +1 -0
- package/dist/src/ser-des/config/stateMachine.d.ts.map +1 -1
- package/dist/src/ser-des/config/stateMachine.js +189 -38
- package/dist/src/ser-des/config/stateMachine.js.map +1 -1
- package/dist/src/ser-des/config/subform.d.ts.map +1 -1
- package/dist/src/ser-des/config/subform.js +25 -33
- package/dist/src/ser-des/config/subform.js.map +1 -1
- package/dist/src/ser-des/config/subject.d.ts +58 -0
- package/dist/src/ser-des/config/subject.d.ts.map +1 -0
- package/dist/src/ser-des/config/subject.js +2093 -0
- package/dist/src/ser-des/config/subject.js.map +1 -0
- package/dist/src/ser-des/config/symbol.d.ts.map +1 -1
- package/dist/src/ser-des/config/symbol.js +130 -6
- package/dist/src/ser-des/config/symbol.js.map +1 -1
- package/dist/src/ser-des/config/table.d.ts.map +1 -1
- package/dist/src/ser-des/config/table.js +373 -7
- package/dist/src/ser-des/config/table.js.map +1 -1
- package/dist/src/ser-des/config/term.d.ts.map +1 -1
- package/dist/src/ser-des/config/term.js +107 -0
- package/dist/src/ser-des/config/term.js.map +1 -1
- package/dist/src/ser-des/config/testPointSet.d.ts +5 -0
- package/dist/src/ser-des/config/testPointSet.d.ts.map +1 -0
- package/dist/src/ser-des/config/testPointSet.js +199 -0
- package/dist/src/ser-des/config/testPointSet.js.map +1 -0
- package/dist/src/ser-des/config/testSequence.d.ts +9 -0
- package/dist/src/ser-des/config/testSequence.d.ts.map +1 -0
- package/dist/src/ser-des/config/testSequence.js +206 -0
- package/dist/src/ser-des/config/testSequence.js.map +1 -0
- package/dist/src/ser-des/config/text.d.ts +5 -0
- package/dist/src/ser-des/config/text.d.ts.map +1 -0
- package/dist/src/ser-des/config/text.js +106 -0
- package/dist/src/ser-des/config/text.js.map +1 -0
- package/dist/src/ser-des/config/twin.d.ts +31 -0
- package/dist/src/ser-des/config/twin.d.ts.map +1 -0
- package/dist/src/ser-des/config/twin.js +362 -0
- package/dist/src/ser-des/config/twin.js.map +1 -0
- package/dist/src/ser-des/config/verdict.d.ts +5 -0
- package/dist/src/ser-des/config/verdict.d.ts.map +1 -0
- package/dist/src/ser-des/config/verdict.js +159 -0
- package/dist/src/ser-des/config/verdict.js.map +1 -0
- package/dist/src/ser-des/config/viewProfile.d.ts.map +1 -1
- package/dist/src/ser-des/config/viewProfile.js +7 -0
- package/dist/src/ser-des/config/viewProfile.js.map +1 -1
- package/dist/src/ser-des/includes.d.ts.map +1 -1
- package/dist/src/ser-des/includes.js +5 -2
- package/dist/src/ser-des/includes.js.map +1 -1
- package/dist/src/ser-des/index.d.ts +12 -0
- package/dist/src/ser-des/index.d.ts.map +1 -1
- package/dist/src/ser-des/index.js +42 -0
- package/dist/src/ser-des/index.js.map +1 -1
- package/dist/src/ser-des/package.d.ts +53 -0
- package/dist/src/ser-des/package.d.ts.map +1 -0
- package/dist/src/ser-des/package.js +404 -0
- package/dist/src/ser-des/package.js.map +1 -0
- package/dist/src/ser-des/parse-block.d.ts.map +1 -1
- package/dist/src/ser-des/parse-block.js +7 -1
- package/dist/src/ser-des/parse-block.js.map +1 -1
- package/dist/src/ser-des/parse.d.ts.map +1 -1
- package/dist/src/ser-des/parse.js +45 -0
- package/dist/src/ser-des/parse.js.map +1 -1
- package/dist/src/ser-des/prm.d.ts +53 -0
- package/dist/src/ser-des/prm.d.ts.map +1 -0
- package/dist/src/ser-des/prm.js +257 -0
- package/dist/src/ser-des/prm.js.map +1 -0
- package/dist/src/ser-des/resolve.d.ts.map +1 -1
- package/dist/src/ser-des/resolve.js +1 -0
- package/dist/src/ser-des/resolve.js.map +1 -1
- package/dist/src/ser-des/tokenize.d.ts +11 -0
- package/dist/src/ser-des/tokenize.d.ts.map +1 -1
- package/dist/src/ser-des/tokenize.js +28 -1
- package/dist/src/ser-des/tokenize.js.map +1 -1
- package/dist/src/ser-des/types.d.ts +56 -1
- package/dist/src/ser-des/types.d.ts.map +1 -1
- package/dist/src/spelling.d.ts +35 -0
- package/dist/src/spelling.d.ts.map +1 -0
- package/dist/src/spelling.js +140 -0
- package/dist/src/spelling.js.map +1 -0
- package/dist/src/text-coverage.d.ts +164 -0
- package/dist/src/text-coverage.d.ts.map +1 -0
- package/dist/src/text-coverage.js +679 -0
- package/dist/src/text-coverage.js.map +1 -0
- package/dist/src/time.d.ts +55 -0
- package/dist/src/time.d.ts.map +1 -0
- package/dist/src/time.js +223 -0
- package/dist/src/time.js.map +1 -0
- package/dist/src/type-expr.d.ts +31 -0
- package/dist/src/type-expr.d.ts.map +1 -0
- package/dist/src/type-expr.js +110 -0
- package/dist/src/type-expr.js.map +1 -0
- package/dist/src/types/Acceptance.d.ts +31 -0
- package/dist/src/types/Acceptance.d.ts.map +1 -0
- package/dist/src/types/Acceptance.js +12 -0
- package/dist/src/types/Acceptance.js.map +1 -0
- package/dist/src/types/ActivityArchetype.d.ts +14 -0
- package/dist/src/types/ActivityArchetype.d.ts.map +1 -0
- package/dist/src/types/ActivityArchetype.js +17 -0
- package/dist/src/types/ActivityArchetype.js.map +1 -0
- package/dist/src/types/Artifact.d.ts +117 -0
- package/dist/src/types/Artifact.d.ts.map +1 -0
- package/dist/src/types/Artifact.js +35 -0
- package/dist/src/types/Artifact.js.map +1 -0
- package/dist/src/types/Calculation.d.ts +49 -0
- package/dist/src/types/Calculation.d.ts.map +1 -1
- package/dist/src/types/Comment.d.ts +23 -0
- package/dist/src/types/Comment.d.ts.map +1 -0
- package/dist/src/types/Comment.js +3 -0
- package/dist/src/types/Comment.js.map +1 -0
- package/dist/src/types/CompetenceKind.d.ts +70 -0
- package/dist/src/types/CompetenceKind.d.ts.map +1 -0
- package/dist/src/types/CompetenceKind.js +3 -0
- package/dist/src/types/CompetenceKind.js.map +1 -0
- package/dist/src/types/Composition.d.ts +80 -0
- package/dist/src/types/Composition.d.ts.map +1 -0
- package/dist/src/types/Composition.js +44 -0
- package/dist/src/types/Composition.js.map +1 -0
- package/dist/src/types/ConformanceClass.d.ts +22 -0
- package/dist/src/types/ConformanceClass.d.ts.map +1 -0
- package/dist/src/types/ConformanceClass.js +7 -0
- package/dist/src/types/ConformanceClass.js.map +1 -0
- package/dist/src/types/ConformanceTest.d.ts +206 -0
- package/dist/src/types/ConformanceTest.d.ts.map +1 -0
- package/dist/src/types/ConformanceTest.js +3 -0
- package/dist/src/types/ConformanceTest.js.map +1 -0
- package/dist/src/types/Constraint.d.ts +34 -0
- package/dist/src/types/Constraint.d.ts.map +1 -0
- package/dist/src/types/Constraint.js +3 -0
- package/dist/src/types/Constraint.js.map +1 -0
- package/dist/src/types/Design.d.ts +147 -0
- package/dist/src/types/Design.d.ts.map +1 -0
- package/dist/src/types/Design.js +10 -0
- package/dist/src/types/Design.js.map +1 -0
- package/dist/src/types/DiscrepancyRecord.d.ts +42 -0
- package/dist/src/types/DiscrepancyRecord.d.ts.map +1 -0
- package/dist/src/types/DiscrepancyRecord.js +3 -0
- package/dist/src/types/DiscrepancyRecord.js.map +1 -0
- package/dist/src/types/Form.d.ts +132 -1
- package/dist/src/types/Form.d.ts.map +1 -1
- package/dist/src/types/FormulasUsed.d.ts +95 -0
- package/dist/src/types/FormulasUsed.d.ts.map +1 -0
- package/dist/src/types/FormulasUsed.js +64 -0
- package/dist/src/types/FormulasUsed.js.map +1 -0
- package/dist/src/types/Instance.d.ts +105 -0
- package/dist/src/types/Instance.d.ts.map +1 -0
- package/dist/src/types/Instance.js +40 -0
- package/dist/src/types/Instance.js.map +1 -0
- package/dist/src/types/Invariant.d.ts +82 -0
- package/dist/src/types/Invariant.d.ts.map +1 -0
- package/dist/src/types/Invariant.js +50 -0
- package/dist/src/types/Invariant.js.map +1 -0
- package/dist/src/types/MapProfile.d.ts +36 -1
- package/dist/src/types/MapProfile.d.ts.map +1 -1
- package/dist/src/types/Monitor.d.ts +144 -0
- package/dist/src/types/Monitor.d.ts.map +1 -0
- package/dist/src/types/Monitor.js +74 -0
- package/dist/src/types/Monitor.js.map +1 -0
- package/dist/src/types/Note.d.ts +4 -1
- package/dist/src/types/Note.d.ts.map +1 -1
- package/dist/src/types/Package.d.ts +161 -0
- package/dist/src/types/Package.d.ts.map +1 -0
- package/dist/src/types/Package.js +3 -0
- package/dist/src/types/Package.js.map +1 -0
- package/dist/src/types/Passport.d.ts +125 -0
- package/dist/src/types/Passport.d.ts.map +1 -0
- package/dist/src/types/Passport.js +84 -0
- package/dist/src/types/Passport.js.map +1 -0
- package/dist/src/types/Quantity.d.ts +99 -0
- package/dist/src/types/Quantity.d.ts.map +1 -0
- package/dist/src/types/Quantity.js +24 -0
- package/dist/src/types/Quantity.js.map +1 -0
- package/dist/src/types/Reference.d.ts +2 -0
- package/dist/src/types/Reference.d.ts.map +1 -1
- package/dist/src/types/ReferenceMaterial.d.ts +53 -0
- package/dist/src/types/ReferenceMaterial.d.ts.map +1 -0
- package/dist/src/types/ReferenceMaterial.js +14 -0
- package/dist/src/types/ReferenceMaterial.js.map +1 -0
- package/dist/src/types/Requirement.d.ts +111 -0
- package/dist/src/types/Requirement.d.ts.map +1 -0
- package/dist/src/types/Requirement.js +10 -0
- package/dist/src/types/Requirement.js.map +1 -0
- package/dist/src/types/Role.d.ts +4 -0
- package/dist/src/types/Role.d.ts.map +1 -1
- package/dist/src/types/Series.d.ts +31 -0
- package/dist/src/types/Series.d.ts.map +1 -0
- package/dist/src/types/Series.js +14 -0
- package/dist/src/types/Series.js.map +1 -0
- package/dist/src/types/SourceDiscrepancy.d.ts +21 -0
- package/dist/src/types/SourceDiscrepancy.d.ts.map +1 -0
- package/dist/src/types/SourceDiscrepancy.js +13 -0
- package/dist/src/types/SourceDiscrepancy.js.map +1 -0
- package/dist/src/types/Standard.d.ts +68 -0
- package/dist/src/types/Standard.d.ts.map +1 -1
- package/dist/src/types/StateMachine.d.ts +43 -0
- package/dist/src/types/StateMachine.d.ts.map +1 -1
- package/dist/src/types/StateMachine.js +7 -0
- package/dist/src/types/StateMachine.js.map +1 -1
- package/dist/src/types/Subject.d.ts +432 -0
- package/dist/src/types/Subject.d.ts.map +1 -0
- package/dist/src/types/Subject.js +13 -0
- package/dist/src/types/Subject.js.map +1 -0
- package/dist/src/types/Symbol.d.ts +31 -1
- package/dist/src/types/Symbol.d.ts.map +1 -1
- package/dist/src/types/Table.d.ts +43 -0
- package/dist/src/types/Table.d.ts.map +1 -1
- package/dist/src/types/Term.d.ts +29 -0
- package/dist/src/types/Term.d.ts.map +1 -1
- package/dist/src/types/TestPointSet.d.ts +33 -0
- package/dist/src/types/TestPointSet.d.ts.map +1 -0
- package/dist/src/types/TestPointSet.js +11 -0
- package/dist/src/types/TestPointSet.js.map +1 -0
- package/dist/src/types/TestSequence.d.ts +105 -0
- package/dist/src/types/TestSequence.d.ts.map +1 -0
- package/dist/src/types/TestSequence.js +65 -0
- package/dist/src/types/TestSequence.js.map +1 -0
- package/dist/src/types/Text.d.ts +21 -0
- package/dist/src/types/Text.d.ts.map +1 -0
- package/dist/src/types/Text.js +38 -0
- package/dist/src/types/Text.js.map +1 -0
- package/dist/src/types/Time.d.ts +43 -0
- package/dist/src/types/Time.d.ts.map +1 -0
- package/dist/src/types/Time.js +14 -0
- package/dist/src/types/Time.js.map +1 -0
- package/dist/src/types/Twin.d.ts +155 -0
- package/dist/src/types/Twin.d.ts.map +1 -0
- package/dist/src/types/Twin.js +102 -0
- package/dist/src/types/Twin.js.map +1 -0
- package/dist/src/types/Verdict.d.ts +40 -0
- package/dist/src/types/Verdict.d.ts.map +1 -0
- package/dist/src/types/Verdict.js +14 -0
- package/dist/src/types/Verdict.js.map +1 -0
- package/dist/src/types/ViewProfile.d.ts +6 -0
- package/dist/src/types/ViewProfile.d.ts.map +1 -1
- package/dist/src/types/data.d.ts +27 -0
- package/dist/src/types/data.d.ts.map +1 -1
- package/dist/src/types/process.d.ts +231 -0
- package/dist/src/types/process.d.ts.map +1 -1
- package/dist-browser/index.mjs +6699 -661
- package/dist-cli/primmel.mjs +21462 -0
- package/package.json +61 -5
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// Test point set construct (specification/test-point-sets.yaml):
|
|
4
|
+
// test_point_set r144-cgm-points {
|
|
5
|
+
// description "..."
|
|
6
|
+
// source { doc "urn:oiml:pub:r:144-2:2013" clause "1.2" }
|
|
7
|
+
// cardinality {
|
|
8
|
+
// linear { min_points 3 rule "min +10 %, mid ±10 %, max −10 % of the measuring range" }
|
|
9
|
+
// nonlinear { min_points 5 rule "uniformly distributed" }
|
|
10
|
+
// }
|
|
11
|
+
// repetitions_per_point 3
|
|
12
|
+
// points {
|
|
13
|
+
// point min-10pct { fraction 0.10 anchor range_min offset "+10 % of range" }
|
|
14
|
+
// point mid { fraction 0.50 anchor range_mid offset "±10 %" }
|
|
15
|
+
// }
|
|
16
|
+
// }
|
|
17
|
+
//
|
|
18
|
+
// Conformance tests reference the set via `design { test_points { ref … } }`.
|
|
19
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.dumpTestPointSet = exports.parseTestPointSet = void 0;
|
|
22
|
+
const tokenize_1 = require("../tokenize");
|
|
23
|
+
const tokenize_2 = require("../tokenize");
|
|
24
|
+
const parse_block_1 = require("../parse-block");
|
|
25
|
+
const field_parser_1 = require("./field-parser");
|
|
26
|
+
function parseCardinality(block) {
|
|
27
|
+
const out = {};
|
|
28
|
+
const t = (0, tokenize_1.default)(block);
|
|
29
|
+
let i = 0;
|
|
30
|
+
while (i < t.length) {
|
|
31
|
+
const name = (0, field_parser_1.stripColon)(t[i++]);
|
|
32
|
+
if (!name) {
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
if (i < t.length && t[i] === ':') {
|
|
36
|
+
i++;
|
|
37
|
+
}
|
|
38
|
+
if (i < t.length && t[i].startsWith('{')) {
|
|
39
|
+
const ct = (0, tokenize_1.default)((0, tokenize_2.unwrapBlock)(t[i++]));
|
|
40
|
+
const entry = { minPoints: null, rule: '' };
|
|
41
|
+
let j = 0;
|
|
42
|
+
while (j < ct.length) {
|
|
43
|
+
const cc = ct[j++];
|
|
44
|
+
if (j >= ct.length) {
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
if (cc === 'min_points') {
|
|
48
|
+
entry.minPoints = Number((0, tokenize_2.stripWrapping)(ct[j++]));
|
|
49
|
+
}
|
|
50
|
+
else if (cc === 'rule') {
|
|
51
|
+
entry.rule = (0, tokenize_2.stripWrapping)(ct[j++]);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
(0, tokenize_2.unwrapBlock)(ct[j++]);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
out[name] = entry;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return out;
|
|
61
|
+
}
|
|
62
|
+
function parsePoints(block) {
|
|
63
|
+
const out = [];
|
|
64
|
+
const t = (0, tokenize_1.default)(block);
|
|
65
|
+
let i = 0;
|
|
66
|
+
while (i < t.length) {
|
|
67
|
+
const cmd = t[i++];
|
|
68
|
+
if (cmd !== 'point') {
|
|
69
|
+
if (i < t.length) {
|
|
70
|
+
(0, tokenize_2.unwrapBlock)(t[i - 1]);
|
|
71
|
+
}
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const point = {
|
|
75
|
+
id: (0, tokenize_2.stripWrapping)(t[i++]),
|
|
76
|
+
fraction: null,
|
|
77
|
+
anchor: '',
|
|
78
|
+
offset: '',
|
|
79
|
+
};
|
|
80
|
+
if (i < t.length && t[i].startsWith('{')) {
|
|
81
|
+
const pt = (0, tokenize_1.default)((0, tokenize_2.unwrapBlock)(t[i++]));
|
|
82
|
+
let j = 0;
|
|
83
|
+
while (j < pt.length) {
|
|
84
|
+
const pc = pt[j++];
|
|
85
|
+
if (j >= pt.length) {
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
if (pc === 'fraction') {
|
|
89
|
+
point.fraction = Number((0, tokenize_2.stripWrapping)(pt[j++]));
|
|
90
|
+
}
|
|
91
|
+
else if (pc === 'anchor') {
|
|
92
|
+
point.anchor = (0, tokenize_2.stripWrapping)(pt[j++]);
|
|
93
|
+
}
|
|
94
|
+
else if (pc === 'offset') {
|
|
95
|
+
point.offset = (0, tokenize_2.stripWrapping)(pt[j++]);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
(0, tokenize_2.unwrapBlock)(pt[j++]);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
out.push(point);
|
|
103
|
+
}
|
|
104
|
+
return out;
|
|
105
|
+
}
|
|
106
|
+
const parseTestPointSet = function (id, data) {
|
|
107
|
+
const result = {
|
|
108
|
+
id,
|
|
109
|
+
description: '',
|
|
110
|
+
source: null,
|
|
111
|
+
cardinality: {},
|
|
112
|
+
repetitionsPerPoint: null,
|
|
113
|
+
points: [],
|
|
114
|
+
};
|
|
115
|
+
(0, parse_block_1.forEachEntry)(data, (keyword, value) => {
|
|
116
|
+
if (keyword === 'description') {
|
|
117
|
+
result.description = (0, parse_block_1.unwrapped)(value);
|
|
118
|
+
}
|
|
119
|
+
else if (keyword === 'source') {
|
|
120
|
+
result.source = (0, field_parser_1.readSource)((0, tokenize_2.unwrapBlock)(value()));
|
|
121
|
+
}
|
|
122
|
+
else if (keyword === 'cardinality') {
|
|
123
|
+
result.cardinality = parseCardinality((0, tokenize_2.unwrapBlock)(value()));
|
|
124
|
+
}
|
|
125
|
+
else if (keyword === 'repetitions_per_point') {
|
|
126
|
+
result.repetitionsPerPoint = Number((0, tokenize_2.stripWrapping)(value()));
|
|
127
|
+
}
|
|
128
|
+
else if (keyword === 'points') {
|
|
129
|
+
result.points = parsePoints((0, tokenize_2.unwrapBlock)(value()));
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
return true;
|
|
135
|
+
}, { construct: 'test_point_set', id });
|
|
136
|
+
return ctx => {
|
|
137
|
+
ctx.testPointSets[id] = result;
|
|
138
|
+
return ctx;
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
exports.parseTestPointSet = parseTestPointSet;
|
|
142
|
+
const dumpTestPointSet = function (s) {
|
|
143
|
+
let out = 'test_point_set ' + s.id + ' {\n';
|
|
144
|
+
if (s.description) {
|
|
145
|
+
out += ' description "' + (0, tokenize_2.escapeString)(s.description) + '"\n';
|
|
146
|
+
}
|
|
147
|
+
if (s.source && (s.source.doc || s.source.clause)) {
|
|
148
|
+
out +=
|
|
149
|
+
' source { doc "' +
|
|
150
|
+
(0, tokenize_2.escapeString)(s.source.doc) +
|
|
151
|
+
'" clause "' +
|
|
152
|
+
(0, tokenize_2.escapeString)(s.source.clause) +
|
|
153
|
+
'"' +
|
|
154
|
+
(s.source.fragment
|
|
155
|
+
? ' fragment "' + (0, tokenize_2.escapeString)(s.source.fragment) + '"'
|
|
156
|
+
: '') +
|
|
157
|
+
' }\n';
|
|
158
|
+
}
|
|
159
|
+
const ckeys = Object.keys(s.cardinality);
|
|
160
|
+
if (ckeys.length > 0) {
|
|
161
|
+
out += ' cardinality {\n';
|
|
162
|
+
for (const name of ckeys) {
|
|
163
|
+
const c = s.cardinality[name];
|
|
164
|
+
let line = ' ' + name + ' { ';
|
|
165
|
+
if (c.minPoints !== null) {
|
|
166
|
+
line += 'min_points ' + c.minPoints + ' ';
|
|
167
|
+
}
|
|
168
|
+
if (c.rule) {
|
|
169
|
+
line += 'rule "' + (0, tokenize_2.escapeString)(c.rule) + '" ';
|
|
170
|
+
}
|
|
171
|
+
out += line + '}\n';
|
|
172
|
+
}
|
|
173
|
+
out += ' }\n';
|
|
174
|
+
}
|
|
175
|
+
if (s.repetitionsPerPoint !== null) {
|
|
176
|
+
out += ' repetitions_per_point ' + s.repetitionsPerPoint + '\n';
|
|
177
|
+
}
|
|
178
|
+
if (s.points.length > 0) {
|
|
179
|
+
out += ' points {\n';
|
|
180
|
+
for (const p of s.points) {
|
|
181
|
+
let line = ' point ' + p.id + ' { ';
|
|
182
|
+
if (p.fraction !== null) {
|
|
183
|
+
line += 'fraction ' + p.fraction + ' ';
|
|
184
|
+
}
|
|
185
|
+
if (p.anchor) {
|
|
186
|
+
line += 'anchor ' + p.anchor + ' ';
|
|
187
|
+
}
|
|
188
|
+
if (p.offset) {
|
|
189
|
+
line += 'offset "' + (0, tokenize_2.escapeString)(p.offset) + '" ';
|
|
190
|
+
}
|
|
191
|
+
out += line + '}\n';
|
|
192
|
+
}
|
|
193
|
+
out += ' }\n';
|
|
194
|
+
}
|
|
195
|
+
out += '}\n';
|
|
196
|
+
return out;
|
|
197
|
+
};
|
|
198
|
+
exports.dumpTestPointSet = dumpTestPointSet;
|
|
199
|
+
//# sourceMappingURL=testPointSet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testPointSet.js","sourceRoot":"","sources":["../../../../src/ser-des/config/testPointSet.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,iEAAiE;AACjE,qCAAqC;AACrC,wBAAwB;AACxB,8DAA8D;AAC9D,oBAAoB;AACpB,8FAA8F;AAC9F,gEAAgE;AAChE,QAAQ;AACR,8BAA8B;AAC9B,eAAe;AACf,mFAAmF;AACnF,oEAAoE;AACpE,QAAQ;AACR,MAAM;AACN,EAAE;AACF,8EAA8E;AAC9E,wEAAwE;;;AAIxE,0CAAmC;AACnC,0CAAuE;AACvE,gDAAyD;AACzD,iDAAwD;AAGxD,SAAS,gBAAgB,CACvB,KAAa;IAEb,MAAM,GAAG,GAA+D,EAAE,CAAC;IAC3E,MAAM,CAAC,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,IAAA,yBAAU,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM;QACR,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACjC,CAAC,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,GAAG,IAAA,kBAAQ,EAAC,IAAA,sBAAW,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,IAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM;gBACR,CAAC;gBACD,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;oBACxB,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,IAAA,wBAAa,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,GAAG,IAAA,wBAAa,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,IAAA,sBAAW,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAA,sBAAW,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAc;YACvB,EAAE,EAAE,IAAA,wBAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,GAAG,IAAA,kBAAQ,EAAC,IAAA,sBAAW,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM;gBACR,CAAC;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;oBACtB,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAA,wBAAa,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;qBAAM,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC3B,KAAK,CAAC,MAAM,GAAG,IAAA,wBAAa,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxC,CAAC;qBAAM,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC3B,KAAK,CAAC,MAAM,GAAG,IAAA,wBAAa,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,IAAA,sBAAW,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAEM,MAAM,iBAAiB,GAAW,UAAU,EAAE,EAAE,IAAI;IACzD,MAAM,MAAM,GAAiB;QAC3B,EAAE;QACF,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,EAAE;QACf,mBAAmB,EAAE,IAAI;QACzB,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,IAAA,0BAAY,EACV,IAAI,EACJ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC9B,MAAM,CAAC,WAAW,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,GAAG,IAAA,yBAAU,EAAC,IAAA,sBAAW,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YACrC,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAA,sBAAW,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,OAAO,KAAK,uBAAuB,EAAE,CAAC;YAC/C,MAAM,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAA,wBAAa,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,IAAA,sBAAW,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE,CACpC,CAAC;IAEF,OAAO,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,iBAAiB,qBAmC5B;AAEK,MAAM,gBAAgB,GAAyB,UAAU,CAAC;IAC/D,IAAI,GAAG,GAAG,iBAAiB,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC;IAC5C,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClB,GAAG,IAAI,iBAAiB,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,GAAG;YACD,kBAAkB;gBAClB,IAAA,uBAAY,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC1B,YAAY;gBACZ,IAAA,uBAAY,EAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC7B,GAAG;gBACH,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ;oBAChB,CAAC,CAAC,aAAa,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,IAAI,mBAAmB,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBACzB,IAAI,IAAI,aAAa,GAAG,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,IAAI,IAAI,QAAQ,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACjD,CAAC;YACD,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,GAAG,IAAI,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACnC,GAAG,IAAI,0BAA0B,GAAG,CAAC,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,IAAI,cAAc,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,IAAI,GAAG,YAAY,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACxB,IAAI,IAAI,WAAW,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACb,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;YACrC,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACb,IAAI,IAAI,UAAU,GAAG,IAAA,uBAAY,EAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACrD,CAAC;YACD,GAAG,IAAI,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,GAAG,IAAI,OAAO,CAAC;IACjB,CAAC;IACD,GAAG,IAAI,KAAK,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAvDW,QAAA,gBAAgB,oBAuD3B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TestSequence } from '../../types/TestSequence';
|
|
2
|
+
export declare const testSequenceConstruct: {
|
|
3
|
+
readonly keyword: "test_sequence";
|
|
4
|
+
readonly field: "testSequences";
|
|
5
|
+
readonly takesID: true;
|
|
6
|
+
readonly parse: import("../types").Parser;
|
|
7
|
+
readonly dump: (seq: TestSequence) => string;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=testSequence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testSequence.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/testSequence.ts"],"names":[],"mappings":"AAyEA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,0BAA0B,CAAC;AA0I/E,eAAO,MAAM,qBAAqB;;;;;yBA5CM,YAAY,KAAG,MAAM;CAkDnD,CAAC"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// `test_sequence` construct (smart gap-close E10,
|
|
4
|
+
// analysis/architecture-gaps-2026-07.md; the smart contract
|
|
5
|
+
// data/schemas/test-sequences.yaml + data/r60/specification/
|
|
6
|
+
// test-sequences.yaml): a required test ordering of a Recommendation —
|
|
7
|
+
// the first-class replacement for the hand-authored supplemental YAML
|
|
8
|
+
// R 60's required orderings (MDLO → creep → DR; the temperature-cycling
|
|
9
|
+
// environment program) ride today:
|
|
10
|
+
//
|
|
11
|
+
// test_sequence mdlo-creep-dr {
|
|
12
|
+
// name "MDLO → Creep → DR sequence"
|
|
13
|
+
// description "The three performance tests must run in this order on the same sample …"
|
|
14
|
+
// step 1 {
|
|
15
|
+
// test "/conf/metrological-tests/measurement-error-repeatability-mdlo"
|
|
16
|
+
// role baseline
|
|
17
|
+
// }
|
|
18
|
+
// step 2 {
|
|
19
|
+
// test "/conf/metrological-tests/creep"
|
|
20
|
+
// role follow_up
|
|
21
|
+
// depends_on 1
|
|
22
|
+
// }
|
|
23
|
+
// step 3 {
|
|
24
|
+
// test "/conf/metrological-tests/dr"
|
|
25
|
+
// role follow_up
|
|
26
|
+
// depends_on 2
|
|
27
|
+
// }
|
|
28
|
+
// sample_applicability all
|
|
29
|
+
// source { doc "urn:oiml:pub:r:60-2:2021" clause "2.10" }
|
|
30
|
+
// source { doc "urn:oiml:pub:r:60-2:2021" clause "2.11.1" }
|
|
31
|
+
// }
|
|
32
|
+
//
|
|
33
|
+
// Surface-syntax notes (the invariant/passport conventions,
|
|
34
|
+
// ser-des/config/invariant.ts + passport.ts):
|
|
35
|
+
// - name/description are prose facets: the package-default spelling's
|
|
36
|
+
// value inline; alternates ride the ISO 24229 `text <id>.description`
|
|
37
|
+
// blocks (TODO.roadmap/25 — test_sequences registered in C89's
|
|
38
|
+
// element-id collections);
|
|
39
|
+
// - a step is `step <order> { … }` — the head scalar is the declared
|
|
40
|
+
// order (the test_point_set `point <id> { … }` idiom, minus the
|
|
41
|
+
// wrapper block: steps sit directly in the body, so the body parses
|
|
42
|
+
// with a manual token walk — forEachEntry cannot interleave a
|
|
43
|
+
// head-scalar + block pair with scalar facets);
|
|
44
|
+
// - `source { doc "…" clause "…" }` repeats, collecting into
|
|
45
|
+
// sourceRefs (the requirement family's idiom, TODO.roadmap/24);
|
|
46
|
+
// - the parser stays TOTAL: missing facets land as ''/null/[] and the
|
|
47
|
+
// linter (C92/C93) judges the shape — a missing step head (`step
|
|
48
|
+
// { … }`) parses with order null, a missing block leaves the step's
|
|
49
|
+
// facets undeclared, unknown keywords stay ignored (forward
|
|
50
|
+
// compatibility for newer facets);
|
|
51
|
+
// - test-ref RESOLUTION (does /conf/… name a declared conformance
|
|
52
|
+
// test) is the smart-side linker rule R39's job — the kernel checks
|
|
53
|
+
// syntax/shape only, exactly like E9's C90/C91 vs R38 split.
|
|
54
|
+
//
|
|
55
|
+
// Round-trip: the dump emits the canonical form — scalars first (name,
|
|
56
|
+
// description), then the steps in declared order, then
|
|
57
|
+
// sample_applicability and the source blocks. name, description, test,
|
|
58
|
+
// phase, doc, and clause are quoted ALWAYS — free strings may carry the
|
|
59
|
+
// tokenizer's comment character # (the E9 source-quoting hazard), so a
|
|
60
|
+
// bare emission would not re-parse; role and sample_applicability are
|
|
61
|
+
// vocabulary tokens (dumpBareSafe). A malformed model (order null, a
|
|
62
|
+
// both-set test+phase step) dumps a form the re-parse reproduces
|
|
63
|
+
// exactly — the fixpoint is proven in test/test-sequence.test.ts.
|
|
64
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
65
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
|
+
exports.testSequenceConstruct = void 0;
|
|
67
|
+
const tokenize_1 = require("../tokenize");
|
|
68
|
+
const parse_block_1 = require("../parse-block");
|
|
69
|
+
const field_parser_1 = require("./field-parser");
|
|
70
|
+
/** Read one step's `{ … }` facets (the passport nested-block idiom).
|
|
71
|
+
* Scalar facets are last-wins; the linter (C92/C93) judges the shape. */
|
|
72
|
+
function parseStepFacets(block, step, id) {
|
|
73
|
+
(0, parse_block_1.forEachEntry)(block, (facet, value) => {
|
|
74
|
+
if (facet === 'test') {
|
|
75
|
+
step.test = (0, tokenize_1.stripWrapping)(value());
|
|
76
|
+
}
|
|
77
|
+
else if (facet === 'phase') {
|
|
78
|
+
step.phase = (0, tokenize_1.stripWrapping)(value());
|
|
79
|
+
}
|
|
80
|
+
else if (facet === 'role') {
|
|
81
|
+
step.role = (0, tokenize_1.stripWrapping)(value());
|
|
82
|
+
}
|
|
83
|
+
else if (facet === 'depends_on') {
|
|
84
|
+
step.dependsOn = Number((0, tokenize_1.stripWrapping)(value()));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
}, { construct: 'test_sequence.step', id });
|
|
91
|
+
}
|
|
92
|
+
const parseTestSequence = function (id, data) {
|
|
93
|
+
const sequence = {
|
|
94
|
+
id,
|
|
95
|
+
name: '',
|
|
96
|
+
description: '',
|
|
97
|
+
steps: [],
|
|
98
|
+
sampleApplicability: '',
|
|
99
|
+
sourceRefs: [],
|
|
100
|
+
};
|
|
101
|
+
// Manual token walk (the test_point_set parsePoints idiom): a step is
|
|
102
|
+
// a head-scalar + block pair, which forEachEntry's (keyword, value)
|
|
103
|
+
// pairing cannot interleave with the scalar facets.
|
|
104
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
105
|
+
let i = 0;
|
|
106
|
+
while (i < t.length) {
|
|
107
|
+
const command = t[i++];
|
|
108
|
+
if (i >= t.length) {
|
|
109
|
+
throw new Error(`Parsing error: test_sequence. ID ${id}: Expecting value for ${command}`);
|
|
110
|
+
}
|
|
111
|
+
if (command === 'name') {
|
|
112
|
+
sequence.name = (0, tokenize_1.stripWrapping)(t[i++]);
|
|
113
|
+
}
|
|
114
|
+
else if (command === 'description') {
|
|
115
|
+
sequence.description = (0, tokenize_1.stripWrapping)(t[i++]);
|
|
116
|
+
}
|
|
117
|
+
else if (command === 'sample_applicability') {
|
|
118
|
+
sequence.sampleApplicability = (0, tokenize_1.stripWrapping)(t[i++]);
|
|
119
|
+
}
|
|
120
|
+
else if (command === 'source') {
|
|
121
|
+
// Repeated source blocks collect into sourceRefs (the requirement
|
|
122
|
+
// family's idiom).
|
|
123
|
+
sequence.sourceRefs.push((0, field_parser_1.readSource)((0, tokenize_1.unwrapBlock)(t[i++])));
|
|
124
|
+
}
|
|
125
|
+
else if (command === 'step') {
|
|
126
|
+
const step = {
|
|
127
|
+
order: null,
|
|
128
|
+
test: '',
|
|
129
|
+
phase: '',
|
|
130
|
+
role: '',
|
|
131
|
+
dependsOn: null,
|
|
132
|
+
};
|
|
133
|
+
let value = t[i++];
|
|
134
|
+
if (!value.startsWith('{')) {
|
|
135
|
+
// The head scalar is the declared order — Number() stays total
|
|
136
|
+
// (garbage lands as NaN for C92, never a parse error).
|
|
137
|
+
step.order = Number((0, tokenize_1.stripWrapping)(value));
|
|
138
|
+
value = i < t.length && t[i].startsWith('{') ? t[i++] : '';
|
|
139
|
+
}
|
|
140
|
+
if (value.startsWith('{')) {
|
|
141
|
+
parseStepFacets((0, tokenize_1.unwrapBlock)(value), step, id);
|
|
142
|
+
}
|
|
143
|
+
sequence.steps.push(step);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
// Forward compatibility: skip the unknown facet's value.
|
|
147
|
+
i++;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return ctx => {
|
|
151
|
+
ctx.testSequences[id] = sequence;
|
|
152
|
+
return ctx;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
// ── dump (canonical form) ────────────────────────────────────────────
|
|
156
|
+
const dumpTestSequence = function (seq) {
|
|
157
|
+
let out = 'test_sequence ' + seq.id + ' {\n';
|
|
158
|
+
if (seq.name !== '') {
|
|
159
|
+
out += ' name "' + (0, tokenize_1.escapeString)(seq.name) + '"\n';
|
|
160
|
+
}
|
|
161
|
+
if (seq.description !== '') {
|
|
162
|
+
out += ' description "' + (0, tokenize_1.escapeString)(seq.description) + '"\n';
|
|
163
|
+
}
|
|
164
|
+
for (const step of seq.steps) {
|
|
165
|
+
out += ' step' + (step.order !== null ? ' ' + step.order : '') + ' {';
|
|
166
|
+
// test/phase are quoted ALWAYS (free strings — the comment-character
|
|
167
|
+
// hazard); role is a vocabulary token (dumpBareSafe).
|
|
168
|
+
if (step.test !== '') {
|
|
169
|
+
out += ' test "' + (0, tokenize_1.escapeString)(step.test) + '"';
|
|
170
|
+
}
|
|
171
|
+
if (step.phase !== '') {
|
|
172
|
+
out += ' phase "' + (0, tokenize_1.escapeString)(step.phase) + '"';
|
|
173
|
+
}
|
|
174
|
+
if (step.role !== '') {
|
|
175
|
+
out += ' role ' + (0, field_parser_1.dumpBareSafe)(step.role);
|
|
176
|
+
}
|
|
177
|
+
if (step.dependsOn !== null) {
|
|
178
|
+
out += ' depends_on ' + step.dependsOn;
|
|
179
|
+
}
|
|
180
|
+
out += ' }\n';
|
|
181
|
+
}
|
|
182
|
+
if (seq.sampleApplicability !== '') {
|
|
183
|
+
out +=
|
|
184
|
+
' sample_applicability ' + (0, field_parser_1.dumpBareSafe)(seq.sampleApplicability) + '\n';
|
|
185
|
+
}
|
|
186
|
+
for (const src of seq.sourceRefs) {
|
|
187
|
+
out +=
|
|
188
|
+
' source { doc "' +
|
|
189
|
+
(0, tokenize_1.escapeString)(src.doc) +
|
|
190
|
+
'" clause "' +
|
|
191
|
+
(0, tokenize_1.escapeString)(src.clause) +
|
|
192
|
+
'"' +
|
|
193
|
+
(src.fragment ? ' fragment "' + (0, tokenize_1.escapeString)(src.fragment) + '"' : '') +
|
|
194
|
+
' }\n';
|
|
195
|
+
}
|
|
196
|
+
out += '}\n';
|
|
197
|
+
return out;
|
|
198
|
+
};
|
|
199
|
+
exports.testSequenceConstruct = {
|
|
200
|
+
keyword: 'test_sequence',
|
|
201
|
+
field: 'testSequences',
|
|
202
|
+
takesID: true,
|
|
203
|
+
parse: parseTestSequence,
|
|
204
|
+
dump: dumpTestSequence,
|
|
205
|
+
};
|
|
206
|
+
//# sourceMappingURL=testSequence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testSequence.js","sourceRoot":"","sources":["../../../../src/ser-des/config/testSequence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/text.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,eAAO,MAAM,SAAS,EAAE,MA6DvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,WAAW,CAaxC,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
3
|
+
// `text` construct (ISO 24229 multilinguality — TODO.roadmap/25,
|
|
4
|
+
// doctrine ch. 10 §10.6): the per-spelling ALTERNATES of one prose
|
|
5
|
+
// field, addressed `<element-id>.<field>`:
|
|
6
|
+
//
|
|
7
|
+
// text /req/metrological/measuring-range-max.statement {
|
|
8
|
+
// spell fra-Latn "La valeur de la plus grande charge …"
|
|
9
|
+
// spell zho-Latn via BGN-PCGN:zho-Hans:Latn:1979 "…"
|
|
10
|
+
// }
|
|
11
|
+
//
|
|
12
|
+
// Prose NESTED inside an element addresses by path (smart gap-close
|
|
13
|
+
// E13) — `<element-id>.<path…>.<field>`; the id stays ONE bare token
|
|
14
|
+
// (dots are ordinary token characters), so parsing is unchanged and the
|
|
15
|
+
// linter (C89) owns the address grammar: the element is the longest
|
|
16
|
+
// dot-boundary prefix registered in the package, an intermediate
|
|
17
|
+
// segment names a nested structure, a list item is keyed by its
|
|
18
|
+
// declared key (a field/parameter name, a step's order, a subject's
|
|
19
|
+
// slot — never a positional index), and the terminal segment is a prose
|
|
20
|
+
// field:
|
|
21
|
+
//
|
|
22
|
+
// text r60-3/load-test.fields.runs.fields.indication.label {
|
|
23
|
+
// spell fra-Latn "Indication"
|
|
24
|
+
// }
|
|
25
|
+
//
|
|
26
|
+
// The default spelling's value stays inline on the addressed element
|
|
27
|
+
// (`name "…"`); a `text` block never replaces it — it adds spellings.
|
|
28
|
+
// Code syntax is linter rule C89 (src/spelling.ts validates shape;
|
|
29
|
+
// register resolution is the consumer's vendored-snapshot discipline).
|
|
30
|
+
//
|
|
31
|
+
// The spell facet carries two value tokens (`<code>` then the quoted
|
|
32
|
+
// string, with an optional `via <system-code>` pair between), so the
|
|
33
|
+
// block walks tokens directly rather than pairwise (forEachEntry).
|
|
34
|
+
// ─────────────────────────────────────────────────────────────────────
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.dumpText = exports.parseText = void 0;
|
|
37
|
+
const tokenize_1 = require("../tokenize");
|
|
38
|
+
const parseText = function (id, data) {
|
|
39
|
+
const result = {
|
|
40
|
+
id,
|
|
41
|
+
entries: [],
|
|
42
|
+
};
|
|
43
|
+
const t = (0, tokenize_1.tokenizePackage)(data);
|
|
44
|
+
let i = 0;
|
|
45
|
+
while (i < t.length) {
|
|
46
|
+
const keyword = t[i++];
|
|
47
|
+
if (keyword !== 'spell') {
|
|
48
|
+
throw new Error(`Parsing error: text. ID ${id}: unknown facet "${keyword}" (a text block carries spell facets only)`);
|
|
49
|
+
}
|
|
50
|
+
if (i >= t.length) {
|
|
51
|
+
throw new Error(`Parsing error: text. ID ${id}: Expecting spelling code for spell`);
|
|
52
|
+
}
|
|
53
|
+
const spelling = t[i++];
|
|
54
|
+
let via;
|
|
55
|
+
if (t[i] === 'via') {
|
|
56
|
+
i++;
|
|
57
|
+
if (i >= t.length) {
|
|
58
|
+
throw new Error(`Parsing error: text. ID ${id}: Expecting conversion system code after via`);
|
|
59
|
+
}
|
|
60
|
+
via = t[i++];
|
|
61
|
+
}
|
|
62
|
+
const raw = t[i++];
|
|
63
|
+
if (raw === undefined ||
|
|
64
|
+
raw.length < 2 ||
|
|
65
|
+
raw.charAt(0) !== '"' ||
|
|
66
|
+
raw.charAt(raw.length - 1) !== '"') {
|
|
67
|
+
throw new Error(`Parsing error: text. ID ${id}: spell ${spelling} expects a quoted value — spell <code> [via <system-code>] "<value>"`);
|
|
68
|
+
}
|
|
69
|
+
const entry = { spelling, value: (0, tokenize_1.unescapeString)(raw.slice(1, -1)) };
|
|
70
|
+
if (via !== undefined) {
|
|
71
|
+
result.entries.push({ ...entry, via });
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
result.entries.push(entry);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return ctx => {
|
|
78
|
+
// Alternate spellings of one field may be split across files (a
|
|
79
|
+
// package's l10n files) — merge into the one content set per path.
|
|
80
|
+
const existing = ctx.texts[id];
|
|
81
|
+
if (existing) {
|
|
82
|
+
existing.entries.push(...result.entries);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
ctx.texts[id] = result;
|
|
86
|
+
}
|
|
87
|
+
return ctx;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
exports.parseText = parseText;
|
|
91
|
+
const dumpText = function (t) {
|
|
92
|
+
let out = 'text ' + t.id + ' {\n';
|
|
93
|
+
for (const e of t.entries) {
|
|
94
|
+
out +=
|
|
95
|
+
' spell ' +
|
|
96
|
+
e.spelling +
|
|
97
|
+
(e.via ? ' via ' + e.via : '') +
|
|
98
|
+
' "' +
|
|
99
|
+
(0, tokenize_1.escapeString)(e.value) +
|
|
100
|
+
'"\n';
|
|
101
|
+
}
|
|
102
|
+
out += '}\n';
|
|
103
|
+
return out;
|
|
104
|
+
};
|
|
105
|
+
exports.dumpText = dumpText;
|
|
106
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../../src/ser-des/config/text.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ConnectorProfile, Endpoint, ServeBinding } from '../../types/Twin';
|
|
2
|
+
/**
|
|
3
|
+
* Parse one `endpoint <id> { … }` entry of a subject's is-block. `block`
|
|
4
|
+
* is the already-unwrapped endpoint body. Unknown keywords are skipped
|
|
5
|
+
* (forward compatibility).
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseEndpoint(id: string, block: string): Endpoint;
|
|
8
|
+
/** Dump one endpoint as `endpoint <id> { … }` at the given indent. */
|
|
9
|
+
export declare function dumpEndpoint(e: Endpoint, indent: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Read one `serve <aspect> via <operation> [{ fresh_within <duration> }]`
|
|
12
|
+
* entry of a subject's has-block. `t[i]` is the token AFTER the `serve`
|
|
13
|
+
* keyword; returns the binding and the next unconsumed index. A missing
|
|
14
|
+
* `via`/operation or freshness block parses as empty fields — the linter
|
|
15
|
+
* (C60/C63) reports them; the parser stays total.
|
|
16
|
+
*/
|
|
17
|
+
export declare function parseServeEntry(t: string[], i: number): {
|
|
18
|
+
binding: ServeBinding;
|
|
19
|
+
next: number;
|
|
20
|
+
};
|
|
21
|
+
/** Dump one serve entry (block form only when a freshness window is set —
|
|
22
|
+
* both forms re-parse to the same model). */
|
|
23
|
+
export declare function dumpServe(b: ServeBinding, indent: string): string;
|
|
24
|
+
export declare const connectorProfileConstruct: {
|
|
25
|
+
readonly keyword: "connector_profile";
|
|
26
|
+
readonly field: "connectorProfiles";
|
|
27
|
+
readonly takesID: true;
|
|
28
|
+
readonly parse: import("../types").Parser;
|
|
29
|
+
readonly dump: (p: ConnectorProfile) => string;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=twin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twin.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/twin.ts"],"names":[],"mappings":"AAuEA,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EAGR,YAAY,EACb,MAAM,kBAAkB,CAAC;AAmH1B;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAwBjE;AA2BD,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA2BhE;AAID;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,GACR;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAuBzC;AAED;8CAC8C;AAC9C,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOjE;AAsDD,eAAO,MAAM,yBAAyB;;;;;uBAfI,gBAAgB,KAAG,MAAM;CAqBzD,CAAC"}
|