@fncts/base 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +16 -21
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/compat/Record/instances.cjs +67 -16
  4. package/_cjs/collection/compat/Record/instances.cjs.map +1 -1
  5. package/_cjs/collection/immutable/Conc/api.cjs +9 -12
  6. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  7. package/_cjs/collection/immutable/Conc/definition.cjs +41 -43
  8. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  9. package/_cjs/collection/immutable/Dictionary/definition.cjs +2 -4
  10. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  11. package/_cjs/collection/immutable/HashMap/api.cjs +26 -29
  12. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  13. package/_cjs/collection/immutable/HashMap/definition.cjs +15 -17
  14. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  15. package/_cjs/collection/immutable/ImmutableArray/api.cjs +136 -153
  16. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  17. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +10 -12
  18. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  19. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +11 -9
  20. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  21. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +21 -22
  22. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  23. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +3 -9
  24. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  25. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +8 -2
  26. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  27. package/_cjs/collection/immutable/RoseTree/definition.cjs +13 -15
  28. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  29. package/_cjs/collection/immutable/Vector/api.cjs +8 -12
  30. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  31. package/_cjs/collection/immutable/Vector/definition.cjs +11 -13
  32. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  33. package/_cjs/collection/weak/IterableWeakMap.cjs +51 -2
  34. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  35. package/_cjs/collection/weak/IterableWeakSet.cjs +59 -7
  36. package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
  37. package/_cjs/control/Eval/api.cjs +9 -3
  38. package/_cjs/control/Eval/api.cjs.map +1 -1
  39. package/_cjs/control/Eval/definition.cjs +0 -7
  40. package/_cjs/control/Eval/definition.cjs.map +1 -1
  41. package/_cjs/control/Eval/instance.cjs +6 -0
  42. package/_cjs/control/Eval/instance.cjs.map +1 -1
  43. package/_cjs/control/Z/api.cjs +16 -14
  44. package/_cjs/control/Z/api.cjs.map +1 -1
  45. package/_cjs/control/Z/definition.cjs +9 -14
  46. package/_cjs/control/Z/definition.cjs.map +1 -1
  47. package/_cjs/control/Z/instances.cjs +6 -0
  48. package/_cjs/control/Z/instances.cjs.map +1 -1
  49. package/_cjs/control/Z/runtime.cjs +15 -13
  50. package/_cjs/control/Z/runtime.cjs.map +1 -1
  51. package/_cjs/data/Const/definition.cjs +0 -7
  52. package/_cjs/data/Const/definition.cjs.map +1 -1
  53. package/_cjs/data/Const/instances.cjs +7 -5
  54. package/_cjs/data/Const/instances.cjs.map +1 -1
  55. package/_cjs/data/Datum/api.cjs +479 -0
  56. package/_cjs/data/Datum/api.cjs.map +1 -0
  57. package/_cjs/data/Datum/definition.cjs +142 -0
  58. package/_cjs/data/Datum/definition.cjs.map +1 -0
  59. package/_cjs/data/Datum/instances.cjs +69 -0
  60. package/_cjs/data/Datum/instances.cjs.map +1 -0
  61. package/_cjs/data/DatumEither/api.cjs +365 -0
  62. package/_cjs/data/DatumEither/api.cjs.map +1 -0
  63. package/_cjs/data/DatumEither/definition.cjs +9 -0
  64. package/_cjs/data/DatumEither/definition.cjs.map +1 -0
  65. package/_cjs/data/DecodeError/definition.cjs +3 -3
  66. package/_cjs/data/DecodeError/definition.cjs.map +1 -1
  67. package/_cjs/data/Decoder/definition.cjs +3 -10
  68. package/_cjs/data/Decoder/definition.cjs.map +1 -1
  69. package/_cjs/data/Either/api.cjs +21 -5
  70. package/_cjs/data/Either/api.cjs.map +1 -1
  71. package/_cjs/data/Either/definition.cjs +3 -10
  72. package/_cjs/data/Either/definition.cjs.map +1 -1
  73. package/_cjs/data/Either/instances.cjs +25 -23
  74. package/_cjs/data/Either/instances.cjs.map +1 -1
  75. package/_cjs/data/EitherT/api.cjs +106 -0
  76. package/_cjs/data/EitherT/api.cjs.map +1 -0
  77. package/_cjs/data/EitherT/definition.cjs +9 -0
  78. package/_cjs/data/EitherT/definition.cjs.map +1 -0
  79. package/_cjs/data/Environment/api.cjs +15 -14
  80. package/_cjs/data/Environment/api.cjs.map +1 -1
  81. package/_cjs/data/Environment/definition.cjs.map +1 -1
  82. package/_cjs/data/Identity/api.cjs +3 -1
  83. package/_cjs/data/Identity/api.cjs.map +1 -1
  84. package/_cjs/data/Identity/definition.cjs +2 -4
  85. package/_cjs/data/Identity/definition.cjs.map +1 -1
  86. package/_cjs/data/Identity/instances.cjs +6 -0
  87. package/_cjs/data/Identity/instances.cjs.map +1 -1
  88. package/_cjs/data/Intervals.cjs +292 -0
  89. package/_cjs/data/Intervals.cjs.map +1 -0
  90. package/_cjs/data/Maybe/api.cjs +3 -1
  91. package/_cjs/data/Maybe/api.cjs.map +1 -1
  92. package/_cjs/data/Maybe/definition.cjs +11 -13
  93. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  94. package/_cjs/data/Maybe/instances.cjs +13 -11
  95. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  96. package/_cjs/data/Newtype.cjs +3 -5
  97. package/_cjs/data/Newtype.cjs.map +1 -1
  98. package/_cjs/data/Struct/definition.cjs +2 -4
  99. package/_cjs/data/Struct/definition.cjs.map +1 -1
  100. package/_cjs/data/Zipped.cjs +55 -0
  101. package/_cjs/data/Zipped.cjs.map +1 -0
  102. package/_cjs/data/function/api.cjs +10 -0
  103. package/_cjs/data/function/api.cjs.map +1 -1
  104. package/_cjs/data/object/instances.cjs +9 -1
  105. package/_cjs/data/object/instances.cjs.map +1 -1
  106. package/_cjs/optics/Optional/definition.cjs +4 -6
  107. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  108. package/_cjs/optics/Traversal/api/compose.cjs +1 -1
  109. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  110. package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -1
  111. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  112. package/_cjs/optics/Traversal/definition.cjs +3 -3
  113. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  114. package/_cjs/typeclass/Alt.cjs +0 -7
  115. package/_cjs/typeclass/Alt.cjs.map +1 -1
  116. package/_cjs/typeclass/ApplicativeExcept.cjs +9 -35
  117. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  118. package/_cjs/typeclass/Apply.cjs +39 -66
  119. package/_cjs/typeclass/Apply.cjs.map +1 -1
  120. package/_cjs/typeclass/Chain.cjs +6 -28
  121. package/_cjs/typeclass/Chain.cjs.map +1 -1
  122. package/_cjs/typeclass/Fail.cjs +0 -10
  123. package/_cjs/typeclass/Fail.cjs.map +1 -1
  124. package/_cjs/typeclass/Filterable.cjs +0 -36
  125. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  126. package/_cjs/typeclass/Foldable.cjs +4 -34
  127. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  128. package/_cjs/typeclass/FoldableWithIndex.cjs +4 -34
  129. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  130. package/_cjs/typeclass/Functor.cjs +3 -18
  131. package/_cjs/typeclass/Functor.cjs.map +1 -1
  132. package/_cjs/typeclass/Guard/definition.cjs +3 -10
  133. package/_cjs/typeclass/Guard/definition.cjs.map +1 -1
  134. package/_cjs/typeclass/MonadExcept.cjs +2 -10
  135. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  136. package/_cjs/typeclass/Nil.cjs +0 -10
  137. package/_cjs/typeclass/Nil.cjs.map +1 -1
  138. package/_cjs/typeclass/Pointed.cjs +0 -11
  139. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  140. package/_cjs/typeclass/Semialign.cjs +18 -46
  141. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  142. package/_cjs/typeclass/Semimonoidal.cjs +0 -11
  143. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  144. package/_cjs/typeclass/Showable/show.cjs +12 -12
  145. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  146. package/_cjs/typeclass/Traversable.cjs +7 -26
  147. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  148. package/_cjs/typeclass/TraversableWithIndex.cjs +3 -7
  149. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  150. package/_cjs/typeclass/Witherable.cjs +3 -45
  151. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  152. package/_cjs/typeclass/WitherableWithIndex.cjs +8 -44
  153. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  154. package/_mjs/collection/Iterable/api/traverseConc.mjs +16 -21
  155. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  156. package/_mjs/collection/compat/Record/instances.mjs +62 -16
  157. package/_mjs/collection/compat/Record/instances.mjs.map +1 -1
  158. package/_mjs/collection/immutable/Conc/api.mjs +7 -11
  159. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  160. package/_mjs/collection/immutable/Conc/definition.mjs +41 -42
  161. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  162. package/_mjs/collection/immutable/Dictionary/definition.mjs +2 -3
  163. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  164. package/_mjs/collection/immutable/HashMap/api.mjs +18 -20
  165. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  166. package/_mjs/collection/immutable/HashMap/definition.mjs +15 -16
  167. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  168. package/_mjs/collection/immutable/ImmutableArray/api.mjs +128 -147
  169. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  170. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +10 -11
  171. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  172. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +9 -8
  173. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  174. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +18 -19
  175. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  176. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -2
  177. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  178. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +4 -3
  179. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  180. package/_mjs/collection/immutable/RoseTree/definition.mjs +13 -14
  181. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
  182. package/_mjs/collection/immutable/Vector/api.mjs +8 -12
  183. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  184. package/_mjs/collection/immutable/Vector/definition.mjs +11 -12
  185. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  186. package/_mjs/collection/weak/IterableWeakMap.mjs +51 -2
  187. package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
  188. package/_mjs/collection/weak/IterableWeakSet.mjs +59 -7
  189. package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
  190. package/_mjs/control/Eval/api.mjs +9 -4
  191. package/_mjs/control/Eval/api.mjs.map +1 -1
  192. package/_mjs/control/Eval/definition.mjs +0 -1
  193. package/_mjs/control/Eval/definition.mjs.map +1 -1
  194. package/_mjs/control/Eval/instance.mjs +1 -0
  195. package/_mjs/control/Eval/instance.mjs.map +1 -1
  196. package/_mjs/control/Z/api.mjs +16 -15
  197. package/_mjs/control/Z/api.mjs.map +1 -1
  198. package/_mjs/control/Z/definition.mjs +4 -5
  199. package/_mjs/control/Z/definition.mjs.map +1 -1
  200. package/_mjs/control/Z/instances.mjs +1 -0
  201. package/_mjs/control/Z/instances.mjs.map +1 -1
  202. package/_mjs/control/Z/runtime.mjs +14 -13
  203. package/_mjs/control/Z/runtime.mjs.map +1 -1
  204. package/_mjs/data/Const/definition.mjs +0 -3
  205. package/_mjs/data/Const/definition.mjs.map +1 -1
  206. package/_mjs/data/Const/instances.mjs +6 -5
  207. package/_mjs/data/Const/instances.mjs.map +1 -1
  208. package/_mjs/data/Datum/api.mjs +403 -0
  209. package/_mjs/data/Datum/api.mjs.map +1 -0
  210. package/_mjs/data/Datum/definition.mjs +112 -0
  211. package/_mjs/data/Datum/definition.mjs.map +1 -0
  212. package/_mjs/data/Datum/instances.mjs +52 -0
  213. package/_mjs/data/Datum/instances.mjs.map +1 -0
  214. package/_mjs/data/DatumEither/api.mjs +290 -0
  215. package/_mjs/data/DatumEither/api.mjs.map +1 -0
  216. package/_mjs/data/DatumEither/definition.mjs +2 -0
  217. package/_mjs/data/DatumEither/definition.mjs.map +1 -0
  218. package/_mjs/data/DecodeError/definition.mjs +3 -3
  219. package/_mjs/data/DecodeError/definition.mjs.map +1 -1
  220. package/_mjs/data/Decoder/definition.mjs +0 -2
  221. package/_mjs/data/Decoder/definition.mjs.map +1 -1
  222. package/_mjs/data/Either/api.mjs +16 -3
  223. package/_mjs/data/Either/api.mjs.map +1 -1
  224. package/_mjs/data/Either/definition.mjs +0 -2
  225. package/_mjs/data/Either/definition.mjs.map +1 -1
  226. package/_mjs/data/Either/instances.mjs +23 -22
  227. package/_mjs/data/Either/instances.mjs.map +1 -1
  228. package/_mjs/data/EitherT/api.mjs +73 -0
  229. package/_mjs/data/EitherT/api.mjs.map +1 -0
  230. package/_mjs/data/EitherT/definition.mjs +2 -0
  231. package/_mjs/data/EitherT/definition.mjs.map +1 -0
  232. package/_mjs/data/Environment/api.mjs +12 -13
  233. package/_mjs/data/Environment/api.mjs.map +1 -1
  234. package/_mjs/data/Environment/definition.mjs.map +1 -1
  235. package/_mjs/data/Identity/api.mjs +2 -1
  236. package/_mjs/data/Identity/api.mjs.map +1 -1
  237. package/_mjs/data/Identity/definition.mjs +2 -3
  238. package/_mjs/data/Identity/definition.mjs.map +1 -1
  239. package/_mjs/data/Identity/instances.mjs +1 -0
  240. package/_mjs/data/Identity/instances.mjs.map +1 -1
  241. package/_mjs/data/Intervals.mjs +257 -0
  242. package/_mjs/data/Intervals.mjs.map +1 -0
  243. package/_mjs/data/Maybe/api.mjs +2 -1
  244. package/_mjs/data/Maybe/api.mjs.map +1 -1
  245. package/_mjs/data/Maybe/definition.mjs +8 -10
  246. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  247. package/_mjs/data/Maybe/instances.mjs +12 -11
  248. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  249. package/_mjs/data/Newtype.mjs +3 -4
  250. package/_mjs/data/Newtype.mjs.map +1 -1
  251. package/_mjs/data/Struct/definition.mjs +2 -3
  252. package/_mjs/data/Struct/definition.mjs.map +1 -1
  253. package/_mjs/data/Zipped.mjs +37 -0
  254. package/_mjs/data/Zipped.mjs.map +1 -0
  255. package/_mjs/data/function/api.mjs +8 -0
  256. package/_mjs/data/function/api.mjs.map +1 -1
  257. package/_mjs/data/object/instances.mjs +7 -1
  258. package/_mjs/data/object/instances.mjs.map +1 -1
  259. package/_mjs/optics/Optional/definition.mjs +4 -5
  260. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  261. package/_mjs/optics/Traversal/api/compose.mjs +1 -1
  262. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  263. package/_mjs/optics/Traversal/api/fromTraversable.mjs +1 -1
  264. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  265. package/_mjs/optics/Traversal/definition.mjs +3 -3
  266. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  267. package/_mjs/typeclass/Alt.mjs +0 -5
  268. package/_mjs/typeclass/Alt.mjs.map +1 -1
  269. package/_mjs/typeclass/ApplicativeExcept.mjs +7 -32
  270. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  271. package/_mjs/typeclass/Apply.mjs +35 -65
  272. package/_mjs/typeclass/Apply.mjs.map +1 -1
  273. package/_mjs/typeclass/Chain.mjs +4 -25
  274. package/_mjs/typeclass/Chain.mjs.map +1 -1
  275. package/_mjs/typeclass/Fail.mjs +1 -8
  276. package/_mjs/typeclass/Fail.mjs.map +1 -1
  277. package/_mjs/typeclass/Filterable.mjs +0 -28
  278. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  279. package/_mjs/typeclass/Foldable.mjs +3 -30
  280. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  281. package/_mjs/typeclass/FoldableWithIndex.mjs +3 -30
  282. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  283. package/_mjs/typeclass/Functor.mjs +3 -16
  284. package/_mjs/typeclass/Functor.mjs.map +1 -1
  285. package/_mjs/typeclass/Guard/definition.mjs +0 -2
  286. package/_mjs/typeclass/Guard/definition.mjs.map +1 -1
  287. package/_mjs/typeclass/MonadExcept.mjs +2 -9
  288. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  289. package/_mjs/typeclass/Nil.mjs +1 -8
  290. package/_mjs/typeclass/Nil.mjs.map +1 -1
  291. package/_mjs/typeclass/Pointed.mjs +0 -9
  292. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  293. package/_mjs/typeclass/Semialign.mjs +17 -45
  294. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  295. package/_mjs/typeclass/Semimonoidal.mjs +0 -9
  296. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  297. package/_mjs/typeclass/Showable/show.mjs +12 -12
  298. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  299. package/_mjs/typeclass/Traversable.mjs +6 -25
  300. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  301. package/_mjs/typeclass/TraversableWithIndex.mjs +2 -6
  302. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  303. package/_mjs/typeclass/Witherable.mjs +3 -40
  304. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  305. package/_mjs/typeclass/WitherableWithIndex.mjs +6 -41
  306. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  307. package/_src/collection/Iterable/api/traverseConc.ts +24 -21
  308. package/_src/collection/compat/Record/instances.ts +44 -0
  309. package/_src/collection/immutable/Conc/api.ts +9 -11
  310. package/_src/collection/immutable/Conc/definition.ts +9 -5
  311. package/_src/collection/immutable/Dictionary/definition.ts +1 -1
  312. package/_src/collection/immutable/HashMap/api.ts +20 -17
  313. package/_src/collection/immutable/HashMap/definition.ts +10 -6
  314. package/_src/collection/immutable/ImmutableArray/api.ts +56 -113
  315. package/_src/collection/immutable/ImmutableArray/definition.ts +8 -5
  316. package/_src/collection/immutable/ImmutableArray/instances.ts +42 -42
  317. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +13 -11
  318. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +8 -3
  319. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +24 -25
  320. package/_src/collection/immutable/RoseTree/definition.ts +7 -4
  321. package/_src/collection/immutable/Vector/api.ts +12 -16
  322. package/_src/collection/immutable/Vector/definition.ts +9 -9
  323. package/_src/collection/weak/IterableWeakMap.ts +50 -5
  324. package/_src/collection/weak/IterableWeakSet.ts +57 -9
  325. package/_src/control/Eval/api.ts +5 -2
  326. package/_src/control/Eval/definition.ts +7 -4
  327. package/_src/control/Eval/instance.ts +7 -7
  328. package/_src/control/Z/api.ts +16 -25
  329. package/_src/control/Z/definition.ts +32 -31
  330. package/_src/control/Z/instances.ts +3 -3
  331. package/_src/control/Z/runtime.ts +7 -7
  332. package/_src/data/Const/definition.ts +9 -17
  333. package/_src/data/Const/instances.ts +5 -5
  334. package/_src/data/Datum/api.ts +376 -0
  335. package/_src/data/Datum/definition.ts +102 -0
  336. package/_src/data/Datum/instances.ts +34 -0
  337. package/_src/data/DatumEither/api.ts +348 -0
  338. package/_src/data/DatumEither/definition.ts +20 -0
  339. package/_src/data/DecodeError/definition.ts +3 -3
  340. package/_src/data/Decoder/definition.ts +7 -4
  341. package/_src/data/Either/api.ts +12 -2
  342. package/_src/data/Either/definition.ts +9 -14
  343. package/_src/data/Either/instances.ts +6 -6
  344. package/_src/data/EitherT/api.ts +239 -0
  345. package/_src/data/EitherT/definition.ts +23 -0
  346. package/_src/data/Environment/api.ts +8 -6
  347. package/_src/data/Environment/definition.ts +2 -2
  348. package/_src/data/Identity/api.ts +2 -2
  349. package/_src/data/Identity/definition.ts +2 -2
  350. package/_src/data/Identity/instances.ts +7 -7
  351. package/_src/data/Intervals.ts +126 -0
  352. package/_src/data/Maybe/api.ts +2 -2
  353. package/_src/data/Maybe/definition.ts +7 -4
  354. package/_src/data/Maybe/instances.ts +10 -10
  355. package/_src/data/Newtype.ts +32 -11
  356. package/_src/data/Struct/definition.ts +1 -1
  357. package/_src/data/Tag/definition.ts +2 -2
  358. package/_src/data/Zipped.ts +52 -0
  359. package/_src/data/function/api.ts +8 -0
  360. package/_src/data/object/instances.ts +11 -1
  361. package/_src/optics/Optional/definition.ts +2 -2
  362. package/_src/optics/Traversal/api/compose.ts +1 -1
  363. package/_src/optics/Traversal/api/fromTraversable.ts +11 -11
  364. package/_src/optics/Traversal/definition.ts +13 -12
  365. package/_src/typeclass/Align.ts +1 -1
  366. package/_src/typeclass/Alt.ts +24 -54
  367. package/_src/typeclass/Alternative.ts +1 -1
  368. package/_src/typeclass/Applicative.ts +6 -1
  369. package/_src/typeclass/ApplicativeExcept.ts +55 -81
  370. package/_src/typeclass/Apply.ts +224 -253
  371. package/_src/typeclass/Chain.ts +71 -98
  372. package/_src/typeclass/Fail.ts +10 -28
  373. package/_src/typeclass/Filterable.ts +13 -67
  374. package/_src/typeclass/FilterableWithIndex.ts +13 -13
  375. package/_src/typeclass/Foldable.ts +16 -35
  376. package/_src/typeclass/FoldableWithIndex.ts +14 -37
  377. package/_src/typeclass/Functor.ts +11 -21
  378. package/_src/typeclass/FunctorWithIndex.ts +4 -4
  379. package/_src/typeclass/Guard/definition.ts +1 -3
  380. package/_src/typeclass/Monad.ts +1 -1
  381. package/_src/typeclass/MonadExcept.ts +11 -7
  382. package/_src/typeclass/Nil.ts +10 -27
  383. package/_src/typeclass/Pointed.ts +11 -30
  384. package/_src/typeclass/Semialign.ts +285 -253
  385. package/_src/typeclass/Semimonoidal.ts +23 -54
  386. package/_src/typeclass/Showable/show.ts +8 -10
  387. package/_src/typeclass/Traversable.ts +45 -63
  388. package/_src/typeclass/TraversableWithIndex.ts +37 -34
  389. package/_src/typeclass/Witherable.ts +28 -115
  390. package/_src/typeclass/WitherableWithIndex.ts +82 -115
  391. package/_src/types/extractions.ts +1 -1
  392. package/collection/Iterable/api/traverseConc.d.ts +4 -6
  393. package/collection/compat/Record/instances.d.ts +12 -0
  394. package/collection/immutable/Conc/api.d.ts +4 -6
  395. package/collection/immutable/Conc/definition.d.ts +9 -6
  396. package/collection/immutable/Dictionary/definition.d.ts +1 -1
  397. package/collection/immutable/HashMap/api.d.ts +13 -13
  398. package/collection/immutable/HashMap/definition.d.ts +10 -7
  399. package/collection/immutable/ImmutableArray/api.d.ts +16 -18
  400. package/collection/immutable/ImmutableArray/definition.d.ts +8 -6
  401. package/collection/immutable/ImmutableArray/instances.d.ts +17 -17
  402. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +6 -5
  403. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +7 -3
  404. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +10 -10
  405. package/collection/immutable/RoseTree/definition.d.ts +7 -5
  406. package/collection/immutable/Vector/api.d.ts +4 -4
  407. package/collection/immutable/Vector/definition.d.ts +8 -9
  408. package/collection/weak/IterableWeakMap.d.ts +9 -3
  409. package/collection/weak/IterableWeakSet.d.ts +10 -4
  410. package/control/Eval/api.d.ts +6 -1
  411. package/control/Eval/definition.d.ts +6 -4
  412. package/control/Eval/instance.d.ts +3 -3
  413. package/control/Z/api.d.ts +8 -6
  414. package/control/Z/definition.d.ts +38 -32
  415. package/control/Z/instances.d.ts +2 -2
  416. package/control/Z/runtime.d.ts +5 -4
  417. package/data/Const/definition.d.ts +8 -16
  418. package/data/Const/instances.d.ts +4 -3
  419. package/data/Datum/api.d.ts +188 -0
  420. package/data/Datum/definition.d.ts +75 -0
  421. package/data/Datum/instances.d.ts +32 -0
  422. package/data/DatumEither/api.d.ts +169 -0
  423. package/data/DatumEither/definition.d.ts +21 -0
  424. package/data/Decoder/definition.d.ts +6 -4
  425. package/data/Either/api.d.ts +10 -0
  426. package/data/Either/definition.d.ts +8 -14
  427. package/data/Either/instances.d.ts +4 -3
  428. package/data/EitherT/api.d.ts +60 -0
  429. package/data/EitherT/definition.d.ts +12 -0
  430. package/data/Environment/api.d.ts +7 -5
  431. package/data/Environment/definition.d.ts +3 -3
  432. package/data/Identity/api.d.ts +2 -1
  433. package/data/Identity/definition.d.ts +2 -2
  434. package/data/Identity/instances.d.ts +3 -3
  435. package/data/Intervals.d.ts +53 -0
  436. package/data/Maybe/api.d.ts +2 -1
  437. package/data/Maybe/definition.d.ts +7 -4
  438. package/data/Maybe/instances.d.ts +6 -6
  439. package/data/Newtype.d.ts +9 -8
  440. package/data/Struct/definition.d.ts +1 -1
  441. package/data/Tag/definition.d.ts +2 -2
  442. package/data/Zipped.d.ts +24 -0
  443. package/data/function/api.d.ts +6 -0
  444. package/data/object/instances.d.ts +6 -1
  445. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  446. package/optics/Traversal/definition.d.ts +2 -4
  447. package/package.json +2 -2
  448. package/typeclass/Align.d.ts +1 -1
  449. package/typeclass/Alt.d.ts +2 -4
  450. package/typeclass/Alternative.d.ts +1 -1
  451. package/typeclass/Applicative.d.ts +2 -1
  452. package/typeclass/ApplicativeExcept.d.ts +5 -13
  453. package/typeclass/Apply.d.ts +20 -32
  454. package/typeclass/Chain.d.ts +5 -13
  455. package/typeclass/Fail.d.ts +2 -7
  456. package/typeclass/Filterable.d.ts +7 -31
  457. package/typeclass/FilterableWithIndex.d.ts +7 -7
  458. package/typeclass/Foldable.d.ts +6 -19
  459. package/typeclass/FoldableWithIndex.d.ts +6 -19
  460. package/typeclass/Functor.d.ts +4 -11
  461. package/typeclass/FunctorWithIndex.d.ts +2 -2
  462. package/typeclass/Guard/definition.d.ts +1 -4
  463. package/typeclass/Monad.d.ts +1 -1
  464. package/typeclass/MonadExcept.d.ts +3 -4
  465. package/typeclass/Nil.d.ts +2 -7
  466. package/typeclass/Pointed.d.ts +2 -7
  467. package/typeclass/Semialign.d.ts +26 -32
  468. package/typeclass/Semimonoidal.d.ts +3 -8
  469. package/typeclass/Traversable.d.ts +21 -12
  470. package/typeclass/TraversableWithIndex.d.ts +19 -6
  471. package/typeclass/Witherable.d.ts +5 -19
  472. package/typeclass/WitherableWithIndex.d.ts +33 -19
  473. package/types/extractions.d.ts +1 -1
