21 lines
557 B
TypeScript
21 lines
557 B
TypeScript
|
|
export function isEmptyObject(obj: any) {
|
||
|
|
return obj && Object.keys(obj).length === 0 && obj.constructor === Object;
|
||
|
|
}
|
||
|
|
|
||
|
|
export function getYear(date = new Date()) {
|
||
|
|
if (!(date instanceof Date)) {
|
||
|
|
throw new TypeError('Invalid date object');
|
||
|
|
}
|
||
|
|
return date.getFullYear();
|
||
|
|
}
|
||
|
|
|
||
|
|
export function debounce<T extends (...args: any[]) => any>(fn: T, delay = 300) {
|
||
|
|
let timer: ReturnType<typeof setTimeout>;
|
||
|
|
return (...args: Parameters<T>) => {
|
||
|
|
if (timer) clearTimeout(timer);
|
||
|
|
timer = setTimeout(() => {
|
||
|
|
fn(...args);
|
||
|
|
}, delay);
|
||
|
|
};
|
||
|
|
}
|