flagon
Version:
A tiny bitwise manipulation module built for mortals
38 lines (34 loc) • 712 B
JavaScript
;
var flagon = function flagon(A) {
return {
contains: function contains(B) {
return flagon.contains(A, B);
},
merge: function merge(B) {
return flagon(flagon.merge(A, B));
},
toggle: function toggle(B) {
return flagon(flagon.toggle(A, B));
},
value: function value() {
return A;
},
toString: function toString() {
return A.toString(2);
}
};
};
flagon.contains = function (A, B) {
return B == 0 || (A & B) == B;
};
flagon.merge = function (A, B) {
return A | B;
};
flagon.toggle = function (A, B) {
return A ^ B;
};
if (typeof module !== "undefined") {
module.exports = flagon;
} else {
window.flagon = flagon;
}