@fncts/base 0.0.39 → 0.0.41

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 (722) hide show
  1. package/_cjs/collection/AsyncIterable/api.cjs +384 -0
  2. package/_cjs/collection/AsyncIterable/api.cjs.map +1 -0
  3. package/_cjs/collection/AsyncIterable/definition.cjs +2 -0
  4. package/_cjs/collection/AsyncIterable/definition.cjs.map +1 -0
  5. package/_cjs/collection/{compat/Array.cjs → AsyncIterable.cjs} +3 -3
  6. package/_cjs/collection/AsyncIterable.cjs.map +1 -0
  7. package/_cjs/collection/Iterable/api/traverseConc.cjs +1 -2
  8. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  9. package/_cjs/collection/Iterable/api.cjs +180 -137
  10. package/_cjs/collection/Iterable/api.cjs.map +1 -1
  11. package/_cjs/collection/Iterable/constructors.cjs.map +1 -1
  12. package/_cjs/collection/compat/ArrayLike/api.cjs +1 -2
  13. package/_cjs/collection/compat/ArrayLike/api.cjs.map +1 -1
  14. package/_cjs/collection/compat/ArrayLike/definition.cjs +0 -4
  15. package/_cjs/collection/compat/Map/definition.cjs +0 -4
  16. package/_cjs/collection/compat/Set/definition.cjs +0 -4
  17. package/_cjs/collection/compat.cjs +0 -4
  18. package/_cjs/collection/immutable/Conc/api/makeBy.cjs +1 -2
  19. package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
  20. package/_cjs/collection/immutable/Conc/api/replicate.cjs +1 -2
  21. package/_cjs/collection/immutable/Conc/api/replicate.cjs.map +1 -1
  22. package/_cjs/collection/immutable/Conc/api.cjs +1 -2
  23. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  24. package/_cjs/collection/immutable/Conc/constructors.cjs +3 -4
  25. package/_cjs/collection/immutable/Conc/constructors.cjs.map +1 -1
  26. package/_cjs/collection/immutable/Conc/definition.cjs +3 -3
  27. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  28. package/_cjs/collection/immutable/Dictionary/api.cjs +1 -2
  29. package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
  30. package/_cjs/collection/immutable/Dictionary/definition.cjs +1 -2
  31. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  32. package/_cjs/collection/immutable/HashMap/api.cjs +1 -2
  33. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  34. package/_cjs/collection/immutable/HashMap/definition.cjs +1 -2
  35. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  36. package/_cjs/collection/immutable/HashMap/internal.cjs +1 -2
  37. package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
  38. package/_cjs/collection/immutable/HashSet/api.cjs +1 -2
  39. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  40. package/_cjs/collection/immutable/HashSet/definition.cjs +1 -2
  41. package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
  42. package/_cjs/collection/immutable/List/api/foldLeft.cjs +1 -2
  43. package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
  44. package/_cjs/collection/immutable/List/api/unsafeTail.cjs +1 -2
  45. package/_cjs/collection/immutable/List/api/unsafeTail.cjs.map +1 -1
  46. package/_cjs/collection/immutable/List/api.cjs +3 -4
  47. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  48. package/_cjs/collection/immutable/List/constructors.cjs +1 -2
  49. package/_cjs/collection/immutable/List/constructors.cjs.map +1 -1
  50. package/_cjs/collection/immutable/List/definition.cjs +1 -2
  51. package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
  52. package/_cjs/collection/immutable/Queue/api.cjs +1 -2
  53. package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
  54. package/_cjs/collection/immutable/Queue/constructors.cjs +1 -2
  55. package/_cjs/collection/immutable/Queue/constructors.cjs.map +1 -1
  56. package/_cjs/collection/immutable/Queue/definition.cjs +1 -2
  57. package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
  58. package/_cjs/collection/immutable/Queue/guards.cjs +1 -2
  59. package/_cjs/collection/immutable/Queue/guards.cjs.map +1 -1
  60. package/_cjs/collection/immutable/ReadonlyArray/api/chunksOf.cjs +18 -0
  61. package/_cjs/collection/immutable/ReadonlyArray/api/chunksOf.cjs.map +1 -0
  62. package/_cjs/collection/immutable/ReadonlyArray/api/splitAt.cjs +15 -0
  63. package/_cjs/collection/immutable/ReadonlyArray/api/splitAt.cjs.map +1 -0
  64. package/_cjs/collection/immutable/ReadonlyArray/api/splitWhere.cjs +26 -0
  65. package/_cjs/collection/immutable/ReadonlyArray/api/splitWhere.cjs.map +1 -0
  66. package/_cjs/collection/immutable/{ImmutableArray → ReadonlyArray}/api.cjs +562 -538
  67. package/_cjs/collection/immutable/ReadonlyArray/api.cjs.map +1 -0
  68. package/_cjs/collection/immutable/ReadonlyArray/constructors.cjs +55 -0
  69. package/_cjs/collection/immutable/ReadonlyArray/constructors.cjs.map +1 -0
  70. package/_cjs/collection/immutable/ReadonlyArray/definition.cjs.map +1 -0
  71. package/_cjs/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.cjs +5 -7
  72. package/_cjs/collection/immutable/ReadonlyArray/instances.cjs.map +1 -0
  73. package/_cjs/collection/immutable/{ImmutableArray.cjs → ReadonlyArray.cjs} +8 -19
  74. package/_cjs/collection/immutable/ReadonlyArray.cjs.map +1 -0
  75. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/api.cjs +472 -0
  76. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/api.cjs.map +1 -0
  77. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/constructors.cjs +79 -0
  78. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/constructors.cjs.map +1 -0
  79. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/definition.cjs +2 -0
  80. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/definition.cjs.map +1 -0
  81. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/destructors.cjs +49 -0
  82. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/destructors.cjs.map +1 -0
  83. package/_cjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.cjs +3 -4
  84. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/instances.cjs.map +1 -0
  85. package/_cjs/collection/immutable/{ImmutableNonEmptyArray.cjs → ReadonlyNonEmptyArray.cjs} +6 -6
  86. package/_cjs/collection/immutable/ReadonlyNonEmptyArray.cjs.map +1 -0
  87. package/_cjs/collection/immutable/RoseTree/api.cjs +1 -2
  88. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
  89. package/_cjs/collection/immutable/RoseTree/definition.cjs +1 -2
  90. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  91. package/_cjs/collection/immutable/SortedMap/api.cjs +1 -2
  92. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  93. package/_cjs/collection/immutable/SortedMap/iterator.cjs +1 -2
  94. package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
  95. package/_cjs/collection/immutable/Vector/api.cjs +229 -230
  96. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  97. package/_cjs/collection/immutable/Vector/definition.cjs +1 -2
  98. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  99. package/_cjs/collection/immutable.cjs +0 -4
  100. package/_cjs/collection/internal.cjs +0 -4
  101. package/_cjs/collection/mutable/ArrayDeque.cjs +1 -2
  102. package/_cjs/collection/mutable/ArrayDeque.cjs.map +1 -1
  103. package/_cjs/collection/mutable/HashMap.cjs +1 -2
  104. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  105. package/_cjs/collection/mutable/HashSet.cjs +1 -2
  106. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  107. package/_cjs/collection/mutable/ListBuffer.cjs +1 -2
  108. package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
  109. package/_cjs/collection/mutable.cjs +0 -4
  110. package/_cjs/collection/weak/IterableWeakMap.cjs +1 -2
  111. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  112. package/_cjs/collection/weak.cjs +0 -4
  113. package/_cjs/collection.cjs +0 -4
  114. package/_cjs/control/Eval/api.cjs +89 -41
  115. package/_cjs/control/Eval/api.cjs.map +1 -1
  116. package/_cjs/control/Eval/constructors.cjs +5 -1
  117. package/_cjs/control/Eval/constructors.cjs.map +1 -1
  118. package/_cjs/control/Eval/instance.cjs +1 -2
  119. package/_cjs/control/Eval/instance.cjs.map +1 -1
  120. package/_cjs/control/Eval/run.cjs +1 -2
  121. package/_cjs/control/Eval/run.cjs.map +1 -1
  122. package/_cjs/control/Pure/api.cjs +1 -2
  123. package/_cjs/control/Pure/api.cjs.map +1 -1
  124. package/_cjs/control/Pure/definition.cjs +1 -2
  125. package/_cjs/control/Pure/definition.cjs.map +1 -1
  126. package/_cjs/control/Pure/instances.cjs +1 -2
  127. package/_cjs/control/Pure/instances.cjs.map +1 -1
  128. package/_cjs/control/Pure/runtime.cjs +15 -10
  129. package/_cjs/control/Pure/runtime.cjs.map +1 -1
  130. package/_cjs/control.cjs +0 -4
  131. package/_cjs/data/Byte.cjs +0 -4
  132. package/_cjs/data/CaseClass.cjs +11 -14
  133. package/_cjs/data/CaseClass.cjs.map +1 -1
  134. package/_cjs/data/Cause/api/fold.cjs +33 -34
  135. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  136. package/_cjs/data/Cause/api/isEmpty.cjs +1 -2
  137. package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
  138. package/_cjs/data/Cause/api/linearize.cjs +1 -2
  139. package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
  140. package/_cjs/data/Cause/api/prettyPrint.cjs +1 -2
  141. package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
  142. package/_cjs/data/Cause/api/unified.cjs +1 -2
  143. package/_cjs/data/Cause/api/unified.cjs.map +1 -1
  144. package/_cjs/data/Cause/api.cjs +1 -2
  145. package/_cjs/data/Cause/api.cjs.map +1 -1
  146. package/_cjs/data/Cause/definition.cjs +1 -2
  147. package/_cjs/data/Cause/definition.cjs.map +1 -1
  148. package/_cjs/data/Const/api.cjs +7 -7
  149. package/_cjs/data/Const/api.cjs.map +1 -1
  150. package/_cjs/data/Const/instances.cjs +12 -13
  151. package/_cjs/data/Const/instances.cjs.map +1 -1
  152. package/_cjs/data/Data.cjs +1 -2
  153. package/_cjs/data/Data.cjs.map +1 -1
  154. package/_cjs/data/Date/definition.cjs +0 -4
  155. package/_cjs/data/Datum/api.cjs +110 -113
  156. package/_cjs/data/Datum/api.cjs.map +1 -1
  157. package/_cjs/data/Datum/definition.cjs +1 -2
  158. package/_cjs/data/Datum/definition.cjs.map +1 -1
  159. package/_cjs/data/Datum/instances.cjs +1 -2
  160. package/_cjs/data/Datum/instances.cjs.map +1 -1
  161. package/_cjs/data/Datum.cjs +39 -0
  162. package/_cjs/data/Datum.cjs.map +1 -0
  163. package/_cjs/data/DatumEither/api.cjs +56 -57
  164. package/_cjs/data/DatumEither/api.cjs.map +1 -1
  165. package/_cjs/data/Duration/api.cjs +1 -2
  166. package/_cjs/data/Duration/api.cjs.map +1 -1
  167. package/_cjs/data/Duration/definition.cjs +1 -2
  168. package/_cjs/data/Duration/definition.cjs.map +1 -1
  169. package/_cjs/data/Either/api/align.cjs +1 -2
  170. package/_cjs/data/Either/api/align.cjs.map +1 -1
  171. package/_cjs/data/Either/api/alignWith.cjs +1 -2
  172. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  173. package/_cjs/data/Either/api.cjs +53 -55
  174. package/_cjs/data/Either/api.cjs.map +1 -1
  175. package/_cjs/data/Either/constructors.cjs +21 -22
  176. package/_cjs/data/Either/constructors.cjs.map +1 -1
  177. package/_cjs/data/Either/definition.cjs +1 -2
  178. package/_cjs/data/Either/definition.cjs.map +1 -1
  179. package/_cjs/data/Either/instances.cjs +1 -2
  180. package/_cjs/data/Either/instances.cjs.map +1 -1
  181. package/_cjs/data/EitherT/api.cjs +28 -29
  182. package/_cjs/data/EitherT/api.cjs.map +1 -1
  183. package/_cjs/data/Environment/api.cjs +1 -2
  184. package/_cjs/data/Environment/api.cjs.map +1 -1
  185. package/_cjs/data/Environment/definition.cjs +1 -2
  186. package/_cjs/data/Environment/definition.cjs.map +1 -1
  187. package/_cjs/data/EnvironmentPatch.cjs +2 -3
  188. package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
  189. package/_cjs/data/Eq/api.cjs +189 -5
  190. package/_cjs/data/Eq/api.cjs.map +1 -1
  191. package/_cjs/data/Eq/derivations.cjs +10 -21
  192. package/_cjs/data/Eq/derivations.cjs.map +1 -1
  193. package/_cjs/data/Equatable/api.cjs +1 -2
  194. package/_cjs/data/Equatable/api.cjs.map +1 -1
  195. package/_cjs/data/Equatable/definition.cjs +1 -2
  196. package/_cjs/data/Equatable/definition.cjs.map +1 -1
  197. package/_cjs/data/Exit/api.cjs +90 -80
  198. package/_cjs/data/Exit/api.cjs.map +1 -1
  199. package/_cjs/data/Exit/constructors.cjs +1 -2
  200. package/_cjs/data/Exit/constructors.cjs.map +1 -1
  201. package/_cjs/data/Exit/definition.cjs +1 -2
  202. package/_cjs/data/Exit/definition.cjs.map +1 -1
  203. package/_cjs/data/FiberId/api.cjs +1 -2
  204. package/_cjs/data/FiberId/api.cjs.map +1 -1
  205. package/_cjs/data/FiberId/definition.cjs +1 -2
  206. package/_cjs/data/FiberId/definition.cjs.map +1 -1
  207. package/_cjs/data/Guard/api.cjs +13 -17
  208. package/_cjs/data/Guard/api.cjs.map +1 -1
  209. package/_cjs/data/HashEq.cjs +1 -2
  210. package/_cjs/data/HashEq.cjs.map +1 -1
  211. package/_cjs/data/Hashable/definition.cjs +1 -2
  212. package/_cjs/data/Hashable/definition.cjs.map +1 -1
  213. package/_cjs/data/Hashable/hash.cjs +1 -2
  214. package/_cjs/data/Hashable/hash.cjs.map +1 -1
  215. package/_cjs/data/Identity/api.cjs +1 -2
  216. package/_cjs/data/Identity/api.cjs.map +1 -1
  217. package/_cjs/data/Identity/definition.cjs +1 -2
  218. package/_cjs/data/Identity/definition.cjs.map +1 -1
  219. package/_cjs/data/Identity/instances.cjs +1 -2
  220. package/_cjs/data/Identity/instances.cjs.map +1 -1
  221. package/_cjs/data/Interval.cjs +1 -2
  222. package/_cjs/data/Interval.cjs.map +1 -1
  223. package/_cjs/data/Intervals.cjs +1 -2
  224. package/_cjs/data/Intervals.cjs.map +1 -1
  225. package/_cjs/data/Maybe/api.cjs +73 -60
  226. package/_cjs/data/Maybe/api.cjs.map +1 -1
  227. package/_cjs/data/Maybe/constructors.cjs +37 -38
  228. package/_cjs/data/Maybe/constructors.cjs.map +1 -1
  229. package/_cjs/data/Maybe/definition.cjs +1 -2
  230. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  231. package/_cjs/data/Maybe/instances.cjs +1 -2
  232. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  233. package/_cjs/data/Newtype.cjs +1 -2
  234. package/_cjs/data/Newtype.cjs.map +1 -1
  235. package/_cjs/data/Ord/api.cjs +1 -2
  236. package/_cjs/data/Ord/api.cjs.map +1 -1
  237. package/_cjs/data/Ord/definition.cjs +1 -2
  238. package/_cjs/data/Ord/definition.cjs.map +1 -1
  239. package/_cjs/data/Ord/instances.cjs +1 -2
  240. package/_cjs/data/Ord/instances.cjs.map +1 -1
  241. package/_cjs/data/Predicate/definition.cjs +0 -4
  242. package/_cjs/data/Predicate/match.cjs +0 -4
  243. package/_cjs/data/Refinement/definition.cjs +0 -4
  244. package/_cjs/data/Showable/definition.cjs +1 -2
  245. package/_cjs/data/Showable/definition.cjs.map +1 -1
  246. package/_cjs/data/Showable/show.cjs +1 -2
  247. package/_cjs/data/Showable/show.cjs.map +1 -1
  248. package/_cjs/data/Showable/styles.cjs +1 -2
  249. package/_cjs/data/Showable/styles.cjs.map +1 -1
  250. package/_cjs/data/Showable/util.cjs +1 -2
  251. package/_cjs/data/Showable/util.cjs.map +1 -1
  252. package/_cjs/data/Struct/api.cjs +5 -7
  253. package/_cjs/data/Struct/api.cjs.map +1 -1
  254. package/_cjs/data/Struct/definition.cjs +1 -2
  255. package/_cjs/data/Struct/definition.cjs.map +1 -1
  256. package/_cjs/data/Tag/constructors.cjs +1 -2
  257. package/_cjs/data/Tag/constructors.cjs.map +1 -1
  258. package/_cjs/data/Tag/definition.cjs +1 -2
  259. package/_cjs/data/Tag/definition.cjs.map +1 -1
  260. package/_cjs/data/These/api.cjs +86 -87
  261. package/_cjs/data/These/api.cjs.map +1 -1
  262. package/_cjs/data/These/constructors.cjs +1 -2
  263. package/_cjs/data/These/constructors.cjs.map +1 -1
  264. package/_cjs/data/These/definition.cjs +1 -2
  265. package/_cjs/data/These/definition.cjs.map +1 -1
  266. package/_cjs/data/These/destructors.cjs +1 -2
  267. package/_cjs/data/These/destructors.cjs.map +1 -1
  268. package/_cjs/data/These/instances.cjs +1 -2
  269. package/_cjs/data/These/instances.cjs.map +1 -1
  270. package/_cjs/data/Trace/api.cjs +1 -2
  271. package/_cjs/data/Trace/api.cjs.map +1 -1
  272. package/_cjs/data/Trace/constructors.cjs +1 -2
  273. package/_cjs/data/Trace/constructors.cjs.map +1 -1
  274. package/_cjs/data/Zipped.cjs +1 -2
  275. package/_cjs/data/Zipped.cjs.map +1 -1
  276. package/_cjs/data/bigint/definition.cjs +0 -4
  277. package/_cjs/data/bigint/instances.cjs +1 -2
  278. package/_cjs/data/bigint/instances.cjs.map +1 -1
  279. package/_cjs/data/boolean/definition.cjs +0 -4
  280. package/_cjs/data/boolean/instances.cjs +1 -2
  281. package/_cjs/data/boolean/instances.cjs.map +1 -1
  282. package/_cjs/data/exceptions/IOError.cjs +1 -2
  283. package/_cjs/data/exceptions/IOError.cjs.map +1 -1
  284. package/_cjs/data/exceptions/InterruptedException.cjs +1 -2
  285. package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
  286. package/_cjs/data/exceptions/RuntimeError.cjs +0 -4
  287. package/_cjs/data/function/definition.cjs +0 -4
  288. package/_cjs/data/number/definition.cjs +0 -4
  289. package/_cjs/data/number/instances.cjs +1 -2
  290. package/_cjs/data/number/instances.cjs.map +1 -1
  291. package/_cjs/data/object/definition.cjs +0 -4
  292. package/_cjs/data/object/instances.cjs +1 -2
  293. package/_cjs/data/object/instances.cjs.map +1 -1
  294. package/_cjs/data/string/api.cjs +1 -2
  295. package/_cjs/data/string/api.cjs.map +1 -1
  296. package/_cjs/data/string/definition.cjs +0 -4
  297. package/_cjs/data/string/instances.cjs +1 -2
  298. package/_cjs/data/string/instances.cjs.map +1 -1
  299. package/_cjs/data.cjs +0 -4
  300. package/_cjs/global.cjs +0 -4
  301. package/_cjs/index.cjs +0 -4
  302. package/_cjs/internal/Stack.cjs +7 -2
  303. package/_cjs/internal/Stack.cjs.map +1 -1
  304. package/_cjs/json.cjs +0 -4
  305. package/_cjs/optics/At/api.cjs +1 -2
  306. package/_cjs/optics/At/api.cjs.map +1 -1
  307. package/_cjs/optics/At/definition.cjs +1 -2
  308. package/_cjs/optics/At/definition.cjs.map +1 -1
  309. package/_cjs/optics/Index/api.cjs +3 -4
  310. package/_cjs/optics/Index/api.cjs.map +1 -1
  311. package/_cjs/optics/Iso/api.cjs +1 -2
  312. package/_cjs/optics/Iso/api.cjs.map +1 -1
  313. package/_cjs/optics/Iso/definition.cjs +1 -2
  314. package/_cjs/optics/Iso/definition.cjs.map +1 -1
  315. package/_cjs/optics/Lens/api.cjs +2 -3
  316. package/_cjs/optics/Lens/api.cjs.map +1 -1
  317. package/_cjs/optics/Lens/definition.cjs +1 -2
  318. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  319. package/_cjs/optics/Optional/api/compose.cjs +1 -2
  320. package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
  321. package/_cjs/optics/Optional/api/focus.cjs +1 -2
  322. package/_cjs/optics/Optional/api/focus.cjs.map +1 -1
  323. package/_cjs/optics/Optional/api.cjs +1 -2
  324. package/_cjs/optics/Optional/api.cjs.map +1 -1
  325. package/_cjs/optics/Optional/definition.cjs +1 -2
  326. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  327. package/_cjs/optics/Prism/api/compose.cjs +1 -2
  328. package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
  329. package/_cjs/optics/Prism/api/focus.cjs +1 -2
  330. package/_cjs/optics/Prism/api/focus.cjs.map +1 -1
  331. package/_cjs/optics/Prism/api/fromNullable.cjs +1 -2
  332. package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
  333. package/_cjs/optics/Prism/api/just.cjs +1 -2
  334. package/_cjs/optics/Prism/api/just.cjs.map +1 -1
  335. package/_cjs/optics/Prism/definition.cjs +1 -2
  336. package/_cjs/optics/Prism/definition.cjs.map +1 -1
  337. package/_cjs/optics/Traversal/api/compose.cjs +1 -2
  338. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  339. package/_cjs/optics/Traversal/api/focus.cjs +1 -2
  340. package/_cjs/optics/Traversal/api/focus.cjs.map +1 -1
  341. package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -2
  342. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  343. package/_cjs/optics/Traversal/definition.cjs +1 -2
  344. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  345. package/_cjs/optics.cjs +0 -4
  346. package/_cjs/typeclass/ApplicativeExcept.cjs +1 -2
  347. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  348. package/_cjs/typeclass/Apply.cjs +1 -14
  349. package/_cjs/typeclass/Apply.cjs.map +1 -1
  350. package/_cjs/typeclass/Chain.cjs +1 -2
  351. package/_cjs/typeclass/Chain.cjs.map +1 -1
  352. package/_cjs/typeclass/Fail.cjs +0 -4
  353. package/_cjs/typeclass/MonadExcept.cjs +1 -2
  354. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  355. package/_cjs/typeclass/Monoid.cjs +1 -2
  356. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  357. package/_cjs/typeclass/Nil.cjs +0 -4
  358. package/_cjs/typeclass/Semialign.cjs +1 -2
  359. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  360. package/_cjs/typeclass/Semigroup/api.cjs +1 -2
  361. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  362. package/_cjs/typeclass/Semigroup/derivations.cjs +1 -2
  363. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
  364. package/_cjs/typeclass/Witherable.cjs +1 -2
  365. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  366. package/_cjs/typeclass/WitherableWithIndex.cjs +1 -2
  367. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  368. package/_cjs/typeclass/builtin/Symbol.cjs +0 -4
  369. package/_cjs/types/extractions.cjs +0 -4
  370. package/_cjs/types/utility.cjs +0 -4
  371. package/_cjs/util/AnsiFormat.cjs +1 -2
  372. package/_cjs/util/AnsiFormat.cjs.map +1 -1
  373. package/_cjs/util/assert.cjs +1 -1
  374. package/_cjs/util/assert.cjs.map +1 -1
  375. package/_cjs/util/pattern.cjs.map +1 -1
  376. package/_cjs/util/rand/distribution/Distribution.cjs +0 -4
  377. package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
  378. package/_cjs/util.cjs +0 -4
  379. package/_mjs/collection/AsyncIterable/api.mjs +366 -0
  380. package/_mjs/collection/AsyncIterable/api.mjs.map +1 -0
  381. package/_mjs/collection/AsyncIterable/definition.mjs +2 -0
  382. package/_mjs/collection/AsyncIterable/definition.mjs.map +1 -0
  383. package/_mjs/collection/AsyncIterable.mjs +4 -0
  384. package/_mjs/collection/AsyncIterable.mjs.map +1 -0
  385. package/_mjs/collection/Iterable/api.mjs +175 -134
  386. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  387. package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
  388. package/_mjs/collection/compat/ArrayLike/definition.mjs +1 -1
  389. package/_mjs/collection/compat/Map/definition.mjs +1 -1
  390. package/_mjs/collection/compat/Set/definition.mjs +1 -1
  391. package/_mjs/collection/compat.mjs +1 -1
  392. package/_mjs/collection/immutable/Conc/constructors.mjs +2 -2
  393. package/_mjs/collection/immutable/Conc/constructors.mjs.map +1 -1
  394. package/_mjs/collection/immutable/Conc/definition.mjs +1 -1
  395. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  396. package/_mjs/collection/immutable/List/api.mjs +2 -2
  397. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  398. package/_mjs/collection/immutable/{ImmutableArray → ReadonlyArray}/api/chunksOf.mjs +3 -3
  399. package/_mjs/collection/immutable/ReadonlyArray/api/chunksOf.mjs.map +1 -0
  400. package/_mjs/collection/immutable/ReadonlyArray/api/splitAt.mjs +9 -0
  401. package/_mjs/collection/immutable/ReadonlyArray/api/splitAt.mjs.map +1 -0
  402. package/_mjs/collection/immutable/ReadonlyArray/api/splitWhere.mjs +19 -0
  403. package/_mjs/collection/immutable/ReadonlyArray/api/splitWhere.mjs.map +1 -0
  404. package/_mjs/collection/immutable/ReadonlyArray/api.mjs +1302 -0
  405. package/_mjs/collection/immutable/ReadonlyArray/api.mjs.map +1 -0
  406. package/_mjs/collection/immutable/ReadonlyArray/constructors.mjs +44 -0
  407. package/_mjs/collection/immutable/ReadonlyArray/constructors.mjs.map +1 -0
  408. package/_mjs/collection/immutable/ReadonlyArray/definition.mjs.map +1 -0
  409. package/_mjs/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.mjs +4 -5
  410. package/_mjs/collection/immutable/ReadonlyArray/instances.mjs.map +1 -0
  411. package/_mjs/collection/immutable/ReadonlyArray.mjs +11 -0
  412. package/_mjs/collection/immutable/ReadonlyArray.mjs.map +1 -0
  413. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/api.mjs +433 -0
  414. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/api.mjs.map +1 -0
  415. package/_mjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/constructors.mjs +16 -15
  416. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/constructors.mjs.map +1 -0
  417. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/definition.mjs +2 -0
  418. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/definition.mjs.map +1 -0
  419. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/destructors.mjs +41 -0
  420. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/destructors.mjs.map +1 -0
  421. package/_mjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.mjs +2 -2
  422. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/instances.mjs.map +1 -0
  423. package/_mjs/collection/immutable/ReadonlyNonEmptyArray.mjs +7 -0
  424. package/_mjs/collection/immutable/ReadonlyNonEmptyArray.mjs.map +1 -0
  425. package/_mjs/collection/immutable/Vector/api.mjs +224 -224
  426. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  427. package/_mjs/collection/immutable.mjs +1 -1
  428. package/_mjs/collection/internal.mjs +1 -1
  429. package/_mjs/collection/mutable.mjs +1 -1
  430. package/_mjs/collection/weak.mjs +1 -1
  431. package/_mjs/collection.mjs +1 -1
  432. package/_mjs/control/Eval/api.mjs +83 -15
  433. package/_mjs/control/Eval/api.mjs.map +1 -1
  434. package/_mjs/control/Eval/constructors.mjs +4 -0
  435. package/_mjs/control/Eval/constructors.mjs.map +1 -1
  436. package/_mjs/control/Pure/runtime.mjs +14 -8
  437. package/_mjs/control/Pure/runtime.mjs.map +1 -1
  438. package/_mjs/control.mjs +1 -1
  439. package/_mjs/data/Byte.mjs +1 -1
  440. package/_mjs/data/CaseClass.mjs +10 -12
  441. package/_mjs/data/CaseClass.mjs.map +1 -1
  442. package/_mjs/data/Cause/api/fold.mjs +32 -32
  443. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  444. package/_mjs/data/Const/api.mjs +7 -7
  445. package/_mjs/data/Const/api.mjs.map +1 -1
  446. package/_mjs/data/Const/instances.mjs +11 -11
  447. package/_mjs/data/Const/instances.mjs.map +1 -1
  448. package/_mjs/data/Date/definition.mjs +1 -1
  449. package/_mjs/data/Datum/api.mjs +107 -108
  450. package/_mjs/data/Datum/api.mjs.map +1 -1
  451. package/_mjs/data/Datum.mjs +5 -0
  452. package/_mjs/data/Datum.mjs.map +1 -0
  453. package/_mjs/data/DatumEither/api.mjs +53 -53
  454. package/_mjs/data/DatumEither/api.mjs.map +1 -1
  455. package/_mjs/data/Either/api.mjs +42 -42
  456. package/_mjs/data/Either/api.mjs.map +1 -1
  457. package/_mjs/data/Either/constructors.mjs +20 -20
  458. package/_mjs/data/Either/constructors.mjs.map +1 -1
  459. package/_mjs/data/EitherT/api.mjs +27 -27
  460. package/_mjs/data/EitherT/api.mjs.map +1 -1
  461. package/_mjs/data/Environment/api.mjs.map +1 -1
  462. package/_mjs/data/EnvironmentPatch.mjs +1 -1
  463. package/_mjs/data/Eq/api.mjs +175 -3
  464. package/_mjs/data/Eq/api.mjs.map +1 -1
  465. package/_mjs/data/Eq/derivations.mjs +8 -19
  466. package/_mjs/data/Eq/derivations.mjs.map +1 -1
  467. package/_mjs/data/Exit/api.mjs +88 -78
  468. package/_mjs/data/Exit/api.mjs.map +1 -1
  469. package/_mjs/data/Guard/api.mjs +12 -15
  470. package/_mjs/data/Guard/api.mjs.map +1 -1
  471. package/_mjs/data/Maybe/api.mjs +71 -58
  472. package/_mjs/data/Maybe/api.mjs.map +1 -1
  473. package/_mjs/data/Maybe/constructors.mjs +36 -36
  474. package/_mjs/data/Maybe/constructors.mjs.map +1 -1
  475. package/_mjs/data/Predicate/definition.mjs +1 -1
  476. package/_mjs/data/Predicate/match.mjs +1 -1
  477. package/_mjs/data/Refinement/definition.mjs +1 -1
  478. package/_mjs/data/Showable/util.mjs.map +1 -1
  479. package/_mjs/data/Struct/api.mjs +4 -5
  480. package/_mjs/data/Struct/api.mjs.map +1 -1
  481. package/_mjs/data/These/api.mjs +85 -85
  482. package/_mjs/data/These/api.mjs.map +1 -1
  483. package/_mjs/data/bigint/definition.mjs +1 -1
  484. package/_mjs/data/boolean/definition.mjs +1 -1
  485. package/_mjs/data/exceptions/RuntimeError.mjs +1 -1
  486. package/_mjs/data/function/definition.mjs +1 -1
  487. package/_mjs/data/number/definition.mjs +1 -1
  488. package/_mjs/data/object/definition.mjs +1 -1
  489. package/_mjs/data/string/definition.mjs +1 -1
  490. package/_mjs/data.mjs +1 -1
  491. package/_mjs/global.mjs +1 -1
  492. package/_mjs/index.mjs +1 -1
  493. package/_mjs/internal/Stack.mjs +7 -2
  494. package/_mjs/internal/Stack.mjs.map +1 -1
  495. package/_mjs/json.mjs +1 -1
  496. package/_mjs/optics/Index/api.mjs +2 -2
  497. package/_mjs/optics/Index/api.mjs.map +1 -1
  498. package/_mjs/optics/Lens/api.mjs +1 -1
  499. package/_mjs/optics.mjs +1 -1
  500. package/_mjs/typeclass/Apply.mjs +0 -12
  501. package/_mjs/typeclass/Apply.mjs.map +1 -1
  502. package/_mjs/typeclass/Fail.mjs +1 -1
  503. package/_mjs/typeclass/Nil.mjs +1 -1
  504. package/_mjs/typeclass/builtin/Symbol.mjs +1 -1
  505. package/_mjs/types/extractions.mjs +1 -1
  506. package/_mjs/types/utility.mjs +1 -1
  507. package/_mjs/util/assert.mjs +1 -1
  508. package/_mjs/util/assert.mjs.map +1 -1
  509. package/_mjs/util/pattern.mjs.map +1 -1
  510. package/_mjs/util/rand/distribution/Distribution.mjs +1 -1
  511. package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
  512. package/_mjs/util.mjs +1 -1
  513. package/_src/collection/AsyncIterable/api.ts +369 -0
  514. package/_src/collection/AsyncIterable/definition.ts +7 -0
  515. package/_src/collection/AsyncIterable.ts +4 -0
  516. package/_src/collection/Iterable/api.ts +215 -162
  517. package/_src/collection/Iterable/constructors.ts +0 -2
  518. package/_src/collection/compat/ArrayLike/definition.ts +2 -2
  519. package/_src/collection/compat.ts +0 -1
  520. package/_src/collection/immutable/Conc/constructors.ts +1 -2
  521. package/_src/collection/immutable/Conc/definition.ts +7 -6
  522. package/_src/collection/immutable/List/api.ts +2 -2
  523. package/_src/collection/immutable/ReadonlyArray/api/chunksOf.ts +8 -0
  524. package/_src/collection/immutable/ReadonlyArray/api/splitAt.ts +8 -0
  525. package/_src/collection/immutable/{ImmutableArray → ReadonlyArray}/api/splitWhere.ts +3 -3
  526. package/_src/collection/immutable/ReadonlyArray/api.ts +1536 -0
  527. package/_src/collection/immutable/ReadonlyArray/constructors.ts +47 -0
  528. package/_src/collection/{compat/Array → immutable/ReadonlyArray}/definition.ts +8 -0
  529. package/_src/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.ts +22 -22
  530. package/_src/collection/immutable/ReadonlyArray.ts +12 -0
  531. package/_src/collection/immutable/ReadonlyNonEmptyArray/api.ts +481 -0
  532. package/_src/collection/immutable/ReadonlyNonEmptyArray/constructors.ts +76 -0
  533. package/_src/collection/immutable/ReadonlyNonEmptyArray/definition.ts +22 -0
  534. package/_src/collection/immutable/ReadonlyNonEmptyArray/destructors.ts +41 -0
  535. package/_src/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.ts +13 -13
  536. package/_src/collection/immutable/ReadonlyNonEmptyArray.ts +7 -0
  537. package/_src/collection/immutable/Vector/api.ts +310 -309
  538. package/_src/collection/immutable.ts +11 -11
  539. package/_src/collection.ts +6 -5
  540. package/_src/control/Eval/api.ts +109 -16
  541. package/_src/control/Eval/constructors.ts +5 -0
  542. package/_src/control/Pure/runtime.ts +8 -2
  543. package/_src/data/CaseClass.ts +5 -5
  544. package/_src/data/Cause/api/fold.ts +2 -2
  545. package/_src/data/Const/api.ts +8 -8
  546. package/_src/data/Const/instances.ts +10 -10
  547. package/_src/data/Datum/api.ts +113 -113
  548. package/_src/data/Datum.ts +5 -0
  549. package/_src/data/DatumEither/api.ts +41 -43
  550. package/_src/data/Either/api.ts +47 -47
  551. package/_src/data/Either/constructors.ts +14 -16
  552. package/_src/data/EitherT/api.ts +111 -110
  553. package/_src/data/Environment/api.ts +6 -3
  554. package/_src/data/Eq/api.ts +193 -4
  555. package/_src/data/Eq/derivations.ts +12 -19
  556. package/_src/data/Exit/api.ts +89 -77
  557. package/_src/data/Guard/api.ts +11 -11
  558. package/_src/data/Maybe/api.ts +82 -73
  559. package/_src/data/Maybe/constructors.ts +34 -36
  560. package/_src/data/Showable/util.ts +1 -1
  561. package/_src/data/Struct/api.ts +1 -1
  562. package/_src/data/These/api.ts +93 -92
  563. package/_src/data.ts +1 -0
  564. package/_src/global.ts +7 -12
  565. package/_src/internal/Stack.ts +6 -2
  566. package/_src/optics/Index/api.ts +1 -1
  567. package/_src/typeclass/Apply.ts +6 -18
  568. package/_src/util/assert.ts +2 -2
  569. package/_src/util/pattern.ts +8 -90
  570. package/_src/util/rand/generator/RandomGenerator.ts +1 -0
  571. package/collection/AsyncIterable/api.d.ts +71 -0
  572. package/collection/AsyncIterable/definition.d.ts +9 -0
  573. package/collection/AsyncIterable.d.ts +2 -0
  574. package/collection/Iterable/api/traverseConc.d.ts +1 -1
  575. package/collection/Iterable/api.d.ts +40 -25
  576. package/collection/compat/ArrayLike/definition.d.ts +2 -2
  577. package/collection/compat.d.ts +0 -1
  578. package/collection/immutable/Conc/definition.d.ts +1 -1
  579. package/collection/immutable/ReadonlyArray/api/chunksOf.d.ts +5 -0
  580. package/collection/immutable/ReadonlyArray/api/splitAt.d.ts +5 -0
  581. package/collection/immutable/ReadonlyArray/api/splitWhere.d.ts +6 -0
  582. package/collection/immutable/ReadonlyArray/api.d.ts +614 -0
  583. package/collection/immutable/ReadonlyArray/constructors.d.ts +30 -0
  584. package/collection/{compat/Array → immutable/ReadonlyArray}/definition.d.ts +8 -0
  585. package/collection/immutable/ReadonlyArray/instances.d.ts +87 -0
  586. package/collection/immutable/ReadonlyArray.d.ts +7 -0
  587. package/collection/immutable/ReadonlyNonEmptyArray/api.d.ts +186 -0
  588. package/collection/immutable/ReadonlyNonEmptyArray/constructors.d.ts +45 -0
  589. package/collection/immutable/ReadonlyNonEmptyArray/definition.d.ts +21 -0
  590. package/collection/immutable/ReadonlyNonEmptyArray/destructors.d.ts +31 -0
  591. package/collection/immutable/ReadonlyNonEmptyArray/instances.d.ts +52 -0
  592. package/collection/immutable/ReadonlyNonEmptyArray.d.ts +5 -0
  593. package/collection/immutable/Vector/api.d.ts +93 -93
  594. package/collection/immutable.d.ts +2 -2
  595. package/collection.d.ts +1 -0
  596. package/control/Eval/api.d.ts +27 -5
  597. package/control/Eval/constructors.d.ts +5 -0
  598. package/data/CaseClass.d.ts +2 -3
  599. package/data/Const/api.d.ts +5 -5
  600. package/data/Const/instances.d.ts +4 -4
  601. package/data/Datum/api.d.ts +64 -64
  602. package/data/Datum.d.ts +3 -0
  603. package/data/DatumEither/api.d.ts +25 -25
  604. package/data/Either/api.d.ts +24 -24
  605. package/data/Either/constructors.d.ts +12 -12
  606. package/data/EitherT/api.d.ts +16 -16
  607. package/data/Environment/api.d.ts +4 -2
  608. package/data/Eq/api.d.ts +89 -2
  609. package/data/Eq/derivations.d.ts +7 -0
  610. package/data/Exit/api.d.ts +43 -37
  611. package/data/Guard/api.d.ts +7 -8
  612. package/data/Maybe/api.d.ts +38 -33
  613. package/data/Maybe/constructors.d.ts +16 -16
  614. package/data/Showable/util.d.ts +1 -1
  615. package/data/These/api.d.ts +26 -26
  616. package/data.d.ts +1 -0
  617. package/global.d.ts +4 -8
  618. package/internal/Stack.d.ts +2 -0
  619. package/optics/Lens/api.d.ts +1 -1
  620. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  621. package/package.json +3 -3
  622. package/typeclass/Apply.d.ts +0 -6
  623. package/util/assert.d.ts +1 -1
  624. package/_cjs/collection/compat/Array/api.cjs +0 -142
  625. package/_cjs/collection/compat/Array/api.cjs.map +0 -1
  626. package/_cjs/collection/compat/Array/definition.cjs.map +0 -1
  627. package/_cjs/collection/compat/Array.cjs.map +0 -1
  628. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs +0 -19
  629. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +0 -1
  630. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +0 -18
  631. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +0 -1
  632. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +0 -18
  633. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +0 -1
  634. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +0 -28
  635. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +0 -1
  636. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +0 -1
  637. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +0 -59
  638. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs.map +0 -1
  639. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +0 -44
  640. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +0 -1
  641. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +0 -1
  642. package/_cjs/collection/immutable/ImmutableArray.cjs.map +0 -1
  643. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +0 -474
  644. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +0 -1
  645. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +0 -79
  646. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +0 -1
  647. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +0 -36
  648. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +0 -1
  649. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +0 -53
  650. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +0 -1
  651. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +0 -1
  652. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +0 -1
  653. package/_cjs/control/Eval/api/sequenceArray.cjs +0 -17
  654. package/_cjs/control/Eval/api/sequenceArray.cjs.map +0 -1
  655. package/_mjs/collection/compat/Array/api.mjs +0 -125
  656. package/_mjs/collection/compat/Array/api.mjs.map +0 -1
  657. package/_mjs/collection/compat/Array/definition.mjs.map +0 -1
  658. package/_mjs/collection/compat/Array.mjs +0 -4
  659. package/_mjs/collection/compat/Array.mjs.map +0 -1
  660. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +0 -1
  661. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +0 -10
  662. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +0 -1
  663. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +0 -10
  664. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +0 -1
  665. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +0 -20
  666. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +0 -1
  667. package/_mjs/collection/immutable/ImmutableArray/api.mjs +0 -1284
  668. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +0 -1
  669. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs +0 -46
  670. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs.map +0 -1
  671. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +0 -35
  672. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +0 -1
  673. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +0 -1
  674. package/_mjs/collection/immutable/ImmutableArray.mjs +0 -12
  675. package/_mjs/collection/immutable/ImmutableArray.mjs.map +0 -1
  676. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +0 -437
  677. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +0 -1
  678. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +0 -1
  679. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -25
  680. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +0 -1
  681. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +0 -43
  682. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +0 -1
  683. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +0 -1
  684. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +0 -7
  685. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +0 -1
  686. package/_mjs/control/Eval/api/sequenceArray.mjs +0 -9
  687. package/_mjs/control/Eval/api/sequenceArray.mjs.map +0 -1
  688. package/_src/collection/compat/Array/api.ts +0 -134
  689. package/_src/collection/compat/Array.ts +0 -4
  690. package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +0 -8
  691. package/_src/collection/immutable/ImmutableArray/api/slice.ts +0 -8
  692. package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +0 -8
  693. package/_src/collection/immutable/ImmutableArray/api.ts +0 -1526
  694. package/_src/collection/immutable/ImmutableArray/constructors.ts +0 -47
  695. package/_src/collection/immutable/ImmutableArray/definition.ts +0 -48
  696. package/_src/collection/immutable/ImmutableArray.ts +0 -13
  697. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +0 -483
  698. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +0 -83
  699. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +0 -47
  700. package/_src/collection/immutable/ImmutableNonEmptyArray/destructors.ts +0 -41
  701. package/_src/collection/immutable/ImmutableNonEmptyArray.ts +0 -7
  702. package/_src/control/Eval/api/sequenceArray.ts +0 -6
  703. package/collection/compat/Array/api.d.ts +0 -62
  704. package/collection/compat/Array.d.ts +0 -2
  705. package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +0 -6
  706. package/collection/immutable/ImmutableArray/api/slice.d.ts +0 -6
  707. package/collection/immutable/ImmutableArray/api/splitAt.d.ts +0 -6
  708. package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +0 -7
  709. package/collection/immutable/ImmutableArray/api.d.ts +0 -602
  710. package/collection/immutable/ImmutableArray/constructors.d.ts +0 -32
  711. package/collection/immutable/ImmutableArray/definition.d.ts +0 -34
  712. package/collection/immutable/ImmutableArray/instances.d.ts +0 -87
  713. package/collection/immutable/ImmutableArray.d.ts +0 -8
  714. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +0 -186
  715. package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +0 -46
  716. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +0 -40
  717. package/collection/immutable/ImmutableNonEmptyArray/destructors.d.ts +0 -32
  718. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +0 -52
  719. package/collection/immutable/ImmutableNonEmptyArray.d.ts +0 -5
  720. package/control/Eval/api/sequenceArray.d.ts +0 -6
  721. /package/_cjs/collection/{compat/Array → immutable/ReadonlyArray}/definition.cjs +0 -0
  722. /package/_mjs/collection/{compat/Array → immutable/ReadonlyArray}/definition.mjs +0 -0
