chaffjs 0.33.0 → 0.34.0
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/dist/api.d.ts +7 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/cli-text.d.ts.map +1 -1
- package/dist/cli-text.js +4 -2
- package/dist/cli-text.js.map +1 -1
- package/dist/commands/grade.d.ts.map +1 -1
- package/dist/commands/grade.js +66 -21
- package/dist/commands/grade.js.map +1 -1
- package/dist/company-kana-spelling.d.ts +6 -1
- package/dist/company-kana-spelling.d.ts.map +1 -1
- package/dist/company-kana-spelling.js +19 -2
- package/dist/company-kana-spelling.js.map +1 -1
- package/dist/company-name-ending.d.ts +7 -0
- package/dist/company-name-ending.d.ts.map +1 -0
- package/dist/company-name-ending.js +44 -0
- package/dist/company-name-ending.js.map +1 -0
- package/dist/company-names.d.ts +11 -3
- package/dist/company-names.d.ts.map +1 -1
- package/dist/company-names.js +27 -14
- package/dist/company-names.js.map +1 -1
- package/dist/custom/no-rewrite.d.ts +3 -0
- package/dist/custom/no-rewrite.d.ts.map +1 -0
- package/dist/custom/no-rewrite.js +3 -0
- package/dist/custom/no-rewrite.js.map +1 -0
- package/dist/custom/parse.d.ts.map +1 -1
- package/dist/custom/parse.js +14 -2
- package/dist/custom/parse.js.map +1 -1
- package/dist/detectors/age-words.d.ts +5 -0
- package/dist/detectors/age-words.d.ts.map +1 -0
- package/dist/detectors/age-words.js +8 -0
- package/dist/detectors/age-words.js.map +1 -0
- package/dist/detectors/annual-pay-mismatch.d.ts.map +1 -1
- package/dist/detectors/annual-pay-mismatch.js +2 -12
- package/dist/detectors/annual-pay-mismatch.js.map +1 -1
- package/dist/detectors/blank-structure.d.ts.map +1 -1
- package/dist/detectors/blank-structure.js +4 -3
- package/dist/detectors/blank-structure.js.map +1 -1
- package/dist/detectors/closing-balance-mismatch.d.ts.map +1 -1
- package/dist/detectors/closing-balance-mismatch.js +1 -0
- package/dist/detectors/closing-balance-mismatch.js.map +1 -1
- package/dist/detectors/code-fences.d.ts +5 -0
- package/dist/detectors/code-fences.d.ts.map +1 -1
- package/dist/detectors/code-fences.js +9 -0
- package/dist/detectors/code-fences.js.map +1 -1
- package/dist/detectors/condition-toki.d.ts +16 -0
- package/dist/detectors/condition-toki.d.ts.map +1 -0
- package/dist/detectors/condition-toki.js +42 -0
- package/dist/detectors/condition-toki.js.map +1 -0
- package/dist/detectors/conjugated-entry.d.ts +17 -0
- package/dist/detectors/conjugated-entry.d.ts.map +1 -0
- package/dist/detectors/conjugated-entry.js +50 -0
- package/dist/detectors/conjugated-entry.js.map +1 -0
- package/dist/detectors/content-morphemes.d.ts +2 -0
- package/dist/detectors/content-morphemes.d.ts.map +1 -1
- package/dist/detectors/content-morphemes.js +1 -1
- package/dist/detectors/content-morphemes.js.map +1 -1
- package/dist/detectors/cross-facts.d.ts.map +1 -1
- package/dist/detectors/cross-facts.js +2 -1
- package/dist/detectors/cross-facts.js.map +1 -1
- package/dist/detectors/custom.d.ts.map +1 -1
- package/dist/detectors/custom.js +8 -2
- package/dist/detectors/custom.js.map +1 -1
- package/dist/detectors/document-shape.d.ts.map +1 -1
- package/dist/detectors/document-shape.js +6 -0
- package/dist/detectors/document-shape.js.map +1 -1
- package/dist/detectors/due-date.d.ts.map +1 -1
- package/dist/detectors/due-date.js +12 -2
- package/dist/detectors/due-date.js.map +1 -1
- package/dist/detectors/fact-consistency.d.ts.map +1 -1
- package/dist/detectors/fact-consistency.js +12 -13
- package/dist/detectors/fact-consistency.js.map +1 -1
- package/dist/detectors/form-line.d.ts +9 -0
- package/dist/detectors/form-line.d.ts.map +1 -0
- package/dist/detectors/form-line.js +36 -0
- package/dist/detectors/form-line.js.map +1 -0
- package/dist/detectors/formula-amount.d.ts.map +1 -1
- package/dist/detectors/formula-amount.js +2 -12
- package/dist/detectors/formula-amount.js.map +1 -1
- package/dist/detectors/heading-claim.d.ts +14 -0
- package/dist/detectors/heading-claim.d.ts.map +1 -0
- package/dist/detectors/heading-claim.js +49 -0
- package/dist/detectors/heading-claim.js.map +1 -0
- package/dist/detectors/heading-echo.d.ts.map +1 -1
- package/dist/detectors/heading-echo.js +29 -1
- package/dist/detectors/heading-echo.js.map +1 -1
- package/dist/detectors/installment-total-mismatch.d.ts.map +1 -1
- package/dist/detectors/installment-total-mismatch.js +2 -12
- package/dist/detectors/installment-total-mismatch.js.map +1 -1
- package/dist/detectors/list-parallel.d.ts +5 -2
- package/dist/detectors/list-parallel.d.ts.map +1 -1
- package/dist/detectors/list-parallel.js +45 -7
- package/dist/detectors/list-parallel.js.map +1 -1
- package/dist/detectors/name-variant.d.ts.map +1 -1
- package/dist/detectors/name-variant.js +34 -7
- package/dist/detectors/name-variant.js.map +1 -1
- package/dist/detectors/number-unit.d.ts +10 -0
- package/dist/detectors/number-unit.d.ts.map +1 -1
- package/dist/detectors/number-unit.js +28 -8
- package/dist/detectors/number-unit.js.map +1 -1
- package/dist/detectors/orthography.d.ts.map +1 -1
- package/dist/detectors/orthography.js +16 -7
- package/dist/detectors/orthography.js.map +1 -1
- package/dist/detectors/per-unit-words.d.ts +7 -0
- package/dist/detectors/per-unit-words.d.ts.map +1 -0
- package/dist/detectors/per-unit-words.js +17 -0
- package/dist/detectors/per-unit-words.js.map +1 -0
- package/dist/detectors/period-multiple-mismatch.d.ts.map +1 -1
- package/dist/detectors/period-multiple-mismatch.js +2 -12
- package/dist/detectors/period-multiple-mismatch.js.map +1 -1
- package/dist/detectors/reference-number-variant.d.ts.map +1 -1
- package/dist/detectors/reference-number-variant.js +21 -3
- package/dist/detectors/reference-number-variant.js.map +1 -1
- package/dist/detectors/registry/condition-toki.d.ts +3 -0
- package/dist/detectors/registry/condition-toki.d.ts.map +1 -0
- package/dist/detectors/registry/condition-toki.js +3 -0
- package/dist/detectors/registry/condition-toki.js.map +1 -0
- package/dist/detectors/rent-multiple-mismatch.d.ts.map +1 -1
- package/dist/detectors/rent-multiple-mismatch.js +2 -12
- package/dist/detectors/rent-multiple-mismatch.js.map +1 -1
- package/dist/detectors/row-sentence-amounts.d.ts.map +1 -1
- package/dist/detectors/row-sentence-amounts.js +5 -10
- package/dist/detectors/row-sentence-amounts.js.map +1 -1
- package/dist/detectors/stated-amounts.d.ts +4 -0
- package/dist/detectors/stated-amounts.d.ts.map +1 -0
- package/dist/detectors/stated-amounts.js +12 -0
- package/dist/detectors/stated-amounts.js.map +1 -0
- package/dist/detectors/step-time-sum.d.ts.map +1 -1
- package/dist/detectors/step-time-sum.js +2 -1
- package/dist/detectors/step-time-sum.js.map +1 -1
- package/dist/detectors/structure-tree.d.ts.map +1 -1
- package/dist/detectors/structure-tree.js +3 -0
- package/dist/detectors/structure-tree.js.map +1 -1
- package/dist/detectors/team.d.ts.map +1 -1
- package/dist/detectors/team.js +10 -6
- package/dist/detectors/team.js.map +1 -1
- package/dist/detectors/time-order.d.ts.map +1 -1
- package/dist/detectors/time-order.js +17 -13
- package/dist/detectors/time-order.js.map +1 -1
- package/dist/detectors/unknown-word.d.ts +4 -1
- package/dist/detectors/unknown-word.d.ts.map +1 -1
- package/dist/detectors/unknown-word.js +18 -2
- package/dist/detectors/unknown-word.js.map +1 -1
- package/dist/detectors/use-interval.d.ts +1 -0
- package/dist/detectors/use-interval.d.ts.map +1 -1
- package/dist/detectors/use-interval.js +15 -10
- package/dist/detectors/use-interval.js.map +1 -1
- package/dist/detectors/use-maximum.d.ts.map +1 -1
- package/dist/detectors/use-maximum.js +3 -1
- package/dist/detectors/use-maximum.js.map +1 -1
- package/dist/extension/document-view.d.ts +2 -2
- package/dist/extension/document-view.d.ts.map +1 -1
- package/dist/extension/document-view.js +17 -8
- package/dist/extension/document-view.js.map +1 -1
- package/dist/extension/entry-genres.d.ts +5 -0
- package/dist/extension/entry-genres.d.ts.map +1 -0
- package/dist/extension/entry-genres.js +13 -0
- package/dist/extension/entry-genres.js.map +1 -0
- package/dist/extension/module-detector.d.ts.map +1 -1
- package/dist/extension/module-detector.js +4 -4
- package/dist/extension/module-detector.js.map +1 -1
- package/dist/extension/plugin-parse.d.ts +1 -1
- package/dist/extension/plugin-parse.d.ts.map +1 -1
- package/dist/extension/plugin-parse.js +24 -7
- package/dist/extension/plugin-parse.js.map +1 -1
- package/dist/extension/problem-text.d.ts.map +1 -1
- package/dist/extension/problem-text.js +2 -0
- package/dist/extension/problem-text.js.map +1 -1
- package/dist/facts/age-values.d.ts.map +1 -1
- package/dist/facts/age-values.js +20 -2
- package/dist/facts/age-values.js.map +1 -1
- package/dist/facts/column-units.d.ts +31 -0
- package/dist/facts/column-units.d.ts.map +1 -0
- package/dist/facts/column-units.js +37 -0
- package/dist/facts/column-units.js.map +1 -0
- package/dist/facts/fact-values.d.ts +4 -0
- package/dist/facts/fact-values.d.ts.map +1 -1
- package/dist/facts/fact-values.js +3 -1
- package/dist/facts/fact-values.js.map +1 -1
- package/dist/facts/labelled-facts.d.ts +10 -0
- package/dist/facts/labelled-facts.d.ts.map +1 -1
- package/dist/facts/labelled-facts.js +6 -1
- package/dist/facts/labelled-facts.js.map +1 -1
- package/dist/facts/per-unit.d.ts +36 -0
- package/dist/facts/per-unit.d.ts.map +1 -0
- package/dist/facts/per-unit.js +56 -0
- package/dist/facts/per-unit.js.map +1 -0
- package/dist/facts/row-sentence-amounts.d.ts +3 -12
- package/dist/facts/row-sentence-amounts.d.ts.map +1 -1
- package/dist/facts/row-sentence-amounts.js +1 -15
- package/dist/facts/row-sentence-amounts.js.map +1 -1
- package/dist/facts/table-facts.d.ts +1 -1
- package/dist/facts/table-facts.d.ts.map +1 -1
- package/dist/facts/table-facts.js +13 -9
- package/dist/facts/table-facts.js.map +1 -1
- package/dist/facts/term-values.d.ts +13 -1
- package/dist/facts/term-values.d.ts.map +1 -1
- package/dist/facts/term-values.js +71 -12
- package/dist/facts/term-values.js.map +1 -1
- package/dist/grade/baseline.d.ts +4 -2
- package/dist/grade/baseline.d.ts.map +1 -1
- package/dist/grade/baseline.js +13 -11
- package/dist/grade/baseline.js.map +1 -1
- package/dist/grade/expect-read.d.ts +16 -0
- package/dist/grade/expect-read.d.ts.map +1 -0
- package/dist/grade/expect-read.js +52 -0
- package/dist/grade/expect-read.js.map +1 -0
- package/dist/grade/expect.d.ts +50 -0
- package/dist/grade/expect.d.ts.map +1 -0
- package/dist/grade/expect.js +53 -0
- package/dist/grade/expect.js.map +1 -0
- package/dist/grade/grade-item.d.ts +1 -1
- package/dist/grade/grade-item.d.ts.map +1 -1
- package/dist/grade/grade-item.js +13 -3
- package/dist/grade/grade-item.js.map +1 -1
- package/dist/grade/item.d.ts +9 -1
- package/dist/grade/item.d.ts.map +1 -1
- package/dist/grade/item.js +32 -7
- package/dist/grade/item.js.map +1 -1
- package/dist/grade/result.d.ts +5 -0
- package/dist/grade/result.d.ts.map +1 -1
- package/dist/grade/results-read.d.ts.map +1 -1
- package/dist/grade/results-read.js +4 -2
- package/dist/grade/results-read.js.map +1 -1
- package/dist/grade/rubric-file.d.ts +23 -0
- package/dist/grade/rubric-file.d.ts.map +1 -0
- package/dist/grade/rubric-file.js +35 -0
- package/dist/grade/rubric-file.js.map +1 -0
- package/dist/grade/rubric.d.ts +2 -0
- package/dist/grade/rubric.d.ts.map +1 -1
- package/dist/grade/rubric.js +75 -47
- package/dist/grade/rubric.js.map +1 -1
- package/dist/grade/setup.d.ts +2 -1
- package/dist/grade/setup.d.ts.map +1 -1
- package/dist/grade/setup.js +2 -2
- package/dist/grade/setup.js.map +1 -1
- package/dist/grade/stamp.d.ts +2 -0
- package/dist/grade/stamp.d.ts.map +1 -1
- package/dist/grade/stamp.js +8 -2
- package/dist/grade/stamp.js.map +1 -1
- package/dist/grade/task-rubric.d.ts +16 -0
- package/dist/grade/task-rubric.d.ts.map +1 -0
- package/dist/grade/task-rubric.js +34 -0
- package/dist/grade/task-rubric.js.map +1 -0
- package/dist/grade/text.d.ts +5 -1
- package/dist/grade/text.d.ts.map +1 -1
- package/dist/grade/text.js +16 -4
- package/dist/grade/text.js.map +1 -1
- package/dist/name-char-reading.d.ts +5 -0
- package/dist/name-char-reading.d.ts.map +1 -1
- package/dist/name-char-reading.js +15 -0
- package/dist/name-char-reading.js.map +1 -1
- package/dist/name-end-letter.d.ts +19 -0
- package/dist/name-end-letter.d.ts.map +1 -0
- package/dist/name-end-letter.js +37 -0
- package/dist/name-end-letter.js.map +1 -0
- package/dist/name-neighbours.d.ts.map +1 -1
- package/dist/name-neighbours.js +2 -1
- package/dist/name-neighbours.js.map +1 -1
- package/dist/name-separator.d.ts +6 -0
- package/dist/name-separator.d.ts.map +1 -1
- package/dist/name-separator.js +29 -0
- package/dist/name-separator.js.map +1 -1
- package/dist/name-variants.d.ts +6 -3
- package/dist/name-variants.d.ts.map +1 -1
- package/dist/name-variants.js +37 -10
- package/dist/name-variants.js.map +1 -1
- package/dist/number-name.d.ts.map +1 -1
- package/dist/number-name.js +11 -2
- package/dist/number-name.js.map +1 -1
- package/dist/profile/cue-lines.d.ts +6 -0
- package/dist/profile/cue-lines.d.ts.map +1 -0
- package/dist/profile/cue-lines.js +13 -0
- package/dist/profile/cue-lines.js.map +1 -0
- package/dist/profile/parse.d.ts +1 -1
- package/dist/profile/parse.d.ts.map +1 -1
- package/dist/profile/parse.js +3 -2
- package/dist/profile/parse.js.map +1 -1
- package/dist/reference-numbers.d.ts +2 -0
- package/dist/reference-numbers.d.ts.map +1 -1
- package/dist/reference-numbers.js +1 -1
- package/dist/reference-numbers.js.map +1 -1
- package/dist/spaced-person-name.d.ts.map +1 -1
- package/dist/spaced-person-name.js +26 -1
- package/dist/spaced-person-name.js.map +1 -1
- package/dist/spacing-code.d.ts.map +1 -1
- package/dist/spacing-code.js +10 -1
- package/dist/spacing-code.js.map +1 -1
- package/dist/spacing-minority.d.ts +7 -0
- package/dist/spacing-minority.d.ts.map +1 -1
- package/dist/spacing-minority.js +14 -0
- package/dist/spacing-minority.js.map +1 -1
- package/dist/structure/closing-balance.d.ts +9 -0
- package/dist/structure/closing-balance.d.ts.map +1 -1
- package/dist/structure/closing-balance.js +34 -7
- package/dist/structure/closing-balance.js.map +1 -1
- package/dist/structure/definition-use.d.ts.map +1 -1
- package/dist/structure/definition-use.js +20 -1
- package/dist/structure/definition-use.js.map +1 -1
- package/dist/structure/document-context.d.ts +2 -0
- package/dist/structure/document-context.d.ts.map +1 -0
- package/dist/structure/document-context.js +42 -0
- package/dist/structure/document-context.js.map +1 -0
- package/dist/structure/fenced-lines.d.ts +7 -0
- package/dist/structure/fenced-lines.d.ts.map +1 -0
- package/dist/structure/fenced-lines.js +27 -0
- package/dist/structure/fenced-lines.js.map +1 -0
- package/dist/structure/labelled-date-order.d.ts +31 -9
- package/dist/structure/labelled-date-order.d.ts.map +1 -1
- package/dist/structure/labelled-date-order.js +60 -15
- package/dist/structure/labelled-date-order.js.map +1 -1
- package/dist/structure/labelled-order.d.ts +7 -1
- package/dist/structure/labelled-order.d.ts.map +1 -1
- package/dist/structure/labelled-order.js +10 -3
- package/dist/structure/labelled-order.js.map +1 -1
- package/dist/structure/line-amount-label.d.ts.map +1 -1
- package/dist/structure/line-amount-label.js +2 -1
- package/dist/structure/line-amount-label.js.map +1 -1
- package/dist/structure/line-amount.d.ts +0 -5
- package/dist/structure/line-amount.d.ts.map +1 -1
- package/dist/structure/line-amount.js +1 -10
- package/dist/structure/line-amount.js.map +1 -1
- package/dist/structure/prose-total.d.ts +8 -0
- package/dist/structure/prose-total.d.ts.map +1 -1
- package/dist/structure/prose-total.js +70 -2
- package/dist/structure/prose-total.js.map +1 -1
- package/dist/structure/runs.d.ts.map +1 -1
- package/dist/structure/runs.js +9 -1
- package/dist/structure/runs.js.map +1 -1
- package/dist/structure/signed-date-line.d.ts +15 -0
- package/dist/structure/signed-date-line.d.ts.map +1 -0
- package/dist/structure/signed-date-line.js +68 -0
- package/dist/structure/signed-date-line.js.map +1 -0
- package/dist/structure/tax.d.ts.map +1 -1
- package/dist/structure/tax.js +5 -3
- package/dist/structure/tax.js.map +1 -1
- package/dist/structure/total-line.d.ts.map +1 -1
- package/dist/structure/total-line.js +10 -6
- package/dist/structure/total-line.js.map +1 -1
- package/dist/structure/total.d.ts +2 -0
- package/dist/structure/total.d.ts.map +1 -1
- package/dist/structure/total.js +34 -3
- package/dist/structure/total.js.map +1 -1
- package/dist/subject-codes.d.ts +21 -0
- package/dist/subject-codes.d.ts.map +1 -0
- package/dist/subject-codes.js +79 -0
- package/dist/subject-codes.js.map +1 -0
- package/dist/unlabelled-references.d.ts +6 -2
- package/dist/unlabelled-references.d.ts.map +1 -1
- package/dist/unlabelled-references.js +11 -10
- package/dist/unlabelled-references.js.map +1 -1
- package/genres.yaml +17 -0
- package/package.json +3 -3
- package/profiles/listing.yaml +1 -1
- package/rules/closing-balance-mismatch.yaml +3 -3
- package/rules/due-before-issue.yaml +9 -5
- package/rules/fact-conflict.yaml +2 -2
- package/rules/heading-echo.yaml +2 -2
- package/rules/internal-jargon.yaml +2 -2
- package/rules/latin-spacing.yaml +4 -4
- package/rules/list-item-form-mix.yaml +1 -1
- package/rules/name-variant.yaml +5 -2
- package/rules/no-lead.yaml +2 -2
- package/rules/number-without-unit.yaml +2 -2
- package/rules/reference-number-variant.yaml +3 -3
- package/rules/toki-as-condition.yaml +71 -0
- package/rules/total-mismatch.yaml +4 -4
- package/rules/unknown-word.yaml +2 -2
- package/rules/use-before-definition.yaml +2 -2
- package/src/api.ts +11 -2
- package/src/cli-text.ts +4 -2
- package/src/commands/grade.ts +75 -23
- package/src/company-kana-spelling.ts +22 -2
- package/src/company-name-ending.ts +50 -0
- package/src/company-names.ts +52 -17
- package/src/custom/no-rewrite.ts +2 -0
- package/src/custom/parse.ts +18 -2
- package/src/detectors/age-words.ts +12 -0
- package/src/detectors/annual-pay-mismatch.ts +3 -18
- package/src/detectors/blank-structure.ts +4 -3
- package/src/detectors/closing-balance-mismatch.ts +1 -0
- package/src/detectors/code-fences.ts +10 -0
- package/src/detectors/condition-toki.ts +60 -0
- package/src/detectors/conjugated-entry.ts +53 -0
- package/src/detectors/content-morphemes.ts +2 -1
- package/src/detectors/cross-facts.ts +2 -1
- package/src/detectors/custom.ts +9 -2
- package/src/detectors/document-shape.ts +8 -0
- package/src/detectors/due-date.ts +17 -7
- package/src/detectors/fact-consistency.ts +13 -17
- package/src/detectors/form-line.ts +47 -0
- package/src/detectors/formula-amount.ts +2 -18
- package/src/detectors/heading-claim.ts +76 -0
- package/src/detectors/heading-echo.ts +32 -1
- package/src/detectors/installment-total-mismatch.ts +3 -18
- package/src/detectors/list-parallel.ts +46 -7
- package/src/detectors/name-variant.ts +45 -8
- package/src/detectors/number-unit.ts +35 -9
- package/src/detectors/orthography.ts +17 -8
- package/src/detectors/per-unit-words.ts +24 -0
- package/src/detectors/period-multiple-mismatch.ts +2 -18
- package/src/detectors/reference-number-variant.ts +27 -5
- package/src/detectors/registry/condition-toki.ts +4 -0
- package/src/detectors/rent-multiple-mismatch.ts +2 -18
- package/src/detectors/row-sentence-amounts.ts +5 -20
- package/src/detectors/stated-amounts.ts +20 -0
- package/src/detectors/step-time-sum.ts +2 -1
- package/src/detectors/structure-tree.ts +3 -0
- package/src/detectors/team.ts +13 -7
- package/src/detectors/time-order.ts +6 -3
- package/src/detectors/unknown-word.ts +20 -2
- package/src/detectors/use-interval.ts +8 -4
- package/src/detectors/use-maximum.ts +3 -1
- package/src/extension/document-view.ts +18 -9
- package/src/extension/entry-genres.ts +15 -0
- package/src/extension/module-detector.ts +9 -4
- package/src/extension/plugin-parse.ts +29 -7
- package/src/extension/problem-text.ts +4 -0
- package/src/facts/age-values.ts +24 -2
- package/src/facts/column-units.ts +67 -0
- package/src/facts/fact-values.ts +11 -1
- package/src/facts/labelled-facts.ts +16 -2
- package/src/facts/per-unit.ts +105 -0
- package/src/facts/row-sentence-amounts.ts +4 -26
- package/src/facts/table-facts.ts +7 -4
- package/src/facts/term-values.ts +94 -13
- package/src/grade/baseline.ts +20 -12
- package/src/grade/expect-read.ts +65 -0
- package/src/grade/expect.ts +74 -0
- package/src/grade/grade-item.ts +14 -3
- package/src/grade/item.ts +48 -8
- package/src/grade/result.ts +5 -0
- package/src/grade/results-read.ts +7 -2
- package/src/grade/rubric-file.ts +46 -0
- package/src/grade/rubric.ts +77 -47
- package/src/grade/setup.ts +3 -3
- package/src/grade/stamp.ts +10 -2
- package/src/grade/task-rubric.ts +39 -0
- package/src/grade/text.ts +27 -5
- package/src/name-char-reading.ts +16 -0
- package/src/name-end-letter.ts +52 -0
- package/src/name-neighbours.ts +2 -1
- package/src/name-separator.ts +32 -0
- package/src/name-variants.ts +54 -13
- package/src/number-name.ts +12 -3
- package/src/profile/cue-lines.ts +14 -0
- package/src/profile/parse.ts +3 -2
- package/src/reference-numbers.ts +1 -1
- package/src/spaced-person-name.ts +27 -2
- package/src/spacing-code.ts +13 -2
- package/src/spacing-minority.ts +17 -0
- package/src/structure/closing-balance.ts +46 -8
- package/src/structure/definition-use.ts +24 -1
- package/src/structure/document-context.ts +46 -0
- package/src/structure/fenced-lines.ts +28 -0
- package/src/structure/labelled-date-order.ts +105 -21
- package/src/structure/labelled-order.ts +21 -10
- package/src/structure/line-amount-label.ts +2 -1
- package/src/structure/line-amount.ts +1 -11
- package/src/structure/prose-total.ts +81 -2
- package/src/structure/runs.ts +10 -1
- package/src/structure/signed-date-line.ts +78 -0
- package/src/structure/tax.ts +6 -3
- package/src/structure/total-line.ts +12 -6
- package/src/structure/total.ts +42 -3
- package/src/subject-codes.ts +105 -0
- package/src/unlabelled-references.ts +24 -16
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-toki.d.ts","sourceRoot":"","sources":["../../../src/detectors/registry/condition-toki.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,eAAO,MAAM,QAAQ,EAAE,QAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-toki.js","sourceRoot":"","sources":["../../../src/detectors/registry/condition-toki.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,MAAM,QAAQ,GAAa,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rent-multiple-mismatch.d.ts","sourceRoot":"","sources":["../../src/detectors/rent-multiple-mismatch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"rent-multiple-mismatch.d.ts","sourceRoot":"","sources":["../../src/detectors/rent-multiple-mismatch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AA0BrE,eAAO,MAAM,oBAAoB,EAAE,QAUlC,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { rentMultipleMismatches } from "../structure/rent-multiple.js";
|
|
2
|
-
import { scaledAmountOf, scaleWordsOf } from "./amount-scale.js";
|
|
3
|
-
import { amountsIn, formsOf } from "./currency-notation.js";
|
|
4
2
|
import { proseAndTablesOf } from "../table-text.js";
|
|
5
3
|
import { quoteAround } from "./quote-around.js";
|
|
4
|
+
import { statedAmountsOf } from "./stated-amounts.js";
|
|
6
5
|
const patternsOf = (doc, lexicon, group) => (doc.lexicons[lexicon] ?? []).filter((entry) => group === undefined || entry.group === group).map((entry) => entry.pattern);
|
|
7
6
|
const numberWordsOf = (doc) => (doc.lexicons["number-word"] ?? []).flatMap((entry) => entry.group === "digit" && entry.weight !== undefined ? [{ word: entry.pattern, value: entry.weight }] : []);
|
|
8
7
|
const wordsOf = (doc) => ({
|
|
@@ -16,18 +15,9 @@ const wordsOf = (doc) => ({
|
|
|
16
15
|
connectors: [...patternsOf(doc, "range-connector"), ...patternsOf(doc, "amount-range-word")],
|
|
17
16
|
numberWords: numberWordsOf(doc),
|
|
18
17
|
});
|
|
19
|
-
const amountsOf = (text, doc) => {
|
|
20
|
-
const scales = scaleWordsOf(doc);
|
|
21
|
-
return amountsIn(text, formsOf(doc), scales.map((scale) => scale.word)).flatMap((amount) => {
|
|
22
|
-
const read = scaledAmountOf(text, amount, scales);
|
|
23
|
-
return read === undefined
|
|
24
|
-
? []
|
|
25
|
-
: [{ offset: read.offset, end: amount.offset + amount.written.length, currency: read.currency, value: read.value, scale: read.unit }];
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
18
|
export const rentMultipleMismatch = (doc) => {
|
|
29
19
|
const text = proseAndTablesOf(doc);
|
|
30
|
-
return rentMultipleMismatches(text,
|
|
20
|
+
return rentMultipleMismatches(text, statedAmountsOf(text, doc), wordsOf(doc)).map((issue) => ({
|
|
31
21
|
rule: "rent-multiple-mismatch",
|
|
32
22
|
severity: "warning",
|
|
33
23
|
line: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rent-multiple-mismatch.js","sourceRoot":"","sources":["../../src/detectors/rent-multiple-mismatch.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAA0B,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"rent-multiple-mismatch.js","sourceRoot":"","sources":["../../src/detectors/rent-multiple-mismatch.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAA0B,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,OAAe,EAAE,KAAc,EAAY,EAAE,CACnF,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAE9H,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAoC,EAAE,CAC7E,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACpD,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC5G,CAAC;AAEJ,MAAM,OAAO,GAAG,CAAC,GAAkB,EAAqB,EAAE,CAAC,CAAC;IAC1D,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC;IAC5C,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC;IAC1C,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACjD,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,oBAAoB,EAAE,OAAO,CAAC;IACtD,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC;IACpD,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,oBAAoB,EAAE,QAAQ,CAAC;IACxD,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC;IACpD,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC5F,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAa,CAAC,GAAG,EAAa,EAAE;IAC/D,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,sBAAsB,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5F,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACtC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;KAClD,CAAC,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row-sentence-amounts.d.ts","sourceRoot":"","sources":["../../src/detectors/row-sentence-amounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAiB,MAAM,cAAc,CAAC;AAI1E,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"row-sentence-amounts.d.ts","sourceRoot":"","sources":["../../src/detectors/row-sentence-amounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAiB,MAAM,cAAc,CAAC;AAI1E,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAuDtE,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,GAAI,KAAK,aAAa,EAAE,OAAO,SAAS,UAAU,EAAE,KAAG,OAAO,EAoB7F,CAAC"}
|
|
@@ -3,7 +3,8 @@ import { factValues } from "../facts/fact-values.js";
|
|
|
3
3
|
import { cellsOf, tablesOf } from "../facts/table-facts.js";
|
|
4
4
|
import { scopedFacts } from "../facts/fact-scope.js";
|
|
5
5
|
import { withoutEdgeMarks } from "../facts/trim-marks.js";
|
|
6
|
-
import {
|
|
6
|
+
import { rowSentenceConflicts } from "../facts/row-sentence-amounts.js";
|
|
7
|
+
import { perUnitsOf } from "./per-unit-words.js";
|
|
7
8
|
import { linesOf } from "../structure/lines.js";
|
|
8
9
|
import { quoteAt } from "./structure-tree.js";
|
|
9
10
|
const LETTER = /\p{L}/u;
|
|
@@ -32,17 +33,11 @@ const subjectWordsOf = (doc) => ({
|
|
|
32
33
|
determiners: patternsOf(doc, "fact-label-drop"),
|
|
33
34
|
conditions: patternsOf(doc, "fact-amount-condition"),
|
|
34
35
|
});
|
|
35
|
-
|
|
36
|
-
/** 金額: 通貨の語彙表の印を単位に書いた数量。前後に期間あたりの印があれば、その期間も。 */
|
|
36
|
+
/** 金額: 通貨の語彙表の印を単位に書いた数量。何あたりの金額(日額、1kmあたり)は、その単位も。 */
|
|
37
37
|
const amountsOf = (doc, tree) => {
|
|
38
38
|
const currencies = new Set(patternsOf(doc, "currency-notation").map((pattern) => pattern.normalize("NFKC")));
|
|
39
|
-
const
|
|
40
|
-
return
|
|
41
|
-
.filter((value) => value.kind === "quantity" && currencies.has(value.unit))
|
|
42
|
-
.map((value) => {
|
|
43
|
-
const period = periodOf(doc.source, value, marks);
|
|
44
|
-
return period === undefined ? value : { ...value, period };
|
|
45
|
-
});
|
|
39
|
+
const amounts = factValues(tree, doc.source, nameSpans(doc)).filter((value) => value.kind === "quantity" && currencies.has(value.unit));
|
|
40
|
+
return perUnitsOf(doc, amounts);
|
|
46
41
|
};
|
|
47
42
|
/** 表の行の金額と、その行の見出しを主語にした文の金額の食い違い。名前付きの値として読めた文の値は、ほかの読みが比べる。 */
|
|
48
43
|
export const rowSentenceFindings = (doc, facts) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row-sentence-amounts.js","sourceRoot":"","sources":["../../src/detectors/row-sentence-amounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAkB,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAmB,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"row-sentence-amounts.js","sourceRoot":"","sources":["../../src/detectors/row-sentence-amounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAkB,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAmB,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAwE,MAAM,kCAAkC,CAAC;AAC9I,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAa,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,MAAM,GAAG,QAAQ,CAAC;AAExB,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,EAAU,EAAY,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAExH,MAAM,MAAM,GAAG,CAAsB,IAAoC,EAAE,MAAoB,EAAO,EAAE,CACtG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/E,+CAA+C;AAC/C,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,IAAmB,EAAE,MAA4B,EAA+B,EAAE,CACtH,IAAI,GAAG,CACL,WAAW,CACT,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EACtD,IAAI,EACJ,GAAG,CAAC,MAAM,EACV,UAAU,CAAC,GAAG,EAAE,iBAAiB,CAAC,CACnC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAChD,CAAC;AAEJ,MAAM,SAAS,GAAG,CAAC,GAAS,EAAE,OAA0B,EAAE,MAAmC,EAAe,EAAE;IAC5G,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACrB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9F,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAkB,EAAE,OAA0B,EAAE,MAAmC,EAAqB,EAAE,CAClI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;IAC1B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;AACvH,CAAC,CAAC,CAAC;AAEL,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAgB,EAAE,CAAC,CAAC;IAC5D,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC7C,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAC/C,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACrD,CAAC,CAAC;AAEH,uDAAuD;AACvD,MAAM,SAAS,GAAG,CAAC,GAAkB,EAAE,IAAmB,EAAY,EAAE;IACtE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACxI,OAAO,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,iEAAiE;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAkB,EAAE,KAA4B,EAAa,EAAE;IACjG,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;IAC3B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,OAAO,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;SAC3F,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACrD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;QACvC,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE;KACzI,CAAC,CAAC,CAAC;AACR,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stated-amounts.d.ts","sourceRoot":"","sources":["../../src/detectors/stated-amounts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAIpE,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,KAAK,aAAa,KAAG,YAAY,EAY9E,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { scaledAmountOf, scaleWordsOf } from "./amount-scale.js";
|
|
2
|
+
import { amountsIn, formsOf } from "./currency-notation.js";
|
|
3
|
+
export const statedAmountsOf = (text, doc) => {
|
|
4
|
+
const scales = scaleWordsOf(doc);
|
|
5
|
+
return amountsIn(text, formsOf(doc), scales.map((scale) => scale.word)).flatMap((amount) => {
|
|
6
|
+
const read = scaledAmountOf(text, amount, scales);
|
|
7
|
+
return read === undefined
|
|
8
|
+
? []
|
|
9
|
+
: [{ offset: read.offset, end: amount.offset + amount.written.length, currency: read.currency, value: read.value, scale: read.unit }];
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=stated-amounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stated-amounts.js","sourceRoot":"","sources":["../../src/detectors/stated-amounts.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,GAAkB,EAAkB,EAAE;IAClF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,SAAS,CACd,IAAI,EACJ,OAAO,CAAC,GAAG,CAAC,EACZ,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAClC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,KAAK,SAAS;YACvB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1I,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-time-sum.d.ts","sourceRoot":"","sources":["../../src/detectors/step-time-sum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"step-time-sum.d.ts","sourceRoot":"","sources":["../../src/detectors/step-time-sum.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AA+BrE,eAAO,MAAM,mBAAmB,EAAE,QAkBjC,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// units, the total labels, the rough-figure marks and the marks of a time that is not a step's own come from the language packages.
|
|
3
3
|
import { stepTimeSlip } from "../structure/step-times.js";
|
|
4
4
|
import { quoteAt } from "./structure-tree.js";
|
|
5
|
+
import { withoutCodeBlocks } from "./code-fences.js";
|
|
5
6
|
const SECONDS_PER_HOUR = 3600;
|
|
6
7
|
const SECONDS_PER_MINUTE = 60;
|
|
7
8
|
const patternsOf = (doc, id) => (doc.lexicons[id] ?? []).map((entry) => entry.pattern);
|
|
@@ -24,7 +25,7 @@ const wordsOf = (doc) => {
|
|
|
24
25
|
};
|
|
25
26
|
};
|
|
26
27
|
export const stepTimeSumMismatch = (doc) => {
|
|
27
|
-
const slip = stepTimeSlip(doc.source, wordsOf(doc));
|
|
28
|
+
const slip = stepTimeSlip(withoutCodeBlocks(doc.source), wordsOf(doc));
|
|
28
29
|
if (slip === undefined)
|
|
29
30
|
return [];
|
|
30
31
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-time-sum.js","sourceRoot":"","sources":["../../src/detectors/step-time-sum.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,oIAAoI;AACpI,OAAO,EAAE,YAAY,EAAsB,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-time-sum.js","sourceRoot":"","sources":["../../src/detectors/step-time-sum.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,oIAAoI;AACpI,OAAO,EAAE,YAAY,EAAsB,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,EAAU,EAAY,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAExH,MAAM,OAAO,GAAG,CAAC,GAAkB,EAAE,EAAU,EAAU,EAAE,CACzD,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAEtH,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAE,OAAe,EAAY,EAAE,CACtE,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAE9G,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B,MAAM,OAAO,GAAG,CAAC,GAAkB,EAAiB,EAAE;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACjD,OAAO;QACL,OAAO,EAAE;YACP,SAAS,EAAE,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC;YAC/C,WAAW,EAAE,aAAa,CAAC,GAAG,EAAE,kBAAkB,CAAC;YACnD,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC;YACtC,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;SAC7C;QACD,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;QACvC,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,oBAAoB,CAAC;QAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC;QAC3D,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;KAC9F,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAa,CAAC,GAAG,EAAa,EAAE;IAC9D,MAAM,IAAI,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO;QACL;YACE,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5C,MAAM,EAAE;gBACN,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC3D,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;aACzB;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure-tree.d.ts","sourceRoot":"","sources":["../../src/detectors/structure-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,aAAa,EAAiB,MAAM,cAAc,CAAC;AAOpF,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAQrE,OAAO,EAAgD,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAY3G,qDAAqD;AACrD,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,QAAQ,MAAM,KAAG,MAMxD,CAAC;AAgBF,eAAO,MAAM,iBAAiB,EAAE,QAA+D,CAAC;AAuBhG;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,QAY1B,CAAC;AACF,eAAO,MAAM,mBAAmB,EAAE,QAAmE,CAAC;AAyCtG,eAAO,MAAM,mBAAmB,EAAE,QAgCjC,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,WAAW,GAAI,MAAM,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,KAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAC6B,CAAC;AAE3I,oDAAoD;AACpD,eAAO,MAAM,SAAS,EAAE,QAWf,CAAC;AAEV,0BAA0B;AAC1B,eAAO,MAAM,SAAS,GAAI,MAAM,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,KAAG,MAAM,EAG7E,CAAC;
|
|
1
|
+
{"version":3,"file":"structure-tree.d.ts","sourceRoot":"","sources":["../../src/detectors/structure-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,aAAa,EAAiB,MAAM,cAAc,CAAC;AAOpF,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAQrE,OAAO,EAAgD,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAY3G,qDAAqD;AACrD,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,QAAQ,MAAM,KAAG,MAMxD,CAAC;AAgBF,eAAO,MAAM,iBAAiB,EAAE,QAA+D,CAAC;AAuBhG;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,QAY1B,CAAC;AACF,eAAO,MAAM,mBAAmB,EAAE,QAAmE,CAAC;AAyCtG,eAAO,MAAM,mBAAmB,EAAE,QAgCjC,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,WAAW,GAAI,MAAM,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,KAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAC6B,CAAC;AAE3I,oDAAoD;AACpD,eAAO,MAAM,SAAS,EAAE,QAWf,CAAC;AAEV,0BAA0B;AAC1B,eAAO,MAAM,SAAS,GAAI,MAAM,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,KAAG,MAAM,EAG7E,CAAC;AA6FJ;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,QAUnB,CAAC;AAEV,eAAO,MAAM,YAAY,GAAI,KAAK,aAAa,KAAG,UAOhD,CAAC;AAaH,wGAAwG;AACxG,eAAO,MAAM,iBAAiB,EAAE,QAiB/B,CAAC;AA6BF,eAAO,MAAM,kBAAkB,EAAE,QAUxB,CAAC"}
|
|
@@ -202,6 +202,9 @@ const totalIssues = (doc, tree) => {
|
|
|
202
202
|
breakdowns: patternsOf(doc, "breakdown-phrase"),
|
|
203
203
|
discounts: patternsOf(doc, "discount-word"),
|
|
204
204
|
joiners: patternsOf(doc, "breakdown-gap-joiner"),
|
|
205
|
+
leads: patternsOf(doc, "total-breakdown-lead"),
|
|
206
|
+
partials: patternsOf(doc, "breakdown-partial-word"),
|
|
207
|
+
backReferences: patternsOf(doc, "total-back-reference"),
|
|
205
208
|
};
|
|
206
209
|
const prose = proseTotalMismatches(doc.source, doc.sentences.map((sentence) => sentence.span), amounts, phrases);
|
|
207
210
|
return [...lines, ...prose.filter((issue) => !lines.some((line) => line.offset === issue.offset))];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure-tree.js","sourceRoot":"","sources":["../../src/detectors/structure-tree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structure-tree.js","sourceRoot":"","sources":["../../src/detectors/structure-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/detectors/team.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/detectors/team.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAyB,aAAa,EAAyB,MAAM,cAAc,CAAC;AAuB1G,eAAO,MAAM,cAAc,EAAE,QAgB5B,CAAC;AAIF,wGAAwG;AACxG,eAAO,MAAM,eAAe,GAAI,KAAK,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,QAAQ,SAAS,MAAM,EAAE,KAAG,MAAM,EAGvG,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAkB9B,CAAC;AA8BF,eAAO,MAAM,iBAAiB,EAAE,QAgB/B,CAAC"}
|
package/dist/detectors/team.js
CHANGED
|
@@ -2,6 +2,7 @@ import { proseText } from "../measure.js";
|
|
|
2
2
|
import { joinWords } from "./word-list.js";
|
|
3
3
|
import { wordsOf } from "./structure.js";
|
|
4
4
|
import { nameSpans } from "../team-names.js";
|
|
5
|
+
import { conjugatedSpans } from "./conjugated-entry.js";
|
|
5
6
|
/**
|
|
6
7
|
* チームの言葉。社内でしか通じない語を、チームが chaff.yaml に自分で並べる。
|
|
7
8
|
*
|
|
@@ -10,19 +11,22 @@ import { nameSpans } from "../team-names.js";
|
|
|
10
11
|
*/
|
|
11
12
|
/**
|
|
12
13
|
* 表層でも原形でも当てる。利用者は辞書形で書く(「握る」)が、本文は活用している(「握った」)。
|
|
14
|
+
* 複合動詞(「巻き取る」)は語に割れるので、語の並びで原形に照らす(「巻き取ります」)。
|
|
13
15
|
* 品詞解析があれば原形で当たり、無くても表層で当たる。要求はしない。
|
|
14
16
|
*/
|
|
15
|
-
const matches = (sentence,
|
|
17
|
+
const matches = (sentence, entry) => {
|
|
16
18
|
// 大文字小文字は区別しない。英語の文頭の「Circle back」も「circle back」として当てる。
|
|
17
|
-
const wanted =
|
|
18
|
-
return sentence.text.toLowerCase().includes(wanted) ||
|
|
19
|
+
const wanted = entry.pattern.toLowerCase();
|
|
20
|
+
return (sentence.text.toLowerCase().includes(wanted) ||
|
|
21
|
+
(sentence.tokens ?? []).some((token) => token.lemma?.toLowerCase() === wanted) ||
|
|
22
|
+
conjugatedSpans(sentence, entry).length > 0);
|
|
19
23
|
};
|
|
20
24
|
export const internalJargon = (doc, options) => {
|
|
21
|
-
const
|
|
22
|
-
if (
|
|
25
|
+
const entries = options.lexicon ?? [];
|
|
26
|
+
if (entries.length === 0)
|
|
23
27
|
return [];
|
|
24
28
|
const hits = doc.sentences.flatMap((sentence) => {
|
|
25
|
-
const matched =
|
|
29
|
+
const matched = entries.find((entry) => matches(sentence, entry))?.pattern;
|
|
26
30
|
return matched === undefined ? [] : [{ sentence, matched }];
|
|
27
31
|
});
|
|
28
32
|
if (hits.length < options.limit)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/detectors/team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/detectors/team.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-order.d.ts","sourceRoot":"","sources":["../../src/detectors/time-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"time-order.d.ts","sourceRoot":"","sources":["../../src/detectors/time-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AAyErE,eAAO,MAAM,SAAS,EAAE,QAAiG,CAAC;AAC1H,eAAO,MAAM,sBAAsB,EAAE,QAA0E,CAAC;AAmBhH,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,EAAE,QAU9B,CAAC;AASH,eAAO,MAAM,mBAAmB,EAAE,QAWjC,CAAC"}
|
|
@@ -9,6 +9,7 @@ import { reversedTimeRanges } from "../structure/time-range.js";
|
|
|
9
9
|
import { cellMinutes, reversedShiftRows, showsOvernightWork } from "../structure/shift-times.js";
|
|
10
10
|
import { pairedTimesOutOfOrder } from "../structure/labelled-time-order.js";
|
|
11
11
|
import { quoteAt, rangeWordsOf } from "./structure-tree.js";
|
|
12
|
+
import { withoutCodeBlocks } from "./code-fences.js";
|
|
12
13
|
// 一日の予定の時刻の順番と、語の決まった二つの時刻の順番(time-order)、発より前の着(arrival-before-departure)、移動の時間より短い乗り継ぎ(connection-time-short)。時刻は compare/clock-time.ts が読み、
|
|
13
14
|
// 発着・翌日・時間帯の語は言語パッケージの語彙表(leg-mark、leg-column、day-shift-mark、time-zone、local-time-mark)から取る。
|
|
14
15
|
const marksOf = (doc, lexicon) => (doc.lexicons[lexicon] ?? []).map((entry) => ({ pattern: entry.pattern, position: entry.position, group: entry.group }));
|
|
@@ -30,19 +31,22 @@ const variantOf = (issue, variant) => {
|
|
|
30
31
|
return "first";
|
|
31
32
|
return "end_label" in issue.values ? "columns" : undefined;
|
|
32
33
|
};
|
|
33
|
-
/** 表と箇条書きを行のまま読むので、原文を渡す(doc.prose
|
|
34
|
-
const detectorOf = (rule, find, variant) => (doc) =>
|
|
35
|
-
const
|
|
36
|
-
return {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
})
|
|
34
|
+
/** 表と箇条書きを行のまま読むので、原文を渡す(doc.prose は表を覆う)。コードブロックは例なので覆う。 */
|
|
35
|
+
const detectorOf = (rule, find, variant) => (doc) => {
|
|
36
|
+
const source = withoutCodeBlocks(doc.source);
|
|
37
|
+
return find(source, timesOf(source), datesOf(doc), timeWordsOf(doc), doc).map((issue) => {
|
|
38
|
+
const named = variantOf(issue, variant);
|
|
39
|
+
return {
|
|
40
|
+
rule,
|
|
41
|
+
severity: "warning",
|
|
42
|
+
line: 0,
|
|
43
|
+
column: 0,
|
|
44
|
+
quote: quoteAt(doc.source, issue.offset),
|
|
45
|
+
values: { ...issue.values, offset: issue.offset },
|
|
46
|
+
...(named === undefined ? {} : { variant: named }),
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
};
|
|
46
50
|
const timeOrderInList = detectorOf("time-order", timeOrderBreaks);
|
|
47
51
|
/** 語の決まった二つの時刻(開場と開演)。語は語彙表 timed-pair-label から取る。 */
|
|
48
52
|
const timeOrderInPair = detectorOf("time-order", (source, times, dates, words, doc) => pairedTimesOutOfOrder({ source, times, dates, words }, doc.lexicons["timed-pair-label"] ?? []), "pair");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-order.js","sourceRoot":"","sources":["../../src/detectors/time-order.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,SAAS,EAA2D,MAAM,4BAA4B,CAAC;AAChH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAuC,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"time-order.js","sourceRoot":"","sources":["../../src/detectors/time-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { Detector } from "../plugin.ts";
|
|
2
|
+
/** 文書がコード(コードの区画と `…`)に書いた語。コードに書いた名前(`tidyq check` の tidyq)は、地の文でも打ち間違いではない。 */
|
|
3
|
+
export declare const codeWordsOf: (source: string) => Set<string>;
|
|
2
4
|
/**
|
|
3
5
|
* 辞書に無い英語の語で、一字違いの辞書の語があるもの(recieve → receive)。辞書は adapter が持ち、無い言語では動かない。
|
|
4
|
-
* 大文字を含む語(固有名詞・略語)、コード・URL
|
|
6
|
+
* 大文字を含む語(固有名詞・略語)、コード・URL の中、頭の字を分けた語の残り、二度以上使う語、言い直しの無い語、
|
|
7
|
+
* 文書がコードにも書いた語は言わない。
|
|
5
8
|
*/
|
|
6
9
|
export declare const unknownWord: Detector;
|
|
7
10
|
//# sourceMappingURL=unknown-word.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknown-word.d.ts","sourceRoot":"","sources":["../../src/detectors/unknown-word.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"unknown-word.d.ts","sourceRoot":"","sources":["../../src/detectors/unknown-word.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AA8BrE,iFAAiF;AACjF,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,GAAG,CAAC,MAAM,CAUtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,QAYzB,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { isKnownWord, isSplitWord, suggestionFor, wordsToCheck } from "../spelling.js";
|
|
2
|
+
import { parse } from "../markdown-read.js";
|
|
3
|
+
import { eachPreOrder } from "../tree-walk.js";
|
|
2
4
|
import { quoteAt } from "./structure-tree.js";
|
|
3
5
|
/** これより短い語は見ない。短い語は一字違いの語が多すぎて言い直しが決まらず(tost は test か toast か)、略した語(impl)も多い。 */
|
|
4
6
|
const MIN_LENGTH = 5;
|
|
@@ -17,15 +19,29 @@ const usedOnce = (words) => {
|
|
|
17
19
|
words.forEach(({ word }) => counts.set(word, (counts.get(word) ?? 0) + 1));
|
|
18
20
|
return words.filter(({ word }) => counts.get(word) === 1);
|
|
19
21
|
};
|
|
22
|
+
const LETTERS = /\p{L}+/gu;
|
|
23
|
+
/** 文書がコード(コードの区画と `…`)に書いた語。コードに書いた名前(`tidyq check` の tidyq)は、地の文でも打ち間違いではない。 */
|
|
24
|
+
export const codeWordsOf = (source) => {
|
|
25
|
+
const words = new Set();
|
|
26
|
+
eachPreOrder(parse(source), (node) => {
|
|
27
|
+
if (node.type === "code" || node.type === "inlineCode")
|
|
28
|
+
(node.value ?? "")
|
|
29
|
+
.toLowerCase()
|
|
30
|
+
.match(LETTERS)
|
|
31
|
+
?.forEach((word) => words.add(word));
|
|
32
|
+
});
|
|
33
|
+
return words;
|
|
34
|
+
};
|
|
20
35
|
/**
|
|
21
36
|
* 辞書に無い英語の語で、一字違いの辞書の語があるもの(recieve → receive)。辞書は adapter が持ち、無い言語では動かない。
|
|
22
|
-
* 大文字を含む語(固有名詞・略語)、コード・URL
|
|
37
|
+
* 大文字を含む語(固有名詞・略語)、コード・URL の中、頭の字を分けた語の残り、二度以上使う語、言い直しの無い語、
|
|
38
|
+
* 文書がコードにも書いた語は言わない。
|
|
23
39
|
*/
|
|
24
40
|
export const unknownWord = (doc) => {
|
|
25
41
|
if (doc.dictionary === undefined)
|
|
26
42
|
return [];
|
|
27
43
|
const speller = spellerOf(doc, doc.dictionary());
|
|
28
|
-
const known = new Set(patternsOf(doc, "known-misspelling"));
|
|
44
|
+
const known = new Set([...patternsOf(doc, "known-misspelling"), ...codeWordsOf(doc.source)]);
|
|
29
45
|
const words = wordsToCheck(doc.prose ?? doc.source, MIN_LENGTH, MAX_LENGTH).filter(({ offset }) => !isSplitWord(doc.source, offset));
|
|
30
46
|
const used = new Set(words.map(({ word }) => word).filter((word) => isKnownWord(word, speller)));
|
|
31
47
|
return usedOnce(words).flatMap(({ offset, word }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknown-word.js","sourceRoot":"","sources":["../../src/detectors/unknown-word.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAkC,MAAM,gBAAgB,CAAC;AACvH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,iFAAiF;AACjF,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,kEAAkE;AAClE,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,IAAY,EAAY,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAE1I,iFAAiF;AACjF,MAAM,SAAS,GAAG,CAAC,GAAkB,EAAE,UAA+B,EAAW,EAAE,CAAC,CAAC;IACnF,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACxH,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9H,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC;CACzC,CAAC,CAAC;AAEH,oDAAoD;AACpD,MAAM,QAAQ,GAAG,CAAC,KAA6B,EAAiB,EAAE;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"unknown-word.js","sourceRoot":"","sources":["../../src/detectors/unknown-word.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-interval.d.ts","sourceRoot":"","sources":["../../src/detectors/use-interval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAgC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"use-interval.d.ts","sourceRoot":"","sources":["../../src/detectors/use-interval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAgC,MAAM,cAAc,CAAC;AA0C3E,+BAA+B;AAC/B,eAAO,MAAM,qBAAqB,EAAE,QAWnC,CAAC"}
|
|
@@ -3,12 +3,13 @@ import { paragraphsOf } from "../derived/period-counts.js";
|
|
|
3
3
|
import { timeLengths } from "../derived/time-lengths.js";
|
|
4
4
|
import { limitWordsOf, marksOf, periodCountWordsOf } from "./use-count-words.js";
|
|
5
5
|
import { quoteAt } from "./structure-tree.js";
|
|
6
|
+
import { withoutCodeBlocks } from "./code-fences.js";
|
|
6
7
|
// 使う間隔の下限と期間あたりの回数の上限が両立しない、または表の回数と合わない(interval-count-mismatch)。
|
|
7
8
|
// 語は use-count-word と use-interval-word、長さの単位は unit-time から取る。
|
|
8
9
|
const SECONDS_PER_HOUR = 3600;
|
|
9
10
|
const SECONDS_PER_MINUTE = 60;
|
|
10
11
|
const patternsOf = (doc, lexicon, weight) => (doc.lexicons[lexicon] ?? []).filter((entry) => weight === undefined || entry.weight === weight).map((entry) => entry.pattern);
|
|
11
|
-
const lengthsOf = (doc) => timeLengths(
|
|
12
|
+
const lengthsOf = (doc, text) => timeLengths(text, {
|
|
12
13
|
hourUnits: patternsOf(doc, "unit-time", SECONDS_PER_HOUR),
|
|
13
14
|
minuteUnits: patternsOf(doc, "unit-time", SECONDS_PER_MINUTE),
|
|
14
15
|
halves: patternsOf(doc, "length-half"),
|
|
@@ -27,13 +28,17 @@ const written = (doc, span) => doc.source.slice(span.start, span.end);
|
|
|
27
28
|
const valuesOf = (doc, mismatch) => mismatch.kind === "interval"
|
|
28
29
|
? { count: written(doc, mismatch.count), interval: written(doc, mismatch.interval), needed: mismatch.neededHours, hours: mismatch.count.hours }
|
|
29
30
|
: { count: written(doc, mismatch.count), column: mismatch.column, table: mismatch.tableCount };
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
/** コードブロックの中の用法は例なので、覆って読む。 */
|
|
32
|
+
export const intervalCountMismatch = (doc) => {
|
|
33
|
+
const text = withoutCodeBlocks(doc.source);
|
|
34
|
+
return intervalCountMismatches(text, paragraphsOf(text), lengthsOf(doc, text), wordsOf(doc)).map((mismatch) => ({
|
|
35
|
+
rule: "interval-count-mismatch",
|
|
36
|
+
severity: "warning",
|
|
37
|
+
line: 0,
|
|
38
|
+
column: 0,
|
|
39
|
+
quote: quoteAt(doc.source, mismatch.count.start),
|
|
40
|
+
values: { ...valuesOf(doc, mismatch), offset: mismatch.count.start },
|
|
41
|
+
...(mismatch.kind === "table" ? { variant: "table" } : {}),
|
|
42
|
+
}));
|
|
43
|
+
};
|
|
39
44
|
//# sourceMappingURL=use-interval.js.map
|