sim800
Version:
A modern and opiniated module for SIM800 GSM modems ( SIM800 / SIM800L ).
22 lines • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.smsStreamSubscriberFactory = void 0;
const sim800_outgoing_sms_interface_1 = require("../interfaces/sim800-outgoing-sms.interface");
const smsStreamSubscriberFactory = (client) => (sms) => {
if (sms.type === 'part') {
const existingSms = client.outboxSpooler.find((outboxSms) => outboxSms.parts.some((part) => sms.data.belongsTo.some((id) => part.belongsTo.includes(id))));
if (existingSms) {
existingSms.parts.push(sms.data);
}
if (existingSms &&
(existingSms === null || existingSms === void 0 ? void 0 : existingSms.parts.length) === existingSms.length &&
existingSms.parts.every((part) => part.status === sim800_outgoing_sms_interface_1.Sim800OutgoingSmsStatus.Sent)) {
existingSms.status = sim800_outgoing_sms_interface_1.Sim800OutgoingSmsStatus.Sent;
}
}
else {
client.outboxSpooler.push(sms.data);
}
};
exports.smsStreamSubscriberFactory = smsStreamSubscriberFactory;
//# sourceMappingURL=sms-stream-subscriber.js.map