@shopify/react-cookie
Advanced tools
Comparing version 0.1.5 to 0.1.6
@@ -1,41 +0,28 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.BrowserCookieManager = void 0; | ||
var tslib_1 = require("tslib"); | ||
var cookie_1 = tslib_1.__importDefault(require("cookie")); | ||
var context_1 = require("./context"); | ||
Object.defineProperty(exports, "CookieContext", { enumerable: true, get: function () { return context_1.CookieContext; } }); | ||
var BrowserCookieManager = /** @class */ (function () { | ||
function BrowserCookieManager() { | ||
} | ||
BrowserCookieManager.prototype.getCookie = function (name) { | ||
var cookies = this.parse(document.cookie); | ||
import cookie from 'cookie'; | ||
export { CookieContext } from './context'; | ||
export class BrowserCookieManager { | ||
getCookie(name) { | ||
const cookies = this.parse(document.cookie); | ||
return cookies[name] && cookies[name].value !== '' | ||
? cookies[name].value | ||
: undefined; | ||
}; | ||
BrowserCookieManager.prototype.getCookies = function () { | ||
var cookies = this.parse(document.cookie || ''); | ||
} | ||
getCookies() { | ||
const cookies = this.parse(document.cookie || ''); | ||
return cookies; | ||
}; | ||
BrowserCookieManager.prototype.setCookie = function (name, value) { | ||
var fullCookie = typeof value === 'string' ? { value: value } : value; | ||
var cookieValue = fullCookie.value, options = tslib_1.__rest(fullCookie, ["value"]); | ||
document.cookie = cookie_1.default.serialize(name, cookieValue, options); | ||
}; | ||
BrowserCookieManager.prototype.removeCookie = function (name) { | ||
document.cookie = cookie_1.default.serialize(name, '', { | ||
} | ||
setCookie(name, value) { | ||
const fullCookie = typeof value === 'string' ? { value } : value; | ||
const { value: cookieValue } = fullCookie, options = __rest(fullCookie, ["value"]); | ||
document.cookie = cookie.serialize(name, cookieValue, options); | ||
} | ||
removeCookie(name) { | ||
document.cookie = cookie.serialize(name, '', { | ||
expires: new Date('Thu, 01 Jan 1970 00:00:01 GMT'), | ||
}); | ||
}; | ||
BrowserCookieManager.prototype.parse = function (cookies) { | ||
var parsedCookies = cookie_1.default.parse(cookies); | ||
return Object.entries(parsedCookies).reduce(function (newCookies, _a) { | ||
var _b; | ||
var _c = tslib_1.__read(_a, 2), key = _c[0], value = _c[1]; | ||
return (tslib_1.__assign(tslib_1.__assign({}, newCookies), (_b = {}, _b[key] = { value: value }, _b))); | ||
}, {}); | ||
}; | ||
return BrowserCookieManager; | ||
}()); | ||
exports.BrowserCookieManager = BrowserCookieManager; | ||
} | ||
parse(cookies) { | ||
const parsedCookies = cookie.parse(cookies); | ||
return Object.entries(parsedCookies).reduce((newCookies, [key, value]) => (Object.assign(Object.assign({}, newCookies), { [key]: { value } })), {}); | ||
} | ||
} |
@@ -1,6 +0,2 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.CookieContext = void 0; | ||
var tslib_1 = require("tslib"); | ||
var react_1 = tslib_1.__importDefault(require("react")); | ||
exports.CookieContext = react_1.default.createContext(null); | ||
import React from 'react'; | ||
export const CookieContext = React.createContext(null); |
@@ -1,12 +0,8 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.CookieUniversalProvider = void 0; | ||
var tslib_1 = require("tslib"); | ||
var react_1 = tslib_1.__importDefault(require("react")); | ||
var react_network_1 = require("@shopify/react-network"); | ||
var react_hooks_1 = require("@shopify/react-hooks"); | ||
var BrowserCookieManager_1 = require("./BrowserCookieManager"); | ||
var context_1 = require("./context"); | ||
var utilities_1 = require("./utilities"); | ||
var NO_MANAGER_ERROR = [ | ||
import React from 'react'; | ||
import { useNetworkManager } from '@shopify/react-network'; | ||
import { useLazyRef } from '@shopify/react-hooks'; | ||
import { BrowserCookieManager } from './BrowserCookieManager'; | ||
import { CookieContext } from './context'; | ||
import { hasDocumentCookie } from './utilities'; | ||
const NO_MANAGER_ERROR = [ | ||
'Could not find react-network context.', | ||
@@ -16,8 +12,7 @@ 'A `<NetworkContext.Provider />` is likely', | ||
].join(' '); | ||
function CookieUniversalProvider(_a) { | ||
var server = _a.server, children = _a.children; | ||
var manager = react_network_1.useNetworkManager(); | ||
var cookieManager = react_hooks_1.useLazyRef(function () { | ||
if (!server && utilities_1.hasDocumentCookie()) { | ||
return new BrowserCookieManager_1.BrowserCookieManager(); | ||
export function CookieUniversalProvider({ server, children }) { | ||
const manager = useNetworkManager(); | ||
const cookieManager = useLazyRef(() => { | ||
if (!server && hasDocumentCookie()) { | ||
return new BrowserCookieManager(); | ||
} | ||
@@ -29,4 +24,3 @@ if (manager == null) { | ||
}).current; | ||
return (react_1.default.createElement(context_1.CookieContext.Provider, { value: cookieManager }, children)); | ||
return (React.createElement(CookieContext.Provider, { value: cookieManager }, children)); | ||
} | ||
exports.CookieUniversalProvider = CookieUniversalProvider; |
@@ -1,8 +0,4 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.useCookie = void 0; | ||
var tslib_1 = require("tslib"); | ||
var react_1 = require("react"); | ||
var context_1 = require("./context"); | ||
var NO_MANAGER_ERROR = [ | ||
import { useContext, useState, useCallback } from 'react'; | ||
import { CookieContext } from './context'; | ||
const NO_MANAGER_ERROR = [ | ||
'Could not find react-cookie context.', | ||
@@ -12,9 +8,9 @@ 'You might be missing the <CookieUniversalProvider />', | ||
].join(' '); | ||
function useCookie(key) { | ||
var manager = react_1.useContext(context_1.CookieContext); | ||
export function useCookie(key) { | ||
const manager = useContext(CookieContext); | ||
if (!manager) { | ||
throw new Error(NO_MANAGER_ERROR); | ||
} | ||
var _a = tslib_1.__read(react_1.useState(function () { return manager === null || manager === void 0 ? void 0 : manager.getCookie(key); }), 2), cookie = _a[0], setCookieValue = _a[1]; | ||
var setCookie = react_1.useCallback(function (value, options) { | ||
const [cookie, setCookieValue] = useState(() => manager === null || manager === void 0 ? void 0 : manager.getCookie(key)); | ||
const setCookie = useCallback((value, options) => { | ||
if (!value) { | ||
@@ -26,6 +22,5 @@ setCookieValue(''); | ||
setCookieValue(value); | ||
manager.setCookie(key, tslib_1.__assign({ value: value }, options)); | ||
manager.setCookie(key, Object.assign({ value }, options)); | ||
}, [key, manager]); | ||
return [cookie, setCookie]; | ||
} | ||
exports.useCookie = useCookie; |
@@ -1,14 +0,5 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var BrowserCookieManager_1 = require("./BrowserCookieManager"); | ||
Object.defineProperty(exports, "BrowserCookieManager", { enumerable: true, get: function () { return BrowserCookieManager_1.BrowserCookieManager; } }); | ||
var context_1 = require("./context"); | ||
Object.defineProperty(exports, "CookieContext", { enumerable: true, get: function () { return context_1.CookieContext; } }); | ||
var hooks_1 = require("./hooks"); | ||
Object.defineProperty(exports, "useCookie", { enumerable: true, get: function () { return hooks_1.useCookie; } }); | ||
var CookieUniversalProvider_1 = require("./CookieUniversalProvider"); | ||
Object.defineProperty(exports, "CookieUniversalProvider", { enumerable: true, get: function () { return CookieUniversalProvider_1.CookieUniversalProvider; } }); | ||
var utilities_1 = require("./utilities"); | ||
Object.defineProperty(exports, "hasDocumentCookie", { enumerable: true, get: function () { return utilities_1.hasDocumentCookie; } }); | ||
Object.defineProperty(exports, "clearCookies", { enumerable: true, get: function () { return utilities_1.clearCookies; } }); | ||
Object.defineProperty(exports, "createCookies", { enumerable: true, get: function () { return utilities_1.createCookies; } }); | ||
export { BrowserCookieManager } from './BrowserCookieManager'; | ||
export { CookieContext } from './context'; | ||
export { useCookie } from './hooks'; | ||
export { CookieUniversalProvider } from './CookieUniversalProvider'; | ||
export { hasDocumentCookie, clearCookies, createCookies } from './utilities'; |
@@ -1,49 +0,19 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.hasDocumentCookie = exports.createCookies = exports.clearCookies = void 0; | ||
var tslib_1 = require("tslib"); | ||
var BrowserCookieManager_1 = require("./BrowserCookieManager"); | ||
function clearCookies() { | ||
var e_1, _a; | ||
var cookies = new BrowserCookieManager_1.BrowserCookieManager(); | ||
var allCookies = cookies.getCookies(); | ||
try { | ||
for (var _b = tslib_1.__values(Object.keys(allCookies)), _c = _b.next(); !_c.done; _c = _b.next()) { | ||
var key = _c.value; | ||
cookies.removeCookie(key); | ||
} | ||
import { BrowserCookieManager } from './BrowserCookieManager'; | ||
export function clearCookies() { | ||
const cookies = new BrowserCookieManager(); | ||
const allCookies = cookies.getCookies(); | ||
for (const key of Object.keys(allCookies)) { | ||
cookies.removeCookie(key); | ||
} | ||
catch (e_1_1) { e_1 = { error: e_1_1 }; } | ||
finally { | ||
try { | ||
if (_c && !_c.done && (_a = _b.return)) _a.call(_b); | ||
} | ||
finally { if (e_1) throw e_1.error; } | ||
} | ||
return cookies; | ||
} | ||
exports.clearCookies = clearCookies; | ||
function createCookies(initialCookies) { | ||
var e_2, _a; | ||
if (initialCookies === void 0) { initialCookies = {}; } | ||
var cookies = new BrowserCookieManager_1.BrowserCookieManager(); | ||
try { | ||
for (var _b = tslib_1.__values(Object.entries(initialCookies)), _c = _b.next(); !_c.done; _c = _b.next()) { | ||
var _d = tslib_1.__read(_c.value, 2), key = _d[0], value = _d[1]; | ||
cookies.setCookie(key, value); | ||
} | ||
export function createCookies(initialCookies = {}) { | ||
const cookies = new BrowserCookieManager(); | ||
for (const [key, value] of Object.entries(initialCookies)) { | ||
cookies.setCookie(key, value); | ||
} | ||
catch (e_2_1) { e_2 = { error: e_2_1 }; } | ||
finally { | ||
try { | ||
if (_c && !_c.done && (_a = _b.return)) _a.call(_b); | ||
} | ||
finally { if (e_2) throw e_2.error; } | ||
} | ||
return cookies; | ||
} | ||
exports.createCookies = createCookies; | ||
function hasDocumentCookie() { | ||
export function hasDocumentCookie() { | ||
return Boolean(typeof document === 'object' && typeof document.cookie === 'string'); | ||
} | ||
exports.hasDocumentCookie = hasDocumentCookie; |
{ | ||
"name": "@shopify/react-cookie", | ||
"version": "0.1.5", | ||
"version": "0.1.6", | ||
"license": "MIT", | ||
@@ -28,3 +28,3 @@ "description": "Cookies in React for the server and client", | ||
"@shopify/react-hooks": "^1.12.3", | ||
"@shopify/react-network": "^3.6.5", | ||
"@shopify/react-network": "^3.6.6", | ||
"cookie": "^0.4.0", | ||
@@ -31,0 +31,0 @@ "tslib": "^1.14.1" |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
55054
762