@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
@@ -1,47 +0,0 @@
1
- /**
2
- * @tsplus getter fncts.ReadonlyArray asImmutableArray
3
- * @tsplus getter fncts.Array asImmutableArray
4
- */
5
- export function asImmutableArray<A>(self: ReadonlyArray<A>): ImmutableArray<A> {
6
- return new ImmutableArray(self);
7
- }
8
-
9
- /**
10
- * @tsplus static fncts.ImmutableArrayOps empty
11
- */
12
- export function empty<A = never>(): ImmutableArray<A> {
13
- return new ImmutableArray([]);
14
- }
15
-
16
- /**
17
- * @tsplus static fncts.ImmutableArrayOps makeBy
18
- */
19
- export function makeBy<A>(n: number, f: (i: number) => A): ImmutableArray<A> {
20
- const j = Math.max(0, Math.floor(n));
21
- const out = [];
22
- for (let i = 0; i < j; i++) {
23
- out.push(f(i));
24
- }
25
- return out.asImmutableArray;
26
- }
27
-
28
- /**
29
- * @tsplus static fncts.ImmutableArrayOps range
30
- */
31
- export function range(start: number, end: number): ImmutableArray<number> {
32
- return ImmutableArray.makeBy(end - start + 1, (i) => start + i);
33
- }
34
-
35
- /**
36
- * @tsplus static fncts.ImmutableArrayOps replicate
37
- */
38
- export function replicate<A>(n: number, a: A): ImmutableArray<A> {
39
- return ImmutableArray.makeBy(n, () => a);
40
- }
41
-
42
- /**
43
- * @tsplus static fncts.ImmutableArrayOps __call
44
- */
45
- export function make<A>(...values: ReadonlyArray<A>): ImmutableArray<A> {
46
- return new ImmutableArray(values);
47
- }
@@ -1,48 +0,0 @@
1
- export const ImmutableArrayVariance = Symbol.for("fncts.ImmutableArray.Variance");
2
- export type ImmutableArrayVariance = typeof ImmutableArrayVariance;
3
-
4
- export const ImmutableArrayTypeId = Symbol.for("fncts.ImmutableArray");
5
- export type ImmutableArrayTypeId = typeof ImmutableArrayTypeId;
6
-
7
- export interface ImmutableArrayF extends HKT {
8
- type: ImmutableArray<this["A"]>;
9
- variance: {
10
- A: "+";
11
- };
12
- index: number;
13
- }
14
-
15
- /**
16
- * @tsplus type fncts.ImmutableArray
17
- * @tsplus companion fncts.ImmutableArrayOps
18
- */
19
- export class ImmutableArray<A> implements Equatable, Hashable, Iterable<A> {
20
- readonly [ImmutableArrayTypeId]: ImmutableArrayTypeId = ImmutableArrayTypeId;
21
- declare [ImmutableArrayVariance]: {
22
- readonly _A: (_: never) => A;
23
- };
24
- constructor(readonly _array: ReadonlyArray<A>) {}
25
-
26
- [Symbol.equals](that: unknown): boolean {
27
- return (
28
- isImmutableArray(that) &&
29
- this._array.length === that._array.length &&
30
- this._array.every((a, i) => Equatable.strictEquals(a, that._array[i]))
31
- );
32
- }
33
-
34
- get [Symbol.hash]() {
35
- return Hashable.array(this._array);
36
- }
37
-
38
- [Symbol.iterator]() {
39
- return this._array[Symbol.iterator]();
40
- }
41
- }
42
-
43
- /**
44
- * @tsplus static fncts.ImmutableArrayOps is
45
- */
46
- export function isImmutableArray(u: unknown): u is ImmutableArray<unknown> {
47
- return isObject(u) && ImmutableArrayTypeId in u;
48
- }
@@ -1,13 +0,0 @@
1
- // codegen:start { preset: barrel, include: ./ImmutableArray/*.ts }
2
- export * from "./ImmutableArray/api.js";
3
- export * from "./ImmutableArray/constructors.js";
4
- export * from "./ImmutableArray/definition.js";
5
- export * from "./ImmutableArray/instances.js";
6
- // codegen:end
7
-
8
- // codegen:start { preset: barrel, include: ./ImmutableArray/api/*.ts }
9
- export * from "./ImmutableArray/api/chunksOf.js";
10
- export * from "./ImmutableArray/api/slice.js";
11
- export * from "./ImmutableArray/api/splitAt.js";
12
- export * from "./ImmutableArray/api/splitWhere.js";
13
- // codegen:end
@@ -1,483 +0,0 @@
1
- import type { ImmutableNonEmptyArrayF } from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/definition";
2
-
3
- import { allocWithHead } from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/constructors";
4
- import { ImmutableNonEmptyArray } from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/definition";
5
- import { identity } from "@fncts/base/data/function";
6
- import * as P from "@fncts/base/typeclass";
7
-
8
- /**
9
- * @tsplus pipeable fncts.ImmutableNonEmptyArray ap
10
- */
11
- export function ap_<A>(fa: ImmutableNonEmptyArray<A>) {
12
- return <B>(self: ImmutableNonEmptyArray<(a: A) => B>): ImmutableNonEmptyArray<B> => {
13
- return self.flatMap((f) => fa.map((a) => f(a)));
14
- };
15
- }
16
-
17
- /**
18
- * @tsplus pipeable fncts.ImmutableNonEmptyArray append
19
- */
20
- export function append<B>(last: B) {
21
- return <A>(self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<A | B> => {
22
- const len = self.length;
23
- const r = Array<A | B>(len + 1);
24
- r[len] = last;
25
- for (let i = 0; i < len; i++) {
26
- r[i] = self._array[i]!;
27
- }
28
- return r.unsafeAsNonEmptyArray;
29
- };
30
- }
31
-
32
- /**
33
- * @tsplus pipeable fncts.ImmutableNonEmptyArray align
34
- */
35
- export function align<B>(fb: ImmutableNonEmptyArray<B>) {
36
- return <A>(self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<These<A, B>> => {
37
- return self.alignWith(fb, identity);
38
- };
39
- }
40
-
41
- /**
42
- * @tsplus pipeable fncts.ImmutableNonEmptyArray alignWith
43
- */
44
- export function alignWith<A, B, C>(fb: ImmutableNonEmptyArray<B>, f: (_: These<A, B>) => C) {
45
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<C> => {
46
- const minlen = Math.min(self.length, fb.length);
47
- const maxlen = Math.max(self.length, fb.length);
48
- const ret = allocWithHead(f(These.both(self.head, fb.head)), maxlen);
49
- for (let i = 1; i < minlen; i++) {
50
- ret[i] = f(These.both(self._array[i]!, fb._array[i]!));
51
- }
52
- if (minlen === maxlen) {
53
- return ImmutableNonEmptyArray.from(ret);
54
- } else if (self.length > fb.length) {
55
- for (let i = minlen; i < maxlen; i++) {
56
- ret[i] = f(These.left(self._array[i]!));
57
- }
58
- } else {
59
- for (let i = minlen; i < maxlen; i++) {
60
- ret[i] = f(These.right(fb._array[i]!));
61
- }
62
- }
63
- return ImmutableNonEmptyArray.from(ret);
64
- };
65
- }
66
-
67
- /**
68
- * @tsplus pipeable fncts.ImmutableNonEmptyArray flatMap
69
- */
70
- export function flatMap<A, B>(f: (a: A) => ImmutableNonEmptyArray<B>) {
71
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<B> => {
72
- return self.flatMapWithIndex((_, a) => f(a));
73
- };
74
- }
75
-
76
- /**
77
- * @tsplus pipeable fncts.ImmutableNonEmptyArray flatMapWithIndex
78
- */
79
- export function flatMapWithIndex<A, B>(f: (i: number, a: A) => ImmutableNonEmptyArray<B>) {
80
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<B> => {
81
- let outLen = 1;
82
- const len = self.length;
83
- const temp = allocWithHead(f(0, self._array[0]), len);
84
- for (let i = 1; i < len; i++) {
85
- const e = self._array[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._array[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._array[j]!;
102
- }
103
- start += l;
104
- }
105
- return out.unsafeAsNonEmptyArray;
106
- };
107
- }
108
-
109
- /**
110
- * @tsplus pipeable fncts.ImmutableNonEmptyArray chop
111
- */
112
- export function chop<A, B>(f: (as: ImmutableNonEmptyArray<A>) => readonly [B, ImmutableArray<A>]) {
113
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<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.ImmutableNonEmptyArray chunksOf
128
- */
129
- export function chunksOf(n: number) {
130
- return <A>(self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<ImmutableNonEmptyArray<A>> => {
131
- return self.chop((as) => as.splitAt(n));
132
- };
133
- }
134
-
135
- /**
136
- * @tsplus pipeable fncts.ImmutableNonEmptyArray concat
137
- */
138
- export function concat<B>(that: ImmutableArray<B>) {
139
- return <A>(self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<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._array[i]!;
148
- }
149
- for (let i = 0; i < leny; i++) {
150
- r[i + lenx] = that._array[i]!;
151
- }
152
- return r.unsafeAsNonEmptyArray;
153
- };
154
- }
155
-
156
- /**
157
- * @tsplus pipeable fncts.ImmutableNonEmptyArray crossWith
158
- */
159
- export function crossWith<A, B, C>(fb: ImmutableNonEmptyArray<B>, f: (a: A, b: B) => C) {
160
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<C> => {
161
- return self.flatMap((a) => fb.map((b) => f(a, b)));
162
- };
163
- }
164
-
165
- /**
166
- * @tsplus pipeable fncts.ImmutableNonEmptyArray cross
167
- */
168
- export function cross<B>(fb: ImmutableNonEmptyArray<B>) {
169
- return <A>(self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<Zipped.Make<A, B>> => {
170
- return self.crossWith(fb, (a, b) => Zipped(a, b));
171
- };
172
- }
173
-
174
- /**
175
- * @tsplus pipeable fncts.ImmutableNonEmptyArray elem
176
- */
177
- export function elem<A>(a: A, /** @tsplus auto */ E: P.Eq<A>) {
178
- return (self: ImmutableNonEmptyArray<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._array[i]!)) {
183
- return true;
184
- }
185
- }
186
- return false;
187
- };
188
- }
189
-
190
- /**
191
- * @tsplus getter fncts.ImmutableNonEmptyArray flatten
192
- */
193
- export function flatten<A>(self: ImmutableNonEmptyArray<ImmutableNonEmptyArray<A>>): ImmutableNonEmptyArray<A> {
194
- return self.flatMap(identity);
195
- }
196
-
197
- /**
198
- * @tsplus pipeable fncts.ImmutableNonEmptyArray fold
199
- */
200
- export function fold<A>(/** @tsplus auto */ S: P.Semigroup<A>) {
201
- return (self: ImmutableNonEmptyArray<A>): A => {
202
- return self.slice(1).foldLeft(self._array[0], (b, a) => S.combine(a)(b));
203
- };
204
- }
205
-
206
- /**
207
- * @tsplus pipeable fncts.ImmutableNonEmptyArray foldLeft
208
- */
209
- export function foldLeft<A, B>(b: B, f: (b: B, a: A) => B) {
210
- return (self: ImmutableNonEmptyArray<A>): B => {
211
- return self.foldLeftWithIndex(b, (_, b, a) => f(b, a));
212
- };
213
- }
214
-
215
- /**
216
- * @tsplus pipeable fncts.ImmutableNonEmptyArray foldLeftWithIndex
217
- */
218
- export function foldLeftWithIndex<A, B>(b: B, f: (i: number, b: B, a: A) => B) {
219
- return (self: ImmutableNonEmptyArray<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._array[i]!);
224
- }
225
- return r;
226
- };
227
- }
228
-
229
- /**
230
- * @tsplus pipeable fncts.ImmutableNonEmptyArray foldMapWithIndex
231
- */
232
- export function foldMapWithIndex<A, M>(f: (i: number, a: A) => M, /** @tsplus auto */ M: P.Monoid<M>) {
233
- return (self: ImmutableNonEmptyArray<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.ImmutableNonEmptyArray foldMap
240
- */
241
- export function foldMap<A, M>(f: (a: A) => M, /** @tsplus auto */ M: P.Monoid<M>) {
242
- return (self: ImmutableNonEmptyArray<A>): M => {
243
- return self.foldMapWithIndex((_, a) => f(a), M);
244
- };
245
- }
246
-
247
- /**
248
- * @tsplus pipeable fncts.ImmutableNonEmptyArray foldRight
249
- */
250
- export function foldRight<A, B>(b: B, f: (a: A, b: B) => B) {
251
- return (self: ImmutableNonEmptyArray<A>): B => {
252
- return self.foldRightWithIndex(b, (_, a, b) => f(a, b));
253
- };
254
- }
255
-
256
- /**
257
- * @tsplus pipeable fncts.ImmutableNonEmptyArray foldRightWithIndex
258
- */
259
- export function foldRightWithIndex<A, B>(b: B, f: (i: number, a: A, b: B) => B) {
260
- return (self: ImmutableNonEmptyArray<A>): B => {
261
- let r = b;
262
- for (let i = self.length - 1; i >= 0; i--) {
263
- r = f(i, self._array[i]!, r);
264
- }
265
- return r;
266
- };
267
- }
268
-
269
- /**
270
- * @tsplus pipeable fncts.ImmutableNonEmptyArray group
271
- */
272
- export function group<A>(/** @tsplus auto */ E: P.Eq<A>) {
273
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<ImmutableNonEmptyArray<A>> => {
274
- return self.chop((as) => {
275
- const h = as._array[0];
276
- const out = [h];
277
- let i = 1;
278
- for (; i < as.length; i++) {
279
- const a = as._array[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: ImmutableNonEmptyArray<A>,
293
- /** @tsplus auto */ O: P.Ord<A>,
294
- ): ImmutableNonEmptyArray<ImmutableNonEmptyArray<A>> {
295
- return as.sort(O).group(O);
296
- }
297
-
298
- /**
299
- * @tsplus pipeable fncts.ImmutableNonEmptyArray isOutOfBound
300
- */
301
- export function isOutOfBound(i: number) {
302
- return <A>(as: ImmutableNonEmptyArray<A>): boolean => {
303
- return i < 0 || i >= as.length;
304
- };
305
- }
306
-
307
- /**
308
- * @tsplus pipeable fncts.ImmutableNonEmptyArray map
309
- */
310
- export function map<A, B>(f: (a: A) => B) {
311
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<B> => {
312
- return self.mapWithIndex((_, a) => f(a));
313
- };
314
- }
315
-
316
- /**
317
- * @tsplus pipeable fncts.ImmutableNonEmptyArray mapWithIndex
318
- */
319
- export function mapWithIndex<A, B>(f: (i: number, a: A) => B) {
320
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<B> => {
321
- const out = allocWithHead(f(0, self._array[0]), self.length);
322
- for (let i = 1; i < self.length; i++) {
323
- out[i] = f(i, self._array[i]!);
324
- }
325
- return ImmutableNonEmptyArray.from(out);
326
- };
327
- }
328
-
329
- /**
330
- * @tsplus pipeable fncts.ImmutableNonEmptyArray max
331
- */
332
- export function max<A>(/** @tsplus auto */ O: P.Ord<A>) {
333
- return (self: ImmutableNonEmptyArray<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.ImmutableNonEmptyArray max
342
- */
343
- export function min<A>(/** @tsplus auto */ O: P.Ord<A>) {
344
- return (self: ImmutableNonEmptyArray<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.ImmutableNonEmptyArray mutableClone
353
- */
354
- export function mutableClone<A>(as: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<A> {
355
- return as._array.slice(0).unsafeAsNonEmptyArray;
356
- }
357
-
358
- /**
359
- * @tsplus pipeable fncts.ImmutableNonEmptyArray prepend
360
- */
361
- export function prepend<B>(head: B) {
362
- return <A>(self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<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._array[i]!;
368
- }
369
- return out.unsafeAsNonEmptyArray;
370
- };
371
- }
372
-
373
- /**
374
- * @tsplus getter fncts.ImmutableNonEmptyArray reverse
375
- */
376
- export function reverse<A>(self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<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._array[i]!;
383
- }
384
- return ImmutableNonEmptyArray.from(out);
385
- }
386
-
387
- /**
388
- * @tsplus pipeable fncts.ImmutableNonEmptyArray splitAt
389
- */
390
- export function splitAt(n: number) {
391
- return <A>(self: ImmutableNonEmptyArray<A>): readonly [ImmutableNonEmptyArray<A>, ImmutableArray<A>] => {
392
- const m = Math.max(1, n);
393
- return m >= self.length
394
- ? [self, ImmutableArray.empty()]
395
- : [self._array.slice(0, m).unsafeAsNonEmptyArray, self.slice(m)];
396
- };
397
- }
398
-
399
- /**
400
- * @tsplus pipeable fncts.ImmutableNonEmptyArray sort
401
- */
402
- export function sort<A>(/** @tsplus auto */ O: P.Ord<A>) {
403
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<A> => {
404
- return self.length === 1
405
- ? self
406
- : self._array.slice().sort((first, second) => O.compare(second)(first)).unsafeAsNonEmptyArray;
407
- };
408
- }
409
-
410
- /**
411
- * @tsplus getter fncts.ImmutableNonEmptyArray traverseWithIndex
412
- */
413
- export function _traverseWithIndex<A>(
414
- self: ImmutableNonEmptyArray<A>,
415
- ): <G extends HKT, GC = HKT.None>(
416
- G: P.Applicative<G, GC>,
417
- ) => <K, Q, W, X, I, S, R, E, B>(
418
- f: (i: number, a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
419
- ) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, ImmutableNonEmptyArray<B>>;
420
- export function _traverseWithIndex<A>(
421
- self: ImmutableNonEmptyArray<A>,
422
- ): <G>(
423
- G: P.Applicative<HKT.F<G>>,
424
- ) => <B>(f: (i: number, a: A) => HKT.FK1<G, B>) => HKT.FK1<G, ImmutableNonEmptyArray<B>> {
425
- return (G) => (f) =>
426
- self.tail.foldLeftWithIndex(f(0, self.head).pipe(G.map((b) => ImmutableNonEmptyArray(b))), (i, fbs, a) =>
427
- fbs.pipe(G.zipWith(f(i + 1, a), (bs, b) => bs.append(b))),
428
- );
429
- }
430
-
431
- /**
432
- * @tsplus getter fncts.ImmutableNonEmptyArray traverse
433
- */
434
- export function _traverse<A>(
435
- self: ImmutableNonEmptyArray<A>,
436
- ): <G extends HKT, GC = HKT.None>(
437
- G: P.Applicative<G, GC>,
438
- ) => <K, Q, W, X, I, S, R, E, B>(
439
- f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
440
- ) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, ImmutableNonEmptyArray<B>> {
441
- return (G) => (f) => self.traverseWithIndex(G)((_, a) => f(a));
442
- }
443
-
444
- export const traverseWithIndex: P.TraversableWithIndex<ImmutableNonEmptyArrayF>["traverseWithIndex"] =
445
- (G) => (f) => (self) =>
446
- self.traverseWithIndex(G)(f);
447
-
448
- export const traverse: P.Traversable<ImmutableNonEmptyArrayF>["traverse"] = (G) => (f) => (self) =>
449
- self.traverseWithIndex(G)((_, a) => f(a));
450
-
451
- /**
452
- * @tsplus pipeable fncts.ImmutableNonEmptyArray uniq
453
- */
454
- export function uniq<A>(/** @tsplus auto */ E: P.Eq<A>) {
455
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<A> => {
456
- if (self.length === 1) {
457
- return self;
458
- }
459
- const out = [self._array[0]];
460
- const len = self.length;
461
- for (let i = 1; i < len; i++) {
462
- const a = self._array[i]!;
463
- if (!out.unsafeAsNonEmptyArray.elem(a, E)) {
464
- out.push(a);
465
- }
466
- }
467
- return out.unsafeAsNonEmptyArray;
468
- };
469
- }
470
-
471
- /**
472
- * @tsplus pipeable fncts.ImmutableNonEmptyArray zipWith
473
- */
474
- export function zipWith<A, B, C>(fb: ImmutableNonEmptyArray<B>, f: (a: A, b: B) => C) {
475
- return (self: ImmutableNonEmptyArray<A>): ImmutableNonEmptyArray<C> => {
476
- const len = Math.min(self.length, fb.length);
477
- const cs = allocWithHead(f(self._array[0], fb._array[0]), len);
478
- for (let i = 1; i < len; i++) {
479
- cs[i] = f(self._array[i]!, fb._array[i]!);
480
- }
481
- return ImmutableNonEmptyArray.from(cs);
482
- };
483
- }
@@ -1,83 +0,0 @@
1
- import { ImmutableNonEmptyArray } from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/definition";
2
-
3
- export function allocWithHead<A>(
4
- head: A,
5
- length: number,
6
- ): Array<A> & {
7
- 0: A;
8
- } {
9
- const as = new Array(length);
10
- as[0] = head;
11
- return as as Array<A> & {
12
- 0: A;
13
- };
14
- }
15
-
16
- /**
17
- * @tsplus getter fncts.ReadonlyArray unsafeAsNonEmptyArray
18
- * @tsplus getter fncts.Array unsafeAsNonEmptyArray
19
- */
20
- export function unsafeAsNonEmptyArray<A>(self: ReadonlyArray<A>): ImmutableNonEmptyArray<A> {
21
- if (self.length === 0) {
22
- throw new IndexOutOfBoundsError("0 length Array supplied to Array#unsafeAsNonEmpty");
23
- }
24
- return new ImmutableNonEmptyArray(
25
- self as ReadonlyArray<A> & {
26
- readonly 0: A;
27
- },
28
- );
29
- }
30
-
31
- /**
32
- * @tsplus static fncts.ImmutableNonEmptyArrayOps from
33
- */
34
- export function from<A>(
35
- self: ReadonlyArray<A> & {
36
- readonly 0: A;
37
- },
38
- ): ImmutableNonEmptyArray<A> {
39
- return new ImmutableNonEmptyArray(self);
40
- }
41
-
42
- /**
43
- * @tsplus static fncts.ImmutableNonEmptyArrayOps fromArray
44
- * @tsplus getter fncts.ImmutableArray toNonEmptyArray
45
- */
46
- export function fromArray<A>(self: ImmutableArray<A>): Maybe<ImmutableNonEmptyArray<A>> {
47
- return self.isNonEmpty() ? Just(self) : Nothing();
48
- }
49
-
50
- /**
51
- * @tsplus static fncts.ImmutableNonEmptyArrayOps __call
52
- */
53
- export function make<A>(...values: NonEmptyArray<A>): ImmutableNonEmptyArray<A> {
54
- return new ImmutableNonEmptyArray(values);
55
- }
56
-
57
- /**
58
- * @tsplus static fncts.ImmutableNonEmptyArrayOps makeBy
59
- */
60
- export function makeBy<A>(n: number, f: (i: number) => A): ImmutableNonEmptyArray<A> {
61
- const len = Math.max(0, Math.floor(n));
62
- const out = allocWithHead(f(0), len);
63
- for (let i = 1; i < len; i++) {
64
- out.push(f(i));
65
- }
66
- return new ImmutableNonEmptyArray(out);
67
- }
68
-
69
- /**
70
- * @tsplus static fncts.ImmutableNonEmptyArray replicate
71
- */
72
- export function replicate<A>(n: number, a: A): ImmutableNonEmptyArray<A> {
73
- return ImmutableNonEmptyArray.makeBy(n, () => a);
74
- }
75
-
76
- /**
77
- * @tsplus static fncts.ImmutableNonEmptyArrayOps range
78
- */
79
- export function range(start: number, end: number): ImmutableNonEmptyArray<number> {
80
- return start <= end
81
- ? ImmutableNonEmptyArray.makeBy(end - start + 1, (i) => start + i)
82
- : ImmutableNonEmptyArray(start);
83
- }