@most/scheduler
Version:
Reactive programming with lean, functions-only, curried, tree-shakeable API
41 lines (28 loc) • 2.24 kB
Flow
// @flow
import type { Scheduler, Task, ScheduledTask, Timeline, Timer, Clock, Time, Delay, Period, Offset } from '@most/types'
declare export function newScheduler (timer: Timer, timeline: Timeline): Scheduler
declare export function newScheduler (timer: Timer): (timeline: Timeline) => Scheduler
declare export function newDefaultScheduler (): Scheduler
declare export function schedulerRelativeTo (offset: Offset, scheduler: Scheduler): Scheduler
declare export function schedulerRelativeTo (offset: Offset): (scheduler: Scheduler) => Scheduler
declare export function newClockTimer (clock: Clock): Timer
declare export function newTimeline (): Timeline
declare export function newPlatformClock (): Clock
declare export function newPerformanceClock (): Clock
declare export function newDateClock (): Clock
declare export function newHRTimeClock (): Clock
declare export function clockRelativeTo (clock: Clock): Clock
declare export function currentTime (scheduler: Scheduler): Time
declare export function asap (task: Task, scheduler: Scheduler): ScheduledTask
declare export function asap (task: Task): (scheduler: Scheduler) => ScheduledTask
declare export function delay (delay: Delay, task: Task, scheduler: Scheduler): ScheduledTask
declare export function delay (delay: Delay): (task: Task, scheduler: Scheduler) => ScheduledTask
declare export function delay (delay: Delay, task: Task): (scheduler: Scheduler) => ScheduledTask
declare export function delay (delay: Delay): (task: Task) => (scheduler: Scheduler) => ScheduledTask
declare export function periodic (period: Period, task: Task, scheduler: Scheduler): ScheduledTask
declare export function periodic (period: Period): (task: Task, scheduler: Scheduler) => ScheduledTask
declare export function periodic (period: Period, task: Task): (scheduler: Scheduler) => ScheduledTask
declare export function periodic (period: Period): (task: Task) => (scheduler: Scheduler) => ScheduledTask
declare export function cancelTask (scheduledTask: ScheduledTask): void
declare export function cancelAllTasks (predicate: (ScheduledTask) => boolean, scheduler: Scheduler): void
declare export function cancelAllTasks (predicate: (ScheduledTask) => boolean): (Scheduler) => void