Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

utility to set the plain-text value of a node according to the `innerText` algorithm

License

NotificationsYou must be signed in to change notification settings

syntax-tree/hast-util-from-text

BuildCoverageDownloadsSizeSponsorsBackersChat

hast utility to set the plain-text value of a node.

Contents

What is this?

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.

When should I use this?

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.

Install

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>

Use

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'}]}

API

This package exports the identifierfromText.There is no default export.

fromText(node[, value])

Set the plain-text value of a node.

Parameters
  • tree (Node)— node to change
  • value (string, default:'')— value to set
Returns

Nothing (undefined).

Algorithm
  • iftree is acomment ortext, sets itsvalue
  • iftree is aelement orroot, replaces its children with abrelement for every line ending and atext for everything else
Notes

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.

Types

This package is fully typed withTypeScript.It exports no additional types.

Compatibility

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.

Security

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.

Related

Contribute

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.

License

MIT ©Titus Wormer

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

Stars

Watchers

Forks

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp