effect-ts-laws
    Preparing search index...

    Interface ComposeTypeLambda<F, G, R1, O1, E1, R2, O2, E2>

    A type lambda for a nested pair of type lambdas. Nests the given type lambdas with the first as the outer layer, and the the second as the inner one. The kind of a nested type lambda is the nesting of the kinds of the given type lambdas. For example:

    import {ComposeTypeLambda} from 'effect-ts-laws'
    import {OptionTypeLambda} from 'effect/Option'
    import {Kind} from 'effect/HKT'
    import {ReadonlyArrayTypeLambda} from 'effect/Array'

    // A type lambda for the higher-kinded type `Option<ReadonlyArray>`:
    export type OptionArrayLambda = ComposeTypeLambda<
    OptionTypeLambda,
    ReadonlyArrayTypeLambda
    >
    // Applying the new type lambda to the type `number`:
    export type NumericOptionArray = Kind<
    OptionArrayLambda,
    never,
    unknown,
    unknown,
    number
    >
    // NumericOptionArray ≡ Option<ReadonlyArray<number>>
    interface ComposeTypeLambda<
        F extends TypeLambda,
        G extends TypeLambda,
        R1 = unknown,
        O1 = never,
        E1 = never,
        R2 = R1,
        O2 = O1,
        E2 = E1,
    > {
        In: unknown;
        Out1: unknown;
        Out2: unknown;
        Target: unknown;
        type: Kind<F, R1, O1, E1, Kind<G, R2, O2, E2, unknown>>;
    }

    Type Parameters

    • F extends TypeLambda
    • G extends TypeLambda
    • R1 = unknown
    • O1 = never
    • E1 = never
    • R2 = R1
    • O2 = O1
    • E2 = E1

    Hierarchy

    • TypeLambda
      • ComposeTypeLambda
    Index

    Properties

    Properties

    In: unknown
    Out1: unknown
    Out2: unknown
    Target: unknown
    type: Kind<F, R1, O1, E1, Kind<G, R2, O2, E2, unknown>>