1 module spasm.bindings.dom;
2 
3 import spasm.types;
4 import spasm.bindings.cssom;
5 import spasm.bindings.cssomview;
6 import spasm.bindings.csspseudo;
7 import spasm.bindings.domhighrestimestamp;
8 import spasm.bindings.fullscreen;
9 import spasm.bindings.geometry;
10 import spasm.bindings.html;
11 import spasm.bindings.pagevisibility;
12 import spasm.bindings.svg;
13 
14 @safe:
15 nothrow:
16 
17 struct AbortController {
18   nothrow:
19   JsHandle handle;
20   alias handle this;
21   this(Handle h) {
22     this.handle = JsHandle(h);
23   }
24   auto signal()() {
25     return AbortSignal(AbortController_signal_Get(this.handle));
26   }
27   void abort()() {
28     AbortController_abort(this.handle);
29   }
30 }
31 struct AbortSignal {
32   nothrow:
33   spasm.bindings.dom.EventTarget _parent;
34   alias _parent this;
35   this(Handle h) {
36     _parent = .EventTarget(h);
37   }
38   auto aborted()() {
39     return AbortSignal_aborted_Get(this._parent);
40   }
41   void onabort()(EventHandler onabort) {
42     AbortSignal_onabort_Set(this._parent, onabort);
43   }
44   auto onabort()() {
45     return AbortSignal_onabort_Get(this._parent);
46   }
47 }
48 struct AbstractRange {
49   nothrow:
50   JsHandle handle;
51   alias handle this;
52   this(Handle h) {
53     this.handle = JsHandle(h);
54   }
55   auto startContainer()() {
56     return Node(AbstractRange_startContainer_Get(this.handle));
57   }
58   auto startOffset()() {
59     return AbstractRange_startOffset_Get(this.handle);
60   }
61   auto endContainer()() {
62     return Node(AbstractRange_endContainer_Get(this.handle));
63   }
64   auto endOffset()() {
65     return AbstractRange_endOffset_Get(this.handle);
66   }
67   auto collapsed()() {
68     return AbstractRange_collapsed_Get(this.handle);
69   }
70 }
71 struct AddEventListenerOptions {
72   nothrow:
73   spasm.bindings.dom.EventListenerOptions _parent;
74   alias _parent this;
75   this(Handle h) {
76     _parent = .EventListenerOptions(h);
77   }
78   static auto create() {
79     return AddEventListenerOptions(spasm_add__object());
80   }
81   void passive()(bool passive) {
82     AddEventListenerOptions_passive_Set(this._parent, passive);
83   }
84   auto passive()() {
85     return AddEventListenerOptions_passive_Get(this._parent);
86   }
87   void once()(bool once) {
88     AddEventListenerOptions_once_Set(this._parent, once);
89   }
90   auto once()() {
91     return AddEventListenerOptions_once_Get(this._parent);
92   }
93 }
94 struct Attr {
95   nothrow:
96   spasm.bindings.dom.Node _parent;
97   alias _parent this;
98   this(Handle h) {
99     _parent = .Node(h);
100   }
101   auto namespaceURI()() {
102     return Attr_namespaceURI_Get(this._parent);
103   }
104   auto prefix()() {
105     return Attr_prefix_Get(this._parent);
106   }
107   auto localName()() {
108     return Attr_localName_Get(this._parent);
109   }
110   auto name()() {
111     return Attr_name_Get(this._parent);
112   }
113   void value()(string value) {
114     Attr_value_Set(this._parent, value);
115   }
116   auto value()() {
117     return Attr_value_Get(this._parent);
118   }
119   auto ownerElement()() {
120     return Attr_ownerElement_Get(this._parent);
121   }
122   auto specified()() {
123     return Attr_specified_Get(this._parent);
124   }
125 }
126 struct CDATASection {
127   nothrow:
128   spasm.bindings.dom.Text _parent;
129   alias _parent this;
130   this(Handle h) {
131     _parent = .Text(h);
132   }
133 }
134 struct CharacterData {
135   nothrow:
136   spasm.bindings.dom.Node _parent;
137   alias _parent this;
138   this(Handle h) {
139     _parent = .Node(h);
140   }
141   void data()(string data) {
142     CharacterData_data_Set(this._parent, data);
143   }
144   auto data()() {
145     return CharacterData_data_Get(this._parent);
146   }
147   auto length()() {
148     return CharacterData_length_Get(this._parent);
149   }
150   auto substringData()(uint offset, uint count) {
151     return CharacterData_substringData(this._parent, offset, count);
152   }
153   void appendData()(string data) {
154     CharacterData_appendData(this._parent, data);
155   }
156   void insertData()(uint offset, string data) {
157     CharacterData_insertData(this._parent, offset, data);
158   }
159   void deleteData()(uint offset, uint count) {
160     CharacterData_deleteData(this._parent, offset, count);
161   }
162   void replaceData()(uint offset, uint count, string data) {
163     CharacterData_replaceData(this._parent, offset, count, data);
164   }
165   auto previousElementSibling()() {
166     return NonDocumentTypeChildNode_previousElementSibling_Get(this._parent);
167   }
168   auto nextElementSibling()() {
169     return NonDocumentTypeChildNode_nextElementSibling_Get(this._parent);
170   }
171   void before()(scope ref SumType!(Node, string) nodes) {
172     ChildNode_before(this._parent, nodes);
173   }
174   void after()(scope ref SumType!(Node, string) nodes) {
175     ChildNode_after(this._parent, nodes);
176   }
177   void replaceWith()(scope ref SumType!(Node, string) nodes) {
178     ChildNode_replaceWith(this._parent, nodes);
179   }
180   void remove()() {
181     ChildNode_remove(this._parent);
182   }
183 }
184 struct Comment {
185   nothrow:
186   spasm.bindings.dom.CharacterData _parent;
187   alias _parent this;
188   this(Handle h) {
189     _parent = .CharacterData(h);
190   }
191 }
192 struct CustomEvent {
193   nothrow:
194   spasm.bindings.dom.Event _parent;
195   alias _parent this;
196   this(Handle h) {
197     _parent = .Event(h);
198   }
199   auto detail()() {
200     return Any(CustomEvent_detail_Get(this._parent));
201   }
202   void initCustomEvent(T3)(string type, bool bubbles /* = false */, bool cancelable /* = false */, scope auto ref T3 detail /* = null */) {
203     Handle _handle_detail = getOrCreateHandle(detail);
204     CustomEvent_initCustomEvent(this._parent, type, bubbles, cancelable, _handle_detail);
205     dropHandle!(T3)(_handle_detail);
206   }
207   void initCustomEvent()(string type, bool bubbles /* = false */, bool cancelable /* = false */) {
208     CustomEvent_initCustomEvent_0(this._parent, type, bubbles, cancelable);
209   }
210   void initCustomEvent()(string type, bool bubbles /* = false */) {
211     CustomEvent_initCustomEvent_1(this._parent, type, bubbles);
212   }
213   void initCustomEvent()(string type) {
214     CustomEvent_initCustomEvent_2(this._parent, type);
215   }
216 }
217 struct CustomEventInit {
218   nothrow:
219   spasm.bindings.dom.EventInit _parent;
220   alias _parent this;
221   this(Handle h) {
222     _parent = .EventInit(h);
223   }
224   static auto create() {
225     return CustomEventInit(spasm_add__object());
226   }
227   void detail(T0)(scope auto ref T0 detail) {
228     Handle _handle_detail = getOrCreateHandle(detail);
229     CustomEventInit_detail_Set(this._parent, _handle_detail);
230     dropHandle!(T0)(_handle_detail);
231   }
232   auto detail()() {
233     return Any(CustomEventInit_detail_Get(this._parent));
234   }
235 }
236 struct DOMImplementation {
237   nothrow:
238   JsHandle handle;
239   alias handle this;
240   this(Handle h) {
241     this.handle = JsHandle(h);
242   }
243   auto createDocumentType()(string qualifiedName, string publicId, string systemId) {
244     return DocumentType(DOMImplementation_createDocumentType(this.handle, qualifiedName, publicId, systemId));
245   }
246   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)) {
247     return XMLDocument(DOMImplementation_createDocument(this.handle, !namespace.empty, namespace.front, qualifiedName, !doctype.empty, doctype.front._parent));
248   }
249   auto createDocument(T0)(scope auto ref Optional!(T0) namespace, string qualifiedName) if (isTOrPointer!(T0, string)) {
250     return XMLDocument(DOMImplementation_createDocument_0(this.handle, !namespace.empty, namespace.front, qualifiedName));
251   }
252   auto createHTMLDocument()(string title) {
253     return Document(DOMImplementation_createHTMLDocument(this.handle, title));
254   }
255   auto createHTMLDocument()() {
256     return Document(DOMImplementation_createHTMLDocument_0(this.handle));
257   }
258   auto hasFeature()() {
259     return DOMImplementation_hasFeature(this.handle);
260   }
261 }
262 struct DOMTokenList {
263   nothrow:
264   JsHandle handle;
265   alias handle this;
266   this(Handle h) {
267     this.handle = JsHandle(h);
268   }
269   auto length()() {
270     return DOMTokenList_length_Get(this.handle);
271   }
272   auto item()(uint index) {
273     return DOMTokenList_item_getter(this.handle, index);
274   }
275   auto contains()(string token) {
276     return DOMTokenList_contains(this.handle, token);
277   }
278   void add()(string tokens) {
279     DOMTokenList_add(this.handle, tokens);
280   }
281   void remove()(string tokens) {
282     DOMTokenList_remove(this.handle, tokens);
283   }
284   auto toggle()(string token, bool force) {
285     return DOMTokenList_toggle(this.handle, token, force);
286   }
287   auto toggle()(string token) {
288     return DOMTokenList_toggle_0(this.handle, token);
289   }
290   auto replace()(string token, string newToken) {
291     return DOMTokenList_replace(this.handle, token, newToken);
292   }
293   auto supports()(string token) {
294     return DOMTokenList_supports(this.handle, token);
295   }
296   void value()(string value) {
297     DOMTokenList_value_Set(this.handle, value);
298   }
299   auto value()() {
300     return DOMTokenList_value_Get(this.handle);
301   }
302 }
303 struct Document {
304   nothrow:
305   spasm.bindings.dom.Node _parent;
306   alias _parent this;
307   this(Handle h) {
308     _parent = .Node(h);
309   }
310   auto implementation()() {
311     return DOMImplementation(Document_implementation_Get(this._parent));
312   }
313   auto URL()() {
314     return Document_URL_Get(this._parent);
315   }
316   auto documentURI()() {
317     return Document_documentURI_Get(this._parent);
318   }
319   auto origin()() {
320     return Document_origin_Get(this._parent);
321   }
322   auto compatMode()() {
323     return Document_compatMode_Get(this._parent);
324   }
325   auto characterSet()() {
326     return Document_characterSet_Get(this._parent);
327   }
328   auto charset()() {
329     return Document_charset_Get(this._parent);
330   }
331   auto inputEncoding()() {
332     return Document_inputEncoding_Get(this._parent);
333   }
334   auto contentType()() {
335     return Document_contentType_Get(this._parent);
336   }
337   auto doctype()() {
338     return Document_doctype_Get(this._parent);
339   }
340   auto documentElement()() {
341     return Document_documentElement_Get(this._parent);
342   }
343   auto getElementsByTagName()(string qualifiedName) {
344     return HTMLCollection(Document_getElementsByTagName(this._parent, qualifiedName));
345   }
346   auto getElementsByTagNameNS(T0)(scope auto ref Optional!(T0) namespace, string localName) if (isTOrPointer!(T0, string)) {
347     return HTMLCollection(Document_getElementsByTagNameNS(this._parent, !namespace.empty, namespace.front, localName));
348   }
349   auto getElementsByClassName()(string classNames) {
350     return HTMLCollection(Document_getElementsByClassName(this._parent, classNames));
351   }
352   auto createElement()(string localName, scope ref SumType!(string, ElementCreationOptions) options) {
353     return Element(Document_createElement(this._parent, localName, options));
354   }
355   auto createElement()(string localName) {
356     return Element(Document_createElement_0(this._parent, localName));
357   }
358   auto createElementNS(T0)(scope auto ref Optional!(T0) namespace, string qualifiedName, scope ref SumType!(string, ElementCreationOptions) options) if (isTOrPointer!(T0, string)) {
359     return Element(Document_createElementNS(this._parent, !namespace.empty, namespace.front, qualifiedName, options));
360   }
361   auto createElementNS(T0)(scope auto ref Optional!(T0) namespace, string qualifiedName) if (isTOrPointer!(T0, string)) {
362     return Element(Document_createElementNS_0(this._parent, !namespace.empty, namespace.front, qualifiedName));
363   }
364   auto createDocumentFragment()() {
365     return DocumentFragment(Document_createDocumentFragment(this._parent));
366   }
367   auto createTextNode()(string data) {
368     return Text(Document_createTextNode(this._parent, data));
369   }
370   auto createCDATASection()(string data) {
371     return CDATASection(Document_createCDATASection(this._parent, data));
372   }
373   auto createComment()(string data) {
374     return Comment(Document_createComment(this._parent, data));
375   }
376   auto createProcessingInstruction()(string target, string data) {
377     return ProcessingInstruction(Document_createProcessingInstruction(this._parent, target, data));
378   }
379   auto importNode()(scope ref Node node, bool deep /* = false */) {
380     return Node(Document_importNode(this._parent, node._parent, deep));
381   }
382   auto importNode()(scope ref Node node) {
383     return Node(Document_importNode_0(this._parent, node._parent));
384   }
385   auto adoptNode()(scope ref Node node) {
386     return Node(Document_adoptNode(this._parent, node._parent));
387   }
388   auto createAttribute()(string localName) {
389     return Attr(Document_createAttribute(this._parent, localName));
390   }
391   auto createAttributeNS(T0)(scope auto ref Optional!(T0) namespace, string qualifiedName) if (isTOrPointer!(T0, string)) {
392     return Attr(Document_createAttributeNS(this._parent, !namespace.empty, namespace.front, qualifiedName));
393   }
394   auto createEvent()(string interface_) {
395     return Event(Document_createEvent(this._parent, interface_));
396   }
397   auto createRange()() {
398     return Range(Document_createRange(this._parent));
399   }
400   auto createNodeIterator(T2)(scope ref Node root, uint whatToShow /* = 0xFFFFFFFF */, scope auto ref Optional!(T2) filter /* = no!(NodeFilter) */) if (isTOrPointer!(T2, NodeFilter)) {
401     return NodeIterator(Document_createNodeIterator(this._parent, root._parent, whatToShow, !filter.empty, filter.front.handle));
402   }
403   auto createNodeIterator()(scope ref Node root, uint whatToShow /* = 0xFFFFFFFF */) {
404     return NodeIterator(Document_createNodeIterator_0(this._parent, root._parent, whatToShow));
405   }
406   auto createNodeIterator()(scope ref Node root) {
407     return NodeIterator(Document_createNodeIterator_1(this._parent, root._parent));
408   }
409   auto createTreeWalker(T2)(scope ref Node root, uint whatToShow /* = 0xFFFFFFFF */, scope auto ref Optional!(T2) filter /* = no!(NodeFilter) */) if (isTOrPointer!(T2, NodeFilter)) {
410     return TreeWalker(Document_createTreeWalker(this._parent, root._parent, whatToShow, !filter.empty, filter.front.handle));
411   }
412   auto createTreeWalker()(scope ref Node root, uint whatToShow /* = 0xFFFFFFFF */) {
413     return TreeWalker(Document_createTreeWalker_0(this._parent, root._parent, whatToShow));
414   }
415   auto createTreeWalker()(scope ref Node root) {
416     return TreeWalker(Document_createTreeWalker_1(this._parent, root._parent));
417   }
418   auto elementFromPoint()(double x, double y) {
419     return Document_elementFromPoint(this._parent, x, y);
420   }
421   auto elementsFromPoint()(double x, double y) {
422     return Sequence!(Element)(Document_elementsFromPoint(this._parent, x, y));
423   }
424   auto caretPositionFromPoint()(double x, double y) {
425     return Document_caretPositionFromPoint(this._parent, x, y);
426   }
427   auto scrollingElement()() {
428     return Document_scrollingElement_Get(this._parent);
429   }
430   auto location()() {
431     return Document_location_Get(this._parent);
432   }
433   void domain()(string domain) {
434     Document_domain_Set(this._parent, domain);
435   }
436   auto domain()() {
437     return Document_domain_Get(this._parent);
438   }
439   auto referrer()() {
440     return Document_referrer_Get(this._parent);
441   }
442   void cookie()(string cookie) {
443     Document_cookie_Set(this._parent, cookie);
444   }
445   auto cookie()() {
446     return Document_cookie_Get(this._parent);
447   }
448   auto lastModified()() {
449     return Document_lastModified_Get(this._parent);
450   }
451   auto readyState()() {
452     return Document_readyState_Get(this._parent);
453   }
454   void title()(string title) {
455     Document_title_Set(this._parent, title);
456   }
457   auto title()() {
458     return Document_title_Get(this._parent);
459   }
460   void dir()(string dir) {
461     Document_dir_Set(this._parent, dir);
462   }
463   auto dir()() {
464     return Document_dir_Get(this._parent);
465   }
466   void body_(T0)(scope auto ref Optional!(T0) body_) if (isTOrPointer!(T0, HTMLElement)) {
467     Document_body_Set(this._parent, !body_.empty, body_.front.handle);
468   }
469   auto body_()() {
470     return Document_body_Get(this._parent);
471   }
472   auto head()() {
473     return Document_head_Get(this._parent);
474   }
475   auto images()() {
476     return HTMLCollection(Document_images_Get(this._parent));
477   }
478   auto embeds()() {
479     return HTMLCollection(Document_embeds_Get(this._parent));
480   }
481   auto plugins()() {
482     return HTMLCollection(Document_plugins_Get(this._parent));
483   }
484   auto links()() {
485     return HTMLCollection(Document_links_Get(this._parent));
486   }
487   auto forms()() {
488     return HTMLCollection(Document_forms_Get(this._parent));
489   }
490   auto scripts()() {
491     return HTMLCollection(Document_scripts_Get(this._parent));
492   }
493   auto getElementsByName()(string elementName) {
494     return NodeList(Document_getElementsByName(this._parent, elementName));
495   }
496   auto currentScript()() {
497     return Document_currentScript_Get(this._parent);
498   }
499   auto open()(string unused1, string unused2) {
500     return Document(Document_open__string_string(this._parent, unused1, unused2));
501   }
502   auto open()(string unused1) {
503     return Document(Document_open_0(this._parent, unused1));
504   }
505   auto open()() {
506     return Document(Document_open_1(this._parent));
507   }
508   auto open()(string url, string name, string features) {
509     return Document_open__string_string_string(this._parent, url, name, features);
510   }
511   void close()() {
512     Document_close(this._parent);
513   }
514   void write()(string text) {
515     Document_write(this._parent, text);
516   }
517   void writeln()(string text) {
518     Document_writeln(this._parent, text);
519   }
520   auto defaultView()() {
521     return Document_defaultView_Get(this._parent);
522   }
523   auto activeElement()() {
524     return Document_activeElement_Get(this._parent);
525   }
526   auto hasFocus()() {
527     return Document_hasFocus(this._parent);
528   }
529   void designMode()(string designMode) {
530     Document_designMode_Set(this._parent, designMode);
531   }
532   auto designMode()() {
533     return Document_designMode_Get(this._parent);
534   }
535   auto execCommand()(string commandId, bool showUI /* = false */, string value /* = "" */) {
536     return Document_execCommand(this._parent, commandId, showUI, value);
537   }
538   auto execCommand()(string commandId, bool showUI /* = false */) {
539     return Document_execCommand_0(this._parent, commandId, showUI);
540   }
541   auto execCommand()(string commandId) {
542     return Document_execCommand_1(this._parent, commandId);
543   }
544   auto queryCommandEnabled()(string commandId) {
545     return Document_queryCommandEnabled(this._parent, commandId);
546   }
547   auto queryCommandIndeterm()(string commandId) {
548     return Document_queryCommandIndeterm(this._parent, commandId);
549   }
550   auto queryCommandState()(string commandId) {
551     return Document_queryCommandState(this._parent, commandId);
552   }
553   auto queryCommandSupported()(string commandId) {
554     return Document_queryCommandSupported(this._parent, commandId);
555   }
556   auto queryCommandValue()(string commandId) {
557     return Document_queryCommandValue(this._parent, commandId);
558   }
559   void onreadystatechange()(EventHandler onreadystatechange) {
560     Document_onreadystatechange_Set(this._parent, onreadystatechange);
561   }
562   auto onreadystatechange()() {
563     return Document_onreadystatechange_Get(this._parent);
564   }
565   void fgColor()(string fgColor) {
566     Document_fgColor_Set(this._parent, fgColor);
567   }
568   auto fgColor()() {
569     return Document_fgColor_Get(this._parent);
570   }
571   void linkColor()(string linkColor) {
572     Document_linkColor_Set(this._parent, linkColor);
573   }
574   auto linkColor()() {
575     return Document_linkColor_Get(this._parent);
576   }
577   void vlinkColor()(string vlinkColor) {
578     Document_vlinkColor_Set(this._parent, vlinkColor);
579   }
580   auto vlinkColor()() {
581     return Document_vlinkColor_Get(this._parent);
582   }
583   void alinkColor()(string alinkColor) {
584     Document_alinkColor_Set(this._parent, alinkColor);
585   }
586   auto alinkColor()() {
587     return Document_alinkColor_Get(this._parent);
588   }
589   void bgColor()(string bgColor) {
590     Document_bgColor_Set(this._parent, bgColor);
591   }
592   auto bgColor()() {
593     return Document_bgColor_Get(this._parent);
594   }
595   auto anchors()() {
596     return HTMLCollection(Document_anchors_Get(this._parent));
597   }
598   auto applets()() {
599     return HTMLCollection(Document_applets_Get(this._parent));
600   }
601   void clear()() {
602     Document_clear(this._parent);
603   }
604   void captureEvents()() {
605     Document_captureEvents(this._parent);
606   }
607   void releaseEvents()() {
608     Document_releaseEvents(this._parent);
609   }
610   auto all()() {
611     return HTMLAllCollection(Document_all_Get(this._parent));
612   }
613   auto hidden()() {
614     return Document_hidden_Get(this._parent);
615   }
616   auto visibilityState()() {
617     return Document_visibilityState_Get(this._parent);
618   }
619   void onvisibilitychange()(EventHandler onvisibilitychange) {
620     Document_onvisibilitychange_Set(this._parent, onvisibilitychange);
621   }
622   auto onvisibilitychange()() {
623     return Document_onvisibilitychange_Get(this._parent);
624   }
625   auto fullscreenEnabled()() {
626     return Document_fullscreenEnabled_Get(this._parent);
627   }
628   auto fullscreen()() {
629     return Document_fullscreen_Get(this._parent);
630   }
631   auto exitFullscreen()() {
632     return Promise!(void)(Document_exitFullscreen(this._parent));
633   }
634   void onfullscreenchange()(EventHandler onfullscreenchange) {
635     Document_onfullscreenchange_Set(this._parent, onfullscreenchange);
636   }
637   auto onfullscreenchange()() {
638     return Document_onfullscreenchange_Get(this._parent);
639   }
640   void onfullscreenerror()(EventHandler onfullscreenerror) {
641     Document_onfullscreenerror_Set(this._parent, onfullscreenerror);
642   }
643   auto onfullscreenerror()() {
644     return Document_onfullscreenerror_Get(this._parent);
645   }
646   auto rootElement()() {
647     return Document_rootElement_Get(this._parent);
648   }
649   auto styleSheets()() {
650     return StyleSheetList(Document_styleSheets_Get(this._parent));
651   }
652   auto getElementById()(string elementId) {
653     return NonElementParentNode_getElementById(this._parent, elementId);
654   }
655   auto fullscreenElement()() {
656     return DocumentOrShadowRoot_fullscreenElement_Get(this._parent);
657   }
658   auto children()() {
659     return HTMLCollection(ParentNode_children_Get(this._parent));
660   }
661   auto firstElementChild()() {
662     return ParentNode_firstElementChild_Get(this._parent);
663   }
664   auto lastElementChild()() {
665     return ParentNode_lastElementChild_Get(this._parent);
666   }
667   auto childElementCount()() {
668     return ParentNode_childElementCount_Get(this._parent);
669   }
670   void prepend()(scope ref SumType!(Node, string) nodes) {
671     ParentNode_prepend(this._parent, nodes);
672   }
673   void append()(scope ref SumType!(Node, string) nodes) {
674     ParentNode_append(this._parent, nodes);
675   }
676   auto querySelector()(string selectors) {
677     return ParentNode_querySelector(this._parent, selectors);
678   }
679   auto querySelectorAll()(string selectors) {
680     return NodeList(ParentNode_querySelectorAll(this._parent, selectors));
681   }
682   void oncopy()(EventHandler oncopy) {
683     DocumentAndElementEventHandlers_oncopy_Set(this._parent, oncopy);
684   }
685   auto oncopy()() {
686     return DocumentAndElementEventHandlers_oncopy_Get(this._parent);
687   }
688   void oncut()(EventHandler oncut) {
689     DocumentAndElementEventHandlers_oncut_Set(this._parent, oncut);
690   }
691   auto oncut()() {
692     return DocumentAndElementEventHandlers_oncut_Get(this._parent);
693   }
694   void onpaste()(EventHandler onpaste) {
695     DocumentAndElementEventHandlers_onpaste_Set(this._parent, onpaste);
696   }
697   auto onpaste()() {
698     return DocumentAndElementEventHandlers_onpaste_Get(this._parent);
699   }
700   void onabort()(EventHandler onabort) {
701     GlobalEventHandlers_onabort_Set(this._parent, onabort);
702   }
703   auto onabort()() {
704     return GlobalEventHandlers_onabort_Get(this._parent);
705   }
706   void onauxclick()(EventHandler onauxclick) {
707     GlobalEventHandlers_onauxclick_Set(this._parent, onauxclick);
708   }
709   auto onauxclick()() {
710     return GlobalEventHandlers_onauxclick_Get(this._parent);
711   }
712   void onblur()(EventHandler onblur) {
713     GlobalEventHandlers_onblur_Set(this._parent, onblur);
714   }
715   auto onblur()() {
716     return GlobalEventHandlers_onblur_Get(this._parent);
717   }
718   void oncancel()(EventHandler oncancel) {
719     GlobalEventHandlers_oncancel_Set(this._parent, oncancel);
720   }
721   auto oncancel()() {
722     return GlobalEventHandlers_oncancel_Get(this._parent);
723   }
724   void oncanplay()(EventHandler oncanplay) {
725     GlobalEventHandlers_oncanplay_Set(this._parent, oncanplay);
726   }
727   auto oncanplay()() {
728     return GlobalEventHandlers_oncanplay_Get(this._parent);
729   }
730   void oncanplaythrough()(EventHandler oncanplaythrough) {
731     GlobalEventHandlers_oncanplaythrough_Set(this._parent, oncanplaythrough);
732   }
733   auto oncanplaythrough()() {
734     return GlobalEventHandlers_oncanplaythrough_Get(this._parent);
735   }
736   void onchange()(EventHandler onchange) {
737     GlobalEventHandlers_onchange_Set(this._parent, onchange);
738   }
739   auto onchange()() {
740     return GlobalEventHandlers_onchange_Get(this._parent);
741   }
742   void onclick()(EventHandler onclick) {
743     GlobalEventHandlers_onclick_Set(this._parent, onclick);
744   }
745   auto onclick()() {
746     return GlobalEventHandlers_onclick_Get(this._parent);
747   }
748   void onclose()(EventHandler onclose) {
749     GlobalEventHandlers_onclose_Set(this._parent, onclose);
750   }
751   auto onclose()() {
752     return GlobalEventHandlers_onclose_Get(this._parent);
753   }
754   void oncontextmenu()(EventHandler oncontextmenu) {
755     GlobalEventHandlers_oncontextmenu_Set(this._parent, oncontextmenu);
756   }
757   auto oncontextmenu()() {
758     return GlobalEventHandlers_oncontextmenu_Get(this._parent);
759   }
760   void oncuechange()(EventHandler oncuechange) {
761     GlobalEventHandlers_oncuechange_Set(this._parent, oncuechange);
762   }
763   auto oncuechange()() {
764     return GlobalEventHandlers_oncuechange_Get(this._parent);
765   }
766   void ondblclick()(EventHandler ondblclick) {
767     GlobalEventHandlers_ondblclick_Set(this._parent, ondblclick);
768   }
769   auto ondblclick()() {
770     return GlobalEventHandlers_ondblclick_Get(this._parent);
771   }
772   void ondrag()(EventHandler ondrag) {
773     GlobalEventHandlers_ondrag_Set(this._parent, ondrag);
774   }
775   auto ondrag()() {
776     return GlobalEventHandlers_ondrag_Get(this._parent);
777   }
778   void ondragend()(EventHandler ondragend) {
779     GlobalEventHandlers_ondragend_Set(this._parent, ondragend);
780   }
781   auto ondragend()() {
782     return GlobalEventHandlers_ondragend_Get(this._parent);
783   }
784   void ondragenter()(EventHandler ondragenter) {
785     GlobalEventHandlers_ondragenter_Set(this._parent, ondragenter);
786   }
787   auto ondragenter()() {
788     return GlobalEventHandlers_ondragenter_Get(this._parent);
789   }
790   void ondragexit()(EventHandler ondragexit) {
791     GlobalEventHandlers_ondragexit_Set(this._parent, ondragexit);
792   }
793   auto ondragexit()() {
794     return GlobalEventHandlers_ondragexit_Get(this._parent);
795   }
796   void ondragleave()(EventHandler ondragleave) {
797     GlobalEventHandlers_ondragleave_Set(this._parent, ondragleave);
798   }
799   auto ondragleave()() {
800     return GlobalEventHandlers_ondragleave_Get(this._parent);
801   }
802   void ondragover()(EventHandler ondragover) {
803     GlobalEventHandlers_ondragover_Set(this._parent, ondragover);
804   }
805   auto ondragover()() {
806     return GlobalEventHandlers_ondragover_Get(this._parent);
807   }
808   void ondragstart()(EventHandler ondragstart) {
809     GlobalEventHandlers_ondragstart_Set(this._parent, ondragstart);
810   }
811   auto ondragstart()() {
812     return GlobalEventHandlers_ondragstart_Get(this._parent);
813   }
814   void ondrop()(EventHandler ondrop) {
815     GlobalEventHandlers_ondrop_Set(this._parent, ondrop);
816   }
817   auto ondrop()() {
818     return GlobalEventHandlers_ondrop_Get(this._parent);
819   }
820   void ondurationchange()(EventHandler ondurationchange) {
821     GlobalEventHandlers_ondurationchange_Set(this._parent, ondurationchange);
822   }
823   auto ondurationchange()() {
824     return GlobalEventHandlers_ondurationchange_Get(this._parent);
825   }
826   void onemptied()(EventHandler onemptied) {
827     GlobalEventHandlers_onemptied_Set(this._parent, onemptied);
828   }
829   auto onemptied()() {
830     return GlobalEventHandlers_onemptied_Get(this._parent);
831   }
832   void onended()(EventHandler onended) {
833     GlobalEventHandlers_onended_Set(this._parent, onended);
834   }
835   auto onended()() {
836     return GlobalEventHandlers_onended_Get(this._parent);
837   }
838   void onerror(T0)(scope auto ref Optional!(T0) onerror) if (isTOrPointer!(T0, OnErrorEventHandler)) {
839     GlobalEventHandlers_onerror_Set(this._parent, !onerror.empty, onerror.front);
840   }
841   auto onerror()() {
842     return GlobalEventHandlers_onerror_Get(this._parent);
843   }
844   void onfocus()(EventHandler onfocus) {
845     GlobalEventHandlers_onfocus_Set(this._parent, onfocus);
846   }
847   auto onfocus()() {
848     return GlobalEventHandlers_onfocus_Get(this._parent);
849   }
850   void oninput()(EventHandler oninput) {
851     GlobalEventHandlers_oninput_Set(this._parent, oninput);
852   }
853   auto oninput()() {
854     return GlobalEventHandlers_oninput_Get(this._parent);
855   }
856   void oninvalid()(EventHandler oninvalid) {
857     GlobalEventHandlers_oninvalid_Set(this._parent, oninvalid);
858   }
859   auto oninvalid()() {
860     return GlobalEventHandlers_oninvalid_Get(this._parent);
861   }
862   void onkeydown()(EventHandler onkeydown) {
863     GlobalEventHandlers_onkeydown_Set(this._parent, onkeydown);
864   }
865   auto onkeydown()() {
866     return GlobalEventHandlers_onkeydown_Get(this._parent);
867   }
868   void onkeypress()(EventHandler onkeypress) {
869     GlobalEventHandlers_onkeypress_Set(this._parent, onkeypress);
870   }
871   auto onkeypress()() {
872     return GlobalEventHandlers_onkeypress_Get(this._parent);
873   }
874   void onkeyup()(EventHandler onkeyup) {
875     GlobalEventHandlers_onkeyup_Set(this._parent, onkeyup);
876   }
877   auto onkeyup()() {
878     return GlobalEventHandlers_onkeyup_Get(this._parent);
879   }
880   void onload()(EventHandler onload) {
881     GlobalEventHandlers_onload_Set(this._parent, onload);
882   }
883   auto onload()() {
884     return GlobalEventHandlers_onload_Get(this._parent);
885   }
886   void onloadeddata()(EventHandler onloadeddata) {
887     GlobalEventHandlers_onloadeddata_Set(this._parent, onloadeddata);
888   }
889   auto onloadeddata()() {
890     return GlobalEventHandlers_onloadeddata_Get(this._parent);
891   }
892   void onloadedmetadata()(EventHandler onloadedmetadata) {
893     GlobalEventHandlers_onloadedmetadata_Set(this._parent, onloadedmetadata);
894   }
895   auto onloadedmetadata()() {
896     return GlobalEventHandlers_onloadedmetadata_Get(this._parent);
897   }
898   void onloadend()(EventHandler onloadend) {
899     GlobalEventHandlers_onloadend_Set(this._parent, onloadend);
900   }
901   auto onloadend()() {
902     return GlobalEventHandlers_onloadend_Get(this._parent);
903   }
904   void onloadstart()(EventHandler onloadstart) {
905     GlobalEventHandlers_onloadstart_Set(this._parent, onloadstart);
906   }
907   auto onloadstart()() {
908     return GlobalEventHandlers_onloadstart_Get(this._parent);
909   }
910   void onmousedown()(EventHandler onmousedown) {
911     GlobalEventHandlers_onmousedown_Set(this._parent, onmousedown);
912   }
913   auto onmousedown()() {
914     return GlobalEventHandlers_onmousedown_Get(this._parent);
915   }
916   void onmouseenter()(EventHandler onmouseenter) {
917     GlobalEventHandlers_onmouseenter_Set(this._parent, onmouseenter);
918   }
919   auto onmouseenter()() {
920     return GlobalEventHandlers_onmouseenter_Get(this._parent);
921   }
922   void onmouseleave()(EventHandler onmouseleave) {
923     GlobalEventHandlers_onmouseleave_Set(this._parent, onmouseleave);
924   }
925   auto onmouseleave()() {
926     return GlobalEventHandlers_onmouseleave_Get(this._parent);
927   }
928   void onmousemove()(EventHandler onmousemove) {
929     GlobalEventHandlers_onmousemove_Set(this._parent, onmousemove);
930   }
931   auto onmousemove()() {
932     return GlobalEventHandlers_onmousemove_Get(this._parent);
933   }
934   void onmouseout()(EventHandler onmouseout) {
935     GlobalEventHandlers_onmouseout_Set(this._parent, onmouseout);
936   }
937   auto onmouseout()() {
938     return GlobalEventHandlers_onmouseout_Get(this._parent);
939   }
940   void onmouseover()(EventHandler onmouseover) {
941     GlobalEventHandlers_onmouseover_Set(this._parent, onmouseover);
942   }
943   auto onmouseover()() {
944     return GlobalEventHandlers_onmouseover_Get(this._parent);
945   }
946   void onmouseup()(EventHandler onmouseup) {
947     GlobalEventHandlers_onmouseup_Set(this._parent, onmouseup);
948   }
949   auto onmouseup()() {
950     return GlobalEventHandlers_onmouseup_Get(this._parent);
951   }
952   void onwheel()(EventHandler onwheel) {
953     GlobalEventHandlers_onwheel_Set(this._parent, onwheel);
954   }
955   auto onwheel()() {
956     return GlobalEventHandlers_onwheel_Get(this._parent);
957   }
958   void onpause()(EventHandler onpause) {
959     GlobalEventHandlers_onpause_Set(this._parent, onpause);
960   }
961   auto onpause()() {
962     return GlobalEventHandlers_onpause_Get(this._parent);
963   }
964   void onplay()(EventHandler onplay) {
965     GlobalEventHandlers_onplay_Set(this._parent, onplay);
966   }
967   auto onplay()() {
968     return GlobalEventHandlers_onplay_Get(this._parent);
969   }
970   void onplaying()(EventHandler onplaying) {
971     GlobalEventHandlers_onplaying_Set(this._parent, onplaying);
972   }
973   auto onplaying()() {
974     return GlobalEventHandlers_onplaying_Get(this._parent);
975   }
976   void onprogress()(EventHandler onprogress) {
977     GlobalEventHandlers_onprogress_Set(this._parent, onprogress);
978   }
979   auto onprogress()() {
980     return GlobalEventHandlers_onprogress_Get(this._parent);
981   }
982   void onratechange()(EventHandler onratechange) {
983     GlobalEventHandlers_onratechange_Set(this._parent, onratechange);
984   }
985   auto onratechange()() {
986     return GlobalEventHandlers_onratechange_Get(this._parent);
987   }
988   void onreset()(EventHandler onreset) {
989     GlobalEventHandlers_onreset_Set(this._parent, onreset);
990   }
991   auto onreset()() {
992     return GlobalEventHandlers_onreset_Get(this._parent);
993   }
994   void onresize()(EventHandler onresize) {
995     GlobalEventHandlers_onresize_Set(this._parent, onresize);
996   }
997   auto onresize()() {
998     return GlobalEventHandlers_onresize_Get(this._parent);
999   }
1000   void onscroll()(EventHandler onscroll) {
1001     GlobalEventHandlers_onscroll_Set(this._parent, onscroll);
1002   }
1003   auto onscroll()() {
1004     return GlobalEventHandlers_onscroll_Get(this._parent);
1005   }
1006   void onsecuritypolicyviolation()(EventHandler onsecuritypolicyviolation) {
1007     GlobalEventHandlers_onsecuritypolicyviolation_Set(this._parent, onsecuritypolicyviolation);
1008   }
1009   auto onsecuritypolicyviolation()() {
1010     return GlobalEventHandlers_onsecuritypolicyviolation_Get(this._parent);
1011   }
1012   void onseeked()(EventHandler onseeked) {
1013     GlobalEventHandlers_onseeked_Set(this._parent, onseeked);
1014   }
1015   auto onseeked()() {
1016     return GlobalEventHandlers_onseeked_Get(this._parent);
1017   }
1018   void onseeking()(EventHandler onseeking) {
1019     GlobalEventHandlers_onseeking_Set(this._parent, onseeking);
1020   }
1021   auto onseeking()() {
1022     return GlobalEventHandlers_onseeking_Get(this._parent);
1023   }
1024   void onselect()(EventHandler onselect) {
1025     GlobalEventHandlers_onselect_Set(this._parent, onselect);
1026   }
1027   auto onselect()() {
1028     return GlobalEventHandlers_onselect_Get(this._parent);
1029   }
1030   void onstalled()(EventHandler onstalled) {
1031     GlobalEventHandlers_onstalled_Set(this._parent, onstalled);
1032   }
1033   auto onstalled()() {
1034     return GlobalEventHandlers_onstalled_Get(this._parent);
1035   }
1036   void onsubmit()(EventHandler onsubmit) {
1037     GlobalEventHandlers_onsubmit_Set(this._parent, onsubmit);
1038   }
1039   auto onsubmit()() {
1040     return GlobalEventHandlers_onsubmit_Get(this._parent);
1041   }
1042   void onsuspend()(EventHandler onsuspend) {
1043     GlobalEventHandlers_onsuspend_Set(this._parent, onsuspend);
1044   }
1045   auto onsuspend()() {
1046     return GlobalEventHandlers_onsuspend_Get(this._parent);
1047   }
1048   void ontimeupdate()(EventHandler ontimeupdate) {
1049     GlobalEventHandlers_ontimeupdate_Set(this._parent, ontimeupdate);
1050   }
1051   auto ontimeupdate()() {
1052     return GlobalEventHandlers_ontimeupdate_Get(this._parent);
1053   }
1054   void ontoggle()(EventHandler ontoggle) {
1055     GlobalEventHandlers_ontoggle_Set(this._parent, ontoggle);
1056   }
1057   auto ontoggle()() {
1058     return GlobalEventHandlers_ontoggle_Get(this._parent);
1059   }
1060   void onvolumechange()(EventHandler onvolumechange) {
1061     GlobalEventHandlers_onvolumechange_Set(this._parent, onvolumechange);
1062   }
1063   auto onvolumechange()() {
1064     return GlobalEventHandlers_onvolumechange_Get(this._parent);
1065   }
1066   void onwaiting()(EventHandler onwaiting) {
1067     GlobalEventHandlers_onwaiting_Set(this._parent, onwaiting);
1068   }
1069   auto onwaiting()() {
1070     return GlobalEventHandlers_onwaiting_Get(this._parent);
1071   }
1072   void ongotpointercapture()(EventHandler ongotpointercapture) {
1073     GlobalEventHandlers_ongotpointercapture_Set(this._parent, ongotpointercapture);
1074   }
1075   auto ongotpointercapture()() {
1076     return GlobalEventHandlers_ongotpointercapture_Get(this._parent);
1077   }
1078   void onlostpointercapture()(EventHandler onlostpointercapture) {
1079     GlobalEventHandlers_onlostpointercapture_Set(this._parent, onlostpointercapture);
1080   }
1081   auto onlostpointercapture()() {
1082     return GlobalEventHandlers_onlostpointercapture_Get(this._parent);
1083   }
1084   void onpointerdown()(EventHandler onpointerdown) {
1085     GlobalEventHandlers_onpointerdown_Set(this._parent, onpointerdown);
1086   }
1087   auto onpointerdown()() {
1088     return GlobalEventHandlers_onpointerdown_Get(this._parent);
1089   }
1090   void onpointermove()(EventHandler onpointermove) {
1091     GlobalEventHandlers_onpointermove_Set(this._parent, onpointermove);
1092   }
1093   auto onpointermove()() {
1094     return GlobalEventHandlers_onpointermove_Get(this._parent);
1095   }
1096   void onpointerup()(EventHandler onpointerup) {
1097     GlobalEventHandlers_onpointerup_Set(this._parent, onpointerup);
1098   }
1099   auto onpointerup()() {
1100     return GlobalEventHandlers_onpointerup_Get(this._parent);
1101   }
1102   void onpointercancel()(EventHandler onpointercancel) {
1103     GlobalEventHandlers_onpointercancel_Set(this._parent, onpointercancel);
1104   }
1105   auto onpointercancel()() {
1106     return GlobalEventHandlers_onpointercancel_Get(this._parent);
1107   }
1108   void onpointerover()(EventHandler onpointerover) {
1109     GlobalEventHandlers_onpointerover_Set(this._parent, onpointerover);
1110   }
1111   auto onpointerover()() {
1112     return GlobalEventHandlers_onpointerover_Get(this._parent);
1113   }
1114   void onpointerout()(EventHandler onpointerout) {
1115     GlobalEventHandlers_onpointerout_Set(this._parent, onpointerout);
1116   }
1117   auto onpointerout()() {
1118     return GlobalEventHandlers_onpointerout_Get(this._parent);
1119   }
1120   void onpointerenter()(EventHandler onpointerenter) {
1121     GlobalEventHandlers_onpointerenter_Set(this._parent, onpointerenter);
1122   }
1123   auto onpointerenter()() {
1124     return GlobalEventHandlers_onpointerenter_Get(this._parent);
1125   }
1126   void onpointerleave()(EventHandler onpointerleave) {
1127     GlobalEventHandlers_onpointerleave_Set(this._parent, onpointerleave);
1128   }
1129   auto onpointerleave()() {
1130     return GlobalEventHandlers_onpointerleave_Get(this._parent);
1131   }
1132   void ontouchstart()(EventHandler ontouchstart) {
1133     GlobalEventHandlers_ontouchstart_Set(this._parent, ontouchstart);
1134   }
1135   auto ontouchstart()() {
1136     return GlobalEventHandlers_ontouchstart_Get(this._parent);
1137   }
1138   void ontouchend()(EventHandler ontouchend) {
1139     GlobalEventHandlers_ontouchend_Set(this._parent, ontouchend);
1140   }
1141   auto ontouchend()() {
1142     return GlobalEventHandlers_ontouchend_Get(this._parent);
1143   }
1144   void ontouchmove()(EventHandler ontouchmove) {
1145     GlobalEventHandlers_ontouchmove_Set(this._parent, ontouchmove);
1146   }
1147   auto ontouchmove()() {
1148     return GlobalEventHandlers_ontouchmove_Get(this._parent);
1149   }
1150   void ontouchcancel()(EventHandler ontouchcancel) {
1151     GlobalEventHandlers_ontouchcancel_Set(this._parent, ontouchcancel);
1152   }
1153   auto ontouchcancel()() {
1154     return GlobalEventHandlers_ontouchcancel_Get(this._parent);
1155   }
1156 }
1157 struct DocumentFragment {
1158   nothrow:
1159   spasm.bindings.dom.Node _parent;
1160   alias _parent this;
1161   this(Handle h) {
1162     _parent = .Node(h);
1163   }
1164   auto getElementById()(string elementId) {
1165     return NonElementParentNode_getElementById(this._parent, elementId);
1166   }
1167   auto children()() {
1168     return HTMLCollection(ParentNode_children_Get(this._parent));
1169   }
1170   auto firstElementChild()() {
1171     return ParentNode_firstElementChild_Get(this._parent);
1172   }
1173   auto lastElementChild()() {
1174     return ParentNode_lastElementChild_Get(this._parent);
1175   }
1176   auto childElementCount()() {
1177     return ParentNode_childElementCount_Get(this._parent);
1178   }
1179   void prepend()(scope ref SumType!(Node, string) nodes) {
1180     ParentNode_prepend(this._parent, nodes);
1181   }
1182   void append()(scope ref SumType!(Node, string) nodes) {
1183     ParentNode_append(this._parent, nodes);
1184   }
1185   auto querySelector()(string selectors) {
1186     return ParentNode_querySelector(this._parent, selectors);
1187   }
1188   auto querySelectorAll()(string selectors) {
1189     return NodeList(ParentNode_querySelectorAll(this._parent, selectors));
1190   }
1191 }
1192 struct DocumentType {
1193   nothrow:
1194   spasm.bindings.dom.Node _parent;
1195   alias _parent this;
1196   this(Handle h) {
1197     _parent = .Node(h);
1198   }
1199   auto name()() {
1200     return DocumentType_name_Get(this._parent);
1201   }
1202   auto publicId()() {
1203     return DocumentType_publicId_Get(this._parent);
1204   }
1205   auto systemId()() {
1206     return DocumentType_systemId_Get(this._parent);
1207   }
1208   void before()(scope ref SumType!(Node, string) nodes) {
1209     ChildNode_before(this._parent, nodes);
1210   }
1211   void after()(scope ref SumType!(Node, string) nodes) {
1212     ChildNode_after(this._parent, nodes);
1213   }
1214   void replaceWith()(scope ref SumType!(Node, string) nodes) {
1215     ChildNode_replaceWith(this._parent, nodes);
1216   }
1217   void remove()() {
1218     ChildNode_remove(this._parent);
1219   }
1220 }
1221 struct Element {
1222   nothrow:
1223   spasm.bindings.dom.Node _parent;
1224   alias _parent this;
1225   this(Handle h) {
1226     _parent = .Node(h);
1227   }
1228   auto namespaceURI()() {
1229     return Element_namespaceURI_Get(this._parent);
1230   }
1231   auto prefix()() {
1232     return Element_prefix_Get(this._parent);
1233   }
1234   auto localName()() {
1235     return Element_localName_Get(this._parent);
1236   }
1237   auto tagName()() {
1238     return Element_tagName_Get(this._parent);
1239   }
1240   void id()(string id) {
1241     Element_id_Set(this._parent, id);
1242   }
1243   auto id()() {
1244     return Element_id_Get(this._parent);
1245   }
1246   void className()(string className) {
1247     Element_className_Set(this._parent, className);
1248   }
1249   auto className()() {
1250     return Element_className_Get(this._parent);
1251   }
1252   auto classList()() {
1253     return DOMTokenList(Element_classList_Get(this._parent));
1254   }
1255   void slot()(string slot) {
1256     Element_slot_Set(this._parent, slot);
1257   }
1258   auto slot()() {
1259     return Element_slot_Get(this._parent);
1260   }
1261   auto hasAttributes()() {
1262     return Element_hasAttributes(this._parent);
1263   }
1264   auto attributes()() {
1265     return NamedNodeMap(Element_attributes_Get(this._parent));
1266   }
1267   auto getAttributeNames()() {
1268     return Sequence!(string)(Element_getAttributeNames(this._parent));
1269   }
1270   auto getAttribute()(string qualifiedName) {
1271     return Element_getAttribute(this._parent, qualifiedName);
1272   }
1273   auto getAttributeNS(T0)(scope auto ref Optional!(T0) namespace, string localName) if (isTOrPointer!(T0, string)) {
1274     return Element_getAttributeNS(this._parent, !namespace.empty, namespace.front, localName);
1275   }
1276   void setAttribute()(string qualifiedName, string value) {
1277     Element_setAttribute(this._parent, qualifiedName, value);
1278   }
1279   void setAttributeNS(T0)(scope auto ref Optional!(T0) namespace, string qualifiedName, string value) if (isTOrPointer!(T0, string)) {
1280     Element_setAttributeNS(this._parent, !namespace.empty, namespace.front, qualifiedName, value);
1281   }
1282   void removeAttribute()(string qualifiedName) {
1283     Element_removeAttribute(this._parent, qualifiedName);
1284   }
1285   void removeAttributeNS(T0)(scope auto ref Optional!(T0) namespace, string localName) if (isTOrPointer!(T0, string)) {
1286     Element_removeAttributeNS(this._parent, !namespace.empty, namespace.front, localName);
1287   }
1288   auto toggleAttribute()(string qualifiedName, bool force) {
1289     return Element_toggleAttribute(this._parent, qualifiedName, force);
1290   }
1291   auto toggleAttribute()(string qualifiedName) {
1292     return Element_toggleAttribute_0(this._parent, qualifiedName);
1293   }
1294   auto hasAttribute()(string qualifiedName) {
1295     return Element_hasAttribute(this._parent, qualifiedName);
1296   }
1297   auto hasAttributeNS(T0)(scope auto ref Optional!(T0) namespace, string localName) if (isTOrPointer!(T0, string)) {
1298     return Element_hasAttributeNS(this._parent, !namespace.empty, namespace.front, localName);
1299   }
1300   auto getAttributeNode()(string qualifiedName) {
1301     return Element_getAttributeNode(this._parent, qualifiedName);
1302   }
1303   auto getAttributeNodeNS(T0)(scope auto ref Optional!(T0) namespace, string localName) if (isTOrPointer!(T0, string)) {
1304     return Element_getAttributeNodeNS(this._parent, !namespace.empty, namespace.front, localName);
1305   }
1306   auto setAttributeNode()(scope ref Attr attr) {
1307     return Element_setAttributeNode(this._parent, attr._parent);
1308   }
1309   auto setAttributeNodeNS()(scope ref Attr attr) {
1310     return Element_setAttributeNodeNS(this._parent, attr._parent);
1311   }
1312   auto removeAttributeNode()(scope ref Attr attr) {
1313     return Attr(Element_removeAttributeNode(this._parent, attr._parent));
1314   }
1315   auto attachShadow()(scope ref ShadowRootInit init) {
1316     return ShadowRoot(Element_attachShadow(this._parent, init.handle));
1317   }
1318   auto shadowRoot()() {
1319     return Element_shadowRoot_Get(this._parent);
1320   }
1321   auto closest()(string selectors) {
1322     return Element_closest(this._parent, selectors);
1323   }
1324   auto matches()(string selectors) {
1325     return Element_matches(this._parent, selectors);
1326   }
1327   auto webkitMatchesSelector()(string selectors) {
1328     return Element_webkitMatchesSelector(this._parent, selectors);
1329   }
1330   auto getElementsByTagName()(string qualifiedName) {
1331     return HTMLCollection(Element_getElementsByTagName(this._parent, qualifiedName));
1332   }
1333   auto getElementsByTagNameNS(T0)(scope auto ref Optional!(T0) namespace, string localName) if (isTOrPointer!(T0, string)) {
1334     return HTMLCollection(Element_getElementsByTagNameNS(this._parent, !namespace.empty, namespace.front, localName));
1335   }
1336   auto getElementsByClassName()(string classNames) {
1337     return HTMLCollection(Element_getElementsByClassName(this._parent, classNames));
1338   }
1339   auto insertAdjacentElement()(string where, scope ref Element element) {
1340     return Element_insertAdjacentElement(this._parent, where, element._parent);
1341   }
1342   void insertAdjacentText()(string where, string data) {
1343     Element_insertAdjacentText(this._parent, where, data);
1344   }
1345   void innerHTML()(string innerHTML) {
1346     Element_innerHTML_Set(this._parent, innerHTML);
1347   }
1348   auto innerHTML()() {
1349     return Element_innerHTML_Get(this._parent);
1350   }
1351   void outerHTML()(string outerHTML) {
1352     Element_outerHTML_Set(this._parent, outerHTML);
1353   }
1354   auto outerHTML()() {
1355     return Element_outerHTML_Get(this._parent);
1356   }
1357   void insertAdjacentHTML()(string position, string text) {
1358     Element_insertAdjacentHTML(this._parent, position, text);
1359   }
1360   auto getClientRects()() {
1361     return DOMRectList(Element_getClientRects(this._parent));
1362   }
1363   auto getBoundingClientRect()() {
1364     return DOMRect(Element_getBoundingClientRect(this._parent));
1365   }
1366   void scrollIntoView()(scope ref SumType!(bool, ScrollIntoViewOptions) arg) {
1367     Element_scrollIntoView(this._parent, arg);
1368   }
1369   void scrollIntoView()() {
1370     Element_scrollIntoView_0(this._parent);
1371   }
1372   void scroll()(scope ref ScrollToOptions options) {
1373     Element_scroll__Handle(this._parent, options._parent);
1374   }
1375   void scroll()() {
1376     Element_scroll_0(this._parent);
1377   }
1378   void scroll()(double x, double y) {
1379     Element_scroll__double_double(this._parent, x, y);
1380   }
1381   void scrollTo()(scope ref ScrollToOptions options) {
1382     Element_scrollTo__Handle(this._parent, options._parent);
1383   }
1384   void scrollTo()() {
1385     Element_scrollTo_0(this._parent);
1386   }
1387   void scrollTo()(double x, double y) {
1388     Element_scrollTo__double_double(this._parent, x, y);
1389   }
1390   void scrollBy()(scope ref ScrollToOptions options) {
1391     Element_scrollBy__Handle(this._parent, options._parent);
1392   }
1393   void scrollBy()() {
1394     Element_scrollBy_0(this._parent);
1395   }
1396   void scrollBy()(double x, double y) {
1397     Element_scrollBy__double_double(this._parent, x, y);
1398   }
1399   void scrollTop()(double scrollTop) {
1400     Element_scrollTop_Set(this._parent, scrollTop);
1401   }
1402   auto scrollTop()() {
1403     return Element_scrollTop_Get(this._parent);
1404   }
1405   void scrollLeft()(double scrollLeft) {
1406     Element_scrollLeft_Set(this._parent, scrollLeft);
1407   }
1408   auto scrollLeft()() {
1409     return Element_scrollLeft_Get(this._parent);
1410   }
1411   auto scrollWidth()() {
1412     return Element_scrollWidth_Get(this._parent);
1413   }
1414   auto scrollHeight()() {
1415     return Element_scrollHeight_Get(this._parent);
1416   }
1417   auto clientTop()() {
1418     return Element_clientTop_Get(this._parent);
1419   }
1420   auto clientLeft()() {
1421     return Element_clientLeft_Get(this._parent);
1422   }
1423   auto clientWidth()() {
1424     return Element_clientWidth_Get(this._parent);
1425   }
1426   auto clientHeight()() {
1427     return Element_clientHeight_Get(this._parent);
1428   }
1429   void setPointerCapture()(int pointerId) {
1430     Element_setPointerCapture(this._parent, pointerId);
1431   }
1432   void releasePointerCapture()(int pointerId) {
1433     Element_releasePointerCapture(this._parent, pointerId);
1434   }
1435   auto hasPointerCapture()(int pointerId) {
1436     return Element_hasPointerCapture(this._parent, pointerId);
1437   }
1438   auto requestFullscreen()(scope ref FullscreenOptions options) {
1439     return Promise!(void)(Element_requestFullscreen(this._parent, options.handle));
1440   }
1441   auto requestFullscreen()() {
1442     return Promise!(void)(Element_requestFullscreen_0(this._parent));
1443   }
1444   void onfullscreenchange()(EventHandler onfullscreenchange) {
1445     Element_onfullscreenchange_Set(this._parent, onfullscreenchange);
1446   }
1447   auto onfullscreenchange()() {
1448     return Element_onfullscreenchange_Get(this._parent);
1449   }
1450   void onfullscreenerror()(EventHandler onfullscreenerror) {
1451     Element_onfullscreenerror_Set(this._parent, onfullscreenerror);
1452   }
1453   auto onfullscreenerror()() {
1454     return Element_onfullscreenerror_Get(this._parent);
1455   }
1456   auto pseudo()(string type) {
1457     return Element_pseudo(this._parent, type);
1458   }
1459   auto children()() {
1460     return HTMLCollection(ParentNode_children_Get(this._parent));
1461   }
1462   auto firstElementChild()() {
1463     return ParentNode_firstElementChild_Get(this._parent);
1464   }
1465   auto lastElementChild()() {
1466     return ParentNode_lastElementChild_Get(this._parent);
1467   }
1468   auto childElementCount()() {
1469     return ParentNode_childElementCount_Get(this._parent);
1470   }
1471   void prepend()(scope ref SumType!(Node, string) nodes) {
1472     ParentNode_prepend(this._parent, nodes);
1473   }
1474   void append()(scope ref SumType!(Node, string) nodes) {
1475     ParentNode_append(this._parent, nodes);
1476   }
1477   auto querySelector()(string selectors) {
1478     return ParentNode_querySelector(this._parent, selectors);
1479   }
1480   auto querySelectorAll()(string selectors) {
1481     return NodeList(ParentNode_querySelectorAll(this._parent, selectors));
1482   }
1483   auto previousElementSibling()() {
1484     return NonDocumentTypeChildNode_previousElementSibling_Get(this._parent);
1485   }
1486   auto nextElementSibling()() {
1487     return NonDocumentTypeChildNode_nextElementSibling_Get(this._parent);
1488   }
1489   void before()(scope ref SumType!(Node, string) nodes) {
1490     ChildNode_before(this._parent, nodes);
1491   }
1492   void after()(scope ref SumType!(Node, string) nodes) {
1493     ChildNode_after(this._parent, nodes);
1494   }
1495   void replaceWith()(scope ref SumType!(Node, string) nodes) {
1496     ChildNode_replaceWith(this._parent, nodes);
1497   }
1498   void remove()() {
1499     ChildNode_remove(this._parent);
1500   }
1501   auto assignedSlot()() {
1502     return Slotable_assignedSlot_Get(this._parent);
1503   }
1504 }
1505 struct ElementCreationOptions {
1506   nothrow:
1507   JsHandle handle;
1508   alias handle this;
1509   this(Handle h) {
1510     this.handle = JsHandle(h);
1511   }
1512   static auto create() {
1513     return ElementCreationOptions(spasm_add__object());
1514   }
1515   void is_()(string is_) {
1516     ElementCreationOptions_is_Set(this.handle, is_);
1517   }
1518   auto is_()() {
1519     return ElementCreationOptions_is_Get(this.handle);
1520   }
1521 }
1522 struct Event {
1523   nothrow:
1524   JsHandle handle;
1525   alias handle this;
1526   this(Handle h) {
1527     this.handle = JsHandle(h);
1528   }
1529   auto type()() {
1530     return Event_type_Get(this.handle);
1531   }
1532   auto target()() {
1533     return Event_target_Get(this.handle);
1534   }
1535   auto srcElement()() {
1536     return Event_srcElement_Get(this.handle);
1537   }
1538   auto currentTarget()() {
1539     return Event_currentTarget_Get(this.handle);
1540   }
1541   auto composedPath()() {
1542     return Sequence!(EventTarget)(Event_composedPath(this.handle));
1543   }
1544   enum ushort NONE = 0;
1545   enum ushort CAPTURING_PHASE = 1;
1546   enum ushort AT_TARGET = 2;
1547   enum ushort BUBBLING_PHASE = 3;
1548   auto eventPhase()() {
1549     return Event_eventPhase_Get(this.handle);
1550   }
1551   void stopPropagation()() {
1552     Event_stopPropagation(this.handle);
1553   }
1554   void cancelBubble()(bool cancelBubble) {
1555     Event_cancelBubble_Set(this.handle, cancelBubble);
1556   }
1557   auto cancelBubble()() {
1558     return Event_cancelBubble_Get(this.handle);
1559   }
1560   void stopImmediatePropagation()() {
1561     Event_stopImmediatePropagation(this.handle);
1562   }
1563   auto bubbles()() {
1564     return Event_bubbles_Get(this.handle);
1565   }
1566   auto cancelable()() {
1567     return Event_cancelable_Get(this.handle);
1568   }
1569   void returnValue()(bool returnValue) {
1570     Event_returnValue_Set(this.handle, returnValue);
1571   }
1572   auto returnValue()() {
1573     return Event_returnValue_Get(this.handle);
1574   }
1575   void preventDefault()() {
1576     Event_preventDefault(this.handle);
1577   }
1578   auto defaultPrevented()() {
1579     return Event_defaultPrevented_Get(this.handle);
1580   }
1581   auto composed()() {
1582     return Event_composed_Get(this.handle);
1583   }
1584   auto isTrusted()() {
1585     return Event_isTrusted_Get(this.handle);
1586   }
1587   auto timeStamp()() {
1588     return Event_timeStamp_Get(this.handle);
1589   }
1590   void initEvent()(string type, bool bubbles /* = false */, bool cancelable /* = false */) {
1591     Event_initEvent(this.handle, type, bubbles, cancelable);
1592   }
1593   void initEvent()(string type, bool bubbles /* = false */) {
1594     Event_initEvent_0(this.handle, type, bubbles);
1595   }
1596   void initEvent()(string type) {
1597     Event_initEvent_1(this.handle, type);
1598   }
1599 }
1600 struct EventInit {
1601   nothrow:
1602   JsHandle handle;
1603   alias handle this;
1604   this(Handle h) {
1605     this.handle = JsHandle(h);
1606   }
1607   static auto create() {
1608     return EventInit(spasm_add__object());
1609   }
1610   void bubbles()(bool bubbles) {
1611     EventInit_bubbles_Set(this.handle, bubbles);
1612   }
1613   auto bubbles()() {
1614     return EventInit_bubbles_Get(this.handle);
1615   }
1616   void cancelable()(bool cancelable) {
1617     EventInit_cancelable_Set(this.handle, cancelable);
1618   }
1619   auto cancelable()() {
1620     return EventInit_cancelable_Get(this.handle);
1621   }
1622   void composed()(bool composed) {
1623     EventInit_composed_Set(this.handle, composed);
1624   }
1625   auto composed()() {
1626     return EventInit_composed_Get(this.handle);
1627   }
1628 }
1629 alias EventListener = void delegate(Event);
1630 struct EventListenerOptions {
1631   nothrow:
1632   JsHandle handle;
1633   alias handle this;
1634   this(Handle h) {
1635     this.handle = JsHandle(h);
1636   }
1637   static auto create() {
1638     return EventListenerOptions(spasm_add__object());
1639   }
1640   void capture()(bool capture) {
1641     EventListenerOptions_capture_Set(this.handle, capture);
1642   }
1643   auto capture()() {
1644     return EventListenerOptions_capture_Get(this.handle);
1645   }
1646 }
1647 struct EventTarget {
1648   nothrow:
1649   JsHandle handle;
1650   alias handle this;
1651   this(Handle h) {
1652     this.handle = JsHandle(h);
1653   }
1654   void addEventListener()(string type, EventListener callback, scope ref SumType!(AddEventListenerOptions, bool) options) {
1655     EventTarget_addEventListener(this.handle, type, callback, options);
1656   }
1657   void addEventListener()(string type, EventListener callback) {
1658     EventTarget_addEventListener_0(this.handle, type, callback);
1659   }
1660   void removeEventListener()(string type, EventListener callback, scope ref SumType!(EventListenerOptions, bool) options) {
1661     EventTarget_removeEventListener(this.handle, type, callback, options);
1662   }
1663   void removeEventListener()(string type, EventListener callback) {
1664     EventTarget_removeEventListener_0(this.handle, type, callback);
1665   }
1666   auto dispatchEvent()(scope ref Event event) {
1667     return EventTarget_dispatchEvent(this.handle, event.handle);
1668   }
1669 }
1670 struct GetRootNodeOptions {
1671   nothrow:
1672   JsHandle handle;
1673   alias handle this;
1674   this(Handle h) {
1675     this.handle = JsHandle(h);
1676   }
1677   static auto create() {
1678     return GetRootNodeOptions(spasm_add__object());
1679   }
1680   void composed()(bool composed) {
1681     GetRootNodeOptions_composed_Set(this.handle, composed);
1682   }
1683   auto composed()() {
1684     return GetRootNodeOptions_composed_Get(this.handle);
1685   }
1686 }
1687 struct HTMLCollection {
1688   nothrow:
1689   JsHandle handle;
1690   alias handle this;
1691   this(Handle h) {
1692     this.handle = JsHandle(h);
1693   }
1694   auto length()() {
1695     return HTMLCollection_length_Get(this.handle);
1696   }
1697   auto item()(uint index) {
1698     return HTMLCollection_item_getter(this.handle, index);
1699   }
1700   auto namedItem()(string name) {
1701     return HTMLCollection_namedItem_getter(this.handle, name);
1702   }
1703 }
1704 alias MutationCallback = void delegate(Sequence!(MutationRecord), MutationObserver);
1705 struct MutationObserver {
1706   nothrow:
1707   JsHandle handle;
1708   alias handle this;
1709   this(Handle h) {
1710     this.handle = JsHandle(h);
1711   }
1712   void observe()(scope ref Node target, scope ref MutationObserverInit options) {
1713     MutationObserver_observe(this.handle, target._parent, options.handle);
1714   }
1715   void observe()(scope ref Node target) {
1716     MutationObserver_observe_0(this.handle, target._parent);
1717   }
1718   void disconnect()() {
1719     MutationObserver_disconnect(this.handle);
1720   }
1721   auto takeRecords()() {
1722     return Sequence!(MutationRecord)(MutationObserver_takeRecords(this.handle));
1723   }
1724 }
1725 struct MutationObserverInit {
1726   nothrow:
1727   JsHandle handle;
1728   alias handle this;
1729   this(Handle h) {
1730     this.handle = JsHandle(h);
1731   }
1732   static auto create() {
1733     return MutationObserverInit(spasm_add__object());
1734   }
1735   void childList()(bool childList) {
1736     MutationObserverInit_childList_Set(this.handle, childList);
1737   }
1738   auto childList()() {
1739     return MutationObserverInit_childList_Get(this.handle);
1740   }
1741   void attributes()(bool attributes) {
1742     MutationObserverInit_attributes_Set(this.handle, attributes);
1743   }
1744   auto attributes()() {
1745     return MutationObserverInit_attributes_Get(this.handle);
1746   }
1747   void characterData()(bool characterData) {
1748     MutationObserverInit_characterData_Set(this.handle, characterData);
1749   }
1750   auto characterData()() {
1751     return MutationObserverInit_characterData_Get(this.handle);
1752   }
1753   void subtree()(bool subtree) {
1754     MutationObserverInit_subtree_Set(this.handle, subtree);
1755   }
1756   auto subtree()() {
1757     return MutationObserverInit_subtree_Get(this.handle);
1758   }
1759   void attributeOldValue()(bool attributeOldValue) {
1760     MutationObserverInit_attributeOldValue_Set(this.handle, attributeOldValue);
1761   }
1762   auto attributeOldValue()() {
1763     return MutationObserverInit_attributeOldValue_Get(this.handle);
1764   }
1765   void characterDataOldValue()(bool characterDataOldValue) {
1766     MutationObserverInit_characterDataOldValue_Set(this.handle, characterDataOldValue);
1767   }
1768   auto characterDataOldValue()() {
1769     return MutationObserverInit_characterDataOldValue_Get(this.handle);
1770   }
1771   void attributeFilter()(scope ref Sequence!(string) attributeFilter) {
1772     MutationObserverInit_attributeFilter_Set(this.handle, attributeFilter.handle);
1773   }
1774   auto attributeFilter()() {
1775     return Sequence!(string)(MutationObserverInit_attributeFilter_Get(this.handle));
1776   }
1777 }
1778 struct MutationRecord {
1779   nothrow:
1780   JsHandle handle;
1781   alias handle this;
1782   this(Handle h) {
1783     this.handle = JsHandle(h);
1784   }
1785   auto type()() {
1786     return MutationRecord_type_Get(this.handle);
1787   }
1788   auto target()() {
1789     return Node(MutationRecord_target_Get(this.handle));
1790   }
1791   auto addedNodes()() {
1792     return NodeList(MutationRecord_addedNodes_Get(this.handle));
1793   }
1794   auto removedNodes()() {
1795     return NodeList(MutationRecord_removedNodes_Get(this.handle));
1796   }
1797   auto previousSibling()() {
1798     return MutationRecord_previousSibling_Get(this.handle);
1799   }
1800   auto nextSibling()() {
1801     return MutationRecord_nextSibling_Get(this.handle);
1802   }
1803   auto attributeName()() {
1804     return MutationRecord_attributeName_Get(this.handle);
1805   }
1806   auto attributeNamespace()() {
1807     return MutationRecord_attributeNamespace_Get(this.handle);
1808   }
1809   auto oldValue()() {
1810     return MutationRecord_oldValue_Get(this.handle);
1811   }
1812 }
1813 struct NamedNodeMap {
1814   nothrow:
1815   JsHandle handle;
1816   alias handle this;
1817   this(Handle h) {
1818     this.handle = JsHandle(h);
1819   }
1820   auto length()() {
1821     return NamedNodeMap_length_Get(this.handle);
1822   }
1823   auto item()(uint index) {
1824     return NamedNodeMap_item_getter(this.handle, index);
1825   }
1826   auto getNamedItem()(string qualifiedName) {
1827     return NamedNodeMap_getNamedItem_getter(this.handle, qualifiedName);
1828   }
1829   auto getNamedItemNS(T0)(scope auto ref Optional!(T0) namespace, string localName) if (isTOrPointer!(T0, string)) {
1830     return NamedNodeMap_getNamedItemNS(this.handle, !namespace.empty, namespace.front, localName);
1831   }
1832   auto setNamedItem()(scope ref Attr attr) {
1833     return NamedNodeMap_setNamedItem(this.handle, attr._parent);
1834   }
1835   auto setNamedItemNS()(scope ref Attr attr) {
1836     return NamedNodeMap_setNamedItemNS(this.handle, attr._parent);
1837   }
1838   auto removeNamedItem()(string qualifiedName) {
1839     return Attr(NamedNodeMap_removeNamedItem(this.handle, qualifiedName));
1840   }
1841   auto removeNamedItemNS(T0)(scope auto ref Optional!(T0) namespace, string localName) if (isTOrPointer!(T0, string)) {
1842     return Attr(NamedNodeMap_removeNamedItemNS(this.handle, !namespace.empty, namespace.front, localName));
1843   }
1844 }
1845 struct Node {
1846   nothrow:
1847   spasm.bindings.dom.EventTarget _parent;
1848   alias _parent this;
1849   this(Handle h) {
1850     _parent = .EventTarget(h);
1851   }
1852   enum ushort ELEMENT_NODE = 1;
1853   enum ushort ATTRIBUTE_NODE = 2;
1854   enum ushort TEXT_NODE = 3;
1855   enum ushort CDATA_SECTION_NODE = 4;
1856   enum ushort ENTITY_REFERENCE_NODE = 5;
1857   enum ushort ENTITY_NODE = 6;
1858   enum ushort PROCESSING_INSTRUCTION_NODE = 7;
1859   enum ushort COMMENT_NODE = 8;
1860   enum ushort DOCUMENT_NODE = 9;
1861   enum ushort DOCUMENT_TYPE_NODE = 10;
1862   enum ushort DOCUMENT_FRAGMENT_NODE = 11;
1863   enum ushort NOTATION_NODE = 12;
1864   auto nodeType()() {
1865     return Node_nodeType_Get(this._parent);
1866   }
1867   auto nodeName()() {
1868     return Node_nodeName_Get(this._parent);
1869   }
1870   auto baseURI()() {
1871     return Node_baseURI_Get(this._parent);
1872   }
1873   auto isConnected()() {
1874     return Node_isConnected_Get(this._parent);
1875   }
1876   auto ownerDocument()() {
1877     return Node_ownerDocument_Get(this._parent);
1878   }
1879   auto getRootNode()(scope ref GetRootNodeOptions options) {
1880     return Node(Node_getRootNode(this._parent, options.handle));
1881   }
1882   auto getRootNode()() {
1883     return Node(Node_getRootNode_0(this._parent));
1884   }
1885   auto parentNode()() {
1886     return Node_parentNode_Get(this._parent);
1887   }
1888   auto parentElement()() {
1889     return Node_parentElement_Get(this._parent);
1890   }
1891   auto hasChildNodes()() {
1892     return Node_hasChildNodes(this._parent);
1893   }
1894   auto childNodes()() {
1895     return NodeList(Node_childNodes_Get(this._parent));
1896   }
1897   auto firstChild()() {
1898     return Node_firstChild_Get(this._parent);
1899   }
1900   auto lastChild()() {
1901     return Node_lastChild_Get(this._parent);
1902   }
1903   auto previousSibling()() {
1904     return Node_previousSibling_Get(this._parent);
1905   }
1906   auto nextSibling()() {
1907     return Node_nextSibling_Get(this._parent);
1908   }
1909   void nodeValue(T0)(scope auto ref Optional!(T0) nodeValue) if (isTOrPointer!(T0, string)) {
1910     Node_nodeValue_Set(this._parent, !nodeValue.empty, nodeValue.front);
1911   }
1912   auto nodeValue()() {
1913     return Node_nodeValue_Get(this._parent);
1914   }
1915   void textContent(T0)(scope auto ref Optional!(T0) textContent) if (isTOrPointer!(T0, string)) {
1916     Node_textContent_Set(this._parent, !textContent.empty, textContent.front);
1917   }
1918   auto textContent()() {
1919     return Node_textContent_Get(this._parent);
1920   }
1921   void normalize()() {
1922     Node_normalize(this._parent);
1923   }
1924   auto cloneNode()(bool deep /* = false */) {
1925     return Node(Node_cloneNode(this._parent, deep));
1926   }
1927   auto cloneNode()() {
1928     return Node(Node_cloneNode_0(this._parent));
1929   }
1930   auto isEqualNode(T0)(scope auto ref Optional!(T0) otherNode) if (isTOrPointer!(T0, Node)) {
1931     return Node_isEqualNode(this._parent, !otherNode.empty, otherNode.front._parent);
1932   }
1933   auto isSameNode(T0)(scope auto ref Optional!(T0) otherNode) if (isTOrPointer!(T0, Node)) {
1934     return Node_isSameNode(this._parent, !otherNode.empty, otherNode.front._parent);
1935   }
1936   enum ushort DOCUMENT_POSITION_DISCONNECTED = 0x01;
1937   enum ushort DOCUMENT_POSITION_PRECEDING = 0x02;
1938   enum ushort DOCUMENT_POSITION_FOLLOWING = 0x04;
1939   enum ushort DOCUMENT_POSITION_CONTAINS = 0x08;
1940   enum ushort DOCUMENT_POSITION_CONTAINED_BY = 0x10;
1941   enum ushort DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
1942   auto compareDocumentPosition()(scope ref Node other) {
1943     return Node_compareDocumentPosition(this._parent, other._parent);
1944   }
1945   auto contains(T0)(scope auto ref Optional!(T0) other) if (isTOrPointer!(T0, Node)) {
1946     return Node_contains(this._parent, !other.empty, other.front._parent);
1947   }
1948   auto lookupPrefix(T0)(scope auto ref Optional!(T0) namespace) if (isTOrPointer!(T0, string)) {
1949     return Node_lookupPrefix(this._parent, !namespace.empty, namespace.front);
1950   }
1951   auto lookupNamespaceURI(T0)(scope auto ref Optional!(T0) prefix) if (isTOrPointer!(T0, string)) {
1952     return Node_lookupNamespaceURI(this._parent, !prefix.empty, prefix.front);
1953   }
1954   auto isDefaultNamespace(T0)(scope auto ref Optional!(T0) namespace) if (isTOrPointer!(T0, string)) {
1955     return Node_isDefaultNamespace(this._parent, !namespace.empty, namespace.front);
1956   }
1957   auto insertBefore(T1)(scope ref Node node, scope auto ref Optional!(T1) child) if (isTOrPointer!(T1, Node)) {
1958     return Node(Node_insertBefore(this._parent, node._parent, !child.empty, child.front._parent));
1959   }
1960   auto appendChild()(scope ref Node node) {
1961     return Node(Node_appendChild(this._parent, node._parent));
1962   }
1963   auto replaceChild()(scope ref Node node, scope ref Node child) {
1964     return Node(Node_replaceChild(this._parent, node._parent, child._parent));
1965   }
1966   auto removeChild()(scope ref Node child) {
1967     return Node(Node_removeChild(this._parent, child._parent));
1968   }
1969 }
1970 struct NodeFilter {
1971   nothrow:
1972   JsHandle handle;
1973   alias handle this;
1974   this(Handle h) {
1975     this.handle = JsHandle(h);
1976   }
1977   enum ushort FILTER_ACCEPT = 1;
1978   enum ushort FILTER_REJECT = 2;
1979   enum ushort FILTER_SKIP = 3;
1980   enum uint SHOW_ALL = 0xFFFFFFFF;
1981   enum uint SHOW_ELEMENT = 0x1;
1982   enum uint SHOW_ATTRIBUTE = 0x2;
1983   enum uint SHOW_TEXT = 0x4;
1984   enum uint SHOW_CDATA_SECTION = 0x8;
1985   enum uint SHOW_ENTITY_REFERENCE = 0x10;
1986   enum uint SHOW_ENTITY = 0x20;
1987   enum uint SHOW_PROCESSING_INSTRUCTION = 0x40;
1988   enum uint SHOW_COMMENT = 0x80;
1989   enum uint SHOW_DOCUMENT = 0x100;
1990   enum uint SHOW_DOCUMENT_TYPE = 0x200;
1991   enum uint SHOW_DOCUMENT_FRAGMENT = 0x400;
1992   enum uint SHOW_NOTATION = 0x800;
1993   auto acceptNode()(scope ref Node node) {
1994     return NodeFilter_acceptNode(this.handle, node._parent);
1995   }
1996 }
1997 struct NodeIterator {
1998   nothrow:
1999   JsHandle handle;
2000   alias handle this;
2001   this(Handle h) {
2002     this.handle = JsHandle(h);
2003   }
2004   auto root()() {
2005     return Node(NodeIterator_root_Get(this.handle));
2006   }
2007   auto referenceNode()() {
2008     return Node(NodeIterator_referenceNode_Get(this.handle));
2009   }
2010   auto pointerBeforeReferenceNode()() {
2011     return NodeIterator_pointerBeforeReferenceNode_Get(this.handle);
2012   }
2013   auto whatToShow()() {
2014     return NodeIterator_whatToShow_Get(this.handle);
2015   }
2016   auto filter()() {
2017     return NodeIterator_filter_Get(this.handle);
2018   }
2019   auto nextNode()() {
2020     return NodeIterator_nextNode(this.handle);
2021   }
2022   auto previousNode()() {
2023     return NodeIterator_previousNode(this.handle);
2024   }
2025   void detach()() {
2026     NodeIterator_detach(this.handle);
2027   }
2028 }
2029 struct NodeList {
2030   nothrow:
2031   JsHandle handle;
2032   alias handle this;
2033   this(Handle h) {
2034     this.handle = JsHandle(h);
2035   }
2036   auto item()(uint index) {
2037     return NodeList_item_getter(this.handle, index);
2038   }
2039   auto length()() {
2040     return NodeList_length_Get(this.handle);
2041   }
2042 }
2043 struct ProcessingInstruction {
2044   nothrow:
2045   spasm.bindings.dom.CharacterData _parent;
2046   alias _parent this;
2047   this(Handle h) {
2048     _parent = .CharacterData(h);
2049   }
2050   auto target()() {
2051     return ProcessingInstruction_target_Get(this._parent);
2052   }
2053 }
2054 struct Range {
2055   nothrow:
2056   spasm.bindings.dom.AbstractRange _parent;
2057   alias _parent this;
2058   this(Handle h) {
2059     _parent = .AbstractRange(h);
2060   }
2061   auto commonAncestorContainer()() {
2062     return Node(Range_commonAncestorContainer_Get(this._parent));
2063   }
2064   void setStart()(scope ref Node node, uint offset) {
2065     Range_setStart(this._parent, node._parent, offset);
2066   }
2067   void setEnd()(scope ref Node node, uint offset) {
2068     Range_setEnd(this._parent, node._parent, offset);
2069   }
2070   void setStartBefore()(scope ref Node node) {
2071     Range_setStartBefore(this._parent, node._parent);
2072   }
2073   void setStartAfter()(scope ref Node node) {
2074     Range_setStartAfter(this._parent, node._parent);
2075   }
2076   void setEndBefore()(scope ref Node node) {
2077     Range_setEndBefore(this._parent, node._parent);
2078   }
2079   void setEndAfter()(scope ref Node node) {
2080     Range_setEndAfter(this._parent, node._parent);
2081   }
2082   void collapse()(bool toStart /* = false */) {
2083     Range_collapse(this._parent, toStart);
2084   }
2085   void collapse()() {
2086     Range_collapse_0(this._parent);
2087   }
2088   void selectNode()(scope ref Node node) {
2089     Range_selectNode(this._parent, node._parent);
2090   }
2091   void selectNodeContents()(scope ref Node node) {
2092     Range_selectNodeContents(this._parent, node._parent);
2093   }
2094   enum ushort START_TO_START = 0;
2095   enum ushort START_TO_END = 1;
2096   enum ushort END_TO_END = 2;
2097   enum ushort END_TO_START = 3;
2098   auto compareBoundaryPoints()(ushort how, scope ref Range sourceRange) {
2099     return Range_compareBoundaryPoints(this._parent, how, sourceRange._parent);
2100   }
2101   void deleteContents()() {
2102     Range_deleteContents(this._parent);
2103   }
2104   auto extractContents()() {
2105     return DocumentFragment(Range_extractContents(this._parent));
2106   }
2107   auto cloneContents()() {
2108     return DocumentFragment(Range_cloneContents(this._parent));
2109   }
2110   void insertNode()(scope ref Node node) {
2111     Range_insertNode(this._parent, node._parent);
2112   }
2113   void surroundContents()(scope ref Node newParent) {
2114     Range_surroundContents(this._parent, newParent._parent);
2115   }
2116   auto cloneRange()() {
2117     return Range(Range_cloneRange(this._parent));
2118   }
2119   void detach()() {
2120     Range_detach(this._parent);
2121   }
2122   auto isPointInRange()(scope ref Node node, uint offset) {
2123     return Range_isPointInRange(this._parent, node._parent, offset);
2124   }
2125   auto comparePoint()(scope ref Node node, uint offset) {
2126     return Range_comparePoint(this._parent, node._parent, offset);
2127   }
2128   auto intersectsNode()(scope ref Node node) {
2129     return Range_intersectsNode(this._parent, node._parent);
2130   }
2131   auto createContextualFragment()(string fragment) {
2132     return DocumentFragment(Range_createContextualFragment(this._parent, fragment));
2133   }
2134   auto getClientRects()() {
2135     return DOMRectList(Range_getClientRects(this._parent));
2136   }
2137   auto getBoundingClientRect()() {
2138     return DOMRect(Range_getBoundingClientRect(this._parent));
2139   }
2140 }
2141 struct ShadowRoot {
2142   nothrow:
2143   spasm.bindings.dom.DocumentFragment _parent;
2144   alias _parent this;
2145   this(Handle h) {
2146     _parent = .DocumentFragment(h);
2147   }
2148   auto mode()() {
2149     return ShadowRoot_mode_Get(this._parent);
2150   }
2151   auto host()() {
2152     return Element(ShadowRoot_host_Get(this._parent));
2153   }
2154   auto fullscreenElement()() {
2155     return DocumentOrShadowRoot_fullscreenElement_Get(this._parent);
2156   }
2157 }
2158 struct ShadowRootInit {
2159   nothrow:
2160   JsHandle handle;
2161   alias handle this;
2162   this(Handle h) {
2163     this.handle = JsHandle(h);
2164   }
2165   static auto create() {
2166     return ShadowRootInit(spasm_add__object());
2167   }
2168   void mode()(ShadowRootMode mode) {
2169     ShadowRootInit_mode_Set(this.handle, mode);
2170   }
2171   auto mode()() {
2172     return ShadowRootInit_mode_Get(this.handle);
2173   }
2174 }
2175 enum ShadowRootMode {
2176   open,
2177   closed
2178 }
2179 struct StaticRange {
2180   nothrow:
2181   spasm.bindings.dom.AbstractRange _parent;
2182   alias _parent this;
2183   this(Handle h) {
2184     _parent = .AbstractRange(h);
2185   }
2186 }
2187 struct Text {
2188   nothrow:
2189   spasm.bindings.dom.CharacterData _parent;
2190   alias _parent this;
2191   this(Handle h) {
2192     _parent = .CharacterData(h);
2193   }
2194   auto splitText()(uint offset) {
2195     return Text(Text_splitText(this._parent, offset));
2196   }
2197   auto wholeText()() {
2198     return Text_wholeText_Get(this._parent);
2199   }
2200   auto assignedSlot()() {
2201     return Slotable_assignedSlot_Get(this._parent);
2202   }
2203 }
2204 struct TreeWalker {
2205   nothrow:
2206   JsHandle handle;
2207   alias handle this;
2208   this(Handle h) {
2209     this.handle = JsHandle(h);
2210   }
2211   auto root()() {
2212     return Node(TreeWalker_root_Get(this.handle));
2213   }
2214   auto whatToShow()() {
2215     return TreeWalker_whatToShow_Get(this.handle);
2216   }
2217   auto filter()() {
2218     return TreeWalker_filter_Get(this.handle);
2219   }
2220   void currentNode()(scope ref Node currentNode) {
2221     TreeWalker_currentNode_Set(this.handle, currentNode.handle);
2222   }
2223   auto currentNode()() {
2224     return Node(TreeWalker_currentNode_Get(this.handle));
2225   }
2226   auto parentNode()() {
2227     return TreeWalker_parentNode(this.handle);
2228   }
2229   auto firstChild()() {
2230     return TreeWalker_firstChild(this.handle);
2231   }
2232   auto lastChild()() {
2233     return TreeWalker_lastChild(this.handle);
2234   }
2235   auto previousSibling()() {
2236     return TreeWalker_previousSibling(this.handle);
2237   }
2238   auto nextSibling()() {
2239     return TreeWalker_nextSibling(this.handle);
2240   }
2241   auto previousNode()() {
2242     return TreeWalker_previousNode(this.handle);
2243   }
2244   auto nextNode()() {
2245     return TreeWalker_nextNode(this.handle);
2246   }
2247 }
2248 struct XMLDocument {
2249   nothrow:
2250   spasm.bindings.dom.Document _parent;
2251   alias _parent this;
2252   this(Handle h) {
2253     _parent = .Document(h);
2254   }
2255 }
2256 
2257 
2258 extern (C) Handle AbortController_signal_Get(Handle);
2259 extern (C) void AbortController_abort(Handle);
2260 extern (C) bool AbortSignal_aborted_Get(Handle);
2261 extern (C) void AbortSignal_onabort_Set(Handle, EventHandler);
2262 extern (C) EventHandler AbortSignal_onabort_Get(Handle);
2263 extern (C) Handle AbstractRange_startContainer_Get(Handle);
2264 extern (C) uint AbstractRange_startOffset_Get(Handle);
2265 extern (C) Handle AbstractRange_endContainer_Get(Handle);
2266 extern (C) uint AbstractRange_endOffset_Get(Handle);
2267 extern (C) bool AbstractRange_collapsed_Get(Handle);
2268 extern (C) void AddEventListenerOptions_passive_Set(Handle, bool);
2269 extern (C) bool AddEventListenerOptions_passive_Get(Handle);
2270 extern (C) void AddEventListenerOptions_once_Set(Handle, bool);
2271 extern (C) bool AddEventListenerOptions_once_Get(Handle);
2272 extern (C) Optional!(string) Attr_namespaceURI_Get(Handle);
2273 extern (C) Optional!(string) Attr_prefix_Get(Handle);
2274 extern (C) string Attr_localName_Get(Handle);
2275 extern (C) string Attr_name_Get(Handle);
2276 extern (C) void Attr_value_Set(Handle, string);
2277 extern (C) string Attr_value_Get(Handle);
2278 extern (C) Optional!(Element) Attr_ownerElement_Get(Handle);
2279 extern (C) bool Attr_specified_Get(Handle);
2280 extern (C) void CharacterData_data_Set(Handle, string);
2281 extern (C) string CharacterData_data_Get(Handle);
2282 extern (C) uint CharacterData_length_Get(Handle);
2283 extern (C) string CharacterData_substringData(Handle, uint, uint);
2284 extern (C) void CharacterData_appendData(Handle, string);
2285 extern (C) void CharacterData_insertData(Handle, uint, string);
2286 extern (C) void CharacterData_deleteData(Handle, uint, uint);
2287 extern (C) void CharacterData_replaceData(Handle, uint, uint, string);
2288 extern (C) void ChildNode_before(Handle, scope ref SumType!(Node, string));
2289 extern (C) void ChildNode_after(Handle, scope ref SumType!(Node, string));
2290 extern (C) void ChildNode_replaceWith(Handle, scope ref SumType!(Node, string));
2291 extern (C) void ChildNode_remove(Handle);
2292 extern (C) Handle CustomEvent_detail_Get(Handle);
2293 extern (C) void CustomEvent_initCustomEvent(Handle, string, bool, bool, Handle);
2294 extern (C) void CustomEvent_initCustomEvent_0(Handle, string, bool, bool);
2295 extern (C) void CustomEvent_initCustomEvent_1(Handle, string, bool);
2296 extern (C) void CustomEvent_initCustomEvent_2(Handle, string);
2297 extern (C) void CustomEventInit_detail_Set(Handle, Handle);
2298 extern (C) Handle CustomEventInit_detail_Get(Handle);
2299 extern (C) Handle DOMImplementation_createDocumentType(Handle, string, string, string);
2300 extern (C) Handle DOMImplementation_createDocument(Handle, bool, string, string, bool, Handle);
2301 extern (C) Handle DOMImplementation_createDocument_0(Handle, bool, string, string);
2302 extern (C) Handle DOMImplementation_createHTMLDocument(Handle, string);
2303 extern (C) Handle DOMImplementation_createHTMLDocument_0(Handle);
2304 extern (C) bool DOMImplementation_hasFeature(Handle);
2305 extern (C) uint DOMTokenList_length_Get(Handle);
2306 extern (C) Optional!(string) DOMTokenList_item_getter(Handle, uint);
2307 extern (C) bool DOMTokenList_contains(Handle, string);
2308 extern (C) void DOMTokenList_add(Handle, string);
2309 extern (C) void DOMTokenList_remove(Handle, string);
2310 extern (C) bool DOMTokenList_toggle(Handle, string, bool);
2311 extern (C) bool DOMTokenList_toggle_0(Handle, string);
2312 extern (C) bool DOMTokenList_replace(Handle, string, string);
2313 extern (C) bool DOMTokenList_supports(Handle, string);
2314 extern (C) void DOMTokenList_value_Set(Handle, string);
2315 extern (C) string DOMTokenList_value_Get(Handle);
2316 extern (C) Handle Document_implementation_Get(Handle);
2317 extern (C) string Document_URL_Get(Handle);
2318 extern (C) string Document_documentURI_Get(Handle);
2319 extern (C) string Document_origin_Get(Handle);
2320 extern (C) string Document_compatMode_Get(Handle);
2321 extern (C) string Document_characterSet_Get(Handle);
2322 extern (C) string Document_charset_Get(Handle);
2323 extern (C) string Document_inputEncoding_Get(Handle);
2324 extern (C) string Document_contentType_Get(Handle);
2325 extern (C) Optional!(DocumentType) Document_doctype_Get(Handle);
2326 extern (C) Optional!(Element) Document_documentElement_Get(Handle);
2327 extern (C) Handle Document_getElementsByTagName(Handle, string);
2328 extern (C) Handle Document_getElementsByTagNameNS(Handle, bool, string, string);
2329 extern (C) Handle Document_getElementsByClassName(Handle, string);
2330 extern (C) Handle Document_createElement(Handle, string, scope ref SumType!(string, ElementCreationOptions));
2331 extern (C) Handle Document_createElement_0(Handle, string);
2332 extern (C) Handle Document_createElementNS(Handle, bool, string, string, scope ref SumType!(string, ElementCreationOptions));
2333 extern (C) Handle Document_createElementNS_0(Handle, bool, string, string);
2334 extern (C) Handle Document_createDocumentFragment(Handle);
2335 extern (C) Handle Document_createTextNode(Handle, string);
2336 extern (C) Handle Document_createCDATASection(Handle, string);
2337 extern (C) Handle Document_createComment(Handle, string);
2338 extern (C) Handle Document_createProcessingInstruction(Handle, string, string);
2339 extern (C) Handle Document_importNode(Handle, Handle, bool);
2340 extern (C) Handle Document_importNode_0(Handle, Handle);
2341 extern (C) Handle Document_adoptNode(Handle, Handle);
2342 extern (C) Handle Document_createAttribute(Handle, string);
2343 extern (C) Handle Document_createAttributeNS(Handle, bool, string, string);
2344 extern (C) Handle Document_createEvent(Handle, string);
2345 extern (C) Handle Document_createRange(Handle);
2346 extern (C) Handle Document_createNodeIterator(Handle, Handle, uint, bool, Handle);
2347 extern (C) Handle Document_createNodeIterator_0(Handle, Handle, uint);
2348 extern (C) Handle Document_createNodeIterator_1(Handle, Handle);
2349 extern (C) Handle Document_createTreeWalker(Handle, Handle, uint, bool, Handle);
2350 extern (C) Handle Document_createTreeWalker_0(Handle, Handle, uint);
2351 extern (C) Handle Document_createTreeWalker_1(Handle, Handle);
2352 extern (C) Optional!(Element) Document_elementFromPoint(Handle, double, double);
2353 extern (C) Handle Document_elementsFromPoint(Handle, double, double);
2354 extern (C) Optional!(CaretPosition) Document_caretPositionFromPoint(Handle, double, double);
2355 extern (C) Optional!(Element) Document_scrollingElement_Get(Handle);
2356 extern (C) Optional!(Location) Document_location_Get(Handle);
2357 extern (C) void Document_domain_Set(Handle, string);
2358 extern (C) string Document_domain_Get(Handle);
2359 extern (C) string Document_referrer_Get(Handle);
2360 extern (C) void Document_cookie_Set(Handle, string);
2361 extern (C) string Document_cookie_Get(Handle);
2362 extern (C) string Document_lastModified_Get(Handle);
2363 extern (C) DocumentReadyState Document_readyState_Get(Handle);
2364 extern (C) void Document_title_Set(Handle, string);
2365 extern (C) string Document_title_Get(Handle);
2366 extern (C) void Document_dir_Set(Handle, string);
2367 extern (C) string Document_dir_Get(Handle);
2368 extern (C) void Document_body_Set(Handle, bool, Handle);
2369 extern (C) Optional!(HTMLElement) Document_body_Get(Handle);
2370 extern (C) Optional!(HTMLHeadElement) Document_head_Get(Handle);
2371 extern (C) Handle Document_images_Get(Handle);
2372 extern (C) Handle Document_embeds_Get(Handle);
2373 extern (C) Handle Document_plugins_Get(Handle);
2374 extern (C) Handle Document_links_Get(Handle);
2375 extern (C) Handle Document_forms_Get(Handle);
2376 extern (C) Handle Document_scripts_Get(Handle);
2377 extern (C) Handle Document_getElementsByName(Handle, string);
2378 extern (C) Optional!(HTMLOrSVGScriptElement) Document_currentScript_Get(Handle);
2379 extern (C) Handle Document_open__string_string(Handle, string, string);
2380 extern (C) Handle Document_open_0(Handle, string);
2381 extern (C) Handle Document_open_1(Handle);
2382 extern (C) Optional!(Window) Document_open__string_string_string(Handle, string, string, string);
2383 extern (C) void Document_close(Handle);
2384 extern (C) void Document_write(Handle, string);
2385 extern (C) void Document_writeln(Handle, string);
2386 extern (C) Optional!(Window) Document_defaultView_Get(Handle);
2387 extern (C) Optional!(Element) Document_activeElement_Get(Handle);
2388 extern (C) bool Document_hasFocus(Handle);
2389 extern (C) void Document_designMode_Set(Handle, string);
2390 extern (C) string Document_designMode_Get(Handle);
2391 extern (C) bool Document_execCommand(Handle, string, bool, string);
2392 extern (C) bool Document_execCommand_0(Handle, string, bool);
2393 extern (C) bool Document_execCommand_1(Handle, string);
2394 extern (C) bool Document_queryCommandEnabled(Handle, string);
2395 extern (C) bool Document_queryCommandIndeterm(Handle, string);
2396 extern (C) bool Document_queryCommandState(Handle, string);
2397 extern (C) bool Document_queryCommandSupported(Handle, string);
2398 extern (C) string Document_queryCommandValue(Handle, string);
2399 extern (C) void Document_onreadystatechange_Set(Handle, EventHandler);
2400 extern (C) EventHandler Document_onreadystatechange_Get(Handle);
2401 extern (C) void Document_fgColor_Set(Handle, string);
2402 extern (C) string Document_fgColor_Get(Handle);
2403 extern (C) void Document_linkColor_Set(Handle, string);
2404 extern (C) string Document_linkColor_Get(Handle);
2405 extern (C) void Document_vlinkColor_Set(Handle, string);
2406 extern (C) string Document_vlinkColor_Get(Handle);
2407 extern (C) void Document_alinkColor_Set(Handle, string);
2408 extern (C) string Document_alinkColor_Get(Handle);
2409 extern (C) void Document_bgColor_Set(Handle, string);
2410 extern (C) string Document_bgColor_Get(Handle);
2411 extern (C) Handle Document_anchors_Get(Handle);
2412 extern (C) Handle Document_applets_Get(Handle);
2413 extern (C) void Document_clear(Handle);
2414 extern (C) void Document_captureEvents(Handle);
2415 extern (C) void Document_releaseEvents(Handle);
2416 extern (C) Handle Document_all_Get(Handle);
2417 extern (C) bool Document_hidden_Get(Handle);
2418 extern (C) VisibilityState Document_visibilityState_Get(Handle);
2419 extern (C) void Document_onvisibilitychange_Set(Handle, EventHandler);
2420 extern (C) EventHandler Document_onvisibilitychange_Get(Handle);
2421 extern (C) bool Document_fullscreenEnabled_Get(Handle);
2422 extern (C) bool Document_fullscreen_Get(Handle);
2423 extern (C) Handle Document_exitFullscreen(Handle);
2424 extern (C) void Document_onfullscreenchange_Set(Handle, EventHandler);
2425 extern (C) EventHandler Document_onfullscreenchange_Get(Handle);
2426 extern (C) void Document_onfullscreenerror_Set(Handle, EventHandler);
2427 extern (C) EventHandler Document_onfullscreenerror_Get(Handle);
2428 extern (C) Optional!(SVGSVGElement) Document_rootElement_Get(Handle);
2429 extern (C) Handle Document_styleSheets_Get(Handle);
2430 extern (C) Optional!(Element) DocumentOrShadowRoot_fullscreenElement_Get(Handle);
2431 extern (C) string DocumentType_name_Get(Handle);
2432 extern (C) string DocumentType_publicId_Get(Handle);
2433 extern (C) string DocumentType_systemId_Get(Handle);
2434 extern (C) Optional!(string) Element_namespaceURI_Get(Handle);
2435 extern (C) Optional!(string) Element_prefix_Get(Handle);
2436 extern (C) string Element_localName_Get(Handle);
2437 extern (C) string Element_tagName_Get(Handle);
2438 extern (C) void Element_id_Set(Handle, string);
2439 extern (C) string Element_id_Get(Handle);
2440 extern (C) void Element_className_Set(Handle, string);
2441 extern (C) string Element_className_Get(Handle);
2442 extern (C) Handle Element_classList_Get(Handle);
2443 extern (C) void Element_slot_Set(Handle, string);
2444 extern (C) string Element_slot_Get(Handle);
2445 extern (C) bool Element_hasAttributes(Handle);
2446 extern (C) Handle Element_attributes_Get(Handle);
2447 extern (C) Handle Element_getAttributeNames(Handle);
2448 extern (C) Optional!(string) Element_getAttribute(Handle, string);
2449 extern (C) Optional!(string) Element_getAttributeNS(Handle, bool, string, string);
2450 extern (C) void Element_setAttribute(Handle, string, string);
2451 extern (C) void Element_setAttributeNS(Handle, bool, string, string, string);
2452 extern (C) void Element_removeAttribute(Handle, string);
2453 extern (C) void Element_removeAttributeNS(Handle, bool, string, string);
2454 extern (C) bool Element_toggleAttribute(Handle, string, bool);
2455 extern (C) bool Element_toggleAttribute_0(Handle, string);
2456 extern (C) bool Element_hasAttribute(Handle, string);
2457 extern (C) bool Element_hasAttributeNS(Handle, bool, string, string);
2458 extern (C) Optional!(Attr) Element_getAttributeNode(Handle, string);
2459 extern (C) Optional!(Attr) Element_getAttributeNodeNS(Handle, bool, string, string);
2460 extern (C) Optional!(Attr) Element_setAttributeNode(Handle, Handle);
2461 extern (C) Optional!(Attr) Element_setAttributeNodeNS(Handle, Handle);
2462 extern (C) Handle Element_removeAttributeNode(Handle, Handle);
2463 extern (C) Handle Element_attachShadow(Handle, Handle);
2464 extern (C) Optional!(ShadowRoot) Element_shadowRoot_Get(Handle);
2465 extern (C) Optional!(Element) Element_closest(Handle, string);
2466 extern (C) bool Element_matches(Handle, string);
2467 extern (C) bool Element_webkitMatchesSelector(Handle, string);
2468 extern (C) Handle Element_getElementsByTagName(Handle, string);
2469 extern (C) Handle Element_getElementsByTagNameNS(Handle, bool, string, string);
2470 extern (C) Handle Element_getElementsByClassName(Handle, string);
2471 extern (C) Optional!(Element) Element_insertAdjacentElement(Handle, string, Handle);
2472 extern (C) void Element_insertAdjacentText(Handle, string, string);
2473 extern (C) void Element_innerHTML_Set(Handle, string);
2474 extern (C) string Element_innerHTML_Get(Handle);
2475 extern (C) void Element_outerHTML_Set(Handle, string);
2476 extern (C) string Element_outerHTML_Get(Handle);
2477 extern (C) void Element_insertAdjacentHTML(Handle, string, string);
2478 extern (C) Handle Element_getClientRects(Handle);
2479 extern (C) Handle Element_getBoundingClientRect(Handle);
2480 extern (C) void Element_scrollIntoView(Handle, scope ref SumType!(bool, ScrollIntoViewOptions));
2481 extern (C) void Element_scrollIntoView_0(Handle);
2482 extern (C) void Element_scroll__Handle(Handle, Handle);
2483 extern (C) void Element_scroll_0(Handle);
2484 extern (C) void Element_scroll__double_double(Handle, double, double);
2485 extern (C) void Element_scrollTo__Handle(Handle, Handle);
2486 extern (C) void Element_scrollTo_0(Handle);
2487 extern (C) void Element_scrollTo__double_double(Handle, double, double);
2488 extern (C) void Element_scrollBy__Handle(Handle, Handle);
2489 extern (C) void Element_scrollBy_0(Handle);
2490 extern (C) void Element_scrollBy__double_double(Handle, double, double);
2491 extern (C) void Element_scrollTop_Set(Handle, double);
2492 extern (C) double Element_scrollTop_Get(Handle);
2493 extern (C) void Element_scrollLeft_Set(Handle, double);
2494 extern (C) double Element_scrollLeft_Get(Handle);
2495 extern (C) int Element_scrollWidth_Get(Handle);
2496 extern (C) int Element_scrollHeight_Get(Handle);
2497 extern (C) int Element_clientTop_Get(Handle);
2498 extern (C) int Element_clientLeft_Get(Handle);
2499 extern (C) int Element_clientWidth_Get(Handle);
2500 extern (C) int Element_clientHeight_Get(Handle);
2501 extern (C) void Element_setPointerCapture(Handle, int);
2502 extern (C) void Element_releasePointerCapture(Handle, int);
2503 extern (C) bool Element_hasPointerCapture(Handle, int);
2504 extern (C) Handle Element_requestFullscreen(Handle, Handle);
2505 extern (C) Handle Element_requestFullscreen_0(Handle);
2506 extern (C) void Element_onfullscreenchange_Set(Handle, EventHandler);
2507 extern (C) EventHandler Element_onfullscreenchange_Get(Handle);
2508 extern (C) void Element_onfullscreenerror_Set(Handle, EventHandler);
2509 extern (C) EventHandler Element_onfullscreenerror_Get(Handle);
2510 extern (C) Optional!(CSSPseudoElement) Element_pseudo(Handle, string);
2511 extern (C) void ElementCreationOptions_is_Set(Handle, string);
2512 extern (C) string ElementCreationOptions_is_Get(Handle);
2513 extern (C) string Event_type_Get(Handle);
2514 extern (C) Optional!(EventTarget) Event_target_Get(Handle);
2515 extern (C) Optional!(EventTarget) Event_srcElement_Get(Handle);
2516 extern (C) Optional!(EventTarget) Event_currentTarget_Get(Handle);
2517 extern (C) Handle Event_composedPath(Handle);
2518 extern (C) ushort Event_eventPhase_Get(Handle);
2519 extern (C) void Event_stopPropagation(Handle);
2520 extern (C) void Event_cancelBubble_Set(Handle, bool);
2521 extern (C) bool Event_cancelBubble_Get(Handle);
2522 extern (C) void Event_stopImmediatePropagation(Handle);
2523 extern (C) bool Event_bubbles_Get(Handle);
2524 extern (C) bool Event_cancelable_Get(Handle);
2525 extern (C) void Event_returnValue_Set(Handle, bool);
2526 extern (C) bool Event_returnValue_Get(Handle);
2527 extern (C) void Event_preventDefault(Handle);
2528 extern (C) bool Event_defaultPrevented_Get(Handle);
2529 extern (C) bool Event_composed_Get(Handle);
2530 extern (C) bool Event_isTrusted_Get(Handle);
2531 extern (C) double Event_timeStamp_Get(Handle);
2532 extern (C) void Event_initEvent(Handle, string, bool, bool);
2533 extern (C) void Event_initEvent_0(Handle, string, bool);
2534 extern (C) void Event_initEvent_1(Handle, string);
2535 extern (C) void EventInit_bubbles_Set(Handle, bool);
2536 extern (C) bool EventInit_bubbles_Get(Handle);
2537 extern (C) void EventInit_cancelable_Set(Handle, bool);
2538 extern (C) bool EventInit_cancelable_Get(Handle);
2539 extern (C) void EventInit_composed_Set(Handle, bool);
2540 extern (C) bool EventInit_composed_Get(Handle);
2541 extern (C) void EventListenerOptions_capture_Set(Handle, bool);
2542 extern (C) bool EventListenerOptions_capture_Get(Handle);
2543 extern (C) void EventTarget_addEventListener(Handle, string, EventListener, scope ref SumType!(AddEventListenerOptions, bool));
2544 extern (C) void EventTarget_addEventListener_0(Handle, string, EventListener);
2545 extern (C) void EventTarget_removeEventListener(Handle, string, EventListener, scope ref SumType!(EventListenerOptions, bool));
2546 extern (C) void EventTarget_removeEventListener_0(Handle, string, EventListener);
2547 extern (C) bool EventTarget_dispatchEvent(Handle, Handle);
2548 extern (C) void GetRootNodeOptions_composed_Set(Handle, bool);
2549 extern (C) bool GetRootNodeOptions_composed_Get(Handle);
2550 extern (C) uint HTMLCollection_length_Get(Handle);
2551 extern (C) Optional!(Element) HTMLCollection_item_getter(Handle, uint);
2552 extern (C) Optional!(Element) HTMLCollection_namedItem_getter(Handle, string);
2553 extern (C) void MutationObserver_observe(Handle, Handle, Handle);
2554 extern (C) void MutationObserver_observe_0(Handle, Handle);
2555 extern (C) void MutationObserver_disconnect(Handle);
2556 extern (C) Handle MutationObserver_takeRecords(Handle);
2557 extern (C) void MutationObserverInit_childList_Set(Handle, bool);
2558 extern (C) bool MutationObserverInit_childList_Get(Handle);
2559 extern (C) void MutationObserverInit_attributes_Set(Handle, bool);
2560 extern (C) bool MutationObserverInit_attributes_Get(Handle);
2561 extern (C) void MutationObserverInit_characterData_Set(Handle, bool);
2562 extern (C) bool MutationObserverInit_characterData_Get(Handle);
2563 extern (C) void MutationObserverInit_subtree_Set(Handle, bool);
2564 extern (C) bool MutationObserverInit_subtree_Get(Handle);
2565 extern (C) void MutationObserverInit_attributeOldValue_Set(Handle, bool);
2566 extern (C) bool MutationObserverInit_attributeOldValue_Get(Handle);
2567 extern (C) void MutationObserverInit_characterDataOldValue_Set(Handle, bool);
2568 extern (C) bool MutationObserverInit_characterDataOldValue_Get(Handle);
2569 extern (C) void MutationObserverInit_attributeFilter_Set(Handle, Handle);
2570 extern (C) Handle MutationObserverInit_attributeFilter_Get(Handle);
2571 extern (C) string MutationRecord_type_Get(Handle);
2572 extern (C) Handle MutationRecord_target_Get(Handle);
2573 extern (C) Handle MutationRecord_addedNodes_Get(Handle);
2574 extern (C) Handle MutationRecord_removedNodes_Get(Handle);
2575 extern (C) Optional!(Node) MutationRecord_previousSibling_Get(Handle);
2576 extern (C) Optional!(Node) MutationRecord_nextSibling_Get(Handle);
2577 extern (C) Optional!(string) MutationRecord_attributeName_Get(Handle);
2578 extern (C) Optional!(string) MutationRecord_attributeNamespace_Get(Handle);
2579 extern (C) Optional!(string) MutationRecord_oldValue_Get(Handle);
2580 extern (C) uint NamedNodeMap_length_Get(Handle);
2581 extern (C) Optional!(Attr) NamedNodeMap_item_getter(Handle, uint);
2582 extern (C) Optional!(Attr) NamedNodeMap_getNamedItem_getter(Handle, string);
2583 extern (C) Optional!(Attr) NamedNodeMap_getNamedItemNS(Handle, bool, string, string);
2584 extern (C) Optional!(Attr) NamedNodeMap_setNamedItem(Handle, Handle);
2585 extern (C) Optional!(Attr) NamedNodeMap_setNamedItemNS(Handle, Handle);
2586 extern (C) Handle NamedNodeMap_removeNamedItem(Handle, string);
2587 extern (C) Handle NamedNodeMap_removeNamedItemNS(Handle, bool, string, string);
2588 extern (C) ushort Node_nodeType_Get(Handle);
2589 extern (C) string Node_nodeName_Get(Handle);
2590 extern (C) string Node_baseURI_Get(Handle);
2591 extern (C) bool Node_isConnected_Get(Handle);
2592 extern (C) Optional!(Document) Node_ownerDocument_Get(Handle);
2593 extern (C) Handle Node_getRootNode(Handle, Handle);
2594 extern (C) Handle Node_getRootNode_0(Handle);
2595 extern (C) Optional!(Node) Node_parentNode_Get(Handle);
2596 extern (C) Optional!(Element) Node_parentElement_Get(Handle);
2597 extern (C) bool Node_hasChildNodes(Handle);
2598 extern (C) Handle Node_childNodes_Get(Handle);
2599 extern (C) Optional!(Node) Node_firstChild_Get(Handle);
2600 extern (C) Optional!(Node) Node_lastChild_Get(Handle);
2601 extern (C) Optional!(Node) Node_previousSibling_Get(Handle);
2602 extern (C) Optional!(Node) Node_nextSibling_Get(Handle);
2603 extern (C) void Node_nodeValue_Set(Handle, bool, string);
2604 extern (C) Optional!(string) Node_nodeValue_Get(Handle);
2605 extern (C) void Node_textContent_Set(Handle, bool, string);
2606 extern (C) Optional!(string) Node_textContent_Get(Handle);
2607 extern (C) void Node_normalize(Handle);
2608 extern (C) Handle Node_cloneNode(Handle, bool);
2609 extern (C) Handle Node_cloneNode_0(Handle);
2610 extern (C) bool Node_isEqualNode(Handle, bool, Handle);
2611 extern (C) bool Node_isSameNode(Handle, bool, Handle);
2612 extern (C) ushort Node_compareDocumentPosition(Handle, Handle);
2613 extern (C) bool Node_contains(Handle, bool, Handle);
2614 extern (C) Optional!(string) Node_lookupPrefix(Handle, bool, string);
2615 extern (C) Optional!(string) Node_lookupNamespaceURI(Handle, bool, string);
2616 extern (C) bool Node_isDefaultNamespace(Handle, bool, string);
2617 extern (C) Handle Node_insertBefore(Handle, Handle, bool, Handle);
2618 extern (C) Handle Node_appendChild(Handle, Handle);
2619 extern (C) Handle Node_replaceChild(Handle, Handle, Handle);
2620 extern (C) Handle Node_removeChild(Handle, Handle);
2621 extern (C) ushort NodeFilter_acceptNode(Handle, Handle);
2622 extern (C) Handle NodeIterator_root_Get(Handle);
2623 extern (C) Handle NodeIterator_referenceNode_Get(Handle);
2624 extern (C) bool NodeIterator_pointerBeforeReferenceNode_Get(Handle);
2625 extern (C) uint NodeIterator_whatToShow_Get(Handle);
2626 extern (C) Optional!(NodeFilter) NodeIterator_filter_Get(Handle);
2627 extern (C) Optional!(Node) NodeIterator_nextNode(Handle);
2628 extern (C) Optional!(Node) NodeIterator_previousNode(Handle);
2629 extern (C) void NodeIterator_detach(Handle);
2630 extern (C) Optional!(Node) NodeList_item_getter(Handle, uint);
2631 extern (C) uint NodeList_length_Get(Handle);
2632 extern (C) Optional!(Element) NonDocumentTypeChildNode_previousElementSibling_Get(Handle);
2633 extern (C) Optional!(Element) NonDocumentTypeChildNode_nextElementSibling_Get(Handle);
2634 extern (C) Optional!(Element) NonElementParentNode_getElementById(Handle, string);
2635 extern (C) Handle ParentNode_children_Get(Handle);
2636 extern (C) Optional!(Element) ParentNode_firstElementChild_Get(Handle);
2637 extern (C) Optional!(Element) ParentNode_lastElementChild_Get(Handle);
2638 extern (C) uint ParentNode_childElementCount_Get(Handle);
2639 extern (C) void ParentNode_prepend(Handle, scope ref SumType!(Node, string));
2640 extern (C) void ParentNode_append(Handle, scope ref SumType!(Node, string));
2641 extern (C) Optional!(Element) ParentNode_querySelector(Handle, string);
2642 extern (C) Handle ParentNode_querySelectorAll(Handle, string);
2643 extern (C) string ProcessingInstruction_target_Get(Handle);
2644 extern (C) Handle Range_commonAncestorContainer_Get(Handle);
2645 extern (C) void Range_setStart(Handle, Handle, uint);
2646 extern (C) void Range_setEnd(Handle, Handle, uint);
2647 extern (C) void Range_setStartBefore(Handle, Handle);
2648 extern (C) void Range_setStartAfter(Handle, Handle);
2649 extern (C) void Range_setEndBefore(Handle, Handle);
2650 extern (C) void Range_setEndAfter(Handle, Handle);
2651 extern (C) void Range_collapse(Handle, bool);
2652 extern (C) void Range_collapse_0(Handle);
2653 extern (C) void Range_selectNode(Handle, Handle);
2654 extern (C) void Range_selectNodeContents(Handle, Handle);
2655 extern (C) short Range_compareBoundaryPoints(Handle, ushort, Handle);
2656 extern (C) void Range_deleteContents(Handle);
2657 extern (C) Handle Range_extractContents(Handle);
2658 extern (C) Handle Range_cloneContents(Handle);
2659 extern (C) void Range_insertNode(Handle, Handle);
2660 extern (C) void Range_surroundContents(Handle, Handle);
2661 extern (C) Handle Range_cloneRange(Handle);
2662 extern (C) void Range_detach(Handle);
2663 extern (C) bool Range_isPointInRange(Handle, Handle, uint);
2664 extern (C) short Range_comparePoint(Handle, Handle, uint);
2665 extern (C) bool Range_intersectsNode(Handle, Handle);
2666 extern (C) Handle Range_createContextualFragment(Handle, string);
2667 extern (C) Handle Range_getClientRects(Handle);
2668 extern (C) Handle Range_getBoundingClientRect(Handle);
2669 extern (C) ShadowRootMode ShadowRoot_mode_Get(Handle);
2670 extern (C) Handle ShadowRoot_host_Get(Handle);
2671 extern (C) void ShadowRootInit_mode_Set(Handle, ShadowRootMode);
2672 extern (C) ShadowRootMode ShadowRootInit_mode_Get(Handle);
2673 extern (C) Optional!(HTMLSlotElement) Slotable_assignedSlot_Get(Handle);
2674 extern (C) Handle Text_splitText(Handle, uint);
2675 extern (C) string Text_wholeText_Get(Handle);
2676 extern (C) Handle TreeWalker_root_Get(Handle);
2677 extern (C) uint TreeWalker_whatToShow_Get(Handle);
2678 extern (C) Optional!(NodeFilter) TreeWalker_filter_Get(Handle);
2679 extern (C) void TreeWalker_currentNode_Set(Handle, Handle);
2680 extern (C) Handle TreeWalker_currentNode_Get(Handle);
2681 extern (C) Optional!(Node) TreeWalker_parentNode(Handle);
2682 extern (C) Optional!(Node) TreeWalker_firstChild(Handle);
2683 extern (C) Optional!(Node) TreeWalker_lastChild(Handle);
2684 extern (C) Optional!(Node) TreeWalker_previousSibling(Handle);
2685 extern (C) Optional!(Node) TreeWalker_nextSibling(Handle);
2686 extern (C) Optional!(Node) TreeWalker_previousNode(Handle);
2687 extern (C) Optional!(Node) TreeWalker_nextNode(Handle);