@primmel/primmel 1.11.1 → 1.13.0

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 (104) hide show
  1. package/dist/src/check-rules.d.ts.map +1 -1
  2. package/dist/src/check-rules.js +71 -0
  3. package/dist/src/check-rules.js.map +1 -1
  4. package/dist/src/check.d.ts.map +1 -1
  5. package/dist/src/check.js +457 -3
  6. package/dist/src/check.js.map +1 -1
  7. package/dist/src/model-diff.d.ts.map +1 -1
  8. package/dist/src/model-diff.js +22 -0
  9. package/dist/src/model-diff.js.map +1 -1
  10. package/dist/src/ser-des/config/calculation.d.ts.map +1 -1
  11. package/dist/src/ser-des/config/calculation.js +134 -18
  12. package/dist/src/ser-des/config/calculation.js.map +1 -1
  13. package/dist/src/ser-des/config/commonTestCondition.d.ts +5 -0
  14. package/dist/src/ser-des/config/commonTestCondition.d.ts.map +1 -0
  15. package/dist/src/ser-des/config/commonTestCondition.js +75 -0
  16. package/dist/src/ser-des/config/commonTestCondition.js.map +1 -0
  17. package/dist/src/ser-des/config/documentModule.d.ts +5 -0
  18. package/dist/src/ser-des/config/documentModule.d.ts.map +1 -0
  19. package/dist/src/ser-des/config/documentModule.js +109 -0
  20. package/dist/src/ser-des/config/documentModule.js.map +1 -0
  21. package/dist/src/ser-des/config/formulaNote.d.ts +5 -0
  22. package/dist/src/ser-des/config/formulaNote.d.ts.map +1 -0
  23. package/dist/src/ser-des/config/formulaNote.js +66 -0
  24. package/dist/src/ser-des/config/formulaNote.js.map +1 -0
  25. package/dist/src/ser-des/config/index.d.ts.map +1 -1
  26. package/dist/src/ser-des/config/index.js +98 -0
  27. package/dist/src/ser-des/config/index.js.map +1 -1
  28. package/dist/src/ser-des/config/informativeAnnex.d.ts +5 -0
  29. package/dist/src/ser-des/config/informativeAnnex.d.ts.map +1 -0
  30. package/dist/src/ser-des/config/informativeAnnex.js +185 -0
  31. package/dist/src/ser-des/config/informativeAnnex.js.map +1 -0
  32. package/dist/src/ser-des/config/partAnnex.d.ts +5 -0
  33. package/dist/src/ser-des/config/partAnnex.d.ts.map +1 -0
  34. package/dist/src/ser-des/config/partAnnex.js +91 -0
  35. package/dist/src/ser-des/config/partAnnex.js.map +1 -0
  36. package/dist/src/ser-des/config/process.d.ts.map +1 -1
  37. package/dist/src/ser-des/config/process.js +369 -3
  38. package/dist/src/ser-des/config/process.js.map +1 -1
  39. package/dist/src/ser-des/config/processModel.d.ts +13 -0
  40. package/dist/src/ser-des/config/processModel.d.ts.map +1 -0
  41. package/dist/src/ser-des/config/processModel.js +163 -0
  42. package/dist/src/ser-des/config/processModel.js.map +1 -0
  43. package/dist/src/ser-des/config/schemeType.d.ts +7 -0
  44. package/dist/src/ser-des/config/schemeType.d.ts.map +1 -0
  45. package/dist/src/ser-des/config/schemeType.js +232 -0
  46. package/dist/src/ser-des/config/schemeType.js.map +1 -0
  47. package/dist/src/ser-des/config/storyline.d.ts +7 -0
  48. package/dist/src/ser-des/config/storyline.d.ts.map +1 -0
  49. package/dist/src/ser-des/config/storyline.js +264 -0
  50. package/dist/src/ser-des/config/storyline.js.map +1 -0
  51. package/dist/src/ser-des/config/subject.d.ts.map +1 -1
  52. package/dist/src/ser-des/config/subject.js +93 -0
  53. package/dist/src/ser-des/config/subject.js.map +1 -1
  54. package/dist/src/ser-des/package.d.ts.map +1 -1
  55. package/dist/src/ser-des/package.js +36 -8
  56. package/dist/src/ser-des/package.js.map +1 -1
  57. package/dist/src/ser-des/parse.d.ts.map +1 -1
  58. package/dist/src/ser-des/parse.js +13 -0
  59. package/dist/src/ser-des/parse.js.map +1 -1
  60. package/dist/src/ser-des/types.d.ts +22 -0
  61. package/dist/src/ser-des/types.d.ts.map +1 -1
  62. package/dist/src/types/Calculation.d.ts +35 -0
  63. package/dist/src/types/Calculation.d.ts.map +1 -1
  64. package/dist/src/types/CommonTestCondition.d.ts +15 -0
  65. package/dist/src/types/CommonTestCondition.d.ts.map +1 -0
  66. package/dist/src/types/CommonTestCondition.js +22 -0
  67. package/dist/src/types/CommonTestCondition.js.map +1 -0
  68. package/dist/src/types/DocumentModule.d.ts +27 -0
  69. package/dist/src/types/DocumentModule.d.ts.map +1 -0
  70. package/dist/src/types/DocumentModule.js +38 -0
  71. package/dist/src/types/DocumentModule.js.map +1 -0
  72. package/dist/src/types/InformativeAnnex.d.ts +44 -0
  73. package/dist/src/types/InformativeAnnex.d.ts.map +1 -0
  74. package/dist/src/types/InformativeAnnex.js +35 -0
  75. package/dist/src/types/InformativeAnnex.js.map +1 -0
  76. package/dist/src/types/Package.d.ts +7 -3
  77. package/dist/src/types/Package.d.ts.map +1 -1
  78. package/dist/src/types/PartAnnex.d.ts +18 -0
  79. package/dist/src/types/PartAnnex.d.ts.map +1 -0
  80. package/dist/src/types/PartAnnex.js +29 -0
  81. package/dist/src/types/PartAnnex.js.map +1 -0
  82. package/dist/src/types/ProcessModel.d.ts +27 -0
  83. package/dist/src/types/ProcessModel.d.ts.map +1 -0
  84. package/dist/src/types/ProcessModel.js +31 -0
  85. package/dist/src/types/ProcessModel.js.map +1 -0
  86. package/dist/src/types/SchemeType.d.ts +51 -0
  87. package/dist/src/types/SchemeType.d.ts.map +1 -0
  88. package/dist/src/types/SchemeType.js +41 -0
  89. package/dist/src/types/SchemeType.js.map +1 -0
  90. package/dist/src/types/Standard.d.ts +36 -0
  91. package/dist/src/types/Standard.d.ts.map +1 -1
  92. package/dist/src/types/Storyline.d.ts +62 -0
  93. package/dist/src/types/Storyline.d.ts.map +1 -0
  94. package/dist/src/types/Storyline.js +51 -0
  95. package/dist/src/types/Storyline.js.map +1 -0
  96. package/dist/src/types/Subject.d.ts +33 -0
  97. package/dist/src/types/Subject.d.ts.map +1 -1
  98. package/dist/src/types/Symbol.d.ts +17 -0
  99. package/dist/src/types/Symbol.d.ts.map +1 -1
  100. package/dist/src/types/process.d.ts +99 -1
  101. package/dist/src/types/process.d.ts.map +1 -1
  102. package/dist-browser/index.mjs +1791 -988
  103. package/dist-cli/primmel.mjs +2131 -56
  104. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemeType.js","sourceRoot":"","sources":["../../../../src/ser-des/config/schemeType.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Dumper, Parser } from '../types';
