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.
- package/cjs/aoconnect-base.js +1 -1
- package/cjs/armem-base.js +89 -69
- package/cjs/armem-web.js +2 -3
- package/cjs/armem.js +1 -2
- package/cjs/compress.js +0 -1
- package/cjs/waosm/waosm.js +19 -48
- package/cjs/waosm-node/waosm_bg.js +19 -48
- package/esm/aoconnect-base.js +1 -1
- package/esm/armem-base.js +24 -9
- package/esm/armem-web.js +3 -3
- package/esm/armem.js +2 -2
- package/esm/compress.js +0 -1
- package/esm/waosm/README.md +7 -3
- package/esm/waosm/waosm.d.ts +6 -12
- package/esm/waosm/waosm.js +11 -35
- package/esm/waosm/waosm_bg.wasm +0 -0
- package/esm/waosm/waosm_bg.wasm.d.ts +4 -6
- package/esm/waosm-node/README.md +7 -3
- package/esm/waosm-node/waosm.d.ts +2 -6
- package/esm/waosm-node/waosm_bg.js +11 -35
- package/esm/waosm-node/waosm_bg.wasm +0 -0
- package/esm/waosm-node/waosm_bg.wasm.d.ts +4 -6
- package/package.json +1 -1
package/cjs/aoconnect-base.js
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
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.
|
|
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 =
|
|
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 =
|
|
167
|
+
_context3.next = 22;
|
|
149
168
|
break;
|
|
150
169
|
}
|
|
151
170
|
if (!(key === "env")) {
|
|
152
|
-
_context3.next =
|
|
171
|
+
_context3.next = 20;
|
|
153
172
|
break;
|
|
154
173
|
}
|
|
155
174
|
memory = val.memory;
|
|
156
175
|
try {
|
|
157
|
-
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
|
-
|
|
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
|
|
165
|
-
_context3.next =
|
|
184
|
+
case 18:
|
|
185
|
+
_context3.next = 22;
|
|
166
186
|
break;
|
|
167
|
-
case
|
|
168
|
-
_context3.next =
|
|
187
|
+
case 20:
|
|
188
|
+
_context3.next = 22;
|
|
169
189
|
return this.db.put("".concat(key, ".").concat(field), this[key][field]);
|
|
170
|
-
case
|
|
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.
|
|
314
|
-
this.decompressor = new this.Decompressor();
|
|
333
|
+
this.waosm = new this.Waosm();
|
|
315
334
|
if (!this.db) {
|
|
316
|
-
_context5.next =
|
|
335
|
+
_context5.next = 58;
|
|
317
336
|
break;
|
|
318
337
|
}
|
|
319
338
|
_i = 0, _arr = ["height", "blocks"];
|
|
320
|
-
case
|
|
339
|
+
case 9:
|
|
321
340
|
if (!(_i < _arr.length)) {
|
|
322
|
-
_context5.next =
|
|
341
|
+
_context5.next = 17;
|
|
323
342
|
break;
|
|
324
343
|
}
|
|
325
344
|
v = _arr[_i];
|
|
326
|
-
_context5.next =
|
|
345
|
+
_context5.next = 13;
|
|
327
346
|
return this.get(v);
|
|
328
|
-
case
|
|
347
|
+
case 13:
|
|
329
348
|
this[v] = _context5.sent;
|
|
330
|
-
case
|
|
349
|
+
case 14:
|
|
331
350
|
_i++;
|
|
332
|
-
_context5.next =
|
|
351
|
+
_context5.next = 9;
|
|
333
352
|
break;
|
|
334
|
-
case
|
|
353
|
+
case 17:
|
|
335
354
|
_i2 = 0, _arr2 = ["items", "txs", "env", "modules", "wasms", "addrmap", "blockmap", "modmap", "msgs"];
|
|
336
|
-
case
|
|
355
|
+
case 18:
|
|
337
356
|
if (!(_i2 < _arr2.length)) {
|
|
338
|
-
_context5.next =
|
|
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 =
|
|
362
|
+
_context5.next = 23;
|
|
344
363
|
return this.db.getKeys({
|
|
345
364
|
start: _v,
|
|
346
365
|
end: _v + "a"
|
|
347
366
|
});
|
|
348
|
-
case
|
|
367
|
+
case 23:
|
|
349
368
|
items = _context5.sent;
|
|
350
369
|
_iterator = _createForOfIteratorHelper(items || []);
|
|
351
|
-
_context5.prev =
|
|
370
|
+
_context5.prev = 25;
|
|
352
371
|
_iterator.s();
|
|
353
|
-
case
|
|
372
|
+
case 27:
|
|
354
373
|
if ((_step = _iterator.n()).done) {
|
|
355
|
-
_context5.next =
|
|
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 =
|
|
381
|
+
_context5.next = 43;
|
|
363
382
|
break;
|
|
364
383
|
}
|
|
365
384
|
if (!key.match(/^env/)) {
|
|
366
|
-
_context5.next =
|
|
385
|
+
_context5.next = 40;
|
|
367
386
|
break;
|
|
368
387
|
}
|
|
369
|
-
_context5.next =
|
|
388
|
+
_context5.next = 35;
|
|
370
389
|
return this.db.get(v2);
|
|
371
|
-
case
|
|
390
|
+
case 35:
|
|
372
391
|
v3 = _context5.sent;
|
|
373
|
-
if ((0, _ramda.is)(
|
|
392
|
+
if ((0, _ramda.is)(Uint8Array, v3.memory)) {
|
|
374
393
|
try {
|
|
375
|
-
v3.memory = this.
|
|
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
|
|
407
|
+
case 42:
|
|
388
408
|
this[_v][field] = _context5.sent;
|
|
389
|
-
case
|
|
390
|
-
_context5.next =
|
|
409
|
+
case 43:
|
|
410
|
+
_context5.next = 27;
|
|
391
411
|
break;
|
|
392
|
-
case
|
|
393
|
-
_context5.next =
|
|
412
|
+
case 45:
|
|
413
|
+
_context5.next = 50;
|
|
394
414
|
break;
|
|
395
|
-
case
|
|
396
|
-
_context5.prev =
|
|
397
|
-
_context5.t0 = _context5["catch"](
|
|
415
|
+
case 47:
|
|
416
|
+
_context5.prev = 47;
|
|
417
|
+
_context5.t0 = _context5["catch"](25);
|
|
398
418
|
_iterator.e(_context5.t0);
|
|
399
|
-
case
|
|
400
|
-
_context5.prev =
|
|
419
|
+
case 50:
|
|
420
|
+
_context5.prev = 50;
|
|
401
421
|
_iterator.f();
|
|
402
|
-
return _context5.finish(
|
|
403
|
-
case
|
|
422
|
+
return _context5.finish(50);
|
|
423
|
+
case 53:
|
|
404
424
|
_i2++;
|
|
405
|
-
_context5.next =
|
|
425
|
+
_context5.next = 18;
|
|
406
426
|
break;
|
|
407
|
-
case
|
|
408
|
-
_context5.next =
|
|
427
|
+
case 56:
|
|
428
|
+
_context5.next = 74;
|
|
409
429
|
break;
|
|
410
|
-
case
|
|
430
|
+
case 58:
|
|
411
431
|
_i3 = 0, _arr3 = ["height", "blocks"];
|
|
412
|
-
case
|
|
432
|
+
case 59:
|
|
413
433
|
if (!(_i3 < _arr3.length)) {
|
|
414
|
-
_context5.next =
|
|
434
|
+
_context5.next = 66;
|
|
415
435
|
break;
|
|
416
436
|
}
|
|
417
437
|
_v2 = _arr3[_i3];
|
|
418
|
-
_context5.next =
|
|
438
|
+
_context5.next = 63;
|
|
419
439
|
return this.set(this[_v2], _v2);
|
|
420
|
-
case
|
|
440
|
+
case 63:
|
|
421
441
|
_i3++;
|
|
422
|
-
_context5.next =
|
|
442
|
+
_context5.next = 59;
|
|
423
443
|
break;
|
|
424
|
-
case
|
|
444
|
+
case 66:
|
|
425
445
|
_i4 = 0, _arr4 = ["modules", "wasms", "addrmap", "blockmap"];
|
|
426
|
-
case
|
|
446
|
+
case 67:
|
|
427
447
|
if (!(_i4 < _arr4.length)) {
|
|
428
|
-
_context5.next =
|
|
448
|
+
_context5.next = 74;
|
|
429
449
|
break;
|
|
430
450
|
}
|
|
431
451
|
_v3 = _arr4[_i4];
|
|
432
|
-
_context5.next =
|
|
452
|
+
_context5.next = 71;
|
|
433
453
|
return this.putAll(_v3);
|
|
434
|
-
case
|
|
454
|
+
case 71:
|
|
435
455
|
_i4++;
|
|
436
|
-
_context5.next =
|
|
456
|
+
_context5.next = 67;
|
|
437
457
|
break;
|
|
438
|
-
case
|
|
458
|
+
case 74:
|
|
439
459
|
case "end":
|
|
440
460
|
return _context5.stop();
|
|
441
461
|
}
|
|
442
|
-
}, _callee5, this, [[
|
|
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
|
-
|
|
41
|
-
Decompressor: _waosm.Decompressor
|
|
40
|
+
Waosm: _waosm.Waosm
|
|
42
41
|
})]);
|
|
43
|
-
|
|
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
|
-
|
|
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
package/cjs/waosm/waosm.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] = exports.
|
|
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
|
|
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.
|
|
75
|
+
return wasm.__wbg_waosm_free(ptr >>> 0, 1);
|
|
76
76
|
});
|
|
77
|
-
var
|
|
78
|
-
function
|
|
79
|
-
_classCallCheck(this,
|
|
80
|
-
var ret = wasm.
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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.
|
|
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.
|
|
108
|
+
var ret = wasm.waosm_compress(this.__wbg_ptr, ptr0, len0);
|
|
109
109
|
return takeObject(ret);
|
|
110
110
|
}
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
77
|
+
return wasm.__wbg_waosm_free(ptr >>> 0, 1);
|
|
78
78
|
});
|
|
79
|
-
var
|
|
80
|
-
function
|
|
81
|
-
_classCallCheck(this,
|
|
82
|
-
var ret = wasm.
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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.
|
|
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.
|
|
110
|
+
var ret = wasm.waosm_compress(this.__wbg_ptr, ptr0, len0);
|
|
111
111
|
return takeObject(ret);
|
|
112
112
|
}
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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.
|
|
123
|
+
var ret = wasm.waosm_decompress(this.__wbg_ptr, ptr0, len0, decompressed_size);
|
|
153
124
|
return takeObject(ret);
|
|
154
125
|
}
|
|
155
126
|
}]);
|
package/esm/aoconnect-base.js
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
19
|
-
Decompressor,
|
|
34
|
+
Waosm,
|
|
20
35
|
} = {}) {
|
|
21
36
|
this.__type__ = "mem"
|
|
22
37
|
this._init = init
|
|
23
|
-
this.
|
|
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 =
|
|
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.
|
|
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(
|
|
195
|
+
if (is(Uint8Array, v3.memory)) {
|
|
182
196
|
try {
|
|
183
|
-
v3.memory = this.
|
|
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, {
|
|
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,
|
|
9
|
-
|
|
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 {
|
|
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,
|
|
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
package/esm/waosm/README.md
CHANGED
|
@@ -11,13 +11,17 @@ yarn build
|
|
|
11
11
|
Using Waosm in nodejs.
|
|
12
12
|
|
|
13
13
|
```js
|
|
14
|
-
import
|
|
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(
|
|
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)
|
package/esm/waosm/waosm.d.ts
CHANGED
|
@@ -1,26 +1,20 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
|
-
export class
|
|
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
|
|
19
|
-
readonly
|
|
20
|
-
readonly
|
|
21
|
-
readonly
|
|
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
|
|
package/esm/waosm/waosm.js
CHANGED
|
@@ -56,27 +56,27 @@ function passArray8ToWasm0(arg, malloc) {
|
|
|
56
56
|
return ptr;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
const
|
|
59
|
+
const WaosmFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
60
60
|
? { register: () => {}, unregister: () => {} }
|
|
61
|
-
: new FinalizationRegistry(ptr => wasm.
|
|
61
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_waosm_free(ptr >>> 0, 1));
|
|
62
62
|
|
|
63
|
-
export class
|
|
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
|
-
|
|
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.
|
|
74
|
+
wasm.__wbg_waosm_free(ptr, 0);
|
|
75
75
|
}
|
|
76
76
|
constructor() {
|
|
77
|
-
const ret = wasm.
|
|
77
|
+
const ret = wasm.waosm_new();
|
|
78
78
|
this.__wbg_ptr = ret >>> 0;
|
|
79
|
-
|
|
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.
|
|
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.
|
|
100
|
+
const ret = wasm.waosm_decompress(this.__wbg_ptr, ptr0, len0, decompressed_size);
|
|
125
101
|
return takeObject(ret);
|
|
126
102
|
}
|
|
127
103
|
}
|
package/esm/waosm/waosm_bg.wasm
CHANGED
|
Binary file
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
|
-
export const
|
|
5
|
-
export const
|
|
6
|
-
export const
|
|
7
|
-
export const
|
|
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/esm/waosm-node/README.md
CHANGED
|
@@ -11,13 +11,17 @@ yarn build
|
|
|
11
11
|
Using Waosm in nodejs.
|
|
12
12
|
|
|
13
13
|
```js
|
|
14
|
-
import
|
|
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(
|
|
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
|
|
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
|
|
65
|
+
const WaosmFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
66
66
|
? { register: () => {}, unregister: () => {} }
|
|
67
|
-
: new FinalizationRegistry(ptr => wasm.
|
|
67
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_waosm_free(ptr >>> 0, 1));
|
|
68
68
|
|
|
69
|
-
export class
|
|
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
|
-
|
|
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.
|
|
80
|
+
wasm.__wbg_waosm_free(ptr, 0);
|
|
81
81
|
}
|
|
82
82
|
constructor() {
|
|
83
|
-
const ret = wasm.
|
|
83
|
+
const ret = wasm.waosm_new();
|
|
84
84
|
this.__wbg_ptr = ret >>> 0;
|
|
85
|
-
|
|
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.
|
|
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.
|
|
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
|
|
5
|
-
export const
|
|
6
|
-
export const
|
|
7
|
-
export const
|
|
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;
|