@accordproject/concerto-vocabulary 5.0.0 → 5.2.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 (45) hide show
  1. package/dist/esm/chunk-BJEPALVN.mjs +143 -0
  2. package/dist/esm/chunk-BJEPALVN.mjs.map +7 -0
  3. package/dist/esm/chunk-M2X75AXU.mjs +13 -0
  4. package/dist/esm/chunk-M2X75AXU.mjs.map +7 -0
  5. package/dist/esm/{chunk-3VH3UOGB.mjs → chunk-X3NNESEP.mjs} +19 -6
  6. package/dist/esm/chunk-X3NNESEP.mjs.map +7 -0
  7. package/dist/esm/{chunk-7RW3VXN4.mjs → chunk-ZZFBMCTJ.mjs} +5 -3
  8. package/dist/esm/chunk-ZZFBMCTJ.mjs.map +7 -0
  9. package/dist/esm/index.mjs +4 -2
  10. package/dist/esm/vocabulary.mjs +2 -1
  11. package/dist/esm/vocabularymanager.mjs +4 -2
  12. package/dist/esm/vocabularyvalidator.mjs +10 -0
  13. package/dist/esm/vocabularyvalidator.mjs.map +7 -0
  14. package/dist/esm/yamlparser.mjs +1 -0
  15. package/dist/esm-browser/{chunk-DSN2E4MW.mjs → chunk-CSZFRMP7.mjs} +2 -36
  16. package/dist/esm-browser/chunk-CSZFRMP7.mjs.map +7 -0
  17. package/dist/esm-browser/{chunk-CKXQ5OWJ.mjs → chunk-LCSHHQ7B.mjs} +5 -3
  18. package/dist/esm-browser/chunk-LCSHHQ7B.mjs.map +7 -0
  19. package/dist/esm-browser/{chunk-2FE6COGH.mjs → chunk-LF5LTG3B.mjs} +23 -8
  20. package/dist/esm-browser/{chunk-2FE6COGH.mjs.map → chunk-LF5LTG3B.mjs.map} +2 -2
  21. package/dist/esm-browser/chunk-NPUAPXXA.mjs +42 -0
  22. package/dist/esm-browser/chunk-NPUAPXXA.mjs.map +7 -0
  23. package/dist/esm-browser/chunk-PFDH5LIN.mjs +229 -0
  24. package/dist/esm-browser/chunk-PFDH5LIN.mjs.map +7 -0
  25. package/dist/esm-browser/index.mjs +5 -3
  26. package/dist/esm-browser/index.mjs.map +1 -1
  27. package/dist/esm-browser/vocabulary.mjs +1 -1
  28. package/dist/esm-browser/vocabularymanager.mjs +5 -3
  29. package/dist/esm-browser/vocabularyvalidator.mjs +9 -0
  30. package/dist/esm-browser/vocabularyvalidator.mjs.map +7 -0
  31. package/dist/esm-browser/yamlparser.mjs +2 -1
  32. package/dist/vocabulary.d.ts +3 -1
  33. package/dist/vocabulary.js +4 -2
  34. package/dist/vocabulary.js.map +1 -1
  35. package/dist/vocabularymanager.d.ts +4 -2
  36. package/dist/vocabularymanager.js +19 -4
  37. package/dist/vocabularymanager.js.map +1 -1
  38. package/dist/vocabularyvalidator.d.ts +12 -0
  39. package/dist/vocabularyvalidator.js +177 -0
  40. package/dist/vocabularyvalidator.js.map +1 -0
  41. package/package.json +3 -2
  42. package/dist/esm/chunk-3VH3UOGB.mjs.map +0 -7
  43. package/dist/esm/chunk-7RW3VXN4.mjs.map +0 -7
  44. package/dist/esm-browser/chunk-CKXQ5OWJ.mjs.map +0 -7
  45. package/dist/esm-browser/chunk-DSN2E4MW.mjs.map +0 -7