@@ -6,8 +6,8 @@ import { identity, tuple } from "@fncts/base/data/function";
6
6
  /**
7
7
  * @tsplus type fncts.Semialign
8
8
  */
9
- export interface Semialign<F extends HKT> extends Functor<F> {
10
- readonly alignWith: alignWith<F>;
9
+ export interface Semialign<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
10
+ readonly alignWith: alignWith<F, FC>;
11
11
  }
12
12
 
13
13
  /**
@@ -17,221 +17,238 @@ export interface SemialignOps {}
17
17
 
18
18
  export const Semialign: SemialignOps = {};
19
19
 
20
- export interface align<F extends HKT> {
20
+ export interface align<F extends HKT, FC = HKT.None> {
21
21
  <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(
22
- fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
22
+ fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
23
23
  fb: HKT.Kind<
24
24
  F,
25
- HKT.Intro<"K", K, K1>,
26
- HKT.Intro<"Q", Q, Q1>,
27
- HKT.Intro<"W", W, W1>,
28
- HKT.Intro<"X", X, X1>,
29
- HKT.Intro<"I", I, I1>,
30
- HKT.Intro<"S", S, S1>,
31
- HKT.Intro<"R", R, R1>,
32
- HKT.Intro<"E", E, E1>,
25
+ FC,
26
+ HKT.Intro<F, "K", K, K1>,
27
+ HKT.Intro<F, "Q", Q, Q1>,
28
+ HKT.Intro<F, "W", W, W1>,
29
+ HKT.Intro<F, "X", X, X1>,
30
+ HKT.Intro<F, "I", I, I1>,
31
+ HKT.Intro<F, "S", S, S1>,
32
+ HKT.Intro<F, "R", R, R1>,
33
+ HKT.Intro<F, "E", E, E1>,
33
34
  B
34
35
  >,
35
36
  ): HKT.Kind<
36
37
  F,
37
- HKT.Mix<"K", [K, K1]>,
38
- HKT.Mix<"Q", [Q, Q1]>,
39
- HKT.Mix<"W", [W, W1]>,
40
- HKT.Mix<"X", [X, X1]>,
41
- HKT.Mix<"I", [I, I1]>,
42
- HKT.Mix<"S", [S, S1]>,
43
- HKT.Mix<"R", [R, R1]>,
44
- HKT.Mix<"E", [E, E1]>,
38
+ FC,
39
+ HKT.Mix<F, "K", [K, K1]>,
40
+ HKT.Mix<F, "Q", [Q, Q1]>,
41
+ HKT.Mix<F, "W", [W, W1]>,
42
+ HKT.Mix<F, "X", [X, X1]>,
43
+ HKT.Mix<F, "I", [I, I1]>,
44
+ HKT.Mix<F, "S", [S, S1]>,
45
+ HKT.Mix<F, "R", [R, R1]>,
46
+ HKT.Mix<F, "E", [E, E1]>,
45
47
  These<A, B>
46
48
  >;
47
49
  }
48
50
 
49
51
  /**
50
- * @tsplus fluent fncts.Kind align
52
+ * @tsplus static fncts.SemialignOps align
51
53
  */
