summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWeb/WebAssembly/WebAssembly.idl
blob: 593cd3f32d4ab43eb40ea880f8ec624363146998 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#import <WebAssembly/Instance.idl>
#import <WebAssembly/Module.idl>

dictionary WebAssemblyInstantiatedSource {
    required Module module;
    required Instance instance;
};

// https://webassembly.github.io/spec/js-api/#webassembly-namespace
[Exposed=*, WithGCVistor]
namespace WebAssembly {
    boolean validate(BufferSource bytes);
    Promise<Module> compile(BufferSource bytes);

    Promise<WebAssemblyInstantiatedSource> instantiate(BufferSource bytes, optional object importObject);
    Promise<Instance> instantiate(Module moduleObject, optional object importObject);
};