happy-dom 13.0.7 → 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/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 +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/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/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
@@ -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
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import Element from '
|
1
|
+
import Element from './Element.js';
|
2
2
|
import * as PropertySymbol from '../../PropertySymbol.js';
|
3
3
|
import HTMLElementNamedNodeMap from '../html-element/HTMLElementNamedNodeMap.js';
|
4
4
|
|
@@ -23,11 +23,11 @@ export default class Dataset {
|
|
23
23
|
// Build the initial dataset record from all data attributes.
|
24
24
|
const dataset: DatasetRecord = {};
|
25
25
|
|
26
|
-
for (let i = 0, max = element.attributes.length; i < max; i++) {
|
27
|
-
const attribute = element.attributes[i];
|
28
|
-
if (attribute.name.startsWith('data-')) {
|
29
|
-
const key = Dataset.kebabToCamelCase(attribute.name.replace('data-', ''));
|
30
|
-
dataset[key] = attribute.value;
|
26
|
+
for (let i = 0, max = element[PropertySymbol.attributes].length; i < max; i++) {
|
27
|
+
const attribute = element[PropertySymbol.attributes][i];
|
28
|
+
if (attribute[PropertySymbol.name].startsWith('data-')) {
|
29
|
+
const key = Dataset.kebabToCamelCase(attribute[PropertySymbol.name].replace('data-', ''));
|
30
|
+
dataset[key] = attribute[PropertySymbol.value];
|
31
31
|
}
|
32
32
|
}
|
33
33
|
|
@@ -35,9 +35,11 @@ export default class Dataset {
|
|
35
35
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
|
36
36
|
this.proxy = new Proxy(dataset, {
|
37
37
|
get(dataset: DatasetRecord, key: string): string {
|
38
|
-
const attribute = element.attributes.getNamedItem(
|
38
|
+
const attribute = element[PropertySymbol.attributes].getNamedItem(
|
39
|
+
'data-' + Dataset.camelCaseToKebab(key)
|
40
|
+
);
|
39
41
|
if (attribute) {
|
40
|
-
return (dataset[key] = attribute.value);
|
42
|
+
return (dataset[key] = attribute[PropertySymbol.value]);
|
41
43
|
}
|
42
44
|
delete dataset[key];
|
43
45
|
return undefined;
|
@@ -48,9 +50,9 @@ export default class Dataset {
|
|
48
50
|
return true;
|
49
51
|
},
|
50
52
|
deleteProperty(dataset: DatasetRecord, key: string): boolean {
|
51
|
-
(<HTMLElementNamedNodeMap>element.attributes)[
|
52
|
-
|
53
|
-
);
|
53
|
+
(<HTMLElementNamedNodeMap>element[PropertySymbol.attributes])[
|
54
|
+
PropertySymbol.removeNamedItem
|
55
|
+
]('data-' + Dataset.camelCaseToKebab(key));
|
54
56
|
return delete dataset[key];
|
55
57
|
},
|
56
58
|
ownKeys(dataset: DatasetRecord): string[] {
|
@@ -59,12 +61,14 @@ export default class Dataset {
|
|
59
61
|
// "The result List must contain the keys of all non-configurable own properties of the target object."
|
60
62
|
const keys = [];
|
61
63
|
const deleteKeys = [];
|
62
|
-
for (let i = 0, max = element.attributes.length; i < max; i++) {
|
63
|
-
const attribute = element.attributes[i];
|
64
|
-
if (attribute.name.startsWith('data-')) {
|
65
|
-
const key = Dataset.kebabToCamelCase(
|
64
|
+
for (let i = 0, max = element[PropertySymbol.attributes].length; i < max; i++) {
|
65
|
+
const attribute = element[PropertySymbol.attributes][i];
|
66
|
+
if (attribute[PropertySymbol.name].startsWith('data-')) {
|
67
|
+
const key = Dataset.kebabToCamelCase(
|
68
|
+
attribute[PropertySymbol.name].replace('data-', '')
|
69
|
+
);
|
66
70
|
keys.push(key);
|
67
|
-
dataset[key] = attribute.value;
|
71
|
+
dataset[key] = attribute[PropertySymbol.value];
|
68
72
|
if (!dataset[key]) {
|
69
73
|
deleteKeys.push(key);
|
70
74
|
}
|
@@ -76,7 +80,9 @@ export default class Dataset {
|
|
76
80
|
return keys;
|
77
81
|
},
|
78
82
|
has(_dataset: DatasetRecord, key: string): boolean {
|
79
|
-
return !!element.attributes.getNamedItem(
|
83
|
+
return !!element[PropertySymbol.attributes].getNamedItem(
|
84
|
+
'data-' + Dataset.camelCaseToKebab(key)
|
85
|
+
);
|
80
86
|
}
|
81
87
|
});
|
82
88
|
}
|