/** * Lift a computation from the `Task` monad * * @since 2.0.0 */ import { HKT, Kind, Kind2, Kind3, URIS, URIS2, URIS3, URIS4, Kind4 } from './HKT' import { MonadIO, MonadIO1, MonadIO2, MonadIO2C, MonadIO3, MonadIO3C, MonadIO4 } from './MonadIO' import { Task } from './Task' /** * @category type classes * @since 2.0.0 */ export interface MonadTask extends MonadIO { readonly fromTask: (fa: Task) => HKT } /** * @category type classes * @since 2.0.0 */ export interface MonadTask1 extends MonadIO1 { readonly fromTask: (fa: Task) => Kind } /** * @category type classes * @since 2.0.0 */ export interface MonadTask2 extends MonadIO2 { readonly fromTask: (fa: Task) => Kind2 } /** * @category type classes * @since 2.0.0 */ export interface MonadTask2C extends MonadIO2C { readonly fromTask: (fa: Task) => Kind2 } /** * @category type classes * @since 2.0.0 */ export interface MonadTask3 extends MonadIO3 { readonly fromTask: (fa: Task) => Kind3 } /** * @category type classes * @since 2.2.0 */ export interface MonadTask3C extends MonadIO3C { readonly fromTask: (fa: Task) => Kind3 } /** * @category type classes * @since 2.4.4 */ export interface MonadTask4 extends MonadIO4 { readonly fromTask: (fa: Task) => Kind4 }