taraskevizer 6.0.5 → 6.0.7
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/index.cjs +146 -136
- package/dist/index.d.ts +5 -2
- package/dist/index.js +146 -136
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -29,8 +29,25 @@ __export(src_exports, {
|
|
|
29
29
|
});
|
|
30
30
|
module.exports = __toCommonJS(src_exports);
|
|
31
31
|
|
|
32
|
-
// src/dict/
|
|
32
|
+
// src/dict/lib.ts
|
|
33
|
+
var dictFrom = {
|
|
34
|
+
raw: (dict) => {
|
|
35
|
+
for (const item of dict)
|
|
36
|
+
item[0] = RegExp(
|
|
37
|
+
item[0],
|
|
38
|
+
item[0] instanceof RegExp ? item[0].flags + "g" : "g"
|
|
39
|
+
);
|
|
40
|
+
return dict;
|
|
41
|
+
},
|
|
42
|
+
nonGlobal: (dict) => {
|
|
43
|
+
for (const item of dict)
|
|
44
|
+
item[0] = RegExp(item[0], "g" + item[0].flags);
|
|
45
|
+
return dict;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
33
48
|
var toOneLine = (str) => str.replace(/\n/g, "|");
|
|
49
|
+
|
|
50
|
+
// src/dict/iwords.ts
|
|
34
51
|
var iwords = toOneLine(`біс
|
|
35
52
|
бсэн
|
|
36
53
|
в[аеоы]
|
|
@@ -141,7 +158,7 @@ var common = {
|
|
|
141
158
|
[/[łl]i([eoua])/, "l$1"],
|
|
142
159
|
[/łi/, "li"]
|
|
143
160
|
]
|
|
144
|
-
],
|
|
161
|
+
].map(dictFrom.nonGlobal),
|
|
145
162
|
upper: [
|
|
146
163
|
[
|
|
147
164
|
[new RegExp(" Е(?=[ \\p{P}\\d]*\\p{Lu}?\\p{Ll})", "u"), " Je"],
|
|
@@ -198,15 +215,15 @@ var common = {
|
|
|
198
215
|
[/Łi/, "Li"],
|
|
199
216
|
[/ŁI/, "LI"]
|
|
200
217
|
]
|
|
201
|
-
]
|
|
218
|
+
].map(dictFrom.nonGlobal)
|
|
202
219
|
};
|
|
203
220
|
var latinLetters = [
|
|
204
221
|
...common.lower[0],
|
|
205
|
-
[
|
|
222
|
+
[/ʼі/g, "ji"],
|
|
206
223
|
...common.lower[1]
|
|
207
224
|
];
|
|
208
225
|
var latinLettersUpperCase = common.upper.flat();
|
|
209
|
-
var
|
|
226
|
+
var latinLettersJi = dictFrom.raw([
|
|
210
227
|
[/(?<=[аеёіоуыэюяАЕЁІОУЫЭЮЯ] )і Ў/, "j U"],
|
|
211
228
|
[/(?<=[аеёіоуыэюяАЕЁІОУЫЭЮЯ] )і ў/, "j u"],
|
|
212
229
|
[/(?<=[аеёіоуыэюяАЕЁІОУЫЭЮЯ] )і /, "j "],
|
|
@@ -215,24 +232,25 @@ var rawLatinLettersJi = [
|
|
|
215
232
|
[/(?<=[аеёіоуыэюяАЕЁІОУЫЭЮЯ] )І /, "J "],
|
|
216
233
|
[` і(?=${iwords})`, " ji"],
|
|
217
234
|
[` І(?=${iwords})`, " Ji"],
|
|
218
|
-
[` І(?=${iwords.toUpperCase()})`, " JI"]
|
|
235
|
+
[` І(?=${iwords.toUpperCase()})`, " JI"]
|
|
236
|
+
]).concat([
|
|
219
237
|
...common.lower[0],
|
|
220
|
-
[/(?<=[eouaаеёіоуыэюяʼАЕЁІОУЫЭЮЯЬ] *)
|
|
238
|
+
[/(?<=[eouaаеёіоуыэюяʼАЕЁІОУЫЭЮЯЬ] *)і/g, "ji"],
|
|
221
239
|
...common.lower[1]
|
|
222
|
-
];
|
|
223
|
-
var
|
|
240
|
+
]);
|
|
241
|
+
var latinLettersUpperCaseJi = [
|
|
224
242
|
...common.upper[0],
|
|
225
|
-
[new RegExp("(?<=[eoua] *)І(?=[ \\p{P}\\d]*\\p{Lu}?\\p{Ll})", "
|
|
243
|
+
[new RegExp("(?<=[eoua] *)І(?=[ \\p{P}\\d]*\\p{Lu}?\\p{Ll})", "gu"), "Ji"],
|
|
226
244
|
...common.upper[1],
|
|
227
|
-
[/(?<=[AOEUАЕЁІОУЎЫЭЮЯ][( ]*)
|
|
245
|
+
[/(?<=[AOEUАЕЁІОУЎЫЭЮЯ][( ]*)І/g, "JI"],
|
|
228
246
|
...common.upper[2],
|
|
229
|
-
[/ JIŁ
|
|
247
|
+
[/ JIŁ -/g, " IŁ -"]
|
|
230
248
|
];
|
|
231
249
|
|
|
232
250
|
// src/dict/arabic.ts
|
|
233
251
|
var soft = "ْ(?=[еёіюяь])";
|
|
234
252
|
var presoft = "([تزكثࢮбвгджзйклмнпрстфхцчшў])ْ?(ّ?)";
|
|
235
|
-
var
|
|
253
|
+
var arabLetters = dictFrom.raw([
|
|
236
254
|
[/ л[ая]/, " لا"],
|
|
237
255
|
[/л[ая]/, "ـلا"],
|
|
238
256
|
// падваеньне зычнага, шадда
|
|
@@ -287,9 +305,17 @@ var rawArabLetters = [
|
|
|
287
305
|
[/ш/, "ش"],
|
|
288
306
|
[/,/, "،"],
|
|
289
307
|
[/\?/, "؟"]
|
|
290
|
-
];
|
|
308
|
+
]);
|
|
309
|
+
|
|
310
|
+
// src/dict/gobj.ts
|
|
311
|
+
var gobj = {
|
|
312
|
+
г: "ґ",
|
|
313
|
+
Г: "Ґ",
|
|
314
|
+
ґ: "г",
|
|
315
|
+
Ґ: "Г"
|
|
316
|
+
};
|
|
291
317
|
|
|
292
|
-
// src/dict/
|
|
318
|
+
// src/dict/wordlist.ts
|
|
293
319
|
var chemicalElements1 = [
|
|
294
320
|
"сканд|ванад|рубід|род|ірыд|рэзэрфорд",
|
|
295
321
|
"стронц|бар|цэр|лютэц|самар| тор|амэрыц|кальц|кюр|дармштат|лівэрмор|натр"
|
|
@@ -302,7 +328,93 @@ var chemicalElements2 = [
|
|
|
302
328
|
chemicalElements2[1] = chemicalElements2[0] + "|айнштайн|мендзялев|сыборг|гас|флеров";
|
|
303
329
|
var chemicalElements3 = " гал|бэрыл|тул|бэркл|набэл";
|
|
304
330
|
var ia = (word, words) => ` ${word} (?=\\(?(?:[бвгджзйклмнпстфцчшў]*[оё]|${words.replace(/\(/g, "(?:")}|i(?:${iwords})))`;
|
|
305
|
-
var
|
|
331
|
+
var gwords = [
|
|
332
|
+
" ґб ",
|
|
333
|
+
"ґг",
|
|
334
|
+
"абрызґл",
|
|
335
|
+
" аґюст",
|
|
336
|
+
"анґол",
|
|
337
|
+
"арґаніз",
|
|
338
|
+
"арлінґтан",
|
|
339
|
+
"арыґінал",
|
|
340
|
+
" аўґс",
|
|
341
|
+
"аўґуст",
|
|
342
|
+
"аґрэст",
|
|
343
|
+
" біґ ",
|
|
344
|
+
" бразґ",
|
|
345
|
+
"буґацці",
|
|
346
|
+
"бурґ",
|
|
347
|
+
"вашынґт",
|
|
348
|
+
"возґр",
|
|
349
|
+
"вэдзґа",
|
|
350
|
+
" гааґ",
|
|
351
|
+
" ґабрыел",
|
|
352
|
+
" ґазэт",
|
|
353
|
+
" ґаксон",
|
|
354
|
+
" ґалац",
|
|
355
|
+
" ґалґоф",
|
|
356
|
+
" ґалер",
|
|
357
|
+
" ґаліле",
|
|
358
|
+
" ґальґот",
|
|
359
|
+
" ґамбі",
|
|
360
|
+
" ґарант",
|
|
361
|
+
" ґарсэт",
|
|
362
|
+
"ґарыбальдзі",
|
|
363
|
+
" ґаўс",
|
|
364
|
+
" ґаян",
|
|
365
|
+
"ґвалт",
|
|
366
|
+
// ' ґелер',
|
|
367
|
+
// ' ґент',
|
|
368
|
+
" ґётэ ",
|
|
369
|
+
" ґзымс",
|
|
370
|
+
" ґіём",
|
|
371
|
+
" ґітлін",
|
|
372
|
+
" ґлазґа ",
|
|
373
|
+
" ґліцэрын",
|
|
374
|
+
" ґлясар",
|
|
375
|
+
" ґонт",
|
|
376
|
+
" ґот",
|
|
377
|
+
" ґоцц",
|
|
378
|
+
" ґрадус",
|
|
379
|
+
"ґранд",
|
|
380
|
+
"ґрунт",
|
|
381
|
+
" ґрэйвэз",
|
|
382
|
+
"ґрэнобл",
|
|
383
|
+
"ґрэнлянд",
|
|
384
|
+
" ґузік",
|
|
385
|
+
" ґуст ",
|
|
386
|
+
" ґэлап",
|
|
387
|
+
" ґэры ",
|
|
388
|
+
" ґяд",
|
|
389
|
+
" ґяндж",
|
|
390
|
+
" джамалунґм",
|
|
391
|
+
" джґа",
|
|
392
|
+
" ірвінґ",
|
|
393
|
+
" іґнар",
|
|
394
|
+
" інтэґр",
|
|
395
|
+
" калеґ",
|
|
396
|
+
" кіплінґ",
|
|
397
|
+
"леґенд",
|
|
398
|
+
" лонґ",
|
|
399
|
+
" лэнґлі ",
|
|
400
|
+
" мазґ",
|
|
401
|
+
" мэґі ",
|
|
402
|
+
" мяґі ",
|
|
403
|
+
// 'нінґен',
|
|
404
|
+
" ніяґар",
|
|
405
|
+
"пінґвін",
|
|
406
|
+
"плявузґ",
|
|
407
|
+
"праґрам",
|
|
408
|
+
" розґ",
|
|
409
|
+
" ролінґ",
|
|
410
|
+
" рэдынґ",
|
|
411
|
+
" сіґітас",
|
|
412
|
+
" сійґ",
|
|
413
|
+
"райхстаґ",
|
|
414
|
+
" уґанд",
|
|
415
|
+
" цуґл"
|
|
416
|
+
].reverse().map((word) => [RegExp(word.replace(/ґ/g, "г"), "g"), word]);
|
|
417
|
+
var wordlist = dictFrom.raw([
|
|
306
418
|
/* А */
|
|
307
419
|
[/аахен/, "аахэн"],
|
|
308
420
|
[/абанен(?=[тц])/, "абанэн"],
|
|
@@ -1878,8 +1990,14 @@ var rawWordlist = [
|
|
|
1878
1990
|
[/ яблынь /, " яблын(ь|яў) "],
|
|
1879
1991
|
[/ расей /, " расе(й|яў) "],
|
|
1880
1992
|
[//, ""]
|
|
1881
|
-
];
|
|
1882
|
-
|
|
1993
|
+
]).concat(gwords);
|
|
1994
|
+
|
|
1995
|
+
// src/dict/softening.ts
|
|
1996
|
+
var noSoften = dictFrom.nonGlobal([
|
|
1997
|
+
[/масфільм/, "масфільм"],
|
|
1998
|
+
[/пэндзлік/, "пэндзлік"]
|
|
1999
|
+
]);
|
|
2000
|
+
var softeners = dictFrom.raw([
|
|
1883
2001
|
[/([лнц])\1(?=[еёіюяь])/, "$1ь$1"],
|
|
1884
2002
|
[/(\S\S)дз?дз(?=[еёіюяь])/, "$1дзьдз"],
|
|
1885
2003
|
[/адзьдз([ея])л/, "аддз$1л"],
|
|
@@ -1888,121 +2006,12 @@ var rawsofteners = [
|
|
|
1888
2006
|
[/з(?=([бвзлмнц]|дз)[еёіюяь])/, "зь"],
|
|
1889
2007
|
[/с(?=[бвлмнпсфц][еёіюяь])/, "сь"],
|
|
1890
2008
|
[/ц(?=[вм][еёіюяь])/, "ць"],
|
|
1891
|
-
[
|
|
2009
|
+
[
|
|
2010
|
+
`( (?:б[ея]|пра|цера)?з) (?=\\(?)(?=[еёюяь]|([бвзйлмнпстфц]|дз)[еёіюяь]|імі? |іх(?:ні)?|і(?:${iwords}))`,
|
|
2011
|
+
"$1ь "
|
|
2012
|
+
],
|
|
1892
2013
|
[/([сз])ʼ(?=[яюеё])/, "$1ь"]
|
|
1893
|
-
];
|
|
1894
|
-
var gwords = [
|
|
1895
|
-
" ґб ",
|
|
1896
|
-
"ґг",
|
|
1897
|
-
"абрызґл",
|
|
1898
|
-
" аґюст",
|
|
1899
|
-
"анґол",
|
|
1900
|
-
"арґаніз",
|
|
1901
|
-
"арлінґтан",
|
|
1902
|
-
"арыґінал",
|
|
1903
|
-
" аўґс",
|
|
1904
|
-
"аўґуст",
|
|
1905
|
-
"аґрэст",
|
|
1906
|
-
" біґ ",
|
|
1907
|
-
" бразґ",
|
|
1908
|
-
"буґацці",
|
|
1909
|
-
"бурґ",
|
|
1910
|
-
"вашынґт",
|
|
1911
|
-
"возґр",
|
|
1912
|
-
"вэдзґа",
|
|
1913
|
-
" гааґ",
|
|
1914
|
-
" ґабрыел",
|
|
1915
|
-
" ґазэт",
|
|
1916
|
-
" ґаксон",
|
|
1917
|
-
" ґалац",
|
|
1918
|
-
" ґалґоф",
|
|
1919
|
-
" ґалер",
|
|
1920
|
-
" ґаліле",
|
|
1921
|
-
" ґальґот",
|
|
1922
|
-
" ґамбі",
|
|
1923
|
-
" ґарант",
|
|
1924
|
-
" ґарсэт",
|
|
1925
|
-
"ґарыбальдзі",
|
|
1926
|
-
" ґаўс",
|
|
1927
|
-
" ґаян",
|
|
1928
|
-
"ґвалт",
|
|
1929
|
-
// ' ґелер',
|
|
1930
|
-
// ' ґент',
|
|
1931
|
-
" ґётэ ",
|
|
1932
|
-
" ґзымс",
|
|
1933
|
-
" ґіём",
|
|
1934
|
-
" ґітлін",
|
|
1935
|
-
" ґлазґа ",
|
|
1936
|
-
" ґліцэрын",
|
|
1937
|
-
" ґлясар",
|
|
1938
|
-
" ґонт",
|
|
1939
|
-
" ґот",
|
|
1940
|
-
" ґоцц",
|
|
1941
|
-
" ґрадус",
|
|
1942
|
-
"ґранд",
|
|
1943
|
-
"ґрунт",
|
|
1944
|
-
" ґрэйвэз",
|
|
1945
|
-
"ґрэнобл",
|
|
1946
|
-
"ґрэнлянд",
|
|
1947
|
-
" ґузік",
|
|
1948
|
-
" ґуст ",
|
|
1949
|
-
" ґэлап",
|
|
1950
|
-
" ґэры ",
|
|
1951
|
-
" ґяд",
|
|
1952
|
-
" ґяндж",
|
|
1953
|
-
" джамалунґм",
|
|
1954
|
-
" джґа",
|
|
1955
|
-
" ірвінґ",
|
|
1956
|
-
" іґнар",
|
|
1957
|
-
" інтэґр",
|
|
1958
|
-
" калеґ",
|
|
1959
|
-
" кіплінґ",
|
|
1960
|
-
"леґенд",
|
|
1961
|
-
" лонґ",
|
|
1962
|
-
" лэнґлі ",
|
|
1963
|
-
" мазґ",
|
|
1964
|
-
" мэґі ",
|
|
1965
|
-
" мяґі ",
|
|
1966
|
-
// 'нінґен',
|
|
1967
|
-
" ніяґар",
|
|
1968
|
-
"пінґвін",
|
|
1969
|
-
"плявузґ",
|
|
1970
|
-
"праґрам",
|
|
1971
|
-
" розґ",
|
|
1972
|
-
" ролінґ",
|
|
1973
|
-
" рэдынґ",
|
|
1974
|
-
" сіґітас",
|
|
1975
|
-
" сійґ",
|
|
1976
|
-
"райхстаґ",
|
|
1977
|
-
" уґанд",
|
|
1978
|
-
" цуґл"
|
|
1979
|
-
].reverse();
|
|
1980
|
-
var gobj = {
|
|
1981
|
-
"г": "ґ",
|
|
1982
|
-
"Г": "Ґ",
|
|
1983
|
-
"ґ": "г",
|
|
1984
|
-
"Ґ": "Г"
|
|
1985
|
-
};
|
|
1986
|
-
var wordlist = [];
|
|
1987
|
-
var softeners = [];
|
|
1988
|
-
var arabLetters = [];
|
|
1989
|
-
var latinLettersJi = [];
|
|
1990
|
-
var latinLettersUpperCaseJi = [];
|
|
1991
|
-
var arr = [
|
|
1992
|
-
[rawWordlist, wordlist],
|
|
1993
|
-
[rawsofteners, softeners],
|
|
1994
|
-
[rawArabLetters, arabLetters],
|
|
1995
|
-
[rawLatinLettersJi, latinLettersJi],
|
|
1996
|
-
[rawLatinLettersUpperCaseJi, latinLettersUpperCaseJi]
|
|
1997
|
-
];
|
|
1998
|
-
for (const [raw, obj] of arr)
|
|
1999
|
-
for (const [pattern, result] of raw)
|
|
2000
|
-
obj.push([RegExp(pattern, pattern instanceof RegExp ? pattern.flags + "g" : "g"), result]);
|
|
2001
|
-
for (const obj of [latinLetters, latinLettersUpperCase])
|
|
2002
|
-
for (const item of obj)
|
|
2003
|
-
item[0] = RegExp(item[0], "g" + item[0].flags);
|
|
2004
|
-
for (const word of gwords)
|
|
2005
|
-
wordlist.push([RegExp(word.replace(/ґ/g, "г"), "g"), word]);
|
|
2014
|
+
]);
|
|
2006
2015
|
|
|
2007
2016
|
// src/tarask.ts
|
|
2008
2017
|
var isUpperCase = (str) => str === str.toUpperCase();
|
|
@@ -2063,7 +2072,7 @@ var afterTarask = [
|
|
|
2063
2072
|
($0, $1, $2) => /([ая]ў|ну)$/.test($2) ? $1 + "ь і" + $2 : $0
|
|
2064
2073
|
]
|
|
2065
2074
|
];
|
|
2066
|
-
var applyNoFix = (
|
|
2075
|
+
var applyNoFix = (arr, text) => arr.length ? text.replace(NOFIX_REGEX, () => arr.shift()) : text;
|
|
2067
2076
|
var afterJoin = (text) => text.replace(/ /g, " ").replace(new RegExp(" (\\p{P}|\\p{S}|\\d|() ", "gu"), "$1");
|
|
2068
2077
|
var join = (textArr) => afterJoin(textArr.join(" "));
|
|
2069
2078
|
var finalize = (text, newLine) => text.replace(/ \t /g, " ").replace(/ \n /g, newLine).trim();
|
|
@@ -2171,7 +2180,8 @@ var __tarask__ = {
|
|
|
2171
2180
|
wordlist,
|
|
2172
2181
|
softeners,
|
|
2173
2182
|
replaceWithDict,
|
|
2174
|
-
afterTarask
|
|
2183
|
+
afterTarask,
|
|
2184
|
+
noSoften
|
|
2175
2185
|
};
|
|
2176
2186
|
var convertAlphabet = (text, abc) => replaceWithDict(replaceWithDict(text, letters[abc]), lettersUpperCase[abc]);
|
|
2177
2187
|
var restoreBraces = (text) => text.replace(/(/g, "(");
|
|
@@ -2295,7 +2305,7 @@ var Taraskevizer = class {
|
|
|
2295
2305
|
return { splittedOrig, splitted };
|
|
2296
2306
|
}
|
|
2297
2307
|
taraskevize(text) {
|
|
2298
|
-
text = replaceWithDict(text, wordlist);
|
|
2308
|
+
text = replaceWithDict(replaceWithDict(text, wordlist), noSoften);
|
|
2299
2309
|
softening:
|
|
2300
2310
|
do {
|
|
2301
2311
|
text = replaceWithDict(text, softeners);
|
|
@@ -2304,7 +2314,7 @@ var Taraskevizer = class {
|
|
|
2304
2314
|
continue softening;
|
|
2305
2315
|
break;
|
|
2306
2316
|
} while (true);
|
|
2307
|
-
return replaceWithDict(text, afterTarask);
|
|
2317
|
+
return replaceWithDict(text.replace(//g, ""), afterTarask);
|
|
2308
2318
|
}
|
|
2309
2319
|
};
|
|
2310
2320
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
type Dict<T = RegExp> = readonly (readonly [T, string])[];
|
|
2
|
+
type WritableDict<T = RegExp> = [T, string][];
|
|
3
|
+
|
|
1
4
|
type ModifyObjectType<T, TResultObj> = T extends object ? T extends (...args: any[]) => any ? T : TResultObj : T;
|
|
2
5
|
type DeepPartialReadonly<T> = ModifyObjectType<T, {
|
|
3
6
|
readonly [P in keyof T]?: DeepPartialReadonly<T[P]>;
|
|
@@ -18,7 +21,6 @@ type NonHtmlOptions = {
|
|
|
18
21
|
type HtmlOptions = {
|
|
19
22
|
g: boolean;
|
|
20
23
|
};
|
|
21
|
-
type Dict<T = RegExp> = readonly (readonly [T, string])[];
|
|
22
24
|
type ExtendedDict = readonly (readonly [
|
|
23
25
|
RegExp,
|
|
24
26
|
string | ((...substrings: string[]) => string)
|
|
@@ -41,10 +43,11 @@ declare const VARIATION: {
|
|
|
41
43
|
readonly ALL: 2;
|
|
42
44
|
};
|
|
43
45
|
declare const __tarask__: {
|
|
44
|
-
readonly wordlist:
|
|
46
|
+
readonly wordlist: (readonly [RegExp, string])[];
|
|
45
47
|
readonly softeners: Dict;
|
|
46
48
|
readonly replaceWithDict: (text: string, dict?: ExtendedDict) => string;
|
|
47
49
|
readonly afterTarask: ExtendedDict;
|
|
50
|
+
readonly noSoften: WritableDict;
|
|
48
51
|
};
|
|
49
52
|
declare class Taraskevizer {
|
|
50
53
|
general: {
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
|
-
// src/dict/
|
|
1
|
+
// src/dict/lib.ts
|
|
2
|
+
var dictFrom = {
|
|
3
|
+
raw: (dict) => {
|
|
4
|
+
for (const item of dict)
|
|
5
|
+
item[0] = RegExp(
|
|
6
|
+
item[0],
|
|
7
|
+
item[0] instanceof RegExp ? item[0].flags + "g" : "g"
|
|
8
|
+
);
|
|
9
|
+
return dict;
|
|
10
|
+
},
|
|
11
|
+
nonGlobal: (dict) => {
|
|
12
|
+
for (const item of dict)
|
|
13
|
+
item[0] = RegExp(item[0], "g" + item[0].flags);
|
|
14
|
+
return dict;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
2
17
|
var toOneLine = (str) => str.replace(/\n/g, "|");
|
|
18
|
+
|
|
19
|
+
// src/dict/iwords.ts
|
|
3
20
|
var iwords = toOneLine(`біс
|
|
4
21
|
бсэн
|
|
5
22
|
в[аеоы]
|
|
@@ -110,7 +127,7 @@ var common = {
|
|
|
110
127
|
[/[łl]i([eoua])/, "l$1"],
|
|
111
128
|
[/łi/, "li"]
|
|
112
129
|
]
|
|
113
|
-
],
|
|
130
|
+
].map(dictFrom.nonGlobal),
|
|
114
131
|
upper: [
|
|
115
132
|
[
|
|
116
133
|
[new RegExp(" Е(?=[ \\p{P}\\d]*\\p{Lu}?\\p{Ll})", "u"), " Je"],
|
|
@@ -167,15 +184,15 @@ var common = {
|
|
|
167
184
|
[/Łi/, "Li"],
|
|
168
185
|
[/ŁI/, "LI"]
|
|
169
186
|
]
|
|
170
|
-
]
|
|
187
|
+
].map(dictFrom.nonGlobal)
|
|
171
188
|
};
|
|
172
189
|
var latinLetters = [
|
|
173
190
|
...common.lower[0],
|
|
174
|
-
[
|
|
191
|
+
[/ʼі/g, "ji"],
|
|
175
192
|
...common.lower[1]
|
|
176
193
|
];
|
|
177
194
|
var latinLettersUpperCase = common.upper.flat();
|
|
178
|
-
var
|
|
195
|
+
var latinLettersJi = dictFrom.raw([
|
|
179
196
|
[/(?<=[аеёіоуыэюяАЕЁІОУЫЭЮЯ] )і Ў/, "j U"],
|
|
180
197
|
[/(?<=[аеёіоуыэюяАЕЁІОУЫЭЮЯ] )і ў/, "j u"],
|
|
181
198
|
[/(?<=[аеёіоуыэюяАЕЁІОУЫЭЮЯ] )і /, "j "],
|
|
@@ -184,24 +201,25 @@ var rawLatinLettersJi = [
|
|
|
184
201
|
[/(?<=[аеёіоуыэюяАЕЁІОУЫЭЮЯ] )І /, "J "],
|
|
185
202
|
[` і(?=${iwords})`, " ji"],
|
|
186
203
|
[` І(?=${iwords})`, " Ji"],
|
|
187
|
-
[` І(?=${iwords.toUpperCase()})`, " JI"]
|
|
204
|
+
[` І(?=${iwords.toUpperCase()})`, " JI"]
|
|
205
|
+
]).concat([
|
|
188
206
|
...common.lower[0],
|
|
189
|
-
[/(?<=[eouaаеёіоуыэюяʼАЕЁІОУЫЭЮЯЬ] *)
|
|
207
|
+
[/(?<=[eouaаеёіоуыэюяʼАЕЁІОУЫЭЮЯЬ] *)і/g, "ji"],
|
|
190
208
|
...common.lower[1]
|
|
191
|
-
];
|
|
192
|
-
var
|
|
209
|
+
]);
|
|
210
|
+
var latinLettersUpperCaseJi = [
|
|
193
211
|
...common.upper[0],
|
|
194
|
-
[new RegExp("(?<=[eoua] *)І(?=[ \\p{P}\\d]*\\p{Lu}?\\p{Ll})", "
|
|
212
|
+
[new RegExp("(?<=[eoua] *)І(?=[ \\p{P}\\d]*\\p{Lu}?\\p{Ll})", "gu"), "Ji"],
|
|
195
213
|
...common.upper[1],
|
|
196
|
-
[/(?<=[AOEUАЕЁІОУЎЫЭЮЯ][( ]*)
|
|
214
|
+
[/(?<=[AOEUАЕЁІОУЎЫЭЮЯ][( ]*)І/g, "JI"],
|
|
197
215
|
...common.upper[2],
|
|
198
|
-
[/ JIŁ
|
|
216
|
+
[/ JIŁ -/g, " IŁ -"]
|
|
199
217
|
];
|
|
200
218
|
|
|
201
219
|
// src/dict/arabic.ts
|
|
202
220
|
var soft = "ْ(?=[еёіюяь])";
|
|
203
221
|
var presoft = "([تزكثࢮбвгджзйклмнпрстфхцчшў])ْ?(ّ?)";
|
|
204
|
-
var
|
|
222
|
+
var arabLetters = dictFrom.raw([
|
|
205
223
|
[/ л[ая]/, " لا"],
|
|
206
224
|
[/л[ая]/, "ـلا"],
|
|
207
225
|
// падваеньне зычнага, шадда
|
|
@@ -256,9 +274,17 @@ var rawArabLetters = [
|
|
|
256
274
|
[/ш/, "ش"],
|
|
257
275
|
[/,/, "،"],
|
|
258
276
|
[/\?/, "؟"]
|
|
259
|
-
];
|
|
277
|
+
]);
|
|
278
|
+
|
|
279
|
+
// src/dict/gobj.ts
|
|
280
|
+
var gobj = {
|
|
281
|
+
г: "ґ",
|
|
282
|
+
Г: "Ґ",
|
|
283
|
+
ґ: "г",
|
|
284
|
+
Ґ: "Г"
|
|
285
|
+
};
|
|
260
286
|
|
|
261
|
-
// src/dict/
|
|
287
|
+
// src/dict/wordlist.ts
|
|
262
288
|
var chemicalElements1 = [
|
|
263
289
|
"сканд|ванад|рубід|род|ірыд|рэзэрфорд",
|
|
264
290
|
"стронц|бар|цэр|лютэц|самар| тор|амэрыц|кальц|кюр|дармштат|лівэрмор|натр"
|
|
@@ -271,7 +297,93 @@ var chemicalElements2 = [
|
|
|
271
297
|
chemicalElements2[1] = chemicalElements2[0] + "|айнштайн|мендзялев|сыборг|гас|флеров";
|
|
272
298
|
var chemicalElements3 = " гал|бэрыл|тул|бэркл|набэл";
|
|
273
299
|
var ia = (word, words) => ` ${word} (?=\\(?(?:[бвгджзйклмнпстфцчшў]*[оё]|${words.replace(/\(/g, "(?:")}|i(?:${iwords})))`;
|
|
274
|
-
var
|
|
300
|
+
var gwords = [
|
|
301
|
+
" ґб ",
|
|
302
|
+
"ґг",
|
|
303
|
+
"абрызґл",
|
|
304
|
+
" аґюст",
|
|
305
|
+
"анґол",
|
|
306
|
+
"арґаніз",
|
|
307
|
+
"арлінґтан",
|
|
308
|
+
"арыґінал",
|
|
309
|
+
" аўґс",
|
|
310
|
+
"аўґуст",
|
|
311
|
+
"аґрэст",
|
|
312
|
+
" біґ ",
|
|
313
|
+
" бразґ",
|
|
314
|
+
"буґацці",
|
|
315
|
+
"бурґ",
|
|
316
|
+
"вашынґт",
|
|
317
|
+
"возґр",
|
|
318
|
+
"вэдзґа",
|
|
319
|
+
" гааґ",
|
|
320
|
+
" ґабрыел",
|
|
321
|
+
" ґазэт",
|
|
322
|
+
" ґаксон",
|
|
323
|
+
" ґалац",
|
|
324
|
+
" ґалґоф",
|
|
325
|
+
" ґалер",
|
|
326
|
+
" ґаліле",
|
|
327
|
+
" ґальґот",
|
|
328
|
+
" ґамбі",
|
|
329
|
+
" ґарант",
|
|
330
|
+
" ґарсэт",
|
|
331
|
+
"ґарыбальдзі",
|
|
332
|
+
" ґаўс",
|
|
333
|
+
" ґаян",
|
|
334
|
+
"ґвалт",
|
|
335
|
+
// ' ґелер',
|
|
336
|
+
// ' ґент',
|
|
337
|
+
" ґётэ ",
|
|
338
|
+
" ґзымс",
|
|
339
|
+
" ґіём",
|
|
340
|
+
" ґітлін",
|
|
341
|
+
" ґлазґа ",
|
|
342
|
+
" ґліцэрын",
|
|
343
|
+
" ґлясар",
|
|
344
|
+
" ґонт",
|
|
345
|
+
" ґот",
|
|
346
|
+
" ґоцц",
|
|
347
|
+
" ґрадус",
|
|
348
|
+
"ґранд",
|
|
349
|
+
"ґрунт",
|
|
350
|
+
" ґрэйвэз",
|
|
351
|
+
"ґрэнобл",
|
|
352
|
+
"ґрэнлянд",
|
|
353
|
+
" ґузік",
|
|
354
|
+
" ґуст ",
|
|
355
|
+
" ґэлап",
|
|
356
|
+
" ґэры ",
|
|
357
|
+
" ґяд",
|
|
358
|
+
" ґяндж",
|
|
359
|
+
" джамалунґм",
|
|
360
|
+
" джґа",
|
|
361
|
+
" ірвінґ",
|
|
362
|
+
" іґнар",
|
|
363
|
+
" інтэґр",
|
|
364
|
+
" калеґ",
|
|
365
|
+
" кіплінґ",
|
|
366
|
+
"леґенд",
|
|
367
|
+
" лонґ",
|
|
368
|
+
" лэнґлі ",
|
|
369
|
+
" мазґ",
|
|
370
|
+
" мэґі ",
|
|
371
|
+
" мяґі ",
|
|
372
|
+
// 'нінґен',
|
|
373
|
+
" ніяґар",
|
|
374
|
+
"пінґвін",
|
|
375
|
+
"плявузґ",
|
|
376
|
+
"праґрам",
|
|
377
|
+
" розґ",
|
|
378
|
+
" ролінґ",
|
|
379
|
+
" рэдынґ",
|
|
380
|
+
" сіґітас",
|
|
381
|
+
" сійґ",
|
|
382
|
+
"райхстаґ",
|
|
383
|
+
" уґанд",
|
|
384
|
+
" цуґл"
|
|
385
|
+
].reverse().map((word) => [RegExp(word.replace(/ґ/g, "г"), "g"), word]);
|
|
386
|
+
var wordlist = dictFrom.raw([
|
|
275
387
|
/* А */
|
|
276
388
|
[/аахен/, "аахэн"],
|
|
277
389
|
[/абанен(?=[тц])/, "абанэн"],
|
|
@@ -1847,8 +1959,14 @@ var rawWordlist = [
|
|
|
1847
1959
|
[/ яблынь /, " яблын(ь|яў) "],
|
|
1848
1960
|
[/ расей /, " расе(й|яў) "],
|
|
1849
1961
|
[//, ""]
|
|
1850
|
-
];
|
|
1851
|
-
|
|
1962
|
+
]).concat(gwords);
|
|
1963
|
+
|
|
1964
|
+
// src/dict/softening.ts
|
|
1965
|
+
var noSoften = dictFrom.nonGlobal([
|
|
1966
|
+
[/масфільм/, "масфільм"],
|
|
1967
|
+
[/пэндзлік/, "пэндзлік"]
|
|
1968
|
+
]);
|
|
1969
|
+
var softeners = dictFrom.raw([
|
|
1852
1970
|
[/([лнц])\1(?=[еёіюяь])/, "$1ь$1"],
|
|
1853
1971
|
[/(\S\S)дз?дз(?=[еёіюяь])/, "$1дзьдз"],
|
|
1854
1972
|
[/адзьдз([ея])л/, "аддз$1л"],
|
|
@@ -1857,121 +1975,12 @@ var rawsofteners = [
|
|
|
1857
1975
|
[/з(?=([бвзлмнц]|дз)[еёіюяь])/, "зь"],
|
|
1858
1976
|
[/с(?=[бвлмнпсфц][еёіюяь])/, "сь"],
|
|
1859
1977
|
[/ц(?=[вм][еёіюяь])/, "ць"],
|
|
1860
|
-
[
|
|
1978
|
+
[
|
|
1979
|
+
`( (?:б[ея]|пра|цера)?з) (?=\\(?)(?=[еёюяь]|([бвзйлмнпстфц]|дз)[еёіюяь]|імі? |іх(?:ні)?|і(?:${iwords}))`,
|
|
1980
|
+
"$1ь "
|
|
1981
|
+
],
|
|
1861
1982
|
[/([сз])ʼ(?=[яюеё])/, "$1ь"]
|
|
1862
|
-
];
|
|
1863
|
-
var gwords = [
|
|
1864
|
-
" ґб ",
|
|
1865
|
-
"ґг",
|
|
1866
|
-
"абрызґл",
|
|
1867
|
-
" аґюст",
|
|
1868
|
-
"анґол",
|
|
1869
|
-
"арґаніз",
|
|
1870
|
-
"арлінґтан",
|
|
1871
|
-
"арыґінал",
|
|
1872
|
-
" аўґс",
|
|
1873
|
-
"аўґуст",
|
|
1874
|
-
"аґрэст",
|
|
1875
|
-
" біґ ",
|
|
1876
|
-
" бразґ",
|
|
1877
|
-
"буґацці",
|
|
1878
|
-
"бурґ",
|
|
1879
|
-
"вашынґт",
|
|
1880
|
-
"возґр",
|
|
1881
|
-
"вэдзґа",
|
|
1882
|
-
" гааґ",
|
|
1883
|
-
" ґабрыел",
|
|
1884
|
-
" ґазэт",
|
|
1885
|
-
" ґаксон",
|
|
1886
|
-
" ґалац",
|
|
1887
|
-
" ґалґоф",
|
|
1888
|
-
" ґалер",
|
|
1889
|
-
" ґаліле",
|
|
1890
|
-
" ґальґот",
|
|
1891
|
-
" ґамбі",
|
|
1892
|
-
" ґарант",
|
|
1893
|
-
" ґарсэт",
|
|
1894
|
-
"ґарыбальдзі",
|
|
1895
|
-
" ґаўс",
|
|
1896
|
-
" ґаян",
|
|
1897
|
-
"ґвалт",
|
|
1898
|
-
// ' ґелер',
|
|
1899
|
-
// ' ґент',
|
|
1900
|
-
" ґётэ ",
|
|
1901
|
-
" ґзымс",
|
|
1902
|
-
" ґіём",
|
|
1903
|
-
" ґітлін",
|
|
1904
|
-
" ґлазґа ",
|
|
1905
|
-
" ґліцэрын",
|
|
1906
|
-
" ґлясар",
|
|
1907
|
-
" ґонт",
|
|
1908
|
-
" ґот",
|
|
1909
|
-
" ґоцц",
|
|
1910
|
-
" ґрадус",
|
|
1911
|
-
"ґранд",
|
|
1912
|
-
"ґрунт",
|
|
1913
|
-
" ґрэйвэз",
|
|
1914
|
-
"ґрэнобл",
|
|
1915
|
-
"ґрэнлянд",
|
|
1916
|
-
" ґузік",
|
|
1917
|
-
" ґуст ",
|
|
1918
|
-
" ґэлап",
|
|
1919
|
-
" ґэры ",
|
|
1920
|
-
" ґяд",
|
|
1921
|
-
" ґяндж",
|
|
1922
|
-
" джамалунґм",
|
|
1923
|
-
" джґа",
|
|
1924
|
-
" ірвінґ",
|
|
1925
|
-
" іґнар",
|
|
1926
|
-
" інтэґр",
|
|
1927
|
-
" калеґ",
|
|
1928
|
-
" кіплінґ",
|
|
1929
|
-
"леґенд",
|
|
1930
|
-
" лонґ",
|
|
1931
|
-
" лэнґлі ",
|
|
1932
|
-
" мазґ",
|
|
1933
|
-
" мэґі ",
|
|
1934
|
-
" мяґі ",
|
|
1935
|
-
// 'нінґен',
|
|
1936
|
-
" ніяґар",
|
|
1937
|
-
"пінґвін",
|
|
1938
|
-
"плявузґ",
|
|
1939
|
-
"праґрам",
|
|
1940
|
-
" розґ",
|
|
1941
|
-
" ролінґ",
|
|
1942
|
-
" рэдынґ",
|
|
1943
|
-
" сіґітас",
|
|
1944
|
-
" сійґ",
|
|
1945
|
-
"райхстаґ",
|
|
1946
|
-
" уґанд",
|
|
1947
|
-
" цуґл"
|
|
1948
|
-
].reverse();
|
|
1949
|
-
var gobj = {
|
|
1950
|
-
"г": "ґ",
|
|
1951
|
-
"Г": "Ґ",
|
|
1952
|
-
"ґ": "г",
|
|
1953
|
-
"Ґ": "Г"
|
|
1954
|
-
};
|
|
1955
|
-
var wordlist = [];
|
|
1956
|
-
var softeners = [];
|
|
1957
|
-
var arabLetters = [];
|
|
1958
|
-
var latinLettersJi = [];
|
|
1959
|
-
var latinLettersUpperCaseJi = [];
|
|
1960
|
-
var arr = [
|
|
1961
|
-
[rawWordlist, wordlist],
|
|
1962
|
-
[rawsofteners, softeners],
|
|
1963
|
-
[rawArabLetters, arabLetters],
|
|
1964
|
-
[rawLatinLettersJi, latinLettersJi],
|
|
1965
|
-
[rawLatinLettersUpperCaseJi, latinLettersUpperCaseJi]
|
|
1966
|
-
];
|
|
1967
|
-
for (const [raw, obj] of arr)
|
|
1968
|
-
for (const [pattern, result] of raw)
|
|
1969
|
-
obj.push([RegExp(pattern, pattern instanceof RegExp ? pattern.flags + "g" : "g"), result]);
|
|
1970
|
-
for (const obj of [latinLetters, latinLettersUpperCase])
|
|
1971
|
-
for (const item of obj)
|
|
1972
|
-
item[0] = RegExp(item[0], "g" + item[0].flags);
|
|
1973
|
-
for (const word of gwords)
|
|
1974
|
-
wordlist.push([RegExp(word.replace(/ґ/g, "г"), "g"), word]);
|
|
1983
|
+
]);
|
|
1975
1984
|
|
|
1976
1985
|
// src/tarask.ts
|
|
1977
1986
|
var isUpperCase = (str) => str === str.toUpperCase();
|
|
@@ -2032,7 +2041,7 @@ var afterTarask = [
|
|
|
2032
2041
|
($0, $1, $2) => /([ая]ў|ну)$/.test($2) ? $1 + "ь і" + $2 : $0
|
|
2033
2042
|
]
|
|
2034
2043
|
];
|
|
2035
|
-
var applyNoFix = (
|
|
2044
|
+
var applyNoFix = (arr, text) => arr.length ? text.replace(NOFIX_REGEX, () => arr.shift()) : text;
|
|
2036
2045
|
var afterJoin = (text) => text.replace(/ /g, " ").replace(new RegExp(" (\\p{P}|\\p{S}|\\d|() ", "gu"), "$1");
|
|
2037
2046
|
var join = (textArr) => afterJoin(textArr.join(" "));
|
|
2038
2047
|
var finalize = (text, newLine) => text.replace(/ \t /g, " ").replace(/ \n /g, newLine).trim();
|
|
@@ -2140,7 +2149,8 @@ var __tarask__ = {
|
|
|
2140
2149
|
wordlist,
|
|
2141
2150
|
softeners,
|
|
2142
2151
|
replaceWithDict,
|
|
2143
|
-
afterTarask
|
|
2152
|
+
afterTarask,
|
|
2153
|
+
noSoften
|
|
2144
2154
|
};
|
|
2145
2155
|
var convertAlphabet = (text, abc) => replaceWithDict(replaceWithDict(text, letters[abc]), lettersUpperCase[abc]);
|
|
2146
2156
|
var restoreBraces = (text) => text.replace(/(/g, "(");
|
|
@@ -2264,7 +2274,7 @@ var Taraskevizer = class {
|
|
|
2264
2274
|
return { splittedOrig, splitted };
|
|
2265
2275
|
}
|
|
2266
2276
|
taraskevize(text) {
|
|
2267
|
-
text = replaceWithDict(text, wordlist);
|
|
2277
|
+
text = replaceWithDict(replaceWithDict(text, wordlist), noSoften);
|
|
2268
2278
|
softening:
|
|
2269
2279
|
do {
|
|
2270
2280
|
text = replaceWithDict(text, softeners);
|
|
@@ -2273,7 +2283,7 @@ var Taraskevizer = class {
|
|
|
2273
2283
|
continue softening;
|
|
2274
2284
|
break;
|
|
2275
2285
|
} while (true);
|
|
2276
|
-
return replaceWithDict(text, afterTarask);
|
|
2286
|
+
return replaceWithDict(text.replace(//g, ""), afterTarask);
|
|
2277
2287
|
}
|
|
2278
2288
|
};
|
|
2279
2289
|
export {
|