Path: blob/master/node_modules/@adiwajshing/baileys/WABinary/HexHelper.js
2593 views
const { randomBytes } = require('crypto')12const r = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70],3a = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102];45const i = (e) => {6for (var t = [], a = 0; a < e.length; a++) {7var i = e[a];8t.push(r[i >> 4], r[15 & i]);9}10return String.fromCharCode.apply(String, t);11};1213const n = (e, t) => {14var r = e.charCodeAt(t);15return r <= 57 ? r - 48 : r <= 70 ? 10 + r - 65 : 10 + r - 97;16};1718const s = (e) => {19if (/[^0-9a-fA-F]/.test(e)) throw new Error(`"${e}" is not a valid hex`);20return e;21};2223const o = (e, t) => {24for (var r = t - e.length, a = e, i = 0; i < r; i++) a = "0" + a;25return a;26};2728const l = (e) => {29return "-" === e[0];30};3132const d = (e) => {33if (e > 4294967295 || e < -4294967296)34throw new Error("uint32ToLowerCaseHex given number over 32 bits");35return o((e >= 0 ? e : 4294967296 + e).toString(16), 8);36};3738module.exports.NUM_HEX_IN_LONG = 16;39module.exports.HEX_LOWER = a;4041module.exports.randomHex = function (e) {42var t = new Uint8Array(e);43var bytes = randomBytes(t.length);44t.set(bytes);45return i(t);46};4748module.exports.toHex = i;4950module.exports.toLowerCaseHex = function (e) {51for (var t = [], r = 0; r < e.length; r++) {52var i = e[r];53t.push(a[i >> 4], a[15 & i]);54}55return String.fromCharCode.apply(String, t);56};5758module.exports.parseHex = function (e) {59var t = s(e);60if (t.length % 2 != 0)61throw new Error(62`parseHex given hex "${t}" which is not a multiple of 8-bits.`63);64for (65var r = new Uint8Array(t.length >> 1), a = 0, i = 0;66a < t.length;67a += 2, i++68)69r[i] = (n(t, a) << 4) | n(t, a + 1);70return r.buffer;71};7273module.exports.hexAt = n;74module.exports.hexOrThrow = s;75module.exports.bytesToBuffer = function (e) {76var t = e.buffer;77return 0 === e.byteOffset && e.length === t.byteLength78? t79: t.slice(e.byteOffset, e.byteOffset + e.length);80};8182module.exports.bytesToDebugString = function (e) {83var t = !0,84r = e.length;85for (; t && r; ) {86var a = e[--r];87t = 32 <= a && a < 127;88}89return t ? JSON.stringify(String.fromCharCode.apply(String, e)) : i(e);90};9192module.exports.createHexLong = function (e, t = !1) {93var r = s(e);94return (95(function (e, t) {96if (e.length > t) throw new Error(`"${e}" is longer than ${4 * t} bits.`);97})(r, 16),98`${t ? "-" : ""}0x${o(r, 16)}`99);100};101102module.exports.createHexLongFrom32Bits = function (e, t, r = !1) {103var a = d(e),104i = d(t);105return `${r ? "-" : ""}0x${a}${i}`;106};107108module.exports.hexLongToHex = function (e) {109return e.substring(e.indexOf("0x") + 2);110};111112module.exports.hexLongIsNegative = l;113114module.exports.negateHexLong = function (e) {115return l(e) ? e.slice(1) : "-" + e;116};117118119