chaffjs 0.29.0 → 0.30.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.
Files changed (198) hide show
  1. package/dist/derived/session-hours.d.ts +26 -0
  2. package/dist/derived/session-hours.d.ts.map +1 -0
  3. package/dist/derived/session-hours.js +29 -0
  4. package/dist/derived/session-hours.js.map +1 -0
  5. package/dist/derived/time-lengths.d.ts +37 -0
  6. package/dist/derived/time-lengths.d.ts.map +1 -0
  7. package/dist/derived/time-lengths.js +168 -0
  8. package/dist/derived/time-lengths.js.map +1 -0
  9. package/dist/derived/unit-counts.d.ts +7 -0
  10. package/dist/derived/unit-counts.d.ts.map +1 -0
  11. package/dist/derived/unit-counts.js +13 -0
  12. package/dist/derived/unit-counts.js.map +1 -0
  13. package/dist/derived/working-hours.d.ts +36 -0
  14. package/dist/derived/working-hours.d.ts.map +1 -0
  15. package/dist/derived/working-hours.js +55 -0
  16. package/dist/derived/working-hours.js.map +1 -0
  17. package/dist/detectors/acronym-expansion.d.ts +1 -1
  18. package/dist/detectors/acronym-expansion.d.ts.map +1 -1
  19. package/dist/detectors/acronym-expansion.js +46 -2
  20. package/dist/detectors/acronym-expansion.js.map +1 -1
  21. package/dist/detectors/capitalised-term.d.ts +44 -0
  22. package/dist/detectors/capitalised-term.d.ts.map +1 -0
  23. package/dist/detectors/capitalised-term.js +101 -0
  24. package/dist/detectors/capitalised-term.js.map +1 -0
  25. package/dist/detectors/date-outside-period.d.ts.map +1 -1
  26. package/dist/detectors/date-outside-period.js +4 -1
  27. package/dist/detectors/date-outside-period.js.map +1 -1
  28. package/dist/detectors/derived-numbers.d.ts +2 -0
  29. package/dist/detectors/derived-numbers.d.ts.map +1 -1
  30. package/dist/detectors/derived-numbers.js +72 -18
  31. package/dist/detectors/derived-numbers.js.map +1 -1
  32. package/dist/detectors/name-variant.d.ts.map +1 -1
  33. package/dist/detectors/name-variant.js +57 -10
  34. package/dist/detectors/name-variant.js.map +1 -1
  35. package/dist/detectors/party-order.d.ts +3 -0
  36. package/dist/detectors/party-order.d.ts.map +1 -0
  37. package/dist/detectors/party-order.js +46 -0
  38. package/dist/detectors/party-order.js.map +1 -0
  39. package/dist/detectors/registry/connection-time-short.d.ts +3 -0
  40. package/dist/detectors/registry/connection-time-short.d.ts.map +1 -0
  41. package/dist/detectors/registry/connection-time-short.js +3 -0
  42. package/dist/detectors/registry/connection-time-short.js.map +1 -0
  43. package/dist/detectors/registry/duration-product-mismatch.d.ts +3 -0
  44. package/dist/detectors/registry/duration-product-mismatch.d.ts.map +1 -0
  45. package/dist/detectors/registry/duration-product-mismatch.js +3 -0
  46. package/dist/detectors/registry/duration-product-mismatch.js.map +1 -0
  47. package/dist/detectors/registry/party-order.d.ts +3 -0
  48. package/dist/detectors/registry/party-order.d.ts.map +1 -0
  49. package/dist/detectors/registry/party-order.js +3 -0
  50. package/dist/detectors/registry/party-order.js.map +1 -0
  51. package/dist/detectors/registry/requirement-lists.d.ts +3 -0
  52. package/dist/detectors/registry/requirement-lists.d.ts.map +1 -0
  53. package/dist/detectors/registry/requirement-lists.js +3 -0
  54. package/dist/detectors/registry/requirement-lists.js.map +1 -0
  55. package/dist/detectors/registry/return-type.d.ts +3 -0
  56. package/dist/detectors/registry/return-type.d.ts.map +1 -0
  57. package/dist/detectors/registry/return-type.js +3 -0
  58. package/dist/detectors/registry/return-type.js.map +1 -0
  59. package/dist/detectors/requirement-lists.d.ts +3 -0
  60. package/dist/detectors/requirement-lists.d.ts.map +1 -0
  61. package/dist/detectors/requirement-lists.js +46 -0
  62. package/dist/detectors/requirement-lists.js.map +1 -0
  63. package/dist/detectors/return-type.d.ts +3 -0
  64. package/dist/detectors/return-type.d.ts.map +1 -0
  65. package/dist/detectors/return-type.js +24 -0
  66. package/dist/detectors/return-type.js.map +1 -0
  67. package/dist/detectors/structure-tree.d.ts.map +1 -1
  68. package/dist/detectors/structure-tree.js +9 -1
  69. package/dist/detectors/structure-tree.js.map +1 -1
  70. package/dist/detectors/time-order.d.ts +1 -0
  71. package/dist/detectors/time-order.d.ts.map +1 -1
  72. package/dist/detectors/time-order.js +30 -4
  73. package/dist/detectors/time-order.js.map +1 -1
  74. package/dist/detectors/undefined-term.d.ts.map +1 -1
  75. package/dist/detectors/undefined-term.js +19 -3
  76. package/dist/detectors/undefined-term.js.map +1 -1
  77. package/dist/document.d.ts.map +1 -1
  78. package/dist/document.js +4 -1
  79. package/dist/document.js.map +1 -1
  80. package/dist/facts/table-facts.d.ts +2 -0
  81. package/dist/facts/table-facts.d.ts.map +1 -1
  82. package/dist/facts/table-facts.js +2 -0
  83. package/dist/facts/table-facts.js.map +1 -1
  84. package/dist/name-variants.d.ts +6 -1
  85. package/dist/name-variants.d.ts.map +1 -1
  86. package/dist/name-variants.js +68 -0
  87. package/dist/name-variants.js.map +1 -1
  88. package/dist/name-word-order.d.ts +49 -0
  89. package/dist/name-word-order.d.ts.map +1 -0
  90. package/dist/name-word-order.js +114 -0
  91. package/dist/name-word-order.js.map +1 -0
  92. package/dist/plugin.d.ts +7 -0
  93. package/dist/plugin.d.ts.map +1 -1
  94. package/dist/return-type.d.ts +33 -0
  95. package/dist/return-type.d.ts.map +1 -0
  96. package/dist/return-type.js +302 -0
  97. package/dist/return-type.js.map +1 -0
  98. package/dist/structure/connection-times.d.ts +56 -0
  99. package/dist/structure/connection-times.d.ts.map +1 -0
  100. package/dist/structure/connection-times.js +165 -0
  101. package/dist/structure/connection-times.js.map +1 -0
  102. package/dist/structure/date-order-tie.d.ts +13 -0
  103. package/dist/structure/date-order-tie.d.ts.map +1 -0
  104. package/dist/structure/date-order-tie.js +61 -0
  105. package/dist/structure/date-order-tie.js.map +1 -0
  106. package/dist/structure/date-order.d.ts +2 -2
  107. package/dist/structure/date-order.d.ts.map +1 -1
  108. package/dist/structure/date-order.js +26 -9
  109. package/dist/structure/date-order.js.map +1 -1
  110. package/dist/structure/date-outside-period.d.ts +6 -0
  111. package/dist/structure/date-outside-period.d.ts.map +1 -1
  112. package/dist/structure/date-outside-period.js +49 -3
  113. package/dist/structure/date-outside-period.js.map +1 -1
  114. package/dist/structure/date-range.d.ts +5 -2
  115. package/dist/structure/date-range.d.ts.map +1 -1
  116. package/dist/structure/date-range.js +37 -9
  117. package/dist/structure/date-range.js.map +1 -1
  118. package/dist/structure/leg-times.d.ts +2 -0
  119. package/dist/structure/leg-times.d.ts.map +1 -1
  120. package/dist/structure/leg-times.js +13 -0
  121. package/dist/structure/leg-times.js.map +1 -1
  122. package/dist/structure/party-order.d.ts +33 -0
  123. package/dist/structure/party-order.d.ts.map +1 -0
  124. package/dist/structure/party-order.js +79 -0
  125. package/dist/structure/party-order.js.map +1 -0
  126. package/dist/structure/requirement-lists.d.ts +37 -0
  127. package/dist/structure/requirement-lists.d.ts.map +1 -0
  128. package/dist/structure/requirement-lists.js +89 -0
  129. package/dist/structure/requirement-lists.js.map +1 -0
  130. package/dist/structure/time-order.d.ts +21 -0
  131. package/dist/structure/time-order.d.ts.map +1 -1
  132. package/dist/structure/time-order.js +5 -6
  133. package/dist/structure/time-order.js.map +1 -1
  134. package/dist/structure/version-order.d.ts +2 -0
  135. package/dist/structure/version-order.d.ts.map +1 -1
  136. package/dist/structure/version-order.js +10 -0
  137. package/dist/structure/version-order.js.map +1 -1
  138. package/dist/surname-near.d.ts +6 -0
  139. package/dist/surname-near.d.ts.map +1 -0
  140. package/dist/surname-near.js +31 -0
  141. package/dist/surname-near.js.map +1 -0
  142. package/dist/table-cells.d.ts +13 -0
  143. package/dist/table-cells.d.ts.map +1 -0
  144. package/dist/table-cells.js +36 -0
  145. package/dist/table-cells.js.map +1 -0
  146. package/dist/table-names.d.ts +42 -0
  147. package/dist/table-names.d.ts.map +1 -0
  148. package/dist/table-names.js +94 -0
  149. package/dist/table-names.js.map +1 -0
  150. package/package.json +3 -3
  151. package/rules/connection-time-short.yaml +52 -0
  152. package/rules/date-outside-period.yaml +4 -4
  153. package/rules/duration-mismatch.yaml +7 -4
  154. package/rules/duration-product-mismatch.yaml +73 -0
  155. package/rules/name-variant.yaml +8 -2
  156. package/rules/party-order.yaml +84 -0
  157. package/rules/required-listed-as-preferred.yaml +102 -0
  158. package/rules/return-type-mismatch.yaml +79 -0
  159. package/rules/undefined-term.yaml +21 -7
  160. package/src/derived/session-hours.ts +62 -0
  161. package/src/derived/time-lengths.ts +226 -0
  162. package/src/derived/unit-counts.ts +18 -0
  163. package/src/derived/working-hours.ts +97 -0
  164. package/src/detectors/acronym-expansion.ts +57 -2
  165. package/src/detectors/capitalised-term.ts +147 -0
  166. package/src/detectors/date-outside-period.ts +4 -1
  167. package/src/detectors/derived-numbers.ts +94 -21
  168. package/src/detectors/name-variant.ts +71 -13
  169. package/src/detectors/party-order.ts +50 -0
  170. package/src/detectors/registry/connection-time-short.ts +4 -0
  171. package/src/detectors/registry/duration-product-mismatch.ts +4 -0
  172. package/src/detectors/registry/party-order.ts +4 -0
  173. package/src/detectors/registry/requirement-lists.ts +4 -0
  174. package/src/detectors/registry/return-type.ts +4 -0
  175. package/src/detectors/requirement-lists.ts +65 -0
  176. package/src/detectors/return-type.ts +30 -0
  177. package/src/detectors/structure-tree.ts +12 -1
  178. package/src/detectors/time-order.ts +40 -5
  179. package/src/detectors/undefined-term.ts +20 -3
  180. package/src/document.ts +4 -1
  181. package/src/facts/table-facts.ts +3 -0
  182. package/src/name-variants.ts +76 -1
  183. package/src/name-word-order.ts +149 -0
  184. package/src/plugin.ts +5 -0
  185. package/src/return-type.ts +361 -0
  186. package/src/structure/connection-times.ts +226 -0
  187. package/src/structure/date-order-tie.ts +86 -0
  188. package/src/structure/date-order.ts +41 -14
  189. package/src/structure/date-outside-period.ts +72 -7
  190. package/src/structure/date-range.ts +45 -9
  191. package/src/structure/leg-times.ts +15 -0
  192. package/src/structure/party-order.ts +115 -0
  193. package/src/structure/requirement-lists.ts +145 -0
  194. package/src/structure/time-order.ts +8 -7
  195. package/src/structure/version-order.ts +10 -0
  196. package/src/surname-near.ts +31 -0
  197. package/src/table-cells.ts +41 -0
  198. package/src/table-names.ts +113 -0
