@graview/core 0.1.29 → 0.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-places.d.ts +2 -2
- package/dist/app-places.d.ts.map +1 -1
- package/dist/app-places.js +53 -3
- package/dist/app-places.js.map +1 -1
- package/dist/app.d.ts +16 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js.map +1 -1
- package/dist/arrange.d.ts +3 -1
- package/dist/arrange.d.ts.map +1 -1
- package/dist/arrange.js +3 -1
- package/dist/arrange.js.map +1 -1
- package/dist/arrangement.d.ts +18 -0
- package/dist/arrangement.d.ts.map +1 -1
- package/dist/arrangement.js +34 -0
- package/dist/arrangement.js.map +1 -1
- package/dist/arranging.d.ts.map +1 -1
- package/dist/arranging.js +17 -6
- package/dist/arranging.js.map +1 -1
- package/dist/blocks.d.ts +1 -1
- package/dist/blocks.d.ts.map +1 -1
- package/dist/cli/check/brand.d.ts.map +1 -1
- package/dist/cli/check/brand.js +29 -1
- package/dist/cli/check/brand.js.map +1 -1
- package/dist/cli/check/lenses.d.ts.map +1 -1
- package/dist/cli/check/lenses.js +6 -1
- package/dist/cli/check/lenses.js.map +1 -1
- package/dist/cli/check/relations.d.ts +23 -0
- package/dist/cli/check/relations.d.ts.map +1 -1
- package/dist/cli/check/relations.js +53 -3
- package/dist/cli/check/relations.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +32 -0
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/describe.d.ts.map +1 -1
- package/dist/cli/describe.js +27 -4
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/doctor.d.ts +18 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +58 -5
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/document-schema.d.ts +2 -0
- package/dist/cli/document-schema.d.ts.map +1 -1
- package/dist/cli/document-schema.js +154 -5
- package/dist/cli/document-schema.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js +6 -1
- package/dist/cli/types.js.map +1 -1
- package/dist/conformance/fixtures.d.ts.map +1 -1
- package/dist/conformance/fixtures.js +165 -0
- package/dist/conformance/fixtures.js.map +1 -1
- package/dist/coverage-words.d.ts +18 -0
- package/dist/coverage-words.d.ts.map +1 -0
- package/dist/coverage-words.js +18 -0
- package/dist/coverage-words.js.map +1 -0
- package/dist/document/act-findings.d.ts.map +1 -1
- package/dist/document/act-findings.js +21 -3
- package/dist/document/act-findings.js.map +1 -1
- package/dist/document/blocks.d.ts +20 -7
- package/dist/document/blocks.d.ts.map +1 -1
- package/dist/document/blocks.js +85 -15
- package/dist/document/blocks.js.map +1 -1
- package/dist/document/brand-check.d.ts +5 -0
- package/dist/document/brand-check.d.ts.map +1 -1
- package/dist/document/brand-check.js +16 -2
- package/dist/document/brand-check.js.map +1 -1
- package/dist/document/compile-checked.d.ts.map +1 -1
- package/dist/document/compile-checked.js +11 -4
- package/dist/document/compile-checked.js.map +1 -1
- package/dist/document/compile.d.ts +0 -2
- package/dist/document/compile.d.ts.map +1 -1
- package/dist/document/compile.js +19 -17
- package/dist/document/compile.js.map +1 -1
- package/dist/document/compiled.d.ts +2 -0
- package/dist/document/compiled.d.ts.map +1 -1
- package/dist/document/compiled.js +49 -12
- package/dist/document/compiled.js.map +1 -1
- package/dist/document/computed-values.d.ts +3 -0
- package/dist/document/computed-values.d.ts.map +1 -1
- package/dist/document/computed-values.js +12 -2
- package/dist/document/computed-values.js.map +1 -1
- package/dist/document/describe-coverage.d.ts +3 -0
- package/dist/document/describe-coverage.d.ts.map +1 -1
- package/dist/document/describe-coverage.js +12 -5
- package/dist/document/describe-coverage.js.map +1 -1
- package/dist/document/describe-place.d.ts.map +1 -1
- package/dist/document/describe-place.js +3 -1
- package/dist/document/describe-place.js.map +1 -1
- package/dist/document/diff.d.ts.map +1 -1
- package/dist/document/diff.js +39 -8
- 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 +251 -15
- package/dist/document/edit.js.map +1 -1
- package/dist/document/expr/evaluate.d.ts +25 -0
- package/dist/document/expr/evaluate.d.ts.map +1 -1
- package/dist/document/expr/evaluate.js +38 -0
- package/dist/document/expr/evaluate.js.map +1 -1
- package/dist/document/format-words.d.ts +1 -1
- package/dist/document/format-words.d.ts.map +1 -1
- package/dist/document/format-words.js +3 -1
- package/dist/document/format-words.js.map +1 -1
- package/dist/document/framework-path.d.ts +11 -0
- package/dist/document/framework-path.d.ts.map +1 -0
- package/dist/document/framework-path.js +122 -0
- package/dist/document/framework-path.js.map +1 -0
- package/dist/document/index.d.ts +2 -2
- package/dist/document/index.d.ts.map +1 -1
- package/dist/document/index.js +1 -1
- package/dist/document/index.js.map +1 -1
- package/dist/document/linked-findings.d.ts +5 -0
- package/dist/document/linked-findings.d.ts.map +1 -0
- package/dist/document/linked-findings.js +100 -0
- package/dist/document/linked-findings.js.map +1 -0
- package/dist/document/migrate.d.ts.map +1 -1
- package/dist/document/migrate.js +4 -1
- package/dist/document/migrate.js.map +1 -1
- package/dist/document/policy-words.d.ts +2 -0
- package/dist/document/policy-words.d.ts.map +1 -1
- package/dist/document/policy-words.js +16 -1
- package/dist/document/policy-words.js.map +1 -1
- package/dist/document/right-names.d.ts +10 -0
- package/dist/document/right-names.d.ts.map +1 -0
- package/dist/document/right-names.js +57 -0
- package/dist/document/right-names.js.map +1 -0
- package/dist/document/rules.d.ts.map +1 -1
- package/dist/document/rules.js +13 -5
- package/dist/document/rules.js.map +1 -1
- package/dist/document/schema.d.ts +80 -3
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +57 -7
- package/dist/document/schema.js.map +1 -1
- package/dist/document/template-parse.d.ts.map +1 -1
- package/dist/document/template-parse.js +36 -3
- package/dist/document/template-parse.js.map +1 -1
- package/dist/document/template.d.ts +13 -1
- package/dist/document/template.d.ts.map +1 -1
- package/dist/document/template.js +29 -9
- package/dist/document/template.js.map +1 -1
- package/dist/document/to-document.d.ts.map +1 -1
- package/dist/document/to-document.js +11 -0
- package/dist/document/to-document.js.map +1 -1
- package/dist/document/views.d.ts +36 -4
- package/dist/document/views.d.ts.map +1 -1
- package/dist/document/views.js +64 -21
- package/dist/document/views.js.map +1 -1
- package/dist/document.schema.json +1037 -51
- package/dist/field-sight.js +2 -2
- package/dist/field-sight.js.map +1 -1
- package/dist/forms.d.ts +1 -0
- package/dist/forms.d.ts.map +1 -1
- package/dist/forms.js +2 -0
- package/dist/forms.js.map +1 -1
- package/dist/graph/archived.d.ts +9 -0
- package/dist/graph/archived.d.ts.map +1 -1
- package/dist/graph/archived.js +9 -0
- package/dist/graph/archived.js.map +1 -1
- package/dist/graph/diff.d.ts +16 -0
- package/dist/graph/diff.d.ts.map +1 -1
- package/dist/graph/diff.js +18 -0
- package/dist/graph/diff.js.map +1 -1
- package/dist/graph/graph.d.ts.map +1 -1
- package/dist/graph/graph.js +5 -8
- package/dist/graph/graph.js.map +1 -1
- package/dist/grid-sort.d.ts +20 -0
- package/dist/grid-sort.d.ts.map +1 -0
- package/dist/grid-sort.js +58 -0
- package/dist/grid-sort.js.map +1 -0
- package/dist/history.d.ts +88 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +146 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +16 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/kind-list.d.ts +78 -0
- package/dist/kind-list.d.ts.map +1 -0
- package/dist/kind-list.js +176 -0
- package/dist/kind-list.js.map +1 -0
- package/dist/linked.d.ts +95 -0
- package/dist/linked.d.ts.map +1 -0
- package/dist/linked.js +181 -0
- package/dist/linked.js.map +1 -0
- package/dist/mutations/derive-edits.d.ts.map +1 -1
- package/dist/mutations/derive-edits.js +89 -38
- package/dist/mutations/derive-edits.js.map +1 -1
- package/dist/mutations/derived-names.d.ts +3 -1
- package/dist/mutations/derived-names.d.ts.map +1 -1
- package/dist/mutations/derived-names.js +5 -3
- package/dist/mutations/derived-names.js.map +1 -1
- package/dist/mutations/edit-start.d.ts +28 -0
- package/dist/mutations/edit-start.d.ts.map +1 -0
- package/dist/mutations/edit-start.js +24 -0
- package/dist/mutations/edit-start.js.map +1 -0
- package/dist/mutations/form.d.ts +12 -0
- package/dist/mutations/form.d.ts.map +1 -1
- package/dist/mutations/form.js +4 -0
- package/dist/mutations/form.js.map +1 -1
- package/dist/mutations/kept-arguments.js +2 -2
- package/dist/mutations/kept-arguments.js.map +1 -1
- package/dist/mutations/types.d.ts +1 -1
- package/dist/mutations/types.d.ts.map +1 -1
- package/dist/navigate.d.ts +13 -0
- package/dist/navigate.d.ts.map +1 -0
- package/dist/navigate.js +13 -0
- package/dist/navigate.js.map +1 -0
- package/dist/ops/digest.d.ts +33 -0
- package/dist/ops/digest.d.ts.map +1 -0
- package/dist/ops/digest.js +47 -0
- package/dist/ops/digest.js.map +1 -0
- package/dist/ops/lineage.d.ts +6 -0
- package/dist/ops/lineage.d.ts.map +1 -1
- package/dist/ops/lineage.js +5 -4
- package/dist/ops/lineage.js.map +1 -1
- package/dist/ops/log.d.ts +6 -0
- package/dist/ops/log.d.ts.map +1 -1
- package/dist/ops/log.js +19 -12
- package/dist/ops/log.js.map +1 -1
- package/dist/ops/suggestions.d.ts +26 -0
- package/dist/ops/suggestions.d.ts.map +1 -0
- package/dist/ops/suggestions.js +21 -0
- package/dist/ops/suggestions.js.map +1 -0
- package/dist/ops/tidying.d.ts +48 -0
- package/dist/ops/tidying.d.ts.map +1 -0
- package/dist/ops/tidying.js +84 -0
- package/dist/ops/tidying.js.map +1 -0
- package/dist/ops/types.d.ts +17 -0
- package/dist/ops/types.d.ts.map +1 -1
- package/dist/ops/undo.d.ts.map +1 -1
- package/dist/ops/undo.js +10 -0
- package/dist/ops/undo.js.map +1 -1
- package/dist/past.d.ts +35 -0
- package/dist/past.d.ts.map +1 -0
- package/dist/past.js +173 -0
- package/dist/past.js.map +1 -0
- package/dist/permissions/policy.d.ts +8 -1
- package/dist/permissions/policy.d.ts.map +1 -1
- package/dist/permissions/policy.js +20 -5
- package/dist/permissions/policy.js.map +1 -1
- package/dist/places.d.ts +6 -2
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +48 -3
- package/dist/places.js.map +1 -1
- package/dist/scaffold/agents.d.ts.map +1 -1
- package/dist/scaffold/agents.js +13 -0
- package/dist/scaffold/agents.js.map +1 -1
- package/dist/scaffold/project.d.ts.map +1 -1
- package/dist/scaffold/project.js +5 -0
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scaffold/ui.d.ts.map +1 -1
- package/dist/scaffold/ui.js +15 -5
- package/dist/scaffold/ui.js.map +1 -1
- package/dist/schema/app-address.d.ts +5 -0
- package/dist/schema/app-address.d.ts.map +1 -0
- package/dist/schema/app-address.js +10 -0
- package/dist/schema/app-address.js.map +1 -0
- package/dist/schema/app-link.d.ts +1 -4
- package/dist/schema/app-link.d.ts.map +1 -1
- package/dist/schema/app-link.js +5 -7
- package/dist/schema/app-link.js.map +1 -1
- package/dist/schema/define-node.d.ts +16 -0
- package/dist/schema/define-node.d.ts.map +1 -1
- package/dist/schema/define-node.js +6 -0
- package/dist/schema/define-node.js.map +1 -1
- package/dist/schema/files.d.ts +8 -0
- package/dist/schema/files.d.ts.map +1 -1
- package/dist/schema/files.js.map +1 -1
- package/dist/schema/json-schema.d.ts.map +1 -1
- package/dist/schema/json-schema.js +19 -1
- package/dist/schema/json-schema.js.map +1 -1
- package/dist/schema/linked-field.d.ts +6 -0
- package/dist/schema/linked-field.d.ts.map +1 -0
- package/dist/schema/linked-field.js +34 -0
- package/dist/schema/linked-field.js.map +1 -0
- package/dist/schema/linked-reads.d.ts +20 -0
- package/dist/schema/linked-reads.d.ts.map +1 -0
- package/dist/schema/linked-reads.js +69 -0
- package/dist/schema/linked-reads.js.map +1 -0
- package/dist/schema/linked-schema.d.ts +5 -0
- package/dist/schema/linked-schema.d.ts.map +1 -0
- package/dist/schema/linked-schema.js +9 -0
- package/dist/schema/linked-schema.js.map +1 -0
- package/dist/schema/linked.d.ts +147 -0
- package/dist/schema/linked.d.ts.map +1 -0
- package/dist/schema/linked.js +151 -0
- package/dist/schema/linked.js.map +1 -0
- package/dist/schema/reading.d.ts.map +1 -1
- package/dist/schema/reading.js +82 -27
- package/dist/schema/reading.js.map +1 -1
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +11 -4
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/types.d.ts +17 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +30 -2
- package/dist/search.js.map +1 -1
- package/dist/seat-of.d.ts +9 -0
- package/dist/seat-of.d.ts.map +1 -0
- package/dist/seat-of.js +14 -0
- package/dist/seat-of.js.map +1 -0
- package/dist/seen.d.ts +0 -12
- package/dist/seen.d.ts.map +1 -1
- package/dist/seen.js +5 -0
- package/dist/seen.js.map +1 -1
- package/dist/store.d.ts +58 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +96 -11
- package/dist/store.js.map +1 -1
- package/dist/theme/derive.d.ts +16 -0
- package/dist/theme/derive.d.ts.map +1 -1
- package/dist/theme/derive.js +14 -0
- package/dist/theme/derive.js.map +1 -1
- package/dist/theme/marks.d.ts +19 -2
- package/dist/theme/marks.d.ts.map +1 -1
- package/dist/theme/marks.js +67 -2
- package/dist/theme/marks.js.map +1 -1
- package/dist/theme/types.d.ts +7 -2
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/theme/types.js.map +1 -1
- package/dist/tidying.d.ts +62 -0
- package/dist/tidying.d.ts.map +1 -0
- package/dist/tidying.js +131 -0
- package/dist/tidying.js.map +1 -0
- package/dist/typed.d.ts +1 -1
- package/dist/typed.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/via.d.ts.map +1 -1
- package/dist/via.js +2 -1
- package/dist/via.js.map +1 -1
- package/dist/views/address.d.ts +13 -0
- package/dist/views/address.d.ts.map +1 -0
- package/dist/views/address.js +29 -0
- package/dist/views/address.js.map +1 -0
- package/dist/views/types.d.ts +52 -3
- package/dist/views/types.d.ts.map +1 -1
- package/dist/views/types.js +4 -3
- package/dist/views/types.js.map +1 -1
- package/package.json +21 -1
package/dist/history.js
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE APP'S HISTORY, PLAYED BACK (Roadmap f-playback): `@graview/core/history`.
|
|
3
|
+
*
|
|
4
|
+
* `pastOf(store, when)` (`@graview/core/past`) is the app as it stood;
|
|
5
|
+
* this is what a timeline reads around it — one tick per gesture, marked by
|
|
6
|
+
* who made it, the bigger ticks where the declaration changed with the
|
|
7
|
+
* sentence it said, and the gestures a "Restore to here" takes back as one
|
|
8
|
+
* change. Its own entry, because nothing here is needed before somebody
|
|
9
|
+
* opens the past: the timeline fetches it when they do.
|
|
10
|
+
*
|
|
11
|
+
* What the log does not hold — a script view's code, an asset's bytes —
|
|
12
|
+
* is the host's, and it hands it through `HistoryHost`.
|
|
13
|
+
*/
|
|
14
|
+
import { capitalize } from "./capital.js";
|
|
15
|
+
import { humanizeField, nounOf } from "./schema/define-node.js";
|
|
16
|
+
import { nameOfAuthor } from "./who.js";
|
|
17
|
+
/** Who made a change, for the reader `me`. A system or a rule is the app itself; an agent acting for a person is still an agent. */
|
|
18
|
+
export function makerOf(author, me) {
|
|
19
|
+
if (author.kind === "agent")
|
|
20
|
+
return "agent";
|
|
21
|
+
if (author.kind !== "human")
|
|
22
|
+
return "app";
|
|
23
|
+
if (author.onBehalfOf !== undefined)
|
|
24
|
+
return "person";
|
|
25
|
+
return author.id === undefined || me?.id === undefined || author.id === me.id ? "you" : "person";
|
|
26
|
+
}
|
|
27
|
+
const opsSeen = (batch) => batch.ops.filter((op) => op.withheld !== true);
|
|
28
|
+
/**
|
|
29
|
+
* THE TIMELINE OF A STORE: one tick per gesture, in the order they ended,
|
|
30
|
+
* then each declaration change at its seq — on the gesture that made it
|
|
31
|
+
* when one ends there, else a tick of its own. Read through a seat's view
|
|
32
|
+
* of the store (`seenBy`), a change it may not see is a tick that says only
|
|
33
|
+
* that something happened.
|
|
34
|
+
*/
|
|
35
|
+
export function ticksOf(store, options = {}) {
|
|
36
|
+
const ticks = store.batches().map((batch) => {
|
|
37
|
+
const first = batch.ops[0];
|
|
38
|
+
const last = batch.ops.at(-1);
|
|
39
|
+
const withheld = opsSeen(batch).length === 0;
|
|
40
|
+
return {
|
|
41
|
+
seq: last.seq + 1,
|
|
42
|
+
from: first.seq,
|
|
43
|
+
at: last.at,
|
|
44
|
+
batch: batch.id,
|
|
45
|
+
maker: withheld ? "person" : makerOf(batch.author, options.me),
|
|
46
|
+
author: withheld ? undefined : batch.author,
|
|
47
|
+
said: batch.intent,
|
|
48
|
+
declaration: false,
|
|
49
|
+
withheld,
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
const marks = [
|
|
53
|
+
...store.log
|
|
54
|
+
.epochs()
|
|
55
|
+
.filter((epoch) => epoch.change !== undefined)
|
|
56
|
+
.map((epoch) => ({ seq: epoch.seq, sentence: epoch.change, ...(epoch.at ? { at: epoch.at } : {}) })),
|
|
57
|
+
...(options.declarations ?? []),
|
|
58
|
+
];
|
|
59
|
+
for (const mark of marks) {
|
|
60
|
+
if (mark.seq < store.log.horizon || mark.seq > store.log.length)
|
|
61
|
+
continue;
|
|
62
|
+
const at = ticks.findIndex((tick) => tick.seq === mark.seq);
|
|
63
|
+
if (at >= 0 && !ticks[at].withheld) {
|
|
64
|
+
ticks[at] = { ...ticks[at], declaration: true, said: mark.sentence };
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
ticks.push({
|
|
68
|
+
seq: mark.seq,
|
|
69
|
+
from: mark.seq,
|
|
70
|
+
at: mark.at,
|
|
71
|
+
batch: undefined,
|
|
72
|
+
maker: mark.author ? makerOf(mark.author, options.me) : "app",
|
|
73
|
+
author: mark.author,
|
|
74
|
+
said: mark.sentence,
|
|
75
|
+
declaration: true,
|
|
76
|
+
withheld: false,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
return ticks.sort((a, b) => a.seq - b.seq || Number(a.batch !== undefined) - Number(b.batch !== undefined));
|
|
80
|
+
}
|
|
81
|
+
const fieldsOf = (schema, kind) => {
|
|
82
|
+
const fields = schema.tryDefinition(kind)?.fields;
|
|
83
|
+
return Object.keys(fields?.shape ?? {});
|
|
84
|
+
};
|
|
85
|
+
const edgesOf = (schema, kind) => Object.keys(schema.tryDefinition(kind)?.edges ?? {});
|
|
86
|
+
const kindWords = (schema, kind) => capitalize(nounOf(schema.tryDefinition(kind), kind));
|
|
87
|
+
const article = (word) => (/^[aeiou]/i.test(word) ? "an" : "a");
|
|
88
|
+
const listed = (items) => (items.length <= 1 ? items.join("") : `${items.slice(0, -1).join(", ")} and ${items.at(-1)}`);
|
|
89
|
+
/**
|
|
90
|
+
* WHAT A DECLARATION CHANGE DID, IN A SENTENCE, from the one before and the
|
|
91
|
+
* one after: "Added a Budget kind", "Added due and priority to Task",
|
|
92
|
+
* "Removed the Note kind". Kinds first, then fields and links of the kinds
|
|
93
|
+
* both have. "Changed the declaration" when nothing it names moved.
|
|
94
|
+
*/
|
|
95
|
+
export function declarationSentence(before, after) {
|
|
96
|
+
const was = new Set(before?.kinds ?? []);
|
|
97
|
+
const now = new Set(after.kinds);
|
|
98
|
+
const parts = [];
|
|
99
|
+
const added = [...now].filter((kind) => !was.has(kind));
|
|
100
|
+
const removed = [...was].filter((kind) => !now.has(kind));
|
|
101
|
+
if (added.length === 1)
|
|
102
|
+
parts.push(`added ${article(kindWords(after, added[0]))} ${kindWords(after, added[0])} kind`);
|
|
103
|
+
else if (added.length > 1)
|
|
104
|
+
parts.push(`added the ${listed(added.map((kind) => kindWords(after, kind)))} kinds`);
|
|
105
|
+
if (removed.length > 0)
|
|
106
|
+
parts.push(`removed the ${listed(removed.map((kind) => kindWords(before, kind)))} kind${removed.length > 1 ? "s" : ""}`);
|
|
107
|
+
for (const kind of [...now].filter((one) => was.has(one))) {
|
|
108
|
+
const then = new Set([...fieldsOf(before, kind), ...edgesOf(before, kind)]);
|
|
109
|
+
const since = [...fieldsOf(after, kind), ...edgesOf(after, kind)];
|
|
110
|
+
const more = since.filter((name) => !then.has(name)).map((name) => humanizeField(name).toLowerCase());
|
|
111
|
+
const fewer = [...then].filter((name) => !since.includes(name)).map((name) => humanizeField(name).toLowerCase());
|
|
112
|
+
if (more.length > 0)
|
|
113
|
+
parts.push(`added ${listed(more)} to ${kindWords(after, kind)}`);
|
|
114
|
+
if (fewer.length > 0)
|
|
115
|
+
parts.push(`removed ${listed(fewer)} from ${kindWords(after, kind)}`);
|
|
116
|
+
}
|
|
117
|
+
return parts.length > 0 ? capitalize(parts.join("; ")) : "Changed the declaration";
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* THE GESTURES "RESTORE TO HERE" TAKES BACK, as one undo (`store.undo`):
|
|
121
|
+
* every gesture after `seq` still standing, but not an undo whose every
|
|
122
|
+
* target came after `seq` too — those two cancel already, and taking the
|
|
123
|
+
* undo back would put its target back. Empty when nothing after `seq`
|
|
124
|
+
* stands. Whether the undo may run is the store's to judge (`canUndo`,
|
|
125
|
+
* and the policy when it runs).
|
|
126
|
+
*/
|
|
127
|
+
export function restoreBatches(store, seq) {
|
|
128
|
+
const ops = store.log.all();
|
|
129
|
+
const position = new Map(ops.map((op) => [op.id, op.seq]));
|
|
130
|
+
return store
|
|
131
|
+
.batches()
|
|
132
|
+
.filter((batch) => !batch.undone && batch.ops[0].seq >= seq)
|
|
133
|
+
.filter((batch) => !batch.ops.every((op) => op.undoes !== undefined && (position.get(op.undoes) ?? -1) >= seq))
|
|
134
|
+
.map((batch) => batch.id);
|
|
135
|
+
}
|
|
136
|
+
/** Who made a tick, in words, for a reader who has the app's people and seats: "you", "Claude", "Ann". */
|
|
137
|
+
export function makerWords(tick, context) {
|
|
138
|
+
if (tick.withheld)
|
|
139
|
+
return "Someone";
|
|
140
|
+
if (tick.maker === "you")
|
|
141
|
+
return "you";
|
|
142
|
+
if (!tick.author)
|
|
143
|
+
return "the app";
|
|
144
|
+
return nameOfAuthor(tick.author, context);
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,11 @@ export { fileField, imageField } from "./schema/file-field.js";
|
|
|
8
8
|
export { isAppAddress, isAppLinkField } from "./schema/app-link.js";
|
|
9
9
|
export type { AppResolution, LinkedApp, ResolveApp } from "./schema/app-link.js";
|
|
10
10
|
export { appLinkField } from "./schema/app-link-field.js";
|
|
11
|
+
export { isLinkedTarget, linkedRefOf, linkedRefsOf, linkedRelationOf, linkedRelations, linkedValue, parseLinkedTarget, readLinkedThrough } from "./schema/linked.js";
|
|
12
|
+
export type { LinkedRead, LinkedReader, LinkedRecord, LinkedRecordAnswer, LinkedRecordRef, LinkedRecords, LinkedRelation, LinkedSearch, LinkedViewer } from "./schema/linked.js";
|
|
13
|
+
export { linkedRecordField } from "./schema/linked-field.js";
|
|
14
|
+
export { linkedReads } from "./schema/linked-reads.js";
|
|
15
|
+
export type { LinkedReads } from "./schema/linked-reads.js";
|
|
11
16
|
export { dateOn, isRepeat, isRepeatField, nextOccurrence, occurrences, repeatedBy, repeatKey, validRepeat, WEEKDAYS } from "./repeat.js";
|
|
12
17
|
export type { Repeat, Weekday } from "./repeat.js";
|
|
13
18
|
export { repeatField } from "./schema/repeat-field.js";
|
|
@@ -65,6 +70,9 @@ export type { Author, Batch, Operation, Via } from "./ops/types.js";
|
|
|
65
70
|
export { LINEAGE_BASIS_LIMIT, LINEAGE_MODEL_LIMIT, lineageOf, type Lineage } from "./ops/lineage.js";
|
|
66
71
|
export type { HasLog, LinkProvenance, LinkRef } from "./ops/provenance.js";
|
|
67
72
|
export { KEEP_LINK } from "./mutations/keep-link.js";
|
|
73
|
+
export { isAutomated, isLeftAlone } from "./ops/tidying.js";
|
|
74
|
+
export type { Suggestion } from "./ops/suggestions.js";
|
|
75
|
+
export type { ActivityRow } from "./ops/digest.js";
|
|
68
76
|
export { actingAs, isSystem, permits, permittedMutations, rolesOf, rolesWhoCould, whyNot, } from "./permissions/policy.js";
|
|
69
77
|
export type { PolicyWords } from "./permissions/policy.js";
|
|
70
78
|
export { PermissionDeniedError } from "./permissions/types.js";
|
|
@@ -76,7 +84,7 @@ export { DARK, LIGHT, SCHEMES } from "./theme/palettes.js";
|
|
|
76
84
|
export { DISPLAY_TRACKING, GRAVIEW_COLORS, GRAVIEW_FACE, graviewSymbol, LOGO_RULES, PLAIN_WEIGHTS, symbolCut, WEIGHTS, } from "./theme/identity.js";
|
|
77
85
|
export type { SymbolOptions } from "./theme/identity.js";
|
|
78
86
|
export { isoShade, SHAPE, shapeOf, TYPOGRAPHY, typographyOf } from "./theme/look.js";
|
|
79
|
-
export { faviconHref, isInlineSvg, markHref, markProblem, MAX_INLINE_SVG, svgProblem } from "./theme/marks.js";
|
|
87
|
+
export { emojiMark, emojiOf, emojiProblem, emojiSvg, faviconHref, isInlineSvg, markHref, markProblem, MAX_INLINE_SVG, svgProblem } from "./theme/marks.js";
|
|
80
88
|
export { DOCUMENT_FONTS, familiesIn, fontProblem, isSystemFamily, stackOf, SYSTEM_FONTS, SYSTEM_STACKS } from "./theme/fonts.js";
|
|
81
89
|
export type { SystemStack } from "./theme/fonts.js";
|
|
82
90
|
export { accentProblem, documentSchemes, passingShade } from "./theme/accent.js";
|
|
@@ -85,7 +93,9 @@ export type { IsoFace, IsoShade, IsoWash, ResolvedShape, ResolvedTypography } fr
|
|
|
85
93
|
export { checkpoint, checkpointOn, checkpointsBetween, effectivity, isEffectiveBetween, isEffectiveOn, isoDate, } from "./temporal/effectivity.js";
|
|
86
94
|
export type { Checkpoint, Effectivity } from "./temporal/effectivity.js";
|
|
87
95
|
export { excerpt } from "./excerpt.js";
|
|
88
|
-
export {
|
|
96
|
+
export { gridSortOf, gridSortProblem, sortForGrid, type GridSort } from "./grid-sort.js";
|
|
97
|
+
export { coverageUnlinkedWords } from "./coverage-words.js";
|
|
98
|
+
export { actTitle, allLabel, article, counted, pluralLabel, pluralOf, fieldWords, humanizeField, nounOf, summarize, withArticle } from "./schema/define-node.js";
|
|
89
99
|
export { DEFAULT_LOCALE, dayAsRead, dayOfMonthAsRead, daysAsRead, localeFor, minutesAsRead, momentAsRead, monthAsRead, numberAsRead, sayIn, timeAsRead, weekdayAsRead, weekdayName, whenAsRead, } from "./days.js";
|
|
90
100
|
export type { FieldSection } from "./schema/reading.js";
|
|
91
101
|
export type { ReadableField } from "./schema/define-node.js";
|
|
@@ -95,7 +105,7 @@ export type { KitContrastFinding } from "./theme/kit.js";
|
|
|
95
105
|
export type { ConnectorKit, ConnectorRoute, Kit, KitEndCap, KitOverrides, KitStrokePattern } from "./theme/types.js";
|
|
96
106
|
export { layer, layerProperty, layerVariables, LAYERS, LOCAL_LAYERS, SCENE_LAYERS } from "./theme/layers.js";
|
|
97
107
|
export type { Layer } from "./theme/layers.js";
|
|
98
|
-
export type { Brand, Scheme, TextPair, ThemeTokens } from "./theme/types.js";
|
|
108
|
+
export type { Brand, FaviconSpec, Scheme, TextPair, ThemeTokens } from "./theme/types.js";
|
|
99
109
|
export type { Grant, Policy, Principal, Refusal, Sight } from "./permissions/types.js";
|
|
100
110
|
export { FIELD_SIGHT, recordsOf, sees, sightedKinds } from "./permissions/sight.js";
|
|
101
111
|
export { writersOf, type Writers } from "./ops/writers.js";
|
|
@@ -107,8 +117,8 @@ export { sha256Hex, snapshotHash } from "./integrity.js";
|
|
|
107
117
|
export type { VerifyResult } from "./integrity.js";
|
|
108
118
|
export { GRAPH_FINDING_CODES, repairPlan, validateGraph } from "./validate-graph.js";
|
|
109
119
|
export type { FindingRepair, GraphFinding, GraphFindingCode, RepairPlan, ValidatedApp, ValidateGraphOptions, } from "./validate-graph.js";
|
|
110
|
-
export { MODULES_AUTHOR, PREVIEW_BATCH, problemsMoved, ReceiveError, shapedRules, Store, UnknownMutationError, violationKey } from "./store.js";
|
|
111
|
-
export type { Adopt, AdoptResult, AppendOp, ApplyOptions, ApplyResult, BatchPreview, CompactOptions, PlannedChange, Preview, PreviewOptions, Rebase, RebaseResult, StoreOptions, UndoPreview, } from "./store.js";
|
|
120
|
+
export { MODULES_AUTHOR, PastError, PREVIEW_BATCH, problemsMoved, ReceiveError, shapedRules, Store, UnknownMutationError, violationKey } from "./store.js";
|
|
121
|
+
export type { Adopt, AdoptResult, AppendOp, ApplyOptions, ApplyResult, BatchPreview, CompactOptions, PastDeclaration, PastPoint, PlannedChange, Preview, PreviewOptions, Rebase, RebaseResult, StoreOptions, UndoPreview, } from "./store.js";
|
|
112
122
|
export { dayOf, tickEachDay, untilTheDayTurns } from "./clock.js";
|
|
113
123
|
export type { Tick } from "./clock.js";
|
|
114
124
|
export { createViewRegistry, FIDELITIES, kindPath, onePerPicture, placeLabel, placePath, placeSlug, recordPath, samePicture, sharesItsName } from "./views/types.js";
|
|
@@ -116,7 +126,7 @@ export { SHIPPED_LENSES, SHIPPED_LENS_NAMES, bindsOf, declaredLenses, isShippedL
|
|
|
116
126
|
export { addressOf, basePathOf, pathWithin } from "./address.js";
|
|
117
127
|
export type { DeclaredLenses, DrawnLens, Opening, PlaceFinding, ShippedLensName, UndrawnLens } from "./places.js";
|
|
118
128
|
export type { AppPlace } from "./app-places.js";
|
|
119
|
-
export type { Cardinality, PagesArrangement, Fidelity, ViewCell, ViewRegistration, ViewMeta, Place, ViewRegistry, } from "./views/types.js";
|
|
129
|
+
export type { Cardinality, PagesArrangement, KindList, KindListGroup, KindListSort, Fidelity, ViewCell, ViewRegistration, ViewMeta, Place, ViewRegistry, } from "./views/types.js";
|
|
120
130
|
export { createMemoryAdapter } from "./persistence/memory.js";
|
|
121
131
|
export { createSqlAdapter, createSqliteAdapter, sqlFromDatabase, SQLITE_TABLE_SHAPE } from "./persistence/sqlite.js";
|
|
122
132
|
export type { SqlAdapterOptions, SqlExec } from "./persistence/sql.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -30,6 +30,10 @@ export { fileField, imageField } from "./schema/file-field.js";
|
|
|
30
30
|
// A link to another app (FR-171): its address on a record, and the host that says what it is called.
|
|
31
31
|
export { isAppAddress, isAppLinkField } from "./schema/app-link.js";
|
|
32
32
|
export { appLinkField } from "./schema/app-link-field.js";
|
|
33
|
+
// A relation to a kind in another app (FR-171): the link kept on the record, and the host that reads the far record as the viewer.
|
|
34
|
+
export { isLinkedTarget, linkedRefOf, linkedRefsOf, linkedRelationOf, linkedRelations, linkedValue, parseLinkedTarget, readLinkedThrough } from "./schema/linked.js";
|
|
35
|
+
export { linkedRecordField } from "./schema/linked-field.js";
|
|
36
|
+
export { linkedReads } from "./schema/linked-reads.js";
|
|
33
37
|
// A date that repeats: the rule kept beside it, its occurrences worked out and never stored.
|
|
34
38
|
export { dateOn, isRepeat, isRepeatField, nextOccurrence, occurrences, repeatedBy, repeatKey, validRepeat, WEEKDAYS } from "./repeat.js";
|
|
35
39
|
export { repeatField } from "./schema/repeat-field.js";
|
|
@@ -67,6 +71,8 @@ export { FieldRevisions, fieldsWritten, NEVER_WRITTEN, writtenBy } from "./ops/r
|
|
|
67
71
|
export { checkUndo, undoPrimitives, UndoBlockedError } from "./ops/undo.js";
|
|
68
72
|
export { LINEAGE_BASIS_LIMIT, LINEAGE_MODEL_LIMIT, lineageOf } from "./ops/lineage.js";
|
|
69
73
|
export { KEEP_LINK } from "./mutations/keep-link.js";
|
|
74
|
+
// Whether a record is left alone and an author is the app's own actor, which a page draws with; the rest is `@graview/core/tidying`'s.
|
|
75
|
+
export { isAutomated, isLeftAlone } from "./ops/tidying.js";
|
|
70
76
|
export { actingAs, isSystem, permits, permittedMutations, rolesOf, rolesWhoCould, whyNot, } from "./permissions/policy.js";
|
|
71
77
|
export { PermissionDeniedError } from "./permissions/types.js";
|
|
72
78
|
export { brandFromAccent, checkBrandContrast, hueFor, } from "./theme/derive.js";
|
|
@@ -74,13 +80,16 @@ export { checkContrast, colorsIn, composite, contrast, luminance, } from "./them
|
|
|
74
80
|
export { DARK, LIGHT, SCHEMES } from "./theme/palettes.js";
|
|
75
81
|
export { DISPLAY_TRACKING, GRAVIEW_COLORS, GRAVIEW_FACE, graviewSymbol, LOGO_RULES, PLAIN_WEIGHTS, symbolCut, WEIGHTS, } from "./theme/identity.js";
|
|
76
82
|
export { isoShade, SHAPE, shapeOf, TYPOGRAPHY, typographyOf } from "./theme/look.js";
|
|
77
|
-
export { faviconHref, isInlineSvg, markHref, markProblem, MAX_INLINE_SVG, svgProblem } from "./theme/marks.js";
|
|
83
|
+
export { emojiMark, emojiOf, emojiProblem, emojiSvg, faviconHref, isInlineSvg, markHref, markProblem, MAX_INLINE_SVG, svgProblem } from "./theme/marks.js";
|
|
78
84
|
export { DOCUMENT_FONTS, familiesIn, fontProblem, isSystemFamily, stackOf, SYSTEM_FONTS, SYSTEM_STACKS } from "./theme/fonts.js";
|
|
79
85
|
export { accentProblem, documentSchemes, passingShade } from "./theme/accent.js";
|
|
80
86
|
// Two-way sync (the engine, its mappings and transports) is `@graview/core/sync`'s: a page draws without it.
|
|
81
87
|
export { checkpoint, checkpointOn, checkpointsBetween, effectivity, isEffectiveBetween, isEffectiveOn, isoDate, } from "./temporal/effectivity.js";
|
|
82
88
|
export { excerpt } from "./excerpt.js";
|
|
83
|
-
|
|
89
|
+
// A grid lens's order and a coverage with nothing to cross, said once for the lens and describePlace (2026-10-15).
|
|
90
|
+
export { gridSortOf, gridSortProblem, sortForGrid } from "./grid-sort.js";
|
|
91
|
+
export { coverageUnlinkedWords } from "./coverage-words.js";
|
|
92
|
+
export { actTitle, allLabel, article, counted, pluralLabel, pluralOf, fieldWords, humanizeField, nounOf, summarize, withArticle } from "./schema/define-node.js";
|
|
84
93
|
// Days, times and numbers as a person reads them, in the reader's or the app's locale (FR-178).
|
|
85
94
|
export { DEFAULT_LOCALE, dayAsRead, dayOfMonthAsRead, daysAsRead, localeFor, minutesAsRead, momentAsRead, monthAsRead, numberAsRead, sayIn, timeAsRead, weekdayAsRead, weekdayName, whenAsRead, } from "./days.js";
|
|
86
95
|
export { TEXT_PAIRS } from "./theme/types.js";
|
|
@@ -96,7 +105,7 @@ export { sha256Hex, snapshotHash } from "./integrity.js";
|
|
|
96
105
|
// Stored data checked against its declaration (FR-21).
|
|
97
106
|
export { GRAPH_FINDING_CODES, repairPlan, validateGraph } from "./validate-graph.js";
|
|
98
107
|
// Store — graph + log + mutations + invariants, one object.
|
|
99
|
-
export { MODULES_AUTHOR, PREVIEW_BATCH, problemsMoved, ReceiveError, shapedRules, Store, UnknownMutationError, violationKey } from "./store.js";
|
|
108
|
+
export { MODULES_AUTHOR, PastError, PREVIEW_BATCH, problemsMoved, ReceiveError, shapedRules, Store, UnknownMutationError, violationKey } from "./store.js";
|
|
100
109
|
// The day turning (FR-176): a store ticked at each midnight. What reads the clock is `@graview/core/check`'s (`clockReaders`).
|
|
101
110
|
export { dayOf, tickEachDay, untilTheDayTurns } from "./clock.js";
|
|
102
111
|
// Views — the cardinality x fidelity matrix.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { ArrangedGroup, ArrangeNode, Grouping, Sort } from "./arrangement.js";
|
|
2
|
+
import type { KindList, KindListGroup } from "./views/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* A KIND'S LIST OPENS IN THE ORDER ITS DECLARATION SAYS (`pages.lists.<kind>`):
|
|
5
|
+
* sorted by a field or a rank the kind works out, ties broken by another,
|
|
6
|
+
* grouped by a choice in an order of its own, with what is finished with —
|
|
7
|
+
* done, declined — drawn last and closed, each said with its count. Only a
|
|
8
|
+
* blocks lens could sort and group before; a Roadmap's requests read done
|
|
9
|
+
* among new.
|
|
10
|
+
*
|
|
11
|
+
* Pure and small: the checker and the document's edit judge a declaration
|
|
12
|
+
* with it (`kindListFindings`), and a list page reads its opening
|
|
13
|
+
* (`listOpening`) and orders its groups (`orderListGroups`) with it.
|
|
14
|
+
*/
|
|
15
|
+
/** What a kind's fields are, as a list's order and grouping are judged against them. */
|
|
16
|
+
export interface ListFields {
|
|
17
|
+
/** Each stored field: a choice (with its options), a yes or no, a value a list sorts by, or something it cannot. */
|
|
18
|
+
readonly fields: Readonly<Record<string, {
|
|
19
|
+
readonly type: "choice" | "boolean" | "scalar" | "other";
|
|
20
|
+
readonly options?: readonly string[];
|
|
21
|
+
}>>;
|
|
22
|
+
/** The kind's computed fields, by name. */
|
|
23
|
+
readonly computed: readonly string[];
|
|
24
|
+
}
|
|
25
|
+
/** A document's kind's fields, as `ListFields` says them: what the edit judges before anything is compiled. */
|
|
26
|
+
export declare function documentListFields(spec: {
|
|
27
|
+
readonly fields?: Readonly<Record<string, {
|
|
28
|
+
readonly type?: string;
|
|
29
|
+
readonly options?: readonly string[];
|
|
30
|
+
}>>;
|
|
31
|
+
readonly computed?: Readonly<Record<string, unknown>>;
|
|
32
|
+
} | undefined): ListFields;
|
|
33
|
+
export interface ListFinding {
|
|
34
|
+
readonly path: string;
|
|
35
|
+
readonly message: string;
|
|
36
|
+
readonly fix: string;
|
|
37
|
+
}
|
|
38
|
+
/** A declared sort, said either way, as an arrangement's sort with its tiebreaks. */
|
|
39
|
+
export declare function listSort(spec: KindList["sort"]): Sort | undefined;
|
|
40
|
+
/** A declared grouping, said either way, in its whole form. */
|
|
41
|
+
export declare function listGroup(spec: KindList["group"]): KindListGroup | undefined;
|
|
42
|
+
/** How a kind's list opens when its address says nothing: its declared sort and grouping. */
|
|
43
|
+
export declare function listOpening(list: KindList | undefined): {
|
|
44
|
+
readonly sort?: Sort;
|
|
45
|
+
readonly group?: Grouping;
|
|
46
|
+
} | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* The groups in the declared order — the order it names, then the rest in
|
|
49
|
+
* their declared order, the group with nothing to say after those — and
|
|
50
|
+
* the closed ones last, each marked. A group the address asked for some
|
|
51
|
+
* other way is left as `arrange` drew it.
|
|
52
|
+
*/
|
|
53
|
+
export declare function orderListGroups<N extends ArrangeNode>(groups: readonly ArrangedGroup<N>[], spec: KindListGroup, field: {
|
|
54
|
+
readonly type: "choice" | "boolean";
|
|
55
|
+
readonly options?: readonly string[];
|
|
56
|
+
}): readonly (ArrangedGroup<N> & {
|
|
57
|
+
readonly closed: boolean;
|
|
58
|
+
})[];
|
|
59
|
+
/** What a document's field type reads as, for the words a sort is said in. */
|
|
60
|
+
export declare function sortTypeOfDocumentField(type: string | undefined): "choice" | "boolean" | "number" | "date" | "text";
|
|
61
|
+
/**
|
|
62
|
+
* A kind's declared order and grouping, said: `sorted by "votes", highest
|
|
63
|
+
* first, then "label", A to Z` and `grouped by "status", done and declined
|
|
64
|
+
* closed at the end`. `typeOf` says what a key's values are (a computed
|
|
65
|
+
* field is a number).
|
|
66
|
+
*/
|
|
67
|
+
export declare function kindListWords(list: KindList, typeOf: (key: string) => "choice" | "boolean" | "number" | "date" | "text"): {
|
|
68
|
+
readonly sort?: string;
|
|
69
|
+
readonly group?: string;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* What is wrong with a kind's declared order and grouping, each said in a
|
|
73
|
+
* sentence: a sort by what the kind does not have, a grouping by a field
|
|
74
|
+
* that is not a choice or a yes or no, a group's order or a closed group
|
|
75
|
+
* naming a value the field does not offer.
|
|
76
|
+
*/
|
|
77
|
+
export declare function kindListFindings(kind: string, list: KindList, shape: ListFields, at?: string): ListFinding[];
|
|
78
|
+
//# sourceMappingURL=kind-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kind-list.d.ts","sourceRoot":"","sources":["../src/kind-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/** A document's kind's fields, as `ListFields` says them: what the edit judges before anything is compiled. */
|
|
2
|
+
export function documentListFields(spec) {
|
|
3
|
+
const fields = {};
|
|
4
|
+
for (const [name, field] of Object.entries(spec?.fields ?? {})) {
|
|
5
|
+
fields[name] =
|
|
6
|
+
field.type === "enum"
|
|
7
|
+
? { type: "choice", options: field.options ?? [] }
|
|
8
|
+
: field.type === "boolean"
|
|
9
|
+
? { type: "boolean" }
|
|
10
|
+
: ["list", "image", "file", "app-link", "place"].includes(field.type ?? "")
|
|
11
|
+
? { type: "other" }
|
|
12
|
+
: { type: "scalar" };
|
|
13
|
+
}
|
|
14
|
+
return { fields, computed: Object.keys(spec?.computed ?? {}) };
|
|
15
|
+
}
|
|
16
|
+
const MOST_TIEBREAKS = 3;
|
|
17
|
+
/** A declared sort, said either way, as an arrangement's sort with its tiebreaks. */
|
|
18
|
+
export function listSort(spec) {
|
|
19
|
+
if (spec === undefined)
|
|
20
|
+
return undefined;
|
|
21
|
+
if (typeof spec === "string")
|
|
22
|
+
return { by: spec, direction: "asc" };
|
|
23
|
+
const then = spec.then === undefined ? undefined : typeof spec.then === "string" ? { by: spec.then, direction: "asc" } : { by: spec.then.by, direction: spec.then.direction ?? "asc" };
|
|
24
|
+
return { by: spec.by, direction: spec.direction ?? "asc", ...(then ? { then } : {}) };
|
|
25
|
+
}
|
|
26
|
+
/** A declared grouping, said either way, in its whole form. */
|
|
27
|
+
export function listGroup(spec) {
|
|
28
|
+
if (spec === undefined)
|
|
29
|
+
return undefined;
|
|
30
|
+
return typeof spec === "string" ? { by: spec } : spec;
|
|
31
|
+
}
|
|
32
|
+
/** How a kind's list opens when its address says nothing: its declared sort and grouping. */
|
|
33
|
+
export function listOpening(list) {
|
|
34
|
+
const sort = listSort(list?.sort);
|
|
35
|
+
const group = listGroup(list?.group);
|
|
36
|
+
if (!sort && !group)
|
|
37
|
+
return undefined;
|
|
38
|
+
return { ...(sort ? { sort } : {}), ...(group ? { group: { by: group.by } } : {}) };
|
|
39
|
+
}
|
|
40
|
+
/** A group's value as the declaration names it: a yes-or-no group's key ("1", "0") is `"true"` or `"false"`. */
|
|
41
|
+
const valueOf = (key, boolean) => (boolean ? (key === "1" ? "true" : "false") : key);
|
|
42
|
+
/**
|
|
43
|
+
* The groups in the declared order — the order it names, then the rest in
|
|
44
|
+
* their declared order, the group with nothing to say after those — and
|
|
45
|
+
* the closed ones last, each marked. A group the address asked for some
|
|
46
|
+
* other way is left as `arrange` drew it.
|
|
47
|
+
*/
|
|
48
|
+
export function orderListGroups(groups, spec, field) {
|
|
49
|
+
const boolean = field.type === "boolean";
|
|
50
|
+
const options = boolean ? ["true", "false"] : (field.options ?? []);
|
|
51
|
+
const order = [...new Set([...(spec.order ?? []).filter((value) => options.includes(value)), ...options])];
|
|
52
|
+
const closed = spec.closed ?? [];
|
|
53
|
+
// Open groups in their order; closed ones in the order the declaration closes them.
|
|
54
|
+
const rank = (group) => {
|
|
55
|
+
if (group.key === "")
|
|
56
|
+
return [1, 0];
|
|
57
|
+
const value = valueOf(group.key, boolean);
|
|
58
|
+
if (closed.includes(value))
|
|
59
|
+
return [2, closed.indexOf(value)];
|
|
60
|
+
const at = order.indexOf(value);
|
|
61
|
+
return [0, at < 0 ? order.length : at];
|
|
62
|
+
};
|
|
63
|
+
return groups
|
|
64
|
+
.map((group, at) => ({ group, at, rank: rank(group) }))
|
|
65
|
+
.sort((a, b) => a.rank[0] - b.rank[0] || a.rank[1] - b.rank[1] || a.at - b.at)
|
|
66
|
+
.map(({ group, rank }) => ({ ...group, closed: rank[0] === 2 }));
|
|
67
|
+
}
|
|
68
|
+
/** A direction, in the words a key's values read in: "highest first", "A to Z". */
|
|
69
|
+
function directionSaid(type, direction) {
|
|
70
|
+
const words = {
|
|
71
|
+
date: ["earliest first", "latest first"],
|
|
72
|
+
number: ["lowest first", "highest first"],
|
|
73
|
+
boolean: ["no first", "yes first"],
|
|
74
|
+
choice: ["in their order", "in reverse order"],
|
|
75
|
+
text: ["A to Z", "Z to A"],
|
|
76
|
+
}[type];
|
|
77
|
+
return words[direction === "desc" ? 1 : 0];
|
|
78
|
+
}
|
|
79
|
+
/** What a document's field type reads as, for the words a sort is said in. */
|
|
80
|
+
export function sortTypeOfDocumentField(type) {
|
|
81
|
+
if (type === "enum")
|
|
82
|
+
return "choice";
|
|
83
|
+
if (type === "boolean")
|
|
84
|
+
return "boolean";
|
|
85
|
+
if (type === "number" || type === "integer" || type === "duration")
|
|
86
|
+
return "number";
|
|
87
|
+
if (type === "date" || type === "datetime")
|
|
88
|
+
return "date";
|
|
89
|
+
return "text";
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* A kind's declared order and grouping, said: `sorted by "votes", highest
|
|
93
|
+
* first, then "label", A to Z` and `grouped by "status", done and declined
|
|
94
|
+
* closed at the end`. `typeOf` says what a key's values are (a computed
|
|
95
|
+
* field is a number).
|
|
96
|
+
*/
|
|
97
|
+
export function kindListWords(list, typeOf) {
|
|
98
|
+
const out = {};
|
|
99
|
+
const sort = listSort(list.sort);
|
|
100
|
+
if (sort) {
|
|
101
|
+
const parts = [];
|
|
102
|
+
for (let at = sort, depth = 0; at && depth <= MOST_TIEBREAKS; at = at.then, depth += 1) {
|
|
103
|
+
parts.push(`${depth === 0 ? "sorted by" : "then"} "${at.by}", ${directionSaid(at.by === "label" ? "text" : typeOf(at.by), at.direction)}`);
|
|
104
|
+
}
|
|
105
|
+
out.sort = parts.join(", ");
|
|
106
|
+
}
|
|
107
|
+
const group = listGroup(list.group);
|
|
108
|
+
if (group) {
|
|
109
|
+
const quoted = (values) => values.map((value) => `"${value}"`);
|
|
110
|
+
const join = (values) => (values.length <= 1 ? values.join("") : `${values.slice(0, -1).join(", ")} and ${values.at(-1)}`);
|
|
111
|
+
const order = group.order?.length ? `, ${join(quoted(group.order))} first` : "";
|
|
112
|
+
const closed = group.closed?.length ? `, ${join(quoted(group.closed))} closed at the end` : "";
|
|
113
|
+
out.group = `grouped by "${group.by}"${order}${closed}`;
|
|
114
|
+
}
|
|
115
|
+
return out;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* What is wrong with a kind's declared order and grouping, each said in a
|
|
119
|
+
* sentence: a sort by what the kind does not have, a grouping by a field
|
|
120
|
+
* that is not a choice or a yes or no, a group's order or a closed group
|
|
121
|
+
* naming a value the field does not offer.
|
|
122
|
+
*/
|
|
123
|
+
export function kindListFindings(kind, list, shape, at = `pages.lists.${kind}`) {
|
|
124
|
+
const out = [];
|
|
125
|
+
const sortable = ["label", ...Object.entries(shape.fields).filter(([, field]) => field.type !== "other").map(([name]) => name), ...shape.computed];
|
|
126
|
+
if (list.sort !== undefined) {
|
|
127
|
+
const sort = listSort(list.sort);
|
|
128
|
+
const keys = [[sort.by, `${at}.sort${typeof list.sort === "string" ? "" : ".by"}`]];
|
|
129
|
+
for (let then = sort.then, depth = 0; then && depth < MOST_TIEBREAKS; then = then.then, depth += 1)
|
|
130
|
+
keys.push([then.by, `${at}.sort.then`]);
|
|
131
|
+
for (const [by, path] of keys) {
|
|
132
|
+
if (sortable.includes(by))
|
|
133
|
+
continue;
|
|
134
|
+
const field = shape.fields[by];
|
|
135
|
+
out.push({
|
|
136
|
+
path,
|
|
137
|
+
message: field
|
|
138
|
+
? `The ${kind} list cannot be sorted by "${by}": it is a field no list sorts by (a list, a file, a picture).`
|
|
139
|
+
: `The ${kind} list cannot be sorted by "${by}": ${kind} has no field or computed field called that.`,
|
|
140
|
+
fix: `Sort by ${sortable.map((key) => `"${key}"`).join(", ")}.`,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (list.group !== undefined) {
|
|
145
|
+
const group = listGroup(list.group);
|
|
146
|
+
const groupAt = `${at}.group${typeof list.group === "string" ? "" : ".by"}`;
|
|
147
|
+
const field = shape.fields[group.by];
|
|
148
|
+
const groupable = Object.entries(shape.fields).filter(([, one]) => one.type === "choice" || one.type === "boolean").map(([name]) => `"${name}"`);
|
|
149
|
+
const fix = groupable.length > 0 ? `Group by ${groupable.join(", ")}.` : `${kind} has no choice or yes-or-no field to group by; add one, or leave the list ungrouped.`;
|
|
150
|
+
if (!field) {
|
|
151
|
+
out.push({ path: groupAt, message: `The ${kind} list cannot be grouped by "${group.by}": ${kind} has no field called that${shape.computed.includes(group.by) ? " it stores (a computed field is not grouped by)" : ""}.`, fix });
|
|
152
|
+
}
|
|
153
|
+
else if (field.type !== "choice" && field.type !== "boolean") {
|
|
154
|
+
out.push({ path: groupAt, message: `The ${kind} list cannot be grouped by "${group.by}": a list groups by a choice or a yes-or-no field, and ${group.by} is neither.`, fix });
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
const options = field.type === "boolean" ? ["true", "false"] : (field.options ?? []);
|
|
158
|
+
const said = options.map((option) => `"${option}"`).join(", ");
|
|
159
|
+
for (const part of ["order", "closed"]) {
|
|
160
|
+
(group[part] ?? []).forEach((value, n) => {
|
|
161
|
+
if (options.includes(value))
|
|
162
|
+
return;
|
|
163
|
+
out.push({
|
|
164
|
+
path: `${at}.group.${part}.${n}`,
|
|
165
|
+
message: part === "closed"
|
|
166
|
+
? `The ${kind} list cannot close the "${value}" group: "${value}" is not one of ${group.by}'s choices.`
|
|
167
|
+
: `The ${kind} list cannot put the "${value}" group in order: "${value}" is not one of ${group.by}'s choices.`,
|
|
168
|
+
fix: `Name ${said}.`,
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return out;
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=kind-list.js.map
|