module libwasm.bindings.LegacyQueryInterface; import libwasm.types; import memutils.ct: tuple; @safe: nothrow: struct LegacyQueryInterface { nothrow: JsHandle handle; alias handle this; this(Handle h) { this.handle = JsHandle(h); } auto QueryInterface(T0)(scope auto ref T0 iid) { // Any Handle _handle_iid = getOrCreateHandle(iid); auto result = nsISupports(Object_Call_Handle__Handle(this.handle, "QueryInterface", _handle_iid)); dropHandle!(T0)(_handle_iid); return result; } }