@dooboostore/dom-parser 1.0.2 → 1.0.3
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.
- package/dist/cjs/DomParser.js +10 -1
- package/dist/cjs/DomParser.js.map +2 -2
- package/dist/cjs/factory/ElementFactory.js +27 -6
- package/dist/cjs/factory/ElementFactory.js.map +2 -2
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/node/CharacterData.js.map +1 -1
- package/dist/cjs/node/ChildNode.js +0 -15
- package/dist/cjs/node/ChildNode.js.map +3 -3
- package/dist/cjs/node/ChildNodeBase.js +20 -0
- package/dist/cjs/node/ChildNodeBase.js.map +2 -2
- package/dist/cjs/node/Comment.js.map +2 -2
- package/dist/cjs/node/Document.js +0 -27
- package/dist/cjs/node/Document.js.map +4 -4
- package/dist/cjs/node/DocumentBase.js +168 -205
- package/dist/cjs/node/DocumentBase.js.map +2 -2
- package/dist/cjs/node/DocumentFragment.js +0 -15
- package/dist/cjs/node/DocumentFragment.js.map +3 -3
- package/dist/cjs/node/DocumentFragmentBase.js.map +2 -2
- package/dist/cjs/node/Node.js.map +1 -1
- package/dist/cjs/node/NodeBase.js +44 -2
- package/dist/cjs/node/NodeBase.js.map +2 -2
- package/dist/cjs/node/NodeFilter.js +43 -0
- package/dist/cjs/node/NodeFilter.js.map +7 -0
- package/dist/cjs/node/NodeIterator.js +1 -28
- package/dist/cjs/node/NodeIterator.js.map +2 -2
- package/dist/cjs/node/ParentNode.js +0 -15
- package/dist/cjs/node/ParentNode.js.map +3 -3
- package/dist/cjs/node/ParentNodeBase.js +10 -10
- package/dist/cjs/node/ParentNodeBase.js.map +3 -3
- package/dist/cjs/node/ShadowRootBase.js +79 -0
- package/dist/cjs/node/ShadowRootBase.js.map +7 -0
- package/dist/cjs/node/Text.js +0 -15
- package/dist/cjs/node/Text.js.map +3 -3
- package/dist/cjs/node/TextBase.js +0 -3
- package/dist/cjs/node/TextBase.js.map +2 -2
- package/dist/cjs/node/TreeWalker.js +272 -0
- package/dist/cjs/node/TreeWalker.js.map +7 -0
- package/dist/cjs/node/collection/{HTMLCollection.js → HTMLCollectionImp.js} +7 -6
- package/dist/cjs/node/collection/HTMLCollectionImp.js.map +7 -0
- package/dist/cjs/node/collection/HTMLCollectionOfImp.js +26 -0
- package/dist/cjs/node/collection/HTMLCollectionOfImp.js.map +7 -0
- package/dist/cjs/node/collection/NodeList.js.map +1 -1
- package/dist/cjs/node/collection/{NodeListOf.js → NodeListOfImp.js} +6 -6
- package/dist/cjs/node/collection/NodeListOfImp.js.map +7 -0
- package/dist/cjs/node/collection/StylePropertyMapImpl.js +65 -0
- package/dist/cjs/node/collection/StylePropertyMapImpl.js.map +7 -0
- package/dist/cjs/node/collection/index.js +6 -6
- package/dist/cjs/node/collection/index.js.map +2 -2
- package/dist/cjs/node/elements/Element.js +0 -15
- package/dist/cjs/node/elements/Element.js.map +3 -3
- package/dist/cjs/node/elements/ElementBase.js +163 -331
- package/dist/cjs/node/elements/ElementBase.js.map +3 -3
- package/dist/cjs/node/elements/HTMLAreaElement.js.map +2 -2
- package/dist/cjs/node/{collection/HTMLCollectionOf.js → elements/HTMLAudioElement.js} +9 -16
- package/dist/cjs/node/elements/HTMLAudioElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLButtonElement.js +1 -1
- package/dist/cjs/node/elements/HTMLButtonElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLDListElement.js +29 -0
- package/dist/cjs/node/elements/HTMLDListElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLDataElement.js +29 -0
- package/dist/cjs/node/elements/HTMLDataElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLDataListElement.js +29 -0
- package/dist/cjs/node/elements/HTMLDataListElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLDetailsElement.js +29 -0
- package/dist/cjs/node/elements/HTMLDetailsElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLDialogElement.js +29 -0
- package/dist/cjs/node/elements/HTMLDialogElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLElement.js +10 -0
- package/dist/cjs/node/elements/HTMLElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLElementBase.js +41 -43
- package/dist/cjs/node/elements/HTMLElementBase.js.map +2 -2
- package/dist/cjs/node/elements/HTMLEmbedElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLFieldSetElement.js +29 -0
- package/dist/cjs/node/elements/HTMLFieldSetElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLHRElement.js +29 -0
- package/dist/cjs/node/elements/HTMLHRElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLIFrameElement.js +29 -0
- package/dist/cjs/node/elements/HTMLIFrameElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLLabelElement.js +29 -0
- package/dist/cjs/node/elements/HTMLLabelElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLLegendElement.js +29 -0
- package/dist/cjs/node/elements/HTMLLegendElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLMapElement.js +29 -0
- package/dist/cjs/node/elements/HTMLMapElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLMeterElement.js +29 -0
- package/dist/cjs/node/elements/HTMLMeterElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLModElement.js +29 -0
- package/dist/cjs/node/elements/HTMLModElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLObjectElement.js +29 -0
- package/dist/cjs/node/elements/HTMLObjectElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLOptGroupElement.js +29 -0
- package/dist/cjs/node/elements/HTMLOptGroupElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLOptionElement.js +29 -0
- package/dist/cjs/node/elements/HTMLOptionElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLOutputElement.js +29 -0
- package/dist/cjs/node/elements/HTMLOutputElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLParamElement.js +29 -0
- package/dist/cjs/node/elements/HTMLParamElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLPictureElement.js +29 -0
- package/dist/cjs/node/elements/HTMLPictureElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLPreElement.js +29 -0
- package/dist/cjs/node/elements/HTMLPreElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLProgressElement.js +29 -0
- package/dist/cjs/node/elements/HTMLProgressElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLQuoteElement.js +29 -0
- package/dist/cjs/node/elements/HTMLQuoteElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLSelectElement.js +29 -0
- package/dist/cjs/node/elements/HTMLSelectElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLSlotElement.js +29 -0
- package/dist/cjs/node/elements/HTMLSlotElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLSourceElement.js +29 -0
- package/dist/cjs/node/elements/HTMLSourceElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLTableElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTbodyElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTdElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTemplateElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTextAreaElement.js +29 -0
- package/dist/cjs/node/elements/HTMLTextAreaElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLTfootElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTheadElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTimeElement.js +29 -0
- package/dist/cjs/node/elements/HTMLTimeElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLTrElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTrackElement.js +29 -0
- package/dist/cjs/node/elements/HTMLTrackElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLVideoElement.js +29 -0
- package/dist/cjs/node/elements/HTMLVideoElement.js.map +7 -0
- package/dist/cjs/node/elements/index.js +181 -92
- package/dist/cjs/node/elements/index.js.map +2 -2
- package/dist/cjs/node/index.js +6 -16
- package/dist/cjs/node/index.js.map +2 -2
- package/dist/cjs/utils/CSSSelector.js.map +2 -2
- package/dist/cjs/window/CustomElementRegistryImp.js +105 -0
- package/dist/cjs/window/CustomElementRegistryImp.js.map +7 -0
- package/dist/cjs/window/Window.js +0 -15
- package/dist/cjs/window/Window.js.map +3 -3
- package/dist/cjs/window/WindowBase.js +210 -613
- package/dist/cjs/window/WindowBase.js.map +2 -2
- package/dist/cjs/window/index.js +0 -5
- package/dist/cjs/window/index.js.map +2 -2
- package/dist/esm/DomParser.js +10 -1
- package/dist/esm/DomParser.js.map +2 -2
- package/dist/esm/factory/ElementFactory.js +27 -6
- package/dist/esm/factory/ElementFactory.js.map +2 -2
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/node/ChildNodeBase.js +20 -0
- package/dist/esm/node/ChildNodeBase.js.map +2 -2
- package/dist/esm/node/Comment.js.map +2 -2
- package/dist/esm/node/Document.js +0 -8
- package/dist/esm/node/Document.js.map +4 -4
- package/dist/esm/node/DocumentBase.js +165 -202
- package/dist/esm/node/DocumentBase.js.map +2 -2
- package/dist/esm/node/DocumentFragmentBase.js.map +2 -2
- package/dist/esm/node/Node.js.map +1 -1
- package/dist/esm/node/NodeBase.js +45 -22
- package/dist/esm/node/NodeBase.js.map +2 -2
- package/dist/esm/node/NodeFilter.js +24 -0
- package/dist/esm/node/NodeFilter.js.map +7 -0
- package/dist/esm/node/NodeIterator.js +1 -28
- package/dist/esm/node/NodeIterator.js.map +2 -2
- package/dist/esm/node/ParentNodeBase.js +4 -4
- package/dist/esm/node/ParentNodeBase.js.map +2 -2
- package/dist/esm/node/ShadowRootBase.js +60 -0
- package/dist/esm/node/ShadowRootBase.js.map +7 -0
- package/dist/esm/node/TextBase.js +0 -3
- package/dist/esm/node/TextBase.js.map +2 -2
- package/dist/esm/node/TreeWalker.js +253 -0
- package/dist/esm/node/TreeWalker.js.map +7 -0
- package/dist/esm/node/collection/{HTMLCollection.js → HTMLCollectionImp.js} +4 -3
- package/dist/esm/node/collection/HTMLCollectionImp.js.map +7 -0
- package/dist/esm/node/collection/HTMLCollectionOfImp.js +7 -0
- package/dist/esm/node/collection/HTMLCollectionOfImp.js.map +7 -0
- package/dist/esm/node/collection/NodeList.js.map +1 -1
- package/dist/esm/node/collection/{NodeListOf.js → NodeListOfImp.js} +3 -3
- package/dist/esm/node/collection/NodeListOfImp.js.map +7 -0
- package/dist/esm/node/collection/StylePropertyMapImpl.js +46 -0
- package/dist/esm/node/collection/StylePropertyMapImpl.js.map +7 -0
- package/dist/esm/node/collection/index.js +6 -6
- package/dist/esm/node/collection/index.js.map +2 -2
- package/dist/esm/node/elements/ElementBase.js +163 -331
- package/dist/esm/node/elements/ElementBase.js.map +3 -3
- package/dist/esm/node/elements/HTMLAreaElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLAudioElement.js +10 -0
- package/dist/esm/node/elements/HTMLAudioElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLButtonElement.js +1 -1
- package/dist/esm/node/elements/HTMLButtonElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLDListElement.js +10 -0
- package/dist/esm/node/elements/HTMLDListElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLDataElement.js +10 -0
- package/dist/esm/node/elements/HTMLDataElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLDataListElement.js +10 -0
- package/dist/esm/node/elements/HTMLDataListElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLDetailsElement.js +10 -0
- package/dist/esm/node/elements/HTMLDetailsElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLDialogElement.js +10 -0
- package/dist/esm/node/elements/HTMLDialogElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLElement.js +6 -0
- package/dist/esm/node/elements/HTMLElement.js.map +3 -3
- package/dist/esm/node/elements/HTMLElementBase.js +40 -42
- package/dist/esm/node/elements/HTMLElementBase.js.map +2 -2
- package/dist/esm/node/elements/HTMLEmbedElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLFieldSetElement.js +10 -0
- package/dist/esm/node/elements/HTMLFieldSetElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLHRElement.js +10 -0
- package/dist/esm/node/elements/HTMLHRElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLIFrameElement.js +10 -0
- package/dist/esm/node/elements/HTMLIFrameElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLLabelElement.js +10 -0
- package/dist/esm/node/elements/HTMLLabelElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLLegendElement.js +10 -0
- package/dist/esm/node/elements/HTMLLegendElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLMapElement.js +10 -0
- package/dist/esm/node/elements/HTMLMapElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLMeterElement.js +10 -0
- package/dist/esm/node/elements/HTMLMeterElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLModElement.js +10 -0
- package/dist/esm/node/elements/HTMLModElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLObjectElement.js +10 -0
- package/dist/esm/node/elements/HTMLObjectElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLOptGroupElement.js +10 -0
- package/dist/esm/node/elements/HTMLOptGroupElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLOptionElement.js +10 -0
- package/dist/esm/node/elements/HTMLOptionElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLOutputElement.js +10 -0
- package/dist/esm/node/elements/HTMLOutputElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLParamElement.js +10 -0
- package/dist/esm/node/elements/HTMLParamElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLPictureElement.js +10 -0
- package/dist/esm/node/elements/HTMLPictureElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLPreElement.js +10 -0
- package/dist/esm/node/elements/HTMLPreElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLProgressElement.js +10 -0
- package/dist/esm/node/elements/HTMLProgressElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLQuoteElement.js +10 -0
- package/dist/esm/node/elements/HTMLQuoteElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLSelectElement.js +10 -0
- package/dist/esm/node/elements/HTMLSelectElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLSlotElement.js +10 -0
- package/dist/esm/node/elements/HTMLSlotElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLSourceElement.js +10 -0
- package/dist/esm/node/elements/HTMLSourceElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLTableElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTbodyElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTdElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTemplateElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTextAreaElement.js +10 -0
- package/dist/esm/node/elements/HTMLTextAreaElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLTfootElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTheadElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTimeElement.js +10 -0
- package/dist/esm/node/elements/HTMLTimeElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLTrElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTrackElement.js +10 -0
- package/dist/esm/node/elements/HTMLTrackElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLVideoElement.js +10 -0
- package/dist/esm/node/elements/HTMLVideoElement.js.map +7 -0
- package/dist/esm/node/elements/index.js +182 -93
- package/dist/esm/node/elements/index.js.map +2 -2
- package/dist/esm/node/index.js +7 -17
- package/dist/esm/node/index.js.map +2 -2
- package/dist/esm/utils/CSSSelector.js.map +2 -2
- package/dist/esm/window/CustomElementRegistryImp.js +86 -0
- package/dist/esm/window/CustomElementRegistryImp.js.map +7 -0
- package/dist/esm/window/WindowBase.js +259 -597
- package/dist/esm/window/WindowBase.js.map +2 -2
- package/dist/esm/window/index.js +0 -5
- package/dist/esm/window/index.js.map +2 -2
- package/dist/esm-bundle/dooboostore-dom-parser.esm.js +3449 -3551
- package/dist/esm-bundle/dooboostore-dom-parser.esm.js.map +4 -4
- package/dist/types/DomParser.d.ts.map +1 -1
- package/dist/types/factory/ElementFactory.d.ts +1 -1
- package/dist/types/factory/ElementFactory.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/node/CharacterData.d.ts +0 -2
- package/dist/types/node/CharacterData.d.ts.map +1 -1
- package/dist/types/node/ChildNode.d.ts +0 -38
- package/dist/types/node/ChildNode.d.ts.map +1 -1
- package/dist/types/node/ChildNodeBase.d.ts +6 -4
- package/dist/types/node/ChildNodeBase.d.ts.map +1 -1
- package/dist/types/node/Comment.d.ts +1 -1
- package/dist/types/node/Comment.d.ts.map +1 -1
- package/dist/types/node/Document.d.ts +0 -856
- package/dist/types/node/Document.d.ts.map +1 -1
- package/dist/types/node/DocumentBase.d.ts +68 -110
- package/dist/types/node/DocumentBase.d.ts.map +1 -1
- package/dist/types/node/DocumentFragment.d.ts +0 -38
- package/dist/types/node/DocumentFragment.d.ts.map +1 -1
- package/dist/types/node/DocumentFragmentBase.d.ts +1 -8
- package/dist/types/node/DocumentFragmentBase.d.ts.map +1 -1
- package/dist/types/node/Node.d.ts +0 -213
- package/dist/types/node/Node.d.ts.map +1 -1
- package/dist/types/node/NodeBase.d.ts +11 -8
- package/dist/types/node/NodeBase.d.ts.map +1 -1
- package/dist/types/node/NodeFilter.d.ts +25 -0
- package/dist/types/node/NodeFilter.d.ts.map +1 -0
- package/dist/types/node/NodeIterator.d.ts +0 -34
- package/dist/types/node/NodeIterator.d.ts.map +1 -1
- package/dist/types/node/ParentNode.d.ts +0 -84
- package/dist/types/node/ParentNode.d.ts.map +1 -1
- package/dist/types/node/ParentNodeBase.d.ts +0 -5
- package/dist/types/node/ParentNodeBase.d.ts.map +1 -1
- package/dist/types/node/ShadowRootBase.d.ts +36 -0
- package/dist/types/node/ShadowRootBase.d.ts.map +1 -0
- package/dist/types/node/Text.d.ts +0 -24
- package/dist/types/node/Text.d.ts.map +1 -1
- package/dist/types/node/TextBase.d.ts +2 -3
- package/dist/types/node/TextBase.d.ts.map +1 -1
- package/dist/types/node/TreeWalker.d.ts +48 -0
- package/dist/types/node/TreeWalker.d.ts.map +1 -0
- package/dist/types/node/collection/{HTMLCollection.d.ts → HTMLCollectionImp.d.ts} +2 -3
- package/dist/types/node/collection/HTMLCollectionImp.d.ts.map +1 -0
- package/dist/types/node/collection/HTMLCollectionOfImp.d.ts +9 -0
- package/dist/types/node/collection/HTMLCollectionOfImp.d.ts.map +1 -0
- package/dist/types/node/collection/NodeList.d.ts +0 -1
- package/dist/types/node/collection/NodeList.d.ts.map +1 -1
- package/dist/types/node/collection/{NodeListOf.d.ts → NodeListOfImp.d.ts} +3 -4
- package/dist/types/node/collection/NodeListOfImp.d.ts.map +1 -0
- package/dist/types/node/collection/StylePropertyMapImpl.d.ts +20 -0
- package/dist/types/node/collection/StylePropertyMapImpl.d.ts.map +1 -0
- package/dist/types/node/collection/index.d.ts +3 -3
- package/dist/types/node/collection/index.d.ts.map +1 -1
- package/dist/types/node/elements/Element.d.ts +0 -687
- package/dist/types/node/elements/Element.d.ts.map +1 -1
- package/dist/types/node/elements/ElementBase.d.ts +98 -74
- package/dist/types/node/elements/ElementBase.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLAreaElement.d.ts +0 -1
- package/dist/types/node/elements/HTMLAreaElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLAudioElement.d.ts +8 -0
- package/dist/types/node/elements/HTMLAudioElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLButtonElement.d.ts +1 -1
- package/dist/types/node/elements/HTMLButtonElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLDListElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLDListElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLDataElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLDataElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLDataListElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLDataListElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLDetailsElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLDetailsElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLDialogElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLDialogElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLElement.d.ts +2 -119
- package/dist/types/node/elements/HTMLElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLElementBase.d.ts +126 -5
- package/dist/types/node/elements/HTMLElementBase.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLEmbedElement.d.ts +0 -1
- package/dist/types/node/elements/HTMLEmbedElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLFieldSetElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLFieldSetElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLHRElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLHRElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLIFrameElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLIFrameElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLLabelElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLLabelElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLLegendElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLLegendElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLMapElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLMapElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLMeterElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLMeterElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLModElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLModElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLObjectElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLObjectElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLOptGroupElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLOptGroupElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLOptionElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLOptionElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLOutputElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLOutputElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLParamElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLParamElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLPictureElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLPictureElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLPreElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLPreElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLProgressElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLProgressElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLQuoteElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLQuoteElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLSelectElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLSelectElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLSlotElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLSlotElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLSourceElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLSourceElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLTableElement.d.ts +3 -4
- package/dist/types/node/elements/HTMLTableElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTbodyElement.d.ts +2 -3
- package/dist/types/node/elements/HTMLTbodyElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTemplateElement.d.ts +0 -1
- package/dist/types/node/elements/HTMLTemplateElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTextAreaElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLTextAreaElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLTfootElement.d.ts +2 -3
- package/dist/types/node/elements/HTMLTfootElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTheadElement.d.ts +2 -3
- package/dist/types/node/elements/HTMLTheadElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTimeElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLTimeElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLTrElement.d.ts +2 -3
- package/dist/types/node/elements/HTMLTrElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTrackElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLTrackElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLVideoElement.d.ts +8 -0
- package/dist/types/node/elements/HTMLVideoElement.d.ts.map +1 -0
- package/dist/types/node/elements/index.d.ts +106 -52
- package/dist/types/node/elements/index.d.ts.map +1 -1
- package/dist/types/node/index.d.ts +4 -7
- package/dist/types/node/index.d.ts.map +1 -1
- package/dist/types/utils/CSSSelector.d.ts +0 -1
- package/dist/types/utils/CSSSelector.d.ts.map +1 -1
- package/dist/types/window/CustomElementRegistryImp.d.ts +18 -0
- package/dist/types/window/CustomElementRegistryImp.d.ts.map +1 -0
- package/dist/types/window/Window.d.ts +0 -619
- package/dist/types/window/Window.d.ts.map +1 -1
- package/dist/types/window/WindowBase.d.ts +253 -286
- package/dist/types/window/WindowBase.d.ts.map +1 -1
- package/dist/types/window/index.d.ts +0 -1
- package/dist/types/window/index.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-dom-parser.umd.js +3460 -3562
- package/dist/umd-bundle/dooboostore-dom-parser.umd.js.map +4 -4
- package/package.json +1 -1
- package/src/DomParser.ts +28 -20
- package/src/factory/ElementFactory.ts +79 -53
- package/src/index.ts +11 -10
- package/src/node/CharacterData.ts +0 -2
- package/src/node/ChildNode.ts +42 -42
- package/src/node/ChildNodeBase.ts +60 -39
- package/src/node/Comment.ts +60 -60
- package/src/node/Document.ts +129 -882
- package/src/node/DocumentBase.ts +371 -467
- package/src/node/DocumentFragment.ts +38 -44
- package/src/node/DocumentFragmentBase.ts +4 -9
- package/src/node/Node.ts +231 -224
- package/src/node/NodeBase.ts +469 -443
- package/src/node/NodeFilter.ts +50 -0
- package/src/node/NodeIterator.ts +117 -172
- package/src/node/ParentNode.ts +93 -93
- package/src/node/ParentNodeBase.ts +7 -10
- package/src/node/ShadowRootBase.ts +87 -0
- package/src/node/Text.ts +30 -30
- package/src/node/TextBase.ts +92 -94
- package/src/node/TreeWalker.ts +280 -0
- package/src/node/collection/{HTMLCollection.ts → HTMLCollectionImp.ts} +3 -2
- package/src/node/collection/HTMLCollectionOfImp.ts +12 -0
- package/src/node/collection/NodeList.ts +1 -1
- package/src/node/collection/{NodeListOf.ts → NodeListOfImp.ts} +3 -3
- package/src/node/collection/StylePropertyMapImpl.ts +60 -0
- package/src/node/collection/index.ts +3 -3
- package/src/node/elements/Element.ts +212 -772
- package/src/node/elements/ElementBase.ts +840 -1204
- package/src/node/elements/HTMLAreaElement.ts +0 -1
- package/src/node/elements/HTMLAudioElement.ts +10 -0
- package/src/node/elements/HTMLButtonElement.ts +63 -63
- package/src/node/elements/HTMLDListElement.ts +2 -0
- package/src/node/elements/HTMLDataElement.ts +6 -0
- package/src/node/elements/HTMLDataListElement.ts +2 -0
- package/src/node/elements/HTMLDetailsElement.ts +2 -0
- package/src/node/elements/HTMLDialogElement.ts +2 -0
- package/src/node/elements/HTMLElement.ts +2 -137
- package/src/node/elements/HTMLElementBase.ts +466 -355
- package/src/node/elements/HTMLEmbedElement.ts +0 -1
- package/src/node/elements/HTMLFieldSetElement.ts +2 -0
- package/src/node/elements/HTMLHRElement.ts +2 -0
- package/src/node/elements/HTMLIFrameElement.ts +2 -0
- package/src/node/elements/HTMLLabelElement.ts +2 -0
- package/src/node/elements/HTMLLegendElement.ts +2 -0
- package/src/node/elements/HTMLMapElement.ts +2 -0
- package/src/node/elements/HTMLMeterElement.ts +2 -0
- package/src/node/elements/HTMLModElement.ts +2 -0
- package/src/node/elements/HTMLObjectElement.ts +2 -0
- package/src/node/elements/HTMLOptGroupElement.ts +2 -0
- package/src/node/elements/HTMLOptionElement.ts +2 -0
- package/src/node/elements/HTMLOutputElement.ts +2 -0
- package/src/node/elements/HTMLParamElement.ts +2 -0
- package/src/node/elements/HTMLPictureElement.ts +2 -0
- package/src/node/elements/HTMLPreElement.ts +2 -0
- package/src/node/elements/HTMLProgressElement.ts +2 -0
- package/src/node/elements/HTMLQuoteElement.ts +2 -0
- package/src/node/elements/HTMLSelectElement.ts +2 -0
- package/src/node/elements/HTMLSlotElement.ts +2 -0
- package/src/node/elements/HTMLSourceElement.ts +2 -0
- package/src/node/elements/HTMLTableElement.ts +3 -7
- package/src/node/elements/HTMLTbodyElement.ts +2 -3
- package/src/node/elements/HTMLTdElement.ts +1 -1
- package/src/node/elements/HTMLTemplateElement.ts +3 -6
- package/src/node/elements/HTMLTextAreaElement.ts +2 -0
- package/src/node/elements/HTMLTfootElement.ts +2 -3
- package/src/node/elements/HTMLTheadElement.ts +2 -3
- package/src/node/elements/HTMLTimeElement.ts +2 -0
- package/src/node/elements/HTMLTrElement.ts +3 -4
- package/src/node/elements/HTMLTrackElement.ts +2 -0
- package/src/node/elements/HTMLVideoElement.ts +10 -0
- package/src/node/elements/index.ts +226 -149
- package/src/node/index.ts +8 -8
- package/src/utils/CSSSelector.ts +0 -1
- package/src/window/CustomElementRegistryImp.ts +120 -0
- package/src/window/Window.ts +716 -715
- package/src/window/WindowBase.ts +482 -847
- package/src/window/index.ts +0 -1
- package/tsconfig.json +1 -0
- package/dist/cjs/node/collection/HTMLCollection.js.map +0 -7
- package/dist/cjs/node/collection/HTMLCollectionOf.js.map +0 -7
- package/dist/cjs/node/collection/NodeListOf.js.map +0 -7
- package/dist/esm/node/collection/HTMLCollection.js.map +0 -7
- package/dist/esm/node/collection/HTMLCollectionOf.js +0 -17
- package/dist/esm/node/collection/HTMLCollectionOf.js.map +0 -7
- package/dist/esm/node/collection/NodeListOf.js.map +0 -7
- package/dist/types/node/collection/HTMLCollection.d.ts.map +0 -1
- package/dist/types/node/collection/HTMLCollectionOf.d.ts +0 -14
- package/dist/types/node/collection/HTMLCollectionOf.d.ts.map +0 -1
- package/dist/types/node/collection/NodeListOf.d.ts.map +0 -1
- package/src/node/collection/HTMLCollectionOf.ts +0 -26
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// import { Node } from './Node';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* NodeFilter interface for filtering nodes in NodeIterator and TreeWalker
|
|
5
|
+
*/
|
|
6
|
+
// export interface NodeFilter {
|
|
7
|
+
// acceptNode(node: Node): number;
|
|
8
|
+
// }
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* NodeFilter constants and static methods
|
|
12
|
+
*/
|
|
13
|
+
export const NodeFilter: {
|
|
14
|
+
readonly FILTER_ACCEPT: number;
|
|
15
|
+
readonly FILTER_REJECT: number;
|
|
16
|
+
readonly FILTER_SKIP: number;
|
|
17
|
+
readonly SHOW_ALL: number;
|
|
18
|
+
readonly SHOW_ELEMENT: number;
|
|
19
|
+
readonly SHOW_ATTRIBUTE: number;
|
|
20
|
+
readonly SHOW_TEXT: number;
|
|
21
|
+
readonly SHOW_CDATA_SECTION: number;
|
|
22
|
+
readonly SHOW_ENTITY_REFERENCE: number;
|
|
23
|
+
readonly SHOW_ENTITY: number;
|
|
24
|
+
readonly SHOW_PROCESSING_INSTRUCTION: number;
|
|
25
|
+
readonly SHOW_COMMENT: number;
|
|
26
|
+
readonly SHOW_DOCUMENT: number;
|
|
27
|
+
readonly SHOW_DOCUMENT_TYPE: number;
|
|
28
|
+
readonly SHOW_DOCUMENT_FRAGMENT: number;
|
|
29
|
+
readonly SHOW_NOTATION: number;
|
|
30
|
+
} = {
|
|
31
|
+
// Constants for acceptNode return values
|
|
32
|
+
FILTER_ACCEPT: 1,
|
|
33
|
+
FILTER_REJECT: 2,
|
|
34
|
+
FILTER_SKIP: 3,
|
|
35
|
+
|
|
36
|
+
// Constants for whatToShow
|
|
37
|
+
SHOW_ALL: 0xffffffff,
|
|
38
|
+
SHOW_ELEMENT: 0x1,
|
|
39
|
+
SHOW_ATTRIBUTE: 0x2,
|
|
40
|
+
SHOW_TEXT: 0x4,
|
|
41
|
+
SHOW_CDATA_SECTION: 0x8,
|
|
42
|
+
SHOW_ENTITY_REFERENCE: 0x10,
|
|
43
|
+
SHOW_ENTITY: 0x20,
|
|
44
|
+
SHOW_PROCESSING_INSTRUCTION: 0x40,
|
|
45
|
+
SHOW_COMMENT: 0x80,
|
|
46
|
+
SHOW_DOCUMENT: 0x100,
|
|
47
|
+
SHOW_DOCUMENT_TYPE: 0x200,
|
|
48
|
+
SHOW_DOCUMENT_FRAGMENT: 0x400,
|
|
49
|
+
SHOW_NOTATION: 0x800
|
|
50
|
+
};
|
package/src/node/NodeIterator.ts
CHANGED
|
@@ -1,200 +1,145 @@
|
|
|
1
|
-
import { Node } from './Node';
|
|
2
|
-
import { NodeBase } from './NodeBase';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* NodeFilter interface for filtering nodes in NodeIterator
|
|
6
|
-
*/
|
|
7
|
-
export interface NodeFilter {
|
|
8
|
-
acceptNode(node: Node): number;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* NodeFilter constants
|
|
13
|
-
*/
|
|
14
|
-
export const NodeFilter = {
|
|
15
|
-
// Constants for acceptNode return values
|
|
16
|
-
FILTER_ACCEPT: 1,
|
|
17
|
-
FILTER_REJECT: 2,
|
|
18
|
-
FILTER_SKIP: 3,
|
|
19
|
-
|
|
20
|
-
// Constants for whatToShow
|
|
21
|
-
SHOW_ALL: 0xFFFFFFFF,
|
|
22
|
-
SHOW_ELEMENT: 0x1,
|
|
23
|
-
SHOW_ATTRIBUTE: 0x2,
|
|
24
|
-
SHOW_TEXT: 0x4,
|
|
25
|
-
SHOW_CDATA_SECTION: 0x8,
|
|
26
|
-
SHOW_ENTITY_REFERENCE: 0x10,
|
|
27
|
-
SHOW_ENTITY: 0x20,
|
|
28
|
-
SHOW_PROCESSING_INSTRUCTION: 0x40,
|
|
29
|
-
SHOW_COMMENT: 0x80,
|
|
30
|
-
SHOW_DOCUMENT: 0x100,
|
|
31
|
-
SHOW_DOCUMENT_TYPE: 0x200,
|
|
32
|
-
SHOW_DOCUMENT_FRAGMENT: 0x400,
|
|
33
|
-
SHOW_NOTATION: 0x800
|
|
34
|
-
};
|
|
35
1
|
|
|
36
2
|
/**
|
|
37
3
|
* NodeIterator implementation for traversing DOM nodes
|
|
38
4
|
*/
|
|
39
5
|
export class NodeIterator {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
6
|
+
private _root: Node;
|
|
7
|
+
private _whatToShow: number;
|
|
8
|
+
private _filter: NodeFilter | null;
|
|
9
|
+
private _currentNode: Node;
|
|
10
|
+
private _beforeReferenceNode: boolean = true;
|
|
11
|
+
|
|
12
|
+
constructor(root: Node, whatToShow: number = NodeFilter.SHOW_ALL, filter: NodeFilter | null = null) {
|
|
13
|
+
this._root = root;
|
|
14
|
+
this._whatToShow = whatToShow;
|
|
15
|
+
this._filter = filter;
|
|
16
|
+
this._currentNode = root;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
get root(): Node {
|
|
20
|
+
return this._root;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
get whatToShow(): number {
|
|
24
|
+
return this._whatToShow;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
get filter(): NodeFilter | null {
|
|
28
|
+
return this._filter;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
get referenceNode(): Node {
|
|
32
|
+
return this._currentNode;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
get pointerBeforeReferenceNode(): boolean {
|
|
36
|
+
return this._beforeReferenceNode;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Move to the next node in document order
|
|
41
|
+
*/
|
|
42
|
+
nextNode(): Node | null {
|
|
43
|
+
let node = this._currentNode;
|
|
44
|
+
|
|
45
|
+
if (this._beforeReferenceNode) {
|
|
46
|
+
this._beforeReferenceNode = false;
|
|
47
|
+
if (this._acceptNode(node)) {
|
|
48
|
+
return node;
|
|
49
|
+
}
|
|
51
50
|
}
|
|
52
51
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
while (node) {
|
|
53
|
+
const firstChild = (node as any).firstChild;
|
|
54
|
+
if (firstChild) {
|
|
55
|
+
node = firstChild;
|
|
56
|
+
if (this._acceptNode(node)) {
|
|
57
|
+
this._currentNode = node;
|
|
58
|
+
return node;
|
|
59
|
+
}
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
60
62
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
while (node && !(node as any).nextSibling) {
|
|
64
|
+
node = (node as any).parentNode;
|
|
65
|
+
if (!node || node === (this._root as any).parentNode) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
64
69
|
|
|
65
|
-
|
|
66
|
-
return
|
|
67
|
-
|
|
70
|
+
if (!node) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
68
73
|
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
node = (node as any).nextSibling;
|
|
75
|
+
if (this._acceptNode(node)) {
|
|
76
|
+
this._currentNode = node;
|
|
77
|
+
return node;
|
|
78
|
+
}
|
|
71
79
|
}
|
|
72
80
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
*/
|
|
76
|
-
nextNode(): Node | null {
|
|
77
|
-
let node = this._currentNode;
|
|
78
|
-
|
|
79
|
-
// If we're before the reference node, start from the reference node
|
|
80
|
-
if (this._beforeReferenceNode) {
|
|
81
|
-
this._beforeReferenceNode = false;
|
|
82
|
-
if (this._acceptNode(node)) {
|
|
83
|
-
return node;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
86
83
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
node = firstChild;
|
|
93
|
-
if (this._acceptNode(node)) {
|
|
94
|
-
this._currentNode = node;
|
|
95
|
-
return node;
|
|
96
|
-
}
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// If no children, try next sibling
|
|
101
|
-
while (node && !(node as any).nextSibling) {
|
|
102
|
-
node = (node as any).parentNode;
|
|
103
|
-
// Don't go beyond root
|
|
104
|
-
if (!node || node === (this._root as any).parentNode) {
|
|
105
|
-
return null;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
if (!node) {
|
|
110
|
-
return null;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
node = (node as any).nextSibling;
|
|
114
|
-
if (this._acceptNode(node)) {
|
|
115
|
-
this._currentNode = node;
|
|
116
|
-
return node;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
84
|
+
/**
|
|
85
|
+
* Move to the previous node in document order
|
|
86
|
+
*/
|
|
87
|
+
previousNode(): Node | null {
|
|
88
|
+
let node = this._currentNode;
|
|
119
89
|
|
|
120
|
-
|
|
90
|
+
if (!this._beforeReferenceNode) {
|
|
91
|
+
this._beforeReferenceNode = true;
|
|
92
|
+
if (this._acceptNode(node)) {
|
|
93
|
+
return node;
|
|
94
|
+
}
|
|
121
95
|
}
|
|
122
96
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
// If we're after the reference node, start from the reference node
|
|
130
|
-
if (!this._beforeReferenceNode) {
|
|
131
|
-
this._beforeReferenceNode = true;
|
|
132
|
-
if (this._acceptNode(node)) {
|
|
133
|
-
return node;
|
|
134
|
-
}
|
|
97
|
+
while (node && node !== this._root) {
|
|
98
|
+
const prevSibling = (node as any).previousSibling;
|
|
99
|
+
if (prevSibling) {
|
|
100
|
+
node = prevSibling;
|
|
101
|
+
while ((node as any).lastChild) {
|
|
102
|
+
node = (node as any).lastChild;
|
|
135
103
|
}
|
|
136
104
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
const prevSibling = (node as any).previousSibling;
|
|
141
|
-
if (prevSibling) {
|
|
142
|
-
node = prevSibling;
|
|
143
|
-
|
|
144
|
-
// Go to the deepest last child
|
|
145
|
-
while ((node as any).lastChild) {
|
|
146
|
-
node = (node as any).lastChild;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
if (this._acceptNode(node)) {
|
|
150
|
-
this._currentNode = node;
|
|
151
|
-
return node;
|
|
152
|
-
}
|
|
153
|
-
continue;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
// Go to parent
|
|
157
|
-
node = (node as any).parentNode;
|
|
158
|
-
if (!node || node === (this._root as any).parentNode) {
|
|
159
|
-
return null;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
if (this._acceptNode(node)) {
|
|
163
|
-
this._currentNode = node;
|
|
164
|
-
return node;
|
|
165
|
-
}
|
|
105
|
+
if (this._acceptNode(node)) {
|
|
106
|
+
this._currentNode = node;
|
|
107
|
+
return node;
|
|
166
108
|
}
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
167
111
|
|
|
112
|
+
node = (node as any).parentNode;
|
|
113
|
+
if (!node || node === (this._root as any).parentNode) {
|
|
168
114
|
return null;
|
|
169
|
-
|
|
115
|
+
}
|
|
170
116
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
// Modern browsers don't require this, but we implement for compatibility
|
|
117
|
+
if (this._acceptNode(node)) {
|
|
118
|
+
this._currentNode = node;
|
|
119
|
+
return node;
|
|
120
|
+
}
|
|
176
121
|
}
|
|
177
122
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
*/
|
|
181
|
-
private _acceptNode(node: Node | null): boolean {
|
|
182
|
-
if (!node) {
|
|
183
|
-
return false;
|
|
184
|
-
}
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
185
125
|
|
|
186
|
-
|
|
187
|
-
const nodeTypeMask = 1 << (node.nodeType - 1);
|
|
188
|
-
if (!(this._whatToShow & nodeTypeMask)) {
|
|
189
|
-
return false;
|
|
190
|
-
}
|
|
126
|
+
detach(): void {}
|
|
191
127
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
128
|
+
private _acceptNode(node: Node | null): boolean {
|
|
129
|
+
if (!node) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const nodeTypeMask = 1 << (node.nodeType - 1);
|
|
134
|
+
if (!(this._whatToShow & nodeTypeMask)) {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
197
137
|
|
|
198
|
-
|
|
138
|
+
if (this._filter) {
|
|
139
|
+
const result = ('acceptNode' in this._filter) ? this._filter.acceptNode(node) : this._filter(node);
|
|
140
|
+
return result === NodeFilter.FILTER_ACCEPT;
|
|
199
141
|
}
|
|
200
|
-
|
|
142
|
+
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
}
|
package/src/node/ParentNode.ts
CHANGED
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
import { Node } from './Node';
|
|
2
|
-
import { NodeListOf } from './collection/NodeListOf';
|
|
3
|
-
import {
|
|
4
|
-
import { Element } from './elements/Element';
|
|
5
|
-
import {HTMLElementDeprecatedTagNameMap, HTMLElementTagNameMap, MathMLElementTagNameMap, SVGElementTagNameMap} from "./elements";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export interface ParentNode extends Node {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
1
|
+
// import { Node } from './Node';
|
|
2
|
+
// import { NodeListOf } from './collection/NodeListOf';
|
|
3
|
+
// import { HTMLCollectionImp } from './collection/HTMLCollectionImp';
|
|
4
|
+
// import { Element } from './elements/Element';
|
|
5
|
+
// import {HTMLElementDeprecatedTagNameMap, HTMLElementTagNameMap, MathMLElementTagNameMap, SVGElementTagNameMap} from "./elements";
|
|
6
|
+
//
|
|
7
|
+
// /**
|
|
8
|
+
// * The **`ParentNode`** interface contains methods and properties that are common to all types of Node objects that can have children.
|
|
9
|
+
// *
|
|
10
|
+
// * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ParentNode)
|
|
11
|
+
// */
|
|
12
|
+
// export interface ParentNode extends Node {
|
|
13
|
+
// /**
|
|
14
|
+
// * Returns the number of child elements of this ParentNode.
|
|
15
|
+
// *
|
|
16
|
+
// * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/childElementCount)
|
|
17
|
+
// */
|
|
18
|
+
// readonly childElementCount: number;
|
|
19
|
+
//
|
|
20
|
+
// /**
|
|
21
|
+
// * Returns the child elements.
|
|
22
|
+
// *
|
|
23
|
+
// * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/children)
|
|
24
|
+
// */
|
|
25
|
+
// readonly children: HTMLCollectionImp;
|
|
26
|
+
//
|
|
27
|
+
// /**
|
|
28
|
+
// * Returns the first child that is an element, and null otherwise.
|
|
29
|
+
// *
|
|
30
|
+
// * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/firstElementChild)
|
|
31
|
+
// */
|
|
32
|
+
// readonly firstElementChild: Element | null;
|
|
33
|
+
//
|
|
34
|
+
// /**
|
|
35
|
+
// * Returns the last child that is an element, and null otherwise.
|
|
36
|
+
// *
|
|
37
|
+
// * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/lastElementChild)
|
|
38
|
+
// */
|
|
39
|
+
// readonly lastElementChild: Element | null;
|
|
40
|
+
//
|
|
41
|
+
// /**
|
|
42
|
+
// * Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.
|
|
43
|
+
// *
|
|
44
|
+
// * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
|
|
45
|
+
// *
|
|
46
|
+
// * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/append)
|
|
47
|
+
// */
|
|
48
|
+
// append(...nodes: (Node | string)[]): void;
|
|
49
|
+
//
|
|
50
|
+
// /**
|
|
51
|
+
// * Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.
|
|
52
|
+
// *
|
|
53
|
+
// * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
|
|
54
|
+
// *
|
|
55
|
+
// * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/prepend)
|
|
56
|
+
// */
|
|
57
|
+
// prepend(...nodes: (Node | string)[]): void;
|
|
58
|
+
//
|
|
59
|
+
// /**
|
|
60
|
+
// * Returns the first element that is a descendant of node that matches selectors.
|
|
61
|
+
// *
|
|
62
|
+
// * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelector)
|
|
63
|
+
// */
|
|
64
|
+
// querySelector<K extends keyof HTMLElementTagNameMap>(selectors: K): HTMLElementTagNameMap[K] | null;
|
|
65
|
+
// querySelector<K extends keyof SVGElementTagNameMap>(selectors: K): SVGElementTagNameMap[K] | null;
|
|
66
|
+
// querySelector<K extends keyof MathMLElementTagNameMap>(selectors: K): MathMLElementTagNameMap[K] | null;
|
|
67
|
+
// /** @deprecated */
|
|
68
|
+
// querySelector<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null;
|
|
69
|
+
// querySelector<E extends Element = Element>(selectors: string): E | null;
|
|
70
|
+
// querySelector(selectors: string): Element | null;
|
|
71
|
+
//
|
|
72
|
+
// /**
|
|
73
|
+
// * Returns all element descendants of node that match selectors.
|
|
74
|
+
// *
|
|
75
|
+
// * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/querySelectorAll)
|
|
76
|
+
// */
|
|
77
|
+
// querySelectorAll<K extends keyof HTMLElementTagNameMap>(selectors: K): NodeListOf<HTMLElementTagNameMap[K]>;
|
|
78
|
+
// querySelectorAll<K extends keyof SVGElementTagNameMap>(selectors: K): NodeListOf<SVGElementTagNameMap[K]>;
|
|
79
|
+
// querySelectorAll<K extends keyof MathMLElementTagNameMap>(selectors: K): NodeListOf<MathMLElementTagNameMap[K]>;
|
|
80
|
+
// /** @deprecated */
|
|
81
|
+
// querySelectorAll<K extends keyof HTMLElementDeprecatedTagNameMap>(selectors: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;
|
|
82
|
+
// querySelectorAll<E extends Element = Element>(selectors: string): NodeListOf<E>;
|
|
83
|
+
// querySelectorAll(selectors: string): NodeListOf<Element>;
|
|
84
|
+
//
|
|
85
|
+
// /**
|
|
86
|
+
// * Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.
|
|
87
|
+
// *
|
|
88
|
+
// * Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
|
|
89
|
+
// *
|
|
90
|
+
// * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/replaceChildren)
|
|
91
|
+
// */
|
|
92
|
+
// replaceChildren(...nodes: (Node | string)[]): void;
|
|
93
|
+
// }
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { Node } from './Node';
|
|
2
1
|
import { ChildNodeBase } from './ChildNodeBase';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { HTMLCollection } from './collection/HTMLCollection';
|
|
6
|
-
import { NodeListOf } from './collection/NodeListOf';
|
|
2
|
+
import { HTMLCollectionImp } from './collection/HTMLCollectionImp';
|
|
3
|
+
import { NodeListOfImp } from './collection/NodeListOfImp';
|
|
7
4
|
import { ELEMENT_NODE, TEXT_NODE } from './Node';
|
|
8
5
|
import { TextBase } from './TextBase';
|
|
9
6
|
import { CSSSelector } from '../utils/CSSSelector';
|
|
@@ -31,7 +28,7 @@ export abstract class ParentNodeBase extends ChildNodeBase implements ParentNode
|
|
|
31
28
|
elements.push(child as unknown as Element);
|
|
32
29
|
}
|
|
33
30
|
}
|
|
34
|
-
return new
|
|
31
|
+
return new HTMLCollectionImp(elements) as unknown as HTMLCollection;
|
|
35
32
|
}
|
|
36
33
|
|
|
37
34
|
get firstElementChild(): Element | null {
|
|
@@ -57,7 +54,7 @@ export abstract class ParentNodeBase extends ChildNodeBase implements ParentNode
|
|
|
57
54
|
for (const node of nodes) {
|
|
58
55
|
if (typeof node === 'string') {
|
|
59
56
|
const textNode = new TextBase(node, this._ownerDocument);
|
|
60
|
-
this.appendChild(textNode);
|
|
57
|
+
this.appendChild(textNode as unknown as Node);
|
|
61
58
|
} else {
|
|
62
59
|
this.appendChild(node);
|
|
63
60
|
}
|
|
@@ -69,7 +66,7 @@ export abstract class ParentNodeBase extends ChildNodeBase implements ParentNode
|
|
|
69
66
|
for (const node of nodes) {
|
|
70
67
|
if (typeof node === 'string') {
|
|
71
68
|
const textNode = new TextBase(node, this._ownerDocument);
|
|
72
|
-
this.insertBefore(textNode, firstChild);
|
|
69
|
+
this.insertBefore(textNode as unknown as Node, firstChild);
|
|
73
70
|
} else {
|
|
74
71
|
this.insertBefore(node, firstChild);
|
|
75
72
|
}
|
|
@@ -81,7 +78,7 @@ export abstract class ParentNodeBase extends ChildNodeBase implements ParentNode
|
|
|
81
78
|
while (this._childNodesInternal.length > 0) {
|
|
82
79
|
const child = this._childNodesInternal[0];
|
|
83
80
|
if (child) {
|
|
84
|
-
this.removeChild(child);
|
|
81
|
+
this.removeChild(child as unknown as Node);
|
|
85
82
|
}
|
|
86
83
|
}
|
|
87
84
|
|
|
@@ -117,7 +114,7 @@ export abstract class ParentNodeBase extends ChildNodeBase implements ParentNode
|
|
|
117
114
|
}
|
|
118
115
|
}
|
|
119
116
|
|
|
120
|
-
return new
|
|
117
|
+
return new NodeListOfImp<E>(uniqueResults) as unknown as NodeListOf<E>;
|
|
121
118
|
}
|
|
122
119
|
|
|
123
120
|
// Private helper methods for querySelector
|