taraskevizer 6.1.15 → 6.1.17

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/bin.js CHANGED
@@ -7,7 +7,7 @@ const printWithPrefix = (msg) => {
7
7
  process.argv.splice(0, 2);
8
8
  const checkForOptions = (options) => process.argv[0] && options.includes(process.argv[0].toLowerCase());
9
9
  if (checkForOptions(["-v", "--version"])) {
10
- printWithPrefix("6.1.15");
10
+ printWithPrefix("6.1.17");
11
11
  process.exit(0);
12
12
  }
13
13
  if (checkForOptions(["-h", "--help"])) {
package/dist/index.cjs CHANGED
@@ -156,7 +156,7 @@ var common = {
156
156
  [/э/, "e"],
157
157
  [/ю/, "iu"],
158
158
  [/я/, "ia"],
159
- [/[łl]i([eoua])/, "l$1"],
159
+ [i(?=[eoua])/, "l"],
160
160
  [/łi/, "li"]
161
161
  ]
162
162
  ].map(dictFrom.nonGlobal),
@@ -212,9 +212,8 @@ var common = {
212
212
  [/Ш/, "Š"],
213
213
  [/Ы/, "Y"],
214
214
  [/Э/, "E"],
215
- [/[ŁL][Ii]([AEOUaeou])/, "L$1"],
216
- [/Łi/, "Li"],
217
- [/ŁI/, "LI"]
215
+ [[Ii](?=[AEOUaeou])/, "L"],
216
+ [/Ł(?=[Ii])/, "L"]
218
217
  ]
219
218
  ].map(dictFrom.nonGlobal)
220
219
  };
