wao 0.11.1 → 0.11.2

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.
@@ -1301,7 +1301,7 @@ var _default = exports["default"] = function _default() {
1301
1301
  break;
1302
1302
  }
1303
1303
  _context11.next = 25;
1304
- return mem.getWasm(p.modulea);
1304
+ return mem.getWasm(p.module);
1305
1305
  case 25:
1306
1306
  _yield$mem$getWasm3 = _context11.sent;
1307
1307
  format = _yield$mem$getWasm3.format;
package/cjs/armem-base.js CHANGED
@@ -25,6 +25,27 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
25
25
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
26
26
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
27
27
  var Arweave = (_Arweave$default = _arweave["default"]["default"]) !== null && _Arweave$default !== void 0 ? _Arweave$default : _arweave["default"];
28
+ function eq(buf1, buf2) {
29
+ var chunkSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1024 * 1024;
30
+ if (buf1.byteLength !== buf2.byteLength) return false;
31
+ var view1 = new Uint8Array(buf1);
32
+ var view2 = new Uint8Array(buf2);
33
+ var _loop = function _loop() {
34
+ var slice1 = view1.subarray(i, i + chunkSize);
35
+ var slice2 = view2.subarray(i, i + chunkSize);
36
+ if (!slice1.every(function (val, idx) {
37
+ return val === slice2[idx];
38
+ })) return {
39
+ v: false
40
+ };
41
+ },
42
+ _ret;
43
+ for (var i = 0; i < buf1.byteLength; i += chunkSize) {
44
+ _ret = _loop();
45
+ if (_ret) return _ret.v;
46
+ }
47
+ return true;
48
+ }
28
49
  var ArMemBase = exports["default"] = /*#__PURE__*/function () {
29
50
  function ArMemBase() {
30
51
  var _this = this;
@@ -36,13 +57,11 @@ var ArMemBase = exports["default"] = /*#__PURE__*/function () {
36
57
  scheduler = _ref.scheduler,
37
58
  cache = _ref.cache,
38
59
  init = _ref.init,
39
- Compressor = _ref.Compressor,
40
- Decompressor = _ref.Decompressor;
60
+ Waosm = _ref.Waosm;
41
61
  _classCallCheck(this, ArMemBase);
42
62
  this.__type__ = "mem";
43
63
  this._init = init;
44
- this.Compressor = Compressor;
45
- this.Decompressor = Decompressor;
64
+ this.Waosm = Waosm;
46
65
  this.isInit = false;
47
66
  this.keyInit = false;
48
67
  this.keys = {};
@@ -139,35 +158,36 @@ var ArMemBase = exports["default"] = /*#__PURE__*/function () {
139
158
  _context3.next = 7;
140
159
  return this.db.put("".concat(key), this[key]);
141
160
  case 7:
142
- _context3.next = 21;
161
+ _context3.next = 22;
143
162
  break;
144
163
  case 9:
145
164
  (_this$key2 = this[key]) !== null && _this$key2 !== void 0 ? _this$key2 : this[key] = {};
146
165
  this[key][field] = val;
147
166
  if (!this.db) {
148
- _context3.next = 21;
167
+ _context3.next = 22;
149
168
  break;
150
169
  }
151
170
  if (!(key === "env")) {
152
- _context3.next = 19;
171
+ _context3.next = 20;
153
172
  break;
154
173
  }
155
174
  memory = val.memory;
156
175
  try {
157
- memory = Array.from(this.compressor.compress(val.memory));
176
+ memory = this.waosm.compress(val.memory);
158
177
  } catch (e) {
159
178
  console.log(e);
160
179
  memory = (0, _compress.compress)(val.memory);
161
180
  }
162
- _context3.next = 17;
181
+ this[key][field].original_size = val.memory.length;
182
+ _context3.next = 18;
163
183
  return this.db.put("".concat(key, ".").concat(field), (0, _ramda.assoc)("memory", memory, this[key][field]));
164
- case 17:
165
- _context3.next = 21;
184
+ case 18:
185
+ _context3.next = 22;
166
186
  break;
167
- case 19:
168
- _context3.next = 21;
187
+ case 20:
188
+ _context3.next = 22;
169
189
  return this.db.put("".concat(key, ".").concat(field), this[key][field]);
170
- case 21:
190
+ case 22:
171
191
  case "end":
172
192
  return _context3.stop();
173
193
  }
@@ -310,136 +330,136 @@ var ArMemBase = exports["default"] = /*#__PURE__*/function () {
310
330
  _context5.next = 6;
311
331
  return this._init();
312
332
  case 6:
313
- this.compressor = new this.Compressor();
314
- this.decompressor = new this.Decompressor();
333
+ this.waosm = new this.Waosm();
315
334
  if (!this.db) {
316
- _context5.next = 59;
335
+ _context5.next = 58;
317
336
  break;
318
337
  }
319
338
  _i = 0, _arr = ["height", "blocks"];
320
- case 10:
339
+ case 9:
321
340
  if (!(_i < _arr.length)) {
322
- _context5.next = 18;
341
+ _context5.next = 17;
323
342
  break;
324
343
  }
325
344
  v = _arr[_i];
326
- _context5.next = 14;
345
+ _context5.next = 13;
327
346
  return this.get(v);
328
- case 14:
347
+ case 13:
329
348
  this[v] = _context5.sent;
330
- case 15:
349
+ case 14:
331
350
  _i++;
332
- _context5.next = 10;
351
+ _context5.next = 9;
333
352
  break;
334
- case 18:
353
+ case 17:
335
354
  _i2 = 0, _arr2 = ["items", "txs", "env", "modules", "wasms", "addrmap", "blockmap", "modmap", "msgs"];
336
- case 19:
355
+ case 18:
337
356
  if (!(_i2 < _arr2.length)) {
338
- _context5.next = 57;
357
+ _context5.next = 56;
339
358
  break;
340
359
  }
341
360
  _v = _arr2[_i2];
342
361
  (_this$_v = this[_v]) !== null && _this$_v !== void 0 ? _this$_v : this[_v] = {};
343
- _context5.next = 24;
362
+ _context5.next = 23;
344
363
  return this.db.getKeys({
345
364
  start: _v,
346
365
  end: _v + "a"
347
366
  });
348
- case 24:
367
+ case 23:
349
368
  items = _context5.sent;
350
369
  _iterator = _createForOfIteratorHelper(items || []);
351
- _context5.prev = 26;
370
+ _context5.prev = 25;
352
371
  _iterator.s();
353
- case 28:
372
+ case 27:
354
373
  if ((_step = _iterator.n()).done) {
355
- _context5.next = 46;
374
+ _context5.next = 45;
356
375
  break;
357
376
  }
358
377
  v2 = _step.value;
359
378
  key = v2.split(".")[0];
360
379
  field = v2.split(".")[1];
361
380
  if (!(key === _v)) {
362
- _context5.next = 44;
381
+ _context5.next = 43;
363
382
  break;
364
383
  }
365
384
  if (!key.match(/^env/)) {
366
- _context5.next = 41;
385
+ _context5.next = 40;
367
386
  break;
368
387
  }
369
- _context5.next = 36;
388
+ _context5.next = 35;
370
389
  return this.db.get(v2);
371
- case 36:
390
+ case 35:
372
391
  v3 = _context5.sent;
373
- if ((0, _ramda.is)(Array, v3.memory)) {
392
+ if ((0, _ramda.is)(Uint8Array, v3.memory)) {
374
393
  try {
375
- v3.memory = this.decompressor.decompress(v3.memory);
394
+ v3.memory = this.waosm.decompress(v3.memory, v3.original_size);
395
+ console.log(v3);
376
396
  } catch (e) {
377
397
  console.log(e);
378
398
  v3.memory = (0, _compress.decompress)(v3.memory);
379
399
  }
380
400
  }
381
401
  this[_v][field] = v3;
382
- _context5.next = 44;
383
- break;
384
- case 41:
385
402
  _context5.next = 43;
403
+ break;
404
+ case 40:
405
+ _context5.next = 42;
386
406
  return this.db.get(v2);
387
- case 43:
407
+ case 42:
388
408
  this[_v][field] = _context5.sent;
389
- case 44:
390
- _context5.next = 28;
409
+ case 43:
410
+ _context5.next = 27;
391
411
  break;
392
- case 46:
393
- _context5.next = 51;
412
+ case 45:
413
+ _context5.next = 50;
394
414
  break;
395
- case 48:
396
- _context5.prev = 48;
397
- _context5.t0 = _context5["catch"](26);
415
+ case 47:
416
+ _context5.prev = 47;
417
+ _context5.t0 = _context5["catch"](25);
398
418
  _iterator.e(_context5.t0);
399
- case 51:
400
- _context5.prev = 51;
419
+ case 50:
420
+ _context5.prev = 50;
401
421
  _iterator.f();
402
- return _context5.finish(51);
403
- case 54:
422
+ return _context5.finish(50);
423
+ case 53:
404
424
  _i2++;
405
- _context5.next = 19;
425
+ _context5.next = 18;
406
426
  break;
407
- case 57:
408
- _context5.next = 75;
427
+ case 56:
428
+ _context5.next = 74;
409
429
  break;
410
- case 59:
430
+ case 58:
411
431
  _i3 = 0, _arr3 = ["height", "blocks"];
412
- case 60:
432
+ case 59:
413
433
  if (!(_i3 < _arr3.length)) {
414
- _context5.next = 67;
434
+ _context5.next = 66;
415
435
  break;
416
436
  }
417
437
  _v2 = _arr3[_i3];
418
- _context5.next = 64;
438
+ _context5.next = 63;
419
439
  return this.set(this[_v2], _v2);
420
- case 64:
440
+ case 63:
421
441
  _i3++;
422
- _context5.next = 60;
442
+ _context5.next = 59;
423
443
  break;
424
- case 67:
444
+ case 66:
425
445
  _i4 = 0, _arr4 = ["modules", "wasms", "addrmap", "blockmap"];
426
- case 68:
446
+ case 67:
427
447
  if (!(_i4 < _arr4.length)) {
428
- _context5.next = 75;
448
+ _context5.next = 74;
429
449
  break;
430
450
  }
431
451
  _v3 = _arr4[_i4];
432
- _context5.next = 72;
452
+ _context5.next = 71;
433
453
  return this.putAll(_v3);
434
- case 72:
454
+ case 71:
435
455
  _i4++;
436
- _context5.next = 68;
456
+ _context5.next = 67;
437
457
  break;
438
- case 75:
458
+ case 74:
439
459
  case "end":
440
460
  return _context5.stop();
441
461
  }
442
- }, _callee5, this, [[26, 48, 51, 54]]);
462
+ }, _callee5, this, [[25, 47, 50, 53]]);
443
463
  }));
