@polkadot-api/utils 0.1.2 → 1.0.0-canary
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/esm/AbortError.mjs.map +1 -1
- package/dist/esm/filterObject.mjs.map +1 -1
- package/dist/esm/hex.mjs.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/jsonPrint.mjs +8 -0
- package/dist/esm/jsonPrint.mjs.map +1 -0
- package/dist/esm/mapObject.mjs.map +1 -1
- package/dist/esm/mergeUint8.mjs +2 -1
- package/dist/esm/mergeUint8.mjs.map +1 -1
- package/dist/esm/noop.mjs.map +1 -1
- package/dist/index.d.ts +13 -2
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbortError.mjs","sources":["../../src/AbortError.ts"],"sourcesContent":["export class AbortError extends Error {\n constructor() {\n super(\"Abort Error\")\n this.name = \"AbortError\"\n }\n}\n"],"names":[],"mappings":"AAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"AbortError.mjs","sources":["../../src/AbortError.ts"],"sourcesContent":["export class AbortError extends Error {\n constructor() {\n super(\"Abort Error\")\n this.name = \"AbortError\"\n }\n}\n"],"names":[],"mappings":"AAAO,MAAM,mBAAmB,KAAA,CAAM;AAAA,EACpC,WAAA,GAAc;AACZ,IAAA,KAAA,CAAM,aAAa,CAAA;AACnB,IAAA,IAAA,CAAK,IAAA,GAAO,YAAA;AAAA,EACd;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterObject.mjs","sources":["../../src/filterObject.ts"],"sourcesContent":["export function filterObject<K extends string | number | symbol, I>(\n input: Record<K, I>,\n filterFn: (i: I, k: K) => boolean,\n): Record<K, I> {\n return Object.fromEntries(\n Object.entries(input).filter(([key, value]: any) => filterFn(value, key)),\n ) as any\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filterObject.mjs","sources":["../../src/filterObject.ts"],"sourcesContent":["export function filterObject<K extends string | number | symbol, I>(\n input: Record<K, I>,\n filterFn: (i: I, k: K) => boolean,\n): Record<K, I> {\n return Object.fromEntries(\n Object.entries(input).filter(([key, value]: any) => filterFn(value, key)),\n ) as any\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAA,CACd,OACA,QAAA,EACc;AACd,EAAA,OAAO,MAAA,CAAO,WAAA;AAAA,IACZ,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,MAAA,CAAO,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAW,QAAA,CAAS,KAAA,EAAO,GAAG,CAAC;AAAA,GAC1E;AACF;;;;"}
|
package/dist/esm/hex.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex.mjs","sources":["../../src/hex.ts"],"sourcesContent":["// https://jsben.ch/uWZw3\nconst HEX_STR = \"0123456789abcdef\"\nexport function toHex(bytes: Uint8Array): string {\n const result = new Array<string>(bytes.length + 1)\n\n result[0] = \"0x\"\n\n for (let i = 0; i < bytes.length; ) {\n const b = bytes[i++]\n result[i] = HEX_STR[b >> 4] + HEX_STR[b & 15]\n }\n\n return result.join(\"\")\n}\n\n// https://jsben.ch/URe1X\nconst HEX_MAP: Record<string, number> = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15,\n}\nexport function fromHex(hexString: string): Uint8Array {\n const isOdd = hexString.length % 2\n const base = (hexString[1] === \"x\" ? 2 : 0) + isOdd\n const nBytes = (hexString.length - base) / 2 + isOdd\n const bytes = new Uint8Array(nBytes)\n\n if (isOdd) bytes[0] = 0 | HEX_MAP[hexString[2]]\n\n for (let i = 0; i < nBytes; ) {\n const idx = base + i * 2\n const a = HEX_MAP[hexString[idx]]\n const b = HEX_MAP[hexString[idx + 1]]\n bytes[isOdd + i++] = (a << 4) | b\n }\n\n return bytes\n}\n"],"names":[],"mappings":"AACA,MAAM,
|
|
1
|
+
{"version":3,"file":"hex.mjs","sources":["../../src/hex.ts"],"sourcesContent":["// https://jsben.ch/uWZw3\nconst HEX_STR = \"0123456789abcdef\"\nexport function toHex(bytes: Uint8Array): string {\n const result = new Array<string>(bytes.length + 1)\n\n result[0] = \"0x\"\n\n for (let i = 0; i < bytes.length; ) {\n const b = bytes[i++]\n result[i] = HEX_STR[b >> 4] + HEX_STR[b & 15]\n }\n\n return result.join(\"\")\n}\n\n// https://jsben.ch/URe1X\nconst HEX_MAP: Record<string, number> = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15,\n}\nexport function fromHex(hexString: string): Uint8Array {\n const isOdd = hexString.length % 2\n const base = (hexString[1] === \"x\" ? 2 : 0) + isOdd\n const nBytes = (hexString.length - base) / 2 + isOdd\n const bytes = new Uint8Array(nBytes)\n\n if (isOdd) bytes[0] = 0 | HEX_MAP[hexString[2]]\n\n for (let i = 0; i < nBytes; ) {\n const idx = base + i * 2\n const a = HEX_MAP[hexString[idx]]\n const b = HEX_MAP[hexString[idx + 1]]\n bytes[isOdd + i++] = (a << 4) | b\n }\n\n return bytes\n}\n"],"names":[],"mappings":"AACA,MAAM,OAAA,GAAU,kBAAA;AACT,SAAS,MAAM,KAAA,EAA2B;AAC/C,EAAA,MAAM,MAAA,GAAS,IAAI,KAAA,CAAc,KAAA,CAAM,SAAS,CAAC,CAAA;AAEjD,EAAA,MAAA,CAAO,CAAC,CAAA,GAAI,IAAA;AAEZ,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,MAAA,IAAU;AAClC,IAAA,MAAM,CAAA,GAAI,MAAM,CAAA,EAAG,CAAA;AACnB,IAAA,MAAA,CAAO,CAAC,IAAI,OAAA,CAAQ,CAAA,IAAK,CAAC,CAAA,GAAI,OAAA,CAAQ,IAAI,EAAE,CAAA;AAAA,EAC9C;AAEA,EAAA,OAAO,MAAA,CAAO,KAAK,EAAE,CAAA;AACvB;AAGA,MAAM,OAAA,GAAkC;AAAA,EACtC,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,CAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG,EAAA;AAAA,EACH,CAAA,EAAG;AACL,CAAA;AACO,SAAS,QAAQ,SAAA,EAA+B;AACrD,EAAA,MAAM,KAAA,GAAQ,UAAU,MAAA,GAAS,CAAA;AACjC,EAAA,MAAM,QAAQ,SAAA,CAAU,CAAC,CAAA,KAAM,GAAA,GAAM,IAAI,CAAA,IAAK,KAAA;AAC9C,EAAA,MAAM,MAAA,GAAA,CAAU,SAAA,CAAU,MAAA,GAAS,IAAA,IAAQ,CAAA,GAAI,KAAA;AAC/C,EAAA,MAAM,KAAA,GAAQ,IAAI,UAAA,CAAW,MAAM,CAAA;AAEnC,EAAA,IAAI,KAAA,QAAa,CAAC,CAAA,GAAI,IAAI,OAAA,CAAQ,SAAA,CAAU,CAAC,CAAC,CAAA;AAE9C,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,MAAA,IAAU;AAC5B,IAAA,MAAM,GAAA,GAAM,OAAO,CAAA,GAAI,CAAA;AACvB,IAAA,MAAM,CAAA,GAAI,OAAA,CAAQ,SAAA,CAAU,GAAG,CAAC,CAAA;AAChC,IAAA,MAAM,CAAA,GAAI,OAAA,CAAQ,SAAA,CAAU,GAAA,GAAM,CAAC,CAAC,CAAA;AACpC,IAAA,KAAA,CAAM,KAAA,GAAQ,CAAA,EAAG,CAAA,GAAK,CAAA,IAAK,CAAA,GAAK,CAAA;AAAA,EAClC;AAEA,EAAA,OAAO,KAAA;AACT;;;;"}
|
package/dist/esm/index.mjs
CHANGED
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonPrint.mjs","sources":["../../src/jsonPrint.ts"],"sourcesContent":["export const jsonPrint = (value: any, indent = 2) =>\n JSON.stringify(\n value,\n (_, v) =>\n typeof v === \"bigint\"\n ? `${v}n`\n : typeof v === \"object\" && typeof v?.asHex === \"function\"\n ? v.asHex()\n : v,\n indent,\n )\n"],"names":[],"mappings":"AAAO,MAAM,SAAA,GAAY,CAAC,KAAA,EAAY,MAAA,GAAS,MAC7C,IAAA,CAAK,SAAA;AAAA,EACH,KAAA;AAAA,EACA,CAAC,CAAA,EAAG,CAAA,KACF,OAAO,CAAA,KAAM,QAAA,GACT,GAAG,CAAC,CAAA,CAAA,CAAA,GACJ,OAAO,CAAA,KAAM,YAAY,OAAO,CAAA,EAAG,UAAU,UAAA,GAC3C,CAAA,CAAE,OAAM,GACR,CAAA;AAAA,EACR;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapObject.mjs","sources":["../../src/mapObject.ts"],"sourcesContent":["export function mapObject<K extends string | number | symbol, I, O>(\n input: Record<K, I>,\n mapper: (i: I, k: K) => O,\n): Record<K, O>\n\nexport function mapObject<K extends string | number | symbol, I, O>(\n input: Record<K, I>,\n mapper: (i: I, k?: K) => O,\n): Record<K, O> {\n return Object.fromEntries(\n Object.entries(input).map(\n ([key, value]: any) => [key, mapper(value, key)] as const,\n ),\n ) as any\n}\n\nexport type StringRecord<T> = {\n [Sym: symbol]: never\n [Num: number]: never\n [Str: string]: T\n}\n\nexport const mapStringRecord = <I, O>(\n input: StringRecord<I>,\n mapper: (value: I, key: string) => O,\n): StringRecord<O> =>\n Object.fromEntries(\n Object.entries(input).map(([key, value]) => [key, mapper(value, key)]),\n ) as StringRecord<O>\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapObject.mjs","sources":["../../src/mapObject.ts"],"sourcesContent":["export function mapObject<K extends string | number | symbol, I, O>(\n input: Record<K, I>,\n mapper: (i: I, k: K) => O,\n): Record<K, O>\n\nexport function mapObject<K extends string | number | symbol, I, O>(\n input: Record<K, I>,\n mapper: (i: I, k?: K) => O,\n): Record<K, O> {\n return Object.fromEntries(\n Object.entries(input).map(\n ([key, value]: any) => [key, mapper(value, key)] as const,\n ),\n ) as any\n}\n\nexport type StringRecord<T> = {\n [Sym: symbol]: never\n [Num: number]: never\n [Str: string]: T\n}\n\nexport const mapStringRecord = <I, O>(\n input: StringRecord<I>,\n mapper: (value: I, key: string) => O,\n): StringRecord<O> =>\n Object.fromEntries(\n Object.entries(input).map(([key, value]) => [key, mapper(value, key)]),\n ) as StringRecord<O>\n"],"names":[],"mappings":"AAKO,SAAS,SAAA,CACd,OACA,MAAA,EACc;AACd,EAAA,OAAO,MAAA,CAAO,WAAA;AAAA,IACZ,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,GAAA;AAAA,MACpB,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAW,CAAC,GAAA,EAAK,MAAA,CAAO,KAAA,EAAO,GAAG,CAAC;AAAA;AACjD,GACF;AACF;AAQO,MAAM,eAAA,GAAkB,CAC7B,KAAA,EACA,MAAA,KAEA,MAAA,CAAO,WAAA;AAAA,EACL,OAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,GAAA,CAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM,CAAC,GAAA,EAAK,MAAA,CAAO,KAAA,EAAO,GAAG,CAAC,CAAC;AACvE;;;;"}
|
package/dist/esm/mergeUint8.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
const mergeUint8 = (...
|
|
1
|
+
const mergeUint8 = (...i) => {
|
|
2
|
+
const inputs = Array.isArray(i[0]) ? i[0] : i;
|
|
2
3
|
const totalLen = inputs.reduce((acc, a) => acc + a.byteLength, 0);
|
|
3
4
|
const result = new Uint8Array(totalLen);
|
|
4
5
|
for (let idx = 0, at = 0; idx < inputs.length; idx++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeUint8.mjs","sources":["../../src/mergeUint8.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"mergeUint8.mjs","sources":["../../src/mergeUint8.ts"],"sourcesContent":["// TODO: deprecate spread overload in papi v2\n\ninterface MergeUint8 {\n /**\n * @deprecated This overload will be removed in PAPI v2. Migrate as\n * follows:\n * mergeUint8(arr1, arr2) => mergeUint8([arr1, arr2])\n */\n (...inputs: Array<Uint8Array>): Uint8Array\n (inputs: Array<Uint8Array>): Uint8Array\n}\n\nexport const mergeUint8: MergeUint8 = (...i) => {\n const inputs = (Array.isArray(i[0]) ? i[0] : i) as Uint8Array[]\n const totalLen = inputs.reduce((acc, a) => acc + a.byteLength, 0)\n const result = new Uint8Array(totalLen)\n\n for (let idx = 0, at = 0; idx < inputs.length; idx++) {\n const current = inputs[idx]\n result.set(current, at)\n at += current.byteLength\n }\n\n return result\n}\n"],"names":[],"mappings":"AAYO,MAAM,UAAA,GAAyB,IAAI,CAAA,KAAM;AAC9C,EAAA,MAAM,MAAA,GAAU,MAAM,OAAA,CAAQ,CAAA,CAAE,CAAC,CAAC,CAAA,GAAI,CAAA,CAAE,CAAC,CAAA,GAAI,CAAA;AAC7C,EAAA,MAAM,QAAA,GAAW,OAAO,MAAA,CAAO,CAAC,KAAK,CAAA,KAAM,GAAA,GAAM,CAAA,CAAE,UAAA,EAAY,CAAC,CAAA;AAChE,EAAA,MAAM,MAAA,GAAS,IAAI,UAAA,CAAW,QAAQ,CAAA;AAEtC,EAAA,KAAA,IAAS,MAAM,CAAA,EAAG,EAAA,GAAK,GAAG,GAAA,GAAM,MAAA,CAAO,QAAQ,GAAA,EAAA,EAAO;AACpD,IAAA,MAAM,OAAA,GAAU,OAAO,GAAG,CAAA;AAC1B,IAAA,MAAA,CAAO,GAAA,CAAI,SAAS,EAAE,CAAA;AACtB,IAAA,EAAA,IAAM,OAAA,CAAQ,UAAA;AAAA,EAChB;AAEA,EAAA,OAAO,MAAA;AACT;;;;"}
|
package/dist/esm/noop.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noop.mjs","sources":["../../src/noop.ts"],"sourcesContent":["export const noop: () => void = Function.prototype as any\n"],"names":[],"mappings":"AAAO,MAAM,OAAmB,
|
|
1
|
+
{"version":3,"file":"noop.mjs","sources":["../../src/noop.ts"],"sourcesContent":["export const noop: () => void = Function.prototype as any\n"],"names":[],"mappings":"AAAO,MAAM,OAAmB,QAAA,CAAS;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,16 @@ declare const mapStringRecord: <I, O>(input: StringRecord<I>, mapper: (value: I,
|
|
|
11
11
|
|
|
12
12
|
declare function filterObject<K extends string | number | symbol, I>(input: Record<K, I>, filterFn: (i: I, k: K) => boolean): Record<K, I>;
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
interface MergeUint8 {
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated This overload will be removed in PAPI v2. Migrate as
|
|
17
|
+
* follows:
|
|
18
|
+
* mergeUint8(arr1, arr2) => mergeUint8([arr1, arr2])
|
|
19
|
+
*/
|
|
20
|
+
(...inputs: Array<Uint8Array>): Uint8Array;
|
|
21
|
+
(inputs: Array<Uint8Array>): Uint8Array;
|
|
22
|
+
}
|
|
23
|
+
declare const mergeUint8: MergeUint8;
|
|
15
24
|
|
|
16
25
|
declare const noop: () => void;
|
|
17
26
|
|
|
@@ -19,4 +28,6 @@ declare class AbortError extends Error {
|
|
|
19
28
|
constructor();
|
|
20
29
|
}
|
|
21
30
|
|
|
22
|
-
|
|
31
|
+
declare const jsonPrint: (value: any, indent?: number) => string;
|
|
32
|
+
|
|
33
|
+
export { AbortError, filterObject, fromHex, jsonPrint, mapObject, mapStringRecord, mergeUint8, noop, toHex };
|
package/dist/index.js
CHANGED
|
@@ -66,7 +66,8 @@ function filterObject(input, filterFn) {
|
|
|
66
66
|
);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
const mergeUint8 = (...
|
|
69
|
+
const mergeUint8 = (...i) => {
|
|
70
|
+
const inputs = Array.isArray(i[0]) ? i[0] : i;
|
|
70
71
|
const totalLen = inputs.reduce((acc, a) => acc + a.byteLength, 0);
|
|
71
72
|
const result = new Uint8Array(totalLen);
|
|
72
73
|
for (let idx = 0, at = 0; idx < inputs.length; idx++) {
|
|
@@ -86,9 +87,16 @@ class AbortError extends Error {
|
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
|
|
90
|
+
const jsonPrint = (value, indent = 2) => JSON.stringify(
|
|
91
|
+
value,
|
|
92
|
+
(_, v) => typeof v === "bigint" ? `${v}n` : typeof v === "object" && typeof v?.asHex === "function" ? v.asHex() : v,
|
|
93
|
+
indent
|
|
94
|
+
);
|
|
95
|
+
|
|
89
96
|
exports.AbortError = AbortError;
|
|
90
97
|
exports.filterObject = filterObject;
|
|
91
98
|
exports.fromHex = fromHex;
|
|
99
|
+
exports.jsonPrint = jsonPrint;
|
|
92
100
|
exports.mapObject = mapObject;
|
|
93
101
|
exports.mapStringRecord = mapStringRecord;
|
|
94
102
|
exports.mergeUint8 = mergeUint8;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/hex.ts","../src/mapObject.ts","../src/filterObject.ts","../src/mergeUint8.ts","../src/noop.ts","../src/AbortError.ts"],"sourcesContent":["// https://jsben.ch/uWZw3\nconst HEX_STR = \"0123456789abcdef\"\nexport function toHex(bytes: Uint8Array): string {\n const result = new Array<string>(bytes.length + 1)\n\n result[0] = \"0x\"\n\n for (let i = 0; i < bytes.length; ) {\n const b = bytes[i++]\n result[i] = HEX_STR[b >> 4] + HEX_STR[b & 15]\n }\n\n return result.join(\"\")\n}\n\n// https://jsben.ch/URe1X\nconst HEX_MAP: Record<string, number> = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15,\n}\nexport function fromHex(hexString: string): Uint8Array {\n const isOdd = hexString.length % 2\n const base = (hexString[1] === \"x\" ? 2 : 0) + isOdd\n const nBytes = (hexString.length - base) / 2 + isOdd\n const bytes = new Uint8Array(nBytes)\n\n if (isOdd) bytes[0] = 0 | HEX_MAP[hexString[2]]\n\n for (let i = 0; i < nBytes; ) {\n const idx = base + i * 2\n const a = HEX_MAP[hexString[idx]]\n const b = HEX_MAP[hexString[idx + 1]]\n bytes[isOdd + i++] = (a << 4) | b\n }\n\n return bytes\n}\n","export function mapObject<K extends string | number | symbol, I, O>(\n input: Record<K, I>,\n mapper: (i: I, k: K) => O,\n): Record<K, O>\n\nexport function mapObject<K extends string | number | symbol, I, O>(\n input: Record<K, I>,\n mapper: (i: I, k?: K) => O,\n): Record<K, O> {\n return Object.fromEntries(\n Object.entries(input).map(\n ([key, value]: any) => [key, mapper(value, key)] as const,\n ),\n ) as any\n}\n\nexport type StringRecord<T> = {\n [Sym: symbol]: never\n [Num: number]: never\n [Str: string]: T\n}\n\nexport const mapStringRecord = <I, O>(\n input: StringRecord<I>,\n mapper: (value: I, key: string) => O,\n): StringRecord<O> =>\n Object.fromEntries(\n Object.entries(input).map(([key, value]) => [key, mapper(value, key)]),\n ) as StringRecord<O>\n","export function filterObject<K extends string | number | symbol, I>(\n input: Record<K, I>,\n filterFn: (i: I, k: K) => boolean,\n): Record<K, I> {\n return Object.fromEntries(\n Object.entries(input).filter(([key, value]: any) => filterFn(value, key)),\n ) as any\n}\n","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/hex.ts","../src/mapObject.ts","../src/filterObject.ts","../src/mergeUint8.ts","../src/noop.ts","../src/AbortError.ts","../src/jsonPrint.ts"],"sourcesContent":["// https://jsben.ch/uWZw3\nconst HEX_STR = \"0123456789abcdef\"\nexport function toHex(bytes: Uint8Array): string {\n const result = new Array<string>(bytes.length + 1)\n\n result[0] = \"0x\"\n\n for (let i = 0; i < bytes.length; ) {\n const b = bytes[i++]\n result[i] = HEX_STR[b >> 4] + HEX_STR[b & 15]\n }\n\n return result.join(\"\")\n}\n\n// https://jsben.ch/URe1X\nconst HEX_MAP: Record<string, number> = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15,\n}\nexport function fromHex(hexString: string): Uint8Array {\n const isOdd = hexString.length % 2\n const base = (hexString[1] === \"x\" ? 2 : 0) + isOdd\n const nBytes = (hexString.length - base) / 2 + isOdd\n const bytes = new Uint8Array(nBytes)\n\n if (isOdd) bytes[0] = 0 | HEX_MAP[hexString[2]]\n\n for (let i = 0; i < nBytes; ) {\n const idx = base + i * 2\n const a = HEX_MAP[hexString[idx]]\n const b = HEX_MAP[hexString[idx + 1]]\n bytes[isOdd + i++] = (a << 4) | b\n }\n\n return bytes\n}\n","export function mapObject<K extends string | number | symbol, I, O>(\n input: Record<K, I>,\n mapper: (i: I, k: K) => O,\n): Record<K, O>\n\nexport function mapObject<K extends string | number | symbol, I, O>(\n input: Record<K, I>,\n mapper: (i: I, k?: K) => O,\n): Record<K, O> {\n return Object.fromEntries(\n Object.entries(input).map(\n ([key, value]: any) => [key, mapper(value, key)] as const,\n ),\n ) as any\n}\n\nexport type StringRecord<T> = {\n [Sym: symbol]: never\n [Num: number]: never\n [Str: string]: T\n}\n\nexport const mapStringRecord = <I, O>(\n input: StringRecord<I>,\n mapper: (value: I, key: string) => O,\n): StringRecord<O> =>\n Object.fromEntries(\n Object.entries(input).map(([key, value]) => [key, mapper(value, key)]),\n ) as StringRecord<O>\n","export function filterObject<K extends string | number | symbol, I>(\n input: Record<K, I>,\n filterFn: (i: I, k: K) => boolean,\n): Record<K, I> {\n return Object.fromEntries(\n Object.entries(input).filter(([key, value]: any) => filterFn(value, key)),\n ) as any\n}\n","// TODO: deprecate spread overload in papi v2\n\ninterface MergeUint8 {\n /**\n * @deprecated This overload will be removed in PAPI v2. Migrate as\n * follows:\n * mergeUint8(arr1, arr2) => mergeUint8([arr1, arr2])\n */\n (...inputs: Array<Uint8Array>): Uint8Array\n (inputs: Array<Uint8Array>): Uint8Array\n}\n\nexport const mergeUint8: MergeUint8 = (...i) => {\n const inputs = (Array.isArray(i[0]) ? i[0] : i) as Uint8Array[]\n const totalLen = inputs.reduce((acc, a) => acc + a.byteLength, 0)\n const result = new Uint8Array(totalLen)\n\n for (let idx = 0, at = 0; idx < inputs.length; idx++) {\n const current = inputs[idx]\n result.set(current, at)\n at += current.byteLength\n }\n\n return result\n}\n","export const noop: () => void = Function.prototype as any\n","export class AbortError extends Error {\n constructor() {\n super(\"Abort Error\")\n this.name = \"AbortError\"\n }\n}\n","export const jsonPrint = (value: any, indent = 2) =>\n JSON.stringify(\n value,\n (_, v) =>\n typeof v === \"bigint\"\n ? `${v}n`\n : typeof v === \"object\" && typeof v?.asHex === \"function\"\n ? v.asHex()\n : v,\n indent,\n )\n"],"names":[],"mappings":"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"}
|