@iotize/tap
Version:
IoTize Device client for Javascript
122 lines • 12.9 kB
JavaScript
/**
* Generated file. Do not edit
*/
import { SinglePacketStoreInfo } from './models';
import { SinglePacket } from './models';
import { SinglePacketChunk } from './models';
import { TapStreamReader } from '@iotize/tap/client/impl';
import { TapStreamWriter } from '@iotize/tap/client/impl';
import { enumKeyOrValueToNumber } from '@iotize/tap/client/impl';
TapStreamReader.prototype.readSinglePacketStoreInfo =
function () {
const model = {};
this.forwardBits(24);
model.state = this.readUnsigned(1);
return model;
};
TapStreamReader.prototype.readSinglePacket = function () {
const model = {};
model.sendTime = this.readUnsigned(4);
model.header = this.readSinglePacketHeader();
model.payload = this.readSinglePacketPayload();
return model;
};
TapStreamReader.prototype.readSinglePacketHeader =
function () {
const model = {};
model.packetLength = this.readUnsigned(2);
model.packetId = this.readUnsigned(2);
model.configVersion = this.readUnsigned(4);
model.messageType = this.readBits(4);
this.forwardBits(1);
model.isExtended = this.readBoolean(1);
model.encryption = this.readBoolean(1);
model.ack = this.readBoolean(1);
model.senderId = this.readUnsigned(1);
model.salt = this.readUnsigned(2);
return model;
};
TapStreamReader.prototype.readSinglePacketPayload =
function () {
const model = {};
model.logTime = this.readUnsigned(4);
model.dataSize = this.readUnsigned(2);
model.data = this.readBytes((model.dataSize === undefined ? 0 : model.dataSize) == 0
? this.getStreamSize() - 4
: model.dataSize === undefined
? 0
: model.dataSize);
model.padding = this.readBytes((4 - ((model.data.length + 10) % 4)) % 4);
model.crc = this.readUnsigned(4);
return model;
};
TapStreamReader.prototype.readSinglePacketChunk =
function () {
const model = {};
model.format = this.readBits(4);
model.length = this.readBits(12);
model.offset = this.readUnsigned(model.format == 0b1000 ? 4 : 2);
model.data = this.readBytes((model.length === undefined ? 0 : model.length) * 16);
return model;
};
// TapStreamWriter.prototype.write(model: SinglePacketStoreInfo) : TapStreamWriter{
// return this.writeSinglePacketStoreInfo(model)
// }
TapStreamWriter.prototype.writeSinglePacketStoreInfo = function (model) {
this.forwardBits(24);
this.writeBitsInt(enumKeyOrValueToNumber(model.state, SinglePacketStoreInfo.State), 8);
return this;
};
// TapStreamWriter.prototype.write(model: SinglePacket) : TapStreamWriter{
// return this.writeSinglePacket(model)
// }
TapStreamWriter.prototype.writeSinglePacket = function (model) {
this.writeUnsigned(model.sendTime, 4);
this.writeSinglePacketHeader(model.header);
this.writeSinglePacketPayload(model.payload);
return this;
};
TapStreamWriter.prototype.writeSinglePacketHeader = function (model) {
this.writeUnsigned(model.packetLength, 2);
this.writeUnsigned(model.packetId, 2);
this.writeUnsigned(model.configVersion, 4);
this.writeBitsInt(enumKeyOrValueToNumber(model.messageType, SinglePacket.PacketType), 4);
this.forwardBits(1);
this.writeBoolean(model.isExtended, 1);
this.writeBoolean(model.encryption, 1);
this.writeBoolean(model.ack, 1);
this.writeUnsigned(model.senderId, 1);
this.writeUnsigned(model.salt, 2);
return this;
};
TapStreamWriter.prototype.writeSinglePacketPayload = function (model) {
this.writeUnsigned(model.logTime, 4);
this.writeUnsigned(model.dataSize !== undefined
? model.dataSize
: model.data.length > 0xffff
? 0
: model.data.length, 2);
this.writeBytes(model.data, (model.dataSize === undefined ? 0 : model.dataSize) == 0
? model.data.length
: model.dataSize === undefined
? 0
: model.dataSize);
this.writeFunction('padding', undefined, model.padding, (4 - ((model.data.length + 10) % 4)) % 4);
this.writeFunction('crc32', {
offset: 4,
}, model.crc, 4);
return this;
};
// TapStreamWriter.prototype.write(model: SinglePacketChunk) : TapStreamWriter{
// return this.writeSinglePacketChunk(model)
// }
TapStreamWriter.prototype.writeSinglePacketChunk = function (model) {
this.writeBitsInt(enumKeyOrValueToNumber(model.format, SinglePacketChunk.Format), 4);
this.writeBits(model.length !== undefined ? model.length : model.data.length / 16, 12);
this.writeUnsigned(model.offset, model.format == 0b1000 ? 4 : 2);
this.writeBytes(model.data, (model.length === undefined ? 0 : model.length) == 0
? model.data.length
: (model.length === undefined ? 0 : model.length) * 16);
return this;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLXN0cmVhbS1leHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL2ltcGwvc2luZ2xlLXBhY2tldC9zcmMvbGliL2dlbmVyYXRlZC9jb252ZXJ0ZXItc3RyZWFtLWV4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBMkJqRSxlQUFlLENBQUMsU0FBUyxDQUFDLHlCQUF5QjtJQUNqRDtRQUNFLE1BQU0sS0FBSyxHQUFtQyxFQUFFLENBQUM7UUFFakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVyQixLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkMsT0FBTyxLQUE4QixDQUFDO0lBQ3hDLENBQUMsQ0FBQztBQUVKLGVBQWUsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUc7SUFDM0MsTUFBTSxLQUFLLEdBQTBCLEVBQUUsQ0FBQztJQUV4QyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUU3QyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUks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