@peripheries/renderer 0.8.1 → 0.9.0-data-render.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.
@@ -1,123 +1,4 @@
1
1
  import { SECTION_KINDS as SECTION_KINDS$1 } from "@peripheries/runtime";
2
- //#region packages/renderer/src/core/references.ts
3
- var STRICT_REF = /^@[A-Za-z0-9_$-]+(\.[A-Za-z0-9_$[\]-]+)*$/;
4
- var INTERPOLATION = /\$\{(?:context\.)?([^}]+)\}/g;
5
- var UnresolvedReference = class extends Error {
6
- loading;
7
- constructor(message, loading = false) {
8
- super(message);
9
- this.loading = loading;
10
- }
11
- };
12
- function walk(root, path) {
13
- let cur = root;
14
- for (const seg of path) {
15
- if (cur === null || cur === void 0) throw new UnresolvedReference(`null before "${seg}"`);
16
- if (Array.isArray(cur) && /^\d+$/.test(seg)) {
17
- const i = Number(seg);
18
- if (i >= cur.length) throw new UnresolvedReference(`index ${i} out of range`);
19
- cur = cur[i];
20
- } else if (typeof cur === "object" || Array.isArray(cur)) cur = cur[seg];
21
- else throw new UnresolvedReference(`"${seg}" on a ${typeof cur}`);
22
- }
23
- return cur;
24
- }
25
- function resolveRef(ref, ctx) {
26
- const [key, ...path] = ref.slice(1).split(".");
27
- const entry = ctx.data[key];
28
- if (!entry) throw new UnresolvedReference(`no data "${key}"`);
29
- if (entry.isLoading) throw new UnresolvedReference(`"${key}" is loading`, true);
30
- if (entry.error) throw new UnresolvedReference(`"${key}" failed`);
31
- return path.length ? walk(entry.data, path) : entry.data;
32
- }
33
- function interpolate(s, params) {
34
- return s.replace(INTERPOLATION, (whole, path) => {
35
- let cur = params;
36
- for (const seg of path.split(".")) {
37
- if (cur === null || cur === void 0) return whole;
38
- cur = cur[seg];
39
- }
40
- return cur === void 0 ? whole : String(cur);
41
- });
42
- }
43
- function resolveString(s, ctx) {
44
- const text = interpolate(s, ctx.params);
45
- if (!text.startsWith("@")) return text;
46
- try {
47
- const value = resolveRef(text, ctx);
48
- if (value === void 0 && STRICT_REF.test(text)) ctx.onUnresolved?.(text);
49
- return value;
50
- } catch (e) {
51
- if (!(e instanceof UnresolvedReference)) throw e;
52
- if (!STRICT_REF.test(text)) return s;
53
- if (!e.loading) ctx.onUnresolved?.(text);
54
- return;
55
- }
56
- }
57
- var EACH = "@each";
58
- var EACH_DEFAULT_AS = "item";
59
- var isEach = (value) => typeof value === "object" && value !== null && !Array.isArray(value) && "@each" in value;
60
- function resolveEach(each, ctx) {
61
- const source = typeof each["@each"] === "string" ? resolveString(each[EACH], ctx) : void 0;
62
- if (!Array.isArray(source)) {
63
- if (source !== void 0) ctx.onUnresolved?.(String(each[EACH]));
64
- return;
65
- }
66
- const as = each.as ?? "item";
67
- return source.map((element) => resolveReferences(each.map, {
68
- ...ctx,
69
- data: {
70
- ...ctx.data,
71
- [as]: settled(element)
72
- }
73
- }));
74
- }
75
- function resolveReferences(value, ctx) {
76
- if (value === null || value === void 0) return value;
77
- if (typeof value === "string") return resolveString(value, ctx);
78
- if (Array.isArray(value)) return value.map((v) => resolveReferences(v, ctx));
79
- if (isEach(value)) return resolveEach(value, ctx);
80
- if (typeof value === "object") {
81
- const out = {};
82
- for (const [k, v] of Object.entries(value)) out[k] = resolveReferences(v, ctx);
83
- return out;
84
- }
85
- return value;
86
- }
87
- var settled = (data) => ({
88
- data,
89
- isLoading: false,
90
- error: null
91
- });
92
- function cellResolutionContext(cell, page, own, baseProps) {
93
- const pageDeclared = own?.pageDeclared ?? new Set();
94
- const data = { ...page.data };
95
- for (const [label, entry] of Object.entries(own?.static ?? {})) if (!pageDeclared.has(label)) data[label] = entry;
96
- for (const [label, entry] of Object.entries(own?.walk?.labels ?? {})) if (!pageDeclared.has(label) && !own?.declared?.[label]) data[label] = entry;
97
- Object.assign(data, own?.declared);
98
- for (const [friendly, decl] of Object.entries(cell.data?.queries ?? {})) {
99
- const registry = decl.registry;
100
- if (registry && page.data[registry]) data[friendly] = page.data[registry];
101
- }
102
- data._traversal = settled(own?.walk?.traversal ?? {
103
- nodes: [],
104
- edges: []
105
- });
106
- data.params = settled(page.params);
107
- if (baseProps !== void 0) data.baseProps = settled(baseProps);
108
- return {
109
- data,
110
- params: page.params
111
- };
112
- }
113
- function passesConditions(conditions, ctx) {
114
- if (!conditions) return true;
115
- const { showIf, hideIf } = conditions;
116
- if (showIf !== void 0 && showIf !== "" && !resolveReferences(showIf, ctx)) return false;
117
- if (hideIf !== void 0 && hideIf !== "" && resolveReferences(hideIf, ctx)) return false;
118
- return true;
119
- }
120
- //#endregion
121
2
  //#region packages/renderer/src/core/structure.ts
