wao 0.6.1 → 0.6.3
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 +1 -1
- package/cjs/aoconnect.js +60 -60
- package/cjs/lua/weavedb_mock.lua +43 -0
- package/cjs/server.js +3 -1
- package/cjs/tao.js +3 -1
- package/cjs/{kv.js → weavedb.js} +227 -115
- package/cjs/weavedrive.js +6 -5
- package/esm/ao.js +1 -1
- package/esm/aoconnect.js +4 -6
- package/esm/lua/weavedb_mock.lua +43 -0
- package/esm/server.js +1 -1
- package/esm/tao.js +1 -1
- package/esm/{kv.js → weavedb.js} +119 -36
- package/esm/weavedrive.js +8 -16
- package/package.json +1 -1
package/cjs/ao.js
CHANGED
|
@@ -1246,7 +1246,7 @@ var AO = /*#__PURE__*/function () {
|
|
|
1246
1246
|
return _regeneratorRuntime().wrap(function _callee17$(_context17) {
|
|
1247
1247
|
while (1) switch (_context17.prev = _context17.next) {
|
|
1248
1248
|
case 0:
|
|
1249
|
-
pid = _ref21.pid, _ref21$attempts = _ref21.attempts, attempts = _ref21$attempts === void 0 ?
|
|
1249
|
+
pid = _ref21.pid, _ref21$attempts = _ref21.attempts, attempts = _ref21$attempts === void 0 ? 10 : _ref21$attempts;
|
|
1250
1250
|
exist = false;
|
|
1251
1251
|
err = null;
|
|
1252
1252
|
case 3:
|
package/cjs/aoconnect.js
CHANGED
|
@@ -11,7 +11,6 @@ var _base64url = _interopRequireDefault(require("base64url"));
|
|
|
11
11
|
var _utils = require("./utils.js");
|
|
12
12
|
var _armem = _interopRequireDefault(require("./armem.js"));
|
|
13
13
|
var _weavedrive = _interopRequireDefault(require("./weavedrive.js"));
|
|
14
|
-
var _kv = _interopRequireDefault(require("./kv.js"));
|
|
15
14
|
var _aoLoader = _interopRequireDefault(require("@permaweb/ao-loader"));
|
|
16
15
|
var _fs = require("fs");
|
|
17
16
|
var _path = require("path");
|
|
@@ -39,9 +38,12 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
39
38
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
40
39
|
var pkg = (_WarpArBundles$defaul = WarpArBundles["default"]) !== null && _WarpArBundles$defaul !== void 0 ? _WarpArBundles$defaul : WarpArBundles;
|
|
41
40
|
var DataItem = pkg.DataItem;
|
|
42
|
-
var connect = exports.connect = function connect(mem) {
|
|
41
|
+
var connect = exports.connect = function connect(mem, _ref) {
|
|
43
42
|
var _mem;
|
|
44
|
-
var log =
|
|
43
|
+
var _ref$log = _ref.log,
|
|
44
|
+
log = _ref$log === void 0 ? false : _ref$log,
|
|
45
|
+
_ref$extensions = _ref.extensions,
|
|
46
|
+
extensions = _ref$extensions === void 0 ? {} : _ref$extensions;
|
|
45
47
|
var isMem = ((_mem = mem) === null || _mem === void 0 ? void 0 : _mem.__type__) === "mem";
|
|
46
48
|
if (!isMem) {
|
|
47
49
|
var _mem2;
|
|
@@ -56,18 +58,18 @@ var connect = exports.connect = function connect(mem) {
|
|
|
56
58
|
mem: mem,
|
|
57
59
|
log: log
|
|
58
60
|
});
|
|
59
|
-
var
|
|
60
|
-
|
|
61
|
+
for (var k in extensions) extensions[k] = new extensions[k](ar).ext;
|
|
62
|
+
extensions.WeaveDrive = new _weavedrive["default"](ar).ext;
|
|
61
63
|
var transform = function transform(input) {
|
|
62
64
|
var _input$Tags;
|
|
63
65
|
var output = {
|
|
64
66
|
Tags: []
|
|
65
67
|
};
|
|
66
68
|
if (input.Data) output.Data = input.Data;
|
|
67
|
-
Object.entries(input).forEach(function (
|
|
68
|
-
var
|
|
69
|
-
key =
|
|
70
|
-
value =
|
|
69
|
+
Object.entries(input).forEach(function (_ref2) {
|
|
70
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
71
|
+
key = _ref3[0],
|
|
72
|
+
value = _ref3[1];
|
|
71
73
|
if (key !== "Data" && key !== "Tags" && typeof value === "string") {
|
|
72
74
|
output.Tags.push({
|
|
73
75
|
name: key,
|
|
@@ -103,14 +105,14 @@ var connect = exports.connect = function connect(mem) {
|
|
|
103
105
|
Tags: Tags !== null && Tags !== void 0 && Tags.length ? Tags : []
|
|
104
106
|
};
|
|
105
107
|
};
|
|
106
|
-
var genEnv = function genEnv(
|
|
107
|
-
var pid =
|
|
108
|
-
|
|
109
|
-
owner =
|
|
110
|
-
|
|
111
|
-
module =
|
|
112
|
-
|
|
113
|
-
auth =
|
|
108
|
+
var genEnv = function genEnv(_ref4) {
|
|
109
|
+
var pid = _ref4.pid,
|
|
110
|
+
_ref4$owner = _ref4.owner,
|
|
111
|
+
owner = _ref4$owner === void 0 ? "" : _ref4$owner,
|
|
112
|
+
_ref4$module = _ref4.module,
|
|
113
|
+
module = _ref4$module === void 0 ? "" : _ref4$module,
|
|
114
|
+
_ref4$auth = _ref4.auth,
|
|
115
|
+
auth = _ref4$auth === void 0 ? "" : _ref4$auth;
|
|
114
116
|
return {
|
|
115
117
|
Process: {
|
|
116
118
|
Id: pid,
|
|
@@ -145,7 +147,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
145
147
|
};
|
|
146
148
|
};
|
|
147
149
|
var spawn = /*#__PURE__*/function () {
|
|
148
|
-
var
|
|
150
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
149
151
|
var _opt$module, _mem$wasms$mod, _format, _opt$tags, _opt$tags2;
|
|
150
152
|
var opt,
|
|
151
153
|
mod,
|
|
@@ -165,7 +167,6 @@ var connect = exports.connect = function connect(mem) {
|
|
|
165
167
|
__tags,
|
|
166
168
|
now,
|
|
167
169
|
t,
|
|
168
|
-
wd,
|
|
169
170
|
handle,
|
|
170
171
|
_tags,
|
|
171
172
|
res,
|
|
@@ -184,7 +185,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
184
185
|
unit,
|
|
185
186
|
_int,
|
|
186
187
|
cronTags,
|
|
187
|
-
|
|
188
|
+
_k,
|
|
188
189
|
_args = arguments;
|
|
189
190
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
190
191
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -274,16 +275,15 @@ var connect = exports.connect = function connect(mem) {
|
|
|
274
275
|
case 33:
|
|
275
276
|
now = Date.now;
|
|
276
277
|
t = (0, _utils.tags)(opt.tags);
|
|
277
|
-
|
|
278
|
-
_context.next = 38;
|
|
278
|
+
_context.next = 37;
|
|
279
279
|
return (0, _aoLoader["default"])(wasm, {
|
|
280
280
|
format: format,
|
|
281
|
-
WeaveDrive:
|
|
281
|
+
WeaveDrive: extensions[t.Extension],
|
|
282
282
|
spawn: item,
|
|
283
283
|
module: mem.txs[mod],
|
|
284
284
|
blockHeight: "100"
|
|
285
285
|
});
|
|
286
|
-
case
|
|
286
|
+
case 37:
|
|
287
287
|
handle = _context.sent;
|
|
288
288
|
_module = {
|
|
289
289
|
handle: handle,
|
|
@@ -308,7 +308,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
308
308
|
opt: opt
|
|
309
309
|
};
|
|
310
310
|
if (!(_tags["On-Boot"] || true)) {
|
|
311
|
-
_context.next =
|
|
311
|
+
_context.next = 58;
|
|
312
312
|
break;
|
|
313
313
|
}
|
|
314
314
|
data = "";
|
|
@@ -321,72 +321,72 @@ var connect = exports.connect = function connect(mem) {
|
|
|
321
321
|
auth: _test.mu.addr
|
|
322
322
|
});
|
|
323
323
|
_t = (0, _utils.tags)(msg.Tags);
|
|
324
|
-
_context.next =
|
|
324
|
+
_context.next = 52;
|
|
325
325
|
return _module.handle(null, msg, _env);
|
|
326
|
-
case
|
|
326
|
+
case 52:
|
|
327
327
|
res = _context.sent;
|
|
328
328
|
p.memory = res.Memory;
|
|
329
329
|
delete res.Memory;
|
|
330
330
|
p.res[id] = res;
|
|
331
|
-
_context.next =
|
|
331
|
+
_context.next = 59;
|
|
332
332
|
break;
|
|
333
|
-
case
|
|
333
|
+
case 58:
|
|
334
334
|
p.height += 1;
|
|
335
|
-
case
|
|
335
|
+
case 59:
|
|
336
336
|
mem.msgs[id] = opt;
|
|
337
337
|
mem.env[id] = p;
|
|
338
338
|
if (!_tags["Cron-Interval"]) {
|
|
339
|
-
_context.next =
|
|
339
|
+
_context.next = 85;
|
|
340
340
|
break;
|
|
341
341
|
}
|
|
342
342
|
_tags$CronInterval$s = _tags["Cron-Interval"].split("-"), _tags$CronInterval$s2 = _slicedToArray(_tags$CronInterval$s, 2), num = _tags$CronInterval$s2[0], unit = _tags$CronInterval$s2[1];
|
|
343
343
|
_int = 0;
|
|
344
344
|
_context.t0 = unit.replace(/s$/, "");
|
|
345
|
-
_context.next = _context.t0 === "millisecond" ?
|
|
345
|
+
_context.next = _context.t0 === "millisecond" ? 67 : _context.t0 === "second" ? 69 : _context.t0 === "minute" ? 71 : _context.t0 === "hour" ? 73 : _context.t0 === "day" ? 75 : _context.t0 === "month" ? 77 : _context.t0 === "year" ? 79 : 81;
|
|
346
346
|
break;
|
|
347
|
-
case
|
|
347
|
+
case 67:
|
|
348
348
|
_int = num;
|
|
349
|
-
return _context.abrupt("break",
|
|
350
|
-
case
|
|
349
|
+
return _context.abrupt("break", 81);
|
|
350
|
+
case 69:
|
|
351
351
|
_int = num * 1000;
|
|
352
|
-
return _context.abrupt("break",
|
|
353
|
-
case
|
|
352
|
+
return _context.abrupt("break", 81);
|
|
353
|
+
case 71:
|
|
354
354
|
_int = num * 1000 * 60;
|
|
355
|
-
return _context.abrupt("break",
|
|
356
|
-
case
|
|
355
|
+
return _context.abrupt("break", 81);
|
|
356
|
+
case 73:
|
|
357
357
|
_int = num * 1000 * 60 * 60;
|
|
358
|
-
return _context.abrupt("break",
|
|
359
|
-
case
|
|
358
|
+
return _context.abrupt("break", 81);
|
|
359
|
+
case 75:
|
|
360
360
|
_int = num * 1000 * 60 * 60 * 24;
|
|
361
|
-
return _context.abrupt("break",
|
|
362
|
-
case
|
|
361
|
+
return _context.abrupt("break", 81);
|
|
362
|
+
case 77:
|
|
363
363
|
_int = num * 1000 * 60 * 60 * 24 * 30;
|
|
364
|
-
return _context.abrupt("break",
|
|
365
|
-
case
|
|
364
|
+
return _context.abrupt("break", 81);
|
|
365
|
+
case 79:
|
|
366
366
|
_int = num * 1000 * 60 * 60 * 24 * 365;
|
|
367
|
-
return _context.abrupt("break",
|
|
368
|
-
case
|
|
367
|
+
return _context.abrupt("break", 81);
|
|
368
|
+
case 81:
|
|
369
369
|
cronTags = [];
|
|
370
|
-
for (
|
|
371
|
-
if (/^Cron-Tag-/.test(
|
|
370
|
+
for (_k in _tags) {
|
|
371
|
+
if (/^Cron-Tag-/.test(_k)) {
|
|
372
372
|
cronTags.push({
|
|
373
|
-
name:
|
|
374
|
-
value: _tags[
|
|
373
|
+
name: _k.replace(/Cron-Tag-/, ""),
|
|
374
|
+
value: _tags[_k]
|
|
375
375
|
});
|
|
376
376
|
}
|
|
377
377
|
}
|
|
378
378
|
mem.env[id].cronTags = cronTags;
|
|
379
379
|
mem.env[id].span = _int;
|
|
380
|
-
case
|
|
380
|
+
case 85:
|
|
381
381
|
return _context.abrupt("return", id);
|
|
382
|
-
case
|
|
382
|
+
case 86:
|
|
383
383
|
case "end":
|
|
384
384
|
return _context.stop();
|
|
385
385
|
}
|
|
386
386
|
}, _callee);
|
|
387
387
|
}));
|
|
388
388
|
return function spawn() {
|
|
389
|
-
return
|
|
389
|
+
return _ref5.apply(this, arguments);
|
|
390
390
|
};
|
|
391
391
|
}();
|
|
392
392
|
function genHashChain(previousHash) {
|
|
@@ -399,9 +399,9 @@ var connect = exports.connect = function connect(mem) {
|
|
|
399
399
|
return (0, _base64url["default"])(hasher.digest());
|
|
400
400
|
}
|
|
401
401
|
var _assign = /*#__PURE__*/function () {
|
|
402
|
-
var
|
|
402
|
+
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opt) {
|
|
403
403
|
var _opt$tags3;
|
|
404
|
-
var p, _opt, hash, _yield$ar$dataitem2, id, owner, item, _opt$data2,
|
|
404
|
+
var p, _opt, hash, _yield$ar$dataitem2, id, owner, item, _opt$data2, _ref7, _opt$from, _res$Messages, _res$Spawns, _res$Assignments, data, _tags, from, raw_owner, hashBuffer, msg, _env, res, _iterator2, _step2, v, _iterator3, _step3, _v, __tags, _iterator4, _step4, _v2, _iterator5, _step5, v2;
|
|
405
405
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
406
406
|
while (1) switch (_context2.prev = _context2.next) {
|
|
407
407
|
case 0:
|
|
@@ -457,7 +457,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
457
457
|
_context2.prev = 21;
|
|
458
458
|
data = (_opt$data2 = _opt.data) !== null && _opt$data2 !== void 0 ? _opt$data2 : "";
|
|
459
459
|
_tags = _opt.tags;
|
|
460
|
-
from = (
|
|
460
|
+
from = (_ref7 = (_opt$from = _opt.from) !== null && _opt$from !== void 0 ? _opt$from : opt.from) !== null && _ref7 !== void 0 ? _ref7 : owner;
|
|
461
461
|
if (!_opt.item) {
|
|
462
462
|
_context2.next = 42;
|
|
463
463
|
break;
|
|
@@ -643,11 +643,11 @@ var connect = exports.connect = function connect(mem) {
|
|
|
643
643
|
}, _callee2, null, [[21, 124], [26, 39], [54, 65, 68, 71], [72, 83, 86, 89], [90, 115, 118, 121], [95, 105, 108, 111]]);
|
|
644
644
|
}));
|
|
645
645
|
return function assign(_x) {
|
|
646
|
-
return
|
|
646
|
+
return _ref6.apply(this, arguments);
|
|
647
647
|
};
|
|
648
648
|
}();
|
|
649
649
|
var message = /*#__PURE__*/function () {
|
|
650
|
-
var
|
|
650
|
+
var _ref8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(opt) {
|
|
651
651
|
var _opt$item$id, _opt$item, _opt$owner;
|
|
652
652
|
var p, ex, id, owner, item, _opt$tags4, _iterator6, _step6, v, _yield$ar$dataitem3;
|
|
653
653
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
@@ -716,7 +716,7 @@ var connect = exports.connect = function connect(mem) {
|
|
|
716
716
|
}, _callee3);
|
|
717
717
|
}));
|
|
718
718
|
return function message(_x2) {
|
|
719
|
-
return
|
|
719
|
+
return _ref8.apply(this, arguments);
|
|
720
720
|
};
|
|
721
721
|
}();
|
|
722
722
|
return {
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
local json = require("json")
|
|
2
|
+
function rollup (id)
|
|
3
|
+
local file = io.open("/rollup/" .. id)
|
|
4
|
+
local data = nil
|
|
5
|
+
if file then data = file:read(file:seek('end')) end
|
|
6
|
+
file:close()
|
|
7
|
+
return data
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
function get (col, doc)
|
|
11
|
+
local file = io.open("/data/" .. col .. "/" .. doc)
|
|
12
|
+
local data = nil
|
|
13
|
+
if file then data = file:read(file:seek('end')) end
|
|
14
|
+
file:close()
|
|
15
|
+
return data
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
Handlers.add(
|
|
19
|
+
"Rollup",
|
|
20
|
+
"Rollup",
|
|
21
|
+
function (msg)
|
|
22
|
+
msg.reply({ Data = "committed!" })
|
|
23
|
+
end
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
Handlers.add(
|
|
27
|
+
"Finalize",
|
|
28
|
+
"Finalize",
|
|
29
|
+
function (msg)
|
|
30
|
+
local data = json.decode(rollup(msg.TXID))
|
|
31
|
+
msg.reply({ Data = "finalized!" })
|
|
32
|
+
end
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
Handlers.add(
|
|
37
|
+
"Get",
|
|
38
|
+
"Get",
|
|
39
|
+
function (msg)
|
|
40
|
+
msg.reply({ Data = get(msg.col, msg.doc) })
|
|
41
|
+
end
|
|
42
|
+
)
|
|
43
|
+
|
package/cjs/server.js
CHANGED
|
@@ -44,7 +44,9 @@ var Server = /*#__PURE__*/function () {
|
|
|
44
44
|
_ref$log = _ref.log,
|
|
45
45
|
log = _ref$log === void 0 ? false : _ref$log;
|
|
46
46
|
_classCallCheck(this, Server);
|
|
47
|
-
var _connect = (0, _aoconnect.connect)(aoconnect,
|
|
47
|
+
var _connect = (0, _aoconnect.connect)(aoconnect, {
|
|
48
|
+
log: log
|
|
49
|
+
}),
|
|
48
50
|
_ar = _connect.ar,
|
|
49
51
|
message = _connect.message,
|
|
50
52
|
spawn = _connect.spawn,
|
package/cjs/tao.js
CHANGED
|
@@ -72,7 +72,9 @@ var AO = /*#__PURE__*/function (_MAO) {
|
|
|
72
72
|
in_memory: true
|
|
73
73
|
})]);
|
|
74
74
|
_this.in_memory = true;
|
|
75
|
-
var _connect = (0, _aoconnect2.connect)(opt.mem
|
|
75
|
+
var _connect = (0, _aoconnect2.connect)(opt.mem, {
|
|
76
|
+
extensions: opt.extensions
|
|
77
|
+
}),
|
|
76
78
|
modules = _connect.modules,
|
|
77
79
|
results = _connect.results,
|
|
78
80
|
assign = _connect.assign,
|