galhui
Version:
UI library using galho framework
107 lines • 6.53 kB
JavaScript
import { 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 const UUID = (l) => Math.floor(Math.random() * Math.pow(10, l)).toString(16);
// 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF1QixHQUFHLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFFOUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFDLEVBQWE7SUFDaEMsSUFBSSxDQUFNLENBQUM7SUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDOUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQixJQUFJLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztJQUM5QixJQUFJLEVBQUUsR0FBRyxHQUFHLEVBQUU7UUFDWixJQUFJLEVBQUUsRUFBRSxLQUFLLEtBQUs7WUFDaEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTs7WUFDTixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNkLE9BQU8sR0FBRyxFQUFFO1FBQ1YsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDLENBQUE7QUFDSCxDQUFDO0FBQ0QsTUFBTSxVQUFVLFVBQVUsQ0FBTyxHQUFhLEVBQUUsUUFBK0M7SUFDN0YsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ25DLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixJQUFJLElBQUksR0FBRyxR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