From 7647d29f492ede37f5c87e1aa953ec259d6705bb Mon Sep 17 00:00:00 2001 From: Julian Wielga Date: Mon, 15 Apr 2019 00:09:18 +0200 Subject: [PATCH] Added decorator syntax support for mobx-task --- types/mobx-task/index.d.ts | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/types/mobx-task/index.d.ts b/types/mobx-task/index.d.ts index d44e515a0e..0a160a4b70 100644 --- a/types/mobx-task/index.d.ts +++ b/types/mobx-task/index.d.ts @@ -24,7 +24,7 @@ export interface TaskMatchProps TaskMatchResult; } -export interface TaskStatusAware extends TaskFunc, Args> { +export interface TaskStatusAware extends TaskFunc, Args> { readonly state: TaskState; readonly pending: boolean; readonly resolved: boolean; @@ -42,21 +42,15 @@ export interface TaskStatusAware extends TaskFunc( - func: TaskFunc, - options?: TaskOptions>, - ): TaskStatusAware, A>; - - resolved( - func: TaskFunc, - options?: Omit>, 'state'>, - ): TaskStatusAware, A>; - - rejected( - func: TaskFunc, - options?: Omit>, 'state'>, - ): TaskStatusAware, A>; +export interface TaskCreator> extends MethodDecorator, PropertyDecorator { + (func: TaskFunc, options?: Pick>, K>): TaskStatusAware, A>; + (options: Pick>, K>): PropertyDecorator | MethodDecorator; } +export interface TaskFactory extends TaskCreator> { + resolved: TaskCreator, 'state'>>; + rejected: TaskCreator, 'state'>>; +} + +export type Task = TaskStatusAware; export const task: TaskFactory;