@polkadot-api/utils 0.0.1 → 0.1.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/index.d.mts CHANGED
@@ -9,6 +9,8 @@ type StringRecord<T> = {
9
9
  };
10
10
  declare const mapStringRecord: <I, O>(input: StringRecord<I>, mapper: (value: I, key: string) => O) => StringRecord<O>;
11
11
 
12
+ declare function filterObject<K extends string | number | symbol, I>(input: Record<K, I>, filterFn: (i: I, k: K) => boolean): Record<K, I>;
13
+
12
14
  declare const mergeUint8: (...inputs: Array<Uint8Array>) => Uint8Array;
13
15
 
14
16
  declare const noop: () => void;
@@ -17,4 +19,4 @@ declare class AbortError extends Error {
17
19
  constructor();
18
20
  }
19
21
 
20
- export { AbortError, fromHex, mapObject, mapStringRecord, mergeUint8, noop, toHex };
22
+ export { AbortError, filterObject, fromHex, mapObject, mapStringRecord, mergeUint8, noop, toHex };
package/dist/index.d.ts CHANGED
@@ -9,6 +9,8 @@ type StringRecord<T> = {
9
9
  };
10
10
  declare const mapStringRecord: <I, O>(input: StringRecord<I>, mapper: (value: I, key: string) => O) => StringRecord<O>;
11
11
 
12
+ declare function filterObject<K extends string | number | symbol, I>(input: Record<K, I>, filterFn: (i: I, k: K) => boolean): Record<K, I>;
13
+
12
14
  declare const mergeUint8: (...inputs: Array<Uint8Array>) => Uint8Array;
13
15
 
14
16
  declare const noop: () => void;
@@ -17,4 +19,4 @@ declare class AbortError extends Error {
17
19
  constructor();
18
20
  }
19
21
 
20
- export { AbortError, fromHex, mapObject, mapStringRecord, mergeUint8, noop, toHex };
22
+ export { AbortError, filterObject, fromHex, mapObject, mapStringRecord, mergeUint8, noop, toHex };
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
23
  AbortError: () => AbortError,
24
+ filterObject: () => filterObject,
24
25
  fromHex: () => fromHex,
25
26
  mapObject: () => mapObject,
26
27
  mapStringRecord: () => mapStringRecord,
@@ -93,6 +94,13 @@ var mapStringRecord = (input, mapper) => Object.fromEntries(
93
94
  Object.entries(input).map(([key, value]) => [key, mapper(value, key)])
94
95
  );
95
96
 
97
+ // src/filterObject.ts
98
+ function filterObject(input, filterFn) {
99
+ return Object.fromEntries(
100
+ Object.entries(input).filter(([key, value]) => filterFn(value, key))
101
+ );
102
+ }
103
+
96
104
  // src/mergeUint8.ts
