@eternl/tools 0.10.9 → 0.10.10

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
@@ -73,6 +73,7 @@ exports.toFraction = require_lib_math.toFraction;
73
73
  exports.toHexArray = require_lib_hex.toHexArray;
74
74
  exports.toHexBuffer = require_lib_hex.toHexBuffer;
75
75
  exports.toHexString = require_lib_hex.toHexString;
76
+ exports.toHexStringBuffer = require_lib_hex.toHexStringBuffer;
76
77
  exports.toStringArray = require_lib_hex.toStringArray;
77
78
  exports.trimAllStrings = require_lib_string.trimAllStrings;
78
79
  exports.trimQuotes = require_lib_string.trimQuotes;
package/dist/index.d.cts CHANGED
@@ -3,7 +3,7 @@ import { el, er, error, sl, warn } from "./log/index.cjs";
3
3
  import { copyToNewArray, isSameArray, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList } from "./lib/array.cjs";
4
4
  import { blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str } from "./lib/blake.cjs";
5
5
  import { crc8 } from "./lib/crc8.cjs";
6
- import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.cjs";
6
+ import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.cjs";
7
7
  import { getRandomId, getShortId } from "./lib/id.cjs";
8
8
  import { toFraction } from "./lib/math.cjs";
9
9
  import { isNumber } from "./lib/number.cjs";
@@ -14,5 +14,5 @@ import { changeTimezone, now, setOffsetFromServer } from "./lib/time.cjs";
14
14
  //#region src/lib/guard.d.ts
15
15
  declare const fileHashSubstringLength = 8;
16
16
  //#endregion
