@graview/core 0.1.10 → 0.1.14

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 (225) hide show
  1. package/README.md +41 -9
  2. package/dist/address.d.ts +31 -0
  3. package/dist/address.d.ts.map +1 -0
  4. package/dist/address.js +53 -0
  5. package/dist/address.js.map +1 -0
  6. package/dist/app.d.ts +1 -1
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/arrange.d.ts +13 -183
  9. package/dist/arrange.d.ts.map +1 -1
  10. package/dist/arrange.js +12 -470
  11. package/dist/arrange.js.map +1 -1
  12. package/dist/arrangement.d.ts +169 -0
  13. package/dist/arrangement.d.ts.map +1 -0
  14. package/dist/arrangement.js +220 -0
  15. package/dist/arrangement.js.map +1 -0
  16. package/dist/arranging.d.ts +28 -0
  17. package/dist/arranging.d.ts.map +1 -0
  18. package/dist/arranging.js +264 -0
  19. package/dist/arranging.js.map +1 -0
  20. package/dist/blocks.d.ts +5 -0
  21. package/dist/blocks.d.ts.map +1 -0
  22. package/dist/blocks.js +14 -0
  23. package/dist/blocks.js.map +1 -0
  24. package/dist/capabilities.js +1 -1
  25. package/dist/capabilities.js.map +1 -1
  26. package/dist/check.d.ts +8 -0
  27. package/dist/check.d.ts.map +1 -0
  28. package/dist/check.js +19 -0
  29. package/dist/check.js.map +1 -0
  30. package/dist/cli/check/brand.d.ts.map +1 -1
  31. package/dist/cli/check/brand.js +21 -0
  32. package/dist/cli/check/brand.js.map +1 -1
  33. package/dist/cli/check/hidden-reads.d.ts +4 -0
  34. package/dist/cli/check/hidden-reads.d.ts.map +1 -0
  35. package/dist/cli/check/hidden-reads.js +183 -0
  36. package/dist/cli/check/hidden-reads.js.map +1 -0
  37. package/dist/cli/check/index.d.ts +1 -0
  38. package/dist/cli/check/index.d.ts.map +1 -1
  39. package/dist/cli/check/index.js +1 -0
  40. package/dist/cli/check/index.js.map +1 -1
  41. package/dist/cli/check/lenses.d.ts.map +1 -1
  42. package/dist/cli/check/lenses.js +29 -1
  43. package/dist/cli/check/lenses.js.map +1 -1
  44. package/dist/cli/check/views.d.ts.map +1 -1
  45. package/dist/cli/check/views.js +5 -1
  46. package/dist/cli/check/views.js.map +1 -1
  47. package/dist/cli/check.d.ts.map +1 -1
  48. package/dist/cli/check.js +2 -1
  49. package/dist/cli/check.js.map +1 -1
  50. package/dist/cli/create.d.ts.map +1 -1
  51. package/dist/cli/create.js +1 -1
  52. package/dist/cli/create.js.map +1 -1
  53. package/dist/cli/describe.d.ts.map +1 -1
  54. package/dist/cli/describe.js +23 -1
  55. package/dist/cli/describe.js.map +1 -1
  56. package/dist/cli/docs.js +1 -1
  57. package/dist/cli/docs.js.map +1 -1
  58. package/dist/cli/index.d.ts +1 -1
  59. package/dist/cli/index.d.ts.map +1 -1
  60. package/dist/cli/index.js +2 -1
  61. package/dist/cli/index.js.map +1 -1
  62. package/dist/columns.d.ts +105 -0
  63. package/dist/columns.d.ts.map +1 -0
  64. package/dist/columns.js +143 -0
  65. package/dist/columns.js.map +1 -0
  66. package/dist/conformance/fixtures.d.ts.map +1 -1
  67. package/dist/conformance/fixtures.js +19 -1
  68. package/dist/conformance/fixtures.js.map +1 -1
  69. package/dist/conformance/index.js +1 -1
  70. package/dist/conformance/index.js.map +1 -1
  71. package/dist/describe.d.ts +2 -0
  72. package/dist/describe.d.ts.map +1 -1
  73. package/dist/describe.js +7 -0
  74. package/dist/describe.js.map +1 -1
  75. package/dist/document/act-findings.d.ts +5 -0
  76. package/dist/document/act-findings.d.ts.map +1 -0
  77. package/dist/document/act-findings.js +84 -0
  78. package/dist/document/act-findings.js.map +1 -0
  79. package/dist/document/blocks.d.ts +11 -6
  80. package/dist/document/blocks.d.ts.map +1 -1
  81. package/dist/document/blocks.js +21 -31
  82. package/dist/document/blocks.js.map +1 -1
  83. package/dist/document/compile-checked.d.ts +8 -0
  84. package/dist/document/compile-checked.d.ts.map +1 -0
  85. package/dist/document/compile-checked.js +43 -0
  86. package/dist/document/compile-checked.js.map +1 -0
  87. package/dist/document/compile.d.ts +22 -9
  88. package/dist/document/compile.d.ts.map +1 -1
  89. package/dist/document/compile.js +116 -52
  90. package/dist/document/compile.js.map +1 -1
  91. package/dist/document/describe-coverage.d.ts +37 -0
  92. package/dist/document/describe-coverage.d.ts.map +1 -0
  93. package/dist/document/describe-coverage.js +162 -0
  94. package/dist/document/describe-coverage.js.map +1 -0
  95. package/dist/document/describe-place.d.ts.map +1 -1
  96. package/dist/document/describe-place.js +43 -1
  97. package/dist/document/describe-place.js.map +1 -1
  98. package/dist/document/diff.d.ts +5 -0
  99. package/dist/document/diff.d.ts.map +1 -1
  100. package/dist/document/diff.js +18 -4
  101. package/dist/document/diff.js.map +1 -1
  102. package/dist/document/edit.d.ts +1 -1
  103. package/dist/document/edit.d.ts.map +1 -1
  104. package/dist/document/edit.js +155 -10
  105. package/dist/document/edit.js.map +1 -1
  106. package/dist/document/expr/analyze.d.ts.map +1 -1
  107. package/dist/document/expr/analyze.js +2 -1
  108. package/dist/document/expr/analyze.js.map +1 -1
  109. package/dist/document/expr/evaluate.d.ts.map +1 -1
  110. package/dist/document/expr/evaluate.js +26 -2
  111. package/dist/document/expr/evaluate.js.map +1 -1
  112. package/dist/document/expr/parse.d.ts +2 -1
  113. package/dist/document/expr/parse.d.ts.map +1 -1
  114. package/dist/document/expr/parse.js +6 -3
  115. package/dist/document/expr/parse.js.map +1 -1
  116. package/dist/document/expr/print.d.ts.map +1 -1
  117. package/dist/document/expr/print.js +4 -2
  118. package/dist/document/expr/print.js.map +1 -1
  119. package/dist/document/far-end.d.ts +15 -0
  120. package/dist/document/far-end.d.ts.map +1 -0
  121. package/dist/document/far-end.js +26 -0
  122. package/dist/document/far-end.js.map +1 -0
  123. package/dist/document/graview-template.d.ts +20 -12
  124. package/dist/document/graview-template.d.ts.map +1 -1
  125. package/dist/document/graview-template.js +5 -44
  126. package/dist/document/graview-template.js.map +1 -1
  127. package/dist/document/index.d.ts +5 -11
  128. package/dist/document/index.d.ts.map +1 -1
  129. package/dist/document/index.js +3 -6
  130. package/dist/document/index.js.map +1 -1
  131. package/dist/document/instantiate-template.d.ts +14 -0
  132. package/dist/document/instantiate-template.d.ts.map +1 -0
  133. package/dist/document/instantiate-template.js +46 -0
  134. package/dist/document/instantiate-template.js.map +1 -0
  135. package/dist/document/migrate.d.ts.map +1 -1
  136. package/dist/document/migrate.js +7 -5
  137. package/dist/document/migrate.js.map +1 -1
  138. package/dist/document/range.d.ts +17 -0
  139. package/dist/document/range.d.ts.map +1 -0
  140. package/dist/document/range.js +46 -0
  141. package/dist/document/range.js.map +1 -0
  142. package/dist/document/schema.d.ts +34 -2
  143. package/dist/document/schema.d.ts.map +1 -1
  144. package/dist/document/schema.js +25 -1
  145. package/dist/document/schema.js.map +1 -1
  146. package/dist/document/template.d.ts +18 -2
  147. package/dist/document/template.d.ts.map +1 -1
  148. package/dist/document/template.js +27 -9
  149. package/dist/document/template.js.map +1 -1
  150. package/dist/document/thumbnail.d.ts +26 -4
  151. package/dist/document/thumbnail.d.ts.map +1 -1
  152. package/dist/document/thumbnail.js +165 -50
  153. package/dist/document/thumbnail.js.map +1 -1
  154. package/dist/document/to-document.d.ts.map +1 -1
  155. package/dist/document/to-document.js +18 -2
  156. package/dist/document/to-document.js.map +1 -1
  157. package/dist/document/views.d.ts +11 -0
  158. package/dist/document/views.d.ts.map +1 -1
  159. package/dist/document/views.js +76 -12
  160. package/dist/document/views.js.map +1 -1
  161. package/dist/figures.d.ts +3 -0
  162. package/dist/figures.d.ts.map +1 -0
  163. package/dist/figures.js +14 -0
  164. package/dist/figures.js.map +1 -0
  165. package/dist/index.d.ts +3 -13
  166. package/dist/index.d.ts.map +1 -1
  167. package/dist/index.js +3 -9
  168. package/dist/index.js.map +1 -1
  169. package/dist/mutations/define-mutation.d.ts.map +1 -1
  170. package/dist/mutations/define-mutation.js +9 -1
  171. package/dist/mutations/define-mutation.js.map +1 -1
  172. package/dist/mutations/derive-edits.d.ts +8 -0
  173. package/dist/mutations/derive-edits.d.ts.map +1 -1
  174. package/dist/mutations/derive-edits.js +30 -7
  175. package/dist/mutations/derive-edits.js.map +1 -1
  176. package/dist/mutations/form.d.ts +2 -0
  177. package/dist/mutations/form.d.ts.map +1 -1
  178. package/dist/mutations/form.js +1 -0
  179. package/dist/mutations/form.js.map +1 -1
  180. package/dist/mutations/node-ref.d.ts +4 -1
  181. package/dist/mutations/node-ref.d.ts.map +1 -1
  182. package/dist/mutations/node-ref.js +6 -0
  183. package/dist/mutations/node-ref.js.map +1 -1
  184. package/dist/mutations/types.d.ts +28 -0
  185. package/dist/mutations/types.d.ts.map +1 -1
  186. package/dist/places.d.ts +11 -0
  187. package/dist/places.d.ts.map +1 -1
  188. package/dist/places.js +19 -1
  189. package/dist/places.js.map +1 -1
  190. package/dist/refusal.d.ts.map +1 -1
  191. package/dist/refusal.js +4 -0
  192. package/dist/refusal.js.map +1 -1
  193. package/dist/refused.d.ts +20 -0
  194. package/dist/refused.d.ts.map +1 -0
  195. package/dist/refused.js +24 -0
  196. package/dist/refused.js.map +1 -0
  197. package/dist/scaffold/domain.js +1 -1
  198. package/dist/scaffold/from-template.d.ts.map +1 -1
  199. package/dist/scaffold/from-template.js +3 -3
  200. package/dist/scaffold/from-template.js.map +1 -1
  201. package/dist/scaffold/project.d.ts.map +1 -1
  202. package/dist/scaffold/project.js +7 -0
  203. package/dist/scaffold/project.js.map +1 -1
  204. package/dist/scene-districts.d.ts +5 -1
  205. package/dist/scene-districts.d.ts.map +1 -1
  206. package/dist/scene-districts.js +11 -4
  207. package/dist/scene-districts.js.map +1 -1
  208. package/dist/scene.d.ts +7 -0
  209. package/dist/scene.d.ts.map +1 -0
  210. package/dist/scene.js +16 -0
  211. package/dist/scene.js.map +1 -0
  212. package/dist/search.d.ts +1 -1
  213. package/dist/search.d.ts.map +1 -1
  214. package/dist/search.js +1 -1
  215. package/dist/search.js.map +1 -1
  216. package/dist/theme/derive.d.ts.map +1 -1
  217. package/dist/theme/derive.js +5 -4
  218. package/dist/theme/derive.js.map +1 -1
  219. package/dist/theme/types.d.ts +9 -0
  220. package/dist/theme/types.d.ts.map +1 -1
  221. package/dist/theme/types.js +5 -0
  222. package/dist/theme/types.js.map +1 -1
  223. package/dist/version.d.ts +1 -1
  224. package/dist/version.js +1 -1
  225. package/package.json +21 -1
