zkjson 0.1.15 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/doc.js +13 -3
  2. package/encoder.js +5 -1
  3. package/package.json +1 -1
package/doc.js CHANGED
@@ -1,6 +1,14 @@
1
1
  const snarkjs = require("snarkjs")
2
2
  const { resolve } = require("path")
3
- const { pad, toSignal, encode, encodePath, encodeVal } = require("./encoder")
3
+ const { isNil } = require("ramda")
4
+ const {
5
+ encodeQuery,
6
+ pad,
7
+ toSignal,
8
+ encode,
9
+ encodePath,
10
+ encodeVal,
11
+ } = require("./encoder")
4
12
 
5
13
  module.exports = class Doc {
6
14
  constructor({ size_val = 5, size_path = 5, size_json = 256, wasm, zkey }) {
@@ -10,11 +18,13 @@ module.exports = class Doc {
10
18
  this.wasm = wasm
11
19
  this.zkey = zkey
12
20
  }
13
- async getInputs({ json, path }) {
21
+ async getInputs({ query, json, path }) {
14
22
  return {
15
23
  json: pad(toSignal(encode(json)), this.size_json),
16
24
  path: pad(toSignal(encodePath(path)), this.size_path),
17
- val: pad(toSignal(encodeVal(this.getVal(json, path))), this.size_val),
25
+ val: isNil(query)
26
+ ? pad(toSignal(encodeVal(this.getVal(json, path))), this.size_val)
27
+ : pad(toSignal(encodeQuery(query)), this.size_val),
18
28
  }
19
29
  }
20
30
  _getVal(j, p) {
package/encoder.js CHANGED
@@ -8,6 +8,10 @@ const ops = {
8
8
  $lte: 15,
9
9
  $in: 16,
10
10
  $nin: 17,
11
+ $contains: 18,
12
+ $contains_any: 19,
13
+ $contains_all: 20,
14
+ $contains_none: 21,
11
15
  }
12
16
  const opMap = {}
13
17
  for (let k in ops) opMap[ops[k]] = k
@@ -473,7 +477,7 @@ function encodeQuery(v) {
473
477
  if (!Array.isArray(v)) throw Error("query must be an array")
474
478
  const op = v[0]
475
479
  if (isNil(ops[op])) throw Error(`query not supported: ${op}`)
476
- return [ops[op], ...encodeVal(v.slice(1))]
480
+ return [ops[op], ...encodeVal(v[1])]
477
481
  }
478
482
 
479
483
  function decodeQuery(v) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zkjson",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "Zero Knowledge Provable JSON",
5
5
  "main": "index.js",
6
6
  "license": "MIT",