52
- export function align<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(
53
- fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
54
+ export function align<F extends HKT, FC = HKT.None>(
55
+ F: Semialign<F, FC>,
56
+ ): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(
57
+ fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
54
58
  fb: HKT.Kind<
55
59
  F,
56
- HKT.Intro<"K", K, K1>,
57
- HKT.Intro<"Q", Q, Q1>,
58
- HKT.Intro<"W", W, W1>,
59
- HKT.Intro<"X", X, X1>,
60
- HKT.Intro<"I", I, I1>,
61
- HKT.Intro<"S", S, S1>,
62
- HKT.Intro<"R", R, R1>,
63
- HKT.Intro<"E", E, E1>,
60
+ FC,
61
+ HKT.Intro<F, "K", K, K1>,
62
+ HKT.Intro<F, "Q", Q, Q1>,
63
+ HKT.Intro<F, "W", W, W1>,
64
+ HKT.Intro<F, "X", X, X1>,
65
+ HKT.Intro<F, "I", I, I1>,
66
+ HKT.Intro<F, "S", S, S1>,
67
+ HKT.Intro<F, "R", R, R1>,
68
+ HKT.Intro<F, "E", E, E1>,
64
69
  B
65
70
  >,
66
- /** @tsplus auto */ F: Semialign<F>,
67
- ): HKT.Kind<
71
+ ) => HKT.Kind<
68
72
  F,
