UNPKG

clean-redux

Version:

Utilities for implementing clean architecture using Redux

18 lines (17 loc) 562 B
import "minimal-polyfills/Object.fromEntries"; import type { Reducer } from "@reduxjs/toolkit"; export declare function usecasesToReducer<Usecase extends { name: string; reducer: Reducer | null; }>(usecases: readonly Usecase[]): RemoveNullProperties<{ [Key in Usecase["name"]]: Extract<Usecase, { name: Key; }>["reducer"]; }>; declare type NonNullPropertyNames<O> = { [Key in keyof O]: O[Key] extends null ? never : Key; }[keyof O]; declare type RemoveNullProperties<O> = { [Key in NonNullPropertyNames<O>]: O[Key]; }; export {};