@graview/studio 0.1.60 → 0.1.62
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/dist/changes.js +2 -2
- package/dist/changes.js.map +1 -1
- package/dist/edits.d.ts.map +1 -1
- package/dist/edits.js +16 -8
- package/dist/edits.js.map +1 -1
- package/dist/from-declaration.d.ts +1 -0
- package/dist/from-declaration.d.ts.map +1 -1
- package/dist/from-declaration.js +16 -2
- package/dist/from-declaration.js.map +1 -1
- package/dist/meta.d.ts +338 -0
- package/dist/meta.d.ts.map +1 -1
- package/dist/meta.js +43 -5
- package/dist/meta.js.map +1 -1
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +5 -2
- package/dist/migration.js.map +1 -1
- package/dist/place.d.ts.map +1 -1
- package/dist/place.js +8 -13
- package/dist/place.js.map +1 -1
- package/dist/source.d.ts +2 -1
- package/dist/source.d.ts.map +1 -1
- package/dist/source.js +32 -8
- package/dist/source.js.map +1 -1
- package/dist/to-declaration.d.ts +1 -1
- package/dist/to-declaration.d.ts.map +1 -1
- package/dist/to-declaration.js +61 -42
- package/dist/to-declaration.js.map +1 -1
- package/package.json +8 -8
package/dist/source.d.ts
CHANGED
|
@@ -44,13 +44,14 @@ export declare class Read {
|
|
|
44
44
|
out(from: string, kind: string): Node[];
|
|
45
45
|
in(to: string, kind: string): Node[];
|
|
46
46
|
}
|
|
47
|
-
export declare function zodSource(type: FieldType, required: boolean, options?: readonly string[], uses?: ZodUses, markdown?: boolean): string;
|
|
47
|
+
export declare function zodSource(type: FieldType, required: boolean, options?: readonly string[], uses?: ZodUses, markdown?: boolean, multiple?: boolean): string;
|
|
48
48
|
/** A kind's fields, as the graph holds them. */
|
|
49
49
|
export declare function fieldsOf(read: Read, kind: Node): {
|
|
50
50
|
name: string;
|
|
51
51
|
type: FieldType;
|
|
52
52
|
required: boolean;
|
|
53
53
|
options: string[] | undefined;
|
|
54
|
+
multiple: boolean;
|
|
54
55
|
markdown: boolean;
|
|
55
56
|
repeats: boolean;
|
|
56
57
|
}[];
|
package/dist/source.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAc,MAAM,eAAe,CAAC;AAIxH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAUtE,MAAM,MAAM,IAAI,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5F,UAAU,OAAO;IACf,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAGD,eAAO,MAAM,CAAC,GAAI,MAAM,MAAM,KAAG,MAA0F,CAAC;AAS5H,uFAAuF;AACvF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAA0E,CAAC;AAMpH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,MAAyE,CAAC;AAK/G,eAAO,MAAM,KAAK,GAAI,MAAM,IAAI,KAAG,MAA0C,CAAC;AAK9E,qBAAa,IAAI;IAEH,QAAQ,CAAC,OAAO,EAAE,OAAO;IADrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2B;gBAC3B,OAAO,EAAE,OAAO;IAGrC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAGlC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE;IAG5B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE;IAGvC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE;CAGrC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
|
package/dist/source.js
CHANGED
|
@@ -49,7 +49,12 @@ export class Read {
|
|
|
49
49
|
return this.reading.edges.filter((edge) => edge.to === to && edge.kind === kind).map((edge) => this.byId.get(edge.from)).filter((node) => node !== undefined);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
export function zodSource(type, required, options, uses, markdown) {
|
|
52
|
+
export function zodSource(type, required, options, uses, markdown, multiple) {
|
|
53
|
+
// A choice that takes several of its options (FR-233): a list of them.
|
|
54
|
+
if (type === "enum" && multiple && options && options.length > 0) {
|
|
55
|
+
const several = `z.array(z.enum([${options.map(q).join(", ")}]))`;
|
|
56
|
+
return required ? several : `${several}.optional()`;
|
|
57
|
+
}
|
|
53
58
|
// Prose written in Markdown (FR-180): the framework's own field, imported beside `z`.
|
|
54
59
|
if (type === "text" && markdown) {
|
|
55
60
|
if (uses)
|
|
@@ -85,7 +90,7 @@ export function zodSource(type, required, options, uses, markdown) {
|
|
|
85
90
|
: "z.string()";
|
|
86
91
|
return required ? base : `${base}.optional()`;
|
|
87
92
|
}
|
|
88
|
-
const defaultSource = (type, options) => type === "number" || type === "integer" || type === "duration" ? "0" : type === "datetime" ? "new Date().toISOString()" : type === "boolean" ? "false" : type === "enum" ? q(options?.[0] ?? "") : type === "list" ? "[]" : type === "date" ? "new Date().toISOString().slice(0, 10)" : '""';
|
|
93
|
+
const defaultSource = (type, options, multiple) => type === "number" || type === "integer" || type === "duration" ? "0" : type === "datetime" ? "new Date().toISOString()" : type === "boolean" ? "false" : type === "enum" ? (multiple ? "[]" : q(options?.[0] ?? "")) : type === "list" ? "[]" : type === "date" ? "new Date().toISOString().slice(0, 10)" : '""';
|
|
89
94
|
/**
|
|
90
95
|
* The lines of a `defineNode` the studio carries from the checkout rather
|
|
91
96
|
* than from its graph, narrowed to the fields that still exist — a label
|
|
@@ -145,6 +150,8 @@ export function fieldsOf(read, kind) {
|
|
|
145
150
|
type: (str(field, "type") ?? "string"),
|
|
146
151
|
required: bool(field, "required"),
|
|
147
152
|
options: list(field, "options"),
|
|
153
|
+
// Several of its options at once (FR-233): an enum's.
|
|
154
|
+
multiple: str(field, "type") === "enum" && bool(field, "multiple"),
|
|
148
155
|
repeats: bool(field, "repeats"),
|
|
149
156
|
// Written in Markdown (FR-180).
|
|
150
157
|
markdown: str(field, "type") === "text" && bool(field, "markdown"),
|
|
@@ -176,12 +183,13 @@ export function kindLines(read, kind, base, keptFormats, uses = { nodeRef: false
|
|
|
176
183
|
const same = was.type === field.type &&
|
|
177
184
|
was.required === field.required &&
|
|
178
185
|
(was.options ?? []).join("|") === (field.options ?? []).join("|") &&
|
|
186
|
+
(was.multiple === true) === field.multiple &&
|
|
179
187
|
isMarkdownField(own) === field.markdown;
|
|
180
188
|
const printed = same ? printZod(own, uses) : null;
|
|
181
189
|
if (printed !== null)
|
|
182
190
|
return printed;
|
|
183
191
|
}
|
|
184
|
-
return zodSource(field.type, field.required, field.options, uses, field.markdown);
|
|
192
|
+
return zodSource(field.type, field.required, field.options, uses, field.markdown, field.multiple);
|
|
185
193
|
};
|
|
186
194
|
// A relation to another app's kind (FR-171) is kept on the record that links: a field, written as a declaration writes one.
|
|
187
195
|
const far = read.in(kind.id, "from-kind").filter((edge) => (list(edge, "toAnotherApp") ?? []).length > 0);
|
|
@@ -312,7 +320,7 @@ export function actLines(read, act, kept, checkout, uses = { nodeRef: true, isoD
|
|
|
312
320
|
const kindNode = read.ofKind("kind").find((node) => label(node) === kind);
|
|
313
321
|
const fields = kindNode ? fieldsOf(read, kindNode).filter((field) => field.name !== "label") : [];
|
|
314
322
|
const asked = fields.filter((field) => field.required && field.type !== "list");
|
|
315
|
-
lines.push(` input: z.object({ label: z.string().min(1)${asked.map((field) => `, ${key(field.name)}: ${zodSource(field.type, false, field.options, uses)}`).join("")} }),`);
|
|
323
|
+
lines.push(` input: z.object({ label: z.string().min(1)${asked.map((field) => `, ${key(field.name)}: ${zodSource(field.type, false, field.options, uses, undefined, field.multiple)}`).join("")} }),`);
|
|
316
324
|
lines.push(` describe: (args) => \`${said}: \${args.label}\`,`);
|
|
317
325
|
body.push(` ctx.addNode({`);
|
|
318
326
|
body.push(` id: ctx.freshId(args.label, ${q(kind)}),`);
|
|
@@ -320,7 +328,7 @@ export function actLines(read, act, kept, checkout, uses = { nodeRef: true, isoD
|
|
|
320
328
|
body.push(` label: args.label,`);
|
|
321
329
|
for (const field of fields)
|
|
322
330
|
if (field.required)
|
|
323
|
-
body.push(` ${key(field.name)}: args${member(field.name)} ?? ${defaultSource(field.type, field.options)},`);
|
|
331
|
+
body.push(` ${key(field.name)}: args${member(field.name)} ?? ${defaultSource(field.type, field.options, field.multiple)},`);
|
|
324
332
|
body.push(` });`);
|
|
325
333
|
}
|
|
326
334
|
else if (connects[0] ?? severs[0]) {
|
|
@@ -336,8 +344,8 @@ export function actLines(read, act, kept, checkout, uses = { nodeRef: true, isoD
|
|
|
336
344
|
for (const kindNode of read.ofKind("kind"))
|
|
337
345
|
if (on.includes(label(kindNode)))
|
|
338
346
|
for (const field of fieldsOf(read, kindNode))
|
|
339
|
-
declared.set(field.name, { type: field.type, options: field.options });
|
|
340
|
-
lines.push(` input: z.object({ ${key(arg)}: nodeRef(${subjectKinds})${writes.map((field) => `, ${key(field)}: ${declared.has(field) ? zodSource(declared.get(field).type, false, declared.get(field).options, uses) : "z.string().optional()"}`).join("")} }),`);
|
|
347
|
+
declared.set(field.name, { type: field.type, options: field.options, multiple: field.multiple });
|
|
348
|
+
lines.push(` input: z.object({ ${key(arg)}: nodeRef(${subjectKinds})${writes.map((field) => `, ${key(field)}: ${declared.has(field) ? zodSource(declared.get(field).type, false, declared.get(field).options, uses, undefined, declared.get(field).multiple) : "z.string().optional()"}`).join("")} }),`);
|
|
341
349
|
lines.push(` describe: (args, graph) => \`${said}: \${nameOf(graph as Reader, args${member(arg)})}\`,`);
|
|
342
350
|
if (writes.length > 0) {
|
|
343
351
|
body.push(` const patch: Record<string, unknown> = {};`);
|
|
@@ -400,6 +408,21 @@ export function ruleLines(read, rule, kept) {
|
|
|
400
408
|
* same rule the studio judged, through the same `expressionRule`, instead
|
|
401
409
|
* of a stub that holds nothing or throws.
|
|
402
410
|
*/
|
|
411
|
+
// A coverage rule is written as one (Roadmap f-rule-covers-every): its walk, not an expression.
|
|
412
|
+
const coversEvery = str(rule, "coversEvery");
|
|
413
|
+
if (coversEvery && str(rule, "coversThrough")) {
|
|
414
|
+
const spec = [
|
|
415
|
+
` over: ${q(whole ? "graph" : label(over))},`,
|
|
416
|
+
` covers: { every: ${q(coversEvery)}, through: ${q(str(rule, "coversThrough"))}${str(rule, "coversVia") ? `, via: ${q(str(rule, "coversVia"))}` : ""} },`,
|
|
417
|
+
...(str(rule, "when") ? [` when: ${q(str(rule, "when"))},`] : []),
|
|
418
|
+
...(str(rule, "says") ? [` says: ${q(str(rule, "says"))},`] : []),
|
|
419
|
+
` title: ${q(str(rule, "title") ?? ruleName)},`,
|
|
420
|
+
...(str(rule, "description") ? [` description: ${q(str(rule, "description"))},`] : []),
|
|
421
|
+
...(repairs.length > 0 ? [` repairs: [${repairs.map(q).join(", ")}],`] : []),
|
|
422
|
+
...(bool(rule, "judgesPast") ? [` judgesPast: true,`] : []),
|
|
423
|
+
];
|
|
424
|
+
return [`export const ${camel(ruleName)} = coverageRule(${q(ruleName)}, {`, ...spec, `});`];
|
|
425
|
+
}
|
|
403
426
|
const require = str(rule, "require");
|
|
404
427
|
if (require) {
|
|
405
428
|
const spec = [
|
|
@@ -514,9 +537,10 @@ export function declarationFiles(snapshot, options = {}) {
|
|
|
514
537
|
].join("\n");
|
|
515
538
|
const rules = read.ofKind("rule");
|
|
516
539
|
const judged = rules.some((rule) => str(rule, "require"));
|
|
540
|
+
const covering = rules.some((rule) => str(rule, "coversEvery") && str(rule, "coversThrough"));
|
|
517
541
|
const invariantsTs = [
|
|
518
542
|
`import { bindSchema, type Violation } from "@graview/core";`,
|
|
519
|
-
...(judged ? [`import { expressionRule } from "@graview/core/document";`] : []),
|
|
543
|
+
...(judged || covering ? [`import { ${[...(covering ? ["coverageRule"] : []), ...(judged ? ["expressionRule"] : [])].join(", ")} } from "@graview/core/document";`] : []),
|
|
520
544
|
`import { ${schemaVar} } from "./schema.js";`,
|
|
521
545
|
``,
|
|
522
546
|
`const { defineInvariant, defineGraphInvariant } = bindSchema(${schemaVar});`,
|
package/dist/source.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../src/source.ts"],"names":[],"mappings":"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"}
|
package/dist/to-declaration.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export declare function computedFor(graph: {
|
|
|
30
30
|
readonly id: string;
|
|
31
31
|
}): Record<string, ComputedWritten> | undefined;
|
|
32
32
|
/** The zod type a studio field declares. */
|
|
33
|
-
export declare function zodFor(type: FieldType, required: boolean, options?: readonly string[], markdown?: boolean): z.ZodType;
|
|
33
|
+
export declare function zodFor(type: FieldType, required: boolean, options?: readonly string[], markdown?: boolean, multiple?: boolean): z.ZodType;
|
|
34
34
|
/** A value a required field can start with, when an act creates a record without asking. */
|
|
35
35
|
export declare function defaultFor(type: FieldType, options?: readonly string[]): unknown;
|
|
36
36
|
export interface DeclarationOptions<S extends AnySchema = AnySchema> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-declaration.d.ts","sourceRoot":"","sources":["../src/to-declaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAmBL,KAAK,SAAS,EAGd,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EAGf,KAAK,UAAU,EAGhB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAc1D,KAAK,IAAI,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AA4BD,2GAA2G;AAC3G,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzH;;;;GAIG;AACH,yHAAyH;AACzH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,UAAU,GAAG,SAAS,CAMhH;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAA;CAAE,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,CAW/M;AAED,4CAA4C;AAC5C,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"to-declaration.d.ts","sourceRoot":"","sources":["../src/to-declaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAmBL,KAAK,SAAS,EAGd,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EAGf,KAAK,UAAU,EAGhB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAc1D,KAAK,IAAI,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AA4BD,2GAA2G;AAC3G,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzH;;;;GAIG;AACH,yHAAyH;AACzH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,UAAU,GAAG,SAAS,CAMhH;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAA;CAAE,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,CAW/M;AAED,4CAA4C;AAC5C,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,OAAO,CA2CzI;AAED,4FAA4F;AAC5F,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAmBhF;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IACjE,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAgFD,uDAAuD;AACvD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,EAAE,OAAO,GAAE,kBAAuB,GAAG,UAAU,CAAC,SAAS,CAAC,CAyT7H"}
|
package/dist/to-declaration.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { appLinkField, markdownField, bindsOf, fileField, imageField, videoField, linkedRecordField, createSchema, defineInvariant, defineNode, durationField, nodeRef, nodeRefArgs, phoneField, placeField, repeatField, repeatKey, } from "@graview/core";
|
|
2
|
-
import { expressionRule } from "@graview/core/document";
|
|
2
|
+
import { coverageRule, expressionRule } from "@graview/core/document";
|
|
3
3
|
import { isMarkdownField } from "@graview/core/words";
|
|
4
4
|
import * as z from "zod";
|
|
5
5
|
import { DECLARED_KIND } from "./meta.js";
|
|
@@ -60,44 +60,48 @@ export function computedFor(graph, kind) {
|
|
|
60
60
|
return Object.keys(out).length > 0 ? out : undefined;
|
|
61
61
|
}
|
|
62
62
|
/** The zod type a studio field declares. */
|
|
63
|
-
export function zodFor(type, required, options, markdown) {
|
|
63
|
+
export function zodFor(type, required, options, markdown, multiple) {
|
|
64
64
|
const base =
|
|
65
|
-
//
|
|
66
|
-
type === "
|
|
67
|
-
?
|
|
68
|
-
:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
?
|
|
72
|
-
: type === "
|
|
73
|
-
?
|
|
74
|
-
: type === "
|
|
75
|
-
?
|
|
76
|
-
: type === "
|
|
77
|
-
?
|
|
78
|
-
: type === "
|
|
79
|
-
?
|
|
80
|
-
: type === "
|
|
81
|
-
?
|
|
82
|
-
: type === "
|
|
83
|
-
?
|
|
84
|
-
: type === "
|
|
85
|
-
?
|
|
86
|
-
: type === "
|
|
87
|
-
?
|
|
88
|
-
: type === "
|
|
89
|
-
?
|
|
90
|
-
: type === "
|
|
91
|
-
? z.
|
|
92
|
-
: type === "
|
|
93
|
-
? z.
|
|
94
|
-
: type === "
|
|
95
|
-
? z.
|
|
96
|
-
: type === "
|
|
97
|
-
? z.
|
|
98
|
-
: type === "
|
|
99
|
-
? z.
|
|
100
|
-
:
|
|
65
|
+
// A choice that takes several of its options (FR-233): a list of them.
|
|
66
|
+
type === "enum" && multiple && options && options.length > 0
|
|
67
|
+
? z.array(z.enum(options))
|
|
68
|
+
:
|
|
69
|
+
// Prose written in Markdown (FR-180).
|
|
70
|
+
type === "text" && markdown
|
|
71
|
+
? markdownField()
|
|
72
|
+
: type === "app-link"
|
|
73
|
+
? appLinkField()
|
|
74
|
+
: type === "image"
|
|
75
|
+
? imageField()
|
|
76
|
+
: type === "video"
|
|
77
|
+
? videoField()
|
|
78
|
+
: type === "file"
|
|
79
|
+
? fileField()
|
|
80
|
+
: type === "number"
|
|
81
|
+
? z.number()
|
|
82
|
+
: type === "integer"
|
|
83
|
+
? z.number().int()
|
|
84
|
+
: type === "phone"
|
|
85
|
+
? phoneField()
|
|
86
|
+
: type === "place"
|
|
87
|
+
? placeField()
|
|
88
|
+
: type === "duration"
|
|
89
|
+
? durationField()
|
|
90
|
+
: type === "url"
|
|
91
|
+
? z.url()
|
|
92
|
+
: type === "email"
|
|
93
|
+
? z.email()
|
|
94
|
+
: type === "datetime"
|
|
95
|
+
? z.iso.datetime()
|
|
96
|
+
: type === "boolean"
|
|
97
|
+
? z.boolean()
|
|
98
|
+
: type === "enum" && options && options.length > 0
|
|
99
|
+
? z.enum(options)
|
|
100
|
+
: type === "list"
|
|
101
|
+
? z.array(z.string())
|
|
102
|
+
: type === "string"
|
|
103
|
+
? z.string().min(1)
|
|
104
|
+
: z.string();
|
|
101
105
|
return required ? base : base.optional();
|
|
102
106
|
}
|
|
103
107
|
/** A value a required field can start with, when an act creates a record without asking. */
|
|
@@ -206,6 +210,7 @@ export function graphToDeclaration(snapshot, options = {}) {
|
|
|
206
210
|
type: (str(field, "type") ?? "string"),
|
|
207
211
|
required: bool(field, "required"),
|
|
208
212
|
options: list(field, "options"),
|
|
213
|
+
multiple: bool(field, "multiple"),
|
|
209
214
|
repeats: bool(field, "repeats"),
|
|
210
215
|
markdown: bool(field, "markdown"),
|
|
211
216
|
}));
|
|
@@ -226,8 +231,9 @@ export function graphToDeclaration(snapshot, options = {}) {
|
|
|
226
231
|
was.type === field.type &&
|
|
227
232
|
was.required === field.required &&
|
|
228
233
|
(was.options ?? []).join("|") === (field.options ?? []).join("|") &&
|
|
234
|
+
(was.multiple === true) === field.multiple &&
|
|
229
235
|
isMarkdownField(own) === field.markdown;
|
|
230
|
-
shape[field.name] = same ? own : zodFor(field.type, field.required, field.options, field.markdown);
|
|
236
|
+
shape[field.name] = same ? own : zodFor(field.type, field.required, field.options, field.markdown, field.multiple);
|
|
231
237
|
// A date that repeats keeps how beside it, as the framework's own field.
|
|
232
238
|
if (field.repeats && (field.type === "date" || field.type === "datetime"))
|
|
233
239
|
shape[repeatKey(field.name)] = repeatField();
|
|
@@ -316,6 +322,19 @@ export function graphToDeclaration(snapshot, options = {}) {
|
|
|
316
322
|
* A judgment in words is judged — the studio's own rule and the
|
|
317
323
|
* checkout's alike, since the words are the judgment (FR-07).
|
|
318
324
|
*/
|
|
325
|
+
const coversEvery = str(rule, "coversEvery");
|
|
326
|
+
if (coversEvery && str(rule, "coversThrough")) {
|
|
327
|
+
return coverageRule(ruleName, {
|
|
328
|
+
over: scope === "graph" ? "graph" : scope.kind,
|
|
329
|
+
covers: { every: coversEvery, through: str(rule, "coversThrough"), ...(str(rule, "coversVia") ? { via: str(rule, "coversVia") } : {}) },
|
|
330
|
+
...(str(rule, "when") ? { when: str(rule, "when") } : {}),
|
|
331
|
+
...(str(rule, "says") ? { says: str(rule, "says") } : {}),
|
|
332
|
+
title: str(rule, "title") ?? ruleName,
|
|
333
|
+
...(description ? { description } : {}),
|
|
334
|
+
...(repairs.length > 0 ? { repairs } : {}),
|
|
335
|
+
...(bool(rule, "judgesPast") ? { judgesPast: true } : {}),
|
|
336
|
+
});
|
|
337
|
+
}
|
|
319
338
|
const require = str(rule, "require");
|
|
320
339
|
if (require) {
|
|
321
340
|
return expressionRule(ruleName, {
|
|
@@ -510,7 +529,7 @@ function writtenBody(said, ctx) {
|
|
|
510
529
|
const shape = { label: z.string().min(1) };
|
|
511
530
|
for (const field of fields)
|
|
512
531
|
if (field.name !== "label" && field.required && field.type !== "list")
|
|
513
|
-
shape[field.name] = zodFor(field.type, false, field.options);
|
|
532
|
+
shape[field.name] = zodFor(field.type, false, field.options, undefined, field.multiple);
|
|
514
533
|
return {
|
|
515
534
|
...said,
|
|
516
535
|
input: z.object(shape),
|
|
@@ -554,11 +573,11 @@ function writtenBody(said, ctx) {
|
|
|
554
573
|
if (!ctx.on.includes(ctx.kindName.get(kindNode.id) ?? ""))
|
|
555
574
|
continue;
|
|
556
575
|
for (const field of ctx.fieldsOf(kindNode))
|
|
557
|
-
declared.set(field.name, { type: field.type, options: field.options });
|
|
576
|
+
declared.set(field.name, { type: field.type, options: field.options, ...(field.multiple ? { multiple: true } : {}) });
|
|
558
577
|
}
|
|
559
578
|
for (const field of ctx.writes) {
|
|
560
579
|
const known = declared.get(field);
|
|
561
|
-
shape[field] = known ? zodFor(known.type, false, known.options) : z.string().optional();
|
|
580
|
+
shape[field] = known ? zodFor(known.type, false, known.options, undefined, known.multiple) : z.string().optional();
|
|
562
581
|
}
|
|
563
582
|
return {
|
|
564
583
|
...said,
|