UNPKG

@garbarino/gb-jscommons

Version:

A package of common functions used in our JavaScript applications.

81 lines (58 loc) 2 kB
# gb-jscommons Módulos comunes a ser usados en las aplicaciones JS / NODE. ## Instalación `npm install @garbarino/gb-jscommons --save` ## Uso ### ES6 modules Import and be happy #### Push notifications ```js import {isCompatible, subscribeUserToPush, sendSubscriptionToBackEnd} from '@garbarino/gb-jscommons/dist/push-notifications'; ``` ```js if (isCompatible()) { subscribeUserToPush().then( (subscription) => { sendSubscriptionToBackEnd(subscription); } ); } ``` ### ES5 👴🏻 Linkear los archivos de `/dist/es5` - `common.js` - Cada una de las librerías que se quiera usar. Ej: `push-notifications.js` Usar la variable global `gbJsCommons`. #### Push notifications ```js gbJsCommons["push-notifications"].subscribeUserToPush() .then(function(subscription) { gbJsCommons["push-notifications"].sendSubscriptionToBackEnd(subscription) .then(function(response) { // handle success }); }) .catch(function(error){ // handle error }); ``` ## Módulos ### Push notifications #### isCompatible Devuelve `true` si el dispositivo tiene soporte. `false` si no. #### canAskForPermission Devuelve `true` si el dispositivo tiene soporte y el usuario no denegó el permiso. #### subscribeUserToPush Chequea que el dispositivo sea compatible y devuelve una promesa que resuelve con la [pushSubscription](https://developer.mozilla.org/es/docs/Web/API/PushSubscription) #### getSubscription Devuelve una promesa que resuelve con la suscripción a las push o `null` si no está suscripto. Útil para no volver a ofrecer la suscripción si ya está registrado. #### sendSubscriptionToBackEnd Recibe la subscription del paso anterior y la envía al servidor. Otra promesa que resuelve o dispara un error según el resultado de la pegada. ## Cómo publicar una nueva versión 1. Login en npm (cuenta con acceso a la organización). 1. `npm run build-prod`. 1. Pushear cambios. 1. `npm version <major|minor|patch>`. 1. Pushear update de versión. 1. `npm publish`.