Properties
applyComposition
applyComposition: function
Type declaration
-
- <A, B, C>(fa: HK<F, A>, fab: HK<F, function>, fbc: HK<F, function>): Equiv<HK<F, C>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
fab: HK<F, function>
-
fbc: HK<F, function>
Returns Equiv<HK<F, C>>
applyMap2Consistency
applyMap2Consistency: function
Type declaration
-
- <A, B>(fa: HK<F, A>, f: HK<F, function>): Equiv<HK<F, B>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
f: HK<F, function>
Returns Equiv<HK<F, B>>
applyProductConsistency
applyProductConsistency: function
Type declaration
-
- <A, B>(fa: HK<F, A>, f: HK<F, function>): Equiv<HK<F, B>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
f: HK<F, function>
Returns Equiv<HK<F, B>>
covariantComposition
covariantComposition: function
Type declaration
-
- <A, B, C>(fa: HK<F, A>, f: function, g: function): Equiv<HK<F, C>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
f: function
-
g: function
Returns Equiv<HK<F, C>>
covariantIdentity
covariantIdentity: function
Type declaration
-
-
Type parameters
Parameters
Returns Equiv<HK<F, A>>
Type class laws defined for FlatMap.
This is an abstract definition. In order to use it in unit testing, the implementor must think of a strategy to evaluate the truthiness of the returned
Equivvalues.Even though in TypeScript the Funfix library is using classes to express these laws, when implementing this class it is recommended that you implement it as a mixin using
implements, instead of extending it directly withextends. See TypeScript: Mixins for details and note that we already haveapplyMixinsdefined.We are doing this in order to support multiple inheritance and to avoid inheriting any
staticmembers. In the Flow definitions (e.g..js.flowfiles) for Funfix these classes are defined withinterface, as they are meant to be interfaces that sometimes have default implementations and not classes.