122
3
  var PAGE_DOCUMENT = "__page__";
123
4
  function normalizeStructure(nodes) {
@@ -327,6 +208,6 @@ function nodePrintStyle(node) {
327
208
  } : void 0;
328
209
  }
329
210
  //#endregion
330
- export { settled as S, EACH_DEFAULT_AS as _, deriveSectionReferences as a, passesConditions as b, nodePrintStyle as c, referencesFor as d, sectionAnchor as f, EACH as g, usesStructureLayout as h, deriveSectionNumbering as i, normalizeStructure as l, structureIssues as m, SECTION_KINDS$1 as n, isSectionNode as o, sortByOrder as p, deriveElementReferences as r, mergeSectionReferences as s, PAGE_DOCUMENT as t, numberingFor as u, cellResolutionContext as v, resolveReferences as x, isEach as y };
211
+ export { deriveSectionReferences as a, nodePrintStyle as c, referencesFor as d, sectionAnchor as f, usesStructureLayout as h, deriveSectionNumbering as i, normalizeStructure as l, structureIssues as m, SECTION_KINDS$1 as n, isSectionNode as o, sortByOrder as p, deriveElementReferences as r, mergeSectionReferences as s, PAGE_DOCUMENT as t, numberingFor as u };
331
212
 
332
- //# sourceMappingURL=structure-Bp7xbPck.js.map
213
+ //# sourceMappingURL=structure-OUTX0zxG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structure-OUTX0zxG.js","names":["SECTION_KINDS"],"sources":["../../src/core/structure.ts"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import { _ as EACH_DEFAULT_AS, g as EACH, h as usesStructureLayout, m as structureIssues, y as isEach } from "./structure-Bp7xbPck.js";
2
- import { DEFAULT_STATE, STATE_NAMES, WALK_DEFAULTS, isStateName } from "@peripheries/runtime";
1
+ import { a as isEach, n as EACH_DEFAULT_AS, t as EACH } from "./references-D6BDsaqd.js";
2
+ import { d as validateDescriptor, f as variableLabels, i as descriptorShape, u as shapeAt } from "./query-1yZv4GY8.js";
3
+ import { h as usesStructureLayout, m as structureIssues } from "./structure-OUTX0zxG.js";
4
+ import { DEFAULT_STATE, STATE_NAMES, WALK_DEFAULTS, isDescriptorBinding, isStateName } from "@peripheries/runtime";
3
5
  //#region packages/renderer/src/core/graph.ts
