UNPKG

catbee

Version:

Catbee - skeleton for you isomorphic applications

49 lines (41 loc) 1.31 kB
'use strict'; var CookieWrapperBase = require('../lib/base/CookieWrapperBase'); class CookieWrapper extends CookieWrapperBase { constructor (locator) { super(); /** * Current browser window. * @type {Window} * @private */ this._window = locator.resolve('window'); } /** * Gets current cookie string. * @returns {string} Cookie string. */ getCookieString () { return this._window.document.cookie ? this._window.document.cookie.toString() : ''; } /** * Sets cookie to this wrapper. * @param {Object} cookieSetup Cookie setup object. * @param {string} cookieSetup.key Cookie key. * @param {string} cookieSetup.value Cookie value. * @param {number?} cookieSetup.maxAge Max cookie age in seconds. * @param {Date?} cookieSetup.expires Expire date. * @param {string?} cookieSetup.path URI path for cookie. * @param {string?} cookieSetup.domain Cookie domain. * @param {boolean?} cookieSetup.secure Is cookie secured. * @param {boolean?} cookieSetup.httpOnly Is cookie HTTP only. * @returns {string} Cookie setup string. */ set (cookieSetup) { var cookie = this._convertToCookieSetup(cookieSetup); this._window.document.cookie = cookie; return cookie; } } module.exports = CookieWrapper;