@@ -0,0 +1,44 @@
1
+ import type { Span, Token } from "../plugin.ts";
2
+ export type CapitalisedTerm = {
3
+ readonly offset: number;
4
+ readonly term: string;
5
+ };
6
+ /** The word lists the decision reads, matched as written. */
7
+ export type CapitalisedWords = {
8
+ /** A run holding one of these is a name (Act, Policy, Inc, California, Monday, Supplier), not a term. */
9
+ readonly names: readonly string[];
10
+ /** A run opening with one of these points at a part of the document (Section 4, Schedule A). */
11
+ readonly divisions: readonly string[];
12
+ /** Small words inside one name (Statement of Work, Trials and Betas). */
13
+ readonly joiners: readonly string[];
14
+ };
15
+ /** A term the document defines; bare is a definition with no defining word (("GPC")), which names more than it defines. */
16
+ export type Defined = {
17
+ readonly term: string;
18
+ readonly bare?: boolean;
19
+ };
20
+ export type CapitalisedInput = {
21
+ readonly source: string;
22
+ /** The text a reader sees (the source without link destinations): where a lower-case use counts. */
23
+ readonly readable: string;
24
+ readonly sentences: readonly (readonly Token[])[];
25
+ readonly defined: readonly Defined[];
26
+ /** Words set in quotes or bold anywhere ("Account" represents …, **Security Measures**): named on purpose. */
27
+ readonly named: readonly string[];
28
+ /** Spans set apart by markup: headings, links, bold, HTML elements, table rows, list items' labels. */
29
+ readonly marked: readonly Span[];
30
+ readonly words: CapitalisedWords;
31
+ };
32
+ /**
33
+ * The first use of each capitalised run used inside a sentence like a defined term that names nothing the language
34
+ * package lists, is not set apart by markup, is never written in lower case, and neither is nor holds a defined or named
35
+ * term in any case.
36
+ */
37
+ export declare const capitalisedTerms: (input: CapitalisedInput) => CapitalisedTerm[];
38
+ /** Bold, HTML elements, table rows and list items' labels in a Markdown source: labels and cells, not running text. */
39
+ export declare const setApartSpans: (source: string) => Span[];
40
+ /** The source with link destinations and URLs blanked: the words a reader sees. */
41
+ export declare const readableText: (source: string) => string;
42
+ /** The words set in quotes or bold anywhere in a source, without the emphasis marks. */
43
+ export declare const namedWords: (source: string) => string[];
44
+ //# sourceMappingURL=capitalised-term.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capitalised-term.d.ts","sourceRoot":"","sources":["../../src/detectors/capitalised-term.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,yGAAyG;IACzG,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,gGAAgG;IAChG,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,2HAA2H;AAC3H,MAAM,MAAM,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oGAAoG;IACpG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,8GAA8G;IAC9G,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,uGAAuG;IACvG,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;CAClC,CAAC;AAoEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,gBAAgB,KAAG,eAAe,EAkBzE,CAAC;AAWF,uHAAuH;AACvH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,IAAI,EAAgG,CAAC;AAIpJ,mFAAmF;AACnF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MAA8F,CAAC;AAE7I,wFAAwF;AACxF,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,KAAG,MAAM,EAC+F,CAAC"}
@@ -0,0 +1,101 @@
1
+ // A term written like the document's defined terms, capitalised inside a sentence (its Affiliates, disclose Proprietary
2
+ // Data), that the document defines nowhere. Read only where the document defines its terms with a defining word
3
+ // (MIN_DEFINED of them: "X" means, (the "X")). A capitalised run is also the name of a law, a body, a place, a party or a
4
+ // part of the document, so every name the language package lists is left, and so is every run set apart by markup (a
5
+ // heading, a link, bold, an HTML element, a table row, a list item's label). Pure.
6
+ import { escapeRegExp } from "../orthography.js";
7
+ /** Fewer definitions than this, and capitals are the document's style, not its way of naming terms. */
8
+ const MIN_DEFINED = 2;
9
+ const CAPITALISED = /^\p{Lu}\p{Ll}+(?:['’]\p{Ll}+)?$/u;
10
+ const ACRONYM = /^\p{Lu}{2,}$/u;
11
+ const DEFINED_FORM = /^\p{Lu}/u;
12
+ const LOWER_WORD = /^\p{Ll}+$/u;
13
+ const HYPHEN = "-";
14
+ const isCapitalised = (token) => token !== undefined && CAPITALISED.test(token.surface);
15
+ /** A word that carries a run on once it has started: a capitalised word or an acronym (Commercial AI System). */
16
+ const continues = (token) => isCapitalised(token) || (token !== undefined && ACRONYM.test(token.surface));
17
+ const adjacent = (left, right) => right.span.start - left.span.end <= 1;
18
+ const touching = (left, right) => right.span.start === left.span.end;
19
+ /** The forms one term is written in: lower case, its last word as written and singular (Policies, Policy; Viruses, Virus). */
20
+ const formsOf = (term) => {
21
+ const words = term.toLowerCase().split(/[\s-]+/u);
22
+ const head = words.slice(0, -1).join(" ");
23
+ const last = words.at(-1) ?? "";
24
+ const lasts = [last, last.replace(/ies$/u, "y"), last.replace(/es$/u, ""), last.replace(/(?<!s)s$/u, "")];
25
+ return lasts.map((form) => (head === "" ? form : `${head} ${form}`));
26
+ };
27
+ /** How many tokens the capitalised run starting at index takes: words that continue it, and a joiner or hyphen between two. */
28
+ const runLength = (tokens, index, joiners) => {
29
+ const word = tokens[index];
30
+ const next = tokens[index + 1];
31
+ const after = tokens[index + 2];
32
+ if (next === undefined || word === undefined || !adjacent(word, next))
33
+ return 1;
34
+ if (continues(next))
35
+ return 1 + runLength(tokens, index + 1, joiners);
36
+ const hyphened = next.surface === HYPHEN && touching(word, next) && after !== undefined && touching(next, after);
37
+ const joined = hyphened || (joiners.has(next.surface) && after !== undefined && adjacent(next, after));
38
+ return joined && continues(after) ? 2 + runLength(tokens, index + 2, joiners) : 1;
39
+ };
40
+ /** The capitalised runs of one sentence, as [start, end) token indexes; a run never starts inside the one before. */
41
+ const runsOf = (tokens, joiners) => tokens.reduce((runs, token, index) => {
42
+ if ((runs.at(-1)?.end ?? 0) > index || !isCapitalised(token))
43
+ return runs;
44
+ return [...runs, { start: index, end: index + runLength(tokens, index, joiners) }];
45
+ }, []);
46
+ const inside = (offset, spans) => spans.some((span) => span.start <= offset && offset < span.end);
47
+ /** Used like a defined term: after a lower-case word, and not a modifier of a lower-case noun after it (the Premium plan). */
48
+ const placedLikeATerm = (before, after) => before !== undefined && LOWER_WORD.test(before.surface) && !(after !== undefined && after.pos === "NOUN" && LOWER_WORD.test(after.surface));
49
+ /** Every run of whole words in a term (GitHub Service: GitHub, Service, GitHub Service). */
50
+ const partsOf = (term) => {
51
+ const words = term.split(/\s+/u);
52
+ return words.flatMap((_, start) => words.slice(start).map((__, length) => words.slice(start, start + length + 1).join(" ")));
53
+ };
54
+ /** The text also writes the term in lower case (your account, account settings): an ordinary word, or a screen's label. */
55
+ const writtenInLowerCase = (text, term) => {
56
+ const words = term
57
+ .toLowerCase()
58
+ .split(/[\s-]+/u)
59
+ .map(escapeRegExp)
60
+ .join(String.raw `[\s-]+`);
61
+ return new RegExp(String.raw `(?<!\p{L})${words}(?:e?s)?(?!\p{L})`, "u").test(text);
62
+ };
63
+ /**
64
+ * The first use of each capitalised run used inside a sentence like a defined term that names nothing the language
65
+ * package lists, is not set apart by markup, is never written in lower case, and neither is nor holds a defined or named
66
+ * term in any case.
67
+ */
68
+ export const capitalisedTerms = (input) => {
69
+ const defining = input.defined.filter((definition) => definition.bare !== true && DEFINED_FORM.test(definition.term));
70
+ if (defining.length < MIN_DEFINED)
71
+ return [];
72
+ const joiners = new Set(input.words.joiners);
73
+ const divisions = new Set(input.words.divisions.flatMap(formsOf));
74
+ const known = new Set([...input.defined.map((definition) => definition.term), ...input.named, ...input.words.names].flatMap(formsOf));
75
+ const isKnown = (term) => partsOf(term).some((part) => formsOf(part).some((form) => known.has(form)));
76
+ const uses = input.sentences.flatMap((tokens) => runsOf(tokens, joiners).flatMap(({ start, end }) => {
77
+ const first = tokens[start];
78
+ const last = tokens[end - 1];
79
+ if (first === undefined || last === undefined || !placedLikeATerm(tokens[start - 1], tokens[end]))
80
+ return [];
81
+ if (inside(first.span.start, input.marked) || formsOf(first.surface).some((form) => divisions.has(form)))
82
+ return [];
83
+ const term = input.source.slice(first.span.start, last.span.end);
84
+ return isKnown(term) || writtenInLowerCase(input.readable, term) ? [] : [{ offset: first.span.start, term }];
85
+ }));
86
+ return uses.filter((use, index) => uses.findIndex((other) => formsOf(other.term).some((form) => formsOf(use.term).includes(form))) === index);
87
+ };
88
+ const BOLD = /\*\*([^*\n]+)\*\*|__([^_\n]+)__/gu;
89
+ const QUOTED = /["“]([^"“”\n]{1,80}?)[,.]?["”]/gu;
90
+ const HTML_ELEMENT = /<([a-z][a-z0-9]*)\b[^>]*>[^<]*<\/\1>/giu;
91
+ const TABLE_ROW = /^[ \t]*\|.*$/gmu;
92
+ const ITEM_LABEL = /^[ \t]*(?:[*+-]|\d+[.)])[ \t]+[^:\n]{1,80}:/gmu;
93
+ const spansOf = (source, pattern) => [...source.matchAll(pattern)].map((match) => ({ start: match.index, end: match.index + match[0].length }));
94
+ /** Bold, HTML elements, table rows and list items' labels in a Markdown source: labels and cells, not running text. */
95
+ export const setApartSpans = (source) => [BOLD, HTML_ELEMENT, TABLE_ROW, ITEM_LABEL].flatMap((pattern) => spansOf(source, pattern));
96
+ const LINK_DESTINATION = /\]\([^)\n]*\)|<?https?:\/\/[^\s)>]+>?/gu;
97
+ /** The source with link destinations and URLs blanked: the words a reader sees. */
98
+ export const readableText = (source) => source.replaceAll(LINK_DESTINATION, (destination) => " ".repeat(destination.length));
99
+ /** The words set in quotes or bold anywhere in a source, without the emphasis marks. */
100
+ export const namedWords = (source) => [BOLD, QUOTED].flatMap((pattern) => [...source.matchAll(pattern)].map((match) => (match[1] ?? match[2] ?? "").replaceAll(/[*_]/gu, "").trim()));
101
+ //# sourceMappingURL=capitalised-term.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capitalised-term.js","sourceRoot":"","sources":["../../src/detectors/capitalised-term.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"date-outside-period.d.ts","sourceRoot":"","sources":["../../src/detectors/date-outside-period.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AAqBrE,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,EAAE,QAe/B,CAAC"}
1
+ {"version":3,"file":"date-outside-period.d.ts","sourceRoot":"","sources":["../../src/detectors/date-outside-period.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AAwBrE,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,EAAE,QAe/B,CAAC"}
@@ -3,10 +3,13 @@ import { datesOutsidePeriod } from "../structure/date-outside-period.js";
3
3
  import { rangeFrameOf } from "../structure/date-range.js";
4
4
  import { quoteAt } from "./structure-tree.js";
5
5
  const patternsOf = (doc, lexicon) => (doc.lexicons[lexicon] ?? []).map((entry) => entry.pattern);
6
- /** 期間の語、期間の外に置く語、範囲の記号(range-connector、range-opener、range-frame の間の語)、月と曜日の名は語彙表から取る。 */
6
+ /** 期間の語、期間の外に置く語、文書の仕事の期間の語、締め切りの語、概要の節の見出しの語、範囲の記号(range-connector、range-opener、range-frame の間の語)、月と曜日の名は語彙表から取る。 */
7
7
  const wordsOf = (doc) => ({
8
8
  labels: patternsOf(doc, "period-label"),
9
+ terms: patternsOf(doc, "period-term-label"),
9
10
  asides: patternsOf(doc, "period-aside"),
11
+ deadlines: patternsOf(doc, "period-deadline"),
12
+ overviews: patternsOf(doc, "period-overview-heading"),
10
13
  connectors: [
11
14
  ...patternsOf(doc, "range-connector"),
12
15
  ...patternsOf(doc, "range-opener"),
@@ -1 +1 @@
1
- {"version":3,"file":"date-outside-period.js","sourceRoot":"","sources":["../../src/detectors/date-outside-period.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAqB,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,OAAe,EAAY,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAElI,yFAAyF;AACzF,MAAM,OAAO,GAAG,CAAC,GAAkB,EAAgB,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;IACvC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;IACvC,UAAU,EAAE;QACV,GAAG,UAAU,CAAC,GAAG,EAAE,iBAAiB,CAAC;QACrC,GAAG,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;QAClC,GAAG,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;KAC3F;IACD,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC;IACrC,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC;CACrC,CAAC,CAAC;AAEH,gDAAgD;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAa,CAAC,GAAG,EAAa,EAAE;IAC5D,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5D,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAClH,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9F,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACxC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;KAClD,CAAC,CAAC,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"date-outside-period.js","sourceRoot":"","sources":["../../src/detectors/date-outside-period.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAqB,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,OAAe,EAAY,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAElI,sHAAsH;AACtH,MAAM,OAAO,GAAG,CAAC,GAAkB,EAAgB,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;IACvC,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;IACvC,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAC7C,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,yBAAyB,CAAC;IACrD,UAAU,EAAE;QACV,GAAG,UAAU,CAAC,GAAG,EAAE,iBAAiB,CAAC;QACrC,GAAG,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;QAClC,GAAG,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;KAC3F;IACD,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC;IACrC,QAAQ,EAAE,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC;CACrC,CAAC,CAAC;AAEH,gDAAgD;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAa,CAAC,GAAG,EAAa,EAAE;IAC5D,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5D,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAClH,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9F,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACxC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;KAClD,CAAC,CAAC,CAAC;AACN,CAAC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import type { Detector } from "../plugin.ts";
2
2
  /** 始まり + 期間 ≠ 終わり。泊数が二つの日付の差と合わない。「2泊3日」の日数が泊数より一つ多くない。 */
3
3
  export declare const durationMismatch: Detector;
4
+ /** 回数 × 1回の長さが、書いた合計と合わない(90分×15回(計24時間))。 */
5
+ export declare const durationProductMismatch: Detector;
4
6
  /** 起点の年から数えた年数が、文書の日付と合わない。 */
5
7
  export declare const elapsedYearsMismatch: Detector;
6
8
  //# sourceMappingURL=derived-numbers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"derived-numbers.d.ts","sourceRoot":"","sources":["../../src/detectors/derived-numbers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA+C,MAAM,cAAc,CAAC;AAiJ1F,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,EAAE,QA8B9B,CAAC;AAsEF,+BAA+B;AAC/B,eAAO,MAAM,oBAAoB,EAAE,QAiClC,CAAC"}
1
+ {"version":3,"file":"derived-numbers.d.ts","sourceRoot":"","sources":["../../src/detectors/derived-numbers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA+C,MAAM,cAAc,CAAC;AA8L1F,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,EAAE,QA8B9B,CAAC;AASF,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB,EAAE,QAkBrC,CAAC;AAsEF,+BAA+B;AAC/B,eAAO,MAAM,oBAAoB,EAAE,QAiClC,CAAC"}
@@ -6,7 +6,12 @@ import { durationMismatches } from "../derived/durations.js";
6
6
  import { elapsedMismatches } from "../derived/elapsed.js";
7
7
  import { numberWordCounts } from "../derived/number-word-counts.js";
8
8
  import { nightsDaysMismatches, nightsDaysPairs, stayNightsMismatches, tableNightsMismatches, } from "../derived/stays.js";
9
- import { escapeRegExp } from "../orthography.js";
9
+ import { numeralCounts } from "../derived/unit-counts.js";
10
+ import { timeLengths } from "../derived/time-lengths.js";
11
+ import { workingHoursMismatches } from "../derived/working-hours.js";
12
+ import { sessionHoursMismatches } from "../derived/session-hours.js";
13
+ import { clockTimes } from "../compare/clock-time.js";
14
+ import { secondsOf } from "../structure/time-marks.js";
10
15
  import { proseAndTablesOf } from "../table-text.js";
11
16
  import { quoteAt } from "./structure-tree.js";
12
17
  /** 期間の単位の語彙表。木の数量の単位がどれかに入れば、その単位の期間。 */
@@ -63,25 +68,15 @@ const durationsOf = (doc, quantities) => quantities.flatMap((quantity) => {
63
68
  return unit === undefined || isApproximate(doc, quantity) ? [] : [{ start: quantity.start, end: quantity.end, amount: quantity.amount, unit }];
64
69
  });
65
70
  const sentencesOf = (doc) => doc.sentences.map((sentence) => sentence.span);
66
- const LATIN_UNIT = /^[a-z]+$/iu;
67
- /** 数字と泊数の単位(3泊、3 nights)。英字の単位は語の切れ目まで。 */
68
- const digitNights = (text, units) => units.flatMap((unit) => {
69
- const tail = LATIN_UNIT.test(unit) ? "(?![\\p{L}\\p{N}])" : "";
70
- const pattern = new RegExp(`(?<![\\p{N}.,])(\\p{Nd}+)\\s?${escapeRegExp(unit)}${tail}`, "giu");
71
- return [...text.matchAll(pattern)].map((match) => ({
72
- start: match.index,
73
- end: match.index + match[0].length,
74
- amount: Number((match[1] ?? "").normalize("NFKC")),
75
- }));
76
- });
77
71
  /** 泊数(3泊、3 nights、three nights)。text は地の文と表(リンク先や code は読まない)。目安の泊数(最大3泊)は除く。 */
78
- const nightsOf = (doc, text) => {
79
- const units = patternsOf(doc, "stay-night");
80
- const digits = digitNights(text, units);
81
- const taken = spanIndex(digits);
72
+ /** 数と単位(3泊、15 sessions、three nights)。 */
73
+ const unitCountsOf = (doc, text, units) => {
74
+ const numerals = numeralCounts(text, units);
75
+ const taken = spanIndex(numerals);
82
76
  const worded = numberWordCounts(text, patternsOf(doc, "count-number"), units).filter((count) => !overlapsAny(taken, count));
83
- return [...digits, ...worded].filter((count) => !isApproximate(doc, count)).toSorted((left, right) => left.start - right.start);
77
+ return [...numerals, ...worded].toSorted((left, right) => left.start - right.start);
84
78
  };
79
+ const nightsOf = (doc, text) => unitCountsOf(doc, text, patternsOf(doc, "stay-night")).filter((count) => !isApproximate(doc, count));
85
80
  const finding = (doc, offset, values, variant) => ({
86
81
  rule: "duration-mismatch",
87
82
  severity: "warning",
@@ -99,6 +94,40 @@ const stayColumnWords = (doc) => ({
99
94
  nights: patternsOf(doc, "stay-nights-column"),
100
95
  units: patternsOf(doc, "stay-night"),
101
96
  });
97
+ const marksOf = (doc, id) => (doc.lexicons[id] ?? []).map((entry) => ({ pattern: entry.pattern, position: entry.position, group: entry.group }));
98
+ const SECONDS_PER_HOUR = 3600;
99
+ const SECONDS_PER_MINUTE = 60;
100
+ /** The hour and minute units of unit-time, told apart by their weight in seconds. */
101
+ const unitsWeighing = (doc, seconds) => (doc.lexicons["unit-time"] ?? []).filter((entry) => entry.weight === seconds).map((entry) => entry.pattern);
102
+ const lengthWords = (doc) => ({
103
+ hourUnits: unitsWeighing(doc, SECONDS_PER_HOUR),
104
+ minuteUnits: unitsWeighing(doc, SECONDS_PER_MINUTE),
105
+ halves: patternsOf(doc, "length-half"),
106
+ numberWords: patternsOf(doc, "count-number"),
107
+ });
108
+ const lengthsOf = (doc, text) => timeLengths(text, lengthWords(doc));
109
+ const MINUTES_PER_HOUR = 60;
110
+ const HOUR_DECIMALS = 100;
111
+ const hoursOf = (minutes) => Math.round((minutes / MINUTES_PER_HOUR) * HOUR_DECIMALS) / HOUR_DECIMALS;
112
+ const workingHoursFinding = (doc, mismatch) => finding(doc, mismatch.total.start, {
113
+ start: written(doc, mismatch.start),
114
+ end: written(doc, mismatch.end),
115
+ break: written(doc, mismatch.break),
116
+ total: written(doc, mismatch.total),
117
+ expected: hoursOf(mismatch.expected),
118
+ }, "working-hours");
119
+ /** 始業から終業まで、休憩を除いた時間が、書いた実働と合わない。 */
120
+ const workingHoursOf = (doc, text) => {
121
+ const times = clockTimes(text).map((time) => ({ start: time.start, end: time.end, seconds: secondsOf(time.key) }));
122
+ const words = {
123
+ joiners: patternsOf(doc, "clock-range-joiner"),
124
+ dayShifts: marksOf(doc, "day-shift-mark"),
125
+ breaks: marksOf(doc, "working-hours-break"),
126
+ totals: marksOf(doc, "working-hours-total"),
127
+ approximate: marksOf(doc, "approximate-marker"),
128
+ };
129
+ return workingHoursMismatches(text, doc.source, sentencesOf(doc), times, lengthsOf(doc, text), words).map((mismatch) => workingHoursFinding(doc, mismatch));
130
+ };
102
131
  /** 始まり + 期間 ≠ 終わり。泊数が二つの日付の差と合わない。「2泊3日」の日数が泊数より一つ多くない。 */
103
132
  export const durationMismatch = (doc) => {
104
133
  if (doc.structure === undefined)
@@ -117,7 +146,32 @@ export const durationMismatch = (doc) => {
117
146
  }));
118
147
  const stays = [...stayNightsMismatches(sentencesOf(doc), dates, nights), ...tableNightsMismatches(proseAndTables, dates, stayColumnWords(doc))];
119
148
  const nightsDays = nightsDaysMismatches(pairs).map((mismatch) => finding(doc, mismatch.days.start, { nights: written(doc, mismatch.nights), days: written(doc, mismatch.days), expected: mismatch.expected }, "nights-days"));
120
- return [...lengths, ...stays.map((mismatch) => nightsFinding(doc, mismatch)), ...nightsDays];
149
+ return [...lengths, ...stays.map((mismatch) => nightsFinding(doc, mismatch)), ...nightsDays, ...workingHoursOf(doc, proseAndTables)];
150
+ };
151
+ /** 番号の書き方(ordinal-frame)の頭の語のすぐ後ろの数。「第15回」は15番目の回で、15回ではない。 */
152
+ const isOrdinal = (doc, text, count) => patternsOf(doc, "ordinal-frame").some((frame) => {
153
+ const head = frame.split("{n}")[0] ?? "";
154
+ return head !== "" && text.slice(Math.max(0, count.start - head.length), count.start).toLowerCase() === head.toLowerCase();
155
+ });
156
+ /** 回数 × 1回の長さが、書いた合計と合わない(90分×15回(計24時間))。 */
157
+ export const durationProductMismatch = (doc) => {
158
+ const text = proseAndTablesOf(doc);
159
+ const counts = unitCountsOf(doc, text, patternsOf(doc, "session-count-unit")).filter((count) => !isOrdinal(doc, text, count));
160
+ const words = { totals: marksOf(doc, "session-total"), approximate: marksOf(doc, "approximate-marker") };
161
+ return sessionHoursMismatches(text, doc.source, sentencesOf(doc), counts, lengthsOf(doc, text), words).map((mismatch) => ({
162
+ rule: "duration-product-mismatch",
163
+ severity: "warning",
164
+ line: 0,
165
+ column: 0,
166
+ quote: quoteAt(doc.source, mismatch.total.start),
167
+ values: {
168
+ count: written(doc, mismatch.count),
169
+ length: written(doc, mismatch.length),
170
+ total: written(doc, mismatch.total),
171
+ expected: hoursOf(mismatch.expected),
172
+ offset: mismatch.total.start,
173
+ },
174
+ }));
121
175
  };
122
176
  /** 四桁の年。木が日付と読まなかった英語の年(founded in 2015、born 1980)もここで読む。 */
123
177
  const BARE_YEAR = /(?<![\p{N}.,])[12]\d{3}(?!\p{N})/gu;
@@ -1 +1 @@
1
- {"version":3,"file":"derived-numbers.js","sourceRoot":"","sources":["../../src/detectors/derived-numbers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derived-numbers.js","sourceRoot":"","sources":["../../src/detectors/derived-numbers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"name-variant.d.ts","sourceRoot":"","sources":["../../src/detectors/name-variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AA+FrE,qEAAqE;AACrE,eAAO,MAAM,WAAW,EAAE,QAqBzB,CAAC"}
1
+ {"version":3,"file":"name-variant.d.ts","sourceRoot":"","sources":["../../src/detectors/name-variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AAsJrE,qEAAqE;AACrE,eAAO,MAAM,WAAW,EAAE,QAwBzB,CAAC"}
@@ -1,8 +1,13 @@
1
- import { cuedNamesIn, mentionsIn, nameVariants, suffixedNamesIn } from "../name-variants.js";
1
+ import { cuedNamesIn, mentionsIn, nameVariants, suffixedNamesIn, withKnownNeighbours } from "../name-variants.js";
2
2
  import { nameCueAt } from "../name-cue.js";
3
3
  import { quoteAt } from "./structure-tree.js";
4
4
  import { companyMentionsIn, companyVariants } from "../company-names.js";
5
+ import { proseAndTablesOf } from "../table-text.js";
6
+ import { tableBodyCells } from "../facts/table-facts.js";
7
+ import { cellNamesIn, cellNameVariants, proseNamesOf } from "../table-names.js";
5
8
  import { placeMentionsIn, placeVariants } from "../place-names.js";
9
+ import { proseWithCells } from "../table-cells.js";
10
+ import { labelledSpans, orderNamesOf, quotedSpans, stemOf, titleCaseSpans, wordOrderVariants } from "../name-word-order.js";
6
11
  // 人の名前と読ませる敬称(様、さん)は語彙表 person-suffix、人を指す前置き(担当の)は person-lead、名前のすぐ後ろに来る語
7
12
  // (です、まで)は name-particle、字体の違う同じ字(斎・斉・齋)は name-variant-char が組(group)ごとに言う。
8
13
  const variantCharsOf = (doc) => new Map((doc.lexicons["name-variant-char"] ?? []).flatMap((entry) => (entry.group === undefined ? [] : [[entry.pattern, entry.group]])));
@@ -18,7 +23,10 @@ const properOf = (doc) => {
18
23
  const placeWordsOf = (doc) => (doc.lexicons["place-word"] ?? []).map((entry) => ({ pattern: entry.pattern, group: entry.group ?? entry.pattern }));
19
24
  /** 名前の頭に立たない語の品詞(The、at、and)。 */
20
25
  const FUNCTION_POS = new Set(["DET", "ADP", "PRON", "CCONJ", "SCONJ", "AUX", "PART"]);
21
- const tokensOf = (doc) => doc.sentences.flatMap((sentence) => sentence.tokens ?? []);
26
+ /** 表の本体の升。本文が表を覆わない文書(Markdown でない)には無い。 */
27
+ const cellsOf = (doc) => doc.tableCells?.() ?? tableBodyCells(proseAndTablesOf(doc));
28
+ /** 文の語と表の升の語を、文書の順に。 */
29
+ const tokensOf = (doc) => [...doc.sentences.flatMap((sentence) => sentence.tokens ?? []), ...cellsOf(doc).flatMap((cell) => cell.tokens ?? [])].toSorted((left, right) => left.span.start - right.span.start);
22
30
  /** 場所の名前の語の数の上限。名前の読みを探す範囲。 */
23
31
  const MAX_PLACE_TOKENS = 20;
24
32
  /** 範囲をちょうど覆う語の読みをつないだもの。記号の語は読まない。覆えないか、読めない語があれば無い。 */
@@ -53,34 +61,73 @@ const overlapsAny = (reported, offset, length) => reported.some((other) => other
53
61
  const companyFindings = (doc, prose, reported) => companyVariants(companyMentionsIn(prose, companyFormsOf(doc), properOf(doc)))
54
62
  .filter(({ mention }) => !overlapsAny(reported, mention.offset, mention.surface.length))
55
63
  .map(({ mention, usual, kind }) => ({ offset: mention.offset, name: mention.surface, usual, kind: kind === "spelling" ? kind : `company-${kind}` }));
56
- /** 場所の名前の書き分け。人や会社の名前の見方がすでに指した所と重なるものは除く。 */
57
- const placeFindings = (doc, prose, reported) => placeVariants(placeMentionsIn(prose, placeWordsOf(doc), placeReaderOf(doc)))
64
+ /** 場所の名前の書き分け。表の本体の升の中の名前も読む(見出しの行は読まない)。人や会社の名前の見方がすでに指した所と重なるものは除く。 */
65
+ const placeFindings = (doc, prose, reported) => placeVariants(placeMentionsIn(proseWithCells(prose, cellsOf(doc)), placeWordsOf(doc), placeReaderOf(doc)))
58
66
  .filter(({ mention }) => !overlapsAny(reported, mention.offset, mention.surface.length))
59
67
  .map(({ mention, usual, kind }) => ({ offset: mention.offset, name: mention.surface, usual, kind }));
68
+ /** 名前の中で比べる語の品詞。助詞や冠詞(の、of)は語の順に数えない。 */
69
+ const CONTENT_POS = new Set(["NOUN", "PROPN", "ADJ", "NUM", "VERB"]);
70
+ /** 欄の後ろの名前を切る所: 内容語でも名前の中の小さな語(of)でもない語の頭。 */
71
+ const orderStopsOf = (doc) => {
72
+ const joiners = new Set(patternsOf(doc, "name-title-joiner"));
73
+ return tokensOf(doc)
74
+ .filter((token) => !CONTENT_POS.has(token.pos) && !joiners.has(token.surface.toLowerCase()))
75
+ .map((token) => token.span.start);
76
+ };
77
+ const sentenceStartsOf = (doc) => new Set(doc.sentences.flatMap((sentence) => sentence.tokens?.[0]?.span.start ?? []));
78
+ const orderWordsOf = (doc) => {
79
+ const suffixes = patternsOf(doc, "name-stem-suffix");
80
+ return tokensOf(doc)
81
+ .filter((token) => CONTENT_POS.has(token.pos))
82
+ .map((token) => ({ start: token.span.start, end: token.span.end, key: stemOf(token.surface, suffixes) }));
83
+ };
84
+ /**
85
+ * 語の順を入れ替えて書いた同じ名前(統計学基礎 と 基礎統計学)。名前と読める所は、括弧の中(name-quote)、大文字で始まる語の並び
86
+ * (name-title-joiner を挟んでよい)、名前を書く欄の後ろ(name-label)。大文字の語の並びどうしは、片方が表の升まるごとに
87
+ * 書いた名前のときだけ比べる。ほかの見方がすでに指した所と重なるものは除く。
88
+ */
89
+ const orderFindings = (doc, prose, reported) => {
90
+ const starts = sentenceStartsOf(doc);
91
+ const spans = [
92
+ ...quotedSpans(prose, patternsOf(doc, "name-quote")),
93
+ ...titleCaseSpans(prose, patternsOf(doc, "name-title-joiner"), (offset) => starts.has(offset)),
94
+ ...labelledSpans(prose, patternsOf(doc, "name-label")),
95
+ ];
96
+ const cells = new Set(tableBodyCells(proseAndTablesOf(doc)).map((cell) => cell.text.trim()));
97
+ return wordOrderVariants(orderNamesOf(doc.source, spans, orderWordsOf(doc), orderStopsOf(doc)), cells)
98
+ .filter(({ name }) => !overlapsAny(reported, name.offset, name.surface.length))
99
+ .map(({ name, usual }) => ({ offset: name.offset, name: name.surface, usual, kind: "order" }));
100
+ };
60
101
  /** 人・製品・会社の名前の現れ。解析器が固有名詞と読む語、敬称の付く名前、前後の語で名前と読める漢字。 */
61
102
  const nameMentionsOf = (doc, prose, chars) => {
62
103
  const cues = { leads: patternsOf(doc, "person-lead"), suffixes: patternsOf(doc, "person-suffix"), particles: patternsOf(doc, "name-particle") };
63
104
  const tagged = doc.sentences.flatMap((sentence) => mentionsIn(sentence.tokens ?? [], doc.source, cues.suffixes));
64
105
  const taggedOrSuffixed = [...tagged, ...suffixedNamesIn(prose, cues.suffixes, chars, tagged)];
65
- return [...taggedOrSuffixed, ...cuedNamesIn(prose, cues, chars, taggedOrSuffixed)]
66
- .map((mention) => {
106
+ const cued = [...taggedOrSuffixed, ...cuedNamesIn(prose, cues, chars, taggedOrSuffixed)].map((mention) => {
67
107
  const cue = mention.cue ?? nameCueAt(prose, mention.offset, mention.surface, cues);
68
108
  return cue === undefined ? mention : { ...mention, cue };
69
- })
70
- .toSorted((left, right) => left.offset - right.offset);
109
+ });
110
+ return withKnownNeighbours(cued, prose).toSorted((left, right) => left.offset - right.offset);
71
111
  };
112
+ /** 表の升に書いた名前の書き分け。名前の形をした升を、本文の名前と比べる。ほかの見方がすでに指した所と重なるものは除く。 */
113
+ const tableFindings = (doc, prose, mentions, reported) => cellNameVariants(cellNamesIn(cellsOf(doc)), proseNamesOf(mentions, prose))
114
+ .filter(({ name }) => !reported.some((other) => other.offset < name.offset + name.surface.length && name.offset < other.offset + other.name.length))
115
+ .map(({ name, usual, kind }) => ({ offset: name.offset, name: name.surface, usual, kind }));
72
116
  /** 同じ名前を、文書の中で少しだけ違う形に書いた所(GitHub と Github、山田太郎 と 山田太朗)。少ないほうを指す。 */
73
117
  export const nameVariant = (doc) => {
74
118
  const prose = doc.prose ?? doc.source;
75
119
  const chars = variantCharsOf(doc);
76
- const names = nameVariants(nameMentionsOf(doc, prose, chars), chars).map(({ mention, usual, kind }) => ({
120
+ const mentions = nameMentionsOf(doc, prose, chars);
121
+ const names = nameVariants(mentions, chars).map(({ mention, usual, kind }) => ({
77
122
  offset: mention.offset,
78
123
  name: mention.surface,
79
124
  usual,
80
125
  kind,
81
126
  }));
82
127
  const namesAndCompanies = [...names, ...companyFindings(doc, prose, names)];
83
- return [...namesAndCompanies, ...placeFindings(doc, prose, namesAndCompanies)]
128
+ const withTables = [...namesAndCompanies, ...tableFindings(doc, prose, mentions, namesAndCompanies)];
129
+ const withPlaces = [...withTables, ...placeFindings(doc, prose, withTables)];
130
+ return [...withPlaces, ...orderFindings(doc, prose, withPlaces)]
84
131
  .toSorted((left, right) => left.offset - right.offset)
85
132
  .map(({ offset, name, usual, kind }) => ({
86
133
  rule: "",
@@ -1 +1 @@
1
- {"version":3,"file":"name-variant.js","sourceRoot":"","sources":["../../src/detectors/name-variant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"name-variant.js","sourceRoot":"","sources":["../../src/detectors/name-variant.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Detector } from "../plugin.ts";
2
+ export declare const partyOrder: Detector;
3
+ //# sourceMappingURL=party-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"party-order.d.ts","sourceRoot":"","sources":["../../src/detectors/party-order.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,cAAc,CAAC;AAyBrE,eAAO,MAAM,UAAU,EAAE,QAiBxB,CAAC"}