You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							81 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
	
	
							81 lines
						
					
					
						
							2.4 KiB
						
					
					
				| import { isTag, isCDATA, isText, hasChildren, isComment, } from "domhandler"; | |
| import renderHTML from "dom-serializer"; | |
| import { ElementType } from "domelementtype"; | |
| /** | |
|  * @category Stringify | |
|  * @deprecated Use the `dom-serializer` module directly. | |
|  * @param node Node to get the outer HTML of. | |
|  * @param options Options for serialization. | |
|  * @returns `node`'s outer HTML. | |
|  */ | |
| export function getOuterHTML(node, options) { | |
|     return renderHTML(node, options); | |
| } | |
| /** | |
|  * @category Stringify | |
|  * @deprecated Use the `dom-serializer` module directly. | |
|  * @param node Node to get the inner HTML of. | |
|  * @param options Options for serialization. | |
|  * @returns `node`'s inner HTML. | |
|  */ | |
| export function getInnerHTML(node, options) { | |
|     return hasChildren(node) | |
|         ? node.children.map((node) => getOuterHTML(node, options)).join("") | |
|         : ""; | |
| } | |
| /** | |
|  * Get a node's inner text. Same as `textContent`, but inserts newlines for `<br>` tags. | |
|  * | |
|  * @category Stringify | |
|  * @deprecated Use `textContent` instead. | |
|  * @param node Node to get the inner text of. | |
|  * @returns `node`'s inner text. | |
|  */ | |
| export function getText(node) { | |
|     if (Array.isArray(node)) | |
|         return node.map(getText).join(""); | |
|     if (isTag(node)) | |
|         return node.name === "br" ? "\n" : getText(node.children); | |
|     if (isCDATA(node)) | |
|         return getText(node.children); | |
|     if (isText(node)) | |
|         return node.data; | |
|     return ""; | |
| } | |
| /** | |
|  * Get a node's text content. | |
|  * | |
|  * @category Stringify | |
|  * @param node Node to get the text content of. | |
|  * @returns `node`'s text content. | |
|  * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent} | |
|  */ | |
| export function textContent(node) { | |
|     if (Array.isArray(node)) | |
|         return node.map(textContent).join(""); | |
|     if (hasChildren(node) && !isComment(node)) { | |
|         return textContent(node.children); | |
|     } | |
|     if (isText(node)) | |
|         return node.data; | |
|     return ""; | |
| } | |
| /** | |
|  * Get a node's inner text. | |
|  * | |
|  * @category Stringify | |
|  * @param node Node to get the inner text of. | |
|  * @returns `node`'s inner text. | |
|  * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText} | |
|  */ | |
| export function innerText(node) { | |
|     if (Array.isArray(node)) | |
|         return node.map(innerText).join(""); | |
|     if (hasChildren(node) && (node.type === ElementType.Tag || isCDATA(node))) { | |
|         return innerText(node.children); | |
|     } | |
|     if (isText(node)) | |
|         return node.data; | |
|     return ""; | |
| } | |
| //# sourceMappingURL=stringify.js.map
 |