68 rindas
1.3 KiB
JavaScript
68 rindas
1.3 KiB
JavaScript
(function (exports) {
|
|
'use strict';
|
|
|
|
var _index = require('./index.js');
|
|
|
|
var Unibabel = _interopRequireWildcard(_index).Unibabel;
|
|
|
|
function _interopRequireWildcard(obj) {
|
|
if (obj && obj.__esModule) {
|
|
return obj;
|
|
} else {
|
|
var newObj = {};
|
|
if (obj != null) {
|
|
for (var key in obj) {
|
|
if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
|
|
}
|
|
}
|
|
newObj.default = obj;
|
|
return newObj;
|
|
}
|
|
}
|
|
|
|
function bufferToHex(arr) {
|
|
var i;
|
|
var len;
|
|
var hex = '';
|
|
var c;
|
|
|
|
for (i = 0, len = arr.length; i < len; i += 1) {
|
|
c = arr[i].toString(16);
|
|
if (c.length < 2) {
|
|
c = '0' + c;
|
|
}
|
|
hex += c;
|
|
}
|
|
|
|
return hex;
|
|
}
|
|
|
|
function hexToBuffer(hex) {
|
|
// TODO use Uint8Array or ArrayBuffer or DataView
|
|
var i;
|
|
var byteLen = hex.length / 2;
|
|
var arr;
|
|
var j = 0;
|
|
|
|
if (byteLen !== parseInt(byteLen, 10)) {
|
|
throw new Error("Invalid hex length '" + hex.length + "'");
|
|
}
|
|
|
|
arr = new Uint8Array(byteLen);
|
|
|
|
for (i = 0; i < byteLen; i += 1) {
|
|
arr[i] = parseInt(hex[j] + hex[j + 1], 16);
|
|
j += 2;
|
|
}
|
|
|
|
return arr;
|
|
}
|
|
|
|
// Hex Convenience Functions
|
|
Unibabel.hexToBuffer = hexToBuffer;
|
|
Unibabel.bufferToHex = bufferToHex;
|
|
|
|
exports.Unibabel = Unibabel;
|
|
|
|
}('undefined' !== typeof exports && exports || 'undefined' !== typeof window && window || global));
|