antongolub/repeater

View on GitHub
src/main/js/interface.js

Summary

Maintainability
A
0 mins
Test Coverage
// @flow

export type IAny = any

export type IHandler = (...args: any) => any
export type ILimit = number

export type IOpts = {
  target: IHandler,
  delay: number,
  context?: ?IAny,
  limit?: ?ILimit
}

export type ITarget = IHandler | IOpts

export type IRepeater = {
  (...args: any): any;
  target: IHandler,
  timeout: TimeoutID,
  limit?: ?ILimit,
  delay?: ?number,
  args?: ?Array<IAny>,
  context?: ?IAny
}

export type IWrapper = {
  (fn:ITarget): IRepeater
}