UNPKG

@iotile/iotile-device

Version:

A typescript library for interfacing with IOTile BLE devices

66 lines 2.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Utilities = require("@iotile/iotile-common"); const iotile_reports_1 = require("../../common/iotile-reports"); const utilities_1 = require("../utilities"); function createIndividualReport(uuid, stream, value, sentTime, rawTime) { return Utilities.packArrayBuffer('BBHLLLL', 0, 0, Utilities.mapStreamName(stream), uuid, sentTime, rawTime, value); } exports.createIndividualReport = createIndividualReport; function expectIndividual(inReport, uuid, stream, value, sentTime, rawTime) { expect(inReport.constructor.name).toBe('IndividualReport'); let report = inReport; expect(report.deviceID).toBe(uuid); if (uuid !== report.deviceID) { debugger; } expect(report.reading.stream).toBe(Utilities.mapStreamName(stream)); expect(report.reading.value).toBe(value); expect(report.reading.timestamp).toBe(rawTime); expect(report.sentTimestamp).toBe(sentTime); } exports.expectIndividual = expectIndividual; function expectSequential(inReport, uuid, stream, count, streamer) { expect(inReport.constructor.name).toBe('SignedListReport'); let report = inReport; let header = report.header; expect(report.validity).toEqual(iotile_reports_1.SignatureStatus.Valid); expect(header.uuid).toEqual(uuid); expect(header.streamer).toEqual(streamer); expect(report.readings.length).toEqual(count); for (let i = 0; i < count; ++i) { let reading = report.readings[i]; expect(reading.id).toEqual(i + 1); expect(reading.value).toEqual(i); expect(reading.timestamp).toEqual(i); expect(reading.stream).toEqual(Utilities.mapStreamName(stream)); } } exports.expectSequential = expectSequential; function feedInPieces(report, handler, size) { for (let i = 0; i < report.byteLength; i += size) { handler(report.slice(i, i + size)); } } exports.feedInPieces = feedInPieces; function createReading(stream, timestamp, value, id) { return { 'stream': Utilities.mapStreamName(stream), 'timestamp': timestamp, 'value': value, 'id': id }; } exports.createReading = createReading; function createSequentialReport(uuid, stream, count, streamer, start) { let readings = []; if (start == null) { start = 0; } for (let i = start; i < (start + count); ++i) { readings.push(createReading(stream, i, i, i + 1)); } return utilities_1.createHashListReport(uuid, count + 1, streamer, count + start, readings); } exports.createSequentialReport = createSequentialReport; //# sourceMappingURL=report-creation.util.js.map