UNPKG

@xn-sakina/hoshino-wasm

Version:

Fast string seaching powered by Rust

83 lines (74 loc) 3.05 kB
import { instantiateNapiModuleSync as __emnapiInstantiateNapiModuleSync, getDefaultContext as __emnapiGetDefaultContext, WASI as __WASI, } from '@napi-rs/wasm-runtime' import { Volume as __Volume, createFsFromVolume as __createFsFromVolume } from '@napi-rs/wasm-runtime/fs' import __wasmUrl from './hoshino.wasm32-wasi.wasm?url' const __fs = __createFsFromVolume( __Volume.fromJSON({ '/': null, }), ) const __wasi = new __WASI({ version: 'preview1', fs: __fs, }) const __emnapiContext = __emnapiGetDefaultContext() const __sharedMemory = new WebAssembly.Memory({ initial: 1024, maximum: 10240, shared: true, }) const __wasmFile = await fetch(__wasmUrl).then((res) => res.arrayBuffer()) const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule, } = __emnapiInstantiateNapiModuleSync(__wasmFile, { context: __emnapiContext, asyncWorkPoolSize: 4, wasi: __wasi, onCreateWorker() { return new Worker(new URL('./wasi-worker-browser.mjs', import.meta.url), { type: 'module', }) }, overwriteImports(importObject) { importObject.env = { ...importObject.env, ...importObject.napi, ...importObject.emnapi, memory: __sharedMemory, } return importObject }, beforeInit({ instance }) { __napi_rs_initialize_modules(instance) }, }) function __napi_rs_initialize_modules(__napiInstance) { __napiInstance.exports['__napi_register__Input_struct_0']?.() __napiInstance.exports['__napi_register__FindOutput_struct_1']?.() __napiInstance.exports['__napi_register__Options_struct_2']?.() __napiInstance.exports['__napi_register__find_left_first_match_sync_3']?.() __napiInstance.exports['__napi_register__find_match_sync_4']?.() __napiInstance.exports['__napi_register__find_left_first_longest_match_sync_5']?.() __napiInstance.exports['__napi_register__find_all_match_sync_6']?.() __napiInstance.exports['__napi_register__load_patterns_7']?.() __napiInstance.exports['__napi_register__find_all_match_8']?.() __napiInstance.exports['__napi_register__find_left_first_longest_match_9']?.() __napiInstance.exports['__napi_register__find_match_10']?.() __napiInstance.exports['__napi_register__find_left_first_match_11']?.() __napiInstance.exports['__napi_register__get_target_triple_12']?.() } export const findAllMatch = __napiModule.exports.findAllMatch export const findAllMatchSync = __napiModule.exports.findAllMatchSync export const findLeftFirstLongestMatch = __napiModule.exports.findLeftFirstLongestMatch export const findLeftFirstLongestMatchSync = __napiModule.exports.findLeftFirstLongestMatchSync export const findLeftFirstMatch = __napiModule.exports.findLeftFirstMatch export const findLeftFirstMatchSync = __napiModule.exports.findLeftFirstMatchSync export const findMatch = __napiModule.exports.findMatch export const findMatchSync = __napiModule.exports.findMatchSync export const getTargetTriple = __napiModule.exports.getTargetTriple export const loadPatterns = __napiModule.exports.loadPatterns