@metamesh/generator-sdk 0.6.0 → 0.8.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 (38) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +43 -13
  3. package/dist/contracts.d.ts +10 -1
  4. package/dist/contracts.d.ts.map +1 -1
  5. package/dist/generator-package/constants.d.ts +1 -1
  6. package/dist/generator-package/constants.js +1 -1
  7. package/dist/generator-package/errors.js +1 -1
  8. package/dist/generator-package/errors.js.map +1 -1
  9. package/dist/generator-package/schemas/preset.schema.d.ts.map +1 -1
  10. package/dist/generator-package/schemas/preset.schema.js +5 -2
  11. package/dist/generator-package/schemas/preset.schema.js.map +1 -1
  12. package/dist/generator-package/validate-definition.d.ts.map +1 -1
  13. package/dist/generator-package/validate-definition.js +5 -0
  14. package/dist/generator-package/validate-definition.js.map +1 -1
  15. package/dist/generator-package/validate-manifest.d.ts +2 -2
  16. package/dist/generator-package/validate-manifest.d.ts.map +1 -1
  17. package/dist/generator-package/validate-manifest.js +17 -6
  18. package/dist/generator-package/validate-manifest.js.map +1 -1
  19. package/dist/generator-services.d.ts +12 -0
  20. package/dist/generator-services.d.ts.map +1 -1
  21. package/dist/generator-services.js.map +1 -1
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/parameters/issues.d.ts.map +1 -1
  25. package/dist/parameters/issues.js +93 -36
  26. package/dist/parameters/issues.js.map +1 -1
  27. package/dist/parameters/preparation.d.ts.map +1 -1
  28. package/dist/parameters/preparation.js +1 -0
  29. package/dist/parameters/preparation.js.map +1 -1
  30. package/dist/parameters/strict.d.ts +2 -2
  31. package/dist/parameters/strict.d.ts.map +1 -1
  32. package/dist/parameters/strict.js +6 -3
  33. package/dist/parameters/strict.js.map +1 -1
  34. package/dist/profiles.d.ts +8 -0
  35. package/dist/profiles.d.ts.map +1 -1
  36. package/dist/profiles.js +85 -47
  37. package/dist/profiles.js.map +1 -1
  38. package/package.json +1 -1
@@ -1,18 +1,44 @@
1
1
  import { isFontSelection } from "../fonts.js";
2
2
  import { MAX_ARRAY_ITEMS, MAX_METADATA_TEXT_LENGTH, MAX_PARAMETER_OPTIONS, MAX_TEXT_PARAMETER_LENGTH, } from "../generator-package/constants.js";
3
- import { isProfileValue } from "../profiles.js";
3
+ import { profileValueProblem } from "../profiles.js";
4
4
  import { HEX_COLOR_PATTERN, isRecord, readDenseArray, svgValueFits } from "./values.js";
5
5
  export const MAX_PARAMETER_ISSUES = 100;
6
6
  export const MAX_PARAMETER_ISSUE_MESSAGE_LENGTH = 1_000;
