effect 3.8.4 → 3.9.0

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 (757) hide show
  1. package/dist/cjs/Array.js +24 -3
  2. package/dist/cjs/Array.js.map +1 -1
  3. package/dist/cjs/BigDecimal.js +5 -3
  4. package/dist/cjs/BigDecimal.js.map +1 -1
  5. package/dist/cjs/BigInt.js.map +1 -1
  6. package/dist/cjs/Boolean.js.map +1 -1
  7. package/dist/cjs/Cause.js.map +1 -1
  8. package/dist/cjs/Channel.js.map +1 -1
  9. package/dist/cjs/ChildExecutorDecision.js.map +1 -1
  10. package/dist/cjs/Chunk.js +3 -0
  11. package/dist/cjs/Chunk.js.map +1 -1
  12. package/dist/cjs/Config.js.map +1 -1
  13. package/dist/cjs/ConfigError.js.map +1 -1
  14. package/dist/cjs/ConfigProvider.js.map +1 -1
  15. package/dist/cjs/ConfigProviderPathPatch.js.map +1 -1
  16. package/dist/cjs/Console.js.map +1 -1
  17. package/dist/cjs/Context.js.map +1 -1
  18. package/dist/cjs/Cron.js +3 -0
  19. package/dist/cjs/Cron.js.map +1 -1
  20. package/dist/cjs/Data.js.map +1 -1
  21. package/dist/cjs/DateTime.js +6 -0
  22. package/dist/cjs/DateTime.js.map +1 -1
  23. package/dist/cjs/Deferred.js.map +1 -1
  24. package/dist/cjs/Differ.js.map +1 -1
  25. package/dist/cjs/Duration.js +3 -0
  26. package/dist/cjs/Duration.js.map +1 -1
  27. package/dist/cjs/Effect.js +122 -35
  28. package/dist/cjs/Effect.js.map +1 -1
  29. package/dist/cjs/Either.js.map +1 -1
  30. package/dist/cjs/Equivalence.js.map +1 -1
  31. package/dist/cjs/ExecutionStrategy.js.map +1 -1
  32. package/dist/cjs/Exit.js.map +1 -1
  33. package/dist/cjs/Fiber.js.map +1 -1
  34. package/dist/cjs/FiberHandle.js +3 -0
  35. package/dist/cjs/FiberHandle.js.map +1 -1
  36. package/dist/cjs/FiberId.js.map +1 -1
  37. package/dist/cjs/FiberMap.js +3 -0
  38. package/dist/cjs/FiberMap.js.map +1 -1
  39. package/dist/cjs/FiberRef.js.map +1 -1
  40. package/dist/cjs/FiberRefs.js.map +1 -1
  41. package/dist/cjs/FiberRefsPatch.js.map +1 -1
  42. package/dist/cjs/FiberSet.js +3 -0
  43. package/dist/cjs/FiberSet.js.map +1 -1
  44. package/dist/cjs/Function.js.map +1 -1
  45. package/dist/cjs/GroupBy.js.map +1 -1
  46. package/dist/cjs/Hash.js.map +1 -1
  47. package/dist/cjs/HashMap.js.map +1 -1
  48. package/dist/cjs/HashSet.js.map +1 -1
  49. package/dist/cjs/Inspectable.js +15 -1
  50. package/dist/cjs/Inspectable.js.map +1 -1
  51. package/dist/cjs/Iterable.js.map +1 -1
  52. package/dist/cjs/KeyedPool.js.map +1 -1
  53. package/dist/cjs/Layer.js.map +1 -1
  54. package/dist/cjs/List.js +6 -0
  55. package/dist/cjs/List.js.map +1 -1
  56. package/dist/cjs/LogLevel.js.map +1 -1
  57. package/dist/cjs/Logger.js.map +1 -1
  58. package/dist/cjs/Mailbox.js.map +1 -1
  59. package/dist/cjs/ManagedRuntime.js +16 -1
  60. package/dist/cjs/ManagedRuntime.js.map +1 -1
  61. package/dist/cjs/MergeDecision.js.map +1 -1
  62. package/dist/cjs/MergeState.js.map +1 -1
  63. package/dist/cjs/MergeStrategy.js.map +1 -1
  64. package/dist/cjs/Metric.js.map +1 -1
  65. package/dist/cjs/MetricHook.js.map +1 -1
  66. package/dist/cjs/MetricKey.js.map +1 -1
  67. package/dist/cjs/MetricPolling.js.map +1 -1
  68. package/dist/cjs/MetricState.js.map +1 -1
  69. package/dist/cjs/Micro.js +6 -0
  70. package/dist/cjs/Micro.js.map +1 -1
  71. package/dist/cjs/MutableHashMap.js +3 -0
  72. package/dist/cjs/MutableHashMap.js.map +1 -1
  73. package/dist/cjs/MutableHashSet.js +3 -0
  74. package/dist/cjs/MutableHashSet.js.map +1 -1
  75. package/dist/cjs/MutableList.js +3 -0
  76. package/dist/cjs/MutableList.js.map +1 -1
  77. package/dist/cjs/MutableQueue.js +3 -0
  78. package/dist/cjs/MutableQueue.js.map +1 -1
  79. package/dist/cjs/MutableRef.js +3 -0
  80. package/dist/cjs/MutableRef.js.map +1 -1
  81. package/dist/cjs/Number.js.map +1 -1
  82. package/dist/cjs/Option.js.map +1 -1
  83. package/dist/cjs/Order.js.map +1 -1
  84. package/dist/cjs/Ordering.js.map +1 -1
  85. package/dist/cjs/Pipeable.js.map +1 -1
  86. package/dist/cjs/Pool.js.map +1 -1
  87. package/dist/cjs/Predicate.js +18 -2
  88. package/dist/cjs/Predicate.js.map +1 -1
  89. package/dist/cjs/PubSub.js.map +1 -1
  90. package/dist/cjs/Queue.js.map +1 -1
  91. package/dist/cjs/RcMap.js.map +1 -1
  92. package/dist/cjs/Readable.js.map +1 -1
  93. package/dist/cjs/Record.js.map +1 -1
  94. package/dist/cjs/RedBlackTree.js.map +1 -1
  95. package/dist/cjs/Ref.js.map +1 -1
  96. package/dist/cjs/RegExp.js +20 -1
  97. package/dist/cjs/RegExp.js.map +1 -1
  98. package/dist/cjs/Request.js.map +1 -1
  99. package/dist/cjs/RequestResolver.js.map +1 -1
  100. package/dist/cjs/Resource.js.map +1 -1
  101. package/dist/cjs/Runtime.js.map +1 -1
  102. package/dist/cjs/RuntimeFlags.js.map +1 -1
  103. package/dist/cjs/RuntimeFlagsPatch.js.map +1 -1
  104. package/dist/cjs/STM.js.map +1 -1
  105. package/dist/cjs/Schedule.js.map +1 -1
  106. package/dist/cjs/ScheduleInterval.js.map +1 -1
  107. package/dist/cjs/ScheduleIntervals.js.map +1 -1
  108. package/dist/cjs/Scheduler.js.map +1 -1
  109. package/dist/cjs/Scope.js.map +1 -1
  110. package/dist/cjs/ScopedRef.js.map +1 -1
  111. package/dist/cjs/Sink.js.map +1 -1
  112. package/dist/cjs/SortedMap.js +3 -0
  113. package/dist/cjs/SortedMap.js.map +1 -1
  114. package/dist/cjs/SortedSet.js +3 -0
  115. package/dist/cjs/SortedSet.js.map +1 -1
  116. package/dist/cjs/Stream.js +17 -3
  117. package/dist/cjs/Stream.js.map +1 -1
  118. package/dist/cjs/StreamHaltStrategy.js.map +1 -1
  119. package/dist/cjs/String.js.map +1 -1
  120. package/dist/cjs/Struct.js.map +1 -1
  121. package/dist/cjs/Subscribable.js.map +1 -1
  122. package/dist/cjs/SubscriptionRef.js.map +1 -1
  123. package/dist/cjs/SynchronizedRef.js.map +1 -1
  124. package/dist/cjs/TArray.js.map +1 -1
  125. package/dist/cjs/TDeferred.js.map +1 -1
  126. package/dist/cjs/TMap.js.map +1 -1
  127. package/dist/cjs/TPriorityQueue.js.map +1 -1
  128. package/dist/cjs/TPubSub.js.map +1 -1
  129. package/dist/cjs/TQueue.js.map +1 -1
  130. package/dist/cjs/TReentrantLock.js.map +1 -1
  131. package/dist/cjs/TRef.js.map +1 -1
  132. package/dist/cjs/TSemaphore.js.map +1 -1
  133. package/dist/cjs/TSet.js.map +1 -1
  134. package/dist/cjs/Take.js.map +1 -1
  135. package/dist/cjs/TestAnnotationMap.js.map +1 -1
  136. package/dist/cjs/TestClock.js.map +1 -1
  137. package/dist/cjs/TestServices.js.map +1 -1
  138. package/dist/cjs/Trie.js.map +1 -1
  139. package/dist/cjs/Tuple.js +21 -2
  140. package/dist/cjs/Tuple.js.map +1 -1
  141. package/dist/cjs/Unify.js.map +1 -1
  142. package/dist/cjs/UpstreamPullRequest.js.map +1 -1
  143. package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
  144. package/dist/cjs/Utils.js +1 -14
  145. package/dist/cjs/Utils.js.map +1 -1
  146. package/dist/cjs/internal/cause.js +3 -0
  147. package/dist/cjs/internal/cause.js.map +1 -1
  148. package/dist/cjs/internal/context.js +6 -1
  149. package/dist/cjs/internal/context.js.map +1 -1
  150. package/dist/cjs/internal/core-effect.js.map +1 -1
  151. package/dist/cjs/internal/core.js +16 -3
  152. package/dist/cjs/internal/core.js.map +1 -1
  153. package/dist/cjs/internal/effect/circular.js +5 -1
  154. package/dist/cjs/internal/effect/circular.js.map +1 -1
  155. package/dist/cjs/internal/fiberId.js +9 -0
  156. package/dist/cjs/internal/fiberId.js.map +1 -1
  157. package/dist/cjs/internal/hashMap.js +3 -0
  158. package/dist/cjs/internal/hashMap.js.map +1 -1
  159. package/dist/cjs/internal/hashSet.js +3 -0
  160. package/dist/cjs/internal/hashSet.js.map +1 -1
  161. package/dist/cjs/internal/layer.js +33 -19
  162. package/dist/cjs/internal/layer.js.map +1 -1
  163. package/dist/cjs/internal/mailbox.js +3 -0
  164. package/dist/cjs/internal/mailbox.js.map +1 -1
  165. package/dist/cjs/internal/managedRuntime/circular.js +10 -0
  166. package/dist/cjs/internal/managedRuntime/circular.js.map +1 -0
  167. package/dist/cjs/internal/managedRuntime.js +23 -9
  168. package/dist/cjs/internal/managedRuntime.js.map +1 -1
  169. package/dist/cjs/internal/option.js +3 -0
  170. package/dist/cjs/internal/option.js.map +1 -1
  171. package/dist/cjs/internal/pool.js +6 -1
  172. package/dist/cjs/internal/pool.js.map +1 -1
  173. package/dist/cjs/internal/redBlackTree.js +3 -0
  174. package/dist/cjs/internal/redBlackTree.js.map +1 -1
  175. package/dist/cjs/internal/resource.js +15 -5
  176. package/dist/cjs/internal/resource.js.map +1 -1
  177. package/dist/cjs/internal/runtime.js +4 -1
  178. package/dist/cjs/internal/runtime.js.map +1 -1
  179. package/dist/cjs/internal/scopedRef.js +11 -8
  180. package/dist/cjs/internal/scopedRef.js.map +1 -1
  181. package/dist/cjs/internal/stm/core.js +1 -2
  182. package/dist/cjs/internal/stm/core.js.map +1 -1
  183. package/dist/cjs/internal/stream.js +12 -3
  184. package/dist/cjs/internal/stream.js.map +1 -1
  185. package/dist/cjs/internal/trie.js +3 -0
  186. package/dist/cjs/internal/trie.js.map +1 -1
  187. package/dist/cjs/internal/version.js +1 -1
  188. package/dist/dts/Array.d.ts +2735 -2
  189. package/dist/dts/Array.d.ts.map +1 -1
  190. package/dist/dts/BigDecimal.d.ts +558 -1
  191. package/dist/dts/BigDecimal.d.ts.map +1 -1
  192. package/dist/dts/BigInt.d.ts +490 -0
  193. package/dist/dts/BigInt.d.ts.map +1 -1
  194. package/dist/dts/Boolean.d.ts +228 -0
  195. package/dist/dts/Boolean.d.ts.map +1 -1
  196. package/dist/dts/Cause.d.ts +172 -0
  197. package/dist/dts/Cause.d.ts.map +1 -1
  198. package/dist/dts/Channel.d.ts +750 -0
  199. package/dist/dts/Channel.d.ts.map +1 -1
  200. package/dist/dts/ChildExecutorDecision.d.ts +12 -0
  201. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  202. package/dist/dts/Chunk.d.ts +791 -0
  203. package/dist/dts/Chunk.d.ts.map +1 -1
  204. package/dist/dts/Config.d.ts +174 -0
  205. package/dist/dts/Config.d.ts.map +1 -1
  206. package/dist/dts/ConfigError.d.ts +16 -0
  207. package/dist/dts/ConfigError.d.ts.map +1 -1
  208. package/dist/dts/ConfigProvider.d.ts +84 -0
  209. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  210. package/dist/dts/ConfigProviderPathPatch.d.ts +32 -0
  211. package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
  212. package/dist/dts/Console.d.ts +24 -0
  213. package/dist/dts/Console.d.ts.map +1 -1
  214. package/dist/dts/Context.d.ts +234 -3
  215. package/dist/dts/Context.d.ts.map +1 -1
  216. package/dist/dts/Cron.d.ts +12 -0
  217. package/dist/dts/Cron.d.ts.map +1 -1
  218. package/dist/dts/Data.d.ts +165 -0
  219. package/dist/dts/Data.d.ts.map +1 -1
  220. package/dist/dts/DateTime.d.ts +878 -0
  221. package/dist/dts/DateTime.d.ts.map +1 -1
  222. package/dist/dts/Deferred.d.ts +171 -1
  223. package/dist/dts/Deferred.d.ts.map +1 -1
  224. package/dist/dts/Differ.d.ts +78 -0
  225. package/dist/dts/Differ.d.ts.map +1 -1
  226. package/dist/dts/Duration.d.ts +130 -0
  227. package/dist/dts/Duration.d.ts.map +1 -1
  228. package/dist/dts/Effect.d.ts +4350 -13
  229. package/dist/dts/Effect.d.ts.map +1 -1
  230. package/dist/dts/Either.d.ts +620 -0
  231. package/dist/dts/Either.d.ts.map +1 -1
  232. package/dist/dts/Equivalence.d.ts +24 -0
  233. package/dist/dts/Equivalence.d.ts.map +1 -1
  234. package/dist/dts/ExecutionStrategy.d.ts +14 -0
  235. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  236. package/dist/dts/Exit.d.ts +252 -0
  237. package/dist/dts/Exit.d.ts.map +1 -1
  238. package/dist/dts/Fiber.d.ts +182 -0
  239. package/dist/dts/Fiber.d.ts.map +1 -1
  240. package/dist/dts/FiberHandle.d.ts +42 -0
  241. package/dist/dts/FiberHandle.d.ts.map +1 -1
  242. package/dist/dts/FiberId.d.ts +24 -0
  243. package/dist/dts/FiberId.d.ts.map +1 -1
  244. package/dist/dts/FiberMap.d.ts +102 -0
  245. package/dist/dts/FiberMap.d.ts.map +1 -1
  246. package/dist/dts/FiberRef.d.ts +80 -0
  247. package/dist/dts/FiberRef.d.ts.map +1 -1
  248. package/dist/dts/FiberRefs.d.ts +84 -0
  249. package/dist/dts/FiberRefs.d.ts.map +1 -1
  250. package/dist/dts/FiberRefsPatch.d.ts +30 -0
  251. package/dist/dts/FiberRefsPatch.d.ts.map +1 -1
  252. package/dist/dts/FiberSet.d.ts +38 -0
  253. package/dist/dts/FiberSet.d.ts.map +1 -1
  254. package/dist/dts/Function.d.ts +144 -28
  255. package/dist/dts/Function.d.ts.map +1 -1
  256. package/dist/dts/GroupBy.d.ts +38 -0
  257. package/dist/dts/GroupBy.d.ts.map +1 -1
  258. package/dist/dts/Hash.d.ts +8 -0
  259. package/dist/dts/Hash.d.ts.map +1 -1
  260. package/dist/dts/HashMap.d.ts +315 -0
  261. package/dist/dts/HashMap.d.ts.map +1 -1
  262. package/dist/dts/HashSet.d.ts +284 -0
  263. package/dist/dts/HashSet.d.ts.map +1 -1
  264. package/dist/dts/Inspectable.d.ts +15 -0
  265. package/dist/dts/Inspectable.d.ts.map +1 -1
  266. package/dist/dts/Iterable.d.ts +454 -0
  267. package/dist/dts/Iterable.d.ts.map +1 -1
  268. package/dist/dts/KeyedPool.d.ts +34 -0
  269. package/dist/dts/KeyedPool.d.ts.map +1 -1
  270. package/dist/dts/Layer.d.ts +460 -5
  271. package/dist/dts/Layer.d.ts.map +1 -1
  272. package/dist/dts/List.d.ts +430 -0
  273. package/dist/dts/List.d.ts.map +1 -1
  274. package/dist/dts/LogLevel.d.ts +46 -0
  275. package/dist/dts/LogLevel.d.ts.map +1 -1
  276. package/dist/dts/Logger.d.ts +194 -0
  277. package/dist/dts/Logger.d.ts.map +1 -1
  278. package/dist/dts/Mailbox.d.ts +16 -0
  279. package/dist/dts/Mailbox.d.ts.map +1 -1
  280. package/dist/dts/ManagedRuntime.d.ts +41 -2
  281. package/dist/dts/ManagedRuntime.d.ts.map +1 -1
  282. package/dist/dts/MergeDecision.d.ts +8 -0
  283. package/dist/dts/MergeDecision.d.ts.map +1 -1
  284. package/dist/dts/MergeState.d.ts +8 -0
  285. package/dist/dts/MergeState.d.ts.map +1 -1
  286. package/dist/dts/MergeStrategy.d.ts +12 -0
  287. package/dist/dts/MergeStrategy.d.ts.map +1 -1
  288. package/dist/dts/Metric.d.ts +410 -0
  289. package/dist/dts/Metric.d.ts.map +1 -1
  290. package/dist/dts/MetricHook.d.ts +24 -0
  291. package/dist/dts/MetricHook.d.ts.map +1 -1
  292. package/dist/dts/MetricKey.d.ts +48 -0
  293. package/dist/dts/MetricKey.d.ts.map +1 -1
  294. package/dist/dts/MetricPolling.d.ts +40 -0
  295. package/dist/dts/MetricPolling.d.ts.map +1 -1
  296. package/dist/dts/MetricState.d.ts +16 -0
  297. package/dist/dts/MetricState.d.ts.map +1 -1
  298. package/dist/dts/Micro.d.ts +1110 -0
  299. package/dist/dts/Micro.d.ts.map +1 -1
  300. package/dist/dts/MutableHashMap.d.ts +50 -0
  301. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  302. package/dist/dts/MutableHashSet.d.ts +24 -0
  303. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  304. package/dist/dts/MutableList.d.ts +36 -0
  305. package/dist/dts/MutableList.d.ts.map +1 -1
  306. package/dist/dts/MutableQueue.d.ts +62 -0
  307. package/dist/dts/MutableQueue.d.ts.map +1 -1
  308. package/dist/dts/MutableRef.d.ts +56 -0
  309. package/dist/dts/MutableRef.d.ts.map +1 -1
  310. package/dist/dts/Number.d.ts +474 -0
  311. package/dist/dts/Number.d.ts.map +1 -1
  312. package/dist/dts/Option.d.ts +1019 -0
  313. package/dist/dts/Option.d.ts.map +1 -1
  314. package/dist/dts/Order.d.ts +24 -0
  315. package/dist/dts/Order.d.ts.map +1 -1
  316. package/dist/dts/Ordering.d.ts +66 -0
  317. package/dist/dts/Ordering.d.ts.map +1 -1
  318. package/dist/dts/Pipeable.d.ts +21 -21
  319. package/dist/dts/Pipeable.d.ts.map +1 -1
  320. package/dist/dts/Pool.d.ts +37 -1
  321. package/dist/dts/Pool.d.ts.map +1 -1
  322. package/dist/dts/Predicate.d.ts +513 -0
  323. package/dist/dts/Predicate.d.ts.map +1 -1
  324. package/dist/dts/PubSub.d.ts +28 -0
  325. package/dist/dts/PubSub.d.ts.map +1 -1
  326. package/dist/dts/Queue.d.ts +106 -2
  327. package/dist/dts/Queue.d.ts.map +1 -1
  328. package/dist/dts/RcMap.d.ts +70 -0
  329. package/dist/dts/RcMap.d.ts.map +1 -1
  330. package/dist/dts/Readable.d.ts +16 -0
  331. package/dist/dts/Readable.d.ts.map +1 -1
  332. package/dist/dts/Record.d.ts +800 -0
  333. package/dist/dts/Record.d.ts.map +1 -1
  334. package/dist/dts/RedBlackTree.d.ts +300 -0
  335. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  336. package/dist/dts/Ref.d.ts +88 -0
  337. package/dist/dts/Ref.d.ts.map +1 -1
  338. package/dist/dts/RegExp.d.ts +12 -2
  339. package/dist/dts/RegExp.d.ts.map +1 -1
  340. package/dist/dts/Request.d.ts +76 -0
  341. package/dist/dts/Request.d.ts.map +1 -1
  342. package/dist/dts/RequestResolver.d.ts +144 -0
  343. package/dist/dts/RequestResolver.d.ts.map +1 -1
  344. package/dist/dts/Resource.d.ts +21 -1
  345. package/dist/dts/Resource.d.ts.map +1 -1
  346. package/dist/dts/Runtime.d.ts +126 -0
  347. package/dist/dts/Runtime.d.ts.map +1 -1
  348. package/dist/dts/RuntimeFlags.d.ts +100 -0
  349. package/dist/dts/RuntimeFlags.d.ts.map +1 -1
  350. package/dist/dts/RuntimeFlagsPatch.d.ts +112 -0
  351. package/dist/dts/RuntimeFlagsPatch.d.ts.map +1 -1
  352. package/dist/dts/STM.d.ts +1090 -0
  353. package/dist/dts/STM.d.ts.map +1 -1
  354. package/dist/dts/Schedule.d.ts +704 -0
  355. package/dist/dts/Schedule.d.ts.map +1 -1
  356. package/dist/dts/ScheduleInterval.d.ts +68 -0
  357. package/dist/dts/ScheduleInterval.d.ts.map +1 -1
  358. package/dist/dts/ScheduleIntervals.d.ts +50 -0
  359. package/dist/dts/ScheduleIntervals.d.ts.map +1 -1
  360. package/dist/dts/Scope.d.ts +36 -0
  361. package/dist/dts/Scope.d.ts.map +1 -1
  362. package/dist/dts/ScopedRef.d.ts +43 -1
  363. package/dist/dts/ScopedRef.d.ts.map +1 -1
  364. package/dist/dts/Sink.d.ts +464 -0
  365. package/dist/dts/Sink.d.ts.map +1 -1
  366. package/dist/dts/SortedMap.d.ts +76 -0
  367. package/dist/dts/SortedMap.d.ts.map +1 -1
  368. package/dist/dts/SortedSet.d.ts +142 -0
  369. package/dist/dts/SortedSet.d.ts.map +1 -1
  370. package/dist/dts/Stream.d.ts +4998 -1
  371. package/dist/dts/Stream.d.ts.map +1 -1
  372. package/dist/dts/StreamHaltStrategy.d.ts +12 -0
  373. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  374. package/dist/dts/String.d.ts +200 -0
  375. package/dist/dts/String.d.ts.map +1 -1
  376. package/dist/dts/Struct.d.ts +84 -0
  377. package/dist/dts/Struct.d.ts.map +1 -1
  378. package/dist/dts/Subscribable.d.ts +16 -0
  379. package/dist/dts/Subscribable.d.ts.map +1 -1
  380. package/dist/dts/SubscriptionRef.d.ts +152 -0
  381. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  382. package/dist/dts/SynchronizedRef.d.ts +152 -0
  383. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  384. package/dist/dts/TArray.d.ts +426 -0
  385. package/dist/dts/TArray.d.ts.map +1 -1
  386. package/dist/dts/TDeferred.d.ts +24 -0
  387. package/dist/dts/TDeferred.d.ts.map +1 -1
  388. package/dist/dts/TMap.d.ts +366 -0
  389. package/dist/dts/TMap.d.ts.map +1 -1
  390. package/dist/dts/TPriorityQueue.d.ts +60 -0
  391. package/dist/dts/TPriorityQueue.d.ts.map +1 -1
  392. package/dist/dts/TPubSub.d.ts +28 -0
  393. package/dist/dts/TPubSub.d.ts.map +1 -1
  394. package/dist/dts/TQueue.d.ts +108 -0
  395. package/dist/dts/TQueue.d.ts.map +1 -1
  396. package/dist/dts/TReentrantLock.d.ts +36 -0
  397. package/dist/dts/TReentrantLock.d.ts.map +1 -1
  398. package/dist/dts/TRef.d.ts +88 -0
  399. package/dist/dts/TRef.d.ts.map +1 -1
  400. package/dist/dts/TSemaphore.d.ts +40 -0
  401. package/dist/dts/TSemaphore.d.ts.map +1 -1
  402. package/dist/dts/TSet.d.ts +254 -0
  403. package/dist/dts/TSet.d.ts.map +1 -1
  404. package/dist/dts/Take.d.ts +56 -0
  405. package/dist/dts/Take.d.ts.map +1 -1
  406. package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
  407. package/dist/dts/TestClock.d.ts.map +1 -1
  408. package/dist/dts/TestServices.d.ts.map +1 -1
  409. package/dist/dts/Trie.d.ts +906 -0
  410. package/dist/dts/Trie.d.ts.map +1 -1
  411. package/dist/dts/Tuple.d.ts +203 -0
  412. package/dist/dts/Tuple.d.ts.map +1 -1
  413. package/dist/dts/Types.d.ts +39 -0
  414. package/dist/dts/Types.d.ts.map +1 -1
  415. package/dist/dts/Unify.d.ts +26 -13
  416. package/dist/dts/Unify.d.ts.map +1 -1
  417. package/dist/dts/UpstreamPullRequest.d.ts +12 -0
  418. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  419. package/dist/dts/UpstreamPullStrategy.d.ts +12 -0
  420. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  421. package/dist/dts/Utils.d.ts.map +1 -1
  422. package/dist/dts/internal/core.d.ts.map +1 -1
  423. package/dist/dts/internal/hashMap.d.ts.map +1 -1
  424. package/dist/dts/internal/layer.d.ts.map +1 -1
  425. package/dist/dts/internal/managedRuntime/circular.d.ts +2 -0
  426. package/dist/dts/internal/managedRuntime/circular.d.ts.map +1 -0
  427. package/dist/dts/internal/stream.d.ts.map +1 -1
  428. package/dist/esm/Array.js +21 -0
  429. package/dist/esm/Array.js.map +1 -1
  430. package/dist/esm/BigDecimal.js +6 -3
  431. package/dist/esm/BigDecimal.js.map +1 -1
  432. package/dist/esm/BigInt.js.map +1 -1
  433. package/dist/esm/Boolean.js.map +1 -1
  434. package/dist/esm/Cause.js.map +1 -1
  435. package/dist/esm/Channel.js.map +1 -1
  436. package/dist/esm/ChildExecutorDecision.js.map +1 -1
  437. package/dist/esm/Chunk.js +4 -1
  438. package/dist/esm/Chunk.js.map +1 -1
  439. package/dist/esm/Config.js.map +1 -1
  440. package/dist/esm/ConfigError.js.map +1 -1
  441. package/dist/esm/ConfigProvider.js.map +1 -1
  442. package/dist/esm/ConfigProviderPathPatch.js.map +1 -1
  443. package/dist/esm/Console.js.map +1 -1
  444. package/dist/esm/Context.js.map +1 -1
  445. package/dist/esm/Cron.js +4 -1
  446. package/dist/esm/Cron.js.map +1 -1
  447. package/dist/esm/Data.js.map +1 -1
  448. package/dist/esm/DateTime.js +6 -0
  449. package/dist/esm/DateTime.js.map +1 -1
  450. package/dist/esm/Deferred.js.map +1 -1
  451. package/dist/esm/Differ.js.map +1 -1
  452. package/dist/esm/Duration.js +4 -1
  453. package/dist/esm/Duration.js.map +1 -1
  454. package/dist/esm/Effect.js +116 -30
  455. package/dist/esm/Effect.js.map +1 -1
  456. package/dist/esm/Either.js.map +1 -1
  457. package/dist/esm/Equivalence.js.map +1 -1
  458. package/dist/esm/ExecutionStrategy.js.map +1 -1
  459. package/dist/esm/Exit.js.map +1 -1
  460. package/dist/esm/Fiber.js.map +1 -1
  461. package/dist/esm/FiberHandle.js +3 -0
  462. package/dist/esm/FiberHandle.js.map +1 -1
  463. package/dist/esm/FiberId.js.map +1 -1
  464. package/dist/esm/FiberMap.js +3 -0
  465. package/dist/esm/FiberMap.js.map +1 -1
  466. package/dist/esm/FiberRef.js.map +1 -1
  467. package/dist/esm/FiberRefs.js.map +1 -1
  468. package/dist/esm/FiberRefsPatch.js.map +1 -1
  469. package/dist/esm/FiberSet.js +3 -0
  470. package/dist/esm/FiberSet.js.map +1 -1
  471. package/dist/esm/Function.js.map +1 -1
  472. package/dist/esm/GroupBy.js.map +1 -1
  473. package/dist/esm/Hash.js.map +1 -1
  474. package/dist/esm/HashMap.js.map +1 -1
  475. package/dist/esm/HashSet.js.map +1 -1
  476. package/dist/esm/Inspectable.js +14 -0
  477. package/dist/esm/Inspectable.js.map +1 -1
  478. package/dist/esm/Iterable.js.map +1 -1
  479. package/dist/esm/KeyedPool.js.map +1 -1
  480. package/dist/esm/Layer.js.map +1 -1
  481. package/dist/esm/List.js +7 -1
  482. package/dist/esm/List.js.map +1 -1
  483. package/dist/esm/LogLevel.js.map +1 -1
  484. package/dist/esm/Logger.js.map +1 -1
  485. package/dist/esm/Mailbox.js.map +1 -1
  486. package/dist/esm/ManagedRuntime.js +15 -0
  487. package/dist/esm/ManagedRuntime.js.map +1 -1
  488. package/dist/esm/MergeDecision.js.map +1 -1
  489. package/dist/esm/MergeState.js.map +1 -1
  490. package/dist/esm/MergeStrategy.js.map +1 -1
  491. package/dist/esm/Metric.js.map +1 -1
  492. package/dist/esm/MetricHook.js.map +1 -1
  493. package/dist/esm/MetricKey.js.map +1 -1
  494. package/dist/esm/MetricPolling.js.map +1 -1
  495. package/dist/esm/MetricState.js.map +1 -1
  496. package/dist/esm/Micro.js +7 -1
  497. package/dist/esm/Micro.js.map +1 -1
  498. package/dist/esm/MutableHashMap.js +4 -1
  499. package/dist/esm/MutableHashMap.js.map +1 -1
  500. package/dist/esm/MutableHashSet.js +4 -1
  501. package/dist/esm/MutableHashSet.js.map +1 -1
  502. package/dist/esm/MutableList.js +4 -1
  503. package/dist/esm/MutableList.js.map +1 -1
  504. package/dist/esm/MutableQueue.js +4 -1
  505. package/dist/esm/MutableQueue.js.map +1 -1
  506. package/dist/esm/MutableRef.js +4 -1
  507. package/dist/esm/MutableRef.js.map +1 -1
  508. package/dist/esm/Number.js.map +1 -1
  509. package/dist/esm/Option.js.map +1 -1
  510. package/dist/esm/Order.js.map +1 -1
  511. package/dist/esm/Ordering.js.map +1 -1
  512. package/dist/esm/Pipeable.js.map +1 -1
  513. package/dist/esm/Pool.js.map +1 -1
  514. package/dist/esm/Predicate.js +15 -0
  515. package/dist/esm/Predicate.js.map +1 -1
  516. package/dist/esm/PubSub.js.map +1 -1
  517. package/dist/esm/Queue.js.map +1 -1
  518. package/dist/esm/RcMap.js.map +1 -1
  519. package/dist/esm/Readable.js.map +1 -1
  520. package/dist/esm/Record.js.map +1 -1
  521. package/dist/esm/RedBlackTree.js.map +1 -1
  522. package/dist/esm/Ref.js.map +1 -1
  523. package/dist/esm/RegExp.js +16 -0
  524. package/dist/esm/RegExp.js.map +1 -1
  525. package/dist/esm/Request.js.map +1 -1
  526. package/dist/esm/RequestResolver.js.map +1 -1
  527. package/dist/esm/Resource.js.map +1 -1
  528. package/dist/esm/Runtime.js.map +1 -1
  529. package/dist/esm/RuntimeFlags.js.map +1 -1
  530. package/dist/esm/RuntimeFlagsPatch.js.map +1 -1
  531. package/dist/esm/STM.js.map +1 -1
  532. package/dist/esm/Schedule.js.map +1 -1
  533. package/dist/esm/ScheduleInterval.js.map +1 -1
  534. package/dist/esm/ScheduleIntervals.js.map +1 -1
  535. package/dist/esm/Scheduler.js.map +1 -1
  536. package/dist/esm/Scope.js.map +1 -1
  537. package/dist/esm/ScopedRef.js.map +1 -1
  538. package/dist/esm/Sink.js.map +1 -1
  539. package/dist/esm/SortedMap.js +4 -1
  540. package/dist/esm/SortedMap.js.map +1 -1
  541. package/dist/esm/SortedSet.js +4 -1
  542. package/dist/esm/SortedSet.js.map +1 -1
  543. package/dist/esm/Stream.js +14 -0
  544. package/dist/esm/Stream.js.map +1 -1
  545. package/dist/esm/StreamHaltStrategy.js.map +1 -1
  546. package/dist/esm/String.js.map +1 -1
  547. package/dist/esm/Struct.js.map +1 -1
  548. package/dist/esm/Subscribable.js.map +1 -1
  549. package/dist/esm/SubscriptionRef.js.map +1 -1
  550. package/dist/esm/SynchronizedRef.js.map +1 -1
  551. package/dist/esm/TArray.js.map +1 -1
  552. package/dist/esm/TDeferred.js.map +1 -1
  553. package/dist/esm/TMap.js.map +1 -1
  554. package/dist/esm/TPriorityQueue.js.map +1 -1
  555. package/dist/esm/TPubSub.js.map +1 -1
  556. package/dist/esm/TQueue.js.map +1 -1
  557. package/dist/esm/TReentrantLock.js.map +1 -1
  558. package/dist/esm/TRef.js.map +1 -1
  559. package/dist/esm/TSemaphore.js.map +1 -1
  560. package/dist/esm/TSet.js.map +1 -1
  561. package/dist/esm/Take.js.map +1 -1
  562. package/dist/esm/TestAnnotationMap.js.map +1 -1
  563. package/dist/esm/TestClock.js.map +1 -1
  564. package/dist/esm/TestServices.js.map +1 -1
  565. package/dist/esm/Trie.js.map +1 -1
  566. package/dist/esm/Tuple.js +19 -0
  567. package/dist/esm/Tuple.js.map +1 -1
  568. package/dist/esm/Unify.js.map +1 -1
  569. package/dist/esm/UpstreamPullRequest.js.map +1 -1
  570. package/dist/esm/UpstreamPullStrategy.js.map +1 -1
  571. package/dist/esm/Utils.js +1 -14
  572. package/dist/esm/Utils.js.map +1 -1
  573. package/dist/esm/internal/cause.js +4 -1
  574. package/dist/esm/internal/cause.js.map +1 -1
  575. package/dist/esm/internal/context.js +7 -2
  576. package/dist/esm/internal/context.js.map +1 -1
  577. package/dist/esm/internal/core-effect.js.map +1 -1
  578. package/dist/esm/internal/core.js +14 -2
  579. package/dist/esm/internal/core.js.map +1 -1
  580. package/dist/esm/internal/effect/circular.js +5 -1
  581. package/dist/esm/internal/effect/circular.js.map +1 -1
  582. package/dist/esm/internal/fiberId.js +10 -1
  583. package/dist/esm/internal/fiberId.js.map +1 -1
  584. package/dist/esm/internal/hashMap.js +4 -1
  585. package/dist/esm/internal/hashMap.js.map +1 -1
  586. package/dist/esm/internal/hashSet.js +4 -1
  587. package/dist/esm/internal/hashSet.js.map +1 -1
  588. package/dist/esm/internal/layer.js +32 -18
  589. package/dist/esm/internal/layer.js.map +1 -1
  590. package/dist/esm/internal/mailbox.js +3 -0
  591. package/dist/esm/internal/mailbox.js.map +1 -1
  592. package/dist/esm/internal/managedRuntime/circular.js +4 -0
  593. package/dist/esm/internal/managedRuntime/circular.js.map +1 -0
  594. package/dist/esm/internal/managedRuntime.js +21 -8
  595. package/dist/esm/internal/managedRuntime.js.map +1 -1
  596. package/dist/esm/internal/option.js +4 -1
  597. package/dist/esm/internal/option.js.map +1 -1
  598. package/dist/esm/internal/pool.js +6 -1
  599. package/dist/esm/internal/pool.js.map +1 -1
  600. package/dist/esm/internal/redBlackTree.js +4 -1
  601. package/dist/esm/internal/redBlackTree.js.map +1 -1
  602. package/dist/esm/internal/resource.js +15 -5
  603. package/dist/esm/internal/resource.js.map +1 -1
  604. package/dist/esm/internal/runtime.js +4 -1
  605. package/dist/esm/internal/runtime.js.map +1 -1
  606. package/dist/esm/internal/scopedRef.js +11 -8
  607. package/dist/esm/internal/scopedRef.js.map +1 -1
  608. package/dist/esm/internal/stm/core.js +1 -2
  609. package/dist/esm/internal/stm/core.js.map +1 -1
  610. package/dist/esm/internal/stream.js +9 -0
  611. package/dist/esm/internal/stream.js.map +1 -1
  612. package/dist/esm/internal/trie.js +4 -1
  613. package/dist/esm/internal/trie.js.map +1 -1
  614. package/dist/esm/internal/version.js +1 -1
  615. package/package.json +1 -1
  616. package/src/Array.ts +2791 -40
  617. package/src/BigDecimal.ts +589 -19
  618. package/src/BigInt.ts +516 -16
  619. package/src/Boolean.ts +241 -8
  620. package/src/Cause.ts +177 -1
  621. package/src/Channel.ts +766 -49
  622. package/src/ChildExecutorDecision.ts +12 -0
  623. package/src/Chunk.ts +822 -5
  624. package/src/Config.ts +187 -8
  625. package/src/ConfigError.ts +16 -0
  626. package/src/ConfigProvider.ts +89 -1
  627. package/src/ConfigProviderPathPatch.ts +32 -0
  628. package/src/Console.ts +37 -8
  629. package/src/Context.ts +234 -3
  630. package/src/Cron.ts +16 -1
  631. package/src/Data.ts +165 -0
  632. package/src/DateTime.ts +1012 -50
  633. package/src/Deferred.ts +171 -1
  634. package/src/Differ.ts +89 -27
  635. package/src/Duration.ts +160 -17
  636. package/src/Effect.ts +4717 -164
  637. package/src/Either.ts +650 -34
  638. package/src/Equivalence.ts +24 -0
  639. package/src/ExecutionStrategy.ts +29 -10
  640. package/src/Exit.ts +252 -0
  641. package/src/Fiber.ts +182 -0
  642. package/src/FiberHandle.ts +45 -0
  643. package/src/FiberId.ts +24 -0
  644. package/src/FiberMap.ts +147 -21
  645. package/src/FiberRef.ts +80 -0
  646. package/src/FiberRefs.ts +84 -0
  647. package/src/FiberRefsPatch.ts +35 -1
  648. package/src/FiberSet.ts +41 -0
  649. package/src/Function.ts +416 -31
  650. package/src/GroupBy.ts +38 -0
  651. package/src/Hash.ts +8 -0
  652. package/src/HashMap.ts +316 -0
  653. package/src/HashSet.ts +284 -0
  654. package/src/Inspectable.ts +22 -0
  655. package/src/Iterable.ts +456 -6
  656. package/src/KeyedPool.ts +34 -0
  657. package/src/Layer.ts +475 -38
  658. package/src/List.ts +483 -4
  659. package/src/LogLevel.ts +46 -0
  660. package/src/Logger.ts +195 -4
  661. package/src/Mailbox.ts +16 -0
  662. package/src/ManagedRuntime.ts +46 -2
  663. package/src/MergeDecision.ts +8 -0
  664. package/src/MergeState.ts +8 -0
  665. package/src/MergeStrategy.ts +25 -8
  666. package/src/Metric.ts +426 -15
  667. package/src/MetricHook.ts +24 -0
  668. package/src/MetricKey.ts +62 -8
  669. package/src/MetricPolling.ts +42 -6
  670. package/src/MetricState.ts +16 -0
  671. package/src/Micro.ts +1223 -61
  672. package/src/MutableHashMap.ts +109 -2
  673. package/src/MutableHashSet.ts +28 -1
  674. package/src/MutableList.ts +40 -1
  675. package/src/MutableQueue.ts +66 -1
  676. package/src/MutableRef.ts +60 -1
  677. package/src/Number.ts +500 -16
  678. package/src/Option.ts +1042 -16
  679. package/src/Order.ts +24 -0
  680. package/src/Ordering.ts +66 -0
  681. package/src/Pipeable.ts +224 -21
  682. package/src/Pool.ts +42 -1
  683. package/src/Predicate.ts +514 -0
  684. package/src/PubSub.ts +28 -0
  685. package/src/Queue.ts +106 -2
  686. package/src/RcMap.ts +70 -0
  687. package/src/Readable.ts +18 -7
  688. package/src/Record.ts +814 -40
  689. package/src/RedBlackTree.ts +305 -1
  690. package/src/Ref.ts +88 -0
  691. package/src/RegExp.ts +17 -0
  692. package/src/Request.ts +76 -0
  693. package/src/RequestResolver.ts +145 -4
  694. package/src/Resource.ts +22 -1
  695. package/src/Runtime.ts +134 -2
  696. package/src/RuntimeFlags.ts +100 -0
  697. package/src/RuntimeFlagsPatch.ts +112 -0
  698. package/src/STM.ts +1107 -11
  699. package/src/Schedule.ts +704 -0
  700. package/src/ScheduleInterval.ts +68 -0
  701. package/src/ScheduleIntervals.ts +50 -0
  702. package/src/Scheduler.ts +2 -0
  703. package/src/Scope.ts +36 -0
  704. package/src/ScopedRef.ts +44 -1
  705. package/src/Sink.ts +464 -0
  706. package/src/SortedMap.ts +80 -1
  707. package/src/SortedSet.ts +147 -4
  708. package/src/Stream.ts +5041 -54
  709. package/src/StreamHaltStrategy.ts +29 -12
  710. package/src/String.ts +200 -0
  711. package/src/Struct.ts +86 -7
  712. package/src/Subscribable.ts +16 -0
  713. package/src/SubscriptionRef.ts +159 -11
  714. package/src/SynchronizedRef.ts +169 -8
  715. package/src/TArray.ts +431 -1
  716. package/src/TDeferred.ts +24 -0
  717. package/src/TMap.ts +381 -12
  718. package/src/TPriorityQueue.ts +60 -0
  719. package/src/TPubSub.ts +28 -0
  720. package/src/TQueue.ts +108 -0
  721. package/src/TReentrantLock.ts +36 -0
  722. package/src/TRef.ts +88 -0
  723. package/src/TSemaphore.ts +40 -0
  724. package/src/TSet.ts +280 -12
  725. package/src/Take.ts +56 -0
  726. package/src/TestAnnotationMap.ts +45 -1
  727. package/src/TestClock.ts +6 -0
  728. package/src/TestServices.ts +66 -0
  729. package/src/Trie.ts +906 -0
  730. package/src/Tuple.ts +223 -8
  731. package/src/Types.ts +41 -0
  732. package/src/Unify.ts +28 -17
  733. package/src/UpstreamPullRequest.ts +12 -0
  734. package/src/UpstreamPullStrategy.ts +12 -0
  735. package/src/Utils.ts +1 -15
  736. package/src/internal/cause.ts +4 -1
  737. package/src/internal/context.ts +7 -2
  738. package/src/internal/core-effect.ts +7 -7
  739. package/src/internal/core.ts +14 -2
  740. package/src/internal/effect/circular.ts +8 -2
  741. package/src/internal/fiberId.ts +10 -1
  742. package/src/internal/hashMap.ts +4 -1
  743. package/src/internal/hashSet.ts +4 -1
  744. package/src/internal/layer.ts +105 -38
  745. package/src/internal/mailbox.ts +3 -0
  746. package/src/internal/managedRuntime/circular.ts +6 -0
  747. package/src/internal/managedRuntime.ts +36 -22
  748. package/src/internal/option.ts +4 -1
  749. package/src/internal/pool.ts +7 -1
  750. package/src/internal/redBlackTree.ts +4 -1
  751. package/src/internal/resource.ts +16 -5
  752. package/src/internal/runtime.ts +4 -1
  753. package/src/internal/scopedRef.ts +12 -8
  754. package/src/internal/stm/core.ts +2 -3
  755. package/src/internal/stream.ts +27 -0
  756. package/src/internal/trie.ts +4 -1
  757. package/src/internal/version.ts +1 -1
