@typed/fp
Version:
Data Structures and Resources for fp-ts
32 lines • 949 B
JavaScript
/**
* FromEnv is a Typeclass which represents the Natural Transformation from an Env into another
* effect.
*
* @since 0.9.2
*/
import { chainFirst } from 'fp-ts/Chain';
import { flow } from 'fp-ts/function';
import * as Provide from './Provide';
export function fromEnvK(F) {
return (f) => (...args) => F.fromEnv(f(...args));
}
export function chainEnvK(F, C) {
return (f) => C.chain(flow(f, F.fromEnv));
}
export function chainFirstEnvK(F, C) {
const chainF = chainFirst(C);
return (f) => chainF(flow(f, F.fromEnv));
}
export function provideSomeWithEnv(F) {
return flow(F.fromEnv, Provide.provideSomeWith(F));
}
export function provideAllWithEnv(F) {
return flow(F.fromEnv, Provide.provideAllWith(F));
}
export function useSomeWithEnv(F) {
return flow(F.fromEnv, Provide.useSomeWith(F));
}
export function useAllWithEnv(F) {
return flow(F.fromEnv, Provide.useAllWith(F));
}
//# sourceMappingURL=FromEnv.js.map