dom-serializer

  • Version 3.1.1
  • Published
  • 38.2 kB
  • 3 dependencies
  • MIT license

Install

npm i dom-serializer
yarn add dom-serializer
pnpm add dom-serializer

Overview

render domhandler DOM nodes to a string

Index

Functions

function render

render: (
node: AnyNode | ArrayLike<AnyNode>,
options?: DomSerializerOptions
) => string;
  • Renders a DOM node or an array of DOM nodes to a string.

    Can be thought of as the equivalent of the outerHTML of the passed node(s).

    Parameter node

    Node to be rendered.

    Parameter options

    Changes serialization behavior

Interfaces

interface DomSerializerOptions

interface DomSerializerOptions {}
  • Options for DOM serialization.

property decodeEntities

decodeEntities?: boolean;
  • Default for encodeEntities. Named to match the parser option of the same name so a single options object can be threaded through parse and serialize for a faithful round-trip — for example, cheerio parses with decodeEntities: false to preserve entity references and passes the same option here so they are not re-encoded.

    Despite the name, on the serializer this option controls *encoding*. Setting it to false carries the same caveat as encodeEntities: false — see that option. true

property emptyAttrs

emptyAttrs?: boolean;
  • Print an empty attribute's value. xmlMode

    Example 1

    With emptyAttrs: false: &lt;input checked&gt;

    Example 2

    With emptyAttrs: true: &lt;input checked=""&gt;

property encodeEntities

encodeEntities?: boolean | 'utf8';
  • Encode characters reserved in HTML or XML in text and attribute values.

    If xmlMode is set or the value is not 'utf8', characters outside the ASCII range will also be encoded as numeric entities.

    **Security:** Setting this to false disables encoding of <, >, &, and (in attribute values) ' — only " in attribute values is escaped. This is safe for the round-trip case (DOM was parsed with decodeEntities: false, so any markup characters in text or attribute values exist only as entity references), and unsafe otherwise. If text or attribute values in the DOM contain raw <, >, or &, those characters will appear literally in the output. decodeEntities

property selfClosingTags

selfClosingTags?: boolean;
  • Print self-closing tags for tags without contents. If xmlMode is set, this will apply to all tags. Otherwise, only tags that are defined as self-closing in the HTML specification will be printed as such. xmlMode

    Example 1

    With selfClosingTags: false: &lt;foo&gt;&lt;/foo&gt;&lt;br&gt;&lt;/br&gt;

    Example 2

    With xmlMode: true and selfClosingTags: true: &lt;foo/&gt;&lt;br/&gt;

    Example 3

    With xmlMode: false and selfClosingTags: true: &lt;foo&gt;&lt;/foo&gt;&lt;br /&gt;

property xmlMode

xmlMode?: boolean | 'foreign';
  • Treat the input as an XML document; enables the emptyAttrs and selfClosingTags options.

    If the value is "foreign", it will try to correct mixed-case attribute names. false

Package Files (1)

Dependencies (3)

Dev Dependencies (10)

Peer Dependencies (0)

No peer dependencies.

Badge

To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/dom-serializer.

  • Markdown
    [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/dom-serializer)
  • HTML
    <a href="https://www.jsdocs.io/package/dom-serializer"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>