@eternl/tools 0.11.0 → 0.12.1

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.cjs CHANGED
@@ -129,6 +129,8 @@ exports.isNumber = require_lib_number.isNumber;
129
129
  exports.isSameArray = require_lib_array.isSameArray;
130
130
  exports.isTxHash = require_lib_hex.isTxHash;
131
131
  exports.json = require_lib_json.json;
132
+ exports.normalizeHex = require_lib_hex.normalizeHex;
133
+ exports.normalizeHexList = require_lib_hex.normalizeHexList;
132
134
  exports.now = require_lib_time.now;
133
135
  exports.prefix0x = require_lib_hex.prefix0x;
134
136
  exports.removeDuplicates = require_lib_array.removeDuplicates;
package/dist/index.d.cts CHANGED
@@ -4,7 +4,7 @@ import { copyToNewArray, isSameArray, removeDuplicates, removeMissingNumbersFrom
4
4
  import { PREFIX_BECH32, decodeBech32, decodeBech32Buffer, decodeBech32Key, encodeBech32 } from "./lib/bech32.cjs";
5
5
  import { blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str } from "./lib/blake.cjs";
6
6
  import { crc8 } from "./lib/crc8.cjs";
7
- import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.cjs";
7
+ import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, normalizeHex, normalizeHexList, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.cjs";
8
8
  import { getRandomId, getShortId } from "./lib/id.cjs";
9
9
  import { toFraction } from "./lib/math.cjs";
10
10
  import { isNumber } from "./lib/number.cjs";
@@ -21,5 +21,5 @@ declare const toUIJson: <T>(value: T, stripBytes?: boolean) => T;
21
21
  declare const fromDbJson: <T>(value: T) => T;
22
22
  declare const fromDbJsonArray: <T>(value: T[]) => T[];
23
23
  //#endregion
24
- export { DEFAULT_SLEEP_MS, PREFIX_BECH32, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeBech32, decodeBech32Buffer, decodeBech32Key, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeBech32, encodeHex, ensureLength, er, error, fileHashSubstringLength, fromDbJson, fromDbJsonArray, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toDbJson, toFraction, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, toUIJson, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
24
+ export { DEFAULT_SLEEP_MS, PREFIX_BECH32, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeBech32, decodeBech32Buffer, decodeBech32Key, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeBech32, encodeHex, ensureLength, er, error, fileHashSubstringLength, fromDbJson, fromDbJsonArray, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, normalizeHex, normalizeHexList, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toDbJson, toFraction, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, toUIJson, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
25
25
  //# sourceMappingURL=index.d.cts.map
package/dist/index.d.mts CHANGED
@@ -4,7 +4,7 @@ import { copyToNewArray, isSameArray, removeDuplicates, removeMissingNumbersFrom
4
4
  import { PREFIX_BECH32, decodeBech32, decodeBech32Buffer, decodeBech32Key, encodeBech32 } from "./lib/bech32.mjs";
5
5
  import { blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str } from "./lib/blake.mjs";
6
6
  import { crc8 } from "./lib/crc8.mjs";
7
- import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.mjs";
7
+ import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, normalizeHex, normalizeHexList, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.mjs";
8
8
  import { getRandomId, getShortId } from "./lib/id.mjs";
9
9
  import { toFraction } from "./lib/math.mjs";
10
10
  import { isNumber } from "./lib/number.mjs";
@@ -21,5 +21,5 @@ declare const toUIJson: <T>(value: T, stripBytes?: boolean) => T;
21
21
  declare const fromDbJson: <T>(value: T) => T;
22
22
  declare const fromDbJsonArray: <T>(value: T[]) => T[];
23
23
  //#endregion
24
- export { DEFAULT_SLEEP_MS, PREFIX_BECH32, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeBech32, decodeBech32Buffer, decodeBech32Key, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeBech32, encodeHex, ensureLength, er, error, fileHashSubstringLength, fromDbJson, fromDbJsonArray, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toDbJson, toFraction, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, toUIJson, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
24
+ export { DEFAULT_SLEEP_MS, PREFIX_BECH32, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeBech32, decodeBech32Buffer, decodeBech32Key, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeBech32, encodeHex, ensureLength, er, error, fileHashSubstringLength, fromDbJson, fromDbJsonArray, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, normalizeHex, normalizeHexList, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toDbJson, toFraction, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, toUIJson, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
25
25
  //# sourceMappingURL=index.d.mts.map
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createHash, ensureLength, reverseString, trimAllStrings, trimQuotes, truncateAddress, truncateString } from "./lib/string.mjs";
2
- import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.mjs";
2
+ import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, normalizeHex, normalizeHexList, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.mjs";
3
3
  import { createJsonFromCborJson, deepMerge, getErrorMsg, getKeyValue, json } from "./lib/json.mjs";
4
4
  import { el, er, error, sl, warn } from "./log/index.mjs";
5
5
  import { copyToNewArray, isSameArray, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList } from "./lib/array.mjs";
@@ -83,6 +83,6 @@ const fromDbJsonArray = (value) => {
83
83
  return value.map((item) => fromDbJson(item));
84
84
  };
85
85
  //#endregion
86
- export { DEFAULT_SLEEP_MS, PREFIX_BECH32, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeBech32, decodeBech32Buffer, decodeBech32Key, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeBech32, encodeHex, ensureLength, er, error, fileHashSubstringLength, fromDbJson, fromDbJsonArray, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toDbJson, toFraction, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, toUIJson, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
86
+ export { DEFAULT_SLEEP_MS, PREFIX_BECH32, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeBech32, decodeBech32Buffer, decodeBech32Key, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeBech32, encodeHex, ensureLength, er, error, fileHashSubstringLength, fromDbJson, fromDbJsonArray, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, normalizeHex, normalizeHexList, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toDbJson, toFraction, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, toUIJson, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
87
87
 
88
88
  //# sourceMappingURL=index.mjs.map
package/dist/lib/hex.cjs CHANGED
@@ -26,6 +26,14 @@ const isASCII = (str, ext = true) => (ext ? /^[\x00-\xFF]*$/ : /^[\x00-\x7F]*$/)
26
26
  const isHexString = (str) => str.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(str.toString());
27
27
  const isTxHash = (str) => str.length === 64 && isHexString(str);
28
28
  const hasUnicode = (str) => (JSON.stringify(str).match(/\\u[\dA-F]{4}/gi)?.length ?? 0) > 0;
29
+ const normalizeHex = (value) => {
30
+ if (!value) return "";
31
+ return byteaToHex(value).toLowerCase();
32
+ };
33
+ const normalizeHexList = (list) => {
34
+ if (!list || !Array.isArray(list)) return [];
35
+ return list.map((item) => typeof item === "string" ? normalizeHex(item) : "").filter((item) => item.length > 0);
36
+ };
29
37
  const uint8ArrayToUtf8String = (array) => {
30
38
  var out, i, len, c;
31
39
  var char2, char3;
@@ -70,6 +78,8 @@ exports.hexToDataView = hexToDataView;
70
78
  exports.isASCII = isASCII;
71
79
  exports.isHexString = isHexString;
72
80
  exports.isTxHash = isTxHash;
81
+ exports.normalizeHex = normalizeHex;
82
+ exports.normalizeHexList = normalizeHexList;
73
83
  exports.prefix0x = prefix0x;
74
84
  exports.sortHexList = sortHexList;
75
85
  exports.toB64Array = toB64Array;
@@ -1 +1 @@
1
- {"version":3,"file":"hex.cjs","names":[],"sources":["../../src/lib/hex.ts"],"sourcesContent":["export const byteaToHex = (bytea: string | String): string => bytea.startsWith('\\\\x') ? bytea.substring(2) : bytea.toString()\nexport const hexToBytea = ( hex: string | String): string => hex.startsWith('\\\\x') ? hex.toString() : ( '\\\\x' + hex )\nexport const prefix0x = ( hex: string | String): string => hex.startsWith( '0x') ? hex.toString() : ( '0x' + hex )\n\nconst toBufferView = ( arr: Uint8Array): Buffer => Buffer.isBuffer(arr)\n ? arr\n : Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength)\n\nexport const encodeHex = ( str: string | String): string => Buffer.from(str).toString('hex')\nexport const toHexStringBuffer= ( arr: Buffer | null): string => arr ? arr.toString('hex') : ''\nexport const toHexString = ( arr: Uint8Array | null): string => arr ? toBufferView(arr).toString('hex') : ''\nexport const toB64String = ( arr: Uint8Array): string => Buffer.from(arr).toString('base64')\nexport const toBuffer = ( hex: string | String): Buffer => toHexBuffer(hex)\nexport const toHexBuffer = ( hex: string | String): Buffer => Buffer.from(byteaToHex(hex), 'hex')\nexport const toB64Buffer = ( str: string | String): Buffer => Buffer.from(str, 'base64')\nexport const toBufferFromArray= ( arr: Uint8Array): Buffer => Buffer.from(arr)\nexport const toHexArray = ( hex: string | String): Uint8Array => Uint8Array.from(toHexBuffer(hex))\nexport const toB64Array = ( str: string | String): Uint8Array => Uint8Array.from(toB64Buffer(str))\nexport const toStringArray = ( str: string | String): Uint8Array => Uint8Array.from(toBuffer(str))\nexport const sortHexList = ( arr: Iterable<string>): string[] => Array.from(new Set(arr)).sort((a, b) => a.localeCompare(b, 'en-US'))\n\nexport const hexToDataView = ( hex: string | String): DataView => new DataView(toHexArray(hex).buffer)\nexport const dataViewToArray = ( dv: DataView): Uint8Array => new Uint8Array(dv.buffer, dv.byteOffset, dv.byteLength)\n\nexport const decodeHex = ( str: string | String): string => {\n\n const decoded = toHexBuffer(str).toString()\n\n return !isASCII(decoded) || hasUnicode(decoded) ? prefix0x(str) : decoded\n}\nexport const isASCII = ( str: string | String, ext: boolean = true): boolean => (ext ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str.toString())\nexport const isHexString = ( str: string | String): boolean => str.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(str.toString())\nexport const isTxHash = ( str: string | String): boolean => str.length === 64 && isHexString(str)\nexport const hasUnicode = ( str: string | String): boolean => (JSON.stringify(str).match(/\\\\u[\\dA-F]{4}/gi)?.length ?? 0) > 0\n\n/* utf.js - UTF-8 <=> UTF-16 convertion\n *\n * Copyright (C) 1999 Masanao Izumo <iz@onicos.co.jp>\n * Version: 1.0\n * LastModified: Dec 25 1999\n * This library is free. You can redistribute it and/or modify it.\n */\nexport const uint8ArrayToUtf8String = (array: Uint8Array): string => {\n var out, i, len, c;\n var char2, char3;\n\n out = \"\";\n len = array.length;\n i = 0;\n while (i < len) {\n c = array[i++]!;\n switch (c >> 4)\n {\n case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c);\n break;\n case 12: case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++]!;\n out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));\n break;\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++]!;\n char3 = array[i++]!;\n out += String.fromCharCode(((c & 0x0F) << 12) |\n ((char2 & 0x3F) << 6) |\n ((char3 & 0x3F) << 0));\n break;\n }\n }\n\n return out;\n}\n"],"mappings":";;AAAA,MAAa,cAAoB,UAA2D,MAAM,WAAW,MAAM,GAAG,MAAM,UAAU,EAAE,GAAG,MAAM,UAAU;AAC3J,MAAa,cAAsB,QAA2D,IAAI,WAAW,MAAM,GAAG,IAAI,UAAU,GAAS,QAAQ;AACrJ,MAAa,YAAsB,QAA2D,IAAI,WAAY,KAAK,GAAG,IAAI,UAAU,GAAU,OAAO;AAErJ,MAAM,gBAA6B,QAAkD,OAAO,SAAS,IAAI,GACrG,MACA,OAAO,KAAK,IAAI,QAAQ,IAAI,YAAY,IAAI,WAAW;AAE3D,MAAa,aAAsB,QAAwD,OAAO,KAAK,IAAI,CAAC,SAAS,MAAM;AAC3H,MAAa,qBAAsB,QAAkD,MAAM,IAAI,SAAS,MAAM,GAAG;AACjH,MAAa,eAAsB,QAAkD,MAAM,aAAa,IAAI,CAAC,SAAS,MAAM,GAAG;AAC/H,MAAa,eAAsB,QAAwD,OAAO,KAAK,IAAI,CAAC,SAAS,SAAS;AAC9H,MAAa,YAAsB,QAAwD,YAAY,IAAI;AAC3G,MAAa,eAAsB,QAAwD,OAAO,KAAK,WAAW,IAAI,EAAE,MAAM;AAC9H,MAAa,eAAsB,QAAwD,OAAO,KAAK,KAAK,SAAS;AACrH,MAAa,qBAAsB,QAAwD,OAAO,KAAK,IAAI;AAC3G,MAAa,cAAsB,QAAoD,WAAW,KAAK,YAAY,IAAI,CAAC;AACxH,MAAa,cAAsB,QAAoD,WAAW,KAAK,YAAY,IAAI,CAAC;AACxH,MAAa,iBAAsB,QAAoD,WAAW,KAAK,SAAS,IAAI,CAAC;AACrH,MAAa,eAAsB,QAAyD,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,cAAc,GAAG,QAAQ,CAAC;AAEhK,MAAa,iBAAsB,QAAkD,IAAI,SAAS,WAAW,IAAI,CAAC,OAAO;AACzH,MAAa,mBAAuB,OAAiD,IAAI,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW;AAE5I,MAAa,aAAsB,QAAkD;CAEnF,MAAM,UAAwB,YAAY,IAAI,CAAC,UAAU;AAEzD,QAAO,CAAC,QAAQ,QAAQ,IAAI,WAAW,QAAQ,GAAG,SAAS,IAAI,GAAG;;AAEpE,MAAa,WAAsB,KAAsB,MAAe,UAAmB,MAAM,mBAAmB,kBAAkB,KAAK,IAAI,UAAU,CAAC;AAC1J,MAAa,eAAsB,QAAkD,IAAI,SAAS,MAAM,KAAK,iBAAiB,KAAK,IAAI,UAAU,CAAC;AAClJ,MAAa,YAAsB,QAAkD,IAAI,WAAW,MAAM,YAAY,IAAI;AAC1H,MAAa,cAAsB,SAAuD,KAAK,UAAU,IAAI,CAAC,MAAM,kBAAkB,EAAE,UAAU,KAAK;AASvJ,MAAa,0BAA0B,UAA8B;CACnE,IAAI,KAAK,GAAG,KAAK;CACjB,IAAI,OAAO;AAEX,OAAM;AACN,OAAM,MAAM;AACZ,KAAI;AACJ,QAAO,IAAI,KAAK;AACd,MAAI,MAAM;AACV,UAAQ,KAAK,GAAb;GAEE,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;AAE7D,WAAO,OAAO,aAAa,EAAE;AAC7B;GACA,KAAK;GAAI,KAAK;AAEd,YAAQ,MAAM;AACd,WAAO,OAAO,cAAe,IAAI,OAAS,IAAM,QAAQ,GAAM;AAC9D;GACA,KAAK;AAEH,YAAQ,MAAM;AACd,YAAQ,MAAM;AACd,WAAO,OAAO,cAAe,IAAI,OAAS,MACtC,QAAQ,OAAS,KACjB,QAAQ,OAAS,EAAG;AACxB;;;AAIN,QAAO"}
1
+ {"version":3,"file":"hex.cjs","names":[],"sources":["../../src/lib/hex.ts"],"sourcesContent":["export const byteaToHex = (bytea: string | String): string => bytea.startsWith('\\\\x') ? bytea.substring(2) : bytea.toString()\nexport const hexToBytea = ( hex: string | String): string => hex.startsWith('\\\\x') ? hex.toString() : ( '\\\\x' + hex )\nexport const prefix0x = ( hex: string | String): string => hex.startsWith( '0x') ? hex.toString() : ( '0x' + hex )\n\nconst toBufferView = ( arr: Uint8Array): Buffer => Buffer.isBuffer(arr)\n ? arr\n : Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength)\n\nexport const encodeHex = ( str: string | String): string => Buffer.from(str).toString('hex')\nexport const toHexStringBuffer= ( arr: Buffer | null): string => arr ? arr.toString('hex') : ''\nexport const toHexString = ( arr: Uint8Array | null): string => arr ? toBufferView(arr).toString('hex') : ''\nexport const toB64String = ( arr: Uint8Array): string => Buffer.from(arr).toString('base64')\nexport const toBuffer = ( hex: string | String): Buffer => toHexBuffer(hex)\nexport const toHexBuffer = ( hex: string | String): Buffer => Buffer.from(byteaToHex(hex), 'hex')\nexport const toB64Buffer = ( str: string | String): Buffer => Buffer.from(str, 'base64')\nexport const toBufferFromArray= ( arr: Uint8Array): Buffer => Buffer.from(arr)\nexport const toHexArray = ( hex: string | String): Uint8Array => Uint8Array.from(toHexBuffer(hex))\nexport const toB64Array = ( str: string | String): Uint8Array => Uint8Array.from(toB64Buffer(str))\nexport const toStringArray = ( str: string | String): Uint8Array => Uint8Array.from(toBuffer(str))\nexport const sortHexList = ( arr: Iterable<string>): string[] => Array.from(new Set(arr)).sort((a, b) => a.localeCompare(b, 'en-US'))\n\nexport const hexToDataView = ( hex: string | String): DataView => new DataView(toHexArray(hex).buffer)\nexport const dataViewToArray = ( dv: DataView): Uint8Array => new Uint8Array(dv.buffer, dv.byteOffset, dv.byteLength)\n\nexport const decodeHex = ( str: string | String): string => {\n\n const decoded = toHexBuffer(str).toString()\n\n return !isASCII(decoded) || hasUnicode(decoded) ? prefix0x(str) : decoded\n}\nexport const isASCII = ( str: string | String, ext: boolean = true): boolean => (ext ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str.toString())\nexport const isHexString = ( str: string | String): boolean => str.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(str.toString())\nexport const isTxHash = ( str: string | String): boolean => str.length === 64 && isHexString(str)\nexport const hasUnicode = ( str: string | String): boolean => (JSON.stringify(str).match(/\\\\u[\\dA-F]{4}/gi)?.length ?? 0) > 0\n\nexport const normalizeHex = (value: string | undefined | null): string => {\n\n if (!value) { return '' }\n\n return byteaToHex(value).toLowerCase()\n}\n\nexport const normalizeHexList = (list: string[] | null | undefined): string[] => {\n\n if (!list || !Array.isArray(list)) { return [] }\n\n return list\n .map((item) => typeof item === 'string' ? normalizeHex(item) : '')\n .filter((item) => item.length > 0)\n}\n\n/* utf.js - UTF-8 <=> UTF-16 convertion\n *\n * Copyright (C) 1999 Masanao Izumo <iz@onicos.co.jp>\n * Version: 1.0\n * LastModified: Dec 25 1999\n * This library is free. You can redistribute it and/or modify it.\n */\nexport const uint8ArrayToUtf8String = (array: Uint8Array): string => {\n var out, i, len, c;\n var char2, char3;\n\n out = \"\";\n len = array.length;\n i = 0;\n while (i < len) {\n c = array[i++]!;\n switch (c >> 4)\n {\n case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c);\n break;\n case 12: case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++]!;\n out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));\n break;\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++]!;\n char3 = array[i++]!;\n out += String.fromCharCode(((c & 0x0F) << 12) |\n ((char2 & 0x3F) << 6) |\n ((char3 & 0x3F) << 0));\n break;\n }\n }\n\n return out;\n}\n"],"mappings":";;AAAA,MAAa,cAAoB,UAA2D,MAAM,WAAW,MAAM,GAAG,MAAM,UAAU,EAAE,GAAG,MAAM,UAAU;AAC3J,MAAa,cAAsB,QAA2D,IAAI,WAAW,MAAM,GAAG,IAAI,UAAU,GAAS,QAAQ;AACrJ,MAAa,YAAsB,QAA2D,IAAI,WAAY,KAAK,GAAG,IAAI,UAAU,GAAU,OAAO;AAErJ,MAAM,gBAA6B,QAAkD,OAAO,SAAS,IAAI,GACrG,MACA,OAAO,KAAK,IAAI,QAAQ,IAAI,YAAY,IAAI,WAAW;AAE3D,MAAa,aAAsB,QAAwD,OAAO,KAAK,IAAI,CAAC,SAAS,MAAM;AAC3H,MAAa,qBAAsB,QAAkD,MAAM,IAAI,SAAS,MAAM,GAAG;AACjH,MAAa,eAAsB,QAAkD,MAAM,aAAa,IAAI,CAAC,SAAS,MAAM,GAAG;AAC/H,MAAa,eAAsB,QAAwD,OAAO,KAAK,IAAI,CAAC,SAAS,SAAS;AAC9H,MAAa,YAAsB,QAAwD,YAAY,IAAI;AAC3G,MAAa,eAAsB,QAAwD,OAAO,KAAK,WAAW,IAAI,EAAE,MAAM;AAC9H,MAAa,eAAsB,QAAwD,OAAO,KAAK,KAAK,SAAS;AACrH,MAAa,qBAAsB,QAAwD,OAAO,KAAK,IAAI;AAC3G,MAAa,cAAsB,QAAoD,WAAW,KAAK,YAAY,IAAI,CAAC;AACxH,MAAa,cAAsB,QAAoD,WAAW,KAAK,YAAY,IAAI,CAAC;AACxH,MAAa,iBAAsB,QAAoD,WAAW,KAAK,SAAS,IAAI,CAAC;AACrH,MAAa,eAAsB,QAAyD,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,cAAc,GAAG,QAAQ,CAAC;AAEhK,MAAa,iBAAsB,QAAkD,IAAI,SAAS,WAAW,IAAI,CAAC,OAAO;AACzH,MAAa,mBAAuB,OAAiD,IAAI,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW;AAE5I,MAAa,aAAsB,QAAkD;CAEnF,MAAM,UAAwB,YAAY,IAAI,CAAC,UAAU;AAEzD,QAAO,CAAC,QAAQ,QAAQ,IAAI,WAAW,QAAQ,GAAG,SAAS,IAAI,GAAG;;AAEpE,MAAa,WAAsB,KAAsB,MAAe,UAAmB,MAAM,mBAAmB,kBAAkB,KAAK,IAAI,UAAU,CAAC;AAC1J,MAAa,eAAsB,QAAkD,IAAI,SAAS,MAAM,KAAK,iBAAiB,KAAK,IAAI,UAAU,CAAC;AAClJ,MAAa,YAAsB,QAAkD,IAAI,WAAW,MAAM,YAAY,IAAI;AAC1H,MAAa,cAAsB,SAAuD,KAAK,UAAU,IAAI,CAAC,MAAM,kBAAkB,EAAE,UAAU,KAAK;AAEvJ,MAAa,gBAAoB,UAA6C;AAE5E,KAAI,CAAC,MAAyB,QAAO;AAErC,QAAO,WAAW,MAAM,CAAC,aAAa;;AAGxC,MAAa,oBAAoB,SAAgD;AAE/E,KAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,KAAK,CAAI,QAAO,EAAE;AAE9C,QAAO,KACJ,KAAK,SAAS,OAAO,SAAS,WAAW,aAAa,KAAK,GAAG,GAAG,CACjE,QAAQ,SAAS,KAAK,SAAS,EAAE;;AAUtC,MAAa,0BAA0B,UAA8B;CACnE,IAAI,KAAK,GAAG,KAAK;CACjB,IAAI,OAAO;AAEX,OAAM;AACN,OAAM,MAAM;AACZ,KAAI;AACJ,QAAO,IAAI,KAAK;AACd,MAAI,MAAM;AACV,UAAQ,KAAK,GAAb;GAEE,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;AAE7D,WAAO,OAAO,aAAa,EAAE;AAC7B;GACA,KAAK;GAAI,KAAK;AAEd,YAAQ,MAAM;AACd,WAAO,OAAO,cAAe,IAAI,OAAS,IAAM,QAAQ,GAAM;AAC9D;GACA,KAAK;AAEH,YAAQ,MAAM;AACd,YAAQ,MAAM;AACd,WAAO,OAAO,cAAe,IAAI,OAAS,MACtC,QAAQ,OAAS,KACjB,QAAQ,OAAS,EAAG;AACxB;;;AAIN,QAAO"}
@@ -21,7 +21,9 @@ declare const isASCII: (str: string | String, ext?: boolean) => boolean;
21
21
  declare const isHexString: (str: string | String) => boolean;
22
22
  declare const isTxHash: (str: string | String) => boolean;
23
23
  declare const hasUnicode: (str: string | String) => boolean;
24
+ declare const normalizeHex: (value: string | undefined | null) => string;
25
+ declare const normalizeHexList: (list: string[] | null | undefined) => string[];
24
26
  declare const uint8ArrayToUtf8String: (array: Uint8Array) => string;
25
27
  //#endregion
26
- export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String };
28
+ export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, normalizeHex, normalizeHexList, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String };
27
29
  //# sourceMappingURL=hex.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hex.d.cts","names":[],"sources":["../../src/lib/hex.ts"],"mappings":";cAAa,UAAA,GAAoB,KAAA,WAAgB,MAAA;AAAA,cACpC,UAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,QAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cAMpC,SAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,iBAAA,GAAsB,GAAA,EAAK,MAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,QAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,iBAAA,GAAsB,GAAA,EAAK,UAAA,KAA8B,MAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,aAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,EAAK,QAAA;AAAA,cAE3B,aAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,QAAA;AAAA,cACzD,eAAA,GAAuB,EAAA,EAAI,QAAA,KAA8B,UAAA;AAAA,cAEzD,SAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cAMpC,OAAA,GAAsB,GAAA,WAAc,MAAA,EAAQ,GAAA;AAAA,cAC5C,WAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,QAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,UAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cASpC,sBAAA,GAA0B,KAAA,EAAO,UAAA"}
1
+ {"version":3,"file":"hex.d.cts","names":[],"sources":["../../src/lib/hex.ts"],"mappings":";cAAa,UAAA,GAAoB,KAAA,WAAgB,MAAA;AAAA,cACpC,UAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,QAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cAMpC,SAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,iBAAA,GAAsB,GAAA,EAAK,MAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,QAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,iBAAA,GAAsB,GAAA,EAAK,UAAA,KAA8B,MAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,aAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,EAAK,QAAA;AAAA,cAE3B,aAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,QAAA;AAAA,cACzD,eAAA,GAAuB,EAAA,EAAI,QAAA,KAA8B,UAAA;AAAA,cAEzD,SAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cAMpC,OAAA,GAAsB,GAAA,WAAc,MAAA,EAAQ,GAAA;AAAA,cAC5C,WAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,QAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,UAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cAEpC,YAAA,GAAoB,KAAA;AAAA,cAOpB,gBAAA,GAAoB,IAAA;AAAA,cAgBpB,sBAAA,GAA0B,KAAA,EAAO,UAAA"}
@@ -21,7 +21,9 @@ declare const isASCII: (str: string | String, ext?: boolean) => boolean;
21
21
  declare const isHexString: (str: string | String) => boolean;
22
22
  declare const isTxHash: (str: string | String) => boolean;
23
23
  declare const hasUnicode: (str: string | String) => boolean;
24
+ declare const normalizeHex: (value: string | undefined | null) => string;
25
+ declare const normalizeHexList: (list: string[] | null | undefined) => string[];
24
26
  declare const uint8ArrayToUtf8String: (array: Uint8Array) => string;
25
27
  //#endregion
26
- export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String };
28
+ export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, normalizeHex, normalizeHexList, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String };
27
29
  //# sourceMappingURL=hex.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hex.d.mts","names":[],"sources":["../../src/lib/hex.ts"],"mappings":";cAAa,UAAA,GAAoB,KAAA,WAAgB,MAAA;AAAA,cACpC,UAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,QAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cAMpC,SAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,iBAAA,GAAsB,GAAA,EAAK,MAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,QAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,iBAAA,GAAsB,GAAA,EAAK,UAAA,KAA8B,MAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,aAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,EAAK,QAAA;AAAA,cAE3B,aAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,QAAA;AAAA,cACzD,eAAA,GAAuB,EAAA,EAAI,QAAA,KAA8B,UAAA;AAAA,cAEzD,SAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cAMpC,OAAA,GAAsB,GAAA,WAAc,MAAA,EAAQ,GAAA;AAAA,cAC5C,WAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,QAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,UAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cASpC,sBAAA,GAA0B,KAAA,EAAO,UAAA"}
1
+ {"version":3,"file":"hex.d.mts","names":[],"sources":["../../src/lib/hex.ts"],"mappings":";cAAa,UAAA,GAAoB,KAAA,WAAgB,MAAA;AAAA,cACpC,UAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,QAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cAMpC,SAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,iBAAA,GAAsB,GAAA,EAAK,MAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,QAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,MAAA;AAAA,cACzD,iBAAA,GAAsB,GAAA,EAAK,UAAA,KAA8B,MAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,aAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,UAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,EAAK,QAAA;AAAA,cAE3B,aAAA,GAAsB,GAAA,WAAc,MAAA,KAAqB,QAAA;AAAA,cACzD,eAAA,GAAuB,EAAA,EAAI,QAAA,KAA8B,UAAA;AAAA,cAEzD,SAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cAMpC,OAAA,GAAsB,GAAA,WAAc,MAAA,EAAQ,GAAA;AAAA,cAC5C,WAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,QAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cACpC,UAAA,GAAsB,GAAA,WAAc,MAAA;AAAA,cAEpC,YAAA,GAAoB,KAAA;AAAA,cAOpB,gBAAA,GAAoB,IAAA;AAAA,cAgBpB,sBAAA,GAA0B,KAAA,EAAO,UAAA"}
package/dist/lib/hex.mjs CHANGED
@@ -25,6 +25,14 @@ const isASCII = (str, ext = true) => (ext ? /^[\x00-\xFF]*$/ : /^[\x00-\x7F]*$/)
25
25
  const isHexString = (str) => str.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(str.toString());
26
26
  const isTxHash = (str) => str.length === 64 && isHexString(str);
27
27
  const hasUnicode = (str) => (JSON.stringify(str).match(/\\u[\dA-F]{4}/gi)?.length ?? 0) > 0;
28
+ const normalizeHex = (value) => {
29
+ if (!value) return "";
30
+ return byteaToHex(value).toLowerCase();
31
+ };
32
+ const normalizeHexList = (list) => {
33
+ if (!list || !Array.isArray(list)) return [];
34
+ return list.map((item) => typeof item === "string" ? normalizeHex(item) : "").filter((item) => item.length > 0);
35
+ };
28
36
  const uint8ArrayToUtf8String = (array) => {
29
37
  var out, i, len, c;
30
38
  var char2, char3;
@@ -59,6 +67,6 @@ const uint8ArrayToUtf8String = (array) => {
59
67
  return out;
60
68
  };
61
69
  //#endregion
62
- export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String };
70
+ export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, normalizeHex, normalizeHexList, prefix0x, sortHexList, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String };
63
71
 
64
72
  //# sourceMappingURL=hex.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hex.mjs","names":[],"sources":["../../src/lib/hex.ts"],"sourcesContent":["export const byteaToHex = (bytea: string | String): string => bytea.startsWith('\\\\x') ? bytea.substring(2) : bytea.toString()\nexport const hexToBytea = ( hex: string | String): string => hex.startsWith('\\\\x') ? hex.toString() : ( '\\\\x' + hex )\nexport const prefix0x = ( hex: string | String): string => hex.startsWith( '0x') ? hex.toString() : ( '0x' + hex )\n\nconst toBufferView = ( arr: Uint8Array): Buffer => Buffer.isBuffer(arr)\n ? arr\n : Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength)\n\nexport const encodeHex = ( str: string | String): string => Buffer.from(str).toString('hex')\nexport const toHexStringBuffer= ( arr: Buffer | null): string => arr ? arr.toString('hex') : ''\nexport const toHexString = ( arr: Uint8Array | null): string => arr ? toBufferView(arr).toString('hex') : ''\nexport const toB64String = ( arr: Uint8Array): string => Buffer.from(arr).toString('base64')\nexport const toBuffer = ( hex: string | String): Buffer => toHexBuffer(hex)\nexport const toHexBuffer = ( hex: string | String): Buffer => Buffer.from(byteaToHex(hex), 'hex')\nexport const toB64Buffer = ( str: string | String): Buffer => Buffer.from(str, 'base64')\nexport const toBufferFromArray= ( arr: Uint8Array): Buffer => Buffer.from(arr)\nexport const toHexArray = ( hex: string | String): Uint8Array => Uint8Array.from(toHexBuffer(hex))\nexport const toB64Array = ( str: string | String): Uint8Array => Uint8Array.from(toB64Buffer(str))\nexport const toStringArray = ( str: string | String): Uint8Array => Uint8Array.from(toBuffer(str))\nexport const sortHexList = ( arr: Iterable<string>): string[] => Array.from(new Set(arr)).sort((a, b) => a.localeCompare(b, 'en-US'))\n\nexport const hexToDataView = ( hex: string | String): DataView => new DataView(toHexArray(hex).buffer)\nexport const dataViewToArray = ( dv: DataView): Uint8Array => new Uint8Array(dv.buffer, dv.byteOffset, dv.byteLength)\n\nexport const decodeHex = ( str: string | String): string => {\n\n const decoded = toHexBuffer(str).toString()\n\n return !isASCII(decoded) || hasUnicode(decoded) ? prefix0x(str) : decoded\n}\nexport const isASCII = ( str: string | String, ext: boolean = true): boolean => (ext ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str.toString())\nexport const isHexString = ( str: string | String): boolean => str.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(str.toString())\nexport const isTxHash = ( str: string | String): boolean => str.length === 64 && isHexString(str)\nexport const hasUnicode = ( str: string | String): boolean => (JSON.stringify(str).match(/\\\\u[\\dA-F]{4}/gi)?.length ?? 0) > 0\n\n/* utf.js - UTF-8 <=> UTF-16 convertion\n *\n * Copyright (C) 1999 Masanao Izumo <iz@onicos.co.jp>\n * Version: 1.0\n * LastModified: Dec 25 1999\n * This library is free. You can redistribute it and/or modify it.\n */\nexport const uint8ArrayToUtf8String = (array: Uint8Array): string => {\n var out, i, len, c;\n var char2, char3;\n\n out = \"\";\n len = array.length;\n i = 0;\n while (i < len) {\n c = array[i++]!;\n switch (c >> 4)\n {\n case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c);\n break;\n case 12: case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++]!;\n out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));\n break;\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++]!;\n char3 = array[i++]!;\n out += String.fromCharCode(((c & 0x0F) << 12) |\n ((char2 & 0x3F) << 6) |\n ((char3 & 0x3F) << 0));\n break;\n }\n }\n\n return out;\n}\n"],"mappings":";AAAA,MAAa,cAAoB,UAA2D,MAAM,WAAW,MAAM,GAAG,MAAM,UAAU,EAAE,GAAG,MAAM,UAAU;AAC3J,MAAa,cAAsB,QAA2D,IAAI,WAAW,MAAM,GAAG,IAAI,UAAU,GAAS,QAAQ;AACrJ,MAAa,YAAsB,QAA2D,IAAI,WAAY,KAAK,GAAG,IAAI,UAAU,GAAU,OAAO;AAErJ,MAAM,gBAA6B,QAAkD,OAAO,SAAS,IAAI,GACrG,MACA,OAAO,KAAK,IAAI,QAAQ,IAAI,YAAY,IAAI,WAAW;AAE3D,MAAa,aAAsB,QAAwD,OAAO,KAAK,IAAI,CAAC,SAAS,MAAM;AAC3H,MAAa,qBAAsB,QAAkD,MAAM,IAAI,SAAS,MAAM,GAAG;AACjH,MAAa,eAAsB,QAAkD,MAAM,aAAa,IAAI,CAAC,SAAS,MAAM,GAAG;AAC/H,MAAa,eAAsB,QAAwD,OAAO,KAAK,IAAI,CAAC,SAAS,SAAS;AAC9H,MAAa,YAAsB,QAAwD,YAAY,IAAI;AAC3G,MAAa,eAAsB,QAAwD,OAAO,KAAK,WAAW,IAAI,EAAE,MAAM;AAC9H,MAAa,eAAsB,QAAwD,OAAO,KAAK,KAAK,SAAS;AACrH,MAAa,qBAAsB,QAAwD,OAAO,KAAK,IAAI;AAC3G,MAAa,cAAsB,QAAoD,WAAW,KAAK,YAAY,IAAI,CAAC;AACxH,MAAa,cAAsB,QAAoD,WAAW,KAAK,YAAY,IAAI,CAAC;AACxH,MAAa,iBAAsB,QAAoD,WAAW,KAAK,SAAS,IAAI,CAAC;AACrH,MAAa,eAAsB,QAAyD,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,cAAc,GAAG,QAAQ,CAAC;AAEhK,MAAa,iBAAsB,QAAkD,IAAI,SAAS,WAAW,IAAI,CAAC,OAAO;AACzH,MAAa,mBAAuB,OAAiD,IAAI,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW;AAE5I,MAAa,aAAsB,QAAkD;CAEnF,MAAM,UAAwB,YAAY,IAAI,CAAC,UAAU;AAEzD,QAAO,CAAC,QAAQ,QAAQ,IAAI,WAAW,QAAQ,GAAG,SAAS,IAAI,GAAG;;AAEpE,MAAa,WAAsB,KAAsB,MAAe,UAAmB,MAAM,mBAAmB,kBAAkB,KAAK,IAAI,UAAU,CAAC;AAC1J,MAAa,eAAsB,QAAkD,IAAI,SAAS,MAAM,KAAK,iBAAiB,KAAK,IAAI,UAAU,CAAC;AAClJ,MAAa,YAAsB,QAAkD,IAAI,WAAW,MAAM,YAAY,IAAI;AAC1H,MAAa,cAAsB,SAAuD,KAAK,UAAU,IAAI,CAAC,MAAM,kBAAkB,EAAE,UAAU,KAAK;AASvJ,MAAa,0BAA0B,UAA8B;CACnE,IAAI,KAAK,GAAG,KAAK;CACjB,IAAI,OAAO;AAEX,OAAM;AACN,OAAM,MAAM;AACZ,KAAI;AACJ,QAAO,IAAI,KAAK;AACd,MAAI,MAAM;AACV,UAAQ,KAAK,GAAb;GAEE,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;GAAG,KAAK;AAE7D,WAAO,OAAO,aAAa,EAAE;AAC7B;GACA,KAAK;GAAI,KAAK;AAEd,YAAQ,MAAM;AACd,WAAO,OAAO,cAAe,IAAI,OAAS,IAAM,QAAQ,GAAM;AAC9D;GACA,KAAK;AAEH,YAAQ,MAAM;AACd,YAAQ,MAAM;AACd,WAAO,OAAO,cAAe,IAAI,OAAS,MACtC,QAAQ,OAAS,KACjB,QAAQ,OAAS,EAAG;AACxB;;;AAIN,QAAO"}
1
+ {"version":3,"file":"hex.mjs","names":[],"sources":["../../src/lib/hex.ts"],"sourcesContent":["export const byteaToHex = (bytea: string | String): string => bytea.startsWith('\\\\x') ? bytea.substring(2) : bytea.toString()\nexport const hexToBytea = ( hex: string | String): string => hex.startsWith('\\\\x') ? hex.toString() : ( '\\\\x' + hex )\nexport const prefix0x = ( hex: string | String): string => hex.startsWith( '0x') ? hex.toString() : ( '0x' + hex )\n\nconst toBufferView = ( arr: Uint8Array): Buffer => Buffer.isBuffer(arr)\n ? arr\n : Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength)\n\nexport const encodeHex = ( str: string | String): string => Buffer.from(str).toString('hex')\nexport const toHexStringBuffer= ( arr: Buffer | null): string => arr ? arr.toString('hex') : ''\nexport const toHexString = ( arr: Uint8Array | null): string => arr ? toBufferView(arr).toString('hex') : ''\nexport const toB64String = ( arr: Uint8Array): string => Buffer.from(arr).toString('base64')\nexport const toBuffer = ( hex: string | String): Buffer => toHexBuffer(hex)\nexport const toHexBuffer = ( hex: string | String): Buffer => Buffer.from(byteaToHex(hex), 'hex')\nexport const toB64Buffer = ( str: string | String): Buffer => Buffer.from(str, 'base64')\nexport const toBufferFromArray= ( arr: Uint8Array): Buffer => Buffer.from(arr)\nexport const toHexArray = ( hex: string | String): Uint8Array => Uint8Array.from(toHexBuffer(hex))\nexport const toB64Array = ( str: string | String): Uint8Array => Uint8Array.from(toB64Buffer(str))\nexport const toStringArray = ( str: string | String): Uint8Array => Uint8Array.from(toBuffer(str))\nexport const sortHexList = ( arr: Iterable<string>): string[] => Array.from(new Set(arr)).sort((a, b) => a.localeCompare(b, 'en-US'))\n\nexport const hexToDataView = ( hex: string | String): DataView => new DataView(toHexArray(hex).buffer)\nexport const dataViewToArray = ( dv: DataView): Uint8Array => new Uint8Array(dv.buffer, dv.byteOffset, dv.byteLength)\n\nexport const decodeHex = ( str: string | String): string => {\n\n const decoded = toHexBuffer(str).toString()\n\n return !isASCII(decoded) || hasUnicode(decoded) ? prefix0x(str) : decoded\n}\nexport const isASCII = ( str: string | String, ext: boolean = true): boolean => (ext ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str.toString())\nexport const isHexString = ( str: string | String): boolean => str.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(str.toString())\nexport const isTxHash = ( str: string | String): boolean => str.length === 64 && isHexString(str)\nexport const hasUnicode = ( str: string | String): boolean => (JSON.stringify(str).match(/\\\\u[\\dA-F]{4}/gi)?.length ?? 0) > 0\n\nexport const normalizeHex = (value: string | undefined | null): string => {\n\n if (!value) { return '' }\n\n return byteaToHex(value).toLowerCase()\n}\n\nexport const normalizeHexList = (list: string[] | null | undefined): string[] => {\n\n if (!list || !Array.isArray(list)) { return [] }\n\n return list\n .map((item) => typeof item === 'string' ? normalizeHex(item) : '')\n .filter((item) => item.length > 0)\n}\n\n/* utf.js - UTF-8 <=> UTF-16 convertion\n *\n * Copyright (C) 1999 Masanao Izumo <iz@onicos.co.jp>\n * Version: 1.0\n * LastModified: Dec 25 1999\n * This library is free. You can redistribute it and/or modify it.\n */\nexport const uint8ArrayToUtf8String = (array: Uint8Array): string => {\n var out, i, len, c;\n var char2, char3;\n\n out = \"\";\n len = array.length;\n i = 0;\n while (i < len) {\n c = array[i++]!;\n switch (c >> 4)\n {\n case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c);\n break;\n case 12: case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++]!;\n out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));\n break;\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++]!;\n char3 = array[i++]!;\n out += String.fromCharCode(((c & 0x0F) << 12) |\n ((char2 & 0x3F) << 6) |\n ((char3 & 0x3F) << 0));\n break;\n }\n }\n\n return out;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternl/tools",
3
- "version": "0.11.0",
3
+ "version": "0.12.1",
4
4
  "description": "Shared tools package for log helpers, base utilities and bech32 helpers",
5
5
  "license": "BUSL-1.1",
6
6
  "type": "module",
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "bech32": "2.0.0",
35
35
  "blakejs": "1.2.1",
36
- "@eternl/big": "0.11.0"
36
+ "@eternl/big": "0.12.0"
37
37
  },
38
38
  "publishConfig": {
39
39
  "access": "public"