@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,5 +1,7 @@
|
|
|
1
1
|
import * as z from "../schema/zod.js";
|
|
2
2
|
import { DocumentSpec, FieldSpec, KindSpec } from "../document/schema.js";
|
|
3
|
+
import { BLOCK_KEYS, FIGURE_EMPHASES, FIGURE_FORMATS, LIST_AS, MAX_LIST_LIMIT, VIEW_FIELD_FORMATS, VIEW_SLOTS, VIEW_TONES } from "../document/views.js";
|
|
4
|
+
import { SHIPPED_LENSES, SHIPPED_LENS_NAMES } from "../places.js";
|
|
3
5
|
/*
|
|
4
6
|
* THE DECLARATION DOCUMENT AS JSON SCHEMA, one per version, from the shape
|
|
5
7
|
* the compiler reads (`DocumentSpec`) — never written by hand, so it cannot
|
|
@@ -13,9 +15,22 @@ import { DocumentSpec, FieldSpec, KindSpec } from "../document/schema.js";
|
|
|
13
15
|
* are said here again, in JSON Schema's words, and the test that holds this
|
|
14
16
|
* schema to the compiler (`the-document-schema-is-the-compilers`) catches
|
|
15
17
|
* one said wrong.
|
|
18
|
+
*
|
|
19
|
+
* LENSES AND BLOCKS are read by the compiler loosely and judged by the
|
|
20
|
+
* checker afterwards, sentence by sentence, so zod has nothing to say about
|
|
21
|
+
* them and an editor gave no help with a lens's name, its options or a
|
|
22
|
+
* view's blocks. They are said here from the tables the checker judges by:
|
|
23
|
+
* `SHIPPED_LENSES` (each lens's name, roles and options) and `BLOCK_KEYS`
|
|
24
|
+
* (each block and what it may say besides). A lens's name and options are
|
|
25
|
+
* held tighter than the compiler holds them — it warns (`lens-not-shipped`,
|
|
26
|
+
* `lens-option-unknown`) where the editor underlines — because a document
|
|
27
|
+
* can only draw the lenses Graview ships, and the document editor already
|
|
28
|
+
* refuses any other.
|
|
16
29
|
*/
|
|
17
30
|
/** Where a version's schema is served: the published tarball's own file. */
|
|
18
31
|
export const documentSchemaUrl = (version) => `https://unpkg.com/@graview/core@${version}/dist/document.schema.json`;
|
|
32
|
+
/** The two naming conventions, said together wherever a name is written: the first write met them one at a time. */
|
|
33
|
+
export const NAMING = 'Kinds, acts, rules and roles are kebab-case, like "tool-note"; fields and relations are camelCase, like "supersededBy", so a rule can say them bare. A kind keeps the name it is given, because every record stores it.';
|
|
19
34
|
/** A name every object already answers to: no field or relation may be called one. */
|
|
20
35
|
const INHERITED = Object.getOwnPropertyNames(Object.prototype);
|
|
21
36
|
const at = (schema, ...path) => path.reduce((node, key) => (node[key] ?? {}), schema);
|
|
@@ -25,12 +40,16 @@ export function documentJsonSchema(version) {
|
|
|
25
40
|
unrepresentable: "any",
|
|
26
41
|
override: ({ zodSchema, jsonSchema }) => {
|
|
27
42
|
const json = jsonSchema;
|
|
28
|
-
if (zodSchema === DocumentSpec)
|
|
29
|
-
Object.assign(at(json, "properties", "kinds"), { minProperties: 1, maxProperties: 40 });
|
|
43
|
+
if (zodSchema === DocumentSpec) {
|
|
44
|
+
Object.assign(at(json, "properties", "kinds"), { minProperties: 1, maxProperties: 40, description: `The kinds of record, by name. ${NAMING}` });
|
|
45
|
+
for (const what of ["kinds", "acts", "rules"])
|
|
46
|
+
Object.assign(at(json, "properties", what, "propertyNames"), { description: NAMING });
|
|
47
|
+
}
|
|
30
48
|
if (zodSchema === KindSpec) {
|
|
31
|
-
Object.assign(at(json, "properties", "fields"), { minProperties: 1 });
|
|
32
|
-
Object.assign(at(json, "properties", "fields", "propertyNames"), { not: { enum: ["id", "kind", ...INHERITED] } });
|
|
33
|
-
Object.assign(at(json, "properties", "edges", "propertyNames"), { not: { enum: INHERITED } });
|
|
49
|
+
Object.assign(at(json, "properties", "fields"), { minProperties: 1, description: `The kind's fields, by name. ${NAMING}` });
|
|
50
|
+
Object.assign(at(json, "properties", "fields", "propertyNames"), { not: { enum: ["id", "kind", ...INHERITED] }, description: NAMING });
|
|
51
|
+
Object.assign(at(json, "properties", "edges", "propertyNames"), { not: { enum: INHERITED }, description: NAMING });
|
|
52
|
+
Object.assign(at(json, "properties", "edges"), { description: `The kind's relations, by name. ${NAMING}` });
|
|
34
53
|
Object.assign(at(json, "properties", "computed"), { maxProperties: 20 });
|
|
35
54
|
}
|
|
36
55
|
if (zodSchema === FieldSpec) {
|
|
@@ -44,6 +63,19 @@ export function documentJsonSchema(version) {
|
|
|
44
63
|
},
|
|
45
64
|
});
|
|
46
65
|
const { $schema, ...rest } = schema;
|
|
66
|
+
const properties = at(rest, "properties");
|
|
67
|
+
properties["lenses"] = { description: properties["lenses"]?.["description"] ?? LENSES_SAID, type: "array", items: lensSchema() };
|
|
68
|
+
properties["views"] = {
|
|
69
|
+
description: "Each kind's views by kind — its card, row and page, each a list of blocks — and `home`: the home view, a list of blocks about no one record.",
|
|
70
|
+
type: "object",
|
|
71
|
+
additionalProperties: {
|
|
72
|
+
anyOf: [
|
|
73
|
+
{ type: "object", properties: Object.fromEntries(VIEW_SLOTS.map((slot) => [slot, blocks(`The blocks a ${slot} draws.`)])), additionalProperties: false },
|
|
74
|
+
blocks("The home view's blocks (under `home`)."),
|
|
75
|
+
],
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
rest["$defs"] = { ...(rest["$defs"] ?? {}), ...blockDefs() };
|
|
47
79
|
return {
|
|
48
80
|
$schema,
|
|
49
81
|
$id: documentSchemaUrl(version),
|
|
@@ -52,4 +84,121 @@ export function documentJsonSchema(version) {
|
|
|
52
84
|
...rest,
|
|
53
85
|
};
|
|
54
86
|
}
|
|
87
|
+
const LENSES_SAID = "The pictures the app draws beside its lists: each names a lens Graview ships, binds it to the kinds it stands on, and, with a title, is a place of its own.";
|
|
88
|
+
const blocks = (description) => ({ description, type: "array", items: { $ref: "#/$defs/ViewBlock" } });
|
|
89
|
+
const expression = { type: "string", minLength: 1, maxLength: 2000, description: "A line of the rule language, like \"status == 'booked'\" or \"count(all('offer'))\"." };
|
|
90
|
+
const template = { type: "string", minLength: 1, maxLength: 300, description: 'Words with {field} in braces, like "{name}" or "{quote|money}".' };
|
|
91
|
+
const words = { type: "string", minLength: 1 };
|
|
92
|
+
const tone = {
|
|
93
|
+
description: `${VIEW_TONES.join(", ")}, or { "expr": … } that works one out.`,
|
|
94
|
+
anyOf: [{ enum: [...VIEW_TONES] }, { type: "object", properties: { expr: expression }, required: ["expr"], additionalProperties: false }],
|
|
95
|
+
};
|
|
96
|
+
/** What the key that names a block holds: `{"title": "{name}"}`, `{"list": "out('holds')"}`. */
|
|
97
|
+
const BLOCK_VALUE = {
|
|
98
|
+
title: template,
|
|
99
|
+
headline: template,
|
|
100
|
+
figure: { description: 'An expression for a number worked out, or true for the kind\'s picture: {"figure": true}.', anyOf: [expression, { const: true }] },
|
|
101
|
+
list: expression,
|
|
102
|
+
text: template,
|
|
103
|
+
badge: template,
|
|
104
|
+
field: { type: "string", description: "A field of the record, drawn as it is declared." },
|
|
105
|
+
image: { type: "string", description: "A field holding pictures." },
|
|
106
|
+
progress: { type: "object", properties: { value: expression, max: expression }, required: ["value", "max"], additionalProperties: false },
|
|
107
|
+
group: blocks("The blocks drawn together."),
|
|
108
|
+
when: expression,
|
|
109
|
+
divider: { const: true },
|
|
110
|
+
};
|
|
111
|
+
/** What each block may say besides, by block: `BLOCK_KEYS` names them, this says what each holds. */
|
|
112
|
+
const BLOCK_OPTIONS = {
|
|
113
|
+
title: {},
|
|
114
|
+
headline: {},
|
|
115
|
+
list: {
|
|
116
|
+
sort: {
|
|
117
|
+
description: 'A key read from each record, lowest first, or { "by": key, "direction": "asc" | "desc" | "choices" }.',
|
|
118
|
+
anyOf: [expression, { type: "object", properties: { by: expression, direction: { enum: ["asc", "desc", "choices"] } }, required: ["by"], additionalProperties: false }],
|
|
119
|
+
},
|
|
120
|
+
limit: { type: "integer", minimum: 1, maximum: MAX_LIST_LIMIT },
|
|
121
|
+
group: {
|
|
122
|
+
description: 'A choice field, or { "by": field, "headings": { choice: words } }.',
|
|
123
|
+
anyOf: [words, { type: "object", properties: { by: words, headings: { type: "object", additionalProperties: { type: "string" } } }, required: ["by"], additionalProperties: false }],
|
|
124
|
+
},
|
|
125
|
+
empty: words,
|
|
126
|
+
as: { enum: [...LIST_AS] },
|
|
127
|
+
},
|
|
128
|
+
text: { tone },
|
|
129
|
+
badge: { tone },
|
|
130
|
+
field: { as: { enum: [...VIEW_FIELD_FORMATS] }, currency: words, label: words },
|
|
131
|
+
image: { as: { enum: ["thumb", "gallery"] }, label: words },
|
|
132
|
+
progress: { label: words },
|
|
133
|
+
group: { direction: { enum: ["row", "column"] } },
|
|
134
|
+
when: { show: blocks("The blocks shown while the expression holds.") },
|
|
135
|
+
divider: {},
|
|
136
|
+
figure: { as: { enum: [...FIGURE_FORMATS] }, currency: words, label: words, emphasis: { enum: [...FIGURE_EMPHASES] } },
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* A view's block, one shape per block the checker knows. Built from
|
|
140
|
+
* `BLOCK_KEYS`, so a block or a key added there and not said here stops the
|
|
141
|
+
* build rather than going untyped.
|
|
142
|
+
*/
|
|
143
|
+
function blockDefs() {
|
|
144
|
+
const shapes = Object.entries(BLOCK_KEYS).map(([block, keys]) => {
|
|
145
|
+
const value = BLOCK_VALUE[block];
|
|
146
|
+
const options = BLOCK_OPTIONS[block];
|
|
147
|
+
if (!value || !options)
|
|
148
|
+
throw new Error(`document-schema: the "${block}" block has no JSON Schema; say it in BLOCK_VALUE and BLOCK_OPTIONS.`);
|
|
149
|
+
for (const key of keys)
|
|
150
|
+
if (!options[key])
|
|
151
|
+
throw new Error(`document-schema: the "${block}" block's "${key}" has no JSON Schema; say it in BLOCK_OPTIONS.`);
|
|
152
|
+
return {
|
|
153
|
+
type: "object",
|
|
154
|
+
properties: { [block]: value, ...Object.fromEntries(keys.map((key) => [key, options[key]])), key: { type: "string", description: "What a face claims this block by." } },
|
|
155
|
+
required: block === "when" ? ["when", "show"] : [block],
|
|
156
|
+
additionalProperties: false,
|
|
157
|
+
};
|
|
158
|
+
});
|
|
159
|
+
return { ViewBlock: { description: `A block from the closed set every view is written in: ${Object.keys(BLOCK_KEYS).join(", ")}.`, anyOf: shapes } };
|
|
160
|
+
}
|
|
161
|
+
/** A declared lens: a name from `SHIPPED_LENSES`, and per lens the options it takes and the shape its bindings are. */
|
|
162
|
+
function lensSchema() {
|
|
163
|
+
const fieldBindings = {
|
|
164
|
+
description: 'Per kind, each role bound to a field — "start": "due" — or to a field and the values that make it true — { "field": "status", "is": ["done"] }.',
|
|
165
|
+
type: "object",
|
|
166
|
+
additionalProperties: {
|
|
167
|
+
type: "object",
|
|
168
|
+
additionalProperties: { anyOf: [{ type: "string" }, { type: "object", properties: { field: { type: "string" }, is: { type: "array" } }, required: ["field", "is"], additionalProperties: false }] },
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
return {
|
|
172
|
+
type: "object",
|
|
173
|
+
required: ["name"],
|
|
174
|
+
properties: {
|
|
175
|
+
name: { description: `Which lens: ${SHIPPED_LENS_NAMES.join(", ")}.`, enum: [...SHIPPED_LENS_NAMES] },
|
|
176
|
+
title: { type: "string", minLength: 1, maxLength: 80, description: "With a title, the lens is a place: a pill on the bar and a page of its own." },
|
|
177
|
+
on: { type: "string", description: "The kind it is a place over, when its bindings do not say." },
|
|
178
|
+
options: { type: "object" },
|
|
179
|
+
bindings: { type: "object" },
|
|
180
|
+
binds: { enum: ["fields", "entities"] },
|
|
181
|
+
requiredRoles: { type: "array", items: { type: "string" } },
|
|
182
|
+
provenBy: { type: "string" },
|
|
183
|
+
arrangedBy: { description: "What the picture opens arranged by, in the arrangement grammar." },
|
|
184
|
+
hidden: { type: "boolean", description: "Kept off the lists: reached by its address, a link or navigate." },
|
|
185
|
+
create: { type: "boolean" },
|
|
186
|
+
},
|
|
187
|
+
additionalProperties: false,
|
|
188
|
+
allOf: SHIPPED_LENS_NAMES.map((name) => {
|
|
189
|
+
const lens = SHIPPED_LENSES[name];
|
|
190
|
+
const options = {
|
|
191
|
+
description: lens.options.length > 0 ? `What the ${name} lens takes besides its roles: ${lens.options.join(", ")}.` : `The ${name} lens takes no options.`,
|
|
192
|
+
type: "object",
|
|
193
|
+
properties: Object.fromEntries(lens.options.map((option) => [option, option === "blocks" ? blocks("The blocks the lens draws, about no one record.") : {}])),
|
|
194
|
+
additionalProperties: false,
|
|
195
|
+
};
|
|
196
|
+
const roles = lens.requiredRoles.length > 0 ? ` It binds ${lens.requiredRoles.join(", ")}.` : "";
|
|
197
|
+
return {
|
|
198
|
+
if: { properties: { name: { const: name } }, required: ["name"] },
|
|
199
|
+
then: { properties: { options, ...(lens.binds === "fields" ? { bindings: { ...fieldBindings, description: `${String(fieldBindings["description"])}${roles}` } } : {}) } },
|
|
200
|
+
};
|
|
201
|
+
}),
|
|
202
|
+
};
|
|
203
|
+
}
|
|
55
204
|
//# sourceMappingURL=document-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-schema.js","sourceRoot":"","sources":["../../src/cli/document-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"document-schema.js","sourceRoot":"","sources":["../../src/cli/document-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { AnySchema } from "../schema/schema.js";
|
|
|
4
4
|
import { compileDocument } from "../document/compile-checked.js";
|
|
5
5
|
export { diagnose, doctor, DOCTOR_USAGE } from "./doctor.js";
|
|
6
6
|
export type { DoctorFinding, DoctorLevel } from "./doctor.js";
|
|
7
|
-
export declare const USAGE = "graview \u2014 start a product, check its declaration, write its agent docs\n\n graview create <dir> [--name \"Field Notes\"] [--kind note] [--plural notes]\n Starts a product on Graview in <dir>: the declaration split into domain\n and UI, an eighty-line shell, a headless test, a CI workflow.\n --name <text> the product's name (default: from <dir>)\n --kind <slug> the first node kind (default: item)\n --plural <slug> its plural (default: <kind>s)\n --link <path> consume the framework from a sibling checkout by\n path rather than from a registry\n --pm pnpm|npm the package manager (default: whichever ran this)\n --port <n> the dev server port (default: 5170)\n --accent <#hex> the brand accent (default: a worked green)\n --no-install write the files and stop\n --no-skills do not install the authoring skills\n --no-git do not initialize a git repository\n --workspace the layout every real product ends up with: a\n workspace root with the app under app/ and the\n harness scripts at the root\n --merge write only the files that do not exist yet, and\n name every collision without touching it\n --force write into a directory that is not empty\n --template <file|url>\n start from a template made anywhere (Graview\n Cloud's graview-template shape): the project keeps\n its document as src/domain/app.json and the\n template as template.json, for `graview apply\n --template` to set a store up from. Named after\n the template unless --name says otherwise.\n\n\n graview check <entry> [--views <module>] [--json]\n Loads <entry> (a module whose default export, or `app` export, is a\n GraviewApp) and reports schema problems. Exits 1 on any error.\n\n --document <file>\n Any command that takes an <entry> takes a declaration document instead\n (a .json file in the Graview document format): compiled, never run as\n code, and checked with the JSON path of every finding. With\n --previous <file>, check holds every renamedFrom to the version before.\n A template (a graview-template .json) is read as the document inside it.\n\n graview doctor [<dir>] [--document <file>] [--json]\n Says whether the product in <dir> (default .) is on one Graview\n release: every graview and @graview/* pin in its package.json the same\n version, its lockfile and its node_modules holding that version, each\n declaration document's formatVersion one the installed core reads, and\n react beside react-dom at one version (React refuses a mismatched pair\n at startup, and the page is blank). Each problem is said with its fix;\n exits 1 on any.\n\n graview docs <entry> [--out <dir>] [--views <module>]\n Writes llms.txt and agents.md next to the entry, or into <dir>.\n\n graview describe <entry> [--as <role>] [--views <module>] [--place <slug|id>]\n Reads the app out: what a blank installation meets and in what order,\n what is drawn and what falls back, the hues, what a seat may do, how a\n model is reached, what is judged. The rung between check and a browser\n \u2014 \"run it and look\" for something that cannot see.\n --place <slug|id> [--seed <snapshot.json>] [--width <px>] [--id <who>] says what one\n place shows that seat instead: headings, figures, lists and problems.\n\n graview types <document.json> [--out <file.d.ts>]\n Writes the document's kinds, fields and relations as TypeScript: each\n kind's record with its fields' own types (an enum's options as a\n union), and the Types that typedReader (@graview/core/typed) reads a\n store through \u2014 so a renamed field or relation fails tsc in the\n product that reads it. To stdout, or to --out.\n\n graview lens <name> --roles a,b,c [--binds fields|entities] [--dir <dir>]\n Writes a lens that compiles: the role check that fails loudly, the\n createXLens factory, three fidelities, pick targets \u2014 and beside it a\n REUSE TEST in a domain the app is not about, red until you make the\n claim true. If you cannot make it pass, you wrote a view, and a view\n is a legitimate thing to have written.\n\n graview figure <entry> --kind <kind> [--name <shipped>]\n [--from \"<what the thing is>\"] [--judge <file|->]\n Prints the figure line to paste into defineNode. With --name it is one\n of the shipped drawings; with neither, it suggests the nearest one by\n name and says so. --from prints the brief to hand a model \u2014 the rules,\n the angle and a shipped figure as the style \u2014 and --judge reads the\n answer back, holds it to the rules graview check holds a figure to, and\n prints the line. Nine shipped figures is a vocabulary to start from,\n not a vocabulary to finish in.\n";
|
|
7
|
+
export declare const USAGE = "graview \u2014 start a product, check its declaration, write its agent docs\n\n graview create <dir> [--name \"Field Notes\"] [--kind note] [--plural notes]\n Starts a product on Graview in <dir>: the declaration split into domain\n and UI, an eighty-line shell, a headless test, a CI workflow.\n --name <text> the product's name (default: from <dir>)\n --kind <slug> the first node kind (default: item)\n --plural <slug> its plural (default: <kind>s)\n --link <path> consume the framework from a sibling checkout by\n path rather than from a registry\n --pm pnpm|npm the package manager (default: whichever ran this)\n --port <n> the dev server port (default: 5170)\n --accent <#hex> the brand accent (default: a worked green)\n --no-install write the files and stop\n --no-skills do not install the authoring skills\n --no-git do not initialize a git repository\n --workspace the layout every real product ends up with: a\n workspace root with the app under app/ and the\n harness scripts at the root\n --merge write only the files that do not exist yet, and\n name every collision without touching it\n --force write into a directory that is not empty\n --template <file|url>\n start from a template made anywhere (Graview\n Cloud's graview-template shape): the project keeps\n its document as src/domain/app.json and the\n template as template.json, for `graview apply\n --template` to set a store up from. Named after\n the template unless --name says otherwise.\n\n\n graview check <entry> [--views <module>] [--json]\n Loads <entry> (a module whose default export, or `app` export, is a\n GraviewApp) and reports schema problems. Exits 1 on any error.\n\n --document <file>\n Any command that takes an <entry> takes a declaration document instead\n (a .json file in the Graview document format): compiled, never run as\n code, and checked with the JSON path of every finding. With\n --previous <file>, check holds every renamedFrom to the version before.\n A template (a graview-template .json) is read as the document inside it.\n\n graview doctor [<dir>] [--document <file>] [--json]\n Says whether the product in <dir> (default .) is on one Graview\n release: every graview and @graview/* pin in its package.json the same\n version, its lockfile and its node_modules holding that version, each\n declaration document's formatVersion one the installed core reads, and\n react beside react-dom at one version (React refuses a mismatched pair\n at startup, and the page is blank). Run from a framework checkout with\n no graview on PATH, it says how to put it there. Each problem is said with its fix;\n exits 1 on any.\n\n graview docs <entry> [--out <dir>] [--views <module>]\n Writes llms.txt and agents.md next to the entry, or into <dir>.\n\n graview describe <entry> [--as <role>] [--views <module>] [--place <slug|id>]\n Reads the app out: what a blank installation meets and in what order,\n what is drawn and what falls back, the hues, what a seat may do, how a\n model is reached, what is judged. The rung between check and a browser\n \u2014 \"run it and look\" for something that cannot see.\n --place <slug|id> [--seed <snapshot.json>] [--width <px>] [--id <who>] says what one\n place shows that seat instead: headings, figures, lists and problems.\n\n graview types <document.json> [--out <file.d.ts>]\n Writes the document's kinds, fields and relations as TypeScript: each\n kind's record with its fields' own types (an enum's options as a\n union), and the Types that typedReader (@graview/core/typed) reads a\n store through \u2014 so a renamed field or relation fails tsc in the\n product that reads it. To stdout, or to --out.\n\n graview lens <name> --roles a,b,c [--binds fields|entities] [--dir <dir>]\n Writes a lens that compiles: the role check that fails loudly, the\n createXLens factory, three fidelities, pick targets \u2014 and beside it a\n REUSE TEST in a domain the app is not about, red until you make the\n claim true. If you cannot make it pass, you wrote a view, and a view\n is a legitimate thing to have written.\n\n graview figure <entry> --kind <kind> [--name <shipped>]\n [--from \"<what the thing is>\"] [--judge <file|->]\n Prints the figure line to paste into defineNode. With --name it is one\n of the shipped drawings; with neither, it suggests the nearest one by\n name and says so. --from prints the brief to hand a model \u2014 the rules,\n the angle and a shipped figure as the style \u2014 and --judge reads the\n answer back, holds it to the rules graview check holds a figure to, and\n prints the line. Nine shipped figures is a vocabulary to start from,\n not a vocabulary to finish in.\n";
|
|
8
8
|
/**
|
|
9
9
|
* THE ENTRY A COMMAND IS ABOUT: `--document <file>` when given, otherwise
|
|
10
10
|
* the module named where the command expects it. A document is JSON a host
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAKjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU9D,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAKjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU9D,eAAO,MAAM,KAAK,0tKAkDjB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKhF;AAED,uEAAuE;AACvE,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,OAAkC,CAAC;AAE9E,0GAA0G;AAC1G,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAGjG;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQhD;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAehE;AAaD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAc/H;AAeD,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA4N1D"}
|
package/dist/cli/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAwBxE,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAkBjD;AAsBD,2GAA2G;AAC3G,wBAAgB,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,SAAiB,GAAG,MAAM,CAuCtF"}
|
package/dist/cli/types.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { linkedEdges, localEdges } from "../schema/linked.js";
|
|
1
2
|
/*
|
|
2
3
|
* `graview types <document>` — A DOCUMENT'S KINDS, FIELDS AND RELATIONS AS
|
|
3
4
|
* TYPESCRIPT.
|
|
@@ -24,6 +25,7 @@ export function fieldType(spec) {
|
|
|
24
25
|
return union(spec.options ?? []);
|
|
25
26
|
case "number":
|
|
26
27
|
case "integer":
|
|
28
|
+
case "duration":
|
|
27
29
|
return "number";
|
|
28
30
|
case "boolean":
|
|
29
31
|
return "boolean";
|
|
@@ -44,10 +46,14 @@ const HOLDS = {
|
|
|
44
46
|
email: "An email address.",
|
|
45
47
|
image: "A picture the host stored: its href a path on the host.",
|
|
46
48
|
file: "A file the host stored: its href a path on the host.",
|
|
49
|
+
"app-link": "Another app's address: @owner/app, its id, or its https:// address.",
|
|
50
|
+
phone: "A phone number, as it was written.",
|
|
51
|
+
place: "An address or a place's name, linked to the reader's maps app.",
|
|
52
|
+
duration: "A length of time, in whole minutes.",
|
|
47
53
|
};
|
|
48
54
|
/** A field's comment: its description, the words it is shown by, and what a string of its type holds. */
|
|
49
55
|
function fieldNote(spec) {
|
|
50
|
-
const said = [spec.description, spec.label ? `Shown as "${spec.label}"` : undefined, HOLDS[spec.type], spec.unit ? `In ${spec.unit}` : undefined].filter((part) => Boolean(part));
|
|
56
|
+
const said = [spec.description, spec.label ? `Shown as "${spec.label}"` : undefined, spec.format === "markdown" ? "Markdown, drawn as prose on the record's page" : HOLDS[spec.type], spec.unit ? `In ${spec.unit}` : undefined].filter((part) => Boolean(part));
|
|
51
57
|
return said.length > 0 ? said.map((part) => (/[.!?]$/.test(part) ? part : `${part}.`)).join(" ") : undefined;
|
|
52
58
|
}
|
|
53
59
|
/** Each kind's interface name: its own name in PascalCase, unless that is a name the file already uses. */
|
|
@@ -76,17 +82,25 @@ export function documentTypes(document, from = "the document") {
|
|
|
76
82
|
` * Do not edit: change the document and run it again. Read a store through\n` +
|
|
77
83
|
` * them with \`typedReader<Types>(store)\` from "@graview/core/typed".\n */\n` +
|
|
78
84
|
(Object.values(document.kinds).some((spec) => Object.values(spec.fields).some((f) => /^(image|file)$/.test(f.of ?? f.type))) ? `import type { FileValue } from "@graview/core";\n` : "") +
|
|
85
|
+
(Object.values(document.kinds).some((spec) => Object.values(spec.fields).some((f) => f.repeats)) ? `import type { Repeat } from "@graview/core";\n` : "") +
|
|
79
86
|
`import type { TypedReader } from "@graview/core/typed";\n`);
|
|
80
87
|
for (const [kind, spec] of Object.entries(document.kinds)) {
|
|
81
88
|
let body = `${comment(spec.description, "")}export interface ${names.get(kind)} {\n readonly id: string;\n readonly kind: ${JSON.stringify(kind)};\n`;
|
|
82
89
|
for (const [field, f] of Object.entries(spec.fields)) {
|
|
83
90
|
body += `${comment(fieldNote(f), " ")} readonly ${key(field)}${f.required ? "" : "?"}: ${fieldType(f)};\n`;
|
|
91
|
+
// How a date repeats, kept beside it: its first occurrence is the date itself.
|
|
92
|
+
if (f.repeats)
|
|
93
|
+
body += ` /** How ${key(field)} repeats; ${key(field)} is the first occurrence. */\n readonly ${key(`${field}Repeat`)}?: Repeat | null;\n`;
|
|
94
|
+
}
|
|
95
|
+
// A link to another app's record (FR-171) is kept on this record: "<kind>:<id>", or a list of them.
|
|
96
|
+
for (const [edge, relation] of linkedEdges(spec.edges)) {
|
|
97
|
+
body += ` /** ${relation.cardinality === "one" ? "A record" : "Records"} of ${relation.kinds.join(" or ")} in the app ${relation.address}, as "<kind>:<id>". */\n readonly ${key(edge)}?: ${relation.cardinality === "one" ? "string" : "readonly string[]"};\n`;
|
|
84
98
|
}
|
|
85
99
|
out.push(`${body}}\n`);
|
|
86
100
|
}
|
|
87
101
|
out.push(`/** Every kind's record, by kind. */\nexport type Kinds = {\n${kinds.map((kind) => ` readonly ${key(kind)}: ${names.get(kind)};\n`).join("")}};\n`);
|
|
88
102
|
const edges = Object.entries(document.kinds).map(([kind, spec]) => {
|
|
89
|
-
const relations = Object.entries(spec.edges
|
|
103
|
+
const relations = Object.entries(localEdges(spec.edges));
|
|
90
104
|
if (relations.length === 0)
|
|
91
105
|
return ` readonly ${key(kind)}: {};\n`;
|
|
92
106
|
const lines = relations.map(([edge, e]) => `${comment(e.description, " ")} readonly ${key(edge)}: ${e.to === "*" ? "keyof Kinds" : union(e.to)};\n`);
|
package/dist/cli/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Expr } from "./document/expr/parse.js";
|
|
2
|
+
import type { InvariantDefinition } from "./invariants/types.js";
|
|
3
|
+
import type { AnySchema } from "./schema/schema.js";
|
|
4
|
+
/** The rules and computed fields the day turning may change. */
|
|
5
|
+
export interface ClockReaders {
|
|
6
|
+
/** The rules a tick may break or mend, by name. */
|
|
7
|
+
readonly rules: readonly string[];
|
|
8
|
+
/** The computed fields worked out differently as the day turns; `kind` is null for a fact of the whole graph. */
|
|
9
|
+
readonly computed: readonly {
|
|
10
|
+
readonly kind: string | null;
|
|
11
|
+
readonly field: string;
|
|
12
|
+
}[];
|
|
13
|
+
}
|
|
14
|
+
/** Whether an expression reads the clock: calls `today()` or `now()`, or reads a name in `clocked`. */
|
|
15
|
+
export declare function exprReadsTheClock(expr: Expr, clocked?: ReadonlySet<string>): boolean;
|
|
16
|
+
/** The rules and computed fields of a declaration that read the clock. */
|
|
17
|
+
export declare function clockReaders(schema: AnySchema, rules: readonly InvariantDefinition[]): ClockReaders;
|
|
18
|
+
//# sourceMappingURL=clock-readers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clock-readers.d.ts","sourceRoot":"","sources":["../src/clock-readers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAyBpD,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,iHAAiH;IACjH,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxF;AA6CD,uGAAuG;AACvG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,WAAW,CAAC,MAAM,CAAa,GAAG,OAAO,CAQ/F;AAMD,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,YAAY,CAUnG"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
const CALLS_THE_CLOCK = /\b(?:today|now)\s*\(/;
|
|
2
|
+
const withoutQuoted = (text) => text.replace(/'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"/g, "''");
|
|
3
|
+
const mentions = (text, names) => [...names].some((name) => new RegExp(`(?<![\\w-])${name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}(?![\\w-])`).test(text));
|
|
4
|
+
/** A computed field's expression, as declared. */
|
|
5
|
+
const exprText = (field) => (typeof field === "string" ? field : typeof field === "object" && field && typeof field.expr === "string" ? field.expr : undefined);
|
|
6
|
+
/** The computed fields of a schema, and its facts, that read the clock: directly, or through a name that does. */
|
|
7
|
+
function computedReadingTheClock(schema) {
|
|
8
|
+
const all = [];
|
|
9
|
+
for (const kind of schema.kinds) {
|
|
10
|
+
const computed = schema.tryDefinition(kind)?.computed ?? {};
|
|
11
|
+
for (const [field, spec] of Object.entries(computed)) {
|
|
12
|
+
const text = exprText(spec);
|
|
13
|
+
if (text !== undefined)
|
|
14
|
+
all.push({ kind, field, text });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
for (const [field, spec] of Object.entries(schema.computed ?? {})) {
|
|
18
|
+
const text = exprText(spec);
|
|
19
|
+
if (text !== undefined)
|
|
20
|
+
all.push({ kind: null, field, text });
|
|
21
|
+
}
|
|
22
|
+
const reading = new Set(all.filter((one) => CALLS_THE_CLOCK.test(withoutQuoted(one.text))));
|
|
23
|
+
// Through the names they read, to a fixed point: a name is any kind's computed field, or a fact (`fact('<name>')`).
|
|
24
|
+
for (let grew = true; grew;) {
|
|
25
|
+
grew = false;
|
|
26
|
+
const names = new Set([...reading].map((one) => one.field));
|
|
27
|
+
for (const one of all) {
|
|
28
|
+
if (!reading.has(one) && mentions(one.text, names)) {
|
|
29
|
+
reading.add(one);
|
|
30
|
+
grew = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return { fields: all.filter((one) => reading.has(one)).map(({ kind, field }) => ({ kind, field })), names: new Set([...reading].map((one) => one.field)) };
|
|
35
|
+
}
|
|
36
|
+
/** Each part of an expression, itself first. */
|
|
37
|
+
function parts(expr, into = []) {
|
|
38
|
+
into.push(expr);
|
|
39
|
+
for (const value of Object.values(expr))
|
|
40
|
+
for (const one of [value].flat())
|
|
41
|
+
if (one && typeof one === "object" && "t" in one)
|
|
42
|
+
parts(one, into);
|
|
43
|
+
return into;
|
|
44
|
+
}
|
|
45
|
+
/** Whether an expression reads the clock: calls `today()` or `now()`, or reads a name in `clocked`. */
|
|
46
|
+
export function exprReadsTheClock(expr, clocked = new Set()) {
|
|
47
|
+
return parts(expr).some((part) => part.t === "call"
|
|
48
|
+
? part.fn === "today" || part.fn === "now"
|
|
49
|
+
: part.t === "ident" || part.t === "member"
|
|
50
|
+
? clocked.has(part.name)
|
|
51
|
+
: part.t === "lit" && typeof part.value === "string" && clocked.has(part.value));
|
|
52
|
+
}
|
|
53
|
+
/** Whether a kind's records retire on a date (its lifecycle), so which of them is judged turns with the day. */
|
|
54
|
+
const retiresOnADate = (schema, kind) => schema.tryDefinition(kind)?.lifecycle?.retired === "date";
|
|
55
|
+
/** The rules and computed fields of a declaration that read the clock. */
|
|
56
|
+
export function clockReaders(schema, rules) {
|
|
57
|
+
const computed = computedReadingTheClock(schema);
|
|
58
|
+
const reads = (rule) => {
|
|
59
|
+
if (rule.readsTheClock)
|
|
60
|
+
return true;
|
|
61
|
+
if (rule.scope !== "graph" && rule.judgesPast !== true && retiresOnADate(schema, rule.scope.kind))
|
|
62
|
+
return true;
|
|
63
|
+
const shape = rule.shape;
|
|
64
|
+
if (!shape)
|
|
65
|
+
return false;
|
|
66
|
+
return [shape.require, shape.when, ...(shape.says ?? []).map((part) => part.expr)].some((expr) => expr !== undefined && exprReadsTheClock(expr, computed.names));
|
|
67
|
+
};
|
|
68
|
+
return { rules: rules.filter(reads).map((rule) => rule.name), computed: computed.fields };
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=clock-readers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clock-readers.js","sourceRoot":"","sources":["../src/clock-readers.ts"],"names":[],"mappings":"AAmCA,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAC/C,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;AACnG,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,KAA0B,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAEvL,kDAAkD;AAClD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,KAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAE3O,kHAAkH;AAClH,SAAS,uBAAuB,CAAC,MAAiB;IAChD,MAAM,GAAG,GAA2D,EAAE,CAAC;IACvE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAA0B,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAkE,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC9H,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,oHAAoH;IACpH,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAI,CAAC;QAC7B,IAAI,GAAG,KAAK,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AAC7J,CAAC;AAED,gDAAgD;AAChD,SAAS,KAAK,CAAC,IAAU,EAAE,OAAe,EAAE;IAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;YAAE,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,GAAG;gBAAE,KAAK,CAAC,GAAW,EAAE,IAAI,CAAC,CAAC;IACtJ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,iBAAiB,CAAC,IAAU,EAAE,UAA+B,IAAI,GAAG,EAAE;IACpF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/B,IAAI,CAAC,CAAC,KAAK,MAAM;QACf,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK;QAC1C,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,QAAQ;YACzC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CACpF,CAAC;AACJ,CAAC;AAED,gHAAgH;AAChH,MAAM,cAAc,GAAG,CAAC,MAAiB,EAAE,IAAY,EAAW,EAAE,CACjE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAuD,EAAE,SAAS,EAAE,OAAO,KAAK,MAAM,CAAC;AAEnH,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAAC,MAAiB,EAAE,KAAqC;IACnF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,IAAyB,EAAW,EAAE;QACnD,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/G,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACnK,CAAC,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC5F,CAAC"}
|
package/dist/clock.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Violation } from "./invariants/types.js";
|
|
2
|
+
/** What a tick found: the day the rules are now judged on, and the problems the day turning made and mended. */
|
|
3
|
+
export interface Tick {
|
|
4
|
+
/** The day the store's rules are judged on from now (YYYY-MM-DD). */
|
|
5
|
+
readonly day: string;
|
|
6
|
+
/** The day they were judged on before, when the store knew one. */
|
|
7
|
+
readonly was?: string;
|
|
8
|
+
/** Problems that stand now and did not before. */
|
|
9
|
+
readonly appeared: readonly Violation[];
|
|
10
|
+
/** Problems that stood before and do not now. */
|
|
11
|
+
readonly cleared: readonly Violation[];
|
|
12
|
+
}
|
|
13
|
+
/** A moment, or a day, as the day the rule language reads as `today()`: the UTC date, as `isoToday` reads the clock. */
|
|
14
|
+
export declare function dayOf(now: Date | string | number): string;
|
|
15
|
+
/** How long from `now` until the day `today()` reads turns (the next midnight, UTC), in milliseconds. */
|
|
16
|
+
export declare function untilTheDayTurns(now?: Date | number): number;
|
|
17
|
+
/**
|
|
18
|
+
* TICKS A STORE AT EVERY TURN OF THE DAY, for as long as it is asked to:
|
|
19
|
+
* just after each midnight by the clock `today()` reads (UTC). Until the
|
|
20
|
+
* first, the store judges on the clock as it reads it, which is the same
|
|
21
|
+
* day. Answers the way to stop. The timer never holds a process open
|
|
22
|
+
* (`unref`). What `@graview/ship`'s `openStore` and `openRemote` do for
|
|
23
|
+
* the stores they open; a host that keeps a store some other way — a
|
|
24
|
+
* Durable Object, which sleeps through timers — calls `store.tick(now)`
|
|
25
|
+
* from its own alarm.
|
|
26
|
+
*/
|
|
27
|
+
export declare function tickEachDay(store: {
|
|
28
|
+
tick(now?: Date): Tick;
|
|
29
|
+
}, onTick?: (tick: Tick) => void): () => void;
|
|
30
|
+
//# sourceMappingURL=clock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQvD,gHAAgH;AAChH,MAAM,WAAW,IAAI;IACnB,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;CACxC;AAED,wHAAwH;AACxH,wBAAgB,KAAK,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAKzD;AAED,yGAAyG;AACzG,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,IAAI,GAAG,MAAmB,GAAG,MAAM,CAKxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAaxG"}
|
package/dist/clock.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** A moment, or a day, as the day the rule language reads as `today()`: the UTC date, as `isoToday` reads the clock. */
|
|
2
|
+
export function dayOf(now) {
|
|
3
|
+
if (typeof now === "string" && /^\d{4}-\d{2}-\d{2}$/.test(now))
|
|
4
|
+
return now;
|
|
5
|
+
const at = new Date(now);
|
|
6
|
+
if (Number.isNaN(at.getTime()))
|
|
7
|
+
throw new Error(`Not a day: ${String(now)}`);
|
|
8
|
+
return at.toISOString().slice(0, 10);
|
|
9
|
+
}
|
|
10
|
+
/** How long from `now` until the day `today()` reads turns (the next midnight, UTC), in milliseconds. */
|
|
11
|
+
export function untilTheDayTurns(now = Date.now()) {
|
|
12
|
+
const at = new Date(now).getTime();
|
|
13
|
+
const next = new Date(at);
|
|
14
|
+
next.setUTCHours(24, 0, 0, 0);
|
|
15
|
+
return next.getTime() - at;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* TICKS A STORE AT EVERY TURN OF THE DAY, for as long as it is asked to:
|
|
19
|
+
* just after each midnight by the clock `today()` reads (UTC). Until the
|
|
20
|
+
* first, the store judges on the clock as it reads it, which is the same
|
|
21
|
+
* day. Answers the way to stop. The timer never holds a process open
|
|
22
|
+
* (`unref`). What `@graview/ship`'s `openStore` and `openRemote` do for
|
|
23
|
+
* the stores they open; a host that keeps a store some other way — a
|
|
24
|
+
* Durable Object, which sleeps through timers — calls `store.tick(now)`
|
|
25
|
+
* from its own alarm.
|
|
26
|
+
*/
|
|
27
|
+
export function tickEachDay(store, onTick) {
|
|
28
|
+
let timer;
|
|
29
|
+
const wait = () => {
|
|
30
|
+
// A second past midnight: a timer that fires a hair early would tick to the day that is ending.
|
|
31
|
+
timer = setTimeout(() => {
|
|
32
|
+
const ticked = store.tick(new Date());
|
|
33
|
+
wait();
|
|
34
|
+
onTick?.(ticked);
|
|
35
|
+
}, untilTheDayTurns() + 1000);
|
|
36
|
+
timer.unref?.();
|
|
37
|
+
};
|
|
38
|
+
wait();
|
|
39
|
+
return () => clearTimeout(timer);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=clock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clock.js","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAoBA,wHAAwH;AACxH,MAAM,UAAU,KAAK,CAAC,GAA2B;IAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3E,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,gBAAgB,CAAC,MAAqB,IAAI,CAAC,GAAG,EAAE;IAC9D,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,KAAiC,EAAE,MAA6B;IAC1F,IAAI,KAAoC,CAAC;IACzC,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,gGAAgG;QAChG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7B,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9C,CAAC,CAAC;IACF,IAAI,EAAE,CAAC;IACP,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC"}
|
package/dist/columns.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"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"}
|
package/dist/columns.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { compileMutation } from "./mutations/define-mutation.js";
|
|
2
2
|
import { fieldsWrittenBy, subjectKindsOf } from "./mutations/derive-edits.js";
|
|
3
|
-
import { fieldWords
|
|
3
|
+
import { fieldWords } from "./schema/define-node.js";
|
|
4
|
+
import { valueWords } from "./schema/value-words.js";
|
|
4
5
|
import { defOf } from "./schema/zod.js";
|
|
5
6
|
/** A field's choices, in their declared order, and whether it may be left empty; undefined when it is not a choice. */
|
|
6
7
|
export function choiceOf(schema, kind, field) {
|
package/dist/columns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../src/columns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CAC1I;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,UAAU,CAAC;AAE9D,+IAA+I;AAC/I,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/conformance/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CAC1I;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,UAAU,CAAC;AAE9D,+IAA+I;AAC/I,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,YAAY,EA6D5C,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAAS,kBAAkB,EAmiDxC,CAAC"}
|