@iotize/tap
Version:
IoTize Device client for Javascript
26 lines • 2.01 kB
JavaScript
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=