@@ -0,0 +1,42 @@
1
+ import {
2
+ browser_default
3
+ } from "./chunk-CSZFRMP7.mjs";
4
+ import {
5
+ init_browser_process_shim
6
+ } from "./chunk-K2X7J5YP.mjs";
7
+
8
+ // src/yamlparser.ts
9
+ init_browser_process_shim();
10
+ function parseVocabularyYaml(yamlStr) {
11
+ const doc = browser_default.parseDocument(yamlStr);
12
+ if (doc.errors.length > 0) {
13
+ throw doc.errors[0];
14
+ }
15
+ browser_default.visit(doc, {
16
+ Pair(_, pair) {
17
+ const key = pair.key.value;
18
+ const value = pair.value;
19
+ if (key === "declarations" || key === "properties") {
20
+ return;
21
+ }
22
+ if (browser_default.isScalar(value) && typeof value.value !== "string") {
23
+ pair.value = new browser_default.Scalar(String(value.value));
24
+ return;
25
+ }
26
+ if (browser_default.isCollection(value)) {
27
+ if (value.range) {
28
+ const [start, end] = value.range;
29
+ pair.value = new browser_default.Scalar(yamlStr.substring(start, end));
30
+ } else {
31
+ pair.value = new browser_default.Scalar(JSON.stringify(value.toJSON()));
32
+ }
33
+ }
34
+ }
35
+ });
36
+ return doc.toJSON();
37
+ }
38
+
39
+ export {
40
+ parseVocabularyYaml
41
+ };
42
+ //# sourceMappingURL=chunk-NPUAPXXA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/yamlparser.ts"],
4
+ "sourcesContent": ["/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport YAML from 'yaml';\n\n/**\n * Parses vocabulary YAML, ensuring all non-structural collection values remain strings.\n * YAML.parse can incorrectly interpret flow syntax (e.g. {\u0427\u043E\u0432\u0435\u043A} or [value])\n * as objects/arrays \u2014 in vocabularies, these should be preserved as literal strings.\n * Only 'declarations' and 'properties' are kept as actual collections.\n * @param {string} yamlStr the YAML string to parse\n * @returns {*} the parsed vocabulary object\n */\nexport function parseVocabularyYaml(yamlStr: string): any {\n const doc = YAML.parseDocument(yamlStr);\n if (doc.errors.length > 0) {\n throw doc.errors[0];\n }\n YAML.visit(doc, {\n Pair(_, pair) {\n const key = (pair.key as YAML.Scalar).value;\n const value = pair.value;\n\n if (key === 'declarations' || key === 'properties') {\n return;\n }\n\n if (YAML.isScalar(value) && typeof value.value !== 'string') {\n pair.value = new YAML.Scalar(String(value.value));\n return;\n }\n\n if (YAML.isCollection(value)) {\n if (value.range) {\n const [start, end] = value.range as [number, number, number];\n pair.value = new YAML.Scalar(yamlStr.substring(start, end));\n } else {\n pair.value = new YAML.Scalar(JSON.stringify(value.toJSON()));\n }\n }\n },\n });\n return doc.toJSON();\n}\n"],
5
+ "mappings": ";;;;;;;;AAAA;AAwBO,SAAS,oBAAoB,SAAsB;AACtD,QAAM,MAAM,gBAAK,cAAc,OAAO;AACtC,MAAI,IAAI,OAAO,SAAS,GAAG;AACvB,UAAM,IAAI,OAAO,CAAC;AAAA,EACtB;AACA,kBAAK,MAAM,KAAK;AAAA,IACZ,KAAK,GAAG,MAAM;AACV,YAAM,MAAO,KAAK,IAAoB;AACtC,YAAM,QAAQ,KAAK;AAEnB,UAAI,QAAQ,kBAAkB,QAAQ,cAAc;AAChD;AAAA,MACJ;AAEA,UAAI,gBAAK,SAAS,KAAK,KAAK,OAAO,MAAM,UAAU,UAAU;AACzD,aAAK,QAAQ,IAAI,gBAAK,OAAO,OAAO,MAAM,KAAK,CAAC;AAChD;AAAA,MACJ;AAEA,UAAI,gBAAK,aAAa,KAAK,GAAG;AAC1B,YAAI,MAAM,OAAO;AACb,gBAAM,CAAC,OAAO,GAAG,IAAI,MAAM;AAC3B,eAAK,QAAQ,IAAI,gBAAK,OAAO,QAAQ,UAAU,OAAO,GAAG,CAAC;AAAA,QAC9D,OAAO;AACH,eAAK,QAAQ,IAAI,gBAAK,OAAO,KAAK,UAAU,MAAM,OAAO,CAAC,CAAC;AAAA,QAC/D;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,CAAC;AACD,SAAO,IAAI,OAAO;AACtB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,229 @@
1
+ import {
2
+ browser_default
3
+ } from "./chunk-CSZFRMP7.mjs";
4
+ import {
5
+ __commonJS,
6
+ init_browser_process_shim
7
+ } from "./chunk-K2X7J5YP.mjs";
8
+
9
+ // ../../node_modules/bcp47/lib/index.js
10
+ var require_lib = __commonJS({
11
+ "../../node_modules/bcp47/lib/index.js"(exports, module) {
12
+ "use strict";
13
+ init_browser_process_shim();
14
+ module.exports.parse = function(tag) {
15
+ var re = /^(?:(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang))$|^((?:[a-z]{2,3}(?:(?:-[a-z]{3}){1,3})?)|[a-z]{4}|[a-z]{5,8})(?:-([a-z]{4}))?(?:-([a-z]{2}|\d{3}))?((?:-(?:[\da-z]{5,8}|\d[\da-z]{3}))*)?((?:-[\da-wy-z](?:-[\da-z]{2,8})+)*)?(-x(?:-[\da-z]{1,8})+)?$|^(x(?:-[\da-z]{1,8})+)$/i;
16
+ var res = re.exec(tag);
17
+ if (!res) return null;
18
+ res.shift();
19
+ var t;
20
+ var language = null;
21
+ var extlang = [];
22
+ if (res[2]) {
23
+ t = res[2].split("-");
24
+ language = t.shift();
25
+ extlang = t;
26
+ }
27
+ var variant = [];
28
+ if (res[5]) {
29
+ variant = res[5].split("-");
30
+ variant.shift();
31
+ }
32
+ var extension = [];
33
+ if (res[6]) {
34
+ t = res[6].split("-");
35
+ t.shift();
36
+ var singleton;
37
+ var ext = [];
38
+ while (t.length) {
39
+ var e = t.shift();
40
+ if (e.length === 1) {
41
+ if (singleton) {
42
+ extension.push({
43
+ singleton,
44
+ extension: ext
45
+ });
46
+ singleton = e;
47
+ ext = [];
48
+ } else {
49
+ singleton = e;
50
+ }
51
+ } else {
52
+ ext.push(e);
53
+ }
54
+ }
55
+ extension.push({
56
+ singleton,
57
+ extension: ext
58
+ });
59
+ }
60
+ var langtagPrivateuse = [];
61
+ if (res[7]) {
62
+ langtagPrivateuse = res[7].split("-");
63
+ langtagPrivateuse.shift();
64
+ langtagPrivateuse.shift();
65
+ }
66
+ var privateuse = [];
67
+ if (res[8]) {
68
+ privateuse = res[8].split("-");
69
+ privateuse.shift();
70
+ }
71
+ return {
72
+ langtag: {
73
+ language: {
74
+ language,
75
+ extlang
76
+ },
77
+ script: res[3] || null,
78
+ region: res[4] || null,
79
+ variant,
80
+ extension,
81
+ privateuse: langtagPrivateuse
82
+ },
83
+ privateuse,
84
+ grandfathered: {
85
+ irregular: res[0] || null,
86
+ regular: res[1] || null
87
+ }
88
+ };
89
+ };
90
+ }
91
+ });
92
+
93
+ // src/vocabularyvalidator.ts
94
+ init_browser_process_shim();
95
+ var bcp47 = require_lib();
96
+ function isNonEmptyStringScalar(node) {
97
+ return browser_default.isScalar(node) && typeof node.value === "string" && node.value.length > 0;
98
+ }
99
+ function checkValueIsString(value, path, errors) {
100
+ if (browser_default.isAlias(value)) {
101
+ errors.push({ path, message: `${path} must not use a YAML alias` });
102
+ return false;
103
+ }
104
+ if (!isNonEmptyStringScalar(value)) {
105
+ errors.push({ path, message: `${path} must be a non-empty string scalar` });
106
+ return false;
107
+ }
108
+ return true;
109
+ }
110
+ function findPair(pairs, key) {
111
+ return pairs.find((p) => browser_default.isScalar(p.key) && p.key.value === key);
112
+ }
113
+ function validateSyntax(yamlStr, errors) {
114
+ const doc = browser_default.parseDocument(yamlStr);
115
+ for (const err of doc.errors) {
116
+ errors.push({ path: "", message: `YAML syntax error: ${err.message}` });
117
+ }
118
+ return errors.length > 0 ? null : doc;
119
+ }
120
+ function validateNamespace(pairs, errors) {
121
+ const pair = findPair(pairs, "namespace");
122
+ if (!pair) {
123
+ errors.push({ path: "namespace", message: "namespace is required" });
124
+ } else {
125
+ checkValueIsString(pair.value, "namespace", errors);
126
+ }
127
+ }
128
+ var STRUCTURAL_KEYS = /* @__PURE__ */ new Set(["namespace", "locale", "declarations"]);
129
+ function validateTopLevelNonStructuralValues(pairs, errors) {
130
+ for (const pair of pairs) {
131
+ const key = browser_default.isScalar(pair.key) ? pair.key.value : null;
132
+ if (!key || STRUCTURAL_KEYS.has(key)) continue;
133
+ checkValueIsString(pair.value, key, errors);
134
+ }
135
+ }
136
+ function validatePropertyEntries(seq, declIndex, errors) {
137
+ seq.items.forEach((item, j) => {
138
+ const path = `declarations[${declIndex}].properties[${j}]`;
139
+ if (!browser_default.isMap(item)) {
140
+ errors.push({ path, message: `${path} must be a mapping` });
141
+ return;
142
+ }
143
+ const propPairs = item.items;
144
+ if (propPairs.length === 0) {
145
+ errors.push({ path, message: `${path} must not be an empty mapping` });
146
+ return;
147
+ }
148
+ for (const pair of propPairs) {
149
+ const key = browser_default.isScalar(pair.key) ? pair.key.value : null;
150
+ if (!key) continue;
151
+ checkValueIsString(pair.value, `${path}.${key}`, errors);
152
+ }
153
+ });
154
+ }
155
+ function validateDeclarationEntries(seq, errors) {
156
+ seq.items.forEach((item, i) => {
157
+ if (!browser_default.isMap(item)) {
158
+ errors.push({ path: `declarations[${i}]`, message: `declarations[${i}] must be a mapping` });
159
+ return;
160
+ }
161
+ const declPairs = item.items;
162
+ if (declPairs.length === 0) {
163
+ errors.push({ path: `declarations[${i}]`, message: `declarations[${i}] must not be an empty mapping` });
164
+ return;
165
+ }
166
+ const primaryPair = declPairs[0];
167
+ if (primaryPair) {
168
+ const key = browser_default.isScalar(primaryPair.key) ? primaryPair.key.value : null;
169
+ if (key) checkValueIsString(primaryPair.value, `declarations[${i}].${key}`, errors);
170
+ }
171
+ for (const pair of declPairs.slice(1)) {
172
+ const key = browser_default.isScalar(pair.key) ? pair.key.value : null;
173
+ if (!key) continue;
174
+ if (key === "properties") {
175
+ if (!browser_default.isSeq(pair.value)) {
176
+ errors.push({ path: `declarations[${i}].properties`, message: `declarations[${i}].properties must be a sequence` });
177
+ } else if (pair.value.flow) {
178
+ errors.push({ path: `declarations[${i}].properties`, message: `declarations[${i}].properties must use block sequence style` });
179
+ } else {
180
+ validatePropertyEntries(pair.value, i, errors);
181
+ }
182
+ continue;
183
+ }
184
+ checkValueIsString(pair.value, `declarations[${i}].${key}`, errors);
185
+ }
186
+ });
187
+ }
188
+ function validateDeclarations(pairs, errors) {
189
+ const pair = findPair(pairs, "declarations");
190
+ if (!pair) {
191
+ errors.push({ path: "declarations", message: "declarations is required" });
192
+ } else if (!browser_default.isSeq(pair.value)) {
193
+ errors.push({ path: "declarations", message: "declarations must be a sequence" });
194
+ } else if (pair.value.flow) {
195
+ errors.push({ path: "declarations", message: "declarations must use block sequence style" });
196
+ } else {
197
+ validateDeclarationEntries(pair.value, errors);
198
+ }
199
+ }
200
+ function validateLocale(pairs, errors) {
201
+ const pair = findPair(pairs, "locale");
202
+ if (!pair) {
203
+ errors.push({ path: "locale", message: "locale is required" });
204
+ return;
205
+ }
206
+ if (!checkValueIsString(pair.value, "locale", errors)) return;
207
+ const val = pair.value.value;
208
+ if (!bcp47.parse(val)) {
209
+ errors.push({ path: "locale", message: `locale is not a valid BCP-47 tag: '${val}'` });
210
+ }
211
+ }
212
+ function validateVocabularyYaml(yamlStr) {
213
+ const errors = [];
214
+ const doc = validateSyntax(yamlStr, errors);
215
+ if (!doc) {
216
+ return { errors };
217
+ }
218
+ const pairs = browser_default.isMap(doc.contents) ? doc.contents.items : [];
219
+ validateNamespace(pairs, errors);
220
+ validateLocale(pairs, errors);
221
+ validateDeclarations(pairs, errors);
222
+ validateTopLevelNonStructuralValues(pairs, errors);
223
+ return { errors };
224
+ }
225
+
226
+ export {
227
+ validateVocabularyYaml
228
+ };
229
+ //# sourceMappingURL=chunk-PFDH5LIN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../node_modules/bcp47/lib/index.js", "../../src/vocabularyvalidator.ts"],
4
+ "sourcesContent": ["'use strict';\n\nmodule.exports.parse = function (tag) {\n var re = /^(?:(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang))$|^((?:[a-z]{2,3}(?:(?:-[a-z]{3}){1,3})?)|[a-z]{4}|[a-z]{5,8})(?:-([a-z]{4}))?(?:-([a-z]{2}|\\d{3}))?((?:-(?:[\\da-z]{5,8}|\\d[\\da-z]{3}))*)?((?:-[\\da-wy-z](?:-[\\da-z]{2,8})+)*)?(-x(?:-[\\da-z]{1,8})+)?$|^(x(?:-[\\da-z]{1,8})+)$/i;\n\n /*\n /\n ^\n (?:\n (\n en-GB-oed | i-ami | i-bnn | i-default | i-enochian | i-hak | i-klingon |\n i-lux | i-mingo | i-navajo | i-pwn | i-tao | i-tay | i-tsu | sgn-BE-FR |\n sgn-BE-NL | sgn-CH-DE\n ) |\n (\n art-lojban | cel-gaulish | no-bok | no-nyn | zh-guoyu | zh-hakka |\n zh-min | zh-min-nan | zh-xiang\n )\n )\n $\n |\n ^\n (\n (?:\n [a-z]{2,3}\n (?:\n (?:\n -[a-z]{3}\n ){1,3}\n )?\n ) |\n [a-z]{4} |\n [a-z]{5,8}\n )\n (?:\n -\n (\n [a-z]{4}\n )\n )?\n (?:\n -\n (\n [a-z]{2} |\n \\d{3}\n )\n )?\n (\n (?:\n -\n (?:\n [\\da-z]{5,8} |\n \\d[\\da-z]{3}\n )\n )*\n )?\n (\n (?:\n -\n [\\da-wy-z]\n (?:\n -[\\da-z]{2,8}\n )+\n )*\n )?\n (\n -x\n (?:\n -[\\da-z]{1,8}\n )+\n )?\n $\n |\n ^\n (\n x\n (?:\n -[\\da-z]{1,8}\n )+\n )\n $\n /i\n */\n\n var res = re.exec(tag);\n if (!res) return null;\n\n res.shift();\n var t;\n\n // langtag language\n var language = null;\n var extlang = [];\n if (res[2]) {\n t = res[2].split('-');\n language = t.shift();\n extlang = t;\n }\n\n // langtag variant\n var variant = [];\n if (res[5]) {\n variant = res[5].split('-');\n variant.shift();\n }\n\n // langtag extension\n var extension = [];\n if (res[6]) {\n t = res[6].split('-');\n t.shift();\n\n var singleton;\n var ext = [];\n\n while (t.length) {\n var e = t.shift();\n if (e.length === 1) {\n if (singleton) {\n extension.push({\n singleton: singleton,\n extension: ext\n });\n singleton = e;\n ext = [];\n } else {\n singleton = e;\n }\n } else {\n ext.push(e);\n }\n }\n\n extension.push({\n singleton: singleton,\n extension: ext\n });\n }\n\n // langtag privateuse\n var langtagPrivateuse = [];\n if (res[7]) {\n langtagPrivateuse = res[7].split('-');\n langtagPrivateuse.shift();\n langtagPrivateuse.shift();\n }\n\n // privateuse\n var privateuse = [];\n if (res[8]) {\n privateuse = res[8].split('-');\n privateuse.shift();\n }\n\n return {\n langtag: {\n language: {\n language: language,\n extlang: extlang\n },\n script: res[3] || null,\n region: res[4] || null,\n variant: variant,\n extension: extension,\n privateuse: langtagPrivateuse\n },\n privateuse: privateuse,\n grandfathered: {\n irregular: res[0] || null,\n regular: res[1] || null\n }\n };\n};", "/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport YAML from 'yaml';\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst bcp47 = require('bcp47') as { parse: (tag: string) => object | null };\n\nexport interface VocabularyValidationError {\n path: string;\n message: string;\n}\n\ntype Pairs = YAML.Pair[];\n\nfunction isNonEmptyStringScalar(node: unknown): boolean {\n return YAML.isScalar(node) && typeof (node as YAML.Scalar).value === 'string' && ((node as YAML.Scalar).value as string).length > 0;\n}\n\nfunction checkValueIsString(value: unknown, path: string, errors: VocabularyValidationError[]): boolean {\n if (YAML.isAlias(value as YAML.Node)) {\n errors.push({ path, message: `${path} must not use a YAML alias` });\n return false;\n }\n if (!isNonEmptyStringScalar(value)) {\n errors.push({ path, message: `${path} must be a non-empty string scalar` });\n return false;\n }\n return true;\n}\n\nfunction findPair(pairs: Pairs, key: string): YAML.Pair | undefined {\n return pairs.find(p => YAML.isScalar(p.key) && (p.key as YAML.Scalar).value === key) as YAML.Pair | undefined;\n}\n\n// checks parse errors only \u2014 structurally valid YAML (e.g. sequence or mapping keys) can still pass this\nfunction validateSyntax(yamlStr: string, errors: VocabularyValidationError[]): YAML.Document | null {\n const doc = YAML.parseDocument(yamlStr);\n for (const err of doc.errors) {\n errors.push({ path: '', message: `YAML syntax error: ${err.message}` });\n }\n return errors.length > 0 ? null : doc;\n}\n\nfunction validateNamespace(pairs: Pairs, errors: VocabularyValidationError[]): void {\n const pair = findPair(pairs, 'namespace');\n if (!pair) {\n errors.push({ path: 'namespace', message: 'namespace is required' });\n } else {\n checkValueIsString(pair.value, 'namespace', errors);\n }\n}\n\nconst STRUCTURAL_KEYS = new Set(['namespace', 'locale', 'declarations']);\n\n// validates any top-level key outside namespace/locale/declarations \u2014 these are namespace-level terms (e.g. tooltip, description)\n// each must be a non-empty string scalar; sequences, mappings, booleans, numbers, and null are all invalid\nfunction validateTopLevelNonStructuralValues(pairs: Pairs, errors: VocabularyValidationError[]): void {\n for (const pair of pairs) {\n const key = YAML.isScalar(pair.key) ? (pair.key as YAML.Scalar).value as string : null;\n if (!key || STRUCTURAL_KEYS.has(key)) continue;\n checkValueIsString(pair.value, key, errors);\n }\n}\n\n// validates each item in a declaration's properties sequence\n// entries must be mappings; all values (primary term and extras like tooltip) must be non-empty string scalars\nfunction validatePropertyEntries(seq: YAML.YAMLSeq, declIndex: number, errors: VocabularyValidationError[]): void {\n seq.items.forEach((item, j) => {\n const path = `declarations[${declIndex}].properties[${j}]`;\n if (!YAML.isMap(item)) {\n errors.push({ path, message: `${path} must be a mapping` });\n return;\n }\n const propPairs = (item as YAML.YAMLMap).items as YAML.Pair[];\n if (propPairs.length === 0) {\n errors.push({ path, message: `${path} must not be an empty mapping` });\n return;\n }\n for (const pair of propPairs) {\n const key = YAML.isScalar(pair.key) ? (pair.key as YAML.Scalar).value as string : null;\n if (!key) continue;\n checkValueIsString(pair.value, `${path}.${key}`, errors);\n }\n });\n}\n\n// validates each declaration entry: primary term (first key, e.g. Vehicle) must be a string scalar,\n// extra named terms (e.g. tooltip, description) must be string scalars,\n// properties if present must be a block sequence\nfunction validateDeclarationEntries(seq: YAML.YAMLSeq, errors: VocabularyValidationError[]): void {\n seq.items.forEach((item, i) => {\n if (!YAML.isMap(item)) {\n errors.push({ path: `declarations[${i}]`, message: `declarations[${i}] must be a mapping` });\n return;\n }\n const declPairs = (item as YAML.YAMLMap).items as YAML.Pair[];\n if (declPairs.length === 0) {\n errors.push({ path: `declarations[${i}]`, message: `declarations[${i}] must not be an empty mapping` });\n return;\n }\n const primaryPair = declPairs[0];\n if (primaryPair) {\n const key = YAML.isScalar(primaryPair.key) ? (primaryPair.key as YAML.Scalar).value as string : null;\n if (key) checkValueIsString(primaryPair.value, `declarations[${i}].${key}`, errors);\n }\n for (const pair of declPairs.slice(1)) {\n const key = YAML.isScalar(pair.key) ? (pair.key as YAML.Scalar).value as string : null;\n if (!key) continue;\n if (key === 'properties') {\n if (!YAML.isSeq(pair.value)) {\n errors.push({ path: `declarations[${i}].properties`, message: `declarations[${i}].properties must be a sequence` });\n } else if ((pair.value as YAML.YAMLSeq).flow) {\n errors.push({ path: `declarations[${i}].properties`, message: `declarations[${i}].properties must use block sequence style` });\n } else {\n validatePropertyEntries(pair.value, i, errors);\n }\n continue;\n }\n checkValueIsString(pair.value, `declarations[${i}].${key}`, errors);\n }\n });\n}\n\n// entry point for declarations validation \u2014 checks the field exists, is a block sequence, then delegates to entry validation\nfunction validateDeclarations(pairs: Pairs, errors: VocabularyValidationError[]): void {\n const pair = findPair(pairs, 'declarations');\n if (!pair) {\n errors.push({ path: 'declarations', message: 'declarations is required' });\n } else if (!YAML.isSeq(pair.value)) {\n errors.push({ path: 'declarations', message: 'declarations must be a sequence' });\n } else if ((pair.value as YAML.YAMLSeq).flow) {\n errors.push({ path: 'declarations', message: 'declarations must use block sequence style' });\n } else {\n validateDeclarationEntries(pair.value, errors);\n }\n}\n\nfunction validateLocale(pairs: Pairs, errors: VocabularyValidationError[]): void {\n const pair = findPair(pairs, 'locale');\n if (!pair) {\n errors.push({ path: 'locale', message: 'locale is required' });\n return;\n }\n if (!checkValueIsString(pair.value, 'locale', errors)) return;\n const val = (pair.value as YAML.Scalar).value as string;\n if (!bcp47.parse(val)) {\n errors.push({ path: 'locale', message: `locale is not a valid BCP-47 tag: '${val}'` });\n }\n}\n\n/**\n * Validates vocabulary YAML, collecting all structural and type errors without coercing values.\n * @param {string} yamlStr the YAML string to validate\n * @returns {{ errors: VocabularyValidationError[] }}\n */\nexport function validateVocabularyYaml(yamlStr: string): { errors: VocabularyValidationError[] } {\n const errors: VocabularyValidationError[] = [];\n\n const doc = validateSyntax(yamlStr, errors);\n if (!doc) {\n return { errors };\n }\n\n const pairs: Pairs = YAML.isMap(doc.contents) ? doc.contents.items : [];\n\n validateNamespace(pairs, errors);\n validateLocale(pairs, errors);\n validateDeclarations(pairs, errors);\n validateTopLevelNonStructuralValues(pairs, errors);\n\n return { errors };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,10 +1,12 @@
1
1
  import {
2
2
  vocabularymanager_default
3
- } from "./chunk-2FE6COGH.mjs";
3
+ } from "./chunk-LF5LTG3B.mjs";
4
4
  import {
5
5
  vocabulary_default
6
- } from "./chunk-CKXQ5OWJ.mjs";
7
- import "./chunk-DSN2E4MW.mjs";
6
+ } from "./chunk-LCSHHQ7B.mjs";
7
+ import "./chunk-PFDH5LIN.mjs";
8
+ import "./chunk-NPUAPXXA.mjs";
9
+ import "./chunk-CSZFRMP7.mjs";
8
10
  import {
9
11
  init_browser_process_shim
10
12
  } from "./chunk-K2X7J5YP.mjs";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
