UNPKG

@ecomplus/passport-client

Version:

Handle customer authentication with E-Com Plus Passport

47 lines (38 loc) 1.04 kB
import setCookie from './../lib/set-cookie' /** * @method * @name EcomPassport#setSession * @description Set session object and save to cookie. * * @param {object} session - Passport session object * @param {boolean} [canSave=true] - Save to cookie * * @returns {self} * * @example ecomPassport.setSession(session) */ export default (self, emitter, [session, canSave = true]) => { const { document, storageKey, setCustomer, checkLogin } = self if (typeof session !== 'object' || session === null || Array.isArray(session)) { session = {} } else if (session.customer) { self.customer = {} setCustomer(session.customer, canSave) delete session.customer } self.session = session if (canSave) { setCookie(document, storageKey, JSON.stringify(session), 6) } if (checkLogin()) { /** * @event EcomPassport#login * @example ecomPassport.on('login', () => { * console.log(ecomPassport.checkLogin()) // true * }) */ emitter.emit('login') } return self }