sim800
Version:
A modern and opiniated module for SIM800 GSM modems ( SIM800 / SIM800L ).
49 lines • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleSmsStreamAfterPduPart = void 0;
const sim800_outgoing_sms_interface_1 = require("../interfaces/sim800-outgoing-sms.interface");
const get_sms_type_stream_event_1 = require("./get-sms-type-stream-event");
/**
*
* @param data
* @param smsStream$
* @param outboxSpooler
*
* This function is used to handle the sms stream publications after a pdu part has been sent.
*/
const handleSmsStreamAfterPduPart = (data, smsStream$, outboxSpooler, compositeId, text, deliveryReport, number, messageReference) => {
if (data.length === 1) {
smsStream$.next((0, get_sms_type_stream_event_1.getSmsTypeStreamEvent)(compositeId, text, 1, deliveryReport, number, sim800_outgoing_sms_interface_1.Sim800OutgoingSmsStatus.Sent, [
{
messageReference,
status: sim800_outgoing_sms_interface_1.Sim800OutgoingSmsStatus.Sent,
belongsTo: compositeId,
},
]));
}
else {
// We try to find an existing sms for which some ids match some items of our compositeId
const existingSms = outboxSpooler.find((sms) => sms.parts.some((part) => compositeId.includes(part.messageReference)));
if (existingSms) {
smsStream$.next({
type: 'part',
data: {
messageReference,
status: sim800_outgoing_sms_interface_1.Sim800OutgoingSmsStatus.Sent,
belongsTo: compositeId,
},
});
}
else {
smsStream$.next((0, get_sms_type_stream_event_1.getSmsTypeStreamEvent)(compositeId, text, 1, deliveryReport, number, sim800_outgoing_sms_interface_1.Sim800OutgoingSmsStatus.Sending, [
{
messageReference,
status: sim800_outgoing_sms_interface_1.Sim800OutgoingSmsStatus.Sent,
belongsTo: compositeId,
},
]));
}
}
};
exports.handleSmsStreamAfterPduPart = handleSmsStreamAfterPduPart;
//# sourceMappingURL=handle-sms-stream-after-pdu-part.js.map