happy-dom 13.0.6 → 13.1.0
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/async-task-manager/AsyncTaskManager.cjs +11 -5
- package/cjs/async-task-manager/AsyncTaskManager.cjs.map +1 -1
- package/cjs/async-task-manager/AsyncTaskManager.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/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 +20 -26
- package/cjs/window/BrowserWindow.cjs.map +1 -1
- package/cjs/window/BrowserWindow.d.ts.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/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
- package/lib/async-task-manager/AsyncTaskManager.js +11 -5
- package/lib/async-task-manager/AsyncTaskManager.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/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.d.ts.map +1 -1
- package/lib/window/BrowserWindow.js +20 -26
- 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/async-task-manager/AsyncTaskManager.ts +12 -5
- 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/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 +18 -24
- 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/node/INode.ts
CHANGED
@@ -22,8 +22,8 @@ export default interface INode extends IEventTarget {
|
|
22
22
|
readonly DOCUMENT_POSITION_CONTAINED_BY: NodeDocumentPositionEnum;
|
23
23
|
readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: NodeDocumentPositionEnum;
|
24
24
|
readonly ownerDocument: IDocument;
|
25
|
-
readonly parentNode: INode;
|
26
|
-
readonly parentElement: IElement;
|
25
|
+
readonly parentNode: INode | null;
|
26
|
+
readonly parentElement: IElement | null;
|
27
27
|
readonly nodeType: number;
|
28
28
|
readonly childNodes: INodeList<INode>;
|
29
29
|
readonly isConnected: boolean;
|
package/src/nodes/node/Node.ts
CHANGED
@@ -17,7 +17,7 @@ import NodeFactory from '../NodeFactory.js';
|
|
17
17
|
* Node.
|
18
18
|
*/
|
19
19
|
export default class Node extends EventTarget implements INode {
|
20
|
-
//
|
20
|
+
// This is used when overriding a Node class and set it in a owner document context (used in BrowserWindow.constructor()).
|
21
21
|
public static [PropertySymbol.ownerDocument]: IDocument | null;
|
22
22
|
|
23
23
|
// Public properties
|
@@ -37,28 +37,29 @@ export default class Node extends EventTarget implements INode {
|
|
37
37
|
public static readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC =
|
38
38
|
NodeDocumentPositionEnum.implementationSpecific;
|
39
39
|
public static readonly DOCUMENT_POSITION_PRECEDING = NodeDocumentPositionEnum.preceding;
|
40
|
-
|
41
|
-
|
42
|
-
public readonly
|
43
|
-
public readonly
|
44
|
-
public readonly
|
45
|
-
public readonly
|
46
|
-
public readonly
|
47
|
-
public readonly
|
48
|
-
public readonly
|
49
|
-
public readonly
|
50
|
-
public readonly
|
51
|
-
public readonly
|
52
|
-
public readonly
|
53
|
-
public readonly
|
54
|
-
|
55
|
-
public readonly
|
56
|
-
public readonly
|
57
|
-
public readonly nodeType: number;
|
58
|
-
public readonly isConnected: boolean = false;
|
59
|
-
public readonly ownerDocument: IDocument = null;
|
40
|
+
|
41
|
+
// Defined on the prototype
|
42
|
+
public readonly ELEMENT_NODE;
|
43
|
+
public readonly ATTRIBUTE_NODE;
|
44
|
+
public readonly TEXT_NODE;
|
45
|
+
public readonly CDATA_SECTION_NODE;
|
46
|
+
public readonly COMMENT_NODE;
|
47
|
+
public readonly DOCUMENT_NODE;
|
48
|
+
public readonly DOCUMENT_TYPE_NODE;
|
49
|
+
public readonly DOCUMENT_FRAGMENT_NODE;
|
50
|
+
public readonly PROCESSING_INSTRUCTION_NODE;
|
51
|
+
public readonly DOCUMENT_POSITION_CONTAINED_BY;
|
52
|
+
public readonly DOCUMENT_POSITION_CONTAINS;
|
53
|
+
public readonly DOCUMENT_POSITION_DISCONNECTED;
|
54
|
+
public readonly DOCUMENT_POSITION_FOLLOWING;
|
55
|
+
public readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC;
|
56
|
+
public readonly DOCUMENT_POSITION_PRECEDING;
|
60
57
|
|
61
58
|
// Internal properties
|
59
|
+
public [PropertySymbol.isConnected] = false;
|
60
|
+
public [PropertySymbol.ownerDocument]: IDocument;
|
61
|
+
public [PropertySymbol.parentNode]: INode | null = null;
|
62
|
+
public [PropertySymbol.nodeType]: NodeTypeEnum;
|
62
63
|
public [PropertySymbol.rootNode]: INode = null;
|
63
64
|
public [PropertySymbol.formNode]: INode = null;
|
64
65
|
public [PropertySymbol.selectNode]: INode = null;
|
@@ -72,7 +73,9 @@ export default class Node extends EventTarget implements INode {
|
|
72
73
|
constructor() {
|
73
74
|
super();
|
74
75
|
if ((<typeof Node>this.constructor)[PropertySymbol.ownerDocument] !== undefined) {
|
75
|
-
this.ownerDocument = (<typeof Node>this.constructor)[
|
76
|
+
this[PropertySymbol.ownerDocument] = (<typeof Node>this.constructor)[
|
77
|
+
PropertySymbol.ownerDocument
|
78
|
+
];
|
76
79
|
} else {
|
77
80
|
const ownerDocument = NodeFactory.pullOwnerDocument();
|
78
81
|
if (!ownerDocument) {
|
@@ -80,7 +83,7 @@ export default class Node extends EventTarget implements INode {
|
|
80
83
|
'Failed to construct "Node": No owner document in queue. Please use "NodeFactory" to create instances of a Node.'
|
81
84
|
);
|
82
85
|
}
|
83
|
-
this.ownerDocument = ownerDocument;
|
86
|
+
this[PropertySymbol.ownerDocument] = ownerDocument;
|
84
87
|
}
|
85
88
|
}
|
86
89
|
|
@@ -93,6 +96,42 @@ export default class Node extends EventTarget implements INode {
|
|
93
96
|
return this.constructor.name;
|
94
97
|
}
|
95
98
|
|
99
|
+
/**
|
100
|
+
* Returns connected state.
|
101
|
+
*
|
102
|
+
* @returns Connected state.
|
103
|
+
*/
|
104
|
+
public get isConnected(): boolean {
|
105
|
+
return this[PropertySymbol.isConnected];
|
106
|
+
}
|
107
|
+
|
108
|
+
/**
|
109
|
+
* Returns owner document.
|
110
|
+
*
|
111
|
+
* @returns Owner document.
|
112
|
+
*/
|
113
|
+
public get ownerDocument(): IDocument {
|
114
|
+
return this[PropertySymbol.ownerDocument];
|
115
|
+
}
|
116
|
+
|
117
|
+
/**
|
118
|
+
* Returns parent node.
|
119
|
+
*
|
120
|
+
* @returns Parent node.
|
121
|
+
*/
|
122
|
+
public get parentNode(): INode | null {
|
123
|
+
return this[PropertySymbol.parentNode];
|
124
|
+
}
|
125
|
+
|
126
|
+
/**
|
127
|
+
* Returns node type.
|
128
|
+
*
|
129
|
+
* @returns Node type.
|
130
|
+
*/
|
131
|
+
public get nodeType(): number {
|
132
|
+
return this[PropertySymbol.nodeType];
|
133
|
+
}
|
134
|
+
|
96
135
|
/**
|
97
136
|
* Get child nodes.
|
98
137
|
*
|
@@ -153,10 +192,12 @@ export default class Node extends EventTarget implements INode {
|
|
153
192
|
* @returns Node.
|
154
193
|
*/
|
155
194
|
public get previousSibling(): INode {
|
156
|
-
if (this.parentNode) {
|
157
|
-
const index = (<Node>this.parentNode)[PropertySymbol.childNodes].indexOf(
|
195
|
+
if (this[PropertySymbol.parentNode]) {
|
196
|
+
const index = (<Node>this[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(
|
197
|
+
this
|
198
|
+
);
|
158
199
|
if (index > 0) {
|
159
|
-
return (<Node>this.parentNode)[PropertySymbol.childNodes][index - 1];
|
200
|
+
return (<Node>this[PropertySymbol.parentNode])[PropertySymbol.childNodes][index - 1];
|
160
201
|
}
|
161
202
|
}
|
162
203
|
return null;
|
@@ -168,10 +209,15 @@ export default class Node extends EventTarget implements INode {
|
|
168
209
|
* @returns Node.
|
169
210
|
*/
|
170
211
|
public get nextSibling(): INode {
|
171
|
-
if (this.parentNode) {
|
172
|
-
const index = (<Node>this.parentNode)[PropertySymbol.childNodes].indexOf(
|
173
|
-
|
174
|
-
|
212
|
+
if (this[PropertySymbol.parentNode]) {
|
213
|
+
const index = (<Node>this[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(
|
214
|
+
this
|
215
|
+
);
|
216
|
+
if (
|
217
|
+
index > -1 &&
|
218
|
+
index + 1 < (<Node>this[PropertySymbol.parentNode])[PropertySymbol.childNodes].length
|
219
|
+
) {
|
220
|
+
return (<Node>this[PropertySymbol.parentNode])[PropertySymbol.childNodes][index + 1];
|
175
221
|
}
|
176
222
|
}
|
177
223
|
return null;
|
@@ -206,10 +252,10 @@ export default class Node extends EventTarget implements INode {
|
|
206
252
|
*
|
207
253
|
* @returns Element.
|
208
254
|
*/
|
209
|
-
public get parentElement(): IElement {
|
210
|
-
let parent = this.parentNode;
|
211
|
-
while (parent && parent.nodeType !== NodeTypeEnum.elementNode) {
|
212
|
-
parent = parent.parentNode;
|
255
|
+
public get parentElement(): IElement | null {
|
256
|
+
let parent = this[PropertySymbol.parentNode];
|
257
|
+
while (parent && parent[PropertySymbol.nodeType] !== NodeTypeEnum.elementNode) {
|
258
|
+
parent = parent[PropertySymbol.parentNode];
|
213
259
|
}
|
214
260
|
return <IElement>parent;
|
215
261
|
}
|
@@ -220,11 +266,11 @@ export default class Node extends EventTarget implements INode {
|
|
220
266
|
* @returns Base URI.
|
221
267
|
*/
|
222
268
|
public get baseURI(): string {
|
223
|
-
const base = <IHTMLBaseElement>this.ownerDocument.querySelector('base');
|
269
|
+
const base = <IHTMLBaseElement>this[PropertySymbol.ownerDocument].querySelector('base');
|
224
270
|
if (base) {
|
225
271
|
return base.href;
|
226
272
|
}
|
227
|
-
return this.ownerDocument[PropertySymbol.
|
273
|
+
return this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].location.href;
|
228
274
|
}
|
229
275
|
|
230
276
|
/**
|
@@ -264,7 +310,7 @@ export default class Node extends EventTarget implements INode {
|
|
264
310
|
* @returns Node.
|
265
311
|
*/
|
266
312
|
public getRootNode(options?: { composed: boolean }): INode {
|
267
|
-
if (!this.isConnected) {
|
313
|
+
if (!this[PropertySymbol.isConnected]) {
|
268
314
|
return this;
|
269
315
|
}
|
270
316
|
|
@@ -272,7 +318,7 @@ export default class Node extends EventTarget implements INode {
|
|
272
318
|
return this[PropertySymbol.rootNode];
|
273
319
|
}
|
274
320
|
|
275
|
-
return this.ownerDocument;
|
321
|
+
return this[PropertySymbol.ownerDocument];
|
276
322
|
}
|
277
323
|
|
278
324
|
/**
|
@@ -282,19 +328,22 @@ export default class Node extends EventTarget implements INode {
|
|
282
328
|
* @returns Cloned node.
|
283
329
|
*/
|
284
330
|
public cloneNode(deep = false): INode {
|
285
|
-
const clone = NodeFactory.createNode<Node>(
|
331
|
+
const clone = NodeFactory.createNode<Node>(
|
332
|
+
this[PropertySymbol.ownerDocument],
|
333
|
+
<typeof Node>this.constructor
|
334
|
+
);
|
286
335
|
|
287
336
|
// Document has childNodes directly when it is created
|
288
337
|
if (clone[PropertySymbol.childNodes].length) {
|
289
338
|
for (const node of clone[PropertySymbol.childNodes].slice()) {
|
290
|
-
node.parentNode.removeChild(node);
|
339
|
+
node[PropertySymbol.parentNode].removeChild(node);
|
291
340
|
}
|
292
341
|
}
|
293
342
|
|
294
343
|
if (deep) {
|
295
344
|
for (const childNode of this[PropertySymbol.childNodes]) {
|
296
345
|
const childClone = childNode.cloneNode(true);
|
297
|
-
|
346
|
+
childClone[PropertySymbol.parentNode] = clone;
|
298
347
|
clone[PropertySymbol.childNodes].push(childClone);
|
299
348
|
}
|
300
349
|
}
|
@@ -400,14 +449,14 @@ export default class Node extends EventTarget implements INode {
|
|
400
449
|
* @param parentNode Parent node.
|
401
450
|
*/
|
402
451
|
public [PropertySymbol.connectToNode](parentNode: INode = null): void {
|
403
|
-
const isConnected = !!parentNode && parentNode.isConnected;
|
452
|
+
const isConnected = !!parentNode && parentNode[PropertySymbol.isConnected];
|
404
453
|
const formNode = (<Node>this)[PropertySymbol.formNode];
|
405
454
|
const selectNode = (<Node>this)[PropertySymbol.selectNode];
|
406
455
|
const textAreaNode = (<Node>this)[PropertySymbol.textAreaNode];
|
407
456
|
|
408
|
-
if (this.nodeType !== NodeTypeEnum.documentFragmentNode) {
|
409
|
-
|
410
|
-
|
457
|
+
if (this[PropertySymbol.nodeType] !== NodeTypeEnum.documentFragmentNode) {
|
458
|
+
this[PropertySymbol.parentNode] = parentNode;
|
459
|
+
this[PropertySymbol.rootNode] =
|
411
460
|
isConnected && parentNode ? (<Node>parentNode)[PropertySymbol.rootNode] : null;
|
412
461
|
|
413
462
|
if (this['tagName'] !== 'FORM') {
|
@@ -429,12 +478,12 @@ export default class Node extends EventTarget implements INode {
|
|
429
478
|
}
|
430
479
|
}
|
431
480
|
|
432
|
-
if (this.isConnected !== isConnected) {
|
433
|
-
|
481
|
+
if (this[PropertySymbol.isConnected] !== isConnected) {
|
482
|
+
this[PropertySymbol.isConnected] = isConnected;
|
434
483
|
|
435
484
|
if (!isConnected) {
|
436
|
-
if (this.ownerDocument[PropertySymbol.activeElement] === this) {
|
437
|
-
this.ownerDocument[PropertySymbol.activeElement] = null;
|
485
|
+
if (this[PropertySymbol.ownerDocument][PropertySymbol.activeElement] === this) {
|
486
|
+
this[PropertySymbol.ownerDocument][PropertySymbol.activeElement] = null;
|
438
487
|
}
|
439
488
|
}
|
440
489
|
|
@@ -493,18 +542,18 @@ export default class Node extends EventTarget implements INode {
|
|
493
542
|
/**
|
494
543
|
* 4. If node1 is an attribute, then set attr1 to node1 and node1 to attr1’s element.
|
495
544
|
*/
|
496
|
-
if (node1.nodeType ===
|
545
|
+
if (node1[PropertySymbol.nodeType] === NodeTypeEnum.attributeNode) {
|
497
546
|
attr1 = node1;
|
498
|
-
node1 = (<IAttr>attr1).ownerElement;
|
547
|
+
node1 = (<IAttr>attr1)[PropertySymbol.ownerElement];
|
499
548
|
}
|
500
549
|
|
501
550
|
/**
|
502
551
|
* 5. If node2 is an attribute, then:
|
503
552
|
* 5.1. Set attr2 to node2 and node2 to attr2’s element.
|
504
553
|
*/
|
505
|
-
if (node2.nodeType ===
|
554
|
+
if (node2[PropertySymbol.nodeType] === NodeTypeEnum.attributeNode) {
|
506
555
|
attr2 = node2;
|
507
|
-
node2 = (<IAttr>attr2).ownerElement;
|
556
|
+
node2 = (<IAttr>attr2)[PropertySymbol.ownerElement];
|
508
557
|
|
509
558
|
/**
|
510
559
|
* 5.2. If attr1 and node1 are non-null, and node2 is node1, then:
|
@@ -513,7 +562,7 @@ export default class Node extends EventTarget implements INode {
|
|
513
562
|
/**
|
514
563
|
* 5.2.1. For each attr in node2’s attribute list:
|
515
564
|
*/
|
516
|
-
for (const attr of Object.values((<IElement>node2).attributes)) {
|
565
|
+
for (const attr of Object.values((<IElement>node2)[PropertySymbol.attributes])) {
|
517
566
|
/**
|
518
567
|
* 5.2.1.1. If attr equals attr1, then return the result of adding DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC and DOCUMENT_POSITION_PRECEDING.
|
519
568
|
*/
|
@@ -547,7 +596,7 @@ export default class Node extends EventTarget implements INode {
|
|
547
596
|
}
|
548
597
|
|
549
598
|
node2Ancestors.push(node2Ancestor);
|
550
|
-
node2Ancestor = node2Ancestor.parentNode;
|
599
|
+
node2Ancestor = node2Ancestor[PropertySymbol.parentNode];
|
551
600
|
}
|
552
601
|
|
553
602
|
const node1Ancestors: INode[] = [];
|
@@ -562,7 +611,7 @@ export default class Node extends EventTarget implements INode {
|
|
562
611
|
}
|
563
612
|
|
564
613
|
node1Ancestors.push(node1Ancestor);
|
565
|
-
node1Ancestor = node1Ancestor.parentNode;
|
614
|
+
node1Ancestor = node1Ancestor[PropertySymbol.parentNode];
|
566
615
|
}
|
567
616
|
|
568
617
|
const reverseArrayIndex = (array: INode[], reverseIndex: number): INode => {
|
@@ -678,3 +727,27 @@ export default class Node extends EventTarget implements INode {
|
|
678
727
|
return this === node;
|
679
728
|
}
|
680
729
|
}
|
730
|
+
|
731
|
+
// According to the spec, these properties should be on the prototype.
|
732
|
+
(<NodeTypeEnum>Node.prototype.ELEMENT_NODE) = NodeTypeEnum.elementNode;
|
733
|
+
(<NodeTypeEnum>Node.prototype.ATTRIBUTE_NODE) = NodeTypeEnum.attributeNode;
|
734
|
+
|
735
|
+
(<NodeTypeEnum>Node.prototype.TEXT_NODE) = NodeTypeEnum.textNode;
|
736
|
+
(<NodeTypeEnum>Node.prototype.CDATA_SECTION_NODE) = NodeTypeEnum.cdataSectionNode;
|
737
|
+
(<NodeTypeEnum>Node.prototype.COMMENT_NODE) = NodeTypeEnum.commentNode;
|
738
|
+
(<NodeTypeEnum>Node.prototype.DOCUMENT_NODE) = NodeTypeEnum.documentNode;
|
739
|
+
(<NodeTypeEnum>Node.prototype.DOCUMENT_TYPE_NODE) = NodeTypeEnum.documentTypeNode;
|
740
|
+
(<NodeTypeEnum>Node.prototype.DOCUMENT_FRAGMENT_NODE) = NodeTypeEnum.documentFragmentNode;
|
741
|
+
(<NodeTypeEnum>Node.prototype.PROCESSING_INSTRUCTION_NODE) = NodeTypeEnum.processingInstructionNode;
|
742
|
+
(<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_CONTAINED_BY) =
|
743
|
+
NodeDocumentPositionEnum.containedBy;
|
744
|
+
(<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_CONTAINS) =
|
745
|
+
NodeDocumentPositionEnum.contains;
|
746
|
+
(<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_DISCONNECTED) =
|
747
|
+
NodeDocumentPositionEnum.disconnect;
|
748
|
+
(<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_FOLLOWING) =
|
749
|
+
NodeDocumentPositionEnum.following;
|
750
|
+
(<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC) =
|
751
|
+
NodeDocumentPositionEnum.implementationSpecific;
|
752
|
+
(<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_PRECEDING) =
|
753
|
+
NodeDocumentPositionEnum.preceding;
|
@@ -47,7 +47,7 @@ export default class NodeUtility {
|
|
47
47
|
|
48
48
|
// If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
|
49
49
|
// See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
|
50
|
-
if (node.nodeType === NodeTypeEnum.documentFragmentNode) {
|
50
|
+
if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentFragmentNode) {
|
51
51
|
for (const child of (<Node>node)[PropertySymbol.childNodes].slice()) {
|
52
52
|
ancestorNode.appendChild(child);
|
53
53
|
}
|
@@ -55,15 +55,17 @@ export default class NodeUtility {
|
|
55
55
|
}
|
56
56
|
|
57
57
|
// Remove the node from its previous parent if it has any.
|
58
|
-
if (node.parentNode) {
|
59
|
-
const index = (<Node>node.parentNode)[PropertySymbol.childNodes].indexOf(
|
58
|
+
if (node[PropertySymbol.parentNode]) {
|
59
|
+
const index = (<Node>node[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(
|
60
|
+
node
|
61
|
+
);
|
60
62
|
if (index !== -1) {
|
61
|
-
(<Node>node.parentNode)[PropertySymbol.childNodes].splice(index, 1);
|
63
|
+
(<Node>node[PropertySymbol.parentNode])[PropertySymbol.childNodes].splice(index, 1);
|
62
64
|
}
|
63
65
|
}
|
64
66
|
|
65
|
-
if (ancestorNode.isConnected) {
|
66
|
-
(ancestorNode.ownerDocument || this)[PropertySymbol.cacheID]++;
|
67
|
+
if (ancestorNode[PropertySymbol.isConnected]) {
|
68
|
+
(ancestorNode[PropertySymbol.ownerDocument] || this)[PropertySymbol.cacheID]++;
|
67
69
|
}
|
68
70
|
|
69
71
|
(<Node>ancestorNode)[PropertySymbol.childNodes].push(node);
|
@@ -105,8 +107,8 @@ export default class NodeUtility {
|
|
105
107
|
throw new DOMException('Failed to remove node. Node is not child of parent.');
|
106
108
|
}
|
107
109
|
|
108
|
-
if (ancestorNode.isConnected) {
|
109
|
-
(ancestorNode.ownerDocument || this)[PropertySymbol.cacheID]++;
|
110
|
+
if (ancestorNode[PropertySymbol.isConnected]) {
|
111
|
+
(ancestorNode[PropertySymbol.ownerDocument] || this)[PropertySymbol.cacheID]++;
|
110
112
|
}
|
111
113
|
|
112
114
|
(<Node>ancestorNode)[PropertySymbol.childNodes].splice(index, 1);
|
@@ -162,7 +164,7 @@ export default class NodeUtility {
|
|
162
164
|
|
163
165
|
// If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
|
164
166
|
// See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
|
165
|
-
if (newNode.nodeType ===
|
167
|
+
if (newNode[PropertySymbol.nodeType] === NodeTypeEnum.documentFragmentNode) {
|
166
168
|
for (const child of (<Node>newNode)[PropertySymbol.childNodes].slice()) {
|
167
169
|
ancestorNode.insertBefore(child, referenceNode);
|
168
170
|
}
|
@@ -182,14 +184,16 @@ export default class NodeUtility {
|
|
182
184
|
);
|
183
185
|
}
|
184
186
|
|
185
|
-
if (ancestorNode.isConnected) {
|
186
|
-
(ancestorNode.ownerDocument || this)[PropertySymbol.cacheID]++;
|
187
|
+
if (ancestorNode[PropertySymbol.isConnected]) {
|
188
|
+
(ancestorNode[PropertySymbol.ownerDocument] || this)[PropertySymbol.cacheID]++;
|
187
189
|
}
|
188
190
|
|
189
|
-
if (newNode.parentNode) {
|
190
|
-
const index = (<Node>newNode.parentNode)[PropertySymbol.childNodes].indexOf(
|
191
|
+
if (newNode[PropertySymbol.parentNode]) {
|
192
|
+
const index = (<Node>newNode[PropertySymbol.parentNode])[PropertySymbol.childNodes].indexOf(
|
193
|
+
newNode
|
194
|
+
);
|
191
195
|
if (index !== -1) {
|
192
|
-
(<Node>newNode.parentNode)[PropertySymbol.childNodes].splice(index, 1);
|
196
|
+
(<Node>newNode[PropertySymbol.parentNode])[PropertySymbol.childNodes].splice(index, 1);
|
193
197
|
}
|
194
198
|
}
|
195
199
|
|
@@ -229,7 +233,7 @@ export default class NodeUtility {
|
|
229
233
|
* @returns "true" if the node is a text node.
|
230
234
|
*/
|
231
235
|
public static isTextNode(node: INode | null): node is IText {
|
232
|
-
return node?.nodeType === NodeTypeEnum.textNode;
|
236
|
+
return node?.[PropertySymbol.nodeType] === NodeTypeEnum.textNode;
|
233
237
|
}
|
234
238
|
|
235
239
|
/**
|
@@ -261,27 +265,30 @@ export default class NodeUtility {
|
|
261
265
|
return false;
|
262
266
|
}
|
263
267
|
|
264
|
-
if (
|
268
|
+
if (
|
269
|
+
includeShadowRoots &&
|
270
|
+
referenceNode[PropertySymbol.isConnected] !== ancestorNode[PropertySymbol.isConnected]
|
271
|
+
) {
|
265
272
|
return false;
|
266
273
|
}
|
267
274
|
|
268
275
|
if (
|
269
276
|
includeShadowRoots &&
|
270
|
-
ancestorNode === referenceNode.ownerDocument &&
|
271
|
-
referenceNode.isConnected
|
277
|
+
ancestorNode === referenceNode[PropertySymbol.ownerDocument] &&
|
278
|
+
referenceNode[PropertySymbol.isConnected]
|
272
279
|
) {
|
273
280
|
return true;
|
274
281
|
}
|
275
282
|
|
276
|
-
let parent: INode = referenceNode.parentNode;
|
283
|
+
let parent: INode = referenceNode[PropertySymbol.parentNode];
|
277
284
|
|
278
285
|
while (parent) {
|
279
286
|
if (ancestorNode === parent) {
|
280
287
|
return true;
|
281
288
|
}
|
282
289
|
|
283
|
-
parent = parent.parentNode
|
284
|
-
? parent.parentNode
|
290
|
+
parent = parent[PropertySymbol.parentNode]
|
291
|
+
? parent[PropertySymbol.parentNode]
|
285
292
|
: includeShadowRoots && (<IShadowRoot>parent).host
|
286
293
|
? (<IShadowRoot>parent).host
|
287
294
|
: null;
|
@@ -330,7 +337,7 @@ export default class NodeUtility {
|
|
330
337
|
* @returns Node length.
|
331
338
|
*/
|
332
339
|
public static getNodeLength(node: INode): number {
|
333
|
-
switch (node.nodeType) {
|
340
|
+
switch (node[PropertySymbol.nodeType]) {
|
334
341
|
case NodeTypeEnum.documentTypeNode:
|
335
342
|
return 0;
|
336
343
|
|
@@ -374,7 +381,7 @@ export default class NodeUtility {
|
|
374
381
|
return nextSibling;
|
375
382
|
}
|
376
383
|
|
377
|
-
current = current.parentNode;
|
384
|
+
current = current[PropertySymbol.parentNode];
|
378
385
|
}
|
379
386
|
|
380
387
|
return null;
|
@@ -388,7 +395,7 @@ export default class NodeUtility {
|
|
388
395
|
*/
|
389
396
|
public static nextDescendantNode(node: INode): INode {
|
390
397
|
while (node && !node.nextSibling) {
|
391
|
-
node = node.parentNode;
|
398
|
+
node = node[PropertySymbol.parentNode];
|
392
399
|
}
|
393
400
|
|
394
401
|
if (!node) {
|
@@ -405,13 +412,13 @@ export default class NodeUtility {
|
|
405
412
|
* @param elementB
|
406
413
|
*/
|
407
414
|
public static attributeListsEqual(elementA: IElement, elementB: IElement): boolean {
|
408
|
-
for (let i = 0, max = elementA.attributes.length; i < max; i++) {
|
409
|
-
const attributeA = elementA.attributes[i];
|
410
|
-
const attributeB = elementB.attributes.getNamedItemNS(
|
411
|
-
attributeA.namespaceURI,
|
415
|
+
for (let i = 0, max = elementA[PropertySymbol.attributes].length; i < max; i++) {
|
416
|
+
const attributeA = elementA[PropertySymbol.attributes][i];
|
417
|
+
const attributeB = elementB[PropertySymbol.attributes].getNamedItemNS(
|
418
|
+
attributeA[PropertySymbol.namespaceURI],
|
412
419
|
attributeA.localName
|
413
420
|
);
|
414
|
-
if (!attributeB || attributeB.value !== attributeA.value) {
|
421
|
+
if (!attributeB || attributeB[PropertySymbol.value] !== attributeA[PropertySymbol.value]) {
|
415
422
|
return false;
|
416
423
|
}
|
417
424
|
}
|
@@ -426,11 +433,11 @@ export default class NodeUtility {
|
|
426
433
|
* @param nodeB Node B.
|
427
434
|
*/
|
428
435
|
public static isEqualNode(nodeA: INode, nodeB: INode): boolean {
|
429
|
-
if (nodeA.nodeType !== nodeB.nodeType) {
|
436
|
+
if (nodeA[PropertySymbol.nodeType] !== nodeB[PropertySymbol.nodeType]) {
|
430
437
|
return false;
|
431
438
|
}
|
432
439
|
|
433
|
-
switch (nodeA.nodeType) {
|
440
|
+
switch (nodeA[PropertySymbol.nodeType]) {
|
434
441
|
case NodeTypeEnum.documentTypeNode:
|
435
442
|
const documentTypeA = <IDocumentType>nodeA;
|
436
443
|
const documentTypeB = <IDocumentType>nodeB;
|
@@ -448,10 +455,10 @@ export default class NodeUtility {
|
|
448
455
|
const elementB = <IElement>nodeB;
|
449
456
|
|
450
457
|
if (
|
451
|
-
elementA.namespaceURI !== elementB.namespaceURI ||
|
452
|
-
elementA.prefix !== elementB.prefix ||
|
458
|
+
elementA[PropertySymbol.namespaceURI] !== elementB[PropertySymbol.namespaceURI] ||
|
459
|
+
elementA[PropertySymbol.prefix] !== elementB[PropertySymbol.prefix] ||
|
453
460
|
elementA.localName !== elementB.localName ||
|
454
|
-
elementA.attributes.length !== elementB.attributes.length
|
461
|
+
elementA[PropertySymbol.attributes].length !== elementB[PropertySymbol.attributes].length
|
455
462
|
) {
|
456
463
|
return false;
|
457
464
|
}
|
@@ -461,9 +468,9 @@ export default class NodeUtility {
|
|
461
468
|
const attributeB = <IAttr>nodeB;
|
462
469
|
|
463
470
|
if (
|
464
|
-
attributeA.namespaceURI !== attributeB.namespaceURI ||
|
471
|
+
attributeA[PropertySymbol.namespaceURI] !== attributeB[PropertySymbol.namespaceURI] ||
|
465
472
|
attributeA.localName !== attributeB.localName ||
|
466
|
-
attributeA.value !== attributeB.value
|
473
|
+
attributeA[PropertySymbol.value] !== attributeB[PropertySymbol.value]
|
467
474
|
) {
|
468
475
|
return false;
|
469
476
|
}
|
@@ -492,7 +499,7 @@ export default class NodeUtility {
|
|
492
499
|
}
|
493
500
|
|
494
501
|
if (
|
495
|
-
nodeA.nodeType === NodeTypeEnum.elementNode &&
|
502
|
+
nodeA[PropertySymbol.nodeType] === NodeTypeEnum.elementNode &&
|
496
503
|
!NodeUtility.attributeListsEqual(<IElement>nodeA, <IElement>nodeB)
|
497
504
|
) {
|
498
505
|
return false;
|
@@ -24,7 +24,9 @@ export default class ParentNodeUtility {
|
|
24
24
|
): void {
|
25
25
|
for (const node of nodes) {
|
26
26
|
if (typeof node === 'string') {
|
27
|
-
XMLParser.parse(<IDocument>parentNode.ownerDocument, node, {
|
27
|
+
XMLParser.parse(<IDocument>parentNode[PropertySymbol.ownerDocument], node, {
|
28
|
+
rootNode: parentNode
|
29
|
+
});
|
28
30
|
} else {
|
29
31
|
parentNode.appendChild(node);
|
30
32
|
}
|
@@ -45,7 +47,7 @@ export default class ParentNodeUtility {
|
|
45
47
|
for (const node of nodes) {
|
46
48
|
if (typeof node === 'string') {
|
47
49
|
const newChildNodes = (<DocumentFragment>(
|
48
|
-
XMLParser.parse(<IDocument>parentNode.ownerDocument, node)
|
50
|
+
XMLParser.parse(<IDocument>parentNode[PropertySymbol.ownerDocument], node)
|
49
51
|
))[PropertySymbol.childNodes].slice();
|
50
52
|
for (const newChildNode of newChildNodes) {
|
51
53
|
parentNode.insertBefore(newChildNode, firstChild);
|
@@ -113,7 +115,7 @@ export default class ParentNodeUtility {
|
|
113
115
|
let matches = new HTMLCollection<IElement>();
|
114
116
|
|
115
117
|
for (const child of (<DocumentFragment>parentNode)[PropertySymbol.children]) {
|
116
|
-
if (includeAll || child.tagName === upperTagName) {
|
118
|
+
if (includeAll || child[PropertySymbol.tagName] === upperTagName) {
|
117
119
|
matches.push(child);
|
118
120
|
}
|
119
121
|
matches = <HTMLCollection<IElement>>(
|
@@ -142,7 +144,10 @@ export default class ParentNodeUtility {
|
|
142
144
|
let matches = new HTMLCollection<IElement>();
|
143
145
|
|
144
146
|
for (const child of (<DocumentFragment>parentNode)[PropertySymbol.children]) {
|
145
|
-
if (
|
147
|
+
if (
|
148
|
+
(includeAll || child[PropertySymbol.tagName] === upperTagName) &&
|
149
|
+
child[PropertySymbol.namespaceURI] === namespaceURI
|
150
|
+
) {
|
146
151
|
matches.push(child);
|
147
152
|
}
|
148
153
|
matches = <HTMLCollection<IElement>>(
|
@@ -168,7 +173,7 @@ export default class ParentNodeUtility {
|
|
168
173
|
const upperTagName = tagName.toUpperCase();
|
169
174
|
|
170
175
|
for (const child of (<DocumentFragment>parentNode)[PropertySymbol.children]) {
|
171
|
-
if (child.tagName === upperTagName) {
|
176
|
+
if (child[PropertySymbol.tagName] === upperTagName) {
|
172
177
|
return <IElement>child;
|
173
178
|
}
|
174
179
|
const match = this.getElementByTagName(<IElement>child, tagName);
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import IProcessingInstruction from './IProcessingInstruction.js';
|
2
2
|
import CharacterData from '../character-data/CharacterData.js';
|
3
3
|
import NodeTypeEnum from '../node/NodeTypeEnum.js';
|
4
|
+
import * as PropertySymbol from '../../PropertySymbol.js';
|
4
5
|
|
5
6
|
/**
|
6
7
|
* Processing instruction node interface.
|
@@ -8,6 +9,15 @@ import NodeTypeEnum from '../node/NodeTypeEnum.js';
|
|
8
9
|
* Reference: https://developer.mozilla.org/en-US/docs/Web/API/ProcessingInstruction.
|
9
10
|
*/
|
10
11
|
export default class ProcessingInstruction extends CharacterData implements IProcessingInstruction {
|
11
|
-
public
|
12
|
-
public target: string;
|
12
|
+
public [PropertySymbol.nodeType] = NodeTypeEnum.processingInstructionNode;
|
13
|
+
public [PropertySymbol.target]: string;
|
14
|
+
|
15
|
+
/**
|
16
|
+
* Returns target.
|
17
|
+
*
|
18
|
+
* @returns Target.
|
19
|
+
*/
|
20
|
+
public get target(): string {
|
21
|
+
return this[PropertySymbol.target];
|
22
|
+
}
|
13
23
|
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import IDocumentFragment from '../document-fragment/IDocumentFragment.js';
|
2
2
|
import IElement from '../element/IElement.js';
|
3
3
|
import Event from '../../event/Event.js';
|
4
|
+
import { CSSStyleSheet } from '../../index.js';
|
4
5
|
|
5
6
|
/**
|
6
7
|
* ShadowRoot.
|
@@ -9,6 +10,7 @@ export default interface IShadowRoot extends IDocumentFragment {
|
|
9
10
|
mode: string;
|
10
11
|
innerHTML: string;
|
11
12
|
host: IElement;
|
13
|
+
adoptedStyleSheets: CSSStyleSheet[];
|
12
14
|
readonly activeElement: IElement | null;
|
13
15
|
|
14
16
|
// Events
|