@farnabaz/onigasm
TypeScript icon, indicating that this package has built-in type declarations

3.0.1 • Public • Published

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 or OnigScanner

// 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 for oniguruma

- 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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 3.0.1
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 3.0.1
    1
  • 3.0.0
    0

Package Sidebar

Install

npm i @farnabaz/onigasm

Weekly Downloads

1

Version

3.0.1

License

MIT

Unpacked Size

520 kB

Total Files

15

Last publish

Collaborators

  • farnabaz