@stll/anonymize-wasm 1.0.8 → 1.0.9
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/AT.mjs +282 -0
- package/dist/AT.mjs.map +1 -0
- package/dist/AT2.mjs +343 -0
- package/dist/AT2.mjs.map +1 -0
- package/dist/AU.mjs +122 -0
- package/dist/AU.mjs.map +1 -0
- package/dist/AU2.mjs +90 -0
- package/dist/AU2.mjs.map +1 -0
- package/dist/BE.mjs +144 -0
- package/dist/BE.mjs.map +1 -0
- package/dist/BE2.mjs +107 -0
- package/dist/BE2.mjs.map +1 -0
- package/dist/BG.mjs +73 -0
- package/dist/BG.mjs.map +1 -0
- package/dist/BG2.mjs +42 -0
- package/dist/BG2.mjs.map +1 -0
- package/dist/BR.mjs +226 -0
- package/dist/BR.mjs.map +1 -0
- package/dist/BR2.mjs +339 -0
- package/dist/BR2.mjs.map +1 -0
- package/dist/CA.mjs +275 -0
- package/dist/CA.mjs.map +1 -0
- package/dist/CA2.mjs +222 -0
- package/dist/CA2.mjs.map +1 -0
- package/dist/CZ.mjs +212 -0
- package/dist/CZ.mjs.map +1 -0
- package/dist/CZ2.mjs +619 -0
- package/dist/CZ2.mjs.map +1 -0
- package/dist/CZ3.mjs +127 -0
- package/dist/CZ3.mjs.map +1 -0
- package/dist/DE.mjs +1652 -0
- package/dist/DE.mjs.map +1 -0
- package/dist/DE2.mjs +3885 -0
- package/dist/DE2.mjs.map +1 -0
- package/dist/DE3.mjs +669 -0
- package/dist/DE3.mjs.map +1 -0
- package/dist/DK.mjs +218 -0
- package/dist/DK.mjs.map +1 -0
- package/dist/DK2.mjs +162 -0
- package/dist/DK2.mjs.map +1 -0
- package/dist/ES.mjs +522 -0
- package/dist/ES.mjs.map +1 -0
- package/dist/ES2.mjs +352 -0
- package/dist/ES2.mjs.map +1 -0
- package/dist/FI.mjs +267 -0
- package/dist/FI.mjs.map +1 -0
- package/dist/FI2.mjs +107 -0
- package/dist/FI2.mjs.map +1 -0
- package/dist/FR.mjs +224 -0
- package/dist/FR.mjs.map +1 -0
- package/dist/FR2.mjs +1823 -0
- package/dist/FR2.mjs.map +1 -0
- package/dist/GB.mjs +298 -0
- package/dist/GB.mjs.map +1 -0
- package/dist/GB2.mjs +208 -0
- package/dist/GB2.mjs.map +1 -0
- package/dist/HR.mjs +37 -0
- package/dist/HR.mjs.map +1 -0
- package/dist/HR2.mjs +16 -0
- package/dist/HR2.mjs.map +1 -0
- package/dist/HU.mjs +59 -0
- package/dist/HU.mjs.map +1 -0
- package/dist/HU2.mjs +29 -0
- package/dist/HU2.mjs.map +1 -0
- package/dist/IE.mjs +35 -0
- package/dist/IE.mjs.map +1 -0
- package/dist/IE2.mjs +19 -0
- package/dist/IE2.mjs.map +1 -0
- package/dist/IT.mjs +341 -0
- package/dist/IT.mjs.map +1 -0
- package/dist/IT2.mjs +46 -0
- package/dist/IT2.mjs.map +1 -0
- package/dist/NL.mjs +298 -0
- package/dist/NL.mjs.map +1 -0
- package/dist/NL2.mjs +305 -0
- package/dist/NL2.mjs.map +1 -0
- package/dist/NO.mjs +178 -0
- package/dist/NO.mjs.map +1 -0
- package/dist/NO2.mjs +346 -0
- package/dist/NO2.mjs.map +1 -0
- package/dist/PL.mjs +175 -0
- package/dist/PL.mjs.map +1 -0
- package/dist/PL2.mjs +107 -0
- package/dist/PL2.mjs.map +1 -0
- package/dist/PT.mjs +78 -0
- package/dist/PT.mjs.map +1 -0
- package/dist/PT2.mjs +657 -0
- package/dist/PT2.mjs.map +1 -0
- package/dist/RO.mjs +181 -0
- package/dist/RO.mjs.map +1 -0
- package/dist/RO2.mjs +46 -0
- package/dist/RO2.mjs.map +1 -0
- package/dist/SE.mjs +270 -0
- package/dist/SE.mjs.map +1 -0
- package/dist/SE2.mjs +369 -0
- package/dist/SE2.mjs.map +1 -0
- package/dist/SI.mjs +27 -0
- package/dist/SI.mjs.map +1 -0
- package/dist/SI2.mjs +88 -0
- package/dist/SI2.mjs.map +1 -0
- package/dist/SK.mjs +61 -0
- package/dist/SK.mjs.map +1 -0
- package/dist/SK2.mjs +26 -0
- package/dist/SK2.mjs.map +1 -0
- package/dist/US.mjs +1061 -0
- package/dist/US.mjs.map +1 -0
- package/dist/US2.mjs +518 -0
- package/dist/US2.mjs.map +1 -0
- package/dist/address-boundaries.mjs +85 -0
- package/dist/address-boundaries.mjs.map +1 -0
- package/dist/address-prepositions.mjs +182 -0
- package/dist/address-prepositions.mjs.map +1 -0
- package/dist/address-street-types.mjs +162 -0
- package/dist/address-street-types.mjs.map +1 -0
- package/dist/allow-list.mjs +183 -0
- package/dist/allow-list.mjs.map +1 -0
- package/dist/amount-words.mjs +42 -0
- package/dist/amount-words.mjs.map +1 -0
- package/dist/coreference.cs.mjs +14 -0
- package/dist/coreference.cs.mjs.map +1 -0
- package/dist/coreference.de.mjs +14 -0
- package/dist/coreference.de.mjs.map +1 -0
- package/dist/coreference.en.mjs +14 -0
- package/dist/coreference.en.mjs.map +1 -0
- package/dist/coreference.sk.mjs +10 -0
- package/dist/coreference.sk.mjs.map +1 -0
- package/dist/cs.mjs +5080 -0
- package/dist/cs.mjs.map +1 -0
- package/dist/cs2.mjs +17609 -0
- package/dist/cs2.mjs.map +1 -0
- package/dist/currencies.mjs +231 -0
- package/dist/currencies.mjs.map +1 -0
- package/dist/date-months.mjs +618 -0
- package/dist/date-months.mjs.map +1 -0
- package/dist/de4.mjs +8214 -0
- package/dist/de4.mjs.map +1 -0
- package/dist/de5.mjs +8197 -0
- package/dist/de5.mjs.map +1 -0
- package/dist/dist.mjs +619 -0
- package/dist/dist.mjs.map +1 -0
- package/dist/en.mjs +9977 -0
- package/dist/en.mjs.map +1 -0
- package/dist/en2.mjs +5014 -0
- package/dist/en2.mjs.map +1 -0
- package/dist/es3.mjs +9059 -0
- package/dist/es3.mjs.map +1 -0
- package/dist/es4.mjs +8254 -0
- package/dist/es4.mjs.map +1 -0
- package/dist/eu-institutions.mjs +518 -0
- package/dist/eu-institutions.mjs.map +1 -0
- package/dist/fr3.mjs +9999 -0
- package/dist/fr3.mjs.map +1 -0
- package/dist/fr4.mjs +9975 -0
- package/dist/fr4.mjs.map +1 -0
- package/dist/generic-roles.mjs +65 -0
- package/dist/generic-roles.mjs.map +1 -0
- package/dist/global.mjs +195368 -0
- package/dist/global.mjs.map +1 -0
- package/dist/hospitals-CZ.mjs +747 -0
- package/dist/hospitals-CZ.mjs.map +1 -0
- package/dist/hospitals-DE.mjs +3356 -0
- package/dist/hospitals-DE.mjs.map +1 -0
- package/dist/hotword-rules.mjs +145 -0
- package/dist/hotword-rules.mjs.map +1 -0
- package/dist/hu3.mjs +9964 -0
- package/dist/hu3.mjs.map +1 -0
- package/dist/hu4.mjs +5031 -0
- package/dist/hu4.mjs.map +1 -0
- package/dist/it3.mjs +5037 -0
- package/dist/it3.mjs.map +1 -0
- package/dist/it4.mjs +9989 -0
- package/dist/it4.mjs.map +1 -0
- package/dist/legal-forms.mjs +2112 -0
- package/dist/legal-forms.mjs.map +1 -0
- package/dist/manifest.mjs +56 -0
- package/dist/manifest.mjs.map +1 -0
- package/dist/ministries-AT.mjs +180 -0
- package/dist/ministries-AT.mjs.map +1 -0
- package/dist/ministries-CZ.mjs +201 -0
- package/dist/ministries-CZ.mjs.map +1 -0
- package/dist/ministries-DE.mjs +859 -0
- package/dist/ministries-DE.mjs.map +1 -0
- package/dist/ministries-SK.mjs +174 -0
- package/dist/ministries-SK.mjs.map +1 -0
- package/dist/names-exclusions.mjs +191 -0
- package/dist/names-exclusions.mjs.map +1 -0
- package/dist/names-first.mjs +418 -0
- package/dist/names-first.mjs.map +1 -0
- package/dist/names-surnames.mjs +113 -0
- package/dist/names-surnames.mjs.map +1 -0
- package/dist/names-title-tokens.mjs +40 -0
- package/dist/names-title-tokens.mjs.map +1 -0
- package/dist/person-stopwords.mjs +69 -0
- package/dist/person-stopwords.mjs.map +1 -0
- package/dist/pl3.mjs +5059 -0
- package/dist/pl3.mjs.map +1 -0
- package/dist/pl4.mjs +9991 -0
- package/dist/pl4.mjs.map +1 -0
- package/dist/ro3.mjs +10000 -0
- package/dist/ro3.mjs.map +1 -0
- package/dist/ro4.mjs +5037 -0
- package/dist/ro4.mjs.map +1 -0
- package/dist/section-headings.mjs +52 -0
- package/dist/section-headings.mjs.map +1 -0
- package/dist/signing-clauses.mjs +78 -0
- package/dist/signing-clauses.mjs.map +1 -0
- package/dist/sk3.mjs +9205 -0
- package/dist/sk3.mjs.map +1 -0
- package/dist/sk4.mjs +15242 -0
- package/dist/sk4.mjs.map +1 -0
- package/dist/stopwords.mjs +9915 -0
- package/dist/stopwords.mjs.map +1 -0
- package/dist/sv.mjs +8312 -0
- package/dist/sv.mjs.map +1 -0
- package/dist/sv2.mjs +8439 -0
- package/dist/sv2.mjs.map +1 -0
- package/dist/translations.mjs +603 -0
- package/dist/translations.mjs.map +1 -0
- package/dist/triggers.cs.mjs +465 -0
- package/dist/triggers.cs.mjs.map +1 -0
- package/dist/triggers.de.mjs +139 -0
- package/dist/triggers.de.mjs.map +1 -0
- package/dist/triggers.en.mjs +72 -0
- package/dist/triggers.en.mjs.map +1 -0
- package/dist/triggers.es.mjs +57 -0
- package/dist/triggers.es.mjs.map +1 -0
- package/dist/triggers.fr.mjs +76 -0
- package/dist/triggers.fr.mjs.map +1 -0
- package/dist/triggers.global.mjs +34 -0
- package/dist/triggers.global.mjs.map +1 -0
- package/dist/triggers.hu.mjs +41 -0
- package/dist/triggers.hu.mjs.map +1 -0
- package/dist/triggers.it.mjs +52 -0
- package/dist/triggers.it.mjs.map +1 -0
- package/dist/triggers.pl.mjs +84 -0
- package/dist/triggers.pl.mjs.map +1 -0
- package/dist/triggers.ro.mjs +59 -0
- package/dist/triggers.ro.mjs.map +1 -0
- package/dist/triggers.sk.mjs +62 -0
- package/dist/triggers.sk.mjs.map +1 -0
- package/dist/triggers.sv.mjs +58 -0
- package/dist/triggers.sv.mjs.map +1 -0
- package/dist/universities-AT.mjs +410 -0
- package/dist/universities-AT.mjs.map +1 -0
- package/dist/universities-CZ.mjs +427 -0
- package/dist/universities-CZ.mjs.map +1 -0
- package/dist/universities-DE.mjs +3393 -0
- package/dist/universities-DE.mjs.map +1 -0
- package/dist/universities-SK.mjs +215 -0
- package/dist/universities-SK.mjs.map +1 -0
- package/dist/vite.mjs +4 -2
- package/dist/vite.mjs.map +1 -1
- package/dist/wasm.mjs +548 -46
- package/dist/wasm.mjs.map +1 -1
- package/dist/year-words.mjs +62 -0
- package/dist/year-words.mjs.map +1 -0
- package/package.json +1 -5
package/dist/wasm.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { TextSearch } from "@stll/text-search-wasm";
|
|
2
2
|
import { at, be, bg, cy, cz, de, dk, ee, es, fi, fr, gb, gr, hr, hu, ie, it, lt, lu, lv, mt, nl, pl, pt, ro, se, si, sk } from "@stll/stdnum";
|
|
3
3
|
import { toRegex } from "@stll/stdnum/patterns";
|
|
4
|
-
import charGroupsJson from "@stll/anonymize-data/config/char-groups.json";
|
|
5
4
|
//#region src/search-engine.ts
|
|
6
5
|
let _TextSearch;
|
|
7
6
|
const initTextSearch = (ctor) => {
|
|
@@ -125,7 +124,7 @@ const loadManifest = () => {
|
|
|
125
124
|
if (_manifestPromise) return _manifestPromise;
|
|
126
125
|
_manifestPromise = (async () => {
|
|
127
126
|
try {
|
|
128
|
-
const mod = await import("
|
|
127
|
+
const mod = await import("./manifest.mjs");
|
|
129
128
|
const parsed = mod.default ?? mod;
|
|
130
129
|
if (!parsed || typeof parsed.languages !== "object" || parsed.languages === null || Array.isArray(parsed.languages)) {
|
|
131
130
|
console.warn("[anonymize] lang-loader: manifest has unexpected structure, falling back to hardcoded list");
|
|
@@ -144,23 +143,23 @@ const loadManifest = () => {
|
|
|
144
143
|
};
|
|
145
144
|
const LOADER_REGISTRIES = {
|
|
146
145
|
triggers: {
|
|
147
|
-
cs: () => import("
|
|
148
|
-
de: () => import("
|
|
149
|
-
en: () => import("
|
|
150
|
-
es: () => import("
|
|
151
|
-
fr: () => import("
|
|
152
|
-
hu: () => import("
|
|
153
|
-
it: () => import("
|
|
154
|
-
pl: () => import("
|
|
155
|
-
ro: () => import("
|
|
156
|
-
sk: () => import("
|
|
157
|
-
sv: () => import("
|
|
146
|
+
cs: () => import("./triggers.cs.mjs"),
|
|
147
|
+
de: () => import("./triggers.de.mjs"),
|
|
148
|
+
en: () => import("./triggers.en.mjs"),
|
|
149
|
+
es: () => import("./triggers.es.mjs"),
|
|
150
|
+
fr: () => import("./triggers.fr.mjs"),
|
|
151
|
+
hu: () => import("./triggers.hu.mjs"),
|
|
152
|
+
it: () => import("./triggers.it.mjs"),
|
|
153
|
+
pl: () => import("./triggers.pl.mjs"),
|
|
154
|
+
ro: () => import("./triggers.ro.mjs"),
|
|
155
|
+
sk: () => import("./triggers.sk.mjs"),
|
|
156
|
+
sv: () => import("./triggers.sv.mjs")
|
|
158
157
|
},
|
|
159
158
|
coreference: {
|
|
160
|
-
cs: () => import("
|
|
161
|
-
de: () => import("
|
|
162
|
-
en: () => import("
|
|
163
|
-
sk: () => import("
|
|
159
|
+
cs: () => import("./coreference.cs.mjs"),
|
|
160
|
+
de: () => import("./coreference.de.mjs"),
|
|
161
|
+
en: () => import("./coreference.en.mjs"),
|
|
162
|
+
sk: () => import("./coreference.sk.mjs")
|
|
164
163
|
}
|
|
165
164
|
};
|
|
166
165
|
const FALLBACK_LANGUAGES = {
|
|
@@ -231,7 +230,7 @@ const loadLanguageConfigs = async (configType, mapFn) => {
|
|
|
231
230
|
//#region src/detectors/coreference.ts
|
|
232
231
|
/**
|
|
233
232
|
* Load coreference definition patterns from per-language
|
|
234
|
-
* JSON configs in
|
|
233
|
+
* JSON configs in src/data/. Uses the
|
|
235
234
|
* language manifest for auto-discovery.
|
|
236
235
|
*/
|
|
237
236
|
const loadDefinitionPatterns = async () => {
|
|
@@ -264,7 +263,7 @@ const getRoleStopSet = async (ctx) => {
|
|
|
264
263
|
const promise = (async () => {
|
|
265
264
|
let result;
|
|
266
265
|
try {
|
|
267
|
-
const mod = await import("
|
|
266
|
+
const mod = await import("./generic-roles.mjs");
|
|
268
267
|
const data = mod.default ?? mod;
|
|
269
268
|
result = new Set(data.roles.map((r) => r.toLowerCase()));
|
|
270
269
|
} catch {
|
|
@@ -608,7 +607,7 @@ const getNameCorpusSurnames = (ctx = defaultContext) => ctx.nameCorpus?.surnames
|
|
|
608
607
|
const getNameCorpusTitles = (ctx = defaultContext) => ctx.nameCorpus?.titlesList ?? [];
|
|
609
608
|
/**
|
|
610
609
|
* Languages with per-language first/surname
|
|
611
|
-
* dictionaries
|
|
610
|
+
* dictionaries from @stll/anonymize-data (optional).
|
|
612
611
|
*/
|
|
613
612
|
const NAME_LANGUAGES = [
|
|
614
613
|
"cs",
|
|
@@ -647,10 +646,10 @@ const initNameCorpus = (ctx = defaultContext) => {
|
|
|
647
646
|
const promise = (async () => {
|
|
648
647
|
try {
|
|
649
648
|
const [legacyFirstMod, legacySurnameMod, titleMod, exclusionMod] = await Promise.all([
|
|
650
|
-
import("
|
|
651
|
-
import("
|
|
652
|
-
import("
|
|
653
|
-
import("
|
|
649
|
+
import("./names-first.mjs"),
|
|
650
|
+
import("./names-surnames.mjs"),
|
|
651
|
+
import("./names-title-tokens.mjs"),
|
|
652
|
+
import("./names-exclusions.mjs")
|
|
654
653
|
]);
|
|
655
654
|
const firstImports = NAME_LANGUAGES.map((lang) => tryImportArray(`@stll/anonymize-data/dictionaries/names/first/${lang}.json`));
|
|
656
655
|
const surnameImports = NAME_LANGUAGES.map((lang) => tryImportArray(`@stll/anonymize-data/dictionaries/names/surnames/${lang}.json`));
|
|
@@ -1087,12 +1086,515 @@ const POST_NOMINALS = [
|
|
|
1087
1086
|
"CIPP"
|
|
1088
1087
|
];
|
|
1089
1088
|
//#endregion
|
|
1089
|
+
//#region src/data/char-groups.json
|
|
1090
|
+
var char_groups_default = {
|
|
1091
|
+
_comment: "Unicode character equivalence groups. Used to build regex character classes that match all variants of a character type.",
|
|
1092
|
+
groups: {
|
|
1093
|
+
"dash": {
|
|
1094
|
+
"description": "Dash-like characters (hyphens, en-dash, em-dash, minus)",
|
|
1095
|
+
"chars": [
|
|
1096
|
+
{
|
|
1097
|
+
"char": "-",
|
|
1098
|
+
"name": "hyphen-minus",
|
|
1099
|
+
"code": "U+002D"
|
|
1100
|
+
},
|
|
1101
|
+
{
|
|
1102
|
+
"char": "–",
|
|
1103
|
+
"name": "en-dash",
|
|
1104
|
+
"code": "U+2013"
|
|
1105
|
+
},
|
|
1106
|
+
{
|
|
1107
|
+
"char": "—",
|
|
1108
|
+
"name": "em-dash",
|
|
1109
|
+
"code": "U+2014"
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
"char": "‐",
|
|
1113
|
+
"name": "hyphen",
|
|
1114
|
+
"code": "U+2010"
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"char": "‑",
|
|
1118
|
+
"name": "non-breaking hyphen",
|
|
1119
|
+
"code": "U+2011"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"char": "−",
|
|
1123
|
+
"name": "minus sign",
|
|
1124
|
+
"code": "U+2212"
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
"char": "⁃",
|
|
1128
|
+
"name": "hyphen bullet",
|
|
1129
|
+
"code": "U+2043"
|
|
1130
|
+
},
|
|
1131
|
+
{
|
|
1132
|
+
"char": "‒",
|
|
1133
|
+
"name": "figure dash",
|
|
1134
|
+
"code": "U+2012"
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
"char": "―",
|
|
1138
|
+
"name": "horizontal bar",
|
|
1139
|
+
"code": "U+2015"
|
|
1140
|
+
},
|
|
1141
|
+
{
|
|
1142
|
+
"char": "⸺",
|
|
1143
|
+
"name": "two-em dash",
|
|
1144
|
+
"code": "U+2E3A"
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
"char": "⸻",
|
|
1148
|
+
"name": "three-em dash",
|
|
1149
|
+
"code": "U+2E3B"
|
|
1150
|
+
},
|
|
1151
|
+
{
|
|
1152
|
+
"char": "־",
|
|
1153
|
+
"name": "Hebrew maqaf",
|
|
1154
|
+
"code": "U+05BE"
|
|
1155
|
+
}
|
|
1156
|
+
]
|
|
1157
|
+
},
|
|
1158
|
+
"space": {
|
|
1159
|
+
"description": "Space-like characters",
|
|
1160
|
+
"chars": [
|
|
1161
|
+
{
|
|
1162
|
+
"char": " ",
|
|
1163
|
+
"name": "space",
|
|
1164
|
+
"code": "U+0020"
|
|
1165
|
+
},
|
|
1166
|
+
{
|
|
1167
|
+
"char": "\xA0",
|
|
1168
|
+
"name": "no-break space",
|
|
1169
|
+
"code": "U+00A0"
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
"char": " ",
|
|
1173
|
+
"name": "en space",
|
|
1174
|
+
"code": "U+2002"
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"char": " ",
|
|
1178
|
+
"name": "em space",
|
|
1179
|
+
"code": "U+2003"
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
"char": " ",
|
|
1183
|
+
"name": "thin space",
|
|
1184
|
+
"code": "U+2009"
|
|
1185
|
+
},
|
|
1186
|
+
{
|
|
1187
|
+
"char": " ",
|
|
1188
|
+
"name": "hair space",
|
|
1189
|
+
"code": "U+200A"
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
"char": " ",
|
|
1193
|
+
"name": "narrow no-break space",
|
|
1194
|
+
"code": "U+202F"
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"char": " ",
|
|
1198
|
+
"name": "Ogham space mark",
|
|
1199
|
+
"code": "U+1680"
|
|
1200
|
+
},
|
|
1201
|
+
{
|
|
1202
|
+
"char": " ",
|
|
1203
|
+
"name": "en quad",
|
|
1204
|
+
"code": "U+2000"
|
|
1205
|
+
},
|
|
1206
|
+
{
|
|
1207
|
+
"char": " ",
|
|
1208
|
+
"name": "em quad",
|
|
1209
|
+
"code": "U+2001"
|
|
1210
|
+
},
|
|
1211
|
+
{
|
|
1212
|
+
"char": " ",
|
|
1213
|
+
"name": "three-per-em space",
|
|
1214
|
+
"code": "U+2004"
|
|
1215
|
+
},
|
|
1216
|
+
{
|
|
1217
|
+
"char": " ",
|
|
1218
|
+
"name": "four-per-em space",
|
|
1219
|
+
"code": "U+2005"
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
"char": " ",
|
|
1223
|
+
"name": "six-per-em space",
|
|
1224
|
+
"code": "U+2006"
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
"char": " ",
|
|
1228
|
+
"name": "figure space",
|
|
1229
|
+
"code": "U+2007"
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"char": " ",
|
|
1233
|
+
"name": "punctuation space",
|
|
1234
|
+
"code": "U+2008"
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
"char": " ",
|
|
1238
|
+
"name": "medium mathematical space",
|
|
1239
|
+
"code": "U+205F"
|
|
1240
|
+
},
|
|
1241
|
+
{
|
|
1242
|
+
"char": " ",
|
|
1243
|
+
"name": "ideographic space",
|
|
1244
|
+
"code": "U+3000"
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
"char": "",
|
|
1248
|
+
"name": "zero width space",
|
|
1249
|
+
"code": "U+200B"
|
|
1250
|
+
}
|
|
1251
|
+
]
|
|
1252
|
+
},
|
|
1253
|
+
"quote-double": {
|
|
1254
|
+
"description": "Double quotation marks",
|
|
1255
|
+
"chars": [
|
|
1256
|
+
{
|
|
1257
|
+
"char": "\"",
|
|
1258
|
+
"name": "quotation mark",
|
|
1259
|
+
"code": "U+0022"
|
|
1260
|
+
},
|
|
1261
|
+
{
|
|
1262
|
+
"char": "“",
|
|
1263
|
+
"name": "left double quotation mark",
|
|
1264
|
+
"code": "U+201C"
|
|
1265
|
+
},
|
|
1266
|
+
{
|
|
1267
|
+
"char": "”",
|
|
1268
|
+
"name": "right double quotation mark",
|
|
1269
|
+
"code": "U+201D"
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
"char": "„",
|
|
1273
|
+
"name": "double low-9 quotation mark",
|
|
1274
|
+
"code": "U+201E"
|
|
1275
|
+
},
|
|
1276
|
+
{
|
|
1277
|
+
"char": "«",
|
|
1278
|
+
"name": "left guillemet",
|
|
1279
|
+
"code": "U+00AB"
|
|
1280
|
+
},
|
|
1281
|
+
{
|
|
1282
|
+
"char": "»",
|
|
1283
|
+
"name": "right guillemet",
|
|
1284
|
+
"code": "U+00BB"
|
|
1285
|
+
}
|
|
1286
|
+
]
|
|
1287
|
+
},
|
|
1288
|
+
"quote-single": {
|
|
1289
|
+
"description": "Single quotation marks and apostrophes",
|
|
1290
|
+
"chars": [
|
|
1291
|
+
{
|
|
1292
|
+
"char": "'",
|
|
1293
|
+
"name": "apostrophe",
|
|
1294
|
+
"code": "U+0027"
|
|
1295
|
+
},
|
|
1296
|
+
{
|
|
1297
|
+
"char": "‘",
|
|
1298
|
+
"name": "left single quotation mark",
|
|
1299
|
+
"code": "U+2018"
|
|
1300
|
+
},
|
|
1301
|
+
{
|
|
1302
|
+
"char": "’",
|
|
1303
|
+
"name": "right single quotation mark",
|
|
1304
|
+
"code": "U+2019"
|
|
1305
|
+
},
|
|
1306
|
+
{
|
|
1307
|
+
"char": "‚",
|
|
1308
|
+
"name": "single low-9 quotation mark",
|
|
1309
|
+
"code": "U+201A"
|
|
1310
|
+
},
|
|
1311
|
+
{
|
|
1312
|
+
"char": "‹",
|
|
1313
|
+
"name": "left single guillemet",
|
|
1314
|
+
"code": "U+2039"
|
|
1315
|
+
},
|
|
1316
|
+
{
|
|
1317
|
+
"char": "›",
|
|
1318
|
+
"name": "right single guillemet",
|
|
1319
|
+
"code": "U+203A"
|
|
1320
|
+
},
|
|
1321
|
+
{
|
|
1322
|
+
"char": "ʼ",
|
|
1323
|
+
"name": "modifier letter apostrophe",
|
|
1324
|
+
"code": "U+02BC"
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"char": "´",
|
|
1328
|
+
"name": "acute accent",
|
|
1329
|
+
"code": "U+00B4"
|
|
1330
|
+
},
|
|
1331
|
+
{
|
|
1332
|
+
"char": "`",
|
|
1333
|
+
"name": "grave accent",
|
|
1334
|
+
"code": "U+0060"
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
"char": "ʽ",
|
|
1338
|
+
"name": "modifier letter reversed comma",
|
|
1339
|
+
"code": "U+02BD"
|
|
1340
|
+
},
|
|
1341
|
+
{
|
|
1342
|
+
"char": "ʾ",
|
|
1343
|
+
"name": "modifier letter right half ring",
|
|
1344
|
+
"code": "U+02BE"
|
|
1345
|
+
},
|
|
1346
|
+
{
|
|
1347
|
+
"char": "ʿ",
|
|
1348
|
+
"name": "modifier letter left half ring",
|
|
1349
|
+
"code": "U+02BF"
|
|
1350
|
+
},
|
|
1351
|
+
{
|
|
1352
|
+
"char": "ˈ",
|
|
1353
|
+
"name": "modifier letter vertical line",
|
|
1354
|
+
"code": "U+02C8"
|
|
1355
|
+
}
|
|
1356
|
+
]
|
|
1357
|
+
},
|
|
1358
|
+
"dot": {
|
|
1359
|
+
"description": "Dot-like characters",
|
|
1360
|
+
"chars": [
|
|
1361
|
+
{
|
|
1362
|
+
"char": ".",
|
|
1363
|
+
"name": "full stop",
|
|
1364
|
+
"code": "U+002E"
|
|
1365
|
+
},
|
|
1366
|
+
{
|
|
1367
|
+
"char": "·",
|
|
1368
|
+
"name": "middle dot",
|
|
1369
|
+
"code": "U+00B7"
|
|
1370
|
+
},
|
|
1371
|
+
{
|
|
1372
|
+
"char": "•",
|
|
1373
|
+
"name": "bullet",
|
|
1374
|
+
"code": "U+2022"
|
|
1375
|
+
},
|
|
1376
|
+
{
|
|
1377
|
+
"char": "․",
|
|
1378
|
+
"name": "one dot leader",
|
|
1379
|
+
"code": "U+2024"
|
|
1380
|
+
},
|
|
1381
|
+
{
|
|
1382
|
+
"char": "。",
|
|
1383
|
+
"name": "CJK full stop",
|
|
1384
|
+
"code": "U+3002"
|
|
1385
|
+
},
|
|
1386
|
+
{
|
|
1387
|
+
"char": "׃",
|
|
1388
|
+
"name": "Hebrew sof pasuq",
|
|
1389
|
+
"code": "U+05C3"
|
|
1390
|
+
}
|
|
1391
|
+
]
|
|
1392
|
+
},
|
|
1393
|
+
"slash": {
|
|
1394
|
+
"description": "Slash-like characters",
|
|
1395
|
+
"chars": [
|
|
1396
|
+
{
|
|
1397
|
+
"char": "/",
|
|
1398
|
+
"name": "solidus",
|
|
1399
|
+
"code": "U+002F"
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
"char": "⁄",
|
|
1403
|
+
"name": "fraction slash",
|
|
1404
|
+
"code": "U+2044"
|
|
1405
|
+
},
|
|
1406
|
+
{
|
|
1407
|
+
"char": "∕",
|
|
1408
|
+
"name": "division slash",
|
|
1409
|
+
"code": "U+2215"
|
|
1410
|
+
}
|
|
1411
|
+
]
|
|
1412
|
+
},
|
|
1413
|
+
"colon": {
|
|
1414
|
+
"description": "Colon-like characters",
|
|
1415
|
+
"chars": [
|
|
1416
|
+
{
|
|
1417
|
+
"char": ":",
|
|
1418
|
+
"name": "colon",
|
|
1419
|
+
"code": "U+003A"
|
|
1420
|
+
},
|
|
1421
|
+
{
|
|
1422
|
+
"char": "꞉",
|
|
1423
|
+
"name": "modifier letter colon",
|
|
1424
|
+
"code": "U+A789"
|
|
1425
|
+
},
|
|
1426
|
+
{
|
|
1427
|
+
"char": "∶",
|
|
1428
|
+
"name": "ratio",
|
|
1429
|
+
"code": "U+2236"
|
|
1430
|
+
},
|
|
1431
|
+
{
|
|
1432
|
+
"char": ":",
|
|
1433
|
+
"name": "full-width colon",
|
|
1434
|
+
"code": "U+FF1A"
|
|
1435
|
+
},
|
|
1436
|
+
{
|
|
1437
|
+
"char": "፥",
|
|
1438
|
+
"name": "Ethiopic colon",
|
|
1439
|
+
"code": "U+1365"
|
|
1440
|
+
}
|
|
1441
|
+
]
|
|
1442
|
+
},
|
|
1443
|
+
"comma": {
|
|
1444
|
+
"description": "Comma-like characters",
|
|
1445
|
+
"chars": [
|
|
1446
|
+
{
|
|
1447
|
+
"char": ",",
|
|
1448
|
+
"name": "comma",
|
|
1449
|
+
"code": "U+002C"
|
|
1450
|
+
},
|
|
1451
|
+
{
|
|
1452
|
+
"char": "‚",
|
|
1453
|
+
"name": "single low-9 quotation mark (used as comma)",
|
|
1454
|
+
"code": "U+201A"
|
|
1455
|
+
},
|
|
1456
|
+
{
|
|
1457
|
+
"char": "،",
|
|
1458
|
+
"name": "Arabic comma",
|
|
1459
|
+
"code": "U+060C"
|
|
1460
|
+
},
|
|
1461
|
+
{
|
|
1462
|
+
"char": "、",
|
|
1463
|
+
"name": "ideographic comma",
|
|
1464
|
+
"code": "U+3001"
|
|
1465
|
+
},
|
|
1466
|
+
{
|
|
1467
|
+
"char": ",",
|
|
1468
|
+
"name": "full-width comma",
|
|
1469
|
+
"code": "U+FF0C"
|
|
1470
|
+
},
|
|
1471
|
+
{
|
|
1472
|
+
"char": "﹐",
|
|
1473
|
+
"name": "small comma",
|
|
1474
|
+
"code": "U+FE50"
|
|
1475
|
+
},
|
|
1476
|
+
{
|
|
1477
|
+
"char": "՝",
|
|
1478
|
+
"name": "Armenian comma",
|
|
1479
|
+
"code": "U+055D"
|
|
1480
|
+
}
|
|
1481
|
+
]
|
|
1482
|
+
},
|
|
1483
|
+
"ellipsis": {
|
|
1484
|
+
"description": "Ellipsis characters",
|
|
1485
|
+
"chars": [{
|
|
1486
|
+
"char": "…",
|
|
1487
|
+
"name": "horizontal ellipsis",
|
|
1488
|
+
"code": "U+2026"
|
|
1489
|
+
}]
|
|
1490
|
+
},
|
|
1491
|
+
"question-mark": {
|
|
1492
|
+
"description": "Question mark variants",
|
|
1493
|
+
"chars": [
|
|
1494
|
+
{
|
|
1495
|
+
"char": "?",
|
|
1496
|
+
"name": "question mark",
|
|
1497
|
+
"code": "U+003F"
|
|
1498
|
+
},
|
|
1499
|
+
{
|
|
1500
|
+
"char": "?",
|
|
1501
|
+
"name": "full-width question mark",
|
|
1502
|
+
"code": "U+FF1F"
|
|
1503
|
+
},
|
|
1504
|
+
{
|
|
1505
|
+
"char": "⁇",
|
|
1506
|
+
"name": "double question mark",
|
|
1507
|
+
"code": "U+2047"
|
|
1508
|
+
},
|
|
1509
|
+
{
|
|
1510
|
+
"char": "⁈",
|
|
1511
|
+
"name": "question exclamation mark",
|
|
1512
|
+
"code": "U+2048"
|
|
1513
|
+
},
|
|
1514
|
+
{
|
|
1515
|
+
"char": "؟",
|
|
1516
|
+
"name": "Arabic question mark",
|
|
1517
|
+
"code": "U+061F"
|
|
1518
|
+
},
|
|
1519
|
+
{
|
|
1520
|
+
"char": "‽",
|
|
1521
|
+
"name": "interrobang",
|
|
1522
|
+
"code": "U+203D"
|
|
1523
|
+
}
|
|
1524
|
+
]
|
|
1525
|
+
},
|
|
1526
|
+
"exclamation-mark": {
|
|
1527
|
+
"description": "Exclamation mark variants",
|
|
1528
|
+
"chars": [
|
|
1529
|
+
{
|
|
1530
|
+
"char": "!",
|
|
1531
|
+
"name": "exclamation mark",
|
|
1532
|
+
"code": "U+0021"
|
|
1533
|
+
},
|
|
1534
|
+
{
|
|
1535
|
+
"char": "!",
|
|
1536
|
+
"name": "full-width exclamation mark",
|
|
1537
|
+
"code": "U+FF01"
|
|
1538
|
+
},
|
|
1539
|
+
{
|
|
1540
|
+
"char": "‼",
|
|
1541
|
+
"name": "double exclamation mark",
|
|
1542
|
+
"code": "U+203C"
|
|
1543
|
+
},
|
|
1544
|
+
{
|
|
1545
|
+
"char": "¡",
|
|
1546
|
+
"name": "inverted exclamation mark",
|
|
1547
|
+
"code": "U+00A1"
|
|
1548
|
+
}
|
|
1549
|
+
]
|
|
1550
|
+
},
|
|
1551
|
+
"semicolon": {
|
|
1552
|
+
"description": "Semicolon variants",
|
|
1553
|
+
"chars": [
|
|
1554
|
+
{
|
|
1555
|
+
"char": ";",
|
|
1556
|
+
"name": "semicolon",
|
|
1557
|
+
"code": "U+003B"
|
|
1558
|
+
},
|
|
1559
|
+
{
|
|
1560
|
+
"char": "؛",
|
|
1561
|
+
"name": "Arabic semicolon",
|
|
1562
|
+
"code": "U+061B"
|
|
1563
|
+
},
|
|
1564
|
+
{
|
|
1565
|
+
"char": ";",
|
|
1566
|
+
"name": "full-width semicolon",
|
|
1567
|
+
"code": "U+FF1B"
|
|
1568
|
+
},
|
|
1569
|
+
{
|
|
1570
|
+
"char": "፤",
|
|
1571
|
+
"name": "Ethiopic semicolon",
|
|
1572
|
+
"code": "U+1364"
|
|
1573
|
+
}
|
|
1574
|
+
]
|
|
1575
|
+
},
|
|
1576
|
+
"underscore": {
|
|
1577
|
+
"description": "Underscore variants",
|
|
1578
|
+
"chars": [{
|
|
1579
|
+
"char": "_",
|
|
1580
|
+
"name": "low line",
|
|
1581
|
+
"code": "U+005F"
|
|
1582
|
+
}, {
|
|
1583
|
+
"char": "_",
|
|
1584
|
+
"name": "full-width low line",
|
|
1585
|
+
"code": "U+FF3F"
|
|
1586
|
+
}]
|
|
1587
|
+
}
|
|
1588
|
+
}
|
|
1589
|
+
};
|
|
1590
|
+
//#endregion
|
|
1090
1591
|
//#region src/util/char-groups.ts
|
|
1091
1592
|
/**
|
|
1092
1593
|
* Centralized Unicode character equivalence groups.
|
|
1093
1594
|
*
|
|
1094
|
-
*
|
|
1095
|
-
*
|
|
1595
|
+
* Centralized Unicode character equivalence groups.
|
|
1596
|
+
*
|
|
1597
|
+
* Provides helpers to build regex character classes that
|
|
1096
1598
|
* match all typographic variants of a character type
|
|
1097
1599
|
* (dashes, spaces, quotes, etc.).
|
|
1098
1600
|
*
|
|
@@ -1102,7 +1604,7 @@ const POST_NOMINALS = [
|
|
|
1102
1604
|
/** Chars that need escaping inside a regex char class. */
|
|
1103
1605
|
const REGEX_CLASS_SPECIAL = /[\\\]^-]/;
|
|
1104
1606
|
const escapeForCharClass = (ch) => REGEX_CLASS_SPECIAL.test(ch) ? `\\${ch}` : ch;
|
|
1105
|
-
const config =
|
|
1607
|
+
const config = char_groups_default;
|
|
1106
1608
|
/**
|
|
1107
1609
|
* Get the raw characters for a named group.
|
|
1108
1610
|
* Throws if the group does not exist.
|
|
@@ -1441,7 +1943,7 @@ const buildDatePatternsFromMonths = (alt) => {
|
|
|
1441
1943
|
/** Cached promise for date patterns. Loaded once. */
|
|
1442
1944
|
let datePatternPromise = null;
|
|
1443
1945
|
const loadDatePatterns = async () => {
|
|
1444
|
-
const mod = await import("
|
|
1946
|
+
const mod = await import("./date-months.mjs");
|
|
1445
1947
|
return buildDatePatternsFromMonths(buildMonthAlternation(mod.default ?? mod));
|
|
1446
1948
|
};
|
|
1447
1949
|
/**
|
|
@@ -1508,7 +2010,7 @@ const buildCurrencyPatterns = (data) => {
|
|
|
1508
2010
|
/** Cached promise for currency patterns. Loaded once. */
|
|
1509
2011
|
let currencyPatternPromise = null;
|
|
1510
2012
|
const loadCurrencyPatterns = async () => {
|
|
1511
|
-
const mod = await import("
|
|
2013
|
+
const mod = await import("./currencies.mjs");
|
|
1512
2014
|
return buildCurrencyPatterns(mod.default ?? mod);
|
|
1513
2015
|
};
|
|
1514
2016
|
/**
|
|
@@ -1590,7 +2092,7 @@ const SIGNING_CLAUSE_META = {
|
|
|
1590
2092
|
};
|
|
1591
2093
|
let signingPatternPromise = null;
|
|
1592
2094
|
const loadSigningPatterns = async () => {
|
|
1593
|
-
const mod = await import("
|
|
2095
|
+
const mod = await import("./signing-clauses.mjs");
|
|
1594
2096
|
return buildSigningClausePatterns(mod.default ?? mod);
|
|
1595
2097
|
};
|
|
1596
2098
|
const getSigningClausePatterns = () => {
|
|
@@ -1624,7 +2126,7 @@ const buildPatternString = (forms) => {
|
|
|
1624
2126
|
const buildLegalFormPatterns = async () => {
|
|
1625
2127
|
let data = {};
|
|
1626
2128
|
try {
|
|
1627
|
-
data = (await import("
|
|
2129
|
+
data = (await import("./legal-forms.mjs")).default;
|
|
1628
2130
|
} catch {
|
|
1629
2131
|
return [];
|
|
1630
2132
|
}
|
|
@@ -1942,14 +2444,14 @@ const buildTriggerPatterns = async () => {
|
|
|
1942
2444
|
rules.push(...expandTriggerGroups(groups));
|
|
1943
2445
|
}
|
|
1944
2446
|
try {
|
|
1945
|
-
const globalMod = await import("
|
|
2447
|
+
const globalMod = await import("./triggers.global.mjs");
|
|
1946
2448
|
const globalGroups = globalMod.default ?? globalMod;
|
|
1947
2449
|
if (Array.isArray(globalGroups)) rules.push(...expandTriggerGroups(globalGroups));
|
|
1948
2450
|
} catch (err) {
|
|
1949
2451
|
if (!(err instanceof Error) || !err.message.includes("Cannot find module")) throw err;
|
|
1950
2452
|
}
|
|
1951
2453
|
try {
|
|
1952
|
-
const yearMod = await import("
|
|
2454
|
+
const yearMod = await import("./year-words.mjs");
|
|
1953
2455
|
const data = yearMod.default ?? yearMod;
|
|
1954
2456
|
const seen = /* @__PURE__ */ new Set();
|
|
1955
2457
|
const yearValidation = compileValidations([{
|
|
@@ -2566,7 +3068,7 @@ const loadGenericRoles = (ctx = defaultContext) => {
|
|
|
2566
3068
|
if (ctx.genericRolesPromise) return ctx.genericRolesPromise;
|
|
2567
3069
|
ctx.genericRolesPromise = (async () => {
|
|
2568
3070
|
try {
|
|
2569
|
-
const mod = await import("
|
|
3071
|
+
const mod = await import("./generic-roles.mjs");
|
|
2570
3072
|
const set = new Set(mod.default?.roles ?? []);
|
|
2571
3073
|
ctx.genericRoles = set;
|
|
2572
3074
|
return set;
|
|
@@ -2660,7 +3162,7 @@ const normalizeForSearch = (text) => {
|
|
|
2660
3162
|
*/
|
|
2661
3163
|
const loadDataModule = async () => {
|
|
2662
3164
|
try {
|
|
2663
|
-
return await import("
|
|
3165
|
+
return await import("./dist.mjs");
|
|
2664
3166
|
} catch {
|
|
2665
3167
|
return null;
|
|
2666
3168
|
}
|
|
@@ -2669,7 +3171,7 @@ const loadAllowList = (ctx) => {
|
|
|
2669
3171
|
if (ctx.allowListPromise) return ctx.allowListPromise;
|
|
2670
3172
|
ctx.allowListPromise = (async () => {
|
|
2671
3173
|
try {
|
|
2672
|
-
const mod = await import("
|
|
3174
|
+
const mod = await import("./allow-list.mjs");
|
|
2673
3175
|
const set = new Set(mod.default?.words ?? []);
|
|
2674
3176
|
ctx.allowList = set;
|
|
2675
3177
|
return set;
|
|
@@ -2744,7 +3246,7 @@ const loadStopwords = (ctx) => {
|
|
|
2744
3246
|
if (ctx.stopwordsPromise) return ctx.stopwordsPromise;
|
|
2745
3247
|
ctx.stopwordsPromise = (async () => {
|
|
2746
3248
|
try {
|
|
2747
|
-
const list = ((await import("
|
|
3249
|
+
const list = ((await import("./stopwords.mjs")).default ?? []).filter((w) => !getFirstNameExclusions(ctx).has(w));
|
|
2748
3250
|
const set = new Set(list);
|
|
2749
3251
|
ctx.stopwords = set;
|
|
2750
3252
|
return set;
|
|
@@ -2764,7 +3266,7 @@ const loadPersonStopwords = (ctx) => {
|
|
|
2764
3266
|
if (ctx.personStopwordsPromise) return ctx.personStopwordsPromise;
|
|
2765
3267
|
ctx.personStopwordsPromise = (async () => {
|
|
2766
3268
|
try {
|
|
2767
|
-
const mod = await import("
|
|
3269
|
+
const mod = await import("./person-stopwords.mjs");
|
|
2768
3270
|
const set = new Set(mod.default?.words ?? []);
|
|
2769
3271
|
ctx.personStopwords = set;
|
|
2770
3272
|
return set;
|
|
@@ -3137,7 +3639,7 @@ const extendPersonName = (text, start, end, ctx) => {
|
|
|
3137
3639
|
let cachedBoundaryRe = null;
|
|
3138
3640
|
const loadBoundaryWords = async () => {
|
|
3139
3641
|
try {
|
|
3140
|
-
return (await import("
|
|
3642
|
+
return (await import("./address-boundaries.mjs")).default;
|
|
3141
3643
|
} catch {
|
|
3142
3644
|
return {};
|
|
3143
3645
|
}
|
|
@@ -3166,7 +3668,7 @@ const getBoundaryRe = async () => {
|
|
|
3166
3668
|
const buildStreetTypePatterns = async () => {
|
|
3167
3669
|
let config = {};
|
|
3168
3670
|
try {
|
|
3169
|
-
config = (await import("
|
|
3671
|
+
config = (await import("./address-street-types.mjs")).default;
|
|
3170
3672
|
} catch {
|
|
3171
3673
|
return [];
|
|
3172
3674
|
}
|
|
@@ -3494,7 +3996,7 @@ let _temporalPreps = null;
|
|
|
3494
3996
|
let _prepsPromise = null;
|
|
3495
3997
|
const loadPrepositions = async () => {
|
|
3496
3998
|
try {
|
|
3497
|
-
const mod = await import("
|
|
3999
|
+
const mod = await import("./address-prepositions.mjs");
|
|
3498
4000
|
const data = mod.default ?? mod;
|
|
3499
4001
|
const addr = /* @__PURE__ */ new Set();
|
|
3500
4002
|
const temp = /* @__PURE__ */ new Set();
|
|
@@ -3518,7 +4020,7 @@ let _streetAbbrevs = null;
|
|
|
3518
4020
|
let _streetAbbrevsPromise = null;
|
|
3519
4021
|
const loadStreetAbbrevs = async () => {
|
|
3520
4022
|
try {
|
|
3521
|
-
const mod = await import("
|
|
4023
|
+
const mod = await import("./address-street-types.mjs");
|
|
3522
4024
|
const data = mod.default ?? mod;
|
|
3523
4025
|
const abbrevs = /* @__PURE__ */ new Set();
|
|
3524
4026
|
for (const [key, words] of Object.entries(data)) {
|
|
@@ -3687,11 +4189,11 @@ const ZONE_SCORE_ADJUSTMENTS = {
|
|
|
3687
4189
|
table: .05
|
|
3688
4190
|
};
|
|
3689
4191
|
const loadSectionHeadings = async () => {
|
|
3690
|
-
const mod = await import("
|
|
4192
|
+
const mod = await import("./section-headings.mjs");
|
|
3691
4193
|
return (mod.default ?? mod).patterns.map((p) => new RegExp(p.re, p.flags));
|
|
3692
4194
|
};
|
|
3693
4195
|
const loadSigningClauses = async () => {
|
|
3694
|
-
const mod = await import("
|
|
4196
|
+
const mod = await import("./signing-clauses.mjs");
|
|
3695
4197
|
return (mod.default ?? mod).patterns.map((p) => {
|
|
3696
4198
|
const prefix = p.prefix || "";
|
|
3697
4199
|
const suffix = p.suffix || "";
|
|
@@ -3875,7 +4377,7 @@ let search = null;
|
|
|
3875
4377
|
let patternToRule = null;
|
|
3876
4378
|
let initPromise = null;
|
|
3877
4379
|
const loadRules = async () => {
|
|
3878
|
-
const mod = await import("
|
|
4380
|
+
const mod = await import("./hotword-rules.mjs");
|
|
3879
4381
|
const loaded = (mod.default ?? mod).rules;
|
|
3880
4382
|
const patterns = [];
|
|
3881
4383
|
const mapping = [];
|
|
@@ -4575,7 +5077,7 @@ let amountWordsLoaded = false;
|
|
|
4575
5077
|
const getAmountWordsRe = async () => {
|
|
4576
5078
|
if (amountWordsLoaded && amountWordsRe) return amountWordsRe;
|
|
4577
5079
|
try {
|
|
4578
|
-
const alt = (await import("
|
|
5080
|
+
const alt = (await import("./amount-words.mjs")).default.patterns.flatMap((p) => p.keywords).map(escapeRegex).join("|");
|
|
4579
5081
|
amountWordsRe = new RegExp(`^[,;]?[^\\S\\n]*(\\((?:${alt})[:\\s][^)\\n]{1,120}\\))`, "i");
|
|
4580
5082
|
} catch {
|
|
4581
5083
|
amountWordsRe = /^[,;]?[^\S\n]*(\((?:slovy|slovně)[:\s][^)\n]{1,120}\))/i;
|