Small implementation of jq
npm install @elastic/micro-jqA small implementation of JQ.
jq is a fantastic tool for wrangling
JSON, but it's written in C and so cannot be used in a browser. This
project implements a subset of the JQ filter language, and is intended for
simple filtering jobs in JavaScript where the filter is supplied e.g. by
a user.
It uses a [parsed expression grammar][peg] (via [Peggy][peggy]) to transform JQ expressions
into a series of "op codes", with each one representing a JQ filter
operation. Each op code is executed with a context, which is initialised
with the input object. As each op code executes, the context is updated.
* Implement enough of the JQ syntax to be useful
* Implement it the same as JQ
* Complete implementation of JQ (but the level of completeness may
increase over time).
[peg]: https://en.wikipedia.org/wiki/Parsing_expression_grammar
[peggy]: https://peggyjs.org/