@keplr-wallet/common 0.12.0-alpha.0 → 0.12.0-alpha.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/LICENSE +8 -2
- package/build/denom/index.js +10 -10
- package/build/denom/index.js.map +1 -1
- package/build/escape/escape.spec.js +4 -4
- package/build/escape/escape.spec.js.map +1 -1
- package/build/icns/index.d.ts +2 -0
- package/build/icns/index.js +22 -0
- package/build/icns/index.js.map +1 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +7 -1
- package/build/index.js.map +1 -1
- package/build/json/hex.d.ts +2 -0
- package/build/json/hex.js +31 -0
- package/build/json/hex.js.map +1 -0
- package/build/json/index.d.ts +2 -0
- package/build/json/index.js +19 -0
- package/build/json/index.js.map +1 -0
- package/build/json/sort.d.ts +2 -0
- package/build/json/sort.js +23 -0
- package/build/json/sort.js.map +1 -0
- package/build/json/sort.spec.d.ts +1 -0
- package/build/json/sort.spec.js +38 -0
- package/build/json/sort.spec.js.map +1 -0
- package/build/json/uint8-array.d.ts +6 -0
- package/build/json/uint8-array.js +52 -0
- package/build/json/uint8-array.js.map +1 -0
- package/build/json/uint8-array.spec.d.ts +1 -0
- package/build/json/uint8-array.spec.js +100 -0
- package/build/json/uint8-array.spec.js.map +1 -0
- package/build/kv-store/extension.d.ts +10 -3
- package/build/kv-store/extension.js +25 -0
- package/build/kv-store/extension.js.map +1 -1
- package/build/kv-store/index.d.ts +2 -0
- package/build/kv-store/index.js +7 -1
- package/build/kv-store/index.js.map +1 -1
- package/build/kv-store/interface.d.ts +5 -0
- package/build/kv-store/memory.js +19 -0
- package/build/kv-store/memory.js.map +1 -1
- package/build/kv-store/multi-get.d.ts +8 -0
- package/build/kv-store/multi-get.js +34 -0
- package/build/kv-store/multi-get.js.map +1 -0
- package/build/kv-store/prefix.d.ts +9 -0
- package/build/kv-store/prefix.js +35 -0
- package/build/kv-store/prefix.js.map +1 -0
- package/build/mobx/debounce.d.ts +25 -0
- package/build/mobx/debounce.js +77 -0
- package/build/mobx/debounce.js.map +1 -0
- package/build/mobx/etc.d.ts +22 -0
- package/build/mobx/etc.js +30 -0
- package/build/mobx/etc.js.map +1 -0
- package/build/mobx/index.d.ts +2 -22
- package/build/mobx/index.js +16 -27
- package/build/mobx/index.js.map +1 -1
- package/build/utils/index.js +5 -1
- package/build/utils/index.js.map +1 -1
- package/package.json +6 -5
- package/src/icns/index.ts +18 -0
- package/src/index.ts +2 -0
- package/src/json/hex.ts +28 -0
- package/src/json/index.ts +2 -0
- package/src/json/sort.spec.ts +30 -0
- package/src/json/sort.ts +18 -0
- package/src/json/uint8-array.spec.ts +116 -0
- package/src/json/uint8-array.ts +61 -0
- package/src/kv-store/extension.ts +27 -3
- package/src/kv-store/index.ts +2 -0
- package/src/kv-store/interface.ts +4 -0
- package/src/kv-store/memory.ts +26 -0
- package/src/kv-store/multi-get.ts +26 -0
- package/src/kv-store/prefix.ts +24 -0
- package/src/mobx/debounce.ts +100 -0
- package/src/mobx/etc.ts +25 -0
- package/src/mobx/index.ts +2 -25
package/LICENSE
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
License: Apache2.0
|
|
1
|
+
License: Apache2.0 (Extension) / All rights reserved (Mobile)
|
|
2
|
+
|
|
3
|
+
## Keplr Extension License:
|
|
2
4
|
|
|
3
5
|
Apache License
|
|
4
6
|
Version 2.0, January 2004
|
|
@@ -200,4 +202,8 @@ License: Apache2.0
|
|
|
200
202
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
201
203
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
202
204
|
See the License for the specific language governing permissions and
|
|
203
|
-
limitations under the License.
|
|
205
|
+
limitations under the License.
|
|
206
|
+
|
|
207
|
+
## Keplr Mobile License
|
|
208
|
+
|
|
209
|
+
Copyright (c) 2021 Chainapsis Inc. All rights reserved.
|
package/build/denom/index.js
CHANGED
|
@@ -4,16 +4,6 @@ exports.DenomHelper = void 0;
|
|
|
4
4
|
const buffer_1 = require("buffer/");
|
|
5
5
|
const crypto_1 = require("@keplr-wallet/crypto");
|
|
6
6
|
class DenomHelper {
|
|
7
|
-
constructor(_denom) {
|
|
8
|
-
this._denom = _denom;
|
|
9
|
-
// Remember that the coin's actual denom should start with "type:contractAddress:denom" if it is for the token based on contract.
|
|
10
|
-
const split = this.denom.split(/(\w+):(\w+):(.+)/).filter(Boolean);
|
|
11
|
-
if (split.length !== 1 && split.length !== 3) {
|
|
12
|
-
throw new Error(`Invalid denom: ${this.denom}`);
|
|
13
|
-
}
|
|
14
|
-
this._type = split.length === 3 ? split[0] : "";
|
|
15
|
-
this._contractAddress = split.length === 3 ? split[1] : "";
|
|
16
|
-
}
|
|
17
7
|
static ibcDenom(paths, coinMinimalDenom) {
|
|
18
8
|
const prefixes = [];
|
|
19
9
|
for (const path of paths) {
|
|
@@ -26,6 +16,16 @@ class DenomHelper {
|
|
|
26
16
|
.toString("hex")
|
|
27
17
|
.toUpperCase());
|
|
28
18
|
}
|
|
19
|
+
constructor(_denom) {
|
|
20
|
+
this._denom = _denom;
|
|
21
|
+
// Remember that the coin's actual denom should start with "type:contractAddress:denom" if it is for the token based on contract.
|
|
22
|
+
const split = this.denom.split(/(\w+):(\w+):(.+)/).filter(Boolean);
|
|
23
|
+
if (split.length !== 1 && split.length !== 3) {
|
|
24
|
+
throw new Error(`Invalid denom: ${this.denom}`);
|
|
25
|
+
}
|
|
26
|
+
this._type = split.length === 3 ? split[0] : "";
|
|
27
|
+
this._contractAddress = split.length === 3 ? split[1] : "";
|
|
28
|
+
}
|
|
29
29
|
get denom() {
|
|
30
30
|
return this._denom;
|
|
31
31
|
}
|
package/build/denom/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/denom/index.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AACjC,iDAA4C;AAE5C,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/denom/index.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AACjC,iDAA4C;AAE5C,MAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CACb,KAGG,EACH,gBAAwB;QAExB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SACnD;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,MAAM,IAAI,gBAAgB,EAAE,CAAC;QAE9C,OAAO,CACL,MAAM;YACN,eAAM,CAAC,IAAI,CAAC,aAAI,CAAC,MAAM,CAAC,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBACzC,QAAQ,CAAC,KAAK,CAAC;iBACf,WAAW,EAAE,CACjB,CAAC;IACJ,CAAC;IAKD,YAA+B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAC3C,iIAAiI;QACjI,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAjDD,kCAiDC"}
|
|
@@ -12,12 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
const index_1 = require("./index");
|
|
13
13
|
describe("Test escapeHTML", () => {
|
|
14
14
|
test("escapeHTML should escape <, >, &", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
-
expect(index_1.escapeHTML("<, >, &, ' and \"")).toBe(`\\u003c, \\u003e, \\u0026, ' and "`);
|
|
16
|
-
expect(index_1.escapeHTML("<, >, &, ' and \" and <, >, &, ' and \"")).toBe(`\\u003c, \\u003e, \\u0026, ' and " and \\u003c, \\u003e, \\u0026, ' and "`);
|
|
15
|
+
expect((0, index_1.escapeHTML)("<, >, &, ' and \"")).toBe(`\\u003c, \\u003e, \\u0026, ' and "`);
|
|
16
|
+
expect((0, index_1.escapeHTML)("<, >, &, ' and \" and <, >, &, ' and \"")).toBe(`\\u003c, \\u003e, \\u0026, ' and " and \\u003c, \\u003e, \\u0026, ' and "`);
|
|
17
17
|
}));
|
|
18
18
|
test("unescapeHTML should escape <, >, &", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
-
expect(index_1.unescapeHTML(`\\u003c, \\u003e, \\u0026, ' and "`)).toBe("<, >, &, ' and \"");
|
|
20
|
-
expect(index_1.unescapeHTML(`\\u003c, \\u003e, \\u0026, ' and " and \\u003c, \\u003e, \\u0026, ' and "`)).toBe("<, >, &, ' and \" and <, >, &, ' and \"");
|
|
19
|
+
expect((0, index_1.unescapeHTML)(`\\u003c, \\u003e, \\u0026, ' and "`)).toBe("<, >, &, ' and \"");
|
|
20
|
+
expect((0, index_1.unescapeHTML)(`\\u003c, \\u003e, \\u0026, ' and " and \\u003c, \\u003e, \\u0026, ' and "`)).toBe("<, >, &, ' and \" and <, >, &, ' and \"");
|
|
21
21
|
}));
|
|
22
22
|
});
|
|
23
23
|
//# sourceMappingURL=escape.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escape.spec.js","sourceRoot":"","sources":["../../src/escape/escape.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAmD;AAEnD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,kCAAkC,EAAE,GAAS,EAAE;QAClD,MAAM,CAAC,kBAAU,
|
|
1
|
+
{"version":3,"file":"escape.spec.js","sourceRoot":"","sources":["../../src/escape/escape.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mCAAmD;AAEnD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,kCAAkC,EAAE,GAAS,EAAE;QAClD,MAAM,CAAC,IAAA,kBAAU,EAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAC1C,oCAAoC,CACrC,CAAC;QAEF,MAAM,CAAC,IAAA,kBAAU,EAAC,yCAAyC,CAAC,CAAC,CAAC,IAAI,CAChE,2EAA2E,CAC5E,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAS,EAAE;QACpD,MAAM,CAAC,IAAA,oBAAY,EAAC,oCAAoC,CAAC,CAAC,CAAC,IAAI,CAC7D,mBAAmB,CACpB,CAAC;QAEF,MAAM,CACJ,IAAA,oBAAY,EACV,2EAA2E,CAC5E,CACF,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACpD,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateICNSName = exports.parseICNSName = void 0;
|
|
4
|
+
function parseICNSName(name) {
|
|
5
|
+
const split = name.split(".");
|
|
6
|
+
if (split.length === 2) {
|
|
7
|
+
if (split[0].length > 0 && split[1].length > 0) {
|
|
8
|
+
return [split[0], split[1]];
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
exports.parseICNSName = parseICNSName;
|
|
14
|
+
function validateICNSName(name, bech32Prefix) {
|
|
15
|
+
const parsed = parseICNSName(name);
|
|
16
|
+
if (!parsed) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
return parsed[1] === bech32Prefix;
|
|
20
|
+
}
|
|
21
|
+
exports.validateICNSName = validateICNSName;
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/icns/index.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAAC,IAAY;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AATD,sCASC;AAED,SAAgB,gBAAgB,CAAC,IAAY,EAAE,YAAoB;IACjE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,CAAC;KACd;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;AACpC,CAAC;AAND,4CAMC"}
|
package/build/index.d.ts
CHANGED
package/build/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -15,4 +19,6 @@ __exportStar(require("./denom"), exports);
|
|
|
15
19
|
__exportStar(require("./mobx"), exports);
|
|
16
20
|
__exportStar(require("./utils"), exports);
|
|
17
21
|
__exportStar(require("./escape"), exports);
|
|
22
|
+
__exportStar(require("./json"), exports);
|
|
23
|
+
__exportStar(require("./icns"), exports);
|
|
18
24
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,0CAAwB;AACxB,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Belows are from @cosmjs/encoding library.
|
|
4
|
+
To reduce the bundle size of provider, put them directly here.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.fromHex = exports.toHex = void 0;
|
|
8
|
+
function toHex(data) {
|
|
9
|
+
let out = "";
|
|
10
|
+
for (const byte of data) {
|
|
11
|
+
out += ("0" + byte.toString(16)).slice(-2);
|
|
12
|
+
}
|
|
13
|
+
return out;
|
|
14
|
+
}
|
|
15
|
+
exports.toHex = toHex;
|
|
16
|
+
function fromHex(hexstring) {
|
|
17
|
+
if (hexstring.length % 2 !== 0) {
|
|
18
|
+
throw new Error("hex string length must be a multiple of 2");
|
|
19
|
+
}
|
|
20
|
+
const listOfInts = [];
|
|
21
|
+
for (let i = 0; i < hexstring.length; i += 2) {
|
|
22
|
+
const hexByteAsString = hexstring.substr(i, 2);
|
|
23
|
+
if (!hexByteAsString.match(/[0-9a-f]{2}/i)) {
|
|
24
|
+
throw new Error("hex string contains invalid characters");
|
|
25
|
+
}
|
|
26
|
+
listOfInts.push(parseInt(hexByteAsString, 16));
|
|
27
|
+
}
|
|
28
|
+
return new Uint8Array(listOfInts);
|
|
29
|
+
}
|
|
30
|
+
exports.fromHex = fromHex;
|
|
31
|
+
//# sourceMappingURL=hex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/json/hex.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,SAAgB,KAAK,CAAC,IAAgB;IACpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACvB,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAND,sBAMC;AAED,SAAgB,OAAO,CAAC,SAAiB;IACvC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;IAED,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC5C,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QACD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;KAChD;IACD,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AAdD,0BAcC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./sort"), exports);
|
|
18
|
+
__exportStar(require("./uint8-array"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/json/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,gDAA8B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sortedJsonByKeyStringify = exports.sortObjectByKey = void 0;
|
|
4
|
+
function sortObjectByKey(obj) {
|
|
5
|
+
if (typeof obj !== "object" || obj === null) {
|
|
6
|
+
return obj;
|
|
7
|
+
}
|
|
8
|
+
if (Array.isArray(obj)) {
|
|
9
|
+
return obj.map(sortObjectByKey);
|
|
10
|
+
}
|
|
11
|
+
const sortedKeys = Object.keys(obj).sort();
|
|
12
|
+
const result = {};
|
|
13
|
+
sortedKeys.forEach((key) => {
|
|
14
|
+
result[key] = sortObjectByKey(obj[key]);
|
|
15
|
+
});
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
exports.sortObjectByKey = sortObjectByKey;
|
|
19
|
+
function sortedJsonByKeyStringify(obj) {
|
|
20
|
+
return JSON.stringify(sortObjectByKey(obj));
|
|
21
|
+
}
|
|
22
|
+
exports.sortedJsonByKeyStringify = sortedJsonByKeyStringify;
|
|
23
|
+
//# sourceMappingURL=sort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/json/sort.ts"],"names":[],"mappings":";;;AAAA,SAAgB,eAAe,CAAC,GAAwB;IACtD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;QAC3C,OAAO,GAAG,CAAC;KACZ;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KACjC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAbD,0CAaC;AAED,SAAgB,wBAAwB,CAAC,GAAwB;IAC/D,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAFD,4DAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const sort_1 = require("./sort");
|
|
13
|
+
describe("Test json sorting", () => {
|
|
14
|
+
test("Test sorting", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
const tests = [
|
|
16
|
+
{
|
|
17
|
+
input: `{"cosmos":"foo", "atom":"bar", "tendermint":"foobar"}`,
|
|
18
|
+
output: `{"atom":"bar","cosmos":"foo","tendermint":"foobar"}`,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
input: `{"consensus_params":{"block_size_params":{"max_bytes":22020096,"max_txs":100000,"max_gas":-1},"tx_size_params":{"max_bytes":10240,"max_gas":-1},"block_gossip_params":{"block_part_size_bytes":65536},"evidence_params":{"max_age":100000}},"validators":[{"pub_key":{"type":"AC26791624DE60","value":"c7UMMAbjFuc5GhGPy0E5q5tefy12p9Tq0imXqdrKXwo="},"power":100,"name":""}],"app_hash":"","genesis_time":"2018-05-11T15:52:25.424795506Z","chain_id":"test-chain-Q6VeoW","app_state":{"accounts":[{"address":"718C9C23F98C9642569742ADDD9F9AB9743FBD5D","coins":[{"denom":"Token","amount":1000},{"denom":"stake","amount":50}]}],"stake":{"pool":{"total_supply":50,"bonded_shares":"0","unbonded_shares":"0","bonded_pool":0,"unbonded_pool":0,"inflation_last_time":0,"inflation":"7/100"},"params":{"inflation_rate_change":"13/100","inflation_max":"1/5","inflation_min":"7/100","goal_bonded":"67/100","max_validators":100,"bond_denom":"stake"},"candidates":null,"bonds":null}}}`,
|
|
22
|
+
output: `{"app_hash":"","app_state":{"accounts":[{"address":"718C9C23F98C9642569742ADDD9F9AB9743FBD5D","coins":[{"amount":1000,"denom":"Token"},{"amount":50,"denom":"stake"}]}],"stake":{"bonds":null,"candidates":null,"params":{"bond_denom":"stake","goal_bonded":"67/100","inflation_max":"1/5","inflation_min":"7/100","inflation_rate_change":"13/100","max_validators":100},"pool":{"bonded_pool":0,"bonded_shares":"0","inflation":"7/100","inflation_last_time":0,"total_supply":50,"unbonded_pool":0,"unbonded_shares":"0"}}},"chain_id":"test-chain-Q6VeoW","consensus_params":{"block_gossip_params":{"block_part_size_bytes":65536},"block_size_params":{"max_bytes":22020096,"max_gas":-1,"max_txs":100000},"evidence_params":{"max_age":100000},"tx_size_params":{"max_bytes":10240,"max_gas":-1}},"genesis_time":"2018-05-11T15:52:25.424795506Z","validators":[{"name":"","power":100,"pub_key":{"type":"AC26791624DE60","value":"c7UMMAbjFuc5GhGPy0E5q5tefy12p9Tq0imXqdrKXwo="}}]}`,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
input: `{"chain_id":"test-chain-1","sequence":1,"fee_bytes":{"amount":[{"amount":5,"denom":"photon"}],"gas":10000},"msg_bytes":{"inputs":[{"address":"696E707574","coins":[{"amount":10,"denom":"atom"}]}],"outputs":[{"address":"6F7574707574","coins":[{"amount":10,"denom":"atom"}]}]},"alt_bytes":null}`,
|
|
26
|
+
output: `{"alt_bytes":null,"chain_id":"test-chain-1","fee_bytes":{"amount":[{"amount":5,"denom":"photon"}],"gas":10000},"msg_bytes":{"inputs":[{"address":"696E707574","coins":[{"amount":10,"denom":"atom"}]}],"outputs":[{"address":"6F7574707574","coins":[{"amount":10,"denom":"atom"}]}]},"sequence":1}`,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
input: `{"type":"cosmos-sdk/MsgGrant","value":{"granter":"secret145s07us09dr5hs9t5t4z5x57427fe34jk0t8jd","grant":{"authorization":{"type":"cosmos-sdk/StakeAuthorization","value":{"Validators":{"type":"cosmos-sdk/StakeAuthorization/AllowList","value":{"allow_list":{"address":["secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"]}}},"authorization_type":1}},"expiration":"2024-10-19T18:00:00Z"},"grantee":"secret195qz2llswagsypzgh79r6yhmps8cpqmcl5pt8q"}}`,
|
|
30
|
+
output: `{"type":"cosmos-sdk/MsgGrant","value":{"grant":{"authorization":{"type":"cosmos-sdk/StakeAuthorization","value":{"Validators":{"type":"cosmos-sdk/StakeAuthorization/AllowList","value":{"allow_list":{"address":["secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"]}}},"authorization_type":1}},"expiration":"2024-10-19T18:00:00Z"},"grantee":"secret195qz2llswagsypzgh79r6yhmps8cpqmcl5pt8q","granter":"secret145s07us09dr5hs9t5t4z5x57427fe34jk0t8jd"}}`,
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
for (const test of tests) {
|
|
34
|
+
expect((0, sort_1.sortedJsonByKeyStringify)(JSON.parse(test.input))).toBe(test.output);
|
|
35
|
+
}
|
|
36
|
+
}));
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=sort.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.spec.js","sourceRoot":"","sources":["../../src/json/sort.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAAkD;AAElD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,cAAc,EAAE,GAAS,EAAE;QAC9B,MAAM,KAAK,GAA0D;YACnE;gBACE,KAAK,EAAE,wDAAwD;gBAC/D,MAAM,EAAE,qDAAqD;aAC9D;YACD;gBACE,KAAK,EAAE,87BAA87B;gBACr8B,MAAM,EAAE,87BAA87B;aACv8B;YACD;gBACE,KAAK,EAAE,qSAAqS;gBAC5S,MAAM,EAAE,qSAAqS;aAC9S;YACD;gBACE,KAAK,EAAE,kcAAkc;gBACzc,MAAM,EAAE,kcAAkc;aAC3c;SACF,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,CAAC,IAAA,+BAAwB,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3D,IAAI,CAAC,MAAM,CACZ,CAAC;SACH;IACH,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JSONUint8Array = void 0;
|
|
4
|
+
// The JSON encoder that supports the `Uint8Array`.
|
|
5
|
+
const hex_1 = require("./hex");
|
|
6
|
+
class JSONUint8Array {
|
|
7
|
+
static parse(text) {
|
|
8
|
+
return JSON.parse(text, (key, value) => {
|
|
9
|
+
// Prevent potential prototype poisoning.
|
|
10
|
+
if (key === "__proto__") {
|
|
11
|
+
throw new Error("__proto__ is disallowed");
|
|
12
|
+
}
|
|
13
|
+
if (value &&
|
|
14
|
+
typeof value === "string" &&
|
|
15
|
+
value.startsWith("__uint8array__")) {
|
|
16
|
+
return (0, hex_1.fromHex)(value.replace("__uint8array__", ""));
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
static stringify(obj) {
|
|
22
|
+
return JSON.stringify(obj, (key, value) => {
|
|
23
|
+
// Prevent potential prototype poisoning.
|
|
24
|
+
if (key === "__proto__") {
|
|
25
|
+
throw new Error("__proto__ is disallowed");
|
|
26
|
+
}
|
|
27
|
+
if (value &&
|
|
28
|
+
(value instanceof Uint8Array ||
|
|
29
|
+
(typeof value === "object" &&
|
|
30
|
+
"type" in value &&
|
|
31
|
+
"data" in value &&
|
|
32
|
+
value.type === "Buffer" &&
|
|
33
|
+
Array.isArray(value.data)))) {
|
|
34
|
+
const array = value instanceof Uint8Array ? value : new Uint8Array(value.data);
|
|
35
|
+
return `__uint8array__${(0, hex_1.toHex)(array)}`;
|
|
36
|
+
}
|
|
37
|
+
return value;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
static wrap(obj) {
|
|
41
|
+
if (obj === undefined)
|
|
42
|
+
return undefined;
|
|
43
|
+
return JSON.parse(JSONUint8Array.stringify(obj));
|
|
44
|
+
}
|
|
45
|
+
static unwrap(obj) {
|
|
46
|
+
if (obj === undefined)
|
|
47
|
+
return undefined;
|
|
48
|
+
return JSONUint8Array.parse(JSON.stringify(obj));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.JSONUint8Array = JSONUint8Array;
|
|
52
|
+
//# sourceMappingURL=uint8-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uint8-array.js","sourceRoot":"","sources":["../../src/json/uint8-array.ts"],"names":[],"mappings":";;;AAAA,mDAAmD;AACnD,+BAAuC;AAEvC,MAAa,cAAc;IACzB,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACrC,yCAAyC;YACzC,IAAI,GAAG,KAAK,WAAW,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;aAC5C;YAED,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAClC;gBACA,OAAO,IAAA,aAAO,EAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;aACrD;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAY;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACxC,yCAAyC;YACzC,IAAI,GAAG,KAAK,WAAW,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;aAC5C;YAED,IACE,KAAK;gBACL,CAAC,KAAK,YAAY,UAAU;oBAC1B,CAAC,OAAO,KAAK,KAAK,QAAQ;wBACxB,MAAM,IAAI,KAAK;wBACf,MAAM,IAAI,KAAK;wBACf,KAAK,CAAC,IAAI,KAAK,QAAQ;wBACvB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAC/B;gBACA,MAAM,KAAK,GACT,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEnE,OAAO,iBAAiB,IAAA,WAAK,EAAC,KAAK,CAAC,EAAE,CAAC;aACxC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAQ;QAClB,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAExC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAAQ;QACpB,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAExC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;CACF;AAzDD,wCAyDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const assert_1 = __importDefault(require("assert"));
|
|
7
|
+
const uint8_array_1 = require("./uint8-array");
|
|
8
|
+
describe("Test json with Uint8Array", () => {
|
|
9
|
+
it("should stringify properly with uint8array", () => {
|
|
10
|
+
const test = {
|
|
11
|
+
a: 1,
|
|
12
|
+
b: "test",
|
|
13
|
+
c: new Uint8Array([1, 2, 3]),
|
|
14
|
+
d: Buffer.from([1, 2, 3]),
|
|
15
|
+
e: undefined,
|
|
16
|
+
f: null,
|
|
17
|
+
};
|
|
18
|
+
const text = uint8_array_1.JSONUint8Array.stringify(test);
|
|
19
|
+
assert_1.default.strictEqual(text, '{"a":1,"b":"test","c":"__uint8array__010203","d":"__uint8array__010203","f":null}');
|
|
20
|
+
});
|
|
21
|
+
it("should parse properly with the prefixed string with __uint8array__", () => {
|
|
22
|
+
const text = '{"a":1,"b":"test","c":"__uint8array__010203","d":"__uint8array__010203","f":null}';
|
|
23
|
+
const obj = uint8_array_1.JSONUint8Array.parse(text);
|
|
24
|
+
assert_1.default.deepStrictEqual(obj, {
|
|
25
|
+
a: 1,
|
|
26
|
+
b: "test",
|
|
27
|
+
c: new Uint8Array([1, 2, 3]),
|
|
28
|
+
d: new Uint8Array([1, 2, 3]),
|
|
29
|
+
f: null,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
it("should stringify properly with uint8array for nested obj", () => {
|
|
33
|
+
const test = {
|
|
34
|
+
a: 1,
|
|
35
|
+
b: "test",
|
|
36
|
+
c: new Uint8Array([1, 2, 3]),
|
|
37
|
+
d: {
|
|
38
|
+
a: new Uint8Array([1, 2, 3]),
|
|
39
|
+
b: Buffer.from([1, 2, 3]),
|
|
40
|
+
c: [new Uint8Array([1, 2, 3]), Buffer.from([1, 2, 3])],
|
|
41
|
+
d: [new Uint8Array([1, 2, 3]), null, undefined],
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
const text = uint8_array_1.JSONUint8Array.stringify(test);
|
|
45
|
+
assert_1.default.strictEqual(text, '{"a":1,"b":"test","c":"__uint8array__010203","d":{"a":"__uint8array__010203","b":"__uint8array__010203","c":["__uint8array__010203","__uint8array__010203"],"d":["__uint8array__010203",null,null]}}');
|
|
46
|
+
});
|
|
47
|
+
it("should parse properly with uint8array for nested text", () => {
|
|
48
|
+
const text = '{"a":1,"b":"test","c":"__uint8array__010203","d":{"a":"__uint8array__010203","b":"__uint8array__010203","c":["__uint8array__010203","__uint8array__010203"],"d":["__uint8array__010203",null,null]}}';
|
|
49
|
+
const obj = uint8_array_1.JSONUint8Array.parse(text);
|
|
50
|
+
assert_1.default.deepStrictEqual(obj, {
|
|
51
|
+
a: 1,
|
|
52
|
+
b: "test",
|
|
53
|
+
c: new Uint8Array([1, 2, 3]),
|
|
54
|
+
d: {
|
|
55
|
+
a: new Uint8Array([1, 2, 3]),
|
|
56
|
+
b: new Uint8Array([1, 2, 3]),
|
|
57
|
+
c: [new Uint8Array([1, 2, 3]), new Uint8Array([1, 2, 3])],
|
|
58
|
+
d: [new Uint8Array([1, 2, 3]), null, null],
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
it("should wrap/unwrap properly with uint8array for nested obj", () => {
|
|
63
|
+
const test = {
|
|
64
|
+
a: 1,
|
|
65
|
+
b: "test",
|
|
66
|
+
c: new Uint8Array([1, 2, 3]),
|
|
67
|
+
d: {
|
|
68
|
+
a: new Uint8Array([1, 2, 3]),
|
|
69
|
+
b: Buffer.from([1, 2, 3]),
|
|
70
|
+
c: [new Uint8Array([1, 2, 3]), Buffer.from([1, 2, 3])],
|
|
71
|
+
d: [new Uint8Array([1, 2, 3]), null, undefined],
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
const wraped = uint8_array_1.JSONUint8Array.wrap(test);
|
|
75
|
+
assert_1.default.deepStrictEqual(wraped, {
|
|
76
|
+
a: 1,
|
|
77
|
+
b: "test",
|
|
78
|
+
c: "__uint8array__010203",
|
|
79
|
+
d: {
|
|
80
|
+
a: "__uint8array__010203",
|
|
81
|
+
b: "__uint8array__010203",
|
|
82
|
+
c: ["__uint8array__010203", "__uint8array__010203"],
|
|
83
|
+
d: ["__uint8array__010203", null, null],
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
const unwraped = uint8_array_1.JSONUint8Array.unwrap(wraped);
|
|
87
|
+
assert_1.default.deepStrictEqual(unwraped, {
|
|
88
|
+
a: 1,
|
|
89
|
+
b: "test",
|
|
90
|
+
c: new Uint8Array([1, 2, 3]),
|
|
91
|
+
d: {
|
|
92
|
+
a: new Uint8Array([1, 2, 3]),
|
|
93
|
+
b: new Uint8Array([1, 2, 3]),
|
|
94
|
+
c: [new Uint8Array([1, 2, 3]), new Uint8Array([1, 2, 3])],
|
|
95
|
+
d: [new Uint8Array([1, 2, 3]), null, null],
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=uint8-array.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uint8-array.spec.js","sourceRoot":"","sources":["../../src/json/uint8-array.spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAE5B,+CAA+C;AAE/C,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG;YACX,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzB,CAAC,EAAE,SAAS;YACZ,CAAC,EAAE,IAAI;SACR,CAAC;QAEF,MAAM,IAAI,GAAG,4BAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5C,gBAAM,CAAC,WAAW,CAChB,IAAI,EACJ,mFAAmF,CACpF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,IAAI,GACR,mFAAmF,CAAC;QAEtF,MAAM,GAAG,GAAG,4BAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE;YAC1B,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,EAAE,IAAI;SACR,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,IAAI,GAAG;YACX,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,EAAE;gBACD,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtD,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC;aAChD;SACF,CAAC;QAEF,MAAM,IAAI,GAAG,4BAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5C,gBAAM,CAAC,WAAW,CAChB,IAAI,EACJ,sMAAsM,CACvM,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GACR,sMAAsM,CAAC;QAEzM,MAAM,GAAG,GAAG,4BAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE;YAC1B,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,EAAE;gBACD,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3C;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,IAAI,GAAG;YACX,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,EAAE;gBACD,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtD,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC;aAChD;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,4BAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,gBAAM,CAAC,eAAe,CAAC,MAAM,EAAE;YAC7B,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,sBAAsB;YACzB,CAAC,EAAE;gBACD,CAAC,EAAE,sBAAsB;gBACzB,CAAC,EAAE,sBAAsB;gBACzB,CAAC,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;gBACnD,CAAC,EAAE,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC;aACxC;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,4BAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,gBAAM,CAAC,eAAe,CAAC,QAAQ,EAAE;YAC/B,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,EAAE;gBACD,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;aAC3C;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { BaseKVStore } from "./base";
|
|
2
|
-
import { KVStoreProvider } from "./interface";
|
|
3
|
-
export declare class ExtensionKVStore extends BaseKVStore {
|
|
4
|
-
protected static KVStoreProvider: KVStoreProvider
|
|
2
|
+
import { KVStoreProvider, MultiGet } from "./interface";
|
|
3
|
+
export declare class ExtensionKVStore extends BaseKVStore implements MultiGet {
|
|
4
|
+
protected static KVStoreProvider: (KVStoreProvider & {
|
|
5
|
+
multiGet: (keys: string[]) => Promise<{
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}>;
|
|
8
|
+
}) | undefined;
|
|
5
9
|
constructor(prefix: string);
|
|
10
|
+
multiGet(keys: string[]): Promise<{
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}>;
|
|
6
13
|
}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.ExtensionKVStore = void 0;
|
|
4
13
|
const base_1 = require("./base");
|
|
@@ -15,6 +24,7 @@ class ExtensionKVStore extends base_1.BaseKVStore {
|
|
|
15
24
|
ExtensionKVStore.KVStoreProvider = {
|
|
16
25
|
get: browser.storage.local.get,
|
|
17
26
|
set: browser.storage.local.set,
|
|
27
|
+
multiGet: browser.storage.local.get,
|
|
18
28
|
};
|
|
19
29
|
}
|
|
20
30
|
}
|
|
@@ -23,6 +33,21 @@ class ExtensionKVStore extends base_1.BaseKVStore {
|
|
|
23
33
|
}
|
|
24
34
|
super(ExtensionKVStore.KVStoreProvider, prefix);
|
|
25
35
|
}
|
|
36
|
+
multiGet(keys) {
|
|
37
|
+
var _a;
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
// Remove duplications
|
|
40
|
+
keys = Array.from(new Set(keys));
|
|
41
|
+
const res = (_a = (yield ExtensionKVStore.KVStoreProvider.multiGet(keys.map((k) => this.prefix() + "/" + k)))) !== null && _a !== void 0 ? _a : {};
|
|
42
|
+
const prefixedKeys = Object.keys(res);
|
|
43
|
+
for (const prefixedKey of prefixedKeys) {
|
|
44
|
+
const key = prefixedKey.slice(this.prefix().length + 1);
|
|
45
|
+
res[key] = res[prefixedKey];
|
|
46
|
+
delete res[prefixedKey];
|
|
47
|
+
}
|
|
48
|
+
return res;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
26
51
|
}
|
|
27
52
|
exports.ExtensionKVStore = ExtensionKVStore;
|
|
28
53
|
//# sourceMappingURL=extension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../src/kv-store/extension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../src/kv-store/extension.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAqC;AAGrC,MAAa,gBAAiB,SAAQ,kBAAW;IAO/C,YAAY,MAAc;QACxB,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE;YACrC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;gBAClC,OAAO,CAAC,GAAG,CACT,+DAA+D,CAChE,CAAC;aACH;iBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE;gBACrD,OAAO,CAAC,GAAG,CACT,8GAA8G,CAC/G,CAAC;aACH;iBAAM;gBACL,gBAAgB,CAAC,eAAe,GAAG;oBACjC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;oBAC9B,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;oBAC9B,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;iBACpC,CAAC;aACH;SACF;QAED,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACpE;QAED,KAAK,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAEK,QAAQ,CAAC,IAAc;;;YAC3B,sBAAsB;YACtB,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjC,MAAM,GAAG,GACP,MAAA,CAAC,MAAM,gBAAgB,CAAC,eAAgB,CAAC,QAAQ,CAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CACzC,CAAC,mCAAI,EAAE,CAAC;YACX,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;gBACtC,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACxD,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;gBAE5B,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;aACzB;YAED,OAAO,GAAG,CAAC;;KACZ;CACF;AAnDD,4CAmDC"}
|
package/build/kv-store/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -16,4 +20,6 @@ __exportStar(require("./base"), exports);
|
|
|
16
20
|
__exportStar(require("./memory"), exports);
|
|
17
21
|
__exportStar(require("./local"), exports);
|
|
18
22
|
__exportStar(require("./indexed-db"), exports);
|
|
23
|
+
__exportStar(require("./prefix"), exports);
|
|
24
|
+
__exportStar(require("./multi-get"), exports);
|
|
19
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kv-store/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/kv-store/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,8CAA4B;AAC5B,yCAAuB;AACvB,2CAAyB;AACzB,0CAAwB;AACxB,+CAA6B;AAC7B,2CAAyB;AACzB,8CAA4B"}
|
|
@@ -3,6 +3,11 @@ export interface KVStore {
|
|
|
3
3
|
set<T = unknown>(key: string, data: T | null): Promise<void>;
|
|
4
4
|
prefix(): string;
|
|
5
5
|
}
|
|
6
|
+
export interface MultiGet {
|
|
7
|
+
multiGet(keys: string[]): Promise<{
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
6
11
|
export interface KVStoreProvider {
|
|
7
12
|
get(): Promise<{
|
|
8
13
|
[key: string]: any;
|