hosejs
v1.3.0
Published
javascript pipe, jq alternative
Maintainers
Readme
HoseJS 
:tada: Data handling with ramda.js (version 1.3 or higher)

100% code coverage.
You can transform JSON(or NOT) data with just JavaScript in terminal.
jq? javascript is clearly better option for people already use javascript.
Feature
Data handling with ramda.js (version 1.3 or higher)
You can use ramda.js
eg. http https://swapi.co/api/people/1/ | j -r "props(['name', 'height'])"
eg. http https://swapi.co/api/people/1/ | j -ramda "props(['name', 'height'])"
eg. http https://swapi.co/api/people/1/ | j "props(['name', 'height'])(_)"
Options
--fileoption provide you to apply pre-defined script first--tabif result is Object, print JSON format with specified tab size (default: 2)
Install
npm -g install hosejsCommand
j or js
Usage
_ is everything you need to know
$ cat some.json | j '_.map(x => x.timestamp)'
$ cat some.json | j '_.map(x => x.timestamp)' --tab 4
$ cat some.json | j '_.map(x => x.timestamp)' --file pre.js --tab 2
$ cat some.json | j '_.map(x => x.timestamp)' > some.json
$ cat some.json | j '[_].map(x => x.some_property + '👍')[0]'
$ cat some.json | j '_.map(x => new Date(x.timestamp).toISOString())'
$ cat some.json | j --file preload.js '_.map(x => x.timestamp)'
$ http https://swapi.co/api/people/ | j 'Object.keys(_)'
$ http https://swapi.co/api/people/ | j '_.count'
$ http https://swapi.co/api/people/ | j '_.results.map(x => x.name)'
$ echo 'not json string \n !!' | j '_.split("\n")'
$ http https://swapi.co/api/people/1/ | j -r "props(['name', 'height'])"
$ http https://swapi.co/api/people/1/ | j -ramda "props(['name', 'height'])"
$ http https://swapi.co/api/people/1/ | j "props(['name', 'height'])(_)"
Inject script file
IIFE
// cw-oneline.js
(() => {
const time = time => new Date(time).toISOString().slice(0, -5).replace('T', ' ')
return _.map(x => `${time(x.timestamp)} ${x.message}`)
})()cat downloaded-cw-log.json | j -f cw-oneline.js > deptno.latest.jsonHmm ... Is it easy to look upside down?
add _.reverse()
cat downloaded-cw-log.json | j -f cw-oneline.js '_.reverse()' > deptno.latest.jsonLicense
MIT
