@grail-ui/svelte
Version:
[](https://www.npmjs.com/package/@grail-ui/svelte) [](https://bundlephobia.com/package/@grail-ui/svelte) [ • 600 B
JavaScript
import { loop } from 'svelte/internal';
import { readable } from 'svelte/store';
export const defaultTimeouts = {
info: 5000,
error: 5000,
success: 2000,
loading: Infinity,
custom: 5000,
};
export function getToastDuration(duration, type) {
return duration ?? defaultTimeouts[type];
}
export const runIfFn = (v, ...a) => {
const res = typeof v === 'function' ? v(...a) : v;
return res ?? undefined;
};
export const msTime$ = readable(Date.now(), (set) => {
const task = loop(() => {
set(Date.now());
return true;
});
return task.abort;
});