@extable/sequence 0.1.0 → 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.
package/dist/index.js CHANGED
@@ -1,178 +1,170 @@
1
- const m = (e) => e.trim().normalize("NFKC").toLowerCase().replace(/\s+/g, " "), j = (e) => {
2
- const t = [];
1
+ const h = (e) => e.trim().normalize("NFKC").toLowerCase().replace(/\s+/g, " "), C = (e) => {
2
+ const n = [];
3
3
  if (e)
4
- for (const n of e) {
5
- const r = n.trim();
6
- !r || t.includes(r) || t.push(r);
4
+ for (const t of e) {
5
+ const s = t.trim();
6
+ !s || n.includes(s) || n.push(s);
7
7
  }
8
- return t.length === 0 ? t.push("en") : t.includes("en") || t.push("en"), t;
9
- }, T = (e, t) => {
10
- const n = e.items.indexOf(t);
11
- if (n !== -1)
12
- return n;
8
+ return n.length === 0 ? n.push("en") : n.includes("en") || n.push("en"), n;
9
+ }, W = (e, n) => {
10
+ const t = e.items.indexOf(n);
11
+ if (t !== -1)
12
+ return t;
13
13
  if (!e.aliases)
14
14
  return null;
15
- const r = e.aliases[t];
16
- if (!r)
15
+ const s = e.aliases[n];
16
+ if (!s)
17
17
  return null;
18
- const s = e.items.indexOf(r);
19
- return s === -1 ? null : s;
20
- }, M = (e, t) => {
21
- const n = m(t);
22
- if (m(e.id).includes(n))
18
+ const r = e.items.indexOf(s);
19
+ return r === -1 ? null : r;
20
+ }, F = (e, n) => {
21
+ const t = h(n);
22
+ if (h(e.id).includes(t))
23
23
  return !0;
24
- for (const r of e.items)
25
- if (m(r).includes(n))
24
+ for (const s of e.items)
25
+ if (h(s).includes(t))
26
26
  return !0;
27
27
  return e.aliases ? Object.keys(e.aliases).some(
28
- (r) => m(r).includes(n)
28
+ (s) => h(s).includes(t)
29
29
  ) : !1;
30
- }, w = (e, t) => {
30
+ }, O = (e, n) => {
31
31
  if (e.langs.length === 0)
32
32
  return 0;
33
- let n = Number.POSITIVE_INFINITY;
34
- for (const r of e.langs) {
35
- const s = t.indexOf(r);
36
- s !== -1 && s < n && (n = s);
33
+ let t = Number.POSITIVE_INFINITY;
34
+ for (const s of e.langs) {
35
+ const r = n.indexOf(s);
36
+ r !== -1 && r < t && (t = r);
37
37
  }
38
- return n;
39
- }, E = (e, t) => !e.langs || e.langs.length === 0 ? !0 : e.langs.some((n) => t.includes(n));
40
- class J {
41
- constructor(t) {
42
- this.lists = [], this.matchers = [], this.langs = j(t?.langs);
43
- }
44
- register(t) {
45
- const n = this.lists.findIndex((r) => r.id === t.id);
46
- n === -1 ? this.lists.push(t) : this.lists[n] = t;
47
- }
48
- registerMatch(t) {
49
- const n = this.matchers.findIndex((r) => r.id === t.id);
50
- n === -1 ? this.matchers.push(t) : this.matchers[n] = t;
51
- }
52
- unregister(t) {
53
- this.lists = this.lists.filter((n) => n.id !== t), this.matchers = this.matchers.filter((n) => n.id !== t);
54
- }
55
- list(t) {
56
- let n = [...this.lists];
57
- if (t?.enabledIds && t.enabledIds.length > 0) {
58
- const s = new Set(t.enabledIds);
59
- n = n.filter((i) => s.has(i.id));
38
+ return t;
39
+ }, P = (e, n) => !e.langs || e.langs.length === 0 ? !0 : e.langs.some((t) => n.includes(t));
40
+ class V {
41
+ constructor(n) {
42
+ this.lists = [], this.matchers = [], this.langs = C(n?.langs);
43
+ }
44
+ register(n) {
45
+ const t = this.lists.findIndex((s) => s.id === n.id);
46
+ t === -1 ? this.lists.push(n) : this.lists[t] = n;
47
+ }
48
+ registerMatch(n) {
49
+ const t = this.matchers.findIndex((s) => s.id === n.id);
50
+ t === -1 ? this.matchers.push(n) : this.matchers[t] = n;
51
+ }
52
+ unregister(n) {
53
+ this.lists = this.lists.filter((t) => t.id !== n), this.matchers = this.matchers.filter((t) => t.id !== n);
54
+ }
55
+ list(n) {
56
+ let t = [...this.lists];
57
+ if (n?.enabledIds && n.enabledIds.length > 0) {
58
+ const r = new Set(n.enabledIds);
59
+ t = t.filter((o) => r.has(o.id));
60
60
  }
61
- const r = t?.queryText;
62
- return r && (n = n.filter((s) => M(s, r))), n;
61
+ const s = n?.queryText;
62
+ return s && (t = t.filter((r) => F(r, s))), t;
63
63
  }
64
- match(t, n) {
65
- if (t.length === 0)
64
+ match(n, t) {
65
+ if (n.length === 0)
66
66
  return null;
67
- let r = null, s = Number.NEGATIVE_INFINITY;
68
- const i = n?.enabledIds ? new Set(n.enabledIds) : null;
69
- for (const o of this.matchers) {
70
- if (i && !i.has(o.id) || !E(o, this.langs))
67
+ let s = null, r = Number.NEGATIVE_INFINITY;
68
+ const o = t?.enabledIds ? new Set(t.enabledIds) : null;
69
+ for (const a of this.matchers) {
70
+ if (o && !o.has(a.id) || !P(a, this.langs))
71
71
  continue;
72
- const l = o.match(t);
73
- if (!l)
72
+ const u = a.match(n);
73
+ if (!u)
74
74
  continue;
75
- const u = l.score;
76
- Number.isFinite(u) && u > s && (s = u, r = {
75
+ const l = u.score;
76
+ Number.isFinite(l) && l > r && (r = l, s = {
77
77
  kind: "matcher",
78
- matcher: o,
79
- step: l.step ?? 1,
80
- state: l.state
78
+ matcher: a,
79
+ step: u.step ?? 1,
80
+ state: u.state
81
81
  });
82
82
  }
83
- const a = this.list(n).map((o) => ({ list: o, rank: w(o, this.langs) })).filter((o) => Number.isFinite(o.rank)).sort((o, l) => o.rank - l.rank);
84
- for (const { list: o, rank: l } of a) {
85
- const u = [];
86
- let f = !1;
87
- for (const N of t) {
88
- const p = T(o, N);
89
- if (p === null) {
90
- f = !0;
83
+ const i = this.list(t).map((a) => ({ list: a, rank: O(a, this.langs) })).filter((a) => Number.isFinite(a.rank)).sort((a, u) => a.rank - u.rank);
84
+ for (const { list: a, rank: u } of i) {
85
+ const l = [];
86
+ let c = !1;
87
+ for (const E of n) {
88
+ const x = W(a, E);
89
+ if (x === null) {
90
+ c = !0;
91
91
  break;
92
92
  }
93
- u.push(p);
93
+ l.push(x);
94
94
  }
95
- if (f)
95
+ if (c)
96
96
  continue;
97
- const h = this.inferStep(o, u);
98
- if (h === null)
97
+ const d = this.inferStep(a, l);
98
+ if (d === null)
99
99
  continue;
100
- const g = 10 - l;
101
- g > s && (s = g, r = {
100
+ const S = 10 - u;
101
+ S > r && (r = S, s = {
102
102
  kind: "list",
103
- list: o,
104
- startIndex: u[u.length - 1] ?? 0,
105
- step: h
103
+ list: a,
104
+ startIndex: l[l.length - 1] ?? 0,
105
+ step: d
106
106
  });
107
107
  }
108
- return r;
108
+ return s;
109
109
  }
110
- inferStep(t, n) {
111
- if (n.length < 2)
110
+ inferStep(n, t) {
111
+ if (t.length < 2)
112
112
  return 1;
113
- const r = t.items.length, s = this.stepBetween(t.mode, r, n[0], n[1]);
114
- if (s === null)
113
+ const s = n.items.length, r = this.stepBetween(n.mode, s, t[0], t[1]);
114
+ if (r === null)
115
115
  return null;
116
- for (let i = 2; i < n.length; i += 1) {
117
- const a = this.nextIndex(t.mode, r, n[i - 1], s);
118
- if (a === null || a !== n[i])
116
+ for (let o = 2; o < t.length; o += 1) {
117
+ const i = this.nextIndex(n.mode, s, t[o - 1], r);
118
+ if (i === null || i !== t[o])
119
119
  return null;
120
120
  }
121
- return s;
121
+ return r;
122
122
  }
123
- stepBetween(t, n, r, s) {
124
- if (t === "cycle")
125
- return (s - r + n) % n;
126
- const i = s - r;
127
- return i < 0 ? null : i;
123
+ stepBetween(n, t, s, r) {
124
+ if (n === "cycle")
125
+ return (r - s + t) % t;
126
+ const o = r - s;
127
+ return o < 0 ? null : o;
128
128
  }
129
- nextIndex(t, n, r, s) {
130
- if (t === "cycle")
131
- return (r + s) % n;
132
- const i = r + s;
133
- return i >= n ? null : i;
129
+ nextIndex(n, t, s, r) {
130
+ if (n === "cycle")
131
+ return (s + r) % t;
132
+ const o = s + r;
133
+ return o >= t ? null : o;
134
134
  }
135
135
  }
136
- const A = {
137
- id: "weekdays-en",
136
+ const J = {
137
+ id: "weekdays-en-long",
138
+ mode: "cycle",
139
+ langs: ["en"],
140
+ items: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
141
+ }, R = {
142
+ id: "weekdays-en-short",
138
143
  mode: "cycle",
139
144
  langs: ["en"],
140
- items: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
145
+ items: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
141
146
  aliases: {
142
- Mon: "Monday",
143
- Tue: "Tuesday",
144
- Tues: "Tuesday",
145
- Wed: "Wednesday",
146
- Thu: "Thursday",
147
- Thur: "Thursday",
148
- Thurs: "Thursday",
149
- Fri: "Friday",
150
- Sat: "Saturday",
151
- Sun: "Sunday"
152
- }
153
- }, L = {
154
- id: "weekdays-ja",
147
+ Tues: "Tue",
148
+ Thur: "Thu",
149
+ Thurs: "Thu"
150
+ }
151
+ }, D = {
152
+ id: "weekdays-ja-long",
155
153
  mode: "cycle",
156
154
  langs: ["ja"],
157
- items: ["月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日", "日曜日"],
158
- aliases: {
159
- 月曜: "月曜日",
160
- 月: "月曜日",
161
- 火曜: "火曜日",
162
- 火: "火曜日",
163
- 水曜: "水曜日",
164
- 水: "水曜日",
165
- 木曜: "木曜日",
166
- 木: "木曜日",
167
- 金曜: "金曜日",
168
- 金: "金曜日",
169
- 土曜: "土曜日",
170
- 土: "土曜日",
171
- 日曜: "日曜日",
172
- 日: "日曜日"
173
- }
174
- }, F = {
175
- id: "months-en",
155
+ items: ["月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日", "日曜日"]
156
+ }, K = {
157
+ id: "weekdays-ja-short",
158
+ mode: "cycle",
159
+ langs: ["ja"],
160
+ items: ["月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"]
161
+ }, $ = {
162
+ id: "weekdays-ja-single",
163
+ mode: "cycle",
164
+ langs: ["ja"],
165
+ items: ["", "火", "水", "木", "金", "土", "日"]
166
+ }, z = {
167
+ id: "months-en-long",
176
168
  mode: "cycle",
177
169
  langs: ["en"],
178
170
  items: [
@@ -188,47 +180,41 @@ const A = {
188
180
  "October",
189
181
  "November",
190
182
  "December"
191
- ],
183
+ ]
184
+ }, B = {
185
+ id: "months-en-short",
186
+ mode: "cycle",
187
+ langs: ["en"],
188
+ items: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
192
189
  aliases: {
193
- Jan: "January",
194
- Feb: "February",
195
- Mar: "March",
196
- Apr: "April",
197
- Jun: "June",
198
- Jul: "July",
199
- Aug: "August",
200
- Sep: "September",
201
- Sept: "September",
202
- Oct: "October",
203
- Nov: "November",
204
- Dec: "December"
205
- }
206
- }, v = {
190
+ Sept: "Sep"
191
+ }
192
+ }, G = {
207
193
  id: "months-ja",
208
194
  mode: "cycle",
209
195
  langs: ["ja"],
210
196
  items: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
211
- }, z = {
197
+ }, H = {
212
198
  id: "months-ja-traditional",
213
199
  mode: "cycle",
214
200
  langs: ["ja"],
215
201
  items: ["睦月", "如月", "弥生", "卯月", "皐月", "水無月", "文月", "葉月", "長月", "神無月", "霜月", "師走"]
216
- }, O = {
202
+ }, U = {
217
203
  id: "quarters-en",
218
204
  mode: "cycle",
219
205
  langs: ["en"],
220
206
  items: ["Q1", "Q2", "Q3", "Q4"]
221
- }, P = {
207
+ }, Y = {
222
208
  id: "quarters-ja",
223
209
  mode: "cycle",
224
210
  langs: ["ja"],
225
211
  items: ["第1四半期", "第2四半期", "第3四半期", "第4四半期"]
226
- }, R = {
212
+ }, q = {
227
213
  id: "zodiac-animals-ja",
228
214
  mode: "cycle",
229
215
  langs: ["ja"],
230
216
  items: ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
231
- }, C = {
217
+ }, X = {
232
218
  id: "zodiac-signs-en",
233
219
  mode: "cycle",
234
220
  langs: ["en"],
@@ -246,7 +232,7 @@ const A = {
246
232
  "Aquarius",
247
233
  "Pisces"
248
234
  ]
249
- }, D = {
235
+ }, Q = {
250
236
  id: "zodiac-signs-ja",
251
237
  mode: "cycle",
252
238
  langs: ["ja"],
@@ -254,7 +240,7 @@ const A = {
254
240
  aliases: {
255
241
  さそり座: "蠍座"
256
242
  }
257
- }, $ = {
243
+ }, Z = {
258
244
  id: "directions-16-en",
259
245
  mode: "cycle",
260
246
  langs: ["en"],
@@ -276,7 +262,7 @@ const A = {
276
262
  "Northwest",
277
263
  "North-Northwest"
278
264
  ]
279
- }, V = {
265
+ }, _ = {
280
266
  id: "directions-16-ja",
281
267
  mode: "cycle",
282
268
  langs: ["ja"],
@@ -298,7 +284,7 @@ const A = {
298
284
  "北西",
299
285
  "北北西"
300
286
  ]
301
- }, W = {
287
+ }, ee = {
302
288
  id: "ampm-en",
303
289
  mode: "cycle",
304
290
  langs: ["en"],
@@ -307,12 +293,12 @@ const A = {
307
293
  "A.M.": "AM",
308
294
  "P.M.": "PM"
309
295
  }
310
- }, B = {
296
+ }, te = {
311
297
  id: "ampm-ja",
312
298
  mode: "cycle",
313
299
  langs: ["ja"],
314
300
  items: ["午前", "午後"]
315
- }, Q = {
301
+ }, ne = {
316
302
  id: "seasons-en",
317
303
  mode: "cycle",
318
304
  langs: ["en"],
@@ -320,17 +306,17 @@ const A = {
320
306
  aliases: {
321
307
  Fall: "Autumn"
322
308
  }
323
- }, q = {
309
+ }, se = {
324
310
  id: "seasons-ja",
325
311
  mode: "cycle",
326
312
  langs: ["ja"],
327
313
  items: ["春", "夏", "秋", "冬"]
328
- }, G = {
314
+ }, re = {
329
315
  id: "solfege-ja",
330
316
  mode: "cycle",
331
317
  langs: ["ja"],
332
318
  items: ["ド", "レ", "ミ", "ファ", "ソ", "ラ", "シ"]
333
- }, X = {
319
+ }, ie = {
334
320
  id: "solfege-en",
335
321
  mode: "cycle",
336
322
  langs: ["en"],
@@ -339,7 +325,7 @@ const A = {
339
325
  So: "Sol",
340
326
  Si: "Ti"
341
327
  }
342
- }, U = {
328
+ }, ae = {
343
329
  id: "greek-letters-en",
344
330
  mode: "cycle",
345
331
  langs: ["en"],
@@ -369,7 +355,7 @@ const A = {
369
355
  "Psi",
370
356
  "Omega"
371
357
  ]
372
- }, K = {
358
+ }, oe = {
373
359
  id: "greek-letters-ja",
374
360
  mode: "cycle",
375
361
  langs: ["ja"],
@@ -399,7 +385,7 @@ const A = {
399
385
  "プサイ",
400
386
  "オメガ"
401
387
  ]
402
- }, Y = {
388
+ }, le = {
403
389
  id: "greek-letters-symbols",
404
390
  mode: "cycle",
405
391
  langs: ["en", "ja"],
@@ -432,123 +418,739 @@ const A = {
432
418
  aliases: {
433
419
  ς: "σ"
434
420
  }
435
- }, H = {
421
+ }, ue = {
436
422
  id: "rokuyo-ja",
437
423
  mode: "cycle",
438
424
  langs: ["ja"],
439
425
  items: ["先勝", "友引", "先負", "仏滅", "大安", "赤口"]
440
- }, Z = {
426
+ }, ce = {
441
427
  id: "heavenly-stems-ja",
442
428
  mode: "finite",
443
429
  langs: ["ja"],
444
430
  items: ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
445
- }, _ = {
431
+ }, de = {
446
432
  id: "planets-en",
447
433
  mode: "finite",
448
434
  langs: ["en"],
449
435
  items: ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
450
- }, ee = {
436
+ }, fe = {
451
437
  id: "planets-ja",
452
438
  mode: "finite",
453
439
  langs: ["ja"],
454
440
  items: ["水星", "金星", "地球", "火星", "木星", "土星", "天王星", "海王星"]
455
- }, te = {
441
+ }, me = {
456
442
  id: "kuji-in-ja",
457
443
  mode: "finite",
458
444
  langs: ["ja"],
459
445
  items: ["臨", "兵", "闘", "者", "皆", "陣", "烈", "在", "前"]
460
- }, ne = {
446
+ }, he = {
461
447
  id: "eight-virtues-ja",
462
448
  mode: "finite",
463
449
  langs: ["ja"],
464
450
  items: ["仁", "義", "礼", "智", "忠", "信", "孝", "悌"]
465
- }, re = [
466
- A,
467
- L,
468
- F,
469
- v,
470
- z,
471
- O,
472
- P,
451
+ }, ge = {
452
+ id: "element-symbols",
453
+ mode: "finite",
454
+ langs: ["ja", "en"],
455
+ items: [
456
+ "H",
457
+ "He",
458
+ "Li",
459
+ "Be",
460
+ "B",
461
+ "C",
462
+ "N",
463
+ "O",
464
+ "F",
465
+ "Ne",
466
+ "Na",
467
+ "Mg",
468
+ "Al",
469
+ "Si",
470
+ "P",
471
+ "S",
472
+ "Cl",
473
+ "Ar",
474
+ "K",
475
+ "Ca",
476
+ "Sc",
477
+ "Ti",
478
+ "V",
479
+ "Cr",
480
+ "Mn",
481
+ "Fe",
482
+ "Co",
483
+ "Ni",
484
+ "Cu",
485
+ "Zn",
486
+ "Ga",
487
+ "Ge",
488
+ "As",
489
+ "Se",
490
+ "Br",
491
+ "Kr",
492
+ "Rb",
493
+ "Sr",
494
+ "Y",
495
+ "Zr",
496
+ "Nb",
497
+ "Mo",
498
+ "Tc",
499
+ "Ru",
500
+ "Rh",
501
+ "Pd",
502
+ "Ag",
503
+ "Cd",
504
+ "In",
505
+ "Sn",
506
+ "Sb",
507
+ "Te",
508
+ "I",
509
+ "Xe",
510
+ "Cs",
511
+ "Ba",
512
+ "La",
513
+ "Ce",
514
+ "Pr",
515
+ "Nd",
516
+ "Pm",
517
+ "Sm",
518
+ "Eu",
519
+ "Gd",
520
+ "Tb",
521
+ "Dy",
522
+ "Ho",
523
+ "Er",
524
+ "Tm",
525
+ "Yb",
526
+ "Lu",
527
+ "Hf",
528
+ "Ta",
529
+ "W",
530
+ "Re",
531
+ "Os",
532
+ "Ir",
533
+ "Pt",
534
+ "Au",
535
+ "Hg",
536
+ "Tl",
537
+ "Pb",
538
+ "Bi",
539
+ "Po",
540
+ "At",
541
+ "Rn",
542
+ "Fr",
543
+ "Ra",
544
+ "Ac",
545
+ "Th",
546
+ "Pa",
547
+ "U",
548
+ "Np",
549
+ "Pu",
550
+ "Am",
551
+ "Cm",
552
+ "Bk",
553
+ "Cf",
554
+ "Es",
555
+ "Fm",
556
+ "Md",
557
+ "No",
558
+ "Lr",
559
+ "Rf",
560
+ "Db",
561
+ "Sg",
562
+ "Bh",
563
+ "Hs",
564
+ "Mt",
565
+ "Ds",
566
+ "Rg",
567
+ "Cn",
568
+ "Nh",
569
+ "Fl",
570
+ "Mc",
571
+ "Lv",
572
+ "Ts",
573
+ "Og"
574
+ ]
575
+ }, pe = {
576
+ id: "element-names-ja",
577
+ mode: "finite",
578
+ langs: ["ja"],
579
+ items: [
580
+ "水素",
581
+ "ヘリウム",
582
+ "リチウム",
583
+ "ベリリウム",
584
+ "ホウ素",
585
+ "炭素",
586
+ "窒素",
587
+ "酸素",
588
+ "フッ素",
589
+ "ネオン",
590
+ "ナトリウム",
591
+ "マグネシウム",
592
+ "アルミニウム",
593
+ "ケイ素",
594
+ "リン",
595
+ "硫黄",
596
+ "塩素",
597
+ "アルゴン",
598
+ "カリウム",
599
+ "カルシウム",
600
+ "スカンジウム",
601
+ "チタン",
602
+ "バナジウム",
603
+ "クロム",
604
+ "マンガン",
605
+ "鉄",
606
+ "コバルト",
607
+ "ニッケル",
608
+ "銅",
609
+ "亜鉛",
610
+ "ガリウム",
611
+ "ゲルマニウム",
612
+ "ヒ素",
613
+ "セレン",
614
+ "臭素",
615
+ "クリプトン",
616
+ "ルビジウム",
617
+ "ストロンチウム",
618
+ "イットリウム",
619
+ "ジルコニウム",
620
+ "ニオブ",
621
+ "モリブデン",
622
+ "テクネチウム",
623
+ "ルテニウム",
624
+ "ロジウム",
625
+ "パラジウム",
626
+ "銀",
627
+ "カドミウム",
628
+ "インジウム",
629
+ "スズ",
630
+ "アンチモン",
631
+ "テルル",
632
+ "ヨウ素",
633
+ "キセノン",
634
+ "セシウム",
635
+ "バリウム",
636
+ "ランタン",
637
+ "セリウム",
638
+ "プラセオジム",
639
+ "ネオジム",
640
+ "プロメチウム",
641
+ "サマリウム",
642
+ "ユウロピウム",
643
+ "ガドリニウム",
644
+ "テルビウム",
645
+ "ジスプロシウム",
646
+ "ホルミウム",
647
+ "エルビウム",
648
+ "ツリウム",
649
+ "イッテルビウム",
650
+ "ルテチウム",
651
+ "ハフニウム",
652
+ "タンタル",
653
+ "タングステン",
654
+ "レニウム",
655
+ "オスミウム",
656
+ "イリジウム",
657
+ "白金",
658
+ "金",
659
+ "水銀",
660
+ "タリウム",
661
+ "鉛",
662
+ "ビスマス",
663
+ "ポロニウム",
664
+ "アスタチン",
665
+ "ラドン",
666
+ "フランシウム",
667
+ "ラジウム",
668
+ "アクチニウム",
669
+ "トリウム",
670
+ "プロトアクチニウム",
671
+ "ウラン",
672
+ "ネプツニウム",
673
+ "プルトニウム",
674
+ "アメリシウム",
675
+ "キュリウム",
676
+ "バークリウム",
677
+ "カリホルニウム",
678
+ "アインスタイニウム",
679
+ "フェルミウム",
680
+ "メンデレビウム",
681
+ "ノーベリウム",
682
+ "ローレンシウム",
683
+ "ラザホージウム",
684
+ "ドブニウム",
685
+ "シーボーギウム",
686
+ "ボーリウム",
687
+ "ハッシウム",
688
+ "マイトネリウム",
689
+ "ダームスタチウム",
690
+ "レントゲニウム",
691
+ "コペルニシウム",
692
+ "ニホニウム",
693
+ "フレロビウム",
694
+ "モスコビウム",
695
+ "リバモリウム",
696
+ "テネシン",
697
+ "オガネソン"
698
+ ]
699
+ }, ye = {
700
+ id: "shoguns-kamakura-ja",
701
+ mode: "finite",
702
+ langs: ["ja"],
703
+ items: [
704
+ "源頼朝",
705
+ "源頼家",
706
+ "源実朝",
707
+ "九条頼経",
708
+ "九条頼嗣",
709
+ "宗尊親王",
710
+ "惟康親王",
711
+ "久明親王",
712
+ "守邦親王"
713
+ ]
714
+ }, Se = {
715
+ id: "shoguns-ashikaga-ja",
716
+ mode: "finite",
717
+ langs: ["ja"],
718
+ items: [
719
+ "足利尊氏",
720
+ "足利義詮",
721
+ "足利義満",
722
+ "足利義持",
723
+ "足利義量",
724
+ "足利義教",
725
+ "足利義勝",
726
+ "足利義政",
727
+ "足利義尚",
728
+ "足利義稙",
729
+ "足利義澄",
730
+ "足利義晴",
731
+ "足利義輝",
732
+ "足利義栄",
733
+ "足利義昭"
734
+ ]
735
+ }, xe = {
736
+ id: "shoguns-ashikaga-given-ja",
737
+ mode: "finite",
738
+ langs: ["ja"],
739
+ items: [
740
+ "尊氏",
741
+ "義詮",
742
+ "義満",
743
+ "義持",
744
+ "義量",
745
+ "義教",
746
+ "義勝",
747
+ "義政",
748
+ "義尚",
749
+ "義稙",
750
+ "義澄",
751
+ "義晴",
752
+ "義輝",
753
+ "義栄",
754
+ "義昭"
755
+ ]
756
+ }, be = {
757
+ id: "shoguns-tokugawa-ja",
758
+ mode: "finite",
759
+ langs: ["ja"],
760
+ items: [
761
+ "徳川家康",
762
+ "徳川秀忠",
763
+ "徳川家光",
764
+ "徳川家綱",
765
+ "徳川綱吉",
766
+ "徳川家宣",
767
+ "徳川家継",
768
+ "徳川吉宗",
769
+ "徳川家重",
770
+ "徳川家治",
771
+ "徳川家斉",
772
+ "徳川家慶",
773
+ "徳川家定",
774
+ "徳川家茂",
775
+ "徳川慶喜"
776
+ ]
777
+ }, ke = {
778
+ id: "shoguns-tokugawa-given-ja",
779
+ mode: "finite",
780
+ langs: ["ja"],
781
+ items: [
782
+ "家康",
783
+ "秀忠",
784
+ "家光",
785
+ "家綱",
786
+ "綱吉",
787
+ "家宣",
788
+ "家継",
789
+ "吉宗",
790
+ "家重",
791
+ "家治",
792
+ "家斉",
793
+ "家慶",
794
+ "家定",
795
+ "家茂",
796
+ "慶喜"
797
+ ]
798
+ }, j = [
799
+ "北海道",
800
+ "青森県",
801
+ "岩手県",
802
+ "宮城県",
803
+ "秋田県",
804
+ "山形県",
805
+ "福島県",
806
+ "茨城県",
807
+ "栃木県",
808
+ "群馬県",
809
+ "埼玉県",
810
+ "千葉県",
811
+ "東京都",
812
+ "神奈川県",
813
+ "新潟県",
814
+ "富山県",
815
+ "石川県",
816
+ "福井県",
817
+ "山梨県",
818
+ "長野県",
819
+ "岐阜県",
820
+ "静岡県",
821
+ "愛知県",
822
+ "三重県",
823
+ "滋賀県",
824
+ "京都府",
825
+ "大阪府",
826
+ "兵庫県",
827
+ "奈良県",
828
+ "和歌山県",
829
+ "鳥取県",
830
+ "島根県",
831
+ "岡山県",
832
+ "広島県",
833
+ "山口県",
834
+ "徳島県",
835
+ "香川県",
836
+ "愛媛県",
837
+ "高知県",
838
+ "福岡県",
839
+ "佐賀県",
840
+ "長崎県",
841
+ "熊本県",
842
+ "大分県",
843
+ "宮崎県",
844
+ "鹿児島県",
845
+ "沖縄県"
846
+ ], je = j.reduce(
847
+ (e, n) => {
848
+ if (n === "北海道")
849
+ return e;
850
+ if (/[都府県]$/.test(n)) {
851
+ const t = n.slice(0, -1);
852
+ e[t] = n;
853
+ }
854
+ return e;
855
+ },
856
+ {}
857
+ ), Ne = {
858
+ id: "prefectures-ja",
859
+ mode: "finite",
860
+ langs: ["ja"],
861
+ items: j,
862
+ aliases: je
863
+ }, Ie = {
864
+ id: "us-states-en",
865
+ mode: "finite",
866
+ langs: ["en"],
867
+ items: [
868
+ "Alabama",
869
+ "Alaska",
870
+ "Arizona",
871
+ "Arkansas",
872
+ "California",
873
+ "Colorado",
874
+ "Connecticut",
875
+ "Delaware",
876
+ "Florida",
877
+ "Georgia",
878
+ "Hawaii",
879
+ "Idaho",
880
+ "Illinois",
881
+ "Indiana",
882
+ "Iowa",
883
+ "Kansas",
884
+ "Kentucky",
885
+ "Louisiana",
886
+ "Maine",
887
+ "Maryland",
888
+ "Massachusetts",
889
+ "Michigan",
890
+ "Minnesota",
891
+ "Mississippi",
892
+ "Missouri",
893
+ "Montana",
894
+ "Nebraska",
895
+ "Nevada",
896
+ "New Hampshire",
897
+ "New Jersey",
898
+ "New Mexico",
899
+ "New York",
900
+ "North Carolina",
901
+ "North Dakota",
902
+ "Ohio",
903
+ "Oklahoma",
904
+ "Oregon",
905
+ "Pennsylvania",
906
+ "Rhode Island",
907
+ "South Carolina",
908
+ "South Dakota",
909
+ "Tennessee",
910
+ "Texas",
911
+ "Utah",
912
+ "Vermont",
913
+ "Virginia",
914
+ "Washington",
915
+ "West Virginia",
916
+ "Wisconsin",
917
+ "Wyoming"
918
+ ]
919
+ }, we = {
920
+ id: "us-states-abbrev-en",
921
+ mode: "finite",
922
+ langs: ["en"],
923
+ items: [
924
+ "AL",
925
+ "AK",
926
+ "AZ",
927
+ "AR",
928
+ "CA",
929
+ "CO",
930
+ "CT",
931
+ "DE",
932
+ "FL",
933
+ "GA",
934
+ "HI",
935
+ "ID",
936
+ "IL",
937
+ "IN",
938
+ "IA",
939
+ "KS",
940
+ "KY",
941
+ "LA",
942
+ "ME",
943
+ "MD",
944
+ "MA",
945
+ "MI",
946
+ "MN",
947
+ "MS",
948
+ "MO",
949
+ "MT",
950
+ "NE",
951
+ "NV",
952
+ "NH",
953
+ "NJ",
954
+ "NM",
955
+ "NY",
956
+ "NC",
957
+ "ND",
958
+ "OH",
959
+ "OK",
960
+ "OR",
961
+ "PA",
962
+ "RI",
963
+ "SC",
964
+ "SD",
965
+ "TN",
966
+ "TX",
967
+ "UT",
968
+ "VT",
969
+ "VA",
970
+ "WA",
971
+ "WV",
972
+ "WI",
973
+ "WY"
974
+ ]
975
+ }, Te = {
976
+ id: "windows-versions",
977
+ mode: "finite",
978
+ langs: ["ja", "en"],
979
+ items: [
980
+ "Windows 1.0",
981
+ "Windows 2.0",
982
+ "Windows 2.1",
983
+ "Windows 3.0",
984
+ "Windows 3.1",
985
+ "Windows 3.11",
986
+ "Windows 95",
987
+ "Windows 98",
988
+ "Windows 98 SE",
989
+ "Windows Me",
990
+ "Windows XP",
991
+ "Windows Vista",
992
+ "Windows 7",
993
+ "Windows 8",
994
+ "Windows 8.1",
995
+ "Windows 10",
996
+ "Windows 11"
997
+ ]
998
+ }, Me = {
999
+ id: "macos-versions",
1000
+ mode: "finite",
1001
+ langs: ["ja", "en"],
1002
+ items: [
1003
+ "Cheetah",
1004
+ "Puma",
1005
+ "Jaguar",
1006
+ "Panther",
1007
+ "Tiger",
1008
+ "Leopard",
1009
+ "Snow Leopard",
1010
+ "Lion",
1011
+ "Mountain Lion",
1012
+ "Mavericks",
1013
+ "Yosemite",
1014
+ "El Capitan",
1015
+ "Sierra",
1016
+ "High Sierra",
1017
+ "Mojave",
1018
+ "Catalina",
1019
+ "Big Sur",
1020
+ "Monterey",
1021
+ "Ventura",
1022
+ "Sonoma",
1023
+ "Sequoia",
1024
+ "Tahoe"
1025
+ ]
1026
+ }, Ae = {
1027
+ id: "debian-codenames",
1028
+ mode: "finite",
1029
+ langs: ["ja", "en"],
1030
+ items: [
1031
+ "buzz",
1032
+ "rex",
1033
+ "bo",
1034
+ "hamm",
1035
+ "slink",
1036
+ "potato",
1037
+ "woody",
1038
+ "sarge",
1039
+ "etch",
1040
+ "lenny",
1041
+ "squeeze",
1042
+ "wheezy",
1043
+ "jessie",
1044
+ "stretch",
1045
+ "buster",
1046
+ "bullseye",
1047
+ "bookworm",
1048
+ "trixie"
1049
+ ]
1050
+ }, ve = [
1051
+ J,
473
1052
  R,
474
- C,
475
1053
  D,
1054
+ K,
476
1055
  $,
477
- V,
478
- W,
1056
+ z,
479
1057
  B,
480
- Q,
481
- q,
482
1058
  G,
483
- X,
1059
+ H,
484
1060
  U,
485
- K,
486
1061
  Y,
487
- H,
1062
+ q,
1063
+ X,
1064
+ Q,
488
1065
  Z,
489
1066
  _,
490
1067
  ee,
491
1068
  te,
492
- ne
493
- ], b = (e) => {
494
- const t = e % 100;
495
- if (t >= 11 && t <= 13) return "th";
496
- const n = e % 10;
497
- return n === 1 ? "st" : n === 2 ? "nd" : n === 3 ? "rd" : "th";
498
- }, y = (e) => {
499
- const t = /^(\d+)(st|nd|rd|th)$/.exec(e);
500
- if (!t) return null;
501
- const n = Number(t[1]);
502
- if (!Number.isFinite(n) || n <= 0) return null;
503
- const r = t[2];
504
- return b(n) !== r ? null : n;
505
- }, se = {
1069
+ ne,
1070
+ se,
1071
+ re,
1072
+ ie,
1073
+ ae,
1074
+ oe,
1075
+ le,
1076
+ ue,
1077
+ ce,
1078
+ de,
1079
+ fe,
1080
+ me,
1081
+ he,
1082
+ ge,
1083
+ pe,
1084
+ ye,
1085
+ Se,
1086
+ xe,
1087
+ be,
1088
+ ke,
1089
+ Ne,
1090
+ Ie,
1091
+ we,
1092
+ Te,
1093
+ Me,
1094
+ Ae
1095
+ ], N = (e) => {
1096
+ const n = e % 100;
1097
+ if (n >= 11 && n <= 13) return "th";
1098
+ const t = e % 10;
1099
+ return t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
1100
+ }, b = (e) => {
1101
+ const n = /^(\d+)(st|nd|rd|th)$/.exec(e);
1102
+ if (!n) return null;
1103
+ const t = Number(n[1]);
1104
+ if (!Number.isFinite(t) || t <= 0) return null;
1105
+ const s = n[2];
1106
+ return N(t) !== s ? null : t;
1107
+ }, Le = {
506
1108
  id: "ordinal-en",
507
1109
  langs: ["en"],
508
1110
  match(e) {
509
1111
  if (e.length < 2) return null;
510
- const t = e.map((s) => y(s));
511
- if (t.some((s) => s === null)) return null;
512
- const n = t, r = n[1] - n[0];
513
- for (let s = 2; s < n.length; s += 1)
514
- if (n[s] - n[s - 1] !== r) return null;
515
- return { score: 80, step: r };
1112
+ const n = e.map((r) => b(r));
1113
+ if (n.some((r) => r === null)) return null;
1114
+ const t = n, s = t[1] - t[0];
1115
+ for (let r = 2; r < t.length; r += 1)
1116
+ if (t[r] - t[r - 1] !== s) return null;
1117
+ return { score: 80, step: s };
516
1118
  },
517
- createIterator(e, t) {
518
- let r = y(e[e.length - 1] ?? "") ?? 0;
1119
+ createIterator(e, n) {
1120
+ let s = b(e[e.length - 1] ?? "") ?? 0;
519
1121
  return {
520
1122
  next() {
521
- return r += t.step, r <= 0 || !Number.isFinite(r) ? { value: void 0, done: !0 } : { value: `${r}${b(r)}`, done: !1 };
1123
+ return s += n.step, s <= 0 || !Number.isFinite(s) ? { value: void 0, done: !0 } : { value: `${s}${N(s)}`, done: !1 };
522
1124
  }
523
1125
  };
524
1126
  }
525
- }, ie = (e) => {
526
- for (const t of re)
527
- e.register(t);
528
- }, ae = (e) => {
529
- e.registerMatch(se);
530
- }, oe = (e) => {
531
- const t = new J({ langs: e });
532
- return ie(t), ae(t), t;
533
- }, le = (e) => {
534
- let t = 0;
1127
+ }, Ee = (e) => {
1128
+ for (const n of ve)
1129
+ e.register(n);
1130
+ }, Ce = (e) => {
1131
+ e.registerMatch(Le);
1132
+ }, We = (e) => {
1133
+ const n = e ?? ["en", "ja"], t = new V({ langs: n });
1134
+ return Ee(t), Ce(t), t;
1135
+ }, Fe = (e) => {
1136
+ let n = 0;
535
1137
  return {
536
1138
  next() {
537
1139
  if (e.length === 0)
538
1140
  return { value: void 0, done: !0 };
539
- const n = e[t % e.length];
540
- return t += 1, { value: n, done: !1 };
1141
+ const t = e[n % e.length];
1142
+ return n += 1, { value: t, done: !1 };
541
1143
  }
542
1144
  };
543
1145
  };
544
- class c {
545
- constructor(...t) {
546
- const n = t;
547
- this.seed = n, this.kind = n.length === 1 ? "copy" : "seed-repeat", this.iterator = le(n);
1146
+ class f {
1147
+ constructor(...n) {
1148
+ const t = n;
1149
+ this.seed = t, this.kind = t.length === 1 ? "copy" : "seed-repeat", this.iterator = Fe(t);
548
1150
  }
549
- static fromSeed(t, n, r) {
550
- const s = new c(...t);
551
- return s.kind = n, s.iterator = r, s;
1151
+ static fromSeed(n, t, s) {
1152
+ const r = new f(...n);
1153
+ return r.kind = t, r.iterator = s, r;
552
1154
  }
553
1155
  next() {
554
1156
  return this.iterator.next();
@@ -557,74 +1159,74 @@ class c {
557
1159
  return this;
558
1160
  }
559
1161
  }
560
- const x = 1e-9, ce = 100, ue = (e) => ({
1162
+ const I = 1e-9, Oe = 100, Pe = (e) => ({
561
1163
  next() {
562
1164
  return { value: e, done: !1 };
563
1165
  }
564
- }), S = (e) => {
565
- let t = 0;
1166
+ }), k = (e) => {
1167
+ let n = 0;
566
1168
  return {
567
1169
  next() {
568
1170
  if (e.length === 0)
569
1171
  return { value: void 0, done: !0 };
570
- const n = e[t % e.length];
571
- return t += 1, { value: n, done: !1 };
1172
+ const t = e[n % e.length];
1173
+ return n += 1, { value: t, done: !1 };
572
1174
  }
573
1175
  };
574
- }, me = (e, t) => {
575
- let n = 0;
1176
+ }, Ve = (e, n) => {
1177
+ let t = 0;
576
1178
  return {
577
1179
  next() {
578
- return n += 1, { value: e + t * n, done: !1 };
1180
+ return t += 1, { value: e + n * t, done: !1 };
579
1181
  }
580
1182
  };
581
- }, de = (e, t) => {
582
- let n = 0;
1183
+ }, Je = (e, n) => {
1184
+ let t = 0;
583
1185
  return {
584
1186
  next() {
585
- return n += 1, { value: new Date(e.getTime() + t * n), done: !1 };
1187
+ return t += 1, { value: new Date(e.getTime() + n * t), done: !1 };
586
1188
  }
587
1189
  };
588
- }, fe = (e, t) => {
589
- let n = 0;
1190
+ }, Re = (e, n) => {
1191
+ let t = 0;
590
1192
  return {
591
1193
  next() {
592
- return n += 1, { value: e * t ** n, done: !1 };
1194
+ return t += 1, { value: e * n ** t, done: !1 };
593
1195
  }
594
1196
  };
595
- }, he = (e, t) => {
1197
+ }, De = (e, n) => {
596
1198
  if (e.kind === "matcher")
597
- return e.matcher.createIterator(t, { step: e.step, state: e.state });
598
- const { list: n, startIndex: r, step: s } = e, i = n.items.length;
599
- let a = r;
1199
+ return e.matcher.createIterator(n, { step: e.step, state: e.state });
1200
+ const { list: t, startIndex: s, step: r } = e, o = t.items.length;
1201
+ let i = s;
600
1202
  return {
601
1203
  next() {
602
- if (n.mode === "finite") {
603
- const o = a + s;
604
- return o >= i ? { value: void 0, done: !0 } : (a = o, { value: n.items[a], done: !1 });
1204
+ if (t.mode === "finite") {
1205
+ const a = i + r;
1206
+ return a >= o ? { value: void 0, done: !0 } : (i = a, { value: t.items[i], done: !1 });
605
1207
  }
606
- return a = (a + s) % i, { value: n.items[a], done: !1 };
1208
+ return i = (i + r) % o, { value: t.items[i], done: !1 };
607
1209
  }
608
1210
  };
609
- }, ge = (e) => e.every((t) => typeof t == "number" && Number.isFinite(t)), pe = (e) => e.every((t) => t instanceof Date && !Number.isNaN(t.getTime())), ye = (e) => e.every((t) => typeof t == "string"), Se = (e) => {
610
- const t = /^(.*?)(-?\d+)([^0-9]*)$/.exec(e);
611
- if (!t)
1211
+ }, Ke = (e) => e.every((n) => typeof n == "number" && Number.isFinite(n)), $e = (e) => e.every((n) => n instanceof Date && !Number.isNaN(n.getTime())), ze = (e) => e.every((n) => typeof n == "string"), Be = (e) => {
1212
+ const n = /^(.*?)(-?\d+)([^0-9]*)$/.exec(e);
1213
+ if (!n)
612
1214
  return null;
613
- const n = t[1] ?? "", r = t[2] ?? "", s = t[3] ?? "", i = Number(r);
614
- if (!Number.isFinite(i))
1215
+ const t = n[1] ?? "", s = n[2] ?? "", r = n[3] ?? "", o = Number(s);
1216
+ if (!Number.isFinite(o))
615
1217
  return null;
616
- const a = r.replace("-", "").length;
617
- return { prefix: n, num: i, width: a, suffix: s };
618
- }, be = (e, t, n) => {
619
- let r = 0;
1218
+ const i = s.replace("-", "").length;
1219
+ return { prefix: t, num: o, width: i, suffix: r };
1220
+ }, Ge = (e, n, t) => {
1221
+ let s = 0;
620
1222
  return {
621
1223
  next() {
622
- r += 1;
623
- const s = t + n * r, i = s < 0 ? "-" : "", a = Math.abs(s).toString().padStart(e.width, "0");
624
- return { value: `${e.prefix}${i}${a}${e.suffix}`, done: !1 };
1224
+ s += 1;
1225
+ const r = n + t * s, o = r < 0 ? "-" : "", i = Math.abs(r).toString().padStart(e.width, "0");
1226
+ return { value: `${e.prefix}${o}${i}${e.suffix}`, done: !1 };
625
1227
  }
626
1228
  };
627
- }, I = [
1229
+ }, w = [
628
1230
  ["C", 100],
629
1231
  ["XC", 90],
630
1232
  ["L", 50],
@@ -634,135 +1236,328 @@ const x = 1e-9, ce = 100, ue = (e) => ({
634
1236
  ["V", 5],
635
1237
  ["IV", 4],
636
1238
  ["I", 1]
637
- ], k = (e) => {
638
- if (e < 1 || e > ce)
1239
+ ], y = (e) => {
1240
+ if (e < 1 || e > Oe)
639
1241
  return null;
640
- let t = e, n = "";
641
- for (const [r, s] of I)
642
- for (; t >= s; )
643
- n += r, t -= s;
644
- return n;
645
- }, xe = (e) => {
1242
+ let n = e, t = "";
1243
+ for (const [s, r] of w)
1244
+ for (; n >= r; )
1245
+ t += s, n -= r;
1246
+ return t;
1247
+ }, T = (e) => {
646
1248
  if (e.length === 0 || e !== e.toUpperCase())
647
1249
  return null;
648
- let t = e, n = 0;
649
- for (const [s, i] of I)
650
- for (; t.startsWith(s); )
651
- n += i, t = t.slice(s.length);
652
- if (t.length > 0)
1250
+ let n = e, t = 0;
1251
+ for (const [r, o] of w)
1252
+ for (; n.startsWith(r); )
1253
+ t += o, n = n.slice(r.length);
1254
+ if (n.length > 0)
653
1255
  return null;
654
- const r = k(n);
655
- return !r || r !== e ? null : n;
656
- }, Ie = (e, t) => {
657
- let n = 0;
1256
+ const s = y(t);
1257
+ return !s || s !== e ? null : t;
1258
+ }, He = (e, n) => {
1259
+ let t = 0;
1260
+ return {
1261
+ next() {
1262
+ t += 1;
1263
+ const s = e + n * t, r = y(s);
1264
+ return r ? { value: r, done: !1 } : { value: void 0, done: !0 };
1265
+ }
1266
+ };
1267
+ }, Ue = (e) => new RegExp("\\p{White_Space}", "u").test(e) ? "space" : new RegExp("\\p{P}", "u").test(e) ? "punct" : new RegExp("\\p{S}", "u").test(e) ? "symbol" : new RegExp("\\p{Script=Latin}", "u").test(e) ? "latin" : new RegExp("\\p{Script=Han}", "u").test(e) ? "han" : new RegExp("\\p{Script=Hiragana}", "u").test(e) ? "hiragana" : new RegExp("\\p{Script=Katakana}", "u").test(e) ? "katakana" : new RegExp("\\p{N}", "u").test(e) ? "number" : "other", Ye = (e) => {
1268
+ const n = [];
1269
+ let t = "", s = null;
1270
+ for (const r of e) {
1271
+ const o = Ue(r);
1272
+ if (s === o) {
1273
+ t += r;
1274
+ continue;
1275
+ }
1276
+ s !== null && n.push({ value: t, group: s }), t = r, s = o;
1277
+ }
1278
+ return s !== null && n.push({ value: t, group: s }), n;
1279
+ }, qe = (e) => {
1280
+ const n = Ye(e), t = n.map((a, u) => ({ index: u, num: T(a.value) })).filter((a) => a.num !== null);
1281
+ if (t.length !== 1)
1282
+ return null;
1283
+ const s = t[0].index, r = t[0].num, o = n.slice(0, s).map((a) => a.value).join(""), i = n.slice(s + 1).map((a) => a.value).join("");
1284
+ return { prefix: o, num: r, suffix: i };
1285
+ }, Xe = (e, n, t) => {
1286
+ let s = 0;
1287
+ return {
1288
+ next() {
1289
+ s += 1;
1290
+ const r = n + t * s, o = y(r);
1291
+ return o ? { value: `${e.prefix}${o}${e.suffix}`, done: !1 } : { value: void 0, done: !0 };
1292
+ }
1293
+ };
1294
+ }, g = {
1295
+ 一: 1,
1296
+ 二: 2,
1297
+ 三: 3,
1298
+ 四: 4,
1299
+ 五: 5,
1300
+ 六: 6,
1301
+ 七: 7,
1302
+ 八: 8,
1303
+ 九: 9
1304
+ }, p = {
1305
+ 壱: 1,
1306
+ 弐: 2,
1307
+ 参: 3,
1308
+ 肆: 4,
1309
+ 伍: 5,
1310
+ 陸: 6,
1311
+ 柒: 7,
1312
+ 捌: 8,
1313
+ 玖: 9
1314
+ }, M = {
1315
+ 十: 10,
1316
+ 拾: 10,
1317
+ 百: 100,
1318
+ 佰: 100,
1319
+ 千: 1e3,
1320
+ 仟: 1e3
1321
+ }, A = {
1322
+ 万: 1e4,
1323
+ 萬: 1e4
1324
+ }, Qe = /* @__PURE__ */ new Set([
1325
+ ...Object.keys(g),
1326
+ ...Object.keys(p),
1327
+ ...Object.keys(M),
1328
+ ...Object.keys(A)
1329
+ ]), Ze = (e) => Qe.has(e), _e = (e) => /[壱弐参肆伍陸柒捌玖拾萬佰仟]/.test(e) ? "traditional" : "modern", v = (e) => {
1330
+ if (!e)
1331
+ return null;
1332
+ const n = _e(e);
1333
+ if (e.includes("万") || e.includes("萬")) {
1334
+ const a = /^([一二三四五六七八九壱弐参肆伍陸柒捌玖])?(万|萬)$/.exec(e);
1335
+ if (!a)
1336
+ return null;
1337
+ const u = a[1];
1338
+ return u ? (g[u] ?? p[u]) !== 1 ? null : { num: 1e4, style: n } : { num: 1e4, style: n };
1339
+ }
1340
+ let s = 0, r = 0, o = Number.POSITIVE_INFINITY, i = !1;
1341
+ for (const a of e) {
1342
+ const u = g[a] ?? p[a];
1343
+ if (u) {
1344
+ if (i)
1345
+ return null;
1346
+ r = u, i = !0;
1347
+ continue;
1348
+ }
1349
+ const l = M[a];
1350
+ if (l) {
1351
+ if (l >= o)
1352
+ return null;
1353
+ r === 0 && (r = 1), s += r * l, r = 0, o = l, i = !1;
1354
+ continue;
1355
+ }
1356
+ return A[a], null;
1357
+ }
1358
+ return s += r, s <= 0 || s > 1e4 ? null : { num: s, style: n };
1359
+ }, et = (e) => {
1360
+ const n = [];
1361
+ let t = "", s = 0, r = 0;
1362
+ for (const l of e)
1363
+ Ze(l) ? (t || (s = r), t += l) : t && (n.push({ start: s, end: r, text: t }), t = ""), r += l.length;
1364
+ t && n.push({ start: s, end: r, text: t });
1365
+ const o = n.map((l) => ({ run: l, parsed: v(l.text) })).filter((l) => l.parsed !== null);
1366
+ if (o.length !== 1)
1367
+ return null;
1368
+ const i = o[0], a = e.slice(0, i.run.start), u = e.slice(i.run.end);
1369
+ return {
1370
+ prefix: a,
1371
+ num: i.parsed.num,
1372
+ suffix: u,
1373
+ style: i.parsed.style
1374
+ };
1375
+ }, L = (e, n) => {
1376
+ if (!Number.isFinite(e) || e <= 0 || e > 1e4)
1377
+ return null;
1378
+ const t = n === "traditional" ? ["", "壱", "弐", "参", "肆", "伍", "陸", "柒", "捌", "玖"] : ["", "一", "二", "三", "四", "五", "六", "七", "八", "九"], s = n === "traditional" ? "拾" : "十", r = n === "traditional" ? "萬" : "万";
1379
+ if (e === 1e4)
1380
+ return `${t[1]}${r}`;
1381
+ let o = e, i = "";
1382
+ const a = Math.floor(o / 1e3);
1383
+ a > 0 && (a > 1 && (i += t[a]), i += "千", o %= 1e3);
1384
+ const u = Math.floor(o / 100);
1385
+ u > 0 && (u > 1 && (i += t[u]), i += "百", o %= 100);
1386
+ const l = Math.floor(o / 10);
1387
+ return l > 0 && (l > 1 && (i += t[l]), i += s, o %= 10), o > 0 && (i += t[o]), i || null;
1388
+ }, tt = (e, n, t) => {
1389
+ let s = 0;
658
1390
  return {
659
1391
  next() {
660
- n += 1;
661
- const r = e + t * n, s = k(r);
662
- return s ? { value: s, done: !1 } : { value: void 0, done: !0 };
1392
+ s += 1;
1393
+ const r = e + n * s, o = L(r, t);
1394
+ return o ? { value: o, done: !1 } : { value: void 0, done: !0 };
663
1395
  }
664
1396
  };
665
- }, d = (e) => {
1397
+ }, nt = (e, n, t) => {
1398
+ let s = 0;
1399
+ return {
1400
+ next() {
1401
+ s += 1;
1402
+ const r = n + t * s, o = L(r, e.style);
1403
+ return o ? { value: `${e.prefix}${o}${e.suffix}`, done: !1 } : { value: void 0, done: !0 };
1404
+ }
1405
+ };
1406
+ }, m = (e) => {
666
1407
  if (e.length < 2)
667
1408
  return null;
668
- const t = e[1] - e[0];
669
- for (let n = 2; n < e.length; n += 1)
670
- if (Math.abs(e[n] - e[n - 1] - t) > x)
1409
+ const n = e[1] - e[0];
1410
+ for (let t = 2; t < e.length; t += 1)
1411
+ if (Math.abs(e[t] - e[t - 1] - n) > I)
671
1412
  return null;
672
- return t;
673
- }, ke = (e) => {
1413
+ return n;
1414
+ }, st = (e) => {
674
1415
  if (e.length < 2 || e[0] === 0)
675
1416
  return null;
676
- const t = e[1] / e[0];
677
- for (let n = 2; n < e.length; n += 1)
678
- if (e[n - 1] === 0 || Math.abs(e[n] / e[n - 1] - t) > x)
1417
+ const n = e[1] / e[0];
1418
+ for (let t = 2; t < e.length; t += 1)
1419
+ if (e[t - 1] === 0 || Math.abs(e[t] / e[t - 1] - n) > I)
679
1420
  return null;
680
- return t;
681
- }, Ne = (e) => {
682
- const t = e.map((r) => Se(r));
683
- if (t.every(Boolean)) {
684
- const r = t[0], s = t[t.length - 1];
685
- if (t.every(
686
- (a) => a?.prefix === r.prefix && a?.suffix === r.suffix
1421
+ return n;
1422
+ }, rt = (e) => {
1423
+ const n = e.map((i) => Be(i));
1424
+ if (n.every(Boolean)) {
1425
+ const i = n[0], a = n[n.length - 1];
1426
+ if (n.every(
1427
+ (l) => l?.prefix === i.prefix && l?.suffix === i.suffix
687
1428
  )) {
688
- const a = t.map((l) => l?.num ?? 0), o = d(a);
689
- if (o !== null)
1429
+ const l = n.map((d) => d?.num ?? 0), c = m(l);
1430
+ if (c !== null)
690
1431
  return {
691
1432
  kind: "arithmetic",
692
- iterator: be(
693
- { prefix: s.prefix, suffix: s.suffix, width: s.width },
694
- s.num,
695
- o
1433
+ iterator: Ge(
1434
+ { prefix: a.prefix, suffix: a.suffix, width: a.width },
1435
+ a.num,
1436
+ c
696
1437
  )
697
1438
  };
698
1439
  }
699
1440
  }
700
- const n = e.map((r) => xe(r));
701
- if (n.every((r) => r !== null)) {
702
- const r = n, s = d(r);
703
- if (s !== null) {
704
- const i = r[r.length - 1];
1441
+ const t = e.map((i) => T(i));
1442
+ if (t.every((i) => i !== null)) {
1443
+ const i = t, a = m(i);
1444
+ if (a !== null) {
1445
+ const u = i[i.length - 1];
705
1446
  return {
706
1447
  kind: "arithmetic",
707
- iterator: Ie(i, s)
1448
+ iterator: He(u, a)
708
1449
  };
709
1450
  }
710
1451
  }
1452
+ const s = e.map((i) => v(i));
1453
+ if (s.every((i) => i !== null)) {
1454
+ const i = s, a = i[0].style;
1455
+ if (i.every((u) => u.style === a)) {
1456
+ const u = i.map((c) => c.num), l = m(u);
1457
+ if (l !== null) {
1458
+ const c = i[i.length - 1];
1459
+ return {
1460
+ kind: "arithmetic",
1461
+ iterator: tt(c.num, l, c.style)
1462
+ };
1463
+ }
1464
+ }
1465
+ }
1466
+ const r = e.map((i) => qe(i));
1467
+ if (r.every((i) => i !== null)) {
1468
+ const i = r, a = i[0];
1469
+ if (i.every(
1470
+ (l) => l.prefix === a.prefix && l.suffix === a.suffix
1471
+ )) {
1472
+ const l = i.map((d) => d.num), c = m(l);
1473
+ if (c !== null) {
1474
+ const d = l[l.length - 1];
1475
+ return {
1476
+ kind: "arithmetic",
1477
+ iterator: Xe(
1478
+ { prefix: a.prefix, suffix: a.suffix },
1479
+ d,
1480
+ c
1481
+ )
1482
+ };
1483
+ }
1484
+ }
1485
+ }
1486
+ const o = e.map((i) => et(i));
1487
+ if (o.every((i) => i !== null)) {
1488
+ const i = o, a = i[0];
1489
+ if (i.every(
1490
+ (l) => l.prefix === a.prefix && l.suffix === a.suffix && l.style === a.style
1491
+ )) {
1492
+ const l = i.map((d) => d.num), c = m(l);
1493
+ if (c !== null) {
1494
+ const d = i[i.length - 1];
1495
+ return {
1496
+ kind: "arithmetic",
1497
+ iterator: nt(
1498
+ { prefix: a.prefix, suffix: a.suffix, style: a.style },
1499
+ d.num,
1500
+ c
1501
+ )
1502
+ };
1503
+ }
1504
+ }
1505
+ }
711
1506
  return null;
712
- }, je = (e, t) => {
713
- const n = t.match(e);
714
- return n ? {
1507
+ }, it = (e, n) => {
1508
+ const t = n.match(e);
1509
+ return t ? {
715
1510
  kind: "list",
716
- iterator: he(n, e)
1511
+ iterator: De(t, e)
717
1512
  } : null;
718
1513
  };
719
- function Te(e, t) {
720
- const n = t?.registry ?? oe();
1514
+ function at(e, n) {
1515
+ const t = n?.registry ?? We();
721
1516
  if (e.length === 0)
722
- return c.fromSeed(e, "seed-repeat", S(e));
1517
+ return f.fromSeed(e, "seed-repeat", k(e));
723
1518
  if (e.length === 1)
724
- return c.fromSeed(e, "copy", ue(e[0]));
725
- if (ye(e)) {
726
- const r = je(e, n);
727
- if (r)
728
- return c.fromSeed(e, r.kind, r.iterator);
729
- const s = Ne(e);
1519
+ return f.fromSeed(e, "copy", Pe(e[0]));
1520
+ if (ze(e)) {
1521
+ const s = it(e, t);
730
1522
  if (s)
731
- return c.fromSeed(e, s.kind, s.iterator);
1523
+ return f.fromSeed(e, s.kind, s.iterator);
1524
+ const r = rt(e);
1525
+ if (r)
1526
+ return f.fromSeed(e, r.kind, r.iterator);
732
1527
  }
733
- if (ge(e)) {
734
- const r = d(e);
735
- if (r !== null)
736
- return c.fromSeed(
1528
+ if (Ke(e)) {
1529
+ const s = m(e);
1530
+ if (s !== null)
1531
+ return f.fromSeed(
737
1532
  e,
738
1533
  "arithmetic",
739
- me(e[e.length - 1], r)
1534
+ Ve(e[e.length - 1], s)
740
1535
  );
741
- const s = ke(e);
742
- if (s !== null)
743
- return c.fromSeed(
1536
+ const r = st(e);
1537
+ if (r !== null)
1538
+ return f.fromSeed(
744
1539
  e,
745
1540
  "geometric",
746
- fe(e[e.length - 1], s)
1541
+ Re(e[e.length - 1], r)
747
1542
  );
748
1543
  }
749
- if (pe(e)) {
750
- const r = e.map((i) => i.getTime()), s = d(r);
751
- if (s !== null)
752
- return c.fromSeed(
1544
+ if ($e(e)) {
1545
+ const s = e.map((o) => o.getTime()), r = m(s);
1546
+ if (r !== null)
1547
+ return f.fromSeed(
753
1548
  e,
754
1549
  "arithmetic",
755
- de(e[e.length - 1], s)
1550
+ Je(e[e.length - 1], r)
756
1551
  );
757
1552
  }
758
- return c.fromSeed(e, "seed-repeat", S(e));
1553
+ return f.fromSeed(e, "seed-repeat", k(e));
759
1554
  }
760
1555
  export {
761
- c as Sequence,
762
- J as SequenceRegistry,
763
- oe as createBuiltInRegistry,
764
- Te as inferSequence,
765
- ie as registerBuiltInLists,
766
- ae as registerBuiltInMatchers
1556
+ f as Sequence,
1557
+ V as SequenceRegistry,
1558
+ We as createBuiltInRegistry,
1559
+ at as inferSequence,
1560
+ Ee as registerBuiltInLists,
1561
+ Ce as registerBuiltInMatchers
767
1562
  };
768
1563
  //# sourceMappingURL=index.js.map