7
- function issue(parameterId, message) {
8
- return { severity: "error", parameterId, message };
7
+ const ISSUE_CODES = {
8
+ invalid: true,
9
+ missing: true,
10
+ type: true,
11
+ unknown: true,
12
+ minimum: true,
13
+ maximum: true,
14
+ integer: true,
15
+ choice: true,
16
+ duplicate: true,
17
+ length: true,
18
+ bytes: true,
19
+ structure: true,
20
+ };
21
+ const MAX_PARAMETER_ISSUE_PATH_LENGTH = 32;
22
+ const MAX_PARAMETER_ISSUE_PATH_SEGMENT_LENGTH = 120;
23
+ function issue(parameterId, message, code = "invalid", path) {
24
+ return {
25
+ severity: "error",
26
+ parameterId,
27
+ message,
28
+ code,
29
+ ...(path === undefined || path.length === 0 ? {} : { path }),
30
+ };
9
31
  }
10
32
  export function validateDefinitionValue(parameter, value) {
11
33
  switch (parameter.type) {
12
- case "profile":
13
- return isProfileValue(value)
34
+ case "profile": {
35
+ const problem = profileValueProblem(value);
36
+ return problem === undefined
14
37
  ? []
15
- : [issue(parameter.id, `${parameter.label} must be a bounded, normalized side outline.`)];
38
+ : [
39
+ issue(parameter.id, `${parameter.label} must be a bounded, normalized side outline.`, problem.code, problem.path),
40
+ ];
41
+ }
16
42
  case "font":
17
43
  return isFontSelection(value)
18
44
  ? []
@@ -20,40 +46,44 @@ export function validateDefinitionValue(parameter, value) {
20
46
  case "number":
21
47
  case "slider": {
22
48
  if (typeof value !== "number" || !Number.isFinite(value)) {
23
- return [issue(parameter.id, `${parameter.label} must be a finite number.`)];
49
+ return [issue(parameter.id, `${parameter.label} must be a finite number.`, "type")];
24
50
  }
25
51
  const issues = [];
26
52
  if (parameter.integer && !Number.isInteger(value)) {
27
- issues.push(issue(parameter.id, `${parameter.label} must be an integer.`));
53
+ issues.push(issue(parameter.id, `${parameter.label} must be an integer.`, "integer"));
28
54
  }
29
55
  if (parameter.min !== undefined && value < parameter.min) {
30
- issues.push(issue(parameter.id, `${parameter.label} must be at least ${parameter.min}.`));
56
+ issues.push(issue(parameter.id, `${parameter.label} must be at least ${parameter.min}.`, "minimum"));
31
57
  }
32
58
  if (parameter.max !== undefined && value > parameter.max) {
33
- issues.push(issue(parameter.id, `${parameter.label} must be at most ${parameter.max}.`));
59
+ issues.push(issue(parameter.id, `${parameter.label} must be at most ${parameter.max}.`, "maximum"));
34
60
  }
35
61
  return issues;
36
62
  }
37
63
  case "boolean":
38
64
  return typeof value === "boolean"
39
65
  ? []
40
- : [issue(parameter.id, `${parameter.label} must be true or false.`)];
66
+ : [issue(parameter.id, `${parameter.label} must be true or false.`, "type")];
41
67
  case "select":
42
68
  return typeof value === "string" && parameter.options.some((option) => option.value === value)
43
69
  ? []
44
- : [issue(parameter.id, `${parameter.label} must be one of its available options.`)];
70
+ : [
71
+ issue(parameter.id, `${parameter.label} must be one of its available options.`, "choice"),
72
+ ];
45
73
  case "choice-set": {
46
74
  if (!Array.isArray(value)) {
47
- return [issue(parameter.id, `${parameter.label} must be a list of available choices.`)];
75
+ return [
76
+ issue(parameter.id, `${parameter.label} must be a list of available choices.`, "type"),
77
+ ];
48
78
  }
49
79
  const issues = [];
50
80
  if (value.length > MAX_PARAMETER_OPTIONS) {
51
- issues.push(issue(parameter.id, `${parameter.label} must include at most ${MAX_PARAMETER_OPTIONS} choices.`));
81
+ issues.push(issue(parameter.id, `${parameter.label} must include at most ${MAX_PARAMETER_OPTIONS} choices.`, "length"));
52
82
  return issues;
53
83
  }
54
84
  const entries = readDenseArray(value, MAX_PARAMETER_OPTIONS);
55
85
  if (entries === undefined) {
56
- issues.push(issue(parameter.id, `${parameter.label} must be a dense list of data values.`));
86
+ issues.push(issue(parameter.id, `${parameter.label} must be a dense list of data values.`, "structure"));
57
87
  return issues;
58
88
  }
59
89
  const knownValues = new Set(parameter.options.map((option) => option.value));
@@ -64,20 +94,20 @@ export function validateDefinitionValue(parameter, value) {
64
94
  break;
65
95
  const entry = entries[index];
66
96
  if (typeof entry !== "string" || !knownValues.has(entry)) {
67
- issues.push(issue(parameter.id, `${parameter.label} choice ${index + 1} must be available.`));
97
+ issues.push(issue(parameter.id, `${parameter.label} choice ${index + 1} must be available.`, "choice", [index]));
68
98
  continue;
69
99
  }
70
100
  if (seen.has(entry)) {
71
- issues.push(issue(parameter.id, `${parameter.label} choices must be unique.`));
101
+ issues.push(issue(parameter.id, `${parameter.label} choices must be unique.`, "duplicate", [index]));
72
102
  continue;
73
103
  }
74
104
  seen.add(entry);
75
105
  }
76
106
  if (parameter.minSelections !== undefined && entries.length < parameter.minSelections) {
77
- issues.push(issue(parameter.id, `${parameter.label} must include at least ${parameter.minSelections} choices.`));
107
+ issues.push(issue(parameter.id, `${parameter.label} must include at least ${parameter.minSelections} choices.`, "length"));
78
108
  }
79
109
  if (parameter.maxSelections !== undefined && entries.length > parameter.maxSelections) {
80
- issues.push(issue(parameter.id, `${parameter.label} must include at most ${parameter.maxSelections} choices.`));
110
+ issues.push(issue(parameter.id, `${parameter.label} must include at most ${parameter.maxSelections} choices.`, "length"));
81
111
  }
82
112
  return issues;
83
113
  }
@@ -87,37 +117,37 @@ export function validateDefinitionValue(parameter, value) {
87
117
  : [issue(parameter.id, `${parameter.label} must be a six-digit hex color.`)];
88
118
  case "text":
89
119
  if (typeof value !== "string") {
90
- return [issue(parameter.id, `${parameter.label} must be text.`)];
120
+ return [issue(parameter.id, `${parameter.label} must be text.`, "type")];
91
121
  }
92
122
  return value.length <= MAX_TEXT_PARAMETER_LENGTH
93
123
  ? []
94
124
  : [
95
- issue(parameter.id, `${parameter.label} must contain at most ${MAX_TEXT_PARAMETER_LENGTH} characters.`),
125
+ issue(parameter.id, `${parameter.label} must contain at most ${MAX_TEXT_PARAMETER_LENGTH} characters.`, "length"),
96
126
  ];
97
127
  case "svg":
98
128
  if (typeof value !== "string")
99
- return [issue(parameter.id, `${parameter.label} must be SVG text.`)];
129
+ return [issue(parameter.id, `${parameter.label} must be SVG text.`, "type")];
100
130
  return svgValueFits(value)
101
131
  ? []
102
- : [issue(parameter.id, `${parameter.label} must be 256 KiB or smaller.`)];
132
+ : [issue(parameter.id, `${parameter.label} must be 256 KiB or smaller.`, "bytes")];
103
133
  case "array": {
104
134
  if (!Array.isArray(value)) {
105
- return [issue(parameter.id, `${parameter.label} must be a list.`)];
135
+ return [issue(parameter.id, `${parameter.label} must be a list.`, "type")];
106
136
  }
107
137
  const issues = [];
108
138
  if (value.length > MAX_ARRAY_ITEMS) {
109
- issues.push(issue(parameter.id, `${parameter.label} must contain at most ${MAX_ARRAY_ITEMS} items.`));
139
+ issues.push(issue(parameter.id, `${parameter.label} must contain at most ${MAX_ARRAY_ITEMS} items.`, "length"));
110
140
  return issues;
111
141
  }
112
142
  if (parameter.minItems !== undefined && value.length < parameter.minItems) {
113
- issues.push(issue(parameter.id, `${parameter.label} must contain at least ${parameter.minItems} items.`));
143
+ issues.push(issue(parameter.id, `${parameter.label} must contain at least ${parameter.minItems} items.`, "length"));
114
144
  }
115
145
  if (parameter.maxItems !== undefined && value.length > parameter.maxItems) {
116
- issues.push(issue(parameter.id, `${parameter.label} must contain at most ${parameter.maxItems} items.`));
146
+ issues.push(issue(parameter.id, `${parameter.label} must contain at most ${parameter.maxItems} items.`, "length"));
117
147
  }
118
148
  const entries = readDenseArray(value, MAX_ARRAY_ITEMS);
119
149
  if (entries === undefined) {
120
- issues.push(issue(parameter.id, `${parameter.label} must be a dense list of data values.`));
150
+ issues.push(issue(parameter.id, `${parameter.label} must be a dense list of data values.`, "structure"));
121
151
  return issues;
122
152
  }
123
153
  const inspectedLength = Math.min(value.length, MAX_ARRAY_ITEMS);
@@ -127,25 +157,27 @@ export function validateDefinitionValue(parameter, value) {
127
157
  const item = entries[index];
128
158
  if (parameter.items.type === "string") {
129
159
  if (typeof item !== "string") {
130
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be text.`));
160
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be text.`, "type", [
161
+ index,
162
+ ]));
131
163
  }
132
164
  else if (item.length > MAX_METADATA_TEXT_LENGTH) {
133
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must contain at most ${MAX_METADATA_TEXT_LENGTH} characters.`));
165
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must contain at most ${MAX_METADATA_TEXT_LENGTH} characters.`, "length", [index]));
134
166
  }
135
167
  continue;
136
168
  }
137
169
  if (typeof item !== "number" || !Number.isFinite(item)) {
138
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be a finite number.`));
170
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be a finite number.`, "type", [index]));
139
171
  continue;
140
172
  }
141
173
  if (parameter.items.integer && !Number.isInteger(item)) {
142
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be an integer.`));
174
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be an integer.`, "integer", [index]));
143
175
  }
