@peerbit/indexer-interface 1.1.1-e9a5cd4 → 2.0.0
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/dist/src/id.d.ts +5 -0
- package/dist/src/id.d.ts.map +1 -1
- package/dist/src/id.js +29 -5
- package/dist/src/id.js.map +1 -1
- package/package.json +63 -63
- package/src/id.ts +24 -5
package/dist/src/id.d.ts
CHANGED
|
@@ -40,6 +40,11 @@ export declare class IntegerKey extends IdKey {
|
|
|
40
40
|
constructor(key: number);
|
|
41
41
|
get primitive(): number;
|
|
42
42
|
}
|
|
43
|
+
export declare class LargeIntegerKey extends IdKey {
|
|
44
|
+
key: bigint;
|
|
45
|
+
constructor(key: bigint);
|
|
46
|
+
get primitive(): bigint;
|
|
47
|
+
}
|
|
43
48
|
export type Ideable = string | number | bigint | Uint8Array;
|
|
44
49
|
export declare const toId: (obj: Ideable) => IdKey;
|
|
45
50
|
export declare const toIdeable: (key: IdKey | Ideable) => string | number | bigint | Uint8Array;
|
package/dist/src/id.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":"AAQA,8BAAsB,cAAc;CAAG;AAEvC,qBACa,WAAY,SAAQ,cAAc;IAE9C,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM;CAI1B;AAED,8BACsB,WAAY,SAAQ,cAAc;IACvD,QAAQ,KAAK,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC;CACtC;AAED,8BACsB,YAAa,SAAQ,WAAW;CAAG;AAEzD,qBACa,oBAAqB,SAAQ,YAAY;IAErD,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM;IAQ1B,IAAI,KAAK,WAER;CACD;AAED,qBACa,uBAAwB,SAAQ,YAAY;IAExD,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM;IAO1B,IAAI,KAAK,WAER;CACD;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,8BAAsB,KAAK;IAC1B,QAAQ,KAAK,GAAG,IAAI,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1D,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC;CACtC;AAED,qBACa,SAAU,SAAQ,KAAK;IAEnC,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,EAAE,MAAM;IAIvB,IAAI,SAAS,WAEZ;CACD;AAED,qBACa,aAAc,SAAQ,KAAK;IAEvC,GAAG,EAAE,UAAU,CAAC;gBAEJ,GAAG,EAAE,UAAU;IAK3B,OAAO,CAAC,UAAU,CAAU;IAC5B,IAAI,SAAS,IAAI,MAAM,CAEtB;CACD;AAiBD,qBACa,UAAW,SAAQ,KAAK;IAEpC,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,EAAE,MAAM;IAKvB,IAAI,SAAS,WAEZ;CACD;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":"AAQA,8BAAsB,cAAc;CAAG;AAEvC,qBACa,WAAY,SAAQ,cAAc;IAE9C,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM;CAI1B;AAED,8BACsB,WAAY,SAAQ,cAAc;IACvD,QAAQ,KAAK,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC;CACtC;AAED,8BACsB,YAAa,SAAQ,WAAW;CAAG;AAEzD,qBACa,oBAAqB,SAAQ,YAAY;IAErD,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM;IAQ1B,IAAI,KAAK,WAER;CACD;AAED,qBACa,uBAAwB,SAAQ,YAAY;IAExD,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM;IAO1B,IAAI,KAAK,WAER;CACD;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,8BAAsB,KAAK;IAC1B,QAAQ,KAAK,GAAG,IAAI,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1D,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC;CACtC;AAED,qBACa,SAAU,SAAQ,KAAK;IAEnC,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,EAAE,MAAM;IAIvB,IAAI,SAAS,WAEZ;CACD;AAED,qBACa,aAAc,SAAQ,KAAK;IAEvC,GAAG,EAAE,UAAU,CAAC;gBAEJ,GAAG,EAAE,UAAU;IAK3B,OAAO,CAAC,UAAU,CAAU;IAC5B,IAAI,SAAS,IAAI,MAAM,CAEtB;CACD;AAiBD,qBACa,UAAW,SAAQ,KAAK;IAEpC,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,EAAE,MAAM;IAKvB,IAAI,SAAS,WAEZ;CACD;AAED,qBACa,eAAgB,SAAQ,KAAK;IAEzC,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,EAAE,MAAM;IAKvB,IAAI,SAAS,WAEZ;CACD;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAK5D,eAAO,MAAM,IAAI,QAAS,OAAO,KAAG,KA0BnC,CAAC;AAEF,eAAO,MAAM,SAAS,QAChB,KAAK,GAAG,OAAO,KAClB,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAK7B,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,OAAO,SAqBnC,CAAC"}
|
package/dist/src/id.js
CHANGED
|
@@ -66,8 +66,8 @@ let BigUnsignedIntegerValue = class BigUnsignedIntegerValue extends IntegerValue
|
|
|
66
66
|
number;
|
|
67
67
|
constructor(number) {
|
|
68
68
|
super();
|
|
69
|
-
if (number > 18446744073709551615n || number <
|
|
70
|
-
throw new Error("Number is not
|
|
69
|
+
if (number > 18446744073709551615n || number < 0n) {
|
|
70
|
+
throw new Error("Number is not u64");
|
|
71
71
|
}
|
|
72
72
|
this.number = number;
|
|
73
73
|
}
|
|
@@ -158,7 +158,28 @@ IntegerKey = __decorate([
|
|
|
158
158
|
__metadata("design:paramtypes", [Number])
|
|
159
159
|
], IntegerKey);
|
|
160
160
|
export { IntegerKey };
|
|
161
|
+
let LargeIntegerKey = class LargeIntegerKey extends IdKey {
|
|
162
|
+
key;
|
|
163
|
+
constructor(key) {
|
|
164
|
+
super();
|
|
165
|
+
this.key = key;
|
|
166
|
+
}
|
|
167
|
+
get primitive() {
|
|
168
|
+
return this.key;
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
__decorate([
|
|
172
|
+
field({ type: "u64" }) // max value is 2^63 - 1 (9007199254740991)
|
|
173
|
+
,
|
|
174
|
+
__metadata("design:type", BigInt)
|
|
175
|
+
], LargeIntegerKey.prototype, "key", void 0);
|
|
176
|
+
LargeIntegerKey = __decorate([
|
|
177
|
+
variant(3),
|
|
178
|
+
__metadata("design:paramtypes", [BigInt])
|
|
179
|
+
], LargeIntegerKey);
|
|
180
|
+
export { LargeIntegerKey };
|
|
161
181
|
const idKeyTypes = new Set(["string", "number", "bigint"]);
|
|
182
|
+
const u64Max = 18446744073709551615n;
|
|
162
183
|
export const toId = (obj) => {
|
|
163
184
|
if (typeof obj === "string") {
|
|
164
185
|
return new StringKey(obj);
|
|
@@ -167,10 +188,13 @@ export const toId = (obj) => {
|
|
|
167
188
|
return new IntegerKey(obj);
|
|
168
189
|
}
|
|
169
190
|
if (typeof obj === "bigint") {
|
|
170
|
-
if (obj <=
|
|
171
|
-
return new
|
|
191
|
+
if (obj <= u64Max && obj >= 0n) {
|
|
192
|
+
return new LargeIntegerKey(obj);
|
|
172
193
|
}
|
|
173
|
-
throw new Error("BigInt is not less than 2^
|
|
194
|
+
throw new Error("BigInt is not less than 2^64 - 1. Max value is " +
|
|
195
|
+
(2 ** 64 - 1) +
|
|
196
|
+
". Provided value: " +
|
|
197
|
+
obj);
|
|
174
198
|
}
|
|
175
199
|
if (obj instanceof Uint8Array) {
|
|
176
200
|
return new Uint8ArrayKey(obj);
|
package/dist/src/id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACd,MAAM,cAAc,CAAC;AAEtB,MAAM,OAAgB,cAAc;CAAG;AAGhC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,cAAc;IAE9C,MAAM,CAAS;IAEf,YAAY,MAAc;QACzB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;CACD,CAAA;AANA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;2CACX;AAFH,WAAW;IADvB,OAAO,CAAC,CAAC,CAAC;;GACE,WAAW,CAQvB;;AAGM,IAAe,WAAW,GAA1B,MAAe,WAAY,SAAQ,cAAc;CAEvD,CAAA;AAFqB,WAAW;IADhC,OAAO,CAAC,CAAC,CAAC;GACW,WAAW,CAEhC;;AAGM,IAAe,YAAY,GAA3B,MAAe,YAAa,SAAQ,WAAW;CAAG,CAAA;AAAnC,YAAY;IADjC,OAAO,CAAC,CAAC,CAAC;GACW,YAAY,CAAuB;;AAGlD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,YAAY;IAErD,MAAM,CAAS;IAEf,YAAY,MAAc;QACzB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,UAAU,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD,CAAA;AAbA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;oDACR;AAFH,oBAAoB;IADhC,OAAO,CAAC,CAAC,CAAC;;GACE,oBAAoB,CAehC;;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,YAAY;IAExD,MAAM,CAAS;IAEf,YAAY,MAAc;QACzB,KAAK,EAAE,CAAC;QACR,IAAI,MAAM,GAAG,qBAAqB,IAAI,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
2
|
+
"name": "@peerbit/indexer-interface",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Indexer store interface",
|
|
5
|
+
"sideEffects": false,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"types": "./dist/src/index.d.ts",
|
|
8
|
+
"typesVersions": {
|
|
9
|
+
"*": {
|
|
10
|
+
"*": [
|
|
11
|
+
"*",
|
|
12
|
+
"dist/*",
|
|
13
|
+
"dist/src/*",
|
|
14
|
+
"dist/src/*/index"
|
|
15
|
+
],
|
|
16
|
+
"src/*": [
|
|
17
|
+
"*",
|
|
18
|
+
"dist/*",
|
|
19
|
+
"dist/src/*",
|
|
20
|
+
"dist/src/*/index"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"src",
|
|
26
|
+
"dist",
|
|
27
|
+
"!dist/e2e",
|
|
28
|
+
"!dist/test",
|
|
29
|
+
"!**/*.tsbuildinfo"
|
|
30
|
+
],
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"types": "./dist/src/index.d.ts",
|
|
34
|
+
"import": "./dist/src/index.js"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"eslintConfig": {
|
|
38
|
+
"extends": "peerbit",
|
|
39
|
+
"parserOptions": {
|
|
40
|
+
"project": true,
|
|
41
|
+
"sourceType": "module"
|
|
42
|
+
},
|
|
43
|
+
"ignorePatterns": [
|
|
44
|
+
"!.aegir.js",
|
|
45
|
+
"test/ts-use",
|
|
46
|
+
"*.d.ts"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"clean": "aegir clean",
|
|
54
|
+
"build": "aegir build --no-bundle",
|
|
55
|
+
"test": "aegir test",
|
|
56
|
+
"lint": "aegir lint"
|
|
57
|
+
},
|
|
58
|
+
"author": "dao.xyz",
|
|
59
|
+
"license": "MIT",
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"uuid": "^10.0.0",
|
|
62
|
+
"@dao-xyz/borsh": "^5.2.3",
|
|
63
|
+
"@peerbit/crypto": "^2.3.2"
|
|
64
|
+
}
|
|
65
65
|
}
|
package/src/id.ts
CHANGED
|
@@ -52,8 +52,8 @@ export class BigUnsignedIntegerValue extends IntegerValue {
|
|
|
52
52
|
|
|
53
53
|
constructor(number: bigint) {
|
|
54
54
|
super();
|
|
55
|
-
if (number > 18446744073709551615n || number <
|
|
56
|
-
throw new Error("Number is not
|
|
55
|
+
if (number > 18446744073709551615n || number < 0n) {
|
|
56
|
+
throw new Error("Number is not u64");
|
|
57
57
|
}
|
|
58
58
|
this.number = number;
|
|
59
59
|
}
|
|
@@ -129,10 +129,26 @@ export class IntegerKey extends IdKey {
|
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
+
@variant(3)
|
|
133
|
+
export class LargeIntegerKey extends IdKey {
|
|
134
|
+
@field({ type: "u64" }) // max value is 2^63 - 1 (9007199254740991)
|
|
135
|
+
key: bigint;
|
|
136
|
+
|
|
137
|
+
constructor(key: bigint) {
|
|
138
|
+
super();
|
|
139
|
+
this.key = key;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
get primitive() {
|
|
143
|
+
return this.key;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
132
147
|
export type Ideable = string | number | bigint | Uint8Array;
|
|
133
148
|
|
|
134
149
|
const idKeyTypes = new Set(["string", "number", "bigint"]);
|
|
135
150
|
|
|
151
|
+
const u64Max = 18446744073709551615n;
|
|
136
152
|
export const toId = (obj: Ideable): IdKey => {
|
|
137
153
|
if (typeof obj === "string") {
|
|
138
154
|
return new StringKey(obj);
|
|
@@ -141,11 +157,14 @@ export const toId = (obj: Ideable): IdKey => {
|
|
|
141
157
|
return new IntegerKey(obj);
|
|
142
158
|
}
|
|
143
159
|
if (typeof obj === "bigint") {
|
|
144
|
-
if (obj <=
|
|
145
|
-
return new
|
|
160
|
+
if (obj <= u64Max && obj >= 0n) {
|
|
161
|
+
return new LargeIntegerKey(obj);
|
|
146
162
|
}
|
|
147
163
|
throw new Error(
|
|
148
|
-
"BigInt is not less than 2^
|
|
164
|
+
"BigInt is not less than 2^64 - 1. Max value is " +
|
|
165
|
+
(2 ** 64 - 1) +
|
|
166
|
+
". Provided value: " +
|
|
167
|
+
obj,
|
|
149
168
|
);
|
|
150
169
|
}
|
|
151
170
|
if (obj instanceof Uint8Array) {
|