@primmel/primmel 1.5.1 → 1.5.2
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.
|
@@ -26,8 +26,14 @@ export declare function refTargetToSourceRef(target: string): {
|
|
|
26
26
|
/** The single-model fold (docs/primmel/18 §18.4): a parsed ref maps onto
|
|
27
27
|
* the element's LEGACY channel, so every consumer (the check layer, the
|
|
28
28
|
* YAML projections) reads one model regardless of spelling:
|
|
29
|
-
* derives-from →
|
|
30
|
-
*
|
|
29
|
+
* derives-from → the provenance channel when the element HAS
|
|
30
|
+
* one (sourceRefs + the singular mirror); forms
|
|
31
|
+
* and fields carry their provenance as the
|
|
32
|
+
* role-'source' entry of the role-references
|
|
33
|
+
* channel instead (their legacy shape)
|
|
34
|
+
* cites → the role-'reference' entry of the
|
|
35
|
+
* role-references channel when the element has
|
|
36
|
+
* one, else referenceIds
|
|
31
37
|
* other citation role → the role-references channel (fieldReferences /
|
|
32
38
|
* formReferences, whichever the element carries)
|
|
33
39
|
* semantic predicate → stays in refs (the new channel)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/ref.ts"],"names":[],"mappings":"AAiBA,uDAAuD;AACvD,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;yEACyE;AACzE,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EACT,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACpC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GACjC;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAY5B;AAED;;+BAE+B;AAC/B,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,MAAM,EACnB,IAAI,EAAE,MAAM,MAAM,GAAG,SAAS,EAC9B,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACpC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GACjC,GAAG,CAOL;AAED,gEAAgE;AAChE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,GAAG,EAAE,GAAG,SAAS,EACvB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAClC,MAAM,CAYR;AAED;qCACqC;AACrC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAwBP;AAED
|
|
1
|
+
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../src/ser-des/config/ref.ts"],"names":[],"mappings":"AAiBA,uDAAuD;AACvD,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;yEACyE;AACzE,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,EAAE,MAAM,EACT,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACpC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GACjC;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAY5B;AAED;;+BAE+B;AAC/B,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,MAAM,EACnB,IAAI,EAAE,MAAM,MAAM,GAAG,SAAS,EAC9B,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACpC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GACjC,GAAG,CAOL;AAED,gEAAgE;AAChE,wBAAgB,QAAQ,CACtB,IAAI,EAAE,GAAG,EAAE,GAAG,SAAS,EACvB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAClC,MAAM,CAYR;AAED;qCACqC;AACrC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAwBP;AAED;;;;;;;;;;;;;;yEAcyE;AACzE,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE;IACF,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,EACD,GAAG,EAAE,GAAG,GACP,OAAO,CA8DT;AAED;;yCAEyC;AACzC,wBAAgB,kBAAkB,CAChC,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EACvD,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAClC,MAAM,CAUR"}
|
|
@@ -92,14 +92,30 @@ function refTargetToSourceRef(target) {
|
|
|
92
92
|
/** The single-model fold (docs/primmel/18 §18.4): a parsed ref maps onto
|
|
93
93
|
* the element's LEGACY channel, so every consumer (the check layer, the
|
|
94
94
|
* YAML projections) reads one model regardless of spelling:
|
|
95
|
-
* derives-from →
|
|
96
|
-
*
|
|
95
|
+
* derives-from → the provenance channel when the element HAS
|
|
96
|
+
* one (sourceRefs + the singular mirror); forms
|
|
97
|
+
* and fields carry their provenance as the
|
|
98
|
+
* role-'source' entry of the role-references
|
|
99
|
+
* channel instead (their legacy shape)
|
|
100
|
+
* cites → the role-'reference' entry of the
|
|
101
|
+
* role-references channel when the element has
|
|
102
|
+
* one, else referenceIds
|
|
97
103
|
* other citation role → the role-references channel (fieldReferences /
|
|
98
104
|
* formReferences, whichever the element carries)
|
|
99
105
|
* semantic predicate → stays in refs (the new channel)
|
|
100
106
|
* Returns true when the ref was folded (never also keep it in refs). */
|
|
101
107
|
function foldRefIntoLegacy(el, ref) {
|
|
102
108
|
if (ref.predicate === 'derives-from') {
|
|
109
|
+
// Forms and fields carry provenance as the role-'source' entry of
|
|
110
|
+
// their role-references channel (their legacy shape — the YAML
|
|
111
|
+
// projections read exactly that channel); everything else has a real
|
|
112
|
+
// provenance channel (sourceRefs + the singular mirror).
|
|
113
|
+
const roleChannel = el.fieldReferences ?? el.formReferences;
|
|
114
|
+
const hasProvenanceSlot = 'source' in el || 'sourceRef' in el || el.sourceRefs !== undefined;
|
|
115
|
+
if (roleChannel && !hasProvenanceSlot) {
|
|
116
|
+
roleChannel.push({ urn: ref.target, role: 'source' });
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
103
119
|
const b = refTargetToSourceRef(ref.target);
|
|
104
120
|
if (!b) {
|
|
105
121
|
return false;
|
|
@@ -122,15 +138,17 @@ function foldRefIntoLegacy(el, ref) {
|
|
|
122
138
|
return true;
|
|
123
139
|
}
|
|
124
140
|
if (ref.predicate === 'cites') {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
else if (el.fieldReferences) {
|
|
141
|
+
// The role-references channel is the citation home where the element
|
|
142
|
+
// has one (forms, fields); referenceIds elsewhere.
|
|
143
|
+
if (el.fieldReferences) {
|
|
129
144
|
el.fieldReferences.push({ urn: ref.target, role: 'reference' });
|
|
130
145
|
}
|
|
131
146
|
else if (el.formReferences) {
|
|
132
147
|
el.formReferences.push({ urn: ref.target, role: 'reference' });
|
|
133
148
|
}
|
|
149
|
+
else if (el.referenceIds) {
|
|
150
|
+
el.referenceIds.push(ref.target);
|
|
151
|
+
}
|
|
134
152
|
return true;
|
|
135
153
|
}
|
|
136
154
|
const CITATION_ROLES = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../../src/ser-des/config/ref.ts"],"names":[],"mappings":";AAAA,kEAAkE;AAClE,iEAAiE;AACjE,EAAE;AACF,+BAA+B;AAC/B,4CAA4C;AAC5C,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,sEAAsE;AACtE,sEAAsE;AACtE,MAAM;AACN,EAAE;AACF,8DAA8D;AAC9D,uEAAuE;AACvE,uEAAuE;AACvE,+BAA+B;;AAW/B,4BAiBC;AAKD,kDAYC;AAGD,4BAgBC;AAID,oDA4BC;
|
|
1
|
+
{"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../../src/ser-des/config/ref.ts"],"names":[],"mappings":"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"}
|
package/dist-browser/index.mjs
CHANGED
|
@@ -249,14 +249,15 @@ var m = function(e) {
|
|
|
249
249
|
let n = r(e), i = 0;
|
|
250
250
|
for (; i < n.length;) {
|
|
251
251
|
let e = n[i++];
|
|
252
|
-
if (i < n.length)
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
252
|
+
if (i < n.length) {
|
|
253
|
+
if (e === "title") t.title = a(n[i++]);
|
|
254
|
+
else if (e === "schema") t.schema = a(n[i++]);
|
|
255
|
+
else if (e === "edition") t.edition = a(n[i++]);
|
|
256
|
+
else if (e === "author") t.author = a(n[i++]);
|
|
257
|
+
else if (e === "namespace") t.namespace = a(n[i++]);
|
|
258
|
+
else if (e === "shortname") t.shortname = a(n[i++]);
|
|
259
|
+
else throw Error("Parsing error: metadata. Unknown keyword " + e);
|
|
260
|
+
} else throw Error("Parsing error: metadata. Expecting value for " + e);
|
|
260
261
|
}
|
|
261
262
|
}
|
|
262
263
|
return (e) => (e.metadata = t, e);
|
|
@@ -346,16 +347,21 @@ function C(e) {
|
|
|
346
347
|
}
|
|
347
348
|
function w(e, t) {
|
|
348
349
|
if (t.predicate === "derives-from") {
|
|
349
|
-
let n =
|
|
350
|
-
|
|
350
|
+
let n = e.fieldReferences ?? e.formReferences, r = "source" in e || "sourceRef" in e || e.sourceRefs !== void 0;
|
|
351
|
+
if (n && !r) return n.push({
|
|
352
|
+
urn: t.target,
|
|
353
|
+
role: "source"
|
|
354
|
+
}), !0;
|
|
355
|
+
let i = C(t.target);
|
|
356
|
+
return i ? ((e.sourceRefs ??= []).push(i), "source" in e && !e.source && (e.source = i), "sourceRef" in e && !e.sourceRef && (e.sourceRef = i), "reference" in e && !e.reference && (e.reference = i.doc), !0) : !1;
|
|
351
357
|
}
|
|
352
|
-
if (t.predicate === "cites") return e.
|
|
358
|
+
if (t.predicate === "cites") return e.fieldReferences ? e.fieldReferences.push({
|
|
353
359
|
urn: t.target,
|
|
354
360
|
role: "reference"
|
|
355
|
-
}) : e.formReferences
|
|
361
|
+
}) : e.formReferences ? e.formReferences.push({
|
|
356
362
|
urn: t.target,
|
|
357
363
|
role: "reference"
|
|
358
|
-
}), !0;
|
|
364
|
+
}) : e.referenceIds && e.referenceIds.push(t.target), !0;
|
|
359
365
|
if ([
|
|
360
366
|
"requirement",
|
|
361
367
|
"test-procedure",
|
|
@@ -469,14 +475,16 @@ function re(e) {
|
|
|
469
475
|
let t = r(e.trim().replace(/^[[{]/, "").replace(/[\]}]$/, "")), n = [], o = 0;
|
|
470
476
|
for (; o < t.length;) {
|
|
471
477
|
let e = a(t[o++].replace(/,$/, ""));
|
|
472
|
-
if (e)
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
478
|
+
if (e) {
|
|
479
|
+
if (o < t.length && t[o].startsWith("{")) {
|
|
480
|
+
let s = r(i(t[o++])), c = "";
|
|
481
|
+
for (let e = 0; e + 1 < s.length; e += 2) s[e] === "label" && (c = a(s[e + 1]));
|
|
482
|
+
n.push({
|
|
483
|
+
value: e,
|
|
484
|
+
label: c
|
|
485
|
+
});
|
|
486
|
+
} else n.push(e);
|
|
487
|
+
}
|
|
480
488
|
}
|
|
481
489
|
return n;
|
|
482
490
|
}
|
|
@@ -723,13 +731,15 @@ function de(e, t) {
|
|
|
723
731
|
let e = n(t), o = 0;
|
|
724
732
|
for (; o < e.length;) {
|
|
725
733
|
let t = e[o++];
|
|
726
|
-
if (o < e.length)
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
734
|
+
if (o < e.length) {
|
|
735
|
+
if (t === "parameters") {
|
|
736
|
+
let t = n(i(e[o++])), s = 0;
|
|
737
|
+
for (; s < t.length;) {
|
|
738
|
+
let e = A(t[s++]);
|
|
739
|
+
s < t.length && (t[s] === ":" && s++, s < t.length && (r.parameters[e] = a(t[s++])));
|
|
740
|
+
}
|
|
741
|
+
} else t === "applicability" ? r.applicability = P(i(e[o++])) : i(e[o++]);
|
|
742
|
+
}
|
|
733
743
|
}
|
|
734
744
|
}
|
|
735
745
|
return r;
|
|
@@ -1960,7 +1970,7 @@ function Vt(e) {
|
|
|
1960
1970
|
let s = a.text.trim().slice(1, a.text.lastIndexOf("]")), c = [];
|
|
1961
1971
|
for (let e of n(s)) e.startsWith("{") && c.push(Bt(i(e)));
|
|
1962
1972
|
t[e] = c;
|
|
1963
|
-
} else r[o].startsWith("{") ?
|
|
1973
|
+
} else t[e] = r[o].startsWith("{") ? Bt(i(r[o++])) : Rt(a(r[o++]));
|
|
1964
1974
|
}
|
|
1965
1975
|
return t;
|
|
1966
1976
|
}
|
|
@@ -2036,32 +2046,33 @@ var Gt = function(e, t) {
|
|
|
2036
2046
|
let s = r(t), c = 0;
|
|
2037
2047
|
for (; c < s.length;) {
|
|
2038
2048
|
let t = s[c++];
|
|
2039
|
-
if (c < s.length)
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
r
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2049
|
+
if (c < s.length) {
|
|
2050
|
+
if (t === "title") o.title = i(s[c++]);
|
|
2051
|
+
else if (t === "description") o.description = a(s[c++]);
|
|
2052
|
+
else if (t === "columns") {
|
|
2053
|
+
let e = s[c++];
|
|
2054
|
+
e.startsWith("{") ? o.columnDefs = zt(i(e)) : o.columns = i(e);
|
|
2055
|
+
} else if (t === "display") o.display = i(s[c++]);
|
|
2056
|
+
else if (t === "source") {
|
|
2057
|
+
let e = N(i(s[c++]));
|
|
2058
|
+
o.sourceRef ||= e, (o.sourceRefs ??= []).push(e);
|
|
2059
|
+
} else if (t === "source_discrepancy") o.sourceDiscrepancy = E(i(s[c++]));
|
|
2060
|
+
else if (t === "overrides") o.overrides = Wt(i(s[c++]));
|
|
2061
|
+
else if (t === "profiles") {
|
|
2062
|
+
let e = n(i(s[c++])), t = [], r = 0;
|
|
2063
|
+
for (; r < e.length;) if (e[r] === "profile") {
|
|
2064
|
+
r++;
|
|
2065
|
+
let t = a(e[r++]), n = r < e.length ? i(e[r++]) : "";
|
|
2066
|
+
o.profileDefs = o.profileDefs ?? [], o.profileDefs.push(Ht(t, n));
|
|
2067
|
+
} else t.push(e[r++]);
|
|
2068
|
+
t.length > 0 && (o.profiles = Ut(t.join(" ")));
|
|
2069
|
+
} else if (t === "domain") o.domain = i(s[c++]);
|
|
2070
|
+
else if (t === "data") o.data = Kt(i(s[c++]));
|
|
2071
|
+
else if (t === "ref") {
|
|
2072
|
+
let e = b(s, c, a, i);
|
|
2073
|
+
w(o, e.ref) || (o.refs ??= []).push(e.ref), c = e.next;
|
|
2074
|
+
} else c++;
|
|
2075
|
+
} else throw Error(`Parsing error: table. ID ${e}: Expecting value for ${t}`);
|
|
2065
2076
|
}
|
|
2066
2077
|
}
|
|
2067
2078
|
return (t) => (t.tables[e] = o, t);
|
|
@@ -2149,12 +2160,13 @@ var Yt = function(e) {
|
|
|
2149
2160
|
let a = r(t), o = 0;
|
|
2150
2161
|
for (; o < a.length;) {
|
|
2151
2162
|
let t = a[o++];
|
|
2152
|
-
if (o < a.length)
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2163
|
+
if (o < a.length) {
|
|
2164
|
+
if (t === "type" || t === "kind") {
|
|
2165
|
+
let t = a[o++];
|
|
2166
|
+
if (!Qt.includes(t)) throw Error(`Parsing error: link. ID ${e}: Unknown kind ${t} (valid: ${Qt.join(", ")})`);
|
|
2167
|
+
n.kind = t;
|
|
2168
|
+
} else t === "target" || t === "path" || t === "url" ? n.target = i(a[o++]) : t === "namespace" || t === "ns" ? n.namespace = i(a[o++]) : o++;
|
|
2169
|
+
} else throw Error(`Parsing error: link. ID ${e}: Expecting value for ${t}`);
|
|
2158
2170
|
}
|
|
2159
2171
|
}
|
|
2160
2172
|
return (t) => (t.links[e] = n, t);
|
|
@@ -2176,7 +2188,7 @@ var Yt = function(e) {
|
|
|
2176
2188
|
let e = r(t), a = 0;
|
|
2177
2189
|
for (; a < e.length;) {
|
|
2178
2190
|
let t = e[a++];
|
|
2179
|
-
t === "on" ? n.on = e[a++] : t === "author" || t === "username" ? n.author = i(e[a++]) : t === "timestamp" ? n.timestamp = i(e[a++]) : t === "text" || t === "message" ? n.text = i(e[a++]) : t === "reply_to" ? n.replyTo = e[a++] : t === "feedback" ? n._feedback = r(i(e[a++])) : t === "resolved" ? a < e.length && (e[a] === "true" || e[a] === "false") ?
|
|
2191
|
+
t === "on" ? n.on = e[a++] : t === "author" || t === "username" ? n.author = i(e[a++]) : t === "timestamp" ? n.timestamp = i(e[a++]) : t === "text" || t === "message" ? n.text = i(e[a++]) : t === "reply_to" ? n.replyTo = e[a++] : t === "feedback" ? n._feedback = r(i(e[a++])) : t === "resolved" ? n.resolved = a < e.length && (e[a] === "true" || e[a] === "false") ? e[a++] === "true" : !0 : a++;
|
|
2180
2192
|
}
|
|
2181
2193
|
}
|
|
2182
2194
|
return (t) => (t.comments[e] = n, t);
|
|
@@ -2354,40 +2366,41 @@ var un = function(e, t) {
|
|
|
2354
2366
|
let s = r(t), c = 0;
|
|
2355
2367
|
for (; c < s.length;) {
|
|
2356
2368
|
let t = s[c++];
|
|
2357
|
-
if (c < s.length)
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2369
|
+
if (c < s.length) {
|
|
2370
|
+
if (t === "name") o.name = a(s[c++]);
|
|
2371
|
+
else if (t === "description") o.description = a(s[c++]);
|
|
2372
|
+
else if (t === "data_class") o.dataClassId = a(s[c++]);
|
|
2373
|
+
else if (t === "header") o.headerFormId = a(s[c++]);
|
|
2374
|
+
else if (t === "section") o.section = a(s[c++]);
|
|
2375
|
+
else if (t === "requirements") o.requirements = r(s[c++]).map(a);
|
|
2376
|
+
else if (t === "note") o.formNotes.push(a(s[c++]));
|
|
2377
|
+
else if (t === "scope") o.scope = a(s[c++]);
|
|
2378
|
+
else if (t === "report_rows") {
|
|
2379
|
+
let e = n(i(s[c++])), t = {
|
|
2380
|
+
field: "",
|
|
2381
|
+
itemKey: ""
|
|
2382
|
+
};
|
|
2383
|
+
for (let n = 0; n + 1 < e.length; n += 2) e[n] === "field" ? t.field = a(e[n + 1]) : e[n] === "item_key" && (t.itemKey = a(e[n + 1]));
|
|
2384
|
+
o.reportRows = t;
|
|
2385
|
+
} else if (t === "references") o.formReferences = pe(i(s[c++]));
|
|
2386
|
+
else if (t === "ref") {
|
|
2387
|
+
let e = b(s, c, a, i);
|
|
2388
|
+
w(o, e.ref) || (o.refs = [...o.refs ?? [], e.ref]), c = e.next;
|
|
2389
|
+
} else if (t === "calculation_context") o.calculationContext = hn(i(s[c++]));
|
|
2390
|
+
else if (t === "instances") o.formInstances = gn(i(s[c++]));
|
|
2391
|
+
else if (t === "constraints") o.formConstraints = _n(i(s[c++]));
|
|
2392
|
+
else if (t === "conformance_process") {
|
|
2393
|
+
let e = s[c++];
|
|
2394
|
+
e.startsWith("{") ? (o.conformanceProcessIds = n(i(e)).map(a), o.conformanceProcessId = o.conformanceProcessIds[0] ?? "") : o.conformanceProcessId = a(e);
|
|
2395
|
+
} else if (t === "applicability") o.applicability = P(i(s[c++]));
|
|
2396
|
+
else if (t === "field") {
|
|
2397
|
+
let e = oe(s, c);
|
|
2398
|
+
e ? (o.fields.push(se(e.name, e.block, e.type || void 0)), c = e.next) : c++;
|
|
2399
|
+
} else if (t === "subform_ref") {
|
|
2400
|
+
let e = s[c++], t = c < s.length ? i(s[c++]) : "";
|
|
2401
|
+
o.fields.push(bn(e, t));
|
|
2402
|
+
} else t === "pass_fail" ? o.passFail = vn(i(s[c++])) : t === "reference" ? o.referenceIds = r(s[c++]).map(a) : c++;
|
|
2403
|
+
} else throw Error(`Parsing error: form. ID ${e}: Expecting value for ${t}`);
|
|
2391
2404
|
}
|
|
2392
2405
|
}
|
|
2393
2406
|
return (t) => (t.forms[e] = o, t);
|
|
@@ -2579,17 +2592,18 @@ var Cn = function(e, t) {
|
|
|
2579
2592
|
let o = r(t), s = 0;
|
|
2580
2593
|
for (; s < o.length;) {
|
|
2581
2594
|
let t = o[s++];
|
|
2582
|
-
if (s < o.length)
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2595
|
+
if (s < o.length) {
|
|
2596
|
+
if (t === "description") n.description = a(o[s++]);
|
|
2597
|
+
else if (t === "type") {
|
|
2598
|
+
let t = o[s++];
|
|
2599
|
+
if (t === "object" || t === "array") n.shapeType = t;
|
|
2600
|
+
else throw Error(`Parsing error: subform. ID ${e}: type must be object or array (got ${t})`);
|
|
2601
|
+
} else if (t === "parameters") n.parameters = wn(i(o[s++]));
|
|
2602
|
+
else if (t === "field") {
|
|
2603
|
+
let e = oe(o, s);
|
|
2604
|
+
e ? (n.fields.push(se(e.name, e.block, e.type || void 0)), s = e.next) : s++;
|
|
2605
|
+
} else s++;
|
|
2606
|
+
} else throw Error(`Parsing error: subform. ID ${e}: Expecting value for ${t}`);
|
|
2593
2607
|
}
|
|
2594
2608
|
}
|
|
2595
2609
|
return (t) => (t.subforms[e] = n, t);
|
|
@@ -2605,17 +2619,19 @@ function wn(e) {
|
|
|
2605
2619
|
let e = r(i(o[s++])), t = 0;
|
|
2606
2620
|
for (; t < e.length;) {
|
|
2607
2621
|
let r = e[t++];
|
|
2608
|
-
if (t < e.length)
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2622
|
+
if (t < e.length) {
|
|
2623
|
+
if (r === "description") l = a(e[t++]);
|
|
2624
|
+
else if (r === "default") d = a(e[t++]), u = !0;
|
|
2625
|
+
else if (r === "mapping") {
|
|
2626
|
+
let r = i(e[t++]);
|
|
2627
|
+
f = {};
|
|
2628
|
+
let o = n(r), s = 0;
|
|
2629
|
+
for (; s < o.length;) {
|
|
2630
|
+
let e = A(o[s++]);
|
|
2631
|
+
s < o.length && (o[s] === ":" && s++, s < o.length && (f[e] = a(o[s++])));
|
|
2632
|
+
}
|
|
2633
|
+
} else t++;
|
|
2634
|
+
}
|
|
2619
2635
|
}
|
|
2620
2636
|
}
|
|
2621
2637
|
t.push({
|
|
@@ -2765,30 +2781,31 @@ var Tn = function(e) {
|
|
|
2765
2781
|
let s = r(t), c = 0;
|
|
2766
2782
|
for (; c < s.length;) {
|
|
2767
2783
|
let t = s[c++];
|
|
2768
|
-
if (c < s.length)
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2784
|
+
if (c < s.length) {
|
|
2785
|
+
if (t === "name") o.name = i(s[c++]);
|
|
2786
|
+
else if (t === "identifier") o.identifier = a(s[c++]);
|
|
2787
|
+
else if (t === "type") o.ruleType = a(s[c++]);
|
|
2788
|
+
else if (t === "category") o.category = a(s[c++]);
|
|
2789
|
+
else if (t === "label") o.label = a(s[c++]);
|
|
2790
|
+
else if (t === "description") o.description = i(s[c++]);
|
|
2791
|
+
else if (t === "expression") o.expression = i(s[c++]);
|
|
2792
|
+
else if (t === "reference") o._relations.ref = r(s[c++]);
|
|
2793
|
+
else if (t === "ref") {
|
|
2794
|
+
let e = b(s, c, a, i);
|
|
2795
|
+
w(o, e.ref) || (o.refs ??= []).push(e.ref), c = e.next;
|
|
2796
|
+
} else if (t === "source") {
|
|
2797
|
+
let e = n(i(s[c++])), t = {
|
|
2798
|
+
doc: "",
|
|
2799
|
+
clause: ""
|
|
2800
|
+
};
|
|
2801
|
+
for (let n = 0; n + 1 < e.length; n += 2) e[n] === "doc" ? t.doc = a(e[n + 1]) : e[n] === "clause" ? t.clause = a(e[n + 1]) : e[n] === "fragment" && (t.fragment = a(e[n + 1]));
|
|
2802
|
+
o.sourceRef ||= t, (o.sourceRefs ??= []).push(t);
|
|
2803
|
+
} else if (t === "inputs") o.inputs = jn(i(s[c++]));
|
|
2804
|
+
else if (t === "output") {
|
|
2805
|
+
let e = "";
|
|
2806
|
+
s[c] === ":" && (e += s[c++]), c < s.length && !s[c].startsWith("{") && (e += " " + s[c++]), c < s.length && s[c].startsWith("{") && (e += " " + s[c++]), o.output = Mn(e);
|
|
2807
|
+
} else t === "params" ? o.params = n(a(s[c++])).map(a).filter((e) => e.length > 0) : t === "lookup" ? o.lookup = Nn(i(s[c++])) : t === "profile" ? o.profile = a(s[c++]) : c++;
|
|
2808
|
+
} else throw Error(`Parsing error: calculation. ID ${e}: Expecting value for ${t}`);
|
|
2792
2809
|
}
|
|
2793
2810
|
}
|
|
2794
2811
|
return (t) => (t.calculations[e] = o, t);
|
|
@@ -2902,52 +2919,55 @@ var Pn = function(e, t) {
|
|
|
2902
2919
|
let a = r(t), o = 0;
|
|
2903
2920
|
for (; o < a.length;) {
|
|
2904
2921
|
let t = a[o++];
|
|
2905
|
-
if (o < a.length)
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
if (t < e.length) if (n === "guard") l = i(e[t++]);
|
|
2929
|
-
else if (n === "cascade") {
|
|
2922
|
+
if (o < a.length) {
|
|
2923
|
+
if (t === "kind") {
|
|
2924
|
+
let t = a[o++];
|
|
2925
|
+
if (t !== "lifecycle" && t !== "operational") throw Error(`Parsing error: state_machine. Entity ${e}: Unknown kind ${t} (valid: lifecycle, operational)`);
|
|
2926
|
+
n.kind = t;
|
|
2927
|
+
} else if (t === "initial") n.initialState = a[o++];
|
|
2928
|
+
else if (t === "states") {
|
|
2929
|
+
let e = i(a[o++]);
|
|
2930
|
+
for (let t of e.split(/\s+/).filter((e) => e.length > 0)) n.states.push({ name: t });
|
|
2931
|
+
} else if (t === "transition") {
|
|
2932
|
+
let e = [], t = a[o++];
|
|
2933
|
+
if (t.startsWith("[")) {
|
|
2934
|
+
let n = t;
|
|
2935
|
+
for (; !n.includes("]") && o < a.length;) n += " " + a[o++];
|
|
2936
|
+
e = n.replace(/^\[/, "").replace(/\]$/, "").split(/[,\s]+/).filter((e) => e.length > 0);
|
|
2937
|
+
} else e = [t];
|
|
2938
|
+
o < a.length && (a[o] === "->" || a[o] === "→") && o++;
|
|
2939
|
+
let s = o < a.length ? a[o++] : "", c = "";
|
|
2940
|
+
o < a.length && a[o] === "action" && (o++, o < a.length && (c = a[o++]));
|
|
2941
|
+
let l = "", u = [], d = [];
|
|
2942
|
+
if (o < a.length && a[o].startsWith("{")) {
|
|
2943
|
+
let e = r(i(a[o++])), t = 0;
|
|
2944
|
+
for (; t < e.length;) {
|
|
2930
2945
|
let n = e[t++];
|
|
2931
2946
|
if (t < e.length) {
|
|
2932
|
-
|
|
2933
|
-
|
|
2947
|
+
if (n === "guard") l = i(e[t++]);
|
|
2948
|
+
else if (n === "cascade") {
|
|
2949
|
+
let n = e[t++];
|
|
2950
|
+
if (t < e.length) {
|
|
2951
|
+
let r = i(e[t++]);
|
|
2952
|
+
u.push(Rn(n, r));
|
|
2953
|
+
}
|
|
2954
|
+
} else n === "reference" ? d.push(...r(e[t++])) : i(e[t++]);
|
|
2934
2955
|
}
|
|
2935
|
-
}
|
|
2956
|
+
}
|
|
2936
2957
|
}
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
}
|
|
2949
|
-
} else
|
|
2950
|
-
else throw Error(`Parsing error: state_machine. Entity ${e}: Expecting value for ${t}`);
|
|
2958
|
+
for (let t of e) {
|
|
2959
|
+
let e = {
|
|
2960
|
+
from: t,
|
|
2961
|
+
to: s,
|
|
2962
|
+
actionName: c,
|
|
2963
|
+
guard: l,
|
|
2964
|
+
cascades: u,
|
|
2965
|
+
referenceIds: d
|
|
2966
|
+
};
|
|
2967
|
+
n.transitions.push(e);
|
|
2968
|
+
}
|
|
2969
|
+
} else t === "reference" ? n.referenceIds.push(...r(a[o++])) : o++;
|
|
2970
|
+
} else throw Error(`Parsing error: state_machine. Entity ${e}: Expecting value for ${t}`);
|
|
2951
2971
|
}
|
|
2952
2972
|
}
|
|
2953
2973
|
return (t) => (t.stateMachines[e] = n, t);
|
|
@@ -2964,26 +2984,28 @@ function Rn(e, t) {
|
|
|
2964
2984
|
}, s = r(t), c = 0;
|
|
2965
2985
|
for (; c < s.length;) {
|
|
2966
2986
|
let e = s[c++];
|
|
2967
|
-
if (c < s.length)
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2987
|
+
if (c < s.length) {
|
|
2988
|
+
if (e === "action") {
|
|
2989
|
+
let e = s[c++];
|
|
2990
|
+
if (!In.includes(e)) throw Error(`Parsing error: state_machine cascade. Unknown action ${e} (valid: ${In.join(", ")})`);
|
|
2991
|
+
o.action = e;
|
|
2992
|
+
} else if (e === "where") o.where = i(s[c++]);
|
|
2993
|
+
else if (e === "via") o.via = s[c++];
|
|
2994
|
+
else if (e === "with") o.with = zn(s[c++]);
|
|
2995
|
+
else if (e === "set") {
|
|
2996
|
+
let e = n(i(s[c++])), t = 0;
|
|
2997
|
+
for (; t < e.length;) {
|
|
2998
|
+
let n = A(e[t++]);
|
|
2999
|
+
if (t < e.length && (e[t] === ":" && t++, t < e.length)) {
|
|
3000
|
+
let r = {
|
|
3001
|
+
field: n,
|
|
3002
|
+
value: a(e[t++])
|
|
3003
|
+
};
|
|
3004
|
+
o.set.push(r);
|
|
3005
|
+
}
|
|
2984
3006
|
}
|
|
2985
|
-
}
|
|
2986
|
-
}
|
|
3007
|
+
} else e === "create" ? o.create = zn(s[c++]) : i(s[c++]);
|
|
3008
|
+
}
|
|
2987
3009
|
}
|
|
2988
3010
|
if (o.action && (o.set.length > 0 || o.create !== null)) throw Error(`Parsing error: state_machine cascade. Target ${e} mixes action with set/create — the two forms are mutually exclusive (schema oneOf)`);
|
|
2989
3011
|
return o;
|
|
@@ -6120,13 +6142,13 @@ var za = function(e, t) {
|
|
|
6120
6142
|
else if (e === "content_contract") n.contentContract = Ra(i(o[s++]));
|
|
6121
6143
|
else if (e === "produced_when") {
|
|
6122
6144
|
let e = a(o[s++] ?? "");
|
|
6123
|
-
e === "per_interval" ?
|
|
6145
|
+
n.producedWhen = e === "per_interval" ? {
|
|
6124
6146
|
kind: e,
|
|
6125
6147
|
interval: a(o[s++] ?? "")
|
|
6126
|
-
} : e === "on_event" ?
|
|
6148
|
+
} : e === "on_event" ? {
|
|
6127
6149
|
kind: e,
|
|
6128
6150
|
event: a(o[s++] ?? "")
|
|
6129
|
-
} :
|
|
6151
|
+
} : { kind: e };
|
|
6130
6152
|
} else if (e === "retention") n.retention = a(o[s++]);
|
|
6131
6153
|
else if (e === "source") {
|
|
6132
6154
|
let e = N(i(o[s++]));
|
|
@@ -7983,7 +8005,7 @@ function As(e) {
|
|
|
7983
8005
|
let i = /* @__PURE__ */ new Set();
|
|
7984
8006
|
return t.filter((e) => {
|
|
7985
8007
|
let t = js(e);
|
|
7986
|
-
return i.has(t)
|
|
8008
|
+
return !i.has(t) && (i.add(t), !0);
|
|
7987
8009
|
});
|
|
7988
8010
|
}
|
|
7989
8011
|
function js(e) {
|
package/dist-cli/primmel.mjs
CHANGED
|
@@ -1169,6 +1169,12 @@ function refTargetToSourceRef(target) {
|
|
|
1169
1169
|
}
|
|
1170
1170
|
function foldRefIntoLegacy(el, ref) {
|
|
1171
1171
|
if (ref.predicate === "derives-from") {
|
|
1172
|
+
const roleChannel = el.fieldReferences ?? el.formReferences;
|
|
1173
|
+
const hasProvenanceSlot = "source" in el || "sourceRef" in el || el.sourceRefs !== void 0;
|
|
1174
|
+
if (roleChannel && !hasProvenanceSlot) {
|
|
1175
|
+
roleChannel.push({ urn: ref.target, role: "source" });
|
|
1176
|
+
return true;
|
|
1177
|
+
}
|
|
1172
1178
|
const b = refTargetToSourceRef(ref.target);
|
|
1173
1179
|
if (!b) {
|
|
1174
1180
|
return false;
|
|
@@ -1186,12 +1192,12 @@ function foldRefIntoLegacy(el, ref) {
|
|
|
1186
1192
|
return true;
|
|
1187
1193
|
}
|
|
1188
1194
|
if (ref.predicate === "cites") {
|
|
1189
|
-
if (el.
|
|
1190
|
-
el.referenceIds.push(ref.target);
|
|
1191
|
-
} else if (el.fieldReferences) {
|
|
1195
|
+
if (el.fieldReferences) {
|
|
1192
1196
|
el.fieldReferences.push({ urn: ref.target, role: "reference" });
|
|
1193
1197
|
} else if (el.formReferences) {
|
|
1194
1198
|
el.formReferences.push({ urn: ref.target, role: "reference" });
|
|
1199
|
+
} else if (el.referenceIds) {
|
|
1200
|
+
el.referenceIds.push(ref.target);
|
|
1195
1201
|
}
|
|
1196
1202
|
return true;
|
|
1197
1203
|
}
|
package/package.json
CHANGED