JSPM

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

load/convert between xml,json,yaml formats

Package Exports

  • to

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 (to) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

build status

to.js

collection of convertors. Comes with command line options to use the convertors along with a library version that can be used within programs as well.

Solves

  • read input formats json, xml, yaml
  • converts the document to internal javascript object form
  • write output as json, yaml documents
  • only input xml is handled (no output xml yet)

Installation

$ npm install -g to
$ npm install to

Usage

Command line:

 # reads xml file and prints it in yml
 $ to -i examples/sample.xml -o .yaml
 
 # reads yaml and prints it in json
 $ to -i examples/sample.yml -o .json

Within your program:

var to = require('to');

# Load yaml
var yamldoc = to.format.yaml.load('config.yaml');

# print doc in yaml 
var doc = ...;
console.log(to.format.yaml.stringify(doc));
  • refer to examples directory for xml, json, yaml code

Example

For a sample input xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">    
<dummy>
<value>15</value>
<value>35</value>
<value>5</value>
<value>4784</value>
<value>one more</value>
<h>decent</h>
<h>list</h>
<h>another</h>
<object>value</object>
<inner>
  <h1>value</h1>
  <li>got</li>
  <li>milk</li>
</inner>

Output in json:

{
  "dummy": {
    "value": [
      "15",
      "35",
      "5",
      "4784",
      "one more"
    ],
    "h": [
      "decent",
      "list",
      "another"
    ],
    "object": "value",
    "inner": {
      "h1": "value",
      "li": [
        "got",
        "milk"
      ]
    }
  }
}

# to try this example
$ to -i examples/sample1.xml -o .json

Output in yaml:

dummy: 
  value: 
    - 15
    - 35
    - 5
    - 4784
    - "one more"
  h: 
    - decent
    - list
    - another
  object: value
  inner: 
    h1: value
    li: 
      - got
      - milk

# to try this example
$ to -i examples/sample1.xml -o .yaml

Todo

  • Input html (be forgiving with bad html)
  • Input markdown
  • Output xml
  • Output html
  • add unit tests
  • allow beautification params for all outputs

Test cases

To execute full test cases

$ make