object Resource extends ResourceInstances with ResourcePlatform
- Source
- Resource.scala
- Alphabetic
- By Inheritance
- Resource
- ResourcePlatform
- ResourceInstances
- ResourceInstances0
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final case class Allocate[F[_], A](resource: F[(A, (ExitCase[Throwable]) => F[Unit])]) extends Resource[F, A] with InvariantResource[F, A] with Product with Serializable
Resourcedata constructor that wraps an effect allocating a resource, along with its finalizers. - final case class Bind[F[_], S, +A](source: Resource[F, S], fs: (S) => Resource[F, A]) extends Resource[F, A] with InvariantResource[F, A] with Product with Serializable
Resourcedata constructor that encodes theflatMapoperation. - type Par[+F[_], +A] = Type[F, A]
Newtype encoding for a
Resourcedatatype that has acats.Applicativecapable of doing parallel processing inapandmap2, needed for implementingcats.Parallel.Newtype encoding for a
Resourcedatatype that has acats.Applicativecapable of doing parallel processing inapandmap2, needed for implementingcats.Parallel.Helpers are provided for converting back and forth in
Par.applyfor wrapping anyIOvalue andPar.unwrapfor unwrapping.The encoding is based on the "newtypes" project by Alexander Konovalov, chosen because it's devoid of boxing issues and a good choice until opaque types will land in Scala. alexknvl/newtypes.
- final case class Suspend[F[_], A](resource: F[Resource[F, A]]) extends Resource[F, A] with InvariantResource[F, A] with Product with Serializable
Resourcedata constructor that suspends the evaluation of another resource value.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply[F[_], A](resource: F[(A, F[Unit])])(implicit F: Functor[F]): Resource[F, A]
Creates a resource from an allocating effect.
Creates a resource from an allocating effect.
- F
the effect type in which the resource is acquired and released
- A
the type of the resource
- resource
an effect that returns a tuple of a resource and an effect to release it
- See also
make for a version that separates the needed resource with its finalizer tuple in two parameters
- def applyCase[F[_], A](resource: F[(A, (ExitCase[Throwable]) => F[Unit])]): Resource[F, A]
Creates a resource from an allocating effect, with a finalizer that is able to distinguish between exit cases.
Creates a resource from an allocating effect, with a finalizer that is able to distinguish between exit cases.
- F
the effect type in which the resource is acquired and released
- A
the type of the resource
- resource
an effect that returns a tuple of a resource and an effectful function to release it
- See also
makeCase for a version that separates the needed resource with its finalizer tuple in two parameters
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- implicit def catsEffectCommutativeApplicativeForResourcePar[F[_]](implicit F: Sync[F], P: Parallel[F]): CommutativeApplicative[[β$4$]Type[F, β$4$]]
- Definition Classes
- ResourceInstances
- implicit def catsEffectLiftIOForResource[F[_]](implicit F00: LiftIO[F], F10: Applicative[F]): LiftIO[[β$3$]Resource[F, β$3$]]
- Definition Classes
- ResourceInstances
- implicit def catsEffectMonadErrorForResource[F[_], E](implicit F0: MonadError[F, E]): MonadError[[β$2$]Resource[F, β$2$], E]
- Definition Classes
- ResourceInstances
- implicit def catsEffectMonadForResource[F[_]](implicit F0: Monad[F]): Monad[[β$7$]Resource[F, β$7$]]
- Definition Classes
- ResourceInstances0
- implicit def catsEffectMonoidForResource[F[_], A](implicit F0: Monad[F], A0: Monoid[A]): Monoid[Resource[F, A]]
- Definition Classes
- ResourceInstances
- implicit def catsEffectParallelForResource[F0[_]](implicit arg0: Sync[F0], arg1: Parallel[F0]): Aux[[β$5$]Resource[F0, β$5$], [β$6$]Type[F0, β$6$]]
- Definition Classes
- ResourceInstances
- implicit def catsEffectSemigroupForResource[F[_], A](implicit F0: Monad[F], A0: Semigroup[A]): ResourceSemigroup[F, A]
- Definition Classes
- ResourceInstances0
- implicit def catsEffectSemigroupKForResource2[F[_]](implicit F0: Sync[F], K: SemigroupK[F]): SemigroupK[[β$8$]Resource[F, β$8$]]
- Definition Classes
- ResourceInstances0
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def eval[F[_], A](fa: F[A])(implicit F: Applicative[F]): Resource[F, A]
Lifts an applicative into a resource.
Lifts an applicative into a resource. The resource has a no-op release. Preserves interruptibility of
fa.- fa
the value to lift into a resource
- def fromAutoCloseable[F[_], A <: AutoCloseable](acquire: F[A])(implicit F: Sync[F]): Resource[F, A]
Creates a Resource by wrapping a Java AutoCloseable.
Creates a Resource by wrapping a Java AutoCloseable.
Example:
import cats.effect._ import scala.io.Source def reader[F[_]](data: String)(implicit F: Sync[F]): Resource[F, Source] = Resource.fromAutoCloseable(F.delay { Source.fromString(data) })
- F
the type of the effect
- A
the type of the autocloseable resource
- acquire
The effect with the resource to acquire.
- F
the effect type in which the resource was acquired and will be released
- returns
a Resource that will automatically close after use
- def fromAutoCloseableBlocking[F[_], A <: AutoCloseable](blocker: Blocker)(acquire: F[A])(implicit arg0: Sync[F], arg1: ContextShift[F]): Resource[F, A]
Creates a Resource by wrapping a Java AutoCloseable which is blocking in its adquire and close operations.
Creates a Resource by wrapping a Java AutoCloseable which is blocking in its adquire and close operations.
Example:
import java.io._ import cats.effect._ def reader[F[_]](file: File, blocker: Blocker)(implicit F: Sync[F], cs: ContextShift[F]): Resource[F, BufferedReader] = Resource.fromAutoCloseableBlocking(blocker)(F.delay { new BufferedReader(new FileReader(file)) })
- F
the type of the effect
- A
the type of the autocloseable resource
- blocker
The blocking context that will be used to compute acquire and close
- acquire
The effect with the resource to acquire
- returns
a Resource that will automatically close after use
- def fromDestroyable[F[_], A <: Destroyable](acquire: F[A])(implicit F: Sync[F]): Resource[F, A]
Creates a Resource by wrapping a Java Destroyable.
Creates a Resource by wrapping a Java Destroyable.
Example:
import java.security.KeyStore.PasswordProtection import cats.effect._ import cats.syntax.all._ def passwordProtection[F[_]](getPassword: F[Array[Char]])(implicit F: Sync[F]): Resource[F, PasswordProtection] = Resource.fromDestroyable( getPassword.map(new PasswordProtection(_)) )
- F
the type of the effect
- A
the type of the destroyable resource
- acquire
The effect with the resource to acquire.
- F
the effect type in which the resource was acquired and will be released
- returns
a Resource that will automatically destroy after use
- Definition Classes
- ResourcePlatform
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def liftK[F[_]](implicit F: Applicative[F]): ~>[F, [β$0$]Resource[F, β$0$]]
Lifts an applicative into a resource as a
FunctionK.Lifts an applicative into a resource as a
FunctionK. The resource has a no-op release. - def make[F[_], A](acquire: F[A])(release: (A) => F[Unit])(implicit F: Functor[F]): Resource[F, A]
Creates a resource from an acquiring effect and a release function.
Creates a resource from an acquiring effect and a release function.
This builder mirrors the signature of Bracket.bracket.
- F
the effect type in which the resource is acquired and released
- A
the type of the resource
- acquire
a function to effectfully acquire a resource
- release
a function to effectfully release the resource returned by
acquire
- def makeCase[F[_], A](acquire: F[A])(release: (A, ExitCase[Throwable]) => F[Unit])(implicit F: Functor[F]): Resource[F, A]
Creates a resource from an acquiring effect and a release function that can discriminate between different exit cases.
Creates a resource from an acquiring effect and a release function that can discriminate between different exit cases.
This builder mirrors the signature of Bracket.bracketCase.
- F
the effect type in which the resource is acquired and released
- A
the type of the resource
- acquire
a function to effectfully acquire a resource
- release
a function to effectfully release the resource returned by
acquire
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def pure[F[_], A](a: A)(implicit F: Applicative[F]): Resource[F, A]
Lifts a pure value into a resource.
Lifts a pure value into a resource. The resource has a no-op release.
- a
the value to lift into a resource
- def suspend[F[_], A](fr: F[Resource[F, A]]): Resource[F, A]
Given a
Resourcesuspended inF[_], lifts it in theResourcecontext. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tailRecM[F[_], A, B](a: A)(f: (A) => Resource[F, Either[A, B]])(implicit F: Monad[F]): Resource[F, B]
Implementation for the
tailRecMoperation, as described via thecats.Monadtype class. - def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object Par
Deprecated Value Members
- def catsEffectSemigroupKForResource[F[_], A](implicit F0: Monad[F], K0: SemigroupK[F]): ResourceSemigroupK[F]
- Definition Classes
- ResourceInstances0
- Annotations
- @deprecated
- Deprecated
(Since version 2.2.0) Use the new implementation, catsEffectSemigroupKForResource2, which behaves more like orElse
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- def liftF[F[_], A](fa: F[A])(implicit F: Applicative[F]): Resource[F, A]
- Annotations
- @deprecated
- Deprecated
(Since version 2.4.0) please use
evalinstead.

This is the API documentation for the cats-effect library.
See the cats.effect package for a quick overview.
Links
Canonical documentation links:
Related Cats links (the core):