Skip to content

Commit

Permalink
Publish 0.2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
davesnx committed Sep 10, 2020
1 parent e4a1f96 commit 40e5775
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 8 deletions.
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

---

**query-json (q)** is a [faster](./benchmarks/report.md) and simpler re-implementation of the [jq language](https://github.com/stedolan/jq/wiki/jq-Language-Description) in [Reason Native](https://reasonml.github.io/docs/en/native) and compiled to native thanks to OCaml. q, allows you to write small programs to operate on top of json files in a cute syntax.
**query-json (q)** is a [faster](#Performance) and simpler re-implementation of the [jq language](https://github.com/stedolan/jq/wiki/jq-Language-Description) in [Reason Native](https://reasonml.github.io/docs/en/native) and compiled to binary thanks to OCaml. **q**, allows you to write small programs to operate on top of json files in a cute syntax.

```bash
q ".store.books | filter(.price > 10)" stores.json
Expand All @@ -35,13 +35,15 @@ This would access to `"store"` field inside the **stores.json**, access to `"boo

## It brings

- **Great Performance**: Fast, small footprint and minimum run-time. Check ][report](./benchmarks/report.md)
- **Great Performance**: Fast, small footprint and minimum run-time. Check [Performance section](#Performance) for a longer explaination.
- **Delightful errors**:
- Better errors when json "shapes" and operations don't match.
- Better errors when json types and operation types don't match.
- `verbose` flag, prints each operation in each state and it's intermediate states.
- `debug` prints the tokens and the AST.
- **Improved API**: made small adjustments to the buildin operations. For example, all methods are snake_case instead of alltoghetercase, changed select to filter, and other details.
- **Small**: Lexer, Parser and Compiler are just 300 LOC and most of all the commands that I use on my day to day, are implemented in only 140 LOC.
- **Improved API**: made small adjustments to the buildin operations. Some examples are:
- All methods are snake_case instead of alltoghetercase
- Changed `select` for `filter`
- **Small**: Lexer, Parser and Compiler are just 300 LOC and most of the commands that I use on my day to day are implemented in only 140 LOC.

## Installation

Expand Down
2 changes: 1 addition & 1 deletion bin/Info.re
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
let version = "0.2.1";
let description = "query-json is a simplified and faster implementation of jq in Reason Native, available under 'q'";
let description = "query-json is a faster and simpler re-implementation of jq in Reason Native, available under 'q'";

let repo = "https://github.com/davesnx/query-json";
let bugUrl = repo ++ "/issues";
4 changes: 2 additions & 2 deletions esy.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@davesnx/query-json",
"version": "0.2.1",
"description": "Simpler and faster implementation of jq in Reason Native",
"version": "0.2.2",
"description": "faster and simpler re-implementation of jq in Reason Native",
"author": "davesnx <[email protected]>",
"license": "MIT",
"homepage": "https://github.com/davesnx/query-json",
Expand Down

0 comments on commit 40e5775

Please sign in to comment.