@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,710 @@
1
+ import { withNormalisedSpellings } from '../chunk-GHJWC2E5.mjs';
2
+ import { BaseStemmer } from '../chunk-U2BKYEC7.mjs';
3
+
4
+ // src/languages/snowball/persian.ts
5
+ var a_0 = [
6
+ ["", 7],
7
+ [" ", 6, 1],
8
+ ["\u0623", 4, 2],
9
+ ["\u0624", 5, 3],
10
+ ["\u0625", 4, 4],
11
+ ["\u0626", 2, 5],
12
+ ["\u0629", 3, 6],
13
+ ["\u0643", 1, 7],
14
+ ["\u064A", 2, 8],
15
+ ["\u06C1", 3, 9],
16
+ ["\u200D", 6, 10]
17
+ ];
18
+ var a_1 = [
19
+ ["\u0645\u06CC\u200C", 2],
20
+ ["\u0646\u0645\u06CC\u200C", 1]
21
+ ];
22
+ var a_2 = [
23
+ ["\u0633\u062A\u0627\u0646", -1],
24
+ ["\u0631\u0627\u0646", -1],
25
+ ["\u0633\u0627\u0646", -1],
26
+ ["\u0648\u0627\u0646", -1]
27
+ ];
28
+ var a_3 = [
29
+ ["\u0622\u0630\u0631\u0628\u0627\u06CC\u062C\u0627\u0646", 1],
30
+ ["\u0647\u0645\u062F\u0627\u0646", 1],
31
+ ["\u062E\u0627\u0646\u062F\u0627\u0646", 1],
32
+ ["\u0632\u0646\u062F\u0627\u0646", 1],
33
+ ["\u0645\u06CC\u0632\u0627\u0646", 1],
34
+ ["\u062F\u0631\u062E\u0634\u0627\u0646", 1],
35
+ ["\u0622\u062A\u0634\u0641\u0634\u0627\u0646", 1],
36
+ ["\u0646\u0634\u0627\u0646", 1],
37
+ ["\u06A9\u0647\u06A9\u0634\u0627\u0646", 1],
38
+ ["\u0627\u06CC\u0634\u0627\u0646", 1],
39
+ ["\u067E\u0631\u06CC\u0634\u0627\u0646", 1],
40
+ ["\u0633\u0644\u0637\u0627\u0646", 1],
41
+ ["\u06AF\u06CC\u0644\u0627\u0646", 1],
42
+ ["\u0633\u0627\u062E\u062A\u0645\u0627\u0646", 1],
43
+ ["\u0631\u0645\u0627\u0646", 1],
44
+ ["\u062F\u0631\u0645\u0627\u0646", 1, 1],
45
+ ["\u0642\u0647\u0631\u0645\u0627\u0646", 1, 2],
46
+ ["\u06A9\u0631\u0645\u0627\u0646", 1, 3],
47
+ ["\u0633\u0627\u0632\u0645\u0627\u0646", 1],
48
+ ["\u0647\u0645\u0632\u0645\u0627\u0646", 1],
49
+ ["\u0622\u0633\u0645\u0627\u0646", 1],
50
+ ["\u0622\u0644\u0645\u0627\u0646", 1],
51
+ ["\u0645\u0633\u0644\u0645\u0627\u0646", 1],
52
+ ["\u0627\u06CC\u0645\u0627\u0646", 1],
53
+ ["\u0633\u0644\u06CC\u0645\u0627\u0646", 1],
54
+ ["\u067E\u06CC\u0645\u0627\u0646", 1],
55
+ ["\u0644\u0628\u0646\u0627\u0646", 1],
56
+ ["\u06CC\u0648\u0646\u0627\u0646", 1],
57
+ ["\u0627\u0635\u0641\u0647\u0627\u0646", 1],
58
+ ["\u0627\u0645\u06A9\u0627\u0646", 1],
59
+ ["\u067E\u0627\u06CC\u0627\u0646", 1],
60
+ ["\u0628\u06CC\u0627\u0646", 1],
61
+ ["\u062C\u0631\u06CC\u0627\u0646", 1]
62
+ ];
63
+ var a_4 = [
64
+ ["\u0627\u0633\u0627\u062A\u06CC\u062F", 2],
65
+ ["\u0627\u062E\u0628\u0627\u0631", 1]
66
+ ];
67
+ var as_4 = ["\u062E\u0628\u0631", "\u0627\u0633\u062A\u0627\u062F"];
68
+ var a_5 = [
69
+ ["\u0647\u0627", 1],
70
+ ["\u0627\u062A", 1],
71
+ ["\u06CC\u062A", 1],
72
+ ["\u0645\u0646\u062F", 1],
73
+ ["\u0648\u0627\u0631", 1],
74
+ ["\u06AF\u0627\u0631", 1],
75
+ ["\u062A\u0631", 2],
76
+ ["\u0627\u0634", 1],
77
+ ["\u0627\u0645", 1],
78
+ ["\u0627\u0646", 1],
79
+ ["\u0628\u0627\u0646", 1, 1],
80
+ ["\u06AF\u0627\u0646", 1, 2],
81
+ ["\u06CC\u0627\u0646", 1, 3],
82
+ ["\u06CC\u0646", 1],
83
+ ["\u062A\u0631\u06CC\u0646", 1, 1],
84
+ ["\u06AF\u0627\u0647", 1],
85
+ ["\u0627\u0646\u0647", 1],
86
+ ["\u0646\u0627\u06A9", 1],
87
+ ["\u0647\u0627\u06CC", 1],
88
+ ["\u0627\u0646\u06CC", 1],
89
+ ["\u06AF\u06CC", 1],
90
+ ["\u06CC\u06CC", 1]
91
+ ];
92
+ var a_6 = [
93
+ ["\u0627\u0633\u062A", 1],
94
+ ["\u0627\u0646\u062F", 1],
95
+ ["\u06CC\u062F", 1],
96
+ ["\u0627\u06CC\u062F", 1, 1],
97
+ ["\u0627\u0633", 1],
98
+ ["\u06CC\u0645", 1],
99
+ ["\u0627\u06CC\u0645", 1, 1],
100
+ ["\u0627\u06CC", 1]
101
+ ];
102
+ var a_7 = [
103
+ ["\u062F", 1],
104
+ ["\u0627\u0646\u062F", 1, 1],
105
+ ["\u0631\u0641\u062A\u0627\u0646\u062F", 2, 1],
106
+ ["\u06CC\u062F", 1, 3],
107
+ ["\u0631\u0641\u062A\u06CC\u062F", 2, 1],
108
+ ["\u0645", 1],
109
+ ["\u0627\u0645", 1, 1],
110
+ ["\u0631\u0641\u062A\u0645", 2, 2],
111
+ ["\u06CC\u0645", 1, 3],
112
+ ["\u0631\u0641\u062A\u06CC\u0645", 2, 1],
113
+ ["\u0627\u0646", 3],
114
+ ["\u062A\u0647", 5],
115
+ ["\u062F\u0647", 4],
116
+ ["\u0646\u062F\u0647", 3, 1],
117
+ ["\u0631\u0641\u062A\u06CC", 2]
118
+ ];
119
+ var PersianStemmer = class extends BaseStemmer {
120
+ #stem() {
121
+ let a;
122
+ let I_p1;
123
+ let B_remove_verb_person_endings;
124
+ let B_saw_present_prefix;
125
+ B_saw_present_prefix = false;
126
+ const v_1 = this.c;
127
+ while (true) {
128
+ const v_2 = this.c;
129
+ lab1: {
130
+ this.bra = this.c;
131
+ a = this.find_among(a_0);
132
+ this.ket = this.c;
133
+ switch (a) {
134
+ case 1: {
135
+ this.slice_from("\u06A9");
136
+ break;
137
+ }
138
+ case 2: {
139
+ this.slice_from("\u06CC");
140
+ break;
141
+ }
142
+ case 3: {
143
+ this.slice_from("\u0647");
144
+ break;
145
+ }
146
+ case 4: {
147
+ this.slice_from("\u0627");
148
+ break;
149
+ }
150
+ case 5: {
151
+ this.slice_from("\u0648");
152
+ break;
153
+ }
154
+ case 6: {
155
+ this.slice_del();
156
+ break;
157
+ }
158
+ case 7: {
159
+ if (this.c >= this.limit) break lab1;
160
+ this.c++;
161
+ break;
162
+ }
163
+ }
164
+ continue;
165
+ }
166
+ this.c = v_2;
167
+ break;
168
+ }
169
+ this.c = v_1;
170
+ const v_3 = this.c;
171
+ lab2: {
172
+ this.bra = this.c;
173
+ a = this.find_among(a_1);
174
+ if (a === 0) break lab2;
175
+ this.ket = this.c;
176
+ switch (a) {
177
+ case 1: {
178
+ if (this.c + 2 > this.limit) break lab2;
179
+ this.c += 2;
180
+ B_saw_present_prefix = true;
181
+ break;
182
+ }
183
+ case 2: {
184
+ if (this.c + 2 > this.limit) break lab2;
185
+ this.c += 2;
186
+ this.slice_del();
187
+ B_saw_present_prefix = true;
188
+ break;
189
+ }
190
+ }
191
+ }
192
+ this.c = v_3;
193
+ const v_4 = this.c;
194
+ while (true) {
195
+ const v_5 = this.c;
196
+ lab4: {
197
+ while (true) {
198
+ const v_6 = this.c;
199
+ lab6: {
200
+ this.bra = this.c;
201
+ if (!this.eq_s("\u200C")) break lab6;
202
+ this.ket = this.c;
203
+ this.slice_del();
204
+ this.c = v_6;
205
+ break;
206
+ }
207
+ this.c = v_6;
208
+ if (this.c >= this.limit) break lab4;
209
+ this.c++;
210
+ }
211
+ continue;
212
+ }
213
+ this.c = v_5;
214
+ break;
215
+ }
216
+ this.c = v_4;
217
+ I_p1 = this.limit;
218
+ const v_7 = this.c;
219
+ lab7: {
220
+ if (this.c + 3 > this.limit) break lab7;
221
+ this.c += 3;
222
+ I_p1 = this.c;
223
+ }
224
+ this.c = v_7;
225
+ this.limit_backward = this.c;
226
+ this.c = this.limit;
227
+ while (true) {
228
+ const v_8 = this.limit - this.c;
229
+ lab8: {
230
+ const v_9 = this.limit - this.c;
231
+ B_remove_verb_person_endings = false;
232
+ lab9: {
233
+ if (!B_saw_present_prefix) break lab9;
234
+ B_remove_verb_person_endings = true;
235
+ }
236
+ {
237
+ const v_10 = this.limit - this.c;
238
+ lab10: {
239
+ if (this.find_among_b(a_3) === 0) break lab10;
240
+ if (
241
+ /**@type {boolean}*/
242
+ this.c > this.limit_backward
243
+ ) break lab10;
244
+ break lab8;
245
+ }
246
+ this.c = this.limit - v_10;
247
+ }
248
+ {
249
+ const v_11 = this.limit - this.c;
250
+ lab11: {
251
+ if (this.find_among_b(a_2) === 0) break lab11;
252
+ break lab8;
253
+ }
254
+ this.c = this.limit - v_11;
255
+ }
256
+ lab12: {
257
+ const v_12 = this.limit - this.c;
258
+ lab13: {
259
+ lab14: {
260
+ const v_13 = this.limit - this.c;
261
+ lab15: {
262
+ this.ket = this.c;
263
+ a = this.find_among_b(a_4);
264
+ if (a === 0) break lab15;
265
+ this.bra = this.c;
266
+ this.slice_from(as_4[a - 1]);
267
+ break lab14;
268
+ }
269
+ this.c = this.limit - v_13;
270
+ if (this.c < I_p1) break lab13;
271
+ const v_14 = this.limit_backward;
272
+ this.limit_backward = I_p1;
273
+ this.ket = this.c;
274
+ a = this.find_among_b(a_5);
275
+ if (a === 0) {
276
+ this.limit_backward = v_14;
277
+ break lab13;
278
+ }
279
+ this.bra = this.c;
280
+ switch (a) {
281
+ case 1: {
282
+ this.slice_del();
283
+ break;
284
+ }
285
+ case 2: {
286
+ if (
287
+ /**@type {boolean}*/
288
+ this.c <= this.limit_backward
289
+ ) {
290
+ this.limit_backward = v_14;
291
+ break lab13;
292
+ }
293
+ this.slice_del();
294
+ break;
295
+ }
296
+ }
297
+ this.limit_backward = v_14;
298
+ }
299
+ break lab12;
300
+ }
301
+ this.c = this.limit - v_12;
302
+ lab16: {
303
+ const v_15 = this.limit - this.c;
304
+ lab17: {
305
+ this.ket = this.c;
306
+ if (this.find_among_b(a_6) === 0) break lab17;
307
+ this.bra = this.c;
308
+ if (
309
+ /**@type {boolean}*/
310
+ I_p1 > this.c
311
+ ) break lab17;
312
+ this.slice_del();
313
+ break lab16;
314
+ }
315
+ this.c = this.limit - v_15;
316
+ this.ket = this.c;
317
+ a = this.find_among_b(a_7);
318
+ if (a === 0) break lab8;
319
+ this.bra = this.c;
320
+ switch (a) {
321
+ case 1: {
322
+ if (!B_remove_verb_person_endings) break lab8;
323
+ if (
324
+ /**@type {boolean}*/
325
+ I_p1 > this.c
326
+ ) break lab8;
327
+ this.slice_del();
328
+ break;
329
+ }
330
+ case 2: {
331
+ this.slice_from("\u0631\u0641\u062A");
332
+ break;
333
+ }
334
+ case 3: {
335
+ if (
336
+ /**@type {boolean}*/
337
+ I_p1 > this.c
338
+ ) break lab8;
339
+ this.slice_del();
340
+ B_remove_verb_person_endings = true;
341
+ break;
342
+ }
343
+ case 4: {
344
+ if (
345
+ /**@type {boolean}*/
346
+ this.c <= this.limit_backward
347
+ ) break lab8;
348
+ this.slice_from("\u062F");
349
+ B_remove_verb_person_endings = true;
350
+ break;
351
+ }
352
+ case 5: {
353
+ if (
354
+ /**@type {boolean}*/
355
+ this.c <= this.limit_backward
356
+ ) break lab8;
357
+ this.slice_from("\u062A");
358
+ B_remove_verb_person_endings = true;
359
+ break;
360
+ }
361
+ }
362
+ }
363
+ }
364
+ this.c = this.limit - v_9;
365
+ continue;
366
+ }
367
+ this.c = this.limit - v_8;
368
+ break;
369
+ }
370
+ this.c = this.limit_backward;
371
+ return true;
372
+ }
373
+ stem(input) {
374
+ this.setCurrent(input);
375
+ this.#stem();
376
+ return this.getCurrent();
377
+ }
378
+ };
379
+ var shared = new PersianStemmer();
380
+ function stem(token) {
381
+ return shared.stem(token);
382
+ }
383
+
384
+ // src/languages/persian.ts
385
+ var stopWords = /* @__PURE__ */ new Set([
386
+ "\u0627\u0628\u0627\u062F",
387
+ "\u0627\u062B\u0631",
388
+ "\u0627\u0631\u0647",
389
+ "\u0627\u0631\u064A",
390
+ "\u0627\u0632",
391
+ "\u0627\u0633\u062A",
392
+ "\u0627\u0633\u062A\u0641\u0627\u062F\u0647",
393
+ "\u0627\u0634",
394
+ "\u0627\u0643\u0646\u0648\u0646",
395
+ "\u0627\u06AF\u0631",
396
+ "\u0627\u0644\u0628\u062A\u0647",
397
+ "\u0627\u0645",
398
+ "\u0627\u0645\u0627",
399
+ "\u0627\u0645\u062F",
400
+ "\u0627\u0645\u062F\u0647",
401
+ "\u0627\u0645\u0631\u0648\u0632",
402
+ "\u0627\u0645\u0633\u0627\u0644",
403
+ "\u0627\u0646",
404
+ "\u0627\u0646\u0627\u0646",
405
+ "\u0627\u0646\u062C\u0627",
406
+ "\u0627\u0646\u0686\u0647",
407
+ "\u0627\u0646\u062F",
408
+ "\u0627\u0646\u0643\u0647",
409
+ "\u0627\u0646\u0647\u0627",
410
+ "\u0627\u0648",
411
+ "\u0627\u0648\u0631\u062F",
412
+ "\u0627\u0648\u0631\u062F\u0647",
413
+ "\u0627\u0648\u0644",
414
+ "\u0627\u064A",
415
+ "\u0627\u064A\u0627",
416
+ "\u0627\u064A\u062F",
417
+ "\u0627\u064A\u0634\u0627\u0646",
418
+ "\u0627\u064A\u0645",
419
+ "\u0627\u064A\u0646",
420
+ "\u0627\u064A\u0646\u0643\u0647",
421
+ "\u0628\u0627",
422
+ "\u0628\u0627\u0631",
423
+ "\u0628\u0627\u0631\u0647",
424
+ "\u0628\u0627\u0634\u062F",
425
+ "\u0628\u0627\u0634\u0646\u062F",
426
+ "\u0628\u0627\u0634\u064A\u0645",
427
+ "\u0628\u0627\u0644\u0627",
428
+ "\u0628\u0627\u0644\u0627\u064A",
429
+ "\u0628\u0627\u064A\u062F",
430
+ "\u0628\u062F\u0648\u0646",
431
+ "\u0628\u0631",
432
+ "\u0628\u0631\u0627\u0628\u0631",
433
+ "\u0628\u0631\u0627\u0633\u0627\u0633",
434
+ "\u0628\u0631\u0627\u064A",
435
+ "\u0628\u0631\u062E\u0648\u0631\u062F\u0627\u0631",
436
+ "\u0628\u0631\u062E\u064A",
437
+ "\u0628\u0631\u062F\u0627\u0631\u064A",
438
+ "\u0628\u0631\u0648\u0632",
439
+ "\u0628\u0633\u064A\u0627\u0631",
440
+ "\u0628\u0633\u064A\u0627\u0631\u064A",
441
+ "\u0628\u0639\u062F",
442
+ "\u0628\u0639\u0631\u064A",
443
+ "\u0628\u0639\u0636\u064A",
444
+ "\u0628\u0644\u0643\u0647",
445
+ "\u0628\u0644\u0647",
446
+ "\u0628\u0644\u064A",
447
+ "\u0628\u0646\u0627\u0628\u0631\u0627\u064A\u0646",
448
+ "\u0628\u0646\u062F\u064A",
449
+ "\u0628\u0647",
450
+ "\u0628\u0647\u062A\u0631\u064A\u0646",
451
+ "\u0628\u0648\u062F",
452
+ "\u0628\u0648\u062F\u0646",
453
+ "\u0628\u0648\u062F\u0646\u062F",
454
+ "\u0628\u0648\u062F\u0647",
455
+ "\u0628\u064A",
456
+ "\u0628\u064A\u0631\u0648\u0646",
457
+ "\u0628\u064A\u0633\u062A",
458
+ "\u0628\u064A\u0634",
459
+ "\u0628\u064A\u0634\u062A\u0631",
460
+ "\u0628\u064A\u0634\u062A\u0631\u064A",
461
+ "\u0628\u064A\u0646",
462
+ "\u067E\u0627\u0639\u064A\u0646",
463
+ "\u067E\u0633",
464
+ "\u067E\u0646\u062C",
465
+ "\u067E\u064A\u0634",
466
+ "\u062A\u0627",
467
+ "\u062A\u0627\u0632\u0647",
468
+ "\u062A\u0627\u0643\u0646\u0648\u0646",
469
+ "\u062A\u0627\u0646",
470
+ "\u062A\u062D\u062A",
471
+ "\u062A\u0631",
472
+ "\u062A\u0631\u064A\u0646",
473
+ "\u062A\u0645\u0627\u0645",
474
+ "\u062A\u0645\u0627\u0645\u064A",
475
+ "\u062A\u0646\u0647\u0627",
476
+ "\u062A\u0648\u0627\u0646\u062F",
477
+ "\u062A\u0648\u0627\u0646\u0646\u062F",
478
+ "\u062A\u0648\u0633\u0637",
479
+ "\u062A\u0648\u0644",
480
+ "\u062A\u0648\u064A",
481
+ "\u062C\u0627",
482
+ "\u062C\u0627\u064A",
483
+ "\u062C\u0627\u064A\u064A",
484
+ "\u062C\u062F\u0627",
485
+ "\u062C\u062F\u064A\u062F",
486
+ "\u062C\u0631\u064A\u0627\u0646",
487
+ "\u062C\u0632",
488
+ "\u062C\u0644\u0648\u06AF\u064A\u0631\u064A",
489
+ "\u062C\u0644\u0648\u064A",
490
+ "\u0686\u0631\u0627",
491
+ "\u0686\u0637\u0648\u0631",
492
+ "\u0686\u06AF\u0648\u0646\u0647",
493
+ "\u0686\u0646\u062F",
494
+ "\u0686\u0646\u062F\u064A\u0646",
495
+ "\u0686\u0646\u064A\u0646",
496
+ "\u0686\u0647",
497
+ "\u0686\u0647\u0627\u0631",
498
+ "\u0686\u0648\u0646",
499
+ "\u0686\u064A\u0632",
500
+ "\u0686\u064A\u0632\u064A",
501
+ "\u0686\u064A\u0633\u062A",
502
+ "\u062D\u062A\u064A",
503
+ "\u062D\u062F\u0648\u062F",
504
+ "\u062D\u0642",
505
+ "\u062E\u0627\u0631\u062C",
506
+ "\u062E\u062F\u0645\u0627\u062A",
507
+ "\u062E\u0648\u0627\u0633\u062A",
508
+ "\u062E\u0648\u0627\u0647\u062F",
509
+ "\u062E\u0648\u0627\u0647\u0646\u062F",
510
+ "\u062E\u0648\u0627\u0647\u064A\u0645",
511
+ "\u062E\u0648\u062F",
512
+ "\u062E\u0648\u064A\u0634",
513
+ "\u062E\u064A\u0627\u0647",
514
+ "\u062F\u0627\u062F",
515
+ "\u062F\u0627\u062F\u0646",
516
+ "\u062F\u0627\u062F\u0646\u062F",
517
+ "\u062F\u0627\u062F\u0647",
518
+ "\u062F\u0627\u0631\u062F",
519
+ "\u062F\u0627\u0631\u0646\u062F",
520
+ "\u062F\u0627\u0631\u064A\u0645",
521
+ "\u062F\u0627\u0634\u062A",
522
+ "\u062F\u0627\u0634\u062A\u0646",
523
+ "\u062F\u0627\u0634\u062A\u0646\u062F",
524
+ "\u062F\u0627\u0634\u062A\u0647",
525
+ "\u062F\u0627\u0646\u0633\u062A",
526
+ "\u062F\u0627\u0646\u0646\u062F",
527
+ "\u062F\u0631",
528
+ "\u062F\u0631\u0628\u0627\u0631\u0647",
529
+ "\u062F\u0646\u0628\u0627\u0644",
530
+ "\u062F\u0647",
531
+ "\u062F\u0647\u062F",
532
+ "\u062F\u0647\u0646\u062F",
533
+ "\u062F\u0648",
534
+ "\u062F\u0648\u0645",
535
+ "\u062F\u064A\u062F\u0647",
536
+ "\u062F\u064A\u0631\u0648\u0632",
537
+ "\u062F\u064A\u06AF\u0631",
538
+ "\u062F\u064A\u06AF\u0631\u0627\u0646",
539
+ "\u062F\u064A\u06AF\u0631\u064A",
540
+ "\u0631\u0627",
541
+ "\u0631\u0627\u0647",
542
+ "\u0631\u0641\u062A",
543
+ "\u0631\u0641\u062A\u0647",
544
+ "\u0631\u0648\u0628",
545
+ "\u0631\u0648\u0632\u0647\u0627\u064A",
546
+ "\u0631\u0648\u064A",
547
+ "\u0631\u064A\u0632\u064A",
548
+ "\u0632\u064A\u0627\u062F",
549
+ "\u0632\u064A\u0631",
550
+ "\u0632\u064A\u0631\u0627",
551
+ "\u0633\u0627\u0628\u0642",
552
+ "\u0633\u0627\u062E\u062A\u0647",
553
+ "\u0633\u0627\u0632\u064A",
554
+ "\u0633\u067E\u0633",
555
+ "\u0633\u0631\u0627\u0633\u0631",
556
+ "\u0633\u0631\u064A",
557
+ "\u0633\u0639\u064A",
558
+ "\u0633\u0645\u062A",
559
+ "\u0633\u0648\u0645",
560
+ "\u0633\u0648\u064A",
561
+ "\u0634\u0627\u0646",
562
+ "\u0634\u0627\u064A\u062F",
563
+ "\u0634\u062F",
564
+ "\u0634\u062F\u0646",
565
+ "\u0634\u062F\u0646\u062F",
566
+ "\u0634\u062F\u0647",
567
+ "\u0634\u0634",
568
+ "\u0634\u0645\u0627",
569
+ "\u0634\u0646\u0627\u0633\u064A",
570
+ "\u0634\u0648\u062F",
571
+ "\u0634\u0648\u0646\u062F",
572
+ "\u0635\u0648\u0631\u062A",
573
+ "\u0636\u062F",
574
+ "\u0636\u0645\u0646",
575
+ "\u0637\u0628\u0642",
576
+ "\u0637\u0631\u064A\u0642",
577
+ "\u0637\u0648\u0631",
578
+ "\u0637\u064A",
579
+ "\u0639\u0642\u0628",
580
+ "\u0639\u0644\u062A",
581
+ "\u0639\u0646\u0648\u0627\u0646",
582
+ "\u063A\u064A\u0631",
583
+ "\u0641\u0642\u0637",
584
+ "\u0641\u0643\u0631",
585
+ "\u0641\u0648\u0642",
586
+ "\u0642\u0627\u0628\u0644",
587
+ "\u0642\u0628\u0644",
588
+ "\u0642\u0635\u062F",
589
+ "\u0643\u062C\u0627",
590
+ "\u0643\u062C\u0627\u0633\u062A",
591
+ "\u0643\u062F\u0627\u0645",
592
+ "\u0643\u0631\u062F",
593
+ "\u0643\u0631\u062F\u0645",
594
+ "\u0643\u0631\u062F\u0646",
595
+ "\u0643\u0631\u062F\u0646\u062F",
596
+ "\u0643\u0631\u062F\u0647",
597
+ "\u0643\u0633",
598
+ "\u0643\u0633\u064A",
599
+ "\u0643\u0644",
600
+ "\u0643\u0645\u062A\u0631",
601
+ "\u0643\u0646\u0627\u0631",
602
+ "\u0643\u0646\u062F",
603
+ "\u0643\u0646\u0645",
604
+ "\u0643\u0646\u0646\u062F",
605
+ "\u0643\u0646\u064A\u062F",
606
+ "\u0643\u0646\u064A\u0645",
607
+ "\u0643\u0647",
608
+ "\u0643\u064A",
609
+ "\u06AF\u0630\u0627\u0631\u064A",
610
+ "\u06AF\u0630\u0627\u0634\u062A\u0647",
611
+ "\u06AF\u0631\u062F\u062F",
612
+ "\u06AF\u0631\u0641\u062A",
613
+ "\u06AF\u0631\u0641\u062A\u0647",
614
+ "\u06AF\u0631\u0648\u0647\u064A",
615
+ "\u06AF\u0641\u062A",
616
+ "\u06AF\u0641\u062A\u0647",
617
+ "\u06AF\u0648\u064A\u062F",
618
+ "\u06AF\u0648\u064A\u0646\u062F",
619
+ "\u06AF\u064A\u0631\u062F",
620
+ "\u06AF\u064A\u0631\u064A",
621
+ "\u0644\u0637\u0641\u0627",
622
+ "\u0645\u0627",
623
+ "\u0645\u0627\u0646",
624
+ "\u0645\u0627\u0646\u0646\u062F",
625
+ "\u0645\u062B\u0644",
626
+ "\u0645\u062E\u062A\u0644\u0641",
627
+ "\u0645\u062F\u062A\u064A",
628
+ "\u0645\u0631\u062F\u0645",
629
+ "\u0645\u0631\u0633\u064A",
630
+ "\u0645\u0642\u0627\u0628\u0644",
631
+ "\u0645\u06AF\u0631",
632
+ "\u0645\u0646",
633
+ "\u0645\u0648\u0631\u062F",
634
+ "\u0645\u064A",
635
+ "\u0645\u064A\u0644\u064A\u0627\u0631\u062F",
636
+ "\u0645\u064A\u0644\u064A\u0648\u0646",
637
+ "\u0646\u0627\u0634\u064A",
638
+ "\u0646\u0627\u0645",
639
+ "\u0646\u0628\u0627\u064A\u062F",
640
+ "\u0646\u0628\u0648\u062F",
641
+ "\u0646\u062E\u0633\u062A",
642
+ "\u0646\u062E\u0633\u062A\u064A\u0646",
643
+ "\u0646\u062E\u0648\u0627\u0647\u062F",
644
+ "\u0646\u062F\u0627\u0631\u062F",
645
+ "\u0646\u062F\u0627\u0631\u0646\u062F",
646
+ "\u0646\u062F\u0627\u0634\u062A\u0647",
647
+ "\u0646\u0632\u062F",
648
+ "\u0646\u0632\u062F\u064A\u0643",
649
+ "\u0646\u0634\u0627\u0646",
650
+ "\u0646\u0634\u062F\u0647",
651
+ "\u0646\u0638\u064A\u0631",
652
+ "\u0646\u0643\u0631\u062F\u0647",
653
+ "\u0646\u0645\u0627\u064A\u062F",
654
+ "\u0646\u0645\u064A",
655
+ "\u0646\u0647",
656
+ "\u0646\u0648\u0639\u064A",
657
+ "\u0646\u064A\u0632",
658
+ "\u0646\u064A\u0633\u062A",
659
+ "\u0647",
660
+ "\u0647\u0627",
661
+ "\u0647\u0627\u064A",
662
+ "\u0647\u0627\u064A\u064A",
663
+ "\u0647\u0631",
664
+ "\u0647\u0631\u06AF\u0632",
665
+ "\u0647\u0632\u0627\u0631",
666
+ "\u0647\u0633\u062A",
667
+ "\u0647\u0633\u062A\u0646\u062F",
668
+ "\u0647\u0633\u062A\u064A\u0645",
669
+ "\u0647\u0641\u062A",
670
+ "\u0647\u0645",
671
+ "\u0647\u0645\u0627\u0646",
672
+ "\u0647\u0645\u0686\u0646\u0627\u0646",
673
+ "\u0647\u0645\u0686\u0646\u064A\u0646",
674
+ "\u0647\u0645\u0686\u0648\u0646",
675
+ "\u0647\u0645\u0647",
676
+ "\u0647\u0645\u0648\u0627\u0631\u0647",
677
+ "\u0647\u0645\u064A\u0646",
678
+ "\u0647\u0646\u06AF\u0627\u0645",
679
+ "\u0647\u0646\u06AF\u0627\u0645\u064A",
680
+ "\u0647\u0646\u0648\u0632",
681
+ "\u0647\u064A\u0686",
682
+ "\u0648",
683
+ "\u0648\u0633\u0637",
684
+ "\u0648\u0642\u062A\u064A",
685
+ "\u0648\u0642\u062A\u064A\u0643\u0647",
686
+ "\u0648\u06AF\u0648",
687
+ "\u0648\u0644\u064A",
688
+ "\u0648\u064A",
689
+ "\u064A\u0627",
690
+ "\u064A\u0627\u0628\u062F",
691
+ "\u064A\u0643",
692
+ "\u064A\u0643\u062F\u064A\u06AF\u0631",
693
+ "\u064A\u0643\u064A"
694
+ ]);
695
+ var ARABIC_YEH_FORMS = /[\u064A\u0649]/g;
696
+ var ARABIC_KAF = /\u0643/g;
697
+ var TATWEEL_AND_HARAKAT = /[\u0640\u064B-\u0652]/g;
698
+ function normalize(token) {
699
+ return token.replace(ARABIC_YEH_FORMS, "\u06CC").replace(ARABIC_KAF, "\u06A9").replace(TATWEEL_AND_HARAKAT, "");
700
+ }
701
+ var persian = {
702
+ name: "persian",
703
+ revision: "99f39d265efbf595",
704
+ stemmer: stem,
705
+ stopWords: withNormalisedSpellings(stopWords, normalize),
706
+ normalizer: normalize,
707
+ tokenizer: { splitPattern: /[^\u0621-\u065f\u0660-\u0669\u066e-\u06d3\u06f0-\u06f9a-z0-9]+/gi }
708
+ };
709
+
710
+ export { persian };
@@ -0,0 +1,5 @@
1
+ import { L as LanguageModule } from '../language-CmJBHf1j.js';
2
+
3
+ declare const polish: LanguageModule;
4
+
5
+ export { polish };