UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

26 lines 2.01 kB
import { TapStreamReader, TapStreamWriter } from '@iotize/tap/client/impl'; import { readFieldLength, writeFieldLength, } from './tlv-mapped-json-compressor'; export class TLVMappedBooleanValueCompressor { constructor() { } encode(input, stream = new TapStreamWriter()) { if (input) { writeFieldLength(stream, 0); } else { writeFieldLength(stream, 1); stream.writeU1(0); } return stream.toBytes; } decode(streamOrBuffer) { const stream = TapStreamReader.create(streamOrBuffer); const length = readFieldLength(stream); if (length === 0) { return true; } else { return stream.readU(length) !== 0; } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGx2LW1hcHBlZC1ib29sZWFuLXZhbHVlLWNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2V4dHJhL2RiaW90L3NyYy9saWIvanNvbi1jb21wcmVzc29yL3Rsdi1tYXBwZWQtYm9vbGVhbi12YWx1ZS1jb252ZXJ0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGdCQUFnQixHQUNqQixNQUFNLDhCQUE4QixDQUFDO0FBRXRDLE1BQU0sT0FBTywrQkFBK0I7SUFHMUMsZ0JBQWUsQ0FBQztJQUVoQixNQUFNLENBQ0osS0FBYyxFQUNkLFNBQTBCLElBQUksZUFBZSxFQUFFO1FBRS9DLElBQUksS0FBSyxFQUFFO1lBQ1QsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDTCxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQjtRQUNELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQTRDO1FBQ2pELE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztDQUNGIn0=