The WebAssembly.validate()
function validates a given typed array of WebAssembly binary code, returning whether the bytes form a valid wasm module (true
) or not (false
).
Syntax
WebAssembly.validate(bufferSource);
Parameters
- bufferSource
- A typed array or ArrayBuffer containing WebAssembly binary code to be validated.
Return value
A boolean that specifies whether bufferSource
is valid wasm code (true
) or not (false
).
Exceptions
If bufferSource
is not a typed array or ArrayBuffer, a TypeError
is thrown.
Examples
The following example (see the validate.html source code, and see it live too) fetches a .wasm module and converts it into a typed array. The validate()
method is then used to check whether the module is valid.
fetch('simple.wasm').then(response => response.arrayBuffer() ).then(function(bytes) { var valid = WebAssembly.validate(bytes); console.log("The given bytes are " + (valid ? "" : "not ") + "a valid wasm module"); });
Specifications
Specification | Status | Comment |
---|---|---|
WebAssembly JavaScript API The definition of 'validate()' in that specification. |
Draft | Initial draft definition. |
Browser compatibility
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 57 | 16 | 522 | No | 44 | 11 |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic support | 57 | 57 | Yes1 | 522 | No | ? | 11 |
1. This feature is behind the Experimental JavaScript Features
preference.
2. Disabled in the Firefox 52 Extended Support Release (ESR).