taraskevizer 1.4.3 → 1.4.5
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/README.md +7 -7
- package/dist/index.cjs +40 -15
- package/dist/index.d.ts +5 -9
- package/dist/index.js +40 -15
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -63,13 +63,13 @@ When to replace `і`(`i`) by `й`(`j`) after vowels:
|
|
|
63
63
|
|
|
64
64
|
### html
|
|
65
65
|
|
|
66
|
-
Type: `
|
|
66
|
+
Type: `boolean|object`
|
|
67
67
|
|
|
68
68
|
Default value: `false`
|
|
69
69
|
|
|
70
|
-
If `object`, some parts of a text are wrapped in HTML tags.
|
|
70
|
+
If `true|object`, some parts of a text are wrapped in HTML tags.
|
|
71
71
|
|
|
72
|
-
#### g
|
|
72
|
+
#### html.g
|
|
73
73
|
|
|
74
74
|
Type: `boolean`
|
|
75
75
|
|
|
@@ -85,19 +85,19 @@ true: <tarH>ґ</tarH> <tarH>Ґ</tarH>
|
|
|
85
85
|
|
|
86
86
|
### nonHtml
|
|
87
87
|
|
|
88
|
-
Type: `
|
|
88
|
+
Type: `boolean|object`
|
|
89
89
|
|
|
90
90
|
Default value: `false`
|
|
91
91
|
|
|
92
92
|
If `html` is defined, will be ignored
|
|
93
93
|
|
|
94
|
-
#### nodeColors
|
|
94
|
+
#### nonHtml.nodeColors
|
|
95
95
|
|
|
96
96
|
Type: `boolean`
|
|
97
97
|
|
|
98
98
|
Default value: `false`
|
|
99
99
|
|
|
100
|
-
#### h
|
|
100
|
+
#### nonHtml.h
|
|
101
101
|
|
|
102
102
|
Type: `boolean`
|
|
103
103
|
|
|
@@ -111,7 +111,7 @@ false: Ґ ґ
|
|
|
111
111
|
true: Г г
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
-
#### variations
|
|
114
|
+
#### nonHtml.variations
|
|
115
115
|
|
|
116
116
|
Type: `number`
|
|
117
117
|
|
package/dist/index.cjs
CHANGED
|
@@ -143,6 +143,7 @@ var greekLetters = [
|
|
|
143
143
|
["υ", /й/],
|
|
144
144
|
["κ", /к/],
|
|
145
145
|
["λ", /л/],
|
|
146
|
+
["μ‘π", /мп/],
|
|
146
147
|
["μ", /м/],
|
|
147
148
|
["ν", /н/],
|
|
148
149
|
["ο", /о/],
|
|
@@ -189,6 +190,8 @@ var greekLettersUpperCase = [
|
|
|
189
190
|
["Υ", /Й/],
|
|
190
191
|
["Κ", /К/],
|
|
191
192
|
["Λ", /Л/],
|
|
193
|
+
["Μ‘Π", /МП/],
|
|
194
|
+
["Μ‘π", /Мп/],
|
|
192
195
|
["Μ", /М/],
|
|
193
196
|
["Ν", /Н/],
|
|
194
197
|
["Ο", /О/],
|
|
@@ -210,25 +213,38 @@ var greekLettersUpperCase = [
|
|
|
210
213
|
];
|
|
211
214
|
var thWords = [
|
|
212
215
|
["θει", /тэі(?=зм|ст)/],
|
|
216
|
+
[" αγαθ", / агат/],
|
|
213
217
|
[" αναθεμ", / анатэм/],
|
|
218
|
+
["ανθραπα", /антрапа/],
|
|
219
|
+
[" απαθε", / апатэ(?=оз|аты|м)/],
|
|
214
220
|
[" αρθα", / арта(?=графі|д[ао]кс|эпі)/],
|
|
215
221
|
[" αρίθμετ", / арытмэт/],
|
|
216
222
|
[" αθεν", / атэн/],
|
|
217
223
|
[" καλιθε", / калітэ/],
|
|
218
224
|
[" καθεδ", / катэд(?=\(?а?р)/],
|
|
225
|
+
["λυαμπιρίνθ", /лябірынт/],
|
|
226
|
+
["λυαγαρίθμ", /лягарытм/],
|
|
227
|
+
[" μαρθί ", / мар[фт]ы /],
|
|
228
|
+
[" μαρθη ", / марфе /],
|
|
219
229
|
[" μαθεματί", / матэматы/],
|
|
220
230
|
[" μιθ", / міт(?=[ауы]|оляг| )/],
|
|
221
231
|
[" μεθ", / мэт(?=[ао]д)/],
|
|
232
|
+
["παθ", /пат(?=ал[ёя]гі|оляг|ычн|ыя|ы[ійю] |[ауы] |а[ўм] |амі | )/],
|
|
222
233
|
[" πιθαγορ", / пітагор/],
|
|
223
234
|
[" ρίθμ", / ры[тф]м/],
|
|
235
|
+
["σίνθετ", /сынтэ[зт]/],
|
|
236
|
+
[" θομασ", / томас/],
|
|
237
|
+
[" θρομμπ", / тромб/],
|
|
238
|
+
[" θρον", / трон/],
|
|
239
|
+
["θραμμποζ", /трамбоз/],
|
|
224
240
|
[" θεαδοσ", / тэадос/],
|
|
225
241
|
[" θεαρεμ", / тэарэм/],
|
|
226
242
|
[" θεατ", / тэат(?=ар |р)/],
|
|
227
243
|
[" θεμ", / тэм(?=[аеуы])/],
|
|
228
|
-
["
|
|
229
|
-
["
|
|
230
|
-
["
|
|
231
|
-
["
|
|
244
|
+
[" θε", / тэ(?=[ао]р|салёнік|сал)/],
|
|
245
|
+
["θε", /тэ(?=с\S*алёнік|\S*зіс)/],
|
|
246
|
+
["θερμα", /тэрма/],
|
|
247
|
+
[" εθ", / эт(?=ы[кч]|эр)/]
|
|
232
248
|
];
|
|
233
249
|
|
|
234
250
|
// src/dict/arabic.ts
|
|
@@ -434,6 +450,7 @@ var rawWordlist = [
|
|
|
434
450
|
["анэ", /ане(?=стэ[зт])/],
|
|
435
451
|
["апазыцы", /апазіцы/],
|
|
436
452
|
["апаляґет", /апалагет/],
|
|
453
|
+
[" апатэ", / апафе(?=оз|аты|м)/],
|
|
437
454
|
["апсыд", /апсід/],
|
|
438
455
|
// Апсыда
|
|
439
456
|
["апэльсін", /апельсін/],
|
|
@@ -532,7 +549,6 @@ var rawWordlist = [
|
|
|
532
549
|
["(беразіном|бярэзаньню) ", /беразіном /],
|
|
533
550
|
[" (бягомель|бегамля)", / бягомль/],
|
|
534
551
|
/* В */
|
|
535
|
-
[" ва ўкраін", / на ўкраін/],
|
|
536
552
|
["вайшнор", /вейшнор/],
|
|
537
553
|
["валянтэр", /валанцёр/],
|
|
538
554
|
[" валён", / валон/],
|
|
@@ -837,9 +853,11 @@ var rawWordlist = [
|
|
|
837
853
|
[" люўр", / луўр/],
|
|
838
854
|
// [' $1ляг$2', / ((?:пра|не)?)лаг(аван|і|уе)/],
|
|
839
855
|
["лябара", /лабара(?=[нт])/],
|
|
856
|
+
["лябірын", /лабірын(?=[тц])/],
|
|
840
857
|
["лябатам", /лабатам/],
|
|
841
858
|
["ляванд", /лаванд/],
|
|
842
|
-
["лягарыт",
|
|
859
|
+
["лягарыт", /лагарыф/],
|
|
860
|
+
["лягатып", /лагатып/],
|
|
843
861
|
["лягуна", /лагуна/],
|
|
844
862
|
["ляйпцыг", /лейпцыг/],
|
|
845
863
|
["ляйтматы", /лейтматы/],
|
|
@@ -1220,7 +1238,7 @@ var rawWordlist = [
|
|
|
1220
1238
|
["тʼюдар", /цюдар/],
|
|
1221
1239
|
/* У/Ў */
|
|
1222
1240
|
["уў", /уу/],
|
|
1223
|
-
["$1
|
|
1241
|
+
["$1збэ", /([уў])збе(?=[кц])/],
|
|
1224
1242
|
["$1нівэрсы", /([уў])нівэрсі/],
|
|
1225
1243
|
["($1раўне|раўна)ньн", /([уў])раўненн/],
|
|
1226
1244
|
/* Ў */
|
|
@@ -2087,7 +2105,7 @@ for (const word of gwords)
|
|
|
2087
2105
|
var isObject = (arg) => typeof arg === "object";
|
|
2088
2106
|
var isUpperCase = (str) => str === str.toUpperCase();
|
|
2089
2107
|
var getLastLetter = (word) => {
|
|
2090
|
-
for (let i = word.length - 1; i
|
|
2108
|
+
for (let i = word.length - 1; i >= 0; i--)
|
|
2091
2109
|
if (/\p{L}/u.test(word[i]))
|
|
2092
2110
|
return word[i];
|
|
2093
2111
|
};
|
|
@@ -2117,7 +2135,10 @@ var additionalReplacements = {
|
|
|
2117
2135
|
[" U", / <tarF>Ŭ<\/tarF>(?=\p{Lu})/gu]
|
|
2118
2136
|
],
|
|
2119
2137
|
[ALPHABET.ARABIC]: [],
|
|
2120
|
-
[ALPHABET.GREEK]: [
|
|
2138
|
+
[ALPHABET.GREEK]: [
|
|
2139
|
+
["$1Ϋ", /([ΑΗΙΊΟΫΕ])<tarF>Ϋ́<\/tarF>/g],
|
|
2140
|
+
[" Ϋ", / <tarF>Ϋ́<\/tarF>(?=\p{Lu})/gu]
|
|
2141
|
+
]
|
|
2121
2142
|
};
|
|
2122
2143
|
var tagApplications = {
|
|
2123
2144
|
html: {
|
|
@@ -2160,9 +2181,13 @@ var taraskSync = (text, options) => {
|
|
|
2160
2181
|
splitted = text.split(" ");
|
|
2161
2182
|
if (abc !== ALPHABET.ARABIC)
|
|
2162
2183
|
splitted = restoreCase(splitted, splittedOrig);
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2184
|
+
if (html || isNonHtmlObject && nonHtml.nodeColors)
|
|
2185
|
+
splitted = toTags(
|
|
2186
|
+
splitted,
|
|
2187
|
+
splittedOrig,
|
|
2188
|
+
abc === ALPHABET.CYRILLIC,
|
|
2189
|
+
apply.F
|
|
2190
|
+
);
|
|
2166
2191
|
text = splitted.join(" ").replace(/ /g, " ").replace(/ (\p{P}|\p{S}|\d|() /gu, "$1");
|
|
2167
2192
|
let gReplacer;
|
|
2168
2193
|
if (html) {
|
|
@@ -2209,13 +2234,13 @@ function restoreCase(text, orig) {
|
|
|
2209
2234
|
}
|
|
2210
2235
|
return text;
|
|
2211
2236
|
}
|
|
2212
|
-
function toTags(text, orig,
|
|
2237
|
+
function toTags(text, orig, isCyrillic, applyF) {
|
|
2213
2238
|
for (let i = 0; i < text.length; i++) {
|
|
2214
2239
|
const word = text[i];
|
|
2215
2240
|
const oWord = orig[i];
|
|
2216
2241
|
if (oWord === word)
|
|
2217
2242
|
continue;
|
|
2218
|
-
const wordH = word.replace(G_REGEX, ($0) => gobj[$0]);
|
|
2243
|
+
const wordH = isCyrillic ? word.replace(G_REGEX, ($0) => gobj[$0]) : word;
|
|
2219
2244
|
if (oWord === wordH)
|
|
2220
2245
|
continue;
|
|
2221
2246
|
if (!/\(/.test(word)) {
|
|
@@ -2228,7 +2253,7 @@ function toTags(text, orig, abc, applyF) {
|
|
|
2228
2253
|
text[i] = wordLetters.join("");
|
|
2229
2254
|
continue;
|
|
2230
2255
|
}
|
|
2231
|
-
if (
|
|
2256
|
+
if (isCyrillic) {
|
|
2232
2257
|
const word1 = word.replace(/ь/g, "");
|
|
2233
2258
|
switch (oWord) {
|
|
2234
2259
|
case word1:
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ type DeepPartial<T> = T extends object ? {
|
|
|
3
3
|
[P in keyof T]?: DeepPartial<T[P]>;
|
|
4
4
|
} : T;
|
|
5
5
|
type Alphabet = 0 | 1 | 2 | 3;
|
|
6
|
-
type
|
|
6
|
+
type OptionJ = 0 | 1 | 2;
|
|
7
7
|
type Variation = 0 | 1 | 2;
|
|
8
8
|
type NonHtmlOptions = {
|
|
9
9
|
nodeColors: boolean;
|
|
@@ -15,14 +15,10 @@ type HtmlOptions = {
|
|
|
15
15
|
};
|
|
16
16
|
type TaraskOptionsStrict = {
|
|
17
17
|
abc: Alphabet;
|
|
18
|
-
j:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} | {
|
|
23
|
-
html: false;
|
|
24
|
-
nonHtml: true | NonHtmlOptions;
|
|
25
|
-
});
|
|
18
|
+
j: OptionJ;
|
|
19
|
+
html: boolean | HtmlOptions;
|
|
20
|
+
nonHtml: boolean | NonHtmlOptions;
|
|
21
|
+
};
|
|
26
22
|
type TaraskOptions = DeepPartial<TaraskOptionsStrict>;
|
|
27
23
|
type Tarask = (text: string, options?: TaraskOptions) => string;
|
|
28
24
|
type TaraskAsync = Promisify<Tarask>;
|
package/dist/index.js
CHANGED
|
@@ -113,6 +113,7 @@ var greekLetters = [
|
|
|
113
113
|
["υ", /й/],
|
|
114
114
|
["κ", /к/],
|
|
115
115
|
["λ", /л/],
|
|
116
|
+
["μ‘π", /мп/],
|
|
116
117
|
["μ", /м/],
|
|
117
118
|
["ν", /н/],
|
|
118
119
|
["ο", /о/],
|
|
@@ -159,6 +160,8 @@ var greekLettersUpperCase = [
|
|
|
159
160
|
["Υ", /Й/],
|
|
160
161
|
["Κ", /К/],
|
|
161
162
|
["Λ", /Л/],
|
|
163
|
+
["Μ‘Π", /МП/],
|
|
164
|
+
["Μ‘π", /Мп/],
|
|
162
165
|
["Μ", /М/],
|
|
163
166
|
["Ν", /Н/],
|
|
164
167
|
["Ο", /О/],
|
|
@@ -180,25 +183,38 @@ var greekLettersUpperCase = [
|
|
|
180
183
|
];
|
|
181
184
|
var thWords = [
|
|
182
185
|
["θει", /тэі(?=зм|ст)/],
|
|
186
|
+
[" αγαθ", / агат/],
|
|
183
187
|
[" αναθεμ", / анатэм/],
|
|
188
|
+
["ανθραπα", /антрапа/],
|
|
189
|
+
[" απαθε", / апатэ(?=оз|аты|м)/],
|
|
184
190
|
[" αρθα", / арта(?=графі|д[ао]кс|эпі)/],
|
|
185
191
|
[" αρίθμετ", / арытмэт/],
|
|
186
192
|
[" αθεν", / атэн/],
|
|
187
193
|
[" καλιθε", / калітэ/],
|
|
188
194
|
[" καθεδ", / катэд(?=\(?а?р)/],
|
|
195
|
+
["λυαμπιρίνθ", /лябірынт/],
|
|
196
|
+
["λυαγαρίθμ", /лягарытм/],
|
|
197
|
+
[" μαρθί ", / мар[фт]ы /],
|
|
198
|
+
[" μαρθη ", / марфе /],
|
|
189
199
|
[" μαθεματί", / матэматы/],
|
|
190
200
|
[" μιθ", / міт(?=[ауы]|оляг| )/],
|
|
191
201
|
[" μεθ", / мэт(?=[ао]д)/],
|
|
202
|
+
["παθ", /пат(?=ал[ёя]гі|оляг|ычн|ыя|ы[ійю] |[ауы] |а[ўм] |амі | )/],
|
|
192
203
|
[" πιθαγορ", / пітагор/],
|
|
193
204
|
[" ρίθμ", / ры[тф]м/],
|
|
205
|
+
["σίνθετ", /сынтэ[зт]/],
|
|
206
|
+
[" θομασ", / томас/],
|
|
207
|
+
[" θρομμπ", / тромб/],
|
|
208
|
+
[" θρον", / трон/],
|
|
209
|
+
["θραμμποζ", /трамбоз/],
|
|
194
210
|
[" θεαδοσ", / тэадос/],
|
|
195
211
|
[" θεαρεμ", / тэарэм/],
|
|
196
212
|
[" θεατ", / тэат(?=ар |р)/],
|
|
197
213
|
[" θεμ", / тэм(?=[аеуы])/],
|
|
198
|
-
["
|
|
199
|
-
["
|
|
200
|
-
["
|
|
201
|
-
["
|
|
214
|
+
[" θε", / тэ(?=[ао]р|салёнік|сал)/],
|
|
215
|
+
["θε", /тэ(?=с\S*алёнік|\S*зіс)/],
|
|
216
|
+
["θερμα", /тэрма/],
|
|
217
|
+
[" εθ", / эт(?=ы[кч]|эр)/]
|
|
202
218
|
];
|
|
203
219
|
|
|
204
220
|
// src/dict/arabic.ts
|
|
@@ -404,6 +420,7 @@ var rawWordlist = [
|
|
|
404
420
|
["анэ", /ане(?=стэ[зт])/],
|
|
405
421
|
["апазыцы", /апазіцы/],
|
|
406
422
|
["апаляґет", /апалагет/],
|
|
423
|
+
[" апатэ", / апафе(?=оз|аты|м)/],
|
|
407
424
|
["апсыд", /апсід/],
|
|
408
425
|
// Апсыда
|
|
409
426
|
["апэльсін", /апельсін/],
|
|
@@ -502,7 +519,6 @@ var rawWordlist = [
|
|
|
502
519
|
["(беразіном|бярэзаньню) ", /беразіном /],
|
|
503
520
|
[" (бягомель|бегамля)", / бягомль/],
|
|
504
521
|
/* В */
|
|
505
|
-
[" ва ўкраін", / на ўкраін/],
|
|
506
522
|
["вайшнор", /вейшнор/],
|
|
507
523
|
["валянтэр", /валанцёр/],
|
|
508
524
|
[" валён", / валон/],
|
|
@@ -807,9 +823,11 @@ var rawWordlist = [
|
|
|
807
823
|
[" люўр", / луўр/],
|
|
808
824
|
// [' $1ляг$2', / ((?:пра|не)?)лаг(аван|і|уе)/],
|
|
809
825
|
["лябара", /лабара(?=[нт])/],
|
|
826
|
+
["лябірын", /лабірын(?=[тц])/],
|
|
810
827
|
["лябатам", /лабатам/],
|
|
811
828
|
["ляванд", /лаванд/],
|
|
812
|
-
["лягарыт",
|
|
829
|
+
["лягарыт", /лагарыф/],
|
|
830
|
+
["лягатып", /лагатып/],
|
|
813
831
|
["лягуна", /лагуна/],
|
|
814
832
|
["ляйпцыг", /лейпцыг/],
|
|
815
833
|
["ляйтматы", /лейтматы/],
|
|
@@ -1190,7 +1208,7 @@ var rawWordlist = [
|
|
|
1190
1208
|
["тʼюдар", /цюдар/],
|
|
1191
1209
|
/* У/Ў */
|
|
1192
1210
|
["уў", /уу/],
|
|
1193
|
-
["$1
|
|
1211
|
+
["$1збэ", /([уў])збе(?=[кц])/],
|
|
1194
1212
|
["$1нівэрсы", /([уў])нівэрсі/],
|
|
1195
1213
|
["($1раўне|раўна)ньн", /([уў])раўненн/],
|
|
1196
1214
|
/* Ў */
|
|
@@ -2057,7 +2075,7 @@ for (const word of gwords)
|
|
|
2057
2075
|
var isObject = (arg) => typeof arg === "object";
|
|
2058
2076
|
var isUpperCase = (str) => str === str.toUpperCase();
|
|
2059
2077
|
var getLastLetter = (word) => {
|
|
2060
|
-
for (let i = word.length - 1; i
|
|
2078
|
+
for (let i = word.length - 1; i >= 0; i--)
|
|
2061
2079
|
if (/\p{L}/u.test(word[i]))
|
|
2062
2080
|
return word[i];
|
|
2063
2081
|
};
|
|
@@ -2087,7 +2105,10 @@ var additionalReplacements = {
|
|
|
2087
2105
|
[" U", / <tarF>Ŭ<\/tarF>(?=\p{Lu})/gu]
|
|
2088
2106
|
],
|
|
2089
2107
|
[ALPHABET.ARABIC]: [],
|
|
2090
|
-
[ALPHABET.GREEK]: [
|
|
2108
|
+
[ALPHABET.GREEK]: [
|
|
2109
|
+
["$1Ϋ", /([ΑΗΙΊΟΫΕ])<tarF>Ϋ́<\/tarF>/g],
|
|
2110
|
+
[" Ϋ", / <tarF>Ϋ́<\/tarF>(?=\p{Lu})/gu]
|
|
2111
|
+
]
|
|
2091
2112
|
};
|
|
2092
2113
|
var tagApplications = {
|
|
2093
2114
|
html: {
|
|
@@ -2130,9 +2151,13 @@ var taraskSync = (text, options) => {
|
|
|
2130
2151
|
splitted = text.split(" ");
|
|
2131
2152
|
if (abc !== ALPHABET.ARABIC)
|
|
2132
2153
|
splitted = restoreCase(splitted, splittedOrig);
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2154
|
+
if (html || isNonHtmlObject && nonHtml.nodeColors)
|
|
2155
|
+
splitted = toTags(
|
|
2156
|
+
splitted,
|
|
2157
|
+
splittedOrig,
|
|
2158
|
+
abc === ALPHABET.CYRILLIC,
|
|
2159
|
+
apply.F
|
|
2160
|
+
);
|
|
2136
2161
|
text = splitted.join(" ").replace(/ /g, " ").replace(/ (\p{P}|\p{S}|\d|() /gu, "$1");
|
|
2137
2162
|
let gReplacer;
|
|
2138
2163
|
if (html) {
|
|
@@ -2179,13 +2204,13 @@ function restoreCase(text, orig) {
|
|
|
2179
2204
|
}
|
|
2180
2205
|
return text;
|
|
2181
2206
|
}
|
|
2182
|
-
function toTags(text, orig,
|
|
2207
|
+
function toTags(text, orig, isCyrillic, applyF) {
|
|
2183
2208
|
for (let i = 0; i < text.length; i++) {
|
|
2184
2209
|
const word = text[i];
|
|
2185
2210
|
const oWord = orig[i];
|
|
2186
2211
|
if (oWord === word)
|
|
2187
2212
|
continue;
|
|
2188
|
-
const wordH = word.replace(G_REGEX, ($0) => gobj[$0]);
|
|
2213
|
+
const wordH = isCyrillic ? word.replace(G_REGEX, ($0) => gobj[$0]) : word;
|
|
2189
2214
|
if (oWord === wordH)
|
|
2190
2215
|
continue;
|
|
2191
2216
|
if (!/\(/.test(word)) {
|
|
@@ -2198,7 +2223,7 @@ function toTags(text, orig, abc, applyF) {
|
|
|
2198
2223
|
text[i] = wordLetters.join("");
|
|
2199
2224
|
continue;
|
|
2200
2225
|
}
|
|
2201
|
-
if (
|
|
2226
|
+
if (isCyrillic) {
|
|
2202
2227
|
const word1 = word.replace(/ь/g, "");
|
|
2203
2228
|
switch (oWord) {
|
|
2204
2229
|
case word1:
|