123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- type Comment := {
- data: String,
- length: Number,
- nodeName: "#comment",
- nodeType: 8,
- nodeValue: String,
- ownerDoucment: null | Document,
- toString: (this: Comment) => String
- }
- type DOMText := {
- data: String,
- type: "DOMTextNode",
- length: Number,
- nodeType: 3,
- toString: (this: DOMText) => String,
- replaceChild: (
- this: DOMText,
- index: Number,
- length: Number,
- value: String
- ) => void
- }
- type DOMNode := DOMText | DOMElement | DocumentFragment
- type DOMChild := DOMText | DOMElement
- type DOMElement := {
- tagName: String,
- className: String,
- dataset: Object<String, Any>,
- childNodes: Array<DOMChild>,
- parentNode: null | DOMElement,
- style: Object<String, String>,
- type: "DOMElement",
- nodeType: 1,
- ownerDoucment: null | Document,
- namespaceURI: null | String,
- appendChild: (this: DOMElement, child: DOMChild) => DOMChild,
- replaceChild:(
- this: DOMElement,
- elem: DOMChild,
- needle: DOMChild
- ) => DOMChild,
- removeChild: (this: DOMElement, child: DOMChild) => DOMChild,
- insertBefore: (
- this: DOMElement,
- elem: DOMChild,
- needle: DOMChild | null | undefined
- ) => DOMChild,
- addEventListener: addEventListener,
- dispatchEvent: dispatchEvent,
- focus: () => void,
- toString: (this: DOMElement) => String,
- getElementsByClassName: (
- this: DOMElement,
- className: String
- ) => Array<DOMElement>,
- getElementsByTagName: (
- this: DOMElement,
- tagName: String
- ) => Array<DOMElement>,
- }
- type DocumentFragment := {
- childNodes: Array<DOMChild>,
- parentNode: null | DOMElement,
- type: "DocumentFragment",
- nodeType: 11,
- nodeName: "#document-fragment",
- ownerDoucment: Document | null,
- appendChild: (this: DocumentFragment, child: DOMChild),
- replaceChild:
- (this: DocumentFragment, elem: DOMChild, needle: DOMChild),
- removeChild: (this: DocumentFragment, child: DOMChild),
- toString: (this: DocumentFragment) => String
- }
- type Document := {
- body: DOMElement,
- childNodes: Array<DOMChild>,
- documentElement: DOMElement,
- nodeType: 9,
- createComment: (this: Document, data: String) => Commment,
- createTextNode: (this: Document, value: String) => DOMText,
- createElement: (this: Document, tagName: String) => DOMElement,
- createElementNS: (
- this: Document,
- namespace: String | null,
- tagName: String
- ) => DOMElement,
- createDocumentFragment: (this: Document) => DocumentFragment,
- createEvent: () => Event,
- getElementById: (
- this: Document,
- id: String,
- ) => null | DOMElement,
- getElementsByClassName: (
- this: Document,
- className: String
- ) => Array<DOMElement>,
- getElementsByTagName: (
- this: Document,
- tagName: String
- ) => Array<DOMElement>
- }
- type Event := {
- type: String,
- bubbles: Boolean,
- cancelable: Boolean,
- initEvent: (
- this: Event,
- type: String,
- bubbles: Boolean,
- cancelable: Boolean
- ) => void
- }
- type addEventListener := (
- this: DOMElement,
- type: String,
- listener: Listener
- ) => void
- type dispatchEvent := (
- this: DOMElement,
- ev: Event
- )
- min-document/event/add-event-listener := addEventListener
- min-document/event/dispatch-event := dispatchEvent
- min-document/document := () => Document
- min-document/dom-element :=
- (tagName: String, owner?: Document, namespace?: String | null) => DOMElement
- min-document/dom-fragment :=
- (owner?: Document) => DocumentFragment
- min-document/dom-text :=
- (value: String, owner?: Document) => DOMText
- min-document/event := () => Event
- min-document/serialize := (DOMElement) => String
- min-document := Document
|