版博士V2.0程序
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 

2274 řádky
87 KiB

  1. /**
  2. * @since 2.0.0
  3. */
  4. import { Alt, Alt1, Alt2, Alt2C, Alt3, Alt3C, Alt4 } from './Alt'
  5. import { Apply, Apply1, Apply2, Apply2C, Apply3, Apply3C, Apply4 } from './Apply'
  6. import { Bifunctor, Bifunctor2, Bifunctor2C, Bifunctor3, Bifunctor3C, Bifunctor4 } from './Bifunctor'
  7. import { Chain, Chain1, Chain2, Chain2C, Chain3, Chain3C, Chain4 } from './Chain'
  8. import {
  9. Compactable,
  10. Compactable1,
  11. Compactable2,
  12. Compactable2C,
  13. Compactable3,
  14. Compactable3C,
  15. Compactable4
  16. } from './Compactable'
  17. import { Separated } from './Separated'
  18. import {
  19. Contravariant,
  20. Contravariant1,
  21. Contravariant2,
  22. Contravariant2C,
  23. Contravariant3,
  24. Contravariant3C,
  25. Contravariant4
  26. } from './Contravariant'
  27. import { Either } from './Either'
  28. import { Extend, Extend1, Extend2, Extend2C, Extend3, Extend3C, Extend4 } from './Extend'
  29. import {
  30. Filterable,
  31. Filterable1,
  32. Filterable2,
  33. Filterable2C,
  34. Filterable3,
  35. Filterable3C,
  36. Filterable4
  37. } from './Filterable'
  38. import {
  39. FilterableWithIndex,
  40. FilterableWithIndex1,
  41. FilterableWithIndex2,
  42. FilterableWithIndex2C,
  43. FilterableWithIndex3,
  44. FilterableWithIndex3C,
  45. FilterableWithIndex4,
  46. PredicateWithIndex,
  47. RefinementWithIndex
  48. } from './FilterableWithIndex'
  49. import { Foldable, Foldable1, Foldable2, Foldable2C, Foldable3, Foldable3C, Foldable4 } from './Foldable'
  50. import {
  51. FoldableWithIndex,
  52. FoldableWithIndex1,
  53. FoldableWithIndex2,
  54. FoldableWithIndex2C,
  55. FoldableWithIndex3,
  56. FoldableWithIndex3C,
  57. FoldableWithIndex4
  58. } from './FoldableWithIndex'
  59. import { Lazy, pipe as pipeFromFunctionModule } from './function'
  60. import { Predicate } from './Predicate'
  61. import { Refinement } from './Refinement'
  62. import { Functor, Functor1, Functor2, Functor2C, Functor3, Functor3C, Functor4 } from './Functor'
  63. import {
  64. FunctorWithIndex,
  65. FunctorWithIndex1,
  66. FunctorWithIndex2,
  67. FunctorWithIndex2C,
  68. FunctorWithIndex3,
  69. FunctorWithIndex3C,
  70. FunctorWithIndex4
  71. } from './FunctorWithIndex'
  72. import { HKT, HKT2, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT'
  73. import {
  74. MonadThrow,
  75. MonadThrow1,
  76. MonadThrow2,
  77. MonadThrow2C,
  78. MonadThrow3,
  79. MonadThrow3C,
  80. MonadThrow4
  81. } from './MonadThrow'
  82. import { Monoid } from './Monoid'
  83. import { Option } from './Option'
  84. import { Profunctor, Profunctor2, Profunctor2C, Profunctor3, Profunctor3C, Profunctor4 } from './Profunctor'
  85. import {
  86. Semigroupoid,
  87. Semigroupoid2,
  88. Semigroupoid2C,
  89. Semigroupoid3,
  90. Semigroupoid3C,
  91. Semigroupoid4
  92. } from './Semigroupoid'
  93. /**
  94. * Returns a pipeable `map`
  95. *
  96. * @category pipeable helper
  97. * @since 2.13.0
  98. */
  99. export declare function map<F extends URIS4>(
  100. F: Functor4<F>
  101. ): <A, B>(f: (a: A) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  102. export declare function map<F extends URIS3>(
  103. F: Functor3<F>
  104. ): <A, B>(f: (a: A) => B) => <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  105. export declare function map<F extends URIS3, E>(
  106. F: Functor3C<F, E>
  107. ): <A, B>(f: (a: A) => B) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  108. export declare function map<F extends URIS2>(
  109. F: Functor2<F>
  110. ): <A, B>(f: (a: A) => B) => <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  111. export declare function map<F extends URIS2, E>(
  112. F: Functor2C<F, E>
  113. ): <A, B>(f: (a: A) => B) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  114. export declare function map<F extends URIS>(F: Functor1<F>): <A, B>(f: (a: A) => B) => (fa: Kind<F, A>) => Kind<F, B>
  115. export declare function map<F>(F: Functor<F>): <A, B>(f: (a: A) => B) => (fa: HKT<F, A>) => HKT<F, B>
  116. /**
  117. * Returns a pipeable `contramap`
  118. *
  119. * @category pipeable helper
  120. * @since 2.13.0
  121. */
  122. export declare function contramap<F extends URIS4>(
  123. F: Contravariant4<F>
  124. ): <A, B>(f: (b: B) => A) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  125. export declare function contramap<F extends URIS3>(
  126. F: Contravariant3<F>
  127. ): <A, B>(f: (b: B) => A) => <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  128. export declare function contramap<F extends URIS3, E>(
  129. F: Contravariant3C<F, E>
  130. ): <A, B>(f: (b: B) => A) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  131. export declare function contramap<F extends URIS2>(
  132. F: Contravariant2<F>
  133. ): <A, B>(f: (b: B) => A) => <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  134. export declare function contramap<F extends URIS2, E>(
  135. F: Contravariant2C<F, E>
  136. ): <A, B>(f: (b: B) => A) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  137. export declare function contramap<F extends URIS>(
  138. F: Contravariant1<F>
  139. ): <A, B>(f: (b: B) => A) => (fa: Kind<F, A>) => Kind<F, B>
  140. export declare function contramap<F>(F: Contravariant<F>): <A, B>(f: (b: B) => A) => (fa: HKT<F, A>) => HKT<F, B>
  141. /**
  142. * Returns a pipeable `mapWithIndex`
  143. *
  144. * @category pipeable helper
  145. * @since 2.13.0
  146. */
  147. export declare function mapWithIndex<F extends URIS4, I>(
  148. F: FunctorWithIndex4<F, I>
  149. ): <A, B>(f: (i: I, a: A) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  150. export declare function mapWithIndex<F extends URIS3, I>(
  151. F: FunctorWithIndex3<F, I>
  152. ): <A, B>(f: (i: I, a: A) => B) => <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  153. export declare function mapWithIndex<F extends URIS3, I, E>(
  154. F: FunctorWithIndex3C<F, I, E>
  155. ): <A, B>(f: (i: I, a: A) => B) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  156. export declare function mapWithIndex<F extends URIS2, I>(
  157. F: FunctorWithIndex2<F, I>
  158. ): <A, B>(f: (i: I, a: A) => B) => <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  159. export declare function mapWithIndex<F extends URIS2, I, E>(
  160. F: FunctorWithIndex2C<F, I, E>
  161. ): <A, B>(f: (i: I, a: A) => B) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  162. export declare function mapWithIndex<F extends URIS, I>(
  163. F: FunctorWithIndex1<F, I>
  164. ): <A, B>(f: (i: I, a: A) => B) => (fa: Kind<F, A>) => Kind<F, B>
  165. export declare function mapWithIndex<F, I>(
  166. F: FunctorWithIndex<F, I>
  167. ): <A, B>(f: (i: I, a: A) => B) => (fa: HKT<F, A>) => HKT<F, B>
  168. /**
  169. * Returns a pipeable `ap`
  170. *
  171. * @category pipeable helper
  172. * @since 2.13.0
  173. */
  174. export declare function ap<F extends URIS4>(
  175. F: Apply4<F>
  176. ): <S, R, E, A>(fa: Kind4<F, S, R, E, A>) => <B>(fab: Kind4<F, S, R, E, (a: A) => B>) => Kind4<F, S, R, E, B>
  177. export declare function ap<F extends URIS3>(
  178. F: Apply3<F>
  179. ): <R, E, A>(fa: Kind3<F, R, E, A>) => <B>(fab: Kind3<F, R, E, (a: A) => B>) => Kind3<F, R, E, B>
  180. export declare function ap<F extends URIS3, E>(
  181. F: Apply3C<F, E>
  182. ): <R, A>(fa: Kind3<F, R, E, A>) => <B>(fab: Kind3<F, R, E, (a: A) => B>) => Kind3<F, R, E, B>
  183. export declare function ap<F extends URIS2>(
  184. F: Apply2<F>
  185. ): <E, A>(fa: Kind2<F, E, A>) => <B>(fab: Kind2<F, E, (a: A) => B>) => Kind2<F, E, B>
  186. export declare function ap<F extends URIS2, E>(
  187. F: Apply2C<F, E>
  188. ): <A>(fa: Kind2<F, E, A>) => <B>(fab: Kind2<F, E, (a: A) => B>) => Kind2<F, E, B>
  189. export declare function ap<F extends URIS>(
  190. F: Apply1<F>
  191. ): <A>(fa: Kind<F, A>) => <B>(fab: Kind<F, (a: A) => B>) => Kind<F, B>
  192. export declare function ap<F>(F: Apply<F>): <A>(fa: HKT<F, A>) => <B>(fab: HKT<F, (a: A) => B>) => HKT<F, B>
  193. /**
  194. * Returns a pipeable `chain`
  195. *
  196. * @category pipeable helper
  197. * @since 2.13.0
  198. */
  199. export declare function chain<F extends URIS4>(
  200. F: Chain4<F>
  201. ): <A, S, R, E, B>(f: (a: A) => Kind4<F, S, R, E, B>) => (fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  202. export declare function chain<F extends URIS3>(
  203. F: Chain3<F>
  204. ): <A, R, E, B>(f: (a: A) => Kind3<F, R, E, B>) => (fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  205. export declare function chain<F extends URIS3, E>(
  206. F: Chain3C<F, E>
  207. ): <A, R, B>(f: (a: A) => Kind3<F, R, E, B>) => (fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  208. export declare function chain<F extends URIS2>(
  209. F: Chain2<F>
  210. ): <A, E, B>(f: (a: A) => Kind2<F, E, B>) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  211. export declare function chain<F extends URIS2, E>(
  212. F: Chain2C<F, E>
  213. ): <A, B>(f: (a: A) => Kind2<F, E, B>) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  214. export declare function chain<F extends URIS>(
  215. F: Chain1<F>
  216. ): <A, B>(f: (a: A) => Kind<F, B>) => (fa: Kind<F, A>) => Kind<F, B>
  217. export declare function chain<F>(F: Chain<F>): <A, B>(f: (a: A) => HKT<F, B>) => (fa: HKT<F, A>) => HKT<F, B>
  218. /**
  219. * Returns a pipeable `bimap`
  220. *
  221. * @category pipeable helper
  222. * @since 2.13.0
  223. */
  224. export declare function bimap<F extends URIS4>(
  225. F: Bifunctor4<F>
  226. ): <E, G, A, B>(f: (e: E) => G, g: (a: A) => B) => <S, R>(fea: Kind4<F, S, R, E, A>) => Kind4<F, S, R, G, B>
  227. export declare function bimap<F extends URIS3>(
  228. F: Bifunctor3<F>
  229. ): <E, G, A, B>(f: (e: E) => G, g: (a: A) => B) => <R>(fea: Kind3<F, R, E, A>) => Kind3<F, R, G, B>
  230. export declare function bimap<F extends URIS3, E>(
  231. F: Bifunctor3C<F, E>
  232. ): <G, A, B>(f: (e: E) => G, g: (a: A) => B) => <R>(fea: Kind3<F, R, E, A>) => Kind3<F, R, G, B>
  233. export declare function bimap<F extends URIS2>(
  234. F: Bifunctor2<F>
  235. ): <E, G, A, B>(f: (e: E) => G, g: (a: A) => B) => (fea: Kind2<F, E, A>) => Kind2<F, G, B>
  236. export declare function bimap<F extends URIS2, E>(
  237. F: Bifunctor2C<F, E>
  238. ): <G, A, B>(f: (e: E) => G, g: (a: A) => B) => (fea: Kind2<F, E, A>) => Kind2<F, G, B>
  239. export declare function bimap<F>(
  240. F: Bifunctor<F>
  241. ): <E, G, A, B>(f: (e: E) => G, g: (a: A) => B) => (fea: HKT2<F, E, A>) => HKT2<F, G, B>
  242. /**
  243. * Returns a pipeable `mapLeft`
  244. *
  245. * @category pipeable helper
  246. * @since 2.13.0
  247. */
  248. export declare function mapLeft<F extends URIS4>(
  249. F: Bifunctor4<F>
  250. ): <E, G>(f: (e: E) => G) => <S, R, A>(fea: Kind4<F, S, R, E, A>) => Kind4<F, S, R, G, A>
  251. export declare function mapLeft<F extends URIS3>(
  252. F: Bifunctor3<F>
  253. ): <E, G>(f: (e: E) => G) => <R, A>(fea: Kind3<F, R, E, A>) => Kind3<F, R, G, A>
  254. export declare function mapLeft<F extends URIS3, E>(
  255. F: Bifunctor3C<F, E>
  256. ): <E, G>(f: (e: E) => G) => <R, A>(fea: Kind3<F, R, E, A>) => Kind3<F, R, G, A>
  257. export declare function mapLeft<F extends URIS2>(
  258. F: Bifunctor2<F>
  259. ): <E, G>(f: (e: E) => G) => <A>(fea: Kind2<F, E, A>) => Kind2<F, G, A>
  260. export declare function mapLeft<F extends URIS2, E>(
  261. F: Bifunctor2C<F, E>
  262. ): <E, G>(f: (e: E) => G) => <A>(fea: Kind2<F, E, A>) => Kind2<F, G, A>
  263. export declare function mapLeft<F>(F: Bifunctor<F>): <E, G>(f: (e: E) => G) => <A>(fea: HKT2<F, E, A>) => HKT2<F, G, A>
  264. /**
  265. * Returns a pipeable `extend`
  266. *
  267. * @category pipeable helper
  268. * @since 2.13.0
  269. */
  270. export declare function extend<F extends URIS4>(
  271. F: Extend4<F>
  272. ): <S, R, E, A, B>(f: (wa: Kind4<F, S, R, E, A>) => B) => (wa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  273. export declare function extend<F extends URIS3>(
  274. F: Extend3<F>
  275. ): <R, E, A, B>(f: (wa: Kind3<F, R, E, A>) => B) => (wa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  276. export declare function extend<F extends URIS3, E>(
  277. F: Extend3C<F, E>
  278. ): <R, A, B>(f: (wa: Kind3<F, R, E, A>) => B) => (wa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  279. export declare function extend<F extends URIS2>(
  280. F: Extend2<F>
  281. ): <E, A, B>(f: (wa: Kind2<F, E, A>) => B) => (wa: Kind2<F, E, A>) => Kind2<F, E, B>
  282. export declare function extend<F extends URIS2, E>(
  283. F: Extend2C<F, E>
  284. ): <A, B>(f: (wa: Kind2<F, E, A>) => B) => (wa: Kind2<F, E, A>) => Kind2<F, E, B>
  285. export declare function extend<F extends URIS>(
  286. F: Extend1<F>
  287. ): <A, B>(f: (wa: Kind<F, A>) => B) => (wa: Kind<F, A>) => Kind<F, B>
  288. export declare function extend<F>(F: Extend<F>): <A, B>(f: (wa: HKT<F, A>) => B) => (wa: HKT<F, A>) => HKT<F, B>
  289. /**
  290. * Returns a pipeable `reduce`
  291. *
  292. * @category pipeable helper
  293. * @since 2.13.0
  294. */
  295. export declare function reduce<F extends URIS4>(
  296. F: Foldable4<F>
  297. ): <A, B>(b: B, f: (b: B, a: A) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => B
  298. export declare function reduce<F extends URIS3>(
  299. F: Foldable3<F>
  300. ): <A, B>(b: B, f: (b: B, a: A) => B) => <R, E>(fa: Kind3<F, R, E, A>) => B
  301. export declare function reduce<F extends URIS3, E>(
  302. F: Foldable3C<F, E>
  303. ): <A, B>(b: B, f: (b: B, a: A) => B) => <R>(fa: Kind3<F, R, E, A>) => B
  304. export declare function reduce<F extends URIS2>(
  305. F: Foldable2<F>
  306. ): <A, B>(b: B, f: (b: B, a: A) => B) => <E>(fa: Kind2<F, E, A>) => B
  307. export declare function reduce<F extends URIS2, E>(
  308. F: Foldable2C<F, E>
  309. ): <A, B>(b: B, f: (b: B, a: A) => B) => (fa: Kind2<F, E, A>) => B
  310. export declare function reduce<F extends URIS>(
  311. F: Foldable1<F>
  312. ): <A, B>(b: B, f: (b: B, a: A) => B) => (fa: Kind<F, A>) => B
  313. export declare function reduce<F>(F: Foldable<F>): <A, B>(b: B, f: (b: B, a: A) => B) => (fa: HKT<F, A>) => B
  314. /**
  315. * Returns a pipeable `foldMap`
  316. *
  317. * @category pipeable helper
  318. * @since 2.13.0
  319. */
  320. export declare function foldMap<F extends URIS4>(
  321. F: Foldable4<F>
  322. ): <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => M
  323. export declare function foldMap<F extends URIS3>(
  324. F: Foldable3<F>
  325. ): <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => <R, E>(fa: Kind3<F, R, E, A>) => M
  326. export declare function foldMap<F extends URIS3, E>(
  327. F: Foldable3C<F, E>
  328. ): <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => <R>(fa: Kind3<F, R, E, A>) => M
  329. export declare function foldMap<F extends URIS2>(
  330. F: Foldable2<F>
  331. ): <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => <E>(fa: Kind2<F, E, A>) => M
  332. export declare function foldMap<F extends URIS2, E>(
  333. F: Foldable2C<F, E>
  334. ): <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => (fa: Kind2<F, E, A>) => M
  335. export declare function foldMap<F extends URIS>(
  336. F: Foldable1<F>
  337. ): <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => (fa: Kind<F, A>) => M
  338. export declare function foldMap<F>(F: Foldable<F>): <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => (fa: HKT<F, A>) => M
  339. /**
  340. * Returns a pipeable `reduceRight`
  341. *
  342. * @category pipeable helper
  343. * @since 2.13.0
  344. */
  345. export declare function reduceRight<F extends URIS4>(
  346. F: Foldable4<F>
  347. ): <A, B>(b: B, f: (a: A, b: B) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => B
  348. export declare function reduceRight<F extends URIS3>(
  349. F: Foldable3<F>
  350. ): <A, B>(b: B, f: (a: A, b: B) => B) => <R, E>(fa: Kind3<F, R, E, A>) => B
  351. export declare function reduceRight<F extends URIS3, E>(
  352. F: Foldable3C<F, E>
  353. ): <A, B>(b: B, f: (a: A, b: B) => B) => <R>(fa: Kind3<F, R, E, A>) => B
  354. export declare function reduceRight<F extends URIS2>(
  355. F: Foldable2<F>
  356. ): <A, B>(b: B, f: (a: A, b: B) => B) => <E>(fa: Kind2<F, E, A>) => B
  357. export declare function reduceRight<F extends URIS2, E>(
  358. F: Foldable2C<F, E>
  359. ): <A, B>(b: B, f: (a: A, b: B) => B) => (fa: Kind2<F, E, A>) => B
  360. export declare function reduceRight<F extends URIS>(
  361. F: Foldable1<F>
  362. ): <A, B>(b: B, f: (a: A, b: B) => B) => (fa: Kind<F, A>) => B
  363. export declare function reduceRight<F>(F: Foldable<F>): <A, B>(b: B, f: (a: A, b: B) => B) => (fa: HKT<F, A>) => B
  364. /**
  365. * Returns a pipeable `reduceWithIndex`
  366. *
  367. * @category pipeable helper
  368. * @since 2.13.0
  369. */
  370. export declare function reduceWithIndex<F extends URIS4, I>(
  371. F: FoldableWithIndex4<F, I>
  372. ): <A, B>(b: B, f: (i: I, b: B, a: A) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => B
  373. export declare function reduceWithIndex<F extends URIS3, I>(
  374. F: FoldableWithIndex3<F, I>
  375. ): <A, B>(b: B, f: (i: I, b: B, a: A) => B) => <R, E>(fa: Kind3<F, R, E, A>) => B
  376. export declare function reduceWithIndex<F extends URIS3, I, E>(
  377. F: FoldableWithIndex3C<F, I, E>
  378. ): <A, B>(b: B, f: (i: I, b: B, a: A) => B) => <R>(fa: Kind3<F, R, E, A>) => B
  379. export declare function reduceWithIndex<F extends URIS2, I>(
  380. F: FoldableWithIndex2<F, I>
  381. ): <A, B>(b: B, f: (i: I, b: B, a: A) => B) => <E>(fa: Kind2<F, E, A>) => B
  382. export declare function reduceWithIndex<F extends URIS2, I, E>(
  383. F: FoldableWithIndex2C<F, I, E>
  384. ): <A, B>(b: B, f: (i: I, b: B, a: A) => B) => (fa: Kind2<F, E, A>) => B
  385. export declare function reduceWithIndex<F extends URIS, I>(
  386. F: FoldableWithIndex1<F, I>
  387. ): <A, B>(b: B, f: (i: I, b: B, a: A) => B) => (fa: Kind<F, A>) => B
  388. export declare function reduceWithIndex<F, I>(
  389. F: FoldableWithIndex<F, I>
  390. ): <A, B>(b: B, f: (i: I, b: B, a: A) => B) => (fa: HKT<F, A>) => B
  391. /**
  392. * Returns a pipeable `foldMapWithIndex`
  393. *
  394. * @category pipeable helper
  395. * @since 2.13.0
  396. */
  397. export declare function foldMapWithIndex<F extends URIS4, I>(
  398. F: FoldableWithIndex4<F, I>
  399. ): <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => M
  400. export declare function foldMapWithIndex<F extends URIS3, I>(
  401. F: FoldableWithIndex3<F, I>
  402. ): <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => <R, E>(fa: Kind3<F, R, E, A>) => M
  403. export declare function foldMapWithIndex<F extends URIS3, I, E>(
  404. F: FoldableWithIndex3C<F, I, E>
  405. ): <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => <R>(fa: Kind3<F, R, E, A>) => M
  406. export declare function foldMapWithIndex<F extends URIS2, I>(
  407. F: FoldableWithIndex2<F, I>
  408. ): <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => <E>(fa: Kind2<F, E, A>) => M
  409. export declare function foldMapWithIndex<F extends URIS2, I, E>(
  410. F: FoldableWithIndex2C<F, I, E>
  411. ): <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => (fa: Kind2<F, E, A>) => M
  412. export declare function foldMapWithIndex<F extends URIS, I>(
  413. F: FoldableWithIndex1<F, I>
  414. ): <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => (fa: Kind<F, A>) => M
  415. export declare function foldMapWithIndex<F, I>(
  416. F: FoldableWithIndex<F, I>
  417. ): <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => (fa: HKT<F, A>) => M
  418. /**
  419. * Returns a pipeable `reduceRightWithIndex`
  420. *
  421. * @category pipeable helper
  422. * @since 2.13.0
  423. */
  424. export declare function reduceRightWithIndex<F extends URIS4, I>(
  425. F: FoldableWithIndex4<F, I>
  426. ): <A, B>(b: B, f: (i: I, a: A, b: B) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => B
  427. export declare function reduceRightWithIndex<F extends URIS3, I>(
  428. F: FoldableWithIndex3<F, I>
  429. ): <A, B>(b: B, f: (i: I, a: A, b: B) => B) => <R, E>(fa: Kind3<F, R, E, A>) => B
  430. export declare function reduceRightWithIndex<F extends URIS3, I, E>(
  431. F: FoldableWithIndex3C<F, I, E>
  432. ): <A, B>(b: B, f: (i: I, a: A, b: B) => B) => <R>(fa: Kind3<F, R, E, A>) => B
  433. export declare function reduceRightWithIndex<F extends URIS2, I>(
  434. F: FoldableWithIndex2<F, I>
  435. ): <A, B>(b: B, f: (i: I, a: A, b: B) => B) => <E>(fa: Kind2<F, E, A>) => B
  436. export declare function reduceRightWithIndex<F extends URIS2, I, E>(
  437. F: FoldableWithIndex2C<F, I, E>
  438. ): <A, B>(b: B, f: (i: I, a: A, b: B) => B) => (fa: Kind2<F, E, A>) => B
  439. export declare function reduceRightWithIndex<F extends URIS, I>(
  440. F: FoldableWithIndex1<F, I>
  441. ): <A, B>(b: B, f: (i: I, a: A, b: B) => B) => (fa: Kind<F, A>) => B
  442. export declare function reduceRightWithIndex<F, I>(
  443. F: FoldableWithIndex<F, I>
  444. ): <A, B>(b: B, f: (i: I, a: A, b: B) => B) => (fa: HKT<F, A>) => B
  445. /**
  446. * Returns a pipeable `alt`
  447. *
  448. * @category pipeable helper
  449. * @since 2.13.0
  450. */
  451. export declare function alt<F extends URIS4>(
  452. F: Alt4<F>
  453. ): <S, R, E, A>(that: Lazy<Kind4<F, S, R, E, A>>) => (fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  454. export declare function alt<F extends URIS3>(
  455. F: Alt3<F>
  456. ): <R, E, A>(that: Lazy<Kind3<F, R, E, A>>) => (fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  457. export declare function alt<F extends URIS3, E>(
  458. F: Alt3C<F, E>
  459. ): <R, A>(that: Lazy<Kind3<F, R, E, A>>) => (fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  460. export declare function alt<F extends URIS2>(
  461. F: Alt2<F>
  462. ): <E, A>(that: Lazy<Kind2<F, E, A>>) => (fa: Kind2<F, E, A>) => Kind2<F, E, A>
  463. export declare function alt<F extends URIS2, E>(
  464. F: Alt2C<F, E>
  465. ): <A>(that: Lazy<Kind2<F, E, A>>) => (fa: Kind2<F, E, A>) => Kind2<F, E, A>
  466. export declare function alt<F extends URIS>(F: Alt1<F>): <A>(that: Lazy<Kind<F, A>>) => (fa: Kind<F, A>) => Kind<F, A>
  467. export declare function alt<F>(F: Alt<F>): <A>(that: Lazy<HKT<F, A>>) => (fa: HKT<F, A>) => HKT<F, A>
  468. /**
  469. * Returns a pipeable `filter`
  470. *
  471. * @category pipeable helper
  472. * @since 2.13.0
  473. */
  474. export declare function filter<F extends URIS4>(
  475. F: Filterable4<F>
  476. ): {
  477. <A, B extends A>(refinement: Refinement<A, B>): <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  478. <A>(predicate: Predicate<A>): <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  479. }
  480. export declare function filter<F extends URIS3>(
  481. F: Filterable3<F>
  482. ): {
  483. <A, B extends A>(refinement: Refinement<A, B>): <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  484. <A>(predicate: Predicate<A>): <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  485. }
  486. export declare function filter<F extends URIS3, E>(
  487. F: Filterable3C<F, E>
  488. ): {
  489. <A, B extends A>(refinement: Refinement<A, B>): <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  490. <A>(predicate: Predicate<A>): <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  491. }
  492. export declare function filter<F extends URIS2>(
  493. F: Filterable2<F>
  494. ): {
  495. <A, B extends A>(refinement: Refinement<A, B>): <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  496. <A>(predicate: Predicate<A>): <E>(fa: Kind2<F, E, A>) => Kind2<F, E, A>
  497. }
  498. export declare function filter<F extends URIS2, E>(
  499. F: Filterable2C<F, E>
  500. ): {
  501. <A, B extends A>(refinement: Refinement<A, B>): (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  502. <A>(predicate: Predicate<A>): (fa: Kind2<F, E, A>) => Kind2<F, E, A>
  503. }
  504. export declare function filter<F extends URIS>(
  505. F: Filterable1<F>
  506. ): {
  507. <A, B extends A>(refinement: Refinement<A, B>): (fa: Kind<F, A>) => Kind<F, B>
  508. <A>(predicate: Predicate<A>): (fa: Kind<F, A>) => Kind<F, A>
  509. }
  510. export declare function filter<F>(F: Filterable<F>): {
  511. <A, B extends A>(refinement: Refinement<A, B>): (fa: HKT<F, A>) => HKT<F, B>
  512. <A>(predicate: Predicate<A>): (fa: HKT<F, A>) => HKT<F, A>
  513. }
  514. /**
  515. * Returns a pipeable `filterMap`
  516. *
  517. * @category pipeable helper
  518. * @since 2.13.0
  519. */
  520. export declare function filterMap<F extends URIS4>(
  521. F: Filterable4<F>
  522. ): <A, B>(f: (a: A) => Option<B>) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  523. export declare function filterMap<F extends URIS3>(
  524. F: Filterable3<F>
  525. ): <A, B>(f: (a: A) => Option<B>) => <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  526. export declare function filterMap<F extends URIS3, E>(
  527. F: Filterable3C<F, E>
  528. ): <A, B>(f: (a: A) => Option<B>) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  529. export declare function filterMap<F extends URIS2>(
  530. F: Filterable2<F>
  531. ): <A, B>(f: (a: A) => Option<B>) => <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  532. export declare function filterMap<F extends URIS2, E>(
  533. F: Filterable2C<F, E>
  534. ): <A, B>(f: (a: A) => Option<B>) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  535. export declare function filterMap<F extends URIS>(
  536. F: Filterable1<F>
  537. ): <A, B>(f: (a: A) => Option<B>) => (fa: Kind<F, A>) => Kind<F, B>
  538. export declare function filterMap<F>(F: Filterable<F>): <A, B>(f: (a: A) => Option<B>) => (fa: HKT<F, A>) => HKT<F, B>
  539. /**
  540. * Returns a pipeable `partition`
  541. *
  542. * @category pipeable helper
  543. * @since 2.13.0
  544. */
  545. export declare function partition<F extends URIS4>(
  546. F: Filterable4<F>
  547. ): {
  548. <A, B extends A>(refinement: Refinement<A, B>): <S, R, E>(
  549. fa: Kind4<F, S, R, E, A>
  550. ) => Separated<Kind4<F, S, R, E, A>, Kind4<F, S, R, E, B>>
  551. <A>(predicate: Predicate<A>): <S, R, E>(
  552. fa: Kind4<F, S, R, E, A>
  553. ) => Separated<Kind4<F, S, R, E, A>, Kind4<F, S, R, E, A>>
  554. }
  555. export declare function partition<F extends URIS3>(
  556. F: Filterable3<F>
  557. ): {
  558. <A, B extends A>(refinement: Refinement<A, B>): <R, E>(
  559. fa: Kind3<F, R, E, A>
  560. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, B>>
  561. <A>(predicate: Predicate<A>): <R, E>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, A>>
  562. }
  563. export declare function partition<F extends URIS3, E>(
  564. F: Filterable3C<F, E>
  565. ): {
  566. <A, B extends A>(refinement: Refinement<A, B>): <R>(
  567. fa: Kind3<F, R, E, A>
  568. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, B>>
  569. <A>(predicate: Predicate<A>): <R>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, A>>
  570. }
  571. export declare function partition<F extends URIS2>(
  572. F: Filterable2<F>
  573. ): {
  574. <A, B extends A>(refinement: Refinement<A, B>): <E>(fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, B>>
  575. <A>(predicate: Predicate<A>): <E>(fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, A>>
  576. }
  577. export declare function partition<F extends URIS2, E>(
  578. F: Filterable2C<F, E>
  579. ): {
  580. <A, B extends A>(refinement: Refinement<A, B>): (fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, B>>
  581. <A>(predicate: Predicate<A>): (fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, A>>
  582. }
  583. export declare function partition<F extends URIS>(
  584. F: Filterable1<F>
  585. ): {
  586. <A, B extends A>(refinement: Refinement<A, B>): (fa: Kind<F, A>) => Separated<Kind<F, A>, Kind<F, B>>
  587. <A>(predicate: Predicate<A>): (fa: Kind<F, A>) => Separated<Kind<F, A>, Kind<F, A>>
  588. }
  589. export declare function partition<F>(F: Filterable<F>): {
  590. <A, B extends A>(refinement: Refinement<A, B>): (fa: HKT<F, A>) => Separated<HKT<F, A>, HKT<F, B>>
  591. <A>(predicate: Predicate<A>): (fa: HKT<F, A>) => Separated<HKT<F, A>, HKT<F, A>>
  592. }
  593. /**
  594. * Returns a pipeable `partitionMap`
  595. *
  596. * @category pipeable helper
  597. * @since 2.13.0
  598. */
  599. export declare function partitionMap<F extends URIS4>(
  600. F: Filterable4<F>
  601. ): <A, B, C>(
  602. f: (a: A) => Either<B, C>
  603. ) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Separated<Kind4<F, S, R, E, B>, Kind4<F, S, R, E, C>>
  604. export declare function partitionMap<F extends URIS3>(
  605. F: Filterable3<F>
  606. ): <A, B, C>(
  607. f: (a: A) => Either<B, C>
  608. ) => <R, E>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, B>, Kind3<F, R, E, C>>
  609. export declare function partitionMap<F extends URIS3, E>(
  610. F: Filterable3C<F, E>
  611. ): <A, B, C>(f: (a: A) => Either<B, C>) => <R>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, B>, Kind3<F, R, E, C>>
  612. export declare function partitionMap<F extends URIS2>(
  613. F: Filterable2<F>
  614. ): <A, B, C>(f: (a: A) => Either<B, C>) => <E>(fa: Kind2<F, E, A>) => Separated<Kind2<F, E, B>, Kind2<F, E, C>>
  615. export declare function partitionMap<F extends URIS2, E>(
  616. F: Filterable2C<F, E>
  617. ): <A, B, C>(f: (a: A) => Either<B, C>) => (fa: Kind2<F, E, A>) => Separated<Kind2<F, E, B>, Kind2<F, E, C>>
  618. export declare function partitionMap<F extends URIS>(
  619. F: Filterable1<F>
  620. ): <A, B, C>(f: (a: A) => Either<B, C>) => (fa: Kind<F, A>) => Separated<Kind<F, B>, Kind<F, C>>
  621. export declare function partitionMap<F>(
  622. F: Filterable<F>
  623. ): <A, B, C>(f: (a: A) => Either<B, C>) => (fa: HKT<F, A>) => Separated<HKT<F, B>, HKT<F, C>>
  624. /**
  625. * Returns a pipeable `filterWithIndex`
  626. *
  627. * @category pipeable helper
  628. * @since 2.13.0
  629. */
  630. export declare function filterWithIndex<F extends URIS4, I>(
  631. F: FilterableWithIndex4<F, I>
  632. ): {
  633. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): <S, R, E>(
  634. fa: Kind4<F, S, R, E, A>
  635. ) => Kind4<F, S, R, E, B>
  636. <A>(predicate: PredicateWithIndex<I, A>): <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  637. }
  638. export declare function filterWithIndex<F extends URIS3, I>(
  639. F: FilterableWithIndex3<F, I>
  640. ): {
  641. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  642. <A>(predicate: PredicateWithIndex<I, A>): <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  643. }
  644. export declare function filterWithIndex<F extends URIS3, I, E>(
  645. F: FilterableWithIndex3C<F, I, E>
  646. ): {
  647. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  648. <A>(predicate: PredicateWithIndex<I, A>): <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  649. }
  650. export declare function filterWithIndex<F extends URIS2, I>(
  651. F: FilterableWithIndex2<F, I>
  652. ): {
  653. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  654. <A>(predicate: PredicateWithIndex<I, A>): <E>(fa: Kind2<F, E, A>) => Kind2<F, E, A>
  655. }
  656. export declare function filterWithIndex<F extends URIS2, E, I>(
  657. F: FilterableWithIndex2C<F, I, E>
  658. ): {
  659. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  660. <A>(predicate: PredicateWithIndex<I, A>): (fa: Kind2<F, E, A>) => Kind2<F, E, A>
  661. }
  662. export declare function filterWithIndex<F extends URIS, I>(
  663. F: FilterableWithIndex1<F, I>
  664. ): {
  665. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): (fa: Kind<F, A>) => Kind<F, B>
  666. <A>(predicate: PredicateWithIndex<I, A>): (fa: Kind<F, A>) => Kind<F, A>
  667. }
  668. export declare function filterWithIndex<F, I>(
  669. F: FilterableWithIndex<F, I>
  670. ): {
  671. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): (fa: HKT<F, A>) => HKT<F, B>
  672. <A>(predicate: PredicateWithIndex<I, A>): (fa: HKT<F, A>) => HKT<F, A>
  673. }
  674. /**
  675. * Returns a pipeable `filterMapWithIndex`
  676. *
  677. * @category pipeable helper
  678. * @since 2.13.0
  679. */
  680. export declare function filterMapWithIndex<F extends URIS4, I>(
  681. F: FilterableWithIndex4<F, I>
  682. ): <A, B>(f: (i: I, a: A) => Option<B>) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  683. export declare function filterMapWithIndex<F extends URIS3, I>(
  684. F: FilterableWithIndex3<F, I>
  685. ): <A, B>(f: (i: I, a: A) => Option<B>) => <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  686. export declare function filterMapWithIndex<F extends URIS3, I, E>(
  687. F: FilterableWithIndex3C<F, I, E>
  688. ): <A, B>(f: (i: I, a: A) => Option<B>) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  689. export declare function filterMapWithIndex<F extends URIS2, I>(
  690. F: FilterableWithIndex2<F, I>
  691. ): <A, B>(f: (i: I, a: A) => Option<B>) => <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  692. export declare function filterMapWithIndex<F extends URIS2, I, E>(
  693. F: FilterableWithIndex2C<F, I, E>
  694. ): <A, B>(f: (i: I, a: A) => Option<B>) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  695. export declare function filterMapWithIndex<F extends URIS, I>(
  696. F: FilterableWithIndex1<F, I>
  697. ): <A, B>(f: (i: I, a: A) => Option<B>) => (fa: Kind<F, A>) => Kind<F, B>
  698. export declare function filterMapWithIndex<F, I>(
  699. F: FilterableWithIndex<F, I>
  700. ): <A, B>(f: (i: I, a: A) => Option<B>) => (fa: HKT<F, A>) => HKT<F, B>
  701. /**
  702. * Returns a pipeable `partitionWithIndex`
  703. *
  704. * @category pipeable helper
  705. * @since 2.13.0
  706. */
  707. export declare function partitionWithIndex<F extends URIS4, I>(
  708. F: FilterableWithIndex4<F, I>
  709. ): {
  710. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): <S, R, E>(
  711. fa: Kind4<F, S, R, E, A>
  712. ) => Separated<Kind4<F, S, R, E, A>, Kind4<F, S, R, E, B>>
  713. <A>(predicate: PredicateWithIndex<I, A>): <S, R, E>(
  714. fa: Kind4<F, S, R, E, A>
  715. ) => Separated<Kind4<F, S, R, E, A>, Kind4<F, S, R, E, A>>
  716. }
  717. export declare function partitionWithIndex<F extends URIS3, I>(
  718. F: FilterableWithIndex3<F, I>
  719. ): {
  720. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): <R, E>(
  721. fa: Kind3<F, R, E, A>
  722. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, B>>
  723. <A>(predicate: PredicateWithIndex<I, A>): <R, E>(
  724. fa: Kind3<F, R, E, A>
  725. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, A>>
  726. }
  727. export declare function partitionWithIndex<F extends URIS3, I, E>(
  728. F: FilterableWithIndex3C<F, I, E>
  729. ): {
  730. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): <R>(
  731. fa: Kind3<F, R, E, A>
  732. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, B>>
  733. <A>(predicate: PredicateWithIndex<I, A>): <R>(
  734. fa: Kind3<F, R, E, A>
  735. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, A>>
  736. }
  737. export declare function partitionWithIndex<F extends URIS2, I>(
  738. F: FilterableWithIndex2<F, I>
  739. ): {
  740. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): <E>(
  741. fa: Kind2<F, E, A>
  742. ) => Separated<Kind2<F, E, A>, Kind2<F, E, B>>
  743. <A>(predicate: PredicateWithIndex<I, A>): <E>(fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, A>>
  744. }
  745. export declare function partitionWithIndex<F extends URIS2, I, E>(
  746. F: FilterableWithIndex2C<F, I, E>
  747. ): {
  748. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): (
  749. fa: Kind2<F, E, A>
  750. ) => Separated<Kind2<F, E, A>, Kind2<F, E, B>>
  751. <A>(predicate: PredicateWithIndex<I, A>): (fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, A>>
  752. }
  753. export declare function partitionWithIndex<F extends URIS, I>(
  754. F: FilterableWithIndex1<F, I>
  755. ): {
  756. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): (fa: Kind<F, A>) => Separated<Kind<F, A>, Kind<F, B>>
  757. <A>(predicate: PredicateWithIndex<I, A>): (fa: Kind<F, A>) => Separated<Kind<F, A>, Kind<F, A>>
  758. }
  759. export declare function partitionWithIndex<F, I>(
  760. F: FilterableWithIndex<F, I>
  761. ): {
  762. <A, B extends A>(refinement: RefinementWithIndex<I, A, B>): (fa: HKT<F, A>) => Separated<HKT<F, A>, HKT<F, B>>
  763. <A>(predicate: PredicateWithIndex<I, A>): (fa: HKT<F, A>) => Separated<HKT<F, A>, HKT<F, A>>
  764. }
  765. /**
  766. * Returns a pipeable `partitionMapWithIndex`
  767. *
  768. * @category pipeable helper
  769. * @since 2.13.0
  770. */
  771. export declare function partitionMapWithIndex<F extends URIS4, I>(
  772. F: FilterableWithIndex4<F, I>
  773. ): <A, B, C>(
  774. f: (i: I, a: A) => Either<B, C>
  775. ) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Separated<Kind4<F, S, R, E, B>, Kind4<F, S, R, E, C>>
  776. export declare function partitionMapWithIndex<F extends URIS3, I>(
  777. F: FilterableWithIndex3<F, I>
  778. ): <A, B, C>(
  779. f: (i: I, a: A) => Either<B, C>
  780. ) => <R, E>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, B>, Kind3<F, R, E, C>>
  781. export declare function partitionMapWithIndex<F extends URIS3, I, E>(
  782. F: FilterableWithIndex3C<F, I, E>
  783. ): <A, B, C>(
  784. f: (i: I, a: A) => Either<B, C>
  785. ) => <R>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, B>, Kind3<F, R, E, C>>
  786. export declare function partitionMapWithIndex<F extends URIS2, I>(
  787. F: FilterableWithIndex2<F, I>
  788. ): <A, B, C>(f: (i: I, a: A) => Either<B, C>) => <E>(fa: Kind2<F, E, A>) => Separated<Kind2<F, E, B>, Kind2<F, E, C>>
  789. export declare function partitionMapWithIndex<F extends URIS2, I, E>(
  790. F: FilterableWithIndex2C<F, I, E>
  791. ): <A, B, C>(f: (i: I, a: A) => Either<B, C>) => (fa: Kind2<F, E, A>) => Separated<Kind2<F, E, B>, Kind2<F, E, C>>
  792. export declare function partitionMapWithIndex<F extends URIS, I>(
  793. F: FilterableWithIndex1<F, I>
  794. ): <A, B, C>(f: (i: I, a: A) => Either<B, C>) => (fa: Kind<F, A>) => Separated<Kind<F, B>, Kind<F, C>>
  795. export declare function partitionMapWithIndex<F, I>(
  796. F: FilterableWithIndex<F, I>
  797. ): <A, B, C>(f: (i: I, a: A) => Either<B, C>) => (fa: HKT<F, A>) => Separated<HKT<F, B>, HKT<F, C>>
  798. /**
  799. * Returns a pipeable `promap`
  800. *
  801. * @category pipeable helper
  802. * @since 2.13.0
  803. */
  804. export declare function promap<F extends URIS4>(
  805. F: Profunctor4<F>
  806. ): <E, A, D, B>(f: (d: D) => E, g: (a: A) => B) => <S, R>(fbc: Kind4<F, S, R, E, A>) => Kind4<F, S, R, D, B>
  807. export declare function promap<F extends URIS3>(
  808. F: Profunctor3<F>
  809. ): <E, A, D, B>(f: (d: D) => E, g: (a: A) => B) => <R>(fbc: Kind3<F, R, E, A>) => Kind3<F, R, D, B>
  810. export declare function promap<F extends URIS3, E>(
  811. F: Profunctor3C<F, E>
  812. ): <A, D, B>(f: (d: D) => E, g: (a: A) => B) => <R>(fbc: Kind3<F, R, E, A>) => Kind3<F, R, D, B>
  813. export declare function promap<F extends URIS2>(
  814. F: Profunctor2<F>
  815. ): <E, A, D, B>(f: (d: D) => E, g: (a: A) => B) => (fbc: Kind2<F, E, A>) => Kind2<F, D, B>
  816. export declare function promap<F extends URIS2, E>(
  817. F: Profunctor2C<F, E>
  818. ): <A, D, B>(f: (d: D) => E, g: (a: A) => B) => (fbc: Kind2<F, E, A>) => Kind2<F, D, B>
  819. export declare function promap<F>(
  820. F: Profunctor<F>
  821. ): <E, A, D, B>(f: (d: D) => E, g: (a: A) => B) => (fbc: HKT2<F, E, A>) => HKT2<F, D, B>
  822. /**
  823. * Returns a pipeable `compose`
  824. *
  825. * @category pipeable helper
  826. * @since 2.13.0
  827. */
  828. export declare function compose<F extends URIS4>(
  829. F: Semigroupoid4<F>
  830. ): <S, R, E, A>(ea: Kind4<F, S, R, E, A>) => <B>(ab: Kind4<F, S, R, A, B>) => Kind4<F, S, R, E, B>
  831. export declare function compose<F extends URIS3>(
  832. F: Semigroupoid3<F>
  833. ): <R, E, A>(ea: Kind3<F, R, E, A>) => <B>(ab: Kind3<F, R, A, B>) => Kind3<F, R, E, B>
  834. export declare function compose<F extends URIS3, E>(
  835. F: Semigroupoid3C<F, E>
  836. ): <R, A>(ea: Kind3<F, R, E, A>) => <B>(ab: Kind3<F, R, A, B>) => Kind3<F, R, E, B>
  837. export declare function compose<F extends URIS2>(
  838. F: Semigroupoid2<F>
  839. ): <E, A>(ea: Kind2<F, E, A>) => <B>(ab: Kind2<F, A, B>) => Kind2<F, E, B>
  840. export declare function compose<F extends URIS2, E>(
  841. F: Semigroupoid2C<F, E>
  842. ): <A>(ea: Kind2<F, E, A>) => <B>(ab: Kind2<F, A, B>) => Kind2<F, E, B>
  843. export declare function compose<F>(
  844. F: Semigroupoid<F>
  845. ): <E, A>(ea: HKT2<F, E, A>) => <B>(ab: HKT2<F, A, B>) => HKT2<F, E, B>
  846. /**
  847. * @category zone of death
  848. * @since 2.0.0
  849. * @deprecated
  850. */
  851. export interface PipeableFunctor<F> {
  852. readonly map: <A, B>(f: (a: A) => B) => (fa: HKT<F, A>) => HKT<F, B>
  853. }
  854. /**
  855. * @category zone of death
  856. * @since 2.0.0
  857. * @deprecated
  858. */
  859. export interface PipeableFunctor1<F extends URIS> {
  860. readonly map: <A, B>(f: (a: A) => B) => (fa: Kind<F, A>) => Kind<F, B>
  861. }
  862. /**
  863. * @category zone of death
  864. * @since 2.0.0
  865. * @deprecated
  866. */
  867. export interface PipeableFunctor2<F extends URIS2> {
  868. readonly map: <A, B>(f: (a: A) => B) => <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  869. }
  870. /**
  871. * @category zone of death
  872. * @since 2.0.0
  873. * @deprecated
  874. */
  875. export interface PipeableFunctor2C<F extends URIS2, E> {
  876. readonly map: <A, B>(f: (a: A) => B) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  877. }
  878. /**
  879. * @category zone of death
  880. * @since 2.0.0
  881. * @deprecated
  882. */
  883. export interface PipeableFunctor3<F extends URIS3> {
  884. readonly map: <A, B>(f: (a: A) => B) => <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  885. }
  886. /**
  887. * @since 2.2.0
  888. * @deprecated
  889. */
  890. export interface PipeableFunctor3C<F extends URIS3, E> {
  891. readonly map: <A, B>(f: (a: A) => B) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  892. }
  893. /**
  894. * @category zone of death
  895. * @since 2.0.0
  896. * @deprecated
  897. */
  898. export interface PipeableFunctor4<F extends URIS4> {
  899. readonly map: <A, B>(f: (a: A) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  900. }
  901. /**
  902. * @category zone of death
  903. * @since 2.0.0
  904. * @deprecated
  905. */
  906. export interface PipeableContravariant<F> {
  907. readonly contramap: <A, B>(f: (b: B) => A) => (fa: HKT<F, A>) => HKT<F, B>
  908. }
  909. /**
  910. * @category zone of death
  911. * @since 2.0.0
  912. * @deprecated
  913. */
  914. export interface PipeableContravariant1<F extends URIS> {
  915. readonly contramap: <A, B>(f: (b: B) => A) => (fa: Kind<F, A>) => Kind<F, B>
  916. }
  917. /**
  918. * @category zone of death
  919. * @since 2.0.0
  920. * @deprecated
  921. */
  922. export interface PipeableContravariant2<F extends URIS2> {
  923. readonly contramap: <A, B>(f: (b: B) => A) => <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  924. }
  925. /**
  926. * @category zone of death
  927. * @since 2.0.0
  928. * @deprecated
  929. */
  930. export interface PipeableContravariant2C<F extends URIS2, E> {
  931. readonly contramap: <A, B>(f: (b: B) => A) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  932. }
  933. /**
  934. * @category zone of death
  935. * @since 2.0.0
  936. * @deprecated
  937. */
  938. export interface PipeableContravariant3<F extends URIS3> {
  939. readonly contramap: <A, B>(f: (b: B) => A) => <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  940. }
  941. /**
  942. * @since 2.2.0
  943. * @deprecated
  944. */
  945. export interface PipeableContravariant3C<F extends URIS3, E> {
  946. readonly contramap: <A, B>(f: (b: B) => A) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  947. }
  948. /**
  949. * @category zone of death
  950. * @since 2.0.0
  951. * @deprecated
  952. */
  953. export interface PipeableContravariant4<F extends URIS4> {
  954. readonly contramap: <A, B>(f: (b: B) => A) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  955. }
  956. /**
  957. * @category zone of death
  958. * @since 2.0.0
  959. * @deprecated
  960. */
  961. export interface PipeableFunctorWithIndex<F, I> extends PipeableFunctor<F> {
  962. readonly mapWithIndex: <A, B>(f: (i: I, a: A) => B) => (fa: HKT<F, A>) => HKT<F, B>
  963. }
  964. /**
  965. * @category zone of death
  966. * @since 2.0.0
  967. * @deprecated
  968. */
  969. export interface PipeableFunctorWithIndex1<F extends URIS, I> extends PipeableFunctor1<F> {
  970. readonly mapWithIndex: <A, B>(f: (i: I, a: A) => B) => (fa: Kind<F, A>) => Kind<F, B>
  971. }
  972. /**
  973. * @category zone of death
  974. * @since 2.0.0
  975. * @deprecated
  976. */
  977. export interface PipeableFunctorWithIndex2<F extends URIS2, I> extends PipeableFunctor2<F> {
  978. readonly mapWithIndex: <A, B>(f: (i: I, a: A) => B) => <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  979. }
  980. /**
  981. * @category zone of death
  982. * @since 2.0.0
  983. * @deprecated
  984. */
  985. export interface PipeableFunctorWithIndex2C<F extends URIS2, I, E> extends PipeableFunctor2C<F, E> {
  986. readonly mapWithIndex: <A, B>(f: (i: I, a: A) => B) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  987. }
  988. /**
  989. * @category zone of death
  990. * @since 2.0.0
  991. * @deprecated
  992. */
  993. export interface PipeableFunctorWithIndex3<F extends URIS3, I> extends PipeableFunctor3<F> {
  994. readonly mapWithIndex: <A, B>(f: (i: I, a: A) => B) => <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  995. }
  996. /**
  997. * @since 2.2.0
  998. * @deprecated
  999. */
  1000. export interface PipeableFunctorWithIndex3C<F extends URIS3, I, E> extends PipeableFunctor3C<F, E> {
  1001. readonly mapWithIndex: <A, B>(f: (i: I, a: A) => B) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  1002. }
  1003. /**
  1004. * @category zone of death
  1005. * @since 2.0.0
  1006. * @deprecated
  1007. */
  1008. export interface PipeableFunctorWithIndex4<F extends URIS4, I> extends PipeableFunctor4<F> {
  1009. readonly mapWithIndex: <A, B>(f: (i: I, a: A) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  1010. }
  1011. /**
  1012. * @category zone of death
  1013. * @since 2.0.0
  1014. * @deprecated
  1015. */
  1016. export interface PipeableApply<F> extends PipeableFunctor<F> {
  1017. readonly ap: <A>(fa: HKT<F, A>) => <B>(fab: HKT<F, (a: A) => B>) => HKT<F, B>
  1018. readonly apFirst: <B>(fb: HKT<F, B>) => <A>(fa: HKT<F, A>) => HKT<F, A>
  1019. readonly apSecond: <B>(fb: HKT<F, B>) => <A>(fa: HKT<F, A>) => HKT<F, B>
  1020. }
  1021. /**
  1022. * @category zone of death
  1023. * @since 2.0.0
  1024. * @deprecated
  1025. */
  1026. export interface PipeableApply1<F extends URIS> extends PipeableFunctor1<F> {
  1027. readonly ap: <A>(fa: Kind<F, A>) => <B>(fab: Kind<F, (a: A) => B>) => Kind<F, B>
  1028. readonly apFirst: <B>(fb: Kind<F, B>) => <A>(fa: Kind<F, A>) => Kind<F, A>
  1029. readonly apSecond: <B>(fb: Kind<F, B>) => <A>(fa: Kind<F, A>) => Kind<F, B>
  1030. }
  1031. /**
  1032. * @category zone of death
  1033. * @since 2.0.0
  1034. * @deprecated
  1035. */
  1036. export interface PipeableApply2<F extends URIS2> extends PipeableFunctor2<F> {
  1037. readonly ap: <E, A>(fa: Kind2<F, E, A>) => <B>(fab: Kind2<F, E, (a: A) => B>) => Kind2<F, E, B>
  1038. readonly apFirst: <E, B>(fb: Kind2<F, E, B>) => <A>(fa: Kind2<F, E, A>) => Kind2<F, E, A>
  1039. readonly apSecond: <E, B>(fb: Kind2<F, E, B>) => <A>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  1040. }
  1041. /**
  1042. * @category zone of death
  1043. * @since 2.0.0
  1044. * @deprecated
  1045. */
  1046. export interface PipeableApply2C<F extends URIS2, E> extends PipeableFunctor2C<F, E> {
  1047. readonly ap: <A>(fa: Kind2<F, E, A>) => <B>(fab: Kind2<F, E, (a: A) => B>) => Kind2<F, E, B>
  1048. readonly apFirst: <B>(fb: Kind2<F, E, B>) => <A>(fa: Kind2<F, E, A>) => Kind2<F, E, A>
  1049. readonly apSecond: <B>(fb: Kind2<F, E, B>) => <A>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  1050. }
  1051. /**
  1052. * @category zone of death
  1053. * @since 2.0.0
  1054. * @deprecated
  1055. */
  1056. export interface PipeableApply3<F extends URIS3> extends PipeableFunctor3<F> {
  1057. readonly ap: <R, E, A>(fa: Kind3<F, R, E, A>) => <B>(fab: Kind3<F, R, E, (a: A) => B>) => Kind3<F, R, E, B>
  1058. readonly apFirst: <R, E, B>(fb: Kind3<F, R, E, B>) => <A>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1059. readonly apSecond: <R, E, B>(fb: Kind3<F, R, E, B>) => <A>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  1060. }
  1061. /**
  1062. * @since 2.2.0
  1063. * @deprecated
  1064. */
  1065. export interface PipeableApply3C<F extends URIS3, E> extends PipeableFunctor3C<F, E> {
  1066. readonly ap: <R, A>(fa: Kind3<F, R, E, A>) => <B>(fab: Kind3<F, R, E, (a: A) => B>) => Kind3<F, R, E, B>
  1067. readonly apFirst: <R, B>(fb: Kind3<F, R, E, B>) => <A>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1068. readonly apSecond: <R, B>(fb: Kind3<F, R, E, B>) => <A>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  1069. }
  1070. /**
  1071. * @category zone of death
  1072. * @since 2.0.0
  1073. * @deprecated
  1074. */
  1075. export interface PipeableApply4<F extends URIS4> extends PipeableFunctor4<F> {
  1076. readonly ap: <S, R, E, A>(
  1077. fa: Kind4<F, S, R, E, A>
  1078. ) => <B>(fab: Kind4<F, S, R, E, (a: A) => B>) => Kind4<F, S, R, E, B>
  1079. readonly apFirst: <S, R, E, B>(fb: Kind4<F, S, R, E, B>) => <A>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  1080. readonly apSecond: <S, R, E, B>(fb: Kind4<F, S, R, E, B>) => <A>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  1081. }
  1082. /**
  1083. * @category zone of death
  1084. * @since 2.0.0
  1085. * @deprecated
  1086. */
  1087. export interface PipeableChain<F> extends PipeableApply<F> {
  1088. readonly chain: <A, B>(f: (a: A) => HKT<F, B>) => (ma: HKT<F, A>) => HKT<F, B>
  1089. readonly chainFirst: <A, B>(f: (a: A) => HKT<F, B>) => (ma: HKT<F, A>) => HKT<F, A>
  1090. readonly flatten: <A>(mma: HKT<F, HKT<F, A>>) => HKT<F, A>
  1091. }
  1092. /**
  1093. * @category zone of death
  1094. * @since 2.0.0
  1095. * @deprecated
  1096. */
  1097. export interface PipeableChain1<F extends URIS> extends PipeableApply1<F> {
  1098. readonly chain: <A, B>(f: (a: A) => Kind<F, B>) => (ma: Kind<F, A>) => Kind<F, B>
  1099. readonly chainFirst: <A, B>(f: (a: A) => Kind<F, B>) => (ma: Kind<F, A>) => Kind<F, A>
  1100. readonly flatten: <A>(mma: Kind<F, Kind<F, A>>) => Kind<F, A>
  1101. }
  1102. /**
  1103. * @category zone of death
  1104. * @since 2.0.0
  1105. * @deprecated
  1106. */
  1107. export interface PipeableChain2<F extends URIS2> extends PipeableApply2<F> {
  1108. readonly chain: <E, A, B>(f: (a: A) => Kind2<F, E, B>) => (ma: Kind2<F, E, A>) => Kind2<F, E, B>
  1109. readonly chainFirst: <E, A, B>(f: (a: A) => Kind2<F, E, B>) => (ma: Kind2<F, E, A>) => Kind2<F, E, A>
  1110. readonly flatten: <E, A>(mma: Kind2<F, E, Kind2<F, E, A>>) => Kind2<F, E, A>
  1111. }
  1112. /**
  1113. * @category zone of death
  1114. * @since 2.0.0
  1115. * @deprecated
  1116. */
  1117. export interface PipeableChain2C<F extends URIS2, E> extends PipeableApply2C<F, E> {
  1118. readonly chain: <A, B>(f: (a: A) => Kind2<F, E, B>) => (ma: Kind2<F, E, A>) => Kind2<F, E, B>
  1119. readonly chainFirst: <A, B>(f: (a: A) => Kind2<F, E, B>) => (ma: Kind2<F, E, A>) => Kind2<F, E, A>
  1120. readonly flatten: <A>(mma: Kind2<F, E, Kind2<F, E, A>>) => Kind2<F, E, A>
  1121. }
  1122. /**
  1123. * @category zone of death
  1124. * @since 2.0.0
  1125. * @deprecated
  1126. */
  1127. export interface PipeableChain3<F extends URIS3> extends PipeableApply3<F> {
  1128. readonly chain: <R, E, A, B>(f: (a: A) => Kind3<F, R, E, B>) => (ma: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  1129. readonly chainFirst: <R, E, A, B>(f: (a: A) => Kind3<F, R, E, B>) => (ma: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1130. readonly flatten: <R, E, A>(mma: Kind3<F, R, E, Kind3<F, R, E, A>>) => Kind3<F, R, E, A>
  1131. }
  1132. /**
  1133. * @since 2.2.0
  1134. * @deprecated
  1135. */
  1136. export interface PipeableChain3C<F extends URIS3, E> extends PipeableApply3C<F, E> {
  1137. readonly chain: <R, A, B>(f: (a: A) => Kind3<F, R, E, B>) => (ma: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  1138. readonly chainFirst: <R, A, B>(f: (a: A) => Kind3<F, R, E, B>) => (ma: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1139. readonly flatten: <R, A>(mma: Kind3<F, R, E, Kind3<F, R, E, A>>) => Kind3<F, R, E, A>
  1140. }
  1141. /**
  1142. * @category zone of death
  1143. * @since 2.0.0
  1144. * @deprecated
  1145. */
  1146. export interface PipeableChain4<F extends URIS4> extends PipeableApply4<F> {
  1147. readonly chain: <S, R, E, A, B>(
  1148. f: (a: A) => Kind4<F, S, R, E, B>
  1149. ) => (ma: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  1150. readonly chainFirst: <S, R, E, A, B>(
  1151. f: (a: A) => Kind4<F, S, R, E, B>
  1152. ) => (ma: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  1153. readonly flatten: <S, R, E, A>(mma: Kind4<F, S, R, E, Kind4<F, S, R, E, A>>) => Kind4<F, S, R, E, A>
  1154. }
  1155. /**
  1156. * @category zone of death
  1157. * @since 2.0.0
  1158. * @deprecated
  1159. */
  1160. export interface PipeableExtend<F> extends PipeableFunctor<F> {
  1161. readonly extend: <A, B>(f: (wa: HKT<F, A>) => B) => (wa: HKT<F, A>) => HKT<F, B>
  1162. readonly duplicate: <A>(wa: HKT<F, A>) => HKT<F, HKT<F, A>>
  1163. }
  1164. /**
  1165. * @category zone of death
  1166. * @since 2.0.0
  1167. * @deprecated
  1168. */
  1169. export interface PipeableExtend1<F extends URIS> extends PipeableFunctor1<F> {
  1170. readonly extend: <A, B>(f: (wa: Kind<F, A>) => B) => (wa: Kind<F, A>) => Kind<F, B>
  1171. readonly duplicate: <A>(wa: Kind<F, A>) => Kind<F, Kind<F, A>>
  1172. }
  1173. /**
  1174. * @category zone of death
  1175. * @since 2.0.0
  1176. * @deprecated
  1177. */
  1178. export interface PipeableExtend2<F extends URIS2> extends PipeableFunctor2<F> {
  1179. readonly extend: <E, A, B>(f: (wa: Kind2<F, E, A>) => B) => (wa: Kind2<F, E, A>) => Kind2<F, E, B>
  1180. readonly duplicate: <E, A>(wa: Kind2<F, E, A>) => Kind2<F, E, Kind2<F, E, A>>
  1181. }
  1182. /**
  1183. * @category zone of death
  1184. * @since 2.0.0
  1185. * @deprecated
  1186. */
  1187. export interface PipeableExtend2C<F extends URIS2, E> extends PipeableFunctor2C<F, E> {
  1188. readonly extend: <A, B>(f: (wa: Kind2<F, E, A>) => B) => (wa: Kind2<F, E, A>) => Kind2<F, E, B>
  1189. readonly duplicate: <A>(wa: Kind2<F, E, A>) => Kind2<F, E, Kind2<F, E, A>>
  1190. }
  1191. /**
  1192. * @category zone of death
  1193. * @since 2.0.0
  1194. * @deprecated
  1195. */
  1196. export interface PipeableExtend3<F extends URIS3> extends PipeableFunctor3<F> {
  1197. readonly extend: <R, E, A, B>(f: (wa: Kind3<F, R, E, A>) => B) => (wa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  1198. readonly duplicate: <R, E, A>(wa: Kind3<F, R, E, A>) => Kind3<F, R, E, Kind3<F, R, E, A>>
  1199. }
  1200. /**
  1201. * @since 2.2.0
  1202. * @deprecated
  1203. */
  1204. export interface PipeableExtend3C<F extends URIS3, E> extends PipeableFunctor3C<F, E> {
  1205. readonly extend: <R, A, B>(f: (wa: Kind3<F, R, E, A>) => B) => (wa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  1206. readonly duplicate: <R, A>(wa: Kind3<F, R, E, A>) => Kind3<F, R, E, Kind3<F, R, E, A>>
  1207. }
  1208. /**
  1209. * @category zone of death
  1210. * @since 2.0.0
  1211. * @deprecated
  1212. */
  1213. export interface PipeableExtend4<F extends URIS4> extends PipeableFunctor4<F> {
  1214. readonly extend: <S, R, E, A, B>(
  1215. f: (wa: Kind4<F, S, R, E, A>) => B
  1216. ) => (wa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  1217. readonly duplicate: <S, R, E, A>(wa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, Kind4<F, S, R, E, A>>
  1218. }
  1219. /**
  1220. * @category zone of death
  1221. * @since 2.0.0
  1222. * @deprecated
  1223. */
  1224. export interface PipeableBifunctor<F> {
  1225. readonly bimap: <E, G, A, B>(f: (e: E) => G, g: (a: A) => B) => (fa: HKT2<F, E, A>) => HKT2<F, G, B>
  1226. readonly mapLeft: <E, G>(f: (e: E) => G) => <A>(fa: HKT2<F, E, A>) => HKT2<F, G, A>
  1227. }
  1228. /**
  1229. * @category zone of death
  1230. * @since 2.0.0
  1231. * @deprecated
  1232. */
  1233. export interface PipeableBifunctor2<F extends URIS2> {
  1234. readonly bimap: <E, G, A, B>(f: (e: E) => G, g: (a: A) => B) => (fa: Kind2<F, E, A>) => Kind2<F, G, B>
  1235. readonly mapLeft: <E, G>(f: (e: E) => G) => <A>(fa: Kind2<F, E, A>) => Kind2<F, G, A>
  1236. }
  1237. /**
  1238. * @category zone of death
  1239. * @since 2.0.0
  1240. * @deprecated
  1241. */
  1242. export interface PipeableBifunctor3<F extends URIS3> {
  1243. readonly bimap: <E, G, A, B>(f: (e: E) => G, g: (a: A) => B) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, G, B>
  1244. readonly mapLeft: <E, G>(f: (e: E) => G) => <R, A>(fa: Kind3<F, R, E, A>) => Kind3<F, R, G, A>
  1245. }
  1246. /**
  1247. * @since 2.2.0
  1248. * @deprecated
  1249. */
  1250. export interface PipeableBifunctor3C<F extends URIS3, E> {
  1251. readonly bimap: <G, A, B>(f: (e: E) => G, g: (a: A) => B) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, G, B>
  1252. readonly mapLeft: <G>(f: (e: E) => G) => <R, A>(fa: Kind3<F, R, E, A>) => Kind3<F, R, G, A>
  1253. }
  1254. /**
  1255. * @category zone of death
  1256. * @since 2.0.0
  1257. * @deprecated
  1258. */
  1259. export interface PipeableBifunctor4<F extends URIS4> {
  1260. readonly bimap: <E, G, A, B>(
  1261. f: (e: E) => G,
  1262. g: (a: A) => B
  1263. ) => <S, R>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, G, B>
  1264. readonly mapLeft: <E, G>(f: (e: E) => G) => <S, R, A>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, G, A>
  1265. }
  1266. /**
  1267. * @category zone of death
  1268. * @since 2.0.0
  1269. * @deprecated
  1270. */
  1271. export interface PipeableFoldable<F> {
  1272. readonly reduce: <A, B>(b: B, f: (b: B, a: A) => B) => (fa: HKT<F, A>) => B
  1273. readonly foldMap: <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => (fa: HKT<F, A>) => M
  1274. readonly reduceRight: <A, B>(b: B, f: (a: A, b: B) => B) => (fa: HKT<F, A>) => B
  1275. }
  1276. /**
  1277. * @category zone of death
  1278. * @since 2.0.0
  1279. * @deprecated
  1280. */
  1281. export interface PipeableFoldable1<F extends URIS> {
  1282. readonly reduce: <A, B>(b: B, f: (b: B, a: A) => B) => (fa: Kind<F, A>) => B
  1283. readonly foldMap: <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => (fa: Kind<F, A>) => M
  1284. readonly reduceRight: <A, B>(b: B, f: (a: A, b: B) => B) => (fa: Kind<F, A>) => B
  1285. }
  1286. /**
  1287. * @category zone of death
  1288. * @since 2.0.0
  1289. * @deprecated
  1290. */
  1291. export interface PipeableFoldable2<F extends URIS2> {
  1292. readonly reduce: <A, B>(b: B, f: (b: B, a: A) => B) => <E>(fa: Kind2<F, E, A>) => B
  1293. readonly foldMap: <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => <E>(fa: Kind2<F, E, A>) => M
  1294. readonly reduceRight: <A, B>(b: B, f: (a: A, b: B) => B) => <E>(fa: Kind2<F, E, A>) => B
  1295. }
  1296. /**
  1297. * @category zone of death
  1298. * @since 2.0.0
  1299. * @deprecated
  1300. */
  1301. export interface PipeableFoldable2C<F extends URIS2, E> {
  1302. readonly reduce: <A, B>(b: B, f: (b: B, a: A) => B) => (fa: Kind2<F, E, A>) => B
  1303. readonly foldMap: <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => (fa: Kind2<F, E, A>) => M
  1304. readonly reduceRight: <A, B>(b: B, f: (a: A, b: B) => B) => (fa: Kind2<F, E, A>) => B
  1305. }
  1306. /**
  1307. * @category zone of death
  1308. * @since 2.0.0
  1309. * @deprecated
  1310. */
  1311. export interface PipeableFoldable3<F extends URIS3> {
  1312. readonly reduce: <A, B>(b: B, f: (b: B, a: A) => B) => <R, E>(fa: Kind3<F, R, E, A>) => B
  1313. readonly foldMap: <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => <R, E>(fa: Kind3<F, R, E, A>) => M
  1314. readonly reduceRight: <A, B>(b: B, f: (a: A, b: B) => B) => <R, E>(fa: Kind3<F, R, E, A>) => B
  1315. }
  1316. /**
  1317. * @since 2.2.0
  1318. * @deprecated
  1319. */
  1320. export interface PipeableFoldable3C<F extends URIS3, E> {
  1321. readonly reduce: <A, B>(b: B, f: (b: B, a: A) => B) => <R>(fa: Kind3<F, R, E, A>) => B
  1322. readonly foldMap: <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => <R>(fa: Kind3<F, R, E, A>) => M
  1323. readonly reduceRight: <A, B>(b: B, f: (a: A, b: B) => B) => <R>(fa: Kind3<F, R, E, A>) => B
  1324. }
  1325. /**
  1326. * @category zone of death
  1327. * @since 2.0.0
  1328. * @deprecated
  1329. */
  1330. export interface PipeableFoldable4<F extends URIS4> {
  1331. readonly reduce: <A, B>(b: B, f: (b: B, a: A) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => B
  1332. readonly foldMap: <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => M
  1333. readonly reduceRight: <A, B>(b: B, f: (a: A, b: B) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => B
  1334. }
  1335. /**
  1336. * @category zone of death
  1337. * @since 2.0.0
  1338. * @deprecated
  1339. */
  1340. export interface PipeableFoldableWithIndex<F, I> extends PipeableFoldable<F> {
  1341. readonly reduceWithIndex: <A, B>(b: B, f: (i: I, b: B, a: A) => B) => (fa: HKT<F, A>) => B
  1342. readonly foldMapWithIndex: <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => (fa: HKT<F, A>) => M
  1343. readonly reduceRightWithIndex: <A, B>(b: B, f: (i: I, a: A, b: B) => B) => (fa: HKT<F, A>) => B
  1344. }
  1345. /**
  1346. * @category zone of death
  1347. * @since 2.0.0
  1348. * @deprecated
  1349. */
  1350. export interface PipeableFoldableWithIndex1<F extends URIS, I> extends PipeableFoldable1<F> {
  1351. readonly reduceWithIndex: <A, B>(b: B, f: (i: I, b: B, a: A) => B) => (fa: Kind<F, A>) => B
  1352. readonly foldMapWithIndex: <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => (fa: Kind<F, A>) => M
  1353. readonly reduceRightWithIndex: <A, B>(b: B, f: (i: I, a: A, b: B) => B) => (fa: Kind<F, A>) => B
  1354. }
  1355. /**
  1356. * @category zone of death
  1357. * @since 2.0.0
  1358. * @deprecated
  1359. */
  1360. export interface PipeableFoldableWithIndex2<F extends URIS2, I> extends PipeableFoldable2<F> {
  1361. readonly reduceWithIndex: <A, B>(b: B, f: (i: I, b: B, a: A) => B) => <E>(fa: Kind2<F, E, A>) => B
  1362. readonly foldMapWithIndex: <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => <E>(fa: Kind2<F, E, A>) => M
  1363. readonly reduceRightWithIndex: <A, B>(b: B, f: (i: I, a: A, b: B) => B) => <E>(fa: Kind2<F, E, A>) => B
  1364. }
  1365. /**
  1366. * @category zone of death
  1367. * @since 2.0.0
  1368. * @deprecated
  1369. */
  1370. export interface PipeableFoldableWithIndex2C<F extends URIS2, I, E> extends PipeableFoldable2C<F, E> {
  1371. readonly reduceWithIndex: <A, B>(b: B, f: (i: I, b: B, a: A) => B) => (fa: Kind2<F, E, A>) => B
  1372. readonly foldMapWithIndex: <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => (fa: Kind2<F, E, A>) => M
  1373. readonly reduceRightWithIndex: <A, B>(b: B, f: (i: I, a: A, b: B) => B) => (fa: Kind2<F, E, A>) => B
  1374. }
  1375. /**
  1376. * @category zone of death
  1377. * @since 2.0.0
  1378. * @deprecated
  1379. */
  1380. export interface PipeableFoldableWithIndex3<F extends URIS3, I> extends PipeableFoldable3<F> {
  1381. readonly reduceWithIndex: <A, B>(b: B, f: (i: I, b: B, a: A) => B) => <R, E>(fa: Kind3<F, R, E, A>) => B
  1382. readonly foldMapWithIndex: <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => <R, E>(fa: Kind3<F, R, E, A>) => M
  1383. readonly reduceRightWithIndex: <A, B>(b: B, f: (i: I, a: A, b: B) => B) => <R, E>(fa: Kind3<F, R, E, A>) => B
  1384. }
  1385. /**
  1386. * @since 2.2.0
  1387. * @deprecated
  1388. */
  1389. export interface PipeableFoldableWithIndex3C<F extends URIS3, I, E> extends PipeableFoldable3C<F, E> {
  1390. readonly reduceWithIndex: <A, B>(b: B, f: (i: I, b: B, a: A) => B) => <R>(fa: Kind3<F, R, E, A>) => B
  1391. readonly foldMapWithIndex: <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => <R>(fa: Kind3<F, R, E, A>) => M
  1392. readonly reduceRightWithIndex: <A, B>(b: B, f: (i: I, a: A, b: B) => B) => <R>(fa: Kind3<F, R, E, A>) => B
  1393. }
  1394. /**
  1395. * @category zone of death
  1396. * @since 2.0.0
  1397. * @deprecated
  1398. */
  1399. export interface PipeableFoldableWithIndex4<F extends URIS4, I> extends PipeableFoldable4<F> {
  1400. readonly reduceWithIndex: <A, B>(b: B, f: (i: I, b: B, a: A) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => B
  1401. readonly foldMapWithIndex: <M>(M: Monoid<M>) => <A>(f: (i: I, a: A) => M) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => M
  1402. readonly reduceRightWithIndex: <A, B>(b: B, f: (i: I, a: A, b: B) => B) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => B
  1403. }
  1404. /**
  1405. * @category zone of death
  1406. * @since 2.0.0
  1407. * @deprecated
  1408. */
  1409. export interface PipeableAlt<F> {
  1410. readonly alt: <A>(that: Lazy<HKT<F, A>>) => (fa: HKT<F, A>) => HKT<F, A>
  1411. }
  1412. /**
  1413. * @category zone of death
  1414. * @since 2.0.0
  1415. * @deprecated
  1416. */
  1417. export interface PipeableAlt1<F extends URIS> {
  1418. readonly alt: <A>(that: Lazy<Kind<F, A>>) => (fa: Kind<F, A>) => Kind<F, A>
  1419. }
  1420. /**
  1421. * @category zone of death
  1422. * @since 2.0.0
  1423. * @deprecated
  1424. */
  1425. export interface PipeableAlt2<F extends URIS2> {
  1426. readonly alt: <E, A>(that: Lazy<Kind2<F, E, A>>) => (fa: Kind2<F, E, A>) => Kind2<F, E, A>
  1427. }
  1428. /**
  1429. * @category zone of death
  1430. * @since 2.0.0
  1431. * @deprecated
  1432. */
  1433. export interface PipeableAlt2C<F extends URIS2, E> {
  1434. readonly alt: <A>(that: Lazy<Kind2<F, E, A>>) => (fa: Kind2<F, E, A>) => Kind2<F, E, A>
  1435. }
  1436. /**
  1437. * @category zone of death
  1438. * @since 2.0.0
  1439. * @deprecated
  1440. */
  1441. export interface PipeableAlt3<F extends URIS3> {
  1442. readonly alt: <R, E, A>(that: Lazy<Kind3<F, R, E, A>>) => (fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1443. }
  1444. /**
  1445. * @since 2.2.0
  1446. * @deprecated
  1447. */
  1448. export interface PipeableAlt3C<F extends URIS3, E> {
  1449. readonly alt: <R, A>(that: Lazy<Kind3<F, R, E, A>>) => (fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1450. }
  1451. /**
  1452. * @category zone of death
  1453. * @since 2.0.0
  1454. * @deprecated
  1455. */
  1456. export interface PipeableAlt4<F extends URIS4> {
  1457. readonly alt: <S, R, E, A>(that: Lazy<Kind4<F, S, R, E, A>>) => (fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  1458. }
  1459. /**
  1460. * @category zone of death
  1461. * @since 2.0.0
  1462. * @deprecated
  1463. */
  1464. export interface PipeableCompactable<F> {
  1465. readonly compact: <A>(fa: HKT<F, Option<A>>) => HKT<F, A>
  1466. readonly separate: <A, B>(fa: HKT<F, Either<A, B>>) => Separated<HKT<F, A>, HKT<F, B>>
  1467. }
  1468. /**
  1469. * @category zone of death
  1470. * @since 2.0.0
  1471. * @deprecated
  1472. */
  1473. export interface PipeableCompactable1<F extends URIS> {
  1474. readonly compact: <A>(fa: Kind<F, Option<A>>) => Kind<F, A>
  1475. readonly separate: <A, B>(fa: Kind<F, Either<A, B>>) => Separated<Kind<F, A>, Kind<F, B>>
  1476. }
  1477. /**
  1478. * @category zone of death
  1479. * @since 2.0.0
  1480. * @deprecated
  1481. */
  1482. export interface PipeableCompactable2<F extends URIS2> {
  1483. readonly compact: <E, A>(fa: Kind2<F, E, Option<A>>) => Kind2<F, E, A>
  1484. readonly separate: <E, A, B>(fa: Kind2<F, E, Either<A, B>>) => Separated<Kind2<F, E, A>, Kind2<F, E, B>>
  1485. }
  1486. /**
  1487. * @category zone of death
  1488. * @since 2.0.0
  1489. * @deprecated
  1490. */
  1491. export interface PipeableCompactable2C<F extends URIS2, E> {
  1492. readonly compact: <A>(fa: Kind2<F, E, Option<A>>) => Kind2<F, E, A>
  1493. readonly separate: <A, B>(fa: Kind2<F, E, Either<A, B>>) => Separated<Kind2<F, E, A>, Kind2<F, E, B>>
  1494. }
  1495. /**
  1496. * @category zone of death
  1497. * @since 2.0.0
  1498. * @deprecated
  1499. */
  1500. export interface PipeableCompactable3<F extends URIS3> {
  1501. readonly compact: <R, E, A>(fa: Kind3<F, R, E, Option<A>>) => Kind3<F, R, E, A>
  1502. readonly separate: <R, E, A, B>(fa: Kind3<F, R, E, Either<A, B>>) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, B>>
  1503. }
  1504. /**
  1505. * @since 2.2.0
  1506. * @deprecated
  1507. */
  1508. export interface PipeableCompactable3C<F extends URIS3, E> {
  1509. readonly compact: <R, A>(fa: Kind3<F, R, E, Option<A>>) => Kind3<F, R, E, A>
  1510. readonly separate: <R, A, B>(fa: Kind3<F, R, E, Either<A, B>>) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, B>>
  1511. }
  1512. /**
  1513. * @category zone of death
  1514. * @since 2.0.0
  1515. * @deprecated
  1516. */
  1517. export interface PipeableCompactable4<F extends URIS4> {
  1518. readonly compact: <S, R, E, A>(fa: Kind4<F, S, R, E, Option<A>>) => Kind4<F, S, R, E, A>
  1519. readonly separate: <S, R, E, A, B>(
  1520. fa: Kind4<F, S, R, E, Either<A, B>>
  1521. ) => Separated<Kind4<F, S, R, E, A>, Kind4<F, S, R, E, B>>
  1522. }
  1523. /**
  1524. * @category zone of death
  1525. * @since 2.0.0
  1526. * @deprecated
  1527. */
  1528. export interface PipeableFilterable<F> extends PipeableCompactable<F> {
  1529. readonly filter: {
  1530. <A, B extends A>(refinement: Refinement<A, B>): (fa: HKT<F, A>) => HKT<F, B>
  1531. <A>(predicate: Predicate<A>): (fa: HKT<F, A>) => HKT<F, A>
  1532. }
  1533. readonly filterMap: <A, B>(f: (a: A) => Option<B>) => (fa: HKT<F, A>) => HKT<F, B>
  1534. readonly partition: {
  1535. <A, B extends A>(refinement: Refinement<A, B>): (fa: HKT<F, A>) => Separated<HKT<F, A>, HKT<F, B>>
  1536. <A>(predicate: Predicate<A>): (fa: HKT<F, A>) => Separated<HKT<F, A>, HKT<F, A>>
  1537. }
  1538. readonly partitionMap: <A, B, C>(f: (a: A) => Either<B, C>) => (fa: HKT<F, A>) => Separated<HKT<F, B>, HKT<F, C>>
  1539. }
  1540. /**
  1541. * @category zone of death
  1542. * @since 2.0.0
  1543. * @deprecated
  1544. */
  1545. export interface PipeableFilterable1<F extends URIS> extends PipeableCompactable1<F> {
  1546. readonly filter: {
  1547. <A, B extends A>(refinement: Refinement<A, B>): (fa: Kind<F, A>) => Kind<F, B>
  1548. <A>(predicate: Predicate<A>): (fa: Kind<F, A>) => Kind<F, A>
  1549. }
  1550. readonly filterMap: <A, B>(f: (a: A) => Option<B>) => (fa: Kind<F, A>) => Kind<F, B>
  1551. readonly partition: {
  1552. <A, B extends A>(refinement: Refinement<A, B>): (fa: Kind<F, A>) => Separated<Kind<F, A>, Kind<F, B>>
  1553. <A>(predicate: Predicate<A>): (fa: Kind<F, A>) => Separated<Kind<F, A>, Kind<F, A>>
  1554. }
  1555. readonly partitionMap: <A, B, C>(f: (a: A) => Either<B, C>) => (fa: Kind<F, A>) => Separated<Kind<F, B>, Kind<F, C>>
  1556. }
  1557. /**
  1558. * @category zone of death
  1559. * @since 2.0.0
  1560. * @deprecated
  1561. */
  1562. export interface PipeableFilterable2<F extends URIS2> extends PipeableCompactable2<F> {
  1563. readonly filter: {
  1564. <A, B extends A>(refinement: Refinement<A, B>): <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  1565. <A>(predicate: Predicate<A>): <E>(fa: Kind2<F, E, A>) => Kind2<F, E, A>
  1566. }
  1567. readonly filterMap: <A, B>(f: (a: A) => Option<B>) => <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  1568. readonly partition: {
  1569. <A, B extends A>(refinement: Refinement<A, B>): <E>(fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, B>>
  1570. <A>(predicate: Predicate<A>): <E>(fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, A>>
  1571. }
  1572. readonly partitionMap: <A, B, C>(
  1573. f: (a: A) => Either<B, C>
  1574. ) => <E>(fa: Kind2<F, E, A>) => Separated<Kind2<F, E, B>, Kind2<F, E, C>>
  1575. }
  1576. /**
  1577. * @category zone of death
  1578. * @since 2.0.0
  1579. * @deprecated
  1580. */
  1581. export interface PipeableFilterable2C<F extends URIS2, E> extends PipeableCompactable2C<F, E> {
  1582. readonly filter: {
  1583. <A, B extends A>(refinement: Refinement<A, B>): (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  1584. <A>(predicate: Predicate<A>): (fa: Kind2<F, E, A>) => Kind2<F, E, A>
  1585. }
  1586. readonly filterMap: <A, B>(f: (a: A) => Option<B>) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  1587. readonly partition: {
  1588. <A, B extends A>(refinement: Refinement<A, B>): (fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, B>>
  1589. <A>(predicate: Predicate<A>): (fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, A>>
  1590. }
  1591. readonly partitionMap: <A, B, C>(
  1592. f: (a: A) => Either<B, C>
  1593. ) => (fa: Kind2<F, E, A>) => Separated<Kind2<F, E, B>, Kind2<F, E, C>>
  1594. }
  1595. /**
  1596. * @category zone of death
  1597. * @since 2.0.0
  1598. * @deprecated
  1599. */
  1600. export interface PipeableFilterable3<F extends URIS3> extends PipeableCompactable3<F> {
  1601. readonly filter: {
  1602. <A, B extends A>(refinement: Refinement<A, B>): <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  1603. <A>(predicate: Predicate<A>): <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1604. }
  1605. readonly filterMap: <A, B>(f: (a: A) => Option<B>) => <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1606. readonly partition: {
  1607. <A, B extends A>(refinement: Refinement<A, B>): <R, E>(
  1608. fa: Kind3<F, R, E, A>
  1609. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, B>>
  1610. <A>(predicate: Predicate<A>): <R, E>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, A>>
  1611. }
  1612. readonly partitionMap: <A, B, C>(
  1613. f: (a: A) => Either<B, C>
  1614. ) => <R, E>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, B>, Kind3<F, R, E, C>>
  1615. }
  1616. /**
  1617. * @since 2.2.0
  1618. * @deprecated
  1619. */
  1620. export interface PipeableFilterable3C<F extends URIS3, E> extends PipeableCompactable3C<F, E> {
  1621. readonly filter: {
  1622. <A, B extends A>(refinement: Refinement<A, B>): <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  1623. <A>(predicate: Predicate<A>): <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1624. }
  1625. readonly filterMap: <A, B>(f: (a: A) => Option<B>) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1626. readonly partition: {
  1627. <A, B extends A>(refinement: Refinement<A, B>): <R>(
  1628. fa: Kind3<F, R, E, A>
  1629. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, B>>
  1630. <A>(predicate: Predicate<A>): <R>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, A>>
  1631. }
  1632. readonly partitionMap: <A, B, C>(
  1633. f: (a: A) => Either<B, C>
  1634. ) => <R>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, B>, Kind3<F, R, E, C>>
  1635. }
  1636. /**
  1637. * @category zone of death
  1638. * @since 2.0.0
  1639. * @deprecated
  1640. */
  1641. export interface PipeableFilterable4<F extends URIS4> extends PipeableCompactable4<F> {
  1642. readonly filter: {
  1643. <A, B extends A>(refinement: Refinement<A, B>): <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, B>
  1644. <A>(predicate: Predicate<A>): <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  1645. }
  1646. readonly filterMap: <A, B>(f: (a: A) => Option<B>) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  1647. readonly partition: {
  1648. <A, B extends A>(refinement: Refinement<A, B>): <S, R, E>(
  1649. fa: Kind4<F, S, R, E, A>
  1650. ) => Separated<Kind4<F, S, R, E, A>, Kind4<F, S, R, E, B>>
  1651. <A>(predicate: Predicate<A>): <S, R, E>(
  1652. fa: Kind4<F, S, R, E, A>
  1653. ) => Separated<Kind4<F, S, R, E, A>, Kind4<F, S, R, E, A>>
  1654. }
  1655. readonly partitionMap: <A, B, C>(
  1656. f: (a: A) => Either<B, C>
  1657. ) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Separated<Kind4<F, S, R, E, B>, Kind4<F, S, R, E, C>>
  1658. }
  1659. /**
  1660. * @category zone of death
  1661. * @since 2.0.0
  1662. * @deprecated
  1663. */
  1664. export interface PipeableFilterableWithIndex<F, I> extends PipeableFilterable<F> {
  1665. readonly filterWithIndex: {
  1666. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): (fa: HKT<F, A>) => HKT<F, B>
  1667. <A>(predicateWithIndex: PredicateWithIndex<I, A>): (fa: HKT<F, A>) => HKT<F, A>
  1668. }
  1669. readonly filterMapWithIndex: <A, B>(f: (i: I, a: A) => Option<B>) => (fa: HKT<F, A>) => HKT<F, B>
  1670. readonly partitionWithIndex: {
  1671. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): (
  1672. fa: HKT<F, A>
  1673. ) => Separated<HKT<F, A>, HKT<F, B>>
  1674. <A>(predicateWithIndex: PredicateWithIndex<I, A>): (fa: HKT<F, A>) => Separated<HKT<F, A>, HKT<F, A>>
  1675. }
  1676. readonly partitionMapWithIndex: <A, B, C>(
  1677. f: (i: I, a: A) => Either<B, C>
  1678. ) => (fa: HKT<F, A>) => Separated<HKT<F, B>, HKT<F, C>>
  1679. }
  1680. /**
  1681. * @category zone of death
  1682. * @since 2.0.0
  1683. * @deprecated
  1684. */
  1685. export interface PipeableFilterableWithIndex1<F extends URIS, I> extends PipeableFilterable1<F> {
  1686. readonly filterWithIndex: {
  1687. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): (fa: Kind<F, A>) => Kind<F, B>
  1688. <A>(predicateWithIndex: PredicateWithIndex<I, A>): (fa: Kind<F, A>) => Kind<F, A>
  1689. }
  1690. readonly filterMapWithIndex: <A, B>(f: (i: I, a: A) => Option<B>) => (fa: Kind<F, A>) => Kind<F, B>
  1691. readonly partitionWithIndex: {
  1692. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): (
  1693. fa: Kind<F, A>
  1694. ) => Separated<Kind<F, A>, Kind<F, B>>
  1695. <A>(predicateWithIndex: PredicateWithIndex<I, A>): (fa: Kind<F, A>) => Separated<Kind<F, A>, Kind<F, A>>
  1696. }
  1697. readonly partitionMapWithIndex: <A, B, C>(
  1698. f: (i: I, a: A) => Either<B, C>
  1699. ) => (fa: Kind<F, A>) => Separated<Kind<F, B>, Kind<F, C>>
  1700. }
  1701. /**
  1702. * @category zone of death
  1703. * @since 2.0.0
  1704. * @deprecated
  1705. */
  1706. export interface PipeableFilterableWithIndex2<F extends URIS2, I> extends PipeableFilterable2<F> {
  1707. readonly filterWithIndex: {
  1708. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  1709. <A>(predicateWithIndex: PredicateWithIndex<I, A>): <E>(fa: Kind2<F, E, A>) => Kind2<F, E, A>
  1710. }
  1711. readonly filterMapWithIndex: <A, B>(f: (i: I, a: A) => Option<B>) => <E>(fa: Kind2<F, E, A>) => Kind2<F, E, B>
  1712. readonly partitionWithIndex: {
  1713. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): <E>(
  1714. fa: Kind2<F, E, A>
  1715. ) => Separated<Kind2<F, E, A>, Kind2<F, E, B>>
  1716. <A>(predicateWithIndex: PredicateWithIndex<I, A>): <E>(
  1717. fa: Kind2<F, E, A>
  1718. ) => Separated<Kind2<F, E, A>, Kind2<F, E, A>>
  1719. }
  1720. readonly partitionMapWithIndex: <A, B, C>(
  1721. f: (i: I, a: A) => Either<B, C>
  1722. ) => <E>(fa: Kind2<F, E, A>) => Separated<Kind2<F, E, B>, Kind2<F, E, C>>
  1723. }
  1724. /**
  1725. * @category zone of death
  1726. * @since 2.0.0
  1727. * @deprecated
  1728. */
  1729. export interface PipeableFilterableWithIndex2C<F extends URIS2, I, E> extends PipeableFilterable2C<F, E> {
  1730. readonly filterWithIndex: {
  1731. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  1732. <A>(predicateWithIndex: PredicateWithIndex<I, A>): (fa: Kind2<F, E, A>) => Kind2<F, E, A>
  1733. }
  1734. readonly filterMapWithIndex: <A, B>(f: (i: I, a: A) => Option<B>) => (fa: Kind2<F, E, A>) => Kind2<F, E, B>
  1735. readonly partitionWithIndex: {
  1736. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): (
  1737. fa: Kind2<F, E, A>
  1738. ) => Separated<Kind2<F, E, A>, Kind2<F, E, B>>
  1739. <A>(predicateWithIndex: PredicateWithIndex<I, A>): (fa: Kind2<F, E, A>) => Separated<Kind2<F, E, A>, Kind2<F, E, A>>
  1740. }
  1741. readonly partitionMapWithIndex: <A, B, C>(
  1742. f: (i: I, a: A) => Either<B, C>
  1743. ) => (fa: Kind2<F, E, A>) => Separated<Kind2<F, E, B>, Kind2<F, E, C>>
  1744. }
  1745. /**
  1746. * @category zone of death
  1747. * @since 2.0.0
  1748. * @deprecated
  1749. */
  1750. export interface PipeableFilterableWithIndex3<F extends URIS3, I> extends PipeableFilterable3<F> {
  1751. readonly filterWithIndex: {
  1752. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): <R, E>(
  1753. fa: Kind3<F, R, E, A>
  1754. ) => Kind3<F, R, E, B>
  1755. <A>(predicateWithIndex: PredicateWithIndex<I, A>): <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1756. }
  1757. readonly filterMapWithIndex: <A, B>(
  1758. f: (i: I, a: A) => Option<B>
  1759. ) => <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1760. readonly partitionWithIndex: {
  1761. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): <R, E>(
  1762. fa: Kind3<F, R, E, A>
  1763. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, B>>
  1764. <A>(predicateWithIndex: PredicateWithIndex<I, A>): <R, E>(
  1765. fa: Kind3<F, R, E, A>
  1766. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, A>>
  1767. }
  1768. readonly partitionMapWithIndex: <A, B, C>(
  1769. f: (i: I, a: A) => Either<B, C>
  1770. ) => <R, E>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, B>, Kind3<F, R, E, C>>
  1771. }
  1772. /**
  1773. * @since 2.2.0
  1774. * @deprecated
  1775. */
  1776. export interface PipeableFilterableWithIndex3C<F extends URIS3, I, E> extends PipeableFilterable3C<F, E> {
  1777. readonly filterWithIndex: {
  1778. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, B>
  1779. <A>(predicateWithIndex: PredicateWithIndex<I, A>): <R, E>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1780. }
  1781. readonly filterMapWithIndex: <A, B>(f: (i: I, a: A) => Option<B>) => <R>(fa: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  1782. readonly partitionWithIndex: {
  1783. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): <R>(
  1784. fa: Kind3<F, R, E, A>
  1785. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, B>>
  1786. <A>(predicateWithIndex: PredicateWithIndex<I, A>): <R>(
  1787. fa: Kind3<F, R, E, A>
  1788. ) => Separated<Kind3<F, R, E, A>, Kind3<F, R, E, A>>
  1789. }
  1790. readonly partitionMapWithIndex: <A, B, C>(
  1791. f: (i: I, a: A) => Either<B, C>
  1792. ) => <R>(fa: Kind3<F, R, E, A>) => Separated<Kind3<F, R, E, B>, Kind3<F, R, E, C>>
  1793. }
  1794. /**
  1795. * @category zone of death
  1796. * @since 2.0.0
  1797. * @deprecated
  1798. */
  1799. export interface PipeableFilterableWithIndex4<F extends URIS4, I> extends PipeableFilterable4<F> {
  1800. readonly filterWithIndex: {
  1801. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): <S, R, E>(
  1802. fa: Kind4<F, S, R, E, A>
  1803. ) => Kind4<F, S, R, E, B>
  1804. <A>(predicateWithIndex: PredicateWithIndex<I, A>): <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  1805. }
  1806. readonly filterMapWithIndex: <A, B>(
  1807. f: (i: I, a: A) => Option<B>
  1808. ) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  1809. readonly partitionWithIndex: {
  1810. <A, B extends A>(refinementWithIndex: RefinementWithIndex<I, A, B>): <S, R, E>(
  1811. fa: Kind4<F, S, R, E, A>
  1812. ) => Separated<Kind4<F, S, R, E, A>, Kind4<F, S, R, E, B>>
  1813. <A>(predicateWithIndex: PredicateWithIndex<I, A>): <S, R, E>(
  1814. fa: Kind4<F, S, R, E, A>
  1815. ) => Separated<Kind4<F, S, R, E, A>, Kind4<F, S, R, E, A>>
  1816. }
  1817. readonly partitionMapWithIndex: <A, B, C>(
  1818. f: (i: I, a: A) => Either<B, C>
  1819. ) => <S, R, E>(fa: Kind4<F, S, R, E, A>) => Separated<Kind4<F, S, R, E, B>, Kind4<F, S, R, E, C>>
  1820. }
  1821. /**
  1822. * @category zone of death
  1823. * @since 2.0.0
  1824. * @deprecated
  1825. */
  1826. export interface PipeableProfunctor<F> {
  1827. readonly promap: <E, A, D, B>(f: (d: D) => E, g: (a: A) => B) => (fbc: HKT2<F, E, A>) => HKT2<F, D, B>
  1828. }
  1829. /**
  1830. * @category zone of death
  1831. * @since 2.0.0
  1832. * @deprecated
  1833. */
  1834. export interface PipeableProfunctor2<F extends URIS2> extends PipeableFunctor2<F> {
  1835. readonly promap: <E, A, D, B>(f: (d: D) => E, g: (a: A) => B) => (fbc: Kind2<F, E, A>) => Kind2<F, D, B>
  1836. }
  1837. /**
  1838. * @category zone of death
  1839. * @since 2.0.0
  1840. * @deprecated
  1841. */
  1842. export interface PipeableProfunctor2C<F extends URIS2, E> extends PipeableFunctor2C<F, E> {
  1843. readonly promap: <A, D, B>(f: (d: D) => E, g: (a: A) => B) => (fbc: Kind2<F, E, A>) => Kind2<F, D, B>
  1844. }
  1845. /**
  1846. * @category zone of death
  1847. * @since 2.0.0
  1848. * @deprecated
  1849. */
  1850. export interface PipeableProfunctor3<F extends URIS3> extends PipeableFunctor3<F> {
  1851. readonly promap: <R, E, A, D, B>(f: (d: D) => E, g: (a: A) => B) => (fbc: Kind3<F, R, E, A>) => Kind3<F, R, D, B>
  1852. }
  1853. /**
  1854. * @since 2.2.0
  1855. * @deprecated
  1856. */
  1857. export interface PipeableProfunctor3C<F extends URIS3, E> extends PipeableFunctor3C<F, E> {
  1858. readonly promap: <R, A, D, B>(f: (d: D) => E, g: (a: A) => B) => (fbc: Kind3<F, R, E, A>) => Kind3<F, R, D, B>
  1859. }
  1860. /**
  1861. * @category zone of death
  1862. * @since 2.0.0
  1863. * @deprecated
  1864. */
  1865. export interface PipeableProfunctor4<F extends URIS4> extends PipeableFunctor4<F> {
  1866. readonly promap: <S, R, E, A, D, B>(
  1867. f: (d: D) => E,
  1868. g: (a: A) => B
  1869. ) => (fbc: Kind4<F, S, R, E, A>) => Kind4<F, S, R, D, B>
  1870. }
  1871. /**
  1872. * @category zone of death
  1873. * @since 2.0.0
  1874. * @deprecated
  1875. */
  1876. export interface PipeableSemigroupoid<F> {
  1877. readonly compose: <E, A>(la: HKT2<F, E, A>) => <B>(ab: HKT2<F, A, B>) => HKT2<F, E, B>
  1878. }
  1879. /**
  1880. * @category zone of death
  1881. * @since 2.0.0
  1882. * @deprecated
  1883. */
  1884. export interface PipeableSemigroupoid2<F extends URIS2> {
  1885. readonly compose: <E, A>(la: Kind2<F, E, A>) => <B>(ab: Kind2<F, A, B>) => Kind2<F, E, B>
  1886. }
  1887. /**
  1888. * @category zone of death
  1889. * @since 2.0.0
  1890. * @deprecated
  1891. */
  1892. export interface PipeableSemigroupoid2C<F extends URIS2, E> {
  1893. readonly compose: <A>(la: Kind2<F, E, A>) => <B>(ab: Kind2<F, A, B>) => Kind2<F, E, B>
  1894. }
  1895. /**
  1896. * @category zone of death
  1897. * @since 2.0.0
  1898. * @deprecated
  1899. */
  1900. export interface PipeableSemigroupoid3<F extends URIS3> {
  1901. readonly compose: <R, E, A>(la: Kind3<F, R, E, A>) => <B>(ab: Kind3<F, R, A, B>) => Kind3<F, R, E, B>
  1902. }
  1903. /**
  1904. * @since 2.2.0
  1905. * @deprecated
  1906. */
  1907. export interface PipeableSemigroupoid3C<F extends URIS3, E> {
  1908. readonly compose: <R, A>(la: Kind3<F, R, E, A>) => <B>(ab: Kind3<F, R, A, B>) => Kind3<F, R, E, B>
  1909. }
  1910. /**
  1911. * @category zone of death
  1912. * @since 2.0.0
  1913. * @deprecated
  1914. */
  1915. export interface PipeableSemigroupoid4<F extends URIS4> {
  1916. readonly compose: <S, R, E, A>(la: Kind4<F, S, R, E, A>) => <B>(ab: Kind4<F, S, R, A, B>) => Kind4<F, S, R, E, B>
  1917. }
  1918. /**
  1919. * @category zone of death
  1920. * @since 2.0.0
  1921. * @deprecated
  1922. */
  1923. export interface PipeableMonadThrow<F> {
  1924. readonly fromOption: <E>(onNone: Lazy<E>) => <A>(ma: Option<A>) => HKT<F, A>
  1925. readonly fromEither: <E, A>(ma: Either<E, A>) => HKT<F, A>
  1926. readonly fromPredicate: {
  1927. <E, A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): (a: A) => HKT<F, B>
  1928. <E, A>(predicate: Predicate<A>, onFalse: (a: A) => E): (a: A) => HKT<F, A>
  1929. }
  1930. readonly filterOrElse: {
  1931. <E, A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): (ma: HKT<F, A>) => HKT<F, B>
  1932. <E, A>(predicate: Predicate<A>, onFalse: (a: A) => E): (ma: HKT<F, A>) => HKT<F, A>
  1933. }
  1934. }
  1935. /**
  1936. * @category zone of death
  1937. * @since 2.0.0
  1938. * @deprecated
  1939. */
  1940. export interface PipeableMonadThrow1<F extends URIS> {
  1941. readonly fromOption: <E>(onNone: Lazy<E>) => <A>(ma: Option<A>) => Kind<F, A>
  1942. readonly fromEither: <E, A>(ma: Either<E, A>) => Kind<F, A>
  1943. readonly fromPredicate: {
  1944. <E, A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): (a: A) => Kind<F, B>
  1945. <E, A>(predicate: Predicate<A>, onFalse: (a: A) => E): (a: A) => Kind<F, A>
  1946. }
  1947. readonly filterOrElse: {
  1948. <E, A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): (ma: Kind<F, A>) => Kind<F, B>
  1949. <E, A>(predicate: Predicate<A>, onFalse: (a: A) => E): (ma: Kind<F, A>) => Kind<F, A>
  1950. }
  1951. }
  1952. /**
  1953. * @category zone of death
  1954. * @since 2.0.0
  1955. * @deprecated
  1956. */
  1957. export interface PipeableMonadThrow2<F extends URIS2> {
  1958. readonly fromOption: <E>(onNone: Lazy<E>) => <A>(ma: Option<A>) => Kind2<F, E, A>
  1959. readonly fromEither: <E, A>(ma: Either<E, A>) => Kind2<F, E, A>
  1960. readonly fromPredicate: {
  1961. <E, A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): (a: A) => Kind2<F, E, B>
  1962. <E, A>(predicate: Predicate<A>, onFalse: (a: A) => E): (a: A) => Kind2<F, E, A>
  1963. }
  1964. readonly filterOrElse: {
  1965. <E, A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): (ma: Kind2<F, E, A>) => Kind2<F, E, B>
  1966. <E, A>(predicate: Predicate<A>, onFalse: (a: A) => E): (ma: Kind2<F, E, A>) => Kind2<F, E, A>
  1967. }
  1968. }
  1969. /**
  1970. * @category zone of death
  1971. * @since 2.0.0
  1972. * @deprecated
  1973. */
  1974. export interface PipeableMonadThrow2C<F extends URIS2, E> {
  1975. readonly fromOption: (onNone: Lazy<E>) => <A>(ma: Option<A>) => Kind2<F, E, A>
  1976. readonly fromEither: <A>(ma: Either<E, A>) => Kind2<F, E, A>
  1977. readonly fromPredicate: {
  1978. <A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): (a: A) => Kind2<F, E, B>
  1979. <A>(predicate: Predicate<A>, onFalse: (a: A) => E): (a: A) => Kind2<F, E, A>
  1980. }
  1981. readonly filterOrElse: {
  1982. <A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): (ma: Kind2<F, E, A>) => Kind2<F, E, B>
  1983. <A>(predicate: Predicate<A>, onFalse: (a: A) => E): (ma: Kind2<F, E, A>) => Kind2<F, E, A>
  1984. }
  1985. }
  1986. /**
  1987. * @category zone of death
  1988. * @since 2.0.0
  1989. * @deprecated
  1990. */
  1991. export interface PipeableMonadThrow3<F extends URIS3> {
  1992. readonly fromOption: <E>(onNone: Lazy<E>) => <R, A>(ma: Option<A>) => Kind3<F, R, E, A>
  1993. readonly fromEither: <R, E, A>(ma: Either<E, A>) => Kind3<F, R, E, A>
  1994. readonly fromPredicate: {
  1995. <E, A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): <U>(a: A) => Kind3<F, U, E, B>
  1996. <E, A>(predicate: Predicate<A>, onFalse: (a: A) => E): <R>(a: A) => Kind3<F, R, E, A>
  1997. }
  1998. readonly filterOrElse: {
  1999. <E, A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): <R>(
  2000. ma: Kind3<F, R, E, A>
  2001. ) => Kind3<F, R, E, B>
  2002. <E, A>(predicate: Predicate<A>, onFalse: (a: A) => E): <R>(ma: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  2003. }
  2004. }
  2005. /**
  2006. * @since 2.2.0
  2007. * @deprecated
  2008. */
  2009. export interface PipeableMonadThrow3C<F extends URIS3, E> {
  2010. readonly fromOption: (onNone: Lazy<E>) => <R, A>(ma: Option<A>) => Kind3<F, R, E, A>
  2011. readonly fromEither: <R, A>(ma: Either<E, A>) => Kind3<F, R, E, A>
  2012. readonly fromPredicate: {
  2013. <A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): <U>(a: A) => Kind3<F, U, E, B>
  2014. <A>(predicate: Predicate<A>, onFalse: (a: A) => E): <R>(a: A) => Kind3<F, R, E, A>
  2015. }
  2016. readonly filterOrElse: {
  2017. <A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): <R>(
  2018. ma: Kind3<F, R, E, A>
  2019. ) => Kind3<F, R, E, B>
  2020. <A>(predicate: Predicate<A>, onFalse: (a: A) => E): <R>(ma: Kind3<F, R, E, A>) => Kind3<F, R, E, A>
  2021. }
  2022. }
  2023. /**
  2024. * @category zone of death
  2025. * @since 2.0.0
  2026. * @deprecated
  2027. */
  2028. export interface PipeableMonadThrow4<F extends URIS4> {
  2029. readonly fromOption: <E>(onNone: Lazy<E>) => <S, R, A>(ma: Option<A>) => Kind4<F, S, R, E, A>
  2030. readonly fromEither: <S, R, E, A>(ma: Either<E, A>) => Kind4<F, S, R, E, A>
  2031. readonly fromPredicate: {
  2032. <E, A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): <S, R>(a: A) => Kind4<F, S, R, E, B>
  2033. <E, A>(predicate: Predicate<A>, onFalse: (a: A) => E): <S, R>(a: A) => Kind4<F, S, R, E, A>
  2034. }
  2035. readonly filterOrElse: {
  2036. <E, A, B extends A>(refinement: Refinement<A, B>, onFalse: (a: A) => E): <S, R>(
  2037. ma: Kind4<F, S, R, E, A>
  2038. ) => Kind4<F, S, R, E, B>
  2039. <E, A>(predicate: Predicate<A>, onFalse: (a: A) => E): <S, R>(ma: Kind4<F, S, R, E, A>) => Kind4<F, S, R, E, A>
  2040. }
  2041. }
  2042. /**
  2043. * @category zone of death
  2044. * @since 2.0.0
  2045. * @deprecated
  2046. */
  2047. export declare function pipeable<F extends URIS4, I>(
  2048. I: {
  2049. readonly URI: F
  2050. } & I
  2051. ): (I extends Chain4<F>
  2052. ? PipeableChain4<F>
  2053. : I extends Apply4<F>
  2054. ? PipeableApply4<F>
  2055. : I extends Functor4<F>
  2056. ? PipeableFunctor4<F>
  2057. : {}) &
  2058. (I extends Contravariant4<F> ? PipeableContravariant4<F> : {}) &
  2059. (I extends FunctorWithIndex4<F, infer Ix> ? PipeableFunctorWithIndex4<F, Ix> : {}) &
  2060. (I extends Bifunctor4<F> ? PipeableBifunctor4<F> : {}) &
  2061. (I extends Extend4<F> ? PipeableExtend4<F> : {}) &
  2062. (I extends FoldableWithIndex4<F, infer Ix>
  2063. ? PipeableFoldableWithIndex4<F, Ix>
  2064. : I extends Foldable4<F>
  2065. ? PipeableFoldable4<F>
  2066. : {}) &
  2067. (I extends Alt4<F> ? PipeableAlt4<F> : {}) &
  2068. (I extends FilterableWithIndex4<F, infer Ix>
  2069. ? PipeableFilterableWithIndex4<F, Ix>
  2070. : I extends Filterable4<F>
  2071. ? PipeableFilterable4<F>
  2072. : I extends Compactable4<F>
  2073. ? PipeableCompactable4<F>
  2074. : {}) &
  2075. (I extends Profunctor4<F> ? PipeableProfunctor4<F> : {}) &
  2076. (I extends Semigroupoid4<F> ? PipeableSemigroupoid4<F> : {}) &
  2077. (I extends MonadThrow4<F> ? PipeableMonadThrow4<F> : {})
  2078. /** @deprecated */
  2079. export declare function pipeable<F extends URIS3, I>(
  2080. I: {
  2081. readonly URI: F
  2082. } & I
  2083. ): (I extends Chain3<F>
  2084. ? PipeableChain3<F>
  2085. : I extends Apply3<F>
  2086. ? PipeableApply3<F>
  2087. : I extends Functor3<F>
  2088. ? PipeableFunctor3<F>
  2089. : {}) &
  2090. (I extends Contravariant3<F> ? PipeableContravariant3<F> : {}) &
  2091. (I extends FunctorWithIndex3<F, infer Ix> ? PipeableFunctorWithIndex3<F, Ix> : {}) &
  2092. (I extends Bifunctor3<F> ? PipeableBifunctor3<F> : {}) &
  2093. (I extends Extend3<F> ? PipeableExtend3<F> : {}) &
  2094. (I extends FoldableWithIndex3<F, infer Ix>
  2095. ? PipeableFoldableWithIndex3<F, Ix>
  2096. : I extends Foldable3<F>
  2097. ? PipeableFoldable3<F>
  2098. : {}) &
  2099. (I extends Alt3<F> ? PipeableAlt3<F> : {}) &
  2100. (I extends FilterableWithIndex3<F, infer Ix>
  2101. ? PipeableFilterableWithIndex3<F, Ix>
  2102. : I extends Filterable3<F>
  2103. ? PipeableFilterable3<F>
  2104. : I extends Compactable3<F>
  2105. ? PipeableCompactable3<F>
  2106. : {}) &
  2107. (I extends Profunctor3<F> ? PipeableProfunctor3<F> : {}) &
  2108. (I extends Semigroupoid3<F> ? PipeableSemigroupoid3<F> : {}) &
  2109. (I extends MonadThrow3<F> ? PipeableMonadThrow3<F> : {})
  2110. /** @deprecated */
  2111. export declare function pipeable<F extends URIS3, I, E>(
  2112. I: {
  2113. readonly URI: F
  2114. } & I
  2115. ): (I extends Chain3C<F, E>
  2116. ? PipeableChain3C<F, E>
  2117. : I extends Apply3C<F, E>
  2118. ? PipeableApply3C<F, E>
  2119. : I extends Functor3C<F, E>
  2120. ? PipeableFunctor3C<F, E>
  2121. : {}) &
  2122. (I extends Contravariant3C<F, E> ? PipeableContravariant3C<F, E> : {}) &
  2123. (I extends FunctorWithIndex3C<F, infer Ix, E> ? PipeableFunctorWithIndex3C<F, Ix, E> : {}) &
  2124. (I extends Bifunctor3C<F, E> ? PipeableBifunctor3C<F, E> : {}) &
  2125. (I extends Extend3C<F, E> ? PipeableExtend3C<F, E> : {}) &
  2126. (I extends FoldableWithIndex3C<F, infer Ix, E>
  2127. ? PipeableFoldableWithIndex3C<F, Ix, E>
  2128. : I extends Foldable3C<F, E>
  2129. ? PipeableFoldable3C<F, E>
  2130. : {}) &
  2131. (I extends Alt3C<F, E> ? PipeableAlt3C<F, E> : {}) &
  2132. (I extends FilterableWithIndex3C<F, infer Ix, E>
  2133. ? PipeableFilterableWithIndex3C<F, Ix, E>
  2134. : I extends Filterable3C<F, E>
  2135. ? PipeableFilterable3C<F, E>
  2136. : I extends Compactable3C<F, E>
  2137. ? PipeableCompactable3C<F, E>
  2138. : {}) &
  2139. (I extends Profunctor3C<F, E> ? PipeableProfunctor3C<F, E> : {}) &
  2140. (I extends Semigroupoid3C<F, E> ? PipeableSemigroupoid3C<F, E> : {}) &
  2141. (I extends MonadThrow3C<F, E> ? PipeableMonadThrow3C<F, E> : {})
  2142. /** @deprecated */
  2143. export declare function pipeable<F extends URIS2, I, E>(
  2144. I: {
  2145. readonly URI: F
  2146. readonly _E: E
  2147. } & I
  2148. ): (I extends Chain2C<F, E>
  2149. ? PipeableChain2C<F, E>
  2150. : I extends Apply2C<F, E>
  2151. ? PipeableApply2C<F, E>
  2152. : I extends Functor2C<F, E>
  2153. ? PipeableFunctor2C<F, E>
  2154. : {}) &
  2155. (I extends Contravariant2C<F, E> ? PipeableContravariant2C<F, E> : {}) &
  2156. (I extends FunctorWithIndex2C<F, infer Ix, E> ? PipeableFunctorWithIndex2C<F, Ix, E> : {}) &
  2157. (I extends Extend2C<F, E> ? PipeableExtend2C<F, E> : {}) &
  2158. (I extends FoldableWithIndex2C<F, infer Ix, E>
  2159. ? PipeableFoldableWithIndex2C<F, Ix, E>
  2160. : I extends Foldable2C<F, E>
  2161. ? PipeableFoldable2C<F, E>
  2162. : {}) &
  2163. (I extends Alt2C<F, E> ? PipeableAlt2C<F, E> : {}) &
  2164. (I extends FilterableWithIndex2C<F, infer Ix, E>
  2165. ? PipeableFilterableWithIndex2C<F, Ix, E>
  2166. : I extends Filterable2C<F, E>
  2167. ? PipeableFilterable2C<F, E>
  2168. : I extends Compactable2C<F, E>
  2169. ? PipeableCompactable2C<F, E>
  2170. : {}) &
  2171. (I extends Profunctor2C<F, E> ? PipeableProfunctor2C<F, E> : {}) &
  2172. (I extends Semigroupoid2C<F, E> ? PipeableSemigroupoid2C<F, E> : {}) &
  2173. (I extends MonadThrow2C<F, E> ? PipeableMonadThrow2C<F, E> : {})
  2174. /** @deprecated */
  2175. export declare function pipeable<F extends URIS2, I>(
  2176. I: {
  2177. readonly URI: F
  2178. } & I
  2179. ): (I extends Chain2<F>
  2180. ? PipeableChain2<F>
  2181. : I extends Apply2<F>
  2182. ? PipeableApply2<F>
  2183. : I extends Functor2<F>
  2184. ? PipeableFunctor2<F>
  2185. : {}) &
  2186. (I extends Contravariant2<F> ? PipeableContravariant2<F> : {}) &
  2187. (I extends FunctorWithIndex2<F, infer Ix> ? PipeableFunctorWithIndex2<F, Ix> : {}) &
  2188. (I extends Bifunctor2<F> ? PipeableBifunctor2<F> : {}) &
  2189. (I extends Extend2<F> ? PipeableExtend2<F> : {}) &
  2190. (I extends FoldableWithIndex2<F, infer Ix>
  2191. ? PipeableFoldableWithIndex2<F, Ix>
  2192. : I extends Foldable2<F>
  2193. ? PipeableFoldable2<F>
  2194. : {}) &
  2195. (I extends Alt2<F> ? PipeableAlt2<F> : {}) &
  2196. (I extends FilterableWithIndex2<F, infer Ix>
  2197. ? PipeableFilterableWithIndex2<F, Ix>
  2198. : I extends Filterable2<F>
  2199. ? PipeableFilterable2<F>
  2200. : I extends Compactable2<F>
  2201. ? PipeableCompactable2<F>
  2202. : {}) &
  2203. (I extends Profunctor2<F> ? PipeableProfunctor2<F> : {}) &
  2204. (I extends Semigroupoid2<F> ? PipeableSemigroupoid2<F> : {}) &
  2205. (I extends MonadThrow2<F> ? PipeableMonadThrow2<F> : {})
  2206. /** @deprecated */
  2207. export declare function pipeable<F extends URIS, I>(
  2208. I: {
  2209. readonly URI: F
  2210. } & I
  2211. ): (I extends Chain1<F>
  2212. ? PipeableChain1<F>
  2213. : I extends Apply1<F>
  2214. ? PipeableApply1<F>
  2215. : I extends Functor1<F>
  2216. ? PipeableFunctor1<F>
  2217. : {}) &
  2218. (I extends Contravariant1<F> ? PipeableContravariant1<F> : {}) &
  2219. (I extends FunctorWithIndex1<F, infer Ix> ? PipeableFunctorWithIndex1<F, Ix> : {}) &
  2220. (I extends Extend1<F> ? PipeableExtend1<F> : {}) &
  2221. (I extends FoldableWithIndex1<F, infer Ix>
  2222. ? PipeableFoldableWithIndex1<F, Ix>
  2223. : I extends Foldable1<F>
  2224. ? PipeableFoldable1<F>
  2225. : {}) &
  2226. (I extends Alt1<F> ? PipeableAlt1<F> : {}) &
  2227. (I extends FilterableWithIndex1<F, infer Ix>
  2228. ? PipeableFilterableWithIndex1<F, Ix>
  2229. : I extends Filterable1<F>
  2230. ? PipeableFilterable1<F>
  2231. : I extends Compactable1<F>
  2232. ? PipeableCompactable1<F>
  2233. : {}) &
  2234. (I extends MonadThrow1<F> ? PipeableMonadThrow1<F> : {})
  2235. /** @deprecated */
  2236. export declare function pipeable<F, I>(
  2237. I: {
  2238. readonly URI: F
  2239. } & I
  2240. ): (I extends Chain<F>
  2241. ? PipeableChain<F>
  2242. : I extends Apply<F>
  2243. ? PipeableApply<F>
  2244. : I extends Functor<F>
  2245. ? PipeableFunctor<F>
  2246. : {}) &
  2247. (I extends Contravariant<F> ? PipeableContravariant<F> : {}) &
  2248. (I extends FunctorWithIndex<F, infer Ix> ? PipeableFunctorWithIndex<F, Ix> : {}) &
  2249. (I extends Bifunctor<F> ? PipeableBifunctor<F> : {}) &
  2250. (I extends Extend<F> ? PipeableExtend<F> : {}) &
  2251. (I extends FoldableWithIndex<F, infer Ix>
  2252. ? PipeableFoldableWithIndex<F, Ix>
  2253. : I extends Foldable<F>
  2254. ? PipeableFoldable<F>
  2255. : {}) &
  2256. (I extends Alt<F> ? PipeableAlt<F> : {}) &
  2257. (I extends FilterableWithIndex<F, infer Ix>
  2258. ? PipeableFilterableWithIndex<F, Ix>
  2259. : I extends Filterable<F>
  2260. ? PipeableFilterable<F>
  2261. : I extends Compactable<F>
  2262. ? PipeableCompactable<F>
  2263. : {}) &
  2264. (I extends Profunctor<F> ? PipeableProfunctor<F> : {}) &
  2265. (I extends Semigroupoid<F> ? PipeableSemigroupoid<F> : {}) &
  2266. (I extends MonadThrow<F> ? PipeableMonadThrow<F> : {})
  2267. /**
  2268. * Use [`pipe`](https://gcanti.github.io/fp-ts/modules/function.ts.html#pipe) from `function` module instead.
  2269. *
  2270. * @since 2.0.0
  2271. * @deprecated
  2272. */
  2273. export declare const pipe: typeof pipeFromFunctionModule