@delali/narsil 0.1.14 → 0.2.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 (251) hide show
  1. package/NOTICE +54 -0
  2. package/README.md +38 -972
  3. package/dist/adapters/filesystem.mjs +1 -1
  4. package/dist/adapters/indexeddb.mjs +1 -1
  5. package/dist/{chunk-WISGW24C.mjs → chunk-AUMKFYTG.mjs} +1 -1
  6. package/dist/{chunk-HRABJLPB.mjs → chunk-BKAI2WXI.mjs} +1 -0
  7. package/dist/chunk-GHJWC2E5.mjs +9 -0
  8. package/dist/chunk-KH3YGMVT.mjs +15 -0
  9. package/dist/{chunk-ALB35PRQ.mjs → chunk-M2EDG55Y.mjs} +8 -0
  10. package/dist/{chunk-HMO6OMZ3.mjs → chunk-S6IAXOBA.mjs} +1073 -506
  11. package/dist/chunk-TGP5M5R7.mjs +880 -0
  12. package/dist/chunk-U2BKYEC7.mjs +254 -0
  13. package/dist/{chunk-MEW7HD75.mjs → chunk-XAKNSWIK.mjs} +2543 -1154
  14. package/dist/{config-CojEPOgS.d.ts → config-P27AtSn4.d.ts} +28 -7
  15. package/dist/direct-executor-2FV3MEDD.mjs +5 -0
  16. package/dist/distribution/coordinator/etcd.d.ts +2 -2
  17. package/dist/distribution/coordinator/etcd.mjs +2 -2
  18. package/dist/distribution/coordinator/in-memory.d.ts +2 -2
  19. package/dist/distribution.d.ts +10 -4
  20. package/dist/distribution.mjs +1875 -1772
  21. package/dist/embeddings/openai.mjs +1 -1
  22. package/dist/index.browser.mjs +4566 -1783
  23. package/dist/index.d.ts +14 -5
  24. package/dist/index.mjs +6 -5
  25. package/dist/{language-ONQ3iVDf.d.ts → language-CmJBHf1j.d.ts} +4 -1
  26. package/dist/languages/albanian.d.ts +5 -0
  27. package/dist/languages/albanian.mjs +103 -0
  28. package/dist/languages/amharic.d.ts +5 -0
  29. package/dist/languages/amharic.mjs +240 -0
  30. package/dist/languages/arabic.d.ts +1 -1
  31. package/dist/languages/arabic.mjs +939 -154
  32. package/dist/languages/armenian.d.ts +1 -1
  33. package/dist/languages/armenian.mjs +275 -243
  34. package/dist/languages/azerbaijani.d.ts +5 -0
  35. package/dist/languages/azerbaijani.mjs +152 -0
  36. package/dist/languages/bambara.d.ts +5 -0
  37. package/dist/languages/bambara.mjs +60 -0
  38. package/dist/languages/basque.d.ts +5 -0
  39. package/dist/languages/basque.mjs +726 -0
  40. package/dist/languages/belarusian.d.ts +5 -0
  41. package/dist/languages/belarusian.mjs +100 -0
  42. package/dist/languages/bengali.d.ts +5 -0
  43. package/dist/languages/bengali.mjs +128 -0
  44. package/dist/languages/bosnian.d.ts +5 -0
  45. package/dist/languages/bosnian.mjs +197 -0
  46. package/dist/languages/breton.d.ts +5 -0
  47. package/dist/languages/breton.mjs +96 -0
  48. package/dist/languages/bulgarian.d.ts +1 -1
  49. package/dist/languages/bulgarian.mjs +11 -2
  50. package/dist/languages/burmese.d.ts +5 -0
  51. package/dist/languages/burmese.mjs +57 -0
  52. package/dist/languages/catalan.d.ts +5 -0
  53. package/dist/languages/catalan.mjs +987 -0
  54. package/dist/languages/chinese.d.ts +1 -1
  55. package/dist/languages/chinese.mjs +4 -3
  56. package/dist/languages/croatian.d.ts +5 -0
  57. package/dist/languages/croatian.mjs +191 -0
  58. package/dist/languages/czech.d.ts +5 -0
  59. package/dist/languages/czech.mjs +628 -0
  60. package/dist/languages/dagbani.d.ts +1 -1
  61. package/dist/languages/dagbani.mjs +11 -2
  62. package/dist/languages/danish.d.ts +1 -1
  63. package/dist/languages/danish.mjs +215 -110
  64. package/dist/languages/dutch.d.ts +1 -1
  65. package/dist/languages/dutch.mjs +1248 -163
  66. package/dist/languages/english.d.ts +1 -1
  67. package/dist/languages/english.mjs +2 -1
  68. package/dist/languages/esperanto.d.ts +5 -0
  69. package/dist/languages/esperanto.mjs +689 -0
  70. package/dist/languages/estonian.d.ts +5 -0
  71. package/dist/languages/estonian.mjs +2160 -0
  72. package/dist/languages/ewe.d.ts +1 -1
  73. package/dist/languages/ewe.mjs +11 -2
  74. package/dist/languages/faroese.d.ts +5 -0
  75. package/dist/languages/faroese.mjs +93 -0
  76. package/dist/languages/fijian.d.ts +5 -0
  77. package/dist/languages/fijian.mjs +55 -0
  78. package/dist/languages/finnish.d.ts +1 -1
  79. package/dist/languages/finnish.mjs +528 -263
  80. package/dist/languages/french.d.ts +1 -1
  81. package/dist/languages/french.mjs +950 -437
  82. package/dist/languages/ga.d.ts +1 -1
  83. package/dist/languages/ga.mjs +2 -1
  84. package/dist/languages/galician.d.ts +5 -0
  85. package/dist/languages/galician.mjs +172 -0
  86. package/dist/languages/georgian.d.ts +5 -0
  87. package/dist/languages/georgian.mjs +91 -0
  88. package/dist/languages/german.d.ts +1 -1
  89. package/dist/languages/german.mjs +432 -162
  90. package/dist/languages/greek.d.ts +1 -1
  91. package/dist/languages/greek.mjs +1970 -281
  92. package/dist/languages/guarani.d.ts +5 -0
  93. package/dist/languages/guarani.mjs +132 -0
  94. package/dist/languages/gujarati.d.ts +5 -0
  95. package/dist/languages/gujarati.mjs +234 -0
  96. package/dist/languages/haitian-creole.d.ts +5 -0
  97. package/dist/languages/haitian-creole.mjs +106 -0
  98. package/dist/languages/hausa.d.ts +1 -1
  99. package/dist/languages/hausa.mjs +2 -1
  100. package/dist/languages/hawaiian.d.ts +5 -0
  101. package/dist/languages/hawaiian.mjs +69 -0
  102. package/dist/languages/hebrew.d.ts +5 -0
  103. package/dist/languages/hebrew.mjs +213 -0
  104. package/dist/languages/hindi.d.ts +1 -1
  105. package/dist/languages/hindi.mjs +175 -97
  106. package/dist/languages/hungarian.d.ts +1 -1
  107. package/dist/languages/hungarian.mjs +412 -326
  108. package/dist/languages/icelandic.d.ts +5 -0
  109. package/dist/languages/icelandic.mjs +161 -0
  110. package/dist/languages/igbo.d.ts +1 -1
  111. package/dist/languages/igbo.mjs +2 -1
  112. package/dist/languages/indonesian.d.ts +1 -1
  113. package/dist/languages/indonesian.mjs +329 -137
  114. package/dist/languages/irish.d.ts +1 -1
  115. package/dist/languages/irish.mjs +223 -139
  116. package/dist/languages/italian.d.ts +1 -1
  117. package/dist/languages/italian.mjs +703 -406
  118. package/dist/languages/japanese.d.ts +1 -1
  119. package/dist/languages/japanese.mjs +5 -108
  120. package/dist/languages/kannada.d.ts +5 -0
  121. package/dist/languages/kannada.mjs +94 -0
  122. package/dist/languages/kazakh.d.ts +5 -0
  123. package/dist/languages/kazakh.mjs +90 -0
  124. package/dist/languages/khmer.d.ts +5 -0
  125. package/dist/languages/khmer.mjs +181 -0
  126. package/dist/languages/kinyarwanda.d.ts +5 -0
  127. package/dist/languages/kinyarwanda.mjs +99 -0
  128. package/dist/languages/kirundi.d.ts +5 -0
  129. package/dist/languages/kirundi.mjs +92 -0
  130. package/dist/languages/korean.d.ts +5 -0
  131. package/dist/languages/korean.mjs +252 -0
  132. package/dist/languages/kurmanji.d.ts +5 -0
  133. package/dist/languages/kurmanji.mjs +50 -0
  134. package/dist/languages/kyrgyz.d.ts +5 -0
  135. package/dist/languages/kyrgyz.mjs +108 -0
  136. package/dist/languages/lao.d.ts +5 -0
  137. package/dist/languages/lao.mjs +63 -0
  138. package/dist/languages/latin.d.ts +5 -0
  139. package/dist/languages/latin.mjs +69 -0
  140. package/dist/languages/latvian.d.ts +5 -0
  141. package/dist/languages/latvian.mjs +173 -0
  142. package/dist/languages/lingala.d.ts +5 -0
  143. package/dist/languages/lingala.mjs +61 -0
  144. package/dist/languages/lithuanian.d.ts +5 -0
  145. package/dist/languages/lithuanian.mjs +571 -0
  146. package/dist/languages/luxembourgish.d.ts +5 -0
  147. package/dist/languages/luxembourgish.mjs +214 -0
  148. package/dist/languages/macedonian.d.ts +5 -0
  149. package/dist/languages/macedonian.mjs +808 -0
  150. package/dist/languages/malagasy.d.ts +5 -0
  151. package/dist/languages/malagasy.mjs +67 -0
  152. package/dist/languages/malay.d.ts +5 -0
  153. package/dist/languages/malay.mjs +482 -0
  154. package/dist/languages/malayalam.d.ts +5 -0
  155. package/dist/languages/malayalam.mjs +122 -0
  156. package/dist/languages/maltese.d.ts +5 -0
  157. package/dist/languages/maltese.mjs +139 -0
  158. package/dist/languages/maori.d.ts +5 -0
  159. package/dist/languages/maori.mjs +79 -0
  160. package/dist/languages/marathi.d.ts +5 -0
  161. package/dist/languages/marathi.mjs +111 -0
  162. package/dist/languages/nepali.d.ts +1 -1
  163. package/dist/languages/nepali.mjs +209 -99
  164. package/dist/languages/norwegian.d.ts +1 -1
  165. package/dist/languages/norwegian.mjs +218 -85
  166. package/dist/languages/oromo.d.ts +5 -0
  167. package/dist/languages/oromo.mjs +78 -0
  168. package/dist/languages/persian.d.ts +5 -0
  169. package/dist/languages/persian.mjs +710 -0
  170. package/dist/languages/polish.d.ts +5 -0
  171. package/dist/languages/polish.mjs +614 -0
  172. package/dist/languages/portuguese.d.ts +1 -1
  173. package/dist/languages/portuguese.mjs +613 -380
  174. package/dist/languages/punjabi.d.ts +5 -0
  175. package/dist/languages/punjabi.mjs +197 -0
  176. package/dist/languages/romanian.d.ts +1 -1
  177. package/dist/languages/romanian.mjs +561 -382
  178. package/dist/languages/russian.d.ts +1 -1
  179. package/dist/languages/russian.mjs +373 -244
  180. package/dist/languages/samoan.d.ts +5 -0
  181. package/dist/languages/samoan.mjs +63 -0
  182. package/dist/languages/sanskrit.d.ts +1 -1
  183. package/dist/languages/sanskrit.mjs +2 -2
  184. package/dist/languages/scottish-gaelic.d.ts +5 -0
  185. package/dist/languages/scottish-gaelic.mjs +370 -0
  186. package/dist/languages/serbian.d.ts +1 -1
  187. package/dist/languages/serbian.mjs +3635 -155
  188. package/dist/languages/shona.d.ts +5 -0
  189. package/dist/languages/shona.mjs +91 -0
  190. package/dist/languages/sinhala.d.ts +5 -0
  191. package/dist/languages/sinhala.mjs +182 -0
  192. package/dist/languages/slovak.d.ts +5 -0
  193. package/dist/languages/slovak.mjs +430 -0
  194. package/dist/languages/slovenian.d.ts +1 -1
  195. package/dist/languages/slovenian.mjs +11 -2
  196. package/dist/languages/sorani.d.ts +5 -0
  197. package/dist/languages/sorani.mjs +156 -0
  198. package/dist/languages/spanish.d.ts +1 -1
  199. package/dist/languages/spanish.mjs +676 -374
  200. package/dist/languages/swahili.d.ts +1 -1
  201. package/dist/languages/swahili.mjs +2 -1
  202. package/dist/languages/swedish.d.ts +1 -1
  203. package/dist/languages/swedish.mjs +237 -95
  204. package/dist/languages/tagalog.d.ts +5 -0
  205. package/dist/languages/tagalog.mjs +159 -0
  206. package/dist/languages/tamil.d.ts +1 -1
  207. package/dist/languages/tamil.mjs +836 -64
  208. package/dist/languages/tatar.d.ts +5 -0
  209. package/dist/languages/tatar.mjs +1017 -0
  210. package/dist/languages/telugu.d.ts +5 -0
  211. package/dist/languages/telugu.mjs +62 -0
  212. package/dist/languages/thai.d.ts +5 -0
  213. package/dist/languages/thai.mjs +65 -0
  214. package/dist/languages/tibetan.d.ts +5 -0
  215. package/dist/languages/tibetan.mjs +119 -0
  216. package/dist/languages/tigrinya.d.ts +5 -0
  217. package/dist/languages/tigrinya.mjs +194 -0
  218. package/dist/languages/tongan.d.ts +5 -0
  219. package/dist/languages/tongan.mjs +56 -0
  220. package/dist/languages/turkish.d.ts +1 -1
  221. package/dist/languages/turkish.mjs +1246 -393
  222. package/dist/languages/twi.d.ts +1 -1
  223. package/dist/languages/twi.mjs +13 -2
  224. package/dist/languages/ukrainian.d.ts +1 -1
  225. package/dist/languages/ukrainian.mjs +125 -47
  226. package/dist/languages/urdu.d.ts +5 -0
  227. package/dist/languages/urdu.mjs +528 -0
  228. package/dist/languages/vietnamese.d.ts +5 -0
  229. package/dist/languages/vietnamese.mjs +277 -0
  230. package/dist/languages/welsh.d.ts +5 -0
  231. package/dist/languages/welsh.mjs +446 -0
  232. package/dist/languages/wolof.d.ts +5 -0
  233. package/dist/languages/wolof.mjs +79 -0
  234. package/dist/languages/xhosa.d.ts +5 -0
  235. package/dist/languages/xhosa.mjs +95 -0
  236. package/dist/languages/yoruba.d.ts +1 -1
  237. package/dist/languages/yoruba.mjs +1 -0
  238. package/dist/languages/zulu.d.ts +1 -1
  239. package/dist/languages/zulu.mjs +2 -1
  240. package/dist/narsil-CMZRPDlQ.d.ts +159 -0
  241. package/dist/persistence/durability/checkpoint-worker.d.ts +13 -0
  242. package/dist/persistence/durability/checkpoint-worker.mjs +6 -5
  243. package/dist/{schema-DCgkO1j4.d.ts → schema-BnvLvjRp.d.ts} +5 -3
  244. package/dist/server.d.ts +12 -3
  245. package/dist/server.mjs +183 -64
  246. package/dist/{types-DHX6zGeD.d.ts → types-BRTcBgAp.d.ts} +1 -1
  247. package/dist/workers/entry.mjs +2 -2
  248. package/package.json +10 -3
  249. package/dist/chunk-TW6BXTOL.mjs +0 -338
  250. package/dist/direct-executor-E52FFGDE.mjs +0 -4
  251. package/dist/narsil-D-84Nvm4.d.ts +0 -72