4
  "sourcesContent": ["/*\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport VocabularyManager from './vocabularymanager';\nimport Vocabulary from './vocabulary';\n\nexport {\n VocabularyManager,\n Vocabulary\n};"],
5
- "mappings": ";;;;;;;;;;;;AAAA;",
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Vocabulary,
3
3
  vocabulary_default
4
- } from "./chunk-CKXQ5OWJ.mjs";
4
+ } from "./chunk-LCSHHQ7B.mjs";
5
5
  import "./chunk-K2X7J5YP.mjs";
6
6
  export {
7
7
  Vocabulary,
@@ -1,9 +1,11 @@
1
1
  import {
2
2
  VocabularyManager,
3
3
  vocabularymanager_default
4
- } from "./chunk-2FE6COGH.mjs";
5
- import "./chunk-CKXQ5OWJ.mjs";
6
- import "./chunk-DSN2E4MW.mjs";
4
+ } from "./chunk-LF5LTG3B.mjs";
5
+ import "./chunk-LCSHHQ7B.mjs";
6
+ import "./chunk-PFDH5LIN.mjs";
7
+ import "./chunk-NPUAPXXA.mjs";
8
+ import "./chunk-CSZFRMP7.mjs";
7
9
  import "./chunk-K2X7J5YP.mjs";