@@ -0,0 +1,481 @@
1
+ import type { ReadonlyNonEmptyArrayF } from "@fncts/base/collection/immutable/ReadonlyNonEmptyArray/definition";
2
+
3
+ import { allocWithHead } from "@fncts/base/collection/immutable/ReadonlyNonEmptyArray/constructors";
4
+ import { identity } from "@fncts/base/data/function";
5
+ import * as P from "@fncts/base/typeclass";
6
+
7
+ /**
8
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray ap
9
+ */
10
+ export function ap_<A>(fa: ReadonlyNonEmptyArray<A>) {
11
+ return <B>(self: ReadonlyNonEmptyArray<(a: A) => B>): ReadonlyNonEmptyArray<B> => {
12
+ return self.flatMap((f) => fa.map((a) => f(a))) as unknown as ReadonlyNonEmptyArray<B>;
13
+ };
14
+ }
15
+
16
+ /**
17
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray append
18
+ */
19
+ export function append<B>(last: B) {
20
+ return <A>(self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<A | B> => {
21
+ const len = self.length;
22
+ const r = Array<A | B>(len + 1);
23
+ r[len] = last;
24
+ for (let i = 0; i < len; i++) {
25
+ r[i] = self[i]!;
26
+ }
27
+ return r as unknown as ReadonlyNonEmptyArray<A | B>;
28
+ };
29
+ }
30
+
31
+ /**
32
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray align
33
+ */
34
+ export function align<B>(fb: ReadonlyNonEmptyArray<B>) {
35
+ return <A>(self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<These<A, B>> => {
36
+ return self.alignWith(fb, identity);
37
+ };
38
+ }
39
+
40
+ /**
41
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray alignWith
42
+ */
43
+ export function alignWith<A, B, C>(fb: ReadonlyNonEmptyArray<B>, f: (_: These<A, B>) => C) {
44
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<C> => {
45
+ const minlen = Math.min(self.length, fb.length);
46
+ const maxlen = Math.max(self.length, fb.length);
47
+ const ret = allocWithHead(f(These.both(self.head, fb.head)), maxlen);
48
+ for (let i = 1; i < minlen; i++) {
49
+ ret[i] = f(These.both(self[i]!, fb[i]!));
50
+ }
51
+ if (minlen === maxlen) {
52
+ return ret;
53
+ } else if (self.length > fb.length) {
54
+ for (let i = minlen; i < maxlen; i++) {
55
+ ret[i] = f(These.left(self[i]!));
56
+ }
57
+ } else {
58
+ for (let i = minlen; i < maxlen; i++) {
59
+ ret[i] = f(These.right(fb[i]!));
60
+ }
61
+ }
62
+ return ret;
63
+ };
64
+ }
65
+
66
+ /**
67
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray flatMap
68
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray flatMap1
69
+ */
70
+ export function flatMap<A, B>(f: (a: A) => ReadonlyNonEmptyArray<B>) {
71
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<B> => {
72
+ return self.flatMapWithIndex((_, a) => f(a));
73
+ };
74
+ }
75
+
76
+ /**
77
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray flatMapWithIndex
78
+ */
79
+ export function flatMapWithIndex<A, B>(f: (i: number, a: A) => ReadonlyNonEmptyArray<B>) {
80
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<B> => {
81
+ let outLen = 1;
82
+ const len = self.length;
83
+ const temp = allocWithHead(f(0, self[0]), len);
84
+ for (let i = 1; i < len; i++) {
85
+ const e = self[i]!;
86
+ const arr = f(i, e);
87
+ outLen += arr.length;
88
+ temp[i] = arr;
89
+ }
90
+ const out = Array(outLen);
91
+ const out0 = temp[0];
92
+ const len0 = temp[0].length;
93
+ for (let j = 0; j < len0; j++) {
94
+ out[j] = out0[j]!;
95
+ }
96
+ let start = temp[0].length;
97
+ for (let i = 1; i < len; i++) {
98
+ const arr = temp[i]!;
99
+ const l = arr.length;
100
+ for (let j = 0; j < l; j++) {
101
+ out[j + start] = arr[j]!;
102
+ }
103
+ start += l;
104
+ }
105
+ return out.unsafeAsNonEmptyArray;
106
+ };
107
+ }
108
+
109
+ /**
110
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray chop
111
+ */
112
+ export function chop<A, B>(f: (as: ReadonlyNonEmptyArray<A>) => readonly [B, ReadonlyArray<A>]) {
113
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<B> => {
114
+ const [b, rest] = f(self);
115
+ const result = [b];
116
+ let next = rest;
117
+ while (next.isNonEmpty()) {
118
+ const [b, c] = f(next);
119
+ result.push(b);
120
+ next = c;
121
+ }
122
+ return result.unsafeAsNonEmptyArray;
123
+ };
124
+ }
125
+
126
+ /**
127
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray chunksOf
128
+ */
129
+ export function chunksOf(n: number) {
130
+ return <A>(self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<ReadonlyNonEmptyArray<A>> => {
131
+ return self.chop((as) => as.splitAt(n));
132
+ };
133
+ }
134
+
135
+ /**
136
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray concat
137
+ */
138
+ export function concat<B>(that: ReadonlyArray<B>) {
139
+ return <A>(self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<A | B> => {
140
+ const leny = that.length;
141
+ if (leny === 0) {
142
+ return self;
143
+ }
144
+ const lenx = self.length;
145
+ const r = Array<A | B>(lenx + leny);
146
+ for (let i = 0; i < lenx; i++) {
147
+ r[i] = self[i]!;
148
+ }
149
+ for (let i = 0; i < leny; i++) {
150
+ r[i + lenx] = that[i]!;
151
+ }
152
+ return r.unsafeAsNonEmptyArray;
153
+ };
154
+ }
155
+
156
+ /**
157
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray crossWith
158
+ */
159
+ export function crossWith<A, B, C>(fb: ReadonlyNonEmptyArray<B>, f: (a: A, b: B) => C) {
160
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<C> => {
161
+ return self.flatMap((a) => fb.map((b) => f(a, b))).unsafeAsNonEmptyArray;
162
+ };
163
+ }
164
+
165
+ /**
166
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray cross
167
+ */
168
+ export function cross<B>(fb: ReadonlyNonEmptyArray<B>) {
169
+ return <A>(self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<Zipped.Make<A, B>> => {
170
+ return self.crossWith(fb, (a, b) => Zipped(a, b));
171
+ };
172
+ }
173
+
174
+ /**
175
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray elem
176
+ */
177
+ export function elem<A>(a: A, /** @tsplus auto */ E: P.Eq<A>) {
178
+ return (self: ReadonlyNonEmptyArray<A>): boolean => {
179
+ const p = (element: A) => E.equals(element)(a);
180
+ const len = self.length;
181
+ for (let i = 0; i < len; i++) {
182
+ if (p(self[i]!)) {
183
+ return true;
184
+ }
185
+ }
186
+ return false;
187
+ };
188
+ }
189
+
190
+ /**
191
+ * @tsplus getter fncts.ReadonlyNonEmptyArray flatten
192
+ */
193
+ export function flatten<A>(self: ReadonlyNonEmptyArray<ReadonlyNonEmptyArray<A>>): ReadonlyNonEmptyArray<A> {
194
+ return self.flatMap(identity).unsafeAsNonEmptyArray;
195
+ }
196
+
197
+ /**
198
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray fold
199
+ */
200
+ export function fold<A>(/** @tsplus auto */ S: P.Semigroup<A>) {
201
+ return (self: ReadonlyNonEmptyArray<A>): A => {
202
+ return self.slice(1).foldLeft(self[0], (b, a) => S.combine(a)(b));
203
+ };
204
+ }
205
+
206
+ /**
207
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray foldLeft
208
+ */
209
+ export function foldLeft<A, B>(b: B, f: (b: B, a: A) => B) {
210
+ return (self: ReadonlyNonEmptyArray<A>): B => {
211
+ return self.foldLeftWithIndex(b, (_, b, a) => f(b, a));
212
+ };
213
+ }
214
+
215
+ /**
216
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray foldLeftWithIndex
217
+ */
218
+ export function foldLeftWithIndex<A, B>(b: B, f: (i: number, b: B, a: A) => B) {
219
+ return (self: ReadonlyNonEmptyArray<A>): B => {
220
+ const len = self.length;
221
+ let r = b;
222
+ for (let i = 0; i < len; i++) {
223
+ r = f(i, r, self[i]!);
224
+ }
225
+ return r;
226
+ };
227
+ }
228
+
229
+ /**
230
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray foldMapWithIndex
231
+ */
232
+ export function foldMapWithIndex<A, M>(f: (i: number, a: A) => M, /** @tsplus auto */ M: P.Monoid<M>) {
233
+ return (self: ReadonlyNonEmptyArray<A>): M => {
234
+ return self.foldLeftWithIndex(M.nat, (i, b, a) => M.combine(f(i, a))(b));
235
+ };
236
+ }
237
+
238
+ /**
239
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray foldMap
240
+ */
241
+ export function foldMap<A, M>(f: (a: A) => M, /** @tsplus auto */ M: P.Monoid<M>) {
242
+ return (self: ReadonlyNonEmptyArray<A>): M => {
243
+ return self.foldMapWithIndex((_, a) => f(a), M);
244
+ };
245
+ }
246
+
247
+ /**
248
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray foldRight
249
+ */
250
+ export function foldRight<A, B>(b: B, f: (a: A, b: B) => B) {
251
+ return (self: ReadonlyNonEmptyArray<A>): B => {
252
+ return self.foldRightWithIndex(b, (_, a, b) => f(a, b));
253
+ };
254
+ }
255
+
256
+ /**
257
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray foldRightWithIndex
258
+ */
259
+ export function foldRightWithIndex<A, B>(b: B, f: (i: number, a: A, b: B) => B) {
260
+ return (self: ReadonlyNonEmptyArray<A>): B => {
261
+ let r = b;
262
+ for (let i = self.length - 1; i >= 0; i--) {
263
+ r = f(i, self[i]!, r);
264
+ }
265
+ return r;
266
+ };
267
+ }
268
+
269
+ /**
270
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray group
271
+ */
272
+ export function group<A>(/** @tsplus auto */ E: P.Eq<A>) {
273
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<ReadonlyNonEmptyArray<A>> => {
274
+ return self.chop((as) => {
275
+ const h = as[0];
276
+ const out = [h];
277
+ let i = 1;
278
+ for (; i < as.length; i++) {
279
+ const a = as[i]!;
280
+ if (E.equals(h)(a)) {
281
+ out.push(a);
282
+ } else {
283
+ break;
284
+ }
285
+ }
286
+ return [out.unsafeAsNonEmptyArray, as.slice(i)];
287
+ });
288
+ };
289
+ }
290
+
291
+ export function groupSort<A>(
292
+ as: ReadonlyNonEmptyArray<A>,
293
+ /** @tsplus auto */ O: P.Ord<A>,
294
+ ): ReadonlyNonEmptyArray<ReadonlyNonEmptyArray<A>> {
295
+ return as.sort(O).group(O);
296
+ }
297
+
298
+ /**
299
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray isOutOfBound
300
+ */
301
+ export function isOutOfBound(i: number) {
302
+ return <A>(as: ReadonlyNonEmptyArray<A>): boolean => {
303
+ return i < 0 || i >= as.length;
304
+ };
305
+ }
306
+
307
+ /**
308
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray map
309
+ */
310
+ export function map<A, B>(f: (a: A) => B) {
311
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<B> => {
312
+ return self.mapWithIndex((_, a) => f(a));
313
+ };
314
+ }
315
+
316
+ /**
317
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray mapWithIndex
318
+ */
319
+ export function mapWithIndex<A, B>(f: (i: number, a: A) => B) {
320
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<B> => {
321
+ const out = allocWithHead(f(0, self[0]), self.length);
322
+ for (let i = 1; i < self.length; i++) {
323
+ out[i] = f(i, self[i]!);
324
+ }
325
+ return out;
326
+ };
327
+ }
328
+
329
+ /**
330
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray max
331
+ */
332
+ export function max<A>(/** @tsplus auto */ O: P.Ord<A>) {
333
+ return (self: ReadonlyNonEmptyArray<A>): A => {
334
+ const S = P.Semigroup.max(O);
335
+ const [head, tail] = self.unprepend;
336
+ return tail.isNonEmpty() ? tail.foldLeft(head, (b, a) => S.combine(a)(b)) : head;
337
+ };
338
+ }
339
+
340
+ /**
341
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray max
342
+ */
343
+ export function min<A>(/** @tsplus auto */ O: P.Ord<A>) {
344
+ return (self: ReadonlyNonEmptyArray<A>): A => {
345
+ const S = P.Semigroup.min(O);
346
+ const [head, tail] = self.unprepend;
347
+ return tail.isNonEmpty() ? tail.foldLeft(head, (b, a) => S.combine(a)(b)) : head;
348
+ };
349
+ }
350
+
351
+ /**
352
+ * @tsplus getter fncts.ReadonlyNonEmptyArray mutableClone
353
+ */
354
+ export function mutableClone<A>(as: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<A> {
355
+ return as.slice(0).unsafeAsNonEmptyArray;
356
+ }
357
+
358
+ /**
359
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray prepend
360
+ */
361
+ export function prepend<B>(head: B) {
362
+ return <A>(self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<A | B> => {
363
+ const len = self.length;
364
+ const out = Array<A | B>(len + 1);
365
+ out[0] = head;
366
+ for (let i = 0; i < len; i++) {
367
+ out[i + 1] = self[i]!;
368
+ }
369
+ return out as unknown as ReadonlyNonEmptyArray<A | B>;
370
+ };
371
+ }
372
+
373
+ /**
374
+ * @tsplus getter fncts.ReadonlyNonEmptyArray reverse
375
+ */
376
+ export function reverse<A>(self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<A> {
377
+ if (self.length === 1) {
378
+ return self;
379
+ }
380
+ const out = allocWithHead(self[self.length - 1]!, self.length);
381
+ for (let j = 1, i = self.length - 2; i >= 0; i--, j++) {
382
+ out[j] = self[i]!;
383
+ }
384
+ return out.unsafeAsNonEmptyArray;
385
+ }
386
+
387
+ /**
388
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray splitAt
389
+ */
390
+ export function splitAt(n: number) {
391
+ return <A>(self: ReadonlyNonEmptyArray<A>): readonly [ReadonlyNonEmptyArray<A>, ReadonlyArray<A>] => {
392
+ const m = Math.max(1, n);
393
+ return m >= self.length ? [self, Array.empty()] : [self.slice(0, m).unsafeAsNonEmptyArray, self.slice(m)];
394
+ };
395
+ }
396
+
397
+ /**
398
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray sort
399
+ */
400
+ export function sort<A>(/** @tsplus auto */ O: P.Ord<A>) {
401
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<A> => {
402
+ return self.length === 1
403
+ ? self
404
+ : self.slice().sort((first, second) => O.compare(second)(first)).unsafeAsNonEmptyArray;
405
+ };
406
+ }
407
+
408
+ /**
409
+ * @tsplus getter fncts.ReadonlyNonEmptyArray traverseWithIndex
410
+ */
411
+ export function _traverseWithIndex<A>(
412
+ self: ReadonlyNonEmptyArray<A>,
413
+ ): <G extends HKT, GC = HKT.None>(
414
+ G: P.Applicative<G, GC>,
415
+ ) => <K, Q, W, X, I, S, R, E, B>(
416
+ f: (i: number, a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
417
+ ) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, ReadonlyNonEmptyArray<B>>;
418
+ export function _traverseWithIndex<A>(
419
+ self: ReadonlyNonEmptyArray<A>,
420
+ ): <G>(
421
+ G: P.Applicative<HKT.F<G>>,
422
+ ) => <B>(f: (i: number, a: A) => HKT.FK1<G, B>) => HKT.FK1<G, ReadonlyNonEmptyArray<B>> {
423
+ return (G) => (f) =>
424
+ self.tail.foldLeftWithIndex(f(0, self.head).pipe(G.map((b) => [b].unsafeAsNonEmptyArray)), (i, fbs, a) =>
425
+ fbs.pipe(G.zipWith(f(i + 1, a), (bs, b) => bs.append(b))),
426
+ );
427
+ }
428
+
429
+ /**
430
+ * @tsplus getter fncts.ReadonlyNonEmptyArray traverse
431
+ */
432
+ export function _traverse<A>(
433
+ self: ReadonlyNonEmptyArray<A>,
434
+ ): <G extends HKT, GC = HKT.None>(
435
+ G: P.Applicative<G, GC>,
436
+ ) => <K, Q, W, X, I, S, R, E, B>(
437
+ f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
438
+ ) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, ReadonlyNonEmptyArray<B>> {
439
+ return (G) => (f) => self.traverseWithIndex(G)((_, a) => f(a));
440
+ }
441
+
442
+ export const traverseWithIndex: P.TraversableWithIndex<ReadonlyNonEmptyArrayF>["traverseWithIndex"] =
443
+ (G) => (f) => (self) =>
444
+ self.traverseWithIndex(G)(f);
445
+
446
+ export const traverse: P.Traversable<ReadonlyNonEmptyArrayF>["traverse"] = (G) => (f) => (self) =>
447
+ self.traverseWithIndex(G)((_, a) => f(a));
448
+
449
+ /**
450
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray uniq
451
+ */
452
+ export function uniq<A>(/** @tsplus auto */ E: P.Eq<A>) {
453
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<A> => {
454
+ if (self.length === 1) {
455
+ return self;
456
+ }
457
+ const out = [self[0]];
458
+ const len = self.length;
459
+ for (let i = 1; i < len; i++) {
460
+ const a = self[i]!;
461
+ if (!out.unsafeAsNonEmptyArray.elem(a, E)) {
462
+ out.push(a);
463
+ }
464
+ }
465
+ return out.unsafeAsNonEmptyArray;
466
+ };
467
+ }
468
+
469
+ /**
470
+ * @tsplus pipeable fncts.ReadonlyNonEmptyArray zipWith
471
+ */
472
+ export function zipWith<A, B, C>(fb: ReadonlyNonEmptyArray<B>, f: (a: A, b: B) => C) {
473
+ return (self: ReadonlyNonEmptyArray<A>): ReadonlyNonEmptyArray<C> => {
474
+ const len = Math.min(self.length, fb.length);
475
+ const cs = allocWithHead(f(self[0], fb[0]), len);
476
+ for (let i = 1; i < len; i++) {
477
+ cs[i] = f(self[i]!, fb[i]!);
478
+ }
479
+ return cs;
480
+ };
481
+ }
@@ -0,0 +1,76 @@
1
+ export function allocWithHead<A>(
2
+ head: A,
3
+ length: number,
4
+ ): Array<A> & {
5
+ 0: A;
6
+ } {
7
+ const as = new Array(length);
8
+ as[0] = head;
9
+ return as as Array<A> & {
10
+ 0: A;
11
+ };
12
+ }
13
+
14
+ /**
15
+ * @tsplus getter fncts.ReadonlyArray unsafeAsNonEmptyArray
16
+ * @tsplus getter fncts.Array unsafeAsNonEmptyArray
17
+ * @tsplus identity
18
+ */
19
+ export function unsafeAsNonEmptyArray<A>(self: ReadonlyArray<A>): ReadonlyNonEmptyArray<A> {
20
+ if (self.length === 0) {
21
+ throw new IndexOutOfBoundsError("0 length Array supplied to Array#unsafeAsNonEmpty");
22
+ }
23
+ return self as unknown as ReadonlyNonEmptyArray<A>;
24
+ }
25
+
26
+ /**
27
+ * @tsplus static fncts.ReadonlyNonEmptyArrayOps from
28
+ */
29
+ export function from<A>(
30
+ self: ReadonlyArray<A> & {
31
+ readonly 0: A;
32
+ },
33
+ ): ReadonlyNonEmptyArray<A> {
34
+ return self.unsafeAsNonEmptyArray;
35
+ }
36
+
37
+ /**
38
+ * @tsplus static fncts.ReadonlyNonEmptyArrayOps fromArray
39
+ * @tsplus getter fncts.ImmutableArray toNonEmptyArray
40
+ */
41
+ export function fromArray<A>(self: ReadonlyArray<A>): Maybe<ReadonlyNonEmptyArray<A>> {
42
+ return self.isNonEmpty() ? Just(self.unsafeAsNonEmptyArray) : Nothing();
43
+ }
44
+
45
+ /**
46
+ * @tsplus static fncts.ReadonlyNonEmptyArrayOps __call
47
+ */
48
+ export function make<A>(...values: NonEmptyArray<A>): ReadonlyNonEmptyArray<A> {
49
+ return values.unsafeAsNonEmptyArray;
50
+ }
51
+
52
+ /**
53
+ * @tsplus static fncts.ReadonlyNonEmptyArrayOps makeBy
54
+ */
55
+ export function makeBy<A>(n: number, f: (i: number) => A): ReadonlyNonEmptyArray<A> {
56
+ const len = Math.max(0, Math.floor(n));
57
+ const out = allocWithHead(f(0), len);
58
+ for (let i = 1; i < len; i++) {
59
+ out.push(f(i));
60
+ }
61
+ return out.unsafeAsNonEmptyArray;
62
+ }
63
+
64
+ /**
65
+ * @tsplus static fncts.ReadonlyNonEmptyArray replicate
66
+ */
67
+ export function replicate<A>(n: number, a: A): ReadonlyNonEmptyArray<A> {
68
+ return ReadonlyNonEmptyArray.makeBy(n, () => a);
69
+ }
70
+
71
+ /**
72
+ * @tsplus static fncts.ReadonlyNonEmptyArrayOps range
73
+ */
74
+ export function range(start: number, end: number): ReadonlyNonEmptyArray<number> {
75
+ return start <= end ? ReadonlyNonEmptyArray.makeBy(end - start + 1, (i) => start + i) : ReadonlyNonEmptyArray(start);
76
+ }
@@ -0,0 +1,22 @@
1
+ export interface ReadonlyNonEmptyArrayF extends HKT {
2
+ type: ReadonlyNonEmptyArray<this["A"]>;
3
+ variance: {
4
+ A: "+";
5
+ };
6
+ index: number;
7
+ }
8
+
9
+ /**
10
+ * @tsplus type fncts.NonEmptyArray
11
+ */
12
+ export interface NonEmptyArray<T> extends Array<T> {
13
+ 0: T;
14
+ }
15
+
16
+ /**
17
+ * @tsplus type fncts.ReadonlyNonEmptyArray
18
+ * @tsplus companion fncts.ReadonlyNonEmptyArrayOps
19
+ */
20
+ export interface ReadonlyNonEmptyArray<T> extends ReadonlyArray<T> {
21
+ readonly 0: T;
22
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @tsplus getter fncts.ReadonlyNonEmptyArray head
3
+ */
4
+ export function head<A>(self: ReadonlyNonEmptyArray<A>): A {
5
+ return self[0];
6
+ }
7
+
8
+ /**
9
+ * @tsplus getter fncts.ReadonlyNonEmptyArray init
10
+ */
11
+ export function init<A>(self: ReadonlyNonEmptyArray<A>): ReadonlyArray<A> {
12
+ return self.slice(0, self.length - 1);
13
+ }
14
+
15
+ /**
16
+ * @tsplus getter fncts.ReadonlyNonEmptyArray last
17
+ */
18
+ export function last<A>(self: ReadonlyNonEmptyArray<A>): A {
19
+ return self[self.length - 1]!;
20
+ }
21
+
22
+ /**
23
+ * @tsplus getter fncts.ReadonlyNonEmptyArray tail
24
+ */
25
+ export function tail<A>(self: ReadonlyNonEmptyArray<A>): ReadonlyArray<A> {
26
+ return self.slice(1);
27
+ }
28
+
29
+ /**
30
+ * @tsplus getter fncts.ReadonlyNonEmptyArray unappend
31
+ */
32
+ export function unappend<A>(self: ReadonlyNonEmptyArray<A>): readonly [ReadonlyArray<A>, A] {
33
+ return [self.init, self.last];
34
+ }
35
+
36
+ /**
37
+ * @tsplus getter fncts.ReadonlyNonEmptyArray unprepend
38
+ */
39
+ export function unprepend<A>(self: ReadonlyNonEmptyArray<A>): readonly [A, ReadonlyArray<A>] {
40
+ return [self.head, self.tail];
41
+ }