npm.io
0.7.3 • Published 8 months ago

extra-dom

Licence
MIT
Version
0.7.3
Deps
3
Size
71 kB
Vulns
0
Weekly
0

extra-dom

Utilities for DOM.

Install

npm install --save extra-dom
# or
yarn add extra-dom

API

flatMap
function flatMap(node: Node, fn: (node: Node) => Node[]): Node[]

Traverse the node tree and do flatMap.

  • []: remove current node
  • [node]: replace current node
  • [node1, node2, ...nodeN]: replace current node with more nodes
map
function map(node: Node, fn: (node: Node) => Node): Node

Traverse the node tree and do map.

filter
function filter(node: Node, predicate: (node: Node) => unknown): Node | undefined

Traverse the node tree and do filter.

unwrap
function unwrap(node: Node, predicate: (node: Node) => unknown): Node[]

Traverse the node tree and do unwrap.

find
function find(node: Node, predicate: (node: Node) => unknown): Node | undefined

Traverse the node tree and do find.

parseNodes
function parseNodes(htmlFragment: string): Node[]
stringifyNodes
function stringifyNodes(nodes: Node[]): string
parseFragment
function parseFragment(htmlFragment: string): DocumentFragment
stringifyFragment
function stringifyFragment(fragment: DocumentFragment): string
removeAllChildren
function removeAllChildren(node: Node): void
removeAttributes
function removeAttributes(
  node: Node
, predicate?: (attributeName: string) => unknown
): void
getBySelector
function getBySelector<T extends Element>(
  this: void | Element | Document
, selectors: string
): T

Return the first matched element.

If cannot find any elements, it throws.

getAllBySelector
function getAllBySelector<T extends Element>(
  this: void | Element | Document
, selectors: string
): T[]

Return matched elements.

If cannot find any elements, it throws.

traverseAncestorNodes
function traverseAncestorNodes(node: Node): Iterable<Node & ParentNode>
traverseDescendantNodes
function traverseDescendantNodes(node: Node): Iterable<ChildNode>
traversePrecedingSiblingNodes
function traversePrecedingSiblingNodes(node: Node): Iterable<Node>
traverseFollowingSiblingNodes
function traverseFollowingSiblingNodes(node: Node): Iterable<Node>
traverseDescendantNodes
function traverseDescendantNodes(node: Node): Iterable<ChildNode>
findInAncestorNodes
function findInAncestorNodes(
  node: Node
, predicate: (node: Node & ParentNode) => unknown
): (Node & ParentNode) | undefined
findInDescendantNodes
function find(node: Node, predicate: (node: ChildNode) => unknown): ChildNode | undefined
findInPrecedingSiblingNodes
function findInPrecedingSiblingNodes(
  node: Node
, predicate: (node: Node) => unknown
): Node | undefined

This function uses Node.previousSibling to traverse the preceding sibling nodes.

findInFollowingSiblingNodes
function findInFollowingSiblingNodes(
  node: Node
, predicate: (node: Node) => unknown
): Node | undefined

This function uses Node.nextSibling to traverse the following sibling nodes.

parentNode
function parentNode(node: Node, distance: number = 1): (Node & ParentNode) | undefined
nextSibling
function nextSibling(node: Node, distance: number = 1): ChildNode | undefined
previousSibling
function previousSibling(node: Node, distance: number = 1): ChildNode | undefined
nextElementSibling
function nextElementSibling(node: Node, distance: number = 1): Element | undefined
previousElementSibling
function previousElementSibling(node: Node, distance: number = 1): Element | undefined
isDocument
function isDocument(val: unknown): val is Document
isntDocument
function isntDocument<T>(val: T): val is Exclude<T, Document>
isElement
function isElement(val: unknown): val is Element
isntElement
function isntElement<T>(val: T): val is Exclude<T, Element>
isTextNode
function isTextNode(val: unknown): val is Text
isntTextNode
function isntTextNode<T>(val: unknown): node is Exclude<T, Text>
isNode
function isNode(val: unknown): val is Node
isntNode
function isntNode<T>(val: T): val is Exclude<T, Node>
isParentNode
function isParentNode(val: unknown): val is Node & ParentNode
isntParentNode
function isntParentNode<T>(val: unknown): val is Exclude<T, Node & ParentNode>
isBefore
function isBefore(subject: Node, object: Node): boolean
isAfter
function isAfter(subject: Node, object: Node): boolean
createDOMParser
function createDOMParser(): DOMParser
NodeType
enum NodeType {
  ELEMENT_NODE
, ATTRIBUTE_NODE
, TEXT_NODE
, CDATA_SECTION_NODE
, ENTITY_REFERENCE_NODE
, ENTITY_NODE
, PROCESSING_INSTRUCTION_NODE
, COMMENT_NODE
, DOCUMENT_NODE
, DOCUMENT_TYPE_NODE
, DOCUMENT_FRAGMENT_NODE
, NOTATION_NODE
}
XPathResultType
enum XPathResultType {
  ANY_TYPE
, NUMBER_TYPE
, STRING_TYPE
, BOOLEAN_TYPE
, UNORDERED_NODE_ITERATOR_TYPE
, ORDERED_NODE_ITERATOR_TYPE
, UNORDERED_NODE_SNAPSHOT_TYPE
, ORDERED_NODE_SNAPSHOT_TYPE
, ANY_UNORDERED_NODE_TYPE
, FIRST_ORDERED_NODE_TYPE
}

Keywords