package/src/BigInt.ts CHANGED
@@ -48,7 +48,35 @@ export const isBigInt: (u: unknown) => u is bigint = predicate.isBigInt
48
48
  * @since 2.0.0
49
49
  */
50
50
  export const sum: {
51
+ /**
52
+ * Provides an addition operation on `bigint`s.
53
+ *
54
+ * @param self - The first operand.
55
+ * @param that - The second operand.
56
+ *
57
+ * @example
58
+ * import { sum } from "effect/BigInt"
59
+ *
60
+ * assert.deepStrictEqual(sum(2n, 3n), 5n)
61
+ *
62
+ * @category math
63
+ * @since 2.0.0
64
+ */
51
65
  (that: bigint): (self: bigint) => bigint
66
+ /**
67
+ * Provides an addition operation on `bigint`s.
68
+ *
69
+ * @param self - The first operand.
70
+ * @param that - The second operand.
71
+ *
72
+ * @example
73
+ * import { sum } from "effect/BigInt"
74
+ *
75
+ * assert.deepStrictEqual(sum(2n, 3n), 5n)
76
+ *
77
+ * @category math
78
+ * @since 2.0.0
79
+ */
52
80
  (self: bigint, that: bigint): bigint
53
81
  } = dual(2, (self: bigint, that: bigint): bigint => self + that)
