WebAssembly.Module.imports()

これは実験段階の機能です。
この機能は複数のブラウザーで開発中の状態にあります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザーの将来のバージョンで変更になる可能性があることに注意してください。

WebAssembly.imports() 関数は指定した Module の全てのインポート宣言の定義を配列として返します。

構文

var custSec = WebAssembly.Module.imports(module);

パラメータ

module
WebAssembly.Module オブジェクト。

戻り値

指定したモジュールのインポートされた関数を表現するオブジェクトの配列。

例外

もしモジュールが WebAssembly.Module オブジェクトインスタンスでなければ TypeError がスローされます。

次の例では (imports.html の ソースコード と 動作例 もご確認ください) ロードした simple.wasm モジュールをコンパイルした後、インポート宣言を問い合わせています。

fetch('simple.wasm').then(response =>
  response.arrayBuffer()
).then(bytes =>
  WebAssembly.compile(bytes)
).then(function(mod) {
  var imports = WebAssembly.Module.imports(mod);
  console.log(imports[0]);
});

アウトプットはこのようになります:

{ module: "imports", name: "imported_func", kind: "function" }

仕様

仕様 策定状況 コメント
WebAssembly JavaScript API
imports() の定義
ドラフト 初回ドラフト定義。

ブラウザ実装状況

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート 57 15[2] 52 (52)[1] 未サポート 44 11
Feature Chrome for Android Android Webview Edge Mobile Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート 57 57 未サポート 52.0 (52)[1] 未サポート 未サポート 11

[1] WebAssemblyはFirefox 52+で有効です。Firefox 52 Extended Support Release (ESR.)では無効化されています。

[2] 現在、“Experimental JavaScript Features” フラグを付けることでサポートされます。詳細については このブログ記事 を参照してください。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: ukyo
最終更新者: ukyo,