Properties
coflatMapAssociativity
coflatMapAssociativity: 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>>
coflatMapIdentity
coflatMapIdentity: function
Type declaration
-
-
Type parameters
Parameters
Returns Equiv<HK<F, HK<F, A>>>
coflattenCoherence
coflattenCoherence: function
Type declaration
-
- <A, B>(fa: HK<F, A>, f: function): Equiv<HK<F, B>>
-
Type parameters
Parameters
Returns Equiv<HK<F, B>>
coflattenThroughMap
coflattenThroughMap: function
Type declaration
-
-
Type parameters
Parameters
Returns Equiv<HK<F, HK<F, HK<F, A>>>>
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 Comonad.
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.