2017-06-28 18:30:14 +00:00
|
|
|
function arrayToHex(iv) {
|
2017-06-02 03:59:27 +00:00
|
|
|
let hexStr = '';
|
2017-06-09 17:44:12 +00:00
|
|
|
for (const i in iv) {
|
2017-06-02 03:59:27 +00:00
|
|
|
if (iv[i] < 16) {
|
|
|
|
hexStr += '0' + iv[i].toString(16);
|
|
|
|
} else {
|
|
|
|
hexStr += iv[i].toString(16);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
window.hexStr = hexStr;
|
|
|
|
return hexStr;
|
|
|
|
}
|
|
|
|
|
2017-06-28 18:30:14 +00:00
|
|
|
function hexToArray(str) {
|
|
|
|
const iv = new Uint8Array(str.length / 2);
|
2017-06-02 03:59:27 +00:00
|
|
|
for (let i = 0; i < str.length; i += 2) {
|
|
|
|
iv[i / 2] = parseInt(str.charAt(i) + str.charAt(i + 1), 16);
|
|
|
|
}
|
|
|
|
|
|
|
|
return iv;
|
|
|
|
}
|
|
|
|
|
2017-06-21 20:23:36 +00:00
|
|
|
function notify(str) {
|
2017-06-20 19:18:14 +00:00
|
|
|
if (!('Notification' in window)) {
|
2017-06-21 20:23:36 +00:00
|
|
|
return;
|
|
|
|
} else if (Notification.permission === 'granted') {
|
2017-06-21 21:31:21 +00:00
|
|
|
new Notification(str);
|
2017-06-21 20:23:36 +00:00
|
|
|
} else if (Notification.permission !== 'denied') {
|
|
|
|
Notification.requestPermission(function(permission) {
|
2017-06-21 21:31:21 +00:00
|
|
|
if (permission === 'granted') new Notification(str);
|
|
|
|
});
|
2017-06-21 20:23:36 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-06-02 03:59:27 +00:00
|
|
|
module.exports = {
|
2017-06-28 18:30:14 +00:00
|
|
|
arrayToHex,
|
|
|
|
hexToArray,
|
|
|
|
notify
|
2017-06-02 03:59:27 +00:00
|
|
|
};
|