17
- export { DEFAULT_SLEEP_MS, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeHex, ensureLength, er, error, fileHashSubstringLength, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toFraction, toHexArray, toHexBuffer, toHexString, toStringArray, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
17
+ export { DEFAULT_SLEEP_MS, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeHex, ensureLength, er, error, fileHashSubstringLength, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toFraction, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
18
18
  //# sourceMappingURL=index.d.cts.map
package/dist/index.d.mts CHANGED
@@ -3,7 +3,7 @@ import { el, er, error, sl, warn } from "./log/index.mjs";
3
3
  import { copyToNewArray, isSameArray, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList } from "./lib/array.mjs";
4
4
  import { blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str } from "./lib/blake.mjs";
5
5
  import { crc8 } from "./lib/crc8.mjs";
6
- import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.mjs";
6
+ import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.mjs";
7
7
  import { getRandomId, getShortId } from "./lib/id.mjs";
8
8
  import { toFraction } from "./lib/math.mjs";
9
9
  import { isNumber } from "./lib/number.mjs";
@@ -14,5 +14,5 @@ import { changeTimezone, now, setOffsetFromServer } from "./lib/time.mjs";
14
14
  //#region src/lib/guard.d.ts
15
15
  declare const fileHashSubstringLength = 8;
16
16
  //#endregion
17
- export { DEFAULT_SLEEP_MS, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeHex, ensureLength, er, error, fileHashSubstringLength, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toFraction, toHexArray, toHexBuffer, toHexString, toStringArray, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
17
+ export { DEFAULT_SLEEP_MS, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeHex, ensureLength, er, error, fileHashSubstringLength, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toFraction, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
18
18
  //# 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, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toStringArray, uint8ArrayToUtf8String } from "./lib/hex.mjs";
2
+ import { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, 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";
@@ -15,5 +15,5 @@ import { DEFAULT_SLEEP_MS, canUpdate, elapsedSeconds, elapsedTime, sleep, sleepD
15
15
  const fileHashSubstringLength = 8;
16
16
 
17
17
  //#endregion
18
- export { DEFAULT_SLEEP_MS, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeHex, ensureLength, er, error, fileHashSubstringLength, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toFraction, toHexArray, toHexBuffer, toHexString, toStringArray, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
18
+ export { DEFAULT_SLEEP_MS, blake2b160, blake2b224, blake2b224Str, blake2b256, blake2b256Str, byteaToHex, canUpdate, changeTimezone, copyToNewArray, crc8, createHash, createJsonFromCborJson, dataViewToArray, decodeHex, deepMerge, el, elapsedSeconds, elapsedTime, encodeHex, ensureLength, er, error, fileHashSubstringLength, getErrorMsg, getKeyValue, getRandomId, getShortId, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isNumber, isSameArray, isTxHash, json, now, prefix0x, removeDuplicates, removeMissingNumbersFromArray, removeNumberFromArray, replaceItemsInList, reverseString, setOffsetFromServer, sl, sleep, sleepDefault, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toFraction, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, trimAllStrings, trimQuotes, truncateAddress, truncateString, uint8ArrayToUtf8String, warn };
19
19
  //# sourceMappingURL=index.mjs.map
package/dist/lib/hex.cjs CHANGED
@@ -4,8 +4,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
  const byteaToHex = (bytea) => bytea.startsWith("\\x") ? bytea.substring(2) : bytea;
5
5
  const hexToBytea = (hex) => hex.startsWith("\\x") ? hex : "\\x" + hex;
6
6
  const prefix0x = (hex) => hex.startsWith("0x") ? hex : "0x" + hex;
7
+ const toBufferView = (arr) => Buffer.isBuffer(arr) ? arr : Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength);
7
8
  const encodeHex = (str) => Buffer.from(str).toString("hex");
8
- const toHexString = (arr) => arr ? Buffer.from(arr).toString("hex") : "";
9
+ const toHexStringBuffer = (arr) => arr ? arr.toString("hex") : "";
10
+ const toHexString = (arr) => arr ? toBufferView(arr).toString("hex") : "";
9
11
  const toB64String = (arr) => Buffer.from(arr).toString("base64");
10
12
  const toBuffer = (hex) => Buffer.from(toHexBuffer(hex));
11
13
  const toHexBuffer = (hex) => Buffer.from(byteaToHex(hex), "hex");
@@ -78,6 +80,7 @@ exports.toBufferFromArray = toBufferFromArray;
78
80
  exports.toHexArray = toHexArray;
79
81
  exports.toHexBuffer = toHexBuffer;
80
82
  exports.toHexString = toHexString;
83
+ exports.toHexStringBuffer = toHexStringBuffer;
81
84
  exports.toStringArray = toStringArray;
82
85
  exports.uint8ArrayToUtf8String = uint8ArrayToUtf8String;
83
86
  //# sourceMappingURL=hex.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hex.cjs","names":[],"sources":["../../src/lib/hex.ts"],"sourcesContent":["export const byteaToHex = (bytea: string): string => bytea.startsWith('\\\\x') ? bytea.substring(2) : bytea\nexport const hexToBytea = ( hex: string): string => hex.startsWith('\\\\x') ? hex : ( '\\\\x' + hex )\nexport const prefix0x = ( hex: string): string => hex.startsWith( '0x') ? hex : ( '0x' + hex )\n\nexport const encodeHex = ( str: string): string => Buffer.from(str).toString('hex')\nexport const toHexString = ( arr: Uint8Array | null): string => arr ? Buffer.from(arr).toString('hex') : ''\nexport const toB64String = ( arr: Uint8Array): string => Buffer.from(arr).toString('base64')\nexport const toBuffer = ( hex: string): Buffer => Buffer.from(toHexBuffer(hex))\nexport const toHexBuffer = ( hex: string): Buffer => Buffer.from(byteaToHex(hex), 'hex')\nexport const toB64Buffer = ( str: string): Buffer => Buffer.from(str, 'base64')\nexport const toBufferFromArray= ( arr: Uint8Array): Buffer => Buffer.from(arr)\nexport const toHexArray = ( hex: string): Uint8Array => Uint8Array.from(toHexBuffer(hex))\nexport const toB64Array = ( str: string): Uint8Array => Uint8Array.from(toB64Buffer(str))\nexport const toStringArray = ( str: string): Uint8Array => Uint8Array.from(toBuffer(str))\n\nexport const hexToDataView = ( hex: 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 => {\n\n const decoded = toHexBuffer(str).toString()\n\n return !isASCII(decoded) || hasUnicode(decoded) ? prefix0x(str) : decoded\n}\nexport const isASCII = ( str: string, ext: boolean = true): boolean => (ext ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str)\nexport const isHexString = ( str: string): boolean => str.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(str)\nexport const isTxHash = ( str: string): boolean => str.length === 64 && isHexString(str)\nexport const hasUnicode = ( str: 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;AAC3I,MAAa,cAAsB,QAA2D,IAAI,WAAW,MAAM,GAAG,MAAuB,QAAQ;AACrJ,MAAa,YAAsB,QAA2D,IAAI,WAAY,KAAK,GAAG,MAAwB,OAAO;AAErJ,MAAa,aAAsB,QAAwD,OAAO,KAAK,IAAI,CAAC,SAAS,MAAM;AAC3H,MAAa,eAAsB,QAAkD,MAAM,OAAO,KAAK,IAAI,CAAC,SAAS,MAAM,GAAG;AAC9H,MAAa,eAAsB,QAAwD,OAAO,KAAK,IAAI,CAAC,SAAS,SAAS;AAC9H,MAAa,YAAsB,QAAwD,OAAO,KAAK,YAAY,IAAI,CAAC;AACxH,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;AAErH,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,KAAa,MAAe,UAAuB,MAAM,mBAAmB,kBAAkB,KAAK,IAAI;AAC1I,MAAa,eAAsB,QAAkD,IAAI,SAAS,MAAM,KAAK,iBAAiB,KAAK,IAAI;AACvI,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 => bytea.startsWith('\\\\x') ? bytea.substring(2) : bytea\nexport const hexToBytea = ( hex: string): string => hex.startsWith('\\\\x') ? hex : ( '\\\\x' + hex )\nexport const prefix0x = ( hex: string): string => hex.startsWith( '0x') ? hex : ( '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 => 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): Buffer => Buffer.from(toHexBuffer(hex))\nexport const toHexBuffer = ( hex: string): Buffer => Buffer.from(byteaToHex(hex), 'hex')\nexport const toB64Buffer = ( str: string): Buffer => Buffer.from(str, 'base64')\nexport const toBufferFromArray= ( arr: Uint8Array): Buffer => Buffer.from(arr)\nexport const toHexArray = ( hex: string): Uint8Array => Uint8Array.from(toHexBuffer(hex))\nexport const toB64Array = ( str: string): Uint8Array => Uint8Array.from(toB64Buffer(str))\nexport const toStringArray = ( str: string): Uint8Array => Uint8Array.from(toBuffer(str))\n\nexport const hexToDataView = ( hex: 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 => {\n\n const decoded = toHexBuffer(str).toString()\n\n return !isASCII(decoded) || hasUnicode(decoded) ? prefix0x(str) : decoded\n}\nexport const isASCII = ( str: string, ext: boolean = true): boolean => (ext ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str)\nexport const isHexString = ( str: string): boolean => str.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(str)\nexport const isTxHash = ( str: string): boolean => str.length === 64 && isHexString(str)\nexport const hasUnicode = ( str: 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;AAC3I,MAAa,cAAsB,QAA2D,IAAI,WAAW,MAAM,GAAG,MAAuB,QAAQ;AACrJ,MAAa,YAAsB,QAA2D,IAAI,WAAY,KAAK,GAAG,MAAwB,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,OAAO,KAAK,YAAY,IAAI,CAAC;AACxH,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;AAErH,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,KAAa,MAAe,UAAuB,MAAM,mBAAmB,kBAAkB,KAAK,IAAI;AAC1I,MAAa,eAAsB,QAAkD,IAAI,SAAS,MAAM,KAAK,iBAAiB,KAAK,IAAI;AACvI,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"}
@@ -3,6 +3,7 @@ declare const byteaToHex: (bytea: string) => string;
3
3
  declare const hexToBytea: (hex: string) => string;
4
4
  declare const prefix0x: (hex: string) => string;
5
5
  declare const encodeHex: (str: string) => string;
6
+ declare const toHexStringBuffer: (arr: Buffer | null) => string;
6
7
  declare const toHexString: (arr: Uint8Array | null) => string;
7
8
  declare const toB64String: (arr: Uint8Array) => string;
8
9
  declare const toBuffer: (hex: string) => Buffer;
@@ -21,5 +22,5 @@ declare const isTxHash: (str: string) => boolean;
21
22
  declare const hasUnicode: (str: string) => boolean;
22
23
  declare const uint8ArrayToUtf8String: (array: Uint8Array) => string;
23
24
  //#endregion
24
- export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toStringArray, uint8ArrayToUtf8String };
25
+ export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String };
25
26
  //# 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;AAAA,cACpB,UAAA,GAAsB,GAAA;AAAA,cACtB,QAAA,GAAsB,GAAA;AAAA,cAEtB,SAAA,GAAsB,GAAA;AAAA,cACtB,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,QAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,iBAAA,GAAsB,GAAA,EAAK,UAAA,KAA8B,MAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cACzD,aAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cAEzD,aAAA,GAAsB,GAAA,aAAmC,QAAA;AAAA,cACzD,eAAA,GAAuB,EAAA,EAAI,QAAA,KAA8B,UAAA;AAAA,cAEzD,SAAA,GAAsB,GAAA;AAAA,cAMtB,OAAA,GAAsB,GAAA,UAAa,GAAA;AAAA,cACnC,WAAA,GAAsB,GAAA;AAAA,cACtB,QAAA,GAAsB,GAAA;AAAA,cACtB,UAAA,GAAsB,GAAA;AAAA,cAStB,sBAAA,GAA0B,KAAA,EAAO,UAAA"}
1
+ {"version":3,"file":"hex.d.cts","names":[],"sources":["../../src/lib/hex.ts"],"mappings":";cAAa,UAAA,GAAoB,KAAA;AAAA,cACpB,UAAA,GAAsB,GAAA;AAAA,cACtB,QAAA,GAAsB,GAAA;AAAA,cAMtB,SAAA,GAAsB,GAAA;AAAA,cACtB,iBAAA,GAAsB,GAAA,EAAK,MAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,QAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,iBAAA,GAAsB,GAAA,EAAK,UAAA,KAA8B,MAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cACzD,aAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cAEzD,aAAA,GAAsB,GAAA,aAAmC,QAAA;AAAA,cACzD,eAAA,GAAuB,EAAA,EAAI,QAAA,KAA8B,UAAA;AAAA,cAEzD,SAAA,GAAsB,GAAA;AAAA,cAMtB,OAAA,GAAsB,GAAA,UAAa,GAAA;AAAA,cACnC,WAAA,GAAsB,GAAA;AAAA,cACtB,QAAA,GAAsB,GAAA;AAAA,cACtB,UAAA,GAAsB,GAAA;AAAA,cAStB,sBAAA,GAA0B,KAAA,EAAO,UAAA"}
@@ -3,6 +3,7 @@ declare const byteaToHex: (bytea: string) => string;
3
3
  declare const hexToBytea: (hex: string) => string;
4
4
  declare const prefix0x: (hex: string) => string;
5
5
  declare const encodeHex: (str: string) => string;
6
+ declare const toHexStringBuffer: (arr: Buffer | null) => string;
6
7
  declare const toHexString: (arr: Uint8Array | null) => string;
7
8
  declare const toB64String: (arr: Uint8Array) => string;
8
9
  declare const toBuffer: (hex: string) => Buffer;
@@ -21,5 +22,5 @@ declare const isTxHash: (str: string) => boolean;
21
22
  declare const hasUnicode: (str: string) => boolean;
22
23
  declare const uint8ArrayToUtf8String: (array: Uint8Array) => string;
23
24
  //#endregion
24
- export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toStringArray, uint8ArrayToUtf8String };
25
+ export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String };
25
26
  //# 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;AAAA,cACpB,UAAA,GAAsB,GAAA;AAAA,cACtB,QAAA,GAAsB,GAAA;AAAA,cAEtB,SAAA,GAAsB,GAAA;AAAA,cACtB,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,QAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,iBAAA,GAAsB,GAAA,EAAK,UAAA,KAA8B,MAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cACzD,aAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cAEzD,aAAA,GAAsB,GAAA,aAAmC,QAAA;AAAA,cACzD,eAAA,GAAuB,EAAA,EAAI,QAAA,KAA8B,UAAA;AAAA,cAEzD,SAAA,GAAsB,GAAA;AAAA,cAMtB,OAAA,GAAsB,GAAA,UAAa,GAAA;AAAA,cACnC,WAAA,GAAsB,GAAA;AAAA,cACtB,QAAA,GAAsB,GAAA;AAAA,cACtB,UAAA,GAAsB,GAAA;AAAA,cAStB,sBAAA,GAA0B,KAAA,EAAO,UAAA"}
1
+ {"version":3,"file":"hex.d.mts","names":[],"sources":["../../src/lib/hex.ts"],"mappings":";cAAa,UAAA,GAAoB,KAAA;AAAA,cACpB,UAAA,GAAsB,GAAA;AAAA,cACtB,QAAA,GAAsB,GAAA;AAAA,cAMtB,SAAA,GAAsB,GAAA;AAAA,cACtB,iBAAA,GAAsB,GAAA,EAAK,MAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,WAAA,GAAsB,GAAA,EAAK,UAAA;AAAA,cAC3B,QAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,WAAA,GAAsB,GAAA,aAAmC,MAAA;AAAA,cACzD,iBAAA,GAAsB,GAAA,EAAK,UAAA,KAA8B,MAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cACzD,UAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cACzD,aAAA,GAAsB,GAAA,aAAmC,UAAA;AAAA,cAEzD,aAAA,GAAsB,GAAA,aAAmC,QAAA;AAAA,cACzD,eAAA,GAAuB,EAAA,EAAI,QAAA,KAA8B,UAAA;AAAA,cAEzD,SAAA,GAAsB,GAAA;AAAA,cAMtB,OAAA,GAAsB,GAAA,UAAa,GAAA;AAAA,cACnC,WAAA,GAAsB,GAAA;AAAA,cACtB,QAAA,GAAsB,GAAA;AAAA,cACtB,UAAA,GAAsB,GAAA;AAAA,cAStB,sBAAA,GAA0B,KAAA,EAAO,UAAA"}
package/dist/lib/hex.mjs CHANGED
@@ -2,8 +2,10 @@
2
2
  const byteaToHex = (bytea) => bytea.startsWith("\\x") ? bytea.substring(2) : bytea;
3
3
  const hexToBytea = (hex) => hex.startsWith("\\x") ? hex : "\\x" + hex;
4
4
  const prefix0x = (hex) => hex.startsWith("0x") ? hex : "0x" + hex;
5
+ const toBufferView = (arr) => Buffer.isBuffer(arr) ? arr : Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength);
5
6
  const encodeHex = (str) => Buffer.from(str).toString("hex");
6
- const toHexString = (arr) => arr ? Buffer.from(arr).toString("hex") : "";
7
+ const toHexStringBuffer = (arr) => arr ? arr.toString("hex") : "";
8
+ const toHexString = (arr) => arr ? toBufferView(arr).toString("hex") : "";
7
9
  const toB64String = (arr) => Buffer.from(arr).toString("base64");
8
10
  const toBuffer = (hex) => Buffer.from(toHexBuffer(hex));
9
11
  const toHexBuffer = (hex) => Buffer.from(byteaToHex(hex), "hex");
@@ -57,5 +59,5 @@ const uint8ArrayToUtf8String = (array) => {
57
59
  };
58
60
 
59
61
  //#endregion
60
- export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toStringArray, uint8ArrayToUtf8String };
62
+ export { byteaToHex, dataViewToArray, decodeHex, encodeHex, hasUnicode, hexToBytea, hexToDataView, isASCII, isHexString, isTxHash, prefix0x, toB64Array, toB64Buffer, toB64String, toBuffer, toBufferFromArray, toHexArray, toHexBuffer, toHexString, toHexStringBuffer, toStringArray, uint8ArrayToUtf8String };
61
63
  //# 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 => bytea.startsWith('\\\\x') ? bytea.substring(2) : bytea\nexport const hexToBytea = ( hex: string): string => hex.startsWith('\\\\x') ? hex : ( '\\\\x' + hex )\nexport const prefix0x = ( hex: string): string => hex.startsWith( '0x') ? hex : ( '0x' + hex )\n\nexport const encodeHex = ( str: string): string => Buffer.from(str).toString('hex')\nexport const toHexString = ( arr: Uint8Array | null): string => arr ? Buffer.from(arr).toString('hex') : ''\nexport const toB64String = ( arr: Uint8Array): string => Buffer.from(arr).toString('base64')\nexport const toBuffer = ( hex: string): Buffer => Buffer.from(toHexBuffer(hex))\nexport const toHexBuffer = ( hex: string): Buffer => Buffer.from(byteaToHex(hex), 'hex')\nexport const toB64Buffer = ( str: string): Buffer => Buffer.from(str, 'base64')\nexport const toBufferFromArray= ( arr: Uint8Array): Buffer => Buffer.from(arr)\nexport const toHexArray = ( hex: string): Uint8Array => Uint8Array.from(toHexBuffer(hex))\nexport const toB64Array = ( str: string): Uint8Array => Uint8Array.from(toB64Buffer(str))\nexport const toStringArray = ( str: string): Uint8Array => Uint8Array.from(toBuffer(str))\n\nexport const hexToDataView = ( hex: 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 => {\n\n const decoded = toHexBuffer(str).toString()\n\n return !isASCII(decoded) || hasUnicode(decoded) ? prefix0x(str) : decoded\n}\nexport const isASCII = ( str: string, ext: boolean = true): boolean => (ext ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str)\nexport const isHexString = ( str: string): boolean => str.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(str)\nexport const isTxHash = ( str: string): boolean => str.length === 64 && isHexString(str)\nexport const hasUnicode = ( str: 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;AAC3I,MAAa,cAAsB,QAA2D,IAAI,WAAW,MAAM,GAAG,MAAuB,QAAQ;AACrJ,MAAa,YAAsB,QAA2D,IAAI,WAAY,KAAK,GAAG,MAAwB,OAAO;AAErJ,MAAa,aAAsB,QAAwD,OAAO,KAAK,IAAI,CAAC,SAAS,MAAM;AAC3H,MAAa,eAAsB,QAAkD,MAAM,OAAO,KAAK,IAAI,CAAC,SAAS,MAAM,GAAG;AAC9H,MAAa,eAAsB,QAAwD,OAAO,KAAK,IAAI,CAAC,SAAS,SAAS;AAC9H,MAAa,YAAsB,QAAwD,OAAO,KAAK,YAAY,IAAI,CAAC;AACxH,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;AAErH,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,KAAa,MAAe,UAAuB,MAAM,mBAAmB,kBAAkB,KAAK,IAAI;AAC1I,MAAa,eAAsB,QAAkD,IAAI,SAAS,MAAM,KAAK,iBAAiB,KAAK,IAAI;AACvI,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 => bytea.startsWith('\\\\x') ? bytea.substring(2) : bytea\nexport const hexToBytea = ( hex: string): string => hex.startsWith('\\\\x') ? hex : ( '\\\\x' + hex )\nexport const prefix0x = ( hex: string): string => hex.startsWith( '0x') ? hex : ( '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 => 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): Buffer => Buffer.from(toHexBuffer(hex))\nexport const toHexBuffer = ( hex: string): Buffer => Buffer.from(byteaToHex(hex), 'hex')\nexport const toB64Buffer = ( str: string): Buffer => Buffer.from(str, 'base64')\nexport const toBufferFromArray= ( arr: Uint8Array): Buffer => Buffer.from(arr)\nexport const toHexArray = ( hex: string): Uint8Array => Uint8Array.from(toHexBuffer(hex))\nexport const toB64Array = ( str: string): Uint8Array => Uint8Array.from(toB64Buffer(str))\nexport const toStringArray = ( str: string): Uint8Array => Uint8Array.from(toBuffer(str))\n\nexport const hexToDataView = ( hex: 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 => {\n\n const decoded = toHexBuffer(str).toString()\n\n return !isASCII(decoded) || hasUnicode(decoded) ? prefix0x(str) : decoded\n}\nexport const isASCII = ( str: string, ext: boolean = true): boolean => (ext ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str)\nexport const isHexString = ( str: string): boolean => str.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(str)\nexport const isTxHash = ( str: string): boolean => str.length === 64 && isHexString(str)\nexport const hasUnicode = ( str: 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;AAC3I,MAAa,cAAsB,QAA2D,IAAI,WAAW,MAAM,GAAG,MAAuB,QAAQ;AACrJ,MAAa,YAAsB,QAA2D,IAAI,WAAY,KAAK,GAAG,MAAwB,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,OAAO,KAAK,YAAY,IAAI,CAAC;AACxH,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;AAErH,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,KAAa,MAAe,UAAuB,MAAM,mBAAmB,kBAAkB,KAAK,IAAI;AAC1I,MAAa,eAAsB,QAAkD,IAAI,SAAS,MAAM,KAAK,iBAAiB,KAAK,IAAI;AACvI,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eternl/tools",
3
- "version": "0.10.9",
3
+ "version": "0.10.10",
4
4
  "description": "Shared tools package for log helpers and base utilities",
5
5
  "license": "BUSL-1.1",
6
6
  "type": "module",