116 lines
4.6 KiB
JavaScript
116 lines
4.6 KiB
JavaScript
"use strict";
|
|
var __assign = (this && this.__assign) || function () {
|
|
__assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
s = arguments[i];
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
t[p] = s[p];
|
|
}
|
|
return t;
|
|
};
|
|
return __assign.apply(this, arguments);
|
|
};
|
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
}
|
|
Object.defineProperty(o, k2, desc);
|
|
}) : (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
o[k2] = m[k];
|
|
}));
|
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.useCookiesNext = exports.useDeleteCookie = exports.useGetCookie = exports.useSetCookie = exports.useHasCookie = exports.useGetCookies = exports.hasCookie = exports.deleteCookie = exports.setCookie = exports.getCookie = exports.getCookies = void 0;
|
|
var cookie_1 = require("cookie");
|
|
var utils_1 = require("../common/utils");
|
|
var react_1 = require("react");
|
|
var ensureClientSide = function (options) {
|
|
if (!(0, utils_1.isClientSide)(options)) {
|
|
throw new Error('You are trying to access cookies on the server side. Please, use the server-side import with `cookies-next/server` instead.');
|
|
}
|
|
};
|
|
var getCookies = function (_options) {
|
|
ensureClientSide(_options);
|
|
if ((0, utils_1.getRenderPhase)() === 'server') {
|
|
return;
|
|
}
|
|
var cookies = {};
|
|
var documentCookies = document.cookie ? document.cookie.split('; ') : [];
|
|
for (var i = 0, len = documentCookies.length; i < len; i++) {
|
|
var cookieParts = documentCookies[i].split('=');
|
|
var cookie = cookieParts.slice(1).join('=');
|
|
var name_1 = cookieParts[0];
|
|
cookies[name_1] = cookie;
|
|
}
|
|
return cookies;
|
|
};
|
|
exports.getCookies = getCookies;
|
|
var getCookie = function (key, options) {
|
|
ensureClientSide(options);
|
|
var _cookies = getCookies(options);
|
|
var value = _cookies === null || _cookies === void 0 ? void 0 : _cookies[key];
|
|
if (value === undefined)
|
|
return undefined;
|
|
return (0, utils_1.decode)(value);
|
|
};
|
|
exports.getCookie = getCookie;
|
|
var setCookie = function (key, data, options) {
|
|
ensureClientSide(options);
|
|
if ((0, utils_1.getRenderPhase)() === 'server') {
|
|
return;
|
|
}
|
|
var _cookieOptions = options || {};
|
|
var cookieStr = (0, cookie_1.serialize)(key, (0, utils_1.stringify)(data), __assign({ path: '/' }, _cookieOptions));
|
|
document.cookie = cookieStr;
|
|
};
|
|
exports.setCookie = setCookie;
|
|
var deleteCookie = function (key, options) {
|
|
ensureClientSide(options);
|
|
setCookie(key, '', __assign(__assign({}, options), { maxAge: -1 }));
|
|
};
|
|
exports.deleteCookie = deleteCookie;
|
|
var hasCookie = function (key, options) {
|
|
ensureClientSide(options);
|
|
if (!key)
|
|
return false;
|
|
var cookies = getCookies(options);
|
|
if (!cookies) {
|
|
return false;
|
|
}
|
|
return Object.prototype.hasOwnProperty.call(cookies, key);
|
|
};
|
|
exports.hasCookie = hasCookie;
|
|
var useWrappedCookieFn = function (cookieFnCb) {
|
|
var _a = (0, react_1.useState)(false), isMounted = _a[0], setIsMounted = _a[1];
|
|
(0, react_1.useEffect)(function () {
|
|
setIsMounted(true);
|
|
}, []);
|
|
return isMounted ? cookieFnCb : (function () { });
|
|
};
|
|
var useGetCookies = function () { return useWrappedCookieFn(getCookies); };
|
|
exports.useGetCookies = useGetCookies;
|
|
var useGetCookie = function () { return useWrappedCookieFn(getCookie); };
|
|
exports.useGetCookie = useGetCookie;
|
|
var useHasCookie = function () { return useWrappedCookieFn(hasCookie); };
|
|
exports.useHasCookie = useHasCookie;
|
|
var useSetCookie = function () { return useWrappedCookieFn(setCookie); };
|
|
exports.useSetCookie = useSetCookie;
|
|
var useDeleteCookie = function () { return useWrappedCookieFn(deleteCookie); };
|
|
exports.useDeleteCookie = useDeleteCookie;
|
|
var useCookiesNext = function () {
|
|
return {
|
|
getCookies: useGetCookies(),
|
|
getCookie: useGetCookie(),
|
|
hasCookie: useHasCookie(),
|
|
setCookie: useSetCookie(),
|
|
deleteCookie: useDeleteCookie(),
|
|
};
|
|
};
|
|
exports.useCookiesNext = useCookiesNext;
|
|
__exportStar(require("../common/types"), exports);
|