@indrajala/asn1der
Version:
parse ASN.1 DER structures
20 lines • 777 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStandAloneBitsValue = exports.bitsAreSet = exports.bitMask = void 0;
const one = Buffer.from('01', 'hex').readUInt8(0);
exports.bitMask = (bits) => {
let byteMask = Buffer.from('00', 'hex').readUInt8(0);
for (const bitNumber of bits) {
const bitMask = one << (bitNumber - 1);
byteMask = byteMask | bitMask;
}
return byteMask;
};
exports.bitsAreSet = (b, bits) => {
//console.log(`bitsAreSet ${b} ${bits}`);
const mask = exports.bitMask(bits);
//console.log(`mask ${mask}`);
return (b & mask) == mask;
};
exports.getStandAloneBitsValue = (b, bits) => (b & exports.bitMask(bits)) >> (Math.min(...bits) - 1);
//# sourceMappingURL=bitwise.js.map