taraskevizer 1.5.2 → 1.5.3

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 CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -308,15 +309,17 @@ var rawArabLetters = [
308
309
  ];
309
310
 
310
311
  // src/dict/index.ts
311
- var els1 = [];
312
- els1[0] = "сканд|ванад|рубід|род|ірыд|рэзэрфорд|";
313
- els1[1] = "стронц|бар|цэр|лютэц|самар| тор|амэрыц|кальц|кюр|дармштат|лівэрмор|натр";
314
- els1[2] = els1[1] + "тэхнэц|прамэт|майтнэр|капэрніц";
315
- els1[3] = els1[0] + "паляд|" + els1[2];
316
- var els2 = [];
317
- els2[0] = "алюмін|магн|крэмн|цыркон|ніоб|рутэн|кадм|гафн|рэн|осм|эўроп|гандалін|тэрб|дыспроз|гольм| эрб|ітэрб|актын|пратактын|нэптун|плютон|фэрм|ляўрэнс|дубн|рэнтген|ніхон";
318
- els2[1] = els2[0] + "|айнштайн|мендзялев|сыборг|гас|флеров";
319
- var els3 = " гал|бэрыл|тул|бэркл|набэл";
312
+ var chemicalElements1 = [
313
+ "сканд|ванад|рубід|род|ірыд|рэзэрфорд",
314
+ "стронц|бар|цэр|лютэц|самар| тор|амэрыц|кальц|кюр|дармштат|лівэрмор|натр"
315
+ ];
316
+ chemicalElements1[2] = chemicalElements1[1] + "|тэхнэц|прамэт|майтнэр|капэрніц";
317
+ chemicalElements1[3] = chemicalElements1[0] + "|паляд|" + chemicalElements1[2];
318
+ var chemicalElements2 = [
319
+ "алюмін|магн|крэмн|цыркон|ніоб|рутэн|кадм|гафн|рэн|осм|эўроп|гандалін|тэрб|дыспроз|гольм| эрб|ітэрб|актын|пратактын|нэптун|плютон|фэрм|ляўрэнс|дубн|рэнтген|ніхон"
320
+ ];
321
+ chemicalElements2[1] = chemicalElements2[0] + "|айнштайн|мендзялев|сыборг|гас|флеров";
322
+ var chemicalElements3 = " гал|бэрыл|тул|бэркл|набэл";
320
323
  var toOneLine = (str) => str.replace(/\n/g, "|");
321
324
  var ia = (word, words) => ` ${word} (?=\\(?(?:[бвгджзйклмнпстфцчшў]*[оё]|${words.replace(/\(/g, "(?:")}|${iwords}))`;
