UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

211 lines 18.8 kB
/** * Generated file. Do not edit */ import { WirelessPairingOptions } from './models'; import { LowPowerOptimizationLevel } from './models'; import { CpuFrequencySpeed } 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.readLoginCredential = function () { const model = {}; model.username = this.readString(16); model.password = this.readString(16); return model; }; TapStreamReader.prototype.readLoginCredentialHashed = function () { const model = {}; model.username = this.readString(16); model.password = this.readBytes(16); return model; }; TapStreamReader.prototype.readSecurityOptions = function () { const model = {}; this.forwardBits(8); this.forwardBits(3); model.scramActivated = this.readBoolean(1); model.hashPassword = this.readBoolean(1); model.disableHardwareFactoryReset = this.readBoolean(1); model.disableLoginWithUID = this.readBoolean(1); model.disableResourceFactoryReset = this.readBoolean(1); return model; }; TapStreamReader.prototype.readWirelessPairingOptions = function () { const model = {}; this.forwardBits(5); model.blePairing = this.readBoolean(1); model.nfcPairingMode = this.readBits(2); return model; }; TapStreamReader.prototype.readCpuFrequencyOptions = function () { const model = {}; this.forwardBits(6); model.speed = this.readBits(2); return model; }; TapStreamReader.prototype.readPowerOptimizationOptions = function () { const model = {}; this.forwardBits(4); model.cpuFrequencySpeed = this.readBits(2); model.lowPowerOptimizationLevel = this.readBits(2); return model; }; TapStreamReader.prototype.readNetworkOptions = function () { const model = {}; this.forwardBits(3); model.radioMixEnabled = this.readBoolean(1); model.lteEnabled = this.readBoolean(1); model.ethernetEnabled = this.readBoolean(1); model.wifiDisabled = this.readBoolean(1); model.wifiNetworkMode = this.readBoolean(1); return model; }; TapStreamReader.prototype.readProtocolMaxFrameSize = function () { const model = {}; model.request = this.readUnsigned(2); model.response = this.readUnsigned(2); return model; }; TapStreamReader.prototype.readMultiRequestFrame = function () { const model = {}; model.requests = []; while (!this.isEof()) { model.requests.push(this.readMultiRequestFrameRequestItem()); } return model; }; TapStreamReader.prototype.readMultiRequestFrameRequestItem = function () { const model = {}; model.requestLen = this.readUnsigned(2); model.request = this.subStream(model.requestLen).readTapRequestFrame(); model.expectedResponseStatus = this.readUnsigned(1); return model; }; TapStreamReader.prototype.readMultiResponseFrame = function () { const model = {}; model.responses = []; while (!this.isEof()) { model.responses.push(this.readMultiResponseFrameResponseItem()); } return model; }; TapStreamReader.prototype.readMultiResponseFrameResponseItem = function () { const model = {}; model.responseLen = this.readUnsigned(2); model.response = this.subStream(model.responseLen).readTapResponseFrame(); return model; }; // TapStreamWriter.prototype.write(model: LoginCredential) : TapStreamWriter{ // return this.writeLoginCredential(model) // } TapStreamWriter.prototype.writeLoginCredential = function (model) { this.writeString(model.username, 16); this.writeString(model.password, 16); return this; }; // TapStreamWriter.prototype.write(model: LoginCredentialHashed) : TapStreamWriter{ // return this.writeLoginCredentialHashed(model) // } TapStreamWriter.prototype.writeLoginCredentialHashed = function (model) { this.writeString(model.username, 16); this.writeBytes(model.password, 16); return this; }; // TapStreamWriter.prototype.write(model: SecurityOptions) : TapStreamWriter{ // return this.writeSecurityOptions(model) // } TapStreamWriter.prototype.writeSecurityOptions = function (model) { this.forwardBits(8); this.forwardBits(3); this.writeBoolean(model.scramActivated, 1); this.writeBoolean(model.hashPassword, 1); this.writeBoolean(model.disableHardwareFactoryReset, 1); this.writeBoolean(model.disableLoginWithUID, 1); this.writeBoolean(model.disableResourceFactoryReset, 1); return this; }; // TapStreamWriter.prototype.write(model: WirelessPairingOptions) : TapStreamWriter{ // return this.writeWirelessPairingOptions(model) // } TapStreamWriter.prototype.writeWirelessPairingOptions = function (model) { this.forwardBits(5); this.writeBoolean(model.blePairing, 1); this.writeBitsInt(enumKeyOrValueToNumber(model.nfcPairingMode, WirelessPairingOptions.NfcPairingMode), 2); return this; }; // TapStreamWriter.prototype.write(model: CpuFrequencyOptions) : TapStreamWriter{ // return this.writeCpuFrequencyOptions(model) // } TapStreamWriter.prototype.writeCpuFrequencyOptions = function (model) { this.forwardBits(6); this.writeBitsInt(enumKeyOrValueToNumber(model.speed, CpuFrequencySpeed), 2); return this; }; // TapStreamWriter.prototype.write(model: PowerOptimizationOptions) : TapStreamWriter{ // return this.writePowerOptimizationOptions(model) // } TapStreamWriter.prototype.writePowerOptimizationOptions = function (model) { this.forwardBits(4); this.writeBitsInt(enumKeyOrValueToNumber(model.cpuFrequencySpeed, CpuFrequencySpeed), 2); this.writeBitsInt(enumKeyOrValueToNumber(model.lowPowerOptimizationLevel, LowPowerOptimizationLevel), 2); return this; }; // TapStreamWriter.prototype.write(model: NetworkOptions) : TapStreamWriter{ // return this.writeNetworkOptions(model) // } TapStreamWriter.prototype.writeNetworkOptions = function (model) { this.forwardBits(3); this.writeBoolean(model.radioMixEnabled !== undefined ? model.radioMixEnabled : 0, 1); this.writeBoolean(model.lteEnabled !== undefined ? model.lteEnabled : 0, 1); this.writeBoolean(model.ethernetEnabled !== undefined ? model.ethernetEnabled : 0, 1); this.writeBoolean(model.wifiDisabled !== undefined ? model.wifiDisabled : 0, 1); this.writeBoolean(model.wifiNetworkMode !== undefined ? model.wifiNetworkMode : 0, 1); return this; }; // TapStreamWriter.prototype.write(model: ProtocolMaxFrameSize) : TapStreamWriter{ // return this.writeProtocolMaxFrameSize(model) // } TapStreamWriter.prototype.writeProtocolMaxFrameSize = function (model) { this.writeUnsigned(model.request, 2); this.writeUnsigned(model.response, 2); return this; }; // TapStreamWriter.prototype.write(model: MultiRequestFrame) : TapStreamWriter{ // return this.writeMultiRequestFrame(model) // } TapStreamWriter.prototype.writeMultiRequestFrame = function (model) { for (let item of model.requests) { this.writeMultiRequestFrameRequestItem(item); } return this; }; TapStreamWriter.prototype.writeMultiRequestFrameRequestItem = function (model) { this.writeUnsigned(model.requestLen, 2); this.writeTapRequestFrame(model.request); this.writeUnsigned(model.expectedResponseStatus, 1); return this; }; // TapStreamWriter.prototype.write(model: MultiResponseFrame) : TapStreamWriter{ // return this.writeMultiResponseFrame(model) // } TapStreamWriter.prototype.writeMultiResponseFrame = function (model) { for (let item of model.responses) { this.writeMultiResponseFrameResponseItem(item); } return this; }; TapStreamWriter.prototype.writeMultiResponseFrameResponseItem = function (model) { this.writeUnsigned(model.responseLen, 2); this.writeTapResponseFrame(model.response); return this; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLXN0cmVhbS1leHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL2ltcGwvaW50ZXJmYWNlL3NyYy9saWIvZ2VuZXJhdGVkL2NvbnZlcnRlci1zdHJlYW0tZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBT0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFRN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQThEakUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsR0FBRztJQUM5QyxNQUFNLEtBQUssR0FBNkIsRUFBRSxDQUFDO0lBRTNDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVyQyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFckMsT0FBTyxLQUF3QixDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUVGLGVBQWUsQ0FBQyxTQUFTLENBQUMseUJBQXlCO0lBQ2pEO1FBQ0UsTUFBTSxLQUFLLEdBQW1DLEVBQUUsQ0FBQztRQUVqRCxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckMsS0FBSyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBD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