react-dayo
Version:
A Queue component for notification etc
32 lines (31 loc) • 810 B
TypeScript
import { QueueProps } from '../components/queue';
export interface DayoOptions {
to: QueueProps['to'];
position: QueueProps['position'];
maxLength: number;
}
export declare type DayoProps = DayoOptions;
export interface DayoImpl<Seed> {
getQueue(): Seed[];
setQueue(queue: Seed[]): void;
}
export declare type IDayo<Seed> = DayoImpl<Seed>;
export interface DayoState<Seed> {
queue: Seed[];
}
export interface DayoOperators<Seed> {
/**
* Update target seed state for running re-rendering
*/
rewriteQueueItem(seed: Seed): void;
/**
* To add a seed into queue state
*/
addSeed(seed: Seed): void;
/**
* To skip a overflowed seeds in queue greater than `maxLength`
*/
skipOverflowSeeds(opts: {
maxLength: number;
}): void;
}