UNPKG

@iicoding/utils

Version:

Browser 端 - 类型判断 - 类似 koa 的异步compose - sleep - 扩展对象属性 - 扩展 storage 对象功能

109 lines (107 loc) 3.33 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/browser/index.ts var browser_exports = {}; __export(browser_exports, { deleteCookie: () => deleteCookie, getBrowserType: () => getBrowserType, getCookie: () => getCookie, isChrome: () => isChrome, isFirefox: () => isFirefox, isIE: () => isIE, isOpera: () => isOpera, isSafari: () => isSafari, setCookie: () => setCookie }); module.exports = __toCommonJS(browser_exports); var import__ = require(".."); var getCookie = (cookieKey) => { const cookie = {}; if (document) { const cookieStr = document.cookie; if (cookieStr) { const cookieMap = cookieStr.split("; "); for (let i = 0; i < cookieMap.length; i++) { const current = cookieMap[i]; let [key, value] = current.split("="); try { key = decodeURIComponent(key); value = decodeURIComponent(value); } catch (error) { console.log("value decodeURIComponent error value=" + value, error); } if (value) { cookie[key] = value; } } } } if (cookieKey) { return cookie[cookieKey]; } return cookie; }; var setCookie = (key, value, expires) => { let cookie = encodeURIComponent(key) + "=" + encodeURIComponent(value); if ((0, import__.isNumber)(expires)) { const expiresDate = /* @__PURE__ */ new Date(); expiresDate.setTime(expiresDate.getTime() + 24 * 60 * 60 * 1e3 * expires); cookie += ";path=/;expires=" + expiresDate.toUTCString(); } document.cookie = cookie; }; var deleteCookie = (key) => { setCookie(key, "", -1); }; function getBrowserType() { const { userAgent } = window.navigator; const isOpera2 = userAgent.indexOf("Opera") > -1; if (isOpera2) { return "Opera"; } if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera2) { return "IE"; } if (userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") === -1) { return "Safari"; } if (userAgent.indexOf("Firefox") > -1) { return "Firefox"; } if (userAgent.indexOf("Chrome") > -1) { return "Chrome"; } return ""; } var isSafari = () => getBrowserType() === "Safari"; var isChrome = () => getBrowserType() === "Chrome"; var isFirefox = () => getBrowserType() === "Firefox"; var isOpera = () => getBrowserType() === "Opera"; var isIE = () => getBrowserType() === "IE"; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { deleteCookie, getBrowserType, getCookie, isChrome, isFirefox, isIE, isOpera, isSafari, setCookie });