fp-ts-representable
Advanced tools
Comparing version
@@ -21,4 +21,4 @@ /** | ||
export interface Distributive1<G extends URIS> extends Functor1<G> { | ||
distribute: <F extends URIS>(F: Functor1<F>) => <A>(fga: Kind<F, Kind<G, A>>) => Kind<G, Kind<F, A>>; | ||
collect: <F extends URIS>(F: Functor1<F>) => <A, B>(agb: (a: A) => Kind<G, B>) => (fa: Kind<F, A>) => Kind<G, Kind<F, B>>; | ||
distribute: <F>(F: Functor<F>) => <A>(fga: HKT<F, Kind<G, A>>) => Kind<G, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <A, B>(agb: (a: A) => Kind<G, B>) => (fa: HKT<F, A>) => Kind<G, HKT<F, B>>; | ||
} | ||
@@ -30,4 +30,4 @@ /** | ||
export interface Distributive2<G extends URIS2> extends Functor2<G> { | ||
distribute: <F extends URIS2>(F: Functor2<F>) => <E, A>(fga: Kind2<F, E, Kind2<G, E, A>>) => Kind2<G, E, Kind2<F, E, A>>; | ||
collect: <F extends URIS2>(F: Functor2<F>) => <E, A, B>(agb: (a: A) => Kind2<G, E, B>) => (fa: Kind2<F, E, A>) => Kind2<G, E, Kind2<F, E, B>>; | ||
distribute: <F>(F: Functor<F>) => <E, A>(fga: HKT<F, Kind2<G, E, A>>) => Kind2<G, E, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <E, A, B>(agb: (a: A) => Kind2<G, E, B>) => (fa: HKT<F, A>) => Kind2<G, E, HKT<F, B>>; | ||
} | ||
@@ -39,4 +39,4 @@ /** | ||
export interface Distributive2C<G extends URIS2, E> extends Functor2C<G, E> { | ||
distribute: <F extends URIS2>(F: Functor2<F>) => <A>(fga: Kind2<F, E, Kind2<G, E, A>>) => Kind2<G, E, Kind2<F, E, A>>; | ||
collect: <F extends URIS2>(F: Functor2<F>) => <A, B>(agb: (a: A) => Kind2<G, E, B>) => (fa: Kind2<F, E, A>) => Kind2<G, E, Kind2<F, E, B>>; | ||
distribute: <F>(F: Functor<F>) => <A>(fga: HKT<F, Kind2<G, E, A>>) => Kind2<G, E, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <A, B>(agb: (a: A) => Kind2<G, E, B>) => (fa: HKT<F, A>) => Kind2<G, E, HKT<F, B>>; | ||
} | ||
@@ -48,4 +48,4 @@ /** | ||
export interface Distributive3<G extends URIS3> extends Functor3<G> { | ||
distribute: <F extends URIS3>(F: Functor3<F>) => <R, E, A>(fga: Kind3<F, R, E, Kind3<G, R, E, A>>) => Kind3<G, R, E, Kind3<F, R, E, A>>; | ||
collect: <F extends URIS3>(F: Functor3<F>) => <R, E, A, B>(agb: (a: A) => Kind3<G, R, E, B>) => (fa: Kind3<F, R, E, A>) => Kind3<G, R, E, Kind3<F, R, E, B>>; | ||
distribute: <F>(F: Functor<F>) => <R, E, A>(fga: HKT<F, Kind3<G, R, E, A>>) => Kind3<G, R, E, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <R, E, A, B>(agb: (a: A) => Kind3<G, R, E, B>) => (fa: HKT<F, A>) => Kind3<G, R, E, HKT<F, B>>; | ||
} | ||
@@ -57,4 +57,4 @@ /** | ||
export interface Distributive3C<G extends URIS3, E> extends Functor3C<G, E> { | ||
distribute: <F extends URIS3>(F: Functor3<F>) => <R, A>(fga: Kind3<F, R, E, Kind3<G, R, E, A>>) => Kind3<G, R, E, Kind3<F, R, E, A>>; | ||
collect: <F extends URIS3>(F: Functor3<F>) => <R, A, B>(agb: (a: A) => Kind3<G, R, E, B>) => (fa: Kind3<F, R, E, A>) => Kind3<G, R, E, Kind3<F, R, E, B>>; | ||
distribute: <F>(F: Functor<F>) => <R, A>(fga: HKT<F, Kind3<G, R, E, A>>) => Kind3<G, R, E, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <R, A, B>(agb: (a: A) => Kind3<G, R, E, B>) => (fa: HKT<F, A>) => Kind3<G, R, E, HKT<F, B>>; | ||
} | ||
@@ -66,4 +66,4 @@ /** | ||
export interface Distributive4<G extends URIS4> extends Functor4<G> { | ||
distribute: <F extends URIS4>(F: Functor4<F>) => <S, R, E, A>(fga: Kind4<F, S, R, E, Kind4<G, S, R, E, A>>) => Kind4<G, S, R, E, Kind4<F, S, R, E, A>>; | ||
collect: <F extends URIS4>(F: Functor4<F>) => <S, R, E, A, B>(agb: (a: A) => Kind4<G, S, R, E, B>) => (fa: Kind4<F, S, R, E, A>) => Kind4<G, S, R, E, Kind4<F, S, R, E, B>>; | ||
distribute: <F>(F: Functor<F>) => <S, R, E, A>(fga: HKT<F, Kind4<G, S, R, E, A>>) => Kind4<G, S, R, E, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <S, R, E, A, B>(agb: (a: A) => Kind4<G, S, R, E, B>) => (fa: HKT<F, A>) => Kind4<G, S, R, E, HKT<F, B>>; | ||
} |
/** @since 1.0.0 */ | ||
import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from 'fp-ts/HKT'; | ||
import { Key, Keyed1, Keyed2, Keyed3, Keyed4, KeyOf1, KeyOf2, KeyOf3, KeyOf4 } from './Key'; | ||
import { Lookup, Lookup1, Lookup2, Lookup3, Lookup4 } from './Lookup'; | ||
import { Lookup, Lookup1, Lookup2, Lookup2C, Lookup3, Lookup3C, Lookup4 } from './Lookup'; | ||
/** | ||
@@ -27,2 +27,9 @@ * @since 1.0.0 | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
export interface Indexable2C<F extends Keyed2 & URIS2, E> extends Lookup2C<F, E> { | ||
index: <A>(fa: Kind2<F, E, A>) => (key: KeyOf2<F, E>) => A; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -35,2 +42,9 @@ * @category Type classes | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
export interface Indexable3C<F extends Keyed3 & URIS3, E> extends Lookup3C<F, E> { | ||
index: <R, A>(fa: Kind3<F, R, E, A>) => (key: KeyOf3<F, R, E>) => A; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -37,0 +51,0 @@ * @category Type classes |
@@ -27,2 +27,9 @@ /** @since 1.0.0 */ | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
export interface Lookup2C<F extends Keyed2 & URIS2, E> { | ||
lookup: (key: KeyOf2<F, E>) => <A>(fa: Kind2<F, E, A>) => Option<A>; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -35,2 +42,9 @@ * @category Type classes | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
export interface Lookup3C<F extends Keyed3 & URIS3, E> { | ||
lookup: <R>(key: KeyOf3<F, R, E>) => <A>(fa: Kind3<F, R, E, A>) => Option<A>; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -37,0 +51,0 @@ * @category Type classes |
/** @since 1.0.0 */ | ||
import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from 'fp-ts/HKT'; | ||
import { Key, Keyed1, Keyed2, Keyed3, Keyed4, KeyOf1, KeyOf2, KeyOf3, KeyOf4 } from './Key'; | ||
import { Distributive, Distributive1, Distributive2, Distributive3, Distributive4 } from './Distributive'; | ||
import { Indexable, Indexable1, Indexable2, Indexable3, Indexable4 } from './Indexable'; | ||
import { Distributive, Distributive1, Distributive2, Distributive2C, Distributive3, Distributive3C, Distributive4 } from './Distributive'; | ||
import { Indexable, Indexable1, Indexable2, Indexable2C, Indexable3, Indexable3C, Indexable4 } from './Indexable'; | ||
/** | ||
@@ -28,2 +28,9 @@ * @since 1.0.0 | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
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>; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -36,2 +43,9 @@ * @category Type classes | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
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>; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -38,0 +52,0 @@ * @category Type classes |
@@ -21,4 +21,4 @@ /** | ||
export interface Distributive1<G extends URIS> extends Functor1<G> { | ||
distribute: <F extends URIS>(F: Functor1<F>) => <A>(fga: Kind<F, Kind<G, A>>) => Kind<G, Kind<F, A>>; | ||
collect: <F extends URIS>(F: Functor1<F>) => <A, B>(agb: (a: A) => Kind<G, B>) => (fa: Kind<F, A>) => Kind<G, Kind<F, B>>; | ||
distribute: <F>(F: Functor<F>) => <A>(fga: HKT<F, Kind<G, A>>) => Kind<G, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <A, B>(agb: (a: A) => Kind<G, B>) => (fa: HKT<F, A>) => Kind<G, HKT<F, B>>; | ||
} | ||
@@ -30,4 +30,4 @@ /** | ||
export interface Distributive2<G extends URIS2> extends Functor2<G> { | ||
distribute: <F extends URIS2>(F: Functor2<F>) => <E, A>(fga: Kind2<F, E, Kind2<G, E, A>>) => Kind2<G, E, Kind2<F, E, A>>; | ||
collect: <F extends URIS2>(F: Functor2<F>) => <E, A, B>(agb: (a: A) => Kind2<G, E, B>) => (fa: Kind2<F, E, A>) => Kind2<G, E, Kind2<F, E, B>>; | ||
distribute: <F>(F: Functor<F>) => <E, A>(fga: HKT<F, Kind2<G, E, A>>) => Kind2<G, E, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <E, A, B>(agb: (a: A) => Kind2<G, E, B>) => (fa: HKT<F, A>) => Kind2<G, E, HKT<F, B>>; | ||
} | ||
@@ -39,4 +39,4 @@ /** | ||
export interface Distributive2C<G extends URIS2, E> extends Functor2C<G, E> { | ||
distribute: <F extends URIS2>(F: Functor2<F>) => <A>(fga: Kind2<F, E, Kind2<G, E, A>>) => Kind2<G, E, Kind2<F, E, A>>; | ||
collect: <F extends URIS2>(F: Functor2<F>) => <A, B>(agb: (a: A) => Kind2<G, E, B>) => (fa: Kind2<F, E, A>) => Kind2<G, E, Kind2<F, E, B>>; | ||
distribute: <F>(F: Functor<F>) => <A>(fga: HKT<F, Kind2<G, E, A>>) => Kind2<G, E, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <A, B>(agb: (a: A) => Kind2<G, E, B>) => (fa: HKT<F, A>) => Kind2<G, E, HKT<F, B>>; | ||
} | ||
@@ -48,4 +48,4 @@ /** | ||
export interface Distributive3<G extends URIS3> extends Functor3<G> { | ||
distribute: <F extends URIS3>(F: Functor3<F>) => <R, E, A>(fga: Kind3<F, R, E, Kind3<G, R, E, A>>) => Kind3<G, R, E, Kind3<F, R, E, A>>; | ||
collect: <F extends URIS3>(F: Functor3<F>) => <R, E, A, B>(agb: (a: A) => Kind3<G, R, E, B>) => (fa: Kind3<F, R, E, A>) => Kind3<G, R, E, Kind3<F, R, E, B>>; | ||
distribute: <F>(F: Functor<F>) => <R, E, A>(fga: HKT<F, Kind3<G, R, E, A>>) => Kind3<G, R, E, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <R, E, A, B>(agb: (a: A) => Kind3<G, R, E, B>) => (fa: HKT<F, A>) => Kind3<G, R, E, HKT<F, B>>; | ||
} | ||
@@ -57,4 +57,4 @@ /** | ||
export interface Distributive3C<G extends URIS3, E> extends Functor3C<G, E> { | ||
distribute: <F extends URIS3>(F: Functor3<F>) => <R, A>(fga: Kind3<F, R, E, Kind3<G, R, E, A>>) => Kind3<G, R, E, Kind3<F, R, E, A>>; | ||
collect: <F extends URIS3>(F: Functor3<F>) => <R, A, B>(agb: (a: A) => Kind3<G, R, E, B>) => (fa: Kind3<F, R, E, A>) => Kind3<G, R, E, Kind3<F, R, E, B>>; | ||
distribute: <F>(F: Functor<F>) => <R, A>(fga: HKT<F, Kind3<G, R, E, A>>) => Kind3<G, R, E, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <R, A, B>(agb: (a: A) => Kind3<G, R, E, B>) => (fa: HKT<F, A>) => Kind3<G, R, E, HKT<F, B>>; | ||
} | ||
@@ -66,4 +66,4 @@ /** | ||
export interface Distributive4<G extends URIS4> extends Functor4<G> { | ||
distribute: <F extends URIS4>(F: Functor4<F>) => <S, R, E, A>(fga: Kind4<F, S, R, E, Kind4<G, S, R, E, A>>) => Kind4<G, S, R, E, Kind4<F, S, R, E, A>>; | ||
collect: <F extends URIS4>(F: Functor4<F>) => <S, R, E, A, B>(agb: (a: A) => Kind4<G, S, R, E, B>) => (fa: Kind4<F, S, R, E, A>) => Kind4<G, S, R, E, Kind4<F, S, R, E, B>>; | ||
distribute: <F>(F: Functor<F>) => <S, R, E, A>(fga: HKT<F, Kind4<G, S, R, E, A>>) => Kind4<G, S, R, E, HKT<F, A>>; | ||
collect: <F>(F: Functor<F>) => <S, R, E, A, B>(agb: (a: A) => Kind4<G, S, R, E, B>) => (fa: HKT<F, A>) => Kind4<G, S, R, E, HKT<F, B>>; | ||
} |
/** @since 1.0.0 */ | ||
import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from 'fp-ts/HKT'; | ||
import { Key, Keyed1, Keyed2, Keyed3, Keyed4, KeyOf1, KeyOf2, KeyOf3, KeyOf4 } from './Key'; | ||
import { Lookup, Lookup1, Lookup2, Lookup3, Lookup4 } from './Lookup'; | ||
import { Lookup, Lookup1, Lookup2, Lookup2C, Lookup3, Lookup3C, Lookup4 } from './Lookup'; | ||
/** | ||
@@ -27,2 +27,9 @@ * @since 1.0.0 | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
export interface Indexable2C<F extends Keyed2 & URIS2, E> extends Lookup2C<F, E> { | ||
index: <A>(fa: Kind2<F, E, A>) => (key: KeyOf2<F, E>) => A; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -35,2 +42,9 @@ * @category Type classes | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
export interface Indexable3C<F extends Keyed3 & URIS3, E> extends Lookup3C<F, E> { | ||
index: <R, A>(fa: Kind3<F, R, E, A>) => (key: KeyOf3<F, R, E>) => A; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -37,0 +51,0 @@ * @category Type classes |
@@ -27,2 +27,9 @@ /** @since 1.0.0 */ | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
export interface Lookup2C<F extends Keyed2 & URIS2, E> { | ||
lookup: (key: KeyOf2<F, E>) => <A>(fa: Kind2<F, E, A>) => Option<A>; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -35,2 +42,9 @@ * @category Type classes | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
export interface Lookup3C<F extends Keyed3 & URIS3, E> { | ||
lookup: <R>(key: KeyOf3<F, R, E>) => <A>(fa: Kind3<F, R, E, A>) => Option<A>; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -37,0 +51,0 @@ * @category Type classes |
/** @since 1.0.0 */ | ||
import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from 'fp-ts/HKT'; | ||
import { Key, Keyed1, Keyed2, Keyed3, Keyed4, KeyOf1, KeyOf2, KeyOf3, KeyOf4 } from './Key'; | ||
import { Distributive, Distributive1, Distributive2, Distributive3, Distributive4 } from './Distributive'; | ||
import { Indexable, Indexable1, Indexable2, Indexable3, Indexable4 } from './Indexable'; | ||
import { Distributive, Distributive1, Distributive2, Distributive2C, Distributive3, Distributive3C, Distributive4 } from './Distributive'; | ||
import { Indexable, Indexable1, Indexable2, Indexable2C, Indexable3, Indexable3C, Indexable4 } from './Indexable'; | ||
/** | ||
@@ -28,2 +28,9 @@ * @since 1.0.0 | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
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>; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -36,2 +43,9 @@ * @category Type classes | ||
/** | ||
* @since 1.1.0 | ||
* @category Type classes | ||
*/ | ||
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>; | ||
} | ||
/** | ||
* @since 1.0.0 | ||
@@ -38,0 +52,0 @@ * @category Type classes |
{ | ||
"name": "fp-ts-representable", | ||
"homepage": "skeate.dev/fp-ts-representable", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"exports": { | ||
@@ -6,0 +6,0 @@ "./": { |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
46417
55.73%30
15.38%1390
67.27%0
-100%