Package Exports
- onigasm
- onigasm/lib/onigasm.wasm
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (onigasm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Onigasm (OnigurumaASM)
WebAssembly
port of Oniguruma regex library.
Usage/API/Behaviour 1:1 with node-oniguruma
port, tests are literally imported from node-oniguruma
repository for maximum compliance.
Of course, unlike node-oniguruma
, this library can't hook into roots of V8
and is therefore 2 times* slower than the former.
Instructions for porting your app to web
Install
npm i onigasm
Light it up
WASM must be loaded before you use any other feature like
OnigRegExp
orOnigScanner
// index.js (entry point)
import { loadWASM } from 'onigasm'
import App from './App'
(async () => {
await loadWASM('path/to/onigasm.wasm') // You can also pass ArrayBuffer of onigasm.wasm file
App.start()
})()
// `onigasm.wasm` file will be available at `onigasm/lib/onigasm.wasm` in `node_modules` of your project directory
Once loaded
onigasm
is a drop-in replacement foroniguruma
- import { OnigRegExp } from 'oniguruma'
+ import { OnigRegExp } from 'onigasm'
That's it!
* Tested under laboratory conditions using benchmark.js
License
onigasm
is licensed under MIT License. See LICENSE
in the root of this project for more info.
Contributors/Maintainers
- @neeksandhu (Neek Sandhu)
- @aeschli (Martin Aeschlimann)