69
- HKT.Mix<"K", [K, K1]>,
70
- HKT.Mix<"Q", [Q, Q1]>,
71
- HKT.Mix<"W", [W, W1]>,
72
- HKT.Mix<"X", [X, X1]>,
73
- HKT.Mix<"I", [I, I1]>,
74
- HKT.Mix<"S", [S, S1]>,
75
- HKT.Mix<"R", [R, R1]>,
76
- HKT.Mix<"E", [E, E1]>,
73
+ FC,
74
+ HKT.Mix<F, "K", [K, K1]>,
75
+ HKT.Mix<F, "Q", [Q, Q1]>,
76
+ HKT.Mix<F, "W", [W, W1]>,
77
+ HKT.Mix<F, "X", [X, X1]>,
78
+ HKT.Mix<F, "I", [I, I1]>,
79
+ HKT.Mix<F, "S", [S, S1]>,
80
+ HKT.Mix<F, "R", [R, R1]>,
81
+ HKT.Mix<F, "E", [E, E1]>,
77
82
  These<A, B>
78
83
  > {
79
- return F.alignWith(fa, fb, identity);
84
+ return (fa, fb) => F.alignWith(fa, fb, identity);
80
85
  }
81
86
 
82
- export interface alignWith<F extends HKT> {
87
+ export interface alignWith<F extends HKT, FC = HKT.None> {
83
88
  <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(
84
- fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
89
+ fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
85
90
  fb: HKT.Kind<
86
91
  F,
87
- HKT.Intro<"K", K, K1>,
88
- HKT.Intro<"Q", Q, Q1>,
89
- HKT.Intro<"W", W, W1>,
90
- HKT.Intro<"X", X, X1>,
91
- HKT.Intro<"I", I, I1>,
92
- HKT.Intro<"S", S, S1>,
93
- HKT.Intro<"R", R, R1>,
94
- HKT.Intro<"E", E, E1>,
92
+ FC,
93
+ HKT.Intro<F, "K", K, K1>,
94
+ HKT.Intro<F, "Q", Q, Q1>,
95
+ HKT.Intro<F, "W", W, W1>,
96
+ HKT.Intro<F, "X", X, X1>,
97
+ HKT.Intro<F, "I", I, I1>,
98
+ HKT.Intro<F, "S", S, S1>,
99
+ HKT.Intro<F, "R", R, R1>,
100
+ HKT.Intro<F, "E", E, E1>,
95
101
  B
96
102
  >,
97
103
  f: (th: These<A, B>) => C,
98
104
  ): HKT.Kind<
99
105
  F,
100
- HKT.Mix<"K", [K, K1]>,
101
- HKT.Mix<"Q", [Q, Q1]>,
102
- HKT.Mix<"W", [W, W1]>,
103
- HKT.Mix<"X", [X, X1]>,
104
- HKT.Mix<"I", [I, I1]>,
105
- HKT.Mix<"S", [S, S1]>,
106
- HKT.Mix<"R", [R, R1]>,
107
- HKT.Mix<"E", [E, E1]>,
106
+ FC,
107
+ HKT.Mix<F, "K", [K, K1]>,
108
+ HKT.Mix<F, "Q", [Q, Q1]>,
109
+ HKT.Mix<F, "W", [W, W1]>,
110
+ HKT.Mix<F, "X", [X, X1]>,
111
+ HKT.Mix<F, "I", [I, I1]>,
112
+ HKT.Mix<F, "S", [S, S1]>,
113
+ HKT.Mix<F, "R", [R, R1]>,
114
+ HKT.Mix<F, "E", [E, E1]>,
108
115
  C
109
116
  >;
110
117
  }
111
118
 
112
119
  /**
113
- * @tsplus fluent fncts.Kind alignWith
120
+ * @tsplus static fncts.SemialignOps alignWith
114
121
  */
115
- export function alignWith<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(
116
- fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
122
+ export function alignWith<F extends HKT, FC = HKT.None>(
123
+ F: Semialign<F, FC>,
124
+ ): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(
125
+ fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
117
126
  fb: HKT.Kind<
118
127
  F,
119
- HKT.Intro<"K", K, K1>,
120
- HKT.Intro<"Q", Q, Q1>,
121
- HKT.Intro<"W", W, W1>,
122
- HKT.Intro<"X", X, X1>,
123
- HKT.Intro<"I", I, I1>,
124
- HKT.Intro<"S", S, S1>,
125
- HKT.Intro<"R", R, R1>,
126
- HKT.Intro<"E", E, E1>,
128
+ FC,
129
+ HKT.Intro<F, "K", K, K1>,
130
+ HKT.Intro<F, "Q", Q, Q1>,
131
+ HKT.Intro<F, "W", W, W1>,
132
+ HKT.Intro<F, "X", X, X1>,
133
+ HKT.Intro<F, "I", I, I1>,
134
+ HKT.Intro<F, "S", S, S1>,
135
+ HKT.Intro<F, "R", R, R1>,
136
+ HKT.Intro<F, "E", E, E1>,
127
137
  B
128
138
  >,
129
139
  f: (th: These<A, B>) => C,
130
- /** @tsplus auto */ F: Semialign<F>,
131
- ): HKT.Kind<
140
+ ) => HKT.Kind<
132
141
  F,
133
- HKT.Mix<"K", [K, K1]>,
134
- HKT.Mix<"Q", [Q, Q1]>,
135
- HKT.Mix<"W", [W, W1]>,
136
- HKT.Mix<"X", [X, X1]>,
137
- HKT.Mix<"I", [I, I1]>,
138
- HKT.Mix<"S", [S, S1]>,
139
- HKT.Mix<"R", [R, R1]>,
140
- HKT.Mix<"E", [E, E1]>,
142
+ FC,
143
+ HKT.Mix<F, "K", [K, K1]>,
144
+ HKT.Mix<F, "Q", [Q, Q1]>,
145
+ HKT.Mix<F, "W", [W, W1]>,
146
+ HKT.Mix<F, "X", [X, X1]>,
147
+ HKT.Mix<F, "I", [I, I1]>,
148
+ HKT.Mix<F, "S", [S, S1]>,
149
+ HKT.Mix<F, "R", [R, R1]>,
150
+ HKT.Mix<F, "E", [E, E1]>,
141
151
  C
142
152
  > {
143
- return fa.alignWith(fb, f, F);
153
+ return (fa, fb, f) => F.alignWith(fa, fb, f);
144
154
  }
145
155
 
146
- export interface alignCombine<F extends HKT> {
156
+ export interface alignCombine<F extends HKT, FC = HKT.None> {
147
157
  <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1>(
148
- self: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
158
+ self: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
149
159
  that: HKT.Kind<
150
160
  F,
151
- HKT.Intro<"K", K, K1>,
152
- HKT.Intro<"Q", Q, Q1>,
153
- HKT.Intro<"W", W, W1>,
154
- HKT.Intro<"X", X, X1>,
155
- HKT.Intro<"I", I, I1>,
156
- HKT.Intro<"S", S, S1>,
157
- HKT.Intro<"R", R, R1>,
158
- HKT.Intro<"E", E, E1>,
161
+ FC,
162
+ HKT.Intro<F, "K", K, K1>,
163
+ HKT.Intro<F, "Q", Q, Q1>,
164
+ HKT.Intro<F, "W", W, W1>,
165
+ HKT.Intro<F, "X", X, X1>,
166
+ HKT.Intro<F, "I", I, I1>,
167
+ HKT.Intro<F, "S", S, S1>,
168
+ HKT.Intro<F, "R", R, R1>,
169
+ HKT.Intro<F, "E", E, E1>,
159
170
  A
160
171
  >,
161
172
  S: Semigroup<A>,
162
173
  ): HKT.Kind<
163
174
  F,
164
- HKT.Mix<"K", [K, K1]>,
165
- HKT.Mix<"Q", [Q, Q1]>,
166
- HKT.Mix<"W", [W, W1]>,
167
- HKT.Mix<"X", [X, X1]>,
168
- HKT.Mix<"I", [I, I1]>,
169
- HKT.Mix<"S", [S, S1]>,
170
- HKT.Mix<"R", [R, R1]>,
171
- HKT.Mix<"E", [E, E1]>,
175
+ FC,
176
+ HKT.Mix<F, "K", [K, K1]>,
177
+ HKT.Mix<F, "Q", [Q, Q1]>,
178
+ HKT.Mix<F, "W", [W, W1]>,
179
+ HKT.Mix<F, "X", [X, X1]>,
180
+ HKT.Mix<F, "I", [I, I1]>,
181
+ HKT.Mix<F, "S", [S, S1]>,
182
+ HKT.Mix<F, "R", [R, R1]>,
183
+ HKT.Mix<F, "E", [E, E1]>,
172
184
  A
173
185
  >;
174
186
  }
175
187
 
176
188
  /**
177
- * @tsplus fluent fncts.Kind alignCombine
189
+ * @tsplus static fncts.SemialignOps alignCombine
178
190
  */
179
- export function alignCombine<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1>(
180
- self: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
191
+ export function alignCombine<F extends HKT, FC = HKT.None>(
192
+ F: Semialign<F, FC>,
193
+ ): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1>(
194
+ self: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
181
195
  that: HKT.Kind<
182
196
  F,
183
- HKT.Intro<"K", K, K1>,
184
- HKT.Intro<"Q", Q, Q1>,
185
- HKT.Intro<"W", W, W1>,
186
- HKT.Intro<"X", X, X1>,
187
- HKT.Intro<"I", I, I1>,
188
- HKT.Intro<"S", S, S1>,
189
- HKT.Intro<"R", R, R1>,
190
- HKT.Intro<"E", E, E1>,
197
+ FC,
198
+ HKT.Intro<F, "K", K, K1>,
199
+ HKT.Intro<F, "Q", Q, Q1>,
200
+ HKT.Intro<F, "W", W, W1>,
201
+ HKT.Intro<F, "X", X, X1>,
202
+ HKT.Intro<F, "I", I, I1>,
203
+ HKT.Intro<F, "S", S, S1>,
204
+ HKT.Intro<F, "R", R, R1>,
205
+ HKT.Intro<F, "E", E, E1>,
191
206
  A
192
207
  >,
193
- /** @tsplus auto */ F: Semialign<F>,
194
208
  /** @tsplus auto */ S: Semigroup<A>,
195
- ): HKT.Kind<
209
+ ) => HKT.Kind<
196
210
  F,
197
- HKT.Mix<"K", [K, K1]>,
198
- HKT.Mix<"Q", [Q, Q1]>,
199
- HKT.Mix<"W", [W, W1]>,
200
- HKT.Mix<"X", [X, X1]>,
201
- HKT.Mix<"I", [I, I1]>,
202
- HKT.Mix<"S", [S, S1]>,
203
- HKT.Mix<"R", [R, R1]>,
204
- HKT.Mix<"E", [E, E1]>,
211
+ FC,
212
+ HKT.Mix<F, "K", [K, K1]>,
213
+ HKT.Mix<F, "Q", [Q, Q1]>,
214
+ HKT.Mix<F, "W", [W, W1]>,
215
+ HKT.Mix<F, "X", [X, X1]>,
216
+ HKT.Mix<F, "I", [I, I1]>,
217
+ HKT.Mix<F, "S", [S, S1]>,
218
+ HKT.Mix<F, "R", [R, R1]>,
219
+ HKT.Mix<F, "E", [E, E1]>,
205
220
  A
206
221
  > {
207
- return self.alignWith(that, (th) => th.match(identity, identity, S.combine));
222
+ return (self, that, S) => F.alignWith(self, that, (th) => th.match(identity, identity, S.combine));
208
223
  }
209
224
 
210
- export interface padZip<F extends HKT> {
225
+ export interface padZip<F extends HKT, FC = HKT.None> {
211
226
  <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(
212
- fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
227
+ fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
213
228
  fb: HKT.Kind<
214
229
  F,
215
- HKT.Intro<"K", K, K1>,
216
- HKT.Intro<"Q", Q, Q1>,
217
- HKT.Intro<"W", W, W1>,
218
- HKT.Intro<"X", X, X1>,
219
- HKT.Intro<"I", I, I1>,
220
- HKT.Intro<"S", S, S1>,
221
- HKT.Intro<"R", R, R1>,
222
- HKT.Intro<"E", E, E1>,
230
+ FC,
231
+ HKT.Intro<F, "K", K, K1>,
232
+ HKT.Intro<F, "Q", Q, Q1>,
233
+ HKT.Intro<F, "W", W, W1>,
234
+ HKT.Intro<F, "X", X, X1>,
235
+ HKT.Intro<F, "I", I, I1>,
236
+ HKT.Intro<F, "S", S, S1>,
237
+ HKT.Intro<F, "R", R, R1>,
238
+ HKT.Intro<F, "E", E, E1>,
223
239
  B
224
240
  >,
225
241
  ): HKT.Kind<
226
242
  F,
227
- HKT.Mix<"K", [K, K1]>,
228
- HKT.Mix<"Q", [Q, Q1]>,
229
- HKT.Mix<"W", [W, W1]>,
230
- HKT.Mix<"X", [X, X1]>,
231
- HKT.Mix<"I", [I, I1]>,
232
- HKT.Mix<"S", [S, S1]>,
233
- HKT.Mix<"R", [R, R1]>,
234
- HKT.Mix<"E", [E, E1]>,
243
+ FC,
244
+ HKT.Mix<F, "K", [K, K1]>,
245
+ HKT.Mix<F, "Q", [Q, Q1]>,
246
+ HKT.Mix<F, "W", [W, W1]>,
247
+ HKT.Mix<F, "X", [X, X1]>,
248
+ HKT.Mix<F, "I", [I, I1]>,
249
+ HKT.Mix<F, "S", [S, S1]>,
250
+ HKT.Mix<F, "R", [R, R1]>,
251
+ HKT.Mix<F, "E", [E, E1]>,
235
252
  readonly [Maybe<A>, Maybe<B>]
236
253
  >;
237
254
  }
@@ -239,174 +256,189 @@ export interface padZip<F extends HKT> {
239
256
  /**
240
257
  * @tsplus fluent fncts.Kind padZip
241
258
  */
242
- export function padZip<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(
243
- fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
259
+ export function padZip<F extends HKT, FC = HKT.None>(
260
+ F: Semialign<F, FC>,
261
+ ): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(
262
+ fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
244
263
  fb: HKT.Kind<
245
264
  F,
246
- HKT.Intro<"K", K, K1>,
247
- HKT.Intro<"Q", Q, Q1>,
248
- HKT.Intro<"W", W, W1>,
249
- HKT.Intro<"X", X, X1>,
250
- HKT.Intro<"I", I, I1>,
251
- HKT.Intro<"S", S, S1>,
252
- HKT.Intro<"R", R, R1>,
253
- HKT.Intro<"E", E, E1>,
265
+ FC,
266
+ HKT.Intro<F, "K", K, K1>,
267
+ HKT.Intro<F, "Q", Q, Q1>,
268
+ HKT.Intro<F, "W", W, W1>,
269
+ HKT.Intro<F, "X", X, X1>,
270
+ HKT.Intro<F, "I", I, I1>,
271
+ HKT.Intro<F, "S", S, S1>,
272
+ HKT.Intro<F, "R", R, R1>,
273
+ HKT.Intro<F, "E", E, E1>,
254
274
  B
255
275
  >,
256
- /** @tsplus auto */ F: Semialign<F>,
257
- ): HKT.Kind<
276
+ ) => HKT.Kind<
258
277
  F,
259
- HKT.Mix<"K", [K, K1]>,
260
- HKT.Mix<"Q", [Q, Q1]>,
261
- HKT.Mix<"W", [W, W1]>,
262
- HKT.Mix<"X", [X, X1]>,
263
- HKT.Mix<"I", [I, I1]>,
264
- HKT.Mix<"S", [S, S1]>,
265
- HKT.Mix<"R", [R, R1]>,
266
- HKT.Mix<"E", [E, E1]>,
278
+ FC,
279
+ HKT.Mix<F, "K", [K, K1]>,
280
+ HKT.Mix<F, "Q", [Q, Q1]>,
281
+ HKT.Mix<F, "W", [W, W1]>,
282
+ HKT.Mix<F, "X", [X, X1]>,
283
+ HKT.Mix<F, "I", [I, I1]>,
284
+ HKT.Mix<F, "S", [S, S1]>,
285
+ HKT.Mix<F, "R", [R, R1]>,
286
+ HKT.Mix<F, "E", [E, E1]>,
267
287
  readonly [Maybe<A>, Maybe<B>]
268
288
  > {
269
- return fa.padZipWith(fb, identity);
289
+ return (fa, fb) => Semialign.padZipWith(F)(fa, fb, identity);
270
290
  }
271
291
 
272
- export interface padZipWith<F extends HKT> {
292
+ export interface padZipWith<F extends HKT, FC = HKT.None> {
273
293
  <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(
274
- fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
294
+ fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
275
295
  fb: HKT.Kind<
276
296
  F,
277
- HKT.Intro<"K", K, K1>,
278
- HKT.Intro<"Q", Q, Q1>,
279
- HKT.Intro<"W", W, W1>,
280
- HKT.Intro<"X", X, X1>,
281
- HKT.Intro<"I", I, I1>,
282
- HKT.Intro<"S", S, S1>,
283
- HKT.Intro<"R", R, R1>,
284
- HKT.Intro<"E", E, E1>,
297
+ FC,
298
+ HKT.Intro<F, "K", K, K1>,
299
+ HKT.Intro<F, "Q", Q, Q1>,
300
+ HKT.Intro<F, "W", W, W1>,
301
+ HKT.Intro<F, "X", X, X1>,
302
+ HKT.Intro<F, "I", I, I1>,
303
+ HKT.Intro<F, "S", S, S1>,
304
+ HKT.Intro<F, "R", R, R1>,
305
+ HKT.Intro<F, "E", E, E1>,
285
306
  B
286
307
  >,
287
308
  f: (_: readonly [Maybe<A>, Maybe<B>]) => D,
288
309
  ): HKT.Kind<
289
310
  F,
290
- HKT.Mix<"K", [K, K1]>,
291
- HKT.Mix<"Q", [Q, Q1]>,
292
- HKT.Mix<"W", [W, W1]>,
293
- HKT.Mix<"X", [X, X1]>,
294
- HKT.Mix<"I", [I, I1]>,
295
- HKT.Mix<"S", [S, S1]>,
296
- HKT.Mix<"R", [R, R1]>,
297
- HKT.Mix<"E", [E, E1]>,
311
+ FC,
312
+ HKT.Mix<F, "K", [K, K1]>,
313
+ HKT.Mix<F, "Q", [Q, Q1]>,
314
+ HKT.Mix<F, "W", [W, W1]>,
315
+ HKT.Mix<F, "X", [X, X1]>,
316
+ HKT.Mix<F, "I", [I, I1]>,
317
+ HKT.Mix<F, "S", [S, S1]>,
318
+ HKT.Mix<F, "R", [R, R1]>,
319
+ HKT.Mix<F, "E", [E, E1]>,
298
320
  D
299
321
  >;
300
322
  }
301
323
 
302
324
  /**
303
- * @tsplus fluent fncts.Kind padZipWith
325
+ * @tsplus static fncts.SemialignOps padZipWith
304
326
  */
305
- export function padZipWith<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(
306
- fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
327
+ export function padZipWith<F extends HKT, FC = HKT.None>(
328
+ F: Semialign<F, FC>,
329
+ ): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(
330
+ fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
307
331
  fb: HKT.Kind<
308
332
  F,
309
- HKT.Intro<"K", K, K1>,
310
- HKT.Intro<"Q", Q, Q1>,
311
- HKT.Intro<"W", W, W1>,
312
- HKT.Intro<"X", X, X1>,
313
- HKT.Intro<"I", I, I1>,
314
- HKT.Intro<"S", S, S1>,
315
- HKT.Intro<"R", R, R1>,
316
- HKT.Intro<"E", E, E1>,
333
+ FC,
334
+ HKT.Intro<F, "K", K, K1>,
335
+ HKT.Intro<F, "Q", Q, Q1>,
336
+ HKT.Intro<F, "W", W, W1>,
337
+ HKT.Intro<F, "X", X, X1>,
338
+ HKT.Intro<F, "I", I, I1>,
339
+ HKT.Intro<F, "S", S, S1>,
340
+ HKT.Intro<F, "R", R, R1>,
341
+ HKT.Intro<F, "E", E, E1>,
317
342
  B
318
343
  >,
319
344
  f: (_: readonly [Maybe<A>, Maybe<B>]) => D,
320
- /** @tsplus auto */ F: Semialign<F>,
321
- ): HKT.Kind<
345
+ ) => HKT.Kind<
322
346
  F,
323
- HKT.Mix<"K", [K, K1]>,
324
- HKT.Mix<"Q", [Q, Q1]>,
325
- HKT.Mix<"W", [W, W1]>,
326
- HKT.Mix<"X", [X, X1]>,
327
- HKT.Mix<"I", [I, I1]>,
328
- HKT.Mix<"S", [S, S1]>,
329
- HKT.Mix<"R", [R, R1]>,
330
- HKT.Mix<"E", [E, E1]>,
347
+ FC,
348
+ HKT.Mix<F, "K", [K, K1]>,
349
+ HKT.Mix<F, "Q", [Q, Q1]>,
350
+ HKT.Mix<F, "W", [W, W1]>,
351
+ HKT.Mix<F, "X", [X, X1]>,
352
+ HKT.Mix<F, "I", [I, I1]>,
353
+ HKT.Mix<F, "S", [S, S1]>,
354
+ HKT.Mix<F, "R", [R, R1]>,
355
+ HKT.Mix<F, "E", [E, E1]>,
331
356
  D
332
357
  > {
333
- return fa.alignWith(fb, (th) =>
334
- th.match(
335
- (a) => f([Just(a), Nothing()]),
336
- (b) => f([Nothing(), Just(b)]),
337
- (a, b) => f([Just(a), Just(b)]),
338
- ),
339
- );
358
+ return (fa, fb, f) =>
359
+ F.alignWith(fa, fb, (th) =>
360
+ th.match(
361
+ (a) => f([Just(a), Nothing()]),
362
+ (b) => f([Nothing(), Just(b)]),
363
+ (a, b) => f([Just(a), Just(b)]),
364
+ ),
365
+ );
340
366
  }
341
367
 
342
- export interface zipAll<F extends HKT> {
368
+ export interface zipAll<F extends HKT, FC = HKT.None> {
343
369
  <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(
344
- fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
370
+ fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
345
371
  fb: HKT.Kind<
346
372
  F,
347
- HKT.Intro<"K", K, K1>,
348
- HKT.Intro<"Q", Q, Q1>,
349
- HKT.Intro<"W", W, W1>,
350
- HKT.Intro<"X", X, X1>,
351
- HKT.Intro<"I", I, I1>,
352
- HKT.Intro<"S", S, S1>,
353
- HKT.Intro<"R", R, R1>,
354
- HKT.Intro<"E", E, E1>,
373
+ FC,
374
+ HKT.Intro<F, "K", K, K1>,
375
+ HKT.Intro<F, "Q", Q, Q1>,
376
+ HKT.Intro<F, "W", W, W1>,
377
+ HKT.Intro<F, "X", X, X1>,
378
+ HKT.Intro<F, "I", I, I1>,
379
+ HKT.Intro<F, "S", S, S1>,
380
+ HKT.Intro<F, "R", R, R1>,
381
+ HKT.Intro<F, "E", E, E1>,
355
382
  B
356
383
  >,
357
384
  a: A,
358
385
  b: B,
359
386
  ): HKT.Kind<
360
387
  F,
361
- HKT.Mix<"K", [K, K1]>,
362
- HKT.Mix<"Q", [Q, Q1]>,
363
- HKT.Mix<"W", [W, W1]>,
364
- HKT.Mix<"X", [X, X1]>,
365
- HKT.Mix<"I", [I, I1]>,
366
- HKT.Mix<"S", [S, S1]>,
367
- HKT.Mix<"R", [R, R1]>,
368
- HKT.Mix<"E", [E, E1]>,
388
+ FC,
389
+ HKT.Mix<F, "K", [K, K1]>,
390
+ HKT.Mix<F, "Q", [Q, Q1]>,
391
+ HKT.Mix<F, "W", [W, W1]>,
392
+ HKT.Mix<F, "X", [X, X1]>,
393
+ HKT.Mix<F, "I", [I, I1]>,
394
+ HKT.Mix<F, "S", [S, S1]>,
395
+ HKT.Mix<F, "R", [R, R1]>,
396
+ HKT.Mix<F, "E", [E, E1]>,
369
397
  readonly [A, B]
370
398
  >;
371
399
  }
372
400
 
373
401
  /**
374
- * @tsplus fluent fncts.Kind zipAll
402
+ * @tsplus static fncts.SemialignOps zipAll
375
403
  */
376
- export function zipAll<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(
377
- fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
404
+ export function zipAll<F extends HKT, FC = HKT.None>(
405
+ F: Semialign<F, FC>,
406
+ ): <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(
407
+ fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
378
408
  fb: HKT.Kind<
379
409
  F,
380
- HKT.Intro<"K", K, K1>,
381
- HKT.Intro<"Q", Q, Q1>,
382
- HKT.Intro<"W", W, W1>,
383
- HKT.Intro<"X", X, X1>,
384
- HKT.Intro<"I", I, I1>,
385
- HKT.Intro<"S", S, S1>,
386
- HKT.Intro<"R", R, R1>,
387
- HKT.Intro<"E", E, E1>,
410
+ FC,
411
+ HKT.Intro<F, "K", K, K1>,
412
+ HKT.Intro<F, "Q", Q, Q1>,
413
+ HKT.Intro<F, "W", W, W1>,
414
+ HKT.Intro<F, "X", X, X1>,
415
+ HKT.Intro<F, "I", I, I1>,
416
+ HKT.Intro<F, "S", S, S1>,
417
+ HKT.Intro<F, "R", R, R1>,
418
+ HKT.Intro<F, "E", E, E1>,
388
419
  B
389
420
  >,
390
421
  a: A,
391
422
  b: B,
392
- /** @tsplus auto */ F: Semialign<F>,
393
- ): HKT.Kind<
423
+ ) => HKT.Kind<
394
424
  F,
395
- HKT.Mix<"K", [K, K1]>,
396
- HKT.Mix<"Q", [Q, Q1]>,
397
- HKT.Mix<"W", [W, W1]>,
398
- HKT.Mix<"X", [X, X1]>,
399
- HKT.Mix<"I", [I, I1]>,
400
- HKT.Mix<"S", [S, S1]>,
401
- HKT.Mix<"R", [R, R1]>,
402
- HKT.Mix<"E", [E, E1]>,
425
+ FC,
426
+ HKT.Mix<F, "K", [K, K1]>,
427
+ HKT.Mix<F, "Q", [Q, Q1]>,
428
+ HKT.Mix<F, "W", [W, W1]>,
429
+ HKT.Mix<F, "X", [X, X1]>,
430
+ HKT.Mix<F, "I", [I, I1]>,
431
+ HKT.Mix<F, "S", [S, S1]>,
432
+ HKT.Mix<F, "R", [R, R1]>,
433
+ HKT.Mix<F, "E", [E, E1]>,
403
434
  readonly [A, B]
404
435
  > {
405
- return fa.alignWith(fb, (th) =>
406
- th.match(
407
- (x) => [x, b],
408
- (x) => [a, x],
409
- tuple,
410
- ),
411
- );
436
+ return (fa, fb, a, b) =>
437
+ F.alignWith(fa, fb, (th) =>
438
+ th.match(
439
+ (x) => [x, b],
440
+ (x) => [a, x],
441
+ tuple,
442
+ ),
443
+ );
412
444
  }