UNPKG

@shopify/react-network

Version:

A collection of components that allow you to set common HTTP headers from within your React application

50 lines (43 loc) 1.25 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var cookie = require('cookie'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var cookie__default = /*#__PURE__*/_interopDefaultLegacy(cookie); class ServerCookieManager { constructor(cookies = {}) { this.cookies = new Map(); const parsedCookies = typeof cookies === 'string' ? cookie__default["default"].parse(cookies) : cookies; Object.entries(parsedCookies).forEach(([key, value]) => { this.setCookie(key, value); }); } getCookie(name) { const cookie = this.cookies.get(name); return cookie && cookie.value; } getCookies() { const cookies = {}; for (const [key, value] of this.cookies) { cookies[key] = value; } return { ...cookies }; } setCookie(name, value) { const fullCookie = typeof value === 'string' ? { value } : value; this.cookies.set(name, fullCookie); } removeCookie(name) { this.cookies.set(name, { value: '', expires: new Date('Thu, 01 Jan 1970 00:00:01 GMT') }); } clear() { this.cookies.clear(); } } exports.ServerCookieManager = ServerCookieManager;