garu-ko 0.7.1 → 0.7.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/models/base.gmdl CHANGED
Binary file
package/models/cnn2.bin CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "garu-ko",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "description": "Ultra-lightweight Korean morphological analyzer for the web (1.9MB model, WASM, F1 93.9%)",
5
5
  "type": "module",
6
6
  "main": "dist/node.js",
@@ -16,17 +16,15 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
16
16
  export interface InitOutput {
17
17
  readonly memory: WebAssembly.Memory;
18
18
  readonly __wbg_garuwasm_free: (a: number, b: number) => void;
19
- readonly garuwasm_analyze: (a: number, b: number, c: number) => [number, number, number];
20
- readonly garuwasm_analyze_topn: (a: number, b: number, c: number, d: number) => [number, number, number];
21
- readonly garuwasm_new: (a: number, b: number, c: number, d: number) => [number, number, number];
22
- readonly garuwasm_tokenize: (a: number, b: number, c: number) => [number, number, number];
23
- readonly garuwasm_version: () => [number, number];
24
- readonly __wbindgen_malloc: (a: number, b: number) => number;
25
- readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
26
- readonly __wbindgen_externrefs: WebAssembly.Table;
27
- readonly __externref_table_dealloc: (a: number) => void;
28
- readonly __wbindgen_free: (a: number, b: number, c: number) => void;
29
- readonly __wbindgen_start: () => void;
19
+ readonly garuwasm_analyze: (a: number, b: number, c: number, d: number) => void;
20
+ readonly garuwasm_analyze_topn: (a: number, b: number, c: number, d: number, e: number) => void;
21
+ readonly garuwasm_new: (a: number, b: number, c: number, d: number, e: number) => void;
22
+ readonly garuwasm_tokenize: (a: number, b: number, c: number, d: number) => void;
23
+ readonly garuwasm_version: (a: number) => void;
24
+ readonly __wbindgen_export: (a: number, b: number) => number;
25
+ readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
26
+ readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
27
+ readonly __wbindgen_export3: (a: number, b: number, c: number) => void;
30
28
  }
31
29
 
32
30
  export type SyncInitInput = BufferSource | WebAssembly.Module;
package/pkg/garu_wasm.js CHANGED
@@ -16,13 +16,21 @@ export class GaruWasm {
16
16
  * @returns {any}
17
17
  */
18
18
  analyze(text) {
19
- const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
20
- const len0 = WASM_VECTOR_LEN;
21
- const ret = wasm.garuwasm_analyze(this.__wbg_ptr, ptr0, len0);
22
- if (ret[2]) {
23
- throw takeFromExternrefTable0(ret[1]);
19
+ try {
20
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
21
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export, wasm.__wbindgen_export2);
22
+ const len0 = WASM_VECTOR_LEN;
23
+ wasm.garuwasm_analyze(retptr, this.__wbg_ptr, ptr0, len0);
24
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
25
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
26
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
27
+ if (r2) {
28
+ throw takeObject(r1);
29
+ }
30
+ return takeObject(r0);
31
+ } finally {
32
+ wasm.__wbindgen_add_to_stack_pointer(16);
24
33
  }
25
- return takeFromExternrefTable0(ret[0]);
26
34
  }
27
35
  /**
28
36
  * @param {string} text
@@ -30,43 +38,67 @@ export class GaruWasm {
30
38
  * @returns {any}
31
39
  */
32
40
  analyze_topn(text, n) {
33
- const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
34
- const len0 = WASM_VECTOR_LEN;
35
- const ret = wasm.garuwasm_analyze_topn(this.__wbg_ptr, ptr0, len0, n);
36
- if (ret[2]) {
37
- throw takeFromExternrefTable0(ret[1]);
41
+ try {
42
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
43
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export, wasm.__wbindgen_export2);
44
+ const len0 = WASM_VECTOR_LEN;
45
+ wasm.garuwasm_analyze_topn(retptr, this.__wbg_ptr, ptr0, len0, n);
46
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
47
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
48
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
49
+ if (r2) {
50
+ throw takeObject(r1);
51
+ }
52
+ return takeObject(r0);
53
+ } finally {
54
+ wasm.__wbindgen_add_to_stack_pointer(16);
38
55
  }
39
- return takeFromExternrefTable0(ret[0]);
40
56
  }
41
57
  /**
42
58
  * @param {Uint8Array} model_data
43
59
  * @param {Uint8Array} cnn_data
44
60
  */
45
61
  constructor(model_data, cnn_data) {
46
- const ptr0 = passArray8ToWasm0(model_data, wasm.__wbindgen_malloc);
47
- const len0 = WASM_VECTOR_LEN;
48
- const ptr1 = passArray8ToWasm0(cnn_data, wasm.__wbindgen_malloc);
49
- const len1 = WASM_VECTOR_LEN;
50
- const ret = wasm.garuwasm_new(ptr0, len0, ptr1, len1);
51
- if (ret[2]) {
52
- throw takeFromExternrefTable0(ret[1]);
62
+ try {
63
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
64
+ const ptr0 = passArray8ToWasm0(model_data, wasm.__wbindgen_export);
65
+ const len0 = WASM_VECTOR_LEN;
66
+ const ptr1 = passArray8ToWasm0(cnn_data, wasm.__wbindgen_export);
67
+ const len1 = WASM_VECTOR_LEN;
68
+ wasm.garuwasm_new(retptr, ptr0, len0, ptr1, len1);
69
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
70
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
71
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
72
+ if (r2) {
73
+ throw takeObject(r1);
74
+ }
75
+ this.__wbg_ptr = r0 >>> 0;
76
+ GaruWasmFinalization.register(this, this.__wbg_ptr, this);
77
+ return this;
78
+ } finally {
79
+ wasm.__wbindgen_add_to_stack_pointer(16);
53
80
  }
54
- this.__wbg_ptr = ret[0] >>> 0;
55
- GaruWasmFinalization.register(this, this.__wbg_ptr, this);
56
- return this;
57
81
  }
58
82
  /**
59
83
  * @param {string} text
60
84
  * @returns {any}
61
85
  */
62
86
  tokenize(text) {
63
- const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
64
- const len0 = WASM_VECTOR_LEN;
65
- const ret = wasm.garuwasm_tokenize(this.__wbg_ptr, ptr0, len0);
66
- if (ret[2]) {
67
- throw takeFromExternrefTable0(ret[1]);
87
+ try {
88
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
89
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_export, wasm.__wbindgen_export2);
90
+ const len0 = WASM_VECTOR_LEN;
91
+ wasm.garuwasm_tokenize(retptr, this.__wbg_ptr, ptr0, len0);
92
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
93
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
94
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
95
+ if (r2) {
96
+ throw takeObject(r1);
97
+ }
98
+ return takeObject(r0);
99
+ } finally {
100
+ wasm.__wbindgen_add_to_stack_pointer(16);
68
101
  }
69
- return takeFromExternrefTable0(ret[0]);
70
102
  }
71
103
  /**
72
104
  * @returns {string}
@@ -75,28 +107,32 @@ export class GaruWasm {
75
107
  let deferred1_0;
76
108
  let deferred1_1;
77
109
  try {
78
- const ret = wasm.garuwasm_version();
79
- deferred1_0 = ret[0];
80
- deferred1_1 = ret[1];
81
- return getStringFromWasm0(ret[0], ret[1]);
110
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
111
+ wasm.garuwasm_version(retptr);
112
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
113
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
114
+ deferred1_0 = r0;
115
+ deferred1_1 = r1;
116
+ return getStringFromWasm0(r0, r1);
82
117
  } finally {
83
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
118
+ wasm.__wbindgen_add_to_stack_pointer(16);
119
+ wasm.__wbindgen_export3(deferred1_0, deferred1_1, 1);
84
120
  }
85
121
  }
86
122
  }
87
123
  if (Symbol.dispose) GaruWasm.prototype[Symbol.dispose] = GaruWasm.prototype.free;
88
- import * as import1 from "./snippets/garu-core-a9a0e965b017ca05/inline0.js"
124
+ import * as import1 from "./snippets/garu-core-36fcadacb06b8856/inline0.js"
89
125
 
90
126
  function __wbg_get_imports() {
91
127
  const import0 = {
92
128
  __proto__: null,
93
129
  __wbg_Error_83742b46f01ce22d: function(arg0, arg1) {
94
130
  const ret = Error(getStringFromWasm0(arg0, arg1));
95
- return ret;
131
+ return addHeapObject(ret);
96
132
  },
97
133
  __wbg_String_8564e559799eccda: function(arg0, arg1) {
98
- const ret = String(arg1);
99
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
134
+ const ret = String(getObject(arg1));
135
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
100
136
  const len1 = WASM_VECTOR_LEN;
101
137
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
102
138
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
@@ -106,47 +142,45 @@ function __wbg_get_imports() {
106
142
  },
107
143
  __wbg_new_a70fbab9066b301f: function() {
108
144
  const ret = new Array();
109
- return ret;
145
+ return addHeapObject(ret);
110
146
  },
111
147
  __wbg_new_ab79df5bd7c26067: function() {
112
148
  const ret = new Object();
113
- return ret;
149
+ return addHeapObject(ret);
114
150
  },
115
151
  __wbg_set_282384002438957f: function(arg0, arg1, arg2) {
116
- arg0[arg1 >>> 0] = arg2;
152
+ getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
117
153
  },
118
154
  __wbg_set_6be42768c690e380: function(arg0, arg1, arg2) {
119
- arg0[arg1] = arg2;
155
+ getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
120
156
  },
121
157
  __wbindgen_cast_0000000000000001: function(arg0) {
122
158
  // Cast intrinsic for `F64 -> Externref`.
123
159
  const ret = arg0;
124
- return ret;
160
+ return addHeapObject(ret);
125
161
  },
126
162
  __wbindgen_cast_0000000000000002: function(arg0, arg1) {
127
163
  // Cast intrinsic for `Ref(String) -> Externref`.
128
164
  const ret = getStringFromWasm0(arg0, arg1);
129
- return ret;
165
+ return addHeapObject(ret);
130
166
  },
131
167
  __wbindgen_cast_0000000000000003: function(arg0) {
132
168
  // Cast intrinsic for `U64 -> Externref`.
133
169
  const ret = BigInt.asUintN(64, arg0);
134
- return ret;
170
+ return addHeapObject(ret);
171
+ },
172
+ __wbindgen_object_clone_ref: function(arg0) {
173
+ const ret = getObject(arg0);
174
+ return addHeapObject(ret);
135
175
  },
136
- __wbindgen_init_externref_table: function() {
137
- const table = wasm.__wbindgen_externrefs;
138
- const offset = table.grow(4);
139
- table.set(0, undefined);
140
- table.set(offset + 0, undefined);
141
- table.set(offset + 1, null);
142
- table.set(offset + 2, true);
143
- table.set(offset + 3, false);
176
+ __wbindgen_object_drop_ref: function(arg0) {
177
+ takeObject(arg0);
144
178
  },
145
179
  };
146
180
  return {
147
181
  __proto__: null,
148
182
  "./garu_wasm_bg.js": import0,
149
- "./snippets/garu-core-a9a0e965b017ca05/inline0.js": import1,
183
+ "./snippets/garu-core-36fcadacb06b8856/inline0.js": import1,
150
184
  };
151
185
  }
152
186
 
@@ -154,6 +188,21 @@ const GaruWasmFinalization = (typeof FinalizationRegistry === 'undefined')
154
188
  ? { register: () => {}, unregister: () => {} }
155
189
  : new FinalizationRegistry(ptr => wasm.__wbg_garuwasm_free(ptr >>> 0, 1));
156
190
 
191
+ function addHeapObject(obj) {
192
+ if (heap_next === heap.length) heap.push(heap.length + 1);
193
+ const idx = heap_next;
194
+ heap_next = heap[idx];
195
+
196
+ heap[idx] = obj;
197
+ return idx;
198
+ }
199
+
200
+ function dropObject(idx) {
201
+ if (idx < 1028) return;
202
+ heap[idx] = heap_next;
203
+ heap_next = idx;
204
+ }
205
+
157
206
  let cachedDataViewMemory0 = null;
158
207
  function getDataViewMemory0() {
159
208
  if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
@@ -175,6 +224,13 @@ function getUint8ArrayMemory0() {
175
224
  return cachedUint8ArrayMemory0;
176
225
  }
177
226
 
227
+ function getObject(idx) { return heap[idx]; }
228
+
229
+ let heap = new Array(1024).fill(undefined);
230
+ heap.push(undefined, null, true, false);
231
+
232
+ let heap_next = heap.length;
233
+
178
234
  function passArray8ToWasm0(arg, malloc) {
179
235
  const ptr = malloc(arg.length * 1, 1) >>> 0;
180
236
  getUint8ArrayMemory0().set(arg, ptr / 1);
@@ -219,10 +275,10 @@ function passStringToWasm0(arg, malloc, realloc) {
219
275
  return ptr;
220
276
  }
221
277
 
222
- function takeFromExternrefTable0(idx) {
223
- const value = wasm.__wbindgen_externrefs.get(idx);
224
- wasm.__externref_table_dealloc(idx);
225
- return value;
278
+ function takeObject(idx) {
279
+ const ret = getObject(idx);
280
+ dropObject(idx);
281
+ return ret;
226
282
  }
227
283
 
228
284
  let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
@@ -260,7 +316,6 @@ function __wbg_finalize_init(instance, module) {
260
316
  wasmModule = module;
261
317
  cachedDataViewMemory0 = null;
262
318
  cachedUint8ArrayMemory0 = null;
263
- wasm.__wbindgen_start();
264
319
  return wasm;
265
320
  }
266
321
 
Binary file
@@ -2,14 +2,12 @@
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
4
  export const __wbg_garuwasm_free: (a: number, b: number) => void;
5
- export const garuwasm_analyze: (a: number, b: number, c: number) => [number, number, number];
6
- export const garuwasm_analyze_topn: (a: number, b: number, c: number, d: number) => [number, number, number];
7
- export const garuwasm_new: (a: number, b: number, c: number, d: number) => [number, number, number];
8
- export const garuwasm_tokenize: (a: number, b: number, c: number) => [number, number, number];
9
- export const garuwasm_version: () => [number, number];
10
- export const __wbindgen_malloc: (a: number, b: number) => number;
11
- export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
12
- export const __wbindgen_externrefs: WebAssembly.Table;
13
- export const __externref_table_dealloc: (a: number) => void;
14
- export const __wbindgen_free: (a: number, b: number, c: number) => void;
15
- export const __wbindgen_start: () => void;
5
+ export const garuwasm_analyze: (a: number, b: number, c: number, d: number) => void;
6
+ export const garuwasm_analyze_topn: (a: number, b: number, c: number, d: number, e: number) => void;
7
+ export const garuwasm_new: (a: number, b: number, c: number, d: number, e: number) => void;
8
+ export const garuwasm_tokenize: (a: number, b: number, c: number, d: number) => void;
9
+ export const garuwasm_version: (a: number) => void;
10
+ export const __wbindgen_export: (a: number, b: number) => number;
11
+ export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
12
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
13
+ export const __wbindgen_export3: (a: number, b: number, c: number) => void;
package/pkg/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "garu-wasm",
3
3
  "type": "module",
4
- "version": "0.7.1",
4
+ "version": "0.7.2",
5
5
  "files": [
6
6
  "garu_wasm_bg.wasm",
7
7
  "garu_wasm.js",
@@ -0,0 +1 @@
1
+ export function performance_now() { return performance.now(); }