taraskevizer 5.1.4 → 5.1.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/dist/index.cjs CHANGED
@@ -25,16 +25,17 @@ __export(src_exports, {
25
25
  Taraskevizer: () => Taraskevizer,
26
26
  VARIATION: () => VARIATION,
27
27
  __tarask__: () => __tarask__,
28
+ convertAlphabet: () => convertAlphabet,
28
29
  gobj: () => gobj
29
30
  });
30
31
  module.exports = __toCommonJS(src_exports);
31
32
 
32
33
  // src/dict/latin.ts
33
34
  var latinLetters = [
34
- [/(?<=[аеёіоуўыэюяьʼ| ]\(?)е/, "je"],
35
- [/(?<=[аеёіоуўыэюяьʼ| ]\(?)ё/, "jo"],
36
- [/(?<=[аеёіоуўыэюяьʼ| ]\(?)ю/, "ju"],
37
- [/(?<=[аеёіоуўыэюяьʼ| ]\(?)я/, "ja"],
35
+ [/(?<=[аеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)е/, "je"],
36
+ [/(?<=[eаеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)ё/, "jo"],
37
+ [/(?<=[eoаеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)ю/, "ju"],
38
+ [/(?<=[eouаеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)я/, "ja"],
38
39
  [/ʼі/, "ji"],
39
40
  [/ʼ/, ""],
40
41
  [/ць/, "ć"],
@@ -2119,13 +2120,19 @@ var __tarask__ = {
2119
2120
  replaceWithDict,
2120
2121
  afterTarask
2121
2122
  };
2123
+ var convertAlphabet = (text, abc, jiInLatin) => replaceWithDict(replaceWithDict(text, letters[abc]), lettersUpperCase[abc]);
2124
+ var moveFromTo = (prop, from, to) => {
2125
+ if (prop in from)
2126
+ to[prop] = from[prop];
2127
+ };
2122
2128
  var Taraskevizer = class {
2123
2129
  abc = ALPHABET.CYRILLIC;
2124
2130
  j = REPLACE_J.NEVER;
2131
+ ji = true;
2132
+ doEscapeCapitalized = true;
2125
2133
  html = {
2126
2134
  g: false
2127
2135
  };
2128
- doEscapeCapitalized = true;
2129
2136
  nonHtml = {
2130
2137
  h: false,
2131
2138
  ansiColors: false,
@@ -2136,12 +2143,13 @@ var Taraskevizer = class {
2136
2143
  return;
2137
2144
  const general = options.general;
2138
2145
  if (general) {
2139
- if (general.abc)
2140
- this.abc = general.abc;
2141
- if (general.j)
2142
- this.j = general.j;
2143
- if ("doEscapeCapitalized" in general)
2144
- this.doEscapeCapitalized = general.doEscapeCapitalized;
2146
+ for (const prop of [
2147
+ "abc",
2148
+ "j",
2149
+ "ji",
2150
+ "doEscapeCapitalized"
2151
+ ])
2152
+ moveFromTo(prop, general, this);
2145
2153
  }
2146
2154
  if (options.OVERRIDE_taraskevize)
2147
2155
  this.taraskevize = options.OVERRIDE_taraskevize;
@@ -2191,7 +2199,7 @@ var Taraskevizer = class {
2191
2199
  );
2192
2200
  }
2193
2201
  process(text, LEFT_ANGLE_BRACKET) {
2194
- const { abc, j } = this;
2202
+ const { abc, j, ji } = this;
2195
2203
  const noFixArr = [];
2196
2204
  text = ` ${text.trim()} `.replace(//g, "");
2197
2205
  if (this.doEscapeCapitalized)
@@ -2208,10 +2216,7 @@ var Taraskevizer = class {
2208
2216
  return NOFIX_CHAR;
2209
2217
  }).replace(/г'(?![еёіюя])/g, "ґ").replace(/([\n\t])/g, " $1 ").replace(/ - /g, " — ").replace(new RegExp("(\\p{P}|\\p{S}|\\d)", "gu"), " $1 ").replace(/ ['`’] (?=\S)/g, "ʼ").replace(/\(/g, "&#40");
2210
2218
  let splittedOrig, splitted;
2211
- splittedOrig = replaceWithDict(
2212
- replaceWithDict(text, letters[abc]),
2213
- lettersUpperCase[abc]
2214
- ).split(" ");
2219
+ splittedOrig = convertAlphabet(text, abc, ji).split(" ");
2215
2220
  text = this.taraskevize(text.toLowerCase());
2216
2221
  if (j)
2217
2222
  text = replaceIbyJ(text, j === REPLACE_J.ALWAYS);
@@ -2241,5 +2246,6 @@ var Taraskevizer = class {
2241
2246
  Taraskevizer,
2242
2247
  VARIATION,
2243
2248
  __tarask__,
2249
+ convertAlphabet,
2244
2250
  gobj
2245
2251
  });
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ type TaraskOptions = {
9
9
  doEscapeCapitalized: boolean;
10
10
  abc: Alphabet;
11
11
  j: OptionJ;
12
+ ji: boolean;
12
13
  };
13
14
  type NonHtmlOptions = {
14
15
  ansiColors: boolean;
@@ -45,13 +46,15 @@ declare const __tarask__: {
45
46
  readonly replaceWithDict: (text: string, dict?: ExtendedDict) => string;
46
47
  readonly afterTarask: ExtendedDict;
47
48
  };
49
+ declare const convertAlphabet: (text: string, abc: Alphabet, jiInLatin: boolean) => string;
48
50
  declare class Taraskevizer {
49
51
  abc: Alphabet;
50
52
  j: OptionJ;
53
+ ji: boolean;
54
+ doEscapeCapitalized: boolean;
51
55
  html: {
52
56
  g: boolean;
53
57
  };
54
- doEscapeCapitalized: boolean;
55
58
  nonHtml: {
56
59
  h: boolean;
57
60
  ansiColors: boolean;
@@ -76,4 +79,4 @@ declare const gobj: {
76
79
  readonly Ґ: "Г";
77
80
  };
78
81
 
79
- export { ALPHABET, type HtmlOptions, type NonHtmlOptions, REPLACE_J, type TaraskOptions, Taraskevizer, VARIATION, __tarask__, gobj };
82
+ export { ALPHABET, type HtmlOptions, type NonHtmlOptions, REPLACE_J, type TaraskOptions, Taraskevizer, VARIATION, __tarask__, convertAlphabet, gobj };
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  // src/dict/latin.ts
2
2
  var latinLetters = [
3
- [/(?<=[аеёіоуўыэюяьʼ| ]\(?)е/, "je"],
4
- [/(?<=[аеёіоуўыэюяьʼ| ]\(?)ё/, "jo"],
5
- [/(?<=[аеёіоуўыэюяьʼ| ]\(?)ю/, "ju"],
6
- [/(?<=[аеёіоуўыэюяьʼ| ]\(?)я/, "ja"],
3
+ [/(?<=[аеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)е/, "je"],
4
+ [/(?<=[eаеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)ё/, "jo"],
5
+ [/(?<=[eoаеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)ю/, "ju"],
6
+ [/(?<=[eouаеёіоуўыэюяьʼ| >АЕЁІОУЎЫЭЮЯЬ]|^)я/, "ja"],
7
7
  [/ʼі/, "ji"],
8
8
  [/ʼ/, ""],
9
9
  [/ць/, "ć"],
@@ -2088,13 +2088,19 @@ var __tarask__ = {
2088
2088
  replaceWithDict,
2089
2089
  afterTarask
2090
2090
  };
2091
+ var convertAlphabet = (text, abc, jiInLatin) => replaceWithDict(replaceWithDict(text, letters[abc]), lettersUpperCase[abc]);
2092
+ var moveFromTo = (prop, from, to) => {
2093
+ if (prop in from)
2094
+ to[prop] = from[prop];
2095
+ };
2091
2096
  var Taraskevizer = class {
2092
2097
  abc = ALPHABET.CYRILLIC;
2093
2098
  j = REPLACE_J.NEVER;
2099
+ ji = true;
2100
+ doEscapeCapitalized = true;
2094
2101
  html = {
2095
2102
  g: false
2096
2103
  };
2097
- doEscapeCapitalized = true;
2098
2104
  nonHtml = {
2099
2105
  h: false,
2100
2106
  ansiColors: false,
@@ -2105,12 +2111,13 @@ var Taraskevizer = class {
2105
2111
  return;
2106
2112
  const general = options.general;
2107
2113
  if (general) {
2108
- if (general.abc)
2109
- this.abc = general.abc;
2110
- if (general.j)
2111
- this.j = general.j;
2112
- if ("doEscapeCapitalized" in general)
2113
- this.doEscapeCapitalized = general.doEscapeCapitalized;
2114
+ for (const prop of [
2115
+ "abc",
2116
+ "j",
2117
+ "ji",
2118
+ "doEscapeCapitalized"
2119
+ ])
2120
+ moveFromTo(prop, general, this);
2114
2121
  }
2115
2122
  if (options.OVERRIDE_taraskevize)
2116
2123
  this.taraskevize = options.OVERRIDE_taraskevize;
@@ -2160,7 +2167,7 @@ var Taraskevizer = class {
2160
2167
  );
2161
2168
  }
2162
2169
  process(text, LEFT_ANGLE_BRACKET) {
2163
- const { abc, j } = this;
2170
+ const { abc, j, ji } = this;
2164
2171
  const noFixArr = [];
2165
2172
  text = ` ${text.trim()} `.replace(//g, "");
2166
2173
  if (this.doEscapeCapitalized)
@@ -2177,10 +2184,7 @@ var Taraskevizer = class {
2177
2184
  return NOFIX_CHAR;
2178
2185
  }).replace(/г'(?![еёіюя])/g, "ґ").replace(/([\n\t])/g, " $1 ").replace(/ - /g, " — ").replace(new RegExp("(\\p{P}|\\p{S}|\\d)", "gu"), " $1 ").replace(/ ['`’] (?=\S)/g, "ʼ").replace(/\(/g, "&#40");
2179
2186
  let splittedOrig, splitted;
2180
- splittedOrig = replaceWithDict(
2181
- replaceWithDict(text, letters[abc]),
2182
- lettersUpperCase[abc]
2183
- ).split(" ");
2187
+ splittedOrig = convertAlphabet(text, abc, ji).split(" ");
2184
2188
  text = this.taraskevize(text.toLowerCase());
2185
2189
  if (j)
2186
2190
  text = replaceIbyJ(text, j === REPLACE_J.ALWAYS);
@@ -2209,5 +2213,6 @@ export {
2209
2213
  Taraskevizer,
2210
2214
  VARIATION,
2211
2215
  __tarask__,
2216
+ convertAlphabet,
2212
2217
  gobj
2213
2218
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taraskevizer",
3
- "version": "5.1.4",
3
+ "version": "5.1.5",
4
4
  "author": "GooseOb",
5
5
  "repository": {
6
6
  "type": "git",