diff --git a/app/javascript/mastodon/store/typed_functions.ts b/app/javascript/mastodon/store/typed_functions.ts index 0392f373c..dae37e622 100644 --- a/app/javascript/mastodon/store/typed_functions.ts +++ b/app/javascript/mastodon/store/typed_functions.ts @@ -89,21 +89,17 @@ type OnData<LoadDataResult, ReturnedData> = ( }, ) => ReturnedData | DiscardLoadData | Promise<ReturnedData | DiscardLoadData>; +type ArgsType = Record<string, unknown> | undefined; + // Overload when there is no `onData` method, the payload is the `onData` result -export function createDataLoadingThunk< - LoadDataResult, - Args extends Record<string, unknown>, ->( +export function createDataLoadingThunk<LoadDataResult, Args extends ArgsType>( name: string, loadData: (args: Args) => Promise<LoadDataResult>, thunkOptions?: AppThunkOptions, ): ReturnType<typeof createThunk<Args, LoadDataResult>>; // Overload when the `onData` method returns discardLoadDataInPayload, then the payload is empty -export function createDataLoadingThunk< - LoadDataResult, - Args extends Record<string, unknown>, ->( +export function createDataLoadingThunk<LoadDataResult, Args extends ArgsType>( name: string, loadData: (args: Args) => Promise<LoadDataResult>, onDataOrThunkOptions?: @@ -113,10 +109,7 @@ export function createDataLoadingThunk< ): ReturnType<typeof createThunk<Args, void>>; // Overload when the `onData` method returns nothing, then the mayload is the `onData` result -export function createDataLoadingThunk< - LoadDataResult, - Args extends Record<string, unknown>, ->( +export function createDataLoadingThunk<LoadDataResult, Args extends ArgsType>( name: string, loadData: (args: Args) => Promise<LoadDataResult>, onDataOrThunkOptions?: AppThunkOptions | OnData<LoadDataResult, void>, @@ -126,7 +119,7 @@ export function createDataLoadingThunk< // Overload when there is an `onData` method returning something export function createDataLoadingThunk< LoadDataResult, - Args extends Record<string, unknown>, + Args extends ArgsType, Returned, >( name: string, @@ -162,7 +155,7 @@ export function createDataLoadingThunk< */ export function createDataLoadingThunk< LoadDataResult, - Args extends Record<string, unknown>, + Args extends ArgsType, Returned, >( name: string,