wao 0.8.3 → 0.8.5
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.
- package/cjs/ao.js +274 -329
- package/cjs/aoconnect.js +601 -438
- package/cjs/cli.js +0 -0
- package/cjs/lua/aos1_x.wasm +0 -0
- package/cjs/tao.js +0 -1
- package/cjs/utils.js +136 -19
- package/esm/.db/766288/data/ppl/bob.json +1 -0
- package/esm/ao.js +82 -140
- package/esm/aoconnect.js +19 -19
- package/esm/cli.js +0 -0
- package/esm/lua/aos1_x.wasm +0 -0
- package/esm/tao.js +1 -2
- package/esm/utils.js +109 -17
- package/package.json +1 -1
package/esm/tao.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createDataItemSigner } from "@permaweb/aoconnect"
|
|
|
3
3
|
import { srcs, buildTags } from "./utils.js"
|
|
4
4
|
import AR from "./tar.js"
|
|
5
5
|
import { connect } from "./aoconnect.js"
|
|
6
|
-
import { acc } from "./test.js"
|
|
6
|
+
import { acc, mu } from "./test.js"
|
|
7
7
|
import { mergeLeft, is, map } from "ramda"
|
|
8
8
|
|
|
9
9
|
let log = `
|
|
@@ -69,7 +69,6 @@ class AO extends MAO {
|
|
|
69
69
|
cache: opt.cache,
|
|
70
70
|
reset: opt.reset,
|
|
71
71
|
})
|
|
72
|
-
this.module = mem.modules.aos2_0_1
|
|
73
72
|
this.assign = assign
|
|
74
73
|
this.result = async (...opt) => {
|
|
75
74
|
const res = await result(...opt)
|
package/esm/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { graphql, parse, validate, buildSchema } from "graphql"
|
|
2
2
|
|
|
3
|
-
import { clone, is, includes, fromPairs, map, isNil } from "ramda"
|
|
3
|
+
import { clone, is, includes, fromPairs, map, isNil, equals } from "ramda"
|
|
4
4
|
|
|
5
5
|
const allows = [
|
|
6
6
|
{ key: "allowed", val: "Allowed" },
|
|
@@ -86,6 +86,8 @@ const isData = (data, res) => {
|
|
|
86
86
|
try {
|
|
87
87
|
if (data.test(v.Data)) return true
|
|
88
88
|
} catch (e) {}
|
|
89
|
+
} else if (typeof data === "function") {
|
|
90
|
+
return data(v.Data)
|
|
89
91
|
} else {
|
|
90
92
|
if (data === true || v.Data === data) return true
|
|
91
93
|
}
|
|
@@ -149,6 +151,7 @@ const modGet = get => {
|
|
|
149
151
|
} else if (
|
|
150
152
|
is(Object, get) &&
|
|
151
153
|
isNil(get.data) &&
|
|
154
|
+
isNil(get.from) &&
|
|
152
155
|
isNil(get.json) &&
|
|
153
156
|
isNil(get.name) &&
|
|
154
157
|
isNil(get.obj)
|
|
@@ -158,23 +161,32 @@ const modGet = get => {
|
|
|
158
161
|
return _get
|
|
159
162
|
}
|
|
160
163
|
|
|
161
|
-
const _getTagVal = (get, res) => {
|
|
164
|
+
const _getTagVal = (get, res, from) => {
|
|
162
165
|
let out = null
|
|
163
166
|
const _get = modGet(get)
|
|
164
167
|
if (typeof _get === "object" && _get.obj) {
|
|
165
168
|
out = {}
|
|
166
|
-
for (const k in _get.obj ?? {}) out[k] = _getTagVal(_get.obj[k], res)
|
|
169
|
+
for (const k in _get.obj ?? {}) out[k] = _getTagVal(_get.obj[k], res, from)
|
|
167
170
|
} else {
|
|
168
171
|
for (const v of res.Messages ?? []) {
|
|
172
|
+
if (typeof _get === "object" && isNil(_get.name) && isNil(_get.data)) {
|
|
173
|
+
_get.data = true
|
|
174
|
+
}
|
|
169
175
|
if (
|
|
170
176
|
(typeof _get === "object" && _get.data) ||
|
|
171
177
|
typeof _get === "boolean"
|
|
172
178
|
) {
|
|
179
|
+
let _from = null
|
|
180
|
+
if (is(Object, _get) && _get.from) _from = _get.from
|
|
181
|
+
if (_from && _from !== from) break
|
|
173
182
|
if (v.Data) out = v.Data
|
|
174
183
|
try {
|
|
175
184
|
if (_get.json || _get === true) out = JSON.parse(out)
|
|
176
185
|
} catch (e) {}
|
|
177
186
|
} else if (typeof _get === "object" && typeof _get.name === "string") {
|
|
187
|
+
let _from = null
|
|
188
|
+
if (is(Object, _get) && _get.from) _from = _get.from
|
|
189
|
+
if (_from && _from !== from) break
|
|
178
190
|
out = getTag(v.Tags ?? [], _get.name)
|
|
179
191
|
try {
|
|
180
192
|
if (_get.json) out = JSON.parse(out)
|
|
@@ -186,9 +198,9 @@ const _getTagVal = (get, res) => {
|
|
|
186
198
|
return out
|
|
187
199
|
}
|
|
188
200
|
|
|
189
|
-
const getTagVal = (get, res) => {
|
|
201
|
+
const getTagVal = (get, res, from) => {
|
|
190
202
|
const _get = modGet(get)
|
|
191
|
-
return _getTagVal(_get, res)
|
|
203
|
+
return _getTagVal(_get, res, from)
|
|
192
204
|
}
|
|
193
205
|
|
|
194
206
|
const srcs = {
|
|
@@ -197,6 +209,9 @@ const srcs = {
|
|
|
197
209
|
module_aos2: "Do_Uc2Sju_ffp6Ev0AnLVdPtot15rvMjP-a9VVaA5fM",
|
|
198
210
|
scheduler: "_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA",
|
|
199
211
|
authority: "fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY",
|
|
212
|
+
module_wao: "Do_Uc2Sju_ffp6Ev0AnLVdPtot15rvMjP-a9VVaA5fM",
|
|
213
|
+
scheduler_wao: "_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA",
|
|
214
|
+
authority_wao: "eNaLJLsMiWCSWvQKNbk_YT-9ydeWl9lrWwXxLVp9kcg",
|
|
200
215
|
}
|
|
201
216
|
|
|
202
217
|
const buildTags = (act, tags) => {
|
|
@@ -215,7 +230,7 @@ const buildTags = (act, tags) => {
|
|
|
215
230
|
|
|
216
231
|
const mergeOut = (out, out2, get) => {
|
|
217
232
|
const _get = modGet(get)
|
|
218
|
-
if (_get
|
|
233
|
+
if (_get?.obj) {
|
|
219
234
|
for (const k in out2 ?? {}) {
|
|
220
235
|
if (isNil(out?.[k])) {
|
|
221
236
|
if (!out) out = {}
|
|
@@ -240,27 +255,20 @@ const isOutComplete = (out, get) => {
|
|
|
240
255
|
if (isNil(get)) return true
|
|
241
256
|
if (isNil(out)) return false
|
|
242
257
|
const _get = modGet(get)
|
|
243
|
-
if (_get.obj) {
|
|
244
|
-
for (const k in out ?? {}) {
|
|
245
|
-
if (isNil(out[k])) return false
|
|
246
|
-
}
|
|
247
|
-
}
|
|
258
|
+
if (_get.obj) for (const k in out ?? {}) if (isNil(out[k])) return false
|
|
248
259
|
return true
|
|
249
260
|
}
|
|
250
261
|
|
|
251
262
|
const isCheckComplete = (checks, check) => {
|
|
252
263
|
let i = 0
|
|
253
|
-
for (const v of checks) {
|
|
264
|
+
for (const v of checks || []) {
|
|
265
|
+
if (!v) return false
|
|
254
266
|
if (
|
|
255
267
|
isRegExp(check[i]) ||
|
|
256
268
|
includes(typeof check[i])(["string", "boolean"])
|
|
257
269
|
) {
|
|
258
270
|
if (!v) return false
|
|
259
|
-
} else
|
|
260
|
-
for (const k in v) {
|
|
261
|
-
if (!v[k]) return false
|
|
262
|
-
}
|
|
263
|
-
}
|
|
271
|
+
} else for (const k in v) if (!v[k]) return false
|
|
264
272
|
i++
|
|
265
273
|
}
|
|
266
274
|
return true
|
|
@@ -531,7 +539,91 @@ const optServer = port => {
|
|
|
531
539
|
return { ar: port, mu: port + 2, su: port + 3, cu: port + 4 }
|
|
532
540
|
}
|
|
533
541
|
|
|
542
|
+
const allChecked = (check, res, from) => {
|
|
543
|
+
let checks = []
|
|
544
|
+
let i = 0
|
|
545
|
+
for (let v of check || []) {
|
|
546
|
+
let _checks = checks[i] ?? null
|
|
547
|
+
if (isRegExp(v) || includes(typeof v)(["string", "boolean", "function"])) {
|
|
548
|
+
_checks = isData(v, res)
|
|
549
|
+
} else {
|
|
550
|
+
const _checkVal = (val, data) => {
|
|
551
|
+
if (isRegExp(val)) {
|
|
552
|
+
try {
|
|
553
|
+
if (val.test(data)) return true
|
|
554
|
+
} catch (e) {}
|
|
555
|
+
} else if (typeof val === "function") {
|
|
556
|
+
return val(data)
|
|
557
|
+
} else if (typeof val === "object" && !isNil(val.json)) {
|
|
558
|
+
try {
|
|
559
|
+
data = JSON.parse(data)
|
|
560
|
+
if (typeof val.json === "function") {
|
|
561
|
+
return val.json(data)
|
|
562
|
+
} else if (typeof val.json === "object") {
|
|
563
|
+
if (val.eq) return equals(data, val.json)
|
|
564
|
+
let ok = true
|
|
565
|
+
for (let k in val.json) {
|
|
566
|
+
if (!_checkVal(val.json[k], data[k])) {
|
|
567
|
+
ok = false
|
|
568
|
+
break
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
return ok
|
|
572
|
+
} else if (val.json === true) {
|
|
573
|
+
return true
|
|
574
|
+
}
|
|
575
|
+
} catch (e) {
|
|
576
|
+
return false
|
|
577
|
+
}
|
|
578
|
+
} else {
|
|
579
|
+
if (val === true || data === val) return true
|
|
580
|
+
}
|
|
581
|
+
return false
|
|
582
|
+
}
|
|
583
|
+
const checkVal = (res, val, name) => {
|
|
584
|
+
for (let v of res.Messages || []) {
|
|
585
|
+
let data = v.Data
|
|
586
|
+
if (!isNil(name)) {
|
|
587
|
+
const t = tags(v.Tags || [])
|
|
588
|
+
data = t[name]
|
|
589
|
+
}
|
|
590
|
+
if (isNil(data)) return false
|
|
591
|
+
return _checkVal(val, data)
|
|
592
|
+
}
|
|
593
|
+
return false
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
if (typeof v === "object") {
|
|
597
|
+
if (!isNil(v.json)) {
|
|
598
|
+
const _from = v.from
|
|
599
|
+
v = { data: v, from: _from }
|
|
600
|
+
} else if (isNil(v.tags) && isNil(v.data) && isNil(v.from)) {
|
|
601
|
+
v = { tags: v }
|
|
602
|
+
}
|
|
603
|
+
const _from = v.from ?? null
|
|
604
|
+
let checks2 = {}
|
|
605
|
+
if (!isNil(v.from) && v.from !== from) {
|
|
606
|
+
_checks = false
|
|
607
|
+
} else {
|
|
608
|
+
let ok = true
|
|
609
|
+
if (!isNil(v.data)) {
|
|
610
|
+
if (!checkVal(res, v.data)) ok = false
|
|
611
|
+
}
|
|
612
|
+
for (const k in v.tags ?? {}) {
|
|
613
|
+
if (!checkVal(res, v.tags[k], k)) ok = false
|
|
614
|
+
}
|
|
615
|
+
_checks = ok
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
checks[i] = _checks
|
|
620
|
+
i++
|
|
621
|
+
}
|
|
622
|
+
return isCheckComplete(checks, check)
|
|
623
|
+
}
|
|
624
|
+
|
|
534
625
|
export {
|
|
626
|
+
allChecked,
|
|
535
627
|
optAO,
|
|
536
628
|
optServer,
|
|
537
629
|
toGraphObj,
|