Serenity Operating System
at master 31 lines 825 B view raw
1/* 2 * Copyright (c) 2021, Ali Mohammad Pur <mpfard@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <LibJS/Runtime/Object.h> 10#include <LibWasm/AbstractMachine/AbstractMachine.h> 11#include <LibWeb/Forward.h> 12#include <LibWeb/WebAssembly/WebAssemblyInstanceObjectPrototype.h> 13#include <LibWeb/WebAssembly/WebAssemblyObject.h> 14 15namespace Web::Bindings { 16 17class WebAssemblyModuleObject final : public JS::Object { 18 JS_OBJECT(WebAssemblyModuleObject, Object); 19 20public: 21 explicit WebAssemblyModuleObject(JS::Realm&, size_t index); 22 virtual ~WebAssemblyModuleObject() override = default; 23 24 size_t index() const { return m_index; } 25 Wasm::Module const& module() const { return WebAssemblyObject::s_compiled_modules.at(m_index)->module; } 26 27private: 28 size_t m_index { 0 }; 29}; 30 31}