xast-util-to-string

xast utility to get the text value of a node

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
xast-util-to-string
3.0.09 months ago4 years agoMinified + gzip package size for xast-util-to-string in KB

Readme

xast-util-to-string
!Buildbuild-badgebuild !Coveragecoverage-badgecoverage !Downloadsdownloads-badgedownloads !Sizesize-badgesize !Sponsorssponsors-badgecollective !Backersbackers-badgecollective !Chatchat-badgechat
xast utility to get the plain-text value of a node.

Contents

*   [`toString(node)`](#tostringnode)

What is this?

This package is a utility that takes a xast node and gets its plain-text value. This is like the DOMs Node#textContent getter but there are some small deviations.

When should I use this?

This is a small utility that is useful when you want a plain-text version of a node when working with xast (XML).

Install

This package is ESM onlyesm. In Node.js (version 16+), install with npm:
npm install xast-util-to-string

In Deno with esm.shesmsh:
import {toString} from 'https://esm.sh/xast-util-to-string@3'

In browsers with esm.shesmsh:
<script type="module">
  import {toString} from 'https://esm.sh/xast-util-to-string@3?bundle'
</script>

Use

import {x} from 'xastscript'
import {toString} from 'xast-util-to-string'

const tree = x(
  'ncx',
  {xmlns: 'http://www.daisy.org/z3986/2005/ncx/', version: '2005-1'},
  [
    x('head', [
      x('meta', {name: 'dtb:uid', content: 'urn:isbn:9781234567891'})
    ]),
    x('docTitle', [x('text', 'A Christmas Carol')]),
    x('docAuthor', [x('text', 'Charles Dickens')])
  ]
)

console.log(toString(tree))

Yields:
A Christmas CarolCharles Dickens

API

This package exports the identifier toStringapi-to-string. There is no default export.

toString(node)

Get the plain text value of a node.
If the node has a value field (cdata, comment, doctype, instruction, or text), returns it. If the node has a children field (root or element), recurses into it to concatenate all texts.
Returns
Serialized node (string).

Types

This package is fully typed with TypeScript
. It exports no additional types.

Compatibility

Projects maintained by the unified collective are compatible with maintained versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line, xast-util-to-string@^3, compatible with Node.js 16.

Security

xast-util-to-string does not change the syntax tree so there are no openings for cross-site scripting (XSS)xss attacks.

Related

— serialize xast to XML
— get the plain-text value (`textContent`)
— get the plain-text value (`innerText`)
— set the plain-text value (`innerText`)
— set the plain-text value (`textContent`)

Contribute

See contributing.mdcontributing in syntax-tree/.githubhealth for ways to get started. See support.mdsupport for ways to get help.
This project has a code of conductcoc. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MITlicense © Titus Wormerauthor