@chonkiejs/chunk 0.9.2 → 0.9.3
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/index.js +22 -1
- package/package.json +1 -1
- package/pkg/chonkiejs_chunk.d.ts +1 -1
- package/pkg/chonkiejs_chunk_bg.wasm +0 -0
- package/pkg/chonkiejs_chunk_bg.wasm.d.ts +1 -1
- package/pkg/package.json +1 -1
package/index.js
CHANGED
|
@@ -28,6 +28,7 @@ import initWasm, {
|
|
|
28
28
|
chunk_offsets_pattern as wasmChunkOffsetsPattern,
|
|
29
29
|
split_offsets as wasmSplitOffsets,
|
|
30
30
|
merge_splits as wasmMergeSplits,
|
|
31
|
+
initSync as initWasmSync,
|
|
31
32
|
} from './pkg/chonkiejs_chunk.js';
|
|
32
33
|
|
|
33
34
|
export { default_target_size, default_delimiters };
|
|
@@ -220,10 +221,30 @@ let initialized = false;
|
|
|
220
221
|
|
|
221
222
|
/**
|
|
222
223
|
* Initialize the WASM module. Must be called before using chunk functions.
|
|
224
|
+
* Automatically detects Node.js vs browser environment.
|
|
223
225
|
*/
|
|
224
226
|
export async function init() {
|
|
225
227
|
if (!initialized) {
|
|
226
|
-
|
|
228
|
+
// Check if we're in Node.js
|
|
229
|
+
const isNode = typeof process !== 'undefined' &&
|
|
230
|
+
process.versions != null &&
|
|
231
|
+
process.versions.node != null;
|
|
232
|
+
|
|
233
|
+
if (isNode) {
|
|
234
|
+
// Node.js: read the wasm file and use initSync
|
|
235
|
+
const { readFileSync } = await import('node:fs');
|
|
236
|
+
const { fileURLToPath } = await import('node:url');
|
|
237
|
+
const { dirname, join } = await import('node:path');
|
|
238
|
+
|
|
239
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
240
|
+
const __dirname = dirname(__filename);
|
|
241
|
+
const wasmPath = join(__dirname, 'pkg', 'chonkiejs_chunk_bg.wasm');
|
|
242
|
+
const wasmBytes = readFileSync(wasmPath);
|
|
243
|
+
initWasmSync({ module: wasmBytes });
|
|
244
|
+
} else {
|
|
245
|
+
// Browser: use fetch-based init
|
|
246
|
+
await initWasm();
|
|
247
|
+
}
|
|
227
248
|
initialized = true;
|
|
228
249
|
}
|
|
229
250
|
}
|
package/package.json
CHANGED
package/pkg/chonkiejs_chunk.d.ts
CHANGED
|
@@ -165,8 +165,8 @@ export interface InitOutput {
|
|
|
165
165
|
readonly merge_splits: (a: number, b: number, c: number, d: number) => [number, number];
|
|
166
166
|
readonly split_offsets: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
167
167
|
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
168
|
-
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
169
168
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
169
|
+
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
170
170
|
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
171
171
|
readonly __wbindgen_start: () => void;
|
|
172
172
|
}
|
|
Binary file
|
|
@@ -15,7 +15,7 @@ export const find_merge_indices: (a: number, b: number, c: number) => [number, n
|
|
|
15
15
|
export const merge_splits: (a: number, b: number, c: number, d: number) => [number, number];
|
|
16
16
|
export const split_offsets: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
17
17
|
export const __wbindgen_externrefs: WebAssembly.Table;
|
|
18
|
-
export const __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
19
18
|
export const __wbindgen_malloc: (a: number, b: number) => number;
|
|
19
|
+
export const __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
20
20
|
export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
21
21
|
export const __wbindgen_start: () => void;
|