Tengo que exponer el argumento pasado a "getOrNewThing" (config), por lo que cuando doblo la tarea puedo usarla nuevamente en "AddThenGetThing".
aquí es donde comenzó:
export const getOrNewThing= ctx => cfg => pipe( GetThingByName(ctx), T.fold(()=>AddThenGetThing(ctx)(cfg),T.of), )(cfg);luego se mejoró a:
export const getOrNewThing= ctx => cfg => GetThingByName(ctx)(cfg) .fold(()=>AddThenGetThing(ctx)(cfg),T.of);firmas:
//* GetThingByName:: (Ctx -> Object) => Task(Promise(Thing))
//* AddThenGetThing:: (Ctx -> Object) => Task(Promise(Thing))
Todo funciona, pero siento que me estoy perdiendo algo aquí. ¿Se puede simplificar esto para que sea más libre de puntos pero aún así legible?
Gracias