diff --git a/types/redux-orm/redux-orm-tests.ts b/types/redux-orm/redux-orm-tests.ts index ce40c681e0..939acdb162 100644 --- a/types/redux-orm/redux-orm-tests.ts +++ b/types/redux-orm/redux-orm-tests.ts @@ -387,6 +387,12 @@ const sessionFixture = () => { (session, title) => session.Book.get({ title })!.ref ) as TestSelector; + const selector0 = createOrmSelector( + orm, + s => s.db, + session => session.Book.first()!.ref + ) as TestSelector; + const selector2 = createOrmSelector( orm, s => s.db, @@ -453,6 +459,7 @@ const sessionFixture = () => { const state = { db: orm.getEmptyState(), foo: 1, bar: 'foo' }; + selector0(state); // $ExpectType Ref selector1(state); // $ExpectType Ref selector2(state); // $ExpectType Ref selector3(state); // $ExpectType Ref diff --git a/types/redux-orm/redux.d.ts b/types/redux-orm/redux.d.ts index 91aa2bbfac..5a0737bdf8 100644 --- a/types/redux-orm/redux.d.ts +++ b/types/redux-orm/redux.d.ts @@ -78,4 +78,10 @@ export function createSelector( ormSelector: ORMSelector ): Selector; +export function createSelector( + orm: ORM, + ormStateSelector: Selector>, + ormSelector: ORMSelector +): Selector; + export function createSelector(orm: ORM, ormSelector: ORMSelector): Selector, R>;