@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,274 @@
1
+ // src/languages/norwegian.ts
2
+ var VOWELS = "aeiouy\xE5\xE6\xF8";
3
+ function isVowel(ch) {
4
+ return VOWELS.includes(ch);
5
+ }
6
+ function computeR1(word) {
7
+ let i = 0;
8
+ while (i < word.length && !isVowel(word[i])) i++;
9
+ while (i < word.length && isVowel(word[i])) i++;
10
+ const r1 = i < word.length ? i + 1 : word.length;
11
+ return Math.max(r1, 3);
12
+ }
13
+ var S_ENDINGS = "bcdfghjlmnoprtvyz";
14
+ var STEP1_SUFFIXES = [
15
+ "hetenes",
16
+ "hetene",
17
+ "hetens",
18
+ "endes",
19
+ "heten",
20
+ "heter",
21
+ "ande",
22
+ "ende",
23
+ "edes",
24
+ "enes",
25
+ "erte",
26
+ "ane",
27
+ "ene",
28
+ "ens",
29
+ "ers",
30
+ "ets",
31
+ "ede",
32
+ "het",
33
+ "en",
34
+ "ar",
35
+ "er",
36
+ "et",
37
+ "as",
38
+ "es",
39
+ "ert",
40
+ "ast",
41
+ "a",
42
+ "e",
43
+ "s"
44
+ ];
45
+ function step1(word, r1) {
46
+ for (const suffix of STEP1_SUFFIXES) {
47
+ if (!word.endsWith(suffix)) continue;
48
+ const boundary = word.length - suffix.length;
49
+ if (boundary < r1) continue;
50
+ if (suffix === "erte" || suffix === "ert") {
51
+ return `${word.slice(0, boundary)}er`;
52
+ }
53
+ if (suffix === "s") {
54
+ if (boundary > 0) {
55
+ const preceding = word[boundary - 1];
56
+ if (S_ENDINGS.includes(preceding)) return word.slice(0, boundary);
57
+ if (preceding === "k" && boundary > 1 && !isVowel(word[boundary - 2])) {
58
+ return word.slice(0, boundary);
59
+ }
60
+ }
61
+ continue;
62
+ }
63
+ return word.slice(0, boundary);
64
+ }
65
+ return word;
66
+ }
67
+ function step2(word, r1) {
68
+ if (word.length < 2) return word;
69
+ const last2 = word.slice(-2);
70
+ if ((last2 === "dt" || last2 === "vt") && word.length - 2 >= r1) {
71
+ return word.slice(0, -1);
72
+ }
73
+ return word;
74
+ }
75
+ var STEP3_SUFFIXES = ["hetslov", "elov", "slov", "elig", "eleg", "lig", "eig", "leg", "lov", "els", "ig"];
76
+ function step3(word, r1) {
77
+ for (const suffix of STEP3_SUFFIXES) {
78
+ if (!word.endsWith(suffix)) continue;
79
+ if (word.length - suffix.length >= r1) {
80
+ return word.slice(0, word.length - suffix.length);
81
+ }
82
+ }
83
+ return word;
84
+ }
85
+ function stem(word) {
86
+ if (word.length < 3) return word;
87
+ const r1 = computeR1(word);
88
+ word = step1(word, r1);
89
+ word = step2(word, r1);
90
+ word = step3(word, r1);
91
+ return word;
92
+ }
93
+ var stopWords = /* @__PURE__ */ new Set([
94
+ "og",
95
+ "i",
96
+ "jeg",
97
+ "det",
98
+ "at",
99
+ "en",
100
+ "et",
101
+ "den",
102
+ "til",
103
+ "er",
104
+ "som",
105
+ "p\xE5",
106
+ "de",
107
+ "med",
108
+ "han",
109
+ "av",
110
+ "ikke",
111
+ "ikkje",
112
+ "der",
113
+ "s\xE5",
114
+ "var",
115
+ "meg",
116
+ "seg",
117
+ "men",
118
+ "ett",
119
+ "har",
120
+ "om",
121
+ "vi",
122
+ "min",
123
+ "mitt",
124
+ "ha",
125
+ "hadde",
126
+ "hun",
127
+ "n\xE5",
128
+ "over",
129
+ "da",
130
+ "ved",
131
+ "fra",
132
+ "du",
133
+ "ut",
134
+ "sin",
135
+ "dem",
136
+ "oss",
137
+ "opp",
138
+ "man",
139
+ "kan",
140
+ "hans",
141
+ "hvor",
142
+ "eller",
143
+ "hva",
144
+ "skal",
145
+ "selv",
146
+ "sj\xF8l",
147
+ "her",
148
+ "alle",
149
+ "vil",
150
+ "bli",
151
+ "ble",
152
+ "blei",
153
+ "blitt",
154
+ "kunne",
155
+ "inn",
156
+ "n\xE5r",
157
+ "v\xE6re",
158
+ "kom",
159
+ "noen",
160
+ "noe",
161
+ "ville",
162
+ "dere",
163
+ "deres",
164
+ "kun",
165
+ "ja",
166
+ "etter",
167
+ "ned",
168
+ "skulle",
169
+ "denne",
170
+ "for",
171
+ "deg",
172
+ "si",
173
+ "sine",
174
+ "sitt",
175
+ "mot",
176
+ "\xE5",
177
+ "meget",
178
+ "hvorfor",
179
+ "dette",
180
+ "disse",
181
+ "uten",
182
+ "hvordan",
183
+ "ingen",
184
+ "din",
185
+ "ditt",
186
+ "blir",
187
+ "samme",
188
+ "hvilken",
189
+ "hvilke",
190
+ "s\xE5nn",
191
+ "inni",
192
+ "mellom",
193
+ "v\xE5r",
194
+ "hver",
195
+ "hvem",
196
+ "vors",
197
+ "hvis",
198
+ "b\xE5de",
199
+ "bare",
200
+ "enn",
201
+ "fordi",
202
+ "f\xF8r",
203
+ "mange",
204
+ "ogs\xE5",
205
+ "slik",
206
+ "v\xE6rt",
207
+ "b\xE5e",
208
+ "begge",
209
+ "siden",
210
+ "dykk",
211
+ "dykkar",
212
+ "dei",
213
+ "deira",
214
+ "deires",
215
+ "deim",
216
+ "di",
217
+ "d\xE5",
218
+ "eg",
219
+ "ein",
220
+ "eit",
221
+ "eitt",
222
+ "elles",
223
+ "honom",
224
+ "hj\xE5",
225
+ "ho",
226
+ "hoe",
227
+ "henne",
228
+ "hennar",
229
+ "hennes",
230
+ "hoss",
231
+ "hossen",
232
+ "ingi",
233
+ "inkje",
234
+ "korleis",
235
+ "korso",
236
+ "kva",
237
+ "kvar",
238
+ "kvarhelst",
239
+ "kven",
240
+ "kvi",
241
+ "kvifor",
242
+ "me",
243
+ "medan",
244
+ "mi",
245
+ "mine",
246
+ "mykje",
247
+ "no",
248
+ "nokon",
249
+ "noka",
250
+ "nokor",
251
+ "noko",
252
+ "nokre",
253
+ "sia",
254
+ "sidan",
255
+ "so",
256
+ "somt",
257
+ "somme",
258
+ "um",
259
+ "upp",
260
+ "vere",
261
+ "vore",
262
+ "verte",
263
+ "vort",
264
+ "varte",
265
+ "vart"
266
+ ]);
267
+ var norwegian = {
268
+ name: "norwegian",
269
+ stemmer: stem,
270
+ stopWords,
271
+ tokenizer: { splitPattern: /[^a-z0-9æøåäöü]+/gi }
272
+ };
273
+
274
+ export { norwegian };
@@ -0,0 +1,5 @@
1
+ import { L as LanguageModule } from '../language-ClUGLuoC.js';
2
+
3
+ declare const portuguese: LanguageModule;
4
+
5
+ export { portuguese };