module libwasm.bindings.DOMImplementation; import libwasm.types; import memutils.ct: tuple; import libwasm.bindings.Document; import libwasm.bindings.DocumentType; @safe: nothrow: struct DOMImplementation { nothrow: JsHandle handle; alias handle this; this(Handle h) { this.handle = JsHandle(h); } bool hasFeature()() { return Object_Getter__bool(this.handle, "hasFeature"); } auto createDocumentType()(string qualifiedName, string publicId, string systemId) { return DocumentType(Serialize_Object_VarArgCall!Handle(this.handle, "createDocumentType", "string;string;string", tuple(qualifiedName, publicId, systemId))); } auto createDocument(T0, T2)(scope auto ref Optional!(T0) namespace, string qualifiedName, scope auto ref Optional!(T2) doctype /* = no!(DocumentType) */) if (isTOrPointer!(T0, string) && isTOrPointer!(T2, DocumentType)) { return Document(Serialize_Object_VarArgCall!Handle(this.handle, "createDocument", "Optional!(string);string;Optional!Handle", tuple(!namespace.empty, namespace.front, qualifiedName, !doctype.empty, cast(Handle)doctype.front._parent))); } auto createDocument(T0)(scope auto ref Optional!(T0) namespace, string qualifiedName) if (isTOrPointer!(T0, string)) { return Document(Serialize_Object_VarArgCall!Handle(this.handle, "createDocument", "Optional!(string);string", tuple(!namespace.empty, namespace.front, qualifiedName))); } auto createHTMLDocument()(string title) { return Document(Object_Call_string__Handle(this.handle, "createHTMLDocument", title)); } auto createHTMLDocument()() { return Document(Object_Getter__Handle(this.handle, "createHTMLDocument")); } }