@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.
- package/README.md +41 -9
- package/dist/address.d.ts +31 -0
- package/dist/address.d.ts.map +1 -0
- package/dist/address.js +53 -0
- package/dist/address.js.map +1 -0
- package/dist/app.d.ts +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/arrange.d.ts +13 -183
- package/dist/arrange.d.ts.map +1 -1
- package/dist/arrange.js +12 -470
- package/dist/arrange.js.map +1 -1
- package/dist/arrangement.d.ts +169 -0
- package/dist/arrangement.d.ts.map +1 -0
- package/dist/arrangement.js +220 -0
- package/dist/arrangement.js.map +1 -0
- package/dist/arranging.d.ts +28 -0
- package/dist/arranging.d.ts.map +1 -0
- package/dist/arranging.js +264 -0
- package/dist/arranging.js.map +1 -0
- package/dist/blocks.d.ts +5 -0
- package/dist/blocks.d.ts.map +1 -0
- package/dist/blocks.js +14 -0
- package/dist/blocks.js.map +1 -0
- package/dist/capabilities.js +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/check.d.ts +8 -0
- package/dist/check.d.ts.map +1 -0
- package/dist/check.js +19 -0
- package/dist/check.js.map +1 -0
- package/dist/cli/check/brand.d.ts.map +1 -1
- package/dist/cli/check/brand.js +21 -0
- package/dist/cli/check/brand.js.map +1 -1
- package/dist/cli/check/hidden-reads.d.ts +4 -0
- package/dist/cli/check/hidden-reads.d.ts.map +1 -0
- package/dist/cli/check/hidden-reads.js +183 -0
- package/dist/cli/check/hidden-reads.js.map +1 -0
- package/dist/cli/check/index.d.ts +1 -0
- package/dist/cli/check/index.d.ts.map +1 -1
- package/dist/cli/check/index.js +1 -0
- package/dist/cli/check/index.js.map +1 -1
- package/dist/cli/check/lenses.d.ts.map +1 -1
- package/dist/cli/check/lenses.js +29 -1
- package/dist/cli/check/lenses.js.map +1 -1
- package/dist/cli/check/views.d.ts.map +1 -1
- package/dist/cli/check/views.js +5 -1
- package/dist/cli/check/views.js.map +1 -1
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +2 -1
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +1 -1
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/describe.d.ts.map +1 -1
- package/dist/cli/describe.js +23 -1
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/docs.js +1 -1
- package/dist/cli/docs.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/columns.d.ts +105 -0
- package/dist/columns.d.ts.map +1 -0
- package/dist/columns.js +143 -0
- package/dist/columns.js.map +1 -0
- package/dist/conformance/fixtures.d.ts.map +1 -1
- package/dist/conformance/fixtures.js +19 -1
- package/dist/conformance/fixtures.js.map +1 -1
- package/dist/conformance/index.js +1 -1
- package/dist/conformance/index.js.map +1 -1
- package/dist/describe.d.ts +2 -0
- package/dist/describe.d.ts.map +1 -1
- package/dist/describe.js +7 -0
- package/dist/describe.js.map +1 -1
- package/dist/document/act-findings.d.ts +5 -0
- package/dist/document/act-findings.d.ts.map +1 -0
- package/dist/document/act-findings.js +84 -0
- package/dist/document/act-findings.js.map +1 -0
- package/dist/document/blocks.d.ts +11 -6
- package/dist/document/blocks.d.ts.map +1 -1
- package/dist/document/blocks.js +21 -31
- package/dist/document/blocks.js.map +1 -1
- package/dist/document/compile-checked.d.ts +8 -0
- package/dist/document/compile-checked.d.ts.map +1 -0
- package/dist/document/compile-checked.js +43 -0
- package/dist/document/compile-checked.js.map +1 -0
- package/dist/document/compile.d.ts +22 -9
- package/dist/document/compile.d.ts.map +1 -1
- package/dist/document/compile.js +116 -52
- package/dist/document/compile.js.map +1 -1
- package/dist/document/describe-coverage.d.ts +37 -0
- package/dist/document/describe-coverage.d.ts.map +1 -0
- package/dist/document/describe-coverage.js +162 -0
- package/dist/document/describe-coverage.js.map +1 -0
- package/dist/document/describe-place.d.ts.map +1 -1
- package/dist/document/describe-place.js +43 -1
- package/dist/document/describe-place.js.map +1 -1
- package/dist/document/diff.d.ts +5 -0
- package/dist/document/diff.d.ts.map +1 -1
- package/dist/document/diff.js +18 -4
- package/dist/document/diff.js.map +1 -1
- package/dist/document/edit.d.ts +1 -1
- package/dist/document/edit.d.ts.map +1 -1
- package/dist/document/edit.js +155 -10
- package/dist/document/edit.js.map +1 -1
- package/dist/document/expr/analyze.d.ts.map +1 -1
- package/dist/document/expr/analyze.js +2 -1
- package/dist/document/expr/analyze.js.map +1 -1
- package/dist/document/expr/evaluate.d.ts.map +1 -1
- package/dist/document/expr/evaluate.js +26 -2
- package/dist/document/expr/evaluate.js.map +1 -1
- package/dist/document/expr/parse.d.ts +2 -1
- package/dist/document/expr/parse.d.ts.map +1 -1
- package/dist/document/expr/parse.js +6 -3
- package/dist/document/expr/parse.js.map +1 -1
- package/dist/document/expr/print.d.ts.map +1 -1
- package/dist/document/expr/print.js +4 -2
- package/dist/document/expr/print.js.map +1 -1
- package/dist/document/far-end.d.ts +15 -0
- package/dist/document/far-end.d.ts.map +1 -0
- package/dist/document/far-end.js +26 -0
- package/dist/document/far-end.js.map +1 -0
- package/dist/document/graview-template.d.ts +20 -12
- package/dist/document/graview-template.d.ts.map +1 -1
- package/dist/document/graview-template.js +5 -44
- package/dist/document/graview-template.js.map +1 -1
- package/dist/document/index.d.ts +5 -11
- package/dist/document/index.d.ts.map +1 -1
- package/dist/document/index.js +3 -6
- package/dist/document/index.js.map +1 -1
- package/dist/document/instantiate-template.d.ts +14 -0
- package/dist/document/instantiate-template.d.ts.map +1 -0
- package/dist/document/instantiate-template.js +46 -0
- package/dist/document/instantiate-template.js.map +1 -0
- package/dist/document/migrate.d.ts.map +1 -1
- package/dist/document/migrate.js +7 -5
- package/dist/document/migrate.js.map +1 -1
- package/dist/document/range.d.ts +17 -0
- package/dist/document/range.d.ts.map +1 -0
- package/dist/document/range.js +46 -0
- package/dist/document/range.js.map +1 -0
- package/dist/document/schema.d.ts +34 -2
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +25 -1
- package/dist/document/schema.js.map +1 -1
- package/dist/document/template.d.ts +18 -2
- package/dist/document/template.d.ts.map +1 -1
- package/dist/document/template.js +27 -9
- package/dist/document/template.js.map +1 -1
- package/dist/document/thumbnail.d.ts +26 -4
- package/dist/document/thumbnail.d.ts.map +1 -1
- package/dist/document/thumbnail.js +165 -50
- package/dist/document/thumbnail.js.map +1 -1
- package/dist/document/to-document.d.ts.map +1 -1
- package/dist/document/to-document.js +18 -2
- package/dist/document/to-document.js.map +1 -1
- package/dist/document/views.d.ts +11 -0
- package/dist/document/views.d.ts.map +1 -1
- package/dist/document/views.js +76 -12
- package/dist/document/views.js.map +1 -1
- package/dist/figures.d.ts +3 -0
- package/dist/figures.d.ts.map +1 -0
- package/dist/figures.js +14 -0
- package/dist/figures.js.map +1 -0
- package/dist/index.d.ts +3 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -9
- package/dist/index.js.map +1 -1
- package/dist/mutations/define-mutation.d.ts.map +1 -1
- package/dist/mutations/define-mutation.js +9 -1
- package/dist/mutations/define-mutation.js.map +1 -1
- package/dist/mutations/derive-edits.d.ts +8 -0
- package/dist/mutations/derive-edits.d.ts.map +1 -1
- package/dist/mutations/derive-edits.js +30 -7
- package/dist/mutations/derive-edits.js.map +1 -1
- package/dist/mutations/form.d.ts +2 -0
- package/dist/mutations/form.d.ts.map +1 -1
- package/dist/mutations/form.js +1 -0
- package/dist/mutations/form.js.map +1 -1
- package/dist/mutations/node-ref.d.ts +4 -1
- package/dist/mutations/node-ref.d.ts.map +1 -1
- package/dist/mutations/node-ref.js +6 -0
- package/dist/mutations/node-ref.js.map +1 -1
- package/dist/mutations/types.d.ts +28 -0
- package/dist/mutations/types.d.ts.map +1 -1
- package/dist/places.d.ts +11 -0
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +19 -1
- package/dist/places.js.map +1 -1
- package/dist/refusal.d.ts.map +1 -1
- package/dist/refusal.js +4 -0
- package/dist/refusal.js.map +1 -1
- package/dist/refused.d.ts +20 -0
- package/dist/refused.d.ts.map +1 -0
- package/dist/refused.js +24 -0
- package/dist/refused.js.map +1 -0
- package/dist/scaffold/domain.js +1 -1
- package/dist/scaffold/from-template.d.ts.map +1 -1
- package/dist/scaffold/from-template.js +3 -3
- package/dist/scaffold/from-template.js.map +1 -1
- package/dist/scaffold/project.d.ts.map +1 -1
- package/dist/scaffold/project.js +7 -0
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scene-districts.d.ts +5 -1
- package/dist/scene-districts.d.ts.map +1 -1
- package/dist/scene-districts.js +11 -4
- package/dist/scene-districts.js.map +1 -1
- package/dist/scene.d.ts +7 -0
- package/dist/scene.d.ts.map +1 -0
- package/dist/scene.js +16 -0
- package/dist/scene.js.map +1 -0
- package/dist/search.d.ts +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +1 -1
- package/dist/search.js.map +1 -1
- package/dist/theme/derive.d.ts.map +1 -1
- package/dist/theme/derive.js +5 -4
- package/dist/theme/derive.js.map +1 -1
- package/dist/theme/types.d.ts +9 -0
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/theme/types.js +5 -0
- package/dist/theme/types.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- 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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"}
|
package/dist/columns.js
ADDED
|
@@ -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,
|
|
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":"AAqCA,MAAM,CAAC,MAAM,SAAS,GAA4B,EAAE,CAAC;AAErD,MAAM,CAAC,MAAM,QAAQ,GAAkC;IACrD;QACE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE;YACV,QAAQ,EAAE,kBAAkB;YAC5B,eAAe,EAAE,CAAC;YAClB,MAAM,EAAE,iBAAiB;YACzB,aAAa,EAAE,uDAAuD;YACtE,OAAO,EAAE;gBACP,UAAU,EAAE;oBACV,MAAM,EAAE,UAAU;oBAClB,QAAQ,EAAE,YAAY;oBACtB,aAAa,EAAE,kCAAkC;oBACjD,QAAQ,EAAE;wBACR,MAAM,EAAE;4BACN,MAAM,EAAE,QAAQ;4BAChB,UAAU,EAAE,IAAI;yBACjB;wBACD,QAAQ,EAAE;4BACR,MAAM,EAAE,QAAQ;4BAChB,QAAQ,EAAE,OAAO;yBAClB;qBACF;iBACF;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,SAAS;oBACnB,aAAa,EAAE,wBAAwB;oBACvC,QAAQ,EAAE;wBACR,MAAM,EAAE;4BACN,MAAM,EAAE,QAAQ;4BAChB,UAAU,EAAE,IAAI;yBACjB;wBACD,QAAQ,EAAE;4BACR,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE;gCACT,aAAa;gCACb,WAAW;gCACX,QAAQ;gCACR,UAAU;6BACX;4BACD,SAAS,EAAE,aAAa;4BACxB,UAAU,EAAE,IAAI;yBACjB;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,QAAQ;4BAChB,QAAQ,EAAE,OAAO;yBAClB;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,MAAM;4BACd,aAAa,EAAE,0BAA0B;yBAC1C;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,MAAM;yBACf;qBACF;oBACD,UAAU,EAAE,0BAA0B;oBACtC,WAAW,EAAE;wBACX,OAAO,EAAE,QAAQ;wBACjB,SAAS,EAAE;4BACT,UAAU;yBACX;qBACF;oBACD,OAAO,EAAE;wBACP,OAAO,EAAE;4BACP,IAAI,EAAE;gCACJ,UAAU;6BACX;4BACD,aAAa,EAAE,KAAK;4BACpB,aAAa,EAAE,uBAAuB;4BACtC,SAAS,EAAE,gBAAgB;yBAC5B;qBACF;iBACF;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE;oBACd,OAAO,EAAE,gBAAgB;oBACzB,SAAS,EAAE,UAAU;oBACrB,aAAa,EAAE,4EAA4E;iBAC5F;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,cAAc;oBACvB,SAAS,EAAE,QAAQ;oBACnB,aAAa,EAAE,6EAA6E;iBAC7F;gBACD,iBAAiB,EAAE;oBACjB,OAAO,EAAE,+BAA+B;oBACxC,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE;wBACN,MAAM,EAAE;4BACN,MAAM,EAAE,QAAQ;4BAChB,UAAU,EAAE,IAAI;yBACjB;qBACF;oBACD,SAAS,EAAE;wBACT;4BACE,QAAQ,EAAE,QAAQ;4BAClB,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE;gCACL,MAAM,EAAE,OAAO;6BAChB;yBACF;wBACD;4BACE,SAAS,EAAE,OAAO;4BAClB,MAAM,EAAE,MAAM;4BACd,IAAI,EAAE,UAAU;yBACjB;qBACF;oBACD,aAAa,EAAE,qDAAqD;iBACrE;gBACD,WAAW,EAAE;oBACX,OAAO,EAAE,eAAe;oBACxB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE;wBACR,OAAO;qBACR;oBACD,aAAa,EAAE,qDAAqD;iBACrE;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE;wBACN,QAAQ,EAAE,QAAQ;qBACnB;oBACD,aAAa,EAAE,sBAAsB;oBACrC,SAAS,EAAE,wCAAwC;oBACnD,aAAa,EAAE,0DAA0D;iBAC1E;gBACD,SAAS,EAAE;oBACT,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE;wBACN,QAAQ,EAAE,UAAU;qBACrB;oBACD,aAAa,EAAE,8EAA8E;iBAC9F;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,uBAAuB;oBAChC,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,OAAO;oBACnB,aAAa,EAAE,qCAAqC;oBACpD,iBAAiB,EAAE,wBAAwB;iBAC5C;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,0BAA0B;oBACnC,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,OAAO;oBACjB,aAAa,EAAE,0DAA0D;oBACzE,iBAAiB,EAAE,oCAAoC;iBACxD;aACF;YACD,OAAO,EAAE;gBACP,oBAAoB,EAAE;oBACpB,OAAO,EAAE,6BAA6B;oBACtC,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,oBAAoB;oBAC5B,SAAS,EAAE,eAAe;oBAC1B,MAAM,EAAE,mCAAmC;oBAC3C,SAAS,EAAE;wBACT;4BACE,KAAK,EAAE,WAAW;4BAClB,OAAO,EAAE,eAAe;yBACzB;qBACF;iBACF;gBACD,yBAAyB,EAAE;oBACzB,OAAO,EAAE,gCAAgC;oBACzC,MAAM,EAAE,UAAU;oBAClB,SAAS,EAAE,kDAAkD;oBAC7D,MAAM,EAAE,wCAAwC;iBACjD;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,0CAA0C;oBACnD,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,iBAAiB;oBACzB,SAAS,EAAE,8DAA8D;oBACzE,MAAM,EAAE,0CAA0C;iBACnD;aACF;YACD,OAAO,EAAE;gBACP,OAAO;gBACP,SAAS;gBACT,QAAQ;aACT;YACD,QAAQ,EAAE;gBACR,QAAQ,EAAE;oBACR;wBACE,OAAO,EAAE;4BACP,OAAO;4BACP,SAAS;yBACV;wBACD,WAAW,EAAE,GAAG;qBACjB;iBACF;aACF;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,SAAS;aACpB;SACF;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE;gBACV,6BAA6B;aAC9B;YACD,OAAO,EAAE;gBACP,cAAc,EAAE;oBACd,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,MAAM,EAAE;4BACN,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,GAAG;yBACjB;wBACD,QAAQ,EAAE;4BACR,MAAM,EAAE,QAAQ;yBACjB;wBACD,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,4HAA4H;yBAC5I;qBACF;oBACD,UAAU,EAAE;wBACV,MAAM;qBACP;iBACF;gBACD,YAAY,EAAE;oBACZ,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,MAAM,EAAE;4BACN,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,GAAG;yBACjB;wBACD,QAAQ,EAAE;4BACR,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE;gCACN,aAAa;gCACb,WAAW;gCACX,QAAQ;gCACR,UAAU;6BACX;yBACF;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,QAAQ;yBACjB;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,QAAQ;4BAChB,SAAS,EAAE,wBAAwB;4BACnC,aAAa,EAAE,0BAA0B;yBAC1C;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,KAAK;yBACnB;wBACD,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,0HAA0H;yBAC1I;qBACF;oBACD,UAAU,EAAE;wBACV,MAAM;qBACP;iBACF;gBACD,iBAAiB,EAAE;oBACjB,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,0BAA0B;yBAC1C;wBACD,MAAM,EAAE;4BACN,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,GAAG;yBACjB;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;wBACJ,MAAM;qBACP;iBACF;gBACD,WAAW,EAAE;oBACX,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,wBAAwB;yBACxC;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,QAAQ;yBACjB;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;wBACJ,OAAO;qBACR;iBACF;gBACD,MAAM,EAAE;oBACN,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,wBAAwB;yBACxC;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;qBACL;iBACF;gBACD,SAAS,EAAE;oBACT,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,wBAAwB;yBACxC;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;qBACL;iBACF;gBACD,YAAY,EAAE;oBACZ,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,wBAAwB;yBACxC;wBACD,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,0BAA0B;yBAC1C;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;wBACJ,IAAI;qBACL;iBACF;gBACD,QAAQ,EAAE;oBACR,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,wBAAwB;yBACxC;wBACD,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,0BAA0B;yBAC1C;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;wBACJ,IAAI;qBACL;iBACF;gBACD,eAAe,EAAE;oBACf,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,0BAA0B;yBAC1C;wBACD,QAAQ,EAAE;4BACR,MAAM,EAAE,QAAQ;yBACjB;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;qBACL;iBACF;gBACD,aAAa,EAAE;oBACb,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,wBAAwB;yBACxC;wBACD,MAAM,EAAE;4BACN,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,GAAG;yBACjB;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,QAAQ;4BAChB,SAAS,EAAE,wBAAwB;4BACnC,aAAa,EAAE,0BAA0B;yBAC1C;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,KAAK;yBACnB;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;qBACL;iBACF;gBACD,iBAAiB,EAAE;oBACjB,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,0BAA0B;yBAC1C;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;qBACL;iBACF;gBACD,eAAe,EAAE;oBACf,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,wBAAwB;yBACxC;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;qBACL;iBACF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE;YACV,QAAQ,EAAE,kBAAkB;YAC5B,eAAe,EAAE,CAAC;YAClB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,QAAQ,EAAE;wBACR,OAAO,EAAE;4BACP,MAAM,EAAE,QAAQ;4BAChB,UAAU,EAAE,IAAI;yBACjB;wBACD,MAAM,EAAE;4BACN,MAAM,EAAE,SAAS;yBAClB;qBACF;iBACF;aACF;YACD,MAAM,EAAE;gBACN,WAAW,EAAE;oBACX,OAAO,EAAE,aAAa;oBACtB,SAAS,EAAE,OAAO;iBACnB;aACF;SACF;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE;gBACV,8BAA8B;aAC/B;YACD,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,OAAO,EAAE;4BACP,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,GAAG;yBACjB;wBACD,MAAM,EAAE;4BACN,MAAM,EAAE,SAAS;yBAClB;wBACD,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,yHAAyH;yBACzI;qBACF;oBACD,UAAU,EAAE;wBACV,OAAO;qBACR;iBACF;gBACD,YAAY,EAAE;oBACZ,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,uBAAuB;yBACvC;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,GAAG;yBACjB;wBACD,MAAM,EAAE;4BACN,MAAM,EAAE,SAAS;yBAClB;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;qBACL;iBACF;gBACD,cAAc,EAAE;oBACd,SAAS,EAAE,8CAA8C;oBACzD,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,CAAC;4BACd,aAAa,EAAE,uBAAuB;yBACvC;qBACF;oBACD,UAAU,EAAE;wBACV,IAAI;qBACL;iBACF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,kBAAkB;QAC9B,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,OAAO;qBACR;iBACF;gBACD,QAAQ,EAAE,yBAAyB;gBACnC,UAAU,EAAE;oBACV,MAAM,EAAE,cAAc;oBACtB,MAAM,EAAE;wBACN,MAAM,EAAE,SAAS;wBACjB,QAAQ,EAAE,IAAI;qBACf;iBACF;gBACD,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE;4BACN,IAAI,EAAE,kBAAkB;4BACxB,MAAM,EAAE,UAAU;4BAClB,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,IAAI;yBACf;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE;4BACN,IAAI,EAAE,kBAAkB;4BACxB,MAAM,EAAE,UAAU;4BAClB,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,IAAI;yBACf;qBACF;iBACF;gBACD,OAAO,EAAE;oBACP,kBAAkB;iBACnB;gBACD,QAAQ,EAAE;oBACR,kBAAkB;iBACnB;gBACD,IAAI,EAAE,0BAA0B;aACjC;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,OAAO;qBACR;iBACF;gBACD,QAAQ,EAAE,0BAA0B;gBACpC,UAAU,EAAE;oBACV,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE;wBACN,MAAM,EAAE,YAAY;qBACrB;iBACF;gBACD,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE;4BACN,IAAI,EAAE,iBAAiB;4BACvB,MAAM,EAAE,QAAQ;4BAChB,QAAQ,EAAE,aAAa;4BACvB,MAAM,EAAE,YAAY;yBACrB;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE;4BACN,IAAI,EAAE,iBAAiB;4BACvB,MAAM,EAAE,QAAQ;4BAChB,QAAQ,EAAE,aAAa;4BACvB,MAAM,EAAE,YAAY;yBACrB;qBACF;iBACF;gBACD,OAAO,EAAE;oBACP,iBAAiB;iBAClB;gBACD,QAAQ,EAAE;oBACR,iBAAiB;iBAClB;gBACD,IAAI,EAAE,0BAA0B;aACjC;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,OAAO;qBACR;iBACF;gBACD,QAAQ,EAAE,mCAAmC;gBAC7C,UAAU,EAAE;oBACV,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE;wBACN,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,kBAAkB;qBACzB;iBACF;gBACD,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE;4BACN,MAAM,EAAE,OAAO;4BACf,MAAM,EAAE,iBAAiB;4BACzB,IAAI,EAAE,kBAAkB;yBACzB;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE;4BACN,MAAM,EAAE,OAAO;4BACf,MAAM,EAAE,iBAAiB;4BACzB,IAAI,EAAE,kBAAkB;yBACzB;qBACF;iBACF;gBACD,OAAO,EAAE;oBACP,iBAAiB;oBACjB,kBAAkB;iBACnB;gBACD,QAAQ,EAAE;oBACR,iBAAiB;oBACjB,kBAAkB;iBACnB;gBACD,IAAI,EAAE,0BAA0B;aACjC;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,OAAO;qBACR;iBACF;gBACD,QAAQ,EAAE,2BAA2B;gBACrC,UAAU,EAAE;oBACV,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE;wBACN,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,IAAI;qBACd;iBACF;gBACD,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,iBAAiB;wBACvB,QAAQ,EAAE;4BACR,OAAO,EAAE,qBAAqB;yBAC/B;wBACD,OAAO,EAAE;4BACP,OAAO,EAAE,IAAI;yBACd;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,iBAAiB;wBACvB,QAAQ,EAAE;4BACR,OAAO,EAAE,IAAI;yBACd;wBACD,OAAO,EAAE;4BACP,OAAO,EAAE,qBAAqB;yBAC/B;qBACF;iBACF;gBACD,OAAO,EAAE;oBACP,iBAAiB;iBAClB;gBACD,QAAQ,EAAE;oBACR,iBAAiB;iBAClB;gBACD,IAAI,EAAE,0BAA0B;aACjC;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,OAAO;qBACR;iBACF;gBACD,QAAQ,EAAE,kBAAkB;gBAC5B,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE;wBACN,IAAI,EAAE,iBAAiB;qBACxB;iBACF;gBACD,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,iBAAiB;wBACvB,QAAQ,EAAE;4BACR,QAAQ,EAAE,aAAa;yBACxB;wBACD,OAAO,EAAE;4BACP,QAAQ,EAAE,QAAQ;yBACnB;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,iBAAiB;wBACvB,QAAQ,EAAE;4BACR,QAAQ,EAAE,QAAQ;yBACnB;wBACD,OAAO,EAAE;4BACP,QAAQ,EAAE,aAAa;yBACxB;qBACF;iBACF;gBACD,OAAO,EAAE;oBACP,iBAAiB;iBAClB;gBACD,QAAQ,EAAE;oBACR,iBAAiB;iBAClB;gBACD,IAAI,EAAE,0BAA0B;aACjC;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,OAAO;qBACR;iBACF;gBACD,QAAQ,EAAE,wBAAwB;gBAClC,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,iBAAiB;wBACvB,QAAQ,EAAE;4BACR,QAAQ,EAAE,QAAQ;yBACnB;wBACD,OAAO,EAAE;4BACP,QAAQ,EAAE,aAAa;yBACxB;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,iBAAiB;wBACvB,QAAQ,EAAE;4BACR,QAAQ,EAAE,aAAa;yBACxB;wBACD,OAAO,EAAE;4BACP,QAAQ,EAAE,QAAQ;yBACnB;qBACF;iBACF;gBACD,OAAO,EAAE;oBACP,iBAAiB;iBAClB;gBACD,QAAQ,EAAE;oBACR,iBAAiB;iBAClB;gBACD,IAAI,EAAE,0BAA0B;gBAChC,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,yEAAyE;SAClF;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,oBAAoB;QAChC,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,KAAK;iBACZ;gBACD,QAAQ,EAAE,6BAA6B;gBACvC,UAAU,EAAE;oBACV,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE;wBACN,OAAO,EAAE,gBAAgB;qBAC1B;iBACF;gBACD,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,UAAU;wBAChB,MAAM,EAAE;4BACN,IAAI,EAAE,sBAAsB;4BAC5B,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,gBAAgB;yBAC1B;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE;4BACN,IAAI,EAAE,sBAAsB;4BAC5B,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,gBAAgB;yBAC1B;qBACF;iBACF;gBACD,OAAO,EAAE;oBACP,sBAAsB;iBACvB;gBACD,QAAQ,EAAE;oBACR,sBAAsB;iBACvB;gBACD,IAAI,EAAE,0BAA0B;aACjC;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,KAAK;iBACZ;gBACD,QAAQ,EAAE,oCAAoC;gBAC9C,UAAU,EAAE;oBACV,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE;wBACN,IAAI,EAAE,sBAAsB;wBAC5B,MAAM,EAAE,IAAI;qBACb;iBACF;gBACD,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,sBAAsB;wBAC5B,QAAQ,EAAE;4BACR,MAAM,EAAE,qBAAqB;yBAC9B;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,IAAI;yBACb;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,sBAAsB;wBAC5B,QAAQ,EAAE;4BACR,MAAM,EAAE,IAAI;yBACb;wBACD,OAAO,EAAE;4BACP,MAAM,EAAE,qBAAqB;yBAC9B;qBACF;iBACF;gBACD,OAAO,EAAE;oBACP,sBAAsB;iBACvB;gBACD,QAAQ,EAAE;oBACR,sBAAsB;iBACvB;gBACD,IAAI,EAAE,0BAA0B;aACjC;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,yEAAyE;SAClF;KACF;CACO,CAAC"}
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conformance/index.ts"],"names":[],"mappings":"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"}
|
package/dist/describe.d.ts
CHANGED
|
@@ -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
|
package/dist/describe.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
package/dist/describe.js.map
CHANGED
|
@@ -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?:
|
|
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?:
|
|
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
|
|
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. */
|