JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1187274
  • Score
    100M100P100Q16092F
  • License MIT

Transform HAST to something else through a hyperscript DSL

Package Exports

  • hast-to-hyperscript

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (hast-to-hyperscript) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

hast-to-hyperscript Build Status Coverage Status

Transform HAST to something else through a hyperscript DSL.

Installation

npm:

npm install hast-to-hyperscript

Usage

var toH = require('hast-to-hyperscript');
var h = require('hyperscript');

var tree = { type: 'element',
   tagName: 'p',
   properties: { id: 'alpha', className: [ 'bravo' ] },
   children:
    [ { type: 'text',
        value: 'charlie ' },
      { type: 'element',
        tagName: 'strong',
        properties: { style: 'color: red;' },
        children:
         [ { type: 'text',
             value: 'delta' } ] },
      { type: 'text',
        value: ' echo.' } ] }

// Transform (`hyperscript` needs `outerHTML` to stringify):
var doc = toH(h, tree).outerHTML;

Yields:

<p class="bravo" id="alpha">charlie <strong>delta</strong> echo.</p>

API

toH(h, node[, prefix])

Transform HAST to something else through a hyperscript DSL.

Parameters
  • h (Function)
  • node (Element)
  • prefix (string or boolean, optional) — Prefix to use as a prefix for keys passed in attrs to h(), this behaviour is turned off by passing false, turned on by passing a string. By default, h- is used as a prefix if the given h is detected as being virtual-dom/h or React.createElement
Returns

* — Anything returned by invoking h().

function h(name, attrs, children)

Transform HAST to something else through a hyperscript DSL.

Parameters
  • name (string) — Tag-name of element to create
  • attrs (Object.<string>) — Attributes to set
  • children (Array.<* | string>) — List of children and text, where children are the result of invoking h() previously
Returns

* — Anything.

Caveats

Although there are lots of libs mentioning support for this interface, there are significant differences between them. For example, hyperscript doesn’t support classes in attrs, virtual-dom/h needs an attributes object inside attrs most of the time. hast-to-hyperscript works around these differences for:

License

MIT © Titus Wormer