He implementado el siguiente método:
async function sendPushNotifications( title, body, data, badge, sound = "default", pushNotificationsTokens ) { // Generate the messages to be sent const messages = buildMessages( title, body, data, badge, sound, pushNotificationsTokens ); // Send the generated messages to the FCM server const tickets = await sendMessagesToFCMServer(messages); // Finally, handle all possible errors to avoid app removal in stores await handleErrorsSendingMessages(tickets, pushNotificationsTokens); }Y quiero exponer un método más simple para enviar una notificación automática a un token único.
function sendPushNotification( title, body, data, badge, sound = "default", pushNotificationsToken ) { return sendPushNotifications( title, body, data, badge, sound, [pushNotificationsToken] ); }Como puede ver, hay algún tipo de patrón aquí. Obtenemos los parámetros y simplemente los pasamos al otro método, pero insertando pushNotificationsToken en una matriz.
Mi pregunta es: ¿es posible refactorizar la segunda función sendPushNotification ? Quiero decir, ¿algún código funcional similar a un profesional para hacerlo en una línea?
Usar parámetros de descanso y sacar el último y colocarlo en una matriz en su lugar funcionaría.
const sendPushNotification = (...args) => { const token = args.pop(); return sendPushNotifications(...args, [token]); };Técnicamente, sería posible meterlo todo en una sola línea (puede poner aplicaciones completas en una sola línea si lo desea), pero eso sería menos legible.