VarianceStruct<
OutElem,
OutErr,
OutDone,
InElem,
InErr,
InDone,
Env
>Structural encoding used by Variance to record each Channel type
parameter's variance.
Details
The _OutElem, _OutErr, _OutDone, and _Env fields are covariant; the
_InElem, _InErr, and _InDone fields are contravariant. Users normally
do not need to reference this interface directly.
export interface interface VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>Structural encoding used by Variance to record each Channel type
parameter's variance.
Details
The _OutElem, _OutErr, _OutDone, and _Env fields are covariant; the
_InElem, _InErr, and _InDone fields are contravariant. Users normally
do not need to reference this interface directly.
VarianceStruct<
out function (type parameter) OutElem in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>OutElem,
out function (type parameter) OutErr in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>OutErr,
out function (type parameter) OutDone in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>OutDone,
in function (type parameter) InElem in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>InElem,
in function (type parameter) InErr in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>InErr,
in function (type parameter) InDone in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>InDone,
out function (type parameter) Env in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>Env
> {
VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>._Env: Types.Covariant<Env>_Env: import TypesTypes.type Covariant<A> = (_: never) => AFunction-type alias encoding covariant variance for a phantom type
parameter.
When to use
Use as a phantom field type to make a type parameter covariant in output
position.
Details
Covariant<A> is assignable to Covariant<B> when A extends B, following
the subtype direction.
Example (Defining a covariant phantom type)
import type { Types } from "effect"
interface Producer<T> {
readonly _phantom: Types.Covariant<T>
readonly get: () => T
}
Namespace for
Covariant
-related utilities.
When to use
Use when referring to type-level helpers nested under Covariant.
Covariant<function (type parameter) Env in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>Env>
VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>._InErr: Types.Contravariant<InErr>_InErr: import TypesTypes.type Contravariant<A> = (_: A) => voidFunction-type alias encoding contravariant variance for a phantom type
parameter.
When to use
Use as a phantom field type to make a type parameter contravariant in input
position.
Details
Contravariant<A> is assignable to Contravariant<B> when B extends A,
following the supertype direction.
Example (Defining a contravariant phantom type)
import type { Types } from "effect"
interface Consumer<T> {
readonly _phantom: Types.Contravariant<T>
readonly accept: (value: T) => void
}
Namespace for
Contravariant
-related utilities.
When to use
Use when referring to type-level helpers nested under Contravariant.
Contravariant<function (type parameter) InErr in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>InErr>
VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>._InElem: Types.Contravariant<InElem>_InElem: import TypesTypes.type Contravariant<A> = (_: A) => voidFunction-type alias encoding contravariant variance for a phantom type
parameter.
When to use
Use as a phantom field type to make a type parameter contravariant in input
position.
Details
Contravariant<A> is assignable to Contravariant<B> when B extends A,
following the supertype direction.
Example (Defining a contravariant phantom type)
import type { Types } from "effect"
interface Consumer<T> {
readonly _phantom: Types.Contravariant<T>
readonly accept: (value: T) => void
}
Namespace for
Contravariant
-related utilities.
When to use
Use when referring to type-level helpers nested under Contravariant.
Contravariant<function (type parameter) InElem in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>InElem>
VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>._InDone: Types.Contravariant<InDone>_InDone: import TypesTypes.type Contravariant<A> = (_: A) => voidFunction-type alias encoding contravariant variance for a phantom type
parameter.
When to use
Use as a phantom field type to make a type parameter contravariant in input
position.
Details
Contravariant<A> is assignable to Contravariant<B> when B extends A,
following the supertype direction.
Example (Defining a contravariant phantom type)
import type { Types } from "effect"
interface Consumer<T> {
readonly _phantom: Types.Contravariant<T>
readonly accept: (value: T) => void
}
Namespace for
Contravariant
-related utilities.
When to use
Use when referring to type-level helpers nested under Contravariant.
Contravariant<function (type parameter) InDone in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>InDone>
VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>._OutErr: Types.Covariant<OutErr>_OutErr: import TypesTypes.type Covariant<A> = (_: never) => AFunction-type alias encoding covariant variance for a phantom type
parameter.
When to use
Use as a phantom field type to make a type parameter covariant in output
position.
Details
Covariant<A> is assignable to Covariant<B> when A extends B, following
the subtype direction.
Example (Defining a covariant phantom type)
import type { Types } from "effect"
interface Producer<T> {
readonly _phantom: Types.Covariant<T>
readonly get: () => T
}
Namespace for
Covariant
-related utilities.
When to use
Use when referring to type-level helpers nested under Covariant.
Covariant<function (type parameter) OutErr in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>OutErr>
VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>._OutElem: Types.Covariant<OutElem>_OutElem: import TypesTypes.type Covariant<A> = (_: never) => AFunction-type alias encoding covariant variance for a phantom type
parameter.
When to use
Use as a phantom field type to make a type parameter covariant in output
position.
Details
Covariant<A> is assignable to Covariant<B> when A extends B, following
the subtype direction.
Example (Defining a covariant phantom type)
import type { Types } from "effect"
interface Producer<T> {
readonly _phantom: Types.Covariant<T>
readonly get: () => T
}
Namespace for
Covariant
-related utilities.
When to use
Use when referring to type-level helpers nested under Covariant.
Covariant<function (type parameter) OutElem in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>OutElem>
VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>._OutDone: Types.Covariant<OutDone>_OutDone: import TypesTypes.type Covariant<A> = (_: never) => AFunction-type alias encoding covariant variance for a phantom type
parameter.
When to use
Use as a phantom field type to make a type parameter covariant in output
position.
Details
Covariant<A> is assignable to Covariant<B> when A extends B, following
the subtype direction.
Example (Defining a covariant phantom type)
import type { Types } from "effect"
interface Producer<T> {
readonly _phantom: Types.Covariant<T>
readonly get: () => T
}
Namespace for
Covariant
-related utilities.
When to use
Use when referring to type-level helpers nested under Covariant.
Covariant<function (type parameter) OutDone in VarianceStruct<out OutElem, out OutErr, out OutDone, in InElem, in InErr, in InDone, out Env>OutDone>
}