54
82
 
@@ -67,7 +95,35 @@ export const sum: {
67
95
  * @since 2.0.0
68
96
  */
69
97
  export const multiply: {
98
+ /**
99
+ * Provides a multiplication operation on `bigint`s.
100
+ *
101
+ * @param self - The first operand.
102
+ * @param that - The second operand.
103
+ *
104
+ * @example
105
+ * import { multiply } from "effect/BigInt"
106
+ *
107
+ * assert.deepStrictEqual(multiply(2n, 3n), 6n)
108
+ *
109
+ * @category math
110
+ * @since 2.0.0
111
+ */
70
112
  (that: bigint): (self: bigint) => bigint
113
+ /**
114
+ * Provides a multiplication operation on `bigint`s.
115
+ *
116
+ * @param self - The first operand.
117
+ * @param that - The second operand.
118
+ *
119
+ * @example
120
+ * import { multiply } from "effect/BigInt"
121
+ *
122
+ * assert.deepStrictEqual(multiply(2n, 3n), 6n)
123
+ *
124
+ * @category math
125
+ * @since 2.0.0
126
+ */
71
127
  (self: bigint, that: bigint): bigint
72
128
  } = dual(2, (self: bigint, that: bigint): bigint => self * that)
73
129
 
@@ -86,7 +142,35 @@ export const multiply: {
86
142
  * @since 2.0.0
87
143
  */
88
144
  export const subtract: {
145
+ /**
146
+ * Provides a subtraction operation on `bigint`s.
147
+ *
148
+ * @param self - The first operand.
149
+ * @param that - The second operand.
150
+ *
151
+ * @example
152
+ * import { subtract } from "effect/BigInt"
153
+ *
154
+ * assert.deepStrictEqual(subtract(2n, 3n), -1n)
155
+ *
156
+ * @category math
157
+ * @since 2.0.0
158
+ */
89
159
  (that: bigint): (self: bigint) => bigint
160
+ /**
161
+ * Provides a subtraction operation on `bigint`s.
162
+ *
163
+ * @param self - The first operand.
164
+ * @param that - The second operand.
165
+ *
166
+ * @example
167
+ * import { subtract } from "effect/BigInt"
168
+ *
169
+ * assert.deepStrictEqual(subtract(2n, 3n), -1n)
170
+ *
171
+ * @category math
172
+ * @since 2.0.0
173
+ */
90
174
  (self: bigint, that: bigint): bigint
91
175
  } = dual(2, (self: bigint, that: bigint): bigint => self - that)
92
176
 
@@ -111,7 +195,47 @@ export const subtract: {
111
195
  * @since 2.0.0
112
196
  */
113
197
  export const divide: {
198
+ /**
199
+ * Provides a division operation on `bigint`s.
200
+ *
201
+ * If the dividend is not a multiple of the divisor the result will be a `bigint` value
202
+ * which represents the integer division rounded down to the nearest integer.
203
+ *
204
+ * Returns `None` if the divisor is `0n`.
205
+ *
206
+ * @param self - The dividend operand.
207
+ * @param that - The divisor operand.
208
+ *
209
+ * @example
210
+ * import { BigInt, Option } from "effect"
211
+ *
212
+ * assert.deepStrictEqual(BigInt.divide(6n, 3n), Option.some(2n))
213
+ * assert.deepStrictEqual(BigInt.divide(6n, 0n), Option.none())
214
+ *
215
+ * @category math
216
+ * @since 2.0.0
217
+ */
114
218
  (that: bigint): (self: bigint) => Option.Option<bigint>
219
+ /**
220
+ * Provides a division operation on `bigint`s.
221
+ *
222
+ * If the dividend is not a multiple of the divisor the result will be a `bigint` value
223
+ * which represents the integer division rounded down to the nearest integer.
224
+ *
225
+ * Returns `None` if the divisor is `0n`.
226
+ *
227
+ * @param self - The dividend operand.
228
+ * @param that - The divisor operand.
229
+ *
230
+ * @example
231
+ * import { BigInt, Option } from "effect"
232
+ *
233
+ * assert.deepStrictEqual(BigInt.divide(6n, 3n), Option.some(2n))
234
+ * assert.deepStrictEqual(BigInt.divide(6n, 0n), Option.none())
235
+ *
236
+ * @category math
237
+ * @since 2.0.0
238
+ */
115
239
  (self: bigint, that: bigint): Option.Option<bigint>
116
240
  } = dual(
117
241
  2,
@@ -139,7 +263,47 @@ export const divide: {
139
263
  * @since 2.0.0
140
264
  */
141
265
  export const unsafeDivide: {
266
+ /**
267
+ * Provides a division operation on `bigint`s.
268
+ *
269
+ * If the dividend is not a multiple of the divisor the result will be a `bigint` value
270
+ * which represents the integer division rounded down to the nearest integer.
271
+ *
272
+ * Throws a `RangeError` if the divisor is `0n`.
273
+ *
274
+ * @param self - The dividend operand.
275
+ * @param that - The divisor operand.
276
+ *
277
+ * @example
278
+ * import { unsafeDivide } from "effect/BigInt"
279
+ *
280
+ * assert.deepStrictEqual(unsafeDivide(6n, 3n), 2n)
281
+ * assert.deepStrictEqual(unsafeDivide(6n, 4n), 1n)
282
+ *
283
+ * @category math
284
+ * @since 2.0.0
285
+ */
142
286
  (that: bigint): (self: bigint) => bigint
287
+ /**
288
+ * Provides a division operation on `bigint`s.
289
+ *
290
+ * If the dividend is not a multiple of the divisor the result will be a `bigint` value
291
+ * which represents the integer division rounded down to the nearest integer.
292
+ *
293
+ * Throws a `RangeError` if the divisor is `0n`.
294
+ *
295
+ * @param self - The dividend operand.
296
+ * @param that - The divisor operand.
297
+ *
298
+ * @example
299
+ * import { unsafeDivide } from "effect/BigInt"
300
+ *
301
+ * assert.deepStrictEqual(unsafeDivide(6n, 3n), 2n)
302
+ * assert.deepStrictEqual(unsafeDivide(6n, 4n), 1n)
303
+ *
304
+ * @category math
305
+ * @since 2.0.0
306
+ */
143
307
  (self: bigint, that: bigint): bigint
144
308
  } = dual(2, (self: bigint, that: bigint): bigint => self / that)
145
309
 
@@ -202,7 +366,39 @@ export const Order: order.Order<bigint> = order.bigint
202
366
  * @since 2.0.0
203
367
  */
204
368
  export const lessThan: {
369
+ /**
370
+ * Returns `true` if the first argument is less than the second, otherwise `false`.
371
+ *
372
+ * @param self - The first argument.
373
+ * @param that - The second argument.
374
+ *
375
+ * @example
376
+ * import { lessThan } from "effect/BigInt"
377
+ *
378
+ * assert.deepStrictEqual(lessThan(2n, 3n), true)
379
+ * assert.deepStrictEqual(lessThan(3n, 3n), false)
380
+ * assert.deepStrictEqual(lessThan(4n, 3n), false)
381
+ *
382
+ * @category predicates
383
+ * @since 2.0.0
384
+ */
205
385
  (that: bigint): (self: bigint) => boolean
386
+ /**
387
+ * Returns `true` if the first argument is less than the second, otherwise `false`.
388
+ *
389
+ * @param self - The first argument.
390
+ * @param that - The second argument.
391
+ *
392
+ * @example
393
+ * import { lessThan } from "effect/BigInt"
394
+ *
395
+ * assert.deepStrictEqual(lessThan(2n, 3n), true)
396
+ * assert.deepStrictEqual(lessThan(3n, 3n), false)
397
+ * assert.deepStrictEqual(lessThan(4n, 3n), false)
398
+ *
399
+ * @category predicates
400
+ * @since 2.0.0
401
+ */
206
402
  (self: bigint, that: bigint): boolean
207
403
  } = order.lessThan(Order)
208
404
 
@@ -223,7 +419,39 @@ export const lessThan: {
223
419
  * @since 2.0.0
224
420
  */
225
421
  export const lessThanOrEqualTo: {
422
+ /**
423
+ * Returns a function that checks if a given `bigint` is less than or equal to the provided one.
424
+ *
425
+ * @param self - The first `bigint` to compare with.
426
+ * @param that - The second `bigint` to compare with.
427
+ *
428
+ * @example
429
+ * import { lessThanOrEqualTo } from "effect/BigInt"
430
+ *
431
+ * assert.deepStrictEqual(lessThanOrEqualTo(2n, 3n), true)
432
+ * assert.deepStrictEqual(lessThanOrEqualTo(3n, 3n), true)
433
+ * assert.deepStrictEqual(lessThanOrEqualTo(4n, 3n), false)
434
+ *
435
+ * @category predicates
436
+ * @since 2.0.0
437
+ */
226
438
  (that: bigint): (self: bigint) => boolean
439
+ /**
440
+ * Returns a function that checks if a given `bigint` is less than or equal to the provided one.
441
+ *
442
+ * @param self - The first `bigint` to compare with.
443
+ * @param that - The second `bigint` to compare with.
444
+ *
445
+ * @example
446
+ * import { lessThanOrEqualTo } from "effect/BigInt"
447
+ *
448
+ * assert.deepStrictEqual(lessThanOrEqualTo(2n, 3n), true)
449
+ * assert.deepStrictEqual(lessThanOrEqualTo(3n, 3n), true)
450
+ * assert.deepStrictEqual(lessThanOrEqualTo(4n, 3n), false)
451
+ *
452
+ * @category predicates
453
+ * @since 2.0.0
454
+ */
227
455
  (self: bigint, that: bigint): boolean
228
456
  } = order.lessThanOrEqualTo(Order)
229
457
 
@@ -244,7 +472,39 @@ export const lessThanOrEqualTo: {
244
472
  * @since 2.0.0
245
473
  */
246
474
  export const greaterThan: {
475
+ /**
476
+ * Returns `true` if the first argument is greater than the second, otherwise `false`.
477
+ *
478
+ * @param self - The first argument.
479
+ * @param that - The second argument.
480
+ *
481
+ * @example
482
+ * import { greaterThan } from "effect/BigInt"
483
+ *
484
+ * assert.deepStrictEqual(greaterThan(2n, 3n), false)
485
+ * assert.deepStrictEqual(greaterThan(3n, 3n), false)
486
+ * assert.deepStrictEqual(greaterThan(4n, 3n), true)
487
+ *
488
+ * @category predicates
489
+ * @since 2.0.0
490
+ */
247
491
  (that: bigint): (self: bigint) => boolean
492
+ /**
493
+ * Returns `true` if the first argument is greater than the second, otherwise `false`.
494
+ *
495
+ * @param self - The first argument.
496
+ * @param that - The second argument.
497
+ *
498
+ * @example
499
+ * import { greaterThan } from "effect/BigInt"
500
+ *
501
+ * assert.deepStrictEqual(greaterThan(2n, 3n), false)
502
+ * assert.deepStrictEqual(greaterThan(3n, 3n), false)
503
+ * assert.deepStrictEqual(greaterThan(4n, 3n), true)
504
+ *
505
+ * @category predicates
506
+ * @since 2.0.0
507
+ */
248
508
  (self: bigint, that: bigint): boolean
249
509
  } = order.greaterThan(Order)
250
510
 
@@ -265,7 +525,39 @@ export const greaterThan: {
265
525
  * @since 2.0.0
266
526
  */
267
527
  export const greaterThanOrEqualTo: {
528
+ /**
529
+ * Returns a function that checks if a given `bigint` is greater than or equal to the provided one.
530
+ *
531
+ * @param self - The first `bigint` to compare with.
532
+ * @param that - The second `bigint` to compare with.
533
+ *
534
+ * @example
535
+ * import { greaterThanOrEqualTo } from "effect/BigInt"
536
+ *
537
+ * assert.deepStrictEqual(greaterThanOrEqualTo(2n, 3n), false)
538
+ * assert.deepStrictEqual(greaterThanOrEqualTo(3n, 3n), true)
539
+ * assert.deepStrictEqual(greaterThanOrEqualTo(4n, 3n), true)
540
+ *
541
+ * @category predicates
542
+ * @since 2.0.0
543
+ */
268
544
  (that: bigint): (self: bigint) => boolean
545
+ /**
546
+ * Returns a function that checks if a given `bigint` is greater than or equal to the provided one.
547
+ *
548
+ * @param self - The first `bigint` to compare with.
549
+ * @param that - The second `bigint` to compare with.
550
+ *
551
+ * @example
552
+ * import { greaterThanOrEqualTo } from "effect/BigInt"
553
+ *
554
+ * assert.deepStrictEqual(greaterThanOrEqualTo(2n, 3n), false)
555
+ * assert.deepStrictEqual(greaterThanOrEqualTo(3n, 3n), true)
556
+ * assert.deepStrictEqual(greaterThanOrEqualTo(4n, 3n), true)
557
+ *
558
+ * @category predicates
559
+ * @since 2.0.0
560
+ */
269
561
  (self: bigint, that: bigint): boolean
270
562
  } = order.greaterThanOrEqualTo(Order)
271
563
 
@@ -289,14 +581,57 @@ export const greaterThanOrEqualTo: {
289
581
  * @since 2.0.0
290
582
  */
291
583
  export const between: {
292
- (options: {
293
- minimum: bigint
294
- maximum: bigint
295
- }): (self: bigint) => boolean
296
- (self: bigint, options: {
297
- minimum: bigint
298
- maximum: bigint
299
- }): boolean
584
+ /**
585
+ * Checks if a `bigint` is between a `minimum` and `maximum` value (inclusive).
586
+ *
587
+ * @param self - The `number` to check.
588
+ * @param minimum - The `minimum` value to check.
589
+ * @param maximum - The `maximum` value to check.
590
+ *
591
+ * @example
592
+ * import { BigInt } from "effect"
593
+ *
594
+ * const between = BigInt.between({ minimum: 0n, maximum: 5n })
595
+ *
596
+ * assert.deepStrictEqual(between(3n), true)
597
+ * assert.deepStrictEqual(between(-1n), false)
598
+ * assert.deepStrictEqual(between(6n), false)
599
+ *
600
+ * @category predicates
601
+ * @since 2.0.0
602
+ */
603
+ (
604
+ options: {
605
+ minimum: bigint
606
+ maximum: bigint
607
+ }
608
+ ): (self: bigint) => boolean
609
+ /**
610
+ * Checks if a `bigint` is between a `minimum` and `maximum` value (inclusive).
611
+ *
612
+ * @param self - The `number` to check.
613
+ * @param minimum - The `minimum` value to check.
614
+ * @param maximum - The `maximum` value to check.
615
+ *
616
+ * @example
617
+ * import { BigInt } from "effect"
618
+ *
619
+ * const between = BigInt.between({ minimum: 0n, maximum: 5n })
620
+ *
621
+ * assert.deepStrictEqual(between(3n), true)
622
+ * assert.deepStrictEqual(between(-1n), false)
623
+ * assert.deepStrictEqual(between(6n), false)
624
+ *
625
+ * @category predicates
626
+ * @since 2.0.0
627
+ */
628
+ (
629
+ self: bigint,
630
+ options: {
631
+ minimum: bigint
632
+ maximum: bigint
633
+ }
634
+ ): boolean
300
635
  } = order.between(Order)
301
636
 
302
637
  /**
@@ -322,14 +657,63 @@ export const between: {
322
657
  * @since 2.0.0
323
658
  */
324
659
  export const clamp: {
325
- (options: {
326
- minimum: bigint
327
- maximum: bigint
328
- }): (self: bigint) => bigint
329
- (self: bigint, options: {
330
- minimum: bigint
331
- maximum: bigint
332
- }): bigint
660
+ /**
661
+ * Restricts the given `bigint` to be within the range specified by the `minimum` and `maximum` values.
662
+ *
663
+ * - If the `bigint` is less than the `minimum` value, the function returns the `minimum` value.
664
+ * - If the `bigint` is greater than the `maximum` value, the function returns the `maximum` value.
665
+ * - Otherwise, it returns the original `bigint`.
666
+ *
667
+ * @param self - The `bigint` to be clamped.
668
+ * @param minimum - The lower end of the range.
669
+ * @param maximum - The upper end of the range.
670
+ *
671
+ * @example
672
+ * import { BigInt } from "effect"
673
+ *
674
+ * const clamp = BigInt.clamp({ minimum: 1n, maximum: 5n })
675
+ *
676
+ * assert.equal(clamp(3n), 3n)
677
+ * assert.equal(clamp(0n), 1n)
678
+ * assert.equal(clamp(6n), 5n)
679
+ *
680
+ * @since 2.0.0
681
+ */
682
+ (
683
+ options: {
684
+ minimum: bigint
685
+ maximum: bigint
686
+ }
687
+ ): (self: bigint) => bigint
688
+ /**
689
+ * Restricts the given `bigint` to be within the range specified by the `minimum` and `maximum` values.
690
+ *
691
+ * - If the `bigint` is less than the `minimum` value, the function returns the `minimum` value.
692
+ * - If the `bigint` is greater than the `maximum` value, the function returns the `maximum` value.
693
+ * - Otherwise, it returns the original `bigint`.
694
+ *
695
+ * @param self - The `bigint` to be clamped.
696
+ * @param minimum - The lower end of the range.
697
+ * @param maximum - The upper end of the range.
698
+ *
699
+ * @example
700
+ * import { BigInt } from "effect"
701
+ *
702
+ * const clamp = BigInt.clamp({ minimum: 1n, maximum: 5n })
703
+ *
704
+ * assert.equal(clamp(3n), 3n)
705
+ * assert.equal(clamp(0n), 1n)
706
+ * assert.equal(clamp(6n), 5n)
707
+ *
708
+ * @since 2.0.0
709
+ */
710
+ (
711
+ self: bigint,
712
+ options: {
713
+ minimum: bigint
714
+ maximum: bigint
715
+ }
716
+ ): bigint
333
717
  } = order.clamp(Order)
334
718
 
335
719
  /**
@@ -346,7 +730,33 @@ export const clamp: {
346
730
  * @since 2.0.0
347
731
  */
348
732
  export const min: {
733
+ /**
734
+ * Returns the minimum between two `bigint`s.
735
+ *
736
+ * @param self - The first `bigint`.
737
+ * @param that - The second `bigint`.
738
+ *
739
+ * @example
740
+ * import { min } from "effect/BigInt"
741
+ *
742
+ * assert.deepStrictEqual(min(2n, 3n), 2n)
743
+ *
744
+ * @since 2.0.0
745
+ */
349
746
  (that: bigint): (self: bigint) => bigint
747
+ /**
748
+ * Returns the minimum between two `bigint`s.
749
+ *
750
+ * @param self - The first `bigint`.
751
+ * @param that - The second `bigint`.
752
+ *
753
+ * @example
754
+ * import { min } from "effect/BigInt"
755
+ *
756
+ * assert.deepStrictEqual(min(2n, 3n), 2n)
757
+ *
758
+ * @since 2.0.0
759
+ */
350
760
  (self: bigint, that: bigint): bigint
351
761
  } = order.min(Order)
352
762
 
@@ -364,7 +774,33 @@ export const min: {
364
774
  * @since 2.0.0
365
775
  */
366
776
  export const max: {
777
+ /**
778
+ * Returns the maximum between two `bigint`s.
779
+ *
780
+ * @param self - The first `bigint`.
781
+ * @param that - The second `bigint`.
782
+ *
783
+ * @example
784
+ * import { max } from "effect/BigInt"
785
+ *
786
+ * assert.deepStrictEqual(max(2n, 3n), 3n)
787
+ *
788
+ * @since 2.0.0
789
+ */
367
790
  (that: bigint): (self: bigint) => bigint
791
+ /**
792
+ * Returns the maximum between two `bigint`s.
793
+ *
794
+ * @param self - The first `bigint`.
795
+ * @param that - The second `bigint`.
796
+ *
797
+ * @example
798
+ * import { max } from "effect/BigInt"
799
+ *
800
+ * assert.deepStrictEqual(max(2n, 3n), 3n)
801
+ *
802
+ * @since 2.0.0
803
+ */
368
804
  (self: bigint, that: bigint): bigint
369
805
  } = order.max(Order)
370
806
 
@@ -419,7 +855,39 @@ export const abs = (n: bigint): bigint => (n < bigint0 ? -n : n)
419
855
  * @since 2.0.0
420
856
  */
421
857
  export const gcd: {
858
+ /**
859
+ * Determines the greatest common divisor of two `bigint`s.
860
+ *
861
+ * @param a - The first `bigint`.
862
+ * @param b - The second `bigint`.
863
+ *
864
+ * @example
865
+ * import { gcd } from "effect/BigInt"
866
+ *
867
+ * assert.deepStrictEqual(gcd(2n, 3n), 1n)
868
+ * assert.deepStrictEqual(gcd(2n, 4n), 2n)
869
+ * assert.deepStrictEqual(gcd(16n, 24n), 8n)
870
+ *
871
+ * @category math
872
+ * @since 2.0.0
873
+ */
422
874
  (that: bigint): (self: bigint) => bigint
875
+ /**
876
+ * Determines the greatest common divisor of two `bigint`s.
877
+ *
878
+ * @param a - The first `bigint`.
879
+ * @param b - The second `bigint`.
880
+ *
881
+ * @example
882
+ * import { gcd } from "effect/BigInt"
883
+ *
884
+ * assert.deepStrictEqual(gcd(2n, 3n), 1n)
885
+ * assert.deepStrictEqual(gcd(2n, 4n), 2n)
886
+ * assert.deepStrictEqual(gcd(16n, 24n), 8n)
887
+ *
888
+ * @category math
889
+ * @since 2.0.0
890
+ */
423
891
  (self: bigint, that: bigint): bigint
424
892
  } = dual(2, (self: bigint, that: bigint): bigint => {
425
893
  while (that !== bigint0) {
@@ -447,7 +915,39 @@ export const gcd: {
447
915
  * @since 2.0.0
448
916
  */
449
917
  export const lcm: {
918
+ /**
919
+ * Determines the least common multiple of two `bigint`s.
920
+ *
921
+ * @param a - The first `bigint`.
922
+ * @param b - The second `bigint`.
923
+ *
924
+ * @example
925
+ * import { lcm } from "effect/BigInt"
926
+ *
927
+ * assert.deepStrictEqual(lcm(2n, 3n), 6n)
928
+ * assert.deepStrictEqual(lcm(2n, 4n), 4n)
929
+ * assert.deepStrictEqual(lcm(16n, 24n), 48n)
930
+ *
931
+ * @category math
932
+ * @since 2.0.0
933
+ */
450
934
  (that: bigint): (self: bigint) => bigint
935
+ /**
936
+ * Determines the least common multiple of two `bigint`s.
937
+ *
938
+ * @param a - The first `bigint`.
939
+ * @param b - The second `bigint`.
940
+ *
941
+ * @example
942
+ * import { lcm } from "effect/BigInt"
943
+ *
944
+ * assert.deepStrictEqual(lcm(2n, 3n), 6n)
945
+ * assert.deepStrictEqual(lcm(2n, 4n), 4n)
946
+ * assert.deepStrictEqual(lcm(16n, 24n), 48n)
947
+ *
948
+ * @category math
949
+ * @since 2.0.0
950
+ */
451
951
  (self: bigint, that: bigint): bigint
452
952
  } = dual(2, (self: bigint, that: bigint): bigint => (self * that) / gcd(self, that))
453
953