Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork1
utility to set the plain-text value of a node according to the `innerText` algorithm
License
syntax-tree/hast-util-from-text
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
hast utility to set the plain-text value of a node.
This package is a utility that takes ahast node and a string and sets thatvalue as its text.It is like the DOMsNode#innerText setter, which can be a bit nicer thanNode#textContent, because this turns line endings into<br> elements.
This is a small utility that is useful when you want to set a string that isclose to how it’s “visible” to users.
This utility is similar tohast-util-from-string,which is simpler, and like theNode#textContent algorithm discussed above.
There is also a packagehast-util-to-text, which sortof does the inverse: it takes a node and gets its text.
This package isESM only.In Node.js (version 16+), install withnpm:
npm install hast-util-from-text
In Deno withesm.sh:
import{fromText}from'https://esm.sh/hast-util-from-text@3'
In browsers withesm.sh:
<scripttype="module">import{fromText}from'https://esm.sh/hast-util-from-text@3?bundle'</script>
import{h}from'hastscript'import{fromText}from'hast-util-from-text'constp1=h('p')constp2=h('p',[h('b','Bravo'),'.'])constp3=h('p')fromText(p1,'Alpha')fromText(p2,'Charlie')fromText(p3,'Delta\nEcho')console.log(p1)console.log(p2)console.log(p3)
Yields:
{type:'element',tagName:'p',properties:{},children:[{type:'text',value:'Alpha'}]}{type:'element',tagName:'p',properties:{},children:[{type:'text',value:'Charlie'}]}{type:'element',tagName:'p',properties:{},children:[{type:'text',value:'Delta'},{type:'element',tagName:'br',properties:{},children:[]},{type:'text',value:'Echo'}]}
This package exports the identifierfromText.There is no default export.
Set the plain-text value of a node.
tree(Node)— node to changevalue(string, default:'')— value to set
Nothing (undefined).
- if
treeis acommentortext, sets itsvalue - if
treeis aelementorroot, replaces its children with abrelement for every line ending and atextfor everything else
innerText only exists on elements.In this utility, we accept all parent nodes and handle them as elements, andfor all literals we set thevalue of the given node the given value.
This package is fully typed withTypeScript.It exports no additional types.
Projects maintained by the unified collective are compatible with maintainedversions of Node.js.
When we cut a new major release, we drop support for unmaintained versions ofNode.This means we try to keep the current release line,hast-util-from-text@^3,compatible with Node.js 16.
Improper use can open you up to across-site scripting (XSS) attack asvalue is injected into the syntax tree.If operating on a<script> element,value will run in a browser.
Do not use user input invalue when operating onscript elements or usehast-util-santize.
hast-util-to-text— get the plain-text value (innerText)hast-util-to-string— get the plain-text value (textContent)hast-util-from-string— set the plain-text value (textContent)
Seecontributing.md insyntax-tree/.github forways to get started.Seesupport.md for ways to get help.
This project has acode of conduct.By interacting with this repository, organization, or community you agree toabide by its terms.
About
utility to set the plain-text value of a node according to the `innerText` algorithm
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.