@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,896 @@
1
+ // src/languages/indonesian.ts
2
+ var VOWELS = /* @__PURE__ */ new Set(["a", "e", "i", "o", "u"]);
3
+ function countVowels(word) {
4
+ let count = 0;
5
+ for (const ch of word) {
6
+ if (VOWELS.has(ch)) count++;
7
+ }
8
+ return count;
9
+ }
10
+ function removeParticle(word) {
11
+ for (const suffix of ["kah", "lah", "tah", "pun"]) {
12
+ if (word.endsWith(suffix)) {
13
+ return { word: word.slice(0, -suffix.length), removed: 1 };
14
+ }
15
+ }
16
+ return { word, removed: 0 };
17
+ }
18
+ function removePossessivePronoun(word) {
19
+ if (word.endsWith("nya")) return { word: word.slice(0, -3), removed: 1 };
20
+ if (word.endsWith("ku")) return { word: word.slice(0, -2), removed: 1 };
21
+ if (word.endsWith("mu")) return { word: word.slice(0, -2), removed: 1 };
22
+ return { word, removed: 0 };
23
+ }
24
+ function removeFirstPrefix(word) {
25
+ if (word.startsWith("di") && word.length > 4) {
26
+ return { word: word.slice(2), prefixType: 1 };
27
+ }
28
+ if (word.startsWith("ke") && word.length > 4) {
29
+ return { word: word.slice(2), prefixType: 1 };
30
+ }
31
+ if (word.startsWith("se") && word.length > 4) {
32
+ return { word: word.slice(2), prefixType: 1 };
33
+ }
34
+ if (word.startsWith("me")) {
35
+ if (word.startsWith("meng") && word.length > 6) {
36
+ return { word: word.slice(4), prefixType: 1 };
37
+ }
38
+ if (word.startsWith("meny") && word.length > 6) {
39
+ return { word: `s${word.slice(4)}`, prefixType: 3 };
40
+ }
41
+ if (word.startsWith("men") && word.length > 5) {
42
+ return { word: word.slice(3), prefixType: 1 };
43
+ }
44
+ if (word.startsWith("mem") && word.length > 5) {
45
+ const rest = word.slice(3);
46
+ if (rest.length > 0 && VOWELS.has(rest[0])) {
47
+ return { word: `p${rest}`, prefixType: 5 };
48
+ }
49
+ return { word: rest, prefixType: 1 };
50
+ }
51
+ if (word.startsWith("me") && word.length > 4) {
52
+ return { word: word.slice(2), prefixType: 1 };
53
+ }
54
+ }
55
+ if (word.startsWith("pe")) {
56
+ if (word.startsWith("peng") && word.length > 6) {
57
+ return { word: word.slice(4), prefixType: 2 };
58
+ }
59
+ if (word.startsWith("peny") && word.length > 6) {
60
+ return { word: `s${word.slice(4)}`, prefixType: 4 };
61
+ }
62
+ if (word.startsWith("pen") && word.length > 5) {
63
+ return { word: word.slice(3), prefixType: 2 };
64
+ }
65
+ if (word.startsWith("pem") && word.length > 5) {
66
+ const rest = word.slice(3);
67
+ if (rest.length > 0 && VOWELS.has(rest[0])) {
68
+ return { word: `p${rest}`, prefixType: 6 };
69
+ }
70
+ return { word: rest, prefixType: 2 };
71
+ }
72
+ if (word === "pelajar" || word.startsWith("pelajar")) {
73
+ return { word: word.slice(3), prefixType: 1 };
74
+ }
75
+ if (word.startsWith("pe") && word.length > 4) {
76
+ return { word: word.slice(2), prefixType: 2 };
77
+ }
78
+ }
79
+ if (word.startsWith("ter") && word.length > 5) {
80
+ return { word: word.slice(3), prefixType: 1 };
81
+ }
82
+ if (word.startsWith("belajar")) {
83
+ return { word: word.slice(3), prefixType: 3 };
84
+ }
85
+ if (word.startsWith("ber") && word.length > 5) {
86
+ return { word: word.slice(3), prefixType: 3 };
87
+ }
88
+ if (word.startsWith("per") && word.length > 5) {
89
+ return { word: word.slice(3), prefixType: 1 };
90
+ }
91
+ return { word, prefixType: 0 };
92
+ }
93
+ function removeDerivationalSuffix(word, prefixType) {
94
+ if (word.endsWith("kan") && word.length > 5) {
95
+ if (prefixType !== 3 && prefixType !== 2) {
96
+ return word.slice(0, -3);
97
+ }
98
+ }
99
+ if (word.endsWith("an") && word.length > 4) {
100
+ if (prefixType !== 1) {
101
+ return word.slice(0, -2);
102
+ }
103
+ }
104
+ if (word.endsWith("i") && word.length > 3) {
105
+ const beforeI = word[word.length - 2];
106
+ if (beforeI !== "s" && prefixType <= 2) {
107
+ return word.slice(0, -1);
108
+ }
109
+ }
110
+ return word;
111
+ }
112
+ function stem(input) {
113
+ let word = input.toLowerCase();
114
+ if (countVowels(word) < 3) return word;
115
+ const original = word;
116
+ const particle = removeParticle(word);
117
+ word = particle.word;
118
+ const possessive = removePossessivePronoun(word);
119
+ word = possessive.word;
120
+ if (countVowels(word) < 2) return original;
121
+ const withPrefix = removeFirstPrefix(word);
122
+ let prefixType = withPrefix.prefixType;
123
+ const afterPrefix = withPrefix.word;
124
+ if (prefixType > 0 && countVowels(afterPrefix) >= 2) {
125
+ word = afterPrefix;
126
+ const withSuffix = removeDerivationalSuffix(word, prefixType);
127
+ if (withSuffix !== word && countVowels(withSuffix) >= 2) {
128
+ word = withSuffix;
129
+ }
130
+ } else {
131
+ word = possessive.word;
132
+ const withSuffix = removeDerivationalSuffix(word, 0);
133
+ if (withSuffix !== word && countVowels(withSuffix) >= 2) {
134
+ word = withSuffix;
135
+ const secondPrefix = removeFirstPrefix(word);
136
+ if (secondPrefix.prefixType > 0 && countVowels(secondPrefix.word) >= 2) {
137
+ word = secondPrefix.word;
138
+ prefixType = secondPrefix.prefixType;
139
+ }
140
+ } else {
141
+ word = afterPrefix;
142
+ prefixType = withPrefix.prefixType;
143
+ const suffixResult = removeDerivationalSuffix(word, prefixType);
144
+ if (suffixResult !== word && countVowels(suffixResult) >= 2) {
145
+ word = suffixResult;
146
+ }
147
+ }
148
+ }
149
+ return word;
150
+ }
151
+ var stopWords = /* @__PURE__ */ new Set([
152
+ "ada",
153
+ "adalah",
154
+ "adanya",
155
+ "adapun",
156
+ "agak",
157
+ "agaknya",
158
+ "agar",
159
+ "akan",
160
+ "akankah",
161
+ "akhir",
162
+ "akhiri",
163
+ "akhirnya",
164
+ "aku",
165
+ "akulah",
166
+ "amat",
167
+ "amatlah",
168
+ "anda",
169
+ "andalah",
170
+ "antar",
171
+ "antara",
172
+ "antaranya",
173
+ "apa",
174
+ "apaan",
175
+ "apabila",
176
+ "apakah",
177
+ "apalagi",
178
+ "apatah",
179
+ "artinya",
180
+ "asal",
181
+ "asalkan",
182
+ "atas",
183
+ "atau",
184
+ "ataukah",
185
+ "ataupun",
186
+ "awal",
187
+ "awalnya",
188
+ "bagai",
189
+ "bagaikan",
190
+ "bagaimana",
191
+ "bagaimanakah",
192
+ "bagaimanapun",
193
+ "bagi",
194
+ "bagian",
195
+ "bahkan",
196
+ "bahwa",
197
+ "bahwasanya",
198
+ "baik",
199
+ "bakal",
200
+ "bakalan",
201
+ "balik",
202
+ "banyak",
203
+ "bapak",
204
+ "baru",
205
+ "bawah",
206
+ "beberapa",
207
+ "begini",
208
+ "beginian",
209
+ "beginikah",
210
+ "beginilah",
211
+ "begitu",
212
+ "begitukah",
213
+ "begitulah",
214
+ "begitupun",
215
+ "bekerja",
216
+ "belakang",
217
+ "belakangan",
218
+ "belum",
219
+ "belumlah",
220
+ "benar",
221
+ "benarkah",
222
+ "benarlah",
223
+ "berada",
224
+ "berakhir",
225
+ "berakhirlah",
226
+ "berakhirnya",
227
+ "berapa",
228
+ "berapakah",
229
+ "berapalah",
230
+ "berapapun",
231
+ "berarti",
232
+ "berawal",
233
+ "berbagai",
234
+ "berdatangan",
235
+ "beri",
236
+ "berikan",
237
+ "berikut",
238
+ "berikutnya",
239
+ "berjumlah",
240
+ "berkata",
241
+ "berkehendak",
242
+ "berkeinginan",
243
+ "berkenaan",
244
+ "berlainan",
245
+ "berlalu",
246
+ "berlangsung",
247
+ "berlebihan",
248
+ "bermacam",
249
+ "bermaksud",
250
+ "bermula",
251
+ "bersama",
252
+ "bersiap",
253
+ "bertanya",
254
+ "berturut",
255
+ "bertutur",
256
+ "berujar",
257
+ "berupa",
258
+ "besar",
259
+ "betul",
260
+ "betulkah",
261
+ "biasa",
262
+ "biasanya",
263
+ "bila",
264
+ "bilakah",
265
+ "bisa",
266
+ "bisakah",
267
+ "boleh",
268
+ "bolehkah",
269
+ "bolehlah",
270
+ "buat",
271
+ "bukan",
272
+ "bukankah",
273
+ "bukanlah",
274
+ "bukannya",
275
+ "bulan",
276
+ "bung",
277
+ "cara",
278
+ "caranya",
279
+ "cukup",
280
+ "cukupkah",
281
+ "cukuplah",
282
+ "cuma",
283
+ "dahulu",
284
+ "dalam",
285
+ "dan",
286
+ "dapat",
287
+ "dari",
288
+ "daripada",
289
+ "datang",
290
+ "dekat",
291
+ "demi",
292
+ "demikian",
293
+ "demikianlah",
294
+ "dengan",
295
+ "depan",
296
+ "di",
297
+ "dia",
298
+ "diakhiri",
299
+ "diakhirinya",
300
+ "dialah",
301
+ "diantara",
302
+ "diantaranya",
303
+ "diberi",
304
+ "diberikan",
305
+ "diberikannya",
306
+ "dibuat",
307
+ "dibuatnya",
308
+ "didapat",
309
+ "didatangkan",
310
+ "digunakan",
311
+ "diibaratkan",
312
+ "diibaratkannya",
313
+ "diingat",
314
+ "diingatkan",
315
+ "diinginkan",
316
+ "dijawab",
317
+ "dijelaskan",
318
+ "dijelaskannya",
319
+ "dikarenakan",
320
+ "dikatakan",
321
+ "dikatakannya",
322
+ "dikerjakan",
323
+ "diketahui",
324
+ "diketahuinya",
325
+ "dikira",
326
+ "dilakukan",
327
+ "dilalui",
328
+ "dilihat",
329
+ "dimaksud",
330
+ "dimaksudkan",
331
+ "dimaksudkannya",
332
+ "dimaksudnya",
333
+ "diminta",
334
+ "dimintai",
335
+ "dimisalkan",
336
+ "dimulai",
337
+ "dimulailah",
338
+ "dimulainya",
339
+ "dimungkinkan",
340
+ "dini",
341
+ "dipastikan",
342
+ "diperbuat",
343
+ "diperbuatnya",
344
+ "dipergunakan",
345
+ "diperkirakan",
346
+ "diperlihatkan",
347
+ "diperlukan",
348
+ "diperlukannya",
349
+ "dipersoalkan",
350
+ "dipertanyakan",
351
+ "dipunyai",
352
+ "diri",
353
+ "dirinya",
354
+ "disampaikan",
355
+ "disebut",
356
+ "disebutkan",
357
+ "disebutkannya",
358
+ "disini",
359
+ "disinilah",
360
+ "ditambahkan",
361
+ "ditandaskan",
362
+ "ditanya",
363
+ "ditanyai",
364
+ "ditanyakan",
365
+ "ditegaskan",
366
+ "ditujukan",
367
+ "ditunjuk",
368
+ "ditunjuki",
369
+ "ditunjukkan",
370
+ "ditunjukkannya",
371
+ "ditunjuknya",
372
+ "dituturkan",
373
+ "dituturkannya",
374
+ "diucapkan",
375
+ "diucapkannya",
376
+ "diungkapkan",
377
+ "dong",
378
+ "dua",
379
+ "dulu",
380
+ "empat",
381
+ "enggak",
382
+ "enggaknya",
383
+ "entah",
384
+ "entahlah",
385
+ "guna",
386
+ "gunakan",
387
+ "hal",
388
+ "hampir",
389
+ "hanya",
390
+ "hanyalah",
391
+ "hari",
392
+ "harus",
393
+ "haruslah",
394
+ "harusnya",
395
+ "hendak",
396
+ "hendaklah",
397
+ "hendaknya",
398
+ "hingga",
399
+ "ia",
400
+ "ialah",
401
+ "ibarat",
402
+ "ibaratkan",
403
+ "ibaratnya",
404
+ "ibu",
405
+ "ikut",
406
+ "ingat",
407
+ "ingin",
408
+ "inginkah",
409
+ "inginkan",
410
+ "ini",
411
+ "inikah",
412
+ "inilah",
413
+ "itu",
414
+ "itukah",
415
+ "itulah",
416
+ "jadi",
417
+ "jadilah",
418
+ "jadinya",
419
+ "jangan",
420
+ "jangankan",
421
+ "janganlah",
422
+ "jauh",
423
+ "jawab",
424
+ "jawaban",
425
+ "jawabnya",
426
+ "jelas",
427
+ "jelaskan",
428
+ "jelaslah",
429
+ "jelasnya",
430
+ "jika",
431
+ "jikalau",
432
+ "juga",
433
+ "jumlah",
434
+ "jumlahnya",
435
+ "justru",
436
+ "kala",
437
+ "kalau",
438
+ "kalaulah",
439
+ "kalaupun",
440
+ "kalian",
441
+ "kami",
442
+ "kamilah",
443
+ "kamu",
444
+ "kamulah",
445
+ "kan",
446
+ "kapan",
447
+ "kapankah",
448
+ "kapanpun",
449
+ "karena",
450
+ "karenanya",
451
+ "kasus",
452
+ "kata",
453
+ "katakan",
454
+ "katakanlah",
455
+ "katanya",
456
+ "ke",
457
+ "keadaan",
458
+ "kebetulan",
459
+ "kecil",
460
+ "kedua",
461
+ "keduanya",
462
+ "keinginan",
463
+ "kelamaan",
464
+ "kelihatan",
465
+ "kelihatannya",
466
+ "kelima",
467
+ "keluar",
468
+ "kembali",
469
+ "kemudian",
470
+ "kemungkinan",
471
+ "kemungkinannya",
472
+ "kenapa",
473
+ "kepada",
474
+ "kepadanya",
475
+ "kesampaian",
476
+ "keseluruhan",
477
+ "keseluruhannya",
478
+ "keterlaluan",
479
+ "ketika",
480
+ "khususnya",
481
+ "kini",
482
+ "kinilah",
483
+ "kira",
484
+ "kiranya",
485
+ "kita",
486
+ "kitalah",
487
+ "kok",
488
+ "kurang",
489
+ "lagi",
490
+ "lagian",
491
+ "lah",
492
+ "lain",
493
+ "lainnya",
494
+ "lalu",
495
+ "lama",
496
+ "lamanya",
497
+ "lanjut",
498
+ "lanjutnya",
499
+ "lebih",
500
+ "lewat",
501
+ "lima",
502
+ "luar",
503
+ "macam",
504
+ "maka",
505
+ "makanya",
506
+ "makin",
507
+ "malah",
508
+ "malahan",
509
+ "mampu",
510
+ "mampukah",
511
+ "mana",
512
+ "manakala",
513
+ "manalagi",
514
+ "masa",
515
+ "masalah",
516
+ "masalahnya",
517
+ "masih",
518
+ "masihkah",
519
+ "masing",
520
+ "mau",
521
+ "maupun",
522
+ "melainkan",
523
+ "melakukan",
524
+ "melalui",
525
+ "melihat",
526
+ "melihatnya",
527
+ "memang",
528
+ "memastikan",
529
+ "memberi",
530
+ "memberikan",
531
+ "membuat",
532
+ "memerlukan",
533
+ "memihak",
534
+ "meminta",
535
+ "memintakan",
536
+ "memisalkan",
537
+ "memperbuat",
538
+ "mempergunakan",
539
+ "memperkirakan",
540
+ "memperlihatkan",
541
+ "mempersiapkan",
542
+ "mempersoalkan",
543
+ "mempertanyakan",
544
+ "mempunyai",
545
+ "memulai",
546
+ "memungkinkan",
547
+ "menaiki",
548
+ "menambahkan",
549
+ "menandaskan",
550
+ "menanti",
551
+ "menantikan",
552
+ "menanya",
553
+ "menanyai",
554
+ "menanyakan",
555
+ "mendapat",
556
+ "mendapatkan",
557
+ "mendatang",
558
+ "mendatangi",
559
+ "mendatangkan",
560
+ "menegaskan",
561
+ "mengakhiri",
562
+ "mengapa",
563
+ "mengatakan",
564
+ "mengatakannya",
565
+ "mengenai",
566
+ "mengerjakan",
567
+ "mengetahui",
568
+ "menggunakan",
569
+ "menghendaki",
570
+ "mengibaratkan",
571
+ "mengibaratkannya",
572
+ "mengingat",
573
+ "mengingatkan",
574
+ "menginginkan",
575
+ "mengira",
576
+ "mengucapkan",
577
+ "mengucapkannya",
578
+ "mengungkapkan",
579
+ "menjadi",
580
+ "menjawab",
581
+ "menjelaskan",
582
+ "menuju",
583
+ "menunjuk",
584
+ "menunjuki",
585
+ "menunjukkan",
586
+ "menunjuknya",
587
+ "menurut",
588
+ "menuturkan",
589
+ "menyampaikan",
590
+ "menyangkut",
591
+ "menyatakan",
592
+ "menyebutkan",
593
+ "menyeluruh",
594
+ "menyiapkan",
595
+ "merasa",
596
+ "mereka",
597
+ "merekalah",
598
+ "merupakan",
599
+ "meski",
600
+ "meskipun",
601
+ "meyakini",
602
+ "meyakinkan",
603
+ "minta",
604
+ "mirip",
605
+ "misal",
606
+ "misalkan",
607
+ "misalnya",
608
+ "mula",
609
+ "mulai",
610
+ "mulailah",
611
+ "mulanya",
612
+ "mungkin",
613
+ "mungkinkah",
614
+ "nah",
615
+ "naik",
616
+ "namun",
617
+ "nanti",
618
+ "nantinya",
619
+ "nyaris",
620
+ "nyatanya",
621
+ "oleh",
622
+ "olehnya",
623
+ "pada",
624
+ "padahal",
625
+ "padanya",
626
+ "pak",
627
+ "paling",
628
+ "panjang",
629
+ "pantas",
630
+ "para",
631
+ "pasti",
632
+ "pastilah",
633
+ "penting",
634
+ "pentingnya",
635
+ "per",
636
+ "percuma",
637
+ "perlu",
638
+ "perlukah",
639
+ "perlunya",
640
+ "pernah",
641
+ "persoalan",
642
+ "pertama",
643
+ "pertanyaan",
644
+ "pertanyakan",
645
+ "pihak",
646
+ "pihaknya",
647
+ "pukul",
648
+ "pula",
649
+ "pun",
650
+ "punya",
651
+ "rasa",
652
+ "rasanya",
653
+ "rata",
654
+ "rupanya",
655
+ "saat",
656
+ "saatnya",
657
+ "saja",
658
+ "sajalah",
659
+ "saling",
660
+ "sama",
661
+ "sambil",
662
+ "sampai",
663
+ "sampaikan",
664
+ "sana",
665
+ "sangat",
666
+ "sangatlah",
667
+ "satu",
668
+ "saya",
669
+ "sayalah",
670
+ "se",
671
+ "sebab",
672
+ "sebabnya",
673
+ "sebagai",
674
+ "sebagaimana",
675
+ "sebagainya",
676
+ "sebagian",
677
+ "sebaik",
678
+ "sebaiknya",
679
+ "sebaliknya",
680
+ "sebanyak",
681
+ "sebegini",
682
+ "sebegitu",
683
+ "sebelum",
684
+ "sebelumnya",
685
+ "sebenarnya",
686
+ "seberapa",
687
+ "sebesar",
688
+ "sebetulnya",
689
+ "sebisanya",
690
+ "sebuah",
691
+ "sebut",
692
+ "sebutlah",
693
+ "sebutnya",
694
+ "secara",
695
+ "secukupnya",
696
+ "sedang",
697
+ "sedangkan",
698
+ "sedemikian",
699
+ "sedikit",
700
+ "sedikitnya",
701
+ "seenaknya",
702
+ "segala",
703
+ "segalanya",
704
+ "segera",
705
+ "seharusnya",
706
+ "sehingga",
707
+ "seingat",
708
+ "sejak",
709
+ "sejauh",
710
+ "sejenak",
711
+ "sejumlah",
712
+ "sekadar",
713
+ "sekadarnya",
714
+ "sekali",
715
+ "sekalian",
716
+ "sekaligus",
717
+ "sekalipun",
718
+ "sekarang",
719
+ "sekecil",
720
+ "seketika",
721
+ "sekiranya",
722
+ "sekitar",
723
+ "sekitarnya",
724
+ "sekurangnya",
725
+ "sela",
726
+ "selagi",
727
+ "selain",
728
+ "selaku",
729
+ "selalu",
730
+ "selama",
731
+ "selamanya",
732
+ "selanjutnya",
733
+ "seluruh",
734
+ "seluruhnya",
735
+ "semacam",
736
+ "semakin",
737
+ "semampu",
738
+ "semampunya",
739
+ "semasa",
740
+ "semasih",
741
+ "semata",
742
+ "semaunya",
743
+ "sementara",
744
+ "semisal",
745
+ "semisalnya",
746
+ "sempat",
747
+ "semua",
748
+ "semuanya",
749
+ "semula",
750
+ "sendiri",
751
+ "sendirian",
752
+ "sendirinya",
753
+ "seolah",
754
+ "seorang",
755
+ "sepanjang",
756
+ "sepantasnya",
757
+ "sepantasnyalah",
758
+ "seperlunya",
759
+ "seperti",
760
+ "sepertinya",
761
+ "sepihak",
762
+ "sering",
763
+ "seringnya",
764
+ "serta",
765
+ "serupa",
766
+ "sesaat",
767
+ "sesama",
768
+ "sesampai",
769
+ "sesegera",
770
+ "sesekali",
771
+ "seseorang",
772
+ "sesuatu",
773
+ "sesuatunya",
774
+ "sesudah",
775
+ "sesudahnya",
776
+ "setelah",
777
+ "setempat",
778
+ "setengah",
779
+ "seterusnya",
780
+ "setiap",
781
+ "setiba",
782
+ "setibanya",
783
+ "setidaknya",
784
+ "setinggi",
785
+ "seusai",
786
+ "sewaktu",
787
+ "siap",
788
+ "siapa",
789
+ "siapakah",
790
+ "siapapun",
791
+ "sini",
792
+ "sinilah",
793
+ "soal",
794
+ "soalnya",
795
+ "suatu",
796
+ "sudah",
797
+ "sudahkah",
798
+ "sudahlah",
799
+ "supaya",
800
+ "tadi",
801
+ "tadinya",
802
+ "tahu",
803
+ "tahun",
804
+ "tak",
805
+ "tambah",
806
+ "tambahnya",
807
+ "tampak",
808
+ "tampaknya",
809
+ "tandas",
810
+ "tandasnya",
811
+ "tanpa",
812
+ "tanya",
813
+ "tanyakan",
814
+ "tanyanya",
815
+ "tapi",
816
+ "tegas",
817
+ "tegasnya",
818
+ "telah",
819
+ "tempat",
820
+ "tengah",
821
+ "tentang",
822
+ "tentu",
823
+ "tentulah",
824
+ "tentunya",
825
+ "tepat",
826
+ "terakhir",
827
+ "terasa",
828
+ "terbanyak",
829
+ "terdahulu",
830
+ "terdapat",
831
+ "terdiri",
832
+ "terhadap",
833
+ "terhadapnya",
834
+ "teringat",
835
+ "terjadi",
836
+ "terjadilah",
837
+ "terjadinya",
838
+ "terkira",
839
+ "terlalu",
840
+ "terlebih",
841
+ "terlihat",
842
+ "termasuk",
843
+ "ternyata",
844
+ "tersampaikan",
845
+ "tersebut",
846
+ "tersebutlah",
847
+ "tertentu",
848
+ "tertuju",
849
+ "terus",
850
+ "terutama",
851
+ "tetap",
852
+ "tetapi",
853
+ "tiap",
854
+ "tiba",
855
+ "tidak",
856
+ "tidakkah",
857
+ "tidaklah",
858
+ "tiga",
859
+ "tinggi",
860
+ "toh",
861
+ "tunjuk",
862
+ "turut",
863
+ "tutur",
864
+ "tuturnya",
865
+ "ucap",
866
+ "ucapnya",
867
+ "ujar",
868
+ "ujarnya",
869
+ "umum",
870
+ "umumnya",
871
+ "ungkap",
872
+ "ungkapnya",
873
+ "untuk",
874
+ "usah",
875
+ "usai",
876
+ "waduh",
877
+ "wah",
878
+ "wahai",
879
+ "waktu",
880
+ "waktunya",
881
+ "walau",
882
+ "walaupun",
883
+ "wong",
884
+ "yaitu",
885
+ "yakin",
886
+ "yakni",
887
+ "yang"
888
+ ]);
889
+ var indonesian = {
890
+ name: "indonesian",
891
+ stemmer: stem,
892
+ stopWords,
893
+ tokenizer: { splitPattern: /[^a-z0-9]+/gi }
894
+ };
895
+
896
+ export { indonesian };