UNPKG

@lcap/nasl

Version:

NetEase Application Specific Language

62 lines 2.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function getDomain(isRoot) { const { hostname } = location; const hostArr = hostname.split('.'); if (hostArr.length < 3) return hostname; const len = hostArr.length; if (isRoot) return `${hostArr[len - 2]}.${hostArr[len - 1]}`; return `${hostArr[len - 3]}.${hostArr[len - 2]}.${hostArr[len - 1]}`; } exports.default = { set(data = {}, exdays = 1, exseconds = 0, isRoot = false) { const d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000) + exseconds * 1000); const expires = d.toString(); Object.keys(data).forEach((key) => { const value = data[key]; if (key && value) { let cookie = `${key}=${encodeURIComponent(value)}; expires=${expires}; path=/`; if (isRoot) { const domain = getDomain(isRoot); cookie = `${cookie}; domain=${domain}`; } document.cookie = cookie; } }); }, get(name) { const nameEQ = name + '='; const ca = document.cookie.split(';'); for (let i = 0; i < ca.length; i++) { let c = ca[i]; while (c.charAt(0) === ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length)); } return null; }, erase(name) { const d = new Date(); d.setTime(d.getTime() - (1 * 24 * 60 * 60 * 1000)); const expires = d.toString(); document.cookie = `${name}=; expires=${expires}; path=/`; const domain = getDomain(); document.cookie = `${name}=; expires=${expires}; path=/; domain=${domain}`; const root = getDomain(true); document.cookie = `${name}=; expires=${expires}; path=/; domain=${root}`; }, eraseAll() { const cookies = document.cookie.split(';'); for (let i = 0; i < cookies.length; i++) { const cookie = cookies[i]; const eqPos = cookie.indexOf('='); const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie; this.erase(name); } }, }; //# sourceMappingURL=cookie.js.map