@graview/core 0.1.28 → 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/README.md +17 -0
- package/dist/amount-input.d.ts +21 -0
- package/dist/amount-input.d.ts.map +1 -0
- package/dist/amount-input.js +96 -0
- package/dist/amount-input.js.map +1 -0
- package/dist/answer-seen.d.ts +38 -0
- package/dist/answer-seen.d.ts.map +1 -0
- package/dist/answer-seen.js +122 -0
- package/dist/answer-seen.js.map +1 -0
- package/dist/app-places.d.ts +56 -0
- package/dist/app-places.d.ts.map +1 -0
- package/dist/app-places.js +203 -0
- package/dist/app-places.js.map +1 -0
- 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 +4 -2
- package/dist/arrange.d.ts.map +1 -1
- package/dist/arrange.js +4 -2
- package/dist/arrange.js.map +1 -1
- package/dist/arrangement-words.d.ts +3 -0
- package/dist/arrangement-words.d.ts.map +1 -0
- package/dist/arrangement-words.js +50 -0
- package/dist/arrangement-words.js.map +1 -0
- package/dist/arrangement.d.ts +43 -3
- package/dist/arrangement.d.ts.map +1 -1
- package/dist/arrangement.js +69 -31
- package/dist/arrangement.js.map +1 -1
- package/dist/arranging.d.ts.map +1 -1
- package/dist/arranging.js +36 -14
- package/dist/arranging.js.map +1 -1
- package/dist/bind.d.ts +3 -0
- package/dist/bind.d.ts.map +1 -1
- package/dist/bind.js.map +1 -1
- package/dist/blocks.d.ts +1 -1
- package/dist/blocks.d.ts.map +1 -1
- package/dist/capabilities.js +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/check.d.ts +3 -0
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +3 -0
- package/dist/check.js.map +1 -1
- package/dist/city.d.ts +58 -50
- package/dist/city.d.ts.map +1 -1
- package/dist/city.js +160 -147
- package/dist/city.js.map +1 -1
- package/dist/cli/check/brand.d.ts.map +1 -1
- package/dist/cli/check/brand.js +30 -2
- package/dist/cli/check/brand.js.map +1 -1
- package/dist/cli/check/clock-rules.d.ts +4 -0
- package/dist/cli/check/clock-rules.d.ts.map +1 -0
- package/dist/cli/check/clock-rules.js +26 -0
- package/dist/cli/check/clock-rules.js.map +1 -0
- package/dist/cli/check/field-sight.d.ts +11 -0
- package/dist/cli/check/field-sight.d.ts.map +1 -0
- package/dist/cli/check/field-sight.js +113 -0
- package/dist/cli/check/field-sight.js.map +1 -0
- package/dist/cli/check/index.d.ts +2 -0
- package/dist/cli/check/index.d.ts.map +1 -1
- package/dist/cli/check/index.js +2 -0
- package/dist/cli/check/index.js.map +1 -1
- package/dist/cli/check/lenses.d.ts +1 -1
- package/dist/cli/check/lenses.d.ts.map +1 -1
- package/dist/cli/check/lenses.js +48 -2
- 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 +55 -4
- package/dist/cli/check/relations.js.map +1 -1
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +7 -4
- package/dist/cli/check.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 +71 -7
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/docs.d.ts.map +1 -1
- package/dist/cli/docs.js +4 -3
- package/dist/cli/docs.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 +16 -2
- package/dist/cli/types.js.map +1 -1
- package/dist/clock-readers.d.ts +18 -0
- package/dist/clock-readers.d.ts.map +1 -0
- package/dist/clock-readers.js +70 -0
- package/dist/clock-readers.js.map +1 -0
- package/dist/clock.d.ts +30 -0
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +41 -0
- package/dist/clock.js.map +1 -0
- package/dist/columns.d.ts.map +1 -1
- package/dist/columns.js +2 -1
- package/dist/columns.js.map +1 -1
- package/dist/conformance/fixtures.d.ts.map +1 -1
- package/dist/conformance/fixtures.js +491 -43
- 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/days.d.ts +53 -4
- package/dist/days.d.ts.map +1 -1
- package/dist/days.js +136 -16
- package/dist/days.js.map +1 -1
- package/dist/describe.d.ts +1 -0
- package/dist/describe.d.ts.map +1 -1
- package/dist/describe.js +1 -0
- package/dist/describe.js.map +1 -1
- package/dist/document/act-findings.d.ts.map +1 -1
- package/dist/document/act-findings.js +32 -4
- package/dist/document/act-findings.js.map +1 -1
- package/dist/document/amount.d.ts +4 -0
- package/dist/document/amount.d.ts.map +1 -0
- package/dist/document/amount.js +22 -0
- package/dist/document/amount.js.map +1 -0
- package/dist/document/block-context.d.ts.map +1 -1
- package/dist/document/block-context.js +1 -0
- package/dist/document/block-context.js.map +1 -1
- package/dist/document/blocks.d.ts +33 -10
- package/dist/document/blocks.d.ts.map +1 -1
- package/dist/document/blocks.js +139 -25
- 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 +12 -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 +49 -24
- package/dist/document/compile.js.map +1 -1
- package/dist/document/compiled.d.ts +6 -2
- package/dist/document/compiled.d.ts.map +1 -1
- package/dist/document/compiled.js +94 -26
- 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 +14 -6
- package/dist/document/describe-coverage.js.map +1 -1
- package/dist/document/describe-place.d.ts +6 -2
- package/dist/document/describe-place.d.ts.map +1 -1
- package/dist/document/describe-place.js +17 -9
- package/dist/document/describe-place.js.map +1 -1
- package/dist/document/diff.d.ts +2 -0
- package/dist/document/diff.d.ts.map +1 -1
- package/dist/document/diff.js +70 -11
- package/dist/document/diff.js.map +1 -1
- package/dist/document/durations.d.ts +8 -0
- package/dist/document/durations.d.ts.map +1 -0
- package/dist/document/durations.js +82 -0
- package/dist/document/durations.js.map +1 -0
- package/dist/document/edit.d.ts +1 -1
- package/dist/document/edit.d.ts.map +1 -1
- package/dist/document/edit.js +436 -27
- package/dist/document/edit.js.map +1 -1
- package/dist/document/expr/evaluate.d.ts +26 -1
- package/dist/document/expr/evaluate.d.ts.map +1 -1
- package/dist/document/expr/evaluate.js +55 -4
- package/dist/document/expr/evaluate.js.map +1 -1
- package/dist/document/field-spec.d.ts.map +1 -1
- package/dist/document/field-spec.js +15 -1
- package/dist/document/field-spec.js.map +1 -1
- package/dist/document/format-findings.d.ts +4 -0
- package/dist/document/format-findings.d.ts.map +1 -0
- package/dist/document/format-findings.js +39 -0
- package/dist/document/format-findings.js.map +1 -0
- package/dist/document/format-rules.d.ts +8 -0
- package/dist/document/format-rules.d.ts.map +1 -0
- package/dist/document/format-rules.js +19 -0
- package/dist/document/format-rules.js.map +1 -0
- package/dist/document/format-words.d.ts +9 -0
- package/dist/document/format-words.d.ts.map +1 -0
- package/dist/document/format-words.js +31 -0
- package/dist/document/format-words.js.map +1 -0
- 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/graview-template.d.ts +2 -2
- 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 +1 -0
- package/dist/document/migrate.d.ts.map +1 -1
- package/dist/document/migrate.js +48 -1
- package/dist/document/migrate.js.map +1 -1
- package/dist/document/money.d.ts +14 -0
- package/dist/document/money.d.ts.map +1 -0
- package/dist/document/money.js +14 -0
- package/dist/document/money.js.map +1 -0
- package/dist/document/policy-words.d.ts +4 -0
- package/dist/document/policy-words.d.ts.map +1 -1
- package/dist/document/policy-words.js +34 -4
- 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/rule-line.d.ts.map +1 -1
- package/dist/document/rule-line.js +16 -12
- package/dist/document/rule-line.js.map +1 -1
- package/dist/document/rules.d.ts.map +1 -1
- package/dist/document/rules.js +15 -6
- package/dist/document/rules.js.map +1 -1
- package/dist/document/schema.d.ts +142 -22
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +86 -10
- package/dist/document/schema.js.map +1 -1
- package/dist/document/template-parse.d.ts.map +1 -1
- package/dist/document/template-parse.js +45 -5
- package/dist/document/template-parse.js.map +1 -1
- package/dist/document/template.d.ts +16 -14
- package/dist/document/template.d.ts.map +1 -1
- package/dist/document/template.js +52 -30
- package/dist/document/template.js.map +1 -1
- package/dist/document/thumbnail.d.ts.map +1 -1
- package/dist/document/thumbnail.js +4 -3
- package/dist/document/thumbnail.js.map +1 -1
- package/dist/document/to-document.d.ts +0 -1
- package/dist/document/to-document.d.ts.map +1 -1
- package/dist/document/to-document.js +30 -2
- package/dist/document/to-document.js.map +1 -1
- package/dist/document/view-specs.d.ts.map +1 -1
- package/dist/document/view-specs.js +3 -0
- package/dist/document/view-specs.js.map +1 -1
- package/dist/document/views.d.ts +38 -4
- package/dist/document/views.d.ts.map +1 -1
- package/dist/document/views.js +81 -26
- package/dist/document/views.js.map +1 -1
- package/dist/document.schema.json +1184 -141
- package/dist/excerpt-of.d.ts +14 -0
- package/dist/excerpt-of.d.ts.map +1 -0
- package/dist/excerpt-of.js +120 -0
- package/dist/excerpt-of.js.map +1 -0
- package/dist/excerpt.d.ts +9 -0
- package/dist/excerpt.d.ts.map +1 -0
- package/dist/excerpt.js +43 -0
- package/dist/excerpt.js.map +1 -0
- package/dist/field-sight.d.ts +33 -0
- package/dist/field-sight.d.ts.map +1 -0
- package/dist/field-sight.js +313 -0
- package/dist/field-sight.js.map +1 -0
- package/dist/forms.d.ts +2 -0
- package/dist/forms.d.ts.map +1 -1
- package/dist/forms.js +3 -0
- package/dist/forms.js.map +1 -1
- package/dist/graph/archived.d.ts +34 -0
- package/dist/graph/archived.d.ts.map +1 -0
- package/dist/graph/archived.js +25 -0
- package/dist/graph/archived.js.map +1 -0
- package/dist/graph/diff.d.ts +16 -0
- package/dist/graph/diff.d.ts.map +1 -1
- package/dist/graph/diff.js +20 -1
- package/dist/graph/diff.js.map +1 -1
- package/dist/graph/graph.d.ts +37 -13
- package/dist/graph/graph.d.ts.map +1 -1
- package/dist/graph/graph.js +84 -41
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/tracked.d.ts +8 -8
- package/dist/graph/tracked.d.ts.map +1 -1
- package/dist/graph/tracked.js +15 -20
- package/dist/graph/tracked.js.map +1 -1
- package/dist/graph/types.d.ts +16 -8
- package/dist/graph/types.d.ts.map +1 -1
- package/dist/graph/types.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/import/coerce.d.ts +45 -0
- package/dist/import/coerce.d.ts.map +1 -0
- package/dist/import/coerce.js +252 -0
- package/dist/import/coerce.js.map +1 -0
- package/dist/import/csv.d.ts +16 -0
- package/dist/import/csv.d.ts.map +1 -0
- package/dist/import/csv.js +77 -0
- package/dist/import/csv.js.map +1 -0
- package/dist/import/index.d.ts +17 -0
- package/dist/import/index.d.ts.map +1 -0
- package/dist/import/index.js +13 -0
- package/dist/import/index.js.map +1 -0
- package/dist/import/mapping.d.ts +99 -0
- package/dist/import/mapping.d.ts.map +1 -0
- package/dist/import/mapping.js +182 -0
- package/dist/import/mapping.js.map +1 -0
- package/dist/import/rows.d.ts +116 -0
- package/dist/import/rows.d.ts.map +1 -0
- package/dist/import/rows.js +584 -0
- package/dist/import/rows.js.map +1 -0
- package/dist/index.d.ts +53 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -18
- package/dist/index.js.map +1 -1
- package/dist/invariants/engine.d.ts +5 -1
- package/dist/invariants/engine.d.ts.map +1 -1
- package/dist/invariants/engine.js +4 -3
- package/dist/invariants/engine.js.map +1 -1
- package/dist/invariants/types.d.ts +18 -3
- package/dist/invariants/types.d.ts.map +1 -1
- package/dist/json-schema.d.ts +1 -0
- package/dist/json-schema.d.ts.map +1 -1
- package/dist/json-schema.js +2 -0
- package/dist/json-schema.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/labels.d.ts.map +1 -1
- package/dist/labels.js +2 -1
- package/dist/labels.js.map +1 -1
- package/dist/lines.d.ts +1 -0
- package/dist/lines.d.ts.map +1 -1
- package/dist/lines.js +5 -3
- package/dist/lines.js.map +1 -1
- 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/markdown.d.ts +102 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +460 -0
- package/dist/markdown.js.map +1 -0
- package/dist/mutations/arg-shape.d.ts +95 -0
- package/dist/mutations/arg-shape.d.ts.map +1 -0
- package/dist/mutations/arg-shape.js +101 -0
- package/dist/mutations/arg-shape.js.map +1 -0
- package/dist/mutations/define-mutation.d.ts +48 -2
- package/dist/mutations/define-mutation.d.ts.map +1 -1
- package/dist/mutations/define-mutation.js +103 -36
- package/dist/mutations/define-mutation.js.map +1 -1
- package/dist/mutations/derive-edits.d.ts +16 -1
- package/dist/mutations/derive-edits.d.ts.map +1 -1
- package/dist/mutations/derive-edits.js +146 -56
- package/dist/mutations/derive-edits.js.map +1 -1
- package/dist/mutations/derive-repeats.d.ts +8 -0
- package/dist/mutations/derive-repeats.d.ts.map +1 -0
- package/dist/mutations/derive-repeats.js +118 -0
- package/dist/mutations/derive-repeats.js.map +1 -0
- package/dist/mutations/derived-names.d.ts +22 -0
- package/dist/mutations/derived-names.d.ts.map +1 -0
- package/dist/mutations/derived-names.js +21 -0
- package/dist/mutations/derived-names.js.map +1 -0
- 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 +33 -1
- package/dist/mutations/form.d.ts.map +1 -1
- package/dist/mutations/form.js +23 -2
- package/dist/mutations/form.js.map +1 -1
- package/dist/mutations/invalid-arguments.d.ts +14 -0
- package/dist/mutations/invalid-arguments.d.ts.map +1 -0
- package/dist/mutations/invalid-arguments.js +18 -0
- package/dist/mutations/invalid-arguments.js.map +1 -0
- package/dist/mutations/keep-link.d.ts +27 -0
- package/dist/mutations/keep-link.d.ts.map +1 -0
- package/dist/mutations/keep-link.js +56 -0
- package/dist/mutations/keep-link.js.map +1 -0
- package/dist/mutations/kept-arguments.d.ts +26 -0
- package/dist/mutations/kept-arguments.d.ts.map +1 -0
- package/dist/mutations/kept-arguments.js +77 -0
- package/dist/mutations/kept-arguments.js.map +1 -0
- package/dist/mutations/node-ref.d.ts +0 -80
- package/dist/mutations/node-ref.d.ts.map +1 -1
- package/dist/mutations/node-ref.js +0 -93
- package/dist/mutations/node-ref.js.map +1 -1
- package/dist/mutations/types.d.ts +17 -1
- package/dist/mutations/types.d.ts.map +1 -1
- package/dist/mutations/words.d.ts +0 -13
- package/dist/mutations/words.d.ts.map +1 -1
- package/dist/mutations/words.js +1 -12
- package/dist/mutations/words.js.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/kept-fields.d.ts +7 -0
- package/dist/ops/kept-fields.d.ts.map +1 -0
- package/dist/ops/kept-fields.js +24 -0
- package/dist/ops/kept-fields.js.map +1 -0
- package/dist/ops/lineage.d.ts +43 -0
- package/dist/ops/lineage.d.ts.map +1 -0
- package/dist/ops/lineage.js +27 -0
- package/dist/ops/lineage.js.map +1 -0
- package/dist/ops/log.d.ts +6 -0
- package/dist/ops/log.d.ts.map +1 -1
- package/dist/ops/log.js +20 -12
- package/dist/ops/log.js.map +1 -1
- package/dist/ops/provenance.d.ts +68 -0
- package/dist/ops/provenance.d.ts.map +1 -0
- package/dist/ops/provenance.js +83 -0
- package/dist/ops/provenance.js.map +1 -0
- 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 +42 -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/ops/withheld.d.ts +25 -2
- package/dist/ops/withheld.d.ts.map +1 -1
- package/dist/ops/withheld.js +6 -15
- package/dist/ops/withheld.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 +13 -1
- package/dist/permissions/policy.d.ts.map +1 -1
- package/dist/permissions/policy.js +44 -9
- package/dist/permissions/policy.js.map +1 -1
- package/dist/permissions/sight.d.ts +40 -2
- package/dist/permissions/sight.d.ts.map +1 -1
- package/dist/permissions/sight.js +25 -2
- package/dist/permissions/sight.js.map +1 -1
- package/dist/permissions/types.d.ts +21 -0
- package/dist/permissions/types.d.ts.map +1 -1
- package/dist/permissions/types.js.map +1 -1
- package/dist/places.d.ts +6 -51
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +50 -144
- package/dist/places.js.map +1 -1
- package/dist/provenance.d.ts +14 -0
- package/dist/provenance.d.ts.map +1 -0
- package/dist/provenance.js +13 -0
- package/dist/provenance.js.map +1 -0
- package/dist/repeat-words.d.ts +13 -0
- package/dist/repeat-words.d.ts.map +1 -0
- package/dist/repeat-words.js +56 -0
- package/dist/repeat-words.js.map +1 -0
- package/dist/repeat.d.ts +59 -0
- package/dist/repeat.d.ts.map +1 -0
- package/dist/repeat.js +155 -0
- package/dist/repeat.js.map +1 -0
- 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 +18 -0
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scaffold/ui.d.ts.map +1 -1
- package/dist/scaffold/ui.js +17 -7
- package/dist/scaffold/ui.js.map +1 -1
- package/dist/scene-districts.d.ts +2 -1
- package/dist/scene-districts.d.ts.map +1 -1
- package/dist/scene-districts.js +2 -1
- package/dist/scene-districts.js.map +1 -1
- package/dist/scene.d.ts +4 -2
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +2 -1
- package/dist/scene.js.map +1 -1
- package/dist/schema/amount-mark.d.ts +13 -0
- package/dist/schema/amount-mark.d.ts.map +1 -0
- package/dist/schema/amount-mark.js +20 -0
- package/dist/schema/amount-mark.js.map +1 -0
- package/dist/schema/amount-words.d.ts +12 -0
- package/dist/schema/amount-words.d.ts.map +1 -0
- package/dist/schema/amount-words.js +31 -0
- package/dist/schema/amount-words.js.map +1 -0
- 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-field.d.ts +4 -0
- package/dist/schema/app-link-field.d.ts.map +1 -0
- package/dist/schema/app-link-field.js +19 -0
- package/dist/schema/app-link-field.js.map +1 -0
- package/dist/schema/app-link.d.ts +38 -0
- package/dist/schema/app-link.d.ts.map +1 -0
- package/dist/schema/app-link.js +38 -0
- package/dist/schema/app-link.js.map +1 -0
- package/dist/schema/define-node.d.ts +39 -92
- package/dist/schema/define-node.d.ts.map +1 -1
- package/dist/schema/define-node.js +8 -246
- package/dist/schema/define-node.js.map +1 -1
- package/dist/schema/field-words.d.ts +45 -0
- package/dist/schema/field-words.d.ts.map +1 -0
- package/dist/schema/field-words.js +124 -0
- package/dist/schema/field-words.js.map +1 -0
- 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 +6 -1
- package/dist/schema/json-schema.d.ts.map +1 -1
- package/dist/schema/json-schema.js +101 -2
- 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/markdown-field.d.ts +4 -0
- package/dist/schema/markdown-field.d.ts.map +1 -0
- package/dist/schema/markdown-field.js +20 -0
- package/dist/schema/markdown-field.js.map +1 -0
- package/dist/schema/markdown.d.ts +6 -0
- package/dist/schema/markdown.d.ts.map +1 -0
- package/dist/schema/markdown.js +27 -0
- package/dist/schema/markdown.js.map +1 -0
- package/dist/schema/reading.d.ts +86 -0
- package/dist/schema/reading.d.ts.map +1 -0
- package/dist/schema/reading.js +325 -0
- package/dist/schema/reading.js.map +1 -0
- package/dist/schema/repeat-field.d.ts +5 -0
- package/dist/schema/repeat-field.d.ts.map +1 -0
- package/dist/schema/repeat-field.js +20 -0
- package/dist/schema/repeat-field.js.map +1 -0
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +12 -1
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/to-json-schema.d.ts +14 -0
- package/dist/schema/to-json-schema.d.ts.map +1 -0
- package/dist/schema/to-json-schema.js +616 -0
- package/dist/schema/to-json-schema.js.map +1 -0
- package/dist/schema/typed-field-builders.d.ts +8 -0
- package/dist/schema/typed-field-builders.d.ts.map +1 -0
- package/dist/schema/typed-field-builders.js +30 -0
- package/dist/schema/typed-field-builders.js.map +1 -0
- package/dist/schema/typed-field-of.d.ts +4 -0
- package/dist/schema/typed-field-of.d.ts.map +1 -0
- package/dist/schema/typed-field-of.js +14 -0
- package/dist/schema/typed-field-of.js.map +1 -0
- package/dist/schema/typed-fields.d.ts +11 -0
- package/dist/schema/typed-fields.d.ts.map +1 -0
- package/dist/schema/typed-fields.js +16 -0
- package/dist/schema/typed-fields.js.map +1 -0
- package/dist/schema/types.d.ts +31 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/value-words.d.ts +21 -0
- package/dist/schema/value-words.d.ts.map +1 -0
- package/dist/schema/value-words.js +32 -0
- package/dist/schema/value-words.js.map +1 -0
- package/dist/search.d.ts +91 -4
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +317 -54
- 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/seat.d.ts +19 -0
- package/dist/seat.d.ts.map +1 -0
- package/dist/seat.js +19 -0
- package/dist/seat.js.map +1 -0
- package/dist/seen.d.ts +15 -45
- package/dist/seen.d.ts.map +1 -1
- package/dist/seen.js +49 -135
- package/dist/seen.js.map +1 -1
- package/dist/store.d.ts +104 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +214 -30
- 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 +14 -3
- 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 +12 -3
- package/dist/typed.d.ts.map +1 -1
- package/dist/typed.js.map +1 -1
- package/dist/validate-graph.d.ts.map +1 -1
- package/dist/validate-graph.js +3 -10
- package/dist/validate-graph.js.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 +106 -8
- package/dist/views/types.d.ts.map +1 -1
- package/dist/views/types.js +24 -4
- package/dist/views/types.js.map +1 -1
- package/dist/village.d.ts +63 -0
- package/dist/village.d.ts.map +1 -0
- package/dist/village.js +143 -0
- package/dist/village.js.map +1 -0
- package/dist/watched.d.ts +12 -45
- package/dist/watched.d.ts.map +1 -1
- package/dist/watched.js +7 -119
- package/dist/watched.js.map +1 -1
- package/dist/words.d.ts +33 -0
- package/dist/words.d.ts.map +1 -0
- package/dist/words.js +36 -0
- package/dist/words.js.map +1 -0
- package/package.json +57 -2
|
@@ -21,6 +21,5 @@ export interface ToDocumentResult {
|
|
|
21
21
|
readonly findings: readonly Finding[];
|
|
22
22
|
}
|
|
23
23
|
export { documentOf, rememberDocument } from "./remembered.js";
|
|
24
|
-
/** Write an app as a declaration document, naming every surface the document cannot say. */
|
|
25
24
|
export declare function toDocument<S extends AnySchema>(app: GraviewApp<S>): ToDocumentResult;
|
|
26
25
|
//# sourceMappingURL=to-document.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-document.d.ts","sourceRoot":"","sources":["../../src/document/to-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"to-document.d.ts","sourceRoot":"","sources":["../../src/document/to-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAK7D,OAAO,EAA6D,KAAK,eAAe,EAAgC,MAAM,aAAa,CAAC;AAE5I;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;CACvC;AAED,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAc/D,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAkJpF"}
|
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import { error, warning } from "./findings.js";
|
|
2
2
|
import { documentOf } from "./remembered.js";
|
|
3
3
|
import { fieldOf } from "./field-spec.js";
|
|
4
|
+
import { linkedRelationOf } from "../schema/linked.js";
|
|
5
|
+
import { isRepeatField, repeatedBy, repeatKey } from "../repeat.js";
|
|
4
6
|
import { FORMAT, FORMAT_VERSION } from "./schema.js";
|
|
5
7
|
export { documentOf, rememberDocument } from "./remembered.js";
|
|
6
8
|
/** Write an app as a declaration document, naming every surface the document cannot say. */
|
|
9
|
+
/** A declaration's computed fields as a document says them: without `as`, an expression alone as its words. */
|
|
10
|
+
function unsaid(computed) {
|
|
11
|
+
return Object.fromEntries(Object.entries(computed).map(([name, entry]) => {
|
|
12
|
+
if (typeof entry === "string")
|
|
13
|
+
return [name, entry];
|
|
14
|
+
const { as: _, ...rest } = structuredClone(entry);
|
|
15
|
+
return [name, Object.keys(rest).length === 1 ? rest.expr : rest];
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
7
18
|
export function toDocument(app) {
|
|
8
19
|
const remembered = documentOf(app);
|
|
9
20
|
if (remembered)
|
|
@@ -15,10 +26,23 @@ export function toDocument(app) {
|
|
|
15
26
|
const definition = schema.tryDefinition(kind);
|
|
16
27
|
const at = `kinds.${kind}`;
|
|
17
28
|
const fields = {};
|
|
29
|
+
// A link to another app's record (FR-171) is a relation in a document: `"to": ["@nick/house/house"]`.
|
|
30
|
+
const linked = {};
|
|
18
31
|
for (const [name, field] of Object.entries(definition?.fields?.shape ?? {})) {
|
|
19
32
|
if (name === "id" || name === "kind")
|
|
20
33
|
continue;
|
|
34
|
+
const relation = linkedRelationOf(field);
|
|
35
|
+
if (relation) {
|
|
36
|
+
linked[name] = { to: relation.kinds.map((kind) => `@${relation.address.startsWith("@") ? relation.address.slice(1) : relation.address}/${kind}`), cardinality: relation.cardinality, ...(relation.description ? { description: relation.description } : {}) };
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
// How a date repeats is the date's `repeats` in a document, not a field of its own.
|
|
40
|
+
const repeated = isRepeatField(field) ? repeatedBy(name) : undefined;
|
|
41
|
+
if (repeated && definition?.fields?.shape?.[repeated])
|
|
42
|
+
continue;
|
|
21
43
|
const read = fieldOf(field);
|
|
44
|
+
if ("spec" in read && isRepeatField(definition?.fields?.shape?.[repeatKey(name)]) && (read.spec.type === "date" || read.spec.type === "datetime"))
|
|
45
|
+
read.spec.repeats = true;
|
|
22
46
|
const beside = definition?.defaults?.[name];
|
|
23
47
|
if ("spec" in read)
|
|
24
48
|
fields[name] = beside !== undefined && read.spec.default === undefined ? { ...read.spec, default: beside } : read.spec;
|
|
@@ -37,8 +61,10 @@ export function toDocument(app) {
|
|
|
37
61
|
...(edge.description ? { description: edge.description } : {}),
|
|
38
62
|
...(edge.inverse ? { inverse: edge.inverse } : {}),
|
|
39
63
|
...(edge.appendOnly ? { appendOnly: true } : {}),
|
|
64
|
+
...(edge.tidying ? { tidying: edge.tidying } : {}),
|
|
40
65
|
},
|
|
41
66
|
]));
|
|
67
|
+
Object.assign(edges, linked);
|
|
42
68
|
// What a glance says, of the fields the document could carry (FR-39); one it could not is named above.
|
|
43
69
|
const glance = (definition?.display?.glance ?? []).filter((name) => fields[name]);
|
|
44
70
|
// How its page orders its facts (FR-148), of the fields the document could carry.
|
|
@@ -55,10 +81,12 @@ export function toDocument(app) {
|
|
|
55
81
|
...(glance.length > 0 ? { glance } : {}),
|
|
56
82
|
...(page ? { page } : {}),
|
|
57
83
|
...(Object.keys(edges).length > 0 ? { edges: edges } : {}),
|
|
58
|
-
// Computed fields are already data: an expression and its words (FR-83).
|
|
59
|
-
...(definition?.computed && Object.keys(definition.computed).length > 0 ? { computed:
|
|
84
|
+
// Computed fields are already data: an expression and its words (FR-83). `as` is the declaration's, or what a compile read; a document says neither.
|
|
85
|
+
...(definition?.computed && Object.keys(definition.computed).length > 0 ? { computed: unsaid(definition.computed) } : {}),
|
|
60
86
|
...(definition?.fieldRoles ? { fieldRoles: { ...definition.fieldRoles } } : {}),
|
|
61
87
|
...(definition?.people ? { people: true } : {}),
|
|
88
|
+
...(definition?.archives === false ? { archives: false } : {}),
|
|
89
|
+
...(definition?.tidying ? { tidying: definition.tidying } : {}),
|
|
62
90
|
};
|
|
63
91
|
}
|
|
64
92
|
// Acts: the framework derives `edit-<kind>` and `remove-<kind>` from the kinds; any other act's body is code.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-document.js","sourceRoot":"","sources":["../../src/document/to-document.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"to-document.js","sourceRoot":"","sources":["../../src/document/to-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-specs.d.ts","sourceRoot":"","sources":["../../src/document/view-specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"view-specs.d.ts","sourceRoot":"","sources":["../../src/document/view-specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAa7C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IACP,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CACtB,GACL,OAAO,EAAE,CA+BX"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isLongText } from "../schema/reading.js";
|
|
1
2
|
import { fieldSpecOf } from "./field-spec.js";
|
|
2
3
|
import { blockLenses, holdsFiles, own, subjectless, validateAll } from "./views.js";
|
|
3
4
|
/**
|
|
@@ -32,6 +33,8 @@ export function validateViewSpecs(schema, specs, options = {}) {
|
|
|
32
33
|
return spec?.type === "enum" ? spec.options : undefined;
|
|
33
34
|
},
|
|
34
35
|
targets: (n) => (own(relations, n) ? relations[n].to : undefined),
|
|
36
|
+
// Prose: a string declared to hold more than 500 characters, as a record's page reads it (`isLongText`).
|
|
37
|
+
prose: (n) => own(fields, n) && isLongText(definition, n, undefined),
|
|
35
38
|
};
|
|
36
39
|
};
|
|
37
40
|
const vocabulary = { namesOf, sources: (edge) => declared.filter((kind) => own(definitionOf(kind)?.edges, edge)) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-specs.js","sourceRoot":"","sources":["../../src/document/view-specs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAmC,MAAM,YAAY,CAAC;AAYrH;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAiB,EACjB,KAAc,EACd,UAKI,EAAE;IAEN,MAAM,QAAQ,GAAG,MAAM,CAAC,KAA0B,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAA6B,CAAC;IAC9F,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,OAAO,GAAG,CAAC,IAAY,EAAyB,EAAE;QACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACvC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC5C,OAAO;YACL,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAChF,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;YAClC,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS;YACjF,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oBAAE,OAAO,SAAS,CAAC;gBACtC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,OAAO,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"view-specs.js","sourceRoot":"","sources":["../../src/document/view-specs.ts"],"names":[],"mappings":"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"}
|
package/dist/document/views.d.ts
CHANGED
|
@@ -8,28 +8,57 @@ export declare const VIEW_FIELD_FORMATS: readonly ["money", "percent", "date", "
|
|
|
8
8
|
export type ViewFieldFormat = (typeof VIEW_FIELD_FORMATS)[number];
|
|
9
9
|
/** Groups and conditions nest; four deep is more than any card needs. */
|
|
10
10
|
export declare const MAX_VIEW_DEPTH = 4;
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* HOW MANY BLOCKS A VIEW HOLDS: forty at its top, where a group or a
|
|
13
|
+
* condition counts as one however much it holds — a home of four stat tiles
|
|
14
|
+
* (a figure and a line each), four lines, five meters and three lists is
|
|
15
|
+
* sixteen blocks, not the fifty-six its parts add up to, and was refused.
|
|
16
|
+
* What a reader sees is the top's blocks; a group is one thing on the page.
|
|
17
|
+
*/
|
|
12
18
|
export declare const MAX_VIEW_BLOCKS = 40;
|
|
19
|
+
/**
|
|
20
|
+
* And every block in it, counting the ones inside groups and conditions:
|
|
21
|
+
* a ceiling against a view nobody could read or draw in time — each block
|
|
22
|
+
* is worked out on every draw, a list's records each drawn by its own view.
|
|
23
|
+
*/
|
|
24
|
+
export declare const MAX_VIEW_BLOCKS_IN_ALL = 120;
|
|
13
25
|
export type ToneSpec = ViewTone | {
|
|
14
26
|
readonly expr: string;
|
|
15
27
|
};
|
|
16
28
|
/** How a `figure` block says its number (FR-81). */
|
|
17
29
|
export declare const FIGURE_FORMATS: readonly ["number", "money", "percent"];
|
|
18
30
|
export type FigureFormat = (typeof FIGURE_FORMATS)[number];
|
|
31
|
+
/** How loudly a figure says its number: `large`, a stat tile's figure at the home's display size. */
|
|
32
|
+
export declare const FIGURE_EMPHASES: readonly ["large"];
|
|
33
|
+
export type FigureEmphasis = (typeof FIGURE_EMPHASES)[number];
|
|
19
34
|
/** How a `list` block draws each record it lists: with the kind's own card, or its own row (FR-81, FR-82). */
|
|
20
35
|
export declare const LIST_AS: readonly ["card", "row"];
|
|
21
|
-
/**
|
|
22
|
-
|
|
36
|
+
/**
|
|
37
|
+
* The most records one list holds; a `limit` says fewer. It draws
|
|
38
|
+
* `LIST_PAGE` of them at first, and "Show N more" draws the next page.
|
|
39
|
+
*/
|
|
40
|
+
export declare const MAX_LIST_LIMIT = 1000;
|
|
41
|
+
/** How many records a list draws before it offers to show more (2026-10-15: 158 songs were split by name to fit 100). */
|
|
42
|
+
export declare const LIST_PAGE = 100;
|
|
23
43
|
/** A list's order: a key read from each record, ascending — or `{ by, direction }`, where "choices" is the order a choice field's choices are declared in. */
|
|
24
44
|
export type ListSort = string | {
|
|
25
45
|
readonly by: string;
|
|
26
46
|
readonly direction?: "asc" | "desc" | "choices";
|
|
27
47
|
};
|
|
28
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* A list's grouping: a choice field, with a heading per choice where its
|
|
50
|
+
* value does not say it — or a relation (`"inGenre"`, or `"out('inGenre')"`
|
|
51
|
+
* and `"in('writtenBy')"` to say which way), a heading per linked record.
|
|
52
|
+
*/
|
|
29
53
|
export type ListGroup = string | {
|
|
30
54
|
readonly by: string;
|
|
31
55
|
readonly headings?: Readonly<Record<string, string>>;
|
|
32
56
|
};
|
|
57
|
+
/** A list's group by a relation, read from how it is written: `inGenre`, `out('inGenre')` or `in('writtenBy')`. */
|
|
58
|
+
export declare function groupRelationOf(by: string): {
|
|
59
|
+
readonly edge: string;
|
|
60
|
+
readonly way?: "out" | "in";
|
|
61
|
+
} | undefined;
|
|
33
62
|
/** A block of a view. Any block may say its `key`: what a face claims it by (`BlockSlots`), its own in its view. */
|
|
34
63
|
export type ViewBlock = OneBlock & {
|
|
35
64
|
readonly key?: string;
|
|
@@ -43,6 +72,7 @@ type OneBlock = {
|
|
|
43
72
|
readonly as?: FigureFormat;
|
|
44
73
|
readonly currency?: string;
|
|
45
74
|
readonly label?: string;
|
|
75
|
+
readonly emphasis?: FigureEmphasis;
|
|
46
76
|
} | {
|
|
47
77
|
readonly list: string;
|
|
48
78
|
readonly sort?: ListSort;
|
|
@@ -96,6 +126,8 @@ export type ViewSpecs = {
|
|
|
96
126
|
export type HomeView = readonly ViewBlock[];
|
|
97
127
|
/** Every kind's view specs, by kind: a document's `views`, and a declaration's `viewSpecs`. */
|
|
98
128
|
export type ViewSpecsByKind = Readonly<Record<string, ViewSpecs>>;
|
|
129
|
+
/** What each block may say besides the key that names it. */
|
|
130
|
+
export declare const BLOCK_KEYS: Readonly<Record<string, readonly string[]>>;
|
|
99
131
|
/** Whether a field holds pictures or documents: an `image` or `file`, or a list of them (FR-162). */
|
|
100
132
|
export declare const holdsFiles: (spec: {
|
|
101
133
|
readonly type: string;
|
|
@@ -120,6 +152,8 @@ export interface KindNames {
|
|
|
120
152
|
readonly choices?: (name: string) => readonly string[] | undefined;
|
|
121
153
|
/** Where a relation leads: its target kinds, or every kind. */
|
|
122
154
|
readonly targets?: (relation: string) => readonly string[] | "*" | undefined;
|
|
155
|
+
/** Whether a field holds prose (a document's `text`): what a card or a row says as an excerpt, never whole. */
|
|
156
|
+
readonly prose?: (name: string) => boolean;
|
|
123
157
|
}
|
|
124
158
|
/** What every kind holds, for a list's records: the kinds a walk or a sweep reaches. */
|
|
125
159
|
export interface Vocabulary {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/document/views.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/document/views.ts"],"names":[],"mappings":"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"}
|
package/dist/document/views.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { analyzeExpr } from "./expr/analyze.js";
|
|
2
2
|
import { ExprSyntaxError, parseExpr } from "./expr/parse.js";
|
|
3
3
|
import { error, warning } from "./findings.js";
|
|
4
|
+
import { linkedEdges, localEdges } from "../schema/linked.js";
|
|
4
5
|
import { parseTemplate, TemplateError } from "./template-parse.js";
|
|
5
6
|
/*
|
|
6
7
|
* VIEW SPECS — Tier 1 custom UI, as data (ADR 0004, docs/declaration-document.md).
|
|
@@ -24,16 +25,42 @@ export const VIEW_TONES = ["good", "warn", "bad", "neutral", "accent"];
|
|
|
24
25
|
export const VIEW_FIELD_FORMATS = ["money", "percent", "date", "relative", "count"];
|
|
25
26
|
/** Groups and conditions nest; four deep is more than any card needs. */
|
|
26
27
|
export const MAX_VIEW_DEPTH = 4;
|
|
27
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* HOW MANY BLOCKS A VIEW HOLDS: forty at its top, where a group or a
|
|
30
|
+
* condition counts as one however much it holds — a home of four stat tiles
|
|
31
|
+
* (a figure and a line each), four lines, five meters and three lists is
|
|
32
|
+
* sixteen blocks, not the fifty-six its parts add up to, and was refused.
|
|
33
|
+
* What a reader sees is the top's blocks; a group is one thing on the page.
|
|
34
|
+
*/
|
|
28
35
|
export const MAX_VIEW_BLOCKS = 40;
|
|
36
|
+
/**
|
|
37
|
+
* And every block in it, counting the ones inside groups and conditions:
|
|
38
|
+
* a ceiling against a view nobody could read or draw in time — each block
|
|
39
|
+
* is worked out on every draw, a list's records each drawn by its own view.
|
|
40
|
+
*/
|
|
41
|
+
export const MAX_VIEW_BLOCKS_IN_ALL = 120;
|
|
29
42
|
/** How a `figure` block says its number (FR-81). */
|
|
30
43
|
export const FIGURE_FORMATS = ["number", "money", "percent"];
|
|
44
|
+
/** How loudly a figure says its number: `large`, a stat tile's figure at the home's display size. */
|
|
45
|
+
export const FIGURE_EMPHASES = ["large"];
|
|
31
46
|
/** How a `list` block draws each record it lists: with the kind's own card, or its own row (FR-81, FR-82). */
|
|
32
47
|
export const LIST_AS = ["card", "row"];
|
|
33
|
-
/**
|
|
34
|
-
|
|
48
|
+
/**
|
|
49
|
+
* The most records one list holds; a `limit` says fewer. It draws
|
|
50
|
+
* `LIST_PAGE` of them at first, and "Show N more" draws the next page.
|
|
51
|
+
*/
|
|
52
|
+
export const MAX_LIST_LIMIT = 1000;
|
|
53
|
+
/** How many records a list draws before it offers to show more (2026-10-15: 158 songs were split by name to fit 100). */
|
|
54
|
+
export const LIST_PAGE = 100;
|
|
55
|
+
/** A list's group by a relation, read from how it is written: `inGenre`, `out('inGenre')` or `in('writtenBy')`. */
|
|
56
|
+
export function groupRelationOf(by) {
|
|
57
|
+
const walked = /^\s*(out|in)\(\s*['"]([A-Za-z][A-Za-z0-9_-]*)['"]\s*\)\s*$/.exec(by);
|
|
58
|
+
if (walked)
|
|
59
|
+
return { edge: walked[2], way: walked[1] };
|
|
60
|
+
return /^[A-Za-z][A-Za-z0-9_-]*$/.test(by) ? { edge: by } : undefined;
|
|
61
|
+
}
|
|
35
62
|
/** What each block may say besides the key that names it. */
|
|
36
|
-
const BLOCK_KEYS = {
|
|
63
|
+
export const BLOCK_KEYS = {
|
|
37
64
|
title: [],
|
|
38
65
|
headline: [],
|
|
39
66
|
list: ["sort", "limit", "group", "empty", "as"],
|
|
@@ -46,10 +73,10 @@ const BLOCK_KEYS = {
|
|
|
46
73
|
when: ["show"],
|
|
47
74
|
divider: [],
|
|
48
75
|
// `{"figure": true}` is the kind's picture; `{"figure": expr, …}` a number worked out (FR-81).
|
|
49
|
-
figure: ["as", "currency", "label"],
|
|
76
|
+
figure: ["as", "currency", "label", "emphasis"],
|
|
50
77
|
};
|
|
51
78
|
const BLOCK_TYPES = Object.keys(BLOCK_KEYS);
|
|
52
|
-
const SHAPES = '{"title": "{name}"}, {"headline": "{count(all(\'offer\'))} offers"}, {"figure": expr, "as"?: "number"|"money"|"percent", "currency"?, "label"
|
|
79
|
+
const SHAPES = '{"title": "{name}"}, {"headline": "{count(all(\'offer\'))} offers"}, {"figure": expr, "as"?: "number"|"money"|"percent", "currency"?, "label"?, "emphasis"?: "large"}, {"list": expr, "sort"?, "limit"?, "group"?, "empty"?, "as"?: "card"|"row"}, {"text": "…", "tone"?}, {"badge": "{status}", "tone"?}, {"field": "quote", "as"?, "currency"?, "label"?}, {"image": "photos", "as"?: "thumb"|"gallery"}, {"progress": {"value": expr, "max": expr}, "label"?}, {"group": [blocks], "direction"?: "row"|"column"}, {"when": expr, "show": [blocks]}, {"divider": true}, {"figure": true}';
|
|
53
80
|
/** Whether a field holds pictures or documents: an `image` or `file`, or a list of them (FR-162). */
|
|
54
81
|
export const holdsFiles = (spec) => /^(image|file)$/.test(spec?.of ?? spec?.type ?? "");
|
|
55
82
|
/** The view specs of a document that has been read, by kind; empty when it has none. The home view is no kind's: see `homeOf`. */
|
|
@@ -99,7 +126,7 @@ function expression(source, path, scope) {
|
|
|
99
126
|
scope.findings.push(error("expression", path, `${e.sentence} (at character ${e.at + 1})`));
|
|
100
127
|
}
|
|
101
128
|
}
|
|
102
|
-
function template(source, path, scope) {
|
|
129
|
+
function template(source, path, scope, text = false) {
|
|
103
130
|
if (typeof source !== "string" || source.length === 0 || source.length > 300) {
|
|
104
131
|
scope.findings.push(error("view-template", path, 'a template is words with {field} in braces, like "{name}" or "{quote|money}", at most 300 characters'));
|
|
105
132
|
return;
|
|
@@ -115,9 +142,20 @@ function template(source, path, scope) {
|
|
|
115
142
|
}
|
|
116
143
|
throw e;
|
|
117
144
|
}
|
|
118
|
-
for (const part of parts)
|
|
119
|
-
if (part.expr)
|
|
120
|
-
|
|
145
|
+
for (const part of parts) {
|
|
146
|
+
if (!part.expr)
|
|
147
|
+
continue;
|
|
148
|
+
names(part.expr, path, scope);
|
|
149
|
+
/*
|
|
150
|
+
* A CARD OR A ROW SAYS A LONG TEXT'S START. A card that printed a
|
|
151
|
+
* thirty-line summary made a row of cards a wall of text; it is clamped
|
|
152
|
+
* where it is drawn, and the check says how to say less on purpose.
|
|
153
|
+
*/
|
|
154
|
+
if (text && !part.format && part.expr.t === "ident" && (scope.slot === "card" || scope.slot === "row") && scope.spec.prose?.(part.expr.name)) {
|
|
155
|
+
const field = part.expr.name;
|
|
156
|
+
scope.findings.push(warning("view-whole-text", path, `${scope.kind} ${scope.slot} shows ${field} whole; it will be clamped. Use {${field}|excerpt} or move it to the page.`, `write {${field}|excerpt}, or {${field}|excerpt: 80} for fewer characters`));
|
|
157
|
+
}
|
|
158
|
+
}
|
|
121
159
|
}
|
|
122
160
|
function tone(value, path, scope) {
|
|
123
161
|
if (typeof value === "string") {
|
|
@@ -143,7 +181,9 @@ function blocks(list, path, depth, scope) {
|
|
|
143
181
|
list.forEach((block, i) => oneBlock(block, `${path}.${i}`, depth, scope));
|
|
144
182
|
}
|
|
145
183
|
function oneBlock(raw, path, depth, scope) {
|
|
146
|
-
|
|
184
|
+
if (depth === 1)
|
|
185
|
+
scope.count++;
|
|
186
|
+
scope.all++;
|
|
147
187
|
if (!isObject(raw)) {
|
|
148
188
|
scope.findings.push(error("view-block", path, "a block is an object naming what it shows", `one of ${SHAPES}`));
|
|
149
189
|
return;
|
|
@@ -170,7 +210,7 @@ function oneBlock(raw, path, depth, scope) {
|
|
|
170
210
|
case "headline":
|
|
171
211
|
case "text":
|
|
172
212
|
case "badge":
|
|
173
|
-
template(value, `${path}.${type}`, scope);
|
|
213
|
+
template(value, `${path}.${type}`, scope, type === "text");
|
|
174
214
|
if ("tone" in raw)
|
|
175
215
|
tone(raw["tone"], `${path}.tone`, scope);
|
|
176
216
|
return;
|
|
@@ -219,7 +259,7 @@ function oneBlock(raw, path, depth, scope) {
|
|
|
219
259
|
case "figure":
|
|
220
260
|
if (typeof value === "string")
|
|
221
261
|
return figureBlock(raw, path, scope);
|
|
222
|
-
for (const k of ["as", "currency", "label"])
|
|
262
|
+
for (const k of ["as", "currency", "label", "emphasis"])
|
|
223
263
|
if (k in raw)
|
|
224
264
|
scope.findings.push(error("unknown-key", `${path}.${k}`, `"${k}" belongs to a figure that works a number out; {"figure": true} is the kind's picture`, `write {"figure": "count(all('offer'))", "as": "number"}`));
|
|
225
265
|
if (value !== true)
|
|
@@ -244,6 +284,9 @@ function figureBlock(raw, path, scope) {
|
|
|
244
284
|
// A figure's label is a template, like a headline (FR-99): "{name}, net".
|
|
245
285
|
if ("label" in raw)
|
|
246
286
|
template(raw["label"], `${path}.label`, scope);
|
|
287
|
+
if ("emphasis" in raw && !FIGURE_EMPHASES.includes(raw["emphasis"])) {
|
|
288
|
+
scope.findings.push(error("view-emphasis", `${path}.emphasis`, `"${String(raw["emphasis"])}" is not how loudly a figure is said`, `use ${FIGURE_EMPHASES.map((e) => `"${e}"`).join(", ")}, or leave it out for the figure's own size`));
|
|
289
|
+
}
|
|
247
290
|
}
|
|
248
291
|
/** A currency on money (FR-100): its three-letter code, on a figure or a field shown as money. Without one, the app's `brand.currency`. */
|
|
249
292
|
function currency(raw, path, scope, what) {
|
|
@@ -400,12 +443,15 @@ function listBlock(raw, path, scope) {
|
|
|
400
443
|
const by = typeof group === "string" ? group : isObject(group) && typeof group["by"] === "string" ? group["by"] : undefined;
|
|
401
444
|
const shaped = typeof group === "string" || (isObject(group) && Object.keys(group).every((k) => k === "by" || k === "headings"));
|
|
402
445
|
if (!shaped || by === undefined) {
|
|
403
|
-
scope.findings.push(error("list-group", `${path}.group`, 'a group is a choice field, like "type", or {"by": "type", "headings": {"pain": "What hurts"}}'));
|
|
446
|
+
scope.findings.push(error("list-group", `${path}.group`, 'a group is a choice field, like "type", or {"by": "type", "headings": {"pain": "What hurts"}} — or a relation, like "inGenre", a heading per linked record'));
|
|
404
447
|
}
|
|
405
448
|
else {
|
|
406
449
|
const choices = choicesOf(by);
|
|
407
|
-
|
|
408
|
-
|
|
450
|
+
/* A relation of the kinds listed (or, written out('…') or in('…'), any relation) groups by the records at its far end. */
|
|
451
|
+
const relation = choices === undefined ? groupRelationOf(by) : undefined;
|
|
452
|
+
const linked = relation !== undefined && (relation.way !== undefined ? scope.edges.has(relation.edge) : kinds ? kinds.every((kind) => scope.vocabulary.namesOf(kind)?.relation(relation.edge)) : scope.edges.has(relation.edge));
|
|
453
|
+
if (choices === undefined && !linked)
|
|
454
|
+
scope.findings.push(error("list-group", `${path}.group`, `"${by}" is not a choice field or a relation of ${named}, so it has nothing to group by`, "group by a field whose type is enum, or by a relation of the kind listed, like \"inGenre\""));
|
|
409
455
|
if (isObject(group) && "headings" in group) {
|
|
410
456
|
const headings = group["headings"];
|
|
411
457
|
if (!isObject(headings) || Object.values(headings).some((words) => typeof words !== "string" || words.length === 0 || words.length > 80)) {
|
|
@@ -520,12 +566,20 @@ export function viewKeys(views, at, home, lenses) {
|
|
|
520
566
|
}
|
|
521
567
|
/** Blocks about no one record — the home, a blocks lens — checked at `at`. */
|
|
522
568
|
export function subjectless(list, at, vocabulary, kinds, edges, findings, what) {
|
|
523
|
-
const scope = { kind: null, spec: NO_RECORD, kinds, edges, vocabulary, findings, count: 0 };
|
|
569
|
+
const scope = { kind: null, spec: NO_RECORD, kinds, edges, vocabulary, findings, count: 0, all: 0 };
|
|
524
570
|
if (Array.isArray(list) && list.length === 0)
|
|
525
571
|
findings.push(error("view-shape", at, `${what} has no blocks`, 'give it one: {"headline": "…"}'));
|
|
526
572
|
blocks(list, at, 1, scope);
|
|
527
|
-
|
|
528
|
-
|
|
573
|
+
sized(scope, at, what, "show less");
|
|
574
|
+
}
|
|
575
|
+
/** A view held to its size: forty blocks at its top, a group or a condition one of them, and 120 in all. */
|
|
576
|
+
function sized(scope, at, what, fix) {
|
|
577
|
+
if (scope.count > MAX_VIEW_BLOCKS) {
|
|
578
|
+
scope.findings.push(error("view-size", at, `${what} has ${scope.count} blocks at its top; a view has at most ${MAX_VIEW_BLOCKS} there, a group or a condition counting as one`, `${fix}, or gather some into a group`));
|
|
579
|
+
}
|
|
580
|
+
else if (scope.all > MAX_VIEW_BLOCKS_IN_ALL) {
|
|
581
|
+
scope.findings.push(error("view-size", at, `${what} has ${scope.all} blocks counting the ones inside its groups and conditions; a view has at most ${MAX_VIEW_BLOCKS_IN_ALL} in all`, fix));
|
|
582
|
+
}
|
|
529
583
|
}
|
|
530
584
|
/** The lenses drawn from blocks, by their index in `lenses`: their blocks, checked where they are written. */
|
|
531
585
|
export function blockLenses(lenses, vocabulary, kinds, edges, findings) {
|
|
@@ -578,10 +632,9 @@ export function validateAll(specsByKind, at, namesOf, kinds, edges, declares, vo
|
|
|
578
632
|
const list = specs[slot];
|
|
579
633
|
if (list === undefined)
|
|
580
634
|
continue;
|
|
581
|
-
const scope = { kind, spec, kinds, edges, vocabulary, findings, count: 0 };
|
|
635
|
+
const scope = { kind, spec, kinds, edges, vocabulary, findings, count: 0, all: 0, slot };
|
|
582
636
|
blocks(list, `${at}.${kind}.${slot}`, 1, scope);
|
|
583
|
-
|
|
584
|
-
findings.push(error("view-size", `${at}.${kind}.${slot}`, `this ${slot} has ${scope.count} blocks; a view has at most ${MAX_VIEW_BLOCKS}`, "show less, or move detail to the page"));
|
|
637
|
+
sized(scope, `${at}.${kind}.${slot}`, `this ${slot}`, "show less, or move detail to the page");
|
|
585
638
|
}
|
|
586
639
|
}
|
|
587
640
|
return findings;
|
|
@@ -589,18 +642,20 @@ export function validateAll(specsByKind, at, namesOf, kinds, edges, declares, vo
|
|
|
589
642
|
/** Findings about a document's `views` — every kind's, and the home's — and its blocks lenses, each at its JSON path. */
|
|
590
643
|
export function validateViews(document) {
|
|
591
644
|
const kinds = new Set(Object.keys(document.kinds));
|
|
592
|
-
|
|
645
|
+
// A relation to another app's kind (FR-171) is no relation of this graph: a view shows it as a field, `{ "field": "forHouse" }`, drawn with its own card.
|
|
646
|
+
const edges = new Set(Object.values(document.kinds).flatMap((k) => Object.keys(localEdges(k.edges))));
|
|
593
647
|
const namesOf = (kind) => {
|
|
594
648
|
const spec = own(document.kinds, kind) ? document.kinds[kind] : undefined;
|
|
595
649
|
// A computed field is shown like a stored one (FR-83).
|
|
596
650
|
return spec
|
|
597
651
|
? {
|
|
598
|
-
field: (n) => own(spec.fields, n) || own(spec.computed, n),
|
|
599
|
-
relation: (n) => own(spec.edges, n),
|
|
652
|
+
field: (n) => own(spec.fields, n) || own(spec.computed, n) || linkedEdges(spec.edges).has(n),
|
|
653
|
+
relation: (n) => own(localEdges(spec.edges), n),
|
|
600
654
|
figure: spec.figure !== undefined,
|
|
601
655
|
files: (n) => own(spec.fields, n) && holdsFiles(spec.fields[n]),
|
|
602
656
|
choices: (n) => (own(spec.fields, n) && spec.fields[n].type === "enum" ? spec.fields[n].options : undefined),
|
|
603
|
-
targets: (n) => (own(spec.edges, n) ? spec.edges[n].to : undefined),
|
|
657
|
+
targets: (n) => (own(localEdges(spec.edges), n) ? spec.edges[n].to : undefined),
|
|
658
|
+
prose: (n) => own(spec.fields, n) && spec.fields[n].type === "text",
|
|
604
659
|
}
|
|
605
660
|
: undefined;
|
|
606
661
|
};
|