lml-main
Version:
This is now a mono repository published into many standalone packages.
48 lines • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var ts_utils_1 = require("@lml/ts-utils");
exports.isAllocated = function (job) {
return job && job.currentAllocation && job.currentAllocation.courier ? true : false;
};
exports.getCollectionStop = function (job) {
if (!Array.isArray(job.stops)) {
console.error('Job does not have a valid stop', job);
return undefined;
}
return job.stops.filter(function (s) { return s.type === 'collection'; })[0];
};
exports.getDeliveryStop = function (job) {
if (!Array.isArray(job.stops)) {
console.error('Job does not have a valid stop', job);
return undefined;
}
return job.stops.filter(function (s) { return s.type === 'delivery'; })[0];
};
exports.isRejected = function (job) {
return job.lastAction === 'REJECTED';
};
exports.isAccepted = function (job) {
return job.lastAction === 'ACCEPTED';
};
exports.isAcknowledged = function (job) {
return job.lastAction === 'ACK';
};
exports.isNotAcknowledged = function (job) {
return job.lastAction === 'NACK';
};
exports.getItems = function (job) {
return job.metadata && Number.isInteger(job.metadata.items) ? job.metadata.items : null;
};
exports.timeToPickup = function (job) {
return mkTimeDiffInMinutes(job.pickupBy);
};
exports.timeToComplete = function (job) {
return mkTimeDiffInMinutes(job.completeBy);
};
var mkTimeDiffInMinutes = function (date) {
if (typeof date === 'string') {
return Math.floor(ts_utils_1.diffNow(date) / 60000);
}
return 0;
};
//# sourceMappingURL=job.js.map