144
176
  if (parameter.items.min !== undefined && item < parameter.items.min) {
145
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be at least ${parameter.items.min}.`));
177
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be at least ${parameter.items.min}.`, "minimum", [index]));
146
178
  }
147
179
  if (parameter.items.max !== undefined && item > parameter.items.max) {
148
- issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be at most ${parameter.items.max}.`));
180
+ issues.push(issue(parameter.id, `${parameter.label} item ${index + 1} must be at most ${parameter.items.max}.`, "maximum", [index]));
149
181
  }
150
182
  }
151
183
  return issues;
@@ -212,7 +244,7 @@ export function parseParameterIssues(definition, value) {
212
244
  if (!isRecord(entry)) {
213
245
  throw new TypeError(`${path} must be an object.`);
214
246
  }
215
- const allowedKeys = new Set(["severity", "parameterId", "message"]);
247
+ const allowedKeys = new Set(["severity", "parameterId", "message", "code", "path"]);
216
248
  let keys;
217
249
  try {
218
250
  keys = Reflect.ownKeys(entry);
@@ -242,6 +274,8 @@ export function parseParameterIssues(definition, value) {
242
274
  const severity = dataField("severity");
243
275
  const message = dataField("message");
244
276
  const parameterId = dataField("parameterId");
277
+ const code = dataField("code");
278
+ const issuePath = dataField("path");
245
279
  if (severity !== "error" && severity !== "warning") {
246
280
  throw new TypeError(`${path}.severity must be "error" or "warning".`);
247
281
  }
@@ -255,7 +289,30 @@ export function parseParameterIssues(definition, value) {
255
289
  (typeof parameterId !== "string" || !parameterIds.has(parameterId))) {
256
290
  throw new TypeError(`${path}.parameterId must identify a declared parameter.`);
257
291
  }
258
- return Object.freeze(parameterId === undefined ? { severity, message } : { severity, parameterId, message });
292
+ if (code !== undefined && (typeof code !== "string" || !Object.hasOwn(ISSUE_CODES, code))) {
293
+ throw new TypeError(`${path}.code must be a supported parameter issue code.`);
294
+ }
295
+ const pathEntries = issuePath === undefined
296
+ ? undefined
297
+ : readDenseArray(issuePath, MAX_PARAMETER_ISSUE_PATH_LENGTH);
298
+ if (issuePath !== undefined &&
299
+ (pathEntries === undefined ||
300
+ !pathEntries.every((segment) => typeof segment === "number"
301
+ ? Number.isSafeInteger(segment) && segment >= 0 && !Object.is(segment, -0)
302
+ : typeof segment === "string" &&
303
+ segment.length > 0 &&
304
+ segment.length <= MAX_PARAMETER_ISSUE_PATH_SEGMENT_LENGTH))) {
305
+ throw new TypeError(`${path}.path must be a bounded dense array of non-negative safe indices or field names.`);
306
+ }
307
+ return Object.freeze({
308
+ severity,
309
+ message,
310
+ ...(parameterId === undefined ? {} : { parameterId }),
311
+ ...(code === undefined ? {} : { code: code }),
312
+ ...(pathEntries === undefined
313
+ ? {}
314
+ : { path: Object.freeze(pathEntries.slice()) }),
315
+ });
259
316
  });
260
317
  return Object.freeze(parsed);
261
318
  }
@@ -1 +1 @@
1
- {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/parameters/issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/parameters/issues.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"preparation.d.ts","sourceRoot":"","sources":["../../src/parameters/preparation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EAEf,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AASzB,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,mBAAmB;IAC/D,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACnE,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,GAC1E,kBAAkB,CAAC,CAAC,CAAC,CA2BvB;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACpE,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,GAC1E,yBAAyB,CAE3B"}
1
+ {"version":3,"file":"preparation.d.ts","sourceRoot":"","sources":["../../src/parameters/preparation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EAEf,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AASzB,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,mBAAmB;IAC/D,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACnE,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,GAC1E,kBAAkB,CAAC,CAAC,CAAC,CA4BvB;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACpE,UAAU,EAAE,CAAC,EACb,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,GAC1E,yBAAyB,CAE3B"}
@@ -17,6 +17,7 @@ export function prepareParameters(definition, parameters, validate) {
17
17
  ? [
18
18
  {
19
19
  severity: "error",
20
+ code: "bytes",
20
21
  message: "All SVG parameters together must be 512 KiB or smaller.",
21
22
  },
22
23
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"preparation.js","sourceRoot":"","sources":["../../src/parameters/preparation.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAO3F;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAa,EACb,UAA6C,EAC7C,QAA2E;IAE3E,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAC/D,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CACvE,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACjE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC1D,CAAC,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,MAAM,gBAAgB,GACpB,QAAQ,GAAG,+BAA+B;QACxC,CAAC,CAAC;YACE;gBACE,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,yDAAyD;aAC1C;SAC3B;QACH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,YAAY,GAChB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvF,OAAO;QACL,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,wBAAwB,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAChC,UAAa,EACb,UAA6C,EAC7C,QAA2E;IAE3E,OAAO,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"preparation.js","sourceRoot":"","sources":["../../src/parameters/preparation.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAO3F;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAa,EACb,UAA6C,EAC7C,QAA2E;IAE3E,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAC/D,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CACvE,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACjE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC1D,CAAC,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,MAAM,gBAAgB,GACpB,QAAQ,GAAG,+BAA+B;QACxC,CAAC,CAAC;YACE;gBACE,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,yDAAyD;aAC1C;SAC3B;QACH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,YAAY,GAChB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvF,OAAO;QACL,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,wBAAwB,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAChC,UAAa,EACb,UAA6C,EAC7C,QAA2E;IAE3E,OAAO,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC;AACxE,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { GeneratorDefinition, GeneratorParams } from "../contracts.js";
2
- export type ParamDecodeCode = "invalid" | "missing" | "type" | "unknown";
1
+ import type { GeneratorDefinition, GeneratorParams, ParameterIssueCode } from "../contracts.js";
2
+ export type ParamDecodeCode = ParameterIssueCode;
3
3
  export interface ParamDecodeIssue {
4
4
  readonly code: ParamDecodeCode;
5
5
  readonly parameterId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/parameters/strict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAkB,MAAM,iBAAiB,CAAC;AAe5F,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC5C;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAE9E,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,mBAAmB;IACvD,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9E;AAED,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;gBAEjC,MAAM,EAAE,SAAS,gBAAgB,EAAE;CAKhD;AA2BD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAClE,UAAU,EAAE,CAAC,GACZ,UAAU,CAAC,CAAC,CAAC,CA6Gf"}
1
+ {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/parameters/strict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAEnB,MAAM,iBAAiB,CAAC;AAezB,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC5C;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAE9E,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,mBAAmB;IACvD,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9E;AAED,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;gBAEjC,MAAM,EAAE,SAAS,gBAAgB,EAAE;CAKhD;AA8BD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAClE,UAAU,EAAE,CAAC,GACZ,UAAU,CAAC,CAAC,CAAC,CAkHf"}
@@ -26,7 +26,10 @@ function valueMatchesCanonical(value, canonical) {
26
26
  return canonical.every((entry, index) => Object.is(entry, entries[index]));
27
27
  }
28
28
  function decodeIssue(code, path, message, parameterId) {
29
- return parameterId === undefined ? { code, path, message } : { code, path, parameterId, message };
29
+ const frozenPath = Object.freeze([...path]);
30
+ return parameterId === undefined
31
+ ? { code, path: frozenPath, message }
32
+ : { code, path: frozenPath, parameterId, message };
30
33
  }
31
34
  function appendDecodeIssue(issues, next) {
32
35
  if (issues.length < MAX_PARAMETER_ISSUES)
@@ -75,7 +78,7 @@ export function createParamCodec(definition) {
75
78
  const value = descriptor.value;
76
79
  const fieldIssues = validateDefinitionValue(parameter, value);
77
80
  for (const fieldIssue of fieldIssues) {
78
- appendDecodeIssue(issues, decodeIssue("invalid", [parameter.id], fieldIssue.message, parameter.id));
81
+ appendDecodeIssue(issues, decodeIssue(fieldIssue.code ?? "invalid", [parameter.id, ...(fieldIssue.path ?? [])], fieldIssue.message, parameter.id));
79
82
  }
80
83
  if (fieldIssues.length > 0)
81
84
  continue;
@@ -93,7 +96,7 @@ export function createParamCodec(definition) {
93
96
  ]);
94
97
  }
95
98
  if (svgBytes > MAX_PROJECT_SVG_PARAMETER_BYTES && issues.length < MAX_PARAMETER_ISSUES) {
96
- appendDecodeIssue(issues, decodeIssue("invalid", [], "All SVG parameters together must be 512 KiB or smaller."));
99
+ appendDecodeIssue(issues, decodeIssue("bytes", [], "All SVG parameters together must be 512 KiB or smaller."));
97
100
  }
98
101
  if (issues.length > 0) {
99
102
  return { success: false, issues: Object.freeze(issues) };
@@ -1 +1 @@
1
- {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/parameters/strict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/parameters/strict.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,+BAA+B,EAC/B,oBAAoB,EACpB,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAoBrB,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IACpC,MAAM,CAA8B;IAE7C,YAAY,MAAmC;QAC7C,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,mCAAmC,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,SAAyB;IACtE,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,eAAe,CAAC,SAAS,CAAC;QAC5B,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/E,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAClB,IAAqB,EACrB,IAAkC,EAClC,OAAe,EACf,WAAoB;IAEpB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5C,OAAO,WAAW,KAAK,SAAS;QAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE;QACrC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA0B,EAAE,IAAsB;IAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,oBAAoB;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAa;IAEb,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvD,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,KAAc,EAAwC,EAAE;QACzE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,yCAAyC,CAAC,CAAC;aAC7E,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,iBAAiB,CACf,MAAM,EACN,WAAW,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,gCAAgC,YAAY,IAAI,CAAC,CACzF,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB;oBAAE,MAAM;YACpD,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAA0C,EAAE,CAAC;QAC1D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB;gBAAE,MAAM;YAClD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,iBAAiB,CACf,MAAM,EACN,WAAW,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC,CACxF,CAAC;gBACF,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC7B,iBAAiB,CACf,MAAM,EACN,WAAW,CACT,SAAS,EACT,CAAC,SAAS,CAAC,EAAE,CAAC,EACd,GAAG,SAAS,CAAC,KAAK,wBAAwB,EAC1C,SAAS,CAAC,EAAE,CACb,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAgB,CAAC;YAC1C,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,iBAAiB,CACf,MAAM,EACN,WAAW,CACT,UAAU,CAAC,IAAI,IAAI,SAAS,EAC5B,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAC1C,UAAU,CAAC,OAAO,EAClB,SAAS,CAAC,EAAE,CACb,CACF,CAAC;YACJ,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAErC,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC7C,iBAAiB,CACf,MAAM,EACN,WAAW,CACT,SAAS,EACT,CAAC,SAAS,CAAC,EAAE,CAAC,EACd,GAAG,SAAS,CAAC,KAAK,yCAAyC,EAC3D,SAAS,CAAC,EAAE,CACb,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC1D,QAAQ,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,CAAC,EAAE;gBACZ,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;aAChD,CAAC,CAAC;QACd,CAAC;QAED,IAAI,QAAQ,GAAG,+BAA+B,IAAI,MAAM,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACvF,iBAAiB,CACf,MAAM,EACN,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,yDAAyD,CAAC,CACpF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAuB,CAAC;SAC1E,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,SAAS;QACT,KAAK,CAAC,KAAK;YACT,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ParameterIssueCode } from "./contracts.js";
1
2
  /** Maximum number of straight or cubic segments in an editable side profile. */
2
3
  export declare const MAX_PROFILE_SEGMENTS = 31;
3
4
  /** Normalized radius and upward height; both coordinates lie between zero and one. */
@@ -24,10 +25,17 @@ export interface ProfileValue {
24
25
  readonly start: ProfileAnchor;
25
26
  readonly segments: readonly ProfileSegment[];
26
27
  }
28
+ interface ProfileValueProblem {
29
+ readonly code: ParameterIssueCode;
30
+ readonly path: readonly (number | string)[];
31
+ }
32
+ /** Internal diagnostics use the same accessor-safe reader as profile cloning and predicates. */
33
+ export declare function profileValueProblem(value: unknown): ProfileValueProblem | undefined;
27
34
  /** Strictly checks portable profile data without evaluating getters or invoking curve libraries. */
28
35
  export declare function isProfileValue(value: unknown): value is ProfileValue;
29
36
  /** Returns a fresh, deeply frozen portable profile, including its editing intent. */
30
37
  export declare function cloneProfileValue(value: ProfileValue): ProfileValue;
31
38
  /** Compares the serialized shape and editing intent rather than object identity. */
32
39
  export declare function profileValuesEqual(previous: ProfileValue, next: ProfileValue): boolean;
40
+ export {};
33
41
  //# sourceMappingURL=profiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,sFAAsF;AACtF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC7C;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAA;CAAE,GACtD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;CAC7B,CAAC;AAEN,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CAC9C;AAgID,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CA0BnE;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CA8BtF"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,sFAAsF;AACtF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC7C;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAA;CAAE,GACtD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;CAC7B,CAAC;AAEN,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CAC9C;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC7C;AAmLD,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAMnF;AAED,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CA0BnE;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CA8BtF"}