@@ -0,0 +1,105 @@
1
+ import type { AnyMutationDefinition, MutationCall } from "./mutations/types.js";
2
+ import type { Principal } from "./permissions/types.js";
3
+ import type { AnySchema } from "./schema/schema.js";
4
+ import type { Store } from "./store.js";
5
+ /**
6
+ * A STATUS BOARD'S COLUMNS AND ITS MOVES (FR-97).
7
+ *
8
+ * The `columns` lens draws a kind's records in columns by one choice field
9
+ * — a task's status, an application's stage — and offers to move a card to
10
+ * another column only where the declaration already has an act that does
11
+ * it. Both halves are read here, below the package that draws them, so the
12
+ * picture, `describePlace` and `graview describe` say the same columns in
13
+ * the same order and the same moves for the same seat.
14
+ */
15
+ /** One column: a value the field takes, and how the declaration says it; `null` is the column of records with no value. */
16
+ export interface StatusColumn {
17
+ readonly value: string | null;
18
+ readonly label: string;
19
+ }
20
+ /** A choice field, as a status board reads it (FR-97). */
21
+ export interface Choice {
22
+ readonly values: readonly string[];
23
+ /** Whether a record may have no value at all: optional or nullable, and no default fills it. */
24
+ readonly empty: boolean;
25
+ }
26
+ /** A field's choices, in their declared order, and whether it may be left empty; undefined when it is not a choice. */
27
+ export declare function choiceOf(schema: AnySchema, kind: string, field: string): Choice | undefined;
28
+ /**
29
+ * THE COLUMNS, IN THE FIELD'S DECLARED ORDER — "todo, doing, done" as the
30
+ * declaration lists them, never alphabetised — each said as the declaration
31
+ * says the value. When a record may have no value, a last column holds
32
+ * those ("No status"), as a grouped list puts its "No …" group last: the
33
+ * board's columns are the work's order, and the unsorted pile follows it.
34
+ */
35
+ export declare function statusColumns(schema: AnySchema, kind: string, field: string): readonly StatusColumn[];
36
+ /** Which column a record stands in: its value when it is one of the columns, the empty column otherwise. */
37
+ export declare function columnOf(record: Readonly<Record<string, unknown>>, field: string, columns: readonly StatusColumn[]): string | null;
38
+ /** A move a seat may make: the act that sets the field to this column's value, as the call it would run. */
39
+ export interface ColumnMove {
40
+ readonly to: string;
41
+ readonly call: MutationCall;
42
+ /** The act's title, for saying what the move does. */
43
+ readonly title: string;
44
+ }
45
+ /**
46
+ * THE MOVES A SEAT MAY MAKE WITH ONE RECORD, derived from the acts rather
47
+ * than invented by the lens.
48
+ *
49
+ * Two kinds of act move a card, read from the declaration (`columnReach`):
50
+ *
51
+ * - A NAMED STEP (FR-108) sets the field to one value whatever it is told
52
+ * — `book`, `mark-fixed`, `reopen` — and is the move to that value's
53
+ * column. It is called with the record alone, so a step that needs
54
+ * anything else the board cannot supply (a reason, a date, another
55
+ * record) is not offered.
56
+ * - A FREE ACT writes the field (`writes`, read as the checker reads it)
57
+ * and can be TOLD the value: its input takes the record as its subject
58
+ * and the value under the field's own name, and nothing else it
59
+ * requires — `set-status`, or the kind's derived edit when nothing
60
+ * declared writes the field.
61
+ *
62
+ * A column a named step reaches is reached ONLY by its steps: the step
63
+ * wins over a free act, and where the step's condition does not hold for
64
+ * this record the free act does not stand in for it — the condition, and
65
+ * what the step also records, are never skipped by a drag.
66
+ *
67
+ * Each candidate call is then asked two things, in the order of the acts
68
+ * (declared order, the derived edit last): may this seat run it
69
+ * (`store.permits`, the answer `apply` would give), and would it run for
70
+ * THIS record — compiled against the graph without applying, so its
71
+ * `allowedWhen` is judged by the rule language under its budget and a
72
+ * refusal is no move. The first that passes is the move; a seat with no
73
+ * such act has no moves, and a board drawn for it offers none. The cost is
74
+ * at most one compile per act per column per card, and a column stops at
75
+ * the first act that passes.
76
+ */
77
+ export declare function columnMoves<S extends AnySchema>(store: Store<S>, principal: Principal, record: {
78
+ readonly id: string;
79
+ readonly kind: string;
80
+ } & Readonly<Record<string, unknown>>, field: string, columns?: readonly StatusColumn[]): readonly ColumnMove[];
81
+ /** One column, and the acts that may move a record into it: its named steps, or else the free acts that take the value. */
82
+ export interface ColumnReach<S extends AnySchema = AnySchema> {
83
+ readonly value: string;
84
+ readonly label: string;
85
+ /** `step` when named steps reach it (and only they do), `value` when free acts are told the value, `none` when nothing does. */
86
+ readonly by: "step" | "value" | "none";
87
+ readonly acts: readonly AnyMutationDefinition<S>[];
88
+ }
89
+ /**
90
+ * WHICH ACTS REACH WHICH COLUMN, for any seat (FR-108): each column with a
91
+ * value, with the named steps that set the field to it, in declared order —
92
+ * or, where no step does, the free acts that take the value (`columnActs`).
93
+ * What `graview describe` says column by column, and what `columnMoves`
94
+ * asks the policy and the record about.
95
+ */
96
+ export declare function columnReach<S extends AnySchema>(schema: S, mutations: readonly AnyMutationDefinition<S>[], kind: string, field: string, columns?: readonly StatusColumn[]): readonly ColumnReach<S>[];
97
+ /** The named steps of a kind's field: acts that stand on the kind and set the field to a value of their own (`sets`), in declared order. */
98
+ export declare function columnSteps<S extends AnySchema>(schema: S, mutations: readonly AnyMutationDefinition<S>[], kind: string, field: string): readonly AnyMutationDefinition<S>[];
99
+ /**
100
+ * The free acts that could move a record of this kind between columns, for
101
+ * any seat: they write the field, stand on the kind, and take the value
102
+ * under the field's own name. Declared acts first, then the derived edit.
103
+ */
104
+ export declare function columnActs<S extends AnySchema>(schema: S, mutations: readonly AnyMutationDefinition<S>[], kind: string, field: string): readonly AnyMutationDefinition<S>[];
105
+ //# sourceMappingURL=columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ import { compileMutation } from "./mutations/define-mutation.js";
2
+ import { fieldsWrittenBy, subjectKindsOf } from "./mutations/derive-edits.js";
3
+ import { fieldWords, valueWords } from "./schema/define-node.js";
4
+ import { defOf } from "./schema/zod.js";
5
+ /** A field's choices, in their declared order, and whether it may be left empty; undefined when it is not a choice. */
6
+ export function choiceOf(schema, kind, field) {
7
+ // Read from zod's own definition, through optional and default, rather than through the JSON-schema writer a page need not carry.
8
+ const shape = schema.tryDefinition(kind)?.fields.shape;
9
+ let def = defOf(shape?.[field]);
10
+ let empty = false;
11
+ let filled = false;
12
+ while (def && (def.type === "optional" || def.type === "default" || def.type === "nullable" || def.type === "prefault")) {
13
+ if (def.type === "optional" || def.type === "nullable")
14
+ empty = true;
15
+ if (def.type === "default" || def.type === "prefault")
16
+ filled = true;
17
+ def = defOf(def.innerType);
18
+ }
19
+ if (def?.type !== "enum")
20
+ return undefined;
21
+ const values = (def.entries ? Object.values(def.entries) : (def.values ?? [])).filter((value) => typeof value === "string");
22
+ return values.length > 0 ? { values, empty: empty && !filled } : undefined;
23
+ }
24
+ /**
25
+ * THE COLUMNS, IN THE FIELD'S DECLARED ORDER — "todo, doing, done" as the
26
+ * declaration lists them, never alphabetised — each said as the declaration
27
+ * says the value. When a record may have no value, a last column holds
28
+ * those ("No status"), as a grouped list puts its "No …" group last: the
29
+ * board's columns are the work's order, and the unsorted pile follows it.
30
+ */
31
+ export function statusColumns(schema, kind, field) {
32
+ const choice = choiceOf(schema, kind, field);
33
+ if (!choice)
34
+ return [];
35
+ const definition = schema.tryDefinition(kind);
36
+ const columns = choice.values.map((value) => ({ value, label: valueWords(definition, field, value) }));
37
+ if (choice.empty)
38
+ columns.push({ value: null, label: `No ${fieldWords(definition, field).toLowerCase()}` });
39
+ return columns;
40
+ }
41
+ /** Which column a record stands in: its value when it is one of the columns, the empty column otherwise. */
42
+ export function columnOf(record, field, columns) {
43
+ const value = record[field];
44
+ return typeof value === "string" && columns.some((column) => column.value === value) ? value : null;
45
+ }
46
+ /**
47
+ * THE MOVES A SEAT MAY MAKE WITH ONE RECORD, derived from the acts rather
48
+ * than invented by the lens.
49
+ *
50
+ * Two kinds of act move a card, read from the declaration (`columnReach`):
51
+ *
52
+ * - A NAMED STEP (FR-108) sets the field to one value whatever it is told
53
+ * — `book`, `mark-fixed`, `reopen` — and is the move to that value's
54
+ * column. It is called with the record alone, so a step that needs
55
+ * anything else the board cannot supply (a reason, a date, another
56
+ * record) is not offered.
57
+ * - A FREE ACT writes the field (`writes`, read as the checker reads it)
58
+ * and can be TOLD the value: its input takes the record as its subject
59
+ * and the value under the field's own name, and nothing else it
60
+ * requires — `set-status`, or the kind's derived edit when nothing
61
+ * declared writes the field.
62
+ *
63
+ * A column a named step reaches is reached ONLY by its steps: the step
64
+ * wins over a free act, and where the step's condition does not hold for
65
+ * this record the free act does not stand in for it — the condition, and
66
+ * what the step also records, are never skipped by a drag.
67
+ *
68
+ * Each candidate call is then asked two things, in the order of the acts
69
+ * (declared order, the derived edit last): may this seat run it
70
+ * (`store.permits`, the answer `apply` would give), and would it run for
71
+ * THIS record — compiled against the graph without applying, so its
72
+ * `allowedWhen` is judged by the rule language under its budget and a
73
+ * refusal is no move. The first that passes is the move; a seat with no
74
+ * such act has no moves, and a board drawn for it offers none. The cost is
75
+ * at most one compile per act per column per card, and a column stops at
76
+ * the first act that passes.
77
+ */
78
+ export function columnMoves(store, principal, record, field, columns = statusColumns(store.schema, record.kind, field)) {
79
+ const reach = columnReach(store.schema, store.allMutations(), record.kind, field, columns);
80
+ const here = columnOf(record, field, columns);
81
+ const moves = [];
82
+ for (const { value, by, acts } of reach) {
83
+ if (value === here)
84
+ continue;
85
+ for (const act of acts) {
86
+ const args = by === "step" ? { [act.subject.arg]: record.id } : { [act.subject.arg]: record.id, [field]: value };
87
+ const call = { name: act.name, args };
88
+ if (!act.input.safeParse(args).success)
89
+ continue;
90
+ if (!store.permits(call, principal).ok)
91
+ continue;
92
+ try {
93
+ compileMutation(store.graph, act, args);
94
+ }
95
+ catch {
96
+ continue;
97
+ }
98
+ moves.push({ to: value, call, title: act.title ?? act.name });
99
+ break;
100
+ }
101
+ }
102
+ return moves;
103
+ }
104
+ /**
105
+ * WHICH ACTS REACH WHICH COLUMN, for any seat (FR-108): each column with a
106
+ * value, with the named steps that set the field to it, in declared order —
107
+ * or, where no step does, the free acts that take the value (`columnActs`).
108
+ * What `graview describe` says column by column, and what `columnMoves`
109
+ * asks the policy and the record about.
110
+ */
111
+ export function columnReach(schema, mutations, kind, field, columns = statusColumns(schema, kind, field)) {
112
+ const steps = columnSteps(schema, mutations, kind, field);
113
+ const free = columnActs(schema, mutations, kind, field);
114
+ return columns.flatMap((column) => {
115
+ if (column.value === null)
116
+ return [];
117
+ const here = steps.filter((act) => act.sets?.[field] === column.value);
118
+ return [{ value: column.value, label: column.label, by: here.length > 0 ? "step" : free.length > 0 ? "value" : "none", acts: here.length > 0 ? here : free }];
119
+ });
120
+ }
121
+ /** The named steps of a kind's field: acts that stand on the kind and set the field to a value of their own (`sets`), in declared order. */
122
+ export function columnSteps(schema, mutations, kind, field) {
123
+ return mutations.filter((mutation) => mutation.subject !== undefined && mutation.derived === undefined && typeof mutation.sets?.[field] === "string" && subjectKindsOf(schema, mutation).includes(kind));
124
+ }
125
+ /**
126
+ * The free acts that could move a record of this kind between columns, for
127
+ * any seat: they write the field, stand on the kind, and take the value
128
+ * under the field's own name. Declared acts first, then the derived edit.
129
+ */
130
+ export function columnActs(schema, mutations, kind, field) {
131
+ const definition = schema.tryDefinition(kind);
132
+ if (!definition)
133
+ return [];
134
+ return mutations
135
+ .filter((mutation) => {
136
+ if (!mutation.subject || !subjectKindsOf(schema, mutation).includes(kind) || !fieldsWrittenBy(mutation, definition).includes(field))
137
+ return false;
138
+ const shape = mutation.input.shape;
139
+ return shape !== undefined && field in shape;
140
+ })
141
+ .sort((a, b) => Number(a.derived !== undefined) - Number(b.derived !== undefined));
142
+ }
143
+ //# sourceMappingURL=columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CAC1I;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,UAAU,CAAC;AAE9D,+IAA+I;AAC/I,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,EAAO,CAAC;AAErD,eAAO,MAAM,QAAQ,EAAE,SAAS,kBAAkB,EAm7BxC,CAAC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CAC1I;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,UAAU,CAAC;AAE9D,+IAA+I;AAC/I,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,EAW5C,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAAS,kBAAkB,EA07BxC,CAAC"}
@@ -1,4 +1,15 @@
1
- export const ANNOUNCED = [];
1
+ export const ANNOUNCED = [
2
+ {
3
+ fixture: "document:vendors",
4
+ version: "0.1.14",
5
+ what: "FR-110: edit-category takes name — add-to-category makes a vendor named $name and no longer counts as writing the category's name — and edit-category and edit-vendor refuse an argument they do not take (additionalProperties: false).",
6
+ },
7
+ {
8
+ fixture: "document:two-lines",
9
+ version: "0.1.14",
10
+ what: "FR-110: edit-chore refuses an argument it does not take (additionalProperties: false).",
11
+ },
12
+ ];
2
13
  export const FIXTURES = [
3
14
  {
4
15
  "id": "document:vendors",
@@ -375,12 +386,17 @@ export const FIXTURES = [
375
386
  "edit-category": {
376
387
  "$schema": "https://json-schema.org/draft/2020-12/schema",
377
388
  "type": "object",
389
+ "additionalProperties": false,
378
390
  "properties": {
379
391
  "id": {
380
392
  "type": "string",
381
393
  "minLength": 1,
382
394
  "description": "Id of a node (category)."
383
395
  },
396
+ "name": {
397
+ "type": "string",
398
+ "maxLength": 500
399
+ },
384
400
  "budget": {
385
401
  "type": "number"
386
402
  }
@@ -392,6 +408,7 @@ export const FIXTURES = [
392
408
  "edit-vendor": {
393
409
  "$schema": "https://json-schema.org/draft/2020-12/schema",
394
410
  "type": "object",
411
+ "additionalProperties": false,
395
412
  "properties": {
396
413
  "id": {
397
414
  "type": "string",
@@ -505,6 +522,7 @@ export const FIXTURES = [
505
522
  "edit-chore": {
506
523
  "$schema": "https://json-schema.org/draft/2020-12/schema",
507
524
  "type": "object",
525
+ "additionalProperties": false,
508
526
  "properties": {
509
527
  "id": {
510
528
  "type": "string",
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { checkApp } from "../cli/check.js";
2
- import { compileDocument } from "../document/compile.js";
2
+ import { compileDocument } from "../document/compile-checked.js";
3
3
  import { snapshotHash } from "../integrity.js";
4
4
  import { deriveMutations } from "../mutations/derive-edits.js";
5
5
  import { OperationLog } from "../ops/log.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAepD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAc/B,MAAM,CAAC,MAAM,UAAU,GAAqB;IAC1C,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,GAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAChG,CAAC;IACD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,QAAiB,CAAC;IAC3D,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAW;IAC/E,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,QAAiB,CAAC,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,GAAY,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzG,CAAC;IACD,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;CAC3G,CAAC;AAgBF,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC;AACvE,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACvE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC;aACpC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,KAAiC,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;aACtE,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,SAAS,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;aAC5F,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,QAAmC,EAAE;IAC/D,MAAM,GAAG,GAAqB,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,EAAE,CAAC;IAC1D,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;IACrD,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAA2B,CAAC,CAAC;IAChI,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5C,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpH,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG;oBAAE,SAAS;gBAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/J,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC5C,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAAE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACvM,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;oBAClB,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3F,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,GAA2B,CAAC,CAAC,CAAC;gBAC3F,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI;oBAAE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACzI,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;AACjF,CAAC"}
@@ -1,3 +1,5 @@
1
1
  export { describePlace, placeText } from "./document/describe-place.js";
2
+ export { columnActs, columnMoves, columnOf, columnReach, columnSteps, statusColumns } from "./columns.js";
3
+ export type { ColumnMove, ColumnReach, StatusColumn } from "./columns.js";
2
4
  export type { DescribedItem, DescribedPart, DescribedProblem, DescribePlaceOptions, DescribePlaceResult, PlaceDescription } from "./document/describe-place.js";
3
5
  //# sourceMappingURL=describe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOxE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1G,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
package/dist/describe.js CHANGED
@@ -9,4 +9,11 @@
9
9
  * the seat does.
10
10
  */
11
11
  export { describePlace, placeText } from "./document/describe-place.js";
12
+ /*
13
+ * A status board's columns and the moves a seat's acts make between them
14
+ * (FR-97): what the board shows one seat, here for the same reason — only
15
+ * the board's own drawing, fetched when it is first drawn, and the
16
+ * describer reach it.
17
+ */
18
+ export { columnActs, columnMoves, columnOf, columnReach, columnSteps, statusColumns } from "./columns.js";
12
19
  //# sourceMappingURL=describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../src/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type Finding } from "./findings.js";
2
+ import type { GraviewDocument } from "./schema.js";
3
+ /** Every range and other-end finding of a document, in its order: fields, then acts. */
4
+ export declare function actFindings(document: GraviewDocument): Finding[];
5
+ //# sourceMappingURL=act-findings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"act-findings.d.ts","sourceRoot":"","sources":["../../src/document/act-findings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAW,eAAe,EAAE,MAAM,aAAa,CAAC;AAqE5D,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,EAAE,CAEhE"}
@@ -0,0 +1,84 @@
1
+ import { withArticle } from "../schema/define-node.js";
2
+ import { farEnd } from "./far-end.js";
3
+ import { error } from "./findings.js";
4
+ import { outsideRange } from "./range.js";
5
+ /*
6
+ * WHAT A DOCUMENT SAYS OF ITS RANGES AND OF THE OTHER END OF ITS LINKS
7
+ * (FR-114, FR-115), judged with the checker (`compileDocument`) and not by
8
+ * a page that compiles a document its host has already judged: these are
9
+ * the host's to refuse when the document is kept, and the hosted page does
10
+ * not carry them (FR-57).
11
+ */
12
+ const asArray = (v) => (v === undefined ? [] : Array.isArray(v) ? v : [v]);
13
+ /** A number field's range, and its default against it (FR-114). */
14
+ function rangeFindings(document) {
15
+ const out = [];
16
+ for (const [kind, spec] of Object.entries(document.kinds)) {
17
+ for (const [field, f] of Object.entries(spec.fields)) {
18
+ const at = `kinds.${kind}.fields.${field}`;
19
+ const numeric = f.type === "number" || f.type === "integer";
20
+ for (const key of ["min", "max", "step"])
21
+ if (!numeric && f[key] !== undefined)
22
+ out.push(error("field-range", `${at}.${key}`, `"${key}" belongs only on a number or integer field`));
23
+ if (numeric && f.min !== undefined && f.max !== undefined && f.min > f.max)
24
+ out.push(error("field-range", `${at}.max`, `"max" (${f.max}) is below "min" (${f.min})`));
25
+ if (numeric && f.step !== undefined && !(f.step > 0))
26
+ out.push(error("field-range", `${at}.step`, '"step" is more than zero, like 1 or 0.5'));
27
+ // A default is a value the field takes, so it is inside the field's range.
28
+ const outside = f.default !== undefined ? outsideRange(f.default, f, field) : undefined;
29
+ if (outside)
30
+ out.push(error("default-range", `${at}.default`, outside));
31
+ }
32
+ }
33
+ return out;
34
+ }
35
+ /**
36
+ * What an act says of the other end of what it connects (FR-115): a
37
+ * `setsOther` needs a relation to have an other end, and sets fields that
38
+ * record has; a `replaces` needs a link it is making, and names relations
39
+ * that join the subject to the kinds that link does.
40
+ */
41
+ function otherEndFindings(name, act, document) {
42
+ const out = [];
43
+ const at = `acts.${name}`;
44
+ const subject = asArray(act.on);
45
+ const relation = act.connects ?? act.severs;
46
+ const end = relation ? farEnd(document.kinds, relation, subject) : undefined;
47
+ if (act.setsOther) {
48
+ if (!relation)
49
+ out.push(error("act-sets-other", `${at}.setsOther`, `"${name}" sets the record at the other end of what it connects, and connects nothing`, 'say what it "connects" (or "severs"), or set its subject with "sets"'));
50
+ else if (end && end.kinds !== "*") {
51
+ for (const field of Object.keys(act.setsOther)) {
52
+ for (const kind of end.kinds) {
53
+ const spec = document.kinds[kind];
54
+ if (!spec || spec.fields[field])
55
+ continue;
56
+ if (spec.computed?.[field] !== undefined)
57
+ out.push(error("computed-written", `${at}.setsOther.${field}`, `${kind}'s ${field} is worked out, not written: no act can set it`, "set the stored fields it is worked out from"));
58
+ else
59
+ out.push(error("act-field", `${at}.setsOther.${field}`, `${kind} has no field "${field}"`));
60
+ }
61
+ }
62
+ }
63
+ }
64
+ if (act.replaces) {
65
+ if (!act.connects)
66
+ out.push(error("act-replaces", `${at}.replaces`, `"${name}" replaces the links of what it connects, and connects nothing`, 'say what it "connects", or sever with "severs"'));
67
+ else if (act.replaces !== true && end && end.kinds !== "*") {
68
+ const toward = end.kinds;
69
+ for (const other of act.replaces) {
70
+ const there = farEnd(document.kinds, other, subject);
71
+ if (!there)
72
+ out.push(error("act-edge", `${at}.replaces`, `"${other}" is not a relation any kind declares`));
73
+ else if (there.kinds !== "*" && !there.kinds.some((kind) => toward.includes(kind)))
74
+ out.push(error("act-replaces", `${at}.replaces`, `"${other}" does not join ${subject.join(" or ")} to ${withArticle(toward[0] ?? "record")}, so "${name}" has no such links to replace`));
75
+ }
76
+ }
77
+ }
78
+ return out;
79
+ }
80
+ /** Every range and other-end finding of a document, in its order: fields, then acts. */
81
+ export function actFindings(document) {
82
+ return [...rangeFindings(document), ...Object.entries(document.acts ?? {}).flatMap(([name, act]) => otherEndFindings(name, act, document))];
83
+ }
84
+ //# sourceMappingURL=act-findings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"act-findings.js","sourceRoot":"","sources":["../../src/document/act-findings.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { valueWords } from "../schema/define-node.js";
4
4
  import { type KindShape } from "./expr/evaluate.js";
5
5
  import { type Expr } from "./expr/parse.js";
6
6
  import type { FieldSpec } from "./schema.js";
7
- import { type TemplatePart } from "./template.js";
7
+ import { type Money, type TemplatePart } from "./template.js";
8
8
  import { LIST_AS, VIEW_FIELD_FORMATS, type FigureFormat, type ViewBlock, type ViewTone } from "./views.js";
9
9
  type Parsed<T> = T | null;
10
10
  type Tone = ViewTone | {
@@ -22,12 +22,15 @@ export type SpecBlock = {
22
22
  readonly t: "field";
23
23
  readonly field: string;
24
24
  readonly as?: (typeof VIEW_FIELD_FORMATS)[number];
25
+ readonly currency?: string;
25
26
  readonly label?: string;
26
- } | {
27
+ }
28
+ /** A figure's and a meter's label is a template, read like a headline (FR-99). */
29
+ | {
27
30
  readonly t: "progress";
28
31
  readonly value: Parsed<Expr>;
29
32
  readonly max: Parsed<Expr>;
30
- readonly label?: string;
33
+ readonly label?: Parsed<readonly TemplatePart[]>;
31
34
  } | {
32
35
  readonly t: "group";
33
36
  readonly blocks: readonly SpecBlock[];
@@ -48,7 +51,7 @@ export type SpecBlock = {
48
51
  readonly value: Parsed<Expr>;
49
52
  readonly as?: FigureFormat;
50
53
  readonly currency?: string;
51
- readonly label?: string;
54
+ readonly label?: Parsed<readonly TemplatePart[]>;
52
55
  } | {
53
56
  readonly t: "list";
54
57
  /** The records, in their order: a `sort` by a key is part of the expression, `sort(<list>, <key>, <direction>)`. */
@@ -88,6 +91,8 @@ export interface BlockContext {
88
91
  /** How the declaration says a field and its values (`display.labels`, `display.format`). */
89
92
  readonly definition?: Parameters<typeof valueWords>[0];
90
93
  readonly today: string;
94
+ /** The app's currency and locale (`brand.currency`, `brand.locale`): what money is said in where a block names no currency (FR-100). */
95
+ readonly money?: Money;
91
96
  }
92
97
  /** A block worked out: what a face draws and a describer says. `problem` is what could not be worked out, in words. */
93
98
  export type ResolvedBlock = {
@@ -170,8 +175,8 @@ export interface ResolvedList {
170
175
  }
171
176
  /** Only http(s) is ever a link; anything else — `javascript:`, `data:`, a typo — is shown as words. */
172
177
  export declare function safeHref(value: unknown): string | undefined;
173
- /** A figure's words: a number in figures, money (in a currency when it names one) or a fraction as a percent. */
174
- export declare function sayNumber(value: string | number | boolean, as: FigureFormat | undefined, currency: string | undefined, today: string): string;
178
+ /** A figure's words: a number in figures, money (in the currency it names, else the app's — FR-100) or a fraction as a percent. */
179
+ export declare function sayNumber(value: string | number | boolean, as: FigureFormat | undefined, currency: string | undefined, today: string, money?: Money): string;
175
180
  /** Blocks worked out for one record — or for none. Pure: everything they read is in `ctx`. */
176
181
  export declare function resolveBlocks(blocks: readonly SpecBlock[], ctx: BlockContext): readonly ResolvedBlock[];
177
182
  /** Whether a block takes more than one line: a list, a headline or a figure, or a group or condition holding one. */