zkjson 0.1.19 → 0.1.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/uint.js +113 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zkjson",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "description": "Zero Knowledge Provable JSON",
5
5
  "main": "index.js",
6
6
  "license": "MIT",
package/uint.js CHANGED
@@ -26,6 +26,63 @@ const toArray = (json, size) => {
26
26
  return j
27
27
  }
28
28
 
29
+
30
+ const arrPush = (json, size, digit, index, val) => {
31
+ var len = get(json, size, 0)
32
+ var _sum = sum(json, size, digit, 1, index + 2)
33
+ var at = _sum + 1 + len
34
+ json = insert(json, size, digit, at, val)
35
+ var alen = get(json, size, index + 1)
36
+ json = replace(json, size, digit, index + 1, alen + 1)
37
+ return json
38
+ }
39
+
40
+ const arrGet = (json, size, digit, index, index2) => {
41
+ var len = get(json, size, 0)
42
+ var _sum = sum(json, size, digit, 1, index + 1)
43
+ var at = _sum + 1 + len + index2
44
+ return get(json, size, at)
45
+ }
46
+
47
+ const pushArray = (json, size, digit, _arr, asize) => {
48
+ var jlen = length(json,size)
49
+ var alen = 0
50
+ if(jlen == 0) {
51
+ json = push(json, size, digit, 1)
52
+ }else{
53
+ alen = get(json, size, 0)
54
+ json = replace(json, size, digit, 0, alen + 1)
55
+ }
56
+ var len = length(_arr,size)
57
+ json = insert(json, size, digit, alen + 1, len)
58
+ var c = [0, asize, 0, 0, 0, 0, 0, 0, 0]
59
+ while (c[5] == 0) {
60
+ c = next(_arr, c)
61
+ json = push(json, size, digit, c[0])
62
+ }
63
+ return json
64
+ }
65
+
66
+ const popArray = (json, size, digit) => {
67
+ var jlen = length(json,size)
68
+ var alen = 0
69
+ if(jlen == 0) {
70
+ throw Error()
71
+ }else{
72
+ alen = get(json, size, 0)
73
+ }
74
+ if(alen == 1) return []
75
+ var len = get(json, size, alen)
76
+ json = replace(json, size, digit, 0, alen - 1)
77
+ var _sum = sum(json, size, digit, 1, alen)
78
+ var start = alen + 1 +_sum
79
+ var end = start + len + 1
80
+ json = remove(json, size, digit, start, end)
81
+ json = remove(json, size, digit, alen, alen + 1)
82
+ return json
83
+ }
84
+
85
+
29
86
  const length = (json, size) => {
30
87
  var _len = 0
31
88
  var c = [0, size, 0, 0, 0, 0, 0, 0, 0]
@@ -42,6 +99,42 @@ const length = (json, size) => {
42
99
  }
43
100
  }
44
101
 
102
+ const sum = (json, size, digit, start, end) =>{
103
+ var c = [0, size, 0, 0, 0, 0, 0, 0, 0]
104
+ var _sum = 0
105
+ var i = 0
106
+ while (c[5] == 0) {
107
+ c = next(json, c)
108
+ if (i >= start && i < end) _sum += c[0]
109
+ i++
110
+ }
111
+ return _sum
112
+ }
113
+
114
+ const mul = (json, size, digit, start, end) =>{
115
+ var c = [0, size, 0, 0, 0, 0, 0, 0, 0]
116
+ var _mul = 0
117
+ var i = 0
118
+ while (c[5] == 0) {
119
+ c = next(json, c)
120
+ if (i >= start && i < end) _mul *= c[0]
121
+ i++
122
+ }
123
+ return _mul
124
+ }
125
+
126
+ const remove = (json, size, digit, start, end) =>{
127
+ var _arr = arr(size)
128
+ var c = [0, size, 0, 0, 0, 0, 0, 0, 0]
129
+ var i = 0
130
+ while (c[5] == 0) {
131
+ c = next(json, c)
132
+ if (i < start || i >= end) push(_arr, size, digit, c[0])
133
+ i++
134
+ }
135
+ return _arr
136
+ }
137
+
45
138
  const slice = (json, size, digit, start, end) =>{
46
139
  var _arr = arr(size)
47
140
  var c = [0, size, 0, 0, 0, 0, 0, 0, 0]
@@ -421,5 +514,24 @@ const next = (json, c) => {
421
514
  }
422
515
 
423
516
  module.exports = {
424
- next, arr, push, length, last, pop, toArray, shift, unshift, slice, insert, replace,get
517
+ next,
518
+ arr,
519
+ push,
520
+ length,
521
+ last,
522
+ pop,
523
+ toArray,
524
+ shift,
525
+ unshift,
526
+ slice,
527
+ insert,
528
+ replace,
529
+ get,
530
+ pushArray,
531
+ arrPush,
532
+ sum,
533
+ mul,
534
+ arrGet,
535
+ remove,
536
+ popArray
425
537
  }