From d5097965aa2cc2726e241333d8d6d0fa090717eb Mon Sep 17 00:00:00 2001 From: pragdave Date: Thu, 7 May 2020 13:51:16 -0500 Subject: It was difficult to use the zero-parameter form of Timeline.schedule() with TypeScript. The .d.ts file didn't include the retuen type for a list of runner infos, and adding it still m,ade it harder than it should be to iterate over it type safely. In this commit I 1. Added the type information for `ScheduledRunnerInfo`, and updated the Timeline types to include it as a retuen type for `schedule` 2. Added a new function to Timeline, `getSchedule`, that simply returns the runner list. This seems to be cleaner than having the original `schedule` that can return two wildly different things. I didn't remove the old functionality. --- svg.js.d.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'svg.js.d.ts') diff --git a/svg.js.d.ts b/svg.js.d.ts index e397e05..02dd6df 100644 --- a/svg.js.d.ts +++ b/svg.js.d.ts @@ -772,11 +772,19 @@ declare module "@svgdotjs/svg.js" { } // Timeline.js + interface ScheduledRunnerInfo { + start: number + duration: number + end: number + runner: Runner + } + class Timeline extends EventTarget { constructor() constructor(fn: Function) - schedule(runner?: Runner, delay?: number, when?: string): this + getSchedule(): ScheduledRunnerInfo[] + schedule(runner?: Runner, delay?: number, when?: string): ( this | ScheduledRunnerInfo[] ) unschedule(runner: Runner): this getEndTime(): number updateTime(): this -- cgit v1.2.3