Socket
Socket
Sign inDemoInstall

@shopify/react-cookie

Package Overview
Dependencies
Maintainers
19
Versions
147
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@shopify/react-cookie - npm Package Compare versions

Comparing version 0.1.5 to 0.1.6

57

build/ts/BrowserCookieManager.js

@@ -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"

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc