@delali/narsil 0.1.15 → 0.2.1-next.25

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 (267) hide show
  1. package/NOTICE +54 -0
  2. package/README.md +38 -982
  3. package/dist/adapters/filesystem.d.ts +23 -1
  4. package/dist/adapters/filesystem.mjs +1 -1
  5. package/dist/adapters/indexeddb.d.ts +25 -1
  6. package/dist/adapters/indexeddb.mjs +1 -1
  7. package/dist/adapters/memory.d.ts +14 -1
  8. package/dist/adapters-CVqI5NBt.d.ts +149 -0
  9. package/dist/{chunk-HMO6OMZ3.mjs → chunk-ASI6AOW2.mjs} +1073 -506
  10. package/dist/{chunk-HRABJLPB.mjs → chunk-BKAI2WXI.mjs} +1 -0
  11. package/dist/{chunk-WISGW24C.mjs → chunk-FKK76OR7.mjs} +56 -55
  12. package/dist/chunk-GHJWC2E5.mjs +9 -0
  13. package/dist/chunk-KH3YGMVT.mjs +15 -0
  14. package/dist/chunk-TGP5M5R7.mjs +880 -0
  15. package/dist/chunk-U2BKYEC7.mjs +254 -0
  16. package/dist/{chunk-ALB35PRQ.mjs → chunk-UNJZ7ZDB.mjs} +18 -0
  17. package/dist/{chunk-MEW7HD75.mjs → chunk-WLR5BFL3.mjs} +2557 -1166
  18. package/dist/config-CAjTHzkH.d.ts +256 -0
  19. package/dist/direct-executor-3W4QRA4E.mjs +5 -0
  20. package/dist/distribution/coordinator/etcd.d.ts +44 -3
  21. package/dist/distribution/coordinator/etcd.mjs +2 -2
  22. package/dist/distribution/coordinator/in-memory.d.ts +14 -3
  23. package/dist/distribution.d.ts +318 -45
  24. package/dist/distribution.mjs +1875 -1772
  25. package/dist/embeddings/openai.d.ts +28 -1
  26. package/dist/embeddings/openai.mjs +1 -1
  27. package/dist/engine-CCrlfLyq.d.ts +431 -0
  28. package/dist/index.browser.mjs +4571 -1776
  29. package/dist/index.d.ts +180 -6
  30. package/dist/index.mjs +6 -5
  31. package/dist/invalidation/broadcast-channel.d.ts +20 -1
  32. package/dist/invalidation/filesystem.d.ts +24 -1
  33. package/dist/invalidation/noop.d.ts +14 -1
  34. package/dist/language-DB8KG1z5.d.ts +53 -0
  35. package/dist/languages/albanian.d.ts +15 -0
  36. package/dist/languages/albanian.mjs +103 -0
  37. package/dist/languages/amharic.d.ts +15 -0
  38. package/dist/languages/amharic.mjs +240 -0
  39. package/dist/languages/arabic.d.ts +10 -1
  40. package/dist/languages/arabic.mjs +939 -154
  41. package/dist/languages/armenian.d.ts +10 -1
  42. package/dist/languages/armenian.mjs +275 -243
  43. package/dist/languages/azerbaijani.d.ts +15 -0
  44. package/dist/languages/azerbaijani.mjs +152 -0
  45. package/dist/languages/bambara.d.ts +15 -0
  46. package/dist/languages/bambara.mjs +60 -0
  47. package/dist/languages/basque.d.ts +14 -0
  48. package/dist/languages/basque.mjs +726 -0
  49. package/dist/languages/belarusian.d.ts +15 -0
  50. package/dist/languages/belarusian.mjs +100 -0
  51. package/dist/languages/bengali.d.ts +15 -0
  52. package/dist/languages/bengali.mjs +128 -0
  53. package/dist/languages/bosnian.d.ts +15 -0
  54. package/dist/languages/bosnian.mjs +197 -0
  55. package/dist/languages/breton.d.ts +15 -0
  56. package/dist/languages/breton.mjs +96 -0
  57. package/dist/languages/bulgarian.d.ts +10 -1
  58. package/dist/languages/bulgarian.mjs +11 -2
  59. package/dist/languages/burmese.d.ts +15 -0
  60. package/dist/languages/burmese.mjs +57 -0
  61. package/dist/languages/catalan.d.ts +14 -0
  62. package/dist/languages/catalan.mjs +987 -0
  63. package/dist/languages/chinese.d.ts +11 -1
  64. package/dist/languages/chinese.mjs +4 -3
  65. package/dist/languages/croatian.d.ts +15 -0
  66. package/dist/languages/croatian.mjs +191 -0
  67. package/dist/languages/czech.d.ts +14 -0
  68. package/dist/languages/czech.mjs +628 -0
  69. package/dist/languages/dagbani.d.ts +11 -1
  70. package/dist/languages/dagbani.mjs +11 -2
  71. package/dist/languages/danish.d.ts +10 -1
  72. package/dist/languages/danish.mjs +215 -110
  73. package/dist/languages/dutch.d.ts +10 -1
  74. package/dist/languages/dutch.mjs +1248 -163
  75. package/dist/languages/english.d.ts +10 -1
  76. package/dist/languages/english.mjs +2 -1
  77. package/dist/languages/esperanto.d.ts +14 -0
  78. package/dist/languages/esperanto.mjs +689 -0
  79. package/dist/languages/estonian.d.ts +14 -0
  80. package/dist/languages/estonian.mjs +2160 -0
  81. package/dist/languages/ewe.d.ts +11 -1
  82. package/dist/languages/ewe.mjs +11 -2
  83. package/dist/languages/faroese.d.ts +15 -0
  84. package/dist/languages/faroese.mjs +93 -0
  85. package/dist/languages/fijian.d.ts +15 -0
  86. package/dist/languages/fijian.mjs +55 -0
  87. package/dist/languages/finnish.d.ts +10 -1
  88. package/dist/languages/finnish.mjs +528 -263
  89. package/dist/languages/french.d.ts +10 -1
  90. package/dist/languages/french.mjs +950 -437
  91. package/dist/languages/ga.d.ts +11 -1
  92. package/dist/languages/ga.mjs +2 -1
  93. package/dist/languages/galician.d.ts +15 -0
  94. package/dist/languages/galician.mjs +172 -0
  95. package/dist/languages/georgian.d.ts +15 -0
  96. package/dist/languages/georgian.mjs +91 -0
  97. package/dist/languages/german.d.ts +10 -1
  98. package/dist/languages/german.mjs +432 -162
  99. package/dist/languages/greek.d.ts +10 -1
  100. package/dist/languages/greek.mjs +1970 -281
  101. package/dist/languages/guarani.d.ts +15 -0
  102. package/dist/languages/guarani.mjs +132 -0
  103. package/dist/languages/gujarati.d.ts +15 -0
  104. package/dist/languages/gujarati.mjs +234 -0
  105. package/dist/languages/haitian-creole.d.ts +15 -0
  106. package/dist/languages/haitian-creole.mjs +106 -0
  107. package/dist/languages/hausa.d.ts +11 -1
  108. package/dist/languages/hausa.mjs +2 -1
  109. package/dist/languages/hawaiian.d.ts +15 -0
  110. package/dist/languages/hawaiian.mjs +69 -0
  111. package/dist/languages/hebrew.d.ts +15 -0
  112. package/dist/languages/hebrew.mjs +213 -0
  113. package/dist/languages/hindi.d.ts +10 -1
  114. package/dist/languages/hindi.mjs +175 -97
  115. package/dist/languages/hungarian.d.ts +10 -1
  116. package/dist/languages/hungarian.mjs +412 -326
  117. package/dist/languages/icelandic.d.ts +15 -0
  118. package/dist/languages/icelandic.mjs +161 -0
  119. package/dist/languages/igbo.d.ts +11 -1
  120. package/dist/languages/igbo.mjs +2 -1
  121. package/dist/languages/indonesian.d.ts +10 -1
  122. package/dist/languages/indonesian.mjs +329 -137
  123. package/dist/languages/irish.d.ts +10 -1
  124. package/dist/languages/irish.mjs +223 -139
  125. package/dist/languages/italian.d.ts +10 -1
  126. package/dist/languages/italian.mjs +703 -406
  127. package/dist/languages/japanese.d.ts +11 -1
  128. package/dist/languages/japanese.mjs +5 -108
  129. package/dist/languages/kannada.d.ts +15 -0
  130. package/dist/languages/kannada.mjs +94 -0
  131. package/dist/languages/kazakh.d.ts +15 -0
  132. package/dist/languages/kazakh.mjs +90 -0
  133. package/dist/languages/khmer.d.ts +15 -0
  134. package/dist/languages/khmer.mjs +181 -0
  135. package/dist/languages/kinyarwanda.d.ts +15 -0
  136. package/dist/languages/kinyarwanda.mjs +99 -0
  137. package/dist/languages/kirundi.d.ts +15 -0
  138. package/dist/languages/kirundi.mjs +92 -0
  139. package/dist/languages/korean.d.ts +15 -0
  140. package/dist/languages/korean.mjs +252 -0
  141. package/dist/languages/kurmanji.d.ts +15 -0
  142. package/dist/languages/kurmanji.mjs +50 -0
  143. package/dist/languages/kyrgyz.d.ts +15 -0
  144. package/dist/languages/kyrgyz.mjs +108 -0
  145. package/dist/languages/lao.d.ts +15 -0
  146. package/dist/languages/lao.mjs +63 -0
  147. package/dist/languages/latin.d.ts +15 -0
  148. package/dist/languages/latin.mjs +69 -0
  149. package/dist/languages/latvian.d.ts +15 -0
  150. package/dist/languages/latvian.mjs +173 -0
  151. package/dist/languages/lingala.d.ts +15 -0
  152. package/dist/languages/lingala.mjs +61 -0
  153. package/dist/languages/lithuanian.d.ts +14 -0
  154. package/dist/languages/lithuanian.mjs +571 -0
  155. package/dist/languages/luxembourgish.d.ts +15 -0
  156. package/dist/languages/luxembourgish.mjs +214 -0
  157. package/dist/languages/macedonian.d.ts +15 -0
  158. package/dist/languages/macedonian.mjs +808 -0
  159. package/dist/languages/malagasy.d.ts +15 -0
  160. package/dist/languages/malagasy.mjs +67 -0
  161. package/dist/languages/malay.d.ts +15 -0
  162. package/dist/languages/malay.mjs +482 -0
  163. package/dist/languages/malayalam.d.ts +15 -0
  164. package/dist/languages/malayalam.mjs +122 -0
  165. package/dist/languages/maltese.d.ts +15 -0
  166. package/dist/languages/maltese.mjs +139 -0
  167. package/dist/languages/maori.d.ts +15 -0
  168. package/dist/languages/maori.mjs +79 -0
  169. package/dist/languages/marathi.d.ts +15 -0
  170. package/dist/languages/marathi.mjs +111 -0
  171. package/dist/languages/nepali.d.ts +10 -1
  172. package/dist/languages/nepali.mjs +209 -99
  173. package/dist/languages/norwegian.d.ts +10 -1
  174. package/dist/languages/norwegian.mjs +218 -85
  175. package/dist/languages/oromo.d.ts +15 -0
  176. package/dist/languages/oromo.mjs +78 -0
  177. package/dist/languages/persian.d.ts +14 -0
  178. package/dist/languages/persian.mjs +710 -0
  179. package/dist/languages/polish.d.ts +14 -0
  180. package/dist/languages/polish.mjs +614 -0
  181. package/dist/languages/portuguese.d.ts +10 -1
  182. package/dist/languages/portuguese.mjs +613 -380
  183. package/dist/languages/punjabi.d.ts +15 -0
  184. package/dist/languages/punjabi.mjs +197 -0
  185. package/dist/languages/romanian.d.ts +10 -1
  186. package/dist/languages/romanian.mjs +561 -382
  187. package/dist/languages/russian.d.ts +10 -1
  188. package/dist/languages/russian.mjs +373 -244
  189. package/dist/languages/samoan.d.ts +15 -0
  190. package/dist/languages/samoan.mjs +63 -0
  191. package/dist/languages/sanskrit.d.ts +10 -1
  192. package/dist/languages/sanskrit.mjs +2 -2
  193. package/dist/languages/scottish-gaelic.d.ts +15 -0
  194. package/dist/languages/scottish-gaelic.mjs +370 -0
  195. package/dist/languages/serbian.d.ts +10 -1
  196. package/dist/languages/serbian.mjs +3635 -155
  197. package/dist/languages/shona.d.ts +15 -0
  198. package/dist/languages/shona.mjs +91 -0
  199. package/dist/languages/sinhala.d.ts +15 -0
  200. package/dist/languages/sinhala.mjs +182 -0
  201. package/dist/languages/slovak.d.ts +15 -0
  202. package/dist/languages/slovak.mjs +430 -0
  203. package/dist/languages/slovenian.d.ts +10 -1
  204. package/dist/languages/slovenian.mjs +11 -2
  205. package/dist/languages/sorani.d.ts +15 -0
  206. package/dist/languages/sorani.mjs +156 -0
  207. package/dist/languages/spanish.d.ts +10 -1
  208. package/dist/languages/spanish.mjs +676 -374
  209. package/dist/languages/swahili.d.ts +10 -1
  210. package/dist/languages/swahili.mjs +2 -1
  211. package/dist/languages/swedish.d.ts +10 -1
  212. package/dist/languages/swedish.mjs +237 -95
  213. package/dist/languages/tagalog.d.ts +15 -0
  214. package/dist/languages/tagalog.mjs +159 -0
  215. package/dist/languages/tamil.d.ts +10 -1
  216. package/dist/languages/tamil.mjs +836 -64
  217. package/dist/languages/tatar.d.ts +15 -0
  218. package/dist/languages/tatar.mjs +1017 -0
  219. package/dist/languages/telugu.d.ts +15 -0
  220. package/dist/languages/telugu.mjs +62 -0
  221. package/dist/languages/thai.d.ts +15 -0
  222. package/dist/languages/thai.mjs +65 -0
  223. package/dist/languages/tibetan.d.ts +15 -0
  224. package/dist/languages/tibetan.mjs +119 -0
  225. package/dist/languages/tigrinya.d.ts +15 -0
  226. package/dist/languages/tigrinya.mjs +194 -0
  227. package/dist/languages/tongan.d.ts +15 -0
  228. package/dist/languages/tongan.mjs +56 -0
  229. package/dist/languages/turkish.d.ts +10 -1
  230. package/dist/languages/turkish.mjs +1246 -393
  231. package/dist/languages/twi.d.ts +11 -1
  232. package/dist/languages/twi.mjs +13 -2
  233. package/dist/languages/ukrainian.d.ts +10 -1
  234. package/dist/languages/ukrainian.mjs +125 -47
  235. package/dist/languages/urdu.d.ts +15 -0
  236. package/dist/languages/urdu.mjs +528 -0
  237. package/dist/languages/vietnamese.d.ts +15 -0
  238. package/dist/languages/vietnamese.mjs +277 -0
  239. package/dist/languages/welsh.d.ts +15 -0
  240. package/dist/languages/welsh.mjs +446 -0
  241. package/dist/languages/wolof.d.ts +15 -0
  242. package/dist/languages/wolof.mjs +79 -0
  243. package/dist/languages/xhosa.d.ts +15 -0
  244. package/dist/languages/xhosa.mjs +95 -0
  245. package/dist/languages/yoruba.d.ts +11 -1
  246. package/dist/languages/yoruba.mjs +1 -0
  247. package/dist/languages/zulu.d.ts +11 -1
  248. package/dist/languages/zulu.mjs +2 -1
  249. package/dist/persistence/durability/checkpoint-worker.d.ts +13 -0
  250. package/dist/persistence/durability/checkpoint-worker.mjs +6 -5
  251. package/dist/schema-CE6S_aAr.d.ts +208 -0
  252. package/dist/search-CgQQIciB.d.ts +786 -0
  253. package/dist/server.d.ts +214 -12
  254. package/dist/server.mjs +41 -2
  255. package/dist/types-BV3nAKTL.d.ts +302 -0
  256. package/dist/vector/hnsw-build-worker.d.ts +68 -2
  257. package/dist/vector/hnsw-build-worker.mjs +0 -2
  258. package/dist/workers/entry.mjs +2 -2
  259. package/package.json +14 -4
  260. package/dist/adapters-Bo2JQg8b.d.ts +0 -37
  261. package/dist/chunk-TW6BXTOL.mjs +0 -338
  262. package/dist/config-CojEPOgS.d.ts +0 -481
  263. package/dist/direct-executor-E52FFGDE.mjs +0 -4
  264. package/dist/language-ONQ3iVDf.d.ts +0 -14
  265. package/dist/narsil-D-84Nvm4.d.ts +0 -72
  266. package/dist/schema-DCgkO1j4.d.ts +0 -65
  267. package/dist/types-DHX6zGeD.d.ts +0 -73
