@peripheries/renderer 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -49,6 +49,11 @@ sharing the channel reads it.
49
49
 
50
50
  ## Versions
51
51
 
52
+ - **0.6.1:** `validatePageProps` judges an `@each` projection by its `map`:
53
+ its keys against the prop's `items` schema (a required key missing is
54
+ `PROP_INVALID`, an undeclared one `PROP_UNKNOWN`), and its literal values
55
+ against theirs, nested projections too. A malformed projection is no longer
56
+ also reported as `PROP_INVALID`; `validatePage`'s `EACH_INVALID` says it once.
52
57
  - **0.6.0:** `@each` projections. A prop value
53
58
  `{ "@each": "@label.path", "as": "item", "map": … }` resolves to the list
54
59
  with `map` resolved once per element (`@item.…` reads it), so a list in
package/dist/catalog.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { y as isEach } from "./chunks/structure-Bp7xbPck.js";
1
2
  import { o as validatePage } from "./chunks/validate-ADfCrhn-.js";
2
3
  import { KNOWLEDGE_BUDGETS, KNOWLEDGE_KEY } from "@peripheries/runtime";
3
4
  import Ajv2020 from "ajv/dist/2020.js";
@@ -212,30 +213,64 @@ function validatePageProps(page, catalog) {
212
213
  allErrors: true
213
214
  }));
214
215
  }
216
+ var asNode = (v) => v && typeof v === "object" && !Array.isArray(v) ? v : void 0;
215
217
  function propsAgainstSchemas(page, catalog, ajv) {
216
218
  const out = [];
217
219
  (Array.isArray(page.content?.cells) ? page.content.cells : []).forEach((cell, i) => {
218
220
  const properties = cell?.component ? catalog.components[cell.component]?.props_schema?.properties : void 0;
219
221
  for (const [prop, value] of Object.entries(cell.props ?? {})) {
220
222
  const schema = properties?.[prop];
221
- if (!schema || typeof schema !== "object" || holdsReference(value)) continue;
223
+ const path = `content.cells[${i}].props.${prop}`;
224
+ const name = `${cell.component}.${prop}`;
225
+ const push = (severity, code, at, message) => out.push({
226
+ severity,
227
+ code,
228
+ cellId: cell.id,
229
+ path: at,
230
+ message: `${name} ${message}`
231
+ });
232
+ if (!schema || typeof schema !== "object") continue;
233
+ if (isEach(value)) {
234
+ checkMap(value.map, asNode(asNode(schema)?.items), `${path}.map`, push, ajv);
235
+ continue;
236
+ }
237
+ if (holdsReference(value)) continue;
222
238
  let valid;
223
239
  try {
224
240
  valid = ajv.validate(schema, value);
225
241
  } catch {
226
242
  continue;
227
243
  }
228
- if (!valid) out.push({
229
- severity: "error",
230
- code: "PROP_INVALID",
231
- cellId: cell.id,
232
- path: `content.cells[${i}].props.${prop}`,
233
- message: `${cell.component}.${prop} ${ajv.errorsText(ajv.errors, { dataVar: "" }).replace(/^\s+/, "")}`
234
- });
244
+ if (!valid) push("error", "PROP_INVALID", path, ajv.errorsText(ajv.errors, { dataVar: "" }).replace(/^\s+/, ""));
235
245
  }
236
246
  });
237
247
  return out;
238
248
  }
249
+ function checkMap(map, items, path, push, ajv) {
250
+ if (!items) return;
251
+ if (isEach(map)) return;
252
+ const fields = asNode(map);
253
+ if (!fields || !items.properties) {
254
+ if (map !== void 0 && !holdsReference(map)) validateLiteral(items, map, path, push, ajv);
255
+ return;
256
+ }
257
+ for (const key of Array.isArray(items.required) ? items.required : []) if (typeof key === "string" && !(key in fields)) push("error", "PROP_INVALID", path, `each element needs "${key}"; the map doesn't give it`);
258
+ const open = items.additionalProperties === true || typeof items.additionalProperties === "object";
259
+ for (const [key, v] of Object.entries(fields)) {
260
+ const sub = asNode(items.properties[key]);
261
+ if (!sub) {
262
+ if (!open) push("warning", "PROP_UNKNOWN", `${path}.${key}`, `each element declares no "${key}"`);
263
+ continue;
264
+ }
265
+ if (isEach(v)) checkMap(v.map, asNode(sub.items), `${path}.${key}.map`, push, ajv);
266
+ else if (!holdsReference(v)) validateLiteral(sub, v, `${path}.${key}`, push, ajv);
267
+ }
268
+ }
269
+ function validateLiteral(schema, value, path, push, ajv) {
270
+ try {
271
+ if (!ajv.validate(schema, value)) push("error", "PROP_INVALID", path, ajv.errorsText(ajv.errors, { dataVar: "" }).replace(/^\s+/, ""));
272
+ } catch {}
273
+ }
239
274
  //#endregion
240
275
  export { checkCatalog, validatePageProps };
241
276
 
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","names":[],"sources":["../src/catalog/check.ts"],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","names":[],"sources":["../src/catalog/check.ts"],"mappings":"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"}
@@ -22,7 +22,10 @@ export declare function checkCatalog(input: CatalogInput): Diagnostic[];
22
22
  /**
23
23
  * PROP_INVALID: each literal prop value of the page's inline cells against its
24
24
  * prop's schema in the catalog. A value holding a reference is left alone; its
25
- * type is known only once it resolves. Run it beside validatePage, which can't
26
- * (core holds no JSON Schema validator).
25
+ * type is known only once it resolves. An `@each` projection is judged by its
26
+ * `map` instead (design/renderer.md §5.4): its keys against the items schema
27
+ * (a required key missing is PROP_INVALID, an undeclared one PROP_UNKNOWN),
28
+ * and its literal values against theirs. Run it beside validatePage, which
29
+ * can't (core holds no JSON Schema validator).
27
30
  */
28
31
  export declare function validatePageProps(page: Pick<ProjectPage, 'content'>, catalog: Catalog): Diagnostic[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peripheries/renderer",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "The one renderer for pages of federated component bundles: a framework-free core, a React renderer, the runtime a page boots with, and golden pages for testing.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -34,7 +34,7 @@
34
34
  "README.md"
35
35
  ],
36
36
  "dependencies": {
37
- "@peripheries/runtime": "0.6.0",
37
+ "@peripheries/runtime": "0.6.1",
38
38
  "ajv": "8.20.0"
39
39
  },
40
40
  "peerDependencies": {