@fncts/base 0.0.19 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (995) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +8 -8
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/Iterable/api.cjs +497 -444
  4. package/_cjs/collection/Iterable/api.cjs.map +1 -1
  5. package/_cjs/collection/Iterable/constructors.cjs +7 -7
  6. package/_cjs/collection/Iterable/constructors.cjs.map +1 -1
  7. package/_cjs/collection/compat/Array/api.cjs +16 -12
  8. package/_cjs/collection/compat/Array/api.cjs.map +1 -1
  9. package/_cjs/collection/compat/Array/derivations.cjs +41 -19
  10. package/_cjs/collection/compat/Array/derivations.cjs.map +1 -1
  11. package/_cjs/collection/compat/ArrayLike/api.cjs +1 -1
  12. package/_cjs/collection/compat/ArrayLike/api.cjs.map +1 -1
  13. package/_cjs/collection/compat/Record/instances.cjs +39 -3
  14. package/_cjs/collection/compat/Record/instances.cjs.map +1 -1
  15. package/_cjs/collection/immutable/Conc/api/makeBy.cjs +1 -1
  16. package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
  17. package/_cjs/collection/immutable/Conc/api.cjs +866 -765
  18. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  19. package/_cjs/collection/immutable/Conc/definition.cjs +55 -53
  20. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  21. package/_cjs/collection/immutable/Conc/derivations.cjs +13 -2
  22. package/_cjs/collection/immutable/Conc/derivations.cjs.map +1 -1
  23. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  24. package/_cjs/collection/immutable/Dictionary/api.cjs +57 -44
  25. package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
  26. package/_cjs/collection/immutable/HashMap/api.cjs +351 -258
  27. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  28. package/_cjs/collection/immutable/HashMap/definition.cjs +1 -1
  29. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  30. package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
  31. package/_cjs/collection/immutable/HashSet/api.cjs +230 -192
  32. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  33. package/_cjs/collection/immutable/HashSet/definition.cjs +1 -1
  34. package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
  35. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs +6 -4
  36. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +1 -1
  37. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +6 -4
  38. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +1 -1
  39. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +6 -4
  40. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +1 -1
  41. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +15 -13
  42. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +1 -1
  43. package/_cjs/collection/immutable/ImmutableArray/api.cjs +943 -749
  44. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  45. package/_cjs/collection/immutable/ImmutableArray/derivations.cjs +12 -1
  46. package/_cjs/collection/immutable/ImmutableArray/derivations.cjs.map +1 -1
  47. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +33 -33
  48. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  49. package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
  50. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +338 -273
  51. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  52. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
  53. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  54. package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs +15 -4
  55. package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs.map +1 -1
  56. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +2 -2
  57. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +1 -1
  58. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +12 -12
  59. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  60. package/_cjs/collection/immutable/List/api/foldLeft.cjs +12 -10
  61. package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
  62. package/_cjs/collection/immutable/List/api.cjs +164 -141
  63. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  64. package/_cjs/collection/immutable/List.cjs.map +1 -1
  65. package/_cjs/collection/immutable/Queue/api.cjs +64 -48
  66. package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
  67. package/_cjs/collection/immutable/Queue/definition.cjs +1 -1
  68. package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
  69. package/_cjs/collection/immutable/RoseTree/api.cjs +50 -36
  70. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
  71. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  72. package/_cjs/collection/immutable/SortedMap/api.cjs +408 -368
  73. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  74. package/_cjs/collection/immutable/Vector/api.cjs +723 -608
  75. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  76. package/_cjs/collection/immutable/Vector/definition.cjs +18 -16
  77. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  78. package/_cjs/collection/immutable/Vector/internal.cjs +40 -39
  79. package/_cjs/collection/immutable/Vector/internal.cjs.map +1 -1
  80. package/_cjs/collection/mutable/HashMap.cjs +3 -5
  81. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  82. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  83. package/_cjs/collection/mutable/ListBuffer.cjs +2 -2
  84. package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
  85. package/_cjs/collection/mutable/internal.cjs +0 -2
  86. package/_cjs/collection/mutable/internal.cjs.map +1 -1
  87. package/_cjs/collection/weak/IterableWeakMap.cjs +7 -7
  88. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  89. package/_cjs/collection/weak/IterableWeakSet.cjs +7 -7
  90. package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
  91. package/_cjs/control/Eval/api.cjs +55 -43
  92. package/_cjs/control/Eval/api.cjs.map +1 -1
  93. package/_cjs/control/Eval/instance.cjs +4 -4
  94. package/_cjs/control/Eval/instance.cjs.map +1 -1
  95. package/_cjs/control/Eval/run.cjs +1 -1
  96. package/_cjs/control/Eval/run.cjs.map +1 -1
  97. package/_cjs/control/Z/api.cjs +241 -172
  98. package/_cjs/control/Z/api.cjs.map +1 -1
  99. package/_cjs/control/Z/instances.cjs +3 -3
  100. package/_cjs/control/Z/instances.cjs.map +1 -1
  101. package/_cjs/control/Z/runtime.cjs +250 -241
  102. package/_cjs/control/Z/runtime.cjs.map +1 -1
  103. package/_cjs/data/Branded/definition.cjs.map +1 -1
  104. package/_cjs/data/Branded/derivations.cjs +3 -3
  105. package/_cjs/data/Branded/derivations.cjs.map +1 -1
  106. package/_cjs/data/CaseClass.cjs.map +1 -1
  107. package/_cjs/data/Cause/api/fold.cjs +20 -18
  108. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  109. package/_cjs/data/Cause/api/isEmpty.cjs +1 -1
  110. package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
  111. package/_cjs/data/Cause/api/linearize.cjs +8 -8
  112. package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
  113. package/_cjs/data/Cause/api/prettyPrint.cjs +1 -1
  114. package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
  115. package/_cjs/data/Cause/api.cjs +160 -140
  116. package/_cjs/data/Cause/api.cjs.map +1 -1
  117. package/_cjs/data/Cause/definition.cjs +18 -18
  118. package/_cjs/data/Cause/definition.cjs.map +1 -1
  119. package/_cjs/data/Cause.cjs.map +1 -1
  120. package/_cjs/data/Const/api.cjs +8 -6
  121. package/_cjs/data/Const/api.cjs.map +1 -1
  122. package/_cjs/data/Const/instances.cjs +4 -4
  123. package/_cjs/data/Const/instances.cjs.map +1 -1
  124. package/_cjs/data/Datum/api.cjs +219 -176
  125. package/_cjs/data/Datum/api.cjs.map +1 -1
  126. package/_cjs/data/Datum/definition.cjs.map +1 -1
  127. package/_cjs/data/DatumEither/api.cjs +165 -133
  128. package/_cjs/data/DatumEither/api.cjs.map +1 -1
  129. package/_cjs/data/DecodeError/definition.cjs +14 -14
  130. package/_cjs/data/DecodeError/definition.cjs.map +1 -1
  131. package/_cjs/data/Decoder/api.cjs +9 -7
  132. package/_cjs/data/Decoder/api.cjs.map +1 -1
  133. package/_cjs/data/Duration/api.cjs +18 -12
  134. package/_cjs/data/Duration/api.cjs.map +1 -1
  135. package/_cjs/data/Either/api/align.cjs +8 -3
  136. package/_cjs/data/Either/api/align.cjs.map +1 -1
  137. package/_cjs/data/Either/api/alignWith.cjs +14 -12
  138. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  139. package/_cjs/data/Either/api.cjs +206 -169
  140. package/_cjs/data/Either/api.cjs.map +1 -1
  141. package/_cjs/data/Either/constructors.cjs +11 -9
  142. package/_cjs/data/Either/constructors.cjs.map +1 -1
  143. package/_cjs/data/Either/destructors.cjs +16 -14
  144. package/_cjs/data/Either/destructors.cjs.map +1 -1
  145. package/_cjs/data/Either/instances.cjs +8 -8
  146. package/_cjs/data/Either/instances.cjs.map +1 -1
  147. package/_cjs/data/EitherT/api.cjs +8 -8
  148. package/_cjs/data/EitherT/api.cjs.map +1 -1
  149. package/_cjs/data/Encoder/api.cjs +134 -0
  150. package/_cjs/data/Encoder/api.cjs.map +1 -0
  151. package/_cjs/data/Encoder/definition.cjs +25 -0
  152. package/_cjs/data/Encoder/definition.cjs.map +1 -0
  153. package/_cjs/data/{Patch.cjs → Encoder.cjs} +3 -3
  154. package/_cjs/data/Encoder.cjs.map +1 -0
  155. package/_cjs/data/Environment/api.cjs +45 -33
  156. package/_cjs/data/Environment/api.cjs.map +1 -1
  157. package/_cjs/data/Environment/definition.cjs.map +1 -1
  158. package/_cjs/data/{Patch/api.cjs → EnvironmentPatch.cjs} +134 -38
  159. package/_cjs/data/EnvironmentPatch.cjs.map +1 -0
  160. package/_cjs/data/ExecutionStrategy.cjs +21 -29
  161. package/_cjs/data/ExecutionStrategy.cjs.map +1 -1
  162. package/_cjs/data/Exit/api.cjs +159 -127
  163. package/_cjs/data/Exit/api.cjs.map +1 -1
  164. package/_cjs/data/Exit/constructors.cjs +4 -4
  165. package/_cjs/data/Exit/constructors.cjs.map +1 -1
  166. package/_cjs/data/FiberId/api.cjs +23 -21
  167. package/_cjs/data/FiberId/api.cjs.map +1 -1
  168. package/_cjs/data/FiberId/constructors.cjs.map +1 -1
  169. package/_cjs/data/Identity/api.cjs +26 -18
  170. package/_cjs/data/Identity/api.cjs.map +1 -1
  171. package/_cjs/data/Identity/instances.cjs +3 -3
  172. package/_cjs/data/Identity/instances.cjs.map +1 -1
  173. package/_cjs/data/Interval.cjs +43 -33
  174. package/_cjs/data/Interval.cjs.map +1 -1
  175. package/_cjs/data/Intervals.cjs +35 -27
  176. package/_cjs/data/Intervals.cjs.map +1 -1
  177. package/_cjs/data/Maybe/api.cjs +160 -125
  178. package/_cjs/data/Maybe/api.cjs.map +1 -1
  179. package/_cjs/data/Maybe/constructors.cjs +2 -2
  180. package/_cjs/data/Maybe/constructors.cjs.map +1 -1
  181. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  182. package/_cjs/data/Maybe/destructors.cjs +9 -7
  183. package/_cjs/data/Maybe/destructors.cjs.map +1 -1
  184. package/_cjs/data/Maybe/instances.cjs +11 -11
  185. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  186. package/_cjs/data/Predicate/api.cjs +10 -8
  187. package/_cjs/data/Predicate/api.cjs.map +1 -1
  188. package/_cjs/data/Refinement/api.cjs +15 -9
  189. package/_cjs/data/Refinement/api.cjs.map +1 -1
  190. package/_cjs/data/Struct/api.cjs +62 -50
  191. package/_cjs/data/Struct/api.cjs.map +1 -1
  192. package/_cjs/data/Tag/constructors.cjs +3 -2
  193. package/_cjs/data/Tag/constructors.cjs.map +1 -1
  194. package/_cjs/data/Tag/definition.cjs +0 -3
  195. package/_cjs/data/Tag/definition.cjs.map +1 -1
  196. package/_cjs/data/These/api.cjs +188 -170
  197. package/_cjs/data/These/api.cjs.map +1 -1
  198. package/_cjs/data/These/constructors.cjs +1 -1
  199. package/_cjs/data/These/constructors.cjs.map +1 -1
  200. package/_cjs/data/These/destructors.cjs +39 -35
  201. package/_cjs/data/These/destructors.cjs.map +1 -1
  202. package/_cjs/data/These/instances.cjs +1 -1
  203. package/_cjs/data/These/instances.cjs.map +1 -1
  204. package/_cjs/data/Trace/api.cjs +7 -5
  205. package/_cjs/data/Trace/api.cjs.map +1 -1
  206. package/_cjs/data/Zipped.cjs.map +1 -1
  207. package/_cjs/data/function/api.cjs +6 -4
  208. package/_cjs/data/function/api.cjs.map +1 -1
  209. package/_cjs/data/function/pipe.cjs +9 -0
  210. package/_cjs/data/function/pipe.cjs.map +1 -1
  211. package/_cjs/data/string/api.cjs +53 -96
  212. package/_cjs/data/string/api.cjs.map +1 -1
  213. package/_cjs/global/api.cjs +4 -2
  214. package/_cjs/global/api.cjs.map +1 -1
  215. package/_cjs/internal/AtomicBoolean.cjs.map +1 -1
  216. package/_cjs/internal/AtomicNumber.cjs.map +1 -1
  217. package/_cjs/internal/AtomicReference.cjs.map +1 -1
  218. package/_cjs/internal/Stack.cjs +2 -2
  219. package/_cjs/internal/Stack.cjs.map +1 -1
  220. package/_cjs/optics/At/api.cjs +1 -1
  221. package/_cjs/optics/At/api.cjs.map +1 -1
  222. package/_cjs/optics/At/definition.cjs +2 -2
  223. package/_cjs/optics/At/definition.cjs.map +1 -1
  224. package/_cjs/optics/Fold/definition.cjs +3 -4
  225. package/_cjs/optics/Fold/definition.cjs.map +1 -1
  226. package/_cjs/optics/Getter/definition.cjs +2 -3
  227. package/_cjs/optics/Getter/definition.cjs.map +1 -1
  228. package/_cjs/optics/Index/api.cjs +4 -4
  229. package/_cjs/optics/Index/api.cjs.map +1 -1
  230. package/_cjs/optics/Index/definition.cjs +2 -2
  231. package/_cjs/optics/Index/definition.cjs.map +1 -1
  232. package/_cjs/optics/Iso/api.cjs +9 -7
  233. package/_cjs/optics/Iso/api.cjs.map +1 -1
  234. package/_cjs/optics/Iso/definition.cjs +12 -12
  235. package/_cjs/optics/Iso/definition.cjs.map +1 -1
  236. package/_cjs/optics/Lens/api.cjs +54 -44
  237. package/_cjs/optics/Lens/api.cjs.map +1 -1
  238. package/_cjs/optics/Lens/definition.cjs +10 -10
  239. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  240. package/_cjs/optics/Optional/api/compose.cjs +9 -7
  241. package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
  242. package/_cjs/optics/Optional/definition.cjs +12 -13
  243. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  244. package/_cjs/optics/Optional.cjs.map +1 -1
  245. package/_cjs/optics/Prism/api/compose.cjs +9 -7
  246. package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
  247. package/_cjs/optics/Prism/api/fromNullable.cjs +2 -2
  248. package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
  249. package/_cjs/optics/Prism/api/just.cjs +2 -2
  250. package/_cjs/optics/Prism/api/just.cjs.map +1 -1
  251. package/_cjs/optics/Prism/definition.cjs +9 -9
  252. package/_cjs/optics/Prism/definition.cjs.map +1 -1
  253. package/_cjs/optics/Prism.cjs.map +1 -1
  254. package/_cjs/optics/Setter/definition.cjs +8 -13
  255. package/_cjs/optics/Setter/definition.cjs.map +1 -1
  256. package/_cjs/optics/Traversal/api/compose.cjs +8 -6
  257. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  258. package/_cjs/optics/Traversal/api/fromTraversable.cjs +2 -2
  259. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  260. package/_cjs/optics/Traversal/definition.cjs +12 -12
  261. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  262. package/_cjs/optics/Traversal.cjs.map +1 -1
  263. package/_cjs/typeclass/Align.cjs.map +1 -1
  264. package/_cjs/typeclass/Alt.cjs.map +1 -1
  265. package/_cjs/typeclass/Applicative.cjs.map +1 -1
  266. package/_cjs/typeclass/ApplicativeExcept.cjs +5 -10
  267. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  268. package/_cjs/typeclass/Apply.cjs +8 -8
  269. package/_cjs/typeclass/Apply.cjs.map +1 -1
  270. package/_cjs/typeclass/Chain.cjs +4 -4
  271. package/_cjs/typeclass/Chain.cjs.map +1 -1
  272. package/_cjs/typeclass/Eq/definition.cjs.map +1 -1
  273. package/_cjs/typeclass/Eq/derivations.cjs.map +1 -1
  274. package/_cjs/typeclass/Equatable/api.cjs.map +1 -1
  275. package/_cjs/typeclass/Equatable/definition.cjs.map +1 -1
  276. package/_cjs/typeclass/Equatable/fast-equals.cjs.map +1 -1
  277. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  278. package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
  279. package/_cjs/typeclass/Foldable.cjs +1 -1
  280. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  281. package/_cjs/typeclass/FoldableWithIndex.cjs +1 -1
  282. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  283. package/_cjs/typeclass/Functor.cjs.map +1 -1
  284. package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
  285. package/_cjs/typeclass/Guard/api.cjs +18 -10
  286. package/_cjs/typeclass/Guard/api.cjs.map +1 -1
  287. package/_cjs/typeclass/Guard/definition.cjs.map +1 -1
  288. package/_cjs/typeclass/Guard/derivations.cjs.map +1 -1
  289. package/_cjs/typeclass/Has.cjs +7 -5
  290. package/_cjs/typeclass/Has.cjs.map +1 -1
  291. package/_cjs/typeclass/HashEq.cjs.map +1 -1
  292. package/_cjs/typeclass/Hashable/definition.cjs.map +1 -1
  293. package/_cjs/typeclass/Hashable/hash.cjs.map +1 -1
  294. package/_cjs/typeclass/MonadExcept.cjs +1 -1
  295. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  296. package/_cjs/typeclass/Ord/api/contramap.cjs +7 -5
  297. package/_cjs/typeclass/Ord/api/contramap.cjs.map +1 -1
  298. package/_cjs/typeclass/Ord/api/max.cjs.map +1 -1
  299. package/_cjs/typeclass/Ord/api/min.cjs.map +1 -1
  300. package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
  301. package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
  302. package/_cjs/typeclass/Ordering.cjs.map +1 -1
  303. package/_cjs/typeclass/Semialign.cjs +7 -7
  304. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  305. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  306. package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
  307. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
  308. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  309. package/_cjs/typeclass/Showable/definition.cjs.map +1 -1
  310. package/_cjs/typeclass/Showable/show.cjs +107 -107
  311. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  312. package/_cjs/typeclass/Showable/styles.cjs.map +1 -1
  313. package/_cjs/typeclass/Showable/util.cjs +1 -1
  314. package/_cjs/typeclass/Showable/util.cjs.map +1 -1
  315. package/_cjs/typeclass/Traversable.cjs +1 -2
  316. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  317. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  318. package/_cjs/typeclass/Witherable.cjs +3 -1
  319. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  320. package/_cjs/typeclass/WitherableWithIndex.cjs +3 -1
  321. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  322. package/_cjs/util/AnsiFormat.cjs +11 -11
  323. package/_cjs/util/AnsiFormat.cjs.map +1 -1
  324. package/_cjs/util/PCGRandom.cjs.map +1 -1
  325. package/_cjs/util/assert.cjs.map +1 -1
  326. package/_cjs/util/pattern.cjs.map +1 -1
  327. package/_cjs/util/predicates.cjs.map +1 -1
  328. package/_cjs/util/rand/Random.cjs.map +1 -1
  329. package/_cjs/util/rand/distribution/UniformArrayIntDistribution.cjs.map +1 -1
  330. package/_cjs/util/rand/distribution/UniformBigIntDistribution.cjs.map +1 -1
  331. package/_cjs/util/rand/distribution/UniformIntDistribution.cjs.map +1 -1
  332. package/_cjs/util/rand/distribution/internals/ArrayInt.cjs.map +1 -1
  333. package/_cjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.cjs.map +1 -1
  334. package/_cjs/util/rand/distribution/internals/UniformIntDistributionInternal.cjs.map +1 -1
  335. package/_cjs/util/rand/generator/MersenneTwister.cjs.map +1 -1
  336. package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
  337. package/_cjs/util/rand.cjs.map +1 -1
  338. package/_mjs/collection/Iterable/api/traverseConc.mjs +5 -5
  339. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  340. package/_mjs/collection/Iterable/api.mjs +465 -411
  341. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  342. package/_mjs/collection/Iterable/constructors.mjs +5 -5
  343. package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
  344. package/_mjs/collection/compat/Array/api.mjs +16 -12
  345. package/_mjs/collection/compat/Array/api.mjs.map +1 -1
  346. package/_mjs/collection/compat/Array/derivations.mjs +35 -19
  347. package/_mjs/collection/compat/Array/derivations.mjs.map +1 -1
  348. package/_mjs/collection/compat/ArrayLike/api.mjs +1 -1
  349. package/_mjs/collection/compat/ArrayLike/api.mjs.map +1 -1
  350. package/_mjs/collection/compat/Record/instances.mjs +34 -3
  351. package/_mjs/collection/compat/Record/instances.mjs.map +1 -1
  352. package/_mjs/collection/immutable/Conc/api/makeBy.mjs +1 -1
  353. package/_mjs/collection/immutable/Conc/api/makeBy.mjs.map +1 -1
  354. package/_mjs/collection/immutable/Conc/api.mjs +795 -697
  355. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  356. package/_mjs/collection/immutable/Conc/definition.mjs +53 -51
  357. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  358. package/_mjs/collection/immutable/Conc/derivations.mjs +10 -2
  359. package/_mjs/collection/immutable/Conc/derivations.mjs.map +1 -1
  360. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  361. package/_mjs/collection/immutable/Dictionary/api.mjs +47 -35
  362. package/_mjs/collection/immutable/Dictionary/api.mjs.map +1 -1
  363. package/_mjs/collection/immutable/HashMap/api.mjs +295 -217
  364. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  365. package/_mjs/collection/immutable/HashMap/definition.mjs +1 -1
  366. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  367. package/_mjs/collection/immutable/HashMap/internal.mjs.map +1 -1
  368. package/_mjs/collection/immutable/HashSet/api.mjs +206 -168
  369. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  370. package/_mjs/collection/immutable/HashSet/definition.mjs +1 -1
  371. package/_mjs/collection/immutable/HashSet/definition.mjs.map +1 -1
  372. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs +5 -3
  373. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +1 -1
  374. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +5 -3
  375. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +1 -1
  376. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +5 -3
  377. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +1 -1
  378. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +13 -11
  379. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +1 -1
  380. package/_mjs/collection/immutable/ImmutableArray/api.mjs +816 -629
  381. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  382. package/_mjs/collection/immutable/ImmutableArray/derivations.mjs +9 -1
  383. package/_mjs/collection/immutable/ImmutableArray/derivations.mjs.map +1 -1
  384. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +34 -34
  385. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  386. package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
  387. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +301 -239
  388. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  389. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
  390. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  391. package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs +12 -4
  392. package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs.map +1 -1
  393. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +2 -2
  394. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +1 -1
  395. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +13 -13
  396. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  397. package/_mjs/collection/immutable/List/api/foldLeft.mjs +11 -9
  398. package/_mjs/collection/immutable/List/api/foldLeft.mjs.map +1 -1
  399. package/_mjs/collection/immutable/List/api.mjs +157 -133
  400. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  401. package/_mjs/collection/immutable/List.mjs.map +1 -1
  402. package/_mjs/collection/immutable/Queue/api.mjs +55 -39
  403. package/_mjs/collection/immutable/Queue/api.mjs.map +1 -1
  404. package/_mjs/collection/immutable/Queue/definition.mjs +1 -1
  405. package/_mjs/collection/immutable/Queue/definition.mjs.map +1 -1
  406. package/_mjs/collection/immutable/RoseTree/api.mjs +50 -36
  407. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -1
  408. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
  409. package/_mjs/collection/immutable/SortedMap/api.mjs +398 -358
  410. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  411. package/_mjs/collection/immutable/Vector/api.mjs +650 -538
  412. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  413. package/_mjs/collection/immutable/Vector/definition.mjs +16 -14
  414. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  415. package/_mjs/collection/immutable/Vector/internal.mjs +40 -39
  416. package/_mjs/collection/immutable/Vector/internal.mjs.map +1 -1
  417. package/_mjs/collection/mutable/HashMap.mjs +3 -5
  418. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  419. package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
  420. package/_mjs/collection/mutable/ListBuffer.mjs +2 -2
  421. package/_mjs/collection/mutable/ListBuffer.mjs.map +1 -1
  422. package/_mjs/collection/mutable/internal.mjs +0 -2
  423. package/_mjs/collection/mutable/internal.mjs.map +1 -1
  424. package/_mjs/collection/weak/IterableWeakMap.mjs +7 -7
  425. package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
  426. package/_mjs/collection/weak/IterableWeakSet.mjs +7 -7
  427. package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
  428. package/_mjs/control/Eval/api.mjs +40 -28
  429. package/_mjs/control/Eval/api.mjs.map +1 -1
  430. package/_mjs/control/Eval/instance.mjs +5 -5
  431. package/_mjs/control/Eval/instance.mjs.map +1 -1
  432. package/_mjs/control/Eval/run.mjs +1 -1
  433. package/_mjs/control/Eval/run.mjs.map +1 -1
  434. package/_mjs/control/Z/api.mjs +196 -128
  435. package/_mjs/control/Z/api.mjs.map +1 -1
  436. package/_mjs/control/Z/instances.mjs +4 -4
  437. package/_mjs/control/Z/instances.mjs.map +1 -1
  438. package/_mjs/control/Z/runtime.mjs +244 -234
  439. package/_mjs/control/Z/runtime.mjs.map +1 -1
  440. package/_mjs/data/Branded/definition.mjs.map +1 -1
  441. package/_mjs/data/Branded/derivations.mjs +3 -3
  442. package/_mjs/data/Branded/derivations.mjs.map +1 -1
  443. package/_mjs/data/CaseClass.mjs.map +1 -1
  444. package/_mjs/data/Cause/api/fold.mjs +19 -17
  445. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  446. package/_mjs/data/Cause/api/isEmpty.mjs +1 -1
  447. package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
  448. package/_mjs/data/Cause/api/linearize.mjs +8 -8
  449. package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
  450. package/_mjs/data/Cause/api/prettyPrint.mjs +1 -1
  451. package/_mjs/data/Cause/api/prettyPrint.mjs.map +1 -1
  452. package/_mjs/data/Cause/api.mjs +149 -129
  453. package/_mjs/data/Cause/api.mjs.map +1 -1
  454. package/_mjs/data/Cause/definition.mjs +18 -18
  455. package/_mjs/data/Cause/definition.mjs.map +1 -1
  456. package/_mjs/data/Cause.mjs.map +1 -1
  457. package/_mjs/data/Const/api.mjs +6 -4
  458. package/_mjs/data/Const/api.mjs.map +1 -1
  459. package/_mjs/data/Const/instances.mjs +4 -4
  460. package/_mjs/data/Const/instances.mjs.map +1 -1
  461. package/_mjs/data/Datum/api.mjs +220 -179
  462. package/_mjs/data/Datum/api.mjs.map +1 -1
  463. package/_mjs/data/Datum/definition.mjs.map +1 -1
  464. package/_mjs/data/DatumEither/api.mjs +163 -132
  465. package/_mjs/data/DatumEither/api.mjs.map +1 -1
  466. package/_mjs/data/DecodeError/definition.mjs +14 -14
  467. package/_mjs/data/DecodeError/definition.mjs.map +1 -1
  468. package/_mjs/data/Decoder/api.mjs +9 -7
  469. package/_mjs/data/Decoder/api.mjs.map +1 -1
  470. package/_mjs/data/Duration/api.mjs +16 -10
  471. package/_mjs/data/Duration/api.mjs.map +1 -1
  472. package/_mjs/data/Either/api/align.mjs +8 -2
  473. package/_mjs/data/Either/api/align.mjs.map +1 -1
  474. package/_mjs/data/Either/api/alignWith.mjs +13 -11
  475. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  476. package/_mjs/data/Either/api.mjs +175 -136
  477. package/_mjs/data/Either/api.mjs.map +1 -1
  478. package/_mjs/data/Either/constructors.mjs +7 -5
  479. package/_mjs/data/Either/constructors.mjs.map +1 -1
  480. package/_mjs/data/Either/destructors.mjs +15 -13
  481. package/_mjs/data/Either/destructors.mjs.map +1 -1
  482. package/_mjs/data/Either/instances.mjs +9 -9
  483. package/_mjs/data/Either/instances.mjs.map +1 -1
  484. package/_mjs/data/EitherT/api.mjs +8 -8
  485. package/_mjs/data/EitherT/api.mjs.map +1 -1
  486. package/_mjs/data/Encoder/api.mjs +102 -0
  487. package/_mjs/data/Encoder/api.mjs.map +1 -0
  488. package/_mjs/data/Encoder/definition.mjs +15 -0
  489. package/_mjs/data/Encoder/definition.mjs.map +1 -0
  490. package/_mjs/data/Encoder.mjs +4 -0
  491. package/_mjs/data/Encoder.mjs.map +1 -0
  492. package/_mjs/data/Environment/api.mjs +45 -33
  493. package/_mjs/data/Environment/api.mjs.map +1 -1
  494. package/_mjs/data/Environment/definition.mjs.map +1 -1
  495. package/_mjs/data/EnvironmentPatch.mjs +188 -0
  496. package/_mjs/data/EnvironmentPatch.mjs.map +1 -0
  497. package/_mjs/data/ExecutionStrategy.mjs +19 -27
  498. package/_mjs/data/ExecutionStrategy.mjs.map +1 -1
  499. package/_mjs/data/Exit/api.mjs +140 -108
  500. package/_mjs/data/Exit/api.mjs.map +1 -1
  501. package/_mjs/data/Exit/constructors.mjs +3 -3
  502. package/_mjs/data/Exit/constructors.mjs.map +1 -1
  503. package/_mjs/data/FiberId/api.mjs +22 -20
  504. package/_mjs/data/FiberId/api.mjs.map +1 -1
  505. package/_mjs/data/FiberId/constructors.mjs.map +1 -1
  506. package/_mjs/data/Identity/api.mjs +21 -13
  507. package/_mjs/data/Identity/api.mjs.map +1 -1
  508. package/_mjs/data/Identity/instances.mjs +4 -4
  509. package/_mjs/data/Identity/instances.mjs.map +1 -1
  510. package/_mjs/data/Interval.mjs +38 -28
  511. package/_mjs/data/Interval.mjs.map +1 -1
  512. package/_mjs/data/Intervals.mjs +35 -27
  513. package/_mjs/data/Intervals.mjs.map +1 -1
  514. package/_mjs/data/Maybe/api.mjs +141 -106
  515. package/_mjs/data/Maybe/api.mjs.map +1 -1
  516. package/_mjs/data/Maybe/constructors.mjs +1 -1
  517. package/_mjs/data/Maybe/constructors.mjs.map +1 -1
  518. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  519. package/_mjs/data/Maybe/destructors.mjs +8 -6
  520. package/_mjs/data/Maybe/destructors.mjs.map +1 -1
  521. package/_mjs/data/Maybe/instances.mjs +12 -12
  522. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  523. package/_mjs/data/Predicate/api.mjs +10 -8
  524. package/_mjs/data/Predicate/api.mjs.map +1 -1
  525. package/_mjs/data/Refinement/api.mjs +15 -9
  526. package/_mjs/data/Refinement/api.mjs.map +1 -1
  527. package/_mjs/data/Struct/api.mjs +56 -44
  528. package/_mjs/data/Struct/api.mjs.map +1 -1
  529. package/_mjs/data/Tag/constructors.mjs +3 -2
  530. package/_mjs/data/Tag/constructors.mjs.map +1 -1
  531. package/_mjs/data/Tag/definition.mjs +0 -2
  532. package/_mjs/data/Tag/definition.mjs.map +1 -1
  533. package/_mjs/data/These/api.mjs +187 -169
  534. package/_mjs/data/These/api.mjs.map +1 -1
  535. package/_mjs/data/These/constructors.mjs +1 -1
  536. package/_mjs/data/These/constructors.mjs.map +1 -1
  537. package/_mjs/data/These/destructors.mjs +35 -31
  538. package/_mjs/data/These/destructors.mjs.map +1 -1
  539. package/_mjs/data/These/instances.mjs +1 -1
  540. package/_mjs/data/These/instances.mjs.map +1 -1
  541. package/_mjs/data/Trace/api.mjs +6 -4
  542. package/_mjs/data/Trace/api.mjs.map +1 -1
  543. package/_mjs/data/Zipped.mjs.map +1 -1
  544. package/_mjs/data/function/api.mjs +5 -3
  545. package/_mjs/data/function/api.mjs.map +1 -1
  546. package/_mjs/data/function/pipe.mjs +7 -0
  547. package/_mjs/data/function/pipe.mjs.map +1 -1
  548. package/_mjs/data/string/api.mjs +46 -66
  549. package/_mjs/data/string/api.mjs.map +1 -1
  550. package/_mjs/global/api.mjs +4 -2
  551. package/_mjs/global/api.mjs.map +1 -1
  552. package/_mjs/internal/AtomicBoolean.mjs.map +1 -1
  553. package/_mjs/internal/AtomicNumber.mjs.map +1 -1
  554. package/_mjs/internal/AtomicReference.mjs.map +1 -1
  555. package/_mjs/internal/Stack.mjs +1 -1
  556. package/_mjs/internal/Stack.mjs.map +1 -1
  557. package/_mjs/optics/At/api.mjs +1 -1
  558. package/_mjs/optics/At/api.mjs.map +1 -1
  559. package/_mjs/optics/At/definition.mjs +2 -2
  560. package/_mjs/optics/At/definition.mjs.map +1 -1
  561. package/_mjs/optics/Fold/definition.mjs +2 -3
  562. package/_mjs/optics/Fold/definition.mjs.map +1 -1
  563. package/_mjs/optics/Getter/definition.mjs +1 -2
  564. package/_mjs/optics/Getter/definition.mjs.map +1 -1
  565. package/_mjs/optics/Index/api.mjs +4 -4
  566. package/_mjs/optics/Index/api.mjs.map +1 -1
  567. package/_mjs/optics/Index/definition.mjs +1 -1
  568. package/_mjs/optics/Index/definition.mjs.map +1 -1
  569. package/_mjs/optics/Iso/api.mjs +8 -6
  570. package/_mjs/optics/Iso/api.mjs.map +1 -1
  571. package/_mjs/optics/Iso/definition.mjs +9 -9
  572. package/_mjs/optics/Iso/definition.mjs.map +1 -1
  573. package/_mjs/optics/Lens/api.mjs +49 -39
  574. package/_mjs/optics/Lens/api.mjs.map +1 -1
  575. package/_mjs/optics/Lens/definition.mjs +7 -7
  576. package/_mjs/optics/Lens/definition.mjs.map +1 -1
  577. package/_mjs/optics/Optional/api/compose.mjs +8 -6
  578. package/_mjs/optics/Optional/api/compose.mjs.map +1 -1
  579. package/_mjs/optics/Optional/definition.mjs +8 -10
  580. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  581. package/_mjs/optics/Optional.mjs.map +1 -1
  582. package/_mjs/optics/Prism/api/compose.mjs +8 -6
  583. package/_mjs/optics/Prism/api/compose.mjs.map +1 -1
  584. package/_mjs/optics/Prism/api/fromNullable.mjs +2 -2
  585. package/_mjs/optics/Prism/api/fromNullable.mjs.map +1 -1
  586. package/_mjs/optics/Prism/api/just.mjs +2 -2
  587. package/_mjs/optics/Prism/api/just.mjs.map +1 -1
  588. package/_mjs/optics/Prism/definition.mjs +6 -6
  589. package/_mjs/optics/Prism/definition.mjs.map +1 -1
  590. package/_mjs/optics/Prism.mjs.map +1 -1
  591. package/_mjs/optics/Setter/definition.mjs +5 -10
  592. package/_mjs/optics/Setter/definition.mjs.map +1 -1
  593. package/_mjs/optics/Traversal/api/compose.mjs +7 -5
  594. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  595. package/_mjs/optics/Traversal/api/fromTraversable.mjs +2 -2
  596. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  597. package/_mjs/optics/Traversal/definition.mjs +9 -9
  598. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  599. package/_mjs/optics/Traversal.mjs.map +1 -1
  600. package/_mjs/typeclass/Align.mjs.map +1 -1
  601. package/_mjs/typeclass/Alt.mjs.map +1 -1
  602. package/_mjs/typeclass/Applicative.mjs.map +1 -1
  603. package/_mjs/typeclass/ApplicativeExcept.mjs +6 -10
  604. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  605. package/_mjs/typeclass/Apply.mjs +9 -9
  606. package/_mjs/typeclass/Apply.mjs.map +1 -1
  607. package/_mjs/typeclass/Chain.mjs +5 -5
  608. package/_mjs/typeclass/Chain.mjs.map +1 -1
  609. package/_mjs/typeclass/Eq/definition.mjs.map +1 -1
  610. package/_mjs/typeclass/Eq/derivations.mjs.map +1 -1
  611. package/_mjs/typeclass/Equatable/api.mjs.map +1 -1
  612. package/_mjs/typeclass/Equatable/definition.mjs.map +1 -1
  613. package/_mjs/typeclass/Equatable/fast-equals.mjs.map +1 -1
  614. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  615. package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
  616. package/_mjs/typeclass/Foldable.mjs +1 -1
  617. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  618. package/_mjs/typeclass/FoldableWithIndex.mjs +1 -1
  619. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  620. package/_mjs/typeclass/Functor.mjs.map +1 -1
  621. package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
  622. package/_mjs/typeclass/Guard/api.mjs +18 -10
  623. package/_mjs/typeclass/Guard/api.mjs.map +1 -1
  624. package/_mjs/typeclass/Guard/definition.mjs.map +1 -1
  625. package/_mjs/typeclass/Guard/derivations.mjs.map +1 -1
  626. package/_mjs/typeclass/Has.mjs +7 -5
  627. package/_mjs/typeclass/Has.mjs.map +1 -1
  628. package/_mjs/typeclass/HashEq.mjs.map +1 -1
  629. package/_mjs/typeclass/Hashable/definition.mjs.map +1 -1
  630. package/_mjs/typeclass/Hashable/hash.mjs.map +1 -1
  631. package/_mjs/typeclass/MonadExcept.mjs +1 -1
  632. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  633. package/_mjs/typeclass/Ord/api/contramap.mjs +7 -5
  634. package/_mjs/typeclass/Ord/api/contramap.mjs.map +1 -1
  635. package/_mjs/typeclass/Ord/api/max.mjs.map +1 -1
  636. package/_mjs/typeclass/Ord/api/min.mjs.map +1 -1
  637. package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
  638. package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
  639. package/_mjs/typeclass/Ordering.mjs.map +1 -1
  640. package/_mjs/typeclass/Semialign.mjs +7 -7
  641. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  642. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  643. package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
  644. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
  645. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  646. package/_mjs/typeclass/Showable/definition.mjs.map +1 -1
  647. package/_mjs/typeclass/Showable/show.mjs +107 -107
  648. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  649. package/_mjs/typeclass/Showable/styles.mjs.map +1 -1
  650. package/_mjs/typeclass/Showable/util.mjs +1 -1
  651. package/_mjs/typeclass/Showable/util.mjs.map +1 -1
  652. package/_mjs/typeclass/Traversable.mjs +1 -2
  653. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  654. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  655. package/_mjs/typeclass/Witherable.mjs +2 -1
  656. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  657. package/_mjs/typeclass/WitherableWithIndex.mjs +2 -1
  658. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  659. package/_mjs/util/AnsiFormat.mjs +11 -11
  660. package/_mjs/util/AnsiFormat.mjs.map +1 -1
  661. package/_mjs/util/PCGRandom.mjs.map +1 -1
  662. package/_mjs/util/assert.mjs.map +1 -1
  663. package/_mjs/util/pattern.mjs.map +1 -1
  664. package/_mjs/util/predicates.mjs.map +1 -1
  665. package/_mjs/util/rand/Random.mjs.map +1 -1
  666. package/_mjs/util/rand/distribution/UniformArrayIntDistribution.mjs.map +1 -1
  667. package/_mjs/util/rand/distribution/UniformBigIntDistribution.mjs.map +1 -1
  668. package/_mjs/util/rand/distribution/UniformIntDistribution.mjs.map +1 -1
  669. package/_mjs/util/rand/distribution/internals/ArrayInt.mjs.map +1 -1
  670. package/_mjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.mjs.map +1 -1
  671. package/_mjs/util/rand/distribution/internals/UniformIntDistributionInternal.mjs.map +1 -1
  672. package/_mjs/util/rand/generator/MersenneTwister.mjs.map +1 -1
  673. package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
  674. package/_mjs/util/rand.mjs.map +1 -1
  675. package/_src/collection/Iterable/api/traverseConc.ts +3 -3
  676. package/_src/collection/Iterable/api.ts +445 -408
  677. package/_src/collection/Iterable/constructors.ts +1 -1
  678. package/_src/collection/compat/Array/api.ts +16 -13
  679. package/_src/collection/compat/Array/derivations.ts +27 -1
  680. package/_src/collection/compat/Record/instances.ts +51 -2
  681. package/_src/collection/immutable/Conc/api.ts +716 -607
  682. package/_src/collection/immutable/Conc/definition.ts +60 -68
  683. package/_src/collection/immutable/Conc/derivations.ts +13 -0
  684. package/_src/collection/immutable/Conc.ts +0 -1
  685. package/_src/collection/immutable/Dictionary/api.ts +44 -32
  686. package/_src/collection/immutable/HashMap/api.ts +338 -224
  687. package/_src/collection/immutable/HashMap/internal.ts +3 -7
  688. package/_src/collection/immutable/HashSet/api.ts +193 -158
  689. package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +5 -3
  690. package/_src/collection/immutable/ImmutableArray/api/slice.ts +5 -3
  691. package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +5 -3
  692. package/_src/collection/immutable/ImmutableArray/api/splitWhere.ts +13 -14
  693. package/_src/collection/immutable/ImmutableArray/api.ts +870 -722
  694. package/_src/collection/immutable/ImmutableArray/derivations.ts +13 -0
  695. package/_src/collection/immutable/ImmutableArray/instances.ts +54 -73
  696. package/_src/collection/immutable/ImmutableArray.ts +0 -1
  697. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +311 -273
  698. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +19 -4
  699. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +0 -1
  700. package/_src/collection/immutable/ImmutableNonEmptyArray/derivations.ts +13 -0
  701. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +22 -23
  702. package/_src/collection/immutable/List/api/foldLeft.ts +11 -9
  703. package/_src/collection/immutable/List/api.ts +147 -133
  704. package/_src/collection/immutable/List.ts +0 -1
  705. package/_src/collection/immutable/Queue/api.ts +53 -37
  706. package/_src/collection/immutable/Queue/definition.ts +0 -1
  707. package/_src/collection/immutable/RoseTree/api.ts +38 -32
  708. package/_src/collection/immutable/RoseTree/definition.ts +2 -0
  709. package/_src/collection/immutable/SortedMap/api.ts +364 -332
  710. package/_src/collection/immutable/Vector/api.ts +608 -482
  711. package/_src/collection/immutable/Vector/definition.ts +11 -12
  712. package/_src/collection/immutable/Vector/internal.ts +37 -38
  713. package/_src/collection/mutable/HashMap.ts +1 -4
  714. package/_src/collection/mutable/HashSet.ts +1 -2
  715. package/_src/collection/mutable/ListBuffer.ts +1 -1
  716. package/_src/collection/mutable/internal.ts +0 -2
  717. package/_src/collection/weak/IterableWeakMap.ts +11 -7
  718. package/_src/collection/weak/IterableWeakSet.ts +10 -5
  719. package/_src/control/Eval/api.ts +35 -19
  720. package/_src/control/Eval/instance.ts +5 -5
  721. package/_src/control/Z/api.ts +191 -208
  722. package/_src/control/Z/instances.ts +4 -5
  723. package/_src/control/Z/runtime.ts +190 -189
  724. package/_src/data/Branded/definition.ts +11 -12
  725. package/_src/data/Branded/derivations.ts +2 -2
  726. package/_src/data/CaseClass.ts +4 -1
  727. package/_src/data/Cause/api/fold.ts +13 -14
  728. package/_src/data/Cause/api.ts +125 -105
  729. package/_src/data/Cause.ts +0 -1
  730. package/_src/data/Const/api.ts +6 -4
  731. package/_src/data/Const/instances.ts +3 -3
  732. package/_src/data/Datum/api.ts +229 -197
  733. package/_src/data/Datum/definition.ts +2 -5
  734. package/_src/data/DatumEither/api.ts +208 -193
  735. package/_src/data/Decoder/api.ts +5 -3
  736. package/_src/data/Duration/api.ts +19 -15
  737. package/_src/data/Either/api/align.ts +7 -2
  738. package/_src/data/Either/api/alignWith.ts +13 -15
  739. package/_src/data/Either/api.ts +141 -119
  740. package/_src/data/Either/constructors.ts +12 -10
  741. package/_src/data/Either/destructors.ts +11 -9
  742. package/_src/data/Either/instances.ts +24 -20
  743. package/_src/data/EitherT/api.ts +43 -49
  744. package/_src/data/Encoder/api.ts +123 -0
  745. package/_src/data/Encoder/definition.ts +12 -0
  746. package/_src/data/Encoder.ts +4 -0
  747. package/_src/data/Environment/api.ts +52 -44
  748. package/_src/data/Environment/definition.ts +6 -0
  749. package/_src/data/EnvironmentPatch.ts +137 -0
  750. package/_src/data/ExecutionStrategy.ts +14 -24
  751. package/_src/data/Exit/api.ts +104 -73
  752. package/_src/data/Exit/constructors.ts +2 -2
  753. package/_src/data/FiberId/api.ts +19 -17
  754. package/_src/data/FiberId/constructors.ts +1 -2
  755. package/_src/data/Identity/api.ts +20 -12
  756. package/_src/data/Identity/instances.ts +4 -7
  757. package/_src/data/Interval.ts +39 -29
  758. package/_src/data/Intervals.ts +31 -23
  759. package/_src/data/Maybe/api.ts +112 -79
  760. package/_src/data/Maybe/constructors.ts +3 -3
  761. package/_src/data/Maybe/definition.ts +11 -1
  762. package/_src/data/Maybe/destructors.ts +6 -4
  763. package/_src/data/Maybe/instances.ts +10 -21
  764. package/_src/data/Predicate/api.ts +14 -8
  765. package/_src/data/Refinement/api.ts +19 -13
  766. package/_src/data/Struct/api.ts +75 -55
  767. package/_src/data/Tag/constructors.ts +1 -2
  768. package/_src/data/Tag/definition.ts +0 -1
  769. package/_src/data/These/api.ts +114 -114
  770. package/_src/data/These/destructors.ts +23 -24
  771. package/_src/data/Trace/api.ts +5 -3
  772. package/_src/data/Zipped.ts +3 -4
  773. package/_src/data/function/api.ts +6 -7
  774. package/_src/data/function/pipe.ts +9 -1
  775. package/_src/data/string/api.ts +40 -60
  776. package/_src/data.ts +2 -1
  777. package/_src/global/api.ts +7 -12
  778. package/_src/global.ts +8 -0
  779. package/_src/internal/AtomicBoolean.ts +0 -1
  780. package/_src/internal/AtomicNumber.ts +0 -7
  781. package/_src/internal/AtomicReference.ts +0 -4
  782. package/_src/internal/Stack.ts +1 -7
  783. package/_src/optics/At/definition.ts +5 -3
  784. package/_src/optics/Fold/definition.ts +3 -10
  785. package/_src/optics/Getter/definition.ts +1 -2
  786. package/_src/optics/Index/definition.ts +1 -1
  787. package/_src/optics/Iso/api.ts +8 -6
  788. package/_src/optics/Iso/definition.ts +3 -3
  789. package/_src/optics/Lens/api.ts +44 -42
  790. package/_src/optics/Lens/definition.ts +5 -5
  791. package/_src/optics/Optional/api/compose.ts +9 -9
  792. package/_src/optics/Optional/definition.ts +9 -16
  793. package/_src/optics/Optional.ts +0 -1
  794. package/_src/optics/Prism/api/compose.ts +9 -6
  795. package/_src/optics/Prism/definition.ts +3 -3
  796. package/_src/optics/Prism.ts +0 -1
  797. package/_src/optics/Setter/definition.ts +3 -23
  798. package/_src/optics/Traversal/api/compose.ts +7 -8
  799. package/_src/optics/Traversal/api/fromTraversable.ts +1 -1
  800. package/_src/optics/Traversal/definition.ts +10 -15
  801. package/_src/optics/Traversal.ts +0 -1
  802. package/_src/typeclass/Align.ts +0 -3
  803. package/_src/typeclass/Alt.ts +2 -1
  804. package/_src/typeclass/Applicative.ts +0 -1
  805. package/_src/typeclass/ApplicativeExcept.ts +15 -10
  806. package/_src/typeclass/Apply.ts +30 -33
  807. package/_src/typeclass/Chain.ts +9 -12
  808. package/_src/typeclass/Eq/definition.ts +0 -3
  809. package/_src/typeclass/Eq/derivations.ts +0 -2
  810. package/_src/typeclass/Equatable/api.ts +0 -2
  811. package/_src/typeclass/Equatable/definition.ts +0 -4
  812. package/_src/typeclass/Equatable/fast-equals.ts +11 -93
  813. package/_src/typeclass/Filterable.ts +19 -13
  814. package/_src/typeclass/FilterableWithIndex.ts +19 -13
  815. package/_src/typeclass/Foldable.ts +7 -10
  816. package/_src/typeclass/FoldableWithIndex.ts +7 -10
  817. package/_src/typeclass/Functor.ts +6 -4
  818. package/_src/typeclass/FunctorWithIndex.ts +3 -2
  819. package/_src/typeclass/Guard/api.ts +21 -16
  820. package/_src/typeclass/Guard/definition.ts +0 -3
  821. package/_src/typeclass/Guard/derivations.ts +5 -6
  822. package/_src/typeclass/Has.ts +6 -4
  823. package/_src/typeclass/HashEq.ts +0 -7
  824. package/_src/typeclass/Hashable/definition.ts +0 -4
  825. package/_src/typeclass/Hashable/hash.ts +0 -26
  826. package/_src/typeclass/MonadExcept.ts +1 -1
  827. package/_src/typeclass/Ord/api/contramap.ts +7 -6
  828. package/_src/typeclass/Ord/api/max.ts +0 -1
  829. package/_src/typeclass/Ord/api/min.ts +0 -1
  830. package/_src/typeclass/Ord/definition.ts +0 -4
  831. package/_src/typeclass/Ord/instances.ts +0 -2
  832. package/_src/typeclass/Ordering.ts +2 -0
  833. package/_src/typeclass/Semialign.ts +43 -32
  834. package/_src/typeclass/Semigroup/api.ts +0 -2
  835. package/_src/typeclass/Semigroup/definition.ts +0 -4
  836. package/_src/typeclass/Semigroup/derivations.ts +0 -2
  837. package/_src/typeclass/Semimonoidal.ts +3 -2
  838. package/_src/typeclass/Showable/definition.ts +0 -6
  839. package/_src/typeclass/Showable/show.ts +1 -57
  840. package/_src/typeclass/Showable/styles.ts +0 -8
  841. package/_src/typeclass/Showable/util.ts +22 -57
  842. package/_src/typeclass/Traversable.ts +13 -18
  843. package/_src/typeclass/TraversableWithIndex.ts +5 -7
  844. package/_src/typeclass/Witherable.ts +21 -13
  845. package/_src/typeclass/WitherableWithIndex.ts +26 -17
  846. package/_src/typeclass/builtin/Symbol.ts +0 -1
  847. package/_src/types/extractions.ts +12 -3
  848. package/_src/types/utility.ts +3 -5
  849. package/_src/util/AnsiFormat.ts +0 -25
  850. package/_src/util/PCGRandom.ts +4 -9
  851. package/_src/util/assert.ts +1 -2
  852. package/_src/util/pattern.ts +91 -12
  853. package/_src/util/predicates.ts +3 -1
  854. package/_src/util/rand/Random.ts +12 -16
  855. package/_src/util/rand/distribution/Distribution.ts +0 -1
  856. package/_src/util/rand/distribution/UniformArrayIntDistribution.ts +0 -3
  857. package/_src/util/rand/distribution/UniformBigIntDistribution.ts +0 -5
  858. package/_src/util/rand/distribution/UniformIntDistribution.ts +0 -7
  859. package/_src/util/rand/distribution/internals/ArrayInt.ts +3 -13
  860. package/_src/util/rand/distribution/internals/UniformArrayIntDistributionInternal.ts +0 -3
  861. package/_src/util/rand/distribution/internals/UniformIntDistributionInternal.ts +0 -4
  862. package/_src/util/rand/generator/MersenneTwister.ts +6 -29
  863. package/_src/util/rand/generator/RandomGenerator.ts +0 -3
  864. package/_src/util/rand.ts +0 -2
  865. package/collection/Iterable/api/traverseConc.d.ts +2 -2
  866. package/collection/Iterable/api.d.ts +64 -64
  867. package/collection/Iterable/constructors.d.ts +1 -1
  868. package/collection/compat/Array/api.d.ts +6 -6
  869. package/collection/compat/Array/derivations.d.ts +11 -0
  870. package/collection/compat/Record/instances.d.ts +30 -6
  871. package/collection/immutable/Conc/api.d.ts +108 -105
  872. package/collection/immutable/Conc/definition.d.ts +2 -2
  873. package/collection/immutable/Conc/derivations.d.ts +6 -0
  874. package/collection/immutable/Dictionary/api.d.ts +12 -12
  875. package/collection/immutable/HashMap/api.d.ts +76 -70
  876. package/collection/immutable/HashSet/api.d.ts +45 -41
  877. package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +2 -2
  878. package/collection/immutable/ImmutableArray/api/slice.d.ts +2 -2
  879. package/collection/immutable/ImmutableArray/api/splitAt.d.ts +2 -2
  880. package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +3 -3
  881. package/collection/immutable/ImmutableArray/api.d.ts +206 -206
  882. package/collection/immutable/ImmutableArray/derivations.d.ts +6 -0
  883. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +64 -63
  884. package/collection/immutable/ImmutableNonEmptyArray/derivations.d.ts +6 -0
  885. package/collection/immutable/List/api/foldLeft.d.ts +2 -2
  886. package/collection/immutable/List/api.d.ts +24 -24
  887. package/collection/immutable/Queue/api.d.ts +16 -16
  888. package/collection/immutable/RoseTree/api.d.ts +14 -14
  889. package/collection/immutable/SortedMap/api.d.ts +41 -41
  890. package/collection/immutable/Vector/api.d.ts +121 -117
  891. package/collection/immutable/Vector/definition.d.ts +2 -2
  892. package/collection/immutable/Vector/internal.d.ts +2 -2
  893. package/collection/mutable/ListBuffer.d.ts +1 -1
  894. package/control/Eval/api.d.ts +12 -12
  895. package/control/Z/api.d.ts +68 -68
  896. package/control/Z/runtime.d.ts +10 -10
  897. package/data/Branded/derivations.d.ts +2 -2
  898. package/data/Cause/api/fold.d.ts +3 -3
  899. package/data/Cause/api.d.ts +20 -20
  900. package/data/Const/api.d.ts +3 -3
  901. package/data/Datum/api.d.ts +43 -41
  902. package/data/DatumEither/api.d.ts +48 -46
  903. package/data/Decoder/api.d.ts +2 -2
  904. package/data/Duration/api.d.ts +7 -7
  905. package/data/Either/api/align.d.ts +5 -1
  906. package/data/Either/api/alignWith.d.ts +2 -2
  907. package/data/Either/api.d.ts +40 -46
  908. package/data/Either/constructors.d.ts +6 -6
  909. package/data/Either/destructors.d.ts +2 -2
  910. package/data/EitherT/api.d.ts +6 -6
  911. package/data/Encoder/api.d.ts +73 -0
  912. package/data/Encoder/definition.d.ts +12 -0
  913. package/data/Encoder.d.ts +2 -0
  914. package/data/Environment/api.d.ts +14 -14
  915. package/data/Environment/definition.d.ts +4 -0
  916. package/data/EnvironmentPatch.d.ts +73 -0
  917. package/data/ExecutionStrategy.d.ts +1 -6
  918. package/data/Exit/api.d.ts +32 -32
  919. package/data/Exit/constructors.d.ts +2 -2
  920. package/data/FiberId/api.d.ts +2 -2
  921. package/data/Identity/api.d.ts +8 -8
  922. package/data/Interval.d.ts +11 -11
  923. package/data/Intervals.d.ts +11 -11
  924. package/data/Maybe/api.d.ts +36 -37
  925. package/data/Maybe/constructors.d.ts +2 -2
  926. package/data/Maybe/definition.d.ts +7 -3
  927. package/data/Maybe/destructors.d.ts +2 -2
  928. package/data/Predicate/api.d.ts +5 -5
  929. package/data/Refinement/api.d.ts +9 -9
  930. package/data/Struct/api.d.ts +13 -23
  931. package/data/Tag/constructors.d.ts +1 -2
  932. package/data/Tag/definition.d.ts +0 -1
  933. package/data/These/api.d.ts +18 -22
  934. package/data/These/destructors.d.ts +4 -4
  935. package/data/Trace/api.d.ts +2 -2
  936. package/data/function/api.d.ts +3 -3
  937. package/data/function/pipe.d.ts +7 -1
  938. package/data/string/api.d.ts +9 -49
  939. package/data.d.ts +2 -1
  940. package/global/api.d.ts +3 -3
  941. package/global.d.ts +8 -0
  942. package/internal/Stack.d.ts +1 -1
  943. package/optics/At/definition.d.ts +1 -1
  944. package/optics/Fold/definition.d.ts +2 -6
  945. package/optics/Getter/definition.d.ts +1 -1
  946. package/optics/Index/definition.d.ts +1 -1
  947. package/optics/Iso/api.d.ts +2 -2
  948. package/optics/Iso/definition.d.ts +2 -2
  949. package/optics/Lens/api.d.ts +10 -10
  950. package/optics/Lens/definition.d.ts +4 -4
  951. package/optics/Optional/api/compose.d.ts +2 -2
  952. package/optics/Optional/definition.d.ts +4 -8
  953. package/optics/Prism/api/compose.d.ts +2 -2
  954. package/optics/Prism/definition.d.ts +2 -2
  955. package/optics/Setter/definition.d.ts +2 -14
  956. package/optics/Traversal/api/compose.d.ts +2 -2
  957. package/optics/Traversal/definition.d.ts +4 -4
  958. package/package.json +1 -1
  959. package/typeclass/Alt.d.ts +1 -1
  960. package/typeclass/ApplicativeExcept.d.ts +2 -6
  961. package/typeclass/Apply.d.ts +5 -5
  962. package/typeclass/Chain.d.ts +4 -4
  963. package/typeclass/Filterable.d.ts +6 -6
  964. package/typeclass/FilterableWithIndex.d.ts +6 -6
  965. package/typeclass/Foldable.d.ts +4 -4
  966. package/typeclass/FoldableWithIndex.d.ts +4 -4
  967. package/typeclass/Functor.d.ts +2 -2
  968. package/typeclass/FunctorWithIndex.d.ts +1 -1
  969. package/typeclass/Guard/api.d.ts +7 -7
  970. package/typeclass/Has.d.ts +3 -3
  971. package/typeclass/Ord/api/contramap.d.ts +2 -2
  972. package/typeclass/Semialign.d.ts +14 -14
  973. package/typeclass/Semimonoidal.d.ts +1 -1
  974. package/typeclass/Traversable.d.ts +4 -6
  975. package/typeclass/TraversableWithIndex.d.ts +2 -2
  976. package/typeclass/Witherable.d.ts +3 -3
  977. package/typeclass/WitherableWithIndex.d.ts +5 -5
  978. package/types/extractions.d.ts +10 -6
  979. package/util/assert.d.ts +1 -1
  980. package/_cjs/data/Patch/api.cjs.map +0 -1
  981. package/_cjs/data/Patch/definition.cjs +0 -88
  982. package/_cjs/data/Patch/definition.cjs.map +0 -1
  983. package/_cjs/data/Patch.cjs.map +0 -1
  984. package/_mjs/data/Patch/api.mjs +0 -112
  985. package/_mjs/data/Patch/api.mjs.map +0 -1
  986. package/_mjs/data/Patch/definition.mjs +0 -61
  987. package/_mjs/data/Patch/definition.mjs.map +0 -1
  988. package/_mjs/data/Patch.mjs +0 -4
  989. package/_mjs/data/Patch.mjs.map +0 -1
  990. package/_src/data/Patch/api.ts +0 -75
  991. package/_src/data/Patch/definition.ts +0 -58
  992. package/_src/data/Patch.ts +0 -4
  993. package/data/Patch/api.d.ts +0 -24
  994. package/data/Patch/definition.d.ts +0 -44
  995. package/data/Patch.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","mappings":"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","names":["append_","concat_","dropRepeatsWith_","empty","emptyPushable","exists_","findIndex_","flatten","foldLeft_","foldLeftWithIndex_","foldMapWithIndex_","foldRightWithIndex_","forEach_","map_","mapWithIndex_","mutableClone","pop","prepend_","slice_","sortWith_","splitAt_","unsafeFind_","unsafeFindLast_","unsafeGet_","unsafeHead","unsafeLast","updateAt_","vector","affixPush","appendNodeToTree","arrayPush","branchBits","concatAffixes","concatBuffer","concatSubTree","copyArray","emptyAffix","foldLeftCb","foldLeftNode","foldLeftPrefix","foldLeftSuffix","foldRightCb","foldRightNode","foldRightPrefix","foldRightSuffix","getDepth","getHeight","getPrefixSize","getSuffixSize","handleOffset","incrementPrefix","incrementSuffix","mapAffix","mapNode","mapPrefix","mask","newAffix","newOffset","nodeNth","nodeNthDense","prependNodeToTree","push","reverseArray","setDepth","setPrefix","setSizes","setSuffix","sliceLeft","sliceRight","sliceTreeVector","updateNode","zeroOffset","as","a","suffixSize","Vector","bits","offset","length","prefix","root","suffix","newSuffix","newVector","mutableClone_1","flatMap_","ma","f","map_1","chunksOf_","size","buffer","l2","foldLeft_1","emptyPushable_1","elem","tsplus_module_2","self","that","newSize","rightSuffixSize","undefined","nrOfAffixes","i","leftSuffixSize","slice","reverse","newNode","newDepth","containsState","element","result","containsCb","value","state","contains_","drop_","n","slice_1","dropLast_","dropRepeats","dropRepeatsWith_1","tsplus_module_3","predicate","acc","unsafeLast_1","findNotIndexCb","index","dropWhile_","elemCb","equals","elem_","E","elemState","equals_","tsplus_module_4","everyCb","every_","existsCb","find_","tsplus_module_5","unsafeFind_1","findIndexCb","found","findLast_","unsafeFindLast_1","findLastIndex_","mma","empty_1","concat_1","from","sequence","l","Symbol","iterator","cur","next","done","fa","initial","foldLeftWithIndex_1","_","b","prefixSize","foldWhileCb","foldLeftWhile_","cont","foldRightWhile_","foldMap_","M","foldMapWithIndex_1","nat","combine","foldRight_","foldRightWithIndex_1","j","forEachWithIndex_","get_","unsafeGet_1","groupWith_","forEach_1","head","indexOfCb","indexOf_","insertAt_","insertAllAt_","elements","intersperse_","separator","isEmpty","isNonEmpty","join_","last","lastIndexOf_","makeBy","mapAccum_","s","r","mapWithIndex_1","modifyAt_","updateAt_1","none_","exists_1","pair","first","second","newPrefix","prependOperator","prepend_1","range","start","end","vec","remove_","amount","replicate","t","scanLeft_","single","vector_1","to","_to","_from","Math","min","newLength","suffixStart","sort_","O","sortWith_1","compare","arr","elm","idx","sort","c","newL","splitWhen_","findIndex_1","splitAt_1","tail","take_","takeWhile_","takeLast_","takeLastWhile_","toArray","toList","ListBuffer","append","traverseWithIndex_1","tsplus_module_7","G","pure","zipWith","v","traverseWithIndex","traverse","uniq","unfold","out","mt","tsplus_module_8","findCb","depth","sizes"],"sourceRoot":"","sources":["../../../../_src/collection/immutable/Vector/api.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"api.mjs","mappings":"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","names":["append","concat","dropRepeatsWith","empty","emptyPushable","exists","findIndex","flatten","foldLeft","foldLeftWithIndex","foldMapWithIndex","foldRightWithIndex","forEach","map","mapWithIndex","mutableClone","pop","prepend","slice","sortWith","splitAt","_traverseWithIndex","unsafeFind","unsafeFindLast","unsafeGet","unsafeHead","unsafeLast","updateAt","vector","affixPush","appendNodeToTree","arrayPush","branchBits","concatAffixes","concatBuffer","concatSubTree","copyArray","emptyAffix","foldLeftCb","foldLeftNode","foldLeftPrefix","foldLeftSuffix","foldRightCb","foldRightNode","foldRightPrefix","foldRightSuffix","getDepth","getHeight","getPrefixSize","getSuffixSize","handleOffset","incrementPrefix","incrementSuffix","mapAffix","mapNode","mapPrefix","mask","newAffix","newOffset","nodeNth","nodeNthDense","prependNodeToTree","reverseArray","setDepth","setPrefix","setSizes","setSuffix","sliceLeft","sliceRight","sliceTreeVector","updateNode","zeroOffset","a","as","suffixSize","Vector","bits","offset","length","prefix","root","suffix","newSuffix","newVector","mutableClone_1","flatMap","f","ma","map_1","chunksOf","size","buffer","l2","foldLeft_1","emptyPushable_1","elem","tsplus_module_2","that","self","newSize","rightSuffixSize","undefined","nrOfAffixes","i","leftSuffixSize","reverse","newNode","newDepth","containsState","element","result","containsCb","value","state","contains","drop","n","slice_1","dropLast","dropRepeats","dropRepeatsWith_1","predicate","acc","unsafeLast_1","findNotIndexCb","index","dropWhile","elemCb","equals","E","elemState","tsplus_module_4","tsplus_module_3","everyCb","every","existsCb","find","tsplus_module_5","unsafeFind_1","findIndexCb","found","findLast","unsafeFindLast_1","findLastIndex","mma","empty_1","concat_1","from","sequence","l","Symbol","iterator","cur","next","done","initial","fa","foldLeftWithIndex_1","_","b","prefixSize","foldWhileCb","foldLeftWhile","cont","foldRightWhile","foldMap","M","foldMapWithIndex_1","nat","combine","foldRight","foldRightWithIndex_1","j","forEachWithIndex","get","unsafeGet_1","groupWith","forEach_1","head","indexOfCb","indexOf","insertAt","insertAllAt","elements","intersperse","separator","isEmpty","isNonEmpty","join","last","lastIndexOf","makeBy","mapAccum","s","r","mapWithIndex_1","modifyAt","updateAt_1","none","exists_1","pair","first","second","newPrefix","prependOperator","prepend_1","range","start","end","vec","remove","amount","replicate","t","scanLeft","single","vector_1","to","_to","_from","Math","min","newLength","suffixStart","sort","O","sortWith_1","compare","arr","elm","push","idx","c","newL","splitWhen","findIndex_1","splitAt_1","tail","take","takeWhile","takeLast","takeLastWhile","toArray","toList","ListBuffer","G","pure","zipWith","v","_traverse","_traverseWithIndex_1","traverseWithIndex","traverse","uniq","unfold","out","mt","tsplus_module_7","findCb","depth","sizes"],"sourceRoot":"","sources":["../../../../_src/collection/immutable/Vector/api.ts"],"sourcesContent":[null]}
