sigs = {
return [{
filter: (typedArray)=>{
const sig = [0xFF, 0xD8, 0xFF]
if (typedArray.length < sig.length) return false
return sig.every((v,i)=>{
return typedArray[i] === v
})
},
ext: ['jpg', 'jpeg'],
},{
filter: (typedArray)=>{
const sig = [0x47, 0x49, 0x46, 0x38]
if (typedArray.length < sig.length) return false
return sig.every((v,i)=>{
return typedArray[i] === v
})
},
ext: ['gif'],
},{
filter: (typedArray)=>{
const sig = [0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A]
if (typedArray.length < sig.length) return false
return sig.every((v,i)=>{
return typedArray[i] === v
})
},
ext: ['png'],
},{
filter: (typedArray)=>{
const sig0 = [0x52, 0x49, 0x46, 0x46]
const sig8 = [0x57, 0x45, 0x42, 0x50]
if (typedArray.length < 12) return false
return sig0.every((v,i)=>{
return typedArray[i] === v
}) && sig8.every((v,i)=>{
return typedArray[i+8] === v
})
},
ext: ['webp'],
},{
filter: (typedArray)=>{
const sig = [0x42, 0x4D]
if (typedArray.length < sig.length) return false
return sig.every((v,i)=>{
return typedArray[i] === v
})
},
ext: ['bmp'],
}]
}