|
|
||
|---|---|---|
| .. | ||
| docs | ||
| lib | ||
| package.json | ||
| README.md | ||
Read WebAssembly
Read a file as WebAssembly.
Usage
var readWASM = require( '@stdlib/fs/read-wasm' );
readWASM( file[, options], clbk )
Asynchronously reads a file as WebAssembly.
var join = require( 'path' ).join;
var fpath = join( __dirname, 'examples', 'fixtures', 'file.wasm' );
readWASM( fpath, onRead );
function onRead( error, buf ) {
if ( error ) {
throw error;
}
console.log( buf );
}
The function accepts the following options:
- flag: file status flag.
readWASM.sync( file[, options] )
Synchronously reads a file as WebAssembly.
var join = require( 'path' ).join;
var instanceOf = require( '@stdlib/assert/instance-of' );
var fpath = join( __dirname, 'examples', 'fixtures', 'file.wasm' );
var out = readWASM.sync( fpath );
if ( instanceOf( out, Error ) ) {
throw out;
}
console.log( out );
The function accepts the same options as readWASM() above.
Notes
- In contrast to
readFile(), neither function accepts anencodingoption. As WebAssembly is a binary file format, if provided anencodingoption, the function overrides the option, setting the option value tonull. - Both functions return WebAssembly file content as a
Uint8Array.
Examples
var join = require( 'path' ).join;
var hasWebAssemblySupport = require( '@stdlib/assert/has-wasm-support' );
var readWASM = require( '@stdlib/fs/read-wasm' );
var fpath = join( __dirname, 'examples', 'fixtures', 'file.wasm' );
readWASM( fpath, onRead );
function onRead( error, wasm ) {
var bool;
if ( error ) {
throw error;
}
bool = hasWebAssemblySupport();
// If WebAssembly is supported, create a WebAssembly module instance...
if ( bool ) {
wasm = new WebAssembly.Module( wasm );
wasm = new WebAssembly.Instance( wasm, {} );
console.log( wasm.exports.stdlib_hypot( 5.0, 12.0 ) );
} else {
console.log( wasm );
}
}