@@ -3,7 +3,7 @@ import * as tsplus_module_2 from "@fncts/base/typeclass/Hashable/hash";
3
3
  import * as tsplus_module_3 from "@fncts/base/typeclass/Equatable/definition";
4
4
  import * as tsplus_module_4 from "@fncts/base/typeclass/Equatable/api";
5
5
  import * as tsplus_module_5 from "@fncts/base/util/predicates";
6
- export const corresponds_ = corresponds_1;
6
+ export const corresponds = corresponds_1;
7
7
  import { foldLeftCb } from "@fncts/base/collection/immutable/Vector/internal";
8
8
  import { ForwardVectorIterator } from "@fncts/base/collection/immutable/Vector/internal";
9
9
  export const VectorTypeId = /*#__PURE__*/Symbol.for("fncts.Vector");
@@ -44,7 +44,7 @@ export class Vector {
44
44
  }
45
45
 
46
46
  [tsplus_module_3.equalsSymbol](that) {
47
- return isVector(that) && corresponds_1(this, that, tsplus_module_4.strictEquals);
47
+ return isVector(that) && corresponds_1(that, tsplus_module_4.strictEquals)(this);
48
48
  }
49
49
 
50
50
  }
@@ -56,20 +56,22 @@ export function isVector(u) {
56
56
  * pair of elements with the given comparison function.
57
57
  *
58
58
  * @complexity O(n)
59
- * @tsplus fluent fncts.Vector corresponds
59
+ * @tsplus pipeable fncts.Vector corresponds
60
60
  */
61
61
 
62
- function corresponds_1(as, bs, f) {
63
- if (as.length !== bs.length) {
64
- return false;
65
- } else {
66
- const s = {
67
- iterator: bs[Symbol.iterator](),
68
- equals: true,
69
- f
70
- };
71
- return foldLeftCb(equalsCb, s, as).equals;
72
- }
62
+ function corresponds_1(bs, f) {
63
+ return as => {
64
+ if (as.length !== bs.length) {
65
+ return false;
66
+ } else {
67
+ const s = {
68
+ iterator: bs[Symbol.iterator](),
69
+ equals: true,
70
+ f
71
+ };
72
+ return foldLeftCb(equalsCb, s, as).equals;
73
+ }
74
+ };
73
75
  }
74
76
 
75
77
  function equalsCb(a, state) {
@@ -1 +1 @@
1
- {"version":3,"file":"definition.mjs","mappings":";;;;;aAuFgBA,YAAY;AAnF5B,SAASC,UAAT,QAA2B,kDAA3B;AACA,SAASC,qBAAT,QAAsC,kDAAtC;AAEA,OAAO,MAAMC,YAAY,gBAAGC,MAAM,CAACC,GAAP,CAAW,cAAX,CAArB;AAWP;;;;;;;AAMA,OAAM,MAAOC,MAAP,CAAa;EAGjBC;EACE;EACSC,IAFX;EAGE;EACSC,MAJX,EAKWC,MALX;EAME;EACSC,MAPX;EAQE;EACSC,IATX;EAUE;EACSC,MAXX,EAWsB;IATX;IAEA;IACA;IAEA;IAEA;IAEA;IAbF,eAAwBV,YAAxB;EAcL;;EAEY,CAAfC,MAAM,CAACU,QAAQ,IAAC;IACf,OAAO,IAAIZ,qBAAJ,CAA0B,IAA1B,CAAP;EACD;;EAEG,mCAAa;IACf,OAAOa,6BAAkB,KAAKX,MAAM,CAACU,QAAZ,GAAlB,CAAP;EACD;;EAED,+BAAgBE,IAAhB,EAA6B;IAC3B,OAAOC,QAAQ,CAACD,IAAD,CAAR,IAAkBE,cAAa,IAAb,EAAmBF,IAAnB,EAAuBG,4BAAvB,CAAzB;EACD;;AA3BgB;AAoDnB,OAAM,SAAUF,QAAV,CAAmBG,CAAnB,EAA6B;EACjC,OAAOC,0BAAUD,CAAV,EAAajB,YAAb,CAAP;AACD;AAED;;;;;;;;AAOA,uBAAmCmB,EAAnC,EAAkDC,EAAlD,EAAiEC,CAAjE,EAA2F;EACzF,IAAIF,EAAE,CAACZ,MAAH,KAAca,EAAE,CAACb,MAArB,EAA6B;IAC3B,OAAO,KAAP;EACD,CAFD,MAEO;IACL,MAAMe,CAAC,GAAG;MAAEX,QAAQ,EAAES,EAAE,CAACnB,MAAM,CAACU,QAAR,CAAF,EAAZ;MAAmCY,MAAM,EAAE,IAA3C;MAAiDF;IAAjD,CAAV;IACA,OAAOvB,UAAU,CAAuB0B,QAAvB,EAAiCF,CAAjC,EAAoCH,EAApC,CAAV,CAAkDI,MAAzD;EACD;AACF;;AAQD,SAASC,QAAT,CAAwBC,CAAxB,EAA8BC,KAA9B,EAAsD;EACpD,MAAM;IAAEC;EAAF,IAAYD,KAAK,CAACf,QAAN,CAAeiB,IAAf,EAAlB;EACA,OAAQF,KAAK,CAACH,MAAN,GAAeG,KAAK,CAACL,CAAN,CAAQI,CAAR,EAAWE,KAAX,CAAvB;AACD","names":["corresponds_","foldLeftCb","ForwardVectorIterator","VectorTypeId","Symbol","for","Vector","constructor","bits","offset","length","prefix","root","suffix","iterator","tsplus_module_2","that","isVector","corresponds_1","tsplus_module_4","u","tsplus_module_5","as","bs","f","s","equals","equalsCb","a","state","value","next"],"sourceRoot":"","sources":["../../../../_src/collection/immutable/Vector/definition.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"definition.mjs","mappings":";;;;;aAoFgBA,WAAW;AAhF3B,SAASC,UAAT,QAA2B,kDAA3B;AACA,SAASC,qBAAT,QAAsC,kDAAtC;AAEA,OAAO,MAAMC,YAAY,gBAAGC,MAAM,CAACC,GAAP,CAAW,cAAX,CAArB;AAWP;;;;;;;AAMA,OAAM,MAAOC,MAAP,CAAa;EAGjBC;EACE;EACSC,IAFX;EAGE;EACSC,MAJX,EAKWC,MALX;EAME;EACSC,MAPX;EAQE;EACSC,IATX;EAUE;EACSC,MAXX,EAWsB;IATX;IAEA;IACA;IAEA;IAEA;IAEA;IAbF,eAAwBV,YAAxB;EAcL;;EACY,CAAfC,MAAM,CAACU,QAAQ,IAAC;IACf,OAAO,IAAIZ,qBAAJ,CAA0B,IAA1B,CAAP;EACD;;EACG,mCAAa;IACf,OAAOa,6BAAkB,KAAKX,MAAM,CAACU,QAAZ,GAAlB,CAAP;EACD;;EACD,+BAAgBE,IAAhB,EAA6B;IAC3B,OAAOC,QAAQ,CAACD,IAAD,CAAR,IAAkBE,cAAgCF,IAAhC,EAAoCG,4BAApC,EAAC,IAAD,CAAzB;EACD;;AAxBgB;AAiDnB,OAAM,SAAUF,QAAV,CAAmBG,CAAnB,EAA6B;EACjC,OAAOC,0BAAUD,CAAV,EAAajB,YAAb,CAAP;AACD;AAED;;;;;;;;AAOA,uBAAkCmB,EAAlC,EAAiDC,CAAjD,EAA2E;EACzE,OAAQC,EAAD,IAA2B;IAChC,IAAIA,EAAE,CAACd,MAAH,KAAcY,EAAE,CAACZ,MAArB,EAA6B;MAC3B,OAAO,KAAP;IACD,CAFD,MAEO;MACL,MAAMe,CAAC,GAAG;QAAEX,QAAQ,EAAEQ,EAAE,CAAClB,MAAM,CAACU,QAAR,CAAF,EAAZ;QAAmCY,MAAM,EAAE,IAA3C;QAAiDH;MAAjD,CAAV;MACA,OAAOtB,UAAU,CAAuB0B,QAAvB,EAAiCF,CAAjC,EAAoCD,EAApC,CAAV,CAAkDE,MAAzD;IACD;EACF,CAPD;AAQD;;AAQD,SAASC,QAAT,CAAwBC,CAAxB,EAA8BC,KAA9B,EAAsD;EACpD,MAAM;IAAEC;EAAF,IAAYD,KAAK,CAACf,QAAN,CAAeiB,IAAf,EAAlB;EACA,OAAQF,KAAK,CAACH,MAAN,GAAeG,KAAK,CAACN,CAAN,CAAQK,CAAR,EAAWE,KAAX,CAAvB;AACD","names":["corresponds","foldLeftCb","ForwardVectorIterator","VectorTypeId","Symbol","for","Vector","constructor","bits","offset","length","prefix","root","suffix","iterator","tsplus_module_2","that","isVector","corresponds_1","tsplus_module_4","u","tsplus_module_5","bs","f","as","s","equals","equalsCb","a","state","value","next"],"sourceRoot":"","sources":["../../../../_src/collection/immutable/Vector/definition.ts"],"sourcesContent":[null]}
@@ -390,49 +390,51 @@ export function decrementDepth(bits) {
390
390
  /**
391
391
  * Appends the value to the Vector by _mutating_ the Vector and its content.
392
392
  *
393
- * @tsplus fluent fncts.MutableVector push
393
+ * @tsplus pipeable fncts.MutableVector push
394
394
  */
395
395
 
396
- export function push(l, value) {
397
- const suffixSize = getSuffixSize(l);
398
-
399
- if (l.length === 0) {
400
- l.bits = setPrefix(1, l.bits);
401
- l.prefix = [value];
402
- } else if (suffixSize < 32) {
403
- l.bits = incrementSuffix(l.bits);
404
- l.suffix.push(value);
405
- } else if (l.root === undefined) {
406
- l.root = new Node(undefined, l.suffix);
407
- l.suffix = [value];
408
- l.bits = setSuffix(1, l.bits);
409
- } else {
410
- const newNode = new Node(undefined, l.suffix);
411
- const index = l.length - 1 - 32 + 1;
412
- let current = l.root;
413
- let depth = getDepth(l);
414
- l.suffix = [value];
415
- l.bits = setSuffix(1, l.bits);
416
-
417
- if (index - 1 < branchingFactor ** (depth + 1)) {
418
- for (; depth >= 0; --depth) {
419
- const path = index >> depth * branchBits & mask;
420
-
421
- if (path < current.array.length) {
422
- current = current.array[path];
423
- } else {
424
- current.array.push(createPath(depth - 1, newNode));
425
- break;
396
+ export function push(value) {
397
+ return l => {
398
+ const suffixSize = getSuffixSize(l);
399
+
400
+ if (l.length === 0) {
401
+ l.bits = setPrefix(1, l.bits);
402
+ l.prefix = [value];
403
+ } else if (suffixSize < 32) {
404
+ l.bits = incrementSuffix(l.bits);
405
+ l.suffix.push(value);
406
+ } else if (l.root === undefined) {
407
+ l.root = new Node(undefined, l.suffix);
408
+ l.suffix = [value];
409
+ l.bits = setSuffix(1, l.bits);
410
+ } else {
411
+ const newNode = new Node(undefined, l.suffix);
412
+ const index = l.length - 1 - 32 + 1;
413
+ let current = l.root;
414
+ let depth = getDepth(l);
415
+ l.suffix = [value];
416
+ l.bits = setSuffix(1, l.bits);
417
+
418
+ if (index - 1 < branchingFactor ** (depth + 1)) {
419
+ for (; depth >= 0; --depth) {
420
+ const path = index >> depth * branchBits & mask;
421
+
422
+ if (path < current.array.length) {
423
+ current = current.array[path];
424
+ } else {
425
+ current.array.push(createPath(depth - 1, newNode));
426
+ break;
427
+ }
426
428
  }
429
+ } else {
430
+ l.bits = incrementDepth(l.bits);
431
+ l.root = new Node(undefined, [l.root, createPath(depth, newNode)]);
427
432
  }
428
- } else {
429
- l.bits = incrementDepth(l.bits);
430
- l.root = new Node(undefined, [l.root, createPath(depth, newNode)]);
431
433
  }
432
- }
433
434
 
434
- l.length++;
435
- return l;
435
+ l.length++;
436
+ return l;
437
+ };
436
438
  }
437
439
  /**
438
440
  * @internal
@@ -1548,8 +1550,7 @@ export function mapAffix(f, suffix, length, totalLength) {
1548
1550
  }
1549
1551
 
1550
1552
  return newSuffix;
1551
- } // functions based on foldlCb
1552
-
1553
+ }
1553
1554
  export function arrayPush(array, a) {
1554
1555
  array.push(a);
1555
1556
  return array;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.mjs","mappings":"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","names":["VectorIterator","constructor","l","direction","done","value","undefined","idx","length","prefixSize","getPrefixSize","middleSize","getSuffixSize","root","depth","getDepth","stack","Array","indices","currentNode","array","i","ForwardVectorIterator","nextInTree","next","newVal","prefix","suffix","result","BackwardVectorIterator","prevInTree","n","branchingFactor","branchBits","mask","Node","sizes","elementEquals","a","b","createPath","current","copyArray","source","pushElements","target","offset","amount","push","copyIndices","sourceStart","targetStart","arrayPrepend","newLength","reverseArray","slice","reverse","arrayFirst","arrayLast","pathResult","path","index","updatedOffset","getPath","handleOffset","traversed","updateNode","node","newIndex","cloneNode","emptyAffix","affixBits","affixMask","bits","setPrefix","size","setSuffix","setDepth","incrementPrefix","incrementSuffix","incrementDepth","decrementDepth","suffixSize","newNode","nodeNthDense","nodeNth","ofs","dep","setSizes","height","sum","sizeTable","sizeOfSubtree","lastSize","affixPush","newArray","copyLeft","k","nodePrepend","prependTopTree","newOffset","prependNodeToTree","prependDense","copyableCount","nodesTraversed","copiedNode","parent","prependableNode","prepended","curOffset","appendNodeToTree","nodesToCopy","nodesVisited","shift","childIndex","newPath","newRoot","copyFirstK","newVector","leafSize","eMax","createConcatPlan","optimalLength","Math","ceil","remaining","min","j","concatNodeMerge","left","center","right","executeConcatPlan","merged","plan","sourceIdx","toMove","available","itemsToCopy","rebalance","top","balanced","concatSubTree","lDepth","rDepth","isTop","c","concatBuffer","concatAffixes","nr","arrIdx","getHeight","newAffix","sliceNode","pathLeft","pathRight","childLeft","childRight","slicedOffLeft","oldChild","slicedOffRight","sliceLeft","tree","child","sliceRight","slicedOff","sliceTreeVector","from","to","newFrom","newTo","zeroOffset","foldLeftArrayCb","cb","state","foldRightArrayCb","foldLeftNodeCb","cont","foldLeftCb","foldRightNodeCb","foldRightCb","foldLeftPrefix","f","acc","foldLeftNode","foldLeftSuffix","foldRightPrefix","foldRightNode","foldRightSuffix","mapArray","mapNode","adjust","innerOffset","res","mapPrefix","newPrefix","mapAffix","totalLength","priorLength","newSuffix","arrayPush"],"sourceRoot":"","sources":["../../../../_src/collection/immutable/Vector/internal.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"internal.mjs","mappings":"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","names":["VectorIterator","constructor","l","direction","done","value","undefined","idx","length","prefixSize","getPrefixSize","middleSize","getSuffixSize","root","depth","getDepth","stack","Array","indices","currentNode","array","i","ForwardVectorIterator","nextInTree","next","newVal","prefix","suffix","result","BackwardVectorIterator","prevInTree","n","branchingFactor","branchBits","mask","Node","sizes","elementEquals","a","b","createPath","current","copyArray","source","pushElements","target","offset","amount","push","copyIndices","sourceStart","targetStart","arrayPrepend","newLength","reverseArray","slice","reverse","arrayFirst","arrayLast","pathResult","path","index","updatedOffset","getPath","handleOffset","traversed","updateNode","node","newIndex","cloneNode","emptyAffix","affixBits","affixMask","bits","setPrefix","size","setSuffix","setDepth","incrementPrefix","incrementSuffix","incrementDepth","decrementDepth","suffixSize","newNode","nodeNthDense","nodeNth","ofs","dep","setSizes","height","sum","sizeTable","sizeOfSubtree","lastSize","affixPush","newArray","copyLeft","k","nodePrepend","prependTopTree","newOffset","prependNodeToTree","prependDense","copyableCount","nodesTraversed","copiedNode","parent","prependableNode","prepended","curOffset","appendNodeToTree","nodesToCopy","nodesVisited","shift","childIndex","newPath","newRoot","copyFirstK","newVector","leafSize","eMax","createConcatPlan","optimalLength","Math","ceil","remaining","min","j","concatNodeMerge","left","center","right","executeConcatPlan","merged","plan","sourceIdx","toMove","available","itemsToCopy","rebalance","top","balanced","concatSubTree","lDepth","rDepth","isTop","c","concatBuffer","concatAffixes","nr","arrIdx","getHeight","newAffix","sliceNode","pathLeft","pathRight","childLeft","childRight","slicedOffLeft","oldChild","slicedOffRight","sliceLeft","tree","child","sliceRight","slicedOff","sliceTreeVector","from","to","newFrom","newTo","zeroOffset","foldLeftArrayCb","cb","state","foldRightArrayCb","foldLeftNodeCb","cont","foldLeftCb","foldRightNodeCb","foldRightCb","foldLeftPrefix","f","acc","foldLeftNode","foldLeftSuffix","foldRightPrefix","foldRightNode","foldRightSuffix","mapArray","mapNode","adjust","innerOffset","res","mapPrefix","newPrefix","mapAffix","totalLength","priorLength","newSuffix","arrayPush"],"sourceRoot":"","sources":["../../../../_src/collection/immutable/Vector/internal.ts"],"sourcesContent":[null]}
@@ -97,13 +97,13 @@ export class HashMap {
97
97
 
98
98
  const previousValue = foundNode === undefined ? tsplus_module_2.nothing() : tsplus_module_2.just(foundNode.value);
99
99
  const nextValue = f(previousValue);
100
- tsplus_module_3.match_(previousValue, () => tsplus_module_3.match_(nextValue, () => {
100
+ tsplus_module_3.match(() => tsplus_module_3.match(() => {
101
101
  /* do nothing */
102
102
  }, value => {
103
103
  const newIndexedHash = this.contentSize + 1 > this.threshold ? (this.growTable(this.table.length * 2), this.index(hash)) : indexedHash;
104
104
 
105
105
  this._set0(key, value, false, hash, newIndexedHash);
106
- }), () => tsplus_module_3.match_(nextValue, () => {
106
+ })(nextValue), () => tsplus_module_3.match(() => {
107
107
  if (previousNode !== undefined) {
108
108
  previousNode.next = foundNode.next;
109
109
  } else {
@@ -113,7 +113,7 @@ export class HashMap {
113
113
  this.contentSize -= 1;
114
114
  }, newValue => {
115
115
  foundNode.value = newValue;
116
- }));
116
+ })(nextValue))(previousValue);
117
117
  return nextValue;
118
118
  }
119
119
 
@@ -295,7 +295,6 @@ class Node {
295
295
  }
296
296
 
297
297
  findNode(k, h, equals) {
298
- // eslint-disable-next-line @typescript-eslint/no-this-alias
299
298
  let n = this;
300
299
 
301
300
  while (n) {
@@ -310,7 +309,6 @@ class Node {
310
309
  }
311
310
 
312
311
  forEach(f) {
313
- // eslint-disable-next-line @typescript-eslint/no-this-alias
314
312
  let n = this;
315
313
 
316
314
  while (n) {