@graview/core 0.1.15 → 0.1.16
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 +16 -5
- package/dist/app.d.ts +8 -8
- package/dist/app.d.ts.map +1 -1
- package/dist/arrangement.d.ts +2 -2
- package/dist/arrangement.d.ts.map +1 -1
- package/dist/arrangement.js +5 -5
- package/dist/arranging.js +3 -3
- package/dist/capabilities.js +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/city.d.ts +5 -5
- package/dist/city.js +3 -3
- package/dist/cli/check/beginnings.js +2 -2
- package/dist/cli/check/brand.d.ts.map +1 -1
- package/dist/cli/check/brand.js +15 -9
- package/dist/cli/check/brand.js.map +1 -1
- package/dist/cli/check/city.js +1 -1
- package/dist/cli/check/context.js +1 -1
- package/dist/cli/check/relations.js +2 -2
- package/dist/cli/check/relations.js.map +1 -1
- package/dist/cli/check/settings.js +8 -8
- package/dist/cli/check/settings.js.map +1 -1
- package/dist/cli/check/views.d.ts +1 -1
- package/dist/cli/check/views.js +1 -1
- package/dist/cli/create.d.ts +1 -1
- package/dist/cli/create.js +5 -5
- package/dist/cli/describe.d.ts +1 -1
- package/dist/cli/describe.js +2 -2
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/columns.d.ts +1 -1
- package/dist/columns.js +1 -1
- package/dist/describe.d.ts +1 -1
- package/dist/describe.d.ts.map +1 -1
- package/dist/document/brand-check.d.ts +10 -0
- package/dist/document/brand-check.d.ts.map +1 -0
- package/dist/document/brand-check.js +33 -0
- package/dist/document/brand-check.js.map +1 -0
- package/dist/document/brand.d.ts +10 -0
- package/dist/document/brand.d.ts.map +1 -0
- package/dist/document/brand.js +49 -0
- package/dist/document/brand.js.map +1 -0
- package/dist/document/compile-checked.d.ts.map +1 -1
- package/dist/document/compile-checked.js +6 -2
- package/dist/document/compile-checked.js.map +1 -1
- package/dist/document/compile.d.ts +6 -0
- package/dist/document/compile.d.ts.map +1 -1
- package/dist/document/compile.js +4 -13
- package/dist/document/compile.js.map +1 -1
- package/dist/document/compiled.d.ts.map +1 -1
- package/dist/document/compiled.js +3 -2
- package/dist/document/compiled.js.map +1 -1
- package/dist/document/describe-place.d.ts +16 -0
- package/dist/document/describe-place.d.ts.map +1 -1
- package/dist/document/describe-place.js +14 -1
- package/dist/document/describe-place.js.map +1 -1
- package/dist/document/diff.d.ts.map +1 -1
- package/dist/document/diff.js +45 -6
- package/dist/document/diff.js.map +1 -1
- package/dist/document/edit.d.ts +7 -2
- package/dist/document/edit.d.ts.map +1 -1
- package/dist/document/edit.js +173 -45
- package/dist/document/edit.js.map +1 -1
- package/dist/document/expr/analyze.d.ts +2 -2
- package/dist/document/expr/analyze.js +2 -2
- package/dist/document/expr/print.js +1 -1
- package/dist/document/index.d.ts +1 -1
- package/dist/document/index.d.ts.map +1 -1
- package/dist/document/quote.d.ts +5 -0
- package/dist/document/quote.d.ts.map +1 -0
- package/dist/document/quote.js +17 -0
- package/dist/document/quote.js.map +1 -0
- package/dist/document/rules.d.ts +2 -2
- package/dist/document/rules.d.ts.map +1 -1
- package/dist/document/rules.js +2 -2
- package/dist/document/rules.js.map +1 -1
- package/dist/document/schema.d.ts +45 -2
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +22 -3
- package/dist/document/schema.js.map +1 -1
- package/dist/document/thumbnail.d.ts +9 -0
- package/dist/document/thumbnail.d.ts.map +1 -1
- package/dist/document/thumbnail.js +74 -12
- package/dist/document/thumbnail.js.map +1 -1
- package/dist/document/to-document.js +5 -5
- package/dist/document/to-document.js.map +1 -1
- package/dist/graph/graph.js +3 -3
- package/dist/graph/primitives.d.ts +2 -2
- package/dist/graph/primitives.js +2 -2
- package/dist/index.d.ts +10 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/invariants/engine.js +1 -1
- package/dist/invariants/types.d.ts +3 -3
- package/dist/invariants/types.d.ts.map +1 -1
- package/dist/labels.d.ts +1 -1
- package/dist/modules.d.ts +1 -1
- package/dist/modules.js +1 -1
- package/dist/mutations/define-mutation.js +4 -4
- package/dist/mutations/define-mutation.js.map +1 -1
- package/dist/mutations/derive-edits.js +3 -3
- package/dist/mutations/node-ref.js +1 -1
- package/dist/mutations/types.d.ts +1 -1
- package/dist/mutations/words.js +3 -3
- package/dist/ops/types.d.ts +1 -1
- package/dist/ops/withheld.d.ts +3 -3
- package/dist/permissions/policy.d.ts +1 -1
- package/dist/permissions/policy.js +3 -3
- package/dist/permissions/types.d.ts +2 -2
- package/dist/places.d.ts +14 -1
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +27 -4
- package/dist/places.js.map +1 -1
- package/dist/scaffold/domain.js +3 -3
- package/dist/scaffold/index.d.ts +1 -1
- package/dist/scaffold/index.d.ts.map +1 -1
- package/dist/scaffold/names.d.ts +1 -1
- package/dist/scaffold/names.js +1 -1
- package/dist/scaffold/names.js.map +1 -1
- package/dist/scaffold/project.js +1 -1
- package/dist/scene-districts.d.ts +1 -1
- package/dist/schema/define-node.d.ts +4 -4
- package/dist/schema/define-node.d.ts.map +1 -1
- package/dist/schema/define-node.js +8 -8
- package/dist/schema/define-node.js.map +1 -1
- package/dist/schema/figures.d.ts +1 -1
- package/dist/schema/figures.js +7 -7
- package/dist/schema/figures.js.map +1 -1
- package/dist/schema/types.d.ts +1 -1
- package/dist/search.d.ts +13 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +33 -14
- package/dist/search.js.map +1 -1
- package/dist/seen.d.ts +2 -2
- package/dist/seen.js +12 -12
- package/dist/seen.js.map +1 -1
- package/dist/settings.d.ts +1 -1
- package/dist/settings.js +3 -3
- package/dist/settings.js.map +1 -1
- package/dist/store.d.ts +2 -2
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +8 -8
- package/dist/store.js.map +1 -1
- package/dist/sync/google-calendar.js +1 -1
- package/dist/sync/types.d.ts +2 -2
- package/dist/testing.d.ts +1 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +2 -2
- package/dist/testing.js.map +1 -1
- package/dist/theme/accent.d.ts +37 -0
- package/dist/theme/accent.d.ts.map +1 -0
- package/dist/theme/accent.js +138 -0
- package/dist/theme/accent.js.map +1 -0
- package/dist/theme/contrast.d.ts +7 -7
- package/dist/theme/contrast.d.ts.map +1 -1
- package/dist/theme/contrast.js +14 -14
- package/dist/theme/contrast.js.map +1 -1
- package/dist/theme/derive.d.ts +4 -4
- package/dist/theme/derive.d.ts.map +1 -1
- package/dist/theme/derive.js +19 -19
- package/dist/theme/derive.js.map +1 -1
- package/dist/theme/fonts.d.ts +19 -0
- package/dist/theme/fonts.d.ts.map +1 -0
- package/dist/theme/fonts.js +73 -0
- package/dist/theme/fonts.js.map +1 -0
- package/dist/theme/kit.d.ts +9 -9
- package/dist/theme/kit.d.ts.map +1 -1
- package/dist/theme/kit.js +15 -15
- package/dist/theme/kit.js.map +1 -1
- package/dist/theme/layers.d.ts +2 -2
- package/dist/theme/layers.d.ts.map +1 -1
- package/dist/theme/layers.js +2 -2
- package/dist/theme/layers.js.map +1 -1
- package/dist/theme/look.d.ts +3 -3
- package/dist/theme/look.d.ts.map +1 -1
- package/dist/theme/look.js +1 -1
- package/dist/theme/marks.d.ts +28 -0
- package/dist/theme/marks.d.ts.map +1 -0
- package/dist/theme/marks.js +237 -0
- package/dist/theme/marks.js.map +1 -0
- package/dist/theme/palettes.d.ts +2 -2
- package/dist/theme/palettes.js +2 -2
- package/dist/theme/types.d.ts +28 -6
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/theme/types.js.map +1 -1
- package/dist/validate-graph.js +2 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/watched.js +8 -8
- package/package.json +1 -1
package/dist/theme/palettes.js
CHANGED
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
* - **Light** is daylight and paper. Things at depth lose CONTRAST and gain
|
|
17
17
|
* haze — real atmospheric perspective — and separation comes from soft cast
|
|
18
18
|
* shadow, the way objects on a desk separate. Inverting the dark scheme
|
|
19
|
-
* would give
|
|
19
|
+
* would give gray-on-gray mush, because glow does not exist in daylight.
|
|
20
20
|
*
|
|
21
|
-
* One rule holds across both: **secondary text is a
|
|
21
|
+
* One rule holds across both: **secondary text is a color, never an
|
|
22
22
|
* opacity.** Opacity composites against whatever is behind and fails contrast
|
|
23
23
|
* silently. `checkContrast` measures every pair on both, and axe-core checks
|
|
24
24
|
* the rendered result on every run of the a11y harness.
|
package/dist/theme/types.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { KitOverrides } from "./kit.js";
|
|
|
6
6
|
* components that read them live. The contract lives here for the same reason
|
|
7
7
|
* the schema does: `graview check` reads declarations, and a theme is a
|
|
8
8
|
* declaration. A custom palette can be wrong in ways nobody notices — a
|
|
9
|
-
* secondary text
|
|
9
|
+
* secondary text color that clears 4.5:1 on a dark ground and fails badly on
|
|
10
10
|
* paper — and contrast is a property the framework can verify rather than
|
|
11
11
|
* trust.
|
|
12
12
|
*/
|
|
@@ -32,7 +32,7 @@ export interface ThemeTokens {
|
|
|
32
32
|
* A STATUS THAT IS GOOD, AND ONE THAT IS BAD: booked, paid, passing;
|
|
33
33
|
* overdue, refused, failing. The accent means "selected" and the warning
|
|
34
34
|
* means "a rule is broken", and a badge that meant neither invented a
|
|
35
|
-
*
|
|
35
|
+
* color of its own and checked it by hand, if at all. Text colors,
|
|
36
36
|
* held to 4.5:1 on a panel and on the ground like every other ink.
|
|
37
37
|
*/
|
|
38
38
|
readonly good: string;
|
|
@@ -56,7 +56,7 @@ export interface ThemeTokens {
|
|
|
56
56
|
*
|
|
57
57
|
* Palette, wordmark and typography together, because they are one decision:
|
|
58
58
|
* a brand handing over a hex code has not given you a theme, and a brand
|
|
59
|
-
* handing over a logo without a
|
|
59
|
+
* handing over a logo without a color has not either.
|
|
60
60
|
*/
|
|
61
61
|
export interface Brand {
|
|
62
62
|
/** The product name, shown where the framework shows a wordmark. */
|
|
@@ -65,9 +65,31 @@ export interface Brand {
|
|
|
65
65
|
* A logo, as an inline SVG string or a URL.
|
|
66
66
|
*
|
|
67
67
|
* Inline is preferred and is what `currentColor` support is for: a logo
|
|
68
|
-
* that inherits the ink
|
|
68
|
+
* that inherits the ink color works in both schemes without two files.
|
|
69
69
|
*/
|
|
70
70
|
readonly logo?: string;
|
|
71
|
+
/**
|
|
72
|
+
* What the logo says to someone who cannot see it (FR-124): the app's
|
|
73
|
+
* name when absent. Drawn beside the name, the logo is said only when
|
|
74
|
+
* this says more than the name does.
|
|
75
|
+
*/
|
|
76
|
+
readonly logoAlt?: string;
|
|
77
|
+
/**
|
|
78
|
+
* The page's icon (FR-124), in the same forms as the logo: inline SVG or
|
|
79
|
+
* a same-origin path. Set only by a face that owns the whole page — the
|
|
80
|
+
* Shell, the routed face on its own, an embed told `favicon: true` —
|
|
81
|
+
* never by an embed on somebody else's page. `faviconHref` says it as an
|
|
82
|
+
* address.
|
|
83
|
+
*/
|
|
84
|
+
readonly favicon?: string;
|
|
85
|
+
/** A line under the name (FR-125): a document's `description`. */
|
|
86
|
+
readonly subtitle?: string;
|
|
87
|
+
/**
|
|
88
|
+
* THE SCHEME THE APP PREFERS (FR-124), when the reader has not chosen:
|
|
89
|
+
* "auto" (the default) follows the system's. A host's own `data-theme`
|
|
90
|
+
* stamp, or a scheme the host asks for, is a choice and wins.
|
|
91
|
+
*/
|
|
92
|
+
readonly scheme?: Scheme | "auto";
|
|
71
93
|
readonly typography?: {
|
|
72
94
|
/** Applied to everything. Include a real fallback stack. */
|
|
73
95
|
readonly body?: string;
|
|
@@ -81,7 +103,7 @@ export interface Brand {
|
|
|
81
103
|
*
|
|
82
104
|
* The third axis of an identity, and the one that was missing: with only a
|
|
83
105
|
* palette and a wordmark, four apps built on this looked like the same
|
|
84
|
-
* application four times in different
|
|
106
|
+
* application four times in different colors. A bid desk is square and
|
|
85
107
|
* dense; a household planner is round and roomy. Neither is a component
|
|
86
108
|
* change — both are one number.
|
|
87
109
|
*/
|
|
@@ -96,7 +118,7 @@ export interface Brand {
|
|
|
96
118
|
*
|
|
97
119
|
* The default is a stable hash — fine for "each kind looks like itself",
|
|
98
120
|
* useless for "our people are warm amber and our money is green". Declared
|
|
99
|
-
* here it reaches every surface that
|
|
121
|
+
* here it reaches every surface that colors by kind (chips, districts,
|
|
100
122
|
* calendars) through one lookup, and `graview check` refuses a key that
|
|
101
123
|
* names no declared kind — a silent typo would just quietly hash instead.
|
|
102
124
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACpB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,4DAA4D;QAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,iEAAiE;QACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,sDAAsD;QACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,0EAA0E;QAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,4DAA4D;QAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,WAAW,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,WAAW,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,WAAW,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EA8BzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"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"}
|
package/dist/theme/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"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"}
|
package/dist/validate-graph.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Graph } from "./graph/graph.js";
|
|
|
2
2
|
import { UNSET } from "./graph/primitives.js";
|
|
3
3
|
import { edgeId } from "./graph/types.js";
|
|
4
4
|
import { evaluate } from "./invariants/engine.js";
|
|
5
|
-
import {
|
|
5
|
+
import { humanizeField, labelOf } from "./schema/define-node.js";
|
|
6
6
|
/** Every code, in the order findings are reported. */
|
|
7
7
|
export const GRAPH_FINDING_CODES = [
|
|
8
8
|
"kind-unknown",
|
|
@@ -140,7 +140,7 @@ export function validateGraph(app, snapshot, options = {}) {
|
|
|
140
140
|
code: "node-shape",
|
|
141
141
|
id: node.id,
|
|
142
142
|
detail: field,
|
|
143
|
-
message: `${name}: ${
|
|
143
|
+
message: `${name}: ${humanizeField(field)} does not fit what ${node.kind} declares`,
|
|
144
144
|
repair,
|
|
145
145
|
});
|
|
146
146
|
}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/dist/watched.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { humanizeField, labelOf } from "./schema/define-node.js";
|
|
2
2
|
const theWatch = () => globalThis.__graviewWatch;
|
|
3
3
|
/** The declaration's names, and the words it has for them. */
|
|
4
4
|
export function tellTheWatchItsNames(schema, mutations, policy) {
|
|
@@ -17,13 +17,13 @@ export function tellTheWatchItsNames(schema, mutations, policy) {
|
|
|
17
17
|
for (const definition of schema.definitions) {
|
|
18
18
|
ids.push(definition.kind);
|
|
19
19
|
// A kind with a noun of its own is never shown by its id: "vehicle" where the declaration says "car".
|
|
20
|
-
if (definition.noun &&
|
|
20
|
+
if (definition.noun && humanizeField(definition.kind).toLowerCase() !== definition.noun.toLowerCase())
|
|
21
21
|
unsaid.push(definition.kind);
|
|
22
22
|
const fieldsOf = definition.fields.shape ?? {};
|
|
23
23
|
for (const [key, field] of Object.entries(fieldsOf)) {
|
|
24
24
|
const declared = definition.display?.labels?.[key];
|
|
25
|
-
if (declared !== undefined &&
|
|
26
|
-
unsaid.push(
|
|
25
|
+
if (declared !== undefined && humanizeField(key) !== declared)
|
|
26
|
+
unsaid.push(humanizeField(key));
|
|
27
27
|
const entries = field?.def?.entries;
|
|
28
28
|
const format = definition.display?.format?.[key];
|
|
29
29
|
for (const value of entries && typeof entries === "object" ? Object.values(entries) : []) {
|
|
@@ -52,7 +52,7 @@ export function tellTheWatchItsNames(schema, mutations, policy) {
|
|
|
52
52
|
ids.push(name);
|
|
53
53
|
// An edge's name spoken ("Drives", "On show at") where it has words of its own ("the test drives booked in it").
|
|
54
54
|
if (edge.description || edge.inverse)
|
|
55
|
-
unsaid.push(
|
|
55
|
+
unsaid.push(humanizeField(name));
|
|
56
56
|
words.push(edge.description ?? "", edge.inverse ?? "");
|
|
57
57
|
}
|
|
58
58
|
}
|
|
@@ -69,7 +69,7 @@ export function tellTheWatchItsNames(schema, mutations, policy) {
|
|
|
69
69
|
for (const definition of schema.definitions) {
|
|
70
70
|
// A kind's own words: what a picker asks for ("Owner") is a noun, not an edge's name.
|
|
71
71
|
declared.add(definition.plural ?? "");
|
|
72
|
-
declared.add(
|
|
72
|
+
declared.add(humanizeField(definition.noun ?? definition.kind));
|
|
73
73
|
for (const label of Object.values(definition.display?.labels ?? {}))
|
|
74
74
|
declared.add(label);
|
|
75
75
|
const fieldsOf = definition.fields.shape ?? {};
|
|
@@ -77,11 +77,11 @@ export function tellTheWatchItsNames(schema, mutations, policy) {
|
|
|
77
77
|
const format = definition.display?.format?.[key];
|
|
78
78
|
const entries = field?.def?.entries;
|
|
79
79
|
if (!format && !definition.display?.labels?.[key])
|
|
80
|
-
declared.add(
|
|
80
|
+
declared.add(humanizeField(key));
|
|
81
81
|
// A value is said by its format, or spoken plainly where there is none ("Given", a talk's state).
|
|
82
82
|
if (entries && typeof entries === "object")
|
|
83
83
|
for (const value of Object.values(entries))
|
|
84
|
-
declared.add(format ? format(value) :
|
|
84
|
+
declared.add(format ? format(value) : humanizeField(String(value)));
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
watch.learn({ ids, words: words.filter(Boolean), unsaid: [...new Set(unsaid)].filter((word) => !declared.has(word)) });
|