@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
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import * as z from "../schema/zod.js";
|
|
2
2
|
import { filesOf } from "../schema/files.js";
|
|
3
|
+
import { amountOf } from "../schema/amount-mark.js";
|
|
4
|
+
import { sayAmount } from "../document/amount.js";
|
|
5
|
+
import { dayAsRead, ISO_DAY, ISO_MOMENT, momentAsRead } from "../days.js";
|
|
6
|
+
import { typedFieldOf } from "../schema/typed-field-of.js";
|
|
3
7
|
import { labelOf } from "../schema/define-node.js";
|
|
4
|
-
import {
|
|
8
|
+
import { LEFT_ALONE } from "../graph/archived.js";
|
|
9
|
+
import { fieldWords, humanizeField, nounOf } from "../schema/define-node.js";
|
|
10
|
+
import { linkedRelationOf } from "../schema/linked.js";
|
|
11
|
+
import { repeatedBy } from "../repeat.js";
|
|
5
12
|
import { nodeRefArgs, refTo } from "./node-ref.js";
|
|
6
13
|
import { ActRefusal } from "../refused.js";
|
|
14
|
+
import { excerpt } from "../excerpt.js";
|
|
15
|
+
import { deriveRepeatMutations } from "./derive-repeats.js";
|
|
7
16
|
/**
|
|
8
17
|
* A FIELD YOU COULD SET AT CREATION, YOU CAN CHANGE.
|
|
9
18
|
*
|
|
@@ -159,34 +168,7 @@ export function deriveEditMutations(schema, mutations) {
|
|
|
159
168
|
id: refTo([kind]),
|
|
160
169
|
...Object.fromEntries(fields.map((field) => [field, z.optional(withoutDefault(shape[field]))])),
|
|
161
170
|
}),
|
|
162
|
-
describe: (args, graph) =>
|
|
163
|
-
const node = graph.getNode(args.id);
|
|
164
|
-
const label = node ? labelOf(definition, node) : args.id;
|
|
165
|
-
/*
|
|
166
|
-
* THE CHANGE AS THE RECORD READS IT. The log said "price → 49900"
|
|
167
|
-
* and "condition → \"cpo\"" beside a card that says "Price $49,900"
|
|
168
|
-
* and "Certified pre-owned": the declaration's own labels and
|
|
169
|
-
* formats are the words, and the raw value only where there is none.
|
|
170
|
-
*/
|
|
171
|
-
const display = definition.display;
|
|
172
|
-
const quietly = (label) => (label === label.toUpperCase() ? label : label.charAt(0).toLowerCase() + label.slice(1));
|
|
173
|
-
const changes = fields
|
|
174
|
-
.filter((field) => args[field] !== undefined)
|
|
175
|
-
.map((field) => {
|
|
176
|
-
const value = args[field];
|
|
177
|
-
const format = display?.format?.[field];
|
|
178
|
-
let said;
|
|
179
|
-
try {
|
|
180
|
-
// Files by their names (FR-162), never the host's addresses.
|
|
181
|
-
said = format ? String(format(value)) : filesOf(value).length > 0 ? filesOf(value).map((file) => file.name).join(", ") : JSON.stringify(value);
|
|
182
|
-
}
|
|
183
|
-
catch {
|
|
184
|
-
said = JSON.stringify(value);
|
|
185
|
-
}
|
|
186
|
-
return `${quietly(fieldWords(definition, field))} → ${said}`;
|
|
187
|
-
});
|
|
188
|
-
return `Change ${label}: ${changes.join(", ") || "nothing"}`;
|
|
189
|
-
},
|
|
171
|
+
describe: (args, graph) => editSaid(definition, shape, fields, args, graph),
|
|
190
172
|
apply(ctx, args) {
|
|
191
173
|
const patch = {};
|
|
192
174
|
for (const field of fields) {
|
|
@@ -203,6 +185,77 @@ export function deriveEditMutations(schema, mutations) {
|
|
|
203
185
|
}
|
|
204
186
|
return derived;
|
|
205
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* A CHANGE SAID AS THE RECORD PAGE SAYS IT: "Changed the stage of Billing
|
|
190
|
+
* across apps to Considering", "Changed the price of Model Y to $49,900
|
|
191
|
+
* and the condition to Certified pre-owned".
|
|
192
|
+
*
|
|
193
|
+
* It read `Change Billing across apps: stage → "considering"` — the field's
|
|
194
|
+
* key, an arrow and the value as it is kept — and that line was heard in
|
|
195
|
+
* Take back, in Activity and when another seat's change was said aloud.
|
|
196
|
+
* Each field is named by its label, each value as the record page says it
|
|
197
|
+
* (a choice by its option's words, money and days in the app's locale, a
|
|
198
|
+
* file by its name, prose by its start, a record in another app as one),
|
|
199
|
+
* and several are one sentence, as a document's acts and the preview say
|
|
200
|
+
* theirs.
|
|
201
|
+
*/
|
|
202
|
+
function editSaid(definition, shape, fields, args, graph) {
|
|
203
|
+
const node = graph.getNode(args["id"]);
|
|
204
|
+
const label = node ? labelOf(definition, node) : "a record";
|
|
205
|
+
const said = fields
|
|
206
|
+
.filter((field) => args[field] !== undefined)
|
|
207
|
+
.map((field, at) => {
|
|
208
|
+
const value = args[field];
|
|
209
|
+
// A date's repeat is said by the date it repeats: "the due date to repeat every week".
|
|
210
|
+
const date = repeatedBy(field);
|
|
211
|
+
const repeat = date !== undefined && date in shape;
|
|
212
|
+
const word = fieldWords(definition, repeat ? date : field);
|
|
213
|
+
const named = word === word.toUpperCase() ? word : word.charAt(0).toLowerCase() + word.slice(1);
|
|
214
|
+
return `the ${named}${at === 0 ? ` of ${label}` : ""} to ${repeat ? (value ? `repeat ${everySaid(value)}` : "stop repeating") : valueSaid(definition, shape[field], field, value)}`;
|
|
215
|
+
});
|
|
216
|
+
return said.length === 0 ? `Changed nothing on ${label}` : `Changed ${said.length > 1 ? `${said.slice(0, -1).join(", ")} and ${said.at(-1)}` : said[0]}`;
|
|
217
|
+
}
|
|
218
|
+
/** How often a date repeats, said short: "every week", "every 2 months". */
|
|
219
|
+
const everySaid = (repeat) => `every ${(repeat.interval ?? 1) > 1 ? `${repeat.interval} ${repeat.every}s` : repeat.every}`;
|
|
220
|
+
/** One value as the record page says it, never as it is kept. */
|
|
221
|
+
function valueSaid(definition, schema, field, value) {
|
|
222
|
+
if (value === null || value === "" || (Array.isArray(value) && value.length === 0))
|
|
223
|
+
return "nothing";
|
|
224
|
+
const format = definition.display?.format?.[field];
|
|
225
|
+
try {
|
|
226
|
+
if (format)
|
|
227
|
+
return String(format(value));
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// A format that cannot say this value: said the framework's way below.
|
|
231
|
+
}
|
|
232
|
+
// Files by their names (FR-162), never the host's addresses; a record in another app as one (FR-171).
|
|
233
|
+
if (filesOf(value).length > 0)
|
|
234
|
+
return filesOf(value).map((file) => file.name).join(", ");
|
|
235
|
+
if (linkedRelationOf(schema))
|
|
236
|
+
return Array.isArray(value) && value.length > 1 ? `${value.length} linked records` : "a linked record";
|
|
237
|
+
if (Array.isArray(value))
|
|
238
|
+
return value.map((one) => valueSaid(definition, schema, field, one)).join(", ");
|
|
239
|
+
if (typeof value === "boolean")
|
|
240
|
+
return value ? "yes" : "no";
|
|
241
|
+
if (typeof value === "number") {
|
|
242
|
+
// Money, a percent and a measure as the field declares them, "$12,500" and never 12500; a length of time as one, "1 h 30 min".
|
|
243
|
+
const amount = amountOf(schema);
|
|
244
|
+
return amount ? sayAmount(value, amount) : typedFieldOf(schema) === "duration" ? `${value >= 60 ? `${Math.floor(value / 60)} h ` : ""}${value % 60 || value < 60 ? `${value % 60} min` : ""}`.trim() : String(value);
|
|
245
|
+
}
|
|
246
|
+
if (typeof value !== "string")
|
|
247
|
+
return "a new value";
|
|
248
|
+
if (ISO_DAY.test(value))
|
|
249
|
+
return dayAsRead(value);
|
|
250
|
+
if (ISO_MOMENT.test(value))
|
|
251
|
+
return momentAsRead(value);
|
|
252
|
+
// A choice by its option's words; anything else written, by its start (FR-180) and in quotes.
|
|
253
|
+
for (let def = z.defOf(schema); def; def = z.defOf(def.innerType)) {
|
|
254
|
+
if (def.type === "enum")
|
|
255
|
+
return humanizeField(value);
|
|
256
|
+
}
|
|
257
|
+
return `“${excerpt(value, 60)}”`;
|
|
258
|
+
}
|
|
206
259
|
/**
|
|
207
260
|
* A FIELD AS AN EDIT ASKS FOR IT: without its default. A default is what a
|
|
208
261
|
* record is MADE with; an edit that leaves a field out leaves it as it is.
|
|
@@ -237,7 +290,8 @@ export function removeVia(mutations, kind) {
|
|
|
237
290
|
export function derivedVia(schema, mutations, mutation) {
|
|
238
291
|
if (!mutation.derived)
|
|
239
292
|
return undefined;
|
|
240
|
-
|
|
293
|
+
// Acting on one occurrence of a repeating date changes the record, as its edit does.
|
|
294
|
+
return mutation.derived.act === "edit" || mutation.derived.act === "skip" || mutation.derived.act === "detach" || mutation.derived.act === "split"
|
|
241
295
|
? editVia(schema, mutations, mutation.derived.kind)
|
|
242
296
|
: removeVia(mutations, mutation.derived.kind);
|
|
243
297
|
}
|
|
@@ -254,40 +308,76 @@ export function derivedVia(schema, mutations, mutation) {
|
|
|
254
308
|
* An app that declares its own `remove-<kind>` keeps it.
|
|
255
309
|
*/
|
|
256
310
|
export function deriveRemoveMutations(schema, mutations) {
|
|
311
|
+
return perKind(schema, mutations).filter((mutation) => mutation.derived?.act === "remove");
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* SET ASIDE, NEVER LOST (FR-173).
|
|
315
|
+
*
|
|
316
|
+
* A record was present or removed; tidying an app meant deleting. Archive
|
|
317
|
+
* keeps the record — its fields, its links, its history — and takes it out
|
|
318
|
+
* of lists, the Scene, counts, computed fields and rules; its own page and
|
|
319
|
+
* search still find it, marked, with "Bring it back". Merge is two records
|
|
320
|
+
* that are one thing: the kept one (`into`) takes the links, the other is
|
|
321
|
+
* archived with `mergedInto` on its op. Each is a derived act per kind,
|
|
322
|
+
* `archive-<kind>`, `unarchive-<kind>` and `merge-<kind>`, logged and
|
|
323
|
+
* undoable like everything else, and permitted through the acts that make
|
|
324
|
+
* the kind, as a remove is — a grant may name each on its own. An app that
|
|
325
|
+
* declares an act of the same name keeps it.
|
|
326
|
+
*/
|
|
327
|
+
export function deriveArchiveMutations(schema, mutations) {
|
|
328
|
+
return perKind(schema, mutations).filter((mutation) => mutation.derived?.act === "archive" || mutation.derived?.act === "unarchive" || mutation.derived?.act === "merge");
|
|
329
|
+
}
|
|
330
|
+
/** The acts every kind is given whatever it declares: remove, archive, unarchive and merge, each on the record as `id`. */
|
|
331
|
+
function perKind(schema, mutations) {
|
|
257
332
|
const taken = new Set(mutations.map((mutation) => mutation.name));
|
|
258
333
|
const derived = [];
|
|
259
334
|
for (const definition of schema.definitions) {
|
|
260
335
|
const kind = definition.kind;
|
|
261
|
-
const name = removeMutationName(kind);
|
|
262
|
-
if (taken.has(name))
|
|
263
|
-
continue;
|
|
264
336
|
const noun = nounOf(definition, kind);
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
337
|
+
const named = (graph, id) => {
|
|
338
|
+
const node = graph.getNode(String(id));
|
|
339
|
+
return node ? labelOf(definition, node) : String(id);
|
|
340
|
+
};
|
|
341
|
+
const ref = refTo([kind]);
|
|
342
|
+
for (const [act, verb, title, description] of [
|
|
343
|
+
["remove", "Remove", `Remove the ${noun}`, `Take this ${noun} out of the graph, with every tie it has. Undo puts it back.`],
|
|
344
|
+
["archive", "Archive", `Archive the ${noun}`, `Set this ${noun} aside, with its ties and history kept.`],
|
|
345
|
+
["unarchive", "Bring back", "Bring it back", `Bring this archived ${noun} back.`],
|
|
346
|
+
["merge", "Merge", `Merge into another ${noun}`, `The other takes this ${noun}'s ties, and this one is archived.`],
|
|
347
|
+
["leave-alone", "Leave alone", "Leave this one alone", `Nothing automated changes this ${noun}: tidying passes it by until you allow it again.`],
|
|
348
|
+
["allow-tidying", "Allow tidying of", "Allow tidying again", `Let tidying change this ${noun} again.`],
|
|
349
|
+
]) {
|
|
350
|
+
const name = `${act}-${kind}`;
|
|
351
|
+
const marks = act === "leave-alone" || act === "allow-tidying";
|
|
352
|
+
if (taken.has(name) || (!marks && act !== "remove" && definition.archives === false) || (marks && definition.tidying === "never"))
|
|
353
|
+
continue;
|
|
354
|
+
derived.push({
|
|
355
|
+
name,
|
|
356
|
+
derived: { kind, act },
|
|
357
|
+
title,
|
|
358
|
+
description,
|
|
359
|
+
subject: { kinds: [kind], arg: "id" },
|
|
360
|
+
...(act === "remove" ? { destructive: true } : {}),
|
|
361
|
+
idempotent: true,
|
|
362
|
+
input: z.object(act === "merge" ? { id: ref, into: ref } : { id: ref }),
|
|
363
|
+
describe: (args, graph) => {
|
|
364
|
+
const node = act === "remove" && graph.getNode(String(args["id"]));
|
|
365
|
+
// What files a removed record takes with it (FR-162): the host decides what becomes of their bytes. Each file once, however many of its fields hold it.
|
|
366
|
+
const files = node ? new Set(Object.values(node).flatMap((value) => filesOf(value).map((file) => file.href))).size : 0;
|
|
367
|
+
return `${verb} ${named(graph, args["id"])}${act === "merge" ? ` into ${named(graph, args["into"])}` : ""}${files ? ` and its ${files} file${files > 1 ? "s" : ""}` : ""}`;
|
|
368
|
+
},
|
|
369
|
+
// Leave alone is a mark like archived, set and cleared by a patch: nothing when it is already so.
|
|
370
|
+
apply: marks
|
|
371
|
+
? (ctx, args) => ctx.patchNode(String(args["id"]), { [LEFT_ALONE]: act === "leave-alone" ? true : undefined })
|
|
372
|
+
: // `removeNode`, `archiveNode`, `unarchiveNode` or `mergeNode`, on the record (and the one it is merged into).
|
|
373
|
+
(ctx, args) => ctx[`${act}Node`](args["id"], args["into"]),
|
|
374
|
+
});
|
|
375
|
+
}
|
|
286
376
|
}
|
|
287
377
|
return derived;
|
|
288
378
|
}
|
|
289
|
-
/** Every act the framework derives for a declaration: the edits, then
|
|
379
|
+
/** Every act the framework derives for a declaration: the edits, then each kind's remove, archive, unarchive and merge. */
|
|
290
380
|
export function deriveMutations(schema, mutations) {
|
|
291
|
-
return [...deriveEditMutations(schema, mutations), ...
|
|
381
|
+
return [...deriveEditMutations(schema, mutations), ...perKind(schema, mutations), ...deriveRepeatMutations(schema, mutations)];
|
|
292
382
|
}
|
|
293
383
|
//# sourceMappingURL=derive-edits.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive-edits.js","sourceRoot":"","sources":["../../src/mutations/derive-edits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"derive-edits.js","sourceRoot":"","sources":["../../src/mutations/derive-edits.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AnySchema } from "../schema/schema.js";
|
|
2
|
+
import type { AnyNodeDefinition } from "../schema/types.js";
|
|
3
|
+
import type { AnyMutationDefinition } from "./types.js";
|
|
4
|
+
/** Which of a kind's dates repeat: those with their repeat declared beside them. */
|
|
5
|
+
export declare function repeatingFields(definition: AnyNodeDefinition): string[];
|
|
6
|
+
/** The acts a kind with a repeating date is given: skip, detach and split, each on the record as `id`. */
|
|
7
|
+
export declare function deriveRepeatMutations<S extends AnySchema>(schema: S, mutations: readonly AnyMutationDefinition<S>[]): AnyMutationDefinition<S>[];
|
|
8
|
+
//# sourceMappingURL=derive-repeats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive-repeats.d.ts","sourceRoot":"","sources":["../../src/mutations/derive-repeats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,OAAO,KAAK,EAAE,qBAAqB,EAAmB,MAAM,YAAY,CAAC;AAuBzE,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAMvE;AAQD,0GAA0G;AAC1G,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAmEhJ"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import * as z from "../schema/zod.js";
|
|
2
|
+
import { dayAsRead } from "../days.js";
|
|
3
|
+
import { labelOf } from "../schema/define-node.js";
|
|
4
|
+
import { isRepeat, isRepeatField, occurrences, repeatedBy, repeatKey } from "../repeat.js";
|
|
5
|
+
import { ActRefusal } from "../refused.js";
|
|
6
|
+
import { refTo } from "./node-ref.js";
|
|
7
|
+
/*
|
|
8
|
+
* ACTING ON ONE OCCURRENCE OF A REPEATING DATE (`repeat.ts`), each a derived
|
|
9
|
+
* act on a kind with a date that repeats, one undo each, and permitted as the
|
|
10
|
+
* kind's edit is:
|
|
11
|
+
*
|
|
12
|
+
* skip-<kind> "Skip this one": the day joins the series' exceptions.
|
|
13
|
+
* detach-<kind> "Change just this one": the occurrence becomes a record
|
|
14
|
+
* of its own — the series' fields and the links it makes,
|
|
15
|
+
* on that day, with what was changed — and an exception on
|
|
16
|
+
* the series.
|
|
17
|
+
* split-<kind> "Change from here": the series ends the day before, and
|
|
18
|
+
* a new one, continuing it (`continues`), starts on that
|
|
19
|
+
* day with what was changed. From its first day, it is the
|
|
20
|
+
* series itself that changes.
|
|
21
|
+
*
|
|
22
|
+
* Each takes the record (`id`), the day (`on`, `YYYY-MM-DD`) and, where the
|
|
23
|
+
* kind has more than one date that repeats, which (`field`); the two that
|
|
24
|
+
* change take any of the kind's fields beside them, as its edit does. A
|
|
25
|
+
* hosted page loads this up front with the store, so it is kept short.
|
|
26
|
+
*/
|
|
27
|
+
/** Which of a kind's dates repeat: those with their repeat declared beside them. */
|
|
28
|
+
export function repeatingFields(definition) {
|
|
29
|
+
const shape = definition.fields.shape;
|
|
30
|
+
return Object.keys(shape).flatMap((key) => {
|
|
31
|
+
const date = isRepeatField(shape[key]) ? repeatedBy(key) : undefined;
|
|
32
|
+
return date && shape[date] ? [date] : [];
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
const ACTS = [
|
|
36
|
+
["skip", "Skip this one", "Leave one day out of the series; the rest stay as they are.", "Skip {} on "],
|
|
37
|
+
["detach", "Change just this one", "Make one day of the series a record of its own, to change apart from the rest.", "Change {} only on "],
|
|
38
|
+
["split", "Change from here", "End the series the day before, and start it again from that day with what changes.", "Change {} from "],
|
|
39
|
+
];
|
|
40
|
+
/** The acts a kind with a repeating date is given: skip, detach and split, each on the record as `id`. */
|
|
41
|
+
export function deriveRepeatMutations(schema, mutations) {
|
|
42
|
+
const taken = new Set(mutations.map((mutation) => mutation.name));
|
|
43
|
+
const derived = [];
|
|
44
|
+
for (const definition of schema.definitions) {
|
|
45
|
+
const dates = repeatingFields(definition);
|
|
46
|
+
if (dates.length === 0)
|
|
47
|
+
continue;
|
|
48
|
+
const kind = definition.kind;
|
|
49
|
+
const shape = definition.fields.shape;
|
|
50
|
+
const changes = Object.keys(shape).filter((field) => !(field in (definition.fixed ?? {})));
|
|
51
|
+
const named = (node) => labelOf(definition, node);
|
|
52
|
+
for (const [act, title, description, says] of ACTS) {
|
|
53
|
+
const name = `${act}-${kind}`;
|
|
54
|
+
if (taken.has(name))
|
|
55
|
+
continue;
|
|
56
|
+
derived.push({
|
|
57
|
+
name,
|
|
58
|
+
derived: { kind, act },
|
|
59
|
+
title,
|
|
60
|
+
description,
|
|
61
|
+
subject: { kinds: [kind], arg: "id" },
|
|
62
|
+
// What each writes on the series is how it repeats; what the other two set, they set on the record they make.
|
|
63
|
+
writes: dates.map(repeatKey),
|
|
64
|
+
...(act === "skip" ? {} : { creates: [kind] }),
|
|
65
|
+
input: z.strictObject({
|
|
66
|
+
id: refTo([kind]),
|
|
67
|
+
on: z.string().check(z.regex(/^\d{4}-\d{2}-\d{2}$/, "a day, like 2026-10-21")),
|
|
68
|
+
...(dates.length > 1 ? { field: z.optional(z.enum(dates)) } : {}),
|
|
69
|
+
...(act === "skip" ? {} : Object.fromEntries(changes.map((field) => [field, z.optional(shape[field])]))),
|
|
70
|
+
}),
|
|
71
|
+
describe: (args, graph) => says.replace("{}", named(graph.getNode(String(args["id"])) ?? { id: args["id"] })) + dayAsRead(String(args["on"])),
|
|
72
|
+
apply(ctx, args) {
|
|
73
|
+
const node = ctx.graph.getNode(String(args["id"]));
|
|
74
|
+
const field = String(args["field"] ?? dates[0]);
|
|
75
|
+
const start = node?.[field];
|
|
76
|
+
const repeat = node?.[repeatKey(field)];
|
|
77
|
+
const on = String(args["on"]);
|
|
78
|
+
if (typeof start !== "string" || !isRepeat(repeat))
|
|
79
|
+
throw new ActRefusal(`${named(node ?? { id: args["id"] })} does not repeat`, "refused");
|
|
80
|
+
const at = occurrences(start, repeat, { from: on, to: on })[0];
|
|
81
|
+
if (!at)
|
|
82
|
+
throw new ActRefusal(`${named(node)} does not fall on ${dayAsRead(on)}`, "refused");
|
|
83
|
+
const id = String(node["id"]);
|
|
84
|
+
const given = Object.fromEntries(changes.filter((one) => args[one] !== undefined).map((one) => [one, args[one]]));
|
|
85
|
+
const key = repeatKey(field);
|
|
86
|
+
/** A record of its own, made from the series: its fields and what was changed, and the links it makes. */
|
|
87
|
+
const copy = (fields) => {
|
|
88
|
+
const made = Object.fromEntries(Object.entries({ ...node, ...fields, ...given }).filter(([one, value]) => value != null && one !== "id"));
|
|
89
|
+
const fresh = ctx.freshId(named(made));
|
|
90
|
+
ctx.addNode({ ...made, id: fresh, kind });
|
|
91
|
+
for (const edge of Object.keys(definition.edges ?? {}))
|
|
92
|
+
for (const to of ctx.graph.out(id, edge))
|
|
93
|
+
ctx.addEdge({ kind: edge, from: fresh, to: to.id });
|
|
94
|
+
};
|
|
95
|
+
if (act !== "split") {
|
|
96
|
+
ctx.patchNode(id, { [key]: { ...repeat, except: [...new Set([...(repeat.except ?? []), on])].sort() } });
|
|
97
|
+
if (act === "detach")
|
|
98
|
+
copy({ [field]: at, [key]: null });
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (Object.keys(given).length === 0)
|
|
102
|
+
throw new ActRefusal(`Nothing to change: give ${named(node)} from ${dayAsRead(on)} something new`, "invalid");
|
|
103
|
+
// From its first day, "from here" is the whole series.
|
|
104
|
+
if (on <= start.slice(0, 10))
|
|
105
|
+
return ctx.patchNode(id, given);
|
|
106
|
+
const until = new Date(Date.parse(`${on}T00:00:00Z`) - 864e5).toISOString().slice(0, 10);
|
|
107
|
+
const before = repeat.count ? occurrences(start, { ...repeat, except: [] }, { to: until }).length : 0;
|
|
108
|
+
const { count, except, ...rule } = repeat;
|
|
109
|
+
const kept = (keep) => (except?.some(keep) ? { except: except.filter(keep) } : {});
|
|
110
|
+
ctx.patchNode(id, { [key]: { ...rule, until, ...kept((day) => day < on), ...(count ? { count: before } : {}) } });
|
|
111
|
+
copy({ [field]: at, [key]: { ...rule, ...kept((day) => day >= on), ...(count ? { count: count - before } : {}), continues: id } });
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return derived;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=derive-repeats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive-repeats.js","sourceRoot":"","sources":["../../src/mutations/derive-repeats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE ACTS EVERY KIND IS GIVEN, by name: what a grant, a rule's repair or a
|
|
3
|
+
* rename reads to know an act it does not find declared is the framework's.
|
|
4
|
+
* No imports, so the document's words and its compiler can read it without
|
|
5
|
+
* bringing anything with them.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DERIVED_ACTS: readonly ["edit", "remove", "archive", "unarchive", "merge", "leave-alone", "allow-tidying"];
|
|
8
|
+
/** The acts a kind with a date that repeats is given besides (`derive-repeats.ts`): skip one, change just one, change from one on. */
|
|
9
|
+
export declare const REPEAT_ACTS: readonly ["skip", "detach", "split"];
|
|
10
|
+
export type DerivedActName = (typeof DERIVED_ACTS)[number] | (typeof REPEAT_ACTS)[number];
|
|
11
|
+
/** Every derived act a kind has, by name. */
|
|
12
|
+
export declare const derivedActsOf: (kind: string) => string[];
|
|
13
|
+
/** The derived act a name says and its kind: `archive-task` → archive, task. */
|
|
14
|
+
export declare function derivedActOf(name: string): {
|
|
15
|
+
readonly act: DerivedActName;
|
|
16
|
+
readonly kind: string;
|
|
17
|
+
} | undefined;
|
|
18
|
+
/** Whether a kind declared `archives: false` (FR-173) is still given this derived act: its edit and remove, never the three that set a record aside. */
|
|
19
|
+
export declare const givenWhenNeverArchived: (act: DerivedActName) => boolean;
|
|
20
|
+
/** Whether a kind the declaration says is never tidied is still given this derived act: all but the two that leave one record alone, which it already is. */
|
|
21
|
+
export declare const givenWhenNeverTidied: (act: DerivedActName) => boolean;
|
|
22
|
+
//# sourceMappingURL=derived-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived-names.d.ts","sourceRoot":"","sources":["../../src/mutations/derived-names.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,8FAA+F,CAAC;AAEzH,sIAAsI;AACtI,eAAO,MAAM,WAAW,sCAAuC,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1F,6CAA6C;AAC7C,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAAM,EAAiD,CAAC;AAErG,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAG9G;AAED,wJAAwJ;AACxJ,eAAO,MAAM,sBAAsB,GAAI,KAAK,cAAc,KAAG,OAAiG,CAAC;AAE/J,6JAA6J;AAC7J,eAAO,MAAM,oBAAoB,GAAI,KAAK,cAAc,KAAG,OAA2D,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE ACTS EVERY KIND IS GIVEN, by name: what a grant, a rule's repair or a
|
|
3
|
+
* rename reads to know an act it does not find declared is the framework's.
|
|
4
|
+
* No imports, so the document's words and its compiler can read it without
|
|
5
|
+
* bringing anything with them.
|
|
6
|
+
*/
|
|
7
|
+
export const DERIVED_ACTS = ["edit", "remove", "archive", "unarchive", "merge", "leave-alone", "allow-tidying"];
|
|
8
|
+
/** The acts a kind with a date that repeats is given besides (`derive-repeats.ts`): skip one, change just one, change from one on. */
|
|
9
|
+
export const REPEAT_ACTS = ["skip", "detach", "split"];
|
|
10
|
+
/** Every derived act a kind has, by name. */
|
|
11
|
+
export const derivedActsOf = (kind) => DERIVED_ACTS.map((act) => `${act}-${kind}`);
|
|
12
|
+
/** The derived act a name says and its kind: `archive-task` → archive, task. */
|
|
13
|
+
export function derivedActOf(name) {
|
|
14
|
+
const found = /^(edit|remove|archive|unarchive|merge|leave-alone|allow-tidying|skip|detach|split)-(.+)$/.exec(name);
|
|
15
|
+
return found ? { act: found[1], kind: found[2] } : undefined;
|
|
16
|
+
}
|
|
17
|
+
/** Whether a kind declared `archives: false` (FR-173) is still given this derived act: its edit and remove, never the three that set a record aside. */
|
|
18
|
+
export const givenWhenNeverArchived = (act) => act === "edit" || act === "remove" || act === "leave-alone" || act === "allow-tidying";
|
|
19
|
+
/** Whether a kind the declaration says is never tidied is still given this derived act: all but the two that leave one record alone, which it already is. */
|
|
20
|
+
export const givenWhenNeverTidied = (act) => act !== "leave-alone" && act !== "allow-tidying";
|
|
21
|
+
//# sourceMappingURL=derived-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived-names.js","sourceRoot":"","sources":["../../src/mutations/derived-names.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,CAAU,CAAC;AAEzH,sIAAsI;AACtI,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAIhE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAY,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;AAErG,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,0FAA0F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpH,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAmB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC;AAED,wJAAwJ;AACxJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAmB,EAAW,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,eAAe,CAAC;AAE/J,6JAA6J;AAC7J,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAmB,EAAW,EAAE,CAAC,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,eAAe,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHERE A RECORD'S CHANGE STARTS: the record's own values for every field
|
|
3
|
+
* its derived edit asks for (Roadmap f-edit-form-prefilled).
|
|
4
|
+
*
|
|
5
|
+
* "Change the feature" opened with "—" in every field, so a person changing
|
|
6
|
+
* one fact could not see the others and a screen reader heard blanks. The
|
|
7
|
+
* form starts from what the record holds; `changedArgs` sends only what was
|
|
8
|
+
* changed from there, so the rest is left as it is and the change says only
|
|
9
|
+
* what changed. Nothing for any other act, or a subject that is not there.
|
|
10
|
+
*
|
|
11
|
+
* A file of its own, apart from `form.ts`: the scene's ask reads these and
|
|
12
|
+
* nothing else of a form, and a bundler places a whole file where it is
|
|
13
|
+
* reached.
|
|
14
|
+
*/
|
|
15
|
+
export declare function editStart(mutation: {
|
|
16
|
+
readonly derived?: {
|
|
17
|
+
readonly act: string;
|
|
18
|
+
};
|
|
19
|
+
readonly subject?: {
|
|
20
|
+
readonly arg: string;
|
|
21
|
+
};
|
|
22
|
+
readonly writes?: readonly string[];
|
|
23
|
+
}, graph: {
|
|
24
|
+
getNode(id: string): Readonly<Record<string, unknown>> | undefined;
|
|
25
|
+
}, args: Readonly<Record<string, unknown>>): Readonly<Record<string, unknown>>;
|
|
26
|
+
/** What a form that started at `start` sends: every argument but those still as they started. */
|
|
27
|
+
export declare function changedArgs(args: Readonly<Record<string, unknown>>, start: Readonly<Record<string, unknown>>): Record<string, unknown>;
|
|
28
|
+
//# sourceMappingURL=edit-start.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-start.d.ts","sourceRoot":"","sources":["../../src/mutations/edit-start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EAC3I,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAA;CAAE,EAC7E,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAInC;AAED,iGAAiG;AACjG,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtI"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHERE A RECORD'S CHANGE STARTS: the record's own values for every field
|
|
3
|
+
* its derived edit asks for (Roadmap f-edit-form-prefilled).
|
|
4
|
+
*
|
|
5
|
+
* "Change the feature" opened with "—" in every field, so a person changing
|
|
6
|
+
* one fact could not see the others and a screen reader heard blanks. The
|
|
7
|
+
* form starts from what the record holds; `changedArgs` sends only what was
|
|
8
|
+
* changed from there, so the rest is left as it is and the change says only
|
|
9
|
+
* what changed. Nothing for any other act, or a subject that is not there.
|
|
10
|
+
*
|
|
11
|
+
* A file of its own, apart from `form.ts`: the scene's ask reads these and
|
|
12
|
+
* nothing else of a form, and a bundler places a whole file where it is
|
|
13
|
+
* reached.
|
|
14
|
+
*/
|
|
15
|
+
export function editStart(mutation, graph, args) {
|
|
16
|
+
const id = mutation.derived?.act === "edit" && mutation.subject ? args[mutation.subject.arg] : undefined;
|
|
17
|
+
const node = typeof id === "string" ? graph.getNode(id) : undefined;
|
|
18
|
+
return node ? Object.fromEntries((mutation.writes ?? []).filter((field) => node[field] !== undefined && node[field] !== null).map((field) => [field, node[field]])) : {};
|
|
19
|
+
}
|
|
20
|
+
/** What a form that started at `start` sends: every argument but those still as they started. */
|
|
21
|
+
export function changedArgs(args, start) {
|
|
22
|
+
return Object.fromEntries(Object.entries(args).filter(([name, value]) => !Object.hasOwn(start, name) || JSON.stringify(value) !== JSON.stringify(start[name])));
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=edit-start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-start.js","sourceRoot":"","sources":["../../src/mutations/edit-start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CACvB,QAA2I,EAC3I,KAA6E,EAC7E,IAAuC;IAEvC,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3K,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,WAAW,CAAC,IAAuC,EAAE,KAAwC;IAC3G,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClK,CAAC"}
|