444
464
  function init() {
445
465
  return _init.apply(this, arguments);
package/cjs/armem-web.js CHANGED
@@ -37,10 +37,9 @@ var ArMem = exports["default"] = /*#__PURE__*/function (_Base) {
37
37
  _classCallCheck(this, ArMem);
38
38
  _this = _callSuper(this, ArMem, [_objectSpread(_objectSpread({}, args), {}, {
39
39
  init: _waosm["default"],
40
- Compressor: _waosm.Compressor,
41
- Decompressor: _waosm.Decompressor
40
+ Waosm: _waosm.Waosm
42
41
  })]);
43
- //this.db = db(this)
42
+ _this.db = (0, _lfdb["default"])(_this);
44
43
  _this.initSync();
45
44
  return _this;
46
45
  }
package/cjs/armem.js CHANGED
@@ -39,8 +39,7 @@ var ArMem = exports["default"] = /*#__PURE__*/function (_Base) {
39
39
  _classCallCheck(this, ArMem);
40
40
  var cache = args.cache;
41
41
  _this = _callSuper(this, ArMem, [_objectSpread(_objectSpread({}, args), {}, {
42
- Compressor: _waosmNode.Compressor,
43
- Decompressor: _waosmNode.Decompressor
42
+ Waosm: _waosmNode.Waosm
44
43
  })]);
45
44
  if (cache) _this.db = (0, _lmdb.open)({
46
45
  path: cache,
package/cjs/compress.js CHANGED
@@ -135,7 +135,6 @@ var decompress = exports.decompress = function decompress(d) {
135
135
  nums.push(third);
136
136
  elm = second - 1;
137
137
  } else elm = second;
138
- console.log(flag, first, second, third, elm, nums);
139
138
  } else if (sum === 0) {
140
139
  elm -= 1;
141
140
  nums.push(v);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.Decompressor = exports.Compressor = void 0;
6
+ exports["default"] = exports.Waosm = void 0;
7
7
  exports.initSync = initSync;
8
8
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
9
9
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
@@ -68,86 +68,57 @@ function passArray8ToWasm0(arg, malloc) {
68
68
  WASM_VECTOR_LEN = arg.length;
69
69
  return ptr;
70
70
  }
71
- var CompressorFinalization = typeof FinalizationRegistry === 'undefined' ? {
71
+ var WaosmFinalization = typeof FinalizationRegistry === 'undefined' ? {
72
72
  register: function register() {},
73
73
  unregister: function unregister() {}
74
74
  } : new FinalizationRegistry(function (ptr) {
75
- return wasm.__wbg_compressor_free(ptr >>> 0, 1);
75
+ return wasm.__wbg_waosm_free(ptr >>> 0, 1);
76
76
  });
77
- var Compressor = exports.Compressor = /*#__PURE__*/function () {
78
- function Compressor() {
79
- _classCallCheck(this, Compressor);
80
- var ret = wasm.compressor_new();
77
+ var Waosm = exports.Waosm = /*#__PURE__*/function () {
78
+ function Waosm() {
79
+ _classCallCheck(this, Waosm);
80
+ var ret = wasm.waosm_new();
81
81
  this.__wbg_ptr = ret >>> 0;
82
- CompressorFinalization.register(this, this.__wbg_ptr, this);
82
+ WaosmFinalization.register(this, this.__wbg_ptr, this);
83
83
  return this;
84
84
  }
85
85
  /**
86
86
  * @param {Uint8Array} data
87
87
  * @returns {Uint8Array}
88
88
  */
89
- return _createClass(Compressor, [{
89
+ return _createClass(Waosm, [{
90
90
  key: "__destroy_into_raw",
91
91
  value: function __destroy_into_raw() {
92
92
  var ptr = this.__wbg_ptr;
93
93
  this.__wbg_ptr = 0;
94
- CompressorFinalization.unregister(this);
94
+ WaosmFinalization.unregister(this);
95
95
  return ptr;
96
96
  }
97
97
  }, {
98
98
  key: "free",
99
99
  value: function free() {
100
100
  var ptr = this.__destroy_into_raw();
101
- wasm.__wbg_compressor_free(ptr, 0);
101
+ wasm.__wbg_waosm_free(ptr, 0);
102
102
  }
103
103
  }, {
104
104
  key: "compress",
105
105
  value: function compress(data) {
106
106
  var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
107
107
  var len0 = WASM_VECTOR_LEN;
108
- var ret = wasm.compressor_compress(this.__wbg_ptr, ptr0, len0);
108
+ var ret = wasm.waosm_compress(this.__wbg_ptr, ptr0, len0);
109
109
  return takeObject(ret);
110
110
  }
111
- }]);
112
- }();
113
- var DecompressorFinalization = typeof FinalizationRegistry === 'undefined' ? {
114
- register: function register() {},
115
- unregister: function unregister() {}
116
- } : new FinalizationRegistry(function (ptr) {
117
- return wasm.__wbg_decompressor_free(ptr >>> 0, 1);
118
- });
119
- var Decompressor = exports.Decompressor = /*#__PURE__*/function () {
120
- function Decompressor() {
121
- _classCallCheck(this, Decompressor);
122
- var ret = wasm.compressor_new();
123
- this.__wbg_ptr = ret >>> 0;
124
- DecompressorFinalization.register(this, this.__wbg_ptr, this);
125
- return this;
126
- }
127
- /**
128
- * @param {Uint8Array} data
129
- * @returns {Uint8Array}
130
- */
131
- return _createClass(Decompressor, [{
132
- key: "__destroy_into_raw",
133
- value: function __destroy_into_raw() {
134
- var ptr = this.__wbg_ptr;
135
- this.__wbg_ptr = 0;
136
- DecompressorFinalization.unregister(this);
137
- return ptr;
138
- }
139
- }, {
140
- key: "free",
141
- value: function free() {
142
- var ptr = this.__destroy_into_raw();
143
- wasm.__wbg_decompressor_free(ptr, 0);
144
- }
111
+ /**
112
+ * @param {Uint8Array} data
113
+ * @param {number} decompressed_size
114
+ * @returns {Uint8Array}
115
+ */
145
116
  }, {
146
117
  key: "decompress",
147
- value: function decompress(data) {
118
+ value: function decompress(data, decompressed_size) {
148
119
  var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
149
120
  var len0 = WASM_VECTOR_LEN;
150
- var ret = wasm.decompressor_decompress(this.__wbg_ptr, ptr0, len0);
121
+ var ret = wasm.waosm_decompress(this.__wbg_ptr, ptr0, len0, decompressed_size);
151
122
  return takeObject(ret);
152
123
  }
153
124
  }]);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Decompressor = exports.Compressor = void 0;
6
+ exports.Waosm = void 0;
7
7
  exports.__wbg_buffer_609cc3eee51ed158 = __wbg_buffer_609cc3eee51ed158;
8
8
  exports.__wbg_length_a446193dc22c12f8 = __wbg_length_a446193dc22c12f8;
9
9
  exports.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a = __wbg_newwithbyteoffsetandlength_d97e637ebe145a9a;
@@ -70,86 +70,57 @@ function passArray8ToWasm0(arg, malloc) {
70
70
  WASM_VECTOR_LEN = arg.length;
71
71
  return ptr;
72
72
  }
73
- var CompressorFinalization = typeof FinalizationRegistry === 'undefined' ? {
73
+ var WaosmFinalization = typeof FinalizationRegistry === 'undefined' ? {
74
74
  register: function register() {},
75
75
  unregister: function unregister() {}
76
76
  } : new FinalizationRegistry(function (ptr) {
77
- return wasm.__wbg_compressor_free(ptr >>> 0, 1);
77
+ return wasm.__wbg_waosm_free(ptr >>> 0, 1);
78
78
  });
79
- var Compressor = exports.Compressor = /*#__PURE__*/function () {
80
- function Compressor() {
81
- _classCallCheck(this, Compressor);
82
- var ret = wasm.compressor_new();
79
+ var Waosm = exports.Waosm = /*#__PURE__*/function () {
80
+ function Waosm() {
81
+ _classCallCheck(this, Waosm);
82
+ var ret = wasm.waosm_new();
83
83
  this.__wbg_ptr = ret >>> 0;
84
- CompressorFinalization.register(this, this.__wbg_ptr, this);
84
+ WaosmFinalization.register(this, this.__wbg_ptr, this);
85
85
  return this;
86
86
  }
87
87
  /**
88
88
  * @param {Uint8Array} data
89
89
  * @returns {Uint8Array}
90
90
  */
91
- return _createClass(Compressor, [{
91
+ return _createClass(Waosm, [{
92
92
  key: "__destroy_into_raw",
93
93
  value: function __destroy_into_raw() {
94
94
  var ptr = this.__wbg_ptr;
95
95
  this.__wbg_ptr = 0;
96
- CompressorFinalization.unregister(this);
96
+ WaosmFinalization.unregister(this);
97
97
  return ptr;
98
98
  }
99
99
  }, {
100
100
  key: "free",
101
101
  value: function free() {
102
102
  var ptr = this.__destroy_into_raw();
103
- wasm.__wbg_compressor_free(ptr, 0);
103
+ wasm.__wbg_waosm_free(ptr, 0);
104
104
  }
105
105
  }, {
106
106
  key: "compress",
107
107
  value: function compress(data) {
108
108
  var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
109
109
  var len0 = WASM_VECTOR_LEN;
110
- var ret = wasm.compressor_compress(this.__wbg_ptr, ptr0, len0);
110
+ var ret = wasm.waosm_compress(this.__wbg_ptr, ptr0, len0);
111
111
  return takeObject(ret);
112
112
  }
113
- }]);
114
- }();
115
- var DecompressorFinalization = typeof FinalizationRegistry === 'undefined' ? {
116
- register: function register() {},
117
- unregister: function unregister() {}
118
- } : new FinalizationRegistry(function (ptr) {
119
- return wasm.__wbg_decompressor_free(ptr >>> 0, 1);
120
- });
121
- var Decompressor = exports.Decompressor = /*#__PURE__*/function () {
122
- function Decompressor() {
123
- _classCallCheck(this, Decompressor);
124
- var ret = wasm.compressor_new();
125
- this.__wbg_ptr = ret >>> 0;
126
- DecompressorFinalization.register(this, this.__wbg_ptr, this);
127
- return this;
128
- }
129
- /**
130
- * @param {Uint8Array} data
131
- * @returns {Uint8Array}
132
- */
133
- return _createClass(Decompressor, [{
134
- key: "__destroy_into_raw",
135
- value: function __destroy_into_raw() {
136
- var ptr = this.__wbg_ptr;
137
- this.__wbg_ptr = 0;
138
- DecompressorFinalization.unregister(this);
139
- return ptr;
140
- }
141
- }, {
142
- key: "free",
143
- value: function free() {
144
- var ptr = this.__destroy_into_raw();
145
- wasm.__wbg_decompressor_free(ptr, 0);
146
- }
113
+ /**
114
+ * @param {Uint8Array} data
115
+ * @param {number} decompressed_size
116
+ * @returns {Uint8Array}
117
+ */
147
118
  }, {
148
119
  key: "decompress",
149
- value: function decompress(data) {
120
+ value: function decompress(data, decompressed_size) {
150
121
  var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
151
122
  var len0 = WASM_VECTOR_LEN;
152
- var ret = wasm.decompressor_decompress(this.__wbg_ptr, ptr0, len0);
123
+ var ret = wasm.waosm_decompress(this.__wbg_ptr, ptr0, len0, decompressed_size);
153
124
  return takeObject(ret);
154
125
  }
155
126
  }]);
@@ -467,7 +467,7 @@ export default ({ AR, scheduler, mu, su, cu, acc, AoLoader, ArMem } = {}) => {
467
467
  })
468
468
  }
469
469
  if (!p.handle) {
470
- const { format, mod, wasm } = await mem.getWasm(p.modulea)
470
+ const { format, mod, wasm } = await mem.getWasm(p.module)
471
471
  const wdrive = extensions[p.extention]
472
472
  p.handle = await AoLoader(wasm, {
473
473
  format,
package/esm/armem-base.js CHANGED
@@ -6,6 +6,22 @@ import { last, assoc, is } from "ramda"
6
6
  import { buildTags, tags } from "./utils.js"
7
7
  import base64url from "base64url"
8
8
 
9
+ function eq(buf1, buf2, chunkSize = 1024 * 1024) {
10
+ if (buf1.byteLength !== buf2.byteLength) return false
11
+
12
+ const view1 = new Uint8Array(buf1)
13
+ const view2 = new Uint8Array(buf2)
14
+
15
+ for (let i = 0; i < buf1.byteLength; i += chunkSize) {
16
+ const slice1 = view1.subarray(i, i + chunkSize)
17
+ const slice2 = view2.subarray(i, i + chunkSize)
18
+
19
+ if (!slice1.every((val, idx) => val === slice2[idx])) return false
20
+ }
21
+
22
+ return true
23
+ }
24
+
9
25
  export default class ArMemBase {
10
26
  constructor({
11
27
  MU_URL,
@@ -15,13 +31,11 @@ export default class ArMemBase {
15
31
  scheduler,
16
32
  cache,
17
33
  init,
18
- Compressor,
19
- Decompressor,
34
+ Waosm,
20
35
  } = {}) {
21
36
  this.__type__ = "mem"
22
37
  this._init = init
23
- this.Compressor = Compressor
24
- this.Decompressor = Decompressor
38
+ this.Waosm = Waosm
25
39
  this.isInit = false
26
40
  this.keyInit = false
27
41
  this.keys = {}
@@ -58,11 +72,12 @@ export default class ArMemBase {
58
72
  if (key === "env") {
59
73
  let memory = val.memory
60
74
  try {
61
- memory = Array.from(this.compressor.compress(val.memory))
75
+ memory = this.waosm.compress(val.memory)
62
76
  } catch (e) {
63
77
  console.log(e)
64
78
  memory = compress(val.memory)
65
79
  }
80
+ this[key][field].original_size = val.memory.length
66
81
  await this.db.put(
67
82
  `${key}.${field}`,
68
83
  assoc("memory", memory, this[key][field]),
@@ -155,8 +170,7 @@ export default class ArMemBase {
155
170
  if (this.isInit) return
156
171
  this.isInit = true
157
172
  if (typeof this._init === "function") await this._init()
158
- this.compressor = new this.Compressor()
159
- this.decompressor = new this.Decompressor()
173
+ this.waosm = new this.Waosm()
160
174
  if (this.db) {
161
175
  for (const v of ["height", "blocks"]) this[v] = await this.get(v)
162
176
  for (const v of [
@@ -178,9 +192,10 @@ export default class ArMemBase {
178
192
  if (key === v) {
179
193
  if (key.match(/^env/)) {
180
194
  let v3 = await this.db.get(v2)
181
- if (is(Array, v3.memory)) {
195
+ if (is(Uint8Array, v3.memory)) {
182
196
  try {
183
- v3.memory = this.decompressor.decompress(v3.memory)
197
+ v3.memory = this.waosm.decompress(v3.memory, v3.original_size)
198
+ console.log(v3)
184
199
  } catch (e) {
185
200
  console.log(e)
186
201
  v3.memory = decompress(v3.memory)
package/esm/armem-web.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import wdb from "./lua/weavedb-lite.js"
2
2
  import Base from "./armem-base.js"
3
3
  import db from "./lfdb.js"
4
- import init, { Compressor, Decompressor } from "./waosm/waosm.js"
4
+ import init, { Waosm } from "./waosm/waosm.js"
5
5
 
6
6
  export default class ArMem extends Base {
7
7
  constructor(args = {}) {
8
- super({ ...args, init, Compressor, Decompressor })
9
- //this.db = db(this)
8
+ super({ ...args, init, Waosm })
9
+ this.db = db(this)
10
10
  this.initSync()
11
11
  }
12
12
  async _getWasm(file) {
package/esm/armem.js CHANGED
@@ -5,12 +5,12 @@ import { open } from "lmdb"
5
5
  import { readFileSync } from "fs"
6
6
  import { resolve } from "path"
7
7
  import Base from "./armem-base.js"
8
- import { Compressor, Decompressor } from "./waosm-node.js"
8
+ import { Waosm } from "./waosm-node.js"
9
9
 
10
10
  export default class ArMem extends Base {
11
11
  constructor(args = {}) {
12
12
  const { cache } = args
13
- super({ ...args, Compressor, Decompressor })
13
+ super({ ...args, Waosm })
14
14
  if (cache) this.db = open({ path: cache, compression: true })
15
15
  this.initSync()
16
16
  }
package/esm/compress.js CHANGED
@@ -85,7 +85,6 @@ export const decompress = d => {
85
85
  nums.push(third)
86
86
  elm = second - 1
87
87
  } else elm = second
88
- console.log(flag, first, second, third, elm, nums)
89
88
  } else if (sum === 0) {
90
89
  elm -= 1
91
90
  nums.push(v)
@@ -11,13 +11,17 @@ yarn build
11
11
  Using Waosm in nodejs.
12
12
 
13
13
  ```js
14
- import init, { Compressor, Decompressor } from "../src/waosm-node.js"
14
+ import { Compressor, Decompressor } from "../src/waosm-node.js"
15
15
 
16
16
  const main = async ()=>{
17
- await init()
18
17
  const compressor = new Compressor()
19
18
  const decompressor = new Decompressor()
20
- const memory = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
19
+ const memory = new Uint8Array(
20
+ [
21
+ 1, 2, 3, 4, 5, 5, 5, 6, 7, 8, 9, 0, 0, 0,
22
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
23
+ ]
24
+ )
21
25
  console.log(memory)
22
26
  const compressed = compressor.compress(memory)
23
27
  console.log(compressed)
@@ -1,26 +1,20 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- export class Compressor {
3
+ export class Waosm {
4
4
  free(): void;
5
5
  constructor();
6
6
  compress(data: Uint8Array): Uint8Array;
7
- }
8
- export class Decompressor {
9
- free(): void;
10
- constructor();
11
- decompress(data: Uint8Array): Uint8Array;
7
+ decompress(data: Uint8Array, decompressed_size: number): Uint8Array;
12
8
  }
13
9
 
14
10
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
15
11
 
16
12
  export interface InitOutput {
17
13
  readonly memory: WebAssembly.Memory;
18
- readonly __wbg_compressor_free: (a: number, b: number) => void;
19
- readonly compressor_new: () => number;
20
- readonly compressor_compress: (a: number, b: number, c: number) => number;
21
- readonly decompressor_decompress: (a: number, b: number, c: number) => number;
22
- readonly __wbg_decompressor_free: (a: number, b: number) => void;
23
- readonly decompressor_new: () => number;
14
+ readonly __wbg_waosm_free: (a: number, b: number) => void;
15
+ readonly waosm_new: () => number;
16
+ readonly waosm_compress: (a: number, b: number, c: number) => number;
17
+ readonly waosm_decompress: (a: number, b: number, c: number, d: number) => number;
24
18
  readonly __wbindgen_malloc: (a: number, b: number) => number;
25
19
  }
26
20
 
@@ -56,27 +56,27 @@ function passArray8ToWasm0(arg, malloc) {
56
56
  return ptr;
57
57
  }
58
58
 
59
- const CompressorFinalization = (typeof FinalizationRegistry === 'undefined')
59
+ const WaosmFinalization = (typeof FinalizationRegistry === 'undefined')
60
60
  ? { register: () => {}, unregister: () => {} }
61
- : new FinalizationRegistry(ptr => wasm.__wbg_compressor_free(ptr >>> 0, 1));
61
+ : new FinalizationRegistry(ptr => wasm.__wbg_waosm_free(ptr >>> 0, 1));
62
62
 
63
- export class Compressor {
63
+ export class Waosm {
64
64
 
65
65
  __destroy_into_raw() {
66
66
  const ptr = this.__wbg_ptr;
67
67
  this.__wbg_ptr = 0;
68
- CompressorFinalization.unregister(this);
68
+ WaosmFinalization.unregister(this);
69
69
  return ptr;
70
70
  }
71
71
 
72
72
  free() {
73
73
  const ptr = this.__destroy_into_raw();
74
- wasm.__wbg_compressor_free(ptr, 0);
74
+ wasm.__wbg_waosm_free(ptr, 0);
75
75
  }
76
76
  constructor() {
77
- const ret = wasm.compressor_new();
77
+ const ret = wasm.waosm_new();
78
78
  this.__wbg_ptr = ret >>> 0;
79
- CompressorFinalization.register(this, this.__wbg_ptr, this);
79
+ WaosmFinalization.register(this, this.__wbg_ptr, this);
80
80
  return this;
81
81
  }
82
82
  /**
@@ -86,42 +86,18 @@ export class Compressor {
86
86
  compress(data) {
87
87
  const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
88
88
  const len0 = WASM_VECTOR_LEN;
89
- const ret = wasm.compressor_compress(this.__wbg_ptr, ptr0, len0);
89
+ const ret = wasm.waosm_compress(this.__wbg_ptr, ptr0, len0);
90
90
  return takeObject(ret);
91
91
  }
92
- }
93
-
94
- const DecompressorFinalization = (typeof FinalizationRegistry === 'undefined')
95
- ? { register: () => {}, unregister: () => {} }
96
- : new FinalizationRegistry(ptr => wasm.__wbg_decompressor_free(ptr >>> 0, 1));
97
-
98
- export class Decompressor {
99
-
100
- __destroy_into_raw() {
101
- const ptr = this.__wbg_ptr;
102
- this.__wbg_ptr = 0;
103
- DecompressorFinalization.unregister(this);
104
- return ptr;
105
- }
106
-
107
- free() {
108
- const ptr = this.__destroy_into_raw();
109
- wasm.__wbg_decompressor_free(ptr, 0);
110
- }
111
- constructor() {
112
- const ret = wasm.compressor_new();
113
- this.__wbg_ptr = ret >>> 0;
114
- DecompressorFinalization.register(this, this.__wbg_ptr, this);
115
- return this;
116
- }
117
92
  /**
118
93
  * @param {Uint8Array} data
94
+ * @param {number} decompressed_size
119
95
  * @returns {Uint8Array}
120
96
  */
121
- decompress(data) {
97
+ decompress(data, decompressed_size) {
122
98
  const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
123
99
  const len0 = WASM_VECTOR_LEN;
124
- const ret = wasm.decompressor_decompress(this.__wbg_ptr, ptr0, len0);
100
+ const ret = wasm.waosm_decompress(this.__wbg_ptr, ptr0, len0, decompressed_size);
125
101
  return takeObject(ret);
126
102
  }
127
103
  }
Binary file
@@ -1,10 +1,8 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export const __wbg_compressor_free: (a: number, b: number) => void;
5
- export const compressor_new: () => number;
6
- export const compressor_compress: (a: number, b: number, c: number) => number;
7
- export const decompressor_decompress: (a: number, b: number, c: number) => number;
8
- export const __wbg_decompressor_free: (a: number, b: number) => void;
9
- export const decompressor_new: () => number;
4
+ export const __wbg_waosm_free: (a: number, b: number) => void;
5
+ export const waosm_new: () => number;
6
+ export const waosm_compress: (a: number, b: number, c: number) => number;
7
+ export const waosm_decompress: (a: number, b: number, c: number, d: number) => number;
10
8
  export const __wbindgen_malloc: (a: number, b: number) => number;
@@ -11,13 +11,17 @@ yarn build
11
11
  Using Waosm in nodejs.
12
12
 
13
13
  ```js
14
- import init, { Compressor, Decompressor } from "../src/waosm-node.js"
14
+ import { Compressor, Decompressor } from "../src/waosm-node.js"
15
15
 
16
16
  const main = async ()=>{
17
- await init()
18
17
  const compressor = new Compressor()
19
18
  const decompressor = new Decompressor()
20
- const memory = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
19
+ const memory = new Uint8Array(
20
+ [
21
+ 1, 2, 3, 4, 5, 5, 5, 6, 7, 8, 9, 0, 0, 0,
22
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
23
+ ]
24
+ )
21
25
  console.log(memory)
22
26
  const compressed = compressor.compress(memory)
23
27
  console.log(compressed)
@@ -1,12 +1,8 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- export class Compressor {
3
+ export class Waosm {
4
4
  free(): void;
5
5
  constructor();
6
6
  compress(data: Uint8Array): Uint8Array;
7
- }
8
- export class Decompressor {
9
- free(): void;
10
- constructor();
11
- decompress(data: Uint8Array): Uint8Array;
7
+ decompress(data: Uint8Array, decompressed_size: number): Uint8Array;
12
8
  }
@@ -62,27 +62,27 @@ function passArray8ToWasm0(arg, malloc) {
62
62
  return ptr;
63
63
  }
64
64
 
65
- const CompressorFinalization = (typeof FinalizationRegistry === 'undefined')
65
+ const WaosmFinalization = (typeof FinalizationRegistry === 'undefined')
66
66
  ? { register: () => {}, unregister: () => {} }
67
- : new FinalizationRegistry(ptr => wasm.__wbg_compressor_free(ptr >>> 0, 1));
67
+ : new FinalizationRegistry(ptr => wasm.__wbg_waosm_free(ptr >>> 0, 1));
68
68
 
69
- export class Compressor {
69
+ export class Waosm {
70
70
 
71
71
  __destroy_into_raw() {
72
72
  const ptr = this.__wbg_ptr;
73
73
  this.__wbg_ptr = 0;
74
- CompressorFinalization.unregister(this);
74
+ WaosmFinalization.unregister(this);
75
75
  return ptr;
76
76
  }
77
77
 
78
78
  free() {
79
79
  const ptr = this.__destroy_into_raw();
80
- wasm.__wbg_compressor_free(ptr, 0);
80
+ wasm.__wbg_waosm_free(ptr, 0);
81
81
  }
82
82
  constructor() {
83
- const ret = wasm.compressor_new();
83
+ const ret = wasm.waosm_new();
84
84
  this.__wbg_ptr = ret >>> 0;
85
- CompressorFinalization.register(this, this.__wbg_ptr, this);
85
+ WaosmFinalization.register(this, this.__wbg_ptr, this);
86
86
  return this;
87
87
  }
88
88
  /**
@@ -92,42 +92,18 @@ export class Compressor {
92
92
  compress(data) {
93
93
  const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
94
94
  const len0 = WASM_VECTOR_LEN;
95
- const ret = wasm.compressor_compress(this.__wbg_ptr, ptr0, len0);
95
+ const ret = wasm.waosm_compress(this.__wbg_ptr, ptr0, len0);
96
96
  return takeObject(ret);
97
97
  }
98
- }
99
-
100
- const DecompressorFinalization = (typeof FinalizationRegistry === 'undefined')
101
- ? { register: () => {}, unregister: () => {} }
102
- : new FinalizationRegistry(ptr => wasm.__wbg_decompressor_free(ptr >>> 0, 1));
103
-
104
- export class Decompressor {
105
-
106
- __destroy_into_raw() {
107
- const ptr = this.__wbg_ptr;
108
- this.__wbg_ptr = 0;
109
- DecompressorFinalization.unregister(this);
110
- return ptr;
111
- }
112
-
113
- free() {
114
- const ptr = this.__destroy_into_raw();
115
- wasm.__wbg_decompressor_free(ptr, 0);
116
- }
117
- constructor() {
118
- const ret = wasm.compressor_new();
119
- this.__wbg_ptr = ret >>> 0;
120
- DecompressorFinalization.register(this, this.__wbg_ptr, this);
121
- return this;
122
- }
123
98
  /**
124
99
  * @param {Uint8Array} data
100
+ * @param {number} decompressed_size
125
101
  * @returns {Uint8Array}
126
102
  */
127
- decompress(data) {
103
+ decompress(data, decompressed_size) {
128
104
  const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
129
105
  const len0 = WASM_VECTOR_LEN;
130
- const ret = wasm.decompressor_decompress(this.__wbg_ptr, ptr0, len0);
106
+ const ret = wasm.waosm_decompress(this.__wbg_ptr, ptr0, len0, decompressed_size);
131
107
  return takeObject(ret);
132
108
  }
133
109
  }
Binary file
@@ -1,10 +1,8 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export const __wbg_compressor_free: (a: number, b: number) => void;
5
- export const compressor_new: () => number;
6
- export const compressor_compress: (a: number, b: number, c: number) => number;
7
- export const decompressor_decompress: (a: number, b: number, c: number) => number;
8
- export const __wbg_decompressor_free: (a: number, b: number) => void;
9
- export const decompressor_new: () => number;
4
+ export const __wbg_waosm_free: (a: number, b: number) => void;
5
+ export const waosm_new: () => number;
6
+ export const waosm_compress: (a: number, b: number, c: number) => number;
7
+ export const waosm_decompress: (a: number, b: number, c: number, d: number) => number;
10
8
  export const __wbindgen_malloc: (a: number, b: number) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wao",
3
- "version": "0.11.1",
3
+ "version": "0.11.2",
4
4
  "bin": {
5
5
  "wao": "./cjs/cli.js",
6
6
  "wao-esm": "./esm/cli.js"