You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
'use strict';
var utils = require('./../utils');
module.exports = ( utils.isStandardBrowserEnv() ?
// Standard browser envs support document.cookie
(function standardBrowserEnv() { return { write: function write(name, value, expires, path, domain, secure) { var cookie = []; cookie.push(name + '=' + encodeURIComponent(value));
if (utils.isNumber(expires)) { cookie.push('expires=' + new Date(expires).toGMTString()); }
if (utils.isString(path)) { cookie.push('path=' + path); }
if (utils.isString(domain)) { cookie.push('domain=' + domain); }
if (secure === true) { cookie.push('secure'); }
document.cookie = cookie.join('; '); },
read: function read(name) { var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); return (match ? decodeURIComponent(match[3]) : null); },
remove: function remove(name) { this.write(name, '', Date.now() - 86400000); } }; })() :
// Non standard browser env (web workers, react-native) lack needed support.
(function nonStandardBrowserEnv() { return { write: function write() {}, read: function read() { return null; }, remove: function remove() {} }; })() );
|