@@ -0,0 +1,880 @@
1
+ import { BaseStemmer } from './chunk-U2BKYEC7.mjs';
2
+
3
+ // src/languages/snowball/english.ts
4
+ var a_0 = [
5
+ ["arsen", -1],
6
+ ["commun", -1],
7
+ ["emerg", -1],
8
+ ["gener", -1],
9
+ ["inter", -1],
10
+ ["later", -1],
11
+ ["organ", -1],
12
+ ["past", -1],
13
+ ["univers", -1]
14
+ ];
15
+ var a_1 = [
16
+ ["'", 1],
17
+ ["'s'", 1, 1],
18
+ ["'s", 1]
19
+ ];
20
+ var a_2 = [
21
+ ["ied", 2],
22
+ ["s", 3],
23
+ ["ies", 2, 1],
24
+ ["sses", 1, 2],
25
+ ["ss", -1, 3],
26
+ ["us", -1, 4]
27
+ ];
28
+ var a_3 = [
29
+ ["succ", 1],
30
+ ["proc", 1],
31
+ ["exc", 1]
32
+ ];
33
+ var a_4 = [
34
+ ["even", 2],
35
+ ["cann", 2],
36
+ ["inn", 2],
37
+ ["earr", 2],
38
+ ["herr", 2],
39
+ ["out", 2],
40
+ ["y", 1]
41
+ ];
42
+ var a_5 = [
43
+ ["", -1],
44
+ ["ed", 2, 1],
45
+ ["eed", 1, 1],
46
+ ["ing", 3, 3],
47
+ ["edly", 2, 4],
48
+ ["eedly", 1, 1],
49
+ ["ingly", 2, 6]
50
+ ];
51
+ var a_6 = [
52
+ ["", 3],
53
+ ["bb", 2, 1],
54
+ ["dd", 2, 2],
55
+ ["ff", 2, 3],
56
+ ["gg", 2, 4],
57
+ ["bl", 1, 5],
58
+ ["mm", 2, 6],
59
+ ["nn", 2, 7],
60
+ ["pp", 2, 8],
61
+ ["rr", 2, 9],
62
+ ["at", 1, 10],
63
+ ["tt", 2, 11],
64
+ ["iz", 1, 12]
65
+ ];
66
+ var a_7 = [
67
+ ["anci", 3],
68
+ ["enci", 2],
69
+ ["ogi", 14],
70
+ ["li", 16],
71
+ ["bli", 12, 1],
72
+ ["abli", 4, 1],
73
+ ["alli", 8, 3],
74
+ ["fulli", 9, 4],
75
+ ["lessli", 15, 5],
76
+ ["ousli", 10, 6],
77
+ ["entli", 5, 7],
78
+ ["aliti", 8],
79
+ ["biliti", 12],
80
+ ["iviti", 11],
81
+ ["tional", 1],
82
+ ["ational", 7, 1],
83
+ ["alism", 8],
84
+ ["ation", 7],
85
+ ["ization", 6, 1],
86
+ ["izer", 6],
87
+ ["ator", 7],
88
+ ["iveness", 11],
89
+ ["fulness", 9],
90
+ ["ousness", 10],
91
+ ["ogist", 13]
92
+ ];
93
+ var a_8 = [
94
+ ["icate", 4],
95
+ ["ative", 6],
96
+ ["alize", 3],
97
+ ["iciti", 4],
98
+ ["ical", 4],
99
+ ["tional", 1],
100
+ ["ational", 2, 1],
101
+ ["ful", 5],
102
+ ["ness", 5]
103
+ ];
104
+ var a_9 = [
105
+ ["ic", 1],
106
+ ["ance", 1],
107
+ ["ence", 1],
108
+ ["able", 1],
109
+ ["ible", 1],
110
+ ["ate", 1],
111
+ ["ive", 1],
112
+ ["ize", 1],
113
+ ["iti", 1],
114
+ ["al", 1],
115
+ ["ism", 1],
116
+ ["ion", 2],
117
+ ["er", 1],
118
+ ["ous", 1],
119
+ ["ant", 1],
120
+ ["ent", 1],
121
+ ["ment", 1, 1],
122
+ ["ement", 1, 1]
123
+ ];
124
+ var a_10 = [
125
+ ["e", 1],
126
+ ["l", 2]
127
+ ];
128
+ var a_11 = [
129
+ ["andes", -1],
130
+ ["atlas", -1],
131
+ ["bias", -1],
132
+ ["cosmos", -1],
133
+ ["early", 6],
134
+ ["gently", 4],
135
+ ["howe", -1],
136
+ ["idly", 3],
137
+ ["news", -1],
138
+ ["only", 7],
139
+ ["singly", 8],
140
+ ["skies", 2],
141
+ ["skis", 1],
142
+ ["sky", -1],
143
+ ["ugly", 5]
144
+ ];
145
+ var as_11 = ["ski", "sky", "idl", "gentl", "ugli", "earli", "onli", "singl"];
146
+ var g_aeo = [17, 64];
147
+ var g_v = [17, 65, 16, 1];
148
+ var g_v_WXY = [1, 17, 65, 208, 1];
149
+ var g_valid_LI = [55, 141, 2];
150
+ var EnglishStemmer = class extends BaseStemmer {
151
+ #r_shortv() {
152
+ lab0: {
153
+ const v_1 = this.limit - this.c;
154
+ lab1: {
155
+ if (!this.out_grouping_b(g_v_WXY, 89, 121)) break lab1;
156
+ if (!this.in_grouping_b(g_v, 97, 121)) break lab1;
157
+ if (!this.out_grouping_b(g_v, 97, 121)) break lab1;
158
+ break lab0;
159
+ }
160
+ this.c = this.limit - v_1;
161
+ lab2: {
162
+ if (!this.out_grouping_b(g_v, 97, 121)) break lab2;
163
+ if (!this.in_grouping_b(g_v, 97, 121)) break lab2;
164
+ if (
165
+ /**@type {boolean}*/
166
+ this.c > this.limit_backward
167
+ ) break lab2;
168
+ break lab0;
169
+ }
170
+ this.c = this.limit - v_1;
171
+ if (!this.eq_s_b("past")) return false;
172
+ }
173
+ return true;
174
+ }
175
+ #stem() {
176
+ let a;
177
+ let B_Y_found;
178
+ let I_p2;
179
+ let I_p1;
180
+ lab0: {
181
+ const v_1 = this.c;
182
+ lab1: {
183
+ this.bra = this.c;
184
+ a = this.find_among(a_11);
185
+ if (a === 0) break lab1;
186
+ this.ket = this.c;
187
+ if (
188
+ /**@type {boolean}*/
189
+ this.c < this.limit
190
+ ) break lab1;
191
+ if (a > 0) {
192
+ this.slice_from(as_11[a - 1]);
193
+ }
194
+ break lab0;
195
+ }
196
+ this.c = v_1;
197
+ lab2: {
198
+ lab3: {
199
+ if (this.c + 3 > this.limit) break lab3;
200
+ this.c += 3;
201
+ break lab2;
202
+ }
203
+ break lab0;
204
+ }
205
+ this.c = v_1;
206
+ {
207
+ B_Y_found = false;
208
+ const v_2 = this.c;
209
+ lab5: {
210
+ this.bra = this.c;
211
+ if (!this.eq_s("'")) break lab5;
212
+ this.ket = this.c;
213
+ this.slice_del();
214
+ }
215
+ this.c = v_2;
216
+ const v_3 = this.c;
217
+ lab6: {
218
+ this.bra = this.c;
219
+ if (!this.eq_s("y")) break lab6;
220
+ this.ket = this.c;
221
+ this.slice_from("Y");
222
+ B_Y_found = true;
223
+ }
224
+ this.c = v_3;
225
+ const v_4 = this.c;
226
+ while (true) {
227
+ const v_5 = this.c;
228
+ lab8: {
229
+ while (true) {
230
+ const v_6 = this.c;
231
+ lab10: {
232
+ if (!this.in_grouping(g_v, 97, 121)) break lab10;
233
+ this.bra = this.c;
234
+ if (!this.eq_s("y")) break lab10;
235
+ this.ket = this.c;
236
+ this.c = v_6;
237
+ break;
238
+ }
239
+ this.c = v_6;
240
+ if (this.c >= this.limit) break lab8;
241
+ this.c++;
242
+ }
243
+ this.slice_from("Y");
244
+ B_Y_found = true;
245
+ continue;
246
+ }
247
+ this.c = v_5;
248
+ break;
249
+ }
250
+ this.c = v_4;
251
+ }
252
+ {
253
+ I_p1 = this.limit;
254
+ I_p2 = this.limit;
255
+ const v_7 = this.c;
256
+ lab12: {
257
+ lab13: {
258
+ const v_8 = this.c;
259
+ lab14: {
260
+ if (this.find_among(a_0) === 0) break lab14;
261
+ break lab13;
262
+ }
263
+ this.c = v_8;
264
+ if (!this.go_out_grouping(g_v, 97, 121)) break lab12;
265
+ this.c++;
266
+ if (!this.go_in_grouping(g_v, 97, 121)) break lab12;
267
+ this.c++;
268
+ }
269
+ I_p1 = this.c;
270
+ if (!this.go_out_grouping(g_v, 97, 121)) break lab12;
271
+ this.c++;
272
+ if (!this.go_in_grouping(g_v, 97, 121)) break lab12;
273
+ this.c++;
274
+ I_p2 = this.c;
275
+ }
276
+ this.c = v_7;
277
+ }
278
+ this.limit_backward = this.c;
279
+ this.c = this.limit;
280
+ const v_9 = this.limit - this.c;
281
+ lab15: {
282
+ const v_10 = this.limit - this.c;
283
+ lab16: {
284
+ this.ket = this.c;
285
+ if (this.find_among_b(a_1) === 0) {
286
+ this.c = this.limit - v_10;
287
+ break lab16;
288
+ }
289
+ this.bra = this.c;
290
+ this.slice_del();
291
+ }
292
+ this.ket = this.c;
293
+ a = this.find_among_b(a_2);
294
+ if (a === 0) break lab15;
295
+ this.bra = this.c;
296
+ switch (a) {
297
+ case 1: {
298
+ this.slice_from("ss");
299
+ break;
300
+ }
301
+ case 2: {
302
+ lab17: {
303
+ const v_11 = this.limit - this.c;
304
+ lab18: {
305
+ if (this.c - 2 < this.limit_backward) break lab18;
306
+ this.c -= 2;
307
+ this.slice_from("i");
308
+ break lab17;
309
+ }
310
+ this.c = this.limit - v_11;
311
+ this.slice_from("ie");
312
+ }
313
+ break;
314
+ }
315
+ case 3: {
316
+ if (this.c <= this.limit_backward) break lab15;
317
+ this.c--;
318
+ if (!this.go_out_grouping_b(g_v, 97, 121)) break lab15;
319
+ this.c--;
320
+ this.slice_del();
321
+ break;
322
+ }
323
+ }
324
+ }
325
+ this.c = this.limit - v_9;
326
+ const v_12 = this.limit - this.c;
327
+ lab19: {
328
+ this.ket = this.c;
329
+ a = this.find_among_b(a_5);
330
+ this.bra = this.c;
331
+ lab20: {
332
+ const v_13 = this.limit - this.c;
333
+ lab21: {
334
+ switch (a) {
335
+ case 1: {
336
+ const v_14 = this.limit - this.c;
337
+ lab22: {
338
+ if (
339
+ /**@type {boolean}*/
340
+ I_p1 > this.c
341
+ ) break lab22;
342
+ lab23: {
343
+ const v_15 = this.limit - this.c;
344
+ lab24: {
345
+ if (this.find_among_b(a_3) === 0) break lab24;
346
+ if (
347
+ /**@type {boolean}*/
348
+ this.c > this.limit_backward
349
+ ) break lab24;
350
+ break lab23;
351
+ }
352
+ this.c = this.limit - v_15;
353
+ this.slice_from("ee");
354
+ }
355
+ }
356
+ this.c = this.limit - v_14;
357
+ break;
358
+ }
359
+ case 2: {
360
+ break lab21;
361
+ }
362
+ case 3: {
363
+ a = this.find_among_b(a_4);
364
+ if (a === 0) break lab21;
365
+ switch (a) {
366
+ case 1: {
367
+ const v_16 = this.limit - this.c;
368
+ if (!this.out_grouping_b(g_v, 97, 121)) break lab21;
369
+ if (
370
+ /**@type {boolean}*/
371
+ this.c > this.limit_backward
372
+ ) break lab21;
373
+ this.c = this.limit - v_16;
374
+ this.bra = this.c;
375
+ this.slice_from("ie");
376
+ break;
377
+ }
378
+ case 2: {
379
+ if (
380
+ /**@type {boolean}*/
381
+ this.c > this.limit_backward
382
+ ) break lab21;
383
+ break;
384
+ }
385
+ }
386
+ break;
387
+ }
388
+ }
389
+ break lab20;
390
+ }
391
+ this.c = this.limit - v_13;
392
+ const v_17 = this.limit - this.c;
393
+ if (!this.go_out_grouping_b(g_v, 97, 121)) break lab19;
394
+ this.c--;
395
+ this.c = this.limit - v_17;
396
+ this.slice_del();
397
+ this.ket = this.c;
398
+ this.bra = this.c;
399
+ const v_18 = this.limit - this.c;
400
+ a = this.find_among_b(a_6);
401
+ switch (a) {
402
+ case 1: {
403
+ this.slice_from("e");
404
+ break lab19;
405
+ }
406
+ case 2: {
407
+ {
408
+ const v_19 = this.limit - this.c;
409
+ lab25: {
410
+ if (!this.in_grouping_b(g_aeo, 97, 111)) break lab25;
411
+ if (
412
+ /**@type {boolean}*/
413
+ this.c > this.limit_backward
414
+ ) break lab25;
415
+ break lab19;
416
+ }
417
+ this.c = this.limit - v_19;
418
+ }
419
+ break;
420
+ }
421
+ case 3: {
422
+ if (
423
+ /**@type {boolean}*/
424
+ this.c !== I_p1
425
+ ) break lab19;
426
+ const v_20 = this.limit - this.c;
427
+ if (!this.#r_shortv()) break lab19;
428
+ this.c = this.limit - v_20;
429
+ this.slice_from("e");
430
+ break lab19;
431
+ }
432
+ }
433
+ this.c = this.limit - v_18;
434
+ this.ket = this.c;
435
+ if (this.c <= this.limit_backward) break lab19;
436
+ this.c--;
437
+ this.bra = this.c;
438
+ this.slice_del();
439
+ }
440
+ }
441
+ this.c = this.limit - v_12;
442
+ const v_21 = this.limit - this.c;
443
+ lab26: {
444
+ this.ket = this.c;
445
+ lab27: {
446
+ lab28: {
447
+ if (!this.eq_s_b("y")) break lab28;
448
+ break lab27;
449
+ }
450
+ if (!this.eq_s_b("Y")) break lab26;
451
+ }
452
+ this.bra = this.c;
453
+ if (!this.out_grouping_b(g_v, 97, 121)) break lab26;
454
+ if (
455
+ /**@type {boolean}*/
456
+ this.c <= this.limit_backward
457
+ ) break lab26;
458
+ this.slice_from("i");
459
+ }
460
+ this.c = this.limit - v_21;
461
+ const v_22 = this.limit - this.c;
462
+ lab29: {
463
+ this.ket = this.c;
464
+ a = this.find_among_b(a_7);
465
+ if (a === 0) break lab29;
466
+ this.bra = this.c;
467
+ if (
468
+ /**@type {boolean}*/
469
+ I_p1 > this.c
470
+ ) break lab29;
471
+ switch (a) {
472
+ case 1: {
473
+ this.slice_from("tion");
474
+ break;
475
+ }
476
+ case 2: {
477
+ this.slice_from("ence");
478
+ break;
479
+ }
480
+ case 3: {
481
+ this.slice_from("ance");
482
+ break;
483
+ }
484
+ case 4: {
485
+ this.slice_from("able");
486
+ break;
487
+ }
488
+ case 5: {
489
+ this.slice_from("ent");
490
+ break;
491
+ }
492
+ case 6: {
493
+ this.slice_from("ize");
494
+ break;
495
+ }
496
+ case 7: {
497
+ this.slice_from("ate");
498
+ break;
499
+ }
500
+ case 8: {
501
+ this.slice_from("al");
502
+ break;
503
+ }
504
+ case 9: {
505
+ this.slice_from("ful");
506
+ break;
507
+ }
508
+ case 10: {
509
+ this.slice_from("ous");
510
+ break;
511
+ }
512
+ case 11: {
513
+ this.slice_from("ive");
514
+ break;
515
+ }
516
+ case 12: {
517
+ this.slice_from("ble");
518
+ break;
519
+ }
520
+ case 13: {
521
+ this.slice_from("og");
522
+ break;
523
+ }
524
+ case 14: {
525
+ if (!this.eq_s_b("l")) break lab29;
526
+ this.slice_from("og");
527
+ break;
528
+ }
529
+ case 15: {
530
+ this.slice_from("less");
531
+ break;
532
+ }
533
+ case 16: {
534
+ if (!this.in_grouping_b(g_valid_LI, 99, 116)) break lab29;
535
+ this.slice_del();
536
+ break;
537
+ }
538
+ }
539
+ }
540
+ this.c = this.limit - v_22;
541
+ const v_23 = this.limit - this.c;
542
+ lab30: {
543
+ this.ket = this.c;
544
+ a = this.find_among_b(a_8);
545
+ if (a === 0) break lab30;
546
+ this.bra = this.c;
547
+ if (
548
+ /**@type {boolean}*/
549
+ I_p1 > this.c
550
+ ) break lab30;
551
+ switch (a) {
552
+ case 1: {
553
+ this.slice_from("tion");
554
+ break;
555
+ }
556
+ case 2: {
557
+ this.slice_from("ate");
558
+ break;
559
+ }
560
+ case 3: {
561
+ this.slice_from("al");
562
+ break;
563
+ }
564
+ case 4: {
565
+ this.slice_from("ic");
566
+ break;
567
+ }
568
+ case 5: {
569
+ this.slice_del();
570
+ break;
571
+ }
572
+ case 6: {
573
+ if (
574
+ /**@type {boolean}*/
575
+ I_p2 > this.c
576
+ ) break lab30;
577
+ this.slice_del();
578
+ break;
579
+ }
580
+ }
581
+ }
582
+ this.c = this.limit - v_23;
583
+ const v_24 = this.limit - this.c;
584
+ lab31: {
585
+ this.ket = this.c;
586
+ a = this.find_among_b(a_9);
587
+ if (a === 0) break lab31;
588
+ this.bra = this.c;
589
+ if (
590
+ /**@type {boolean}*/
591
+ I_p2 > this.c
592
+ ) break lab31;
593
+ switch (a) {
594
+ case 1: {
595
+ this.slice_del();
596
+ break;
597
+ }
598
+ case 2: {
599
+ lab32: {
600
+ lab33: {
601
+ if (!this.eq_s_b("s")) break lab33;
602
+ break lab32;
603
+ }
604
+ if (!this.eq_s_b("t")) break lab31;
605
+ }
606
+ this.slice_del();
607
+ break;
608
+ }
609
+ }
610
+ }
611
+ this.c = this.limit - v_24;
612
+ const v_25 = this.limit - this.c;
613
+ lab34: {
614
+ this.ket = this.c;
615
+ a = this.find_among_b(a_10);
616
+ if (a === 0) break lab34;
617
+ this.bra = this.c;
618
+ switch (a) {
619
+ case 1: {
620
+ lab35: {
621
+ lab36: {
622
+ if (
623
+ /**@type {boolean}*/
624
+ I_p2 > this.c
625
+ ) break lab36;
626
+ break lab35;
627
+ }
628
+ if (
629
+ /**@type {boolean}*/
630
+ I_p1 > this.c
631
+ ) break lab34;
632
+ {
633
+ const v_26 = this.limit - this.c;
634
+ lab37: {
635
+ if (!this.#r_shortv()) break lab37;
636
+ break lab34;
637
+ }
638
+ this.c = this.limit - v_26;
639
+ }
640
+ }
641
+ this.slice_del();
642
+ break;
643
+ }
644
+ case 2: {
645
+ if (
646
+ /**@type {boolean}*/
647
+ I_p2 > this.c
648
+ ) break lab34;
649
+ if (!this.eq_s_b("l")) break lab34;
650
+ this.slice_del();
651
+ break;
652
+ }
653
+ }
654
+ }
655
+ this.c = this.limit - v_25;
656
+ this.c = this.limit_backward;
657
+ const v_27 = this.c;
658
+ lab38: {
659
+ if (!B_Y_found) break lab38;
660
+ while (true) {
661
+ const v_28 = this.c;
662
+ lab39: {
663
+ while (true) {
664
+ const v_29 = this.c;
665
+ lab41: {
666
+ this.bra = this.c;
667
+ if (!this.eq_s("Y")) break lab41;
668
+ this.ket = this.c;
669
+ this.c = v_29;
670
+ break;
671
+ }
672
+ this.c = v_29;
673
+ if (this.c >= this.limit) break lab39;
674
+ this.c++;
675
+ }
676
+ this.slice_from("y");
677
+ continue;
678
+ }
679
+ this.c = v_28;
680
+ break;
681
+ }
682
+ }
683
+ this.c = v_27;
684
+ }
685
+ return true;
686
+ }
687
+ stem(input) {
688
+ this.setCurrent(input);
689
+ this.#stem();
690
+ return this.getCurrent();
691
+ }
692
+ };
693
+ var shared = new EnglishStemmer();
694
+ function stem(token) {
695
+ return shared.stem(token);
696
+ }
697
+
698
+ // src/languages/english.ts
699
+ var stopWords = /* @__PURE__ */ new Set([
700
+ "a",
701
+ "an",
702
+ "the",
703
+ "i",
704
+ "me",
705
+ "my",
706
+ "myself",
707
+ "we",
708
+ "us",
709
+ "our",
710
+ "ours",
711
+ "ourselves",
712
+ "you",
713
+ "your",
714
+ "yours",
715
+ "yourself",
716
+ "yourselves",
717
+ "he",
718
+ "him",
719
+ "his",
720
+ "himself",
721
+ "she",
722
+ "her",
723
+ "hers",
724
+ "herself",
725
+ "it",
726
+ "its",
727
+ "itself",
728
+ "they",
729
+ "them",
730
+ "their",
731
+ "theirs",
732
+ "themselves",
733
+ "what",
734
+ "which",
735
+ "who",
736
+ "whom",
737
+ "this",
738
+ "that",
739
+ "these",
740
+ "those",
741
+ "am",
742
+ "is",
743
+ "are",
744
+ "was",
745
+ "were",
746
+ "be",
747
+ "been",
748
+ "being",
749
+ "have",
750
+ "has",
751
+ "had",
752
+ "having",
753
+ "do",
754
+ "does",
755
+ "did",
756
+ "doing",
757
+ "will",
758
+ "would",
759
+ "shall",
760
+ "should",
761
+ "can",
762
+ "could",
763
+ "may",
764
+ "might",
765
+ "must",
766
+ "ought",
767
+ "i'm",
768
+ "you're",
769
+ "we're",
770
+ "they're",
771
+ "i've",
772
+ "you've",
773
+ "we've",
774
+ "they've",
775
+ "i'd",
776
+ "you'd",
777
+ "he'd",
778
+ "she'd",
779
+ "we'd",
780
+ "they'd",
781
+ "i'll",
782
+ "you'll",
783
+ "he'll",
784
+ "she'll",
785
+ "we'll",
786
+ "they'll",
787
+ "isn't",
788
+ "aren't",
789
+ "wasn't",
790
+ "weren't",
791
+ "hasn't",
792
+ "haven't",
793
+ "hadn't",
794
+ "doesn't",
795
+ "don't",
796
+ "didn't",
797
+ "won't",
798
+ "wouldn't",
799
+ "shan't",
800
+ "shouldn't",
801
+ "can't",
802
+ "cannot",
803
+ "couldn't",
804
+ "mustn't",
805
+ "and",
806
+ "but",
807
+ "if",
808
+ "or",
809
+ "because",
810
+ "as",
811
+ "until",
812
+ "while",
813
+ "of",
814
+ "at",
815
+ "by",
816
+ "for",
817
+ "with",
818
+ "about",
819
+ "against",
820
+ "between",
821
+ "into",
822
+ "through",
823
+ "during",
824
+ "before",
825
+ "after",
826
+ "above",
827
+ "below",
828
+ "to",
829
+ "from",
830
+ "up",
831
+ "down",
832
+ "in",
833
+ "out",
834
+ "on",
835
+ "off",
836
+ "over",
837
+ "under",
838
+ "again",
839
+ "further",
840
+ "then",
841
+ "once",
842
+ "here",
843
+ "there",
844
+ "when",
845
+ "where",
846
+ "why",
847
+ "how",
848
+ "all",
849
+ "any",
850
+ "both",
851
+ "each",
852
+ "few",
853
+ "more",
854
+ "most",
855
+ "other",
856
+ "some",
857
+ "such",
858
+ "no",
859
+ "nor",
860
+ "not",
861
+ "only",
862
+ "own",
863
+ "same",
864
+ "so",
865
+ "than",
866
+ "too",
867
+ "very"
868
+ ]);
869
+ var english = {
870
+ name: "english",
871
+ revision: "ebae3448ae674b59",
872
+ stemmer: stem,
873
+ stopWords,
874
+ tokenizer: {
875
+ splitPattern: /[^\p{L}\p{M}\p{N}_']+/u,
876
+ stripPossessive: true
877
+ }
878
+ };
879
+
880
+ export { english };