shotgun-query

An object query & function call DSL

Usage no npm install needed!

<script type="module">
  import shotgunQuery from 'https://cdn.skypack.dev/shotgun-query';
</script>

README

shotgun

Shotgun is a DSL to query an object and call a function.

Installation

npm install shotgun-query

Usage:

const expect = thing =>
    ({ equals: otherThing => thing === otherThing });

new Shotgun(" res.status equals 200 ")
    .eval({ res: { status: 200 } })
    .call(expect);

Convention

The function passed to .call must be of this signature:

f = (arg : any) : object => ({
    g : (...rest : any[]) : any => { ... },
    ...
});

It will be called as such:

f(a)[g](...rest)

And the evaluation is returned.

Tests

npm test