@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,600 @@
1
+ // src/languages/hungarian.ts
2
+ var VOWELS = "a\xE1e\xE9i\xEDo\xF3\xF6\u0151u\xFA\xFC\u0171";
3
+ function isVowel(ch) {
4
+ return VOWELS.includes(ch);
5
+ }
6
+ var DOUBLE_CONSONANTS = [
7
+ ["ccs", "cs"],
8
+ ["ggy", "gy"],
9
+ ["lly", "ly"],
10
+ ["nny", "ny"],
11
+ ["ssz", "sz"],
12
+ ["tty", "ty"],
13
+ ["zzs", "zs"],
14
+ ["bb", "b"],
15
+ ["cc", "c"],
16
+ ["dd", "d"],
17
+ ["ff", "f"],
18
+ ["gg", "g"],
19
+ ["jj", "j"],
20
+ ["kk", "k"],
21
+ ["ll", "l"],
22
+ ["mm", "m"],
23
+ ["nn", "n"],
24
+ ["pp", "p"],
25
+ ["rr", "r"],
26
+ ["ss", "s"],
27
+ ["tt", "t"],
28
+ ["vv", "v"],
29
+ ["zz", "z"]
30
+ ];
31
+ var DIGRAPH_STARTS = ["dzs", "cs", "dz", "gy", "ly", "ny", "sz", "ty", "zs"];
32
+ var STEP1_SUFFIXES = ["al", "el"];
33
+ var STEP2_SUFFIXES = [
34
+ "k\xE9ppen",
35
+ "onk\xE9nt",
36
+ "enk\xE9nt",
37
+ "ank\xE9nt",
38
+ "k\xE9nt",
39
+ "k\xE9pp",
40
+ "ban",
41
+ "ben",
42
+ "nak",
43
+ "nek",
44
+ "val",
45
+ "vel",
46
+ "b\xF3l",
47
+ "r\xF3l",
48
+ "t\xF3l",
49
+ "b\xF6l",
50
+ "r\u0151l",
51
+ "t\u0151l",
52
+ "n\xE1l",
53
+ "n\xE9l",
54
+ "hoz",
55
+ "hez",
56
+ "h\xF6z",
57
+ "v\xE1",
58
+ "v\xE9",
59
+ "ba",
60
+ "be",
61
+ "ra",
62
+ "re",
63
+ "an",
64
+ "en",
65
+ "on",
66
+ "\xF6n",
67
+ "\xE9rt",
68
+ "kor",
69
+ "ig",
70
+ "at",
71
+ "et",
72
+ "ot",
73
+ "\xF6t",
74
+ "ul",
75
+ "\xFCl",
76
+ "n",
77
+ "t"
78
+ ];
79
+ var STEP3_SUFFIXES = ["\xE1nk\xE9nt", "\xE1n", "\xE9n"];
80
+ var STEP4_SUFFIXES = ["\xE1stul", "\xE9st\xFCl", "astul", "est\xFCl", "stul", "st\xFCl"];
81
+ var STEP5_SUFFIXES = ["\xE1", "\xE9"];
82
+ var STEP6_SUFFIXES = [
83
+ "\xE9k\xE9i",
84
+ "\xE1\xE9i",
85
+ "\xE9\xE9i",
86
+ "\xE1k\xE9",
87
+ "\xE9k\xE9",
88
+ "ok\xE9\xE9",
89
+ "\xF6k\xE9\xE9",
90
+ "ak\xE9\xE9",
91
+ "ek\xE9\xE9",
92
+ "ok\xE9",
93
+ "\xF6k\xE9",
94
+ "ak\xE9",
95
+ "ek\xE9",
96
+ "\xE9\xE9",
97
+ "\xE9i",
98
+ "k\xE9",
99
+ "\xE9"
100
+ ];
101
+ var STEP7_SUFFIXES = [
102
+ "\xE1juk",
103
+ "\xE9j\xFCk",
104
+ "juk",
105
+ "j\xFCk",
106
+ "\xE1nk",
107
+ "\xE9nk",
108
+ "\xFCnk",
109
+ "unk",
110
+ "\xE1m",
111
+ "\xE9m",
112
+ "\xE1d",
113
+ "\xE9d",
114
+ "uk",
115
+ "\xFCk",
116
+ "ja",
117
+ "je",
118
+ "am",
119
+ "em",
120
+ "om",
121
+ "ad",
122
+ "ed",
123
+ "od",
124
+ "\xF6d",
125
+ "\xE1",
126
+ "\xE9",
127
+ "a",
128
+ "e",
129
+ "o",
130
+ "nk",
131
+ "m",
132
+ "d"
133
+ ];
134
+ var STEP8_SUFFIXES = [
135
+ "jaitok",
136
+ "jeitek",
137
+ "\xE1itok",
138
+ "\xE9itek",
139
+ "jaink",
140
+ "jeink",
141
+ "\xE1ink",
142
+ "\xE9ink",
143
+ "jaim",
144
+ "jeim",
145
+ "jaid",
146
+ "jeid",
147
+ "jaik",
148
+ "jeik",
149
+ "\xE1im",
150
+ "\xE9im",
151
+ "\xE1id",
152
+ "\xE9id",
153
+ "\xE1ik",
154
+ "\xE9ik",
155
+ "jai",
156
+ "jei",
157
+ "\xE1i",
158
+ "\xE9i",
159
+ "aink",
160
+ "eink",
161
+ "aim",
162
+ "eim",
163
+ "aid",
164
+ "eid",
165
+ "aik",
166
+ "eik",
167
+ "ai",
168
+ "ei",
169
+ "itek",
170
+ "ink",
171
+ "im",
172
+ "id",
173
+ "ik",
174
+ "i"
175
+ ];
176
+ var STEP9_SUFFIXES = ["\xE1k", "\xE9k", "\xF6k", "ok", "ek", "ak", "k"];
177
+ function computeR1(word) {
178
+ if (word.length === 0) return 0;
179
+ let i = 0;
180
+ if (isVowel(word[0])) {
181
+ i = 1;
182
+ while (i < word.length && isVowel(word[i])) i++;
183
+ if (i >= word.length) return word.length;
184
+ let advanced = false;
185
+ for (const dg of DIGRAPH_STARTS) {
186
+ if (word.startsWith(dg, i)) {
187
+ i += dg.length;
188
+ advanced = true;
189
+ break;
190
+ }
191
+ }
192
+ if (!advanced) i++;
193
+ } else {
194
+ let advanced = false;
195
+ for (const dg of DIGRAPH_STARTS) {
196
+ if (word.startsWith(dg, 0)) {
197
+ i = dg.length;
198
+ advanced = true;
199
+ break;
200
+ }
201
+ }
202
+ if (!advanced) i = 1;
203
+ while (i < word.length && !isVowel(word[i])) i++;
204
+ if (i >= word.length) return word.length;
205
+ i++;
206
+ }
207
+ if (i <= word.length) return i;
208
+ return word.length;
209
+ }
210
+ function endsWithDouble(word) {
211
+ return DOUBLE_CONSONANTS.some(([dbl]) => word.endsWith(dbl));
212
+ }
213
+ function undoubleConsonant(word) {
214
+ for (const [dbl, single] of DOUBLE_CONSONANTS) {
215
+ if (word.endsWith(dbl)) {
216
+ return word.slice(0, word.length - dbl.length) + single;
217
+ }
218
+ }
219
+ return word;
220
+ }
221
+ function inR1(word, r1, suffixLen) {
222
+ return word.length - suffixLen >= r1;
223
+ }
224
+ function trySuffix(word, suffixes) {
225
+ for (const s of suffixes) {
226
+ if (word.endsWith(s)) return s;
227
+ }
228
+ return null;
229
+ }
230
+ function step1Instrumental(word, r1) {
231
+ const matched = trySuffix(word, STEP1_SUFFIXES);
232
+ if (matched && inR1(word, r1, matched.length)) {
233
+ const stripped = word.slice(0, -matched.length);
234
+ if (endsWithDouble(stripped)) {
235
+ return undoubleConsonant(stripped);
236
+ }
237
+ }
238
+ return word;
239
+ }
240
+ function step2CaseEndings(word, r1) {
241
+ const matched = trySuffix(word, STEP2_SUFFIXES);
242
+ if (matched && inR1(word, r1, matched.length)) {
243
+ const stripped = word.slice(0, -matched.length);
244
+ if (stripped.endsWith("\xE1")) {
245
+ return `${stripped.slice(0, -1)}a`;
246
+ }
247
+ if (stripped.endsWith("\xE9")) {
248
+ return `${stripped.slice(0, -1)}e`;
249
+ }
250
+ return stripped;
251
+ }
252
+ return word;
253
+ }
254
+ function step3Emotive(word, r1) {
255
+ const matched = trySuffix(word, STEP3_SUFFIXES);
256
+ if (matched && inR1(word, r1, matched.length)) {
257
+ const stripped = word.slice(0, -matched.length);
258
+ if (matched === "\xE9n") return `${stripped}e`;
259
+ return `${stripped}a`;
260
+ }
261
+ return word;
262
+ }
263
+ function step4Comitative(word, r1) {
264
+ const matched = trySuffix(word, STEP4_SUFFIXES);
265
+ if (matched && inR1(word, r1, matched.length)) {
266
+ const stripped = word.slice(0, -matched.length);
267
+ if (matched === "\xE1stul") return `${stripped}a`;
268
+ if (matched === "\xE9st\xFCl") return `${stripped}e`;
269
+ return stripped;
270
+ }
271
+ return word;
272
+ }
273
+ function step5LongVowel(word, r1) {
274
+ const matched = trySuffix(word, STEP5_SUFFIXES);
275
+ if (matched && inR1(word, r1, matched.length)) {
276
+ const stripped = word.slice(0, -matched.length);
277
+ if (endsWithDouble(stripped)) {
278
+ return undoubleConsonant(stripped);
279
+ }
280
+ }
281
+ return word;
282
+ }
283
+ function step6Possessive(word, r1) {
284
+ const matched = trySuffix(word, STEP6_SUFFIXES);
285
+ if (matched && inR1(word, r1, matched.length)) {
286
+ const stripped = word.slice(0, -matched.length);
287
+ if (matched === "\xE1k\xE9" || matched === "\xE1\xE9i") return `${stripped}a`;
288
+ if (matched === "\xE9k\xE9" || matched === "\xE9\xE9i" || matched === "\xE9\xE9") return `${stripped}e`;
289
+ return stripped;
290
+ }
291
+ return word;
292
+ }
293
+ function step7SingularPossessive(word, r1) {
294
+ const matched = trySuffix(word, STEP7_SUFFIXES);
295
+ if (matched && inR1(word, r1, matched.length)) {
296
+ const stripped = word.slice(0, -matched.length);
297
+ if (matched === "\xE1juk" || matched === "\xE1nk" || matched === "\xE1m" || matched === "\xE1d" || matched === "\xE1") {
298
+ return `${stripped}a`;
299
+ }
300
+ if (matched === "\xE9j\xFCk" || matched === "\xE9nk" || matched === "\xE9m" || matched === "\xE9d" || matched === "\xE9") {
301
+ return `${stripped}e`;
302
+ }
303
+ return stripped;
304
+ }
305
+ return word;
306
+ }
307
+ function step8PluralPossessive(word, r1) {
308
+ const matched = trySuffix(word, STEP8_SUFFIXES);
309
+ if (matched && inR1(word, r1, matched.length)) {
310
+ const stripped = word.slice(0, -matched.length);
311
+ if (matched === "\xE1itok" || matched === "\xE1ink" || matched === "\xE1im" || matched === "\xE1id" || matched === "\xE1ik" || matched === "\xE1i") {
312
+ return `${stripped}a`;
313
+ }
314
+ if (matched === "\xE9itek" || matched === "\xE9ink" || matched === "\xE9im" || matched === "\xE9id" || matched === "\xE9ik" || matched === "\xE9i") {
315
+ return `${stripped}e`;
316
+ }
317
+ return stripped;
318
+ }
319
+ return word;
320
+ }
321
+ function step9Plural(word, r1) {
322
+ const matched = trySuffix(word, STEP9_SUFFIXES);
323
+ if (matched && inR1(word, r1, matched.length)) {
324
+ const stripped = word.slice(0, -matched.length);
325
+ if (matched === "\xE1k") return `${stripped}a`;
326
+ if (matched === "\xE9k") return `${stripped}e`;
327
+ return stripped;
328
+ }
329
+ return word;
330
+ }
331
+ function stem(word) {
332
+ if (word.length < 2) return word;
333
+ word = word.toLowerCase();
334
+ const r1 = computeR1(word);
335
+ word = step1Instrumental(word, r1);
336
+ word = step2CaseEndings(word, r1);
337
+ word = step3Emotive(word, r1);
338
+ word = step4Comitative(word, r1);
339
+ word = step5LongVowel(word, r1);
340
+ word = step6Possessive(word, r1);
341
+ word = step7SingularPossessive(word, r1);
342
+ word = step8PluralPossessive(word, r1);
343
+ word = step9Plural(word, r1);
344
+ return word;
345
+ }
346
+ var stopWords = /* @__PURE__ */ new Set([
347
+ "a",
348
+ "abba",
349
+ "abban",
350
+ "abb\xF3l",
351
+ "addig",
352
+ "ahhoz",
353
+ "ahogy",
354
+ "ahol",
355
+ "aki",
356
+ "akik",
357
+ "akkor",
358
+ "ak\xE1r",
359
+ "alapj\xE1n",
360
+ "alatt",
361
+ "alatta",
362
+ "al\xE1",
363
+ "amely",
364
+ "amelyek",
365
+ "amelyet",
366
+ "amelyik",
367
+ "amelynek",
368
+ "ami",
369
+ "amikor",
370
+ "amit",
371
+ "am\xEDg",
372
+ "annak",
373
+ "ann\xE1l",
374
+ "arra",
375
+ "arr\xF3l",
376
+ "att\xF3l",
377
+ "az",
378
+ "azok",
379
+ "azokat",
380
+ "azon",
381
+ "azonban",
382
+ "azt",
383
+ "azt\xE1n",
384
+ "azut\xE1n",
385
+ "azzal",
386
+ "az\xE9rt",
387
+ "be",
388
+ "bel\xFCl",
389
+ "benne",
390
+ "b\xE1r",
391
+ "csak",
392
+ "de",
393
+ "e",
394
+ "eddig",
395
+ "egy",
396
+ "egyed\xFCl",
397
+ "egyes",
398
+ "egyetlen",
399
+ "egyik",
400
+ "egym\xE1s",
401
+ "egyre",
402
+ "egy\xE9b",
403
+ "egy\xFCtt",
404
+ "eg\xE9sz",
405
+ "ehhez",
406
+ "ekkor",
407
+ "el",
408
+ "ellen",
409
+ "el\xE9g",
410
+ "el\u0151",
411
+ "el\u0151bb",
412
+ "el\u0151sz\xF6r",
413
+ "el\u0151tt",
414
+ "el\u0151z\u0151",
415
+ "engem",
416
+ "ennek",
417
+ "erre",
418
+ "ez",
419
+ "ezek",
420
+ "ezen",
421
+ "ezt",
422
+ "ezut\xE1n",
423
+ "ezzel",
424
+ "ez\xE9rt",
425
+ "fel",
426
+ "fel\xE9",
427
+ "ha",
428
+ "hanem",
429
+ "hiszen",
430
+ "hogy",
431
+ "hogyan",
432
+ "hol",
433
+ "holnap",
434
+ "honnan",
435
+ "hova",
436
+ "hozz\xE1",
437
+ "ide",
438
+ "igen",
439
+ "ill",
440
+ "illetve",
441
+ "ilyen",
442
+ "imm\xE1r",
443
+ "ink\xE1bb",
444
+ "is",
445
+ "ism\xE9t",
446
+ "itt",
447
+ "jobban",
448
+ "j\xF3l",
449
+ "kell",
450
+ "kellett",
451
+ "kereszt\xFCl",
452
+ "kett\u0151",
453
+ "kev\xE9s",
454
+ "ki",
455
+ "kit",
456
+ "k\xF6zben",
457
+ "k\xF6zel",
458
+ "k\xF6z\xE9",
459
+ "k\xF6z\xF6tt",
460
+ "k\xF6z\xFCl",
461
+ "k\xFCl\xF6nben",
462
+ "k\xFCl\xF6nb\xF6z\u0151",
463
+ "le",
464
+ "legal\xE1bb",
465
+ "legyen",
466
+ "lehet",
467
+ "lenne",
468
+ "lenni",
469
+ "lesz",
470
+ "lett",
471
+ "ma",
472
+ "maga",
473
+ "mag\xE1t",
474
+ "mai",
475
+ "majd",
476
+ "meg",
477
+ "megint",
478
+ "mellett",
479
+ "mell\xE9",
480
+ "mely",
481
+ "melyek",
482
+ "melyik",
483
+ "mennyi",
484
+ "mert",
485
+ "mi",
486
+ "miatt",
487
+ "mikor",
488
+ "milyen",
489
+ "mind",
490
+ "minden",
491
+ "mindenki",
492
+ "mindent",
493
+ "mindig",
494
+ "minek",
495
+ "minket",
496
+ "mint",
497
+ "mintha",
498
+ "mit",
499
+ "mivel",
500
+ "mi\xE9rt",
501
+ "mondta",
502
+ "most",
503
+ "m\xE1r",
504
+ "m\xE1s",
505
+ "m\xE1sik",
506
+ "m\xE1sodik",
507
+ "m\xE9g",
508
+ "m\xE9gis",
509
+ "m\xEDg",
510
+ "m\xFAlva",
511
+ "nagy",
512
+ "nagyon",
513
+ "ne",
514
+ "neked",
515
+ "nekem",
516
+ "neki",
517
+ "nekik",
518
+ "nek\xFCnk",
519
+ "nem",
520
+ "nincs",
521
+ "n\xE1lunk",
522
+ "n\xE9ha",
523
+ "n\xE9h\xE1ny",
524
+ "n\xE9lk\xFCl",
525
+ "oda",
526
+ "olyan",
527
+ "onnan",
528
+ "ott",
529
+ "pedig",
530
+ "persze",
531
+ "rajta",
532
+ "r\xF3la",
533
+ "saj\xE1t",
534
+ "se",
535
+ "sem",
536
+ "semmi",
537
+ "senki",
538
+ "soha",
539
+ "sok",
540
+ "sokat",
541
+ "sokkal",
542
+ "sor\xE1n",
543
+ "szemben",
544
+ "szerint",
545
+ "szinte",
546
+ "sz\xE1m\xE1ra",
547
+ "s\u0151t",
548
+ "tal\xE1n",
549
+ "te",
550
+ "teh\xE1t",
551
+ "ti",
552
+ "tov\xE1bb",
553
+ "tov\xE1bbi",
554
+ "tov\xE1bb\xE1",
555
+ "t\xE9ged",
556
+ "t\u0151le",
557
+ "ugyanis",
558
+ "ugye",
559
+ "ut\xE1n",
560
+ "ut\xE1na",
561
+ "vagy",
562
+ "vagyis",
563
+ "vagyok",
564
+ "vagyunk",
565
+ "vajon",
566
+ "valaki",
567
+ "valami",
568
+ "valamint",
569
+ "val\xF3",
570
+ "van",
571
+ "vannak",
572
+ "vele",
573
+ "velem",
574
+ "vel\xFCnk",
575
+ "vissza",
576
+ "viszont",
577
+ "volna",
578
+ "volt",
579
+ "voltak",
580
+ "v\xE9gre",
581
+ "v\xE9g\xFCl",
582
+ "\xE1ltal",
583
+ "\xE1ltal\xE1ban",
584
+ "\xE1t",
585
+ "\xE9n",
586
+ "\xE9s",
587
+ "\xEDgy",
588
+ "\u0151",
589
+ "\u0151k",
590
+ "\u0151ket",
591
+ "\u0151t"
592
+ ]);
593
+ var hungarian = {
594
+ name: "hungarian",
595
+ stemmer: stem,
596
+ stopWords,
597
+ tokenizer: { splitPattern: /[^a-z0-9áéíóöőúüű]+/gi }
598
+ };
599
+
600
+ export { hungarian };
@@ -0,0 +1,5 @@
1
+ import { L as LanguageModule } from '../language-ClUGLuoC.js';
2
+
3
+ declare const igbo: LanguageModule;
4
+
5
+ export { igbo };
@@ -0,0 +1,96 @@
1
+ // src/languages/igbo.ts
2
+ var stopWords = /* @__PURE__ */ new Set([
3
+ "na",
4
+ "onye",
5
+ "gi",
6
+ "g\u1ECB",
7
+ "ka",
8
+ "ya",
9
+ "m",
10
+ "ndi",
11
+ "nd\u1ECB",
12
+ "a",
13
+ "o",
14
+ "\u1ECD",
15
+ "nke",
16
+ "di",
17
+ "d\u1ECB",
18
+ "ihe",
19
+ "i",
20
+ "\u1ECB",
21
+ "no",
22
+ "bu",
23
+ "b\u1EE5",
24
+ "anyi",
25
+ "any\u1ECB",
26
+ "ga",
27
+ "e",
28
+ "ma",
29
+ "ha",
30
+ "ike",
31
+ "ebe",
32
+ "kwa",
33
+ "eme",
34
+ "isi",
35
+ "maka",
36
+ "si",
37
+ "okwu",
38
+ "ji",
39
+ "otu",
40
+ "mgbe",
41
+ "oge",
42
+ "onwe",
43
+ "mana",
44
+ "eji",
45
+ "unu",
46
+ "aka",
47
+ "obi",
48
+ "anya",
49
+ "ala",
50
+ "nwa",
51
+ "site",
52
+ "n",
53
+ "ghi",
54
+ "gh\u1ECB",
55
+ "nwere",
56
+ "mere",
57
+ "kwu",
58
+ "gwa",
59
+ "nye",
60
+ "we",
61
+ "kwara",
62
+ "kwuru",
63
+ "gara",
64
+ "aga",
65
+ "nime",
66
+ "elu",
67
+ "okpuru",
68
+ "etiti",
69
+ "banyere",
70
+ "tupu",
71
+ "nile",
72
+ "ozo",
73
+ "\u1ECDz\u1ECD",
74
+ "ufodu",
75
+ "\u1EE5f\u1ECDd\u1EE5",
76
+ "obula",
77
+ "\u1ECDb\u1EE5la",
78
+ "ncha",
79
+ "nani",
80
+ "nan\u1ECB",
81
+ "puru",
82
+ "ugbu",
83
+ "taa"
84
+ ]);
85
+ var igbo = {
86
+ name: "igbo",
87
+ stemmer: null,
88
+ stopWords,
89
+ tokenizer: {
90
+ splitPattern: /[^a-zA-ZịụọṅĩỊỤỌṄĨ0-9\p{M}]+/giu,
91
+ normalizeDiacritics: false,
92
+ minTokenLength: 1
93
+ }
94
+ };
95
+
96
+ export { igbo };
@@ -0,0 +1,5 @@
1
+ import { L as LanguageModule } from '../language-ClUGLuoC.js';
2
+
3
+ declare const indonesian: LanguageModule;
4
+
5
+ export { indonesian };