@universal-productions/lib-client-elrn-js
Version:
javascript library to interact with ardor elrn child chain
39 lines (35 loc) • 1.12 kB
JavaScript
export default function byteArrayToHexString(bytes) {
var charToNibble = {};
var nibbleToChar = [];
var i;
for (i = 0; i <= 9; ++i) {
var character = i.toString();
charToNibble[character] = i;
nibbleToChar.push(character);
}
for (i = 10; i <= 15; ++i) {
var lowerChar = String.fromCharCode('a'.charCodeAt(0) + i - 10);
var upperChar = String.fromCharCode('A'.charCodeAt(0) + i - 10);
charToNibble[lowerChar] = i;
charToNibble[upperChar] = i;
nibbleToChar.push(lowerChar);
}
return (!bytes) ?
Promise.reject(new Error(
'Called byteArrayToHexString without input param')) :
new Promise((resolve, reject) => {
try {
var str = '';
for (var i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) {
bytes[i] += 256;
}
str += nibbleToChar[bytes[i] >> 4] + nibbleToChar[bytes[
i] & 0x0F];
}
resolve(str);
} catch (err) {
reject(err);
}
})
}