UNPKG

sim800

Version:

A modern and opiniated module for SIM800 GSM modems ( SIM800 / SIM800L ).

49 lines 2.17 kB
"use strict"; 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