happy-dom 13.0.7 → 13.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/cjs/PropertySymbol.cjs +69 -2
- package/cjs/PropertySymbol.cjs.map +1 -1
- package/cjs/PropertySymbol.d.ts +67 -1
- package/cjs/PropertySymbol.d.ts.map +1 -1
- package/cjs/browser/utilities/BrowserFrameNavigator.cjs +1 -1
- package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
- package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs +17 -16
- package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs.map +1 -1
- package/cjs/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +43 -26
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +1 -1
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
- package/cjs/dom-implementation/DOMImplementation.cjs +6 -6
- package/cjs/dom-implementation/DOMImplementation.cjs.map +1 -1
- package/cjs/dom-parser/DOMParser.cjs +2 -2
- package/cjs/dom-parser/DOMParser.cjs.map +1 -1
- package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
- package/cjs/dom-token-list/DOMTokenList.cjs +38 -26
- package/cjs/dom-token-list/DOMTokenList.cjs.map +1 -1
- package/cjs/dom-token-list/DOMTokenList.d.ts +6 -1
- package/cjs/dom-token-list/DOMTokenList.d.ts.map +1 -1
- package/cjs/event/Event.cjs +3 -3
- package/cjs/event/Event.cjs.map +1 -1
- package/cjs/event/EventTarget.cjs +4 -4
- package/cjs/event/EventTarget.cjs.map +1 -1
- package/cjs/fetch/Request.cjs +2 -1
- package/cjs/fetch/Request.cjs.map +1 -1
- package/cjs/fetch/Request.d.ts +4 -4
- package/cjs/fetch/Request.d.ts.map +1 -1
- package/cjs/form-data/FormData.cjs +7 -7
- package/cjs/form-data/FormData.cjs.map +1 -1
- package/cjs/mutation-observer/MutationObserver.cjs +3 -3
- package/cjs/mutation-observer/MutationObserver.cjs.map +1 -1
- package/cjs/named-node-map/NamedNodeMap.cjs +10 -8
- package/cjs/named-node-map/NamedNodeMap.cjs.map +1 -1
- package/cjs/named-node-map/NamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/attr/Attr.cjs +84 -15
- package/cjs/nodes/attr/Attr.cjs.map +1 -1
- package/cjs/nodes/attr/Attr.d.ts +40 -8
- package/cjs/nodes/attr/Attr.d.ts.map +1 -1
- package/cjs/nodes/character-data/CharacterData.cjs +2 -2
- package/cjs/nodes/character-data/CharacterData.cjs.map +1 -1
- package/cjs/nodes/child-node/ChildNodeUtility.cjs +8 -8
- package/cjs/nodes/child-node/ChildNodeUtility.cjs.map +1 -1
- package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs +27 -3
- package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs.map +1 -1
- package/cjs/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
- package/cjs/nodes/comment/Comment.cjs +28 -2
- package/cjs/nodes/comment/Comment.cjs.map +1 -1
- package/cjs/nodes/comment/Comment.d.ts +3 -1
- package/cjs/nodes/comment/Comment.d.ts.map +1 -1
- package/cjs/nodes/document/Document.cjs +95 -41
- package/cjs/nodes/document/Document.cjs.map +1 -1
- package/cjs/nodes/document/Document.d.ts +45 -10
- package/cjs/nodes/document/Document.d.ts.map +1 -1
- package/cjs/nodes/document/IDocument.d.ts +2 -1
- package/cjs/nodes/document/IDocument.d.ts.map +1 -1
- package/cjs/nodes/document-fragment/DocumentFragment.cjs +8 -6
- package/cjs/nodes/document-fragment/DocumentFragment.cjs.map +1 -1
- package/cjs/nodes/document-fragment/DocumentFragment.d.ts +2 -1
- package/cjs/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
- package/cjs/nodes/document-type/DocumentType.cjs +58 -7
- package/cjs/nodes/document-type/DocumentType.cjs.map +1 -1
- package/cjs/nodes/document-type/DocumentType.d.ts +24 -4
- package/cjs/nodes/document-type/DocumentType.d.ts.map +1 -1
- package/cjs/nodes/element/Dataset.cjs +14 -14
- package/cjs/nodes/element/Dataset.cjs.map +1 -1
- package/cjs/nodes/element/Dataset.d.ts +1 -1
- package/cjs/nodes/element/Dataset.d.ts.map +1 -1
- package/cjs/nodes/element/Element.cjs +142 -55
- package/cjs/nodes/element/Element.cjs.map +1 -1
- package/cjs/nodes/element/Element.d.ts +77 -11
- package/cjs/nodes/element/Element.d.ts.map +1 -1
- package/cjs/nodes/element/ElementNamedNodeMap.cjs +33 -30
- package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/element/ElementUtility.cjs +19 -19
- package/cjs/nodes/element/ElementUtility.cjs.map +1 -1
- package/cjs/nodes/element/ElementUtility.d.ts.map +1 -1
- package/cjs/nodes/element/IElement.d.ts +3 -3
- package/cjs/nodes/element/IElement.d.ts.map +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +6 -6
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs +7 -5
- package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/html-base-element/HTMLBaseElement.cjs +25 -1
- package/cjs/nodes/html-base-element/HTMLBaseElement.cjs.map +1 -1
- package/cjs/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
- package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +27 -8
- package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
- package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
- package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
- package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs +7 -7
- package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs +44 -1
- package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs.map +1 -1
- package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
- package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
- package/cjs/nodes/html-document/HTMLDocument.cjs +25 -1
- package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
- package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
- package/cjs/nodes/html-element/HTMLElement.cjs +137 -32
- package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
- package/cjs/nodes/html-element/HTMLElement.d.ts +91 -14
- package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
- package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs +4 -3
- package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/html-element/HTMLElementUtility.cjs +12 -10
- package/cjs/nodes/html-element/HTMLElementUtility.cjs.map +1 -1
- package/cjs/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
- package/cjs/nodes/html-element/IHTMLElement.d.ts +3 -0
- package/cjs/nodes/html-element/IHTMLElement.d.ts.map +1 -1
- package/cjs/nodes/html-form-element/HTMLFormElement.cjs +62 -30
- package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
- package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
- package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +5 -5
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs +27 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs +2 -2
- package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs.map +1 -1
- package/cjs/nodes/html-image-element/HTMLImageElement.cjs +128 -26
- package/cjs/nodes/html-image-element/HTMLImageElement.cjs.map +1 -1
- package/cjs/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
- package/cjs/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
- package/cjs/nodes/html-input-element/HTMLInputElement.cjs +112 -27
- package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
- package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
- package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
- package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs +7 -7
- package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-label-element/HTMLLabelElement.cjs +1 -1
- package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
- package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs +26 -2
- package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs.map +1 -1
- package/cjs/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +15 -8
- package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
- package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs +7 -6
- package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs +8 -5
- package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
- package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +154 -53
- package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
- package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
- package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
- package/cjs/nodes/html-option-element/HTMLOptionElement.cjs +4 -4
- package/cjs/nodes/html-option-element/HTMLOptionElement.cjs.map +1 -1
- package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
- package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
- package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs +3 -3
- package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +12 -11
- package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs +4 -4
- package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs +8 -8
- package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
- package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +63 -32
- package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
- package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
- package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
- package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs +7 -7
- package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-style-element/HTMLStyleElement.cjs +6 -6
- package/cjs/nodes/html-style-element/HTMLStyleElement.cjs.map +1 -1
- package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
- package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
- package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +27 -12
- package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
- package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
- package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
- package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
- package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +27 -9
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs +7 -7
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +24 -17
- package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
- package/cjs/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
- package/cjs/nodes/node/INode.d.ts +2 -2
- package/cjs/nodes/node/INode.d.ts.map +1 -1
- package/cjs/nodes/node/Node.cjs +95 -56
- package/cjs/nodes/node/Node.cjs.map +1 -1
- package/cjs/nodes/node/Node.d.ts +44 -20
- package/cjs/nodes/node/Node.d.ts.map +1 -1
- package/cjs/nodes/node/NodeUtility.cjs +37 -37
- package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
- package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
- package/cjs/nodes/parent-node/ParentNodeUtility.cjs +8 -5
- package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
- package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
- package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs +35 -1
- package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs.map +1 -1
- package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
- package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
- package/cjs/nodes/shadow-root/IShadowRoot.d.ts +2 -0
- package/cjs/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
- package/cjs/nodes/shadow-root/ShadowRoot.cjs +44 -7
- package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
- package/cjs/nodes/shadow-root/ShadowRoot.d.ts +28 -3
- package/cjs/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
- package/cjs/nodes/svg-element/SVGElement.cjs +7 -6
- package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
- package/cjs/nodes/svg-element/SVGElement.d.ts +2 -2
- package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
- package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs +4 -3
- package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/text/Text.cjs +7 -6
- package/cjs/nodes/text/Text.cjs.map +1 -1
- package/cjs/nodes/text/Text.d.ts +2 -1
- package/cjs/nodes/text/Text.d.ts.map +1 -1
- package/cjs/query-selector/QuerySelector.cjs +2 -2
- package/cjs/query-selector/QuerySelector.cjs.map +1 -1
- package/cjs/query-selector/SelectorItem.cjs +16 -16
- package/cjs/query-selector/SelectorItem.cjs.map +1 -1
- package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
- package/cjs/range/Range.cjs +91 -79
- package/cjs/range/Range.cjs.map +1 -1
- package/cjs/range/Range.d.ts.map +1 -1
- package/cjs/range/RangeUtility.cjs +5 -4
- package/cjs/range/RangeUtility.cjs.map +1 -1
- package/cjs/range/RangeUtility.d.ts.map +1 -1
- package/cjs/selection/Selection.cjs +15 -15
- package/cjs/selection/Selection.cjs.map +1 -1
- package/cjs/tree-walker/TreeWalker.cjs +12 -6
- package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
- package/cjs/tree-walker/TreeWalker.d.ts.map +1 -1
- package/cjs/validity-state/ValidityState.cjs +1 -1
- package/cjs/validity-state/ValidityState.cjs.map +1 -1
- package/cjs/version.cjs +1 -1
- package/cjs/window/BrowserWindow.cjs +2 -2
- package/cjs/window/BrowserWindow.cjs.map +1 -1
- package/cjs/window/WindowErrorUtility.cjs +1 -1
- package/cjs/window/WindowErrorUtility.cjs.map +1 -1
- package/cjs/window/WindowErrorUtility.d.ts.map +1 -1
- package/cjs/xml-http-request/XMLHttpRequest.cjs +1 -1
- package/cjs/xml-http-request/XMLHttpRequest.cjs.map +1 -1
- package/cjs/xml-parser/XMLParser.cjs +16 -12
- package/cjs/xml-parser/XMLParser.cjs.map +1 -1
- package/cjs/xml-parser/XMLParser.d.ts.map +1 -1
- package/cjs/xml-serializer/XMLSerializer.cjs +36 -35
- package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
- package/cjs/xml-serializer/XMLSerializer.d.ts +8 -1
- package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
- package/lib/PropertySymbol.d.ts +67 -1
- package/lib/PropertySymbol.d.ts.map +1 -1
- package/lib/PropertySymbol.js +67 -1
- package/lib/PropertySymbol.js.map +1 -1
- package/lib/browser/utilities/BrowserFrameNavigator.js +1 -1
- package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
- package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
- package/lib/css/declaration/AbstractCSSStyleDeclaration.js +17 -16
- package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +43 -26
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
- package/lib/dom-implementation/DOMImplementation.js +6 -6
- package/lib/dom-implementation/DOMImplementation.js.map +1 -1
- package/lib/dom-parser/DOMParser.d.ts.map +1 -1
- package/lib/dom-parser/DOMParser.js +2 -2
- package/lib/dom-parser/DOMParser.js.map +1 -1
- package/lib/dom-token-list/DOMTokenList.d.ts +6 -1
- package/lib/dom-token-list/DOMTokenList.d.ts.map +1 -1
- package/lib/dom-token-list/DOMTokenList.js +40 -27
- package/lib/dom-token-list/DOMTokenList.js.map +1 -1
- package/lib/event/Event.js +3 -3
- package/lib/event/Event.js.map +1 -1
- package/lib/event/EventTarget.js +4 -4
- package/lib/event/EventTarget.js.map +1 -1
- package/lib/fetch/Request.d.ts +4 -4
- package/lib/fetch/Request.d.ts.map +1 -1
- package/lib/fetch/Request.js +2 -1
- package/lib/fetch/Request.js.map +1 -1
- package/lib/form-data/FormData.js +7 -7
- package/lib/form-data/FormData.js.map +1 -1
- package/lib/mutation-observer/MutationObserver.js +3 -3
- package/lib/mutation-observer/MutationObserver.js.map +1 -1
- package/lib/named-node-map/NamedNodeMap.d.ts.map +1 -1
- package/lib/named-node-map/NamedNodeMap.js +10 -8
- package/lib/named-node-map/NamedNodeMap.js.map +1 -1
- package/lib/nodes/attr/Attr.d.ts +40 -8
- package/lib/nodes/attr/Attr.d.ts.map +1 -1
- package/lib/nodes/attr/Attr.js +63 -16
- package/lib/nodes/attr/Attr.js.map +1 -1
- package/lib/nodes/character-data/CharacterData.js +2 -2
- package/lib/nodes/character-data/CharacterData.js.map +1 -1
- package/lib/nodes/child-node/ChildNodeUtility.js +8 -8
- package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
- package/lib/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
- package/lib/nodes/child-node/NonDocumentChildNodeUtility.js +4 -3
- package/lib/nodes/child-node/NonDocumentChildNodeUtility.js.map +1 -1
- package/lib/nodes/comment/Comment.d.ts +3 -1
- package/lib/nodes/comment/Comment.d.ts.map +1 -1
- package/lib/nodes/comment/Comment.js +7 -3
- package/lib/nodes/comment/Comment.js.map +1 -1
- package/lib/nodes/document/Document.d.ts +45 -10
- package/lib/nodes/document/Document.d.ts.map +1 -1
- package/lib/nodes/document/Document.js +95 -41
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document/IDocument.d.ts +2 -1
- package/lib/nodes/document/IDocument.d.ts.map +1 -1
- package/lib/nodes/document-fragment/DocumentFragment.d.ts +2 -1
- package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
- package/lib/nodes/document-fragment/DocumentFragment.js +8 -6
- package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
- package/lib/nodes/document-type/DocumentType.d.ts +24 -4
- package/lib/nodes/document-type/DocumentType.d.ts.map +1 -1
- package/lib/nodes/document-type/DocumentType.js +37 -8
- package/lib/nodes/document-type/DocumentType.js.map +1 -1
- package/lib/nodes/element/Dataset.d.ts +1 -1
- package/lib/nodes/element/Dataset.d.ts.map +1 -1
- package/lib/nodes/element/Dataset.js +14 -14
- package/lib/nodes/element/Dataset.js.map +1 -1
- package/lib/nodes/element/Element.d.ts +77 -11
- package/lib/nodes/element/Element.d.ts.map +1 -1
- package/lib/nodes/element/Element.js +142 -55
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/element/ElementNamedNodeMap.js +33 -30
- package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
- package/lib/nodes/element/ElementUtility.js +19 -19
- package/lib/nodes/element/ElementUtility.js.map +1 -1
- package/lib/nodes/element/IElement.d.ts +3 -3
- package/lib/nodes/element/IElement.d.ts.map +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +6 -6
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js +7 -5
- package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
- package/lib/nodes/html-base-element/HTMLBaseElement.js +2 -1
- package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
- package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
- package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
- package/lib/nodes/html-button-element/HTMLButtonElement.js +27 -8
- package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
- package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js +7 -7
- package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
- package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
- package/lib/nodes/html-dialog-element/HTMLDialogElement.js +23 -2
- package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
- package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
- package/lib/nodes/html-document/HTMLDocument.js +2 -1
- package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
- package/lib/nodes/html-element/HTMLElement.d.ts +91 -14
- package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
- package/lib/nodes/html-element/HTMLElement.js +137 -32
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/html-element/HTMLElementNamedNodeMap.js +4 -3
- package/lib/nodes/html-element/HTMLElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
- package/lib/nodes/html-element/HTMLElementUtility.js +12 -10
- package/lib/nodes/html-element/HTMLElementUtility.js.map +1 -1
- package/lib/nodes/html-element/IHTMLElement.d.ts +3 -0
- package/lib/nodes/html-element/IHTMLElement.d.ts.map +1 -1
- package/lib/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
- package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
- package/lib/nodes/html-form-element/HTMLFormElement.js +62 -30
- package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +5 -5
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js +4 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js +2 -2
- package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js.map +1 -1
- package/lib/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
- package/lib/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
- package/lib/nodes/html-image-element/HTMLImageElement.js +107 -27
- package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
- package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElement.js +112 -27
- package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js +7 -7
- package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElement.js +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElementUtility.js +3 -2
- package/lib/nodes/html-label-element/HTMLLabelElementUtility.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.js +15 -8
- package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js +7 -6
- package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js +8 -5
- package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js.map +1 -1
- package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
- package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
- package/lib/nodes/html-media-element/HTMLMediaElement.js +132 -54
- package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
- package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
- package/lib/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
- package/lib/nodes/html-option-element/HTMLOptionElement.js +4 -4
- package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
- package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js +3 -3
- package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.js +12 -11
- package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js +4 -4
- package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js +8 -8
- package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
- package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.js +63 -32
- package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js +7 -7
- package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.js +6 -6
- package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.js +29 -13
- package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
- package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
- package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +27 -9
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
- package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js +7 -7
- package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
- package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +24 -17
- package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
- package/lib/nodes/node/INode.d.ts +2 -2
- package/lib/nodes/node/INode.d.ts.map +1 -1
- package/lib/nodes/node/Node.d.ts +44 -20
- package/lib/nodes/node/Node.d.ts.map +1 -1
- package/lib/nodes/node/Node.js +95 -56
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
- package/lib/nodes/node/NodeUtility.js +37 -37
- package/lib/nodes/node/NodeUtility.js.map +1 -1
- package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
- package/lib/nodes/parent-node/ParentNodeUtility.js +8 -5
- package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
- package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
- package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
- package/lib/nodes/processing-instruction/ProcessingInstruction.js +14 -2
- package/lib/nodes/processing-instruction/ProcessingInstruction.js.map +1 -1
- package/lib/nodes/shadow-root/IShadowRoot.d.ts +2 -0
- package/lib/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
- package/lib/nodes/shadow-root/ShadowRoot.d.ts +28 -3
- package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
- package/lib/nodes/shadow-root/ShadowRoot.js +46 -8
- package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
- package/lib/nodes/svg-element/SVGElement.d.ts +2 -2
- package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
- package/lib/nodes/svg-element/SVGElement.js +7 -6
- package/lib/nodes/svg-element/SVGElement.js.map +1 -1
- package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/svg-element/SVGElementNamedNodeMap.js +4 -3
- package/lib/nodes/svg-element/SVGElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/text/Text.d.ts +2 -1
- package/lib/nodes/text/Text.d.ts.map +1 -1
- package/lib/nodes/text/Text.js +7 -6
- package/lib/nodes/text/Text.js.map +1 -1
- package/lib/query-selector/QuerySelector.js +2 -2
- package/lib/query-selector/QuerySelector.js.map +1 -1
- package/lib/query-selector/SelectorItem.d.ts.map +1 -1
- package/lib/query-selector/SelectorItem.js +16 -16
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/range/Range.d.ts.map +1 -1
- package/lib/range/Range.js +91 -79
- package/lib/range/Range.js.map +1 -1
- package/lib/range/RangeUtility.d.ts.map +1 -1
- package/lib/range/RangeUtility.js +5 -4
- package/lib/range/RangeUtility.js.map +1 -1
- package/lib/selection/Selection.js +15 -15
- package/lib/selection/Selection.js.map +1 -1
- package/lib/tree-walker/TreeWalker.d.ts.map +1 -1
- package/lib/tree-walker/TreeWalker.js +12 -6
- package/lib/tree-walker/TreeWalker.js.map +1 -1
- package/lib/validity-state/ValidityState.js +1 -1
- package/lib/validity-state/ValidityState.js.map +1 -1
- package/lib/version.js +1 -1
- package/lib/window/BrowserWindow.js +2 -2
- package/lib/window/BrowserWindow.js.map +1 -1
- package/lib/window/WindowErrorUtility.d.ts.map +1 -1
- package/lib/window/WindowErrorUtility.js +1 -1
- package/lib/window/WindowErrorUtility.js.map +1 -1
- package/lib/xml-http-request/XMLHttpRequest.js +1 -1
- package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
- package/lib/xml-parser/XMLParser.d.ts.map +1 -1
- package/lib/xml-parser/XMLParser.js +16 -12
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/lib/xml-serializer/XMLSerializer.d.ts +8 -1
- package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
- package/lib/xml-serializer/XMLSerializer.js +37 -37
- package/lib/xml-serializer/XMLSerializer.js.map +1 -1
- package/package.json +1 -1
- package/src/PropertySymbol.ts +67 -1
- package/src/browser/utilities/BrowserFrameNavigator.ts +1 -1
- package/src/css/declaration/AbstractCSSStyleDeclaration.ts +17 -16
- package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +64 -28
- package/src/dom-implementation/DOMImplementation.ts +6 -6
- package/src/dom-parser/DOMParser.ts +2 -2
- package/src/dom-token-list/DOMTokenList.ts +43 -24
- package/src/event/Event.ts +3 -3
- package/src/event/EventTarget.ts +4 -4
- package/src/fetch/Request.ts +7 -5
- package/src/form-data/FormData.ts +9 -9
- package/src/mutation-observer/MutationObserver.ts +3 -3
- package/src/named-node-map/NamedNodeMap.ts +12 -8
- package/src/nodes/attr/Attr.ts +59 -11
- package/src/nodes/character-data/CharacterData.ts +2 -2
- package/src/nodes/child-node/ChildNodeUtility.ts +8 -8
- package/src/nodes/child-node/NonDocumentChildNodeUtility.ts +4 -3
- package/src/nodes/comment/Comment.ts +3 -2
- package/src/nodes/document/Document.ts +106 -46
- package/src/nodes/document/IDocument.ts +2 -1
- package/src/nodes/document-fragment/DocumentFragment.ts +8 -4
- package/src/nodes/document-type/DocumentType.ts +36 -7
- package/src/nodes/element/Dataset.ts +23 -17
- package/src/nodes/element/Element.ts +166 -61
- package/src/nodes/element/ElementNamedNodeMap.ts +58 -33
- package/src/nodes/element/ElementUtility.ts +26 -19
- package/src/nodes/element/IElement.ts +3 -3
- package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +5 -3
- package/src/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.ts +11 -5
- package/src/nodes/html-base-element/HTMLBaseElement.ts +2 -1
- package/src/nodes/html-button-element/HTMLButtonElement.ts +29 -6
- package/src/nodes/html-button-element/HTMLButtonElementNamedNodeMap.ts +7 -7
- package/src/nodes/html-dialog-element/HTMLDialogElement.ts +21 -1
- package/src/nodes/html-document/HTMLDocument.ts +2 -1
- package/src/nodes/html-element/HTMLElement.ts +161 -33
- package/src/nodes/html-element/HTMLElementNamedNodeMap.ts +6 -3
- package/src/nodes/html-element/HTMLElementUtility.ts +17 -10
- package/src/nodes/html-element/IHTMLElement.ts +3 -0
- package/src/nodes/html-form-element/HTMLFormElement.ts +67 -27
- package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +6 -5
- package/src/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.ts +6 -1
- package/src/nodes/html-iframe-element/HTMLIFrameElementPageLoader.ts +2 -2
- package/src/nodes/html-image-element/HTMLImageElement.ts +115 -28
- package/src/nodes/html-input-element/HTMLInputElement.ts +125 -30
- package/src/nodes/html-input-element/HTMLInputElementNamedNodeMap.ts +7 -7
- package/src/nodes/html-label-element/HTMLLabelElement.ts +1 -1
- package/src/nodes/html-label-element/HTMLLabelElementUtility.ts +3 -2
- package/src/nodes/html-link-element/HTMLLinkElement.ts +15 -5
- package/src/nodes/html-link-element/HTMLLinkElementNamedNodeMap.ts +9 -6
- package/src/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.ts +13 -5
- package/src/nodes/html-media-element/HTMLMediaElement.ts +142 -42
- package/src/nodes/html-option-element/HTMLOptionElement.ts +3 -1
- package/src/nodes/html-option-element/HTMLOptionElementNamedNodeMap.ts +3 -3
- package/src/nodes/html-script-element/HTMLScriptElement.ts +19 -12
- package/src/nodes/html-script-element/HTMLScriptElementNamedNodeMap.ts +4 -4
- package/src/nodes/html-script-element/HTMLScriptElementScriptLoader.ts +13 -9
- package/src/nodes/html-select-element/HTMLSelectElement.ts +69 -31
- package/src/nodes/html-select-element/HTMLSelectElementNamedNodeMap.ts +7 -7
- package/src/nodes/html-style-element/HTMLStyleElement.ts +6 -6
- package/src/nodes/html-template-element/HTMLTemplateElement.ts +28 -12
- package/src/nodes/html-template-element/IHTMLTemplateElement.ts +1 -1
- package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +29 -6
- package/src/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.ts +7 -7
- package/src/nodes/html-unknown-element/HTMLUnknownElement.ts +38 -17
- package/src/nodes/node/INode.ts +2 -2
- package/src/nodes/node/Node.ts +129 -56
- package/src/nodes/node/NodeUtility.ts +44 -37
- package/src/nodes/parent-node/ParentNodeUtility.ts +10 -5
- package/src/nodes/processing-instruction/ProcessingInstruction.ts +12 -2
- package/src/nodes/shadow-root/IShadowRoot.ts +2 -0
- package/src/nodes/shadow-root/ShadowRoot.ts +50 -8
- package/src/nodes/svg-element/SVGElement.ts +6 -5
- package/src/nodes/svg-element/SVGElementNamedNodeMap.ts +6 -3
- package/src/nodes/text/Text.ts +5 -5
- package/src/query-selector/QuerySelector.ts +2 -2
- package/src/query-selector/SelectorItem.ts +20 -16
- package/src/range/Range.ts +109 -82
- package/src/range/RangeUtility.ts +7 -4
- package/src/selection/Selection.ts +15 -15
- package/src/tree-walker/TreeWalker.ts +22 -6
- package/src/validity-state/ValidityState.ts +1 -1
- package/src/window/BrowserWindow.ts +2 -2
- package/src/window/WindowErrorUtility.ts +3 -1
- package/src/xml-http-request/XMLHttpRequest.ts +1 -1
- package/src/xml-parser/XMLParser.ts +18 -12
- package/src/xml-serializer/XMLSerializer.ts +22 -20
package/src/nodes/attr/Attr.ts
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
import IElement from '../element/IElement.js';
|
2
2
|
import Node from '../node/Node.js';
|
3
3
|
import IAttr from './IAttr.js';
|
4
|
+
import * as PropertySymbol from '../../PropertySymbol.js';
|
5
|
+
import NodeTypeEnum from '../node/NodeTypeEnum.js';
|
4
6
|
|
5
7
|
/**
|
6
8
|
* Attribute node interface.
|
@@ -8,20 +10,57 @@ import IAttr from './IAttr.js';
|
|
8
10
|
* Reference: https://developer.mozilla.org/en-US/docs/Web/API/Attr.
|
9
11
|
*/
|
10
12
|
export default class Attr extends Node implements IAttr {
|
11
|
-
public
|
12
|
-
public
|
13
|
-
public name: string = null;
|
14
|
-
public
|
13
|
+
public [PropertySymbol.nodeType] = NodeTypeEnum.attributeNode;
|
14
|
+
public [PropertySymbol.namespaceURI]: string | null = null;
|
15
|
+
public [PropertySymbol.name]: string | null = null;
|
16
|
+
public [PropertySymbol.value]: string | null = null;
|
17
|
+
public [PropertySymbol.specified] = true;
|
18
|
+
public [PropertySymbol.ownerElement]: IElement | null = null;
|
15
19
|
|
16
20
|
/**
|
17
|
-
*
|
21
|
+
* Returns specified.
|
22
|
+
*
|
23
|
+
* @returns Specified.
|
24
|
+
*/
|
25
|
+
public get specified(): boolean {
|
26
|
+
return this[PropertySymbol.specified];
|
27
|
+
}
|
28
|
+
|
29
|
+
/**
|
30
|
+
* Returns owner element.
|
31
|
+
*
|
32
|
+
* @returns Owner element.
|
33
|
+
*/
|
34
|
+
public get ownerElement(): IElement | null {
|
35
|
+
return this[PropertySymbol.ownerElement];
|
36
|
+
}
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Returns value.
|
40
|
+
*
|
41
|
+
* @returns Value.
|
42
|
+
*/
|
43
|
+
public get value(): string {
|
44
|
+
return this[PropertySymbol.value];
|
45
|
+
}
|
46
|
+
|
47
|
+
/**
|
48
|
+
* Sets value.
|
49
|
+
*
|
50
|
+
* @param value Value.
|
18
51
|
*/
|
19
|
-
public
|
52
|
+
public set value(value: string) {
|
53
|
+
this[PropertySymbol.value] = value;
|
54
|
+
}
|
20
55
|
|
21
56
|
/**
|
22
|
-
*
|
57
|
+
* Returns name.
|
58
|
+
*
|
59
|
+
* @returns Name.
|
23
60
|
*/
|
24
|
-
public
|
61
|
+
public get name(): string {
|
62
|
+
return this[PropertySymbol.name];
|
63
|
+
}
|
25
64
|
|
26
65
|
/**
|
27
66
|
* Returns local name.
|
@@ -29,7 +68,7 @@ export default class Attr extends Node implements IAttr {
|
|
29
68
|
* @returns Local name.
|
30
69
|
*/
|
31
70
|
public get localName(): string {
|
32
|
-
return this.name ? this.name.split(':').reverse()[0] : null;
|
71
|
+
return this[PropertySymbol.name] ? this[PropertySymbol.name].split(':').reverse()[0] : null;
|
33
72
|
}
|
34
73
|
|
35
74
|
/**
|
@@ -38,13 +77,22 @@ export default class Attr extends Node implements IAttr {
|
|
38
77
|
* @returns Prefix.
|
39
78
|
*/
|
40
79
|
public get prefix(): string {
|
41
|
-
return this.name ? this.name.split(':')[0] : null;
|
80
|
+
return this[PropertySymbol.name] ? this[PropertySymbol.name].split(':')[0] : null;
|
42
81
|
}
|
43
82
|
|
44
83
|
/**
|
45
84
|
* @override
|
46
85
|
*/
|
47
86
|
public get textContent(): string {
|
48
|
-
return this.value;
|
87
|
+
return this[PropertySymbol.value];
|
88
|
+
}
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Returns namespace URI.
|
92
|
+
*
|
93
|
+
* @returns Namespace URI.
|
94
|
+
*/
|
95
|
+
public get namespaceURI(): string | null {
|
96
|
+
return this[PropertySymbol.namespaceURI];
|
49
97
|
}
|
50
98
|
}
|
@@ -57,8 +57,8 @@ export default abstract class CharacterData extends Node implements ICharacterDa
|
|
57
57
|
const oldValue = this[PropertySymbol.data];
|
58
58
|
this[PropertySymbol.data] = String(data);
|
59
59
|
|
60
|
-
if (this.isConnected) {
|
61
|
-
this.ownerDocument[PropertySymbol.cacheID]++;
|
60
|
+
if (this[PropertySymbol.isConnected]) {
|
61
|
+
this[PropertySymbol.ownerDocument][PropertySymbol.cacheID]++;
|
62
62
|
}
|
63
63
|
|
64
64
|
// MutationObserver
|
@@ -17,8 +17,8 @@ export default class ChildNodeUtility {
|
|
17
17
|
* @param childNode Child node.
|
18
18
|
*/
|
19
19
|
public static remove(childNode: IChildNode): void {
|
20
|
-
if (childNode.parentNode) {
|
21
|
-
childNode.parentNode.removeChild(childNode);
|
20
|
+
if (childNode[PropertySymbol.parentNode]) {
|
21
|
+
childNode[PropertySymbol.parentNode].removeChild(childNode);
|
22
22
|
}
|
23
23
|
}
|
24
24
|
|
@@ -29,7 +29,7 @@ export default class ChildNodeUtility {
|
|
29
29
|
* @param nodes List of Node or DOMString.
|
30
30
|
*/
|
31
31
|
public static replaceWith(childNode: IChildNode, ...nodes: (INode | string)[]): void {
|
32
|
-
const parent = <IParentNode>childNode.parentNode;
|
32
|
+
const parent = <IParentNode>childNode[PropertySymbol.parentNode];
|
33
33
|
|
34
34
|
if (!parent) {
|
35
35
|
throw new DOMException('This element has no parent node.');
|
@@ -38,7 +38,7 @@ export default class ChildNodeUtility {
|
|
38
38
|
for (const node of nodes) {
|
39
39
|
if (typeof node === 'string') {
|
40
40
|
const newChildNodes = (<DocumentFragment>(
|
41
|
-
XMLParser.parse(<Document>childNode.ownerDocument, node)
|
41
|
+
XMLParser.parse(<Document>childNode[PropertySymbol.ownerDocument], node)
|
42
42
|
))[PropertySymbol.childNodes].slice();
|
43
43
|
for (const newChildNode of newChildNodes) {
|
44
44
|
parent.insertBefore(newChildNode, childNode);
|
@@ -58,7 +58,7 @@ export default class ChildNodeUtility {
|
|
58
58
|
* @param nodes List of Node or DOMString.
|
59
59
|
*/
|
60
60
|
public static before(childNode: IChildNode, ...nodes: (string | INode)[]): void {
|
61
|
-
const parent = <IParentNode>childNode.parentNode;
|
61
|
+
const parent = <IParentNode>childNode[PropertySymbol.parentNode];
|
62
62
|
|
63
63
|
if (!parent) {
|
64
64
|
return;
|
@@ -67,7 +67,7 @@ export default class ChildNodeUtility {
|
|
67
67
|
for (const node of nodes) {
|
68
68
|
if (typeof node === 'string') {
|
69
69
|
const newChildNodes = (<DocumentFragment>(
|
70
|
-
XMLParser.parse(<Document>childNode.ownerDocument, node)
|
70
|
+
XMLParser.parse(<Document>childNode[PropertySymbol.ownerDocument], node)
|
71
71
|
))[PropertySymbol.childNodes].slice();
|
72
72
|
for (const newChildNode of newChildNodes) {
|
73
73
|
parent.insertBefore(newChildNode, childNode);
|
@@ -85,7 +85,7 @@ export default class ChildNodeUtility {
|
|
85
85
|
* @param nodes List of Node or DOMString.
|
86
86
|
*/
|
87
87
|
public static after(childNode: IChildNode, ...nodes: (string | INode)[]): void {
|
88
|
-
const parent = <IParentNode>childNode.parentNode;
|
88
|
+
const parent = <IParentNode>childNode[PropertySymbol.parentNode];
|
89
89
|
|
90
90
|
if (!parent) {
|
91
91
|
return;
|
@@ -96,7 +96,7 @@ export default class ChildNodeUtility {
|
|
96
96
|
for (const node of nodes) {
|
97
97
|
if (typeof node === 'string') {
|
98
98
|
const newChildNodes = (<DocumentFragment>(
|
99
|
-
XMLParser.parse(<Document>childNode.ownerDocument, node)
|
99
|
+
XMLParser.parse(<Document>childNode[PropertySymbol.ownerDocument], node)
|
100
100
|
))[PropertySymbol.childNodes].slice();
|
101
101
|
for (const newChildNode of newChildNodes) {
|
102
102
|
if (!nextSibling) {
|
@@ -1,6 +1,7 @@
|
|
1
|
-
import Element from '../element/Element.js';
|
2
1
|
import IElement from '../element/IElement.js';
|
2
|
+
import NodeTypeEnum from '../node/NodeTypeEnum.js';
|
3
3
|
import INonDocumentTypeChildNode from './INonDocumentTypeChildNode.js';
|
4
|
+
import * as PropertySymbol from '../../PropertySymbol.js';
|
4
5
|
|
5
6
|
/**
|
6
7
|
* Non Document Child node utility.
|
@@ -14,7 +15,7 @@ export default class NonDocumentChildNodeUtility {
|
|
14
15
|
*/
|
15
16
|
public static previousElementSibling(childNode: INonDocumentTypeChildNode): IElement {
|
16
17
|
let sibling = childNode.previousSibling;
|
17
|
-
while (sibling && sibling.nodeType !==
|
18
|
+
while (sibling && sibling[PropertySymbol.nodeType] !== NodeTypeEnum.elementNode) {
|
18
19
|
sibling = sibling.previousSibling;
|
19
20
|
}
|
20
21
|
return <IElement>sibling;
|
@@ -28,7 +29,7 @@ export default class NonDocumentChildNodeUtility {
|
|
28
29
|
*/
|
29
30
|
public static nextElementSibling(childNode: INonDocumentTypeChildNode): IElement {
|
30
31
|
let sibling = childNode.nextSibling;
|
31
|
-
while (sibling && sibling.nodeType !==
|
32
|
+
while (sibling && sibling[PropertySymbol.nodeType] !== NodeTypeEnum.elementNode) {
|
32
33
|
sibling = sibling.nextSibling;
|
33
34
|
}
|
34
35
|
return <IElement>sibling;
|
@@ -1,12 +1,13 @@
|
|
1
|
-
import Node from '../node/Node.js';
|
2
1
|
import CharacterData from '../character-data/CharacterData.js';
|
3
2
|
import IComment from './IComment.js';
|
3
|
+
import * as PropertySymbol from '../../PropertySymbol.js';
|
4
|
+
import NodeTypeEnum from '../node/NodeTypeEnum.js';
|
4
5
|
|
5
6
|
/**
|
6
7
|
* Comment node.
|
7
8
|
*/
|
8
9
|
export default class Comment extends CharacterData implements IComment {
|
9
|
-
public
|
10
|
+
public [PropertySymbol.nodeType] = NodeTypeEnum.commentNode;
|
10
11
|
|
11
12
|
/**
|
12
13
|
* Node name.
|
@@ -53,28 +53,27 @@ const PROCESSING_INSTRUCTION_TARGET_REGEXP = /^[a-z][a-z0-9-]+$/;
|
|
53
53
|
* Document.
|
54
54
|
*/
|
55
55
|
export default class Document extends Node implements IDocument {
|
56
|
-
|
57
|
-
public
|
58
|
-
public readonly implementation: DOMImplementation;
|
59
|
-
public readonly readyState = DocumentReadyStateEnum.interactive;
|
60
|
-
public readonly isConnected: boolean = true;
|
61
|
-
public readonly defaultView: IBrowserWindow | null = null;
|
62
|
-
public readonly [PropertySymbol.defaultView]: IBrowserWindow;
|
63
|
-
public readonly referrer = '';
|
64
|
-
public readonly [PropertySymbol.children]: IHTMLCollection<IElement> =
|
65
|
-
new HTMLCollection<IElement>();
|
56
|
+
// Internal properties
|
57
|
+
public [PropertySymbol.children]: IHTMLCollection<IElement> = new HTMLCollection<IElement>();
|
66
58
|
public [PropertySymbol.activeElement]: IHTMLElement = null;
|
67
59
|
public [PropertySymbol.nextActiveElement]: IHTMLElement = null;
|
68
60
|
public [PropertySymbol.currentScript]: IHTMLScriptElement = null;
|
69
61
|
public [PropertySymbol.rootNode] = this;
|
70
|
-
|
71
62
|
// Used as an unique identifier which is updated whenever the DOM gets modified.
|
72
63
|
public [PropertySymbol.cacheID] = 0;
|
73
|
-
|
74
64
|
public [PropertySymbol.isFirstWrite] = true;
|
75
65
|
public [PropertySymbol.isFirstWriteAfterOpen] = false;
|
76
|
-
|
77
|
-
|
66
|
+
public [PropertySymbol.nodeType] = NodeTypeEnum.documentNode;
|
67
|
+
public [PropertySymbol.isConnected] = true;
|
68
|
+
public [PropertySymbol.adoptedStyleSheets]: CSSStyleSheet[] = [];
|
69
|
+
public [PropertySymbol.implementation] = new DOMImplementation(this);
|
70
|
+
public [PropertySymbol.readyState] = DocumentReadyStateEnum.interactive;
|
71
|
+
public [PropertySymbol.referrer] = '';
|
72
|
+
public [PropertySymbol.defaultView]: IBrowserWindow | null = null;
|
73
|
+
public [PropertySymbol.ownerWindow]: IBrowserWindow;
|
74
|
+
|
75
|
+
// Private properties
|
76
|
+
#selection: Selection = null;
|
78
77
|
#browserFrame: IBrowserFrame;
|
79
78
|
|
80
79
|
// Events
|
@@ -198,8 +197,61 @@ export default class Document extends Node implements IDocument {
|
|
198
197
|
constructor(injected: { browserFrame: IBrowserFrame; window: IBrowserWindow }) {
|
199
198
|
super();
|
200
199
|
this.#browserFrame = injected.browserFrame;
|
201
|
-
this[PropertySymbol.
|
202
|
-
|
200
|
+
this[PropertySymbol.ownerWindow] = injected.window;
|
201
|
+
}
|
202
|
+
|
203
|
+
/**
|
204
|
+
* Returns adopted style sheets.
|
205
|
+
*
|
206
|
+
* @returns Adopted style sheets.
|
207
|
+
*/
|
208
|
+
public get adoptedStyleSheets(): CSSStyleSheet[] {
|
209
|
+
return this[PropertySymbol.adoptedStyleSheets];
|
210
|
+
}
|
211
|
+
|
212
|
+
/**
|
213
|
+
* Sets adopted style sheets.
|
214
|
+
*
|
215
|
+
* @param value Adopted style sheets.
|
216
|
+
*/
|
217
|
+
public set adoptedStyleSheets(value: CSSStyleSheet[]) {
|
218
|
+
this[PropertySymbol.adoptedStyleSheets] = value;
|
219
|
+
}
|
220
|
+
|
221
|
+
/**
|
222
|
+
* Returns DOM implementation.
|
223
|
+
*
|
224
|
+
* @returns DOM implementation.
|
225
|
+
*/
|
226
|
+
public get implementation(): DOMImplementation {
|
227
|
+
return this[PropertySymbol.implementation];
|
228
|
+
}
|
229
|
+
|
230
|
+
/**
|
231
|
+
* Returns document ready state.
|
232
|
+
*
|
233
|
+
* @returns Document ready state.
|
234
|
+
*/
|
235
|
+
public get readyState(): DocumentReadyStateEnum {
|
236
|
+
return this[PropertySymbol.readyState];
|
237
|
+
}
|
238
|
+
|
239
|
+
/**
|
240
|
+
* Returns referrer.
|
241
|
+
*
|
242
|
+
* @returns Referrer.
|
243
|
+
*/
|
244
|
+
public get referrer(): string {
|
245
|
+
return this[PropertySymbol.referrer];
|
246
|
+
}
|
247
|
+
|
248
|
+
/**
|
249
|
+
* Returns default view.
|
250
|
+
*
|
251
|
+
* @returns Default view.
|
252
|
+
*/
|
253
|
+
public get defaultView(): IBrowserWindow | null {
|
254
|
+
return this[PropertySymbol.defaultView];
|
203
255
|
}
|
204
256
|
|
205
257
|
/**
|
@@ -299,7 +351,7 @@ export default class Document extends Node implements IDocument {
|
|
299
351
|
public get cookie(): string {
|
300
352
|
return CookieStringUtility.cookiesToString(
|
301
353
|
this.#browserFrame.page.context.cookieContainer.getCookies(
|
302
|
-
this[PropertySymbol.
|
354
|
+
this[PropertySymbol.ownerWindow].location,
|
303
355
|
true
|
304
356
|
)
|
305
357
|
);
|
@@ -312,7 +364,7 @@ export default class Document extends Node implements IDocument {
|
|
312
364
|
*/
|
313
365
|
public set cookie(cookie: string) {
|
314
366
|
this.#browserFrame.page.context.cookieContainer.addCookies([
|
315
|
-
CookieStringUtility.stringToCookie(this[PropertySymbol.
|
367
|
+
CookieStringUtility.stringToCookie(this[PropertySymbol.ownerWindow].location, cookie)
|
316
368
|
]);
|
317
369
|
}
|
318
370
|
|
@@ -391,7 +443,10 @@ export default class Document extends Node implements IDocument {
|
|
391
443
|
* @returns Active element.
|
392
444
|
*/
|
393
445
|
public get activeElement(): IHTMLElement {
|
394
|
-
if (
|
446
|
+
if (
|
447
|
+
this[PropertySymbol.activeElement] &&
|
448
|
+
!this[PropertySymbol.activeElement][PropertySymbol.isConnected]
|
449
|
+
) {
|
395
450
|
this[PropertySymbol.activeElement] = null;
|
396
451
|
}
|
397
452
|
|
@@ -427,7 +482,7 @@ export default class Document extends Node implements IDocument {
|
|
427
482
|
* @returns Location.
|
428
483
|
*/
|
429
484
|
public get location(): Location {
|
430
|
-
return this[PropertySymbol.
|
485
|
+
return this[PropertySymbol.ownerWindow].location;
|
431
486
|
}
|
432
487
|
|
433
488
|
/**
|
@@ -450,7 +505,7 @@ export default class Document extends Node implements IDocument {
|
|
450
505
|
if (element) {
|
451
506
|
return element.href;
|
452
507
|
}
|
453
|
-
return this[PropertySymbol.
|
508
|
+
return this[PropertySymbol.ownerWindow].location.href;
|
454
509
|
}
|
455
510
|
|
456
511
|
/**
|
@@ -459,7 +514,7 @@ export default class Document extends Node implements IDocument {
|
|
459
514
|
* @returns the URL of the current document.
|
460
515
|
* */
|
461
516
|
public get URL(): string {
|
462
|
-
return this[PropertySymbol.
|
517
|
+
return this[PropertySymbol.ownerWindow].location.href;
|
463
518
|
}
|
464
519
|
|
465
520
|
/**
|
@@ -631,7 +686,7 @@ export default class Document extends Node implements IDocument {
|
|
631
686
|
|
632
687
|
if (deep) {
|
633
688
|
for (const node of clone[PropertySymbol.childNodes]) {
|
634
|
-
if (node.nodeType ===
|
689
|
+
if (node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
|
635
690
|
clone[PropertySymbol.children].push(<IElement>node);
|
636
691
|
}
|
637
692
|
}
|
@@ -694,7 +749,7 @@ export default class Document extends Node implements IDocument {
|
|
694
749
|
for (const node of root[PropertySymbol.childNodes]) {
|
695
750
|
if (node['tagName'] === 'HTML') {
|
696
751
|
documentElement = node;
|
697
|
-
} else if (node.nodeType === NodeTypeEnum.documentTypeNode) {
|
752
|
+
} else if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentTypeNode) {
|
698
753
|
documentTypeNode = node;
|
699
754
|
}
|
700
755
|
|
@@ -736,7 +791,10 @@ export default class Document extends Node implements IDocument {
|
|
736
791
|
const body = ParentNodeUtility.getElementByTagName(this, 'body');
|
737
792
|
if (body) {
|
738
793
|
for (const child of root[PropertySymbol.childNodes].slice()) {
|
739
|
-
if (
|
794
|
+
if (
|
795
|
+
child['tagName'] !== 'HTML' &&
|
796
|
+
child[PropertySymbol.nodeType] !== NodeTypeEnum.documentTypeNode
|
797
|
+
) {
|
740
798
|
body.appendChild(child);
|
741
799
|
}
|
742
800
|
}
|
@@ -825,20 +883,20 @@ export default class Document extends Node implements IDocument {
|
|
825
883
|
|
826
884
|
let customElementClass;
|
827
885
|
if (options && options.is) {
|
828
|
-
customElementClass = this[PropertySymbol.
|
886
|
+
customElementClass = this[PropertySymbol.ownerWindow].customElements.get(String(options.is));
|
829
887
|
} else {
|
830
|
-
customElementClass = this[PropertySymbol.
|
888
|
+
customElementClass = this[PropertySymbol.ownerWindow].customElements.get(tagName);
|
831
889
|
}
|
832
890
|
|
833
891
|
const elementClass: typeof Element =
|
834
892
|
customElementClass ||
|
835
|
-
this[PropertySymbol.
|
893
|
+
this[PropertySymbol.ownerWindow][ElementTag[tagName]] ||
|
836
894
|
HTMLUnknownElement;
|
837
895
|
|
838
896
|
const element = NodeFactory.createNode<IElement>(this, elementClass);
|
839
|
-
|
897
|
+
element[PropertySymbol.tagName] = tagName;
|
840
898
|
|
841
|
-
|
899
|
+
element[PropertySymbol.namespaceURI] = namespaceURI;
|
842
900
|
if (element instanceof Element && options && options.is) {
|
843
901
|
element[PropertySymbol.isValue] = String(options.is);
|
844
902
|
}
|
@@ -855,7 +913,7 @@ export default class Document extends Node implements IDocument {
|
|
855
913
|
* @returns Text node.
|
856
914
|
*/
|
857
915
|
public createTextNode(data?: string): IText {
|
858
|
-
return NodeFactory.createNode<IText>(this, this[PropertySymbol.
|
916
|
+
return NodeFactory.createNode<IText>(this, this[PropertySymbol.ownerWindow].Text, data);
|
859
917
|
}
|
860
918
|
|
861
919
|
/**
|
@@ -865,7 +923,7 @@ export default class Document extends Node implements IDocument {
|
|
865
923
|
* @returns Text node.
|
866
924
|
*/
|
867
925
|
public createComment(data?: string): IComment {
|
868
|
-
return NodeFactory.createNode<IComment>(this, this[PropertySymbol.
|
926
|
+
return NodeFactory.createNode<IComment>(this, this[PropertySymbol.ownerWindow].Comment, data);
|
869
927
|
}
|
870
928
|
|
871
929
|
/**
|
@@ -874,7 +932,7 @@ export default class Document extends Node implements IDocument {
|
|
874
932
|
* @returns Document fragment.
|
875
933
|
*/
|
876
934
|
public createDocumentFragment(): IDocumentFragment {
|
877
|
-
return new this[PropertySymbol.
|
935
|
+
return new this[PropertySymbol.ownerWindow].DocumentFragment();
|
878
936
|
}
|
879
937
|
|
880
938
|
/**
|
@@ -911,8 +969,8 @@ export default class Document extends Node implements IDocument {
|
|
911
969
|
* @returns Event.
|
912
970
|
*/
|
913
971
|
public createEvent(type: string): Event {
|
914
|
-
if (typeof this[PropertySymbol.
|
915
|
-
return new this[PropertySymbol.
|
972
|
+
if (typeof this[PropertySymbol.ownerWindow][type] === 'function') {
|
973
|
+
return new this[PropertySymbol.ownerWindow][type]('init');
|
916
974
|
}
|
917
975
|
return new Event('init');
|
918
976
|
}
|
@@ -935,9 +993,9 @@ export default class Document extends Node implements IDocument {
|
|
935
993
|
* @returns Element.
|
936
994
|
*/
|
937
995
|
public createAttributeNS(namespaceURI: string, qualifiedName: string): IAttr {
|
938
|
-
const attribute = NodeFactory.createNode<IAttr>(this, this[PropertySymbol.
|
939
|
-
attribute.namespaceURI = namespaceURI;
|
940
|
-
attribute.name = qualifiedName;
|
996
|
+
const attribute = NodeFactory.createNode<IAttr>(this, this[PropertySymbol.ownerWindow].Attr);
|
997
|
+
attribute[PropertySymbol.namespaceURI] = namespaceURI;
|
998
|
+
attribute[PropertySymbol.name] = qualifiedName;
|
941
999
|
return <IAttr>attribute;
|
942
1000
|
}
|
943
1001
|
|
@@ -962,7 +1020,7 @@ export default class Document extends Node implements IDocument {
|
|
962
1020
|
* @returns Range.
|
963
1021
|
*/
|
964
1022
|
public createRange(): Range {
|
965
|
-
return new this[PropertySymbol.
|
1023
|
+
return new this[PropertySymbol.ownerWindow].Range();
|
966
1024
|
}
|
967
1025
|
|
968
1026
|
/**
|
@@ -976,7 +1034,9 @@ export default class Document extends Node implements IDocument {
|
|
976
1034
|
throw new DOMException('Parameter 1 was not of type Node.');
|
977
1035
|
}
|
978
1036
|
|
979
|
-
const adopted = node.parentNode
|
1037
|
+
const adopted = node[PropertySymbol.parentNode]
|
1038
|
+
? node[PropertySymbol.parentNode].removeChild(node)
|
1039
|
+
: node;
|
980
1040
|
const document = this;
|
981
1041
|
Object.defineProperty(adopted, 'ownerDocument', { value: document });
|
982
1042
|
return adopted;
|
@@ -988,10 +1048,10 @@ export default class Document extends Node implements IDocument {
|
|
988
1048
|
* @returns Selection.
|
989
1049
|
*/
|
990
1050
|
public getSelection(): Selection {
|
991
|
-
if (!this
|
992
|
-
this
|
1051
|
+
if (!this.#selection) {
|
1052
|
+
this.#selection = new Selection(this);
|
993
1053
|
}
|
994
|
-
return this
|
1054
|
+
return this.#selection;
|
995
1055
|
}
|
996
1056
|
|
997
1057
|
/**
|
@@ -1023,10 +1083,10 @@ export default class Document extends Node implements IDocument {
|
|
1023
1083
|
}
|
1024
1084
|
const processingInstruction = NodeFactory.createNode<IProcessingInstruction>(
|
1025
1085
|
this,
|
1026
|
-
this[PropertySymbol.
|
1086
|
+
this[PropertySymbol.ownerWindow].ProcessingInstruction,
|
1027
1087
|
data
|
1028
1088
|
);
|
1029
|
-
processingInstruction.target = target;
|
1089
|
+
processingInstruction[PropertySymbol.target] = target;
|
1030
1090
|
return processingInstruction;
|
1031
1091
|
}
|
1032
1092
|
|
@@ -1036,7 +1096,7 @@ export default class Document extends Node implements IDocument {
|
|
1036
1096
|
* @param node Node.
|
1037
1097
|
*/
|
1038
1098
|
#importNode(node: INode): void {
|
1039
|
-
|
1099
|
+
node[PropertySymbol.ownerDocument] = this;
|
1040
1100
|
|
1041
1101
|
for (const child of node[PropertySymbol.childNodes]) {
|
1042
1102
|
this.#importNode(child);
|
@@ -29,7 +29,7 @@ import VisibilityStateEnum from './VisibilityStateEnum.js';
|
|
29
29
|
*/
|
30
30
|
export default interface IDocument extends IParentNode {
|
31
31
|
readonly defaultView: IBrowserWindow | null;
|
32
|
-
readonly [PropertySymbol.
|
32
|
+
readonly [PropertySymbol.ownerWindow]: IBrowserWindow;
|
33
33
|
readonly implementation: DOMImplementation;
|
34
34
|
readonly documentElement: IHTMLElement;
|
35
35
|
readonly doctype: IDocumentType;
|
@@ -50,6 +50,7 @@ export default interface IDocument extends IParentNode {
|
|
50
50
|
readonly links: IHTMLCollection<IHTMLElement>;
|
51
51
|
readonly referrer: string;
|
52
52
|
readonly currentScript: IHTMLScriptElement;
|
53
|
+
adoptedStyleSheets: CSSStyleSheet[];
|
53
54
|
cookie: string;
|
54
55
|
title: string;
|
55
56
|
|
@@ -9,14 +9,15 @@ import IHTMLCollection from '../element/IHTMLCollection.js';
|
|
9
9
|
import ElementUtility from '../element/ElementUtility.js';
|
10
10
|
import HTMLCollection from '../element/HTMLCollection.js';
|
11
11
|
import INodeList from '../node/INodeList.js';
|
12
|
+
import NodeTypeEnum from '../node/NodeTypeEnum.js';
|
12
13
|
|
13
14
|
/**
|
14
15
|
* DocumentFragment.
|
15
16
|
*/
|
16
17
|
export default class DocumentFragment extends Node implements IDocumentFragment {
|
17
|
-
public nodeType = Node.DOCUMENT_FRAGMENT_NODE;
|
18
18
|
public readonly [PropertySymbol.children]: IHTMLCollection<IElement> = new HTMLCollection();
|
19
19
|
public [PropertySymbol.rootNode]: INode = this;
|
20
|
+
public [PropertySymbol.nodeType] = NodeTypeEnum.documentFragmentNode;
|
20
21
|
|
21
22
|
/**
|
22
23
|
* Returns the document fragment children.
|
@@ -60,7 +61,10 @@ export default class DocumentFragment extends Node implements IDocumentFragment
|
|
60
61
|
public get textContent(): string {
|
61
62
|
let result = '';
|
62
63
|
for (const childNode of this[PropertySymbol.childNodes]) {
|
63
|
-
if (
|
64
|
+
if (
|
65
|
+
childNode[PropertySymbol.nodeType] === NodeTypeEnum.elementNode ||
|
66
|
+
childNode[PropertySymbol.nodeType] === NodeTypeEnum.textNode
|
67
|
+
) {
|
64
68
|
result += childNode.textContent;
|
65
69
|
}
|
66
70
|
}
|
@@ -77,7 +81,7 @@ export default class DocumentFragment extends Node implements IDocumentFragment
|
|
77
81
|
this.removeChild(child);
|
78
82
|
}
|
79
83
|
if (textContent) {
|
80
|
-
this.appendChild(this.ownerDocument.createTextNode(textContent));
|
84
|
+
this.appendChild(this[PropertySymbol.ownerDocument].createTextNode(textContent));
|
81
85
|
}
|
82
86
|
}
|
83
87
|
|
@@ -150,7 +154,7 @@ export default class DocumentFragment extends Node implements IDocumentFragment
|
|
150
154
|
|
151
155
|
if (deep) {
|
152
156
|
for (const node of clone[PropertySymbol.childNodes]) {
|
153
|
-
if (node.nodeType ===
|
157
|
+
if (node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
|
154
158
|
clone[PropertySymbol.children].push(<IElement>node);
|
155
159
|
}
|
156
160
|
}
|
@@ -1,13 +1,42 @@
|
|
1
1
|
import Node from '../node/Node.js';
|
2
|
+
import * as PropertySymbol from '../../PropertySymbol.js';
|
3
|
+
import NodeTypeEnum from '../node/NodeTypeEnum.js';
|
2
4
|
|
3
5
|
/**
|
4
6
|
* DocumentType.
|
5
7
|
*/
|
6
8
|
export default class DocumentType extends Node {
|
7
|
-
public
|
8
|
-
public name
|
9
|
-
public publicId = '';
|
10
|
-
public systemId = '';
|
9
|
+
public [PropertySymbol.nodeType] = NodeTypeEnum.documentTypeNode;
|
10
|
+
public [PropertySymbol.name] = '';
|
11
|
+
public [PropertySymbol.publicId] = '';
|
12
|
+
public [PropertySymbol.systemId] = '';
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Returns name.
|
16
|
+
*
|
17
|
+
* @returns Name.
|
18
|
+
*/
|
19
|
+
public get name(): string {
|
20
|
+
return this[PropertySymbol.name];
|
21
|
+
}
|
22
|
+
|
23
|
+
/**
|
24
|
+
* Returns public ID.
|
25
|
+
*
|
26
|
+
* @returns Public ID.
|
27
|
+
*/
|
28
|
+
public get publicId(): string {
|
29
|
+
return this[PropertySymbol.publicId];
|
30
|
+
}
|
31
|
+
|
32
|
+
/**
|
33
|
+
* Returns system ID.
|
34
|
+
*
|
35
|
+
* @returns System ID.
|
36
|
+
*/
|
37
|
+
public get systemId(): string {
|
38
|
+
return this[PropertySymbol.systemId];
|
39
|
+
}
|
11
40
|
|
12
41
|
/**
|
13
42
|
* Node name.
|
@@ -36,9 +65,9 @@ export default class DocumentType extends Node {
|
|
36
65
|
*/
|
37
66
|
public cloneNode(deep = false): DocumentType {
|
38
67
|
const clone = <DocumentType>super.cloneNode(deep);
|
39
|
-
clone.name = this.name;
|
40
|
-
clone.publicId = this.publicId;
|
41
|
-
clone.systemId = this.systemId;
|
68
|
+
clone[PropertySymbol.name] = this[PropertySymbol.name];
|
69
|
+
clone[PropertySymbol.publicId] = this[PropertySymbol.publicId];
|
70
|
+
clone[PropertySymbol.systemId] = this[PropertySymbol.systemId];
|
42
71
|
return clone;
|
43
72
|
}
|
44
73
|
}
|