@eternl/tools 0.12.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 +2 -0
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/lib/hex.cjs +10 -0
- package/dist/lib/hex.cjs.map +1 -1
- package/dist/lib/hex.d.cts +3 -1
- package/dist/lib/hex.d.cts.map +1 -1
- package/dist/lib/hex.d.mts +3 -1
- package/dist/lib/hex.d.mts.map +1 -1
- package/dist/lib/hex.mjs +9 -1
- package/dist/lib/hex.mjs.map +1 -1
- package/package.json +1 -1
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;
|
package/dist/lib/hex.cjs.map
CHANGED
|
@@ -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;
|
|
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":"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"}
|
package/dist/lib/hex.d.cts
CHANGED
|
@@ -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
|
package/dist/lib/hex.d.cts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/lib/hex.d.mts
CHANGED
|
@@ -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
|
package/dist/lib/hex.d.mts.map
CHANGED
|
@@ -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,
|
|
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
|
package/dist/lib/hex.mjs.map
CHANGED
|
@@ -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;
|
|
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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"}
|