2
+ import Storyline, { DemoWorld } from '../../types/Storyline';
3
+ export declare const parseDemoWorld: Parser;
4
+ export declare const dumpDemoWorld: Dumper<DemoWorld>;
5
+ export declare const parseStoryline: Parser;
6
+ export declare const dumpStoryline: Dumper<Storyline>;
7
+ //# sourceMappingURL=storyline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storyline.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/storyline.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAS/C,OAAO,SAAS,EAAE,EAChB,SAAS,EAIV,MAAM,uBAAuB,CAAC;AA2E/B,eAAO,MAAM,cAAc,EAAE,MA6B5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,CAuB3C,CAAC;AAuBF,eAAO,MAAM,cAAc,EAAE,MAkE5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,CAsC3C,CAAC"}
@@ -0,0 +1,264 @@
1
+ "use strict";
2
+ // ─────────────────────────────────────────────────────────────────────
3
+ // `demo_world` + `storyline` constructs (smart TODO.roadmap/40 batch 4;
4
+ // the packages-as-SSOT epic) — the sample-data demo seeds as native
5
+ // constructs (types/Storyline.ts carries the banner, the grammar
6
+ // sketch, and the deliberate instance-non-unification note).
7
+ //
8
+ // The record-value sub-grammar follows the quantity.ts dumpScalarToken
9
+ // conventions: numbers bare, whitespace/brace-carrying strings quoted,
10
+ // `{ … }` lists of scalars. The participants sections and the subject
11
+ // slot kinds are OPEN — the grammar never enumerates program content.
12
+ //
13
+ // Cross-references stay strings at parse and resolve at check time
14
+ // (C129); the codecs stay total.
15
+ // ─────────────────────────────────────────────────────────────────────
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.dumpStoryline = exports.parseStoryline = exports.dumpDemoWorld = exports.parseDemoWorld = void 0;
18
+ const tokenize_1 = require("../tokenize");
19
+ const parse_block_1 = require("../parse-block");
20
+ const field_parser_1 = require("./field-parser");
21
+ const quantity_1 = require("./quantity");
22
+ // ── the record-value sub-grammar ─────────────────────────────────────
23
+ /** Read one field value: `{ … }` list of scalars, or one scalar. */
24
+ function readRecordValue(token) {
25
+ if (token.startsWith('{')) {
26
+ return (0, tokenize_1.default)((0, tokenize_1.unwrapBlock)(token))
27
+ .filter(s => s.length > 0)
28
+ .map(quantity_1.coerceValueToken);
29
+ }
30
+ return (0, quantity_1.coerceValueToken)(token);
31
+ }
32
+ /** Read a record-shaped block (`key value` pairs, values scalar or
33
+ * braced list), preserving authored order. */
34
+ function readRecordFields(block) {
35
+ const fields = {};
36
+ const t = (0, tokenize_1.default)(block);
37
+ let i = 0;
38
+ while (i < t.length) {
39
+ const key = t[i++];
40
+ if (i >= t.length) {
41
+ break;
42
+ }
43
+ fields[(0, field_parser_1.stripColon)(key)] = readRecordValue(t[i++]);
44
+ }
45
+ return fields;
46
+ }
47
+ function dumpRecordFields(fields, indent) {
48
+ let out = '';
49
+ for (const [key, value] of Object.entries(fields)) {
50
+ if (Array.isArray(value)) {
51
+ out +=
52
+ indent + key + ' { ' + value.map(quantity_1.dumpScalarToken).join(' ') + ' }\n';
53
+ }
54
+ else {
55
+ out += indent + key + ' ' + (0, quantity_1.dumpScalarToken)(value) + '\n';
56
+ }
57
+ }
58
+ return out;
59
+ }
60
+ // ── demo_world ───────────────────────────────────────────────────────
61
+ function parseParticipants(block) {
62
+ const sections = [];
63
+ const t = (0, tokenize_1.default)(block);
64
+ let i = 0;
65
+ while (i < t.length) {
66
+ const sid = (0, tokenize_1.stripWrapping)(t[i++]);
67
+ if (i >= t.length || !t[i].startsWith('{')) {
68
+ break;
69
+ }
70
+ const section = { id: sid, entries: [] };
71
+ const st = (0, tokenize_1.default)((0, tokenize_1.unwrapBlock)(t[i++]));
72
+ let j = 0;
73
+ while (j < st.length) {
74
+ const eid = (0, tokenize_1.stripWrapping)(st[j++]);
75
+ if (j >= st.length || !st[j].startsWith('{')) {
76
+ break;
77
+ }
78
+ section.entries.push({
79
+ id: eid,
80
+ fields: readRecordFields((0, tokenize_1.unwrapBlock)(st[j++])),
81
+ });
82
+ }
83
+ sections.push(section);
84
+ }
85
+ return sections;
86
+ }
87
+ const parseDemoWorld = (id, data) => {
88
+ const world = {
89
+ id,
90
+ standard: '',
91
+ description: '',
92
+ participants: [],
93
+ };
94
+ (0, parse_block_1.forEachEntry)(data, (keyword, value) => {
95
+ if (keyword === 'standard') {
96
+ world.standard = (0, tokenize_1.stripWrapping)(value());
97
+ }
98
+ else if (keyword === 'description') {
99
+ world.description = (0, tokenize_1.stripWrapping)(value());
100
+ }
101
+ else if (keyword === 'participants') {
102
+ world.participants = parseParticipants((0, tokenize_1.unwrapBlock)(value()));
103
+ }
104
+ else {
105
+ return false;
106
+ }
107
+ return true;
108
+ }, { construct: 'demo_world', id });
109
+ return ctx => {
110
+ ctx.demoWorlds[id] = world;
111
+ return ctx;
112
+ };
113
+ };
114
+ exports.parseDemoWorld = parseDemoWorld;
115
+ const dumpDemoWorld = function (w) {
116
+ let out = 'demo_world ' + w.id + ' {\n';
117
+ if (w.standard) {
118
+ out += ' standard ' + (0, field_parser_1.dumpBareSafe)(w.standard) + '\n';
119
+ }
120
+ if (w.description) {
121
+ out += ' description "' + (0, tokenize_1.escapeString)(w.description) + '"\n';
122
+ }
123
+ if (w.participants.length > 0) {
124
+ out += ' participants {\n';
125
+ for (const s of w.participants) {
126
+ out += ' ' + (0, field_parser_1.dumpBareSafe)(s.id) + ' {\n';
127
+ for (const e of s.entries) {
128
+ out += ' ' + (0, field_parser_1.dumpBareSafe)(e.id) + ' {\n';
129
+ out += dumpRecordFields(e.fields, ' ');
130
+ out += ' }\n';
131
+ }
132
+ out += ' }\n';
133
+ }
134
+ out += ' }\n';
135
+ }
136
+ out += '}\n';
137
+ return out;
138
+ };
139
+ exports.dumpDemoWorld = dumpDemoWorld;
140
+ // ── storyline ────────────────────────────────────────────────────────
141
+ function parseSubjectEntries(block) {
142
+ const entries = [];
143
+ const t = (0, tokenize_1.default)(block);
144
+ let i = 0;
145
+ while (i < t.length) {
146
+ const kind = (0, tokenize_1.stripWrapping)(t[i++]);
147
+ if (i >= t.length) {
148
+ break;
149
+ }
150
+ const eid = (0, tokenize_1.stripWrapping)(t[i++]);
151
+ const entry = { kind, id: eid, fields: {} };
152
+ if (i < t.length && t[i].startsWith('{')) {
153
+ entry.fields = readRecordFields((0, tokenize_1.unwrapBlock)(t[i++]));
154
+ }
155
+ entries.push(entry);
156
+ }
157
+ return entries;
158
+ }
159
+ const parseStoryline = (id, data) => {
160
+ const storyline = {
161
+ id,
162
+ name: '',
163
+ idPrefix: '',
164
+ party: { laboratory: '', authority: '' },
165
+ subject: [],
166
+ records: [],
167
+ notes: [],
168
+ };
169
+ (0, parse_block_1.forEachEntry)(data, (keyword, value, peek) => {
170
+ if (keyword === 'name') {
171
+ storyline.name = (0, tokenize_1.stripWrapping)(value());
172
+ }
173
+ else if (keyword === 'id_prefix') {
174
+ storyline.idPrefix = (0, tokenize_1.stripWrapping)(value());
175
+ }
176
+ else if (keyword === 'party') {
177
+ const pt = (0, tokenize_1.default)((0, tokenize_1.unwrapBlock)(value()));
178
+ for (let j = 0; j + 1 < pt.length; j += 2) {
179
+ if (pt[j] === 'laboratory') {
180
+ storyline.party.laboratory = (0, tokenize_1.stripWrapping)(pt[j + 1]);
181
+ }
182
+ else if (pt[j] === 'authority') {
183
+ storyline.party.authority = (0, tokenize_1.stripWrapping)(pt[j + 1]);
184
+ }
185
+ }
186
+ }
187
+ else if (keyword === 'subject') {
188
+ storyline.subject = parseSubjectEntries((0, tokenize_1.unwrapBlock)(value()));
189
+ }
190
+ else if (keyword === 'record') {
191
+ // record <store> <id> { … } — a three-token facet claiming
192
+ // through peek/value manually (value() consumes one token per
193
+ // call).
194
+ const store = (0, tokenize_1.stripWrapping)(value());
195
+ const idHead = peek();
196
+ if (idHead === undefined || idHead.startsWith('{')) {
197
+ throw new Error(`Parsing error: storyline. ID ${id}: record ${store} is missing its id and block`);
198
+ }
199
+ const rid = (0, tokenize_1.stripWrapping)(value());
200
+ const blockHead = peek();
201
+ if (blockHead === undefined || !blockHead.startsWith('{')) {
202
+ throw new Error(`Parsing error: storyline. ID ${id}: record ${store} ${rid} is missing its block`);
203
+ }
204
+ storyline.records.push({
205
+ store,
206
+ id: rid,
207
+ fields: readRecordFields((0, tokenize_1.unwrapBlock)(value())),
208
+ });
209
+ }
210
+ else if (keyword === 'note') {
211
+ storyline.notes.push((0, tokenize_1.stripWrapping)(value()));
212
+ }
213
+ else {
214
+ return false;
215
+ }
216
+ return true;
217
+ }, { construct: 'storyline', id });
218
+ return ctx => {
219
+ ctx.storylines[id] = storyline;
220
+ return ctx;
221
+ };
222
+ };
223
+ exports.parseStoryline = parseStoryline;
224
+ const dumpStoryline = function (s) {
225
+ let out = 'storyline ' + s.id + ' {\n';
226
+ if (s.name) {
227
+ out += ' name "' + (0, tokenize_1.escapeString)(s.name) + '"\n';
228
+ }
229
+ if (s.idPrefix) {
230
+ out += ' id_prefix ' + (0, field_parser_1.dumpBareSafe)(s.idPrefix) + '\n';
231
+ }
232
+ if (s.party.laboratory || s.party.authority) {
233
+ out += ' party {';
234
+ if (s.party.laboratory) {
235
+ out += ' laboratory ' + (0, field_parser_1.dumpBareSafe)(s.party.laboratory);
236
+ }
237
+ if (s.party.authority) {
238
+ out += ' authority ' + (0, field_parser_1.dumpBareSafe)(s.party.authority);
239
+ }
240
+ out += ' }\n';
241
+ }
242
+ if (s.subject.length > 0) {
243
+ out += ' subject {\n';
244
+ for (const e of s.subject) {
245
+ out += ' ' + (0, field_parser_1.dumpBareSafe)(e.kind) + ' ' + (0, field_parser_1.dumpBareSafe)(e.id) + ' {\n';
246
+ out += dumpRecordFields(e.fields, ' ');
247
+ out += ' }\n';
248
+ }
249
+ out += ' }\n';
250
+ }
251
+ for (const r of s.records) {
252
+ out +=
253
+ ' record ' + (0, field_parser_1.dumpBareSafe)(r.store) + ' ' + (0, field_parser_1.dumpBareSafe)(r.id) + ' {\n';
254
+ out += dumpRecordFields(r.fields, ' ');
255
+ out += ' }\n';
256
+ }
257
+ for (const n of s.notes) {
258
+ out += ' note "' + (0, tokenize_1.escapeString)(n) + '"\n';
259
+ }
260
+ out += '}\n';
261
+ return out;
262
+ };
263
+ exports.dumpStoryline = dumpStoryline;
264
+ //# sourceMappingURL=storyline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storyline.js","sourceRoot":"","sources":["../../../../src/ser-des/config/storyline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/subject.ts"],"names":[],"mappings":"AA0IA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EACV,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,uBAAuB,EAEvB,YAAY,EAEZ,UAAU,EAOV,OAAO,EAIR,MAAM,qBAAqB,CAAC;AAsU7B,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,uBAAuB,CAuDzB;AA+ED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,uBAAuB,EAC1B,MAAM,EAAE,MAAM,GACb,MAAM,CAuER;AAg1CD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAcxE;AAqPD,eAAO,MAAM,mBAAmB;;;;;0BA7iDO,UAAU,KAAG,MAAM;CAmjDhD,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;uBAzwCI,mBAAmB,KAAG,MAAM;CA+wC/D,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;;uBAloCI,UAAU,KAAG,MAAM;CAwoC7C,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;uBApjCI,QAAQ,KAAG,MAAM;CA0jCzC,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;wBAx6BK,YAAY,KAAG,MAAM;CA86BlD,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;;sBAKA,KAAK;uBAxFD,OAAO,KAAG,MAAM;CA0FvC,CAAC"}
1
+ {"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/subject.ts"],"names":[],"mappings":"AA0IA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EACV,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,uBAAuB,EAEvB,YAAY,EAEZ,UAAU,EAQV,OAAO,EAIR,MAAM,qBAAqB,CAAC;AAsU7B,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,uBAAuB,CAuDzB;AA+ED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,uBAAuB,EAC1B,MAAM,EAAE,MAAM,GACb,MAAM,CAuER;AAw6CD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAcxE;AAqPD,eAAO,MAAM,mBAAmB;;;;;0BAroDO,UAAU,KAAG,MAAM;CA2oDhD,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;uBA5wCI,mBAAmB,KAAG,MAAM;CAkxC/D,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;;uBAloCI,UAAU,KAAG,MAAM;CAwoC7C,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;uBApjCI,QAAQ,KAAG,MAAM;CA0jCzC,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;wBAx6BK,YAAY,KAAG,MAAM;CA86BlD,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;;sBAKA,KAAK;uBAxFD,OAAO,KAAG,MAAM;CA0FvC,CAAC"}
@@ -925,6 +925,92 @@ const dumpInstrument = function (inst) {
925
925
  return out;
926
926
  };
