@ycookiey/yfuzzy 0.3.0 → 0.4.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/README.md +191 -176
- package/THIRD_PARTY_NOTICES.md +49 -3
- package/dist/entry.d.ts +6 -1
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +31 -1
- package/dist/entry.js.map +1 -1
- package/dist/expand.d.ts +1 -1
- package/dist/expand.js +3 -3
- package/dist/expand.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/keystroke.d.ts +5 -0
- package/dist/keystroke.d.ts.map +1 -0
- package/dist/keystroke.js +79 -0
- package/dist/keystroke.js.map +1 -0
- package/dist/lattice.d.ts +54 -0
- package/dist/lattice.d.ts.map +1 -0
- package/dist/lattice.js +241 -0
- package/dist/lattice.js.map +1 -0
- package/dist/pipeline.d.ts +2 -0
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +26 -2
- package/dist/pipeline.js.map +1 -1
- package/dist/query.d.ts +13 -9
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +11 -7
- package/dist/query.js.map +1 -1
- package/dist/tiers/tier1-exact.d.ts.map +1 -1
- package/dist/tiers/tier1-exact.js +240 -49
- package/dist/tiers/tier1-exact.js.map +1 -1
- package/dist/tiers/tier2-flexible.d.ts.map +1 -1
- package/dist/tiers/tier2-flexible.js +45 -1
- package/dist/tiers/tier2-flexible.js.map +1 -1
- package/dist/tiers/tier3-typo.d.ts.map +1 -1
- package/dist/tiers/tier3-typo.js +112 -1
- package/dist/tiers/tier3-typo.js.map +1 -1
- package/dist/tiers/tier4-structural.d.ts.map +1 -1
- package/dist/tiers/tier4-structural.js +2 -0
- package/dist/tiers/tier4-structural.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vendor/wanakana/romaji-to-kana.d.ts +5 -0
- package/dist/vendor/wanakana/romaji-to-kana.d.ts.map +1 -1
- package/dist/vendor/wanakana/romaji-to-kana.js +21 -0
- package/dist/vendor/wanakana/romaji-to-kana.js.map +1 -1
- package/dist/yfuzzy.min.js +2 -2
- package/package.json +61 -61
- package/dist/ablate.d.ts +0 -8
- package/dist/ablate.d.ts.map +0 -1
- package/dist/ablate.js +0 -11
- package/dist/ablate.js.map +0 -1
package/dist/tiers/tier3-typo.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// 空間ごとに maxDist を計測。romaji 空間は有効方式から1つ(訓令優先)。
|
|
4
4
|
// positions は返さない(tier 3 は matches 非対象、spec 6章)。
|
|
5
5
|
import { popcount } from '../charmask.js';
|
|
6
|
+
import { expandByDepth } from '../lattice.js';
|
|
6
7
|
const MIN_LEN = 2;
|
|
7
8
|
function maxDistFor(len) {
|
|
8
9
|
return Math.max(1, Math.ceil(len / 3));
|
|
@@ -64,6 +65,109 @@ function osaPrefixDistance(q, t, maxDist) {
|
|
|
64
65
|
best = dp[mrow + j];
|
|
65
66
|
return best;
|
|
66
67
|
}
|
|
68
|
+
let latOsaBuf = new Int32Array(0);
|
|
69
|
+
let absentBuf = new Int32Array(0);
|
|
70
|
+
/**
|
|
71
|
+
* OSA prefix 距離のラティス版。経路長 m ごとに距離を求め、maxDist(m) 以内で
|
|
72
|
+
* intraScore 最大のものを返す。非マッチは null。
|
|
73
|
+
* 前置フィルタ: データに無い文字の出現数は編集数の下限(経路長ごとの最小値で判定)。
|
|
74
|
+
*/
|
|
75
|
+
function latticeOsaScore(lat, t, dMask) {
|
|
76
|
+
const n = t.length;
|
|
77
|
+
if (n === 0)
|
|
78
|
+
return null;
|
|
79
|
+
const ex = expandByDepth(lat);
|
|
80
|
+
const { X, inStart, inFrom, inCh, inBit } = ex;
|
|
81
|
+
if (absentBuf.length < X)
|
|
82
|
+
absentBuf = new Int32Array(X);
|
|
83
|
+
const absent = absentBuf;
|
|
84
|
+
absent[0] = 0;
|
|
85
|
+
for (let x = 1; x < X; x++) {
|
|
86
|
+
let a = 1 << 30;
|
|
87
|
+
for (let k = inStart[x]; k < inStart[x + 1]; k++) {
|
|
88
|
+
const v = absent[inFrom[k]] + ((inBit[k] & dMask) === 0 ? 1 : 0);
|
|
89
|
+
if (v < a)
|
|
90
|
+
a = v;
|
|
91
|
+
}
|
|
92
|
+
absent[x] = a;
|
|
93
|
+
}
|
|
94
|
+
// 判定対象の経路長の maxDist 最大値。dp[x][j] ≥ |j − 経路長(x)| のため帯の外は必ずこれを超える
|
|
95
|
+
let band = -1;
|
|
96
|
+
for (const [x, m] of ex.finals) {
|
|
97
|
+
if (m >= MIN_LEN && n + maxDistFor(m) >= m && absent[x] <= maxDistFor(m))
|
|
98
|
+
band = Math.max(band, maxDistFor(m));
|
|
99
|
+
}
|
|
100
|
+
if (band < 0)
|
|
101
|
+
return null;
|
|
102
|
+
// 状態順 × 帯内の列で解く(依存は前状態か同状態の左列のみ)。帯の外は INF 扱い
|
|
103
|
+
const INF = 1 << 29;
|
|
104
|
+
const cols = n + 1;
|
|
105
|
+
if (latOsaBuf.length < X * cols)
|
|
106
|
+
latOsaBuf = new Int32Array(X * cols);
|
|
107
|
+
const dp = latOsaBuf;
|
|
108
|
+
const depth = ex.depth;
|
|
109
|
+
const at = (x, j) => {
|
|
110
|
+
const dx = j - depth[x];
|
|
111
|
+
return j < 0 || dx > band || dx < -band ? INF : dp[x * cols + j];
|
|
112
|
+
};
|
|
113
|
+
for (let j = 0; j <= Math.min(n, band); j++)
|
|
114
|
+
dp[j] = j;
|
|
115
|
+
for (let x = 1; x < X; x++) {
|
|
116
|
+
const dx = depth[x];
|
|
117
|
+
const lo = Math.max(0, dx - band);
|
|
118
|
+
const hi = Math.min(n, dx + band);
|
|
119
|
+
const row = x * cols;
|
|
120
|
+
for (let j = lo; j <= hi; j++) {
|
|
121
|
+
if (j === 0) {
|
|
122
|
+
dp[row] = dx; // クエリ側を全削除
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
const tj = t.charCodeAt(j - 1);
|
|
126
|
+
const tj2 = j > 1 ? t.charCodeAt(j - 2) : -1;
|
|
127
|
+
let v = (j - 1 >= lo ? dp[row + j - 1] : INF) + 1; // 挿入
|
|
128
|
+
for (let k = inStart[x]; k < inStart[x + 1]; k++) {
|
|
129
|
+
const y = inFrom[k];
|
|
130
|
+
const c = inCh[k];
|
|
131
|
+
const del = at(y, j) + 1;
|
|
132
|
+
const sub = at(y, j - 1) + (c === tj ? 0 : 1);
|
|
133
|
+
if (del < v)
|
|
134
|
+
v = del;
|
|
135
|
+
if (sub < v)
|
|
136
|
+
v = sub;
|
|
137
|
+
if (c === tj2) {
|
|
138
|
+
for (let k2 = inStart[y]; k2 < inStart[y + 1]; k2++) {
|
|
139
|
+
if (inCh[k2] === tj) {
|
|
140
|
+
const tr = at(inFrom[k2], j - 2) + 1; // 転置
|
|
141
|
+
if (tr < v)
|
|
142
|
+
v = tr;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
dp[row + j] = v;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
let best = null;
|
|
151
|
+
for (const [x, m] of ex.finals) {
|
|
152
|
+
if (m < MIN_LEN)
|
|
153
|
+
continue;
|
|
154
|
+
const maxDist = maxDistFor(m);
|
|
155
|
+
if (n + maxDist < m || absent[x] > maxDist)
|
|
156
|
+
continue;
|
|
157
|
+
let d = INF;
|
|
158
|
+
for (let j = Math.max(0, m - band); j <= Math.min(n, m + band); j++) {
|
|
159
|
+
const v = dp[x * cols + j];
|
|
160
|
+
if (v < d)
|
|
161
|
+
d = v;
|
|
162
|
+
}
|
|
163
|
+
if (d > maxDist)
|
|
164
|
+
continue;
|
|
165
|
+
const s = 1 - d / (maxDist + 1);
|
|
166
|
+
if (best === null || s > best)
|
|
167
|
+
best = s;
|
|
168
|
+
}
|
|
169
|
+
return best;
|
|
170
|
+
}
|
|
67
171
|
export const tier3Typo = (q, e) => {
|
|
68
172
|
let best = null;
|
|
69
173
|
const consider = (query, qMask, data, dMask, space) => {
|
|
@@ -81,7 +185,14 @@ export const tier3Typo = (q, e) => {
|
|
|
81
185
|
best = { intraScore, space };
|
|
82
186
|
};
|
|
83
187
|
// かな空間
|
|
84
|
-
|
|
188
|
+
if (q.lattice !== null && e.hasKeystrokeChar) {
|
|
189
|
+
const s = latticeOsaScore(q.lattice, e.kana.text, e.kanaMask);
|
|
190
|
+
if (s !== null)
|
|
191
|
+
best = { intraScore: s, space: 'kana' };
|
|
192
|
+
}
|
|
193
|
+
else if (!q.shadowed) {
|
|
194
|
+
consider(q.kana, q.kanaMask, e.kana.text, e.kanaMask, 'kana');
|
|
195
|
+
}
|
|
85
196
|
// romaji 空間は有効方式から1つ(訓令優先、訓令無効なら ヘボン)
|
|
86
197
|
if (e.kunrei && q.kunrei !== null)
|
|
87
198
|
consider(q.kunrei, q.kunreiMask, e.kunrei.text, e.kunreiMask, 'kunrei');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tier3-typo.js","sourceRoot":"","sources":["../../src/tiers/tier3-typo.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,gEAAgE;AAChE,8CAA8C;AAC9C,iDAAiD;AAKjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tier3-typo.js","sourceRoot":"","sources":["../../src/tiers/tier3-typo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tier4-structural.d.ts","sourceRoot":"","sources":["../../src/tiers/tier4-structural.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAU1C,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"tier4-structural.d.ts","sourceRoot":"","sources":["../../src/tiers/tier4-structural.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAU1C,eAAO,MAAM,eAAe,EAAE,OAiB7B,CAAC"}
|
|
@@ -8,6 +8,8 @@ const ALPHA = 0.8; // クエリ側にしかない bigram の罰則(重い)
|
|
|
8
8
|
const BETA = 0.2; // データ側にしかない bigram の罰則(軽い)
|
|
9
9
|
const THRESHOLD = 0.3;
|
|
10
10
|
export const tier4Structural = (q, e) => {
|
|
11
|
+
if (q.shadowed)
|
|
12
|
+
return null; // 同一 kana の phonetic 経路が同じ結果を出す
|
|
11
13
|
const qb = ensureQueryBigrams(q);
|
|
12
14
|
const db = ensureBigrams(e);
|
|
13
15
|
if (qb.size === 0 || db.size === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tier4-structural.js","sourceRoot":"","sources":["../../src/tiers/tier4-structural.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,2CAA2C;AAC3C,sDAAsD;AACtD,iDAAiD;AAKjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAC7C,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAY,CAAC,CAAkB,EAAE,CAAa,EAAE,EAAE;IAC5E,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,KAAK,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAE9B,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IACnD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IAC9B,IAAI,OAAO,GAAG,SAAS;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"tier4-structural.js","sourceRoot":"","sources":["../../src/tiers/tier4-structural.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,2CAA2C;AAC3C,sDAAsD;AACtD,iDAAiD;AAKjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,2BAA2B;AAC7C,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAY,CAAC,CAAkB,EAAE,CAAa,EAAE,EAAE;IAC5E,IAAI,CAAC,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,CAAC,gCAAgC;IAC7D,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,KAAK,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAE9B,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IACnD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IAC9B,IAAI,OAAO,GAAG,SAAS;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,6 +2,11 @@ import type { RomajiOption } from './romaji/convert.js';
|
|
|
2
2
|
import type { SeparatorConfig } from './expand.js';
|
|
3
3
|
export type { RomajiOption } from './romaji/convert.js';
|
|
4
4
|
export type { SeparatorConfig } from './expand.js';
|
|
5
|
+
/**
|
|
6
|
+
* クエリの照合経路(spec 2.2)。'phonetic' はローマ字をかなに変換して照合、
|
|
7
|
+
* 'literal' は変換せず入力文字のまま照合(かなはそれを打った打鍵とも照合)、'both' は両経路の最良を採る
|
|
8
|
+
*/
|
|
9
|
+
export type MatchingOption = 'literal' | 'phonetic' | 'both';
|
|
5
10
|
/** Index 構築時オプション(構築後は変更不可) */
|
|
6
11
|
export interface IndexOptions<T> {
|
|
7
12
|
/** item から検索対象文字列を取り出す。T[] のとき必須(オーバーロードで強制) */
|
|
@@ -10,6 +15,8 @@ export interface IndexOptions<T> {
|
|
|
10
15
|
romaji?: RomajiOption;
|
|
11
16
|
/** 区切り文字展開。default false */
|
|
12
17
|
separatorExpansion?: SeparatorConfig;
|
|
18
|
+
/** クエリの照合経路。default 'both' */
|
|
19
|
+
matching?: MatchingOption;
|
|
13
20
|
}
|
|
14
21
|
/** 検索時オプション(per-call 上書き可) */
|
|
15
22
|
export interface SearchOptions {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,+BAA+B;AAC/B,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D,+BAA+B;AAC/B,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,aAAa;AACb,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAC;IACR,iBAAiB;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CACvC;AAED,iBAAiB;AACjB,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -3,4 +3,9 @@
|
|
|
3
3
|
* 変換できない文字(子音のみ等)はそのまま残す。出力はひらがな。
|
|
4
4
|
*/
|
|
5
5
|
export declare function romajiToKana(input: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* 変換木の全エントリ(打鍵列, かな)を列挙する。出力がかなのみのエントリに限る。
|
|
8
|
+
* 打鍵の逆引き(keystroke.ts)用(改変点5)。
|
|
9
|
+
*/
|
|
10
|
+
export declare function romajiKanaPairs(): [keys: string, kana: string][];
|
|
6
11
|
//# sourceMappingURL=romaji-to-kana.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"romaji-to-kana.d.ts","sourceRoot":"","sources":["../../../src/vendor/wanakana/romaji-to-kana.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"romaji-to-kana.d.ts","sourceRoot":"","sources":["../../../src/vendor/wanakana/romaji-to-kana.ts"],"names":[],"mappings":"AAsNA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAahE"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
// 3. 出力は常にひらがな。大文字→カタカナ変換は移植せず、カタカナ化は
|
|
12
12
|
// 呼び出し側(normalize step5)に委ねる。
|
|
13
13
|
// 4. memoize-one / dequal / customMapping / useObsoleteKana は不要のため除外。
|
|
14
|
+
// 5. 変換木の全エントリを列挙する romajiKanaPairs を追加(打鍵の逆引き用、spec 2.2)。
|
|
14
15
|
//
|
|
15
16
|
// 元実装: src/toKana.js, src/utils/kanaMapping.js, src/utils/romajiToKanaMap.js
|
|
16
17
|
// =============================================================================
|
|
@@ -179,4 +180,24 @@ export function romajiToKana(input) {
|
|
|
179
180
|
.map((token) => token[2] ?? '')
|
|
180
181
|
.join('');
|
|
181
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* 変換木の全エントリ(打鍵列, かな)を列挙する。出力がかなのみのエントリに限る。
|
|
185
|
+
* 打鍵の逆引き(keystroke.ts)用(改変点5)。
|
|
186
|
+
*/
|
|
187
|
+
export function romajiKanaPairs() {
|
|
188
|
+
const out = [];
|
|
189
|
+
const walk = (node, path) => {
|
|
190
|
+
for (const [key, value] of Object.entries(node)) {
|
|
191
|
+
if (key === '') {
|
|
192
|
+
if (path !== '' && /^[ぁ-ゖヵヶ]+$/.test(value))
|
|
193
|
+
out.push([path, value]);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
walk(value, path + key);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
walk(getTree(), '');
|
|
201
|
+
return out;
|
|
202
|
+
}
|
|
182
203
|
//# sourceMappingURL=romaji-to-kana.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"romaji-to-kana.js","sourceRoot":"","sources":["../../../src/vendor/wanakana/romaji-to-kana.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"romaji-to-kana.js","sourceRoot":"","sources":["../../../src/vendor/wanakana/romaji-to-kana.ts"],"names":[],"mappings":"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"}
|
package/dist/yfuzzy.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @ycookiey/yfuzzy v0.
|
|
2
|
-
"use strict";var yfuzzy=(()=>{var L=Object.defineProperty;var dt=Object.getOwnPropertyDescriptor;var Et=Object.getOwnPropertyNames;var Nt=Object.prototype.hasOwnProperty;var kt=(t,n)=>{for(var e in n)L(t,e,{get:n[e],enumerable:!0})},Tt=(t,n,e,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of Et(n))!Nt.call(t,r)&&r!==e&&L(t,r,{get:()=>n[r],enumerable:!(o=dt(n,r))||o.enumerable});return t};var gt=t=>Tt(L({},"__esModule",{value:!0}),t);var mn={};kt(mn,{createIndex:()=>St,search:()=>An});var yt="\u3002\u300C\u300D\u3001\u30FB\u30F2\u30A1\u30A3\u30A5\u30A7\u30A9\u30E3\u30E5\u30E7\u30C3\u30FC\u30A2\u30A4\u30A6\u30A8\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EF\u30F3";function bt(t){let n=[],e=0;for(let o of t)n.push({cp:o,start:e,end:e+o.length}),e+=o.length;return n}function B(t,n,e){let o=n==="all"||n==="preKana",r=n==="all"||n==="postKana",i=bt(t),a="",s=[];for(let l=0;l<i.length;l++){let f=i[l],u=f.cp.codePointAt(0),c,p=f.end;if(o&&u===12288)c=" ";else if(o&&u>=65281&&u<=65374){let h=String.fromCharCode(u-65248);c=h>="A"&&h<="Z"?h.toLowerCase():h}else if(o&&u>=65&&u<=90)c=f.cp.toLowerCase();else if(r&&u>=65377&&u<=65437){let h=yt[u-65377],A=l+1<i.length?i[l+1]:null,S=A?A.cp.codePointAt(0):-1;if(S===65438||S===65439){let E=(h+(S===65438?"\u3099":"\u309A")).normalize("NFC");[...E].length===1?(c=E,p=A.end,l++):c=h}else c=h}else r&&u===65438?c="\u309B":r&&u===65439?c="\u309C":r&&u>=12353&&u<=12438?c=String.fromCodePoint(u+96):c=f.cp;if(e){let h=[f.start,p];for(let A=0;A<c.length;A++)s.push(h)}a+=c}return{text:a,map:s}}function G(t){let{text:n,map:e}=B(t,"all",!0);return{text:n,map:e}}function M(t,n){return B(t,n,!1).text}var F={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"si",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"zi",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"ti",\u30C4:"tu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"hu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},W={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sya",\u30B7\u30E5:"syu",\u30B7\u30E7:"syo",\u30B7\u30A7:"sye",\u30B8\u30E3:"zya",\u30B8\u30E5:"zyu",\u30B8\u30E7:"zyo",\u30B8\u30A7:"zye",\u30C1\u30E3:"tya",\u30C1\u30E5:"tyu",\u30C1\u30E7:"tyo",\u30C1\u30A7:"tye",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tua",\u30C4\u30A3:"tui",\u30C4\u30A7:"tue",\u30C4\u30A9:"tuo",\u30A4\u30A7:"ye"};var z={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"shi",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"ji",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"chi",\u30C4:"tsu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"fu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},v={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sha",\u30B7\u30E5:"shu",\u30B7\u30E7:"sho",\u30B7\u30A7:"she",\u30B8\u30E3:"ja",\u30B8\u30E5:"ju",\u30B8\u30E7:"jo",\u30B8\u30A7:"je",\u30C1\u30E3:"cha",\u30C1\u30E5:"chu",\u30C1\u30E7:"cho",\u30C1\u30A7:"che",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tsa",\u30C4\u30A3:"tsi",\u30C4\u30A7:"tse",\u30C4\u30A9:"tso",\u30A4\u30A7:"ye"};var y={single:F,digraphs:W},b={single:z,digraphs:v};function _(t){return t==="both"||t==="kunrei"}function I(t){return t==="both"||t==="hepburn"}function J(t,n){if(t.length===2){let o=n.digraphs[t];if(o!==void 0)return o}let e=n.single[t];return e!==void 0?e:t.toLowerCase()}function Y(t){return/^[bcdfghjklmnpqrstvwxyz]/.test(t)}var _t="\u30C3",It="\u30FC",xt=new Set(["\u30A1","\u30A3","\u30A5","\u30A7","\u30A9","\u30E3","\u30E5","\u30E7","\u30EE"]),Rt=/[ァ-ヺー]/,Ot=/[ァ-ヺ]/,Ut=/[0-9a-z]/;function Lt(t){return Rt.test(t)||Ut.test(t)}function Mt(t){let n=[],e=0,o=!1,r=-1;for(;e<t.length;){let i=t[e];if(i===_t){o||(o=!0,r=e),e+=1;continue}if(i===It){let u=n[n.length-1];u&&(u.kanaLen+=1),e+=1;continue}let a=o?r:e,s=e+1<t.length?t[e+1]:"",l=s!==""&&xt.has(s)&&Ot.test(i)?2:1,f=t.slice(e,e+l);n.push({core:f,sokuon:o,kanaStart:a,kanaLen:e+l-a}),o=!1,r=-1,e+=l}return n}function Ht(t,n){let e=[],o=new Set,r=0,i="";for(let a of t){let s=J(a.core,n);a.sokuon&&s.length>0&&Y(s)&&(s=s[0]+s),o.add(r),e.push({kanaStart:a.kanaStart,kanaLen:a.kanaLen,romajiStart:r,romajiLen:s.length}),r+=s.length,i+=s}return{text:i,syllables:e,boundaries:o}}function x(t,n){return Ht(Mt(t),n)}function H(t,n){return x(t,n).text}function X(t){let n=new Set([0]);for(let e=0;e<t.length;e++)if(!Lt(t[e])){let o=e+1;o<t.length&&n.add(o)}return n}function R(t){let n="^"+t+"$",e=new Set;for(let o=0;o+1<n.length;o++)e.add(n.slice(o,o+2));return e}function N(t){let n=0;for(let e=0;e<t.length;e++)n|=1<<t.charCodeAt(e)%31;return n}function $(t){let n=0,e=t;for(;e!==0;)e&=e-1,n++;return n}function Q(t,n,e){let o=G(t),r=_(e)?x(o.text,y):null,i=I(e)?x(o.text,b):null;return{refIndex:n,raw:t,kana:o,kanaBoundaries:X(o.text),kanaMask:N(o.text),kunreiMask:r?N(r.text):0,hepburnMask:i?N(i.text):0,kunrei:r,hepburn:i,bigrams:null}}function V(t){return t.bigrams===null&&(t.bigrams=R(t.kana.text)),t.bigrams}var Pt={a:"\u3042",i:"\u3044",u:"\u3046",e:"\u3048",o:"\u304A",k:{a:"\u304B",i:"\u304D",u:"\u304F",e:"\u3051",o:"\u3053"},s:{a:"\u3055",i:"\u3057",u:"\u3059",e:"\u305B",o:"\u305D"},t:{a:"\u305F",i:"\u3061",u:"\u3064",e:"\u3066",o:"\u3068"},n:{a:"\u306A",i:"\u306B",u:"\u306C",e:"\u306D",o:"\u306E"},h:{a:"\u306F",i:"\u3072",u:"\u3075",e:"\u3078",o:"\u307B"},m:{a:"\u307E",i:"\u307F",u:"\u3080",e:"\u3081",o:"\u3082"},y:{a:"\u3084",u:"\u3086",o:"\u3088"},r:{a:"\u3089",i:"\u308A",u:"\u308B",e:"\u308C",o:"\u308D"},w:{a:"\u308F",i:"\u3090",e:"\u3091",o:"\u3092"},g:{a:"\u304C",i:"\u304E",u:"\u3050",e:"\u3052",o:"\u3054"},z:{a:"\u3056",i:"\u3058",u:"\u305A",e:"\u305C",o:"\u305E"},d:{a:"\u3060",i:"\u3062",u:"\u3065",e:"\u3067",o:"\u3069"},b:{a:"\u3070",i:"\u3073",u:"\u3076",e:"\u3079",o:"\u307C"},p:{a:"\u3071",i:"\u3074",u:"\u3077",e:"\u307A",o:"\u307D"},v:{a:"\u3094\u3041",i:"\u3094\u3043",u:"\u3094",e:"\u3094\u3047",o:"\u3094\u3049"}},Z={k:"\u304D",s:"\u3057",t:"\u3061",n:"\u306B",h:"\u3072",m:"\u307F",r:"\u308A",g:"\u304E",z:"\u3058",d:"\u3062",b:"\u3073",p:"\u3074",v:"\u3094",q:"\u304F",f:"\u3075"},tt={ya:"\u3083",yi:"\u3043",yu:"\u3085",ye:"\u3047",yo:"\u3087"},nt={a:"\u3041",i:"\u3043",u:"\u3045",e:"\u3047",o:"\u3049"},q={sh:"sy",ch:"ty",cy:"ty",chy:"ty",shy:"sy",j:"zy",jy:"zy",shi:"si",chi:"ti",tsu:"tu",ji:"zi",fu:"hu"},Kt={tu:"\u3063",wa:"\u308E",ka:"\u30F5",ke:"\u30F6",...nt,...tt},Dt={yi:"\u3044",wu:"\u3046",ye:"\u3044\u3047",wi:"\u3046\u3043",we:"\u3046\u3047",kwa:"\u304F\u3041",whu:"\u3046",tha:"\u3066\u3083",thu:"\u3066\u3085",tho:"\u3066\u3087",dha:"\u3067\u3083",dhu:"\u3067\u3085",dho:"\u3067\u3087"},jt={wh:"\u3046",kw:"\u304F",qw:"\u304F",q:"\u304F",gw:"\u3050",sw:"\u3059",ts:"\u3064",th:"\u3066",tw:"\u3068",dh:"\u3067",dw:"\u3069",fw:"\u3075",f:"\u3075"};function et(t){return Object.entries(t).reduce((n,[e,o])=>(n[e]=typeof o=="string"?{"":o}:et(o),n),{})}function wt(t,n){return n.split("").reduce((e,o)=>(e[o]===void 0&&(e[o]={}),e[o]),t)}function Ct(){let t=et(Pt),n=r=>wt(t,r);Object.entries(Z).forEach(([r,i])=>{Object.entries(tt).forEach(([a,s])=>{n(r+a)[""]=i+s})}),Object.entries(jt).forEach(([r,i])=>{Object.entries(nt).forEach(([a,s])=>{n(r+a)[""]=i+s})}),["n","n'","xn"].forEach(r=>{n(r)[""]="\u3093"}),t.c=JSON.parse(JSON.stringify(t.k)),Object.entries(q).forEach(([r,i])=>{let a=r.slice(0,r.length-1),s=r.charAt(r.length-1),l=n(a);l[s]=JSON.parse(JSON.stringify(n(i)))});function e(r){return[...Object.entries(q),["c","k"]].reduce((i,[a,s])=>r.startsWith(s)?i.concat(r.replace(s,a)):i,[])}Object.entries(Kt).forEach(([r,i])=>{let a=c=>c.charAt(c.length-1),s=c=>c.slice(0,c.length-1),l=`x${r}`,f=n(l);f[""]=i;let u=n(`l${s(r)}`);u[a(r)]=f,e(r).forEach(c=>{["l","x"].forEach(p=>{let h=n(p+s(c));h[a(c)]=n(p+r)})})}),Object.entries(Dt).forEach(([r,i])=>{n(r)[""]=i});function o(r){return Object.entries(r).reduce((i,[a,s])=>(i[a]=a?o(s):`\u3063${s}`,i),{})}return[...Object.keys(Z),"c","y","w","j"].forEach(r=>{let i=t[r];i[r]=o(i)}),delete t.n.n,Object.freeze(JSON.parse(JSON.stringify(t)))}var P=null;function Bt(){return P==null&&(P=Ct()),P}function Gt(t,n){let e=n;function o(a,s){if(a[s]!==void 0)return Object.assign({"":a[""]+s},a[s])}function r(a,s){let l=a.charAt(0);return i(Object.assign({"":l},e[l]),a.slice(1),s,s+1)}function i(a,s,l,f){if(!s)return a[""]?[[l,f,a[""]]]:[];if(Object.keys(a).length===1)return[[l,f,a[""]],...r(s,f)];let u=o(a,s.charAt(0));return u===void 0?[[l,f,a[""]],...r(s,f)]:i(u,s.slice(1),l,f+1)}return r(t,0)}function ot(t){return Gt(t.toLowerCase(),Bt()).map(n=>n[2]??"").join("")}function rt(t){return ot(t)}function st(t,n){let e=M(t,"preKana"),o=M(rt(e),"postKana"),r=_(n)?H(o,y):null,i=I(n)?H(o,b):null;return{kana:o,singleChar:Ft(o),literal:/^[a-z0-9]$/.test(e)&&e!==o?e:null,kunrei:r,hepburn:i,kanaMask:N(o),kunreiMask:r!==null?N(r):0,hepburnMask:i!==null?N(i):0,bigrams:null}}function Ft(t){return t.length===0?!1:t.length===String.fromCodePoint(t.codePointAt(0)).length}function it(t){return t.bigrams===null&&(t.bigrams=R(t.kana)),t.bigrams}var Wt=["-"," ","\u30FB","_"];function zt(t){return t===!1||t===void 0?[]:t===!0?Wt:t}function vt(t){return t.replace(/[\\\]^-]/g,"\\$&")}function at(t,n){let e=zt(n);if(e.length===0)return t===""?[]:[t];let o=e.map(vt).join(""),r=new RegExp(`[${o}]`,"g");if(!r.test(t))return t===""?[]:[t];let i=[],a=new Set,s=u=>{u!==""&&!a.has(u)&&(a.add(u),i.push(u))};s(t);let l=[...t].at(-1);return e.includes(l)||s(t.replace(r,"")),s(t.replace(r," ")),i}function Jt(t,n){let e=[];for(let o=0;o<t;o++)e.push(n+o);return e}function ct(t,n,e){return e?n?.5+t/2:t/2:t}function O(t,n,e,o,r){if(t.length===0||n.length===0||!n.startsWith(t))return null;let i=t.length/n.length*o;return{intraScore:ct(i,!0,r),space:e,offset:0,len:t.length}}function U(t,n,e,o,r,i){if(t.length<r||n.length===0)return null;let a=n.indexOf(t);if(a<=0)return null;let s=t.length/n.length*o;return{intraScore:ct(s,!1,i),space:e,offset:a,len:t.length}}var ut=(t,n)=>{let e=null,o=f=>{f!==null&&(e===null||f.intraScore>e.intraScore)&&(e=f)},r=n.kana.text,i=n.kunrei?.text??"",a=n.hepburn?.text??"",s=t.singleChar;if(o(O(t.kana,r,"kana",1,s)),o(U(t.kana,r,"kana",.9,1,s)),t.literal!==null&&(o(O(t.literal,r,"kana",1,s)),o(U(t.literal,r,"kana",.9,1,s))),t.kunrei!==null&&o(O(t.kunrei,i,"kunrei",.97,s)),t.hepburn!==null&&o(O(t.hepburn,a,"hepburn",.97*.99,s)),t.kunrei!==null&&o(U(t.kunrei,i,"kunrei",.87,2,s)),t.hepburn!==null&&o(U(t.hepburn,a,"hepburn",.87*.99,2,s)),e===null)return null;let l=e;return{tier:1,intraScore:l.intraScore,space:l.space,positions:Jt(l.len,l.offset)}};var K=new Int32Array(0),lt=new Uint8Array(0);function Yt(t){K.length<t&&(K=new Int32Array(t),lt=new Uint8Array(t))}function Xt(t,n){let e=0;for(let o=0;o<n.length&&e<t.length;o++)t[e]===n[o]&&e++;return e===t.length}function $t(t,n,e){let o=t.length,r=n.length;if(o===0||r===0||!Xt(t,n))return null;let i=r+1;Yt((o+1)*i);let a=K,s=lt;for(let A=0;A<=r;A++)a[A]=0,s[A]=0;for(let A=1;A<=o;A++){let S=A*i,T=(A-1)*i,E=t[A-1];a[S]=-1e9,s[S]=0;for(let m=1;m<=r;m++){let k=-1e9,d=0,j=a[S+m-1];j>-1e9&&(k=j+(s[S+m-1]?-3:-1),d=0);let w=a[T+m-1];if(E===n[m-1]&&w>-1e9){let g=0;e.has(m-1)&&(g+=8),s[T+m-1]&&(g+=4),A===1&&(g+=2);let C=w+16+g;C>=k&&(k=C,d=1)}a[S+m]=k,s[S+m]=d}}let l=o*i,f=-1,u=-1e9;for(let A=o;A<=r;A++)a[l+A]>u&&(u=a[l+A],f=A);if(f<0||u===-1e9)return null;let c=[],p=o,h=f;for(;p>0&&h>0;)s[p*i+h]&&(c.push(h-1),p--),h--;return c.reverse(),c}function Qt(t,n,e,o){let r=0;for(let u of t)o.has(u)&&r++;let i=r/n,a=1,s=1;for(let u=1;u<t.length;u++)t[u]===t[u-1]+1?(s++,s>a&&(a=s)):s=1;let l=a/n,f=1-t[0]/e;return .55*i+.3*l+.15*f}var ft=(t,n)=>{let e=null,o=(i,a,s,l,f,u)=>{if(i===null||i.length<2||s.length===0||(a&~l)!==0)return;let c=$t(i,s,f);if(c===null)return;let p=Qt(c,i.length,s.length,f);(e===null||p>e.intraScore)&&(e={intraScore:p,space:u,positions:c})};if(o(t.kana,t.kanaMask,n.kana.text,n.kanaMask,n.kanaBoundaries,"kana"),n.kunrei&&o(t.kunrei,t.kunreiMask,n.kunrei.text,n.kunreiMask,n.kunrei.boundaries,"kunrei"),n.hepburn&&o(t.hepburn,t.hepburnMask,n.hepburn.text,n.hepburnMask,n.hepburn.boundaries,"hepburn"),e===null)return null;let r=e;return{tier:2,intraScore:r.intraScore,space:r.space,positions:r.positions}};var Vt=2;function Zt(t){return Math.max(1,Math.ceil(t/3))}var D=new Int32Array(0);function qt(t){return D.length<t&&(D=new Int32Array(t)),D}function tn(t,n,e){let o=t.length,r=n.length;if(o===0)return 0;if(r+e<o)return e+1;let i=r+1,a=qt((o+1)*i);for(let c=0;c<=r;c++)a[c]=c;for(let c=1;c<=o;c++){let p=c*i,h=(c-1)*i,A=(c-2)*i;a[p]=c;let S=t[c-1],T=c>1?t[c-2]:"",E=1/0;for(let m=1;m<=r;m++){let k=S===n[m-1]?0:1,d=Math.min(a[h+m]+1,a[p+m-1]+1,a[h+m-1]+k);c>1&&m>1&&S===n[m-2]&&T===n[m-1]&&(d=Math.min(d,a[A+m-2]+1)),a[p+m]=d,d<E&&(E=d)}if(E>e)return e+1}let s=o*i,l=Math.max(0,o-e),f=Math.min(r,o+e),u=a[s+l];for(let c=l+1;c<=f;c++)a[s+c]<u&&(u=a[s+c]);return u}var pt=(t,n)=>{let e=null,o=(i,a,s,l,f)=>{if(i===null||i.length<Vt||s.length===0)return;let u=Zt(i.length);if($(a&~l)>u)return;let c=tn(i,s,u);if(c>u)return;let p=1-c/(u+1);(e===null||p>e.intraScore)&&(e={intraScore:p,space:f})};if(o(t.kana,t.kanaMask,n.kana.text,n.kanaMask,"kana"),n.kunrei&&t.kunrei!==null?o(t.kunrei,t.kunreiMask,n.kunrei.text,n.kunreiMask,"kunrei"):n.hepburn&&t.hepburn!==null&&o(t.hepburn,t.hepburnMask,n.hepburn.text,n.hepburnMask,"hepburn"),e===null)return null;let r=e;return{tier:3,intraScore:r.intraScore,space:r.space,positions:null}};var nn=.8,en=.2,on=.3,ht=(t,n)=>{let e=it(t),o=V(n);if(e.size===0||o.size===0)return null;let r=0;for(let f of e)o.has(f)&&r++;let i=e.size-r,a=o.size-r,s=r+nn*i+en*a;if(s===0)return null;let l=r/s;return l<on?null:{tier:4,intraScore:l,space:"kana",positions:null}};var rn=[ut,ft,pt,ht];function sn(t){return t<0?0:t>1?1:t}function an(t){return(4-t.tier+sn(t.intraScore))/4}function cn(t,n,e){let o=null;for(let r of e){let i=t(r,n);if(i===null)continue;let a=an(i);(o===null||a>o.score)&&(o={refIndex:n.refIndex,score:a,tier:i.tier,match:i})}return o}function At(t,n,e){let o=t.trim();if(o==="")return[];let r=at(o,e.separatorExpansion);if(r.length===0)return[];let i=r.map(c=>st(c,e.romaji)),a=rn.slice(0,e.maxTier),{limit:s,minScore:l}=e,f=[],u=new Uint8Array(n.length);for(let c of a){for(let p=0;p<n.length;p++){if(u[p])continue;let h=cn(c,n[p],i);h!==null&&(u[p]=1,h.score>=l&&f.push(h))}if(s!==void 0&&f.length>=s)break}return f.sort((c,p)=>p.score-c.score||c.refIndex-p.refIndex),s!==void 0?f.slice(0,s):f}function un(t,n){for(let e of n)if(t>=e.romajiStart&&t<e.romajiStart+e.romajiLen){let o=[];for(let r=0;r<e.kanaLen;r++)o.push(e.kanaStart+r);return o}return[]}function ln(t){if(t.length===0)return[];t.sort((e,o)=>e[0]-o[0]||e[1]-o[1]);let n=[];for(let[e,o]of t){let r=n[n.length-1];r&&e<=r[1]?o>r[1]&&(r[1]=o):n.push([e,o])}return n}function mt(t,n){if(n.positions===null)return[];let e=new Set;if(n.space==="kana")for(let i of n.positions)e.add(i);else{let i=n.space==="kunrei"?t.kunrei:t.hepburn;if(i)for(let a of n.positions)for(let s of un(a,i.syllables))e.add(s)}let o=t.kana.map,r=[];for(let i of e){let a=o[i];a&&r.push([a[0],a[1]])}return ln(r)}var fn=3,pn=0;function hn(t,n,e){return{romaji:t,separatorExpansion:n,maxTier:e.maxTier??fn,minScore:e.minScore??pn,limit:e.limit,includeMatches:e.includeMatches??!1}}function St(t,n={}){let e=n.getText??(s=>s),o=n.romaji??"both",r=n.separatorExpansion??!1,i={limit:n.limit,maxTier:n.maxTier,minScore:n.minScore,includeMatches:n.includeMatches},a=t.map((s,l)=>Q(e(s),l,o));return{size:t.length,search(s,l={}){let f={...i,...l},u=hn(o,r,f);return At(s,a,u).map(p=>{let h={item:t[p.refIndex],refIndex:p.refIndex,score:p.score,tier:p.tier};return u.includeMatches&&p.match.positions!==null&&(h.matches=mt(a[p.refIndex],p.match)),h})}}}function An(t,n,e={}){return St(n,e).search(t)}return gt(mn);})();
|
|
1
|
+
/*! @ycookiey/yfuzzy v0.4.0 | MIT | includes wanakana (MIT), Mozc romaji table (BSD-3-Clause) | https://github.com/ycookiey/yfuzzy */
|
|
2
|
+
"use strict";var yfuzzy=(()=>{var et=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var pn=Object.getOwnPropertyNames;var dn=Object.prototype.hasOwnProperty;var mn=(t,e)=>{for(var o in e)et(t,o,{get:e[o],enumerable:!0})},An=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of pn(e))!dn.call(t,r)&&r!==o&&et(t,r,{get:()=>e[r],enumerable:!(n=hn(e,r))||n.enumerable});return t};var kn=t=>An(et({},"__esModule",{value:!0}),t);var _e={};mn(_e,{createIndex:()=>ln,search:()=>Ne});var yn="\u3002\u300C\u300D\u3001\u30FB\u30F2\u30A1\u30A3\u30A5\u30A7\u30A9\u30E3\u30E5\u30E7\u30C3\u30FC\u30A2\u30A4\u30A6\u30A8\u30AA\u30AB\u30AD\u30AF\u30B1\u30B3\u30B5\u30B7\u30B9\u30BB\u30BD\u30BF\u30C1\u30C4\u30C6\u30C8\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D2\u30D5\u30D8\u30DB\u30DE\u30DF\u30E0\u30E1\u30E2\u30E4\u30E6\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EF\u30F3";function gn(t){let e=[],o=0;for(let n of t)e.push({cp:n,start:o,end:o+n.length}),o+=n.length;return e}function kt(t,e,o){let n=e==="all"||e==="preKana",r=e==="all"||e==="postKana",s=gn(t),i="",a=[];for(let l=0;l<s.length;l++){let d=s[l],c=d.cp.codePointAt(0),u,p=d.end;if(n&&c===12288)u=" ";else if(n&&c>=65281&&c<=65374){let h=String.fromCharCode(c-65248);u=h>="A"&&h<="Z"?h.toLowerCase():h}else if(n&&c>=65&&c<=90)u=d.cp.toLowerCase();else if(r&&c>=65377&&c<=65437){let h=yn[c-65377],m=l+1<s.length?s[l+1]:null,g=m?m.cp.codePointAt(0):-1;if(g===65438||g===65439){let b=(h+(g===65438?"\u3099":"\u309A")).normalize("NFC");[...b].length===1?(u=b,p=m.end,l++):u=h}else u=h}else r&&c===65438?u="\u309B":r&&c===65439?u="\u309C":r&&c>=12353&&c<=12438?u=String.fromCodePoint(c+96):u=d.cp;if(o){let h=[d.start,p];for(let m=0;m<u.length;m++)a.push(h)}i+=u}return{text:i,map:a}}function yt(t){let{text:e,map:o}=kt(t,"all",!0);return{text:e,map:o}}function z(t,e){return kt(t,e,!1).text}var gt={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"si",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"zi",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"ti",\u30C4:"tu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"hu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},St={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sya",\u30B7\u30E5:"syu",\u30B7\u30E7:"syo",\u30B7\u30A7:"sye",\u30B8\u30E3:"zya",\u30B8\u30E5:"zyu",\u30B8\u30E7:"zyo",\u30B8\u30A7:"zye",\u30C1\u30E3:"tya",\u30C1\u30E5:"tyu",\u30C1\u30E7:"tyo",\u30C1\u30A7:"tye",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tua",\u30C4\u30A3:"tui",\u30C4\u30A7:"tue",\u30C4\u30A9:"tuo",\u30A4\u30A7:"ye"};var xt={\u30A2:"a",\u30A4:"i",\u30A6:"u",\u30A8:"e",\u30AA:"o",\u30AB:"ka",\u30AD:"ki",\u30AF:"ku",\u30B1:"ke",\u30B3:"ko",\u30AC:"ga",\u30AE:"gi",\u30B0:"gu",\u30B2:"ge",\u30B4:"go",\u30B5:"sa",\u30B7:"shi",\u30B9:"su",\u30BB:"se",\u30BD:"so",\u30B6:"za",\u30B8:"ji",\u30BA:"zu",\u30BC:"ze",\u30BE:"zo",\u30BF:"ta",\u30C1:"chi",\u30C4:"tsu",\u30C6:"te",\u30C8:"to",\u30C0:"da",\u30C2:"di",\u30C5:"du",\u30C7:"de",\u30C9:"do",\u30CA:"na",\u30CB:"ni",\u30CC:"nu",\u30CD:"ne",\u30CE:"no",\u30CF:"ha",\u30D2:"hi",\u30D5:"fu",\u30D8:"he",\u30DB:"ho",\u30D0:"ba",\u30D3:"bi",\u30D6:"bu",\u30D9:"be",\u30DC:"bo",\u30D1:"pa",\u30D4:"pi",\u30D7:"pu",\u30DA:"pe",\u30DD:"po",\u30DE:"ma",\u30DF:"mi",\u30E0:"mu",\u30E1:"me",\u30E2:"mo",\u30E4:"ya",\u30E6:"yu",\u30E8:"yo",\u30E9:"ra",\u30EA:"ri",\u30EB:"ru",\u30EC:"re",\u30ED:"ro",\u30EF:"wa",\u30F2:"wo",\u30F3:"n",\u30F4:"vu",\u30A1:"a",\u30A3:"i",\u30A5:"u",\u30A7:"e",\u30A9:"o",\u30E3:"ya",\u30E5:"yu",\u30E7:"yo"},bt={\u30AD\u30E3:"kya",\u30AD\u30E5:"kyu",\u30AD\u30E7:"kyo",\u30AD\u30A7:"kye",\u30AE\u30E3:"gya",\u30AE\u30E5:"gyu",\u30AE\u30E7:"gyo",\u30B7\u30E3:"sha",\u30B7\u30E5:"shu",\u30B7\u30E7:"sho",\u30B7\u30A7:"she",\u30B8\u30E3:"ja",\u30B8\u30E5:"ju",\u30B8\u30E7:"jo",\u30B8\u30A7:"je",\u30C1\u30E3:"cha",\u30C1\u30E5:"chu",\u30C1\u30E7:"cho",\u30C1\u30A7:"che",\u30C2\u30E3:"dya",\u30C2\u30E5:"dyu",\u30C2\u30E7:"dyo",\u30CB\u30E3:"nya",\u30CB\u30E5:"nyu",\u30CB\u30E7:"nyo",\u30D2\u30E3:"hya",\u30D2\u30E5:"hyu",\u30D2\u30E7:"hyo",\u30D3\u30E3:"bya",\u30D3\u30E5:"byu",\u30D3\u30E7:"byo",\u30D4\u30E3:"pya",\u30D4\u30E5:"pyu",\u30D4\u30E7:"pyo",\u30DF\u30E3:"mya",\u30DF\u30E5:"myu",\u30DF\u30E7:"myo",\u30EA\u30E3:"rya",\u30EA\u30E5:"ryu",\u30EA\u30E7:"ryo",\u30D5\u30A1:"fa",\u30D5\u30A3:"fi",\u30D5\u30A7:"fe",\u30D5\u30A9:"fo",\u30F4\u30A1:"va",\u30F4\u30A3:"vi",\u30F4\u30A7:"ve",\u30F4\u30A9:"vo",\u30A6\u30A3:"wi",\u30A6\u30A7:"we",\u30A6\u30A9:"wo",\u30C6\u30A3:"ti",\u30C8\u30A5:"tu",\u30C7\u30A3:"di",\u30C9\u30A5:"du",\u30C4\u30A1:"tsa",\u30C4\u30A3:"tsi",\u30C4\u30A7:"tse",\u30C4\u30A9:"tso",\u30A4\u30A7:"ye"};var v={single:gt,digraphs:St},G={single:xt,digraphs:bt};function $(t){return t==="both"||t==="kunrei"}function J(t){return t==="both"||t==="hepburn"}function Et(t,e){if(t.length===2){let n=e.digraphs[t];if(n!==void 0)return n}let o=e.single[t];return o!==void 0?o:t.toLowerCase()}function It(t){return/^[bcdfghjklmnpqrstvwxyz]/.test(t)}var Sn="\u30C3",xn="\u30FC",bn=new Set(["\u30A1","\u30A3","\u30A5","\u30A7","\u30A9","\u30E3","\u30E5","\u30E7","\u30EE"]),En=/[ァ-ヺー]/,In=/[ァ-ヺ]/,Tn=/[0-9a-z]/;function wn(t){return En.test(t)||Tn.test(t)}function Nn(t){let e=[],o=0,n=!1,r=-1;for(;o<t.length;){let s=t[o];if(s===Sn){n||(n=!0,r=o),o+=1;continue}if(s===xn){let c=e[e.length-1];c&&(c.kanaLen+=1),o+=1;continue}let i=n?r:o,a=o+1<t.length?t[o+1]:"",l=a!==""&&bn.has(a)&&In.test(s)?2:1,d=t.slice(o,o+l);e.push({core:d,sokuon:n,kanaStart:i,kanaLen:o+l-i}),n=!1,r=-1,o+=l}return e}function _n(t,e){let o=[],n=new Set,r=0,s="";for(let i of t){let a=Et(i.core,e);i.sokuon&&a.length>0&&It(a)&&(a=a[0]+a),n.add(r),o.push({kanaStart:i.kanaStart,kanaLen:i.kanaLen,romajiStart:r,romajiLen:a.length}),r+=a.length,s+=a}return{text:s,syllables:o,boundaries:n}}function X(t,e){return _n(Nn(t),e)}function ot(t,e){return X(t,e).text}function Tt(t){let e=new Set([0]);for(let o=0;o<t.length;o++)if(!wn(t[o])){let n=o+1;n<t.length&&e.add(n)}return e}function Q(t){let e="^"+t+"$",o=new Set;for(let n=0;n+1<e.length;n++)o.add(e.slice(n,n+2));return o}function _(t){let e=0;for(let o=0;o<t.length;o++)e|=1<<t.charCodeAt(o)%31;return e}function wt(t){let e=0,o=t;for(;o!==0;)o&=o-1,e++;return e}var Nt=/[a-z]/;function Ln(t,e){let o=Tt(t.text),n=t.text,r=s=>e.slice(t.map[s][0],t.map[s][1]);for(let s=1;s<n.length;s++){if(!Nt.test(n[s])||!Nt.test(n[s-1]))continue;let i=r(s),a=r(s-1);i!==i.toLowerCase()&&a===a.toLowerCase()&&o.add(s)}return o}function _t(t,e){let o=new Set;if(t===null)return o;for(let n of t.syllables)e.has(n.kanaStart)&&o.add(n.romajiStart);return o}function Lt(t,e,o){let n=yt(t),r=$(o)?X(n.text,v):null,s=J(o)?X(n.text,G):null,i=Ln(n,t);return{refIndex:e,raw:t,kana:n,kanaBoundaries:i,kunreiHeads:_t(r,i),hepburnHeads:_t(s,i),kanaMask:_(n.text),kunreiMask:r?_(r.text):0,hepburnMask:s?_(s.text):0,kunrei:r,hepburn:s,hasKeystrokeChar:/[a-z'-]/.test(n.text),bigrams:null}}function Mt(t){return t.bigrams===null&&(t.bigrams=Q(t.kana.text)),t.bigrams}var Mn={a:"\u3042",i:"\u3044",u:"\u3046",e:"\u3048",o:"\u304A",k:{a:"\u304B",i:"\u304D",u:"\u304F",e:"\u3051",o:"\u3053"},s:{a:"\u3055",i:"\u3057",u:"\u3059",e:"\u305B",o:"\u305D"},t:{a:"\u305F",i:"\u3061",u:"\u3064",e:"\u3066",o:"\u3068"},n:{a:"\u306A",i:"\u306B",u:"\u306C",e:"\u306D",o:"\u306E"},h:{a:"\u306F",i:"\u3072",u:"\u3075",e:"\u3078",o:"\u307B"},m:{a:"\u307E",i:"\u307F",u:"\u3080",e:"\u3081",o:"\u3082"},y:{a:"\u3084",u:"\u3086",o:"\u3088"},r:{a:"\u3089",i:"\u308A",u:"\u308B",e:"\u308C",o:"\u308D"},w:{a:"\u308F",i:"\u3090",e:"\u3091",o:"\u3092"},g:{a:"\u304C",i:"\u304E",u:"\u3050",e:"\u3052",o:"\u3054"},z:{a:"\u3056",i:"\u3058",u:"\u305A",e:"\u305C",o:"\u305E"},d:{a:"\u3060",i:"\u3062",u:"\u3065",e:"\u3067",o:"\u3069"},b:{a:"\u3070",i:"\u3073",u:"\u3076",e:"\u3079",o:"\u307C"},p:{a:"\u3071",i:"\u3074",u:"\u3077",e:"\u307A",o:"\u307D"},v:{a:"\u3094\u3041",i:"\u3094\u3043",u:"\u3094",e:"\u3094\u3047",o:"\u3094\u3049"}},Rt={k:"\u304D",s:"\u3057",t:"\u3061",n:"\u306B",h:"\u3072",m:"\u307F",r:"\u308A",g:"\u304E",z:"\u3058",d:"\u3062",b:"\u3073",p:"\u3074",v:"\u3094",q:"\u304F",f:"\u3075"},Ct={ya:"\u3083",yi:"\u3043",yu:"\u3085",ye:"\u3047",yo:"\u3087"},Kt={a:"\u3041",i:"\u3043",u:"\u3045",e:"\u3047",o:"\u3049"},Ot={sh:"sy",ch:"ty",cy:"ty",chy:"ty",shy:"sy",j:"zy",jy:"zy",shi:"si",chi:"ti",tsu:"tu",ji:"zi",fu:"hu"},Rn={tu:"\u3063",wa:"\u308E",ka:"\u30F5",ke:"\u30F6",...Kt,...Ct},On={yi:"\u3044",wu:"\u3046",ye:"\u3044\u3047",wi:"\u3046\u3043",we:"\u3046\u3047",kwa:"\u304F\u3041",whu:"\u3046",tha:"\u3066\u3083",thu:"\u3066\u3085",tho:"\u3066\u3087",dha:"\u3067\u3083",dhu:"\u3067\u3085",dho:"\u3067\u3087"},Cn={wh:"\u3046",kw:"\u304F",qw:"\u304F",q:"\u304F",gw:"\u3050",sw:"\u3059",ts:"\u3064",th:"\u3066",tw:"\u3068",dh:"\u3067",dw:"\u3069",fw:"\u3075",f:"\u3075"};function Ut(t){return Object.entries(t).reduce((e,[o,n])=>(e[o]=typeof n=="string"?{"":n}:Ut(n),e),{})}function Kn(t,e){return e.split("").reduce((o,n)=>(o[n]===void 0&&(o[n]={}),o[n]),t)}function Un(){let t=Ut(Mn),e=r=>Kn(t,r);Object.entries(Rt).forEach(([r,s])=>{Object.entries(Ct).forEach(([i,a])=>{e(r+i)[""]=s+a})}),Object.entries(Cn).forEach(([r,s])=>{Object.entries(Kt).forEach(([i,a])=>{e(r+i)[""]=s+a})}),["n","n'","xn"].forEach(r=>{e(r)[""]="\u3093"}),t.c=JSON.parse(JSON.stringify(t.k)),Object.entries(Ot).forEach(([r,s])=>{let i=r.slice(0,r.length-1),a=r.charAt(r.length-1),l=e(i);l[a]=JSON.parse(JSON.stringify(e(s)))});function o(r){return[...Object.entries(Ot),["c","k"]].reduce((s,[i,a])=>r.startsWith(a)?s.concat(r.replace(a,i)):s,[])}Object.entries(Rn).forEach(([r,s])=>{let i=u=>u.charAt(u.length-1),a=u=>u.slice(0,u.length-1),l=`x${r}`,d=e(l);d[""]=s;let c=e(`l${a(r)}`);c[i(r)]=d,o(r).forEach(u=>{["l","x"].forEach(p=>{let h=e(p+a(u));h[i(u)]=e(p+r)})})}),Object.entries(On).forEach(([r,s])=>{e(r)[""]=s});function n(r){return Object.entries(r).reduce((s,[i,a])=>(s[i]=i?n(a):`\u3063${a}`,s),{})}return[...Object.keys(Rt),"c","y","w","j"].forEach(r=>{let s=t[r];s[r]=n(s)}),delete t.n.n,Object.freeze(JSON.parse(JSON.stringify(t)))}var rt=null;function jt(){return rt==null&&(rt=Un()),rt}function jn(t,e){let o=e;function n(i,a){if(i[a]!==void 0)return Object.assign({"":i[""]+a},i[a])}function r(i,a){let l=i.charAt(0);return s(Object.assign({"":l},o[l]),i.slice(1),a,a+1)}function s(i,a,l,d){if(!a)return i[""]?[[l,d,i[""]]]:[];if(Object.keys(i).length===1)return[[l,d,i[""]],...r(a,d)];let c=n(i,a.charAt(0));return c===void 0?[[l,d,i[""]],...r(a,d)]:s(c,a.slice(1),l,d+1)}return r(t,0)}function Ht(t){return jn(t.toLowerCase(),jt()).map(e=>e[2]??"").join("")}function Dt(){let t=[],e=(o,n)=>{for(let[r,s]of Object.entries(o))r===""?n!==""&&/^[ぁ-ゖヵヶ]+$/.test(s)&&t.push([n,s]):e(s,n+r)};return e(jt(),""),t}function Pt(t){return Ht(t)}var Hn=new Set(["ci","ce","qu"]),Dn=[["ci","\u3057"],["ce","\u305B"],["qu","\u304F"],["nn","\u3093"],["-","\u30FC"],["t'i","\u3066\u3043"],["t'yu","\u3066\u3085"],["d'i","\u3067\u3043"],["d'yu","\u3067\u3085"],["t'u","\u3068\u3045"],["d'u","\u3069\u3045"],["hwa","\u3075\u3041"],["hwi","\u3075\u3043"],["hwe","\u3075\u3047"],["hwo","\u3075\u3049"],["hwyu","\u3075\u3085"],["zwa","\u305A\u3041"],["zwi","\u305A\u3043"],["zwu","\u305A\u3045"],["zwe","\u305A\u3047"],["zwo","\u305A\u3049"],["wyi","\u3090"],["wye","\u3091"]],Pn=new Set("qvlxkgszjtdhfbpmyrwc"),V=null,st=0;function it(){if(V!==null)return V;let t=new Map,e=(n,r)=>{let s=z(r,"postKana"),i=t.get(s);i===void 0&&t.set(s,i=new Set),i.add(n)},o=[];for(let[n,r]of Dt())Hn.has(n)||r.startsWith("\u3063")&&n.length>1&&n[0]===n[1]||o.push([n,r]);o.push(...Dn);for(let[n,r]of o)e(n,r),!r.startsWith("\u3063")&&(Pn.has(n[0])&&e(n[0]+n,"\u3063"+r),n.startsWith("ch")&&e("t"+n,"\u3063"+r));for(let n of t.keys())n.length>st&&(st=n.length);return V=new Map([...t].map(([n,r])=>[n,[...r]])),V}function Bt(){return it(),st}function vt(t){let e=it(),o=Bt(),n=t.length,r=Array.from({length:n+1},(k,I)=>[I]),s=n+1,i=[],a=new Set,l=(k,I,N,w)=>{let T=`${k},${I},${N},${w}`;a.has(T)||(a.add(T),i.push([k,I,N,w]))},d=!1;for(let k=0;k<n;k++){l(k,k+1,t[k],0);let I=new Map;for(let N=1;N<=o&&k+N<=n;N++){let w=e.get(t.slice(k,k+N));if(w!==void 0)for(let T of w){d=!0;let M=k;for(let R=0;R<T.length-1;R++){let B=T.slice(0,R+1),L=I.get(B);L===void 0&&(L=s++,I.set(B,L),r[k].push(L)),l(M,L,T[R],1),M=L}l(M,k+N,T[T.length-1],1)}}}if(!d)return null;let c=new Int32Array(s),u=0;for(let k of r)for(let I of k)c[I]=u++;let p=i.length,h=i.map(([k,I,N,w])=>[c[k],c[I],N,w]);h.sort((k,I)=>k[0]-I[0]||k[1]-I[1]);let m=new Int32Array(p),g=new Int32Array(p),S=new Array(p),b=new Uint8Array(p),f=new Int32Array(p);h.forEach(([k,I,N,w],T)=>{m[T]=k,g[T]=I,S[T]=N,b[T]=w,f[T]=_(N)});let A=u,y=new Int32Array(A+1);for(let k=0;k<p;k++)y[m[k]+1]++;for(let k=0;k<A;k++)y[k+1]+=y[k];let x=new Int32Array(p);for(let k=0;k<p;k++)x[k]=k;let E=new Set;for(let k=y[0];k<y[1];k++)E.add(S[x[k]]);return{nodeCount:A,final:c[n],from:m,to:g,ch:S,ks:b,bit:f,outStart:y,outEdges:x,firstChars:E}}var Y=new Uint8Array(0);function Gt(t){return Y.length<t&&(Y=new Uint8Array(t)),Y.fill(0,0,t),Y}function Z(t,e){let o=Gt(t.nodeCount);o[0]=1;for(let n=0;n<t.from.length;n++)o[t.from[n]]&&(t.bit[n]&e)!==0&&(o[t.to[n]]=1);return o[t.final]===1}function $t(t,e,o){let n=Gt(t.nodeCount);n[0]=1;for(let r=0;r<e.length;r++){let s=e[r];for(let i=t.nodeCount-1;i>=0;i--)if(n[i])for(let a=t.outStart[i];a<t.outStart[i+1];a++){let l=t.outEdges[a];t.ch[l]===s&&(o&&i===0&&t.to[l]===t.final||(n[t.to[l]]=1))}if(n[t.final])return!0}return!1}var zt=new Int32Array(0),Ft=new Int32Array(0),j=new Int32Array(0),H=0;function Jt(t,e,o,n){n.plain=0,n.ks=0;let r=t.nodeCount*2;j.length<r&&(j=new Int32Array(r),zt=new Int32Array(r),Ft=new Int32Array(r),H=0);let s=zt,i=Ft,a=1;s[0]=0;let l=t.final*2;for(let d=o;d<e.length&&a>0;d++){let c=e[d];H++;let u=0;for(let m=0;m<a;m++){let g=s[m],S=g>>1,b=g&1;for(let f=t.outStart[S];f<t.outStart[S+1];f++){let A=t.outEdges[f];if(t.ch[A]!==c)continue;let y=t.to[A]*2+(b|t.ks[A]);j[y]!==H&&(j[y]=H,i[u++]=y)}}let p=d-o+1;j[l]===H&&(n.plain=p),j[l+1]===H&&(n.ks=p);let h=s;s=i,i=h,a=u}}var Wt=new WeakMap;function q(t){let e=Wt.get(t);if(e!==void 0)return e;let o=t.nodeCount,n=Array.from({length:o},()=>[]);n[0].push(0);for(let f=0;f<o;f++)for(let A=t.outStart[f];A<t.outStart[f+1];A++){let y=t.to[t.outEdges[A]];for(let x of n[f])n[y].includes(x+1)||n[y].push(x+1)}for(let f of n)f.sort((A,y)=>A-y);let r=new Int32Array(o+1);for(let f=0;f<o;f++)r[f+1]=r[f]+n[f].length;let s=r[o],i=(f,A)=>r[f]+n[f].indexOf(A),a=new Int32Array(s);for(let f=0;f<o;f++)for(let A of n[f])a[i(f,A)]=A;let l=Array.from({length:s},()=>[]);for(let f=0;f<t.from.length;f++){let A=t.from[f],y=t.to[f];for(let x of n[A])l[i(y,x+1)].push([i(A,x),t.ch[f].charCodeAt(0),t.bit[f],t.ks[f]])}let d=new Int32Array(s+1);for(let f=0;f<s;f++)d[f+1]=d[f]+l[f].length;let c=d[s],u=new Int32Array(c),p=new Int32Array(c),h=new Int32Array(c),m=new Uint8Array(c),g=0;for(let f of l)for(let[A,y,x,E]of f)u[g]=A,p[g]=y,h[g]=x,m[g++]=E;let S=n[t.final].map(f=>[i(t.final,f),f]),b={X:s,depth:a,inStart:d,inFrom:u,inCh:p,inBit:h,inKs:m,finals:S};return Wt.set(t,b),b}function Xt(t,e,o="phonetic"){let n=z(t,"preKana"),r=z(o==="phonetic"?Pt(n):n,"postKana"),s=o==="phonetic",i=s&&$(e)?ot(r,v):null,a=s&&J(e)?ot(r,G):null;return{kana:r,singleChar:Bn(r),kunrei:i,hepburn:a,kanaMask:_(r),kunreiMask:i!==null?_(i):0,hepburnMask:a!==null?_(a):0,lattice:s?null:vt(r),shadowed:!1,bigrams:null}}function Bn(t){return t.length===0?!1:t.length===String.fromCodePoint(t.codePointAt(0)).length}function Qt(t){return t.bigrams===null&&(t.bigrams=Q(t.kana)),t.bigrams}var zn=["-"," ","\u30FB","_"];function Fn(t){return t===!1||t===void 0?[]:t===!0?zn:t}function Wn(t){return t.replace(/[\\\]^-]/g,"\\$&")}function Vt(t,e){let o=Fn(e);if(o.length===0)return t===""?[]:[t];let n=o.map(Wn).join(""),r=new RegExp(`[${n}]`,"g");if(!r.test(t))return t===""?[]:[t];let s=[],i=new Set,a=c=>{c!==""&&!i.has(c)&&(i.add(c),s.push(c))};a(t);let l=[...t].at(-1);return o.includes(l)||a(t.replace(r,"")),a(t.replace(r," ")),s}var Yt=1,Zt=.9,at=.97,ut=.87,vn=.99,O=3,C=2,qt=1,K=0;function ft(t,e){return(t+e)/4}function D(t,e,o,n,r){return{intraScore:ft(t,e),space:o,offset:n,len:r,positions:null}}function Gn(t,e){let o=[];for(let n=0;n<t;n++)o.push(e+n);return o}function $n(t,e,o,n){return t.length===0||e.length===0||!e.startsWith(t)?null:D(O,t.length/e.length*n,o,0,t.length)}function Jn(t,e,o,n,r,s){if(t.length<s||e.length===0)return null;let i=e.indexOf(t,1);if(i<0)return null;let a=t.length/e.length*r;for(let l=i;l>=0;l=e.indexOf(t,l+1))if(o.has(l))return D(C,a,n,l,t.length);return D(K,a,n,i,t.length)}function Xn(t,e,o,n,r){let s=t.length,i=e.length;if(s<2||i===0||o.size<2)return null;let a=new Uint8Array(s*i);for(let c=s-1;c>=0;c--){let u=!1;for(let p=i-1;p>=0;p--)e[p]===t[c]&&(a[c*i+p]=c===s-1||p+1<i&&a[(c+1)*i+p+1]===1||u?1:0),c<s-1&&o.has(p)&&a[(c+1)*i+p]&&(u=!0)}let l=-1;for(let c=0;c<i;c++)if(o.has(c)&&a[c]){l=c;break}if(l<0)return null;let d=[l];for(let c=1;c<s;c++){if(l+1<i&&a[c*i+l+1])l=l+1;else{let u=l+1;for(;!(o.has(u)&&a[c*i+u]);)u++;l=u}d.push(l)}return{intraScore:ft(qt,s/i*r),space:n,offset:0,len:0,positions:d}}var tt={plain:0,ks:0};function Qn(t,e,o,n){let r=e.length;if(r===0)return;let s=[new Int32Array(4),new Int32Array(4)],i=[new Int32Array(4),new Int32Array(4)],a=(c,u,p,h)=>{p>s[c][u]&&(s[c][u]=p,i[c][u]=h)};for(let c=0;c<r;c++){if(!t.firstChars.has(e[c]))continue;Jt(t,e,c,tt);let u=c===0?O:o.has(c)?C:K;a(0,u,tt.plain,c),(u===O||tt.ks>=2)&&a(1,u,tt.ks,c)}let l=o.size>=2?Vn(t,e,o):null,d=[[Yt,Zt],[at,ut]];for(let c=0;c<2;c++){let[u,p]=d[c];s[c][O]>0&&n(D(O,s[c][O]/r*u,"kana",0,s[c][O])),s[c][C]>0&&n(D(C,s[c][C]/r*p,"kana",i[c][C],s[c][C]));let h=l?.[c];h&&n({intraScore:ft(qt,h.length/r*p),space:"kana",offset:0,len:0,positions:h}),s[c][K]>0&&n(D(K,s[c][K]/r*p,"kana",i[c][K],s[c][K]))}}function Vn(t,e,o){let n=q(t),{X:r,inStart:s,inFrom:i,inCh:a,inKs:l}=n,d=e.length,c=new Uint8Array(r*2*d),u=new Int32Array(r*2).fill(d);for(let h=1;h<r;h++)for(let m=s[h];m<s[h+1];m++){let g=i[m],S=a[m],b=l[m];for(let f=0;f<2;f++){if(g!==0&&u[g*2+f]>=d||g===0&&f===1)continue;let A=f|b,y=(h*2+A)*d,x=(g*2+f)*d;for(let E=0;E<d;E++){if(e.charCodeAt(E)!==S||c[y+E])continue;(g===0?o.has(E):E>0&&c[x+E-1]===1||o.has(E)&&u[g*2+f]<E)&&(c[y+E]=1,E<u[h*2+A]&&(u[h*2+A]=E))}}}let p=[null,null];for(let h=0;h<2;h++)for(let m=n.finals.length-1;m>=0&&p[h]===null;m--){let[g,S]=n.finals[m];S<2||u[g*2+h]>=d||(p[h]=Yn(n,c,e,o,g,h,u[g*2+h]))}return p}function Yn(t,e,o,n,r,s,i){let{inStart:a,inFrom:l,inCh:d,inKs:c}=t,u=o.length,p=[i],h=r,m=s,g=i;for(;h!==0;){let S=null;for(let b=a[h];b<a[h+1]&&S===null;b++){if(d[b]!==o.charCodeAt(g))continue;let f=l[b];if(f===0){c[b]===m&&n.has(g)&&(S=[0,0,-1]);continue}for(let A=0;A<2&&S===null;A++){if((A|c[b])!==m)continue;let y=(f*2+A)*u;if(g>0&&e[y+g-1])S=[f,A,g-1];else if(n.has(g)){for(let x=g-1;x>=0;x--)if(e[y+x]){S=[f,A,x];break}}}}if(S===null||S[0]===0)break;[h,m,g]=S,p.push(g)}return p.reverse()}var U=null;function nt(t){t!==null&&(U===null||t.intraScore>U.intraScore)&&(U=t)}function ct(t,e,o,n,r,s,i){nt($n(t,e,n,r)),nt(Jn(t,e,o,n,s,i)),o.size>=2&&nt(Xn(t,e,o,n,s))}var tn=(t,e)=>{U=null;let o=e.kana.text;if(t.lattice!==null&&e.hasKeystrokeChar?Z(t.lattice,e.kanaMask)&&Qn(t.lattice,o,e.kanaBoundaries,nt):t.shadowed||ct(t.kana,o,e.kanaBoundaries,"kana",Yt,Zt,1),t.kunrei!==null&&e.kunrei!==null&&ct(t.kunrei,e.kunrei.text,e.kunreiHeads,"kunrei",at,ut,2),t.hepburn!==null&&e.hepburn!==null){let r=vn;ct(t.hepburn,e.hepburn.text,e.hepburnHeads,"hepburn",at*r,ut*r,2)}if(U===null)return null;let n=U;return U=null,{tier:1,intraScore:n.intraScore,space:n.space,positions:n.positions??Gn(n.len,n.offset)}};var Zn=16,qn=-3,te=-1,ne=8,ee=4,oe=2,re=.55,se=.3,ie=.15,nn=2,P=-1e9,lt=new Int32Array(0),en=new Uint8Array(0);function ce(t){lt.length<t&&(lt=new Int32Array(t),en=new Uint8Array(t))}function ae(t,e){let o=0;for(let n=0;n<e.length&&o<t.length;n++)t[o]===e[n]&&o++;return o===t.length}function on(t,e,o){let n=t.length,r=e.length;if(n===0||r===0||!ae(t,e))return null;let s=r+1;ce((n+1)*s);let i=lt,a=en;for(let m=0;m<=r;m++)i[m]=0,a[m]=0;for(let m=1;m<=n;m++){let g=m*s,S=(m-1)*s,b=t[m-1];i[g]=P,a[g]=0;for(let f=1;f<=r;f++){let A=P,y=0,x=i[g+f-1];x>P&&(A=x+(a[g+f-1]?qn:te),y=0);let E=i[S+f-1];if(b===e[f-1]&&E>P){let k=0;o.has(f-1)&&(k+=ne),a[S+f-1]&&(k+=ee),m===1&&(k+=oe);let I=E+Zn+k;I>=A&&(A=I,y=1)}i[g+f]=A,a[g+f]=y}}let l=n*s,d=-1,c=P;for(let m=n;m<=r;m++)i[l+m]>c&&(c=i[l+m],d=m);if(d<0||c===P)return null;let u=[],p=n,h=d;for(;p>0&&h>0;)a[p*s+h]&&(u.push(h-1),p--),h--;return u.reverse(),u}function rn(t,e,o,n){let r=0;for(let c of t)n.has(c)&&r++;let s=r/e,i=1,a=1;for(let c=1;c<t.length;c++)t[c]===t[c-1]+1?(a++,a>i&&(i=a)):a=1;let l=i/e,d=1-t[0]/o;return re*s+se*l+ie*d}function ue(t,e,o,n,r){if(e.length===0||!Z(t,o)||!$t(t,e,r))return null;let s=null,i=(a,l,d)=>{if(a===t.final){if(l.length<nn)return;let c=on(l,e,n);if(c===null)return;let u=rn(c,l.length,e.length,n);(s===null||u>s.intraScore)&&(s={intraScore:u,positions:c});return}for(let c=t.outStart[a];c<t.outStart[a+1];c++){let u=t.outEdges[c],p=t.ch[u],h=e.indexOf(p,d);h>=0&&i(t.to[u],l+p,h+1)}};return i(0,"",0),s}var sn=(t,e)=>{let o=null,n=(s,i,a,l,d,c)=>{if(s===null||s.length<nn||a.length===0||(i&~l)!==0)return;let u=on(s,a,d);if(u===null)return;let p=rn(u,s.length,a.length,d);(o===null||p>o.intraScore)&&(o={intraScore:p,space:c,positions:u})};if(t.lattice!==null&&e.hasKeystrokeChar){let s=ue(t.lattice,e.kana.text,e.kanaMask,e.kanaBoundaries,t.singleChar);s!==null&&(o={intraScore:s.intraScore,space:"kana",positions:s.positions})}else t.shadowed||n(t.kana,t.kanaMask,e.kana.text,e.kanaMask,e.kanaBoundaries,"kana");if(e.kunrei&&n(t.kunrei,t.kunreiMask,e.kunrei.text,e.kunreiMask,e.kunrei.boundaries,"kunrei"),e.hepburn&&n(t.hepburn,t.hepburnMask,e.hepburn.text,e.hepburnMask,e.hepburn.boundaries,"hepburn"),o===null)return null;let r=o;return{tier:2,intraScore:r.intraScore,space:r.space,positions:r.positions}};var mt=2;function F(t){return Math.max(1,Math.ceil(t/3))}var ht=new Int32Array(0);function fe(t){return ht.length<t&&(ht=new Int32Array(t)),ht}function le(t,e,o){let n=t.length,r=e.length;if(n===0)return 0;if(r+o<n)return o+1;let s=r+1,i=fe((n+1)*s);for(let u=0;u<=r;u++)i[u]=u;for(let u=1;u<=n;u++){let p=u*s,h=(u-1)*s,m=(u-2)*s;i[p]=u;let g=t[u-1],S=u>1?t[u-2]:"",b=1/0;for(let f=1;f<=r;f++){let A=g===e[f-1]?0:1,y=Math.min(i[h+f]+1,i[p+f-1]+1,i[h+f-1]+A);u>1&&f>1&&g===e[f-2]&&S===e[f-1]&&(y=Math.min(y,i[m+f-2]+1)),i[p+f]=y,y<b&&(b=y)}if(b>o)return o+1}let a=n*s,l=Math.max(0,n-o),d=Math.min(r,n+o),c=i[a+l];for(let u=l+1;u<=d;u++)i[a+u]<c&&(c=i[a+u]);return c}var pt=new Int32Array(0),dt=new Int32Array(0);function he(t,e,o){let n=e.length;if(n===0)return null;let r=q(t),{X:s,inStart:i,inFrom:a,inCh:l,inBit:d}=r;dt.length<s&&(dt=new Int32Array(s));let c=dt;c[0]=0;for(let f=1;f<s;f++){let A=1073741824;for(let y=i[f];y<i[f+1];y++){let x=c[a[y]]+((d[y]&o)===0?1:0);x<A&&(A=x)}c[f]=A}let u=-1;for(let[f,A]of r.finals)A>=mt&&n+F(A)>=A&&c[f]<=F(A)&&(u=Math.max(u,F(A)));if(u<0)return null;let p=1<<29,h=n+1;pt.length<s*h&&(pt=new Int32Array(s*h));let m=pt,g=r.depth,S=(f,A)=>{let y=A-g[f];return A<0||y>u||y<-u?p:m[f*h+A]};for(let f=0;f<=Math.min(n,u);f++)m[f]=f;for(let f=1;f<s;f++){let A=g[f],y=Math.max(0,A-u),x=Math.min(n,A+u),E=f*h;for(let k=y;k<=x;k++){if(k===0){m[E]=A;continue}let I=e.charCodeAt(k-1),N=k>1?e.charCodeAt(k-2):-1,w=(k-1>=y?m[E+k-1]:p)+1;for(let T=i[f];T<i[f+1];T++){let M=a[T],R=l[T],B=S(M,k)+1,L=S(M,k-1)+(R===I?0:1);if(B<w&&(w=B),L<w&&(w=L),R===N){for(let W=i[M];W<i[M+1];W++)if(l[W]===I){let At=S(a[W],k-2)+1;At<w&&(w=At)}}}m[E+k]=w}}let b=null;for(let[f,A]of r.finals){if(A<mt)continue;let y=F(A);if(n+y<A||c[f]>y)continue;let x=p;for(let k=Math.max(0,A-u);k<=Math.min(n,A+u);k++){let I=m[f*h+k];I<x&&(x=I)}if(x>y)continue;let E=1-x/(y+1);(b===null||E>b)&&(b=E)}return b}var cn=(t,e)=>{let o=null,n=(s,i,a,l,d)=>{if(s===null||s.length<mt||a.length===0)return;let c=F(s.length);if(wt(i&~l)>c)return;let u=le(s,a,c);if(u>c)return;let p=1-u/(c+1);(o===null||p>o.intraScore)&&(o={intraScore:p,space:d})};if(t.lattice!==null&&e.hasKeystrokeChar){let s=he(t.lattice,e.kana.text,e.kanaMask);s!==null&&(o={intraScore:s,space:"kana"})}else t.shadowed||n(t.kana,t.kanaMask,e.kana.text,e.kanaMask,"kana");if(e.kunrei&&t.kunrei!==null?n(t.kunrei,t.kunreiMask,e.kunrei.text,e.kunreiMask,"kunrei"):e.hepburn&&t.hepburn!==null&&n(t.hepburn,t.hepburnMask,e.hepburn.text,e.hepburnMask,"hepburn"),o===null)return null;let r=o;return{tier:3,intraScore:r.intraScore,space:r.space,positions:null}};var pe=.8,de=.2,me=.3,an=(t,e)=>{if(t.shadowed)return null;let o=Qt(t),n=Mt(e);if(o.size===0||n.size===0)return null;let r=0;for(let d of o)n.has(d)&&r++;let s=o.size-r,i=n.size-r,a=r+pe*s+de*i;if(a===0)return null;let l=r/a;return l<me?null:{tier:4,intraScore:l,space:"kana",positions:null}};var Ae=[tn,sn,cn,an];function ke(t){return t==="literal"?["literal"]:t==="phonetic"?["phonetic"]:["literal","phonetic"]}function ye(t,e,o){let n=o.map(r=>Xt(t,e,r));if(n.length===2&&n[0].kana===n[1].kana){if(n[0].lattice===null)return[n[1]];n[0].shadowed=!0}return n}function ge(t){return t<0?0:t>1?1:t}function Se(t){return(4-t.tier+ge(t.intraScore))/4}function xe(t,e,o){let n=null;for(let r of o){let s=t(r,e);if(s===null)continue;let i=Se(s);(n===null||i>n.score)&&(n={refIndex:e.refIndex,score:i,tier:s.tier,match:s})}return n}function un(t,e,o){let n=t.trim();if(n==="")return[];let r=Vt(n,o.separatorExpansion);if(r.length===0)return[];let s=ke(o.matching),i=r.flatMap(p=>ye(p,o.romaji,s)),a=Ae.slice(0,o.maxTier),{limit:l,minScore:d}=o,c=[],u=new Uint8Array(e.length);for(let p of a){for(let h=0;h<e.length;h++){if(u[h])continue;let m=xe(p,e[h],i);m!==null&&(u[h]=1,m.score>=d&&c.push(m))}if(l!==void 0&&c.length>=l)break}return c.sort((p,h)=>h.score-p.score||p.refIndex-h.refIndex),l!==void 0?c.slice(0,l):c}function be(t,e){for(let o of e)if(t>=o.romajiStart&&t<o.romajiStart+o.romajiLen){let n=[];for(let r=0;r<o.kanaLen;r++)n.push(o.kanaStart+r);return n}return[]}function Ee(t){if(t.length===0)return[];t.sort((o,n)=>o[0]-n[0]||o[1]-n[1]);let e=[];for(let[o,n]of t){let r=e[e.length-1];r&&o<=r[1]?n>r[1]&&(r[1]=n):e.push([o,n])}return e}function fn(t,e){if(e.positions===null)return[];let o=new Set;if(e.space==="kana")for(let s of e.positions)o.add(s);else{let s=e.space==="kunrei"?t.kunrei:t.hepburn;if(s)for(let i of e.positions)for(let a of be(i,s.syllables))o.add(a)}let n=t.kana.map,r=[];for(let s of o){let i=n[s];i&&r.push([i[0],i[1]])}return Ee(r)}var Ie=3,Te=0;function we(t,e,o,n){return{romaji:t,separatorExpansion:e,matching:o,maxTier:n.maxTier??Ie,minScore:n.minScore??Te,limit:n.limit,includeMatches:n.includeMatches??!1}}function ln(t,e={}){let o=e.getText??(l=>l),n=e.romaji??"both",r=e.separatorExpansion??!1,s=e.matching??"both",i={limit:e.limit,maxTier:e.maxTier,minScore:e.minScore,includeMatches:e.includeMatches},a=t.map((l,d)=>Lt(o(l),d,n));return{size:t.length,search(l,d={}){let c={...i,...d},u=we(n,r,s,c);return un(l,a,u).map(h=>{let m={item:t[h.refIndex],refIndex:h.refIndex,score:h.score,tier:h.tier};return u.includeMatches&&h.match.positions!==null&&(m.matches=fn(a[h.refIndex],h.match)),m})}}}function Ne(t,e,o={}){return ln(e,o).search(t)}return kn(_e);})();
|
package/package.json
CHANGED
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@ycookiey/yfuzzy",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Japanese-aware fuzzy search library",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"publishConfig": {
|
|
7
|
-
"access": "public"
|
|
8
|
-
},
|
|
9
|
-
"author": "ycookiey",
|
|
10
|
-
"repository": {
|
|
11
|
-
"type": "git",
|
|
12
|
-
"url": "git+https://github.com/ycookiey/yfuzzy.git"
|
|
13
|
-
},
|
|
14
|
-
"keywords": [
|
|
15
|
-
"fuzzy",
|
|
16
|
-
"fuzzy-search",
|
|
17
|
-
"search",
|
|
18
|
-
"japanese",
|
|
19
|
-
"kana",
|
|
20
|
-
"romaji",
|
|
21
|
-
"katakana",
|
|
22
|
-
"hiragana",
|
|
23
|
-
"typeahead",
|
|
24
|
-
"autocomplete"
|
|
25
|
-
],
|
|
26
|
-
"type": "module",
|
|
27
|
-
"main": "./dist/index.js",
|
|
28
|
-
"types": "./dist/index.d.ts",
|
|
29
|
-
"unpkg": "./dist/yfuzzy.min.js",
|
|
30
|
-
"jsdelivr": "./dist/yfuzzy.min.js",
|
|
31
|
-
"exports": {
|
|
32
|
-
".": {
|
|
33
|
-
"types": "./dist/index.d.ts",
|
|
34
|
-
"import": "./dist/index.js"
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
"files": [
|
|
38
|
-
"dist",
|
|
39
|
-
"README.md",
|
|
40
|
-
"LICENSE",
|
|
41
|
-
"THIRD_PARTY_NOTICES.md"
|
|
42
|
-
],
|
|
43
|
-
"scripts": {
|
|
44
|
-
"build": "tsc -p tsconfig.build.json && node scripts/build-browser.mjs",
|
|
45
|
-
"typecheck": "tsc -p tsconfig.json",
|
|
46
|
-
"test": "vitest run",
|
|
47
|
-
"test:watch": "vitest",
|
|
48
|
-
"bench": "npm run build && node bench/run.js",
|
|
49
|
-
"prepublishOnly": "npm run build"
|
|
50
|
-
},
|
|
51
|
-
"devDependencies": {
|
|
52
|
-
"esbuild": "0.28.1",
|
|
53
|
-
"fuse.js": "^7.4.2",
|
|
54
|
-
"fuzzysort": "^3.1.0",
|
|
55
|
-
"typescript": "^6.0.3",
|
|
56
|
-
"vitest": "^4.1.8"
|
|
57
|
-
},
|
|
58
|
-
"engines": {
|
|
59
|
-
"node": ">=18"
|
|
60
|
-
}
|
|
61
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@ycookiey/yfuzzy",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Japanese-aware fuzzy search library",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"author": "ycookiey",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/ycookiey/yfuzzy.git"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"fuzzy",
|
|
16
|
+
"fuzzy-search",
|
|
17
|
+
"search",
|
|
18
|
+
"japanese",
|
|
19
|
+
"kana",
|
|
20
|
+
"romaji",
|
|
21
|
+
"katakana",
|
|
22
|
+
"hiragana",
|
|
23
|
+
"typeahead",
|
|
24
|
+
"autocomplete"
|
|
25
|
+
],
|
|
26
|
+
"type": "module",
|
|
27
|
+
"main": "./dist/index.js",
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"unpkg": "./dist/yfuzzy.min.js",
|
|
30
|
+
"jsdelivr": "./dist/yfuzzy.min.js",
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"import": "./dist/index.js"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"files": [
|
|
38
|
+
"dist",
|
|
39
|
+
"README.md",
|
|
40
|
+
"LICENSE",
|
|
41
|
+
"THIRD_PARTY_NOTICES.md"
|
|
42
|
+
],
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build": "tsc -p tsconfig.build.json && node scripts/build-browser.mjs",
|
|
45
|
+
"typecheck": "tsc -p tsconfig.json",
|
|
46
|
+
"test": "vitest run",
|
|
47
|
+
"test:watch": "vitest",
|
|
48
|
+
"bench": "npm run build && node bench/run.js",
|
|
49
|
+
"prepublishOnly": "npm run build"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"esbuild": "0.28.1",
|
|
53
|
+
"fuse.js": "^7.4.2",
|
|
54
|
+
"fuzzysort": "^3.1.0",
|
|
55
|
+
"typescript": "^6.0.3",
|
|
56
|
+
"vitest": "^4.1.8"
|
|
57
|
+
},
|
|
58
|
+
"engines": {
|
|
59
|
+
"node": ">=18"
|
|
60
|
+
}
|
|
61
|
+
}
|
package/dist/ablate.d.ts
DELETED
package/dist/ablate.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ablate.d.ts","sourceRoot":"","sources":["../src/ablate.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,GAAG;;;;;;CAMf,CAAC"}
|
package/dist/ablate.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
// 一時: ablation 計測用トグル。ABLATE 環境変数(カンマ区切り)で各最適化を OFF。
|
|
2
|
-
// 計測後に git checkout で破棄する。本番には残さない。
|
|
3
|
-
const off = (typeof process !== 'undefined' && process.env && process.env.ABLATE ? process.env.ABLATE : '').split(',');
|
|
4
|
-
export const OFF = {
|
|
5
|
-
A: off.includes('A'), // 文字集合マスク前置フィルタ
|
|
6
|
-
B: off.includes('B'), // scratch 配列再利用
|
|
7
|
-
C: off.includes('C'), // OSA バンド窓 + 早期打ち切り
|
|
8
|
-
E: off.includes('E'), // tier1 positions 遅延
|
|
9
|
-
F: off.includes('F'), // tier-first 転置 + limit 打ち切り
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=ablate.js.map
|
package/dist/ablate.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ablate.js","sourceRoot":"","sources":["../src/ablate.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,oCAAoC;AACpC,MAAM,GAAG,GAAG,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvH,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB;IACtC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB;IACtC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,oBAAoB;IAC1C,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,qBAAqB;IAC3C,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,6BAA6B;CACpD,CAAC"}
|