@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
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A TEXT'S START, as a list, a card, a row, a describe line, a table cell
|
|
3
|
+
* or a search hit says it (FR-180): its first block — paragraph, heading
|
|
4
|
+
* or item — or about `most` characters (160) of it, the first sentence
|
|
5
|
+
* where that fits; an ellipsis after where words were left out mid-thought;
|
|
6
|
+
* Markdown's syntax taken out when `markdown` says the text is Markdown.
|
|
7
|
+
*/
|
|
8
|
+
export declare function excerptOf(text: string, options?: {
|
|
9
|
+
readonly markdown?: boolean | undefined;
|
|
10
|
+
readonly most?: number | undefined;
|
|
11
|
+
}): string;
|
|
12
|
+
/** Markdown said as words, whole: every block's words in a line, the syntax taken out — what a search finds by and shows a fragment of. */
|
|
13
|
+
export declare const markdownWords: (text: string) => string;
|
|
14
|
+
//# sourceMappingURL=excerpt-of.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"excerpt-of.d.ts","sourceRoot":"","sources":["../src/excerpt-of.ts"],"names":[],"mappings":"AAkGA;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,GAAG,MAAM,CAO7I;AAED,2IAA2I;AAC3I,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAAyE,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { firstSentence } from "./excerpt.js";
|
|
2
|
+
/*
|
|
3
|
+
* A LONG TEXT'S START AT A GLANCE (FR-180): what a list, a card, a row, a
|
|
4
|
+
* describe line, a table cell and a seat's line say of a record's prose.
|
|
5
|
+
* The record's page says it whole.
|
|
6
|
+
*
|
|
7
|
+
* What is said is the text's FIRST BLOCK — its first paragraph, heading or
|
|
8
|
+
* list item, its lines run together — and of that the first sentence when
|
|
9
|
+
* the block is too long, else its words up to the most allowed, with an
|
|
10
|
+
* ellipsis wherever words were left out mid-thought. Markdown's syntax is
|
|
11
|
+
* taken out (FR-180): "## Heading **bold**" is said "Heading bold", a link
|
|
12
|
+
* is its words, code its letters. How many LINES that draws in is the
|
|
13
|
+
* surface's to clamp; this decides only WHAT text is shown.
|
|
14
|
+
*/
|
|
15
|
+
// Each reads one line and is linear in it.
|
|
16
|
+
const HEADING = /^ {0,3}#{1,6}(?:[ \t]+|$)/;
|
|
17
|
+
const LIST_ITEM = /^[ \t]*(?:[-*+•]|\d{1,9}[.)])[ \t]+(?:\[[ xX]\][ \t]+)?/;
|
|
18
|
+
const RULE = /^ {0,3}(?:(?:-[ \t]*){3,}|(?:\*[ \t]*){3,}|(?:_[ \t]*){3,})$/;
|
|
19
|
+
const FENCE = /^ {0,3}(?:`{3,}|~{3,})/;
|
|
20
|
+
const QUOTE = /^ {0,3}(?:>[ \t]?)+/;
|
|
21
|
+
// Read on a trimmed line, so no two runs of spaces meet.
|
|
22
|
+
const TABLE_RULE = /^\|?\s*:?-{2,}:?\s*(?:\|\s*:?-{2,}:?\s*)*\|?$/;
|
|
23
|
+
const ENTITIES = { amp: "&", lt: "<", gt: ">", quot: '"', "#39": "'", nbsp: " " };
|
|
24
|
+
/** One line of Markdown said as words: emphasis, code, links, tags and escapes taken out. */
|
|
25
|
+
function inlineWords(line) {
|
|
26
|
+
return line
|
|
27
|
+
.replace(/!?\[([^\]\n]{0,500})\]\([^)\n]{0,500}\)/g, "$1")
|
|
28
|
+
.replace(/<((?:https?:|mailto:)[^>\s]*)>/gi, "$1")
|
|
29
|
+
.replace(/<\/?[A-Za-z][^<>\n]*>/g, "")
|
|
30
|
+
.replace(/`+([^`\n]*)`+/g, "$1")
|
|
31
|
+
.replace(/(\*\*|__|~~)(?=\S)([^\n]{0,500}?\S)\1/g, "$2")
|
|
32
|
+
.replace(/(^|[^\w*])\*(?=\S)([^*\n]{0,500}?\S)\*(?![\w*])/g, "$1$2")
|
|
33
|
+
.replace(/(^|\W)_(?=\S)([^_\n]{0,500}?\S)_(?!\w)/g, "$1$2")
|
|
34
|
+
.replace(/\\([\\`*_{}[\]()#+\-.!>|~])/g, "$1")
|
|
35
|
+
.replace(/&(amp|lt|gt|quot|#39|nbsp);/g, (_, name) => ENTITIES[name] ?? "");
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The text's blocks — paragraphs, headings and list items — each its lines
|
|
39
|
+
* run together and its syntax taken out, read until `enough` characters are
|
|
40
|
+
* had; and whether any text is left after the last one read.
|
|
41
|
+
*/
|
|
42
|
+
function blocksOf(text, markdown, enough) {
|
|
43
|
+
const lines = text.replace(/\r\n?/g, "\n").split("\n");
|
|
44
|
+
const blocks = [];
|
|
45
|
+
let taken = [];
|
|
46
|
+
let had = 0;
|
|
47
|
+
let fenced = false;
|
|
48
|
+
const close = () => {
|
|
49
|
+
const block = taken.join(" ").replace(/\s+/g, " ").trim();
|
|
50
|
+
if (block) {
|
|
51
|
+
blocks.push(block);
|
|
52
|
+
had += block.length;
|
|
53
|
+
}
|
|
54
|
+
taken = [];
|
|
55
|
+
};
|
|
56
|
+
let next = 0;
|
|
57
|
+
while (next < lines.length && had <= enough) {
|
|
58
|
+
let line = lines[next++];
|
|
59
|
+
if (markdown && FENCE.test(line)) {
|
|
60
|
+
fenced = !fenced;
|
|
61
|
+
if (!fenced)
|
|
62
|
+
close();
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (!fenced && (line.trim().length === 0 || (markdown && (RULE.test(line) || TABLE_RULE.test(line.trim()))))) {
|
|
66
|
+
close();
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
const heading = !fenced && markdown && HEADING.test(line);
|
|
70
|
+
const item = !fenced && LIST_ITEM.test(line);
|
|
71
|
+
// A heading or a list item is a block of its own: the paragraph before it ends there.
|
|
72
|
+
if (heading || item)
|
|
73
|
+
close();
|
|
74
|
+
if (markdown && !fenced) {
|
|
75
|
+
line = line.replace(QUOTE, "");
|
|
76
|
+
if (heading)
|
|
77
|
+
line = line.replace(HEADING, "").replace(/[ \t]+#+[ \t]*$/, "");
|
|
78
|
+
if (item)
|
|
79
|
+
line = line.replace(LIST_ITEM, "");
|
|
80
|
+
if (line.includes("|"))
|
|
81
|
+
line = line.replace(/^[ \t]*\||\|[ \t]*$/g, "").split("|").map((cell) => cell.trim()).filter(Boolean).join(" · ");
|
|
82
|
+
// A glance reads no further than it says: a 20,000-character line is not stripped whole for 160 of it.
|
|
83
|
+
line = inlineWords(Number.isFinite(enough) ? line.slice(0, enough * 2 + 200) : line);
|
|
84
|
+
}
|
|
85
|
+
else if (item)
|
|
86
|
+
line = line.replace(LIST_ITEM, "");
|
|
87
|
+
taken.push(line);
|
|
88
|
+
if (heading)
|
|
89
|
+
close();
|
|
90
|
+
// A very long block is read only as far as any excerpt says.
|
|
91
|
+
if (taken.reduce((sum, one) => sum + one.length, 0) > enough)
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
close();
|
|
95
|
+
return { blocks, more: lines.slice(next).some((line) => line.trim().length > 0 && !(markdown && (FENCE.test(line) || RULE.test(line)))) };
|
|
96
|
+
}
|
|
97
|
+
/** Cuts words to at most `most` characters, at a word's end, with an ellipsis. */
|
|
98
|
+
function cut(flat, most) {
|
|
99
|
+
const kept = flat.slice(0, most + 1).replace(/\s+\S*$/, "");
|
|
100
|
+
return `${(kept || flat.slice(0, most)).replace(/[\s,;:.—-]+$/, "")}…`;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* A TEXT'S START, as a list, a card, a row, a describe line, a table cell
|
|
104
|
+
* or a search hit says it (FR-180): its first block — paragraph, heading
|
|
105
|
+
* or item — or about `most` characters (160) of it, the first sentence
|
|
106
|
+
* where that fits; an ellipsis after where words were left out mid-thought;
|
|
107
|
+
* Markdown's syntax taken out when `markdown` says the text is Markdown.
|
|
108
|
+
*/
|
|
109
|
+
export function excerptOf(text, options = {}) {
|
|
110
|
+
const most = options.most ?? 160;
|
|
111
|
+
const { blocks, more } = blocksOf(text, options.markdown === true, most);
|
|
112
|
+
const first = blocks[0] ?? "";
|
|
113
|
+
if (first.length <= most)
|
|
114
|
+
return (more || blocks.length > 1) && first.length > 0 && !/[.!?…:]$/.test(first) ? `${first}…` : first;
|
|
115
|
+
const sentence = firstSentence(first);
|
|
116
|
+
return sentence && sentence.length <= most ? sentence : cut(first, most);
|
|
117
|
+
}
|
|
118
|
+
/** Markdown said as words, whole: every block's words in a line, the syntax taken out — what a search finds by and shows a fragment of. */
|
|
119
|
+
export const markdownWords = (text) => blocksOf(text, true, Number.POSITIVE_INFINITY).blocks.join(" ");
|
|
120
|
+
//# sourceMappingURL=excerpt-of.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"excerpt-of.js","sourceRoot":"","sources":["../src/excerpt-of.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** The first sentence: up to the first stop that ends one — not an abbreviation's, and not before three words. */
|
|
2
|
+
export declare function firstSentence(flat: string): string | undefined;
|
|
3
|
+
/**
|
|
4
|
+
* A long text's start: its first sentence when that is short enough, else its
|
|
5
|
+
* words up to `most` characters and an ellipsis — a line's heading or quote
|
|
6
|
+
* mark, bold and code ticks, and a link's address left out (FR-180).
|
|
7
|
+
*/
|
|
8
|
+
export declare function excerpt(text: string, most?: number): string;
|
|
9
|
+
//# sourceMappingURL=excerpt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"excerpt.d.ts","sourceRoot":"","sources":["../src/excerpt.ts"],"names":[],"mappings":"AAgBA,kHAAkH;AAClH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS9D;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,MAAM,CAOxD"}
|
package/dist/excerpt.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* A LONG TEXT'S START, for a card, a row or a glance: what `{summary|excerpt}`
|
|
3
|
+
* says. The record's page says it whole. A page's first load carries this
|
|
4
|
+
* (a template may ask for it), so it takes out only Markdown's commonest
|
|
5
|
+
* marks; a glance reads prose through `excerptOf` (excerpt-of.ts), fetched
|
|
6
|
+
* with what reads a record, which takes out the rest (FR-180).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* A stop that ends an abbreviation, not a sentence: "e.g.", "U.S.", "Ph.D.",
|
|
10
|
+
* "Dr." — short letters between stops, or a title. A word with a stop
|
|
11
|
+
* inside it that is not that ("capabilities().shipped.", "graview.dev.")
|
|
12
|
+
* ends its sentence.
|
|
13
|
+
*/
|
|
14
|
+
const ABBREVIATION = /^[("'“‘]*(?:(?:[a-z]{1,3}\.){2,}|(?:dr|mr|mrs|ms|mx|st|mt|vs|jr|sr|prof|no|fig|approx)\.)$/i;
|
|
15
|
+
/** The first sentence: up to the first stop that ends one — not an abbreviation's, and not before three words. */
|
|
16
|
+
export function firstSentence(flat) {
|
|
17
|
+
for (const stop of flat.matchAll(/[.!?](?=\s|$)/g)) {
|
|
18
|
+
const sentence = flat.slice(0, stop.index + 1);
|
|
19
|
+
const word = /\S+$/.exec(sentence)?.[0] ?? "";
|
|
20
|
+
if (stop[0] === "." && ABBREVIATION.test(word))
|
|
21
|
+
continue;
|
|
22
|
+
if (sentence.split(" ").length < 3 && stop.index + 1 < flat.length)
|
|
23
|
+
continue;
|
|
24
|
+
return sentence;
|
|
25
|
+
}
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A long text's start: its first sentence when that is short enough, else its
|
|
30
|
+
* words up to `most` characters and an ellipsis — a line's heading or quote
|
|
31
|
+
* mark, bold and code ticks, and a link's address left out (FR-180).
|
|
32
|
+
*/
|
|
33
|
+
export function excerpt(text, most = 140) {
|
|
34
|
+
const flat = text.replace(/^[#>\s]+|\*\*|`|\](\([^)\s]*\))?|\[/gm, "").replace(/\s+/g, " ").trim();
|
|
35
|
+
const sentence = firstSentence(flat);
|
|
36
|
+
if (sentence && sentence.length <= most)
|
|
37
|
+
return sentence;
|
|
38
|
+
if (flat.length <= most)
|
|
39
|
+
return flat;
|
|
40
|
+
const cut = flat.slice(0, most + 1).replace(/\s+\S*$/, "");
|
|
41
|
+
return `${(cut || flat.slice(0, most)).replace(/[\s,;:.—-]+$/, "")}…`;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=excerpt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"excerpt.js","sourceRoot":"","sources":["../src/excerpt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,MAAM,YAAY,GAAG,6FAA6F,CAAC;AAEnH,kHAAkH;AAClH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACzD,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;YAAE,SAAS;QAC7E,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,IAAI,GAAG,GAAG;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnG,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAC;IACzD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,GAAG,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export { withoutKeptFields } from "./ops/kept-fields.js";
|
|
2
|
+
import { type FieldsKept, type Records } from "./permissions/sight.js";
|
|
3
|
+
import type { Policy, Principal } from "./permissions/types.js";
|
|
4
|
+
import type { Judged } from "./seen.js";
|
|
5
|
+
/** The edges a graph can be asked about, to say what is joined to whom. */
|
|
6
|
+
interface Joined {
|
|
7
|
+
out(id: string, kind?: string): readonly {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
}[];
|
|
10
|
+
in(id: string, kind?: string): readonly {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
}[];
|
|
13
|
+
}
|
|
14
|
+
type Node = {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly kind: string;
|
|
17
|
+
};
|
|
18
|
+
/** The kinds some sight shows only some fields of: the only kinds a field is ever kept from. */
|
|
19
|
+
export declare function partialKinds(policy: Policy | undefined): ReadonlySet<string>;
|
|
20
|
+
/**
|
|
21
|
+
* WHICH FIELDS OF A RECORD IT SEES a principal may not: a test that says
|
|
22
|
+
* yes of a field kept from it, or undefined when it sees every field. A
|
|
23
|
+
* field is shown when any sight that shows the principal the record shows
|
|
24
|
+
* it, so one sight with neither `fields` nor `hide` shows them all.
|
|
25
|
+
*/
|
|
26
|
+
export declare function fieldsKept(policy: Policy | undefined, principal: Principal, node: Node, graph: Joined, records?: Pick<Records, "creatorOf">): ((field: string) => boolean) | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* THE FIELDS OF EACH RECORD ONE SEAT MAY NOT SEE, as the store judges them
|
|
29
|
+
* now; undefined when no sight shows only some fields. A record no log has
|
|
30
|
+
* made yet is judged the asking seat's own, as it will be once it makes it.
|
|
31
|
+
*/
|
|
32
|
+
export declare function keptFrom(store: Judged, principal: Principal): FieldsKept | undefined;
|
|
33
|
+
//# sourceMappingURL=field-sight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-sight.d.ts","sourceRoot":"","sources":["../src/field-sight.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKzD,OAAO,EAAwC,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC7G,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAS,MAAM,wBAAwB,CAAC;AAGvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,2EAA2E;AAC3E,UAAU,MAAM;IACd,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnE;AAED,KAAK,IAAI,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAM3D,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAK5E;AAiBD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAKtL;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CASpF"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@graview/core/field-sight` — A SIGHT THAT HIDES A FIELD, NOT ONLY A KIND
|
|
3
|
+
* (Roadmap f-field-sight).
|
|
4
|
+
*
|
|
5
|
+
* A sight said who sees the records of a kind: a role saw a whole record or
|
|
6
|
+
* none of it, so a roster where parents see every player's name and not
|
|
7
|
+
* their phone number could not be said. A sight may now say `hide: [...]`,
|
|
8
|
+
* or `fields: [...]` as an allow list, and SIGHTS ADD UP: a role is shown a
|
|
9
|
+
* field of a record when any sight that shows it that record shows that
|
|
10
|
+
* field. A field kept from a seat is kept by the seat view itself — the
|
|
11
|
+
* record it is served, the log, an answer, a search, a name, a form — and
|
|
12
|
+
* the seat may not write it: the write is refused as an argument the act
|
|
13
|
+
* does not take, whatever it held and whatever was written.
|
|
14
|
+
*
|
|
15
|
+
* Loaded, it fills in `FIELD_SIGHT` and teaches the store; until it is, a
|
|
16
|
+
* sight with `hide` or `fields` shows nothing (it fails closed). A host
|
|
17
|
+
* that serves seats loads it — `@graview/ship`'s server entry
|
|
18
|
+
* imports it, a page that holds its whole store imports it once — and a page whose host served it its
|
|
19
|
+
* seat's records already (`openRemote`) does not need to: the fields were
|
|
20
|
+
* never sent. Apart from `@graview/core` so a hosted page carries none of
|
|
21
|
+
* it up front.
|
|
22
|
+
*/
|
|
23
|
+
import { MARKS } from "./graph/archived.js";
|
|
24
|
+
import { isUnset } from "./graph/primitives.js";
|
|
25
|
+
import { nameKey, refusalFor } from "./labels.js";
|
|
26
|
+
import { argumentsTaken } from "./mutations/define-mutation.js";
|
|
27
|
+
import { InvalidArguments } from "./mutations/invalid-arguments.js";
|
|
28
|
+
import { serveAlong } from "./ops/served.js";
|
|
29
|
+
export { withoutKeptFields } from "./ops/kept-fields.js";
|
|
30
|
+
import { keptOf, withoutKeptFields } from "./ops/kept-fields.js";
|
|
31
|
+
import { namesUnseen, whole, withhold } from "./ops/withheld.js";
|
|
32
|
+
import { actingAs, grantsTo, isSystem } from "./permissions/policy.js";
|
|
33
|
+
import { FIELD_SIGHT, partialSight, recordsOf } from "./permissions/sight.js";
|
|
34
|
+
import { labelOf } from "./schema/define-node.js";
|
|
35
|
+
import { Store } from "./store.js";
|
|
36
|
+
const partial = partialSight;
|
|
37
|
+
const PARTIAL = new WeakMap();
|
|
38
|
+
/** The kinds some sight shows only some fields of: the only kinds a field is ever kept from. */
|
|
39
|
+
export function partialKinds(policy) {
|
|
40
|
+
const sees = policy?.sees ?? [];
|
|
41
|
+
let kinds = PARTIAL.get(sees);
|
|
42
|
+
if (!kinds)
|
|
43
|
+
PARTIAL.set(sees, (kinds = new Set(sees.flatMap((sight) => (partial(sight) ? sight.kinds : [])))));
|
|
44
|
+
return kinds;
|
|
45
|
+
}
|
|
46
|
+
/** Whether one sight shows a principal one record — its kind, its roles, and with `own` or `via`, theirs — as `sees` judges it. */
|
|
47
|
+
function showing(principal, node, graph, records) {
|
|
48
|
+
const acting = actingAs(principal);
|
|
49
|
+
const me = acting.id;
|
|
50
|
+
const mine = (other) => other.id === me;
|
|
51
|
+
return (sight) => {
|
|
52
|
+
if (!sight.kinds.includes(node.kind) || !grantsTo(sight, acting))
|
|
53
|
+
return false;
|
|
54
|
+
if (!sight.own && !sight.via)
|
|
55
|
+
return true;
|
|
56
|
+
if (me === undefined)
|
|
57
|
+
return false;
|
|
58
|
+
return sight.via
|
|
59
|
+
? graph.out(node.id, sight.via).some(mine) || graph.in(node.id, sight.via).some(mine)
|
|
60
|
+
: node.id === me || graph.out(node.id).some(mine) || graph.in(node.id).some(mine) || records?.creatorOf(node.id) === me;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* WHICH FIELDS OF A RECORD IT SEES a principal may not: a test that says
|
|
65
|
+
* yes of a field kept from it, or undefined when it sees every field. A
|
|
66
|
+
* field is shown when any sight that shows the principal the record shows
|
|
67
|
+
* it, so one sight with neither `fields` nor `hide` shows them all.
|
|
68
|
+
*/
|
|
69
|
+
export function fieldsKept(policy, principal, node, graph, records) {
|
|
70
|
+
if (!policy?.sees?.length || isSystem(principal) || !partialKinds(policy).has(node.kind))
|
|
71
|
+
return undefined;
|
|
72
|
+
const shown = policy.sees.filter(showing(principal, node, graph, records));
|
|
73
|
+
if (shown.some((sight) => !partial(sight)))
|
|
74
|
+
return undefined;
|
|
75
|
+
return (field) => !MARKS.has(field) && !shown.some((sight) => (sight.fields === undefined || sight.fields.includes(field)) && !sight.hide?.includes(field));
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* THE FIELDS OF EACH RECORD ONE SEAT MAY NOT SEE, as the store judges them
|
|
79
|
+
* now; undefined when no sight shows only some fields. A record no log has
|
|
80
|
+
* made yet is judged the asking seat's own, as it will be once it makes it.
|
|
81
|
+
*/
|
|
82
|
+
export function keptFrom(store, principal) {
|
|
83
|
+
const kinds = isSystem(principal) ? undefined : partialKinds(store.policy);
|
|
84
|
+
if (!kinds?.size)
|
|
85
|
+
return undefined;
|
|
86
|
+
return (node) => {
|
|
87
|
+
if (!kinds.has(node.kind))
|
|
88
|
+
return undefined;
|
|
89
|
+
const records = recordsOf(store.log);
|
|
90
|
+
const maker = { creatorOf: (id) => records.creatorOf(id) ?? (id === node.id && !store.graph.getNode(id) ? actingAs(principal).id : undefined) };
|
|
91
|
+
return fieldsKept(store.policy, principal, node, store.graph, maker);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* A SEAT'S LENS, KEEPING WHAT ITS SIGHT KEEPS OF A RECORD: the record it is
|
|
96
|
+
* served without those fields, as though it had none — and, when the
|
|
97
|
+
* record cannot be without one, not served at all, as a record whose
|
|
98
|
+
* required field names what the seat may not see is not (FR-55).
|
|
99
|
+
*/
|
|
100
|
+
function fieldLens(base, store, principal) {
|
|
101
|
+
const kept = keptFrom(store, principal);
|
|
102
|
+
if (!kept)
|
|
103
|
+
return base;
|
|
104
|
+
// The same record kept the same way is the same object, so a view read twice is equal by identity.
|
|
105
|
+
const stripped = new WeakMap();
|
|
106
|
+
const strip = (node) => {
|
|
107
|
+
const keeps = node && kept(node);
|
|
108
|
+
if (!node || !keeps)
|
|
109
|
+
return node;
|
|
110
|
+
const without = [];
|
|
111
|
+
for (const field in node) {
|
|
112
|
+
if (!Object.hasOwn(node, field) || field === "id" || field === "kind" || !keeps(field))
|
|
113
|
+
continue;
|
|
114
|
+
if (!base.optional(node.kind, field))
|
|
115
|
+
return undefined;
|
|
116
|
+
without.push(field);
|
|
117
|
+
}
|
|
118
|
+
if (without.length === 0)
|
|
119
|
+
return node;
|
|
120
|
+
const key = without.join("\u0000");
|
|
121
|
+
const held = stripped.get(node);
|
|
122
|
+
if (held?.key === key)
|
|
123
|
+
return held.node;
|
|
124
|
+
const out = Object.fromEntries(Object.entries(node).filter(([field]) => !without.includes(field)));
|
|
125
|
+
stripped.set(node, { key, node: out });
|
|
126
|
+
return out;
|
|
127
|
+
};
|
|
128
|
+
const lens = {
|
|
129
|
+
...base,
|
|
130
|
+
served: (node) => strip(base.served(node)),
|
|
131
|
+
servedWith: (node, writer) => strip(base.servedWith(node, writer)),
|
|
132
|
+
shows: (id) => {
|
|
133
|
+
if (!base.shows(id))
|
|
134
|
+
return false;
|
|
135
|
+
const node = store.graph.getNode(id);
|
|
136
|
+
return !node || strip(base.served(node)) !== undefined;
|
|
137
|
+
},
|
|
138
|
+
kept,
|
|
139
|
+
redact: (ops) => redactKept(ops, lens),
|
|
140
|
+
// A lens pinned anew is made by the seat view, and kept there already; a pinned one is itself.
|
|
141
|
+
pin: () => {
|
|
142
|
+
const one = base.pin?.();
|
|
143
|
+
return !one || one === base ? lens : one;
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
return lens;
|
|
147
|
+
}
|
|
148
|
+
/** Whether an op adds or removes a record some of whose fields the seat may not see, or writes such a field. */
|
|
149
|
+
function touchesKept(op, lens) {
|
|
150
|
+
return op.primitives.some((primitive) => {
|
|
151
|
+
if (primitive.op === "add-node" || primitive.op === "remove-node")
|
|
152
|
+
return lens.kept(primitive.node) !== undefined;
|
|
153
|
+
if (primitive.op !== "patch-node")
|
|
154
|
+
return false;
|
|
155
|
+
const kept = keptOf(lens, primitive.id);
|
|
156
|
+
return kept !== undefined && Object.keys(primitive.after).some(kept);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* WHETHER AN OP'S SENTENCE READ A FIELD THE SEAT MAY NOT SEE: a label or a
|
|
161
|
+
* `describe` that reads one ("Call 555 0101") carries the value in words.
|
|
162
|
+
* The op says which fields its sentence read (`<id>#<field>` in
|
|
163
|
+
* `described`), so such an op is withheld whatever the field held.
|
|
164
|
+
*/
|
|
165
|
+
const quotesKept = (op, lens) => (op.described ?? []).some((entry) => {
|
|
166
|
+
const at = entry.lastIndexOf("#");
|
|
167
|
+
return at > 0 && keptOf(lens, entry.slice(0, at))?.(entry.slice(at + 1)) === true;
|
|
168
|
+
});
|
|
169
|
+
/**
|
|
170
|
+
* THE LOG AS A SEAT WHOSE SIGHT KEEPS FIELDS IS SERVED IT: each op judged
|
|
171
|
+
* where it stood (`serveAlong`), record by record — no record is passed as
|
|
172
|
+
* it is, since one it sees may still hold a field it may not. An op that
|
|
173
|
+
* adds or removes a record with a kept field, writes one, or whose sentence
|
|
174
|
+
* read one is withheld (FR-16) with what the seat may see of it: whether
|
|
175
|
+
* the record had a value or not, the seat is served the same. Its own ops
|
|
176
|
+
* are served whole, as written: what it wrote it may see.
|
|
177
|
+
*/
|
|
178
|
+
function redactKept(ops, lens) {
|
|
179
|
+
const judge = { served: (node, writer) => lens.servedWith(node, writer), edgeClean: (edge) => !namesUnseen(edge, lens.sees) };
|
|
180
|
+
const along = lens.timeline ? serveAlong(ops, lens.timeline, judge) : ops.map((op) => ({ op, primitives: withhold(op, lens).primitives, faithful: false }));
|
|
181
|
+
return along.map(({ op, primitives, faithful }) => {
|
|
182
|
+
const served = withoutKeptFields(primitives, lens);
|
|
183
|
+
const own = lens.actor !== undefined && actingAs(op.author).id === lens.actor;
|
|
184
|
+
const plain = faithful && served.length === primitives.length && served.every((one, at) => one === primitives[at]) && (own || (!touchesKept(op, lens) && !quotesKept(op, lens)));
|
|
185
|
+
return (!op.withheld && plain ? whole(op, lens, served) : undefined) ?? withhold(op, lens, served);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
/** "does not take "phone"; it takes "id", "name"" — said as an act says an argument it does not take. */
|
|
189
|
+
const doesNotTake = (stray, takes) => `does not take ${stray.map((key) => `"${key}"`).join(", ")}; it takes ${takes.length > 0 ? takes.map((key) => `"${key}"`).join(", ") : "nothing"}`;
|
|
190
|
+
/** A reader whose records of the given kinds say which of their fields were read, once `quoting()` says to listen. */
|
|
191
|
+
function quoting(inner, kinds) {
|
|
192
|
+
const read = [];
|
|
193
|
+
let listening = false;
|
|
194
|
+
const told = (value) => {
|
|
195
|
+
if (Array.isArray(value))
|
|
196
|
+
return value.map(told);
|
|
197
|
+
const node = value;
|
|
198
|
+
if (!node || typeof node !== "object" || !kinds.has(node.kind))
|
|
199
|
+
return value;
|
|
200
|
+
return new Proxy(node, {
|
|
201
|
+
get(target, field, receiver) {
|
|
202
|
+
const said = `${target.id}#${String(field)}`;
|
|
203
|
+
if (listening && typeof field === "string" && field !== "id" && field !== "kind" && !read.includes(said))
|
|
204
|
+
read.push(said);
|
|
205
|
+
return Reflect.get(target, field, receiver);
|
|
206
|
+
},
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
const reader = new Proxy(inner, {
|
|
210
|
+
get(target, prop) {
|
|
211
|
+
const value = Reflect.get(target, prop, target);
|
|
212
|
+
return typeof value === "function" ? (...args) => told(value.apply(target, args)) : value;
|
|
213
|
+
},
|
|
214
|
+
});
|
|
215
|
+
return {
|
|
216
|
+
reader,
|
|
217
|
+
listen: () => {
|
|
218
|
+
listening = true;
|
|
219
|
+
return read;
|
|
220
|
+
},
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* AN ACT AS ITS AUTHOR RUNS IT, under field sight: a write of a field the
|
|
225
|
+
* author may not see is refused — asked before a write of the value the
|
|
226
|
+
* field holds is let go as no change, so the refusal is the same whatever
|
|
227
|
+
* it held — and a field it leaves unset is no write. And whatever the
|
|
228
|
+
* author, its sentence says which fields it read.
|
|
229
|
+
*/
|
|
230
|
+
function compiling(store, author, options) {
|
|
231
|
+
const kinds = partialKinds(store.policy);
|
|
232
|
+
if (!kinds.size)
|
|
233
|
+
return options;
|
|
234
|
+
const kept = author && keptFrom(store, author);
|
|
235
|
+
const { reader, listen } = quoting((options.seen ?? store.graph), kinds);
|
|
236
|
+
const given = options.keepUnchanged;
|
|
237
|
+
return {
|
|
238
|
+
...options,
|
|
239
|
+
seen: reader,
|
|
240
|
+
keepUnchanged: (value, field, node) => given?.(value, field, node) === true || kept?.(node)?.(field) === true,
|
|
241
|
+
check(primitives, definition) {
|
|
242
|
+
for (let at = primitives.length - 1; kept && at >= 0; at--) {
|
|
243
|
+
const primitive = primitives[at];
|
|
244
|
+
if (primitive.op !== "add-node" && primitive.op !== "patch-node")
|
|
245
|
+
continue;
|
|
246
|
+
const node = primitive.op === "add-node" ? primitive.node : store.graph.getNode(primitive.id);
|
|
247
|
+
const keeps = node && kept(node);
|
|
248
|
+
if (!keeps)
|
|
249
|
+
continue;
|
|
250
|
+
const fields = (primitive.op === "add-node" ? primitive.node : primitive.after);
|
|
251
|
+
const stray = Object.keys(fields).filter((field) => field !== "id" && field !== "kind" && keeps(field));
|
|
252
|
+
if (stray.some((field) => !isUnset(fields[field]))) {
|
|
253
|
+
throw new InvalidArguments(definition.name, [{ path: [], message: doesNotTake(stray, (argumentsTaken(definition) ?? []).filter((key) => !keeps(key))) }]);
|
|
254
|
+
}
|
|
255
|
+
// Left unset, it is no write: the record keeps what it holds.
|
|
256
|
+
if (primitive.op === "patch-node") {
|
|
257
|
+
const before = { ...primitive.before };
|
|
258
|
+
const after = { ...primitive.after };
|
|
259
|
+
for (const field of stray)
|
|
260
|
+
delete before[field], delete after[field];
|
|
261
|
+
if (Object.keys(after).length === 0)
|
|
262
|
+
primitives.splice(at, 1);
|
|
263
|
+
else
|
|
264
|
+
primitives[at] = { op: "patch-node", id: primitive.id, before, after };
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return listen();
|
|
268
|
+
},
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* A NAME AS THE SEAT READS IT: where its sight keeps a field, a record's
|
|
273
|
+
* label is worked out from the record it is served, so a name that quotes
|
|
274
|
+
* the field neither finds the record nor is said back.
|
|
275
|
+
*/
|
|
276
|
+
function resolvedFor(store, arg, given, principal, found) {
|
|
277
|
+
const kept = keptFrom(store, principal);
|
|
278
|
+
if (!kept)
|
|
279
|
+
return found;
|
|
280
|
+
const seen = store.seenBy(principal).graph;
|
|
281
|
+
const label = (id) => {
|
|
282
|
+
const node = seen.getNode(id);
|
|
283
|
+
return node ? labelOf(store.schema.tryDefinition(node.kind), node) : id;
|
|
284
|
+
};
|
|
285
|
+
const key = nameKey(given);
|
|
286
|
+
const named = (id) => nameKey(label(id)).startsWith(key);
|
|
287
|
+
if (found.ok) {
|
|
288
|
+
if (found.by === "id")
|
|
289
|
+
return { ...found, label: label(found.id) };
|
|
290
|
+
return named(found.id) ? { ...found, label: label(found.id), by: nameKey(label(found.id)) === key ? "label" : "prefix" } : refusalFor(store.schema, arg, given, []);
|
|
291
|
+
}
|
|
292
|
+
const candidates = found.candidates.filter((one) => named(one.id)).map((one) => ({ ...one, label: label(one.id) }));
|
|
293
|
+
if (candidates.length === 1)
|
|
294
|
+
return { ok: true, id: candidates[0].id, label: candidates[0].label, by: nameKey(candidates[0].label) === key ? "label" : "prefix" };
|
|
295
|
+
return refusalFor(store.schema, arg, given, candidates);
|
|
296
|
+
}
|
|
297
|
+
/*
|
|
298
|
+
* LOADED, IT IS IN FORCE: the seat view keeps fields, an act refuses a
|
|
299
|
+
* write of one, and a name is read as the seat reads it.
|
|
300
|
+
*/
|
|
301
|
+
FIELD_SIGHT.on = true;
|
|
302
|
+
FIELD_SIGHT.lens = fieldLens;
|
|
303
|
+
FIELD_SIGHT.keptFrom = keptFrom;
|
|
304
|
+
const store = Store.prototype;
|
|
305
|
+
const sighted = store.sighted;
|
|
306
|
+
store.sighted = function (author) {
|
|
307
|
+
return compiling(this, author, sighted.call(this, author));
|
|
308
|
+
};
|
|
309
|
+
const resolveRef = store.resolveRef;
|
|
310
|
+
store.resolveRef = function (arg, given, principal = { kind: "human" }) {
|
|
311
|
+
return resolvedFor(this, arg, given, principal, resolveRef.call(this, arg, given, principal));
|
|
312
|
+
};
|
|
313
|
+
//# sourceMappingURL=field-sight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-sight.js","sourceRoot":"","sources":["../src/field-sight.ts"],"names":[],"mappings":"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"}
|
package/dist/forms.d.ts
CHANGED
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
* seat read them, so a hosted page that has asked nothing carries none.
|
|
11
11
|
*/
|
|
12
12
|
export { formArgs, formComplete, formField, formFields } from "./mutations/form.js";
|
|
13
|
+
export { changedArgs, editStart } from "./mutations/edit-start.js";
|
|
13
14
|
export type { FormField, ScalarField } from "./mutations/form.js";
|
|
14
15
|
export { undecidableArguments } from "./mutations/decidable.js";
|
|
15
16
|
export type { UndecidableArgument } from "./mutations/decidable.js";
|
|
17
|
+
export { keptArguments } from "./mutations/kept-arguments.js";
|
|
16
18
|
//# sourceMappingURL=forms.d.ts.map
|
package/dist/forms.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../src/forms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../src/forms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/forms.js
CHANGED
|
@@ -10,5 +10,8 @@
|
|
|
10
10
|
* seat read them, so a hosted page that has asked nothing carries none.
|
|
11
11
|
*/
|
|
12
12
|
export { formArgs, formComplete, formField, formFields } from "./mutations/form.js";
|
|
13
|
+
// Where a record's change starts, and what it sends: only what was changed (Roadmap f-edit-form-prefilled).
|
|
14
|
+
export { changedArgs, editStart } from "./mutations/edit-start.js";
|
|
13
15
|
export { undecidableArguments } from "./mutations/decidable.js";
|
|
16
|
+
export { keptArguments } from "./mutations/kept-arguments.js";
|
|
14
17
|
//# sourceMappingURL=forms.js.map
|
package/dist/forms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../src/forms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../src/forms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpF,4GAA4G;AAC5G,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|