All files / util abToHex.ts

100% Statements 5/5
100% Branches 0/0
100% Functions 2/2
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                              2x     1x 1x 1x     1x  
/**
 * ArrayBuffer 转 16 进制字符串
 * @method abToHex
 * @param {ArrayBuffer} buffer 需要转换的 ArrayBuffer
 * @return {String} 16进制字符串
 * @example
 * import { abToHex } from '@spore-ui/tskit';
 * const ab = new ArrayBuffer(2);
 * const dv = new DataView(ab);
 * dv.setUint8(0, 171);
 * dv.setUint8(1, 205);
 * abToHex(ab); // => 'abcd'
 */
 
function iterator(bit: number): string {
  return (`00${bit.toString(16)}`).slice(-2);
}
 
export function abToHex(buffer: ArrayBuffer): string {
  const u8arr = new Uint8Array(buffer);
  return Array.prototype.map.call(u8arr, iterator).join('');
}
 
export default abToHex;