@@ -2191,6 +2190,7 @@ var convertAlphabet = (text, abc) => replaceWithDict(replaceWithDict(text, lette
2191
2190
  var NOFIX_CHAR = "  ";
2192
2191
  var NOFIX_REGEX = new RegExp(NOFIX_CHAR, "g");
2193
2192
  var applyNoFix = (arr, text) => arr.length ? text.replace(NOFIX_REGEX, () => arr.shift()) : text;
2193
+ var applyVariableParts = (text, callback) => text.replace(/\([^)]*?\)/g, ($0) => callback($0.slice(1, -1).split("|")));
2194
2194
  var resolveSpecialSyntax = (text, noFixArr, leftAngleBracket, convertAlphavet, doEscapeCaps) => {
2195
2195
  const escapeCapsIfNeeded = (text2) => doEscapeCaps ? text2.replace(new RegExp("(?!<=\\p{Lu} )\\p{Lu}{2}[\\p{Lu} ]*(?!= \\p{Lu})", "gu"), ($0) => {
2196
2196
  noFixArr.push(convertAlphavet($0));
@@ -2244,11 +2244,11 @@ var resolveSpecialSyntax = (text, noFixArr, leftAngleBracket, convertAlphavet, d
2244
2244
  };
2245
2245
 
2246
2246
  // src/tarask.ts
2247
- var OPTIONAL_WORDS_REGEX = /\([^)]*?\)/g;
2248
2247
  var afterJoin = (text) => text.replace(/&nbsp;/g, " ").replace(new RegExp(" (\\p{P}|\\p{S}|\\d|&#40) ", "gu"), "$1");
2249
2248
  var join = (textArr) => afterJoin(textArr.join(" "));
2250
2249
  var finalize = (text, newLine) => text.replace(/ \t /g, " ").replace(/ \n /g, newLine).trim();
2251
- var restoreBraces = (text) => text.replace(/&#40/g, "(");
2250
+ var restoreParentheses = (text) => text.replace(/&#40/g, "(");
2251
+ var wordlistPlusNoSoften = wordlist.concat(noSoften);
2252
2252
  var Taraskevizer = class {
2253
2253
  general = {
2254
2254
  abc: ALPHABET.CYRILLIC,
@@ -2287,15 +2287,14 @@ var Taraskevizer = class {
2287
2287
  text,
2288
2288
  this.nonHtml.ansiColors ? this.nonHtml.h ? ($0) => wrapInColorOf.variable(gobj[$0]) : wrapInColorOf.variable("$&") : ($0) => gobj[$0]
2289
2289
  );
2290
- if ("variations" in this.nonHtml && this.nonHtml.variations !== VARIATION.ALL) {
2291
- const wordIndex = this.nonHtml.variations ?? 0;
2292
- const replacer = ($0) => $0.slice(1, -1).split("|")[wordIndex];
2293
- text = text.replace(
2294
- OPTIONAL_WORDS_REGEX,
2295
- this.nonHtml.ansiColors ? ($0) => wrapInColorOf.variable(replacer($0)) : replacer
2290
+ if (this.nonHtml.variations !== VARIATION.ALL) {
2291
+ const partIndex = this.nonHtml.variations;
2292
+ text = applyVariableParts(
2293
+ text,
2294
+ this.nonHtml.ansiColors ? (parts) => wrapInColorOf.variable(parts[partIndex]) : (parts) => parts[partIndex]
2296
2295
  );
2297
2296
  }
2298
- return finalize(restoreBraces(applyNoFix(noFixArr, text)), "\n");
2297
+ return finalize(restoreParentheses(applyNoFix(noFixArr, text)), "\n");
2299
2298
  }
2300
2299
  convertToHtml(text) {
2301
2300
  const wrapInTag = wrappers.html;
@@ -2312,10 +2311,9 @@ var Taraskevizer = class {
2312
2311
  this.html.g ? wrapInTag.letterH("$&") : ($0) => wrapInTag.letterH(gobj[$0])
2313
2312
  );
2314
2313
  return finalize(
2315
- applyNoFix(noFixArr, text).replace(OPTIONAL_WORDS_REGEX, ($0) => {
2316
- const options = $0.slice(1, -1).split("|");
2317
- const main = options.shift();
2318
- return `<tarL data-l='${options}'>${main}</tarL>`;
2314
+ applyVariableParts(applyNoFix(noFixArr, text), (parts) => {
2315
+ const main = parts.shift();
2316
+ return `<tarL data-l='${parts}'>${main}</tarL>`;
2319
2317
  }),
2320
2318
  "<br>"
2321
2319
  );
@@ -2340,7 +2338,7 @@ var Taraskevizer = class {
2340
2338
  const noFixArr = [];
2341
2339
  return finalize(
2342
2340
  afterJoin(
2343
- restoreBraces(
2341
+ restoreParentheses(
2344
2342
  applyNoFix(
2345
2343
  noFixArr,
2346
2344
  convertAlphabet(
@@ -2366,7 +2364,7 @@ var Taraskevizer = class {
2366
2364
  return { splittedOrig, splitted };
2367
2365
  }
2368
2366
  taraskevize(text) {
2369
- text = replaceWithDict(replaceWithDict(text, wordlist), noSoften);
2367
+ text = replaceWithDict(text, wordlistPlusNoSoften);
2370
2368
  softening:
2371
2369
  do {
2372
2370
  text = replaceWithDict(text, softeners);
package/dist/index.js CHANGED
@@ -131,7 +131,7 @@ var common = {
131
131
  [/э/, "e"],
132
132
  [/ю/, "iu"],
133
133
  [/я/, "ia"],
134
- [/[łl]i([eoua])/, "l$1"],
134
+ [i(?=[eoua])/, "l"],
135
135
  [/łi/, "li"]
136
136
  ]
137
137
  ].map(dictFrom.nonGlobal),
@@ -187,9 +187,8 @@ var common = {
187
187
  [/Ш/, "Š"],
188
188
  [/Ы/, "Y"],
189
189
  [/Э/, "E"],
190
- [/[ŁL][Ii]([AEOUaeou])/, "L$1"],
191
- [/Łi/, "Li"],
192
- [/ŁI/, "LI"]
190
+ [[Ii](?=[AEOUaeou])/, "L"],
191
+ [/Ł(?=[Ii])/, "L"]
193
192
  ]
194
193
  ].map(dictFrom.nonGlobal)
195
194
  };
@@ -2166,6 +2165,7 @@ var convertAlphabet = (text, abc) => replaceWithDict(replaceWithDict(text, lette
2166
2165
  var NOFIX_CHAR = "  ";
2167
2166
  var NOFIX_REGEX = new RegExp(NOFIX_CHAR, "g");
2168
2167
  var applyNoFix = (arr, text) => arr.length ? text.replace(NOFIX_REGEX, () => arr.shift()) : text;
2168
+ var applyVariableParts = (text, callback) => text.replace(/\([^)]*?\)/g, ($0) => callback($0.slice(1, -1).split("|")));
2169
2169
  var resolveSpecialSyntax = (text, noFixArr, leftAngleBracket, convertAlphavet, doEscapeCaps) => {
2170
2170
  const escapeCapsIfNeeded = (text2) => doEscapeCaps ? text2.replace(new RegExp("(?!<=\\p{Lu} )\\p{Lu}{2}[\\p{Lu} ]*(?!= \\p{Lu})", "gu"), ($0) => {
2171
2171
  noFixArr.push(convertAlphavet($0));
@@ -2219,11 +2219,11 @@ var resolveSpecialSyntax = (text, noFixArr, leftAngleBracket, convertAlphavet, d
2219
2219
  };
2220
2220
 
2221
2221
  // src/tarask.ts
2222
- var OPTIONAL_WORDS_REGEX = /\([^)]*?\)/g;
2223
2222
  var afterJoin = (text) => text.replace(/&nbsp;/g, " ").replace(new RegExp(" (\\p{P}|\\p{S}|\\d|&#40) ", "gu"), "$1");
2224
2223
  var join = (textArr) => afterJoin(textArr.join(" "));
2225
2224
  var finalize = (text, newLine) => text.replace(/ \t /g, " ").replace(/ \n /g, newLine).trim();
2226
- var restoreBraces = (text) => text.replace(/&#40/g, "(");
2225
+ var restoreParentheses = (text) => text.replace(/&#40/g, "(");
2226
+ var wordlistPlusNoSoften = wordlist.concat(noSoften);
2227
2227
  var Taraskevizer = class {
2228
2228
  general = {
2229
2229
  abc: ALPHABET.CYRILLIC,
@@ -2262,15 +2262,14 @@ var Taraskevizer = class {
2262
2262
  text,
2263
2263
  this.nonHtml.ansiColors ? this.nonHtml.h ? ($0) => wrapInColorOf.variable(gobj[$0]) : wrapInColorOf.variable("$&") : ($0) => gobj[$0]
2264
2264
  );
2265
- if ("variations" in this.nonHtml && this.nonHtml.variations !== VARIATION.ALL) {
2266
- const wordIndex = this.nonHtml.variations ?? 0;
2267
- const replacer = ($0) => $0.slice(1, -1).split("|")[wordIndex];
2268
- text = text.replace(
2269
- OPTIONAL_WORDS_REGEX,
2270
- this.nonHtml.ansiColors ? ($0) => wrapInColorOf.variable(replacer($0)) : replacer
2265
+ if (this.nonHtml.variations !== VARIATION.ALL) {
2266
+ const partIndex = this.nonHtml.variations;
2267
+ text = applyVariableParts(
2268
+ text,
2269
+ this.nonHtml.ansiColors ? (parts) => wrapInColorOf.variable(parts[partIndex]) : (parts) => parts[partIndex]
2271
2270
  );
2272
2271
  }
2273
- return finalize(restoreBraces(applyNoFix(noFixArr, text)), "\n");
2272
+ return finalize(restoreParentheses(applyNoFix(noFixArr, text)), "\n");
2274
2273
  }
2275
2274
  convertToHtml(text) {
2276
2275
  const wrapInTag = wrappers.html;
@@ -2287,10 +2286,9 @@ var Taraskevizer = class {
2287
2286
  this.html.g ? wrapInTag.letterH("$&") : ($0) => wrapInTag.letterH(gobj[$0])
2288
2287
  );
2289
2288
  return finalize(
2290
- applyNoFix(noFixArr, text).replace(OPTIONAL_WORDS_REGEX, ($0) => {
2291
- const options = $0.slice(1, -1).split("|");
2292
- const main = options.shift();
2293
- return `<tarL data-l='${options}'>${main}</tarL>`;
2289
+ applyVariableParts(applyNoFix(noFixArr, text), (parts) => {
2290
+ const main = parts.shift();
2291
+ return `<tarL data-l='${parts}'>${main}</tarL>`;
2294
2292
  }),
2295
2293
  "<br>"
2296
2294
  );
@@ -2315,7 +2313,7 @@ var Taraskevizer = class {
2315
2313
  const noFixArr = [];
2316
2314
  return finalize(
2317
2315
  afterJoin(
2318
- restoreBraces(
2316
+ restoreParentheses(
2319
2317
  applyNoFix(
2320
2318
  noFixArr,
2321
2319
  convertAlphabet(
@@ -2341,7 +2339,7 @@ var Taraskevizer = class {
2341
2339
  return { splittedOrig, splitted };
2342
2340
  }
2343
2341
  taraskevize(text) {
2344
- text = replaceWithDict(replaceWithDict(text, wordlist), noSoften);
2342
+ text = replaceWithDict(text, wordlistPlusNoSoften);
2345
2343
  softening:
2346
2344
  do {
2347
2345
  text = replaceWithDict(text, softeners);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taraskevizer",
3
- "version": "6.1.15",
3
+ "version": "6.1.17",
4
4
  "author": "GooseOb",
5
5
  "repository": {
6
6
  "type": "git",