@atproto/common-web 0.2.4 → 0.3.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/CHANGELOG.md +6 -0
- package/dist/arrays.d.ts +1 -0
- package/dist/arrays.d.ts.map +1 -0
- package/dist/arrays.js +22 -0
- package/dist/arrays.js.map +1 -0
- package/dist/async.d.ts +1 -0
- package/dist/async.d.ts.map +1 -0
- package/dist/async.js +187 -0
- package/dist/async.js.map +1 -0
- package/dist/check.d.ts +1 -0
- package/dist/check.d.ts.map +1 -0
- package/dist/check.js +16 -0
- package/dist/check.js.map +1 -0
- package/dist/did-doc.d.ts +1 -0
- package/dist/did-doc.d.ts.map +1 -0
- package/dist/did-doc.js +142 -0
- package/dist/did-doc.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -14274
- package/dist/index.js.map +1 -7
- package/dist/ipld.d.ts +1 -0
- package/dist/ipld.d.ts.map +1 -0
- package/dist/ipld.js +119 -0
- package/dist/ipld.js.map +1 -0
- package/dist/retry.d.ts +1 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +46 -0
- package/dist/retry.js.map +1 -0
- package/dist/strings.d.ts +1 -0
- package/dist/strings.d.ts.map +1 -0
- package/dist/strings.js +74 -0
- package/dist/strings.js.map +1 -0
- package/dist/tid.d.ts +1 -0
- package/dist/tid.d.ts.map +1 -0
- package/dist/tid.js +100 -0
- package/dist/tid.js.map +1 -0
- package/dist/times.d.ts +1 -0
- package/dist/times.d.ts.map +1 -0
- package/dist/times.js +19 -0
- package/dist/times.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +42 -0
- package/dist/types.js.map +1 -0
- package/dist/util.d.ts +1 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +114 -0
- package/dist/util.js.map +1 -0
- package/jest.config.js +3 -3
- package/package.json +7 -6
- package/tsconfig.build.json +6 -2
- package/tsconfig.json +5 -7
- package/tsconfig.tests.json +7 -0
- package/babel.config.js +0 -1
- package/build.js +0 -15
package/dist/ipld.d.ts
CHANGED
|
@@ -8,3 +8,4 @@ export type IpldValue = JsonValue | CID | Uint8Array | Array<IpldValue> | {
|
|
|
8
8
|
export declare const jsonToIpld: (val: JsonValue) => IpldValue;
|
|
9
9
|
export declare const ipldToJson: (val: IpldValue) => JsonValue;
|
|
10
10
|
export declare const ipldEquals: (a: IpldValue, b: IpldValue) => boolean;
|
|
11
|
+
//# sourceMappingURL=ipld.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipld.d.ts","sourceRoot":"","sources":["../src/ipld.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,GACT,OAAO,GACP,KAAK,CAAC,SAAS,CAAC,GAChB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAEhC,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,GAAG,GACH,UAAU,GACV,KAAK,CAAC,SAAS,CAAC,GAChB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAKhC,eAAO,MAAM,UAAU,QAAS,SAAS,KAAG,SAuB3C,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,SAAS,KAAG,SA4B3C,CAAA;AAED,eAAO,MAAM,UAAU,MAAO,SAAS,KAAK,SAAS,KAAG,OA2BvD,CAAA"}
|
package/dist/ipld.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.ipldEquals = exports.ipldToJson = exports.jsonToIpld = void 0;
|
|
27
|
+
const cid_1 = require("multiformats/cid");
|
|
28
|
+
const ui8 = __importStar(require("uint8arrays"));
|
|
29
|
+
// @NOTE avoiding use of check.is() here only because it makes
|
|
30
|
+
// these implementations slow, and they often live in hot paths.
|
|
31
|
+
const jsonToIpld = (val) => {
|
|
32
|
+
// walk arrays
|
|
33
|
+
if (Array.isArray(val)) {
|
|
34
|
+
return val.map((item) => (0, exports.jsonToIpld)(item));
|
|
35
|
+
}
|
|
36
|
+
// objects
|
|
37
|
+
if (val && typeof val === 'object') {
|
|
38
|
+
// check for dag json values
|
|
39
|
+
if (typeof val['$link'] === 'string' && Object.keys(val).length === 1) {
|
|
40
|
+
return cid_1.CID.parse(val['$link']);
|
|
41
|
+
}
|
|
42
|
+
if (typeof val['$bytes'] === 'string' && Object.keys(val).length === 1) {
|
|
43
|
+
return ui8.fromString(val['$bytes'], 'base64');
|
|
44
|
+
}
|
|
45
|
+
// walk plain objects
|
|
46
|
+
const toReturn = {};
|
|
47
|
+
for (const key of Object.keys(val)) {
|
|
48
|
+
toReturn[key] = (0, exports.jsonToIpld)(val[key]);
|
|
49
|
+
}
|
|
50
|
+
return toReturn;
|
|
51
|
+
}
|
|
52
|
+
// pass through
|
|
53
|
+
return val;
|
|
54
|
+
};
|
|
55
|
+
exports.jsonToIpld = jsonToIpld;
|
|
56
|
+
const ipldToJson = (val) => {
|
|
57
|
+
// walk arrays
|
|
58
|
+
if (Array.isArray(val)) {
|
|
59
|
+
return val.map((item) => (0, exports.ipldToJson)(item));
|
|
60
|
+
}
|
|
61
|
+
// objects
|
|
62
|
+
if (val && typeof val === 'object') {
|
|
63
|
+
// convert bytes
|
|
64
|
+
if (val instanceof Uint8Array) {
|
|
65
|
+
return {
|
|
66
|
+
$bytes: ui8.toString(val, 'base64'),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// convert cids
|
|
70
|
+
if (cid_1.CID.asCID(val)) {
|
|
71
|
+
return {
|
|
72
|
+
$link: val.toString(),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// walk plain objects
|
|
76
|
+
const toReturn = {};
|
|
77
|
+
for (const key of Object.keys(val)) {
|
|
78
|
+
toReturn[key] = (0, exports.ipldToJson)(val[key]);
|
|
79
|
+
}
|
|
80
|
+
return toReturn;
|
|
81
|
+
}
|
|
82
|
+
// pass through
|
|
83
|
+
return val;
|
|
84
|
+
};
|
|
85
|
+
exports.ipldToJson = ipldToJson;
|
|
86
|
+
const ipldEquals = (a, b) => {
|
|
87
|
+
// walk arrays
|
|
88
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
89
|
+
if (a.length !== b.length)
|
|
90
|
+
return false;
|
|
91
|
+
for (let i = 0; i < a.length; i++) {
|
|
92
|
+
if (!(0, exports.ipldEquals)(a[i], b[i]))
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
// objects
|
|
98
|
+
if (a && b && typeof a === 'object' && typeof b === 'object') {
|
|
99
|
+
// check bytes
|
|
100
|
+
if (a instanceof Uint8Array && b instanceof Uint8Array) {
|
|
101
|
+
return ui8.equals(a, b);
|
|
102
|
+
}
|
|
103
|
+
// check cids
|
|
104
|
+
if (cid_1.CID.asCID(a) && cid_1.CID.asCID(b)) {
|
|
105
|
+
return cid_1.CID.asCID(a)?.equals(cid_1.CID.asCID(b));
|
|
106
|
+
}
|
|
107
|
+
// walk plain objects
|
|
108
|
+
if (Object.keys(a).length !== Object.keys(b).length)
|
|
109
|
+
return false;
|
|
110
|
+
for (const key of Object.keys(a)) {
|
|
111
|
+
if (!(0, exports.ipldEquals)(a[key], b[key]))
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
return a === b;
|
|
117
|
+
};
|
|
118
|
+
exports.ipldEquals = ipldEquals;
|
|
119
|
+
//# sourceMappingURL=ipld.js.map
|
package/dist/ipld.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipld.js","sourceRoot":"","sources":["../src/ipld.ts"],"names":[],"mappings":"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"}
|
package/dist/retry.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACxC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;CACtC,CAAA;AAED,wBAAsB,KAAK,CAAC,CAAC,EAC3B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,CAAC,CAAC,CAsBZ;AAGD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAM,EAAE,GAAG,SAAO,UAIhE"}
|
package/dist/retry.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.backoffMs = exports.retry = void 0;
|
|
4
|
+
const util_1 = require("./util");
|
|
5
|
+
async function retry(fn, opts = {}) {
|
|
6
|
+
const { maxRetries = 3, retryable = () => true, getWaitMs = backoffMs } = opts;
|
|
7
|
+
let retries = 0;
|
|
8
|
+
let doneError;
|
|
9
|
+
while (!doneError) {
|
|
10
|
+
try {
|
|
11
|
+
return await fn();
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
const waitMs = getWaitMs(retries);
|
|
15
|
+
const willRetry = retries < maxRetries && waitMs !== null && retryable(err);
|
|
16
|
+
if (willRetry) {
|
|
17
|
+
retries += 1;
|
|
18
|
+
if (waitMs !== 0) {
|
|
19
|
+
await (0, util_1.wait)(waitMs);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
doneError = err;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
throw doneError;
|
|
28
|
+
}
|
|
29
|
+
exports.retry = retry;
|
|
30
|
+
// Waits exponential backoff with max and jitter: ~100, ~200, ~400, ~800, ~1000, ~1000, ...
|
|
31
|
+
function backoffMs(n, multiplier = 100, max = 1000) {
|
|
32
|
+
const exponentialMs = Math.pow(2, n) * multiplier;
|
|
33
|
+
const ms = Math.min(exponentialMs, max);
|
|
34
|
+
return jitter(ms);
|
|
35
|
+
}
|
|
36
|
+
exports.backoffMs = backoffMs;
|
|
37
|
+
// Adds randomness +/-15% of value
|
|
38
|
+
function jitter(value) {
|
|
39
|
+
const delta = value * 0.15;
|
|
40
|
+
return value + randomRange(-delta, delta);
|
|
41
|
+
}
|
|
42
|
+
function randomRange(from, to) {
|
|
43
|
+
const rand = Math.random() * (to - from);
|
|
44
|
+
return rand + from;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAQtB,KAAK,UAAU,KAAK,CACzB,EAAoB,EACpB,OAAqB,EAAE;IAEvB,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,IAAI,CAAA;IAC9E,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,SAAkB,CAAA;IACtB,OAAO,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAA;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;YACjC,MAAM,SAAS,GACb,OAAO,GAAG,UAAU,IAAI,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,CAAA;YAC3D,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,CAAA;gBACZ,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjB,MAAM,IAAA,WAAI,EAAC,MAAM,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,GAAG,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,SAAS,CAAA;AACjB,CAAC;AAzBD,sBAyBC;AAED,2FAA2F;AAC3F,SAAgB,SAAS,CAAC,CAAS,EAAE,UAAU,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI;IAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAA;IACjD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;IACvC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAA;AACnB,CAAC;AAJD,8BAIC;AAED,kCAAkC;AAClC,SAAS,MAAM,CAAC,KAAa;IAC3B,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAA;IAC1B,OAAO,KAAK,GAAG,WAAW,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,EAAU;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IACxC,OAAO,IAAI,GAAG,IAAI,CAAA;AACpB,CAAC"}
|
package/dist/strings.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,QAAS,MAAM,KAAG,MAErC,CAAA;AAGD,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,MAGzC,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,MAE3C,CAAA;AAED,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,MAE1C,CAAA;AAED,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,WAAW,GAAG,IAc7D,CAAA;AAED,eAAO,MAAM,gBAAgB,YAAa,MAAM,KAAG,OAElD,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA"}
|
package/dist/strings.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.validateLanguage = exports.parseLanguage = exports.b64UrlToUtf8 = exports.utf8ToB64Url = exports.graphemeLen = exports.utf8Len = void 0;
|
|
30
|
+
const graphemer_1 = __importDefault(require("graphemer"));
|
|
31
|
+
const ui8 = __importStar(require("uint8arrays"));
|
|
32
|
+
// counts the number of bytes in a utf8 string
|
|
33
|
+
const utf8Len = (str) => {
|
|
34
|
+
return new TextEncoder().encode(str).byteLength;
|
|
35
|
+
};
|
|
36
|
+
exports.utf8Len = utf8Len;
|
|
37
|
+
// counts the number of graphemes (user-displayed characters) in a string
|
|
38
|
+
const graphemeLen = (str) => {
|
|
39
|
+
const splitter = new graphemer_1.default();
|
|
40
|
+
return splitter.countGraphemes(str);
|
|
41
|
+
};
|
|
42
|
+
exports.graphemeLen = graphemeLen;
|
|
43
|
+
const utf8ToB64Url = (utf8) => {
|
|
44
|
+
return ui8.toString(ui8.fromString(utf8, 'utf8'), 'base64url');
|
|
45
|
+
};
|
|
46
|
+
exports.utf8ToB64Url = utf8ToB64Url;
|
|
47
|
+
const b64UrlToUtf8 = (b64) => {
|
|
48
|
+
return ui8.toString(ui8.fromString(b64, 'base64url'), 'utf8');
|
|
49
|
+
};
|
|
50
|
+
exports.b64UrlToUtf8 = b64UrlToUtf8;
|
|
51
|
+
const parseLanguage = (langTag) => {
|
|
52
|
+
const parsed = langTag.match(bcp47Regexp);
|
|
53
|
+
if (!parsed?.groups)
|
|
54
|
+
return null;
|
|
55
|
+
const parts = parsed.groups;
|
|
56
|
+
return {
|
|
57
|
+
grandfathered: parts.grandfathered,
|
|
58
|
+
language: parts.language,
|
|
59
|
+
extlang: parts.extlang,
|
|
60
|
+
script: parts.script,
|
|
61
|
+
region: parts.region,
|
|
62
|
+
variant: parts.variant,
|
|
63
|
+
extension: parts.extension,
|
|
64
|
+
privateUse: parts.privateUseA || parts.privateUseB,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
exports.parseLanguage = parseLanguage;
|
|
68
|
+
const validateLanguage = (langTag) => {
|
|
69
|
+
return bcp47Regexp.test(langTag);
|
|
70
|
+
};
|
|
71
|
+
exports.validateLanguage = validateLanguage;
|
|
72
|
+
// Validates well-formed BCP 47 syntax: https://www.rfc-editor.org/rfc/rfc5646.html#section-2.1
|
|
73
|
+
const bcp47Regexp = /^((?<grandfathered>(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang))|((?<language>([A-Za-z]{2,3}(-(?<extlang>[A-Za-z]{3}(-[A-Za-z]{3}){0,2}))?)|[A-Za-z]{4}|[A-Za-z]{5,8})(-(?<script>[A-Za-z]{4}))?(-(?<region>[A-Za-z]{2}|[0-9]{3}))?(-(?<variant>[A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-(?<extension>[0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+))*(-(?<privateUseA>x(-[A-Za-z0-9]{1,8})+))?)|(?<privateUseB>x(-[A-Za-z0-9]{1,8})+))$/;
|
|
74
|
+
//# sourceMappingURL=strings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAiC;AACjC,iDAAkC;AAElC,8CAA8C;AACvC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;IAC7C,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAA;AACjD,CAAC,CAAA;AAFY,QAAA,OAAO,WAEnB;AAED,yEAAyE;AAClE,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IACjD,MAAM,QAAQ,GAAG,IAAI,mBAAS,EAAE,CAAA;IAChC,OAAO,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;AACrC,CAAC,CAAA;AAHY,QAAA,WAAW,eAGvB;AAEM,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE;IACnD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAA;AAChE,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IAClD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAA;AAC/D,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,MAAM,aAAa,GAAG,CAAC,OAAe,EAAsB,EAAE;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,EAAE,MAAM;QAAE,OAAO,IAAI,CAAA;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAA;IAC3B,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW;KACnD,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,aAAa,iBAczB;AAEM,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAW,EAAE;IAC3D,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAClC,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B;AAaD,+FAA+F;AAC/F,MAAM,WAAW,GACf,mlBAAmlB,CAAA"}
|
package/dist/tid.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tid.d.ts","sourceRoot":"","sources":["../src/tid.ts"],"names":[],"mappings":"AAYA,qBAAa,GAAG;IACd,GAAG,EAAE,MAAM,CAAA;gBAEC,GAAG,EAAE,MAAM;IAQvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG;IAsB5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG;IAMxD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAIhC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM;IAI1C,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM;IAI1C,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI/B,SAAS,IAAI,MAAM;IAInB,OAAO,IAAI,MAAM;IAIjB,SAAS,IAAI,MAAM;IAQnB,QAAQ,IAAI,MAAM;IAKlB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAM7B,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAI3B,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAI9B,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;CAG/B;AAED,eAAe,GAAG,CAAA"}
|
package/dist/tid.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TID = void 0;
|
|
4
|
+
const util_1 = require("./util");
|
|
5
|
+
const TID_LEN = 13;
|
|
6
|
+
let lastTimestamp = 0;
|
|
7
|
+
let timestampCount = 0;
|
|
8
|
+
let clockid = null;
|
|
9
|
+
function dedash(str) {
|
|
10
|
+
return str.replaceAll('-', '');
|
|
11
|
+
}
|
|
12
|
+
class TID {
|
|
13
|
+
constructor(str) {
|
|
14
|
+
Object.defineProperty(this, "str", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true,
|
|
18
|
+
value: void 0
|
|
19
|
+
});
|
|
20
|
+
const noDashes = dedash(str);
|
|
21
|
+
if (noDashes.length !== TID_LEN) {
|
|
22
|
+
throw new Error(`Poorly formatted TID: ${noDashes.length} length`);
|
|
23
|
+
}
|
|
24
|
+
this.str = noDashes;
|
|
25
|
+
}
|
|
26
|
+
static next(prev) {
|
|
27
|
+
// javascript does not have microsecond precision
|
|
28
|
+
// instead, we append a counter to the timestamp to indicate if multiple timestamps were created within the same millisecond
|
|
29
|
+
// take max of current time & last timestamp to prevent tids moving backwards if system clock drifts backwards
|
|
30
|
+
const time = Math.max(Date.now(), lastTimestamp);
|
|
31
|
+
if (time === lastTimestamp) {
|
|
32
|
+
timestampCount++;
|
|
33
|
+
}
|
|
34
|
+
lastTimestamp = time;
|
|
35
|
+
const timestamp = time * 1000 + timestampCount;
|
|
36
|
+
// the bottom 32 clock ids can be randomized & are not guaranteed to be collision resistant
|
|
37
|
+
// we use the same clockid for all tids coming from this machine
|
|
38
|
+
if (clockid === null) {
|
|
39
|
+
clockid = Math.floor(Math.random() * 32);
|
|
40
|
+
}
|
|
41
|
+
const tid = TID.fromTime(timestamp, clockid);
|
|
42
|
+
if (!prev || tid.newerThan(prev)) {
|
|
43
|
+
return tid;
|
|
44
|
+
}
|
|
45
|
+
return TID.fromTime(prev.timestamp() + 1, clockid);
|
|
46
|
+
}
|
|
47
|
+
static nextStr(prev) {
|
|
48
|
+
return TID.next(prev ? new TID(prev) : undefined).toString();
|
|
49
|
+
}
|
|
50
|
+
static fromTime(timestamp, clockid) {
|
|
51
|
+
// base32 encode with encoding variant sort (s32)
|
|
52
|
+
const str = `${(0, util_1.s32encode)(timestamp)}${(0, util_1.s32encode)(clockid).padStart(2, '2')}`;
|
|
53
|
+
return new TID(str);
|
|
54
|
+
}
|
|
55
|
+
static fromStr(str) {
|
|
56
|
+
return new TID(str);
|
|
57
|
+
}
|
|
58
|
+
static oldestFirst(a, b) {
|
|
59
|
+
return a.compareTo(b);
|
|
60
|
+
}
|
|
61
|
+
static newestFirst(a, b) {
|
|
62
|
+
return b.compareTo(a);
|
|
63
|
+
}
|
|
64
|
+
static is(str) {
|
|
65
|
+
return dedash(str).length === TID_LEN;
|
|
66
|
+
}
|
|
67
|
+
timestamp() {
|
|
68
|
+
return (0, util_1.s32decode)(this.str.slice(0, 11));
|
|
69
|
+
}
|
|
70
|
+
clockid() {
|
|
71
|
+
return (0, util_1.s32decode)(this.str.slice(11, 13));
|
|
72
|
+
}
|
|
73
|
+
formatted() {
|
|
74
|
+
const str = this.toString();
|
|
75
|
+
return `${str.slice(0, 4)}-${str.slice(4, 7)}-${str.slice(7, 11)}-${str.slice(11, 13)}`;
|
|
76
|
+
}
|
|
77
|
+
toString() {
|
|
78
|
+
return this.str;
|
|
79
|
+
}
|
|
80
|
+
// newer > older
|
|
81
|
+
compareTo(other) {
|
|
82
|
+
if (this.str > other.str)
|
|
83
|
+
return 1;
|
|
84
|
+
if (this.str < other.str)
|
|
85
|
+
return -1;
|
|
86
|
+
return 0;
|
|
87
|
+
}
|
|
88
|
+
equals(other) {
|
|
89
|
+
return this.str === other.str;
|
|
90
|
+
}
|
|
91
|
+
newerThan(other) {
|
|
92
|
+
return this.compareTo(other) > 0;
|
|
93
|
+
}
|
|
94
|
+
olderThan(other) {
|
|
95
|
+
return this.compareTo(other) < 0;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.TID = TID;
|
|
99
|
+
exports.default = TID;
|
|
100
|
+
//# sourceMappingURL=tid.js.map
|
package/dist/tid.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tid.js","sourceRoot":"","sources":["../src/tid.ts"],"names":[],"mappings":"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"}
|
package/dist/times.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"times.d.ts","sourceRoot":"","sources":["../src/times.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,OAAO,CAAA;AAC1B,eAAO,MAAM,MAAM,QAAc,CAAA;AACjC,eAAO,MAAM,IAAI,QAAc,CAAA;AAC/B,eAAO,MAAM,GAAG,QAAY,CAAA;AAE5B,eAAO,MAAM,aAAa,SAAU,IAAI,SAAS,MAAM,YAEtD,CAAA;AAED,eAAO,MAAM,cAAc,UAAW,MAAM,iBAAiB,IAAI,KAAG,IAKnE,CAAA"}
|
package/dist/times.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addHoursToDate = exports.lessThanAgoMs = exports.DAY = exports.HOUR = exports.MINUTE = exports.SECOND = void 0;
|
|
4
|
+
exports.SECOND = 1000;
|
|
5
|
+
exports.MINUTE = exports.SECOND * 60;
|
|
6
|
+
exports.HOUR = exports.MINUTE * 60;
|
|
7
|
+
exports.DAY = exports.HOUR * 24;
|
|
8
|
+
const lessThanAgoMs = (time, range) => {
|
|
9
|
+
return Date.now() < time.getTime() + range;
|
|
10
|
+
};
|
|
11
|
+
exports.lessThanAgoMs = lessThanAgoMs;
|
|
12
|
+
const addHoursToDate = (hours, startingDate) => {
|
|
13
|
+
// When date is passed, clone before calling `setHours()` so that we are not mutating the original date
|
|
14
|
+
const currentDate = startingDate ? new Date(startingDate) : new Date();
|
|
15
|
+
currentDate.setHours(currentDate.getHours() + hours);
|
|
16
|
+
return currentDate;
|
|
17
|
+
};
|
|
18
|
+
exports.addHoursToDate = addHoursToDate;
|
|
19
|
+
//# sourceMappingURL=times.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"times.js","sourceRoot":"","sources":["../src/times.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG,IAAI,CAAA;AACb,QAAA,MAAM,GAAG,cAAM,GAAG,EAAE,CAAA;AACpB,QAAA,IAAI,GAAG,cAAM,GAAG,EAAE,CAAA;AAClB,QAAA,GAAG,GAAG,YAAI,GAAG,EAAE,CAAA;AAErB,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,KAAa,EAAE,EAAE;IACzD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAA;AAC5C,CAAC,CAAA;AAFY,QAAA,aAAa,iBAEzB;AAEM,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,YAAmB,EAAQ,EAAE;IACzE,uGAAuG;IACvG,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAA;IACtE,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAA;IACpD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AALY,QAAA,cAAc,kBAK1B"}
|
package/dist/types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAS7B,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAA;AAED,eAAO,MAAM,GAAG;;;;;;CAqBf,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAEnE,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.def = exports.schema = void 0;
|
|
4
|
+
const cid_1 = require("multiformats/cid");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const cidSchema = zod_1.z
|
|
7
|
+
.any()
|
|
8
|
+
.refine((obj) => cid_1.CID.asCID(obj) !== null, {
|
|
9
|
+
message: 'Not a CID',
|
|
10
|
+
})
|
|
11
|
+
.transform((obj) => cid_1.CID.asCID(obj));
|
|
12
|
+
exports.schema = {
|
|
13
|
+
cid: cidSchema,
|
|
14
|
+
bytes: zod_1.z.instanceof(Uint8Array),
|
|
15
|
+
string: zod_1.z.string(),
|
|
16
|
+
array: zod_1.z.array(zod_1.z.unknown()),
|
|
17
|
+
map: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()),
|
|
18
|
+
unknown: zod_1.z.unknown(),
|
|
19
|
+
};
|
|
20
|
+
exports.def = {
|
|
21
|
+
cid: {
|
|
22
|
+
name: 'cid',
|
|
23
|
+
schema: exports.schema.cid,
|
|
24
|
+
},
|
|
25
|
+
bytes: {
|
|
26
|
+
name: 'bytes',
|
|
27
|
+
schema: exports.schema.bytes,
|
|
28
|
+
},
|
|
29
|
+
string: {
|
|
30
|
+
name: 'string',
|
|
31
|
+
schema: exports.schema.string,
|
|
32
|
+
},
|
|
33
|
+
map: {
|
|
34
|
+
name: 'map',
|
|
35
|
+
schema: exports.schema.map,
|
|
36
|
+
},
|
|
37
|
+
unknown: {
|
|
38
|
+
name: 'unknown',
|
|
39
|
+
schema: exports.schema.unknown,
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,6BAAuB;AAGvB,MAAM,SAAS,GAAG,OAAC;KAChB,GAAG,EAAE;KACL,MAAM,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,SAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;IACjD,OAAO,EAAE,WAAW;CACrB,CAAC;KACD,SAAS,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,SAAG,CAAC,KAAK,CAAC,GAAG,CAAQ,CAAC,CAAA;AAExC,QAAA,MAAM,GAAG;IACpB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,OAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IAC/B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;IAC3B,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC;IACtC,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;CACrB,CAAA;AAEY,QAAA,GAAG,GAAG;IACjB,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,cAAM,CAAC,GAAG;KACP;IACb,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,cAAM,CAAC,KAAK;KACF;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,cAAM,CAAC,MAAM;KACP;IAChB,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,cAAM,CAAC,GAAG;KACa;IACjC,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,cAAM,CAAC,OAAO;KACP;CAClB,CAAA"}
|
package/dist/util.d.ts
CHANGED
|
@@ -18,3 +18,4 @@ export declare const chunkArray: <T>(arr: T[], chunkSize: number) => T[][];
|
|
|
18
18
|
export declare const range: (num: number) => number[];
|
|
19
19
|
export declare const dedupeStrs: (strs: string[]) => string[];
|
|
20
20
|
export declare const parseIntWithFallback: <T>(value: string | undefined, fallback: T) => number | T;
|
|
21
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA,eAAO,MAAM,eAAe,8DAS3B,CAAA;AAED,eAAO,MAAM,MAAM,UAAW,MAAM,WAEnC,CAAA;AAED,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAE9B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,YAAY,OAAQ,MAAM,KAAG,YAUzC,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAU,UAAU,EAAE,KAAG,UAWvD,CAAA;AAED,eAAO,MAAM,cAAc,WACjB,cAAc,UAAU,CAAC,KAChC,QAAQ,UAAU,CAMpB,CAAA;AAID,eAAO,MAAM,SAAS,MAAO,MAAM,KAAG,MAQrC,CAAA;AAED,eAAO,MAAM,SAAS,MAAO,MAAM,KAAG,MAMrC,CAAA;AAED,eAAO,MAAM,WAAW,8BAER,QAAQ,OAAO,CAAC,iBAI/B,CAAA;AAED,eAAO,MAAM,gBAAgB,QACtB,OAAO,iCAGb,CAAA;AAED,eAAO,MAAM,SAAS,QAAS,OAAO,OAAO,MAAM,KAAG,OAErD,CAAA;AAED,eAAO,MAAM,UAAU,2BAA4B,MAAM,UASxD,CAAA;AAED,eAAO,MAAM,KAAK,QAAS,MAAM,KAAG,MAAM,EAMzC,CAAA;AAED,eAAO,MAAM,UAAU,SAAU,MAAM,EAAE,KAAG,MAAM,EAEjD,CAAA;AAED,eAAO,MAAM,oBAAoB,aACxB,MAAM,GAAG,SAAS,4BAK1B,CAAA"}
|
package/dist/util.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseIntWithFallback = exports.dedupeStrs = exports.range = exports.chunkArray = exports.errHasMsg = exports.isErrnoException = exports.asyncFilter = exports.s32decode = exports.s32encode = exports.streamToBuffer = exports.flattenUint8Arrays = exports.bailableWait = exports.wait = exports.jitter = exports.noUndefinedVals = void 0;
|
|
4
|
+
const noUndefinedVals = (obj) => {
|
|
5
|
+
Object.keys(obj).forEach((k) => {
|
|
6
|
+
if (obj[k] === undefined) {
|
|
7
|
+
delete obj[k];
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
return obj;
|
|
11
|
+
};
|
|
12
|
+
exports.noUndefinedVals = noUndefinedVals;
|
|
13
|
+
const jitter = (maxMs) => {
|
|
14
|
+
return Math.round((Math.random() - 0.5) * maxMs * 2);
|
|
15
|
+
};
|
|
16
|
+
exports.jitter = jitter;
|
|
17
|
+
const wait = (ms) => {
|
|
18
|
+
return new Promise((res) => setTimeout(res, ms));
|
|
19
|
+
};
|
|
20
|
+
exports.wait = wait;
|
|
21
|
+
const bailableWait = (ms) => {
|
|
22
|
+
let bail;
|
|
23
|
+
const waitPromise = new Promise((res) => {
|
|
24
|
+
const timeout = setTimeout(res, ms);
|
|
25
|
+
bail = () => {
|
|
26
|
+
clearTimeout(timeout);
|
|
27
|
+
res();
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
return { bail, wait: () => waitPromise };
|
|
31
|
+
};
|
|
32
|
+
exports.bailableWait = bailableWait;
|
|
33
|
+
const flattenUint8Arrays = (arrs) => {
|
|
34
|
+
const length = arrs.reduce((acc, cur) => {
|
|
35
|
+
return acc + cur.length;
|
|
36
|
+
}, 0);
|
|
37
|
+
const flattened = new Uint8Array(length);
|
|
38
|
+
let offset = 0;
|
|
39
|
+
arrs.forEach((arr) => {
|
|
40
|
+
flattened.set(arr, offset);
|
|
41
|
+
offset += arr.length;
|
|
42
|
+
});
|
|
43
|
+
return flattened;
|
|
44
|
+
};
|
|
45
|
+
exports.flattenUint8Arrays = flattenUint8Arrays;
|
|
46
|
+
const streamToBuffer = async (stream) => {
|
|
47
|
+
const arrays = [];
|
|
48
|
+
for await (const chunk of stream) {
|
|
49
|
+
arrays.push(chunk);
|
|
50
|
+
}
|
|
51
|
+
return (0, exports.flattenUint8Arrays)(arrays);
|
|
52
|
+
};
|
|
53
|
+
exports.streamToBuffer = streamToBuffer;
|
|
54
|
+
const S32_CHAR = '234567abcdefghijklmnopqrstuvwxyz';
|
|
55
|
+
const s32encode = (i) => {
|
|
56
|
+
let s = '';
|
|
57
|
+
while (i) {
|
|
58
|
+
const c = i % 32;
|
|
59
|
+
i = Math.floor(i / 32);
|
|
60
|
+
s = S32_CHAR.charAt(c) + s;
|
|
61
|
+
}
|
|
62
|
+
return s;
|
|
63
|
+
};
|
|
64
|
+
exports.s32encode = s32encode;
|
|
65
|
+
const s32decode = (s) => {
|
|
66
|
+
let i = 0;
|
|
67
|
+
for (const c of s) {
|
|
68
|
+
i = i * 32 + S32_CHAR.indexOf(c);
|
|
69
|
+
}
|
|
70
|
+
return i;
|
|
71
|
+
};
|
|
72
|
+
exports.s32decode = s32decode;
|
|
73
|
+
const asyncFilter = async (arr, fn) => {
|
|
74
|
+
const results = await Promise.all(arr.map((t) => fn(t)));
|
|
75
|
+
return arr.filter((_, i) => results[i]);
|
|
76
|
+
};
|
|
77
|
+
exports.asyncFilter = asyncFilter;
|
|
78
|
+
const isErrnoException = (err) => {
|
|
79
|
+
return !!err && err['code'];
|
|
80
|
+
};
|
|
81
|
+
exports.isErrnoException = isErrnoException;
|
|
82
|
+
const errHasMsg = (err, msg) => {
|
|
83
|
+
return !!err && typeof err === 'object' && err['message'] === msg;
|
|
84
|
+
};
|
|
85
|
+
exports.errHasMsg = errHasMsg;
|
|
86
|
+
const chunkArray = (arr, chunkSize) => {
|
|
87
|
+
return arr.reduce((acc, cur, i) => {
|
|
88
|
+
const chunkI = Math.floor(i / chunkSize);
|
|
89
|
+
if (!acc[chunkI]) {
|
|
90
|
+
acc[chunkI] = [];
|
|
91
|
+
}
|
|
92
|
+
acc[chunkI].push(cur);
|
|
93
|
+
return acc;
|
|
94
|
+
}, []);
|
|
95
|
+
};
|
|
96
|
+
exports.chunkArray = chunkArray;
|
|
97
|
+
const range = (num) => {
|
|
98
|
+
const nums = [];
|
|
99
|
+
for (let i = 0; i < num; i++) {
|
|
100
|
+
nums.push(i);
|
|
101
|
+
}
|
|
102
|
+
return nums;
|
|
103
|
+
};
|
|
104
|
+
exports.range = range;
|
|
105
|
+
const dedupeStrs = (strs) => {
|
|
106
|
+
return [...new Set(strs)];
|
|
107
|
+
};
|
|
108
|
+
exports.dedupeStrs = dedupeStrs;
|
|
109
|
+
const parseIntWithFallback = (value, fallback) => {
|
|
110
|
+
const parsed = parseInt(value || '', 10);
|
|
111
|
+
return isNaN(parsed) ? fallback : parsed;
|
|
112
|
+
};
|
|
113
|
+
exports.parseIntWithFallback = parseIntWithFallback;
|
|
114
|
+
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/jest.config.js
CHANGED