import { Effect , Effects } from '@typed/effects' ; import { Either } from '@typed/either' ; import { ArgsOf } from '@typed/lambda' ; import { futurify , NodeCallback , NodeCallbackFn } from './futurify' ; export function effectify < R > ( fn ) ; export function effectify < A , R > ( fn ) ; export function effectify < A , B , R > ( fn ) ; export function effectify < A , B , C , R > ( fn ) ; export function effectify < A , B , C , D , R > ( fn ) ; export function effectify < A , B , C , D , E , R > ( fn ) ; export function effectify < A , B , C , D , E , F , R > ( fn ) ; export function effectify < A , B , C , D , E , F , G , R > ( fn ) ; export function effectify < A extends NodeCallbackFn > ( fn ) { const toFuture = futurify ( fn ) ; return ( ... args ) => Effect . fromEnv ( toFuture ( ... args ) ) ; }