UNPKG

@grandlinex/react-components

Version:
121 lines (120 loc) 3.96 kB
"use strict"; 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); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CMap = exports.LocalStorage = exports.getSaveWindow = exports.copyToClipboard = exports.md5 = exports.getGravatarUrl = void 0; exports.sleep = sleep; exports.cnx = cnx; exports.useCnx = useCnx; exports.uuid = uuid; exports.sid = sid; exports.trimmer = trimmer; exports.getDocumentMeta = getDocumentMeta; exports.sGen = sGen; exports.loop = loop; const react_1 = require("react"); const MD5_1 = __importDefault(require("./MD5")); exports.md5 = MD5_1.default; const LocalStorage_1 = __importDefault(require("./LocalStorage")); exports.LocalStorage = LocalStorage_1.default; const Clipboard_1 = __importDefault(require("./Clipboard")); exports.copyToClipboard = Clipboard_1.default; const BuildHelper_1 = __importDefault(require("./BuildHelper")); exports.getSaveWindow = BuildHelper_1.default; const CoreMap_1 = __importDefault(require("./CoreMap")); exports.CMap = CoreMap_1.default; __exportStar(require("./GLang"), exports); __exportStar(require("./MainContext"), exports); __exportStar(require("./LocalStorage"), exports); __exportStar(require("./CookieUtil"), exports); __exportStar(require("./BrowserUtil"), exports); __exportStar(require("./JWT"), exports); async function sleep(ms) { return new Promise((resolve) => { setTimeout(resolve, ms); }); } function cnx(...classes) { const del = []; classes.forEach((sel) => { if (typeof sel === 'string') { del.push(sel); } if (Array.isArray(sel)) { const [val, cl, cd] = sel; if (val) { del.push(cl); } else if (!val && !!cd) { del.push(cd); } } }); const out = del.join(' '); if (del.length === 0 || out === '') { return undefined; } return out; } function useCnx(...classes) { return (0, react_1.useMemo)(() => cnx(...classes), [classes]); } function sGen(inp) { return inp.replace(/[xy]/g, (c) => { // eslint-disable-next-line no-bitwise const r = (Math.random() * 16) | 0; // eslint-disable-next-line no-bitwise const v = c === 'x' ? r : (r & 0x3) | 0x8; return v.toString(16); }); } function uuid() { return sGen('xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'); } function sid() { return sGen('xxxx-4xxx-yxxx'); } function trimmer(inp) { if (inp.length > 20) { return `${inp.substring(0, 20)}...`; } return inp; } function getDocumentMeta(key) { const el = document .querySelector(`meta[name='${key}']`) ?.getAttribute('content'); if (!el || el === '') { return null; } return el; } const getGravatarUrl = (email) => { const hash = (0, MD5_1.default)(email); return `https://www.gravatar.com/avatar/${hash}?d=identicon`; }; exports.getGravatarUrl = getGravatarUrl; function loop(count, fc, start = 0, step = 1) { if (step === 0) throw new Error('Step cannot be 0'); const arr = []; for (let i = start; i < count; i += step) { arr.push(fc(i)); } return arr; }