7 ownerDoucment: null | Document,
9 toString: (this: Comment) => String
18 toString: (this: DOMText) => String,
27 type DOMNode := DOMText | DOMElement | DocumentFragment
28 type DOMChild := DOMText | DOMElement
33 dataset: Object<String, Any>,
34 childNodes: Array<DOMChild>,
35 parentNode: null | DOMElement,
36 style: Object<String, String>,
39 ownerDoucment: null | Document,
40 namespaceURI: null | String,
42 appendChild: (this: DOMElement, child: DOMChild) => DOMChild,
48 removeChild: (this: DOMElement, child: DOMChild) => DOMChild,
52 needle: DOMChild | null | undefined
54 addEventListener: addEventListener,
55 dispatchEvent: dispatchEvent,
57 toString: (this: DOMElement) => String,
58 getElementsByClassName: (
61 ) => Array<DOMElement>,
62 getElementsByTagName: (
65 ) => Array<DOMElement>,
68 type DocumentFragment := {
69 childNodes: Array<DOMChild>,
70 parentNode: null | DOMElement,
71 type: "DocumentFragment",
73 nodeName: "#document-fragment",
74 ownerDoucment: Document | null,
76 appendChild: (this: DocumentFragment, child: DOMChild),
78 (this: DocumentFragment, elem: DOMChild, needle: DOMChild),
79 removeChild: (this: DocumentFragment, child: DOMChild),
80 toString: (this: DocumentFragment) => String
85 childNodes: Array<DOMChild>,
86 documentElement: DOMElement,
89 createComment: (this: Document, data: String) => Commment,
90 createTextNode: (this: Document, value: String) => DOMText,
91 createElement: (this: Document, tagName: String) => DOMElement,
94 namespace: String | null,
97 createDocumentFragment: (this: Document) => DocumentFragment,
98 createEvent: () => Event,
102 ) => null | DOMElement,
103 getElementsByClassName: (
106 ) => Array<DOMElement>,
107 getElementsByTagName: (
110 ) => Array<DOMElement>
126 type addEventListener := (
132 type dispatchEvent := (
137 min-document/event/add-event-listener := addEventListener
139 min-document/event/dispatch-event := dispatchEvent
141 min-document/document := () => Document
143 min-document/dom-element :=
144 (tagName: String, owner?: Document, namespace?: String | null) => DOMElement
146 min-document/dom-fragment :=
147 (owner?: Document) => DocumentFragment
149 min-document/dom-text :=
150 (value: String, owner?: Document) => DOMText
152 min-document/event := () => Event
154 min-document/serialize := (DOMElement) => String
156 min-document := Document