UNPKG

galhui

Version:

UI library using galho framework

143 lines 10.3 kB
import { is, isU } from "galho/util.js"; /**request animation frame each frame, if fn returns false cancel animation * @returns function that cancel the renderer of current animation */ export function anim(fn) { let r; console.log("timer started: " + (r = UUID(8))); console.time(r); let t = requestAnimationFrame; let t2 = () => { if (fn() !== false) i = t(t2); else console.timeEnd(r); }; let i = t(t2); return () => { console.timeEnd(r); cancelAnimationFrame(i); }; } export function arrayToDic(arr, callback) { let result = {}; for (let i = 0; i < arr.length; i++) { let value = arr[i]; let temp = callback(value, i); result[temp[0]] = temp[1]; } return result; } export function filterDic(dic, fn = v => v) { let result = {}; for (let key in dic) if (fn(dic[key], key)) result[key] = dic[key]; return result; } export function anyProp(dic, fn) { for (let key in dic) if (fn(dic[key], key)) return true; return false; } export function extend(obj, extension, override) { for (let key in extension) { let e = extension[key]; isU(e) || ((override || isU(obj[key])) && (obj[key] = e)); } return obj; } export function UUID(size) { let r = Math.floor((Math.random() + 1) * 1_000_000_000_000_000).toString(16), s = r.length - 1; return r.slice(1, size + 1) + (size > s ? UUID(size - s) : ''); } export class Time { i; constructor(i) { this.i = i; } get y() { return this.i.getFullYear(); } get M() { return this.i.getMonth() + 1; } get d() { return this.i.getDate(); } get h() { return this.i.getHours(); } get m() { return this.i.getMinutes(); } get s() { return this.i.getSeconds(); } } export function time(d = new Date()) { return d ? new Time(is(d, Date) ? d : new Date(d)) : null; } export function pad(v, max, fill = 0) { return (v + "").padStart(max, fill); } export function date(t) { let { y, M, d } = time(t); return `${y}-${pad(M, 2)}-${pad(d, 2)}`; } export function dateTime(t, sep = " ", noSec) { let { y, M, d, h, m, s } = time(t); return `${y}-${pad(M, 2)}-${pad(d, 2)}${sep}${pad(h, 2)}:${pad(m, 2)}${noSec ? '' : ':' + pad(s, 2)}`; } export function month(t) { if (t == null) return null; let { y, M } = time(t); return `${y}-${pad(M, 2)}`; // return new Date(v).toISOString().slice(0, 10); } // export function day(d: Date): number; // export function day(d: Date, value: number): Date; // export function day(d: Date, value?: number) { // if (value == null) return d.getDate(); // export function fmt(value: FormatValue, pattern: string, options?: Dic): str; // export function fmt(value: FormatValue, pattern: string, type?: ValueType): str; // export function fmt(v: FormatValue, p: string, o?: ValueType | Dic) { // if (isS(o)) { // p = o + ";" + p; // o = <Dic>null; // } // if (v == null) return ""; // let [a0, a1] = p.split(';', 3); // switch (a0) { // case "d": // return Intl.NumberFormat() // case "n": // } // p = l(split) > 1 ? split[1] : type; // if (v == null && l(split) == 3) // v = split[2]; // //a:Any // if (split.length == 1 || type == 'a') { // switch (typeof v) { // case 'number': // case 'bigint': // type = 'n'; // break; // case 'string': // if (isNaN(<any>v)) // type = 'n'; // else if (false) // type = 'd'; // else type = 't'; // break; // case 'object': // type = 'd'; // break; // case 'boolean': // type = 'b'; // break; // default: // type = 't'; // } // } // switch (split[0]) { // //date // case 'd': // return fmtTime(time(v), format); // //number // case 'n': // return numFmt(<number>v, format, o); // default: // } // } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixFQUFFLEVBQUUsR0FBRyxFQUFPLE1BQU0sZUFBZSxDQUFDO0FBRWxFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBQyxFQUFhO0lBQ2hDLElBQUksQ0FBTSxDQUFDO0lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEIsSUFBSSxDQUFDLEdBQUcscUJBQXFCLENBQUM7SUFDOUIsSUFBSSxFQUFFLEdBQUcsR0FBRyxFQUFFO1FBQ1osSUFBSSxFQUFFLEVBQUUsS0FBSyxLQUFLO1lBQ2hCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7O1lBQ04sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDLENBQUM7SUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDZCxPQUFPLEdBQUcsRUFBRTtRQUNWLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUNELE1BQU0sVUFBVSxVQUFVLENBQU8sR0FBYSxFQUFFLFFBQStDO0lBQzdGLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3BDLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixJ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