Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
jajbshjahavahh
GitHub Repository: jajbshjahavahh/Gojo-Satoru
Path: blob/master/node_modules/@adiwajshing/baileys/WABinary/HexHelper.js
2593 views
1
const { randomBytes } = require('crypto')
2
3
const r = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70],
4
a = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102];
5
6
const i = (e) => {
7
for (var t = [], a = 0; a < e.length; a++) {
8
var i = e[a];
9
t.push(r[i >> 4], r[15 & i]);
10
}
11
return String.fromCharCode.apply(String, t);
12
};
13
14
const n = (e, t) => {
15
var r = e.charCodeAt(t);
16
return r <= 57 ? r - 48 : r <= 70 ? 10 + r - 65 : 10 + r - 97;
17
};
18
19
const s = (e) => {
20
if (/[^0-9a-fA-F]/.test(e)) throw new Error(`"${e}" is not a valid hex`);
21
return e;
22
};
23
24
const o = (e, t) => {
25
for (var r = t - e.length, a = e, i = 0; i < r; i++) a = "0" + a;
26
return a;
27
};
28
29
const l = (e) => {
30
return "-" === e[0];
31
};
32
33
const d = (e) => {
34
if (e > 4294967295 || e < -4294967296)
35
throw new Error("uint32ToLowerCaseHex given number over 32 bits");
36
return o((e >= 0 ? e : 4294967296 + e).toString(16), 8);
37
};
38
39
module.exports.NUM_HEX_IN_LONG = 16;
40
module.exports.HEX_LOWER = a;
41
42
module.exports.randomHex = function (e) {
43
var t = new Uint8Array(e);
44
var bytes = randomBytes(t.length);
45
t.set(bytes);
46
return i(t);
47
};
48
49
module.exports.toHex = i;
50
51
module.exports.toLowerCaseHex = function (e) {
52
for (var t = [], r = 0; r < e.length; r++) {
53
var i = e[r];
54
t.push(a[i >> 4], a[15 & i]);
55
}
56
return String.fromCharCode.apply(String, t);
57
};
58
59
module.exports.parseHex = function (e) {
60
var t = s(e);
61
if (t.length % 2 != 0)
62
throw new Error(
63
`parseHex given hex "${t}" which is not a multiple of 8-bits.`
64
);
65
for (
66
var r = new Uint8Array(t.length >> 1), a = 0, i = 0;
67
a < t.length;
68
a += 2, i++
69
)
70
r[i] = (n(t, a) << 4) | n(t, a + 1);
71
return r.buffer;
72
};
73
74
module.exports.hexAt = n;
75
module.exports.hexOrThrow = s;
76
module.exports.bytesToBuffer = function (e) {
77
var t = e.buffer;
78
return 0 === e.byteOffset && e.length === t.byteLength
79
? t
80
: t.slice(e.byteOffset, e.byteOffset + e.length);
81
};
82
83
module.exports.bytesToDebugString = function (e) {
84
var t = !0,
85
r = e.length;
86
for (; t && r; ) {
87
var a = e[--r];
88
t = 32 <= a && a < 127;
89
}
90
return t ? JSON.stringify(String.fromCharCode.apply(String, e)) : i(e);
91
};
92
93
module.exports.createHexLong = function (e, t = !1) {
94
var r = s(e);
95
return (
96
(function (e, t) {
97
if (e.length > t) throw new Error(`"${e}" is longer than ${4 * t} bits.`);
98
})(r, 16),
99
`${t ? "-" : ""}0x${o(r, 16)}`
100
);
101
};
102
103
module.exports.createHexLongFrom32Bits = function (e, t, r = !1) {
104
var a = d(e),
105
i = d(t);
106
return `${r ? "-" : ""}0x${a}${i}`;
107
};
108
109
module.exports.hexLongToHex = function (e) {
110
return e.substring(e.indexOf("0x") + 2);
111
};
112
113
module.exports.hexLongIsNegative = l;
114
115
module.exports.negateHexLong = function (e) {
116
return l(e) ? e.slice(1) : "-" + e;
117
};
118
119