1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. var util = require('./util');
  2. function setCookie(name, value, expiresAt) {
  3. var expiresText = '';
  4. if (expiresAt) {
  5. expiresText = ' expires=' + util.isoToUTCString(expiresAt) + ';';
  6. }
  7. var cookieText = name + '=' + value + '; path=/;' + expiresText;
  8. setCookie._setDocumentCookie(cookieText);
  9. return cookieText;
  10. }
  11. // Exposed for testing
  12. setCookie._setDocumentCookie = function(cookieText) {
  13. document.cookie = cookieText;
  14. };
  15. function getCookie(name) {
  16. var pattern = new RegExp(name + '=([^;]*)'),
  17. matched = getCookie._getDocumentCookie().match(pattern);
  18. if (matched) {
  19. var cookie = matched[1];
  20. return cookie;
  21. }
  22. }
  23. // Exposed for testing
  24. getCookie._getDocumentCookie = function() {
  25. return document.cookie;
  26. };
  27. function deleteCookie(name) {
  28. setCookie(name, '', '1970-01-01T00:00:00Z');
  29. }
  30. module.exports = {
  31. setCookie: setCookie,
  32. getCookie: getCookie,
  33. deleteCookie: deleteCookie
  34. };