UNPKG

@digitalocean/do-markdownit

Version:

Markdown-It plugin for the DigitalOcean Community.

62 lines (61 loc) 2.66 kB
/** * Remove all nodes that have no text content recursively, including the given node. * * @param {import('domhandler').Node} node Node to remove empty nodes from (including self). * @private */ export function domRemoveEmpty(node: import('domhandler').Node): void; /** * Find the correct node for a text offset from an existing node. * Will explore sibling leaf nodes up the tree as far as the given root. * * @param {import('domhandler').Node} node Node to start exploring from. * @param {number} offset Text offset to find node for. * @param {import('domhandler').Node} root Node to consider the root of the tree. * @param {boolean} [nextOnExact=false] Move to the next node if the offset is exactly the length of the current node. * @returns {{node: import('domhandler').Node, offset: number}} The node the remaining offset is within. * @private */ export function domOffsetNode(node: import('domhandler').Node, offset: number, root: import('domhandler').Node, nextOnExact?: boolean): { node: import('domhandler').Node; offset: number; }; /** * Split a node at a given offset up to a given root. * * @param {import('domhandler').Node} root Node to consider the root of the tree. * @param {import('domhandler').Node} node Node to split. * @param {?number} [offset=null] Optional offset to split at. * @param {boolean} [nodeInRight=true] If the node to split on should be in the right tree of the split. * @returns {{left: import('domhandler').Node[], right: import('domhandler').Node[]}} * @private */ export function domSplit(root: import('domhandler').Node, node: import('domhandler').Node, offset?: number | null, nodeInRight?: boolean): { left: import('domhandler').Node[]; right: import('domhandler').Node[]; }; /** * Find a common ancestor of two nodes. * * @param {import('domhandler').Node} node1 First node to consider. * @param {import('domhandler').Node} node2 Second node to consider. * @returns {?import('domhandler').Node} * @private */ export function domCommonAncestor(node1: import('domhandler').Node, node2: import('domhandler').Node): import('domhandler').Node | null; /** * Check if all direct next siblings of a node have no text content. * * @param {import('domhandler').Node} node Node to consider. * @returns {boolean} * @private */ export function domNextSiblingsEmpty(node: import('domhandler').Node): boolean; /** * Check if all direct previous siblings of a node have no text content. * * @param {import('domhandler').Node} node Node to consider. * @returns {boolean} * @private */ export function domPreviousSiblingsEmpty(node: import('domhandler').Node): boolean;