dao-governance-framework/forum-network/src/util.js

31 lines
693 B
JavaScript
Raw Normal View History

const timers = new Map();
export const debounce = async (fn, delayMs) => {
const timer = timers.get(fn);
if (timer) {
return timer.result;
}
const result = await fn();
timers.set(fn, { result });
setTimeout(() => {
timers.delete(fn);
}, delayMs);
return result;
};
export const delay = async (delayMs) => {
2022-12-31 16:08:42 -06:00
await new Promise((resolve) => {
setTimeout(resolve, delayMs);
2022-12-31 16:08:42 -06:00
});
};
2023-01-08 12:27:53 -06:00
export const hexToRGB = (input) => {
if (input.startsWith('#')) {
input = input.slice(1);
}
const r = parseInt(`${input[0]}${input[1]}`, 16);
const g = parseInt(`${input[2]}${input[3]}`, 16);
const b = parseInt(`${input[4]}${input[5]}`, 16);
return { r, g, b };
};