@iotize/tap
Version:
IoTize Device client for Javascript
25 lines • 2.31 kB
JavaScript
import { NumberConverter } from './number-converter';
export class BooleanConverter {
constructor(_mask = 0x1) {
this._mask = _mask;
}
decode(data) {
var value = NumberConverter.fromBytes(data, data.length, false, BooleanConverter.IS_LEAST_SIGNIFICANT_BIT_FIRST);
return BooleanConverter.decodeFromNumber(this._mask, value);
}
encode(value) {
return Uint8Array.from([value ? this._mask : 0]);
}
static decodeFromNumber(mask, value) {
return (mask == 0 && value == 0) || (value & mask) != 0;
}
static instanceBit0() {
if (!BooleanConverter._instance) {
BooleanConverter._instance = new BooleanConverter(0b1);
}
return BooleanConverter._instance;
}
}
BooleanConverter.IS_LEAST_SIGNIFICANT_BIT_FIRST = true;
BooleanConverter._instance = undefined;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1kZWNvZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vY2xpZW50L2ltcGwvc3JjL2xpYi9jb252ZXJ0ZXIvYm9keS9ib29sZWFuLWRlY29kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJELE1BQU0sT0FBTyxnQkFBZ0I7SUFPM0IsWUFBc0IsUUFBZ0IsR0FBRztRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO0lBQUcsQ0FBQztJQUV0QyxNQUFNLENBQUMsSUFBZ0I7UUFDNUIsSUFBSSxLQUFLLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FDbkMsSUFBSSxFQUNKLElBQUksQ0FBQyxNQUFNLEVBQ1gsS0FBSyxFQUNMLGdCQUFnQixDQUFDLDhCQUE4QixDQUNoRCxDQUFDO1FBQ0YsT0FBTyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBYztRQUMxQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN4RCxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWTtRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFO1lBQy9CLGdCQUFnQixDQUFDLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7SUFDcEMsQ0FBQzs7QUE3Qk0sK0NBQThCLEdBQUcsSUFBSSxDQUFDO0FBRXRDLDBCQUFTLEdBQXNCLFNBQVMsQ0FBQyJ9