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 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 ? 5 : _ref21$attempts;
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 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
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 WeaveDrive = new _weavedrive["default"](ar).drive;
60
- var KV = new _kv["default"](ar).kv;
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 (_ref) {
68
- var _ref2 = _slicedToArray(_ref, 2),
69
- key = _ref2[0],
70
- value = _ref2[1];
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(_ref3) {
107
- var pid = _ref3.pid,
108
- _ref3$owner = _ref3.owner,
109
- owner = _ref3$owner === void 0 ? "" : _ref3$owner,
110
- _ref3$module = _ref3.module,
111
- module = _ref3$module === void 0 ? "" : _ref3$module,
112
- _ref3$auth = _ref3.auth,
113
- auth = _ref3$auth === void 0 ? "" : _ref3$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 _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
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
- k,
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
- wd = t.Extension === "KV" ? KV : WeaveDrive;
278
- _context.next = 38;
278
+ _context.next = 37;
279
279
  return (0, _aoLoader["default"])(wasm, {
280
280
  format: format,
281
- WeaveDrive: wd,
281
+ WeaveDrive: extensions[t.Extension],
282
282
  spawn: item,
283
283
  module: mem.txs[mod],
284
284
  blockHeight: "100"
285
285
  });
286
- case 38:
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 = 59;
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 = 53;
324
+ _context.next = 52;
325
325
  return _module.handle(null, msg, _env);
326
- case 53:
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 = 60;
331
+ _context.next = 59;
332
332
  break;
333
- case 59:
333
+ case 58:
334
334
  p.height += 1;
335
- case 60:
335
+ case 59:
336
336
  mem.msgs[id] = opt;
337
337
  mem.env[id] = p;
338
338
  if (!_tags["Cron-Interval"]) {
339
- _context.next = 86;
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" ? 68 : _context.t0 === "second" ? 70 : _context.t0 === "minute" ? 72 : _context.t0 === "hour" ? 74 : _context.t0 === "day" ? 76 : _context.t0 === "month" ? 78 : _context.t0 === "year" ? 80 : 82;
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 68:
347
+ case 67:
348
348
  _int = num;
349
- return _context.abrupt("break", 82);
350
- case 70:
349
+ return _context.abrupt("break", 81);
350
+ case 69:
351
351
  _int = num * 1000;
352
- return _context.abrupt("break", 82);
353
- case 72:
352
+ return _context.abrupt("break", 81);
353
+ case 71:
354
354
  _int = num * 1000 * 60;
355
- return _context.abrupt("break", 82);
356
- case 74:
355
+ return _context.abrupt("break", 81);
356
+ case 73:
357
357
  _int = num * 1000 * 60 * 60;
358
- return _context.abrupt("break", 82);
359
- case 76:
358
+ return _context.abrupt("break", 81);
359
+ case 75:
360
360
  _int = num * 1000 * 60 * 60 * 24;
361
- return _context.abrupt("break", 82);
362
- case 78:
361
+ return _context.abrupt("break", 81);
362
+ case 77:
363
363
  _int = num * 1000 * 60 * 60 * 24 * 30;
364
- return _context.abrupt("break", 82);
365
- case 80:
364
+ return _context.abrupt("break", 81);
365
+ case 79:
366
366
  _int = num * 1000 * 60 * 60 * 24 * 365;
367
- return _context.abrupt("break", 82);
368
- case 82:
367
+ return _context.abrupt("break", 81);
368
+ case 81:
369
369
  cronTags = [];
370
- for (k in _tags) {
371
- if (/^Cron-Tag-/.test(k)) {
370
+ for (_k in _tags) {
371
+ if (/^Cron-Tag-/.test(_k)) {
372
372
  cronTags.push({
373
- name: k.replace(/Cron-Tag-/, ""),
374
- value: _tags[k]
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 86:
380
+ case 85:
381
381
  return _context.abrupt("return", id);
382
- case 87:
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 _ref4.apply(this, arguments);
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 _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opt) {
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, _ref6, _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;
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 = (_ref6 = (_opt$from = _opt.from) !== null && _opt$from !== void 0 ? _opt$from : opt.from) !== null && _ref6 !== void 0 ? _ref6 : owner;
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 _ref5.apply(this, arguments);
646
+ return _ref6.apply(this, arguments);
647
647
  };
648
648
  }();
649
649
  var message = /*#__PURE__*/function () {
650
- var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(opt) {
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 _ref7.apply(this, arguments);
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, log),
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,