Skip to main content Link Search Menu Expand Document (external link)

Representable overview

Added in v1.0.0


Table of contents


Type classes

Representable (interface)

Signature

export interface Representable<F> extends Distributive<F>, Indexable<F> {
  tabulate: <A>(kfa: (key: Key<F>) => A) => HKT<F, A>
}

Added in v1.0.0

Representable1 (interface)

Signature

export interface Representable1<F extends Keyed1 & URIS> extends Distributive1<F>, Indexable1<F> {
  tabulate: <A>(kfa: (key: KeyOf1<F>) => A) => Kind<F, A>
}

Added in v1.0.0

Representable2 (interface)

Signature

export interface Representable2<F extends Keyed2 & URIS2> extends Distributive2<F>, Indexable2<F> {
  tabulate: <E, A>(kfa: (key: KeyOf2<F, E>) => A) => Kind2<F, E, A>
}

Added in v1.0.0

Representable2C (interface)

Signature

export interface Representable2C<F extends Keyed2 & URIS2, E> extends Distributive2C<F, E>, Indexable2C<F, E> {
  tabulate: <A>(kfa: (key: KeyOf2<F, E>) => A) => Kind2<F, E, A>
}

Added in v1.1.0

Representable3 (interface)

Signature

export interface Representable3<F extends Keyed3 & URIS3> extends Distributive3<F>, Indexable3<F> {
  tabulate: <R, E, A>(kfa: (key: KeyOf3<F, R, E>) => A) => Kind3<F, R, E, A>
}

Added in v1.0.0

Representable3C (interface)

Signature

export interface Representable3C<F extends Keyed3 & URIS3, E> extends Distributive3C<F, E>, Indexable3C<F, E> {
  tabulate: <R, E, A>(kfa: (key: KeyOf3<F, R, E>) => A) => Kind3<F, R, E, A>
}

Added in v1.1.0

Representable4 (interface)

Signature

export interface Representable4<F extends Keyed4 & URIS4> extends Distributive4<F>, Indexable4<F> {
  tabulate: <S, R, E, A>(kfa: (key: KeyOf4<F, S, R, E>) => A) => Kind4<F, S, R, E, A>
}

Added in v1.0.0