0.2.6 • Published 9 years ago

jsonml-to-react-component v0.2.6

Weekly downloads
17
License
MIT
Repository
github
Last release
9 years ago

jsonml-to-react-component

npm.io npm package NPM downloads Dependency Status

To convert JsonML to React Component.

Installation

npm install --save jsonml-to-react-component

Usage

Basic:

const ReactDOM = require('react-dom');
const toReactComponent = require('jsonml-to-react-component');

const title = [
  'h1',
  'Hello world!',
];

ReactDOM.render(toReactComponent(title), document.getElementById('content'));

With converters:

const React = require('react');
const ReactDOM = require('react-dom');
const toReactComponent = require('jsonml-to-react-component');

const website = [
  'section',
  [
    'header',
    ...
  ],
  [
    'article',
    [
      'h1',
      'Hello world!',
    ],
  ],
  [
    'footer',
    ...
  ]
];

const html5to4 = [
  [
    (node) => ['section', 'header', 'article', 'footer'].indexOf(node[0]) > -1,
    (node, index) => React.createElement(
      'div',
      { key: index },
      node.slice(1).map((child) => toReactComponent(child, html5to4))
    )
  ],
  ...
];

ReactDOM.render(
  toReactComponent(website, html5to4),
  document.getElementById('content')
);

API

toReactComponent(jsonml: Object , converters: Array): React.Component

To convert JsonML to React Component with converters.

converters: Array[PairFunction, Function]

Converters which are passed to toReactComponent will concat with default converters. It works like switch sentence.

Each item in converters is a pair of functions. The first function is a prediction, and the second function is a processor which take JsonML node and return React Component.

Relative

jsonml.js A collection of JsonML tools.

Liscence

MIT

0.2.6

9 years ago

0.2.5

9 years ago

0.2.4

9 years ago

0.2.3

9 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.10

10 years ago

0.1.9

10 years ago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.1.0-beta

10 years ago