4
6
  function systemsFromProcess(row) {
5
7
  const out = {};
@@ -55,15 +57,19 @@ function resolveWalkStart(cell, pageGraphNodeId) {
55
57
  var RESERVED_LABELS = [
56
58
  "_traversal",
57
59
  "params",
58
- "baseProps"
60
+ "baseProps",
61
+ "viewer",
62
+ "context",
63
+ "input",
64
+ "scope"
59
65
  ];
60
66
  var RESERVED$1 = new Set(RESERVED_LABELS);
61
- var STRICT_REF$1 = /^@([A-Za-z0-9_$-]+)(\.[A-Za-z0-9_$[\]-]+)*$/;
67
+ var STRICT_REF$2 = /^@([A-Za-z0-9_$-]+)(\.[A-Za-z0-9_$[\]-]+)*$/;
62
68
  function referencedLabels(cell) {
63
69
  const out = new Set();
64
70
  const visit = (v, local) => {
65
71
  if (typeof v === "string") {
66
- const m = STRICT_REF$1.exec(v);
72
+ const m = STRICT_REF$2.exec(v);
67
73
  if (m && !local.has(m[1])) out.add(m[1]);
68
74
  } else if (Array.isArray(v)) v.forEach((x) => visit(x, local));
69
75
  else if (isEach(v)) {
@@ -204,6 +210,56 @@ function readWalk(raw, request) {
204
210
  };
205
211
  }
206
212
  //#endregion
213
+ //#region packages/renderer/src/core/selected.ts
214
+ var STRICT_REF$1 = /^@([A-Za-z0-9_$-]+)((?:\.[A-Za-z0-9_$[\]-]+)*)$/;
215
+ var shapes = new Map();
216
+ function shapeOf(d) {
217
+ if (!shapes.has(d)) {
218
+ let shape = null;
219
+ try {
220
+ shape = descriptorShape(d);
221
+ } catch {}
222
+ shapes.set(d, shape);
223
+ }
224
+ return shapes.get(d);
225
+ }
226
+ function selectionIssues(cell, queries, at) {
227
+ const out = [];
228
+ const top = new Map(Object.entries(queries).map(([label, d]) => [label, shapeOf(d)]));
229
+ const shapeOfRef = (ref, scope, path) => {
230
+ const m = STRICT_REF$1.exec(ref);
231
+ if (!m || !scope.has(m[1])) return null;
232
+ const shape = scope.get(m[1]);
233
+ if (!shape) return null;
234
+ const segments = m[2].split(".").filter(Boolean);
235
+ const found = shapeAt(shape, segments);
236
+ if (!found) out.push({
237
+ severity: "error",
238
+ code: "REF_NOT_SELECTED",
239
+ cellId: cell.id,
240
+ label: m[1],
241
+ path,
242
+ message: `${ref}: the query behind @${m[1]} selects nothing at "${segments.join(".")}" (check the field and its alias)`
243
+ });
244
+ return found;
245
+ };
246
+ const visit = (v, path, scope) => {
247
+ if (typeof v === "string") return void shapeOfRef(v, scope, path);
248
+ if (Array.isArray(v)) return v.forEach((x, i) => visit(x, `${path}[${i}]`, scope));
249
+ if (!v || typeof v !== "object") return;
250
+ if (isEach(v)) {
251
+ const list = typeof v["@each"] === "string" ? shapeOfRef(v[EACH], scope, `${path}.${EACH}`) : null;
252
+ const element = list?.kind === "list" ? list.of : list?.kind === "leaf" ? list : null;
253
+ const as = typeof v.as === "string" ? v.as : EACH_DEFAULT_AS;
254
+ return visit(v.map, `${path}.map`, new Map([...scope, [as, element]]));
255
+ }
256
+ for (const [k, x] of Object.entries(v)) visit(x, `${path}.${k}`, scope);
257
+ };
258
+ visit(cell.props, `${at}.props`, top);
259
+ visit(cell.conditions, `${at}.conditions`, top);
260
+ return out;
261
+ }
262
+ //#endregion
207
263
  //#region packages/renderer/src/core/validate.ts
208
264
  var words = (name) => name.replace(/([a-z0-9])([A-Z])/g, "$1 $2").toLowerCase().split(/[\s_-]+/).filter(Boolean);
209
265
  function editDistance(a, b) {
@@ -241,6 +297,26 @@ var WALK_DIRECTIONS = [
241
297
  var BUCKETS = RESPONSIVE_BUCKETS;
242
298
  var SCOPES = STORE_SCOPES;
243
299
  var DIRECTIONS = WALK_DIRECTIONS;
300
+ var RESERVED = new Set(RESERVED_LABELS);
301
+ function descriptorsIn(queries) {
302
+ const out = {};
303
+ if (!queries || typeof queries !== "object") return out;
304
+ for (const [label, b] of Object.entries(queries)) if (isDescriptorBinding(b) && b.descriptor && typeof b.descriptor === "object") out[label] = b.descriptor;
305
+ return out;
306
+ }
307
+ function checkQueryReads(queries, inScope, path, push, cellId) {
308
+ for (const [label, d] of Object.entries(queries)) {
309
+ const read = variableLabels(d).filter((l) => inScope.has(l));
310
+ if (read.length) push({
311
+ severity: "error",
312
+ code: "QUERY_READS_QUERY",
313
+ cellId,
314
+ label,
315
+ path: `${path}.${label}.descriptor.variables`,
316
+ message: `"${label}"'s variables read ${read.map((l) => `@${l}`).join(", ")}, another query's label; a query reads node bindings, walks and statics only`
317
+ });
318
+ }
319
+ }
244
320
  function checkBindings(queries, path, push, cellId, template = false) {
245
321
  if (queries === void 0) return;
246
322
  if (!queries || typeof queries !== "object" || Array.isArray(queries)) {
@@ -267,6 +343,34 @@ function checkBindings(queries, path, push, cellId, template = false) {
267
343
  });
268
344
  continue;
269
345
  }
346
+ if (RESERVED.has(label)) {
347
+ push({
348
+ severity: "error",
349
+ code: "LABEL_RESERVED",
350
+ cellId,
351
+ label,
352
+ path: at,
353
+ message: `"${label}" is reserved (${RESERVED_LABELS.join(", ")}); declare the data under another label`
354
+ });
355
+ continue;
356
+ }
357
+ if ("descriptor" in b) {
358
+ if ("graph_node_id" in b) push({
359
+ severity: "error",
360
+ code: "BINDING_INVALID",
361
+ cellId,
362
+ label,
363
+ path: at,
364
+ message: `"${label}" names both a descriptor and a graph_node_id; a binding is one or the other`
365
+ });
366
+ else for (const d of validateDescriptor(b.descriptor, `${at}.descriptor`)) push({
367
+ ...d,
368
+ path: d.path ?? at,
369
+ cellId,
370
+ label
371
+ });
372
+ continue;
373
+ }
270
374
  if (typeof b.registry === "string") {
271
375
  push({
272
376
  severity: "warning",
@@ -353,7 +457,6 @@ var EACH_KEYS = new Set([
353
457
  "as",
354
458
  "map"
355
459
  ]);
356
- var RESERVED = new Set(RESERVED_LABELS);
357
460
  function eachFormProblems(value) {
358
461
  const out = [];
359
462
  if (typeof value["@each"] !== "string" || !STRICT_REF.test(value["@each"])) out.push(`"@each" must be a whole \`@label.path\` reference to a list`);
@@ -538,6 +641,18 @@ function validatePage(page, catalog) {
538
641
  });
539
642
  list.forEach((cell, i) => out.push(...validateCell(cell, catalog, `content.cells[${i}]`, ids, options)));
540
643
  checkBindings(page.content?.data?.queries, "content.data.queries", (d) => out.push(d), void 0, options.template);
644
+ const pageQueries = descriptorsIn(page.content?.data?.queries);
645
+ checkQueryReads(pageQueries, new Set(Object.keys(pageQueries)), "content.data.queries", (d) => out.push(d));
646
+ list.forEach((cell, i) => {
647
+ if (!cell || typeof cell !== "object" || !cell.component) return;
648
+ const own = descriptorsIn(cell.data?.queries);
649
+ const at = `content.cells[${i}]`;
650
+ checkQueryReads(own, new Set([...Object.keys(pageQueries), ...Object.keys(own)]), `${at}.data.queries`, (d) => out.push(d), cell.id);
651
+ const inScope = {};
652
+ for (const [label, d] of Object.entries(pageQueries)) if (!cell.data?.queries?.[label]) inScope[label] = d;
653
+ Object.assign(inScope, own);
654
+ if (Object.keys(inScope).length) out.push(...selectionIssues(cell, inScope, at));
655
+ });
541
656
  if (usesStructureLayout(page.layout)) for (const issue of structureIssues(page.layout?.structure, list)) out.push({
542
657
  severity: "error",
543
658
  code: "STRUCTURE_INVALID",
@@ -547,6 +662,6 @@ function validatePage(page, catalog) {
547
662
  return out;
548
663
  }
549
664
  //#endregion
550
- export { systemsFromProcess as _, nearestNames as a, RESERVED_LABELS as c, readField as d, readWalk as f, stateValue as g, stateNames as h, eachFormProblems as i, mergeStates as l, resolveWalkStart as m, STORE_SCOPES as n, validateCell as o, referencedLabels as p, WALK_DIRECTIONS as r, validatePage as s, RESPONSIVE_BUCKETS as t, needsWalk as u, walkKey as v, walkRequest as y };
665
+ export { stateValue as _, nearestNames as a, walkRequest as b, selectionIssues as c, needsWalk as d, readField as f, stateNames as g, resolveWalkStart as h, eachFormProblems as i, RESERVED_LABELS as l, referencedLabels as m, STORE_SCOPES as n, validateCell as o, readWalk as p, WALK_DIRECTIONS as r, validatePage as s, RESPONSIVE_BUCKETS as t, mergeStates as u, systemsFromProcess as v, walkKey as y };
551
666
 
552
- //# sourceMappingURL=validate-Cz2tUUdm.js.map
667
+ //# sourceMappingURL=validate-Bls6ttyi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-Bls6ttyi.js","names":["RESERVED","STRICT_REF","STRICT_REF"],"sources":["../../src/core/graph.ts","../../src/core/selected.ts","../../src/core/validate.ts"],"mappings":"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"}