Skip to content

Commit

Permalink
Renamed types.action to types.triggerAction
Browse files Browse the repository at this point in the history
Added types.resolvedAction and types.rejectedAction
  • Loading branch information
teneko committed Oct 29, 2021
1 parent e2c7b27 commit e5a1605
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ Additionally, all the helper functions will throw a custom `Error` subclass `Con
```js
const promiseAction = promiseActionFactory<number>().simple("MY_ACTION");
declare const typeOfActionThatGotCreatedFromTheSimpleOrAdvancedActionCreator: typeof promiseAction.types.action;
declare const typeOfTriggerActionThatGotCreatedFromTheSimpleOrAdvancedActionCreator: typeof promiseAction.types.triggerAction;
declare const typeOfPromiseThatGotCreatedOfPromiseMiddleware: typeof promiseAction.types.promise;
declare const typeOfResolvedValueFromPromiseThatGotCreatedOfPromiseMiddleware: typeof promiseAction.types.resolveValue;
Expand Down
14 changes: 8 additions & 6 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,9 @@ export function* rejectPromiseAction<TA extends PayloadActionAndMeta<any, any, a
yield call(rejectPromise, action, error);
}

function createPromiseActions<T extends string>(type: T) {
function createPromiseActions<V, T extends string>(type: T) {
return {
resolvedAction: createAction(`${type}/resolved`),
resolvedAction: createAction<V>(`${type}/resolved`),
rejectedAction: createAction(`${type}/rejected`),
};
}
Expand All @@ -126,15 +126,17 @@ function createUpdatedTrigger<V, P, T extends string, TA extends PayloadActionCr
})) as ActionCreatorWithPreparedPayloadAndMeta<V, P, T, PromiseActionsFromMeta<V, typeof resolvedAction, typeof rejectedAction>, typeof triggerAction>;

const types: {
action: PayloadActionAndMeta<V, P, T, PromiseActionsFromMeta<V, typeof resolvedAction, typeof rejectedAction>>,
triggerAction: PayloadActionAndMeta<V, P, T, PromiseActionsFromMeta<V, typeof resolvedAction, typeof rejectedAction>>,
resolvedAction: PayloadAction<V, typeof resolvedAction.type>,
rejectedAction: PayloadAction<any, typeof rejectedAction.type>
promise: Promise<ResolveValueFromTriggerAction<PayloadActionAndMeta<V, P, T, PromiseActionsFromMeta<V, typeof resolvedAction, typeof rejectedAction>>>>,
resolveValue: V
} = {} as any;

const sagas = {
implement: implementPromiseAction as <TA2 extends typeof types["action"], RT extends ResolveValueFromTriggerAction<TA2>>(action: TA2, executor: TriggerExecutor<RT>) => ReturnType<typeof implementPromiseAction>,
resolve: resolvePromiseAction as <TA2 extends typeof types["action"]>(action: TA2, value: ResolveValueFromTriggerAction<TA2>) => ReturnType<typeof resolvePromiseAction>,
reject: rejectPromiseAction as <TA2 extends typeof types["action"]>(action: TA2, error: any) => ReturnType<typeof rejectPromiseAction>,
implement: implementPromiseAction as <TA2 extends typeof types["triggerAction"], RT extends ResolveValueFromTriggerAction<TA2>>(action: TA2, executor: TriggerExecutor<RT>) => ReturnType<typeof implementPromiseAction>,
resolve: resolvePromiseAction as <TA2 extends typeof types["triggerAction"]>(action: TA2, value: ResolveValueFromTriggerAction<TA2>) => ReturnType<typeof resolvePromiseAction>,
reject: rejectPromiseAction as <TA2 extends typeof types["triggerAction"]>(action: TA2, error: any) => ReturnType<typeof rejectPromiseAction>,
};

return Object.assign(updatedTrigger, {
Expand Down

0 comments on commit e5a1605

Please sign in to comment.