hama-js 1.3.0 → 1.3.2
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/browser/jamo.js +37 -18
- package/dist/browser/jamo.js.map +1 -1
- package/dist/node/jamo.js +37 -18
- package/dist/node/jamo.js.map +1 -1
- package/package.json +1 -1
package/dist/browser/jamo.js
CHANGED
|
@@ -9,29 +9,48 @@ const N_COUNT = V_COUNT * T_COUNT;
|
|
|
9
9
|
const S_COUNT = L_COUNT * N_COUNT;
|
|
10
10
|
const FILLER_INITIAL = 0x110b;
|
|
11
11
|
const isHangulSyllable = (code) => code >= S_BASE && code < S_BASE + S_COUNT;
|
|
12
|
+
const WHITESPACE_REGEX = /\s/;
|
|
12
13
|
export const splitTextToJamo = (text) => {
|
|
13
14
|
const tokens = [];
|
|
14
15
|
const mapping = [];
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const normalized = text.toLocaleLowerCase("und");
|
|
17
|
+
let index = 0;
|
|
18
|
+
while (index < normalized.length) {
|
|
19
|
+
const code = normalized.codePointAt(index);
|
|
20
|
+
const char = String.fromCodePoint(code);
|
|
21
|
+
const charLen = char.length;
|
|
22
|
+
if (WHITESPACE_REGEX.test(char)) {
|
|
23
|
+
index += charLen;
|
|
24
|
+
continue;
|
|
21
25
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
while (index < normalized.length) {
|
|
27
|
+
const innerCode = normalized.codePointAt(index);
|
|
28
|
+
const innerChar = String.fromCodePoint(innerCode);
|
|
29
|
+
const innerLen = innerChar.length;
|
|
30
|
+
if (WHITESPACE_REGEX.test(innerChar)) {
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
if (!isHangulSyllable(innerCode)) {
|
|
34
|
+
tokens.push(innerChar);
|
|
35
|
+
mapping.push(index);
|
|
36
|
+
index += innerLen;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
const syllableIndex = innerCode - S_BASE;
|
|
40
|
+
const l = Math.floor(syllableIndex / N_COUNT);
|
|
41
|
+
const v = Math.floor((syllableIndex % N_COUNT) / T_COUNT);
|
|
42
|
+
const t = syllableIndex % T_COUNT;
|
|
43
|
+
tokens.push(String.fromCodePoint(L_BASE + l));
|
|
44
|
+
mapping.push(index);
|
|
45
|
+
tokens.push(String.fromCodePoint(V_BASE + v));
|
|
46
|
+
mapping.push(index);
|
|
47
|
+
if (t !== 0) {
|
|
48
|
+
tokens.push(String.fromCodePoint(T_BASE + t));
|
|
49
|
+
mapping.push(index);
|
|
50
|
+
}
|
|
51
|
+
index += innerLen;
|
|
33
52
|
}
|
|
34
|
-
}
|
|
53
|
+
}
|
|
35
54
|
return { tokens, originalIndices: mapping };
|
|
36
55
|
};
|
|
37
56
|
const composeSyllable = (initial, medial, final) => String.fromCodePoint(S_BASE + initial * N_COUNT + medial * T_COUNT + final);
|
package/dist/browser/jamo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jamo.js","sourceRoot":"","sources":["../../src/jamo.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAClC,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAClC,MAAM,cAAc,GAAG,MAAM,CAAC;AAO9B,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CACxC,IAAI,IAAI,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAgB,EAAE;IAC5D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"jamo.js","sourceRoot":"","sources":["../../src/jamo.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAClC,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAClC,MAAM,cAAc,GAAG,MAAM,CAAC;AAO9B,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CACxC,IAAI,IAAI,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAgB,EAAE;IAC5D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAE5B,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,KAAK,IAAI,OAAO,CAAC;YACjB,SAAS;QACX,CAAC;QAED,OAAO,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAE,CAAC;YACjD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC;YAClC,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,MAAM;YACR,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,IAAI,QAAQ,CAAC;gBAClB,SAAS;YACX,CAAC;YAED,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;YACzC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;YAC1D,MAAM,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,KAAK,IAAI,QAAQ,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,MAAc,EAAE,KAAa,EAAE,EAAE,CACzE,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAU,EAAE;IACzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,GAAG,IAAI,CAAC;QACd,KAAK,GAAG,CAAC,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;QACnC,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;YAC9C,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACxC,KAAK,EAAE,CAAC;YACV,CAAC;YACD,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;YACrD,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,GAAG,cAAc,GAAG,MAAM,CAAC;YACxD,IAAI,MAAM,KAAK,IAAI;gBAAE,KAAK,EAAE,CAAC;YAC7B,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;YACrD,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACxC,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;gBACtB,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,KAAK,EAAE,CAAC;IACR,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC,CAAC"}
|
package/dist/node/jamo.js
CHANGED
|
@@ -9,29 +9,48 @@ const N_COUNT = V_COUNT * T_COUNT;
|
|
|
9
9
|
const S_COUNT = L_COUNT * N_COUNT;
|
|
10
10
|
const FILLER_INITIAL = 0x110b;
|
|
11
11
|
const isHangulSyllable = (code) => code >= S_BASE && code < S_BASE + S_COUNT;
|
|
12
|
+
const WHITESPACE_REGEX = /\s/;
|
|
12
13
|
export const splitTextToJamo = (text) => {
|
|
13
14
|
const tokens = [];
|
|
14
15
|
const mapping = [];
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const normalized = text.toLocaleLowerCase("und");
|
|
17
|
+
let index = 0;
|
|
18
|
+
while (index < normalized.length) {
|
|
19
|
+
const code = normalized.codePointAt(index);
|
|
20
|
+
const char = String.fromCodePoint(code);
|
|
21
|
+
const charLen = char.length;
|
|
22
|
+
if (WHITESPACE_REGEX.test(char)) {
|
|
23
|
+
index += charLen;
|
|
24
|
+
continue;
|
|
21
25
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
while (index < normalized.length) {
|
|
27
|
+
const innerCode = normalized.codePointAt(index);
|
|
28
|
+
const innerChar = String.fromCodePoint(innerCode);
|
|
29
|
+
const innerLen = innerChar.length;
|
|
30
|
+
if (WHITESPACE_REGEX.test(innerChar)) {
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
if (!isHangulSyllable(innerCode)) {
|
|
34
|
+
tokens.push(innerChar);
|
|
35
|
+
mapping.push(index);
|
|
36
|
+
index += innerLen;
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
const syllableIndex = innerCode - S_BASE;
|
|
40
|
+
const l = Math.floor(syllableIndex / N_COUNT);
|
|
41
|
+
const v = Math.floor((syllableIndex % N_COUNT) / T_COUNT);
|
|
42
|
+
const t = syllableIndex % T_COUNT;
|
|
43
|
+
tokens.push(String.fromCodePoint(L_BASE + l));
|
|
44
|
+
mapping.push(index);
|
|
45
|
+
tokens.push(String.fromCodePoint(V_BASE + v));
|
|
46
|
+
mapping.push(index);
|
|
47
|
+
if (t !== 0) {
|
|
48
|
+
tokens.push(String.fromCodePoint(T_BASE + t));
|
|
49
|
+
mapping.push(index);
|
|
50
|
+
}
|
|
51
|
+
index += innerLen;
|
|
33
52
|
}
|
|
34
|
-
}
|
|
53
|
+
}
|
|
35
54
|
return { tokens, originalIndices: mapping };
|
|
36
55
|
};
|
|
37
56
|
const composeSyllable = (initial, medial, final) => String.fromCodePoint(S_BASE + initial * N_COUNT + medial * T_COUNT + final);
|
package/dist/node/jamo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jamo.js","sourceRoot":"","sources":["../../src/jamo.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAClC,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAClC,MAAM,cAAc,GAAG,MAAM,CAAC;AAO9B,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CACxC,IAAI,IAAI,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAgB,EAAE;IAC5D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"jamo.js","sourceRoot":"","sources":["../../src/jamo.ts"],"names":[],"mappings":"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"}
|