UNPKG

jiq

Version:

Use existing javascript knowledge to query or modify data

113 lines (76 loc) 5.34 kB
# Introduction ### Javascript Inline Query (jiq) a command line tool. Use existing javascript knowledge to query or modify almost any type data, files and directory. # Installation npm -g install jiq or yarn global add jiq # Usage jiq <file/path/url> <your javascript where $ holds data> # Let's start jiq output ┌──────────────┬───────────┬──────┐ │ base │ type │ size │ ├──────────────┼───────────┼──────┤ │ .git │ directory │ -- │ │ .vscode │ directory │ -- │ │ assets │ directory │ -- │ │ build │ directory │ -- │ │ docs │ directory │ -- │ │ node_modules │ directory │ -- │ │ src │ directory │ -- │ │ stubs │ directory │ -- │ └──────────────┴───────────┴──────┘ filter directory only jiq . '.filter(x => x.isDirectory)' output ┌──────────────┬───────────┬──────┐ │ base │ type │ size │ ├──────────────┼───────────┼──────┤ │ .git │ directory │ -- │ │ .vscode │ directory │ -- │ │ assets │ directory │ -- │ │ build │ directory │ -- │ │ docs │ directory │ -- │ │ node_modules │ directory │ -- │ │ src │ directory │ -- │ │ stubs │ directory │ -- │ └──────────────┴───────────┴──────┘ rename js to ts file jiq . '.filter(x => x.ext === "js").each(x => x.rename(x.name + ".ts"))' output rename all js files to ts on specified directory goto [File](?id=file) section let say we have a `package.json` file jiq package.json .scripts ```json { "start": "node index.js" } ``` see [JSON](modules?id=json) get json from url and print as table. jiq https://reqres.in/api/users '.data' --print table output ┌─────────┬────┬────────────────────────────┬────────────┬───────────┬───────────────────────────────────────────────────────────────────────┐ │ (index) │ id │ email │ first_name │ last_name │ avatar │ ├─────────┼────┼────────────────────────────┼────────────┼───────────┼───────────────────────────────────────────────────────────────────────┤ │ 01'george.bluth@reqres.in''George''Bluth''https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg' │ │ 12'janet.weaver@reqres.in''Janet''Weaver''https://s3.amazonaws.com/uifaces/faces/twitter/josephstein/128.jpg' │ │ 23'emma.wong@reqres.in''Emma''Wong''https://s3.amazonaws.com/uifaces/faces/twitter/olegpogodaev/128.jpg' │ │ 34'eve.holt@reqres.in''Eve''Holt''https://s3.amazonaws.com/uifaces/faces/twitter/marcoramires/128.jpg' │ │ 45'charles.morris@reqres.in''Charles''Morris''https://s3.amazonaws.com/uifaces/faces/twitter/stephenmoon/128.jpg' │ │ 56'tracey.ramos@reqres.in''Tracey''Ramos''https://s3.amazonaws.com/uifaces/faces/twitter/bigmancho/128.jpg' │ └─────────┴────┴────────────────────────────┴────────────┴───────────┴───────────────────────────────────────────────────────────────────────┘ see [printer](output?id=print) with json output jiq https://reqres.in/api/users '.data.head(3).pick({email: "email", name: (x) => x.first_name + " " + x.last_name })' see all available array functions [array](?id=array), and [JSON](?id=json) output [ { email: 'george.bluth@reqres.in', name: 'George Bluth' }, { email: 'janet.weaver@reqres.in', name: 'Janet Weaver' }, { email: 'emma.wong@reqres.in', name: 'Emma Wong' } ] Read full [documentation](https://md-adil.github.io/jiq/) here.