import { createSelector } from "reselect"; import { EntityId, Recipe } from "@spendcook/api"; import selectEntities from "./selectEntities"; import { denormalize } from "normalizr"; import { State } from "../types"; import { recipeSchema } from "../entities"; interface Params { recipeId: EntityId; } const getRecipeId = (_: State, { recipeId }: Params) => recipeId; export default createSelector( [selectEntities, getRecipeId], (entities, recipeId) => { return denormalize(recipeId, recipeSchema, entities) as Recipe; } );