abstract
class
Capability[R <: Has[_], I, E, A] extends Base[R]
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
def
apply(returns: Result[I, E, A])(implicit ev: <:<[I, Unit]): Expectation[R]
-
def
apply(assertion: Assertion[I], result: Result[I, E, A])(implicit ev: =!=[I, Unit]): Expectation[R]
-
def
apply(assertion: Assertion[I])(implicit ev1: =!=[I, Unit], ev2: <:<[A, Unit]): Expectation[R]
-
def
apply()(implicit ev1: =:=[I, Unit], ev2: <:<[A, Unit]): Expectation[R]
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
-
-
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
-
-
def
isEqual[R0 <: Has[_], I0, E0, A0](that: Capability[R0, I0, E0, A0]): Boolean
-
final
def
isInstanceOf[T0]: Boolean
-
val
mock: Mock[R]
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
val
toString: String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
A
Capability[R, I, E, A]
represents a capability of environmentR
that takes an inputI
and returns an effect that may fail witn an errorE
or produce a singleA
.To represent polymorphic capabilities you must use one of lazy
Capability.Poly
types which allow you to delay the declaration of some types to call site.To construct capability tags you should start by creating a
Mock[R]
and extend publicly availableEffect
,Method
,Sink
orStream
type members.