8
10
  export {
9
11
  VocabularyManager,
@@ -0,0 +1,9 @@
1
+ import {
2
+ validateVocabularyYaml
3
+ } from "./chunk-PFDH5LIN.mjs";
4
+ import "./chunk-CSZFRMP7.mjs";
5
+ import "./chunk-K2X7J5YP.mjs";
6
+ export {
7
+ validateVocabularyYaml
8
+ };
9
+ //# sourceMappingURL=vocabularyvalidator.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  parseVocabularyYaml
3
- } from "./chunk-DSN2E4MW.mjs";
3
+ } from "./chunk-NPUAPXXA.mjs";
4
+ import "./chunk-CSZFRMP7.mjs";
4
5
  import "./chunk-K2X7J5YP.mjs";
5
6
  export {
6
7
  parseVocabularyYaml
@@ -14,7 +14,9 @@ declare class Vocabulary {
14
14
  * @param {VocabularyManager} vocabularyManager - the manager for this vocabulary
15
15
  * @param {object} voc - the JSON representation of the vocabulary
16
16
  */
17
- constructor(vocabularyManager: VocabularyManager, voc: any);
17
+ constructor(vocabularyManager: VocabularyManager, voc: any, options?: {
18
+ skipLocaleValidation?: boolean;
19
+ });
18
20
  /**
19
21
  * Returns the namespace for the vocabulary
20
22
  * @returns {string} the namespace for this vocabulary
@@ -26,7 +26,7 @@ class Vocabulary {
26
26
  * @param {VocabularyManager} vocabularyManager - the manager for this vocabulary
27
27
  * @param {object} voc - the JSON representation of the vocabulary
28
28
  */
29
- constructor(vocabularyManager, voc) {
29
+ constructor(vocabularyManager, voc, options) {
30
30
  if (!vocabularyManager) {
31
31
  throw new Error('VocabularyManager must be specified');
32
32
  }
@@ -42,7 +42,9 @@ class Vocabulary {
42
42
  if (!voc.locale) {
43
43
  throw new Error('A vocabulary must specify a locale');
44
44
  }
45
- Vocabulary.validateLocale(voc.locale);
45
+ if (!options?.skipLocaleValidation) {
46
+ Vocabulary.validateLocale(voc.locale);
47
+ }
46
48
  this.vocabularyManager = vocabularyManager;
47
49
  this.content = voc;
48
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAKH;;;;EAIE;AACF,MAAM,UAAU;IAIZ;;;;;OAKG;IACH,YAAY,iBAAoC,EAAE,GAAQ;QACtD,IAAG,CAAC,iBAAiB,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAG,CAAC,GAAG,EAAE,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,IAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QAED,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,MAAc;QAChC,aAAa;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,IAAG,MAAM,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,aAAa;QACT,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACb,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,cAAc,CAAC,CAAC;QACzI,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,eAAwB,EAAE,YAAqB,EAAE,UAAmB;QACxE,IAAG,CAAC,eAAe,EAAC,CAAC;YACjB,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,OAAO,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,CAAA,CAAC,CAAA,cAAc,EAAE,IAAI,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC;QAC/F,IAAG,CAAC,IAAI,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAG,CAAC,YAAY,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjE,CAAC;aACI,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9F,OAAO,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,eAAuB,EAAE,YAAqB;QAC1D,IAAG,CAAC,eAAe,EAAC,CAAC;YACjB,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC;QAC/F,IAAG,CAAC,IAAI,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAG,CAAC,YAAY,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;aACI,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9F,OAAO,QAAQ,CAAC;QACpB,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,SAAoB;QACzB,MAAM,gBAAgB,GAAG,CAAC,WAAgB,EAAE,EAAE;YAC1C,wEAAwE;YACxE,IAAG,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAChC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACJ,OAAO,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,QAAa,EAAE,EAAE;YACtC,IAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;YACjB,CAAC;iBAAM,IAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;gBAC7B,OAAO,OAAO,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACJ,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;YAC3C,+DAA+D;YAC/D,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAqB,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAG,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAChC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC;gBAChB,CAAC;qBAAM,IAAG,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG;YACX,YAAY,EAAE,SAAS,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAE,CAAC,CAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC/F,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAE,CAAC,CAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9I,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAE,CAAC,MAAM,CAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;YACnD,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAE,CAAC,CAAM,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAE,CAAC,CAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;gBACxJ,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SAC5C,CAAC;QAEF,IAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAC,CAAC;YACnB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AAEQ,gCAAU;AACnB,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../src/vocabulary.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,13 @@ import { ModelManager } from '@accordproject/concerto-core';
11
11
  declare class VocabularyManager {
12
12
  vocabularies: Record<string, Vocabulary>;
13
13
  missingTermGenerator: any;
14
+ private options;
14
15
  /**
15
16
  * Create the VocabularyManager
16
- * @param {*} [options] options to configure vocabulary lookup
17
- * @param {*} [options.missingTermGenerator] A function to call for missing terms. The function
17
+ * @param {VocabularyManagerOptions} [options] options to configure vocabulary lookup
18
+ * @param {Function} [options.missingTermGenerator] A function to call for missing terms. The function
18
19
  * should accept namespace, locale, declarationName, propertyName as arguments
20
+ * @param {boolean} [options.enableVocValidator] When true, validates vocabulary YAML before parsing
19
21
  * @constructor
20
22
  */
21
23
  constructor(options?: any);
@@ -22,6 +22,7 @@ const concerto_metamodel_1 = require("@accordproject/concerto-metamodel");
22
22
  const vocabulary_1 = __importDefault(require("./vocabulary"));
23
23
  const concerto_core_1 = require("@accordproject/concerto-core");
24
24
  const yamlparser_1 = require("./yamlparser");
25
+ const vocabularyvalidator_1 = require("./vocabularyvalidator");
25
26
  const DC_NAMESPACE = 'org.accordproject.decoratorcommands@0.4.0';
26
27
  /**
27
28
  * Converts a camel case string to a sentence
@@ -43,14 +44,16 @@ function camelCaseToSentence(text) {
43
44
  class VocabularyManager {
44
45
  /**
45
46
  * Create the VocabularyManager
46
- * @param {*} [options] options to configure vocabulary lookup
47
- * @param {*} [options.missingTermGenerator] A function to call for missing terms. The function
47
+ * @param {VocabularyManagerOptions} [options] options to configure vocabulary lookup
48
+ * @param {Function} [options.missingTermGenerator] A function to call for missing terms. The function
48
49
  * should accept namespace, locale, declarationName, propertyName as arguments
50
+ * @param {boolean} [options.enableVocValidator] When true, validates vocabulary YAML before parsing
49
51
  * @constructor
50
52
  */
51
53
  constructor(options) {
52
54
  this.vocabularies = {}; // key is namespace/locale, value is a Vocabulary object
53
- this.missingTermGenerator = options ? options.missingTermGenerator : null;
55
+ this.missingTermGenerator = options?.missingTermGenerator ?? null;
56
+ this.options = options ?? {};
54
57
  }
55
58
  /**
56
59
  * Computes a term in English based on declaration and property name.
@@ -92,7 +95,19 @@ class VocabularyManager {
92
95
  if (!contents) {
93
96
  throw new Error('Vocabulary contents must be specified');
94
97
  }
95
- const voc = new vocabulary_1.default(this, options?.enableSafeVocabParsing ? (0, yamlparser_1.parseVocabularyYaml)(contents) : yaml_1.default.parse(contents));
98
+ if (this.options.enableVocValidator) {
99
+ const { errors } = (0, vocabularyvalidator_1.validateVocabularyYaml)(contents);
100
+ if (errors.length > 0) {
101
+ throw new Error(errors.map(e => e.message).join(', '));
102
+ }
103
+ }
104
+ // when the validator has run, input is guaranteed to be structurally clean — all values are
105
+ // explicit strings, no flow collections, no aliases — so parseVocabularyYaml's defensive
106
+ // coercions are unnecessary and YAML.parse produces identical output at lower cost.
107
+ // when the validator is off, preserve the existing parse behaviour.
108
+ const useRawParse = this.options.enableVocValidator || !options?.enableSafeVocabParsing;
109
+ const parsed = useRawParse ? yaml_1.default.parse(contents) : (0, yamlparser_1.parseVocabularyYaml)(contents);
110
+ const voc = new vocabulary_1.default(this, parsed, { skipLocaleValidation: !!this.options.enableVocValidator });
96
111
  if (this.vocabularies[voc.getIdentifier()]) {
97
112
  throw new Error('Vocabulary has already been added.');
98
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vocabularymanager.js","sourceRoot":"","sources":["../src/vocabularymanager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vocabularymanager.js","sourceRoot":"","sources":["../src/vocabularymanager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface VocabularyValidationError {
2
+ path: string;
3
+ message: string;
4
+ }
5
+ /**
6
+ * Validates vocabulary YAML, collecting all structural and type errors without coercing values.
7
+ * @param {string} yamlStr the YAML string to validate
8
+ * @returns {{ errors: VocabularyValidationError[] }}
9
+ */
10
+ export declare function validateVocabularyYaml(yamlStr: string): {
11
+ errors: VocabularyValidationError[];
12
+ };