// Visualize Buffer by Dominic Tarr https://github.com/dominictarr/visualize-buffer
export function vb (b, width) {
width = width || 256
var canvas = document.createElement('canvas')
canvas.height = width
canvas.width = width
var ctx = canvas.getContext('2d')
var blocks = Math.ceil(Math.sqrt(b.length*2))
var B = Math.ceil(width/blocks)
function rect(i, color) {
var x = i % blocks
var y = ~~(i / blocks)
if(color < 12)
ctx.fillStyle =
'hsl('+(color/12)*360 + ',100%,50%)'
else {
ctx.fillStyle =
'hsl(0,0%,'+~~(((color-12)/3)*100)+'%'
}
ctx.fillRect(x*B, y*B, B, B)
}
for(var i = 0; i < b.length; i++) {
rect(2*i, b[i] >> 4 & 15)
rect(2*i + 1, b[i] & 15)
}
var img = document.createElement('img')
img.src = canvas.toDataURL()
return img
}