@iotile/iotile-device
Version:
A typescript library for interfacing with IOTile BLE devices
66 lines • 2.67 kB
JavaScript
;
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