927
927
  // ── attribute_definition ─────────────────────────────────────────────
928
+ /**
929
+ * The `pair_list { … }` block (smart TODO.roadmap/40 batch 4): key /
930
+ * value / key_dimension scalar facets plus the repeatable two-token
931
+ * `component <id> { … }` entries (the segregation-block idiom — the
932
+ * block claims its sub-tokens manually).
933
+ */
934
+ function parsePairList(block) {
935
+ const decl = {
936
+ key: '',
937
+ value: '',
938
+ keyDimension: '',
939
+ components: [],
940
+ };
941
+ const t = (0, tokenize_1.default)(block);
942
+ let i = 0;
943
+ while (i < t.length) {
944
+ const cmd = t[i++];
945
+ if (i > t.length) {
946
+ break;
947
+ }
948
+ if (cmd === 'key') {
949
+ decl.key = (0, tokenize_2.stripWrapping)(t[i++]);
950
+ }
951
+ else if (cmd === 'value') {
952
+ decl.value = (0, tokenize_2.stripWrapping)(t[i++]);
953
+ }
954
+ else if (cmd === 'key_dimension') {
955
+ decl.keyDimension = (0, tokenize_2.stripWrapping)(t[i++]);
956
+ }
957
+ else if (cmd === 'component') {
958
+ const cid = (0, tokenize_2.stripWrapping)(t[i++]);
959
+ const component = { id: cid, name: '', source: null };
960
+ if (i < t.length && t[i].startsWith('{')) {
961
+ const et = (0, tokenize_1.default)((0, tokenize_2.unwrapBlock)(t[i++]));
962
+ let j = 0;
963
+ while (j < et.length) {
964
+ const ec = et[j++];
965
+ if (j >= et.length) {
966
+ break;
967
+ }
968
+ if (ec === 'name') {
969
+ component.name = (0, tokenize_2.stripWrapping)(et[j++]);
970
+ }
971
+ else if (ec === 'source') {
972
+ component.source = (0, field_parser_1.readSource)((0, tokenize_2.unwrapBlock)(et[j++]));
973
+ }
974
+ else {
975
+ (0, tokenize_2.unwrapBlock)(et[j++]);
976
+ }
977
+ }
978
+ }
979
+ decl.components.push(component);
980
+ }
981
+ else {
982
+ i = (0, parse_block_1.skipUnknownValue)(t, i, cmd);
983
+ }
984
+ }
985
+ return decl;
986
+ }
987
+ function dumpPairList(decl) {
988
+ let out = ' pair_list {\n';
989
+ out += ' key ' + (0, field_parser_1.dumpBareSafe)(decl.key) + '\n';
990
+ out += ' value ' + (0, field_parser_1.dumpBareSafe)(decl.value) + '\n';
991
+ if (decl.keyDimension) {
992
+ out += ' key_dimension ' + (0, field_parser_1.dumpBareSafe)(decl.keyDimension) + '\n';
993
+ }
994
+ for (const c of decl.components) {
995
+ out += ' component ' + (0, field_parser_1.dumpBareSafe)(c.id) + ' {\n';
996
+ if (c.name) {
997
+ out += ' name "' + (0, tokenize_2.escapeString)(c.name) + '"\n';
998
+ }
999
+ if (c.source && (c.source.doc || c.source.clause)) {
1000
+ out += ' source {\n';
1001
+ if (c.source.doc) {
1002
+ out += ' doc "' + (0, tokenize_2.escapeString)(c.source.doc) + '"\n';
1003
+ }
1004
+ if (c.source.clause) {
1005
+ out += ' clause "' + (0, tokenize_2.escapeString)(c.source.clause) + '"\n';
1006
+ }
1007
+ out += ' }\n';
1008
+ }
1009
+ out += ' }\n';
1010
+ }
1011
+ out += ' }\n';
1012
+ return out;
1013
+ }
928
1014
  const parseAttributeDefinition = function (id, data) {
929
1015
  const result = {
930
1016
  id,
@@ -978,6 +1064,10 @@ const parseAttributeDefinition = function (id, data) {
978
1064
  else if (cmd === 'value_type') {
979
1065
  result.valueType = (0, tokenize_2.stripWrapping)(t[i++]);
980
1066
  }
1067
+ else if (cmd === 'pair_list') {
1068
+ // The pair-list block (smart TODO.roadmap/40 batch 4).
1069
+ result.pairList = parsePairList((0, tokenize_2.unwrapBlock)(t[i++]));
1070
+ }
981
1071
  else if (cmd === 'origin') {
982
1072
  result.origin = (0, tokenize_2.stripWrapping)(t[i++]);
983
1073
  }
@@ -1066,6 +1156,9 @@ const dumpAttributeDefinition = function (a) {
1066
1156
  if (a.valueType) {
1067
1157
  out += ' value_type ' + a.valueType + '\n';
1068
1158
  }
1159
+ if (a.pairList) {
1160
+ out += dumpPairList(a.pairList);
1161
+ }
1069
1162
  if (a.origin) {
1070
1163
  out += ' origin ' + a.origin + '\n';
1071
1164
  }