Interface SelectorBuilder<TParam, TSelected, TFactory, TKey> Type Parameters TParam = {} TSelected = {} TFactory = void TKey extends any [] = never Methods build build( ) : TFactory extends any [] ? SelectorFactory < TFactory , TParam , TSelected > : Selector < TParam , TSelected > build< R > ( resultSelector: ( ( selected: TSelected , ... args: TKey ) => R ) ) : TFactory extends any [] ? SelectorFactory < TFactory , TParam , R > : Selector < TParam , R > Returns TFactory extends any [] ? SelectorFactory < TFactory , TParam , TSelected > : Selector < TParam , TSelected > Type Parameters Parameters resultSelector: ( ( selected: TSelected , ... args: TKey ) => R ) ( selected: TSelected , ... args: TKey ) : R Parameters selected: TSelected Rest ... args: TKey Returns R Returns TFactory extends any [] ? SelectorFactory < TFactory , TParam , R > : Selector < TParam , R > compare compare( equalCompareFn: ( ( a: TParam , b: TParam ) => boolean ) ) : SelectorBuilder < TParam , TSelected , TFactory , TKey > Parameters equalCompareFn: ( ( a: TParam , b: TParam ) => boolean ) ( a: TParam , b: TParam ) : boolean Parameters Returns boolean Returns SelectorBuilder < TParam , TSelected , TFactory , TKey > key Type Parameters Returns SelectorBuilder < TParam , TSelected , [ P ] , [ P ] > Type Parameters P extends any [] K extends any [] Parameters keySelector: ( ( ... args: P ) => K ) Returns SelectorBuilder < TParam , TSelected , P , K > use use< P , S > ( selectors: S ) : SelectorBuilder < TParam & P , TSelected & { [ key in string | number | symbol ] : ReturnType < S [ key ] > } , TFactory , TKey > use< N , P , R > ( name: N , selector: ( ( param: P , ... args: TKey ) => R ) ) : SelectorBuilder < TParam & P , TSelected & { [ key in string ] : R } , TFactory , TKey > use< P , R > ( selector: ( ( param: P , ... args: TKey ) => R ) ) : SelectorBuilder < TParam & P , TSelected & R , TFactory , TKey > Type Parameters P = TParam S extends {} = any Parameters Returns SelectorBuilder < TParam & P , TSelected & { [ key in string | number | symbol ] : ReturnType < S [ key ] > } , TFactory , TKey > Type Parameters N extends string = string P = TParam R = any Parameters name: N selector: ( ( param: P , ... args: TKey ) => R ) ( param: P , ... args: TKey ) : R Parameters param: P Rest ... args: TKey Returns R Returns SelectorBuilder < TParam & P , TSelected & { [ key in string ] : R } , TFactory , TKey > Type Parameters P = TParam R extends Record < string , any > = any Parameters selector: ( ( param: P , ... args: TKey ) => R ) ( param: P , ... args: TKey ) : R Parameters param: P Rest ... args: TKey Returns R Returns SelectorBuilder < TParam & P , TSelected & R , TFactory , TKey > Legend Settings Theme OS Light Dark
build the memozied structured selector