taraskevizer 6.1.16 → 6.1.18

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.16");
10
+ printWithPrefix("6.1.18");
11
11
  process.exit(0);
12
12
  }
13
13
  if (checkForOptions(["-h", "--help"])) {
package/dist/index.cjs CHANGED
@@ -2190,6 +2190,7 @@ var convertAlphabet = (text, abc) => replaceWithDict(replaceWithDict(text, lette
2190
2190
  var NOFIX_CHAR = "  ";
2191
2191
  var NOFIX_REGEX = new RegExp(NOFIX_CHAR, "g");
2192
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("|")));
2193
2194
  var resolveSpecialSyntax = (text, noFixArr, leftAngleBracket, convertAlphavet, doEscapeCaps) => {
2194
2195
  const escapeCapsIfNeeded = (text2) => doEscapeCaps ? text2.replace(new RegExp("(?!<=\\p{Lu} )\\p{Lu}{2}[\\p{Lu} ]*(?!= \\p{Lu})", "gu"), ($0) => {
2195
2196
  noFixArr.push(convertAlphavet($0));
@@ -2221,16 +2222,18 @@ var resolveSpecialSyntax = (text, noFixArr, leftAngleBracket, convertAlphavet, d
2221
2222
  char = currentPart[1];
2222
2223
  currentPart = currentPart.slice(2);
2223
2224
  }
2224
- let toAddToResult = NOFIX_CHAR;
2225
+ let toAddToResult;
2225
2226
  switch (char) {
2226
2227
  case ".":
2228
+ toAddToResult = NOFIX_CHAR;
2227
2229
  noFixArr.push(currentPart);
2228
2230
  break;
2229
2231
  case ",":
2230
2232
  toAddToResult = leftAngleBracket + currentPart + ">";
2231
2233
  break;
2232
2234
  default:
2233
- noFixArr.push("<" + (abc ? "" : char) + currentPart + ">");
2235
+ toAddToResult = leftAngleBracket + NOFIX_CHAR;
2236
+ noFixArr.push((abc ? "" : char) + currentPart + ">");
2234
2237
  }
2235
2238
  result += toAddToResult + escapeCapsIfNeeded(part.slice(1));
2236
2239
  currentPart = "";
@@ -2243,11 +2246,11 @@ var resolveSpecialSyntax = (text, noFixArr, leftAngleBracket, convertAlphavet, d
2243
2246
  };
2244
2247
 
2245
2248
  // src/tarask.ts
2246
- var OPTIONAL_WORDS_REGEX = /\([^)]*?\)/g;
2247
2249
  var afterJoin = (text) => text.replace(/&nbsp;/g, " ").replace(new RegExp(" (\\p{P}|\\p{S}|\\d|&#40) ", "gu"), "$1");
2248
2250
  var join = (textArr) => afterJoin(textArr.join(" "));
2249
2251
  var finalize = (text, newLine) => text.replace(/ \t /g, " ").replace(/ \n /g, newLine).trim();
2250
- var restoreBraces = (text) => text.replace(/&#40/g, "(");
2252
+ var restoreParentheses = (text) => text.replace(/&#40/g, "(");
2253
+ var wordlistPlusNoSoften = wordlist.concat(noSoften);
2251
2254
  var Taraskevizer = class {
2252
2255
  general = {
2253
2256
  abc: ALPHABET.CYRILLIC,
@@ -2286,15 +2289,14 @@ var Taraskevizer = class {
2286
2289
  text,
2287
2290
  this.nonHtml.ansiColors ? this.nonHtml.h ? ($0) => wrapInColorOf.variable(gobj[$0]) : wrapInColorOf.variable("$&") : ($0) => gobj[$0]
2288
2291
  );
2289
- if ("variations" in this.nonHtml && this.nonHtml.variations !== VARIATION.ALL) {
2290
- const wordIndex = this.nonHtml.variations ?? 0;
2291
- const replacer = ($0) => $0.slice(1, -1).split("|")[wordIndex];
2292
- text = text.replace(
2293
- OPTIONAL_WORDS_REGEX,
2294
- this.nonHtml.ansiColors ? ($0) => wrapInColorOf.variable(replacer($0)) : replacer
2292
+ if (this.nonHtml.variations !== VARIATION.ALL) {
2293
+ const partIndex = this.nonHtml.variations;
2294
+ text = applyVariableParts(
2295
+ text,
2296
+ this.nonHtml.ansiColors ? (parts) => wrapInColorOf.variable(parts[partIndex]) : (parts) => parts[partIndex]
2295
2297
  );
2296
2298
  }
2297
- return finalize(restoreBraces(applyNoFix(noFixArr, text)), "\n");
2299
+ return finalize(restoreParentheses(applyNoFix(noFixArr, text)), "\n");
2298
2300
  }
2299
2301
  convertToHtml(text) {
2300
2302
  const wrapInTag = wrappers.html;
@@ -2311,10 +2313,9 @@ var Taraskevizer = class {
2311
2313
  this.html.g ? wrapInTag.letterH("$&") : ($0) => wrapInTag.letterH(gobj[$0])
2312
2314
  );
2313
2315
  return finalize(
2314
- applyNoFix(noFixArr, text).replace(OPTIONAL_WORDS_REGEX, ($0) => {
2315
- const options = $0.slice(1, -1).split("|");
2316
- const main = options.shift();
2317
- return `<tarL data-l='${options}'>${main}</tarL>`;
2316
+ applyVariableParts(applyNoFix(noFixArr, text), (parts) => {
2317
+ const main = parts.shift();
2318
+ return `<tarL data-l='${parts}'>${main}</tarL>`;
2318
2319
  }),
2319
2320
  "<br>"
2320
2321
  );
@@ -2339,7 +2340,7 @@ var Taraskevizer = class {
2339
2340
  const noFixArr = [];
2340
2341
  return finalize(
2341
2342
  afterJoin(
2342
- restoreBraces(
2343
+ restoreParentheses(
2343
2344
  applyNoFix(
2344
2345
  noFixArr,
2345
2346
  convertAlphabet(
@@ -2365,7 +2366,7 @@ var Taraskevizer = class {
2365
2366
  return { splittedOrig, splitted };
2366
2367
  }
2367
2368
  taraskevize(text) {
2368
- text = replaceWithDict(replaceWithDict(text, wordlist), noSoften);
2369
+ text = replaceWithDict(text, wordlistPlusNoSoften);
2369
2370
  softening:
2370
2371
  do {
2371
2372
  text = replaceWithDict(text, softeners);
package/dist/index.js CHANGED
@@ -2165,6 +2165,7 @@ var convertAlphabet = (text, abc) => replaceWithDict(replaceWithDict(text, lette
2165
2165
  var NOFIX_CHAR = "  ";
2166
2166
  var NOFIX_REGEX = new RegExp(NOFIX_CHAR, "g");
2167
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("|")));
2168
2169
  var resolveSpecialSyntax = (text, noFixArr, leftAngleBracket, convertAlphavet, doEscapeCaps) => {
2169
2170
  const escapeCapsIfNeeded = (text2) => doEscapeCaps ? text2.replace(new RegExp("(?!<=\\p{Lu} )\\p{Lu}{2}[\\p{Lu} ]*(?!= \\p{Lu})", "gu"), ($0) => {
2170
2171
  noFixArr.push(convertAlphavet($0));
@@ -2196,16 +2197,18 @@ var resolveSpecialSyntax = (text, noFixArr, leftAngleBracket, convertAlphavet, d
2196
2197
  char = currentPart[1];
2197
2198
  currentPart = currentPart.slice(2);
2198
2199
  }
2199
- let toAddToResult = NOFIX_CHAR;
2200
+ let toAddToResult;
2200
2201
  switch (char) {
2201
2202
  case ".":
2203
+ toAddToResult = NOFIX_CHAR;
2202
2204
  noFixArr.push(currentPart);
2203
2205
  break;
2204
2206
  case ",":
2205
2207
  toAddToResult = leftAngleBracket + currentPart + ">";
2206
2208
  break;
2207
2209
  default:
2208
- noFixArr.push("<" + (abc ? "" : char) + currentPart + ">");
2210
+ toAddToResult = leftAngleBracket + NOFIX_CHAR;
2211
+ noFixArr.push((abc ? "" : char) + currentPart + ">");
2209
2212
  }
2210
2213
  result += toAddToResult + escapeCapsIfNeeded(part.slice(1));
2211
2214
  currentPart = "";
@@ -2218,11 +2221,11 @@ var resolveSpecialSyntax = (text, noFixArr, leftAngleBracket, convertAlphavet, d
2218
2221
  };
2219
2222
 
2220
2223
  // src/tarask.ts
2221
- var OPTIONAL_WORDS_REGEX = /\([^)]*?\)/g;
2222
2224
  var afterJoin = (text) => text.replace(/&nbsp;/g, " ").replace(new RegExp(" (\\p{P}|\\p{S}|\\d|&#40) ", "gu"), "$1");
2223
2225
  var join = (textArr) => afterJoin(textArr.join(" "));
2224
2226
  var finalize = (text, newLine) => text.replace(/ \t /g, " ").replace(/ \n /g, newLine).trim();
2225
- var restoreBraces = (text) => text.replace(/&#40/g, "(");
2227
+ var restoreParentheses = (text) => text.replace(/&#40/g, "(");
2228
+ var wordlistPlusNoSoften = wordlist.concat(noSoften);
2226
2229
  var Taraskevizer = class {
2227
2230
  general = {
2228
2231
  abc: ALPHABET.CYRILLIC,
@@ -2261,15 +2264,14 @@ var Taraskevizer = class {
2261
2264
  text,
2262
2265
  this.nonHtml.ansiColors ? this.nonHtml.h ? ($0) => wrapInColorOf.variable(gobj[$0]) : wrapInColorOf.variable("$&") : ($0) => gobj[$0]
2263
2266
  );
2264
- if ("variations" in this.nonHtml && this.nonHtml.variations !== VARIATION.ALL) {
2265
- const wordIndex = this.nonHtml.variations ?? 0;
2266
- const replacer = ($0) => $0.slice(1, -1).split("|")[wordIndex];
2267
- text = text.replace(
2268
- OPTIONAL_WORDS_REGEX,
2269
- this.nonHtml.ansiColors ? ($0) => wrapInColorOf.variable(replacer($0)) : replacer
2267
+ if (this.nonHtml.variations !== VARIATION.ALL) {
2268
+ const partIndex = this.nonHtml.variations;
2269
+ text = applyVariableParts(
2270
+ text,
2271
+ this.nonHtml.ansiColors ? (parts) => wrapInColorOf.variable(parts[partIndex]) : (parts) => parts[partIndex]
2270
2272
  );
2271
2273
  }
2272
- return finalize(restoreBraces(applyNoFix(noFixArr, text)), "\n");
2274
+ return finalize(restoreParentheses(applyNoFix(noFixArr, text)), "\n");
2273
2275
  }
2274
2276
  convertToHtml(text) {
2275
2277
  const wrapInTag = wrappers.html;
@@ -2286,10 +2288,9 @@ var Taraskevizer = class {
2286
2288
  this.html.g ? wrapInTag.letterH("$&") : ($0) => wrapInTag.letterH(gobj[$0])
2287
2289
  );
2288
2290
  return finalize(
2289
- applyNoFix(noFixArr, text).replace(OPTIONAL_WORDS_REGEX, ($0) => {
2290
- const options = $0.slice(1, -1).split("|");
2291
- const main = options.shift();
2292
- return `<tarL data-l='${options}'>${main}</tarL>`;
2291
+ applyVariableParts(applyNoFix(noFixArr, text), (parts) => {
2292
+ const main = parts.shift();
2293
+ return `<tarL data-l='${parts}'>${main}</tarL>`;
2293
2294
  }),
2294
2295
  "<br>"
2295
2296
  );
@@ -2314,7 +2315,7 @@ var Taraskevizer = class {
2314
2315
  const noFixArr = [];
2315
2316
  return finalize(
2316
2317
  afterJoin(
2317
- restoreBraces(
2318
+ restoreParentheses(
2318
2319
  applyNoFix(
2319
2320
  noFixArr,
2320
2321
  convertAlphabet(
@@ -2340,7 +2341,7 @@ var Taraskevizer = class {
2340
2341
  return { splittedOrig, splitted };
2341
2342
  }
2342
2343
  taraskevize(text) {
2343
- text = replaceWithDict(replaceWithDict(text, wordlist), noSoften);
2344
+ text = replaceWithDict(text, wordlistPlusNoSoften);
2344
2345
  softening:
2345
2346
  do {
2346
2347
  text = replaceWithDict(text, softeners);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taraskevizer",
3
- "version": "6.1.16",
3
+ "version": "6.1.18",
4
4
  "author": "GooseOb",
5
5
  "repository": {
6
6
  "type": "git",