@delali/narsil 0.1.0

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.
Files changed (103) hide show
  1. package/LICENSE +201 -0
  2. package/dist/adapters/filesystem.d.ts +8 -0
  3. package/dist/adapters/filesystem.mjs +107 -0
  4. package/dist/adapters/indexeddb.d.ts +9 -0
  5. package/dist/adapters/indexeddb.mjs +153 -0
  6. package/dist/adapters/memory.d.ts +5 -0
  7. package/dist/adapters/memory.mjs +30 -0
  8. package/dist/adapters-XODT2F3h.d.ts +30 -0
  9. package/dist/chunk-5HXMVMSM.mjs +3147 -0
  10. package/dist/chunk-JKIBUPAY.mjs +42 -0
  11. package/dist/chunk-N37VMC62.mjs +18 -0
  12. package/dist/chunk-WYC635GI.mjs +335 -0
  13. package/dist/direct-executor-MQD7JRD4.mjs +3 -0
  14. package/dist/index.d.ts +386 -0
  15. package/dist/index.mjs +1099 -0
  16. package/dist/invalidation/broadcast-channel.d.ts +8 -0
  17. package/dist/invalidation/broadcast-channel.mjs +46 -0
  18. package/dist/invalidation/filesystem.d.ts +10 -0
  19. package/dist/invalidation/filesystem.mjs +159 -0
  20. package/dist/invalidation/noop.d.ts +5 -0
  21. package/dist/invalidation/noop.mjs +13 -0
  22. package/dist/language-ClUGLuoC.d.ts +13 -0
  23. package/dist/languages/arabic.d.ts +5 -0
  24. package/dist/languages/arabic.mjs +631 -0
  25. package/dist/languages/armenian.d.ts +5 -0
  26. package/dist/languages/armenian.mjs +306 -0
  27. package/dist/languages/bulgarian.d.ts +5 -0
  28. package/dist/languages/bulgarian.mjs +330 -0
  29. package/dist/languages/chinese.d.ts +5 -0
  30. package/dist/languages/chinese.mjs +250 -0
  31. package/dist/languages/dagbani.d.ts +5 -0
  32. package/dist/languages/dagbani.mjs +85 -0
  33. package/dist/languages/danish.d.ts +5 -0
  34. package/dist/languages/danish.mjs +224 -0
  35. package/dist/languages/dutch.d.ts +5 -0
  36. package/dist/languages/dutch.mjs +296 -0
  37. package/dist/languages/english.d.ts +5 -0
  38. package/dist/languages/english.mjs +1 -0
  39. package/dist/languages/ewe.d.ts +5 -0
  40. package/dist/languages/ewe.mjs +85 -0
  41. package/dist/languages/finnish.d.ts +5 -0
  42. package/dist/languages/finnish.mjs +536 -0
  43. package/dist/languages/french.d.ts +5 -0
  44. package/dist/languages/french.mjs +635 -0
  45. package/dist/languages/ga.d.ts +5 -0
  46. package/dist/languages/ga.mjs +69 -0
  47. package/dist/languages/german.d.ts +5 -0
  48. package/dist/languages/german.mjs +414 -0
  49. package/dist/languages/greek.d.ts +5 -0
  50. package/dist/languages/greek.mjs +888 -0
  51. package/dist/languages/hausa.d.ts +5 -0
  52. package/dist/languages/hausa.mjs +243 -0
  53. package/dist/languages/hindi.d.ts +5 -0
  54. package/dist/languages/hindi.mjs +333 -0
  55. package/dist/languages/hungarian.d.ts +5 -0
  56. package/dist/languages/hungarian.mjs +600 -0
  57. package/dist/languages/igbo.d.ts +5 -0
  58. package/dist/languages/igbo.mjs +96 -0
  59. package/dist/languages/indonesian.d.ts +5 -0
  60. package/dist/languages/indonesian.mjs +896 -0
  61. package/dist/languages/irish.d.ts +5 -0
  62. package/dist/languages/irish.mjs +268 -0
  63. package/dist/languages/italian.d.ts +5 -0
  64. package/dist/languages/italian.mjs +713 -0
  65. package/dist/languages/japanese.d.ts +5 -0
  66. package/dist/languages/japanese.mjs +210 -0
  67. package/dist/languages/nepali.d.ts +5 -0
  68. package/dist/languages/nepali.mjs +262 -0
  69. package/dist/languages/norwegian.d.ts +5 -0
  70. package/dist/languages/norwegian.mjs +274 -0
  71. package/dist/languages/portuguese.d.ts +5 -0
  72. package/dist/languages/portuguese.mjs +606 -0
  73. package/dist/languages/romanian.d.ts +5 -0
  74. package/dist/languages/romanian.mjs +634 -0
  75. package/dist/languages/russian.d.ts +5 -0
  76. package/dist/languages/russian.mjs +424 -0
  77. package/dist/languages/sanskrit.d.ts +5 -0
  78. package/dist/languages/sanskrit.mjs +155 -0
  79. package/dist/languages/serbian.d.ts +5 -0
  80. package/dist/languages/serbian.mjs +277 -0
  81. package/dist/languages/slovenian.d.ts +5 -0
  82. package/dist/languages/slovenian.mjs +522 -0
  83. package/dist/languages/spanish.d.ts +5 -0
  84. package/dist/languages/spanish.mjs +606 -0
  85. package/dist/languages/swahili.d.ts +5 -0
  86. package/dist/languages/swahili.mjs +212 -0
  87. package/dist/languages/swedish.d.ts +5 -0
  88. package/dist/languages/swedish.mjs +224 -0
  89. package/dist/languages/tamil.d.ts +5 -0
  90. package/dist/languages/tamil.mjs +186 -0
  91. package/dist/languages/turkish.d.ts +5 -0
  92. package/dist/languages/turkish.mjs +675 -0
  93. package/dist/languages/twi.d.ts +5 -0
  94. package/dist/languages/twi.mjs +84 -0
  95. package/dist/languages/ukrainian.d.ts +5 -0
  96. package/dist/languages/ukrainian.mjs +444 -0
  97. package/dist/languages/yoruba.d.ts +5 -0
  98. package/dist/languages/yoruba.mjs +103 -0
  99. package/dist/languages/zulu.d.ts +5 -0
  100. package/dist/languages/zulu.mjs +113 -0
  101. package/dist/workers/entry.d.ts +3 -0
  102. package/dist/workers/entry.mjs +106 -0
  103. package/package.json +87 -0
