@fncts/base 0.0.40 → 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 (645) 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/immutable/Conc/api/makeBy.cjs +1 -2
  15. package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
  16. package/_cjs/collection/immutable/Conc/api/replicate.cjs +1 -2
  17. package/_cjs/collection/immutable/Conc/api/replicate.cjs.map +1 -1
  18. package/_cjs/collection/immutable/Conc/api.cjs +1 -2
  19. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  20. package/_cjs/collection/immutable/Conc/constructors.cjs +3 -4
  21. package/_cjs/collection/immutable/Conc/constructors.cjs.map +1 -1
  22. package/_cjs/collection/immutable/Conc/definition.cjs +3 -3
  23. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  24. package/_cjs/collection/immutable/Dictionary/api.cjs +1 -2
  25. package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
  26. package/_cjs/collection/immutable/Dictionary/definition.cjs +1 -2
  27. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  28. package/_cjs/collection/immutable/HashMap/api.cjs +1 -2
  29. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  30. package/_cjs/collection/immutable/HashMap/definition.cjs +1 -2
  31. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  32. package/_cjs/collection/immutable/HashMap/internal.cjs +1 -2
  33. package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
  34. package/_cjs/collection/immutable/HashSet/api.cjs +1 -2
  35. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  36. package/_cjs/collection/immutable/HashSet/definition.cjs +1 -2
  37. package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
  38. package/_cjs/collection/immutable/List/api/foldLeft.cjs +1 -2
  39. package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
  40. package/_cjs/collection/immutable/List/api/unsafeTail.cjs +1 -2
  41. package/_cjs/collection/immutable/List/api/unsafeTail.cjs.map +1 -1
  42. package/_cjs/collection/immutable/List/api.cjs +3 -4
  43. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  44. package/_cjs/collection/immutable/List/constructors.cjs +1 -2
  45. package/_cjs/collection/immutable/List/constructors.cjs.map +1 -1
  46. package/_cjs/collection/immutable/List/definition.cjs +1 -2
  47. package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
  48. package/_cjs/collection/immutable/Queue/api.cjs +1 -2
  49. package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
  50. package/_cjs/collection/immutable/Queue/constructors.cjs +1 -2
  51. package/_cjs/collection/immutable/Queue/constructors.cjs.map +1 -1
  52. package/_cjs/collection/immutable/Queue/definition.cjs +1 -2
  53. package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
  54. package/_cjs/collection/immutable/Queue/guards.cjs +1 -2
  55. package/_cjs/collection/immutable/Queue/guards.cjs.map +1 -1
  56. package/_cjs/collection/immutable/ReadonlyArray/api/chunksOf.cjs +18 -0
  57. package/_cjs/collection/immutable/ReadonlyArray/api/chunksOf.cjs.map +1 -0
  58. package/_cjs/collection/immutable/ReadonlyArray/api/splitAt.cjs +15 -0
  59. package/_cjs/collection/immutable/ReadonlyArray/api/splitAt.cjs.map +1 -0
  60. package/_cjs/collection/immutable/ReadonlyArray/api/splitWhere.cjs +26 -0
  61. package/_cjs/collection/immutable/ReadonlyArray/api/splitWhere.cjs.map +1 -0
  62. package/_cjs/collection/immutable/{ImmutableArray → ReadonlyArray}/api.cjs +562 -538
  63. package/_cjs/collection/immutable/ReadonlyArray/api.cjs.map +1 -0
  64. package/_cjs/collection/immutable/ReadonlyArray/constructors.cjs +55 -0
  65. package/_cjs/collection/immutable/ReadonlyArray/constructors.cjs.map +1 -0
  66. package/_cjs/collection/immutable/ReadonlyArray/definition.cjs.map +1 -0
  67. package/_cjs/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.cjs +5 -7
  68. package/_cjs/collection/immutable/ReadonlyArray/instances.cjs.map +1 -0
  69. package/_cjs/collection/immutable/{ImmutableArray.cjs → ReadonlyArray.cjs} +8 -19
  70. package/_cjs/collection/immutable/ReadonlyArray.cjs.map +1 -0
  71. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/api.cjs +472 -0
  72. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/api.cjs.map +1 -0
  73. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/constructors.cjs +79 -0
  74. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/constructors.cjs.map +1 -0
  75. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/definition.cjs +2 -0
  76. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/definition.cjs.map +1 -0
  77. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/destructors.cjs +49 -0
  78. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/destructors.cjs.map +1 -0
  79. package/_cjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.cjs +3 -4
  80. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/instances.cjs.map +1 -0
  81. package/_cjs/collection/immutable/{ImmutableNonEmptyArray.cjs → ReadonlyNonEmptyArray.cjs} +6 -6
  82. package/_cjs/collection/immutable/ReadonlyNonEmptyArray.cjs.map +1 -0
  83. package/_cjs/collection/immutable/RoseTree/api.cjs +1 -2
  84. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
  85. package/_cjs/collection/immutable/RoseTree/definition.cjs +1 -2
  86. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  87. package/_cjs/collection/immutable/SortedMap/api.cjs +1 -2
  88. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  89. package/_cjs/collection/immutable/SortedMap/iterator.cjs +1 -2
  90. package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
  91. package/_cjs/collection/immutable/Vector/api.cjs +229 -230
  92. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  93. package/_cjs/collection/immutable/Vector/definition.cjs +1 -2
  94. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  95. package/_cjs/collection/mutable/ArrayDeque.cjs +1 -2
  96. package/_cjs/collection/mutable/ArrayDeque.cjs.map +1 -1
  97. package/_cjs/collection/mutable/HashMap.cjs +1 -2
  98. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  99. package/_cjs/collection/mutable/HashSet.cjs +1 -2
  100. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  101. package/_cjs/collection/mutable/ListBuffer.cjs +1 -2
  102. package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
  103. package/_cjs/collection/weak/IterableWeakMap.cjs +1 -2
  104. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  105. package/_cjs/control/Eval/api.cjs +89 -41
  106. package/_cjs/control/Eval/api.cjs.map +1 -1
  107. package/_cjs/control/Eval/constructors.cjs +5 -1
  108. package/_cjs/control/Eval/constructors.cjs.map +1 -1
  109. package/_cjs/control/Eval/instance.cjs +1 -2
  110. package/_cjs/control/Eval/instance.cjs.map +1 -1
  111. package/_cjs/control/Eval/run.cjs +1 -2
  112. package/_cjs/control/Eval/run.cjs.map +1 -1
  113. package/_cjs/control/Pure/api.cjs +1 -2
  114. package/_cjs/control/Pure/api.cjs.map +1 -1
  115. package/_cjs/control/Pure/definition.cjs +1 -2
  116. package/_cjs/control/Pure/definition.cjs.map +1 -1
  117. package/_cjs/control/Pure/instances.cjs +1 -2
  118. package/_cjs/control/Pure/instances.cjs.map +1 -1
  119. package/_cjs/control/Pure/runtime.cjs +15 -10
  120. package/_cjs/control/Pure/runtime.cjs.map +1 -1
  121. package/_cjs/data/CaseClass.cjs +11 -14
  122. package/_cjs/data/CaseClass.cjs.map +1 -1
  123. package/_cjs/data/Cause/api/fold.cjs +33 -34
  124. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  125. package/_cjs/data/Cause/api/isEmpty.cjs +1 -2
  126. package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
  127. package/_cjs/data/Cause/api/linearize.cjs +1 -2
  128. package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
  129. package/_cjs/data/Cause/api/prettyPrint.cjs +1 -2
  130. package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
  131. package/_cjs/data/Cause/api/unified.cjs +1 -2
  132. package/_cjs/data/Cause/api/unified.cjs.map +1 -1
  133. package/_cjs/data/Cause/api.cjs +1 -2
  134. package/_cjs/data/Cause/api.cjs.map +1 -1
  135. package/_cjs/data/Cause/definition.cjs +1 -2
  136. package/_cjs/data/Cause/definition.cjs.map +1 -1
  137. package/_cjs/data/Const/api.cjs +7 -7
  138. package/_cjs/data/Const/api.cjs.map +1 -1
  139. package/_cjs/data/Const/instances.cjs +12 -13
  140. package/_cjs/data/Const/instances.cjs.map +1 -1
  141. package/_cjs/data/Data.cjs +1 -2
  142. package/_cjs/data/Data.cjs.map +1 -1
  143. package/_cjs/data/Datum/api.cjs +110 -113
  144. package/_cjs/data/Datum/api.cjs.map +1 -1
  145. package/_cjs/data/Datum/definition.cjs +1 -2
  146. package/_cjs/data/Datum/definition.cjs.map +1 -1
  147. package/_cjs/data/Datum/instances.cjs +1 -2
  148. package/_cjs/data/Datum/instances.cjs.map +1 -1
  149. package/_cjs/data/Datum.cjs +39 -0
  150. package/_cjs/data/Datum.cjs.map +1 -0
  151. package/_cjs/data/DatumEither/api.cjs +56 -57
  152. package/_cjs/data/DatumEither/api.cjs.map +1 -1
  153. package/_cjs/data/Duration/api.cjs +1 -2
  154. package/_cjs/data/Duration/api.cjs.map +1 -1
  155. package/_cjs/data/Duration/definition.cjs +1 -2
  156. package/_cjs/data/Duration/definition.cjs.map +1 -1
  157. package/_cjs/data/Either/api/align.cjs +1 -2
  158. package/_cjs/data/Either/api/align.cjs.map +1 -1
  159. package/_cjs/data/Either/api/alignWith.cjs +1 -2
  160. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  161. package/_cjs/data/Either/api.cjs +53 -55
  162. package/_cjs/data/Either/api.cjs.map +1 -1
  163. package/_cjs/data/Either/constructors.cjs +21 -22
  164. package/_cjs/data/Either/constructors.cjs.map +1 -1
  165. package/_cjs/data/Either/definition.cjs +1 -2
  166. package/_cjs/data/Either/definition.cjs.map +1 -1
  167. package/_cjs/data/Either/instances.cjs +1 -2
  168. package/_cjs/data/Either/instances.cjs.map +1 -1
  169. package/_cjs/data/EitherT/api.cjs +28 -29
  170. package/_cjs/data/EitherT/api.cjs.map +1 -1
  171. package/_cjs/data/Environment/api.cjs +1 -2
  172. package/_cjs/data/Environment/api.cjs.map +1 -1
  173. package/_cjs/data/Environment/definition.cjs +1 -2
  174. package/_cjs/data/Environment/definition.cjs.map +1 -1
  175. package/_cjs/data/EnvironmentPatch.cjs +2 -3
  176. package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
  177. package/_cjs/data/Eq/api.cjs +189 -5
  178. package/_cjs/data/Eq/api.cjs.map +1 -1
  179. package/_cjs/data/Eq/derivations.cjs +10 -21
  180. package/_cjs/data/Eq/derivations.cjs.map +1 -1
  181. package/_cjs/data/Equatable/api.cjs +1 -2
  182. package/_cjs/data/Equatable/api.cjs.map +1 -1
  183. package/_cjs/data/Equatable/definition.cjs +1 -2
  184. package/_cjs/data/Equatable/definition.cjs.map +1 -1
  185. package/_cjs/data/Exit/api.cjs +90 -80
  186. package/_cjs/data/Exit/api.cjs.map +1 -1
  187. package/_cjs/data/Exit/constructors.cjs +1 -2
  188. package/_cjs/data/Exit/constructors.cjs.map +1 -1
  189. package/_cjs/data/Exit/definition.cjs +1 -2
  190. package/_cjs/data/Exit/definition.cjs.map +1 -1
  191. package/_cjs/data/FiberId/api.cjs +1 -2
  192. package/_cjs/data/FiberId/api.cjs.map +1 -1
  193. package/_cjs/data/FiberId/definition.cjs +1 -2
  194. package/_cjs/data/FiberId/definition.cjs.map +1 -1
  195. package/_cjs/data/Guard/api.cjs +13 -17
  196. package/_cjs/data/Guard/api.cjs.map +1 -1
  197. package/_cjs/data/HashEq.cjs +1 -2
  198. package/_cjs/data/HashEq.cjs.map +1 -1
  199. package/_cjs/data/Hashable/definition.cjs +1 -2
  200. package/_cjs/data/Hashable/definition.cjs.map +1 -1
  201. package/_cjs/data/Hashable/hash.cjs +1 -2
  202. package/_cjs/data/Hashable/hash.cjs.map +1 -1
  203. package/_cjs/data/Identity/api.cjs +1 -2
  204. package/_cjs/data/Identity/api.cjs.map +1 -1
  205. package/_cjs/data/Identity/definition.cjs +1 -2
  206. package/_cjs/data/Identity/definition.cjs.map +1 -1
  207. package/_cjs/data/Identity/instances.cjs +1 -2
  208. package/_cjs/data/Identity/instances.cjs.map +1 -1
  209. package/_cjs/data/Interval.cjs +1 -2
  210. package/_cjs/data/Interval.cjs.map +1 -1
  211. package/_cjs/data/Intervals.cjs +1 -2
  212. package/_cjs/data/Intervals.cjs.map +1 -1
  213. package/_cjs/data/Maybe/api.cjs +73 -60
  214. package/_cjs/data/Maybe/api.cjs.map +1 -1
  215. package/_cjs/data/Maybe/constructors.cjs +37 -38
  216. package/_cjs/data/Maybe/constructors.cjs.map +1 -1
  217. package/_cjs/data/Maybe/definition.cjs +1 -2
  218. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  219. package/_cjs/data/Maybe/instances.cjs +1 -2
  220. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  221. package/_cjs/data/Newtype.cjs +1 -2
  222. package/_cjs/data/Newtype.cjs.map +1 -1
  223. package/_cjs/data/Ord/api.cjs +1 -2
  224. package/_cjs/data/Ord/api.cjs.map +1 -1
  225. package/_cjs/data/Ord/definition.cjs +1 -2
  226. package/_cjs/data/Ord/definition.cjs.map +1 -1
  227. package/_cjs/data/Ord/instances.cjs +1 -2
  228. package/_cjs/data/Ord/instances.cjs.map +1 -1
  229. package/_cjs/data/Showable/definition.cjs +1 -2
  230. package/_cjs/data/Showable/definition.cjs.map +1 -1
  231. package/_cjs/data/Showable/show.cjs +1 -2
  232. package/_cjs/data/Showable/show.cjs.map +1 -1
  233. package/_cjs/data/Showable/styles.cjs +1 -2
  234. package/_cjs/data/Showable/styles.cjs.map +1 -1
  235. package/_cjs/data/Showable/util.cjs +1 -2
  236. package/_cjs/data/Showable/util.cjs.map +1 -1
  237. package/_cjs/data/Struct/api.cjs +5 -7
  238. package/_cjs/data/Struct/api.cjs.map +1 -1
  239. package/_cjs/data/Struct/definition.cjs +1 -2
  240. package/_cjs/data/Struct/definition.cjs.map +1 -1
  241. package/_cjs/data/Tag/constructors.cjs +1 -2
  242. package/_cjs/data/Tag/constructors.cjs.map +1 -1
  243. package/_cjs/data/Tag/definition.cjs +1 -2
  244. package/_cjs/data/Tag/definition.cjs.map +1 -1
  245. package/_cjs/data/These/api.cjs +86 -87
  246. package/_cjs/data/These/api.cjs.map +1 -1
  247. package/_cjs/data/These/constructors.cjs +1 -2
  248. package/_cjs/data/These/constructors.cjs.map +1 -1
  249. package/_cjs/data/These/definition.cjs +1 -2
  250. package/_cjs/data/These/definition.cjs.map +1 -1
  251. package/_cjs/data/These/destructors.cjs +1 -2
  252. package/_cjs/data/These/destructors.cjs.map +1 -1
  253. package/_cjs/data/These/instances.cjs +1 -2
  254. package/_cjs/data/These/instances.cjs.map +1 -1
  255. package/_cjs/data/Trace/api.cjs +1 -2
  256. package/_cjs/data/Trace/api.cjs.map +1 -1
  257. package/_cjs/data/Trace/constructors.cjs +1 -2
  258. package/_cjs/data/Trace/constructors.cjs.map +1 -1
  259. package/_cjs/data/Zipped.cjs +1 -2
  260. package/_cjs/data/Zipped.cjs.map +1 -1
  261. package/_cjs/data/bigint/instances.cjs +1 -2
  262. package/_cjs/data/bigint/instances.cjs.map +1 -1
  263. package/_cjs/data/boolean/instances.cjs +1 -2
  264. package/_cjs/data/boolean/instances.cjs.map +1 -1
  265. package/_cjs/data/exceptions/IOError.cjs +1 -2
  266. package/_cjs/data/exceptions/IOError.cjs.map +1 -1
  267. package/_cjs/data/exceptions/InterruptedException.cjs +1 -2
  268. package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
  269. package/_cjs/data/number/instances.cjs +1 -2
  270. package/_cjs/data/number/instances.cjs.map +1 -1
  271. package/_cjs/data/object/instances.cjs +1 -2
  272. package/_cjs/data/object/instances.cjs.map +1 -1
  273. package/_cjs/data/string/api.cjs +1 -2
  274. package/_cjs/data/string/api.cjs.map +1 -1
  275. package/_cjs/data/string/instances.cjs +1 -2
  276. package/_cjs/data/string/instances.cjs.map +1 -1
  277. package/_cjs/internal/Stack.cjs +7 -2
  278. package/_cjs/internal/Stack.cjs.map +1 -1
  279. package/_cjs/optics/At/api.cjs +1 -2
  280. package/_cjs/optics/At/api.cjs.map +1 -1
  281. package/_cjs/optics/At/definition.cjs +1 -2
  282. package/_cjs/optics/At/definition.cjs.map +1 -1
  283. package/_cjs/optics/Index/api.cjs +3 -4
  284. package/_cjs/optics/Index/api.cjs.map +1 -1
  285. package/_cjs/optics/Iso/api.cjs +1 -2
  286. package/_cjs/optics/Iso/api.cjs.map +1 -1
  287. package/_cjs/optics/Iso/definition.cjs +1 -2
  288. package/_cjs/optics/Iso/definition.cjs.map +1 -1
  289. package/_cjs/optics/Lens/api.cjs +2 -3
  290. package/_cjs/optics/Lens/api.cjs.map +1 -1
  291. package/_cjs/optics/Lens/definition.cjs +1 -2
  292. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  293. package/_cjs/optics/Optional/api/compose.cjs +1 -2
  294. package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
  295. package/_cjs/optics/Optional/api/focus.cjs +1 -2
  296. package/_cjs/optics/Optional/api/focus.cjs.map +1 -1
  297. package/_cjs/optics/Optional/api.cjs +1 -2
  298. package/_cjs/optics/Optional/api.cjs.map +1 -1
  299. package/_cjs/optics/Optional/definition.cjs +1 -2
  300. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  301. package/_cjs/optics/Prism/api/compose.cjs +1 -2
  302. package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
  303. package/_cjs/optics/Prism/api/focus.cjs +1 -2
  304. package/_cjs/optics/Prism/api/focus.cjs.map +1 -1
  305. package/_cjs/optics/Prism/api/fromNullable.cjs +1 -2
  306. package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
  307. package/_cjs/optics/Prism/api/just.cjs +1 -2
  308. package/_cjs/optics/Prism/api/just.cjs.map +1 -1
  309. package/_cjs/optics/Prism/definition.cjs +1 -2
  310. package/_cjs/optics/Prism/definition.cjs.map +1 -1
  311. package/_cjs/optics/Traversal/api/compose.cjs +1 -2
  312. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  313. package/_cjs/optics/Traversal/api/focus.cjs +1 -2
  314. package/_cjs/optics/Traversal/api/focus.cjs.map +1 -1
  315. package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -2
  316. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  317. package/_cjs/optics/Traversal/definition.cjs +1 -2
  318. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  319. package/_cjs/typeclass/ApplicativeExcept.cjs +1 -2
  320. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  321. package/_cjs/typeclass/Apply.cjs +1 -2
  322. package/_cjs/typeclass/Apply.cjs.map +1 -1
  323. package/_cjs/typeclass/Chain.cjs +1 -2
  324. package/_cjs/typeclass/Chain.cjs.map +1 -1
  325. package/_cjs/typeclass/MonadExcept.cjs +1 -2
  326. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  327. package/_cjs/typeclass/Monoid.cjs +1 -2
  328. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  329. package/_cjs/typeclass/Semialign.cjs +1 -2
  330. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  331. package/_cjs/typeclass/Semigroup/api.cjs +1 -2
  332. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  333. package/_cjs/typeclass/Semigroup/derivations.cjs +1 -2
  334. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
  335. package/_cjs/typeclass/Witherable.cjs +1 -2
  336. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  337. package/_cjs/typeclass/WitherableWithIndex.cjs +1 -2
  338. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  339. package/_cjs/util/AnsiFormat.cjs +1 -2
  340. package/_cjs/util/AnsiFormat.cjs.map +1 -1
  341. package/_cjs/util/assert.cjs +1 -1
  342. package/_cjs/util/assert.cjs.map +1 -1
  343. package/_cjs/util/pattern.cjs.map +1 -1
  344. package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
  345. package/_mjs/collection/AsyncIterable/api.mjs +366 -0
  346. package/_mjs/collection/AsyncIterable/api.mjs.map +1 -0
  347. package/_mjs/collection/AsyncIterable/definition.mjs +2 -0
  348. package/_mjs/collection/AsyncIterable/definition.mjs.map +1 -0
  349. package/_mjs/collection/AsyncIterable.mjs +4 -0
  350. package/_mjs/collection/AsyncIterable.mjs.map +1 -0
  351. package/_mjs/collection/Iterable/api.mjs +175 -134
  352. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  353. package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
  354. package/_mjs/collection/immutable/Conc/constructors.mjs +2 -2
  355. package/_mjs/collection/immutable/Conc/constructors.mjs.map +1 -1
  356. package/_mjs/collection/immutable/Conc/definition.mjs +1 -1
  357. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  358. package/_mjs/collection/immutable/List/api.mjs +2 -2
  359. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  360. package/_mjs/collection/immutable/{ImmutableArray → ReadonlyArray}/api/chunksOf.mjs +3 -3
  361. package/_mjs/collection/immutable/ReadonlyArray/api/chunksOf.mjs.map +1 -0
  362. package/_mjs/collection/immutable/ReadonlyArray/api/splitAt.mjs +9 -0
  363. package/_mjs/collection/immutable/ReadonlyArray/api/splitAt.mjs.map +1 -0
  364. package/_mjs/collection/immutable/ReadonlyArray/api/splitWhere.mjs +19 -0
  365. package/_mjs/collection/immutable/ReadonlyArray/api/splitWhere.mjs.map +1 -0
  366. package/_mjs/collection/immutable/ReadonlyArray/api.mjs +1302 -0
  367. package/_mjs/collection/immutable/ReadonlyArray/api.mjs.map +1 -0
  368. package/_mjs/collection/immutable/ReadonlyArray/constructors.mjs +44 -0
  369. package/_mjs/collection/immutable/ReadonlyArray/constructors.mjs.map +1 -0
  370. package/_mjs/collection/immutable/ReadonlyArray/definition.mjs.map +1 -0
  371. package/_mjs/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.mjs +4 -5
  372. package/_mjs/collection/immutable/ReadonlyArray/instances.mjs.map +1 -0
  373. package/_mjs/collection/immutable/ReadonlyArray.mjs +11 -0
  374. package/_mjs/collection/immutable/ReadonlyArray.mjs.map +1 -0
  375. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/api.mjs +433 -0
  376. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/api.mjs.map +1 -0
  377. package/_mjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/constructors.mjs +16 -15
  378. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/constructors.mjs.map +1 -0
  379. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/definition.mjs +2 -0
  380. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/definition.mjs.map +1 -0
  381. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/destructors.mjs +41 -0
  382. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/destructors.mjs.map +1 -0
  383. package/_mjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.mjs +2 -2
  384. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/instances.mjs.map +1 -0
  385. package/_mjs/collection/immutable/ReadonlyNonEmptyArray.mjs +7 -0
  386. package/_mjs/collection/immutable/ReadonlyNonEmptyArray.mjs.map +1 -0
  387. package/_mjs/collection/immutable/Vector/api.mjs +224 -224
  388. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  389. package/_mjs/control/Eval/api.mjs +83 -15
  390. package/_mjs/control/Eval/api.mjs.map +1 -1
  391. package/_mjs/control/Eval/constructors.mjs +4 -0
  392. package/_mjs/control/Eval/constructors.mjs.map +1 -1
  393. package/_mjs/control/Pure/runtime.mjs +14 -8
  394. package/_mjs/control/Pure/runtime.mjs.map +1 -1
  395. package/_mjs/data/CaseClass.mjs +10 -12
  396. package/_mjs/data/CaseClass.mjs.map +1 -1
  397. package/_mjs/data/Cause/api/fold.mjs +32 -32
  398. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  399. package/_mjs/data/Const/api.mjs +7 -7
  400. package/_mjs/data/Const/api.mjs.map +1 -1
  401. package/_mjs/data/Const/instances.mjs +11 -11
  402. package/_mjs/data/Const/instances.mjs.map +1 -1
  403. package/_mjs/data/Datum/api.mjs +107 -108
  404. package/_mjs/data/Datum/api.mjs.map +1 -1
  405. package/_mjs/data/Datum.mjs +5 -0
  406. package/_mjs/data/Datum.mjs.map +1 -0
  407. package/_mjs/data/DatumEither/api.mjs +53 -53
  408. package/_mjs/data/DatumEither/api.mjs.map +1 -1
  409. package/_mjs/data/Either/api.mjs +42 -42
  410. package/_mjs/data/Either/api.mjs.map +1 -1
  411. package/_mjs/data/Either/constructors.mjs +20 -20
  412. package/_mjs/data/Either/constructors.mjs.map +1 -1
  413. package/_mjs/data/EitherT/api.mjs +27 -27
  414. package/_mjs/data/EitherT/api.mjs.map +1 -1
  415. package/_mjs/data/Environment/api.mjs.map +1 -1
  416. package/_mjs/data/EnvironmentPatch.mjs +1 -1
  417. package/_mjs/data/Eq/api.mjs +175 -3
  418. package/_mjs/data/Eq/api.mjs.map +1 -1
  419. package/_mjs/data/Eq/derivations.mjs +8 -19
  420. package/_mjs/data/Eq/derivations.mjs.map +1 -1
  421. package/_mjs/data/Exit/api.mjs +88 -78
  422. package/_mjs/data/Exit/api.mjs.map +1 -1
  423. package/_mjs/data/Guard/api.mjs +12 -15
  424. package/_mjs/data/Guard/api.mjs.map +1 -1
  425. package/_mjs/data/Maybe/api.mjs +71 -58
  426. package/_mjs/data/Maybe/api.mjs.map +1 -1
  427. package/_mjs/data/Maybe/constructors.mjs +36 -36
  428. package/_mjs/data/Maybe/constructors.mjs.map +1 -1
  429. package/_mjs/data/Struct/api.mjs +4 -5
  430. package/_mjs/data/Struct/api.mjs.map +1 -1
  431. package/_mjs/data/These/api.mjs +85 -85
  432. package/_mjs/data/These/api.mjs.map +1 -1
  433. package/_mjs/internal/Stack.mjs +7 -2
  434. package/_mjs/internal/Stack.mjs.map +1 -1
  435. package/_mjs/optics/Index/api.mjs +2 -2
  436. package/_mjs/optics/Index/api.mjs.map +1 -1
  437. package/_mjs/optics/Lens/api.mjs +1 -1
  438. package/_mjs/util/assert.mjs +1 -1
  439. package/_mjs/util/assert.mjs.map +1 -1
  440. package/_mjs/util/pattern.mjs.map +1 -1
  441. package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
  442. package/_src/collection/AsyncIterable/api.ts +369 -0
  443. package/_src/collection/AsyncIterable/definition.ts +7 -0
  444. package/_src/collection/AsyncIterable.ts +4 -0
  445. package/_src/collection/Iterable/api.ts +215 -162
  446. package/_src/collection/Iterable/constructors.ts +0 -2
  447. package/_src/collection/compat/ArrayLike/definition.ts +2 -2
  448. package/_src/collection/compat.ts +0 -1
  449. package/_src/collection/immutable/Conc/constructors.ts +1 -2
  450. package/_src/collection/immutable/Conc/definition.ts +7 -6
  451. package/_src/collection/immutable/List/api.ts +2 -2
  452. package/_src/collection/immutable/ReadonlyArray/api/chunksOf.ts +8 -0
  453. package/_src/collection/immutable/ReadonlyArray/api/splitAt.ts +8 -0
  454. package/_src/collection/immutable/{ImmutableArray → ReadonlyArray}/api/splitWhere.ts +3 -3
  455. package/_src/collection/immutable/ReadonlyArray/api.ts +1536 -0
  456. package/_src/collection/immutable/ReadonlyArray/constructors.ts +47 -0
  457. package/_src/collection/{compat/Array → immutable/ReadonlyArray}/definition.ts +8 -0
  458. package/_src/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.ts +22 -22
  459. package/_src/collection/immutable/ReadonlyArray.ts +12 -0
  460. package/_src/collection/immutable/ReadonlyNonEmptyArray/api.ts +481 -0
  461. package/_src/collection/immutable/ReadonlyNonEmptyArray/constructors.ts +76 -0
  462. package/_src/collection/immutable/ReadonlyNonEmptyArray/definition.ts +22 -0
  463. package/_src/collection/immutable/ReadonlyNonEmptyArray/destructors.ts +41 -0
  464. package/_src/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.ts +13 -13
  465. package/_src/collection/immutable/ReadonlyNonEmptyArray.ts +7 -0
  466. package/_src/collection/immutable/Vector/api.ts +310 -309
  467. package/_src/collection/immutable.ts +11 -11
  468. package/_src/collection.ts +6 -5
  469. package/_src/control/Eval/api.ts +109 -16
  470. package/_src/control/Eval/constructors.ts +5 -0
  471. package/_src/control/Pure/runtime.ts +8 -2
  472. package/_src/data/CaseClass.ts +5 -5
  473. package/_src/data/Cause/api/fold.ts +2 -2
  474. package/_src/data/Const/api.ts +8 -8
  475. package/_src/data/Const/instances.ts +10 -10
  476. package/_src/data/Datum/api.ts +113 -113
  477. package/_src/data/Datum.ts +5 -0
  478. package/_src/data/DatumEither/api.ts +41 -43
  479. package/_src/data/Either/api.ts +47 -47
  480. package/_src/data/Either/constructors.ts +14 -16
  481. package/_src/data/EitherT/api.ts +111 -110
  482. package/_src/data/Environment/api.ts +6 -3
  483. package/_src/data/Eq/api.ts +193 -4
  484. package/_src/data/Eq/derivations.ts +12 -19
  485. package/_src/data/Exit/api.ts +89 -77
  486. package/_src/data/Guard/api.ts +11 -11
  487. package/_src/data/Maybe/api.ts +82 -73
  488. package/_src/data/Maybe/constructors.ts +34 -36
  489. package/_src/data/Struct/api.ts +1 -1
  490. package/_src/data/These/api.ts +93 -92
  491. package/_src/data.ts +1 -0
  492. package/_src/global.ts +7 -12
  493. package/_src/internal/Stack.ts +6 -2
  494. package/_src/optics/Index/api.ts +1 -1
  495. package/_src/util/assert.ts +2 -2
  496. package/_src/util/pattern.ts +8 -90
  497. package/_src/util/rand/generator/RandomGenerator.ts +1 -0
  498. package/collection/AsyncIterable/api.d.ts +71 -0
  499. package/collection/AsyncIterable/definition.d.ts +9 -0
  500. package/collection/AsyncIterable.d.ts +2 -0
  501. package/collection/Iterable/api.d.ts +40 -25
  502. package/collection/compat/ArrayLike/definition.d.ts +2 -2
  503. package/collection/compat.d.ts +0 -1
  504. package/collection/immutable/Conc/definition.d.ts +1 -1
  505. package/collection/immutable/ReadonlyArray/api/chunksOf.d.ts +5 -0
  506. package/collection/immutable/ReadonlyArray/api/splitAt.d.ts +5 -0
  507. package/collection/immutable/ReadonlyArray/api/splitWhere.d.ts +6 -0
  508. package/collection/immutable/ReadonlyArray/api.d.ts +614 -0
  509. package/collection/immutable/ReadonlyArray/constructors.d.ts +30 -0
  510. package/collection/{compat/Array → immutable/ReadonlyArray}/definition.d.ts +8 -0
  511. package/collection/immutable/ReadonlyArray/instances.d.ts +87 -0
  512. package/collection/immutable/ReadonlyArray.d.ts +7 -0
  513. package/collection/immutable/ReadonlyNonEmptyArray/api.d.ts +186 -0
  514. package/collection/immutable/ReadonlyNonEmptyArray/constructors.d.ts +45 -0
  515. package/collection/immutable/ReadonlyNonEmptyArray/definition.d.ts +21 -0
  516. package/collection/immutable/ReadonlyNonEmptyArray/destructors.d.ts +31 -0
  517. package/collection/immutable/ReadonlyNonEmptyArray/instances.d.ts +52 -0
  518. package/collection/immutable/ReadonlyNonEmptyArray.d.ts +5 -0
  519. package/collection/immutable/Vector/api.d.ts +93 -93
  520. package/collection/immutable.d.ts +2 -2
  521. package/collection.d.ts +1 -0
  522. package/control/Eval/api.d.ts +27 -5
  523. package/control/Eval/constructors.d.ts +5 -0
  524. package/data/CaseClass.d.ts +2 -3
  525. package/data/Const/api.d.ts +5 -5
  526. package/data/Const/instances.d.ts +4 -4
  527. package/data/Datum/api.d.ts +64 -64
  528. package/data/Datum.d.ts +3 -0
  529. package/data/DatumEither/api.d.ts +25 -25
  530. package/data/Either/api.d.ts +24 -24
  531. package/data/Either/constructors.d.ts +12 -12
  532. package/data/EitherT/api.d.ts +16 -16
  533. package/data/Environment/api.d.ts +4 -2
  534. package/data/Eq/api.d.ts +89 -2
  535. package/data/Eq/derivations.d.ts +7 -0
  536. package/data/Exit/api.d.ts +43 -37
  537. package/data/Guard/api.d.ts +7 -8
  538. package/data/Maybe/api.d.ts +38 -33
  539. package/data/Maybe/constructors.d.ts +16 -16
  540. package/data/These/api.d.ts +26 -26
  541. package/data.d.ts +1 -0
  542. package/global.d.ts +4 -8
  543. package/internal/Stack.d.ts +2 -0
  544. package/optics/Lens/api.d.ts +1 -1
  545. package/package.json +3 -3
  546. package/util/assert.d.ts +1 -1
  547. package/_cjs/collection/compat/Array/api.cjs +0 -142
  548. package/_cjs/collection/compat/Array/api.cjs.map +0 -1
  549. package/_cjs/collection/compat/Array/definition.cjs.map +0 -1
  550. package/_cjs/collection/compat/Array.cjs.map +0 -1
  551. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs +0 -19
  552. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +0 -1
  553. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +0 -18
  554. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +0 -1
  555. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +0 -18
  556. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +0 -1
  557. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +0 -28
  558. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +0 -1
  559. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +0 -1
  560. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +0 -59
  561. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs.map +0 -1
  562. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +0 -44
  563. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +0 -1
  564. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +0 -1
  565. package/_cjs/collection/immutable/ImmutableArray.cjs.map +0 -1
  566. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +0 -474
  567. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +0 -1
  568. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +0 -79
  569. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +0 -1
  570. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +0 -36
  571. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +0 -1
  572. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +0 -53
  573. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +0 -1
  574. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +0 -1
  575. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +0 -1
  576. package/_cjs/control/Eval/api/sequenceArray.cjs +0 -17
  577. package/_cjs/control/Eval/api/sequenceArray.cjs.map +0 -1
  578. package/_mjs/collection/compat/Array/api.mjs +0 -125
  579. package/_mjs/collection/compat/Array/api.mjs.map +0 -1
  580. package/_mjs/collection/compat/Array/definition.mjs.map +0 -1
  581. package/_mjs/collection/compat/Array.mjs +0 -4
  582. package/_mjs/collection/compat/Array.mjs.map +0 -1
  583. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +0 -1
  584. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +0 -10
  585. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +0 -1
  586. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +0 -10
  587. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +0 -1
  588. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +0 -20
  589. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +0 -1
  590. package/_mjs/collection/immutable/ImmutableArray/api.mjs +0 -1284
  591. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +0 -1
  592. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs +0 -46
  593. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs.map +0 -1
  594. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +0 -35
  595. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +0 -1
  596. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +0 -1
  597. package/_mjs/collection/immutable/ImmutableArray.mjs +0 -12
  598. package/_mjs/collection/immutable/ImmutableArray.mjs.map +0 -1
  599. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +0 -437
  600. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +0 -1
  601. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +0 -1
  602. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -25
  603. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +0 -1
  604. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +0 -43
  605. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +0 -1
  606. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +0 -1
  607. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +0 -7
  608. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +0 -1
  609. package/_mjs/control/Eval/api/sequenceArray.mjs +0 -9
  610. package/_mjs/control/Eval/api/sequenceArray.mjs.map +0 -1
  611. package/_src/collection/compat/Array/api.ts +0 -134
  612. package/_src/collection/compat/Array.ts +0 -4
  613. package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +0 -8
  614. package/_src/collection/immutable/ImmutableArray/api/slice.ts +0 -8
  615. package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +0 -8
  616. package/_src/collection/immutable/ImmutableArray/api.ts +0 -1526
  617. package/_src/collection/immutable/ImmutableArray/constructors.ts +0 -47
  618. package/_src/collection/immutable/ImmutableArray/definition.ts +0 -48
  619. package/_src/collection/immutable/ImmutableArray.ts +0 -13
  620. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +0 -483
  621. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +0 -83
  622. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +0 -47
  623. package/_src/collection/immutable/ImmutableNonEmptyArray/destructors.ts +0 -41
  624. package/_src/collection/immutable/ImmutableNonEmptyArray.ts +0 -7
  625. package/_src/control/Eval/api/sequenceArray.ts +0 -6
  626. package/collection/compat/Array/api.d.ts +0 -62
  627. package/collection/compat/Array.d.ts +0 -2
  628. package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +0 -6
  629. package/collection/immutable/ImmutableArray/api/slice.d.ts +0 -6
  630. package/collection/immutable/ImmutableArray/api/splitAt.d.ts +0 -6
  631. package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +0 -7
  632. package/collection/immutable/ImmutableArray/api.d.ts +0 -602
  633. package/collection/immutable/ImmutableArray/constructors.d.ts +0 -32
  634. package/collection/immutable/ImmutableArray/definition.d.ts +0 -34
  635. package/collection/immutable/ImmutableArray/instances.d.ts +0 -87
  636. package/collection/immutable/ImmutableArray.d.ts +0 -8
  637. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +0 -186
  638. package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +0 -46
  639. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +0 -40
  640. package/collection/immutable/ImmutableNonEmptyArray/destructors.d.ts +0 -32
  641. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +0 -52
  642. package/collection/immutable/ImmutableNonEmptyArray.d.ts +0 -5
  643. package/control/Eval/api/sequenceArray.d.ts +0 -6
  644. /package/_cjs/collection/{compat/Array → immutable/ReadonlyArray}/definition.cjs +0 -0
  645. /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
+ }