UNPKG

@cloudcome/utils-browser

Version:
51 lines (50 loc) 1.41 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const date = require("@cloudcome/utils-core/date"); function cookieGet(name) { const cookies = document.cookie.split(";"); for (let i = 0; i < cookies.length; i++) { const cookie = cookies[i].trim(); if (cookie.startsWith(`${name}=`)) { return decodeURIComponent(cookie.slice(name.length + 1)); } } return ""; } function cookieSet(name, value, options) { const { expires, maxAge, path, domain, httpOnly, sameSite, secure } = options || {}; let cookie = `${name}=${encodeURIComponent(value)}`; const expiresAt = expires ? date.dateParse(expires) : maxAge ? date.dateParse(Date.now() + maxAge) : null; const metas = []; if (expiresAt) { metas.push(["expires", expiresAt.toISOString()]); } if (path) { metas.push(["path", path]); } if (domain) { metas.push(["domain", domain]); } if (httpOnly) { metas.push(["httpOnly", "true"]); } if (sameSite) { metas.push(["sameSite", sameSite]); } if (secure) { metas.push(["secure", "true"]); } for (const [key, value2] of metas) { cookie += `; ${key}=${value2}`; } document.cookie = cookie; } function cookieDel(name) { cookieSet(name, "", { expires: 0 }); } exports.cookieDel = cookieDel; exports.cookieGet = cookieGet; exports.cookieSet = cookieSet; //# sourceMappingURL=cookie.cjs.map