UNPKG

@grail-ui/svelte

Version:

[![NPM](https://img.shields.io/npm/v/@grail-ui/svelte)](https://www.npmjs.com/package/@grail-ui/svelte) [![minified](https://img.shields.io/bundlephobia/min/@grail-ui/svelte)](https://bundlephobia.com/package/@grail-ui/svelte) [![minified + zipped](https:

24 lines (23 loc) 600 B
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; });