322
325
  var iwords = toOneLine(`і(
@@ -432,7 +435,6 @@ var rawWordlist = [
432
435
  [/алка(?=г[ао]|ло)/, "алька"],
433
436
  [/алфавіт/, "альфабэт"],
434
437
  [/алхім/, "альхім"],
435
- [/ альцгеймер/, " альцгаймэр"],
436
438
  // [/аланд/, 'алянд'],
437
439
  // [/ала/, 'аля'], TODO: аля-
438
440
  [/амбулатор/, "амбулятор"],
@@ -905,6 +907,7 @@ var rawWordlist = [
905
907
  [/марцінке/, "марці�нке"],
906
908
  [/марцінес/, "мартынэс"],
907
909
  [/марцін/, "мартын"],
910
+ [/ марыянет/, " марыянэт"],
908
911
  // [/морэл/, 'марэл'],
909
912
  // [/абрыкосав/, '($&|марэлев)'],
910
913
  // [/[іы] абрыкос /, '(ая|ую) марэ(ля|лю) '],
@@ -1219,7 +1222,7 @@ var rawWordlist = [
1219
1222
  [/ трыа /, " трыё "],
1220
1223
  // [/трыўмф/, 'трыюмф'],
1221
1224
  [/цю(?=баж|бінг|льпан|рбан)/, "ту"],
1222
- [/(?<men>ар|бізнэс|да|рэкардс|спартс|турк)мен/, "$<men>мэн"],
1225
+ [/(ар|бізнэс|да|рэкардс|спартс|турк)мен/, "$1мэн"],
1223
1226
  [/цюрынгі(?=\S)/, "турынґі"],
1224
1227
  [/ цюрынг/, " тʼюрынґ"],
1225
1228
  [/турцыя/, "тур(цыя|эччына)"],
@@ -1514,30 +1517,35 @@ var rawWordlist = [
1514
1517
  [/ гэлій /, " (гэ|г�е)(ль|лі) "],
1515
1518
  [/ гэлі(?=[юя] |е)/, " (гэ|г�е)л"],
1516
1519
  [/ гэліі /, " (гэ|г�е)ле "],
1517
- [`(?<el>${els1[0] + els1[1]}|інд|франц|рад)ый `, "$<el> "],
1518
- [`(?<el>${els1[3]})ы[ея]`, "$<el>а"],
1519
- [`(?<el>${els1[3]})ыю`, "$<el>у"],
1520
- [`(?<el>${els1[3]}|рад)ыі`, "$<el>зе"],
1521
- [`(?<el>${els1[2]})ыі`, "$<el>ы"],
1522
- [`(${els2[0]}|герман)ій`, "$1"],
1523
- [`(${els2[1]})і[ея]`, "$1а"],
1524
- [`(${els2[1]})ію`, "$1у"],
1525
- [`(${els3}| тал)ій `, "$1ь "],
1520
+ [`(${chemicalElements1[0] + chemicalElements1[1]}|інд|франц|рад)ый `, "$1 "],
1521
+ [`(${chemicalElements1[3]})ы[ея]`, "$1а"],
1522
+ [`(${chemicalElements1[3]})ыю`, "$1у"],
1523
+ [`(${chemicalElements1[3]}|рад)ыі`, "$1зе"],
1524
+ [`(${chemicalElements1[2]})ыі`, "$1ы"],
1525
+ [`(${chemicalElements2[0]}|герман)ій`, "$1"],
1526
+ [`(${chemicalElements2[1]})і[ея]`, "$1а"],
1527
+ [`(${chemicalElements2[1]})ію`, "$1у"],
1528
+ [`(${chemicalElements3}| тал)ій `, "$1ь "],
1526
1529
  [/ таліе/, " тале"],
1527
- [`(?<els3>${els3})і(?=[юя] |е)`, "$1<els3>"],
1528
- [`(${els3})іі `, "$1е "],
1530
+ [`(${chemicalElements3})і(?=[юя] |е)`, "$1"],
1531
+ [`(${chemicalElements3})іі `, "$1е "],
1529
1532
  /* ер > эр */
1530
1533
  [/(антрэпрэн|бакс|грав|грым|гіпнатыз|паз|партн|плян|прыз|рэжыс|рэзан|сап|сутэн|трас|фантаз)ёр/, "$1эр"],
1531
1534
  [/(біле|брэ|ман|мушке|(ім|рэ|транс|экс)пар|салі)цёр/, "$1тэр"],
1532
1535
  [/(вальты|коміваяж|фура)жор/, "$1жэр"],
1533
1536
  [/(каска|мара|фура)дзёр/, "$1дэр"],
1534
1537
  [/браўз[еа]р/, "браўз(э|а)р"],
1535
- [/(?<ar>дыскаўнт|ляйт|мэлянж|пражэкт)ар/, "$<ar>(э|а)р"],
1536
- [/(?<eor>парфум|фраз)[её]р/, "$<eor>эр"],
1537
- [/(?<er>абсорб|акцыян|альб|амп|апазыцыян| вэзэр|гіп|дызайн|імп|інжын|каба-в|кам|кандыцыян|кіб|легіян|мільян|піян|пфайф|пэнсіян|рэвалюцыян|рэф|скан|скв|снайп| суп|сф|тайм| тап|трэн)ер/, "$<er>эр"],
1538
+ [/(дыскаўнт|ляйт|мэлянж|пражэкт)ар/, "$1(э|а)р"],
1539
+ [/(парфум|фраз)[её]р/, "$1эр"],
1540
+ [/(абсорб|акцыян|альб|амп|апазыцыян| вэзэр|гіп|дызайн|імп|інжын|каба-в|кам|кандыцыян|кіб|легіян|мільян|піян|пфайф|пэнсіян|рэвалюцыян|рэф|скан|скв|снайп| суп|сф|тайм| тап|трэн)ер/, "$1эр"],
1538
1541
  // Вэзэр - Места
1539
1542
  [/ супэрні/, " суперні"],
1540
1543
  [/(вах|ліф|шах)цёр/, "$1тар"],
1544
+ /* Імёны */
1545
+ [/ альцгеймер/, " альцгаймэр"],
1546
+ [/ веерштрас/, " ваерштрас"],
1547
+ [/ лейбніц/, " ляйбніц"],
1548
+ [/ нейман/, " нойман"],
1541
1549
  /* Імёны з лаціны */
1542
1550
  [/ понцій/, " понтыюс"],
1543
1551
  [/ понці/, " понты"],
@@ -1552,17 +1560,17 @@ var rawWordlist = [
1552
1560
  /* -ір- */
1553
1561
  [/блакір(?=[аоу])/, "блякір"],
1554
1562
  [/арыенцір(?=[ауы] |а[мў] |амі? )/, "арыентыр"],
1555
- [/(?<ir>абстраг|акліматыз|акуп|(?:а|нацыя)наліз|баз|балянс|бляк|ваеніз|груп|імпан|імправіз|інсцэн|інфарм|іраніз|каляніз|каляпс|каталіз|культыв|курс|ма[рс]к|нэрв|плян|прагназ|праграм|прыватыз|рэаг|санкцыян|скан|трэн|тыпіз|урбаніз|фантаз|фарм|фінанс|фраз|функцыян)ір(?=[ау])/, "$<ir>"],
1556
- [/(?<ir>анке|арыен|дыску|дэб[аю]|(?:ім|экс)пар|праек|інспэк|кантак|кансуль|паразі|тэс|фарма|цы)цір(?=[ау])/, "$<ir>т"],
1557
- [/(?<ir>дэгра|ка|лікві)дзір(?=[ау])/, "$<ir>д"],
1558
- [/(?<yr>ангаж|дэкляр|ігнар|тыраж|фініш|генэр)ыр(?=[ау])/, "$<yr>"],
1559
- [/(?<yr>інду|кваліфі|права|фальсыфі)цыр(?=[ау])/, "$<yr>к"],
1560
- [/(?<ir>кап|прэм)іра/, "$<ir>ія"],
1561
- [/(?<ir>кап|прэм)іру/, "$<ir>ію"],
1562
- [/(?<ir>дуб|кантра|капіту|прафі|пэда)ліра/, "$<ir>ля"],
1563
- [/(?<ir>дуб|кантра|капіту|прафі|пэда)ліру/, "$<ir>лю"],
1564
- [/(?<ir>ініцы|канстру|тату)іра/, "$<ir>я"],
1565
- [/(?<ir>ініцы|канстру|тату)іру/, "$<ir>ю"],
1563
+ [/(абстраг|акліматыз|акуп|(?:а|нацыя)наліз|баз|балянс|бляк|ваеніз|груп|імпан|імправіз|інсцэн|інфарм|іраніз|каляніз|каляпс|каталіз|культыв|курс|ма[рс]к|нэрв|плян|прагназ|праграм|прыватыз|рэаг|санкцыян|скан|трэн|тыпіз|урбаніз|фантаз|фарм|фінанс|фраз|функцыян)ір(?=[ау])/, "$1"],
1564
+ [/(анке|арыен|дыску|дэб[аю]|(?:ім|экс)пар|праек|інспэк|кантак|кансуль|паразі|тэс|фарма|цы)цір(?=[ау])/, "$1т"],
1565
+ [/(дэгра|ка|лікві)дзір(?=[ау])/, "$1д"],
1566
+ [/(ангаж|дэкляр|ігнар|тыраж|фініш|генэр)ыр(?=[ау])/, "$1"],
1567
+ [/(інду|кваліфі|права|фальсыфі)цыр(?=[ау])/, "$1к"],
1568
+ [/(кап|прэм)іра/, "$1ія"],
1569
+ [/(кап|прэм)іру/, "$1ію"],
1570
+ [/(дуб|кантра|капіту|прафі|пэда)ліра/, "$1ля"],
1571
+ [/(дуб|кантра|капіту|прафі|пэда)ліру/, "$1лю"],
1572
+ [/(ініцы|канстру|тату)іра/, "$1я"],
1573
+ [/(ініцы|канстру|тату)іру/, "$1ю"],
1566
1574
  [/(бляк|балянс|інсцэн|плян|трэн|фарм)іроўкай/, "$1аваньнем"],
1567
1575
  [/(бляк|балянс|інсцэн|плян|трэн|фарм)іроўка/, "$1аваньне"],
1568
1576
  [/(бляк|балянс|інсцэн|плян|трэн|фарм)іроўкі/, "$1аваньня"],
@@ -1833,11 +1841,11 @@ var rawWordlist = [
1833
1841
  /* Іншае */
1834
1842
  [/(кібер|фа)неты(?=[кч])/, "$1нэты"],
1835
1843
  [/цій /, "(цій|ці) "],
1836
- // [/(?<a>андрэс\S* цэльсі)й/, '$<a>юс'],
1837
- // [/(?<a>андрэс\S* цэльсі)ем/, '$<a>юсам'],
1838
- // [/(?<a>андрэс\S* цэльсі)[яе]/, '$<a>юса'],
1839
- // [/(?<a>андрэс\S* цэльсі)і/, '$<a>юсе'],
1840
- // [/(?<a>андрэс\S* цэльсі)ю/, '$<a>юсу'],
1844
+ // [/(андрэс\S* цэльсі)й/, '$1юс'],
1845
+ // [/(андрэс\S* цэльсі)ем/, '$1юсам'],
1846
+ // [/(андрэс\S* цэльсі)[яе]/, '$1юса'],
1847
+ // [/(андрэс\S* цэльсі)і/, '$1юсе'],
1848
+ // [/(андрэс\S* цэльсі)ю/, '$1юсу'],
1841
1849
  [/пёрл - харбар/, "пэрл - гарбар"],
1842
1850
  [/рымска - кат/, "рыма - кат"],
1843
1851
  [/ іата /, " і�ата "],
@@ -2111,6 +2119,7 @@ var getLastLetter = (word) => {
2111
2119
  for (let i = word.length - 1; i >= 0; i--)
2112
2120
  if (/\p{L}/u.test(word[i]))
2113
2121
  return word[i];
2122
+ throw new Error(`the last letter of the word ${word} not found`);
2114
2123
  };
2115
2124
  var NOFIX_CHAR = " ￿ ";
2116
2125
  var NOFIX_REGEX = new RegExp(NOFIX_CHAR, "g");
@@ -2210,7 +2219,11 @@ var taraskSync = (text, options = {}) => {
2210
2219
  }
2211
2220
  }
2212
2221
  if (gReplacer)
2213
- text = text.replace(G_REGEX, gReplacer);
2222
+ text = text.replace(
2223
+ G_REGEX,
2224
+ // @ts-ignore
2225
+ gReplacer
2226
+ );
2214
2227
  if (noFix.length)
2215
2228
  text = text.replace(NOFIX_REGEX, () => noFix.shift());
2216
2229
  return (html ? finalizer.html(text) : finalizer.nonHtml(text, nonHtml)).trim();
@@ -2327,7 +2340,7 @@ var finalizer = {
2327
2340
  return `<tarL data-l='${options}'>${main}</tarL>`;
2328
2341
  }).replace(/ \n /g, "<br>"),
2329
2342
  nonHtml(text, options) {
2330
- if (isObject(options) && options.variations !== VARIATION.ALL) {
2343
+ if (isObject(options) && options.variations && options.variations !== VARIATION.ALL) {
2331
2344
  const WORD_INDEX = options.variations;
2332
2345
  const replacer = ($0) => $0.slice(1, -1).split("|")[WORD_INDEX];
2333
2346
  text = text.replace(
package/dist/index.d.cts CHANGED
@@ -36,20 +36,20 @@ type AlphabetDependentDict = {
36
36
  };
37
37
 
38
38
  declare const ALPHABET: {
39
- CYRILLIC: number;
40
- LATIN: number;
41
- ARABIC: number;
42
- GREEK: number;
39
+ readonly CYRILLIC: 0;
40
+ readonly LATIN: 1;
41
+ readonly ARABIC: 2;
42
+ readonly GREEK: 3;
43
43
  };
44
44
  declare const J: {
45
- NEVER: number;
46
- RANDOM: number;
47
- ALWAYS: number;
45
+ readonly NEVER: 0;
46
+ readonly RANDOM: 1;
47
+ readonly ALWAYS: 2;
48
48
  };
49
49
  declare const VARIATION: {
50
- NO: number;
51
- FIRST: number;
52
- ALL: number;
50
+ readonly NO: 0;
51
+ readonly FIRST: 1;
52
+ readonly ALL: 2;
53
53
  };
54
54
  declare const taraskSync: Tarask;
55
55
  declare const tarask: TaraskAsync;
package/dist/index.d.ts CHANGED
@@ -36,20 +36,20 @@ type AlphabetDependentDict = {
36
36
  };
37
37
 
38
38
  declare const ALPHABET: {
39
- CYRILLIC: number;
40
- LATIN: number;
41
- ARABIC: number;
42
- GREEK: number;
39
+ readonly CYRILLIC: 0;
40
+ readonly LATIN: 1;
41
+ readonly ARABIC: 2;
42
+ readonly GREEK: 3;
43
43
  };
44
44
  declare const J: {
45
- NEVER: number;
46
- RANDOM: number;
47
- ALWAYS: number;
45
+ readonly NEVER: 0;
46
+ readonly RANDOM: 1;
47
+ readonly ALWAYS: 2;
48
48
  };
49
49
  declare const VARIATION: {
50
- NO: number;
51
- FIRST: number;
52
- ALL: number;
50
+ readonly NO: 0;
51
+ readonly FIRST: 1;
52
+ readonly ALL: 2;
53
53
  };
54
54
  declare const taraskSync: Tarask;
55
55
  declare const tarask: TaraskAsync;
package/dist/index.js CHANGED
@@ -278,15 +278,17 @@ var rawArabLetters = [
278
278
  ];
279
279
 
280
280
  // src/dict/index.ts
281
- var els1 = [];
282
- els1[0] = "сканд|ванад|рубід|род|ірыд|рэзэрфорд|";
283
- els1[1] = "стронц|бар|цэр|лютэц|самар| тор|амэрыц|кальц|кюр|дармштат|лівэрмор|натр";
284
- els1[2] = els1[1] + "тэхнэц|прамэт|майтнэр|капэрніц";
285
- els1[3] = els1[0] + "паляд|" + els1[2];
286
- var els2 = [];
287
- els2[0] = "алюмін|магн|крэмн|цыркон|ніоб|рутэн|кадм|гафн|рэн|осм|эўроп|гандалін|тэрб|дыспроз|гольм| эрб|ітэрб|актын|пратактын|нэптун|плютон|фэрм|ляўрэнс|дубн|рэнтген|ніхон";
288
- els2[1] = els2[0] + "|айнштайн|мендзялев|сыборг|гас|флеров";
289
- var els3 = " гал|бэрыл|тул|бэркл|набэл";
281
+ var chemicalElements1 = [
282
+ "сканд|ванад|рубід|род|ірыд|рэзэрфорд",
283
+ "стронц|бар|цэр|лютэц|самар| тор|амэрыц|кальц|кюр|дармштат|лівэрмор|натр"
284
+ ];
285
+ chemicalElements1[2] = chemicalElements1[1] + "|тэхнэц|прамэт|майтнэр|капэрніц";
286
+ chemicalElements1[3] = chemicalElements1[0] + "|паляд|" + chemicalElements1[2];
287
+ var chemicalElements2 = [
288
+ "алюмін|магн|крэмн|цыркон|ніоб|рутэн|кадм|гафн|рэн|осм|эўроп|гандалін|тэрб|дыспроз|гольм| эрб|ітэрб|актын|пратактын|нэптун|плютон|фэрм|ляўрэнс|дубн|рэнтген|ніхон"
289
+ ];
290
+ chemicalElements2[1] = chemicalElements2[0] + "|айнштайн|мендзялев|сыборг|гас|флеров";
291
+ var chemicalElements3 = " гал|бэрыл|тул|бэркл|набэл";
290
292
  var toOneLine = (str) => str.replace(/\n/g, "|");
291
293
  var ia = (word, words) => ` ${word} (?=\\(?(?:[бвгджзйклмнпстфцчшў]*[оё]|${words.replace(/\(/g, "(?:")}|${iwords}))`;
292
294
  var iwords = toOneLine(`і(
@@ -402,7 +404,6 @@ var rawWordlist = [
402
404
  [/алка(?=г[ао]|ло)/, "алька"],
403
405
  [/алфавіт/, "альфабэт"],
404
406
  [/алхім/, "альхім"],
405
- [/ альцгеймер/, " альцгаймэр"],
406
407
  // [/аланд/, 'алянд'],
407
408
  // [/ала/, 'аля'], TODO: аля-
408
409
  [/амбулатор/, "амбулятор"],
@@ -875,6 +876,7 @@ var rawWordlist = [
875
876
  [/марцінке/, "марці�нке"],
876
877
  [/марцінес/, "мартынэс"],
877
878
  [/марцін/, "мартын"],
879
+ [/ марыянет/, " марыянэт"],
878
880
  // [/морэл/, 'марэл'],
879
881
  // [/абрыкосав/, '($&|марэлев)'],
880
882
  // [/[іы] абрыкос /, '(ая|ую) марэ(ля|лю) '],
@@ -1189,7 +1191,7 @@ var rawWordlist = [
1189
1191
  [/ трыа /, " трыё "],
1190
1192
  // [/трыўмф/, 'трыюмф'],
1191
1193
  [/цю(?=баж|бінг|льпан|рбан)/, "ту"],
1192
- [/(?<men>ар|бізнэс|да|рэкардс|спартс|турк)мен/, "$<men>мэн"],
1194
+ [/(ар|бізнэс|да|рэкардс|спартс|турк)мен/, "$1мэн"],
1193
1195
  [/цюрынгі(?=\S)/, "турынґі"],
1194
1196
  [/ цюрынг/, " тʼюрынґ"],
1195
1197
  [/турцыя/, "тур(цыя|эччына)"],
@@ -1484,30 +1486,35 @@ var rawWordlist = [
1484
1486
  [/ гэлій /, " (гэ|г�е)(ль|лі) "],
1485
1487
  [/ гэлі(?=[юя] |е)/, " (гэ|г�е)л"],
1486
1488
  [/ гэліі /, " (гэ|г�е)ле "],
1487
- [`(?<el>${els1[0] + els1[1]}|інд|франц|рад)ый `, "$<el> "],
1488
- [`(?<el>${els1[3]})ы[ея]`, "$<el>а"],
1489
- [`(?<el>${els1[3]})ыю`, "$<el>у"],
1490
- [`(?<el>${els1[3]}|рад)ыі`, "$<el>зе"],
1491
- [`(?<el>${els1[2]})ыі`, "$<el>ы"],
1492
- [`(${els2[0]}|герман)ій`, "$1"],
1493
- [`(${els2[1]})і[ея]`, "$1а"],
1494
- [`(${els2[1]})ію`, "$1у"],
1495
- [`(${els3}| тал)ій `, "$1ь "],
1489
+ [`(${chemicalElements1[0] + chemicalElements1[1]}|інд|франц|рад)ый `, "$1 "],
1490
+ [`(${chemicalElements1[3]})ы[ея]`, "$1а"],
1491
+ [`(${chemicalElements1[3]})ыю`, "$1у"],
1492
+ [`(${chemicalElements1[3]}|рад)ыі`, "$1зе"],
1493
+ [`(${chemicalElements1[2]})ыі`, "$1ы"],
1494
+ [`(${chemicalElements2[0]}|герман)ій`, "$1"],
1495
+ [`(${chemicalElements2[1]})і[ея]`, "$1а"],
1496
+ [`(${chemicalElements2[1]})ію`, "$1у"],
1497
+ [`(${chemicalElements3}| тал)ій `, "$1ь "],
1496
1498
  [/ таліе/, " тале"],
1497
- [`(?<els3>${els3})і(?=[юя] |е)`, "$1<els3>"],
1498
- [`(${els3})іі `, "$1е "],
1499
+ [`(${chemicalElements3})і(?=[юя] |е)`, "$1"],
1500
+ [`(${chemicalElements3})іі `, "$1е "],
1499
1501
  /* ер > эр */
1500
1502
  [/(антрэпрэн|бакс|грав|грым|гіпнатыз|паз|партн|плян|прыз|рэжыс|рэзан|сап|сутэн|трас|фантаз)ёр/, "$1эр"],
1501
1503
  [/(біле|брэ|ман|мушке|(ім|рэ|транс|экс)пар|салі)цёр/, "$1тэр"],
1502
1504
  [/(вальты|коміваяж|фура)жор/, "$1жэр"],
1503
1505
  [/(каска|мара|фура)дзёр/, "$1дэр"],
1504
1506
  [/браўз[еа]р/, "браўз(э|а)р"],
1505
- [/(?<ar>дыскаўнт|ляйт|мэлянж|пражэкт)ар/, "$<ar>(э|а)р"],
1506
- [/(?<eor>парфум|фраз)[её]р/, "$<eor>эр"],
1507
- [/(?<er>абсорб|акцыян|альб|амп|апазыцыян| вэзэр|гіп|дызайн|імп|інжын|каба-в|кам|кандыцыян|кіб|легіян|мільян|піян|пфайф|пэнсіян|рэвалюцыян|рэф|скан|скв|снайп| суп|сф|тайм| тап|трэн)ер/, "$<er>эр"],
1507
+ [/(дыскаўнт|ляйт|мэлянж|пражэкт)ар/, "$1(э|а)р"],
1508
+ [/(парфум|фраз)[её]р/, "$1эр"],
1509
+ [/(абсорб|акцыян|альб|амп|апазыцыян| вэзэр|гіп|дызайн|імп|інжын|каба-в|кам|кандыцыян|кіб|легіян|мільян|піян|пфайф|пэнсіян|рэвалюцыян|рэф|скан|скв|снайп| суп|сф|тайм| тап|трэн)ер/, "$1эр"],
1508
1510
  // Вэзэр - Места
1509
1511
  [/ супэрні/, " суперні"],
1510
1512
  [/(вах|ліф|шах)цёр/, "$1тар"],
1513
+ /* Імёны */
1514
+ [/ альцгеймер/, " альцгаймэр"],
1515
+ [/ веерштрас/, " ваерштрас"],
1516
+ [/ лейбніц/, " ляйбніц"],
1517
+ [/ нейман/, " нойман"],
1511
1518
  /* Імёны з лаціны */
1512
1519
  [/ понцій/, " понтыюс"],
1513
1520
  [/ понці/, " понты"],
@@ -1522,17 +1529,17 @@ var rawWordlist = [
1522
1529
  /* -ір- */
1523
1530
  [/блакір(?=[аоу])/, "блякір"],
1524
1531
  [/арыенцір(?=[ауы] |а[мў] |амі? )/, "арыентыр"],
1525
- [/(?<ir>абстраг|акліматыз|акуп|(?:а|нацыя)наліз|баз|балянс|бляк|ваеніз|груп|імпан|імправіз|інсцэн|інфарм|іраніз|каляніз|каляпс|каталіз|культыв|курс|ма[рс]к|нэрв|плян|прагназ|праграм|прыватыз|рэаг|санкцыян|скан|трэн|тыпіз|урбаніз|фантаз|фарм|фінанс|фраз|функцыян)ір(?=[ау])/, "$<ir>"],
1526
- [/(?<ir>анке|арыен|дыску|дэб[аю]|(?:ім|экс)пар|праек|інспэк|кантак|кансуль|паразі|тэс|фарма|цы)цір(?=[ау])/, "$<ir>т"],
1527
- [/(?<ir>дэгра|ка|лікві)дзір(?=[ау])/, "$<ir>д"],
1528
- [/(?<yr>ангаж|дэкляр|ігнар|тыраж|фініш|генэр)ыр(?=[ау])/, "$<yr>"],
1529
- [/(?<yr>інду|кваліфі|права|фальсыфі)цыр(?=[ау])/, "$<yr>к"],
1530
- [/(?<ir>кап|прэм)іра/, "$<ir>ія"],
1531
- [/(?<ir>кап|прэм)іру/, "$<ir>ію"],
1532
- [/(?<ir>дуб|кантра|капіту|прафі|пэда)ліра/, "$<ir>ля"],
1533
- [/(?<ir>дуб|кантра|капіту|прафі|пэда)ліру/, "$<ir>лю"],
1534
- [/(?<ir>ініцы|канстру|тату)іра/, "$<ir>я"],
1535
- [/(?<ir>ініцы|канстру|тату)іру/, "$<ir>ю"],
1532
+ [/(абстраг|акліматыз|акуп|(?:а|нацыя)наліз|баз|балянс|бляк|ваеніз|груп|імпан|імправіз|інсцэн|інфарм|іраніз|каляніз|каляпс|каталіз|культыв|курс|ма[рс]к|нэрв|плян|прагназ|праграм|прыватыз|рэаг|санкцыян|скан|трэн|тыпіз|урбаніз|фантаз|фарм|фінанс|фраз|функцыян)ір(?=[ау])/, "$1"],
1533
+ [/(анке|арыен|дыску|дэб[аю]|(?:ім|экс)пар|праек|інспэк|кантак|кансуль|паразі|тэс|фарма|цы)цір(?=[ау])/, "$1т"],
1534
+ [/(дэгра|ка|лікві)дзір(?=[ау])/, "$1д"],
1535
+ [/(ангаж|дэкляр|ігнар|тыраж|фініш|генэр)ыр(?=[ау])/, "$1"],
1536
+ [/(інду|кваліфі|права|фальсыфі)цыр(?=[ау])/, "$1к"],
1537
+ [/(кап|прэм)іра/, "$1ія"],
1538
+ [/(кап|прэм)іру/, "$1ію"],
1539
+ [/(дуб|кантра|капіту|прафі|пэда)ліра/, "$1ля"],
1540
+ [/(дуб|кантра|капіту|прафі|пэда)ліру/, "$1лю"],
1541
+ [/(ініцы|канстру|тату)іра/, "$1я"],
1542
+ [/(ініцы|канстру|тату)іру/, "$1ю"],
1536
1543
  [/(бляк|балянс|інсцэн|плян|трэн|фарм)іроўкай/, "$1аваньнем"],
1537
1544
  [/(бляк|балянс|інсцэн|плян|трэн|фарм)іроўка/, "$1аваньне"],
1538
1545
  [/(бляк|балянс|інсцэн|плян|трэн|фарм)іроўкі/, "$1аваньня"],
@@ -1803,11 +1810,11 @@ var rawWordlist = [
1803
1810
  /* Іншае */
1804
1811
  [/(кібер|фа)неты(?=[кч])/, "$1нэты"],
1805
1812
  [/цій /, "(цій|ці) "],
1806
- // [/(?<a>андрэс\S* цэльсі)й/, '$<a>юс'],
1807
- // [/(?<a>андрэс\S* цэльсі)ем/, '$<a>юсам'],
1808
- // [/(?<a>андрэс\S* цэльсі)[яе]/, '$<a>юса'],
1809
- // [/(?<a>андрэс\S* цэльсі)і/, '$<a>юсе'],
1810
- // [/(?<a>андрэс\S* цэльсі)ю/, '$<a>юсу'],
1813
+ // [/(андрэс\S* цэльсі)й/, '$1юс'],
1814
+ // [/(андрэс\S* цэльсі)ем/, '$1юсам'],
1815
+ // [/(андрэс\S* цэльсі)[яе]/, '$1юса'],
1816
+ // [/(андрэс\S* цэльсі)і/, '$1юсе'],
1817
+ // [/(андрэс\S* цэльсі)ю/, '$1юсу'],
1811
1818
  [/пёрл - харбар/, "пэрл - гарбар"],
1812
1819
  [/рымска - кат/, "рыма - кат"],
1813
1820
  [/ іата /, " і�ата "],
@@ -2081,6 +2088,7 @@ var getLastLetter = (word) => {
2081
2088
  for (let i = word.length - 1; i >= 0; i--)
2082
2089
  if (/\p{L}/u.test(word[i]))
2083
2090
  return word[i];
2091
+ throw new Error(`the last letter of the word ${word} not found`);
2084
2092
  };
2085
2093
  var NOFIX_CHAR = " ￿ ";
2086
2094
  var NOFIX_REGEX = new RegExp(NOFIX_CHAR, "g");
@@ -2180,7 +2188,11 @@ var taraskSync = (text, options = {}) => {
2180
2188
  }
2181
2189
  }
2182
2190
  if (gReplacer)
2183
- text = text.replace(G_REGEX, gReplacer);
2191
+ text = text.replace(
2192
+ G_REGEX,
2193
+ // @ts-ignore
2194
+ gReplacer
2195
+ );
2184
2196
  if (noFix.length)
2185
2197
  text = text.replace(NOFIX_REGEX, () => noFix.shift());
2186
2198
  return (html ? finalizer.html(text) : finalizer.nonHtml(text, nonHtml)).trim();
@@ -2297,7 +2309,7 @@ var finalizer = {
2297
2309
  return `<tarL data-l='${options}'>${main}</tarL>`;
2298
2310
  }).replace(/ \n /g, "<br>"),
2299
2311
  nonHtml(text, options) {
2300
- if (isObject(options) && options.variations !== VARIATION.ALL) {
2312
+ if (isObject(options) && options.variations && options.variations !== VARIATION.ALL) {
2301
2313
  const WORD_INDEX = options.variations;
2302
2314
  const replacer = ($0) => $0.slice(1, -1).split("|")[WORD_INDEX];
2303
2315
  text = text.replace(
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "taraskevizer",
3
3
  "author": "GooseOb",
4
4
  "license": "MIT",
5
- "version": "1.5.2",
5
+ "version": "1.5.3",
6
6
  "private": false,
7
7
  "homepage": "https://gooseob.github.io/taraskevizatar/",
8
8
  "main": "dist/index.js",
@@ -19,9 +19,11 @@
19
19
  ],
20
20
  "scripts": {
21
21
  "build": "tsup --config build-config/index.js",
22
- "dev": "tsup --config build-config/dev.js --watch",
23
- "dev:build": "tsup --config build-config/dev.js",
24
- "test": "node test",
22
+ "build:bun_EXPERIMENTAL": "bun ./build-config/bun.ts",
23
+ "dev": "esrun --watch=src/*,test/* --send-code-mode=temporaryFile test",
24
+ "dev:bun": "bun test --watch",
25
+ "test": "esrun --send-code-mode=temporaryFile test",
26
+ "test:bun": "bun test",
25
27
  "prepare": "husky install"
26
28
  },
27
29
  "repository": {
@@ -37,7 +39,9 @@
37
39
  "belarusian"
38
40
  ],
39
41
  "devDependencies": {
42
+ "@digitak/esrun": "^3.2.24",
40
43
  "@types/node": "^20.5.4",
44
+ "bun-types": "^1.0.1",
41
45
  "husky": "^8.0.3",
42
46
  "prettier": "^3.0.0",
43
47
  "simple-git": "^3.19.1",