UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

25 lines 2.31 kB
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