97
105
  var mergeUint8 = (...inputs) => {
98
106
  const totalLen = inputs.reduce((acc, a) => acc + a.byteLength, 0);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/hex.ts","../src/mapObject.ts","../src/mergeUint8.ts","../src/noop.ts","../src/AbortError.ts"],"sourcesContent":["export { fromHex, toHex } from \"./hex\"\nexport { mapObject, mapStringRecord } from \"./mapObject\"\nexport { mergeUint8 } from \"./mergeUint8\"\nexport { noop } from \"./noop\"\nexport { AbortError } from \"./AbortError\"\n","// 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 const mergeUint8 = (...inputs: Array<Uint8Array>): 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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,IAAM,UAAU;AACT,SAAS,MAAM,OAA2B;AAC/C,QAAM,SAAS,IAAI,MAAc,MAAM,SAAS,CAAC;AAEjD,SAAO,CAAC,IAAI;AAEZ,WAAS,IAAI,GAAG,IAAI,MAAM,UAAU;AAClC,UAAM,IAAI,MAAM,GAAG;AACnB,WAAO,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,IAAI,EAAE;AAAA,EAC9C;AAEA,SAAO,OAAO,KAAK,EAAE;AACvB;AAGA,IAAM,UAAkC;AAAA,EACtC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AACO,SAAS,QAAQ,WAA+B;AACrD,QAAM,QAAQ,UAAU,SAAS;AACjC,QAAM,QAAQ,UAAU,CAAC,MAAM,MAAM,IAAI,KAAK;AAC9C,QAAM,UAAU,UAAU,SAAS,QAAQ,IAAI;AAC/C,QAAM,QAAQ,IAAI,WAAW,MAAM;AAEnC,MAAI;AAAO,UAAM,CAAC,IAAI,IAAI,QAAQ,UAAU,CAAC,CAAC;AAE9C,WAAS,IAAI,GAAG,IAAI,UAAU;AAC5B,UAAM,MAAM,OAAO,IAAI;AACvB,UAAM,IAAI,QAAQ,UAAU,GAAG,CAAC;AAChC,UAAM,IAAI,QAAQ,UAAU,MAAM,CAAC,CAAC;AACpC,UAAM,QAAQ,GAAG,IAAK,KAAK,IAAK;AAAA,EAClC;AAEA,SAAO;AACT;;;ACnDO,SAAS,UACd,OACA,QACc;AACd,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,KAAK,EAAE;AAAA,MACpB,CAAC,CAAC,KAAK,KAAK,MAAW,CAAC,KAAK,OAAO,OAAO,GAAG,CAAC;AAAA,IACjD;AAAA,EACF;AACF;AAQO,IAAM,kBAAkB,CAC7B,OACA,WAEA,OAAO;AAAA,EACL,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,OAAO,OAAO,GAAG,CAAC,CAAC;AACvE;;;AC5BK,IAAM,aAAa,IAAI,WAA0C;AACtE,QAAM,WAAW,OAAO,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,YAAY,CAAC;AAChE,QAAM,SAAS,IAAI,WAAW,QAAQ;AAEtC,WAAS,MAAM,GAAG,KAAK,GAAG,MAAM,OAAO,QAAQ,OAAO;AACpD,UAAM,UAAU,OAAO,GAAG;AAC1B,WAAO,IAAI,SAAS,EAAE;AACtB,UAAM,QAAQ;AAAA,EAChB;AAEA,SAAO;AACT;;;ACXO,IAAM,OAAmB,SAAS;;;ACAlC,IAAM,aAAN,cAAyB,MAAM;AAAA,EACpC,cAAc;AACZ,UAAM,aAAa;AACnB,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/hex.ts","../src/mapObject.ts","../src/filterObject.ts","../src/mergeUint8.ts","../src/noop.ts","../src/AbortError.ts"],"sourcesContent":["export { fromHex, toHex } from \"./hex\"\nexport { mapObject, mapStringRecord } from \"./mapObject\"\nexport { filterObject } from \"./filterObject\"\nexport { mergeUint8 } from \"./mergeUint8\"\nexport { noop } from \"./noop\"\nexport { AbortError } from \"./AbortError\"\n","// 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","export const mergeUint8 = (...inputs: Array<Uint8Array>): 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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,IAAM,UAAU;AACT,SAAS,MAAM,OAA2B;AAC/C,QAAM,SAAS,IAAI,MAAc,MAAM,SAAS,CAAC;AAEjD,SAAO,CAAC,IAAI;AAEZ,WAAS,IAAI,GAAG,IAAI,MAAM,UAAU;AAClC,UAAM,IAAI,MAAM,GAAG;AACnB,WAAO,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,IAAI,EAAE;AAAA,EAC9C;AAEA,SAAO,OAAO,KAAK,EAAE;AACvB;AAGA,IAAM,UAAkC;AAAA,EACtC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AACO,SAAS,QAAQ,WAA+B;AACrD,QAAM,QAAQ,UAAU,SAAS;AACjC,QAAM,QAAQ,UAAU,CAAC,MAAM,MAAM,IAAI,KAAK;AAC9C,QAAM,UAAU,UAAU,SAAS,QAAQ,IAAI;AAC/C,QAAM,QAAQ,IAAI,WAAW,MAAM;AAEnC,MAAI;AAAO,UAAM,CAAC,IAAI,IAAI,QAAQ,UAAU,CAAC,CAAC;AAE9C,WAAS,IAAI,GAAG,IAAI,UAAU;AAC5B,UAAM,MAAM,OAAO,IAAI;AACvB,UAAM,IAAI,QAAQ,UAAU,GAAG,CAAC;AAChC,UAAM,IAAI,QAAQ,UAAU,MAAM,CAAC,CAAC;AACpC,UAAM,QAAQ,GAAG,IAAK,KAAK,IAAK;AAAA,EAClC;AAEA,SAAO;AACT;;;ACnDO,SAAS,UACd,OACA,QACc;AACd,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,KAAK,EAAE;AAAA,MACpB,CAAC,CAAC,KAAK,KAAK,MAAW,CAAC,KAAK,OAAO,OAAO,GAAG,CAAC;AAAA,IACjD;AAAA,EACF;AACF;AAQO,IAAM,kBAAkB,CAC7B,OACA,WAEA,OAAO;AAAA,EACL,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,OAAO,OAAO,GAAG,CAAC,CAAC;AACvE;;;AC5BK,SAAS,aACd,OACA,UACc;AACd,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,MAAW,SAAS,OAAO,GAAG,CAAC;AAAA,EAC1E;AACF;;;ACPO,IAAM,aAAa,IAAI,WAA0C;AACtE,QAAM,WAAW,OAAO,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,YAAY,CAAC;AAChE,QAAM,SAAS,IAAI,WAAW,QAAQ;AAEtC,WAAS,MAAM,GAAG,KAAK,GAAG,MAAM,OAAO,QAAQ,OAAO;AACpD,UAAM,UAAU,OAAO,GAAG;AAC1B,WAAO,IAAI,SAAS,EAAE;AACtB,UAAM,QAAQ;AAAA,EAChB;AAEA,SAAO;AACT;;;ACXO,IAAM,OAAmB,SAAS;;;ACAlC,IAAM,aAAN,cAAyB,MAAM;AAAA,EACpC,cAAc;AACZ,UAAM,aAAa;AACnB,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
package/dist/index.mjs CHANGED
@@ -61,6 +61,13 @@ var mapStringRecord = (input, mapper) => Object.fromEntries(
61
61
  Object.entries(input).map(([key, value]) => [key, mapper(value, key)])
62
62
  );
63
63
 
64
+ // src/filterObject.ts
65
+ function filterObject(input, filterFn) {
66
+ return Object.fromEntries(
67
+ Object.entries(input).filter(([key, value]) => filterFn(value, key))
68
+ );
69
+ }
70
+
64
71
  // src/mergeUint8.ts
65
72
  var mergeUint8 = (...inputs) => {
66
73
  const totalLen = inputs.reduce((acc, a) => acc + a.byteLength, 0);
@@ -85,6 +92,7 @@ var AbortError = class extends Error {
85
92
  };
86
93
  export {
87
94
  AbortError,
95
+ filterObject,
88
96
  fromHex,
89
97
  mapObject,
90
98
  mapStringRecord,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hex.ts","../src/mapObject.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 const mergeUint8 = (...inputs: Array<Uint8Array>): 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"],"mappings":";AACA,IAAM,UAAU;AACT,SAAS,MAAM,OAA2B;AAC/C,QAAM,SAAS,IAAI,MAAc,MAAM,SAAS,CAAC;AAEjD,SAAO,CAAC,IAAI;AAEZ,WAAS,IAAI,GAAG,IAAI,MAAM,UAAU;AAClC,UAAM,IAAI,MAAM,GAAG;AACnB,WAAO,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,IAAI,EAAE;AAAA,EAC9C;AAEA,SAAO,OAAO,KAAK,EAAE;AACvB;AAGA,IAAM,UAAkC;AAAA,EACtC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AACO,SAAS,QAAQ,WAA+B;AACrD,QAAM,QAAQ,UAAU,SAAS;AACjC,QAAM,QAAQ,UAAU,CAAC,MAAM,MAAM,IAAI,KAAK;AAC9C,QAAM,UAAU,UAAU,SAAS,QAAQ,IAAI;AAC/C,QAAM,QAAQ,IAAI,WAAW,MAAM;AAEnC,MAAI;AAAO,UAAM,CAAC,IAAI,IAAI,QAAQ,UAAU,CAAC,CAAC;AAE9C,WAAS,IAAI,GAAG,IAAI,UAAU;AAC5B,UAAM,MAAM,OAAO,IAAI;AACvB,UAAM,IAAI,QAAQ,UAAU,GAAG,CAAC;AAChC,UAAM,IAAI,QAAQ,UAAU,MAAM,CAAC,CAAC;AACpC,UAAM,QAAQ,GAAG,IAAK,KAAK,IAAK;AAAA,EAClC;AAEA,SAAO;AACT;;;ACnDO,SAAS,UACd,OACA,QACc;AACd,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,KAAK,EAAE;AAAA,MACpB,CAAC,CAAC,KAAK,KAAK,MAAW,CAAC,KAAK,OAAO,OAAO,GAAG,CAAC;AAAA,IACjD;AAAA,EACF;AACF;AAQO,IAAM,kBAAkB,CAC7B,OACA,WAEA,OAAO;AAAA,EACL,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,OAAO,OAAO,GAAG,CAAC,CAAC;AACvE;;;AC5BK,IAAM,aAAa,IAAI,WAA0C;AACtE,QAAM,WAAW,OAAO,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,YAAY,CAAC;AAChE,QAAM,SAAS,IAAI,WAAW,QAAQ;AAEtC,WAAS,MAAM,GAAG,KAAK,GAAG,MAAM,OAAO,QAAQ,OAAO;AACpD,UAAM,UAAU,OAAO,GAAG;AAC1B,WAAO,IAAI,SAAS,EAAE;AACtB,UAAM,QAAQ;AAAA,EAChB;AAEA,SAAO;AACT;;;ACXO,IAAM,OAAmB,SAAS;;;ACAlC,IAAM,aAAN,cAAyB,MAAM;AAAA,EACpC,cAAc;AACZ,UAAM,aAAa;AACnB,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
1
+ {"version":3,"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","export const mergeUint8 = (...inputs: Array<Uint8Array>): 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"],"mappings":";AACA,IAAM,UAAU;AACT,SAAS,MAAM,OAA2B;AAC/C,QAAM,SAAS,IAAI,MAAc,MAAM,SAAS,CAAC;AAEjD,SAAO,CAAC,IAAI;AAEZ,WAAS,IAAI,GAAG,IAAI,MAAM,UAAU;AAClC,UAAM,IAAI,MAAM,GAAG;AACnB,WAAO,CAAC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,IAAI,EAAE;AAAA,EAC9C;AAEA,SAAO,OAAO,KAAK,EAAE;AACvB;AAGA,IAAM,UAAkC;AAAA,EACtC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AACO,SAAS,QAAQ,WAA+B;AACrD,QAAM,QAAQ,UAAU,SAAS;AACjC,QAAM,QAAQ,UAAU,CAAC,MAAM,MAAM,IAAI,KAAK;AAC9C,QAAM,UAAU,UAAU,SAAS,QAAQ,IAAI;AAC/C,QAAM,QAAQ,IAAI,WAAW,MAAM;AAEnC,MAAI;AAAO,UAAM,CAAC,IAAI,IAAI,QAAQ,UAAU,CAAC,CAAC;AAE9C,WAAS,IAAI,GAAG,IAAI,UAAU;AAC5B,UAAM,MAAM,OAAO,IAAI;AACvB,UAAM,IAAI,QAAQ,UAAU,GAAG,CAAC;AAChC,UAAM,IAAI,QAAQ,UAAU,MAAM,CAAC,CAAC;AACpC,UAAM,QAAQ,GAAG,IAAK,KAAK,IAAK;AAAA,EAClC;AAEA,SAAO;AACT;;;ACnDO,SAAS,UACd,OACA,QACc;AACd,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,KAAK,EAAE;AAAA,MACpB,CAAC,CAAC,KAAK,KAAK,MAAW,CAAC,KAAK,OAAO,OAAO,GAAG,CAAC;AAAA,IACjD;AAAA,EACF;AACF;AAQO,IAAM,kBAAkB,CAC7B,OACA,WAEA,OAAO;AAAA,EACL,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,OAAO,OAAO,GAAG,CAAC,CAAC;AACvE;;;AC5BK,SAAS,aACd,OACA,UACc;AACd,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,MAAW,SAAS,OAAO,GAAG,CAAC;AAAA,EAC1E;AACF;;;ACPO,IAAM,aAAa,IAAI,WAA0C;AACtE,QAAM,WAAW,OAAO,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,YAAY,CAAC;AAChE,QAAM,SAAS,IAAI,WAAW,QAAQ;AAEtC,WAAS,MAAM,GAAG,KAAK,GAAG,MAAM,OAAO,QAAQ,OAAO;AACpD,UAAM,UAAU,OAAO,GAAG;AAC1B,WAAO,IAAI,SAAS,EAAE;AACtB,UAAM,QAAQ;AAAA,EAChB;AAEA,SAAO;AACT;;;ACXO,IAAM,OAAmB,SAAS;;;ACAlC,IAAM,aAAN,cAAyB,MAAM;AAAA,EACpC,cAAc;AACZ,UAAM,aAAa;AACnB,SAAK,OAAO;AAAA,EACd;AACF;","names":[]}
@@ -9,6 +9,8 @@ type StringRecord<T> = {
9
9
  };
10
10
  declare const mapStringRecord: <I, O>(input: StringRecord<I>, mapper: (value: I, key: string) => O) => StringRecord<O>;
11
11
 
12
+ declare function filterObject<K extends string | number | symbol, I>(input: Record<K, I>, filterFn: (i: I, k: K) => boolean): Record<K, I>;
13
+
12
14
  declare const mergeUint8: (...inputs: Array<Uint8Array>) => Uint8Array;
13
15
 
14
16
  declare const noop: () => void;
@@ -17,4 +19,4 @@ declare class AbortError extends Error {
17
19
  constructor();
18
20
  }
19
21
 
20
- export { AbortError, fromHex, mapObject, mapStringRecord, mergeUint8, noop, toHex };
22
+ export { AbortError, filterObject, fromHex, mapObject, mapStringRecord, mergeUint8, noop, toHex };
package/dist/min/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var i=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var R=Object.prototype.hasOwnProperty;var I=(r,t)=>{for(var e in t)i(r,e,{get:t[e],enumerable:!0})},j=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of A(t))!R.call(r,o)&&o!==e&&i(r,o,{get:()=>t[o],enumerable:!(n=l(t,o))||n.enumerable});return r};var E=r=>j(i({},"__esModule",{value:!0}),r);var K={};I(K,{AbortError:()=>s,fromHex:()=>d,mapObject:()=>u,mapStringRecord:()=>x,mergeUint8:()=>f,noop:()=>g,toHex:()=>b});module.exports=E(K);var p="0123456789abcdef";function b(r){let t=new Array(r.length+1);t[0]="0x";for(let e=0;e<r.length;){let n=r[e++];t[e]=p[n>>4]+p[n&15]}return t.join("")}var a={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15};function d(r){let t=r.length%2,e=(r[1]==="x"?2:0)+t,n=(r.length-e)/2+t,o=new Uint8Array(n);t&&(o[0]=0|a[r[2]]);for(let c=0;c<n;){let m=e+c*2,y=a[r[m]],O=a[r[m+1]];o[t+c++]=y<<4|O}return o}function u(r,t){return Object.fromEntries(Object.entries(r).map(([e,n])=>[e,t(n,e)]))}var x=(r,t)=>Object.fromEntries(Object.entries(r).map(([e,n])=>[e,t(n,e)]));var f=(...r)=>{let t=r.reduce((n,o)=>n+o.byteLength,0),e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let c=r[n];e.set(c,o),o+=c.byteLength}return e};var g=Function.prototype;var s=class extends Error{constructor(){super("Abort Error"),this.name="AbortError"}};
1
+ "use strict";var i=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var A=(r,t)=>{for(var e in t)i(r,e,{get:t[e],enumerable:!0})},K=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of I(t))!j.call(r,o)&&o!==e&&i(r,o,{get:()=>t[o],enumerable:!(n=R(t,o))||n.enumerable});return r};var E=r=>K(i({},"__esModule",{value:!0}),r);var U={};A(U,{AbortError:()=>s,filterObject:()=>x,fromHex:()=>d,mapObject:()=>f,mapStringRecord:()=>u,mergeUint8:()=>O,noop:()=>l,toHex:()=>b});module.exports=E(U);var p="0123456789abcdef";function b(r){let t=new Array(r.length+1);t[0]="0x";for(let e=0;e<r.length;){let n=r[e++];t[e]=p[n>>4]+p[n&15]}return t.join("")}var a={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15};function d(r){let t=r.length%2,e=(r[1]==="x"?2:0)+t,n=(r.length-e)/2+t,o=new Uint8Array(n);t&&(o[0]=0|a[r[2]]);for(let c=0;c<n;){let m=e+c*2,y=a[r[m]],g=a[r[m+1]];o[t+c++]=y<<4|g}return o}function f(r,t){return Object.fromEntries(Object.entries(r).map(([e,n])=>[e,t(n,e)]))}var u=(r,t)=>Object.fromEntries(Object.entries(r).map(([e,n])=>[e,t(n,e)]));function x(r,t){return Object.fromEntries(Object.entries(r).filter(([e,n])=>t(n,e)))}var O=(...r)=>{let t=r.reduce((n,o)=>n+o.byteLength,0),e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let c=r[n];e.set(c,o),o+=c.byteLength}return e};var l=Function.prototype;var s=class extends Error{constructor(){super("Abort Error"),this.name="AbortError"}};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/hex.ts","../../src/mapObject.ts","../../src/mergeUint8.ts","../../src/noop.ts","../../src/AbortError.ts"],"sourcesContent":["export { fromHex, toHex } from \"./hex\"\nexport { mapObject, mapStringRecord } from \"./mapObject\"\nexport { mergeUint8 } from \"./mergeUint8\"\nexport { noop } from \"./noop\"\nexport { AbortError } from \"./AbortError\"\n","// 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 const mergeUint8 = (...inputs: Array<Uint8Array>): 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"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,EAAA,YAAAC,EAAA,cAAAC,EAAA,oBAAAC,EAAA,eAAAC,EAAA,SAAAC,EAAA,UAAAC,IAAA,eAAAC,EAAAT,GCCA,IAAMU,EAAU,mBACT,SAASC,EAAMC,EAA2B,CAC/C,IAAMC,EAAS,IAAI,MAAcD,EAAM,OAAS,CAAC,EAEjDC,EAAO,CAAC,EAAI,KAEZ,QAASC,EAAI,EAAGA,EAAIF,EAAM,QAAU,CAClC,IAAMG,EAAIH,EAAME,GAAG,EACnBD,EAAOC,CAAC,EAAIJ,EAAQK,GAAK,CAAC,EAAIL,EAAQK,EAAI,EAAE,CAC9C,CAEA,OAAOF,EAAO,KAAK,EAAE,CACvB,CAGA,IAAMG,EAAkC,CACtC,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,EACL,EACO,SAASC,EAAQC,EAA+B,CACrD,IAAMC,EAAQD,EAAU,OAAS,EAC3BE,GAAQF,EAAU,CAAC,IAAM,IAAM,EAAI,GAAKC,EACxCE,GAAUH,EAAU,OAASE,GAAQ,EAAID,EACzCP,EAAQ,IAAI,WAAWS,CAAM,EAE/BF,IAAOP,EAAM,CAAC,EAAI,EAAII,EAAQE,EAAU,CAAC,CAAC,GAE9C,QAASJ,EAAI,EAAGA,EAAIO,GAAU,CAC5B,IAAMC,EAAMF,EAAON,EAAI,EACjBS,EAAIP,EAAQE,EAAUI,CAAG,CAAC,EAC1BP,EAAIC,EAAQE,EAAUI,EAAM,CAAC,CAAC,EACpCV,EAAMO,EAAQL,GAAG,EAAKS,GAAK,EAAKR,CAClC,CAEA,OAAOH,CACT,CCnDO,SAASY,EACdC,EACAC,EACc,CACd,OAAO,OAAO,YACZ,OAAO,QAAQD,CAAK,EAAE,IACpB,CAAC,CAACE,EAAKC,CAAK,IAAW,CAACD,EAAKD,EAAOE,EAAOD,CAAG,CAAC,CACjD,CACF,CACF,CAQO,IAAME,EAAkB,CAC7BJ,EACAC,IAEA,OAAO,YACL,OAAO,QAAQD,CAAK,EAAE,IAAI,CAAC,CAACE,EAAKC,CAAK,IAAM,CAACD,EAAKD,EAAOE,EAAOD,CAAG,CAAC,CAAC,CACvE,EC5BK,IAAMG,EAAa,IAAIC,IAA0C,CACtE,IAAMC,EAAWD,EAAO,OAAO,CAACE,EAAKC,IAAMD,EAAMC,EAAE,WAAY,CAAC,EAC1DC,EAAS,IAAI,WAAWH,CAAQ,EAEtC,QAASI,EAAM,EAAGC,EAAK,EAAGD,EAAML,EAAO,OAAQK,IAAO,CACpD,IAAME,EAAUP,EAAOK,CAAG,EAC1BD,EAAO,IAAIG,EAASD,CAAE,EACtBA,GAAMC,EAAQ,UAChB,CAEA,OAAOH,CACT,ECXO,IAAMI,EAAmB,SAAS,UCAlC,IAAMC,EAAN,cAAyB,KAAM,CACpC,aAAc,CACZ,MAAM,aAAa,EACnB,KAAK,KAAO,YACd,CACF","names":["src_exports","__export","AbortError","fromHex","mapObject","mapStringRecord","mergeUint8","noop","toHex","__toCommonJS","HEX_STR","toHex","bytes","result","i","b","HEX_MAP","fromHex","hexString","isOdd","base","nBytes","idx","a","mapObject","input","mapper","key","value","mapStringRecord","mergeUint8","inputs","totalLen","acc","a","result","idx","at","current","noop","AbortError"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/hex.ts","../../src/mapObject.ts","../../src/filterObject.ts","../../src/mergeUint8.ts","../../src/noop.ts","../../src/AbortError.ts"],"sourcesContent":["export { fromHex, toHex } from \"./hex\"\nexport { mapObject, mapStringRecord } from \"./mapObject\"\nexport { filterObject } from \"./filterObject\"\nexport { mergeUint8 } from \"./mergeUint8\"\nexport { noop } from \"./noop\"\nexport { AbortError } from \"./AbortError\"\n","// 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","export const mergeUint8 = (...inputs: Array<Uint8Array>): 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"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,EAAA,iBAAAC,EAAA,YAAAC,EAAA,cAAAC,EAAA,oBAAAC,EAAA,eAAAC,EAAA,SAAAC,EAAA,UAAAC,IAAA,eAAAC,EAAAV,GCCA,IAAMW,EAAU,mBACT,SAASC,EAAMC,EAA2B,CAC/C,IAAMC,EAAS,IAAI,MAAcD,EAAM,OAAS,CAAC,EAEjDC,EAAO,CAAC,EAAI,KAEZ,QAASC,EAAI,EAAGA,EAAIF,EAAM,QAAU,CAClC,IAAMG,EAAIH,EAAME,GAAG,EACnBD,EAAOC,CAAC,EAAIJ,EAAQK,GAAK,CAAC,EAAIL,EAAQK,EAAI,EAAE,CAC9C,CAEA,OAAOF,EAAO,KAAK,EAAE,CACvB,CAGA,IAAMG,EAAkC,CACtC,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,GACH,EAAG,EACL,EACO,SAASC,EAAQC,EAA+B,CACrD,IAAMC,EAAQD,EAAU,OAAS,EAC3BE,GAAQF,EAAU,CAAC,IAAM,IAAM,EAAI,GAAKC,EACxCE,GAAUH,EAAU,OAASE,GAAQ,EAAID,EACzCP,EAAQ,IAAI,WAAWS,CAAM,EAE/BF,IAAOP,EAAM,CAAC,EAAI,EAAII,EAAQE,EAAU,CAAC,CAAC,GAE9C,QAASJ,EAAI,EAAGA,EAAIO,GAAU,CAC5B,IAAMC,EAAMF,EAAON,EAAI,EACjBS,EAAIP,EAAQE,EAAUI,CAAG,CAAC,EAC1BP,EAAIC,EAAQE,EAAUI,EAAM,CAAC,CAAC,EACpCV,EAAMO,EAAQL,GAAG,EAAKS,GAAK,EAAKR,CAClC,CAEA,OAAOH,CACT,CCnDO,SAASY,EACdC,EACAC,EACc,CACd,OAAO,OAAO,YACZ,OAAO,QAAQD,CAAK,EAAE,IACpB,CAAC,CAACE,EAAKC,CAAK,IAAW,CAACD,EAAKD,EAAOE,EAAOD,CAAG,CAAC,CACjD,CACF,CACF,CAQO,IAAME,EAAkB,CAC7BJ,EACAC,IAEA,OAAO,YACL,OAAO,QAAQD,CAAK,EAAE,IAAI,CAAC,CAACE,EAAKC,CAAK,IAAM,CAACD,EAAKD,EAAOE,EAAOD,CAAG,CAAC,CAAC,CACvE,EC5BK,SAASG,EACdC,EACAC,EACc,CACd,OAAO,OAAO,YACZ,OAAO,QAAQD,CAAK,EAAE,OAAO,CAAC,CAACE,EAAKC,CAAK,IAAWF,EAASE,EAAOD,CAAG,CAAC,CAC1E,CACF,CCPO,IAAME,EAAa,IAAIC,IAA0C,CACtE,IAAMC,EAAWD,EAAO,OAAO,CAACE,EAAKC,IAAMD,EAAMC,EAAE,WAAY,CAAC,EAC1DC,EAAS,IAAI,WAAWH,CAAQ,EAEtC,QAASI,EAAM,EAAGC,EAAK,EAAGD,EAAML,EAAO,OAAQK,IAAO,CACpD,IAAME,EAAUP,EAAOK,CAAG,EAC1BD,EAAO,IAAIG,EAASD,CAAE,EACtBA,GAAMC,EAAQ,UAChB,CAEA,OAAOH,CACT,ECXO,IAAMI,EAAmB,SAAS,UCAlC,IAAMC,EAAN,cAAyB,KAAM,CACpC,aAAc,CACZ,MAAM,aAAa,EACnB,KAAK,KAAO,YACd,CACF","names":["src_exports","__export","AbortError","filterObject","fromHex","mapObject","mapStringRecord","mergeUint8","noop","toHex","__toCommonJS","HEX_STR","toHex","bytes","result","i","b","HEX_MAP","fromHex","hexString","isOdd","base","nBytes","idx","a","mapObject","input","mapper","key","value","mapStringRecord","filterObject","input","filterFn","key","value","mergeUint8","inputs","totalLen","acc","a","result","idx","at","current","noop","AbortError"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polkadot-api/utils",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "author": "Josep M Sobrepere (https://github.com/josepot)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,11 +34,6 @@
34
34
  "files": [
35
35
  "dist"
36
36
  ],
37
- "prettier": {
38
- "printWidth": 80,
39
- "semi": false,
40
- "trailingComma": "all"
41
- },
42
37
  "scripts": {
43
38
  "build": "tsc --noEmit && tsup-node src/index.ts --clean --sourcemap --platform neutral --target=es2020 --format esm,cjs --dts && tsup-node src/index.ts --clean --sourcemap --platform neutral --target=es2020 --format cjs --dts --minify --out-dir dist/min",
44
39
  "test": "echo 'no tests'",