Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _OAuthAntiCSRFTokenHelper = require('../helpers/OAuthAntiCSRFTokenHelper');

var storageKey = 'usersConnectorStorage:v2';

var storage = {
  loadState: function loadState() {
    try {
      var rawStorage = localStorage.getItem(storageKey);
      return JSON.parse(rawStorage);
    } catch (e) {
      return null;
    }
  },
  storeState: function storeState(state) {
    localStorage.setItem(storageKey, JSON.stringify(state));
  },
  deleteState: function deleteState() {
    localStorage.removeItem(storageKey);
  },
  deleteCookie: function deleteCookie(key) {
    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

    var path = options.path || '/';
    var domain = options.domain || '.' + document.location.host // always start with '.'
    .split('.').splice(-2) // remove everything except the TLD ('com') and the second level domain ('doodle')
    .join('.');
    var expires = new Date(0).toGMTString(); // delete the cookie

    document.cookie = key + '=;path=' + path + ';domain=' + domain + ';expires=' + expires;
  },
  getCookie: function getCookie(key) {
    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

    var cookies = (options.getCookie && options.getCookie() || document.cookie).split('; ');

    return cookies.reduce(function (result, cookie) {
      var searchKey = key + '=';

      if (cookie.indexOf(searchKey) === 0) {
        return cookie.substring(searchKey.length);
      }

      return result;
    }, undefined);
  },
  setOAuthAntiCSRFTokenCookie: function setOAuthAntiCSRFTokenCookie(token, domain) {
    var expires = (0, _OAuthAntiCSRFTokenHelper.generateOAuthAntiCSRFCookieDuration)();
    var cookie = 'oauth_anti_csrf_token_cookie=' + token + ';expires=' + expires + ';path=/';
    if (domain) {
      cookie += ';domain=' + encodeURIComponent(domain);
    }
    document.cookie = cookie;
  }
};

exports.default = storage;