object-parser-cli

0.0.1 • Public • Published

Object-parser-cli NPM version Build Status Coverage Status

the Object preprocessor.

Installation

$ npm install object-parser-cli --global
$ opc -V
# 0.0.0-alpha.0 
$ opc
 
#  Usage: opc <file/url> [path/locator...] [options...] 
# 
#  Options: 
# 
#    -h, --help              output usage information 
#    -S, --stdin             use the stdin 
#    -V, --version           output the version number 
#    -t, --transform <type>  Transform to <json/json5/yaml/html> 
#    -i, --indent <digit>    Adjust indents <2> 

Transform

opc <file/url> --transfrom <type>

Convert other format the passed value. (alias -t) Support the <type>: json, json5, yaml, html

JSON / JSON5 / JsonML

# foo.json: [["body",["h1",{"foo":"bar"},"baz"]]] 
 
$ opc foo.json --transfrom json5
# [["body",["h1",{foo:"bar"},"baz"]]] 
 
$ opc foo.json --transfrom yaml
# - 
#   - body 
#   - [h1, {foo: bar}, baz] 
 
$ opc foo.json --transfrom html
# <body> 
#   <h1 foo="bar">baz</h1> 
# </body> 

YAML

# foo.yml: '-\n  - body\n  - [h1, {foo: bar}, baz]' >  
 
$ opc foo.yml --transfrom json
# [["body",["h1",{"foo":"bar"},"baz"]]] 
 
$ opc foo.yml --transfrom json5
# [["body",["h1",{foo:"bar"},"baz"]]] 
 
$ opc foo.yml --transfrom html
# <body> 
#   <h1 foo="bar">baz</h1> 
# </body> 

Traversing the DOM

opc <file/url> locator [locator...]

# example.html: <title>foo</title> 
$ opc example.html title # foo 
 
# example.xml: <body id="baz"><h1>bar</h1></body> 
$ opc example.xml body # bar 
$ opc example.xml body?id # baz 
 
# example.json: [["li",["a",{"href":"booooop"}],"beep"]] 
$ opc example.json li # beep 
$ opc example.json "li a"?href # booooop 

locator is selector?attribute.

selector is https://github.com/fb55/css-select#supported-selectors

Get text() if selector hasn't ?attribute.

Get the value of Object

opc <file/url> path [path...]

# bower.json: {"name":"bar","ignore":["baz","beep","boop"]} 
$ opc bower name # bar 
$ opc bower ignore # baz beep boop 
$ opc bower name ignore # bar baz beep boop 
 
# .travis.yml: language: node_js 
$ opc .travis.yml language # node_js 

Note: extension .json is optional.

path is https://lodash.com/docs#get

Options

-s, --separator

$ opc bower name ignore --separator " && " # bar && baz && beep && boop 

License

MIT

Package Sidebar

Install

npm i object-parser-cli

Weekly Downloads

3

Version

0.0.1

License

MIT

Last publish

Collaborators

  • 59naga