@@ -0,0 +1,675 @@
1
+ // src/languages/turkish.ts
2
+ var VOWELS = "ae\u0131io\xF6u\xFC";
3
+ var BACK_UNROUNDED_VOWELS = "a\u0131";
4
+ var FRONT_UNROUNDED_VOWELS = "ei";
5
+ var BACK_ROUNDED_VOWELS = "ou";
6
+ var FRONT_ROUNDED_VOWELS = "\xF6\xFC";
7
+ function isVowel(ch) {
8
+ return VOWELS.includes(ch);
9
+ }
10
+ function vowelCount(word) {
11
+ let count = 0;
12
+ for (const ch of word) {
13
+ if (isVowel(ch)) count++;
14
+ }
15
+ return count;
16
+ }
17
+ function lastVowel(word) {
18
+ for (let i = word.length - 1; i >= 0; i--) {
19
+ if (isVowel(word[i])) return word[i];
20
+ }
21
+ return null;
22
+ }
23
+ function checkVowelHarmony(stem2, suffix) {
24
+ const lv = lastVowel(stem2);
25
+ if (lv === null) return false;
26
+ const firstSuffixVowel = suffix.split("").find(isVowel);
27
+ if (!firstSuffixVowel) return true;
28
+ if (BACK_UNROUNDED_VOWELS.includes(lv)) {
29
+ return BACK_UNROUNDED_VOWELS.includes(firstSuffixVowel);
30
+ }
31
+ if (FRONT_UNROUNDED_VOWELS.includes(lv)) {
32
+ return FRONT_UNROUNDED_VOWELS.includes(firstSuffixVowel);
33
+ }
34
+ if (BACK_ROUNDED_VOWELS.includes(lv)) {
35
+ return BACK_ROUNDED_VOWELS.includes(firstSuffixVowel) || firstSuffixVowel === "u";
36
+ }
37
+ if (FRONT_ROUNDED_VOWELS.includes(lv)) {
38
+ return FRONT_ROUNDED_VOWELS.includes(firstSuffixVowel) || firstSuffixVowel === "\xFC";
39
+ }
40
+ return false;
41
+ }
42
+ function stripSuffix(word, suffix) {
43
+ return word.slice(0, word.length - suffix.length);
44
+ }
45
+ function checkPreconditionN(word) {
46
+ if (word.endsWith("n") && word.length > 1) {
47
+ return isVowel(word[word.length - 2]);
48
+ }
49
+ return word.length > 0 && !word.endsWith("n") && isVowel(word[word.length - 1]);
50
+ }
51
+ function checkPreconditionY(word) {
52
+ if (word.endsWith("y") && word.length > 1) {
53
+ return isVowel(word[word.length - 2]);
54
+ }
55
+ return word.length > 0 && !word.endsWith("y") && isVowel(word[word.length - 1]);
56
+ }
57
+ function tryStripWithHarmony(word, suffixes, minVowels) {
58
+ for (const suffix of suffixes) {
59
+ if (word.endsWith(suffix)) {
60
+ const candidate = stripSuffix(word, suffix);
61
+ if (vowelCount(candidate) >= minVowels && checkVowelHarmony(candidate, suffix)) {
62
+ return candidate;
63
+ }
64
+ }
65
+ }
66
+ return word;
67
+ }
68
+ function tryStripWithHarmonyAndPrecondN(word, suffixes, minVowels) {
69
+ for (const suffix of suffixes) {
70
+ if (word.endsWith(suffix)) {
71
+ const candidate = stripSuffix(word, suffix);
72
+ if (vowelCount(candidate) >= minVowels && checkVowelHarmony(candidate, suffix) && checkPreconditionN(candidate)) {
73
+ return candidate;
74
+ }
75
+ }
76
+ }
77
+ return word;
78
+ }
79
+ function tryStripWithHarmonyAndPrecondY(word, suffixes, minVowels) {
80
+ for (const suffix of suffixes) {
81
+ if (word.endsWith(suffix)) {
82
+ const candidate = stripSuffix(word, suffix);
83
+ if (vowelCount(candidate) >= minVowels && checkVowelHarmony(candidate, suffix) && checkPreconditionY(candidate)) {
84
+ return candidate;
85
+ }
86
+ }
87
+ }
88
+ return word;
89
+ }
90
+ function tryStripMinVowels(word, suffixes, minVowels) {
91
+ for (const suffix of suffixes) {
92
+ if (word.endsWith(suffix)) {
93
+ const candidate = stripSuffix(word, suffix);
94
+ if (vowelCount(candidate) >= minVowels) return candidate;
95
+ }
96
+ }
97
+ return word;
98
+ }
99
+ function tryRemovePossessiveLari(word) {
100
+ return tryStripMinVowels(word, ["lar\u0131", "leri"], 2);
101
+ }
102
+ function tryRemovePlural(word) {
103
+ return tryStripWithHarmony(word, ["lar", "ler"], 2);
104
+ }
105
+ function tryRemovePossessiveM(word) {
106
+ return tryStripWithHarmony(word, ["\u0131m", "im", "um", "\xFCm", "m"], 2);
107
+ }
108
+ function tryRemovePossessiveN(word) {
109
+ return tryStripWithHarmony(word, ["\u0131n", "in", "un", "\xFCn", "n"], 2);
110
+ }
111
+ function tryRemovePossessiveMiz(word) {
112
+ return tryStripWithHarmony(word, ["m\u0131z", "miz", "muz", "m\xFCz"], 2);
113
+ }
114
+ function tryRemovePossessiveNiz(word) {
115
+ return tryStripWithHarmony(word, ["n\u0131z", "niz", "nuz", "n\xFCz"], 2);
116
+ }
117
+ function tryRemoveCaseDa(word) {
118
+ return tryStripWithHarmony(word, ["da", "de", "ta", "te"], 2);
119
+ }
120
+ function tryRemoveCaseDan(word) {
121
+ return tryStripWithHarmony(word, ["dan", "den", "tan", "ten"], 2);
122
+ }
123
+ function tryRemoveCaseNa(word) {
124
+ return tryStripWithHarmony(word, ["na", "ne"], 2);
125
+ }
126
+ function tryRemoveCaseA(word) {
127
+ return tryStripWithHarmony(word, ["a", "e"], 2);
128
+ }
129
+ function tryRemoveGenitive(word) {
130
+ return tryStripWithHarmonyAndPrecondN(word, ["\u0131n", "in", "un", "\xFCn"], 2);
131
+ }
132
+ function tryRemoveAccusative(word) {
133
+ const long = tryStripWithHarmony(word, ["n\u0131", "ni", "nu", "n\xFC"], 2);
134
+ if (long !== word) return long;
135
+ return tryStripWithHarmonyAndPrecondY(word, ["\u0131", "i", "u", "\xFC"], 2);
136
+ }
137
+ function tryRemoveCopulaDi(word) {
138
+ return tryStripWithHarmonyAndPrecondY(
139
+ word,
140
+ [
141
+ "dik",
142
+ "tik",
143
+ "duk",
144
+ "tuk",
145
+ "d\xFCk",
146
+ "t\xFCk",
147
+ "d\u0131k",
148
+ "t\u0131k",
149
+ "dim",
150
+ "tim",
151
+ "dum",
152
+ "tum",
153
+ "d\xFCm",
154
+ "t\xFCm",
155
+ "d\u0131m",
156
+ "t\u0131m",
157
+ "din",
158
+ "tin",
159
+ "dun",
160
+ "tun",
161
+ "d\xFCn",
162
+ "t\xFCn",
163
+ "d\u0131n",
164
+ "t\u0131n",
165
+ "di",
166
+ "ti",
167
+ "du",
168
+ "tu",
169
+ "d\xFC",
170
+ "t\xFC",
171
+ "d\u0131",
172
+ "t\u0131"
173
+ ],
174
+ 2
175
+ );
176
+ }
177
+ function tryRemoveCopulaSa(word) {
178
+ return tryStripWithHarmonyAndPrecondY(word, ["sak", "sek", "sam", "sem", "san", "sen", "sa", "se"], 2);
179
+ }
180
+ function tryRemoveCopulaMis(word) {
181
+ return tryStripWithHarmonyAndPrecondY(word, ["mi\u015F", "mu\u015F", "m\xFC\u015F", "m\u0131\u015F"], 2);
182
+ }
183
+ function tryRemoveCopulaSiniz(word) {
184
+ return tryStripWithHarmony(word, ["siniz", "sunuz", "s\xFCn\xFCz", "s\u0131n\u0131z"], 2);
185
+ }
186
+ function tryRemoveCopulaLar(word) {
187
+ return tryStripWithHarmony(word, ["lar", "ler"], 2);
188
+ }
189
+ function tryRemoveCopulaCasina(word) {
190
+ return tryStripMinVowels(word, ["cas\u0131na", "cesine"], 2);
191
+ }
192
+ function tryRemoveCopulaDir(word) {
193
+ return tryStripWithHarmony(word, ["dir", "tir", "dur", "tur", "d\xFCr", "t\xFCr", "d\u0131r", "t\u0131r"], 2);
194
+ }
195
+ function tryRemoveWithLa(word) {
196
+ return tryStripWithHarmonyAndPrecondY(word, ["la", "le"], 2);
197
+ }
198
+ function tryRemoveWithCa(word) {
199
+ return tryStripWithHarmonyAndPrecondN(word, ["ca", "ce"], 2);
200
+ }
201
+ function tryRemoveKen(word) {
202
+ if (word.endsWith("ken")) {
203
+ const candidate = stripSuffix(word, "ken");
204
+ if (vowelCount(candidate) >= 2 && checkPreconditionY(candidate)) {
205
+ return candidate;
206
+ }
207
+ }
208
+ return word;
209
+ }
210
+ function changed(original, current) {
211
+ return original !== current;
212
+ }
213
+ var CONSONANT_SOFTENING = {
214
+ b: "p",
215
+ c: "\xE7",
216
+ d: "t",
217
+ \u011F: "k"
218
+ };
219
+ function handleConsonantSoftening(word) {
220
+ if (word.length > 0) {
221
+ const last = word[word.length - 1];
222
+ if (last in CONSONANT_SOFTENING) {
223
+ return word.slice(0, -1) + CONSONANT_SOFTENING[last];
224
+ }
225
+ }
226
+ return word;
227
+ }
228
+ function handleVowelInsertion(word) {
229
+ if (word.length < 2) return word;
230
+ const last = word[word.length - 1];
231
+ if (last !== "d" && last !== "g") return word;
232
+ const beforeLast = word.slice(0, -1);
233
+ const lv = lastVowel(beforeLast);
234
+ if (lv === null) return word;
235
+ let insertedVowel;
236
+ if (BACK_UNROUNDED_VOWELS.includes(lv)) insertedVowel = "\u0131";
237
+ else if (FRONT_UNROUNDED_VOWELS.includes(lv)) insertedVowel = "i";
238
+ else if (BACK_ROUNDED_VOWELS.includes(lv)) insertedVowel = "u";
239
+ else if (FRONT_ROUNDED_VOWELS.includes(lv)) insertedVowel = "\xFC";
240
+ else insertedVowel = "\u0131";
241
+ return beforeLast + insertedVowel + last;
242
+ }
243
+ function nominalVerbSuffixes(word) {
244
+ const original = word;
245
+ let removed = false;
246
+ let result;
247
+ result = tryRemoveCopulaMis(word);
248
+ if (changed(word, result)) {
249
+ word = result;
250
+ removed = true;
251
+ }
252
+ if (!removed) {
253
+ result = tryRemoveCopulaDi(word);
254
+ if (changed(word, result)) {
255
+ word = result;
256
+ removed = true;
257
+ }
258
+ }
259
+ if (!removed) {
260
+ result = tryRemoveCopulaSa(word);
261
+ if (changed(word, result)) {
262
+ word = result;
263
+ removed = true;
264
+ }
265
+ }
266
+ if (!removed) {
267
+ result = tryRemoveKen(word);
268
+ if (changed(word, result)) {
269
+ word = result;
270
+ removed = true;
271
+ }
272
+ }
273
+ if (!removed) {
274
+ result = tryRemoveCopulaCasina(word);
275
+ if (changed(word, result)) {
276
+ word = result;
277
+ result = tryRemoveCopulaSiniz(word);
278
+ if (changed(word, result)) {
279
+ word = result;
280
+ } else {
281
+ result = tryRemoveCopulaLar(word);
282
+ if (changed(word, result)) {
283
+ word = result;
284
+ } else {
285
+ result = tryRemoveCopulaDir(word);
286
+ if (changed(word, result)) {
287
+ word = result;
288
+ } else {
289
+ result = tryRemoveCopulaMis(word);
290
+ if (changed(word, result)) word = result;
291
+ }
292
+ }
293
+ }
294
+ return { word, removed: true };
295
+ }
296
+ }
297
+ if (removed) {
298
+ result = tryRemovePossessiveM(word);
299
+ if (changed(word, result)) {
300
+ word = result;
301
+ } else {
302
+ result = tryRemovePossessiveN(word);
303
+ if (changed(word, result)) {
304
+ word = result;
305
+ } else {
306
+ result = tryRemovePossessiveMiz(word);
307
+ if (changed(word, result)) {
308
+ word = result;
309
+ } else {
310
+ result = tryRemovePossessiveNiz(word);
311
+ if (changed(word, result)) {
312
+ word = result;
313
+ } else {
314
+ result = tryRemoveCopulaSiniz(word);
315
+ if (changed(word, result)) {
316
+ word = result;
317
+ } else {
318
+ result = tryRemoveCopulaLar(word);
319
+ if (changed(word, result)) word = result;
320
+ }
321
+ }
322
+ }
323
+ }
324
+ }
325
+ result = tryRemoveCopulaMis(word);
326
+ if (changed(word, result)) word = result;
327
+ }
328
+ return { word, removed: changed(original, word) };
329
+ }
330
+ function nounSuffixes(word) {
331
+ let result;
332
+ result = tryRemovePossessiveLari(word);
333
+ if (changed(word, result)) return result;
334
+ result = tryRemovePlural(word);
335
+ if (changed(word, result)) {
336
+ word = result;
337
+ result = tryRemoveAccusative(word);
338
+ if (changed(word, result)) return result;
339
+ result = tryRemovePossessiveLari(word);
340
+ if (changed(word, result)) return result;
341
+ return word;
342
+ }
343
+ result = tryRemoveCaseDa(word);
344
+ if (changed(word, result)) {
345
+ word = result;
346
+ result = tryRemovePossessiveLari(word);
347
+ if (changed(word, result)) return result;
348
+ result = tryRemovePossessiveM(word);
349
+ if (changed(word, result)) return result;
350
+ result = tryRemovePossessiveN(word);
351
+ if (changed(word, result)) return result;
352
+ result = tryRemovePossessiveMiz(word);
353
+ if (changed(word, result)) return result;
354
+ result = tryRemovePossessiveNiz(word);
355
+ if (changed(word, result)) return result;
356
+ return word;
357
+ }
358
+ result = tryRemoveCaseDan(word);
359
+ if (changed(word, result)) {
360
+ word = result;
361
+ result = tryRemovePossessiveLari(word);
362
+ if (changed(word, result)) return result;
363
+ result = tryRemovePossessiveM(word);
364
+ if (changed(word, result)) return result;
365
+ result = tryRemovePossessiveN(word);
366
+ if (changed(word, result)) return result;
367
+ result = tryRemovePossessiveMiz(word);
368
+ if (changed(word, result)) return result;
369
+ result = tryRemovePossessiveNiz(word);
370
+ if (changed(word, result)) return result;
371
+ return word;
372
+ }
373
+ result = tryRemoveCaseNa(word);
374
+ if (changed(word, result)) {
375
+ word = result;
376
+ result = tryRemoveGenitive(word);
377
+ if (changed(word, result)) return result;
378
+ result = tryRemoveAccusative(word);
379
+ if (changed(word, result)) return result;
380
+ return word;
381
+ }
382
+ result = tryRemoveGenitive(word);
383
+ if (changed(word, result)) {
384
+ word = result;
385
+ result = tryRemovePossessiveLari(word);
386
+ if (changed(word, result)) return result;
387
+ result = tryRemoveCopulaMis(word);
388
+ if (changed(word, result)) return result;
389
+ return word;
390
+ }
391
+ result = tryRemoveAccusative(word);
392
+ if (changed(word, result)) {
393
+ word = result;
394
+ result = tryRemoveCopulaMis(word);
395
+ if (changed(word, result)) return result;
396
+ return word;
397
+ }
398
+ result = tryRemoveCaseA(word);
399
+ if (changed(word, result)) return result;
400
+ result = tryRemoveWithCa(word);
401
+ if (changed(word, result)) {
402
+ word = result;
403
+ result = tryRemoveGenitive(word);
404
+ if (changed(word, result)) return result;
405
+ result = tryRemoveAccusative(word);
406
+ if (changed(word, result)) return result;
407
+ return word;
408
+ }
409
+ result = tryRemoveWithLa(word);
410
+ if (changed(word, result)) return result;
411
+ return word;
412
+ }
413
+ function stem(word) {
414
+ if (vowelCount(word) < 2) return word;
415
+ const { word: afterNominal, removed: nominalRemoved } = nominalVerbSuffixes(word);
416
+ word = afterNominal;
417
+ if (!nominalRemoved) return word;
418
+ word = nounSuffixes(word);
419
+ if (word.endsWith("soyad") || word === "ad") return word;
420
+ word = handleVowelInsertion(word);
421
+ word = handleConsonantSoftening(word);
422
+ return word;
423
+ }
424
+ var stopWords = /* @__PURE__ */ new Set([
425
+ "acaba",
426
+ "acep",
427
+ "adeta",
428
+ "altm\u0131\u015F",
429
+ "alt\u0131",
430
+ "ama",
431
+ "ancak",
432
+ "arada",
433
+ "asl\u0131nda",
434
+ "aynen",
435
+ "ayr\u0131ca",
436
+ "az",
437
+ "bana",
438
+ "bari",
439
+ "bazen",
440
+ "baz\u0131",
441
+ "belki",
442
+ "ben",
443
+ "benden",
444
+ "beni",
445
+ "benim",
446
+ "beri",
447
+ "be\u015F",
448
+ "bile",
449
+ "bin",
450
+ "bir",
451
+ "biraz",
452
+ "biri",
453
+ "birka\xE7",
454
+ "birkez",
455
+ "bir\xE7ok",
456
+ "bir\u015Fey",
457
+ "bir\u015Feyi",
458
+ "biz",
459
+ "bizden",
460
+ "bize",
461
+ "bizi",
462
+ "bizim",
463
+ "bu",
464
+ "buna",
465
+ "bunda",
466
+ "bundan",
467
+ "bunlar",
468
+ "bunlar\u0131",
469
+ "bunlar\u0131n",
470
+ "bunu",
471
+ "bunun",
472
+ "burada",
473
+ "b\xF6yle",
474
+ "b\xF6ylece",
475
+ "b\xFCt\xFCn",
476
+ "da",
477
+ "daha",
478
+ "dahi",
479
+ "dahil",
480
+ "daima",
481
+ "dair",
482
+ "dayanarak",
483
+ "de",
484
+ "defa",
485
+ "de\u011Fil",
486
+ "diye",
487
+ "di\u011Fer",
488
+ "doksan",
489
+ "dokuz",
490
+ "dolay\u0131",
491
+ "dolay\u0131s\u0131yla",
492
+ "d\xF6rt",
493
+ "edecek",
494
+ "eden",
495
+ "ederek",
496
+ "edilecek",
497
+ "ediliyor",
498
+ "edilmesi",
499
+ "ediyor",
500
+ "elli",
501
+ "en",
502
+ "etmesi",
503
+ "etti",
504
+ "etti\u011Fi",
505
+ "etti\u011Fini",
506
+ "e\u011Fer",
507
+ "fakat",
508
+ "gibi",
509
+ "g\xF6re",
510
+ "halbuki",
511
+ "halen",
512
+ "hangi",
513
+ "hani",
514
+ "hari\xE7",
515
+ "hatta",
516
+ "hele",
517
+ "hem",
518
+ "hen\xFCz",
519
+ "hep",
520
+ "hepsi",
521
+ "her",
522
+ "herhangi",
523
+ "herkes",
524
+ "herkesin",
525
+ "hi\xE7",
526
+ "hi\xE7bir",
527
+ "iken",
528
+ "iki",
529
+ "ila",
530
+ "ile",
531
+ "ilgili",
532
+ "ilk",
533
+ "illa",
534
+ "ise",
535
+ "itibaren",
536
+ "itibariyle",
537
+ "iyi",
538
+ "iyice",
539
+ "i\xE7in",
540
+ "i\u015Fte",
541
+ "kadar",
542
+ "kar\u015F\u0131n",
543
+ "katrilyon",
544
+ "kendi",
545
+ "kendilerine",
546
+ "kendini",
547
+ "kendisi",
548
+ "kendisine",
549
+ "kendisini",
550
+ "kere",
551
+ "kez",
552
+ "ki",
553
+ "kim",
554
+ "kimden",
555
+ "kime",
556
+ "kimi",
557
+ "kimse",
558
+ "k\u0131rk",
559
+ "lakin",
560
+ "madem",
561
+ "milyar",
562
+ "milyon",
563
+ "mu",
564
+ "m\xFC",
565
+ "m\u0131",
566
+ "nas\u0131l",
567
+ "ne",
568
+ "neden",
569
+ "nedenle",
570
+ "nerde",
571
+ "nere",
572
+ "nerede",
573
+ "nereye",
574
+ "nitekim",
575
+ "niye",
576
+ "ni\xE7in",
577
+ "o",
578
+ "olan",
579
+ "olarak",
580
+ "oldu",
581
+ "olduklar\u0131n\u0131",
582
+ "oldu\u011Fu",
583
+ "oldu\u011Funu",
584
+ "olmad\u0131",
585
+ "olmad\u0131\u011F\u0131",
586
+ "olmak",
587
+ "olmas\u0131",
588
+ "olmayan",
589
+ "olmaz",
590
+ "olsa",
591
+ "olsun",
592
+ "olup",
593
+ "olur",
594
+ "olursa",
595
+ "oluyor",
596
+ "on",
597
+ "ona",
598
+ "ondan",
599
+ "onlar",
600
+ "onlardan",
601
+ "onlari",
602
+ "onlar\u0131",
603
+ "onlar\u0131n",
604
+ "onu",
605
+ "onun",
606
+ "otuz",
607
+ "oysa",
608
+ "pek",
609
+ "ra\u011Fmen",
610
+ "sadece",
611
+ "sanki",
612
+ "sekiz",
613
+ "seksen",
614
+ "sen",
615
+ "senden",
616
+ "seni",
617
+ "senin",
618
+ "siz",
619
+ "sizden",
620
+ "sizi",
621
+ "sizin",
622
+ "sonra",
623
+ "taraf\u0131ndan",
624
+ "trilyon",
625
+ "t\xFCm",
626
+ "var",
627
+ "vard\u0131",
628
+ "ve",
629
+ "veya",
630
+ "veyahut",
631
+ "ya",
632
+ "yahut",
633
+ "yani",
634
+ "yapacak",
635
+ "yapmak",
636
+ "yapt\u0131",
637
+ "yapt\u0131klar\u0131",
638
+ "yapt\u0131\u011F\u0131",
639
+ "yapt\u0131\u011F\u0131n\u0131",
640
+ "yap\u0131lan",
641
+ "yap\u0131lmas\u0131",
642
+ "yap\u0131yor",
643
+ "yedi",
644
+ "yerine",
645
+ "yetmi\u015F",
646
+ "yine",
647
+ "yirmi",
648
+ "yoksa",
649
+ "y\xFCz",
650
+ "zaten",
651
+ "\xE7ok",
652
+ "\xE7\xFCnk\xFC",
653
+ "\xF6yle",
654
+ "\xFCzere",
655
+ "\xFC\xE7",
656
+ "\u015Fey",
657
+ "\u015Feyden",
658
+ "\u015Feyi",
659
+ "\u015Feyler",
660
+ "\u015Fu",
661
+ "\u015Funa",
662
+ "\u015Funda",
663
+ "\u015Fundan",
664
+ "\u015Funlar\u0131",
665
+ "\u015Funu",
666
+ "\u015F\xF6yle"
667
+ ]);
668
+ var turkish = {
669
+ name: "turkish",
670
+ stemmer: stem,
671
+ stopWords,
672
+ tokenizer: { splitPattern: /[^a-z0-9çğıöşü]+/gi }
673
+ };
674
+
675
+ export { turkish };
@@ -0,0 +1,5 @@
1
+ import { L as LanguageModule } from '../language-ClUGLuoC.js';
2
+
3
+ declare const twi: LanguageModule;
4
+
5
+ export { twi };