@@ -1,152 +1,235 @@
1
- // src/languages/irish.ts
2
- var VOWELS = "aeiou\xE1\xE9\xED\xF3\xFA";
3
- function isVowel(ch) {
4
- return VOWELS.includes(ch);
5
- }
6
- function findRegions(word) {
7
- let r1 = word.length;
8
- let r2 = word.length;
9
- let rv = word.length;
10
- for (let i = 1; i < word.length; i++) {
11
- if (!isVowel(word[i]) && isVowel(word[i - 1])) {
12
- r1 = i + 1;
13
- break;
1
+ import { BaseStemmer } from '../chunk-U2BKYEC7.mjs';
2
+
3
+ // src/languages/snowball/irish.ts
4
+ var a_0 = [
5
+ ["b'", 1],
6
+ ["bh", 4],
7
+ ["bhf", 2, 1],
8
+ ["bp", 8],
9
+ ["ch", 5],
10
+ ["d'", 1],
11
+ ["d'fh", 2, 1],
12
+ ["dh", 6],
13
+ ["dt", 9],
14
+ ["fh", 2],
15
+ ["gc", 5],
16
+ ["gh", 7],
17
+ ["h-", 1],
18
+ ["m'", 1],
19
+ ["mb", 4],
20
+ ["mh", 10],
21
+ ["n-", 1],
22
+ ["nd", 6],
23
+ ["ng", 7],
24
+ ["ph", 8],
25
+ ["sh", 3],
26
+ ["t-", 1],
27
+ ["th", 9],
28
+ ["ts", 3]
29
+ ];
30
+ var as_0 = ["", "f", "s", "b", "c", "d", "g", "p", "t", "m"];
31
+ var a_1 = [
32
+ ["\xEDochta", 1],
33
+ ["a\xEDochta", 1, 1],
34
+ ["ire", 2],
35
+ ["aire", 2, 1],
36
+ ["abh", 1],
37
+ ["eabh", 1, 1],
38
+ ["ibh", 1],
39
+ ["aibh", 1, 1],
40
+ ["amh", 1],
41
+ ["eamh", 1, 1],
42
+ ["imh", 1],
43
+ ["aimh", 1, 1],
44
+ ["\xEDocht", 1],
45
+ ["a\xEDocht", 1, 1],
46
+ ["ir\xED", 2],
47
+ ["air\xED", 2, 1]
48
+ ];
49
+ var a_2 = [
50
+ ["\xF3ideacha", 6],
51
+ ["patacha", 5],
52
+ ["achta", 1],
53
+ ["arcachta", 2, 1],
54
+ ["eachta", 1, 2],
55
+ ["grafa\xEDochta", 4],
56
+ ["paite", 5],
57
+ ["ach", 1],
58
+ ["each", 1, 1],
59
+ ["\xF3ideach", 6, 1],
60
+ ["gineach", 3, 2],
61
+ ["patach", 5, 4],
62
+ ["grafa\xEDoch", 4],
63
+ ["pataigh", 5],
64
+ ["\xF3idigh", 6],
65
+ ["acht\xFAil", 1],
66
+ ["eacht\xFAil", 1, 1],
67
+ ["gineas", 3],
68
+ ["ginis", 3],
69
+ ["acht", 1],
70
+ ["arcacht", 2, 1],
71
+ ["eacht", 1, 2],
72
+ ["grafa\xEDocht", 4],
73
+ ["arcachta\xED", 2],
74
+ ["grafa\xEDochta\xED", 4]
75
+ ];
76
+ var a_3 = [
77
+ ["imid", 1],
78
+ ["aimid", 1, 1],
79
+ ["\xEDmid", 1],
80
+ ["a\xEDmid", 1, 1],
81
+ ["adh", 2],
82
+ ["eadh", 2, 1],
83
+ ["faidh", 1],
84
+ ["fidh", 1],
85
+ ["\xE1il", 2],
86
+ ["ain", 2],
87
+ ["tear", 2],
88
+ ["tar", 2]
89
+ ];
90
+ var g_v = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 2];
91
+ var IrishStemmer = class extends BaseStemmer {
92
+ #stem() {
93
+ let a;
94
+ let I_p2;
95
+ let I_p1;
96
+ let I_pV;
97
+ const v_1 = this.c;
98
+ lab0: {
99
+ this.bra = this.c;
100
+ a = this.find_among(a_0);
101
+ if (a === 0) break lab0;
102
+ this.ket = this.c;
103
+ this.slice_from(as_0[a - 1]);
14
104
  }
15
- }
16
- for (let i = r1 + 1; i < word.length; i++) {
17
- if (!isVowel(word[i]) && isVowel(word[i - 1])) {
18
- r2 = i + 1;
19
- break;
105
+ this.c = v_1;
106
+ {
107
+ I_pV = this.limit;
108
+ I_p1 = this.limit;
109
+ I_p2 = this.limit;
110
+ const v_2 = this.c;
111
+ lab2: {
112
+ if (!this.go_out_grouping(g_v, 97, 250)) break lab2;
113
+ this.c++;
114
+ I_pV = this.c;
115
+ if (!this.go_in_grouping(g_v, 97, 250)) break lab2;
116
+ this.c++;
117
+ I_p1 = this.c;
118
+ if (!this.go_out_grouping(g_v, 97, 250)) break lab2;
119
+ this.c++;
120
+ if (!this.go_in_grouping(g_v, 97, 250)) break lab2;
121
+ this.c++;
122
+ I_p2 = this.c;
123
+ }
124
+ this.c = v_2;
20
125
  }
21
- }
22
- let foundConsonantCluster = false;
23
- for (let i = 0; i < word.length; i++) {
24
- if (!foundConsonantCluster) {
25
- if (!isVowel(word[i])) continue;
26
- foundConsonantCluster = false;
27
- for (let j = i + 1; j < word.length; j++) {
28
- if (!isVowel(word[j])) {
29
- rv = j + 1;
30
- foundConsonantCluster = true;
126
+ this.limit_backward = this.c;
127
+ this.c = this.limit;
128
+ const v_3 = this.limit - this.c;
129
+ lab3: {
130
+ this.ket = this.c;
131
+ a = this.find_among_b(a_1);
132
+ if (a === 0) break lab3;
133
+ this.bra = this.c;
134
+ switch (a) {
135
+ case 1: {
136
+ if (
137
+ /**@type {boolean}*/
138
+ I_p1 > this.c
139
+ ) break lab3;
140
+ this.slice_del();
141
+ break;
142
+ }
143
+ case 2: {
144
+ if (
145
+ /**@type {boolean}*/
146
+ I_p2 > this.c
147
+ ) break lab3;
148
+ this.slice_del();
31
149
  break;
32
150
  }
33
151
  }
34
- if (foundConsonantCluster) break;
35
152
  }
36
- }
37
- return { r1, r2, rv };
38
- }
39
- var ECLIPSIS = [
40
- ["bhf", "f"],
41
- ["mb", "b"],
42
- ["gc", "c"],
43
- ["nd", "d"],
44
- ["ng", "g"],
45
- ["bp", "p"],
46
- ["ts", "s"],
47
- ["dt", "t"]
48
- ];
49
- var LENITION = [
50
- ["bh", "b"],
51
- ["ch", "c"],
52
- ["dh", "d"],
53
- ["fh", "f"],
54
- ["gh", "g"],
55
- ["mh", "m"],
56
- ["ph", "p"],
57
- ["sh", "s"],
58
- ["th", "t"]
59
- ];
60
- function removeInitialMutations(word) {
61
- if (word.startsWith("d'") || word.startsWith("b'")) {
62
- const rest = word.slice(2);
63
- if (rest.length > 0 && isVowel(rest[0])) {
64
- return rest;
65
- }
66
- }
67
- if (word.startsWith("h-") || word.startsWith("n-") || word.startsWith("t-")) {
68
- const rest = word.slice(2);
69
- if (rest.length > 0 && isVowel(rest[0])) {
70
- return rest;
71
- }
72
- }
73
- for (const [mutation, replacement] of ECLIPSIS) {
74
- if (word.startsWith(mutation)) {
75
- return `${replacement}${word.slice(mutation.length)}`;
76
- }
77
- }
78
- for (const [mutation, replacement] of LENITION) {
79
- if (word.startsWith(mutation)) {
80
- return `${replacement}${word.slice(mutation.length)}`;
153
+ this.c = this.limit - v_3;
154
+ const v_4 = this.limit - this.c;
155
+ lab4: {
156
+ this.ket = this.c;
157
+ a = this.find_among_b(a_2);
158
+ if (a === 0) break lab4;
159
+ this.bra = this.c;
160
+ switch (a) {
161
+ case 1: {
162
+ if (
163
+ /**@type {boolean}*/
164
+ I_p2 > this.c
165
+ ) break lab4;
166
+ this.slice_del();
167
+ break;
168
+ }
169
+ case 2: {
170
+ this.slice_from("arc");
171
+ break;
172
+ }
173
+ case 3: {
174
+ this.slice_from("gin");
175
+ break;
176
+ }
177
+ case 4: {
178
+ this.slice_from("graf");
179
+ break;
180
+ }
181
+ case 5: {
182
+ this.slice_from("paite");
183
+ break;
184
+ }
185
+ case 6: {
186
+ this.slice_from("\xF3id");
187
+ break;
188
+ }
189
+ }
81
190
  }
82
- }
83
- return word;
84
- }
85
- var NOUN_SUFFIXES = [
86
- "arcachta\xED",
87
- "gineadach",
88
- "a\xEDochta\xED",
89
- "eachta\xED",
90
- "\xEDochta\xED",
91
- "a\xEDochta",
92
- "achta\xED",
93
- "eachta",
94
- "gineas",
95
- "\xE9altas",
96
- "\xEDochta",
97
- "a\xEDocht",
98
- "eanna",
99
- "achta",
100
- "eacht",
101
- "anna",
102
- "acht",
103
- "aire",
104
- "ire"
105
- ];
106
- var VERB_SUFFIXES = [
107
- "a\xEDomar",
108
- "a\xEDtear",
109
- "aimid",
110
- "aim\xEDs",
111
- "aimis",
112
- "a\xEDodh",
113
- "a\xEDonn",
114
- "eamar",
115
- "imid",
116
- "\xEDmid",
117
- "\xEDm\xEDs",
118
- "imis",
119
- "tear",
120
- "eadh",
121
- "aidh",
122
- "igh",
123
- "ann",
124
- "adh"
125
- ];
126
- function removeSuffixInRegion(word, suffixes, regionStart) {
127
- for (const suffix of suffixes) {
128
- if (word.endsWith(suffix) && word.length - suffix.length >= regionStart) {
129
- return word.slice(0, word.length - suffix.length);
191
+ this.c = this.limit - v_4;
192
+ const v_5 = this.limit - this.c;
193
+ lab5: {
194
+ this.ket = this.c;
195
+ a = this.find_among_b(a_3);
196
+ if (a === 0) break lab5;
197
+ this.bra = this.c;
198
+ switch (a) {
199
+ case 1: {
200
+ if (
201
+ /**@type {boolean}*/
202
+ I_pV > this.c
203
+ ) break lab5;
204
+ this.slice_del();
205
+ break;
206
+ }
207
+ case 2: {
208
+ if (
209
+ /**@type {boolean}*/
210
+ I_p1 > this.c
211
+ ) break lab5;
212
+ this.slice_del();
213
+ break;
214
+ }
215
+ }
130
216
  }
217
+ this.c = this.limit - v_5;
218
+ this.c = this.limit_backward;
219
+ return true;
131
220
  }
132
- return null;
133
- }
134
- function stem(word) {
135
- if (word.length < 3) return word;
136
- word = removeInitialMutations(word);
137
- if (word.length < 3) return word;
138
- const { r2, rv } = findRegions(word);
139
- const nounResult = removeSuffixInRegion(word, NOUN_SUFFIXES, r2);
140
- if (nounResult !== null) {
141
- word = nounResult;
142
- } else {
143
- const verbResult = removeSuffixInRegion(word, VERB_SUFFIXES, rv);
144
- if (verbResult !== null) {
145
- word = verbResult;
146
- }
221
+ stem(input) {
222
+ this.setCurrent(input);
223
+ this.#stem();
224
+ return this.getCurrent();
147
225
  }
148
- return word;
226
+ };
227
+ var shared = new IrishStemmer();
228
+ function stem(token) {
229
+ return shared.stem(token);
149
230
  }
231
+
232
+ // src/languages/irish.ts
150
233
  var stopWords = /* @__PURE__ */ new Set([
151
234
  "a",
152
235
  "ach",
@@ -260,9 +343,10 @@ var stopWords = /* @__PURE__ */ new Set([
260
343
  ]);
261
344
  var irish = {
262
345
  name: "irish",
346
+ revision: "c79c8adddaf02ae4",
263
347
  stemmer: stem,
264
348
  stopWords,
265
- tokenizer: { splitPattern: /[^a-z0-9áéíóú]+/gi }
349
+ tokenizer: { splitPattern: /[^a-z0-9áéíóú'-]+/gi }
266
350
  };
267
351
 
268
352
  export { irish };
@@ -1,5 +1,14 @@
1
- import { L as LanguageModule } from '../language-ONQ3iVDf.js';
1
+ import { L as LanguageModule } from '../language-DB8KG1z5.js';
2
2
 
3
+ /**
4
+ * Italian analysis: the Snowball stemmer, the stop word list, and the rules
5
+ * that split Italian text into tokens.
6
+ *
7
+ * Import it and pass it to {@link registerLanguage} before you create an index
8
+ * whose `language` is `italian`.
9
+ *
10
+ * @public
11
+ */
3
12
  declare const italian: LanguageModule;
4
13
 
5
14
  export { italian };