effect 4.0.0-beta.66 → 4.0.0-beta.68

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 (1767) hide show
  1. package/dist/Array.d.ts +151 -106
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +50 -40
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +620 -553
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +298 -254
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +342 -274
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +168 -126
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +189 -156
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +85 -68
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.d.ts +30 -5
  18. package/dist/Brand.d.ts.map +1 -1
  19. package/dist/Brand.js +19 -2
  20. package/dist/Brand.js.map +1 -1
  21. package/dist/Cache.d.ts +239 -135
  22. package/dist/Cache.d.ts.map +1 -1
  23. package/dist/Cache.js +135 -59
  24. package/dist/Cache.js.map +1 -1
  25. package/dist/Cause.d.ts +84 -73
  26. package/dist/Cause.d.ts.map +1 -1
  27. package/dist/Cause.js +51 -44
  28. package/dist/Cause.js.map +1 -1
  29. package/dist/Channel.d.ts +1568 -632
  30. package/dist/Channel.d.ts.map +1 -1
  31. package/dist/Channel.js +685 -315
  32. package/dist/Channel.js.map +1 -1
  33. package/dist/ChannelSchema.d.ts +119 -10
  34. package/dist/ChannelSchema.d.ts.map +1 -1
  35. package/dist/ChannelSchema.js +45 -6
  36. package/dist/ChannelSchema.js.map +1 -1
  37. package/dist/Chunk.d.ts +574 -428
  38. package/dist/Chunk.d.ts.map +1 -1
  39. package/dist/Chunk.js +250 -191
  40. package/dist/Chunk.js.map +1 -1
  41. package/dist/Clock.d.ts +16 -9
  42. package/dist/Clock.d.ts.map +1 -1
  43. package/dist/Clock.js +9 -5
  44. package/dist/Clock.js.map +1 -1
  45. package/dist/Combiner.d.ts +11 -5
  46. package/dist/Combiner.d.ts.map +1 -1
  47. package/dist/Combiner.js +10 -4
  48. package/dist/Combiner.js.map +1 -1
  49. package/dist/Config.d.ts +80 -68
  50. package/dist/Config.d.ts.map +1 -1
  51. package/dist/Config.js +53 -49
  52. package/dist/Config.js.map +1 -1
  53. package/dist/ConfigProvider.d.ts +33 -32
  54. package/dist/ConfigProvider.d.ts.map +1 -1
  55. package/dist/ConfigProvider.js +19 -18
  56. package/dist/ConfigProvider.js.map +1 -1
  57. package/dist/Console.d.ts +76 -50
  58. package/dist/Console.d.ts.map +1 -1
  59. package/dist/Console.js +69 -46
  60. package/dist/Console.js.map +1 -1
  61. package/dist/Context.d.ts +400 -189
  62. package/dist/Context.d.ts.map +1 -1
  63. package/dist/Context.js +143 -77
  64. package/dist/Context.js.map +1 -1
  65. package/dist/Cron.d.ts +67 -48
  66. package/dist/Cron.d.ts.map +1 -1
  67. package/dist/Cron.js +94 -36
  68. package/dist/Cron.js.map +1 -1
  69. package/dist/Crypto.d.ts +208 -0
  70. package/dist/Crypto.d.ts.map +1 -0
  71. package/dist/Crypto.js +157 -0
  72. package/dist/Crypto.js.map +1 -0
  73. package/dist/Data.d.ts +9 -3
  74. package/dist/Data.d.ts.map +1 -1
  75. package/dist/Data.js.map +1 -1
  76. package/dist/DateTime.d.ts +893 -464
  77. package/dist/DateTime.d.ts.map +1 -1
  78. package/dist/DateTime.js +387 -228
  79. package/dist/DateTime.js.map +1 -1
  80. package/dist/Deferred.d.ts +367 -175
  81. package/dist/Deferred.d.ts.map +1 -1
  82. package/dist/Deferred.js +146 -72
  83. package/dist/Deferred.js.map +1 -1
  84. package/dist/Differ.d.ts +44 -2
  85. package/dist/Differ.d.ts.map +1 -1
  86. package/dist/Differ.js +36 -0
  87. package/dist/Duration.d.ts +333 -186
  88. package/dist/Duration.d.ts.map +1 -1
  89. package/dist/Duration.js +178 -107
  90. package/dist/Duration.js.map +1 -1
  91. package/dist/Effect.d.ts +2181 -2275
  92. package/dist/Effect.d.ts.map +1 -1
  93. package/dist/Effect.js +935 -850
  94. package/dist/Effect.js.map +1 -1
  95. package/dist/Effectable.d.ts +38 -3
  96. package/dist/Effectable.d.ts.map +1 -1
  97. package/dist/Effectable.js +3 -3
  98. package/dist/Effectable.js.map +1 -1
  99. package/dist/Encoding.d.ts +78 -28
  100. package/dist/Encoding.d.ts.map +1 -1
  101. package/dist/Encoding.js +75 -27
  102. package/dist/Encoding.js.map +1 -1
  103. package/dist/Equal.d.ts +4 -3
  104. package/dist/Equal.d.ts.map +1 -1
  105. package/dist/Equal.js +4 -3
  106. package/dist/Equal.js.map +1 -1
  107. package/dist/Equivalence.d.ts +18 -24
  108. package/dist/Equivalence.d.ts.map +1 -1
  109. package/dist/Equivalence.js +16 -21
  110. package/dist/Equivalence.js.map +1 -1
  111. package/dist/ErrorReporter.d.ts +66 -82
  112. package/dist/ErrorReporter.d.ts.map +1 -1
  113. package/dist/ErrorReporter.js +38 -29
  114. package/dist/ErrorReporter.js.map +1 -1
  115. package/dist/ExecutionPlan.d.ts +106 -12
  116. package/dist/ExecutionPlan.d.ts.map +1 -1
  117. package/dist/ExecutionPlan.js +23 -6
  118. package/dist/ExecutionPlan.js.map +1 -1
  119. package/dist/Exit.d.ts +6 -5
  120. package/dist/Exit.d.ts.map +1 -1
  121. package/dist/Exit.js.map +1 -1
  122. package/dist/Fiber.d.ts +71 -40
  123. package/dist/Fiber.d.ts.map +1 -1
  124. package/dist/Fiber.js +39 -21
  125. package/dist/Fiber.js.map +1 -1
  126. package/dist/FiberHandle.d.ts +118 -57
  127. package/dist/FiberHandle.d.ts.map +1 -1
  128. package/dist/FiberHandle.js +121 -39
  129. package/dist/FiberHandle.js.map +1 -1
  130. package/dist/FiberMap.d.ts +287 -159
  131. package/dist/FiberMap.d.ts.map +1 -1
  132. package/dist/FiberMap.js +175 -73
  133. package/dist/FiberMap.js.map +1 -1
  134. package/dist/FiberSet.d.ts +93 -52
  135. package/dist/FiberSet.d.ts.map +1 -1
  136. package/dist/FiberSet.js +97 -34
  137. package/dist/FiberSet.js.map +1 -1
  138. package/dist/FileSystem.d.ts +102 -73
  139. package/dist/FileSystem.d.ts.map +1 -1
  140. package/dist/FileSystem.js +53 -39
  141. package/dist/FileSystem.js.map +1 -1
  142. package/dist/Filter.d.ts +166 -88
  143. package/dist/Filter.d.ts.map +1 -1
  144. package/dist/Filter.js +68 -42
  145. package/dist/Filter.js.map +1 -1
  146. package/dist/Formatter.d.ts +4 -2
  147. package/dist/Formatter.d.ts.map +1 -1
  148. package/dist/Formatter.js +3 -69
  149. package/dist/Formatter.js.map +1 -1
  150. package/dist/Function.d.ts +218 -151
  151. package/dist/Function.d.ts.map +1 -1
  152. package/dist/Function.js +94 -78
  153. package/dist/Function.js.map +1 -1
  154. package/dist/Graph.d.ts +714 -415
  155. package/dist/Graph.d.ts.map +1 -1
  156. package/dist/Graph.js +325 -182
  157. package/dist/Graph.js.map +1 -1
  158. package/dist/HKT.d.ts +29 -13
  159. package/dist/HKT.d.ts.map +1 -1
  160. package/dist/Hash.d.ts +35 -24
  161. package/dist/Hash.d.ts.map +1 -1
  162. package/dist/Hash.js +27 -17
  163. package/dist/Hash.js.map +1 -1
  164. package/dist/HashMap.d.ts +540 -388
  165. package/dist/HashMap.d.ts.map +1 -1
  166. package/dist/HashMap.js +262 -156
  167. package/dist/HashMap.js.map +1 -1
  168. package/dist/HashRing.d.ts +53 -34
  169. package/dist/HashRing.d.ts.map +1 -1
  170. package/dist/HashRing.js +83 -16
  171. package/dist/HashRing.js.map +1 -1
  172. package/dist/HashSet.d.ts +239 -153
  173. package/dist/HashSet.d.ts.map +1 -1
  174. package/dist/HashSet.js +110 -56
  175. package/dist/HashSet.js.map +1 -1
  176. package/dist/Inspectable.d.ts +26 -13
  177. package/dist/Inspectable.d.ts.map +1 -1
  178. package/dist/Inspectable.js +22 -10
  179. package/dist/Inspectable.js.map +1 -1
  180. package/dist/Iterable.d.ts +336 -222
  181. package/dist/Iterable.d.ts.map +1 -1
  182. package/dist/Iterable.js +146 -100
  183. package/dist/Iterable.js.map +1 -1
  184. package/dist/JsonPatch.d.ts +12 -9
  185. package/dist/JsonPatch.d.ts.map +1 -1
  186. package/dist/JsonPatch.js +9 -6
  187. package/dist/JsonPatch.js.map +1 -1
  188. package/dist/JsonPointer.d.ts +13 -11
  189. package/dist/JsonPointer.d.ts.map +1 -1
  190. package/dist/JsonPointer.js +13 -11
  191. package/dist/JsonPointer.js.map +1 -1
  192. package/dist/JsonSchema.d.ts +16 -0
  193. package/dist/JsonSchema.d.ts.map +1 -1
  194. package/dist/JsonSchema.js +10 -0
  195. package/dist/JsonSchema.js.map +1 -1
  196. package/dist/Latch.d.ts +97 -26
  197. package/dist/Latch.d.ts.map +1 -1
  198. package/dist/Latch.js +39 -20
  199. package/dist/Latch.js.map +1 -1
  200. package/dist/Layer.d.ts +472 -410
  201. package/dist/Layer.d.ts.map +1 -1
  202. package/dist/Layer.js +290 -226
  203. package/dist/Layer.js.map +1 -1
  204. package/dist/LayerMap.d.ts +99 -26
  205. package/dist/LayerMap.d.ts.map +1 -1
  206. package/dist/LayerMap.js +58 -14
  207. package/dist/LayerMap.js.map +1 -1
  208. package/dist/LogLevel.d.ts +92 -131
  209. package/dist/LogLevel.d.ts.map +1 -1
  210. package/dist/LogLevel.js +25 -15
  211. package/dist/LogLevel.js.map +1 -1
  212. package/dist/Logger.d.ts +159 -104
  213. package/dist/Logger.d.ts.map +1 -1
  214. package/dist/Logger.js +215 -189
  215. package/dist/Logger.js.map +1 -1
  216. package/dist/ManagedRuntime.d.ts +78 -19
  217. package/dist/ManagedRuntime.d.ts.map +1 -1
  218. package/dist/ManagedRuntime.js +24 -17
  219. package/dist/ManagedRuntime.js.map +1 -1
  220. package/dist/Match.d.ts +135 -161
  221. package/dist/Match.d.ts.map +1 -1
  222. package/dist/Match.js +86 -78
  223. package/dist/Match.js.map +1 -1
  224. package/dist/Metric.d.ts +330 -291
  225. package/dist/Metric.d.ts.map +1 -1
  226. package/dist/Metric.js +219 -214
  227. package/dist/Metric.js.map +1 -1
  228. package/dist/MutableHashMap.d.ts +146 -87
  229. package/dist/MutableHashMap.d.ts.map +1 -1
  230. package/dist/MutableHashMap.js +67 -43
  231. package/dist/MutableHashMap.js.map +1 -1
  232. package/dist/MutableHashSet.d.ts +52 -30
  233. package/dist/MutableHashSet.d.ts.map +1 -1
  234. package/dist/MutableHashSet.js +92 -38
  235. package/dist/MutableHashSet.js.map +1 -1
  236. package/dist/MutableList.d.ts +110 -68
  237. package/dist/MutableList.d.ts.map +1 -1
  238. package/dist/MutableList.js +135 -85
  239. package/dist/MutableList.js.map +1 -1
  240. package/dist/MutableRef.d.ts +99 -62
  241. package/dist/MutableRef.d.ts.map +1 -1
  242. package/dist/MutableRef.js +78 -60
  243. package/dist/MutableRef.js.map +1 -1
  244. package/dist/Newtype.d.ts +15 -2
  245. package/dist/Newtype.d.ts.map +1 -1
  246. package/dist/Newtype.js +8 -2
  247. package/dist/Newtype.js.map +1 -1
  248. package/dist/NonEmptyIterable.d.ts +38 -48
  249. package/dist/NonEmptyIterable.d.ts.map +1 -1
  250. package/dist/NonEmptyIterable.js +34 -25
  251. package/dist/NonEmptyIterable.js.map +1 -1
  252. package/dist/Number.d.ts +261 -205
  253. package/dist/Number.d.ts.map +1 -1
  254. package/dist/Number.js +119 -91
  255. package/dist/Number.js.map +1 -1
  256. package/dist/Optic.d.ts +6 -7
  257. package/dist/Optic.d.ts.map +1 -1
  258. package/dist/Optic.js +5 -6
  259. package/dist/Optic.js.map +1 -1
  260. package/dist/Option.d.ts +133 -156
  261. package/dist/Option.d.ts.map +1 -1
  262. package/dist/Option.js +64 -64
  263. package/dist/Option.js.map +1 -1
  264. package/dist/Order.d.ts +6 -6
  265. package/dist/Order.js +6 -6
  266. package/dist/Ordering.d.ts +56 -45
  267. package/dist/Ordering.d.ts.map +1 -1
  268. package/dist/Ordering.js +10 -8
  269. package/dist/Ordering.js.map +1 -1
  270. package/dist/PartitionedSemaphore.d.ts +225 -40
  271. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  272. package/dist/PartitionedSemaphore.js +113 -17
  273. package/dist/PartitionedSemaphore.js.map +1 -1
  274. package/dist/Path.d.ts +77 -13
  275. package/dist/Path.d.ts.map +1 -1
  276. package/dist/Path.js +49 -4
  277. package/dist/Path.js.map +1 -1
  278. package/dist/Pipeable.d.ts +77 -18
  279. package/dist/Pipeable.d.ts.map +1 -1
  280. package/dist/Pipeable.js +63 -14
  281. package/dist/Pipeable.js.map +1 -1
  282. package/dist/PlatformError.d.ts +74 -6
  283. package/dist/PlatformError.d.ts.map +1 -1
  284. package/dist/PlatformError.js +68 -5
  285. package/dist/PlatformError.js.map +1 -1
  286. package/dist/Pool.d.ts +66 -31
  287. package/dist/Pool.d.ts.map +1 -1
  288. package/dist/Pool.js +26 -24
  289. package/dist/Pool.js.map +1 -1
  290. package/dist/Predicate.d.ts +16 -23
  291. package/dist/Predicate.d.ts.map +1 -1
  292. package/dist/Predicate.js +12 -17
  293. package/dist/Predicate.js.map +1 -1
  294. package/dist/PrimaryKey.d.ts +11 -3
  295. package/dist/PrimaryKey.d.ts.map +1 -1
  296. package/dist/PrimaryKey.js +9 -2
  297. package/dist/PrimaryKey.js.map +1 -1
  298. package/dist/PubSub.d.ts +385 -309
  299. package/dist/PubSub.d.ts.map +1 -1
  300. package/dist/PubSub.js +260 -207
  301. package/dist/PubSub.js.map +1 -1
  302. package/dist/Pull.d.ts +94 -25
  303. package/dist/Pull.d.ts.map +1 -1
  304. package/dist/Pull.js +61 -13
  305. package/dist/Pull.js.map +1 -1
  306. package/dist/Queue.d.ts +303 -184
  307. package/dist/Queue.d.ts.map +1 -1
  308. package/dist/Queue.js +231 -134
  309. package/dist/Queue.js.map +1 -1
  310. package/dist/Random.d.ts +65 -57
  311. package/dist/Random.d.ts.map +1 -1
  312. package/dist/Random.js +41 -66
  313. package/dist/Random.js.map +1 -1
  314. package/dist/RcMap.d.ts +151 -141
  315. package/dist/RcMap.d.ts.map +1 -1
  316. package/dist/RcMap.js +66 -20
  317. package/dist/RcMap.js.map +1 -1
  318. package/dist/RcRef.d.ts +68 -32
  319. package/dist/RcRef.d.ts.map +1 -1
  320. package/dist/RcRef.js +33 -16
  321. package/dist/RcRef.js.map +1 -1
  322. package/dist/Record.d.ts +282 -137
  323. package/dist/Record.d.ts.map +1 -1
  324. package/dist/Record.js +124 -62
  325. package/dist/Record.js.map +1 -1
  326. package/dist/Redactable.d.ts +7 -5
  327. package/dist/Redactable.d.ts.map +1 -1
  328. package/dist/Redactable.js +5 -3
  329. package/dist/Redactable.js.map +1 -1
  330. package/dist/Redacted.d.ts +63 -34
  331. package/dist/Redacted.d.ts.map +1 -1
  332. package/dist/Redacted.js +31 -15
  333. package/dist/Redacted.js.map +1 -1
  334. package/dist/Reducer.d.ts +3 -1
  335. package/dist/Reducer.d.ts.map +1 -1
  336. package/dist/Reducer.js +2 -0
  337. package/dist/Reducer.js.map +1 -1
  338. package/dist/Ref.d.ts +85 -66
  339. package/dist/Ref.d.ts.map +1 -1
  340. package/dist/Ref.js +57 -45
  341. package/dist/Ref.js.map +1 -1
  342. package/dist/References.d.ts +73 -31
  343. package/dist/References.d.ts.map +1 -1
  344. package/dist/References.js +66 -30
  345. package/dist/References.js.map +1 -1
  346. package/dist/RegExp.d.ts +12 -6
  347. package/dist/RegExp.d.ts.map +1 -1
  348. package/dist/RegExp.js +12 -6
  349. package/dist/RegExp.js.map +1 -1
  350. package/dist/Request.d.ts +159 -34
  351. package/dist/Request.d.ts.map +1 -1
  352. package/dist/Request.js +68 -12
  353. package/dist/Request.js.map +1 -1
  354. package/dist/RequestResolver.d.ts +262 -118
  355. package/dist/RequestResolver.d.ts.map +1 -1
  356. package/dist/RequestResolver.js +78 -42
  357. package/dist/RequestResolver.js.map +1 -1
  358. package/dist/Resource.d.ts +13 -7
  359. package/dist/Resource.d.ts.map +1 -1
  360. package/dist/Resource.js +44 -6
  361. package/dist/Resource.js.map +1 -1
  362. package/dist/Result.d.ts +135 -151
  363. package/dist/Result.d.ts.map +1 -1
  364. package/dist/Result.js +56 -68
  365. package/dist/Result.js.map +1 -1
  366. package/dist/Runtime.d.ts +40 -20
  367. package/dist/Runtime.d.ts.map +1 -1
  368. package/dist/Runtime.js +34 -17
  369. package/dist/Runtime.js.map +1 -1
  370. package/dist/Schedule.d.ts +556 -590
  371. package/dist/Schedule.d.ts.map +1 -1
  372. package/dist/Schedule.js +265 -253
  373. package/dist/Schedule.js.map +1 -1
  374. package/dist/Scheduler.d.ts +44 -7
  375. package/dist/Scheduler.d.ts.map +1 -1
  376. package/dist/Scheduler.js +34 -5
  377. package/dist/Scheduler.js.map +1 -1
  378. package/dist/Schema.d.ts +1293 -602
  379. package/dist/Schema.d.ts.map +1 -1
  380. package/dist/Schema.js +501 -361
  381. package/dist/Schema.js.map +1 -1
  382. package/dist/SchemaAST.d.ts +122 -92
  383. package/dist/SchemaAST.d.ts.map +1 -1
  384. package/dist/SchemaAST.js +102 -77
  385. package/dist/SchemaAST.js.map +1 -1
  386. package/dist/SchemaGetter.d.ts +49 -36
  387. package/dist/SchemaGetter.d.ts.map +1 -1
  388. package/dist/SchemaGetter.js +42 -29
  389. package/dist/SchemaGetter.js.map +1 -1
  390. package/dist/SchemaIssue.d.ts +19 -24
  391. package/dist/SchemaIssue.d.ts.map +1 -1
  392. package/dist/SchemaIssue.js +16 -14
  393. package/dist/SchemaIssue.js.map +1 -1
  394. package/dist/SchemaParser.d.ts +231 -63
  395. package/dist/SchemaParser.d.ts.map +1 -1
  396. package/dist/SchemaParser.js +266 -75
  397. package/dist/SchemaParser.js.map +1 -1
  398. package/dist/SchemaRepresentation.d.ts +89 -77
  399. package/dist/SchemaRepresentation.d.ts.map +1 -1
  400. package/dist/SchemaRepresentation.js +47 -37
  401. package/dist/SchemaRepresentation.js.map +1 -1
  402. package/dist/SchemaTransformation.d.ts +97 -46
  403. package/dist/SchemaTransformation.d.ts.map +1 -1
  404. package/dist/SchemaTransformation.js +89 -38
  405. package/dist/SchemaTransformation.js.map +1 -1
  406. package/dist/SchemaUtils.d.ts +8 -1
  407. package/dist/SchemaUtils.d.ts.map +1 -1
  408. package/dist/SchemaUtils.js +24 -1
  409. package/dist/SchemaUtils.js.map +1 -1
  410. package/dist/Scope.d.ts +107 -65
  411. package/dist/Scope.d.ts.map +1 -1
  412. package/dist/Scope.js +61 -32
  413. package/dist/Scope.js.map +1 -1
  414. package/dist/ScopedCache.d.ts +141 -49
  415. package/dist/ScopedCache.d.ts.map +1 -1
  416. package/dist/ScopedCache.js +82 -21
  417. package/dist/ScopedCache.js.map +1 -1
  418. package/dist/ScopedRef.d.ts +28 -8
  419. package/dist/ScopedRef.d.ts.map +1 -1
  420. package/dist/ScopedRef.js +25 -5
  421. package/dist/ScopedRef.js.map +1 -1
  422. package/dist/Semaphore.d.ts +61 -37
  423. package/dist/Semaphore.d.ts.map +1 -1
  424. package/dist/Semaphore.js +18 -21
  425. package/dist/Semaphore.js.map +1 -1
  426. package/dist/Sink.d.ts +461 -206
  427. package/dist/Sink.d.ts.map +1 -1
  428. package/dist/Sink.js +241 -90
  429. package/dist/Sink.js.map +1 -1
  430. package/dist/Stdio.d.ts +43 -6
  431. package/dist/Stdio.d.ts.map +1 -1
  432. package/dist/Stdio.js +33 -4
  433. package/dist/Stdio.js.map +1 -1
  434. package/dist/Stream.d.ts +2117 -1541
  435. package/dist/Stream.d.ts.map +1 -1
  436. package/dist/Stream.js +951 -682
  437. package/dist/Stream.js.map +1 -1
  438. package/dist/String.d.ts +174 -97
  439. package/dist/String.d.ts.map +1 -1
  440. package/dist/String.js +128 -69
  441. package/dist/String.js.map +1 -1
  442. package/dist/Struct.d.ts +20 -18
  443. package/dist/Struct.d.ts.map +1 -1
  444. package/dist/Struct.js +10 -8
  445. package/dist/Struct.js.map +1 -1
  446. package/dist/SubscriptionRef.d.ts +309 -204
  447. package/dist/SubscriptionRef.d.ts.map +1 -1
  448. package/dist/SubscriptionRef.js +126 -77
  449. package/dist/SubscriptionRef.js.map +1 -1
  450. package/dist/Symbol.d.ts +13 -5
  451. package/dist/Symbol.d.ts.map +1 -1
  452. package/dist/Symbol.js +13 -5
  453. package/dist/Symbol.js.map +1 -1
  454. package/dist/SynchronizedRef.d.ts +278 -62
  455. package/dist/SynchronizedRef.d.ts.map +1 -1
  456. package/dist/SynchronizedRef.js +116 -23
  457. package/dist/SynchronizedRef.js.map +1 -1
  458. package/dist/Take.d.ts +26 -2
  459. package/dist/Take.d.ts.map +1 -1
  460. package/dist/Take.js +4 -1
  461. package/dist/Take.js.map +1 -1
  462. package/dist/Terminal.d.ts +39 -7
  463. package/dist/Terminal.d.ts.map +1 -1
  464. package/dist/Terminal.js +10 -4
  465. package/dist/Terminal.js.map +1 -1
  466. package/dist/Tracer.d.ts +233 -59
  467. package/dist/Tracer.d.ts.map +1 -1
  468. package/dist/Tracer.js +94 -18
  469. package/dist/Tracer.js.map +1 -1
  470. package/dist/Trie.d.ts +280 -245
  471. package/dist/Trie.d.ts.map +1 -1
  472. package/dist/Trie.js +116 -102
  473. package/dist/Trie.js.map +1 -1
  474. package/dist/Tuple.d.ts +34 -32
  475. package/dist/Tuple.d.ts.map +1 -1
  476. package/dist/Tuple.js +16 -14
  477. package/dist/Tuple.js.map +1 -1
  478. package/dist/TxChunk.d.ts +200 -155
  479. package/dist/TxChunk.d.ts.map +1 -1
  480. package/dist/TxChunk.js +83 -61
  481. package/dist/TxChunk.js.map +1 -1
  482. package/dist/TxDeferred.d.ts +43 -29
  483. package/dist/TxDeferred.d.ts.map +1 -1
  484. package/dist/TxDeferred.js +22 -15
  485. package/dist/TxDeferred.js.map +1 -1
  486. package/dist/TxHashMap.d.ts +362 -223
  487. package/dist/TxHashMap.d.ts.map +1 -1
  488. package/dist/TxHashMap.js +171 -98
  489. package/dist/TxHashMap.js.map +1 -1
  490. package/dist/TxHashSet.d.ts +181 -111
  491. package/dist/TxHashSet.d.ts.map +1 -1
  492. package/dist/TxHashSet.js +87 -49
  493. package/dist/TxHashSet.js.map +1 -1
  494. package/dist/TxPriorityQueue.d.ts +94 -63
  495. package/dist/TxPriorityQueue.d.ts.map +1 -1
  496. package/dist/TxPriorityQueue.js +55 -37
  497. package/dist/TxPriorityQueue.js.map +1 -1
  498. package/dist/TxPubSub.d.ts +77 -49
  499. package/dist/TxPubSub.d.ts.map +1 -1
  500. package/dist/TxPubSub.js +60 -37
  501. package/dist/TxPubSub.js.map +1 -1
  502. package/dist/TxQueue.d.ts +277 -242
  503. package/dist/TxQueue.d.ts.map +1 -1
  504. package/dist/TxQueue.js +147 -101
  505. package/dist/TxQueue.js.map +1 -1
  506. package/dist/TxReentrantLock.d.ts +69 -46
  507. package/dist/TxReentrantLock.d.ts.map +1 -1
  508. package/dist/TxReentrantLock.js +48 -32
  509. package/dist/TxReentrantLock.js.map +1 -1
  510. package/dist/TxRef.d.ts +69 -40
  511. package/dist/TxRef.d.ts.map +1 -1
  512. package/dist/TxRef.js +34 -19
  513. package/dist/TxRef.js.map +1 -1
  514. package/dist/TxSemaphore.d.ts +101 -115
  515. package/dist/TxSemaphore.d.ts.map +1 -1
  516. package/dist/TxSemaphore.js +76 -77
  517. package/dist/TxSemaphore.js.map +1 -1
  518. package/dist/TxSubscriptionRef.d.ts +74 -50
  519. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  520. package/dist/TxSubscriptionRef.js +34 -23
  521. package/dist/TxSubscriptionRef.js.map +1 -1
  522. package/dist/Types.d.ts +31 -34
  523. package/dist/Types.d.ts.map +1 -1
  524. package/dist/UndefinedOr.d.ts +62 -25
  525. package/dist/UndefinedOr.d.ts.map +1 -1
  526. package/dist/UndefinedOr.js +36 -25
  527. package/dist/UndefinedOr.js.map +1 -1
  528. package/dist/Unify.d.ts +72 -117
  529. package/dist/Unify.d.ts.map +1 -1
  530. package/dist/Unify.js +20 -6
  531. package/dist/Unify.js.map +1 -1
  532. package/dist/Utils.d.ts +5 -2
  533. package/dist/Utils.d.ts.map +1 -1
  534. package/dist/Utils.js +4 -0
  535. package/dist/Utils.js.map +1 -1
  536. package/dist/index.d.ts +1973 -418
  537. package/dist/index.d.ts.map +1 -1
  538. package/dist/index.js +1973 -418
  539. package/dist/index.js.map +1 -1
  540. package/dist/internal/schema/schema.js +1 -1
  541. package/dist/internal/schema/schema.js.map +1 -1
  542. package/dist/testing/FastCheck.d.ts +9 -6
  543. package/dist/testing/FastCheck.d.ts.map +1 -1
  544. package/dist/testing/FastCheck.js +9 -6
  545. package/dist/testing/FastCheck.js.map +1 -1
  546. package/dist/testing/TestClock.d.ts +39 -35
  547. package/dist/testing/TestClock.d.ts.map +1 -1
  548. package/dist/testing/TestClock.js +42 -12
  549. package/dist/testing/TestClock.js.map +1 -1
  550. package/dist/testing/TestConsole.d.ts +44 -36
  551. package/dist/testing/TestConsole.d.ts.map +1 -1
  552. package/dist/testing/TestConsole.js +30 -15
  553. package/dist/testing/TestConsole.js.map +1 -1
  554. package/dist/testing/TestSchema.d.ts +2 -0
  555. package/dist/testing/TestSchema.d.ts.map +1 -1
  556. package/dist/testing/TestSchema.js +9 -7
  557. package/dist/testing/TestSchema.js.map +1 -1
  558. package/dist/testing/index.d.ts +34 -0
  559. package/dist/testing/index.d.ts.map +1 -1
  560. package/dist/testing/index.js +34 -0
  561. package/dist/testing/index.js.map +1 -1
  562. package/dist/unstable/ai/AiError.d.ts +205 -147
  563. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  564. package/dist/unstable/ai/AiError.js +164 -109
  565. package/dist/unstable/ai/AiError.js.map +1 -1
  566. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  567. package/dist/unstable/ai/AnthropicStructuredOutput.js +2 -2
  568. package/dist/unstable/ai/Chat.d.ts +64 -41
  569. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  570. package/dist/unstable/ai/Chat.js +51 -33
  571. package/dist/unstable/ai/Chat.js.map +1 -1
  572. package/dist/unstable/ai/EmbeddingModel.d.ts +12 -11
  573. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  574. package/dist/unstable/ai/EmbeddingModel.js +9 -8
  575. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  576. package/dist/unstable/ai/IdGenerator.d.ts +28 -18
  577. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  578. package/dist/unstable/ai/IdGenerator.js +18 -11
  579. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  580. package/dist/unstable/ai/LanguageModel.d.ts +31 -25
  581. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  582. package/dist/unstable/ai/LanguageModel.js +20 -14
  583. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  584. package/dist/unstable/ai/McpSchema.d.ts +342 -119
  585. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  586. package/dist/unstable/ai/McpSchema.js +266 -98
  587. package/dist/unstable/ai/McpSchema.js.map +1 -1
  588. package/dist/unstable/ai/McpServer.d.ts +56 -20
  589. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  590. package/dist/unstable/ai/McpServer.js +64 -16
  591. package/dist/unstable/ai/McpServer.js.map +1 -1
  592. package/dist/unstable/ai/Model.d.ts +10 -12
  593. package/dist/unstable/ai/Model.d.ts.map +1 -1
  594. package/dist/unstable/ai/Model.js +9 -7
  595. package/dist/unstable/ai/Model.js.map +1 -1
  596. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  597. package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -2
  598. package/dist/unstable/ai/Prompt.d.ts +200 -176
  599. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  600. package/dist/unstable/ai/Prompt.js +77 -68
  601. package/dist/unstable/ai/Prompt.js.map +1 -1
  602. package/dist/unstable/ai/Response.d.ts +173 -160
  603. package/dist/unstable/ai/Response.d.ts.map +1 -1
  604. package/dist/unstable/ai/Response.js +43 -48
  605. package/dist/unstable/ai/Response.js.map +1 -1
  606. package/dist/unstable/ai/ResponseIdTracker.d.ts +43 -4
  607. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  608. package/dist/unstable/ai/ResponseIdTracker.js +27 -2
  609. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  610. package/dist/unstable/ai/Telemetry.d.ts +43 -33
  611. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  612. package/dist/unstable/ai/Telemetry.js +15 -11
  613. package/dist/unstable/ai/Telemetry.js.map +1 -1
  614. package/dist/unstable/ai/Tokenizer.d.ts +14 -9
  615. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  616. package/dist/unstable/ai/Tokenizer.js +10 -6
  617. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  618. package/dist/unstable/ai/Tool.d.ts +167 -96
  619. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  620. package/dist/unstable/ai/Tool.js +107 -53
  621. package/dist/unstable/ai/Tool.js.map +1 -1
  622. package/dist/unstable/ai/Toolkit.d.ts +32 -39
  623. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  624. package/dist/unstable/ai/Toolkit.js +7 -5
  625. package/dist/unstable/ai/Toolkit.js.map +1 -1
  626. package/dist/unstable/ai/index.d.ts +121 -29
  627. package/dist/unstable/ai/index.d.ts.map +1 -1
  628. package/dist/unstable/ai/index.js +121 -29
  629. package/dist/unstable/ai/index.js.map +1 -1
  630. package/dist/unstable/cli/Argument.d.ts +226 -134
  631. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  632. package/dist/unstable/cli/Argument.js +101 -65
  633. package/dist/unstable/cli/Argument.js.map +1 -1
  634. package/dist/unstable/cli/CliError.d.ts +72 -26
  635. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  636. package/dist/unstable/cli/CliError.js +86 -23
  637. package/dist/unstable/cli/CliError.js.map +1 -1
  638. package/dist/unstable/cli/CliOutput.d.ts +48 -19
  639. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  640. package/dist/unstable/cli/CliOutput.js +32 -9
  641. package/dist/unstable/cli/CliOutput.js.map +1 -1
  642. package/dist/unstable/cli/Command.d.ts +196 -115
  643. package/dist/unstable/cli/Command.d.ts.map +1 -1
  644. package/dist/unstable/cli/Command.js +45 -31
  645. package/dist/unstable/cli/Command.js.map +1 -1
  646. package/dist/unstable/cli/Completions.d.ts +7 -7
  647. package/dist/unstable/cli/Completions.js +1 -1
  648. package/dist/unstable/cli/Flag.d.ts +235 -142
  649. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  650. package/dist/unstable/cli/Flag.js +111 -71
  651. package/dist/unstable/cli/Flag.js.map +1 -1
  652. package/dist/unstable/cli/GlobalFlag.d.ts +41 -13
  653. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  654. package/dist/unstable/cli/GlobalFlag.js +30 -7
  655. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  656. package/dist/unstable/cli/HelpDoc.d.ts +39 -14
  657. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  658. package/dist/unstable/cli/HelpDoc.js +21 -0
  659. package/dist/unstable/cli/Param.d.ts +110 -32
  660. package/dist/unstable/cli/Param.d.ts.map +1 -1
  661. package/dist/unstable/cli/Param.js +196 -135
  662. package/dist/unstable/cli/Param.js.map +1 -1
  663. package/dist/unstable/cli/Primitive.d.ts +79 -42
  664. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  665. package/dist/unstable/cli/Primitive.js +66 -35
  666. package/dist/unstable/cli/Primitive.js.map +1 -1
  667. package/dist/unstable/cli/Prompt.d.ts +183 -59
  668. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  669. package/dist/unstable/cli/Prompt.js +105 -23
  670. package/dist/unstable/cli/Prompt.js.map +1 -1
  671. package/dist/unstable/cli/index.d.ts +182 -0
  672. package/dist/unstable/cli/index.d.ts.map +1 -1
  673. package/dist/unstable/cli/index.js +205 -6
  674. package/dist/unstable/cli/index.js.map +1 -1
  675. package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
  676. package/dist/unstable/cli/internal/ansi.js +13 -0
  677. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  678. package/dist/unstable/cli/internal/command.d.ts +5 -1
  679. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  680. package/dist/unstable/cli/internal/command.js +5 -1
  681. package/dist/unstable/cli/internal/command.js.map +1 -1
  682. package/dist/unstable/cli/internal/config.d.ts +3 -0
  683. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  684. package/dist/unstable/cli/internal/config.js.map +1 -1
  685. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  686. package/dist/unstable/cli/internal/parser.js +0 -1
  687. package/dist/unstable/cli/internal/parser.js.map +1 -1
  688. package/dist/unstable/cluster/ClusterCron.d.ts +35 -1
  689. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  690. package/dist/unstable/cluster/ClusterCron.js +35 -1
  691. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  692. package/dist/unstable/cluster/ClusterError.d.ts +56 -7
  693. package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
  694. package/dist/unstable/cluster/ClusterError.js +56 -7
  695. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  696. package/dist/unstable/cluster/ClusterMetrics.d.ts +39 -5
  697. package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
  698. package/dist/unstable/cluster/ClusterMetrics.js +39 -5
  699. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  700. package/dist/unstable/cluster/ClusterSchema.d.ts +61 -8
  701. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  702. package/dist/unstable/cluster/ClusterSchema.js +61 -8
  703. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  704. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +14 -2
  705. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  706. package/dist/unstable/cluster/ClusterWorkflowEngine.js +35 -2
  707. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  708. package/dist/unstable/cluster/DeliverAt.d.ts +39 -4
  709. package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
  710. package/dist/unstable/cluster/DeliverAt.js +11 -3
  711. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  712. package/dist/unstable/cluster/Entity.d.ts +74 -16
  713. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  714. package/dist/unstable/cluster/Entity.js +75 -10
  715. package/dist/unstable/cluster/Entity.js.map +1 -1
  716. package/dist/unstable/cluster/EntityAddress.d.ts +30 -2
  717. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  718. package/dist/unstable/cluster/EntityAddress.js +30 -2
  719. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  720. package/dist/unstable/cluster/EntityId.d.ts +18 -3
  721. package/dist/unstable/cluster/EntityId.d.ts.map +1 -1
  722. package/dist/unstable/cluster/EntityId.js +15 -2
  723. package/dist/unstable/cluster/EntityId.js.map +1 -1
  724. package/dist/unstable/cluster/EntityProxy.d.ts +42 -14
  725. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  726. package/dist/unstable/cluster/EntityProxy.js +30 -14
  727. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  728. package/dist/unstable/cluster/EntityProxyServer.d.ts +18 -2
  729. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  730. package/dist/unstable/cluster/EntityProxyServer.js +40 -8
  731. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  732. package/dist/unstable/cluster/EntityResource.d.ts +43 -6
  733. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  734. package/dist/unstable/cluster/EntityResource.js +11 -4
  735. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  736. package/dist/unstable/cluster/EntityType.d.ts +27 -3
  737. package/dist/unstable/cluster/EntityType.d.ts.map +1 -1
  738. package/dist/unstable/cluster/EntityType.js +24 -2
  739. package/dist/unstable/cluster/EntityType.js.map +1 -1
  740. package/dist/unstable/cluster/Envelope.d.ts +105 -23
  741. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  742. package/dist/unstable/cluster/Envelope.js +88 -14
  743. package/dist/unstable/cluster/Envelope.js.map +1 -1
  744. package/dist/unstable/cluster/HttpRunner.d.ts +88 -13
  745. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  746. package/dist/unstable/cluster/HttpRunner.js +88 -13
  747. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  748. package/dist/unstable/cluster/K8sHttpClient.d.ts +49 -6
  749. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  750. package/dist/unstable/cluster/K8sHttpClient.js +31 -6
  751. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  752. package/dist/unstable/cluster/MachineId.d.ts +24 -3
  753. package/dist/unstable/cluster/MachineId.d.ts.map +1 -1
  754. package/dist/unstable/cluster/MachineId.js +21 -2
  755. package/dist/unstable/cluster/MachineId.js.map +1 -1
  756. package/dist/unstable/cluster/Message.d.ts +102 -13
  757. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  758. package/dist/unstable/cluster/Message.js +86 -10
  759. package/dist/unstable/cluster/Message.js.map +1 -1
  760. package/dist/unstable/cluster/MessageStorage.d.ts +126 -21
  761. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  762. package/dist/unstable/cluster/MessageStorage.js +70 -10
  763. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  764. package/dist/unstable/cluster/Reply.d.ts +101 -12
  765. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  766. package/dist/unstable/cluster/Reply.js +64 -8
  767. package/dist/unstable/cluster/Reply.js.map +1 -1
  768. package/dist/unstable/cluster/Runner.d.ts +47 -17
  769. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  770. package/dist/unstable/cluster/Runner.js +47 -17
  771. package/dist/unstable/cluster/Runner.js.map +1 -1
  772. package/dist/unstable/cluster/RunnerAddress.d.ts +34 -2
  773. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  774. package/dist/unstable/cluster/RunnerAddress.js +34 -2
  775. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  776. package/dist/unstable/cluster/RunnerHealth.d.ts +40 -12
  777. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  778. package/dist/unstable/cluster/RunnerHealth.js +40 -12
  779. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  780. package/dist/unstable/cluster/RunnerServer.d.ts +7 -4
  781. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  782. package/dist/unstable/cluster/RunnerServer.js +31 -4
  783. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  784. package/dist/unstable/cluster/RunnerStorage.d.ts +42 -5
  785. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/RunnerStorage.js +38 -4
  787. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/Runners.d.ts +76 -13
  789. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  790. package/dist/unstable/cluster/Runners.js +73 -12
  791. package/dist/unstable/cluster/Runners.js.map +1 -1
  792. package/dist/unstable/cluster/ShardId.d.ts +53 -5
  793. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  794. package/dist/unstable/cluster/ShardId.js +49 -4
  795. package/dist/unstable/cluster/ShardId.js.map +1 -1
  796. package/dist/unstable/cluster/Sharding.d.ts +10 -2
  797. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  798. package/dist/unstable/cluster/Sharding.js +35 -4
  799. package/dist/unstable/cluster/Sharding.js.map +1 -1
  800. package/dist/unstable/cluster/ShardingConfig.d.ts +65 -9
  801. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  802. package/dist/unstable/cluster/ShardingConfig.js +66 -9
  803. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  804. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts +27 -6
  805. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts.map +1 -1
  806. package/dist/unstable/cluster/ShardingRegistrationEvent.js +28 -4
  807. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  808. package/dist/unstable/cluster/SingleRunner.d.ts +23 -1
  809. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  810. package/dist/unstable/cluster/SingleRunner.js +23 -1
  811. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  812. package/dist/unstable/cluster/Singleton.d.ts +15 -1
  813. package/dist/unstable/cluster/Singleton.d.ts.map +1 -1
  814. package/dist/unstable/cluster/Singleton.js +15 -1
  815. package/dist/unstable/cluster/Singleton.js.map +1 -1
  816. package/dist/unstable/cluster/SingletonAddress.d.ts +21 -1
  817. package/dist/unstable/cluster/SingletonAddress.d.ts.map +1 -1
  818. package/dist/unstable/cluster/SingletonAddress.js +21 -1
  819. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  820. package/dist/unstable/cluster/Snowflake.d.ts +90 -19
  821. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  822. package/dist/unstable/cluster/Snowflake.js +49 -13
  823. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  824. package/dist/unstable/cluster/SocketRunner.d.ts +8 -2
  825. package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
  826. package/dist/unstable/cluster/SocketRunner.js +29 -2
  827. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  828. package/dist/unstable/cluster/SqlMessageStorage.d.ts +11 -3
  829. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  830. package/dist/unstable/cluster/SqlMessageStorage.js +27 -3
  831. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  832. package/dist/unstable/cluster/SqlRunnerStorage.d.ts +11 -3
  833. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  834. package/dist/unstable/cluster/SqlRunnerStorage.js +46 -7
  835. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  836. package/dist/unstable/cluster/TestRunner.d.ts +18 -1
  837. package/dist/unstable/cluster/TestRunner.d.ts.map +1 -1
  838. package/dist/unstable/cluster/TestRunner.js +18 -1
  839. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  840. package/dist/unstable/cluster/index.d.ts +790 -0
  841. package/dist/unstable/cluster/index.d.ts.map +1 -1
  842. package/dist/unstable/cluster/index.js +790 -0
  843. package/dist/unstable/cluster/index.js.map +1 -1
  844. package/dist/unstable/cluster/internal/hash.js +12 -0
  845. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  846. package/dist/unstable/devtools/DevTools.d.ts +26 -3
  847. package/dist/unstable/devtools/DevTools.d.ts.map +1 -1
  848. package/dist/unstable/devtools/DevTools.js +26 -3
  849. package/dist/unstable/devtools/DevTools.js.map +1 -1
  850. package/dist/unstable/devtools/DevToolsClient.d.ts +20 -5
  851. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  852. package/dist/unstable/devtools/DevToolsClient.js +32 -5
  853. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  854. package/dist/unstable/devtools/DevToolsSchema.d.ts +184 -44
  855. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  856. package/dist/unstable/devtools/DevToolsSchema.js +102 -20
  857. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  858. package/dist/unstable/devtools/DevToolsServer.d.ts +27 -2
  859. package/dist/unstable/devtools/DevToolsServer.d.ts.map +1 -1
  860. package/dist/unstable/devtools/DevToolsServer.js +21 -1
  861. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  862. package/dist/unstable/devtools/index.d.ts +58 -0
  863. package/dist/unstable/devtools/index.d.ts.map +1 -1
  864. package/dist/unstable/devtools/index.js +58 -0
  865. package/dist/unstable/devtools/index.js.map +1 -1
  866. package/dist/unstable/encoding/Msgpack.d.ts +81 -12
  867. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  868. package/dist/unstable/encoding/Msgpack.js +75 -9
  869. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  870. package/dist/unstable/encoding/Ndjson.d.ts +149 -21
  871. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  872. package/dist/unstable/encoding/Ndjson.js +97 -13
  873. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  874. package/dist/unstable/encoding/Sse.d.ts +109 -18
  875. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  876. package/dist/unstable/encoding/Sse.js +69 -13
  877. package/dist/unstable/encoding/Sse.js.map +1 -1
  878. package/dist/unstable/encoding/index.d.ts +49 -0
  879. package/dist/unstable/encoding/index.d.ts.map +1 -1
  880. package/dist/unstable/encoding/index.js +49 -0
  881. package/dist/unstable/encoding/index.js.map +1 -1
  882. package/dist/unstable/eventlog/Event.d.ts +115 -30
  883. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  884. package/dist/unstable/eventlog/Event.js +22 -2
  885. package/dist/unstable/eventlog/Event.js.map +1 -1
  886. package/dist/unstable/eventlog/EventGroup.d.ts +50 -17
  887. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  888. package/dist/unstable/eventlog/EventGroup.js +24 -6
  889. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  890. package/dist/unstable/eventlog/EventJournal.d.ts +104 -20
  891. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  892. package/dist/unstable/eventlog/EventJournal.js +108 -16
  893. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  894. package/dist/unstable/eventlog/EventLog.d.ts +150 -31
  895. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  896. package/dist/unstable/eventlog/EventLog.js +111 -20
  897. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  898. package/dist/unstable/eventlog/EventLogEncryption.d.ts +42 -6
  899. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  900. package/dist/unstable/eventlog/EventLogEncryption.js +38 -5
  901. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  902. package/dist/unstable/eventlog/EventLogMessage.d.ts +92 -18
  903. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  904. package/dist/unstable/eventlog/EventLogMessage.js +72 -16
  905. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  906. package/dist/unstable/eventlog/EventLogRemote.d.ts +35 -8
  907. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  908. package/dist/unstable/eventlog/EventLogRemote.js +54 -8
  909. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  910. package/dist/unstable/eventlog/EventLogServer.d.ts +17 -3
  911. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  912. package/dist/unstable/eventlog/EventLogServer.js +17 -3
  913. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  914. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +32 -6
  915. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  916. package/dist/unstable/eventlog/EventLogServerEncrypted.js +52 -6
  917. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  918. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +74 -16
  919. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  920. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +90 -16
  921. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  922. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +59 -15
  923. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  924. package/dist/unstable/eventlog/EventLogSessionAuth.js +73 -14
  925. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  926. package/dist/unstable/eventlog/SqlEventJournal.d.ts +10 -2
  927. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  928. package/dist/unstable/eventlog/SqlEventJournal.js +28 -2
  929. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  930. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts +32 -3
  931. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  932. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +32 -3
  933. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  934. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +10 -2
  935. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  936. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +28 -2
  937. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  938. package/dist/unstable/eventlog/index.d.ts +240 -0
  939. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  940. package/dist/unstable/eventlog/index.js +240 -0
  941. package/dist/unstable/eventlog/index.js.map +1 -1
  942. package/dist/unstable/http/Cookies.d.ts +156 -77
  943. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  944. package/dist/unstable/http/Cookies.js +93 -39
  945. package/dist/unstable/http/Cookies.js.map +1 -1
  946. package/dist/unstable/http/Etag.d.ts +40 -7
  947. package/dist/unstable/http/Etag.d.ts.map +1 -1
  948. package/dist/unstable/http/Etag.js +27 -4
  949. package/dist/unstable/http/Etag.js.map +1 -1
  950. package/dist/unstable/http/FetchHttpClient.d.ts +29 -3
  951. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  952. package/dist/unstable/http/FetchHttpClient.js +33 -4
  953. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  954. package/dist/unstable/http/FindMyWay.d.ts +1 -1
  955. package/dist/unstable/http/FindMyWay.js +1 -1
  956. package/dist/unstable/http/Headers.d.ts +182 -36
  957. package/dist/unstable/http/Headers.d.ts.map +1 -1
  958. package/dist/unstable/http/Headers.js +86 -16
  959. package/dist/unstable/http/Headers.js.map +1 -1
  960. package/dist/unstable/http/HttpBody.d.ts +114 -26
  961. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  962. package/dist/unstable/http/HttpBody.js +98 -20
  963. package/dist/unstable/http/HttpBody.js.map +1 -1
  964. package/dist/unstable/http/HttpClient.d.ts +204 -96
  965. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  966. package/dist/unstable/http/HttpClient.js +85 -38
  967. package/dist/unstable/http/HttpClient.js.map +1 -1
  968. package/dist/unstable/http/HttpClientError.d.ts +68 -12
  969. package/dist/unstable/http/HttpClientError.d.ts.map +1 -1
  970. package/dist/unstable/http/HttpClientError.js +71 -9
  971. package/dist/unstable/http/HttpClientError.js.map +1 -1
  972. package/dist/unstable/http/HttpClientRequest.d.ts +318 -100
  973. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  974. package/dist/unstable/http/HttpClientRequest.js +151 -45
  975. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  976. package/dist/unstable/http/HttpClientResponse.d.ts +59 -16
  977. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  978. package/dist/unstable/http/HttpClientResponse.js +44 -11
  979. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  980. package/dist/unstable/http/HttpEffect.d.ts +42 -16
  981. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  982. package/dist/unstable/http/HttpEffect.js +33 -13
  983. package/dist/unstable/http/HttpEffect.js.map +1 -1
  984. package/dist/unstable/http/HttpIncomingMessage.d.ts +48 -7
  985. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  986. package/dist/unstable/http/HttpIncomingMessage.js +45 -6
  987. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  988. package/dist/unstable/http/HttpMethod.d.ts +38 -6
  989. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  990. package/dist/unstable/http/HttpMethod.js +27 -2
  991. package/dist/unstable/http/HttpMethod.js.map +1 -1
  992. package/dist/unstable/http/HttpMiddleware.d.ts +38 -11
  993. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  994. package/dist/unstable/http/HttpMiddleware.js +52 -10
  995. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  996. package/dist/unstable/http/HttpPlatform.d.ts +34 -3
  997. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  998. package/dist/unstable/http/HttpPlatform.js +34 -3
  999. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1000. package/dist/unstable/http/HttpRouter.d.ts +209 -62
  1001. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1002. package/dist/unstable/http/HttpRouter.js +136 -41
  1003. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1004. package/dist/unstable/http/HttpServer.d.ts +151 -22
  1005. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  1006. package/dist/unstable/http/HttpServer.js +76 -11
  1007. package/dist/unstable/http/HttpServer.js.map +1 -1
  1008. package/dist/unstable/http/HttpServerError.d.ts +93 -10
  1009. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  1010. package/dist/unstable/http/HttpServerError.js +85 -8
  1011. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1012. package/dist/unstable/http/HttpServerRequest.d.ts +125 -21
  1013. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1014. package/dist/unstable/http/HttpServerRequest.js +101 -20
  1015. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1016. package/dist/unstable/http/HttpServerRespondable.d.ts +32 -6
  1017. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  1018. package/dist/unstable/http/HttpServerRespondable.js +43 -5
  1019. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1020. package/dist/unstable/http/HttpServerResponse.d.ts +391 -67
  1021. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1022. package/dist/unstable/http/HttpServerResponse.js +205 -33
  1023. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1024. package/dist/unstable/http/HttpStaticServer.d.ts +24 -8
  1025. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1026. package/dist/unstable/http/HttpStaticServer.js +24 -8
  1027. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1028. package/dist/unstable/http/HttpTraceContext.d.ts +53 -6
  1029. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  1030. package/dist/unstable/http/HttpTraceContext.js +47 -5
  1031. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1032. package/dist/unstable/http/Multipart.d.ts +179 -28
  1033. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1034. package/dist/unstable/http/Multipart.js +131 -19
  1035. package/dist/unstable/http/Multipart.js.map +1 -1
  1036. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +1 -1
  1037. package/dist/unstable/http/Multipasta/HeadersParser.js +1 -1
  1038. package/dist/unstable/http/Multipasta/Node.d.ts +1 -1
  1039. package/dist/unstable/http/Multipasta/Node.js +1 -1
  1040. package/dist/unstable/http/Multipasta/Search.d.ts +1 -1
  1041. package/dist/unstable/http/Multipasta/Search.js +1 -1
  1042. package/dist/unstable/http/Multipasta/Web.d.ts +1 -1
  1043. package/dist/unstable/http/Multipasta/Web.js +1 -1
  1044. package/dist/unstable/http/Multipasta.d.ts +1 -1
  1045. package/dist/unstable/http/Multipasta.js +1 -1
  1046. package/dist/unstable/http/Template.d.ts +53 -1
  1047. package/dist/unstable/http/Template.d.ts.map +1 -1
  1048. package/dist/unstable/http/Template.js +26 -0
  1049. package/dist/unstable/http/Template.js.map +1 -1
  1050. package/dist/unstable/http/Url.d.ts +70 -56
  1051. package/dist/unstable/http/Url.d.ts.map +1 -1
  1052. package/dist/unstable/http/Url.js +35 -21
  1053. package/dist/unstable/http/Url.js.map +1 -1
  1054. package/dist/unstable/http/UrlParams.d.ts +237 -51
  1055. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1056. package/dist/unstable/http/UrlParams.js +120 -25
  1057. package/dist/unstable/http/UrlParams.js.map +1 -1
  1058. package/dist/unstable/http/index.d.ts +452 -0
  1059. package/dist/unstable/http/index.d.ts.map +1 -1
  1060. package/dist/unstable/http/index.js +452 -0
  1061. package/dist/unstable/http/index.js.map +1 -1
  1062. package/dist/unstable/httpapi/HttpApi.d.ts +49 -14
  1063. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1064. package/dist/unstable/httpapi/HttpApi.js +14 -8
  1065. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1066. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +54 -16
  1067. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1068. package/dist/unstable/httpapi/HttpApiBuilder.js +44 -6
  1069. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1070. package/dist/unstable/httpapi/HttpApiClient.d.ts +57 -15
  1071. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1072. package/dist/unstable/httpapi/HttpApiClient.js +42 -6
  1073. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1074. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +214 -59
  1075. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1076. package/dist/unstable/httpapi/HttpApiEndpoint.js +53 -9
  1077. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1078. package/dist/unstable/httpapi/HttpApiError.d.ts +81 -1
  1079. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1080. package/dist/unstable/httpapi/HttpApiError.js +98 -1
  1081. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1082. package/dist/unstable/httpapi/HttpApiGroup.d.ts +87 -20
  1083. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  1084. package/dist/unstable/httpapi/HttpApiGroup.js +5 -2
  1085. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1086. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +113 -22
  1087. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1088. package/dist/unstable/httpapi/HttpApiMiddleware.js +49 -5
  1089. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1090. package/dist/unstable/httpapi/HttpApiScalar.d.ts +19 -4
  1091. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1092. package/dist/unstable/httpapi/HttpApiScalar.js +32 -2
  1093. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1094. package/dist/unstable/httpapi/HttpApiSchema.d.ts +86 -38
  1095. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1096. package/dist/unstable/httpapi/HttpApiSchema.js +59 -35
  1097. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1098. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +73 -17
  1099. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  1100. package/dist/unstable/httpapi/HttpApiSecurity.js +38 -5
  1101. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1102. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +4 -3
  1103. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  1104. package/dist/unstable/httpapi/HttpApiSwagger.js +23 -3
  1105. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1106. package/dist/unstable/httpapi/HttpApiTest.d.ts +6 -1
  1107. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  1108. package/dist/unstable/httpapi/HttpApiTest.js +26 -1
  1109. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1110. package/dist/unstable/httpapi/OpenApi.d.ts +86 -15
  1111. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1112. package/dist/unstable/httpapi/OpenApi.js +73 -15
  1113. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1114. package/dist/unstable/httpapi/index.d.ts +310 -25
  1115. package/dist/unstable/httpapi/index.d.ts.map +1 -1
  1116. package/dist/unstable/httpapi/index.js +310 -25
  1117. package/dist/unstable/httpapi/index.js.map +1 -1
  1118. package/dist/unstable/observability/Otlp.d.ts +33 -3
  1119. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  1120. package/dist/unstable/observability/Otlp.js +14 -3
  1121. package/dist/unstable/observability/Otlp.js.map +1 -1
  1122. package/dist/unstable/observability/OtlpExporter.d.ts +8 -1
  1123. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1124. package/dist/unstable/observability/OtlpExporter.js +32 -1
  1125. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1126. package/dist/unstable/observability/OtlpLogger.d.ts +15 -2
  1127. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1128. package/dist/unstable/observability/OtlpLogger.js +29 -2
  1129. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1130. package/dist/unstable/observability/OtlpMetrics.d.ts +17 -5
  1131. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1132. package/dist/unstable/observability/OtlpMetrics.js +32 -2
  1133. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1134. package/dist/unstable/observability/OtlpResource.d.ts +49 -12
  1135. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1136. package/dist/unstable/observability/OtlpResource.js +47 -5
  1137. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1138. package/dist/unstable/observability/OtlpSerialization.d.ts +28 -3
  1139. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  1140. package/dist/unstable/observability/OtlpSerialization.js +28 -3
  1141. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1142. package/dist/unstable/observability/OtlpTracer.d.ts +19 -2
  1143. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1144. package/dist/unstable/observability/OtlpTracer.js +32 -2
  1145. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1146. package/dist/unstable/observability/PrometheusMetrics.d.ts +36 -16
  1147. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1148. package/dist/unstable/observability/PrometheusMetrics.js +9 -7
  1149. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1150. package/dist/unstable/observability/index.d.ts +160 -3
  1151. package/dist/unstable/observability/index.d.ts.map +1 -1
  1152. package/dist/unstable/observability/index.js +160 -3
  1153. package/dist/unstable/observability/index.js.map +1 -1
  1154. package/dist/unstable/persistence/KeyValueStore.d.ts +93 -18
  1155. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1156. package/dist/unstable/persistence/KeyValueStore.js +81 -21
  1157. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1158. package/dist/unstable/persistence/Persistable.d.ts +76 -15
  1159. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1160. package/dist/unstable/persistence/Persistable.js +22 -5
  1161. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1162. package/dist/unstable/persistence/PersistedCache.d.ts +27 -2
  1163. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  1164. package/dist/unstable/persistence/PersistedCache.js +24 -1
  1165. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1166. package/dist/unstable/persistence/PersistedQueue.d.ts +73 -16
  1167. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1168. package/dist/unstable/persistence/PersistedQueue.js +60 -13
  1169. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1170. package/dist/unstable/persistence/Persistence.d.ts +98 -16
  1171. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1172. package/dist/unstable/persistence/Persistence.js +91 -14
  1173. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1174. package/dist/unstable/persistence/RateLimiter.d.ts +101 -21
  1175. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1176. package/dist/unstable/persistence/RateLimiter.js +85 -16
  1177. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1178. package/dist/unstable/persistence/Redis.d.ts +26 -5
  1179. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1180. package/dist/unstable/persistence/Redis.js +36 -4
  1181. package/dist/unstable/persistence/Redis.js.map +1 -1
  1182. package/dist/unstable/persistence/index.d.ts +147 -0
  1183. package/dist/unstable/persistence/index.d.ts.map +1 -1
  1184. package/dist/unstable/persistence/index.js +147 -0
  1185. package/dist/unstable/persistence/index.js.map +1 -1
  1186. package/dist/unstable/process/ChildProcess.d.ts +87 -64
  1187. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1188. package/dist/unstable/process/ChildProcess.js +25 -18
  1189. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1190. package/dist/unstable/process/ChildProcessSpawner.d.ts +23 -12
  1191. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1192. package/dist/unstable/process/ChildProcessSpawner.js +11 -6
  1193. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1194. package/dist/unstable/process/index.d.ts +2 -1
  1195. package/dist/unstable/process/index.d.ts.map +1 -1
  1196. package/dist/unstable/process/index.js +2 -1
  1197. package/dist/unstable/process/index.js.map +1 -1
  1198. package/dist/unstable/reactivity/AsyncResult.d.ts +198 -59
  1199. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1200. package/dist/unstable/reactivity/AsyncResult.js +121 -36
  1201. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1202. package/dist/unstable/reactivity/Atom.d.ts +544 -130
  1203. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1204. package/dist/unstable/reactivity/Atom.js +252 -58
  1205. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1206. package/dist/unstable/reactivity/AtomHttpApi.d.ts +41 -2
  1207. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1208. package/dist/unstable/reactivity/AtomHttpApi.js +35 -1
  1209. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1210. package/dist/unstable/reactivity/AtomRef.d.ts +51 -7
  1211. package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
  1212. package/dist/unstable/reactivity/AtomRef.js +29 -3
  1213. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1214. package/dist/unstable/reactivity/AtomRegistry.d.ts +135 -21
  1215. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1216. package/dist/unstable/reactivity/AtomRegistry.js +69 -10
  1217. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1218. package/dist/unstable/reactivity/AtomRpc.d.ts +36 -2
  1219. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1220. package/dist/unstable/reactivity/AtomRpc.js +29 -1
  1221. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1222. package/dist/unstable/reactivity/Hydration.d.ts +28 -5
  1223. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  1224. package/dist/unstable/reactivity/Hydration.js +35 -3
  1225. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1226. package/dist/unstable/reactivity/Reactivity.d.ts +94 -13
  1227. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1228. package/dist/unstable/reactivity/Reactivity.js +60 -7
  1229. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1230. package/dist/unstable/reactivity/index.d.ts +167 -0
  1231. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  1232. package/dist/unstable/reactivity/index.js +167 -0
  1233. package/dist/unstable/reactivity/index.js.map +1 -1
  1234. package/dist/unstable/rpc/Rpc.d.ts +254 -56
  1235. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1236. package/dist/unstable/rpc/Rpc.js +44 -11
  1237. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1238. package/dist/unstable/rpc/RpcClient.d.ts +80 -19
  1239. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1240. package/dist/unstable/rpc/RpcClient.js +52 -12
  1241. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1242. package/dist/unstable/rpc/RpcClientError.d.ts +26 -2
  1243. package/dist/unstable/rpc/RpcClientError.d.ts.map +1 -1
  1244. package/dist/unstable/rpc/RpcClientError.js +26 -2
  1245. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1246. package/dist/unstable/rpc/RpcGroup.d.ts +51 -8
  1247. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1248. package/dist/unstable/rpc/RpcGroup.js +3 -1
  1249. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1250. package/dist/unstable/rpc/RpcMessage.d.ts +128 -32
  1251. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1252. package/dist/unstable/rpc/RpcMessage.js +23 -7
  1253. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1254. package/dist/unstable/rpc/RpcMiddleware.d.ts +100 -20
  1255. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1256. package/dist/unstable/rpc/RpcMiddleware.js +39 -3
  1257. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1258. package/dist/unstable/rpc/RpcSchema.d.ts +38 -4
  1259. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1260. package/dist/unstable/rpc/RpcSchema.js +34 -3
  1261. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1262. package/dist/unstable/rpc/RpcSerialization.d.ts +60 -13
  1263. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1264. package/dist/unstable/rpc/RpcSerialization.js +56 -12
  1265. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1266. package/dist/unstable/rpc/RpcServer.d.ts +73 -23
  1267. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1268. package/dist/unstable/rpc/RpcServer.js +69 -22
  1269. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1270. package/dist/unstable/rpc/RpcTest.d.ts +20 -1
  1271. package/dist/unstable/rpc/RpcTest.d.ts.map +1 -1
  1272. package/dist/unstable/rpc/RpcTest.js +20 -1
  1273. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1274. package/dist/unstable/rpc/RpcWorker.d.ts +39 -6
  1275. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1276. package/dist/unstable/rpc/RpcWorker.js +16 -4
  1277. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1278. package/dist/unstable/rpc/Utils.d.ts +10 -0
  1279. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  1280. package/dist/unstable/rpc/Utils.js +10 -0
  1281. package/dist/unstable/rpc/Utils.js.map +1 -1
  1282. package/dist/unstable/rpc/index.d.ts +272 -0
  1283. package/dist/unstable/rpc/index.d.ts.map +1 -1
  1284. package/dist/unstable/rpc/index.js +272 -0
  1285. package/dist/unstable/rpc/index.js.map +1 -1
  1286. package/dist/unstable/schema/Model.d.ts +192 -59
  1287. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1288. package/dist/unstable/schema/Model.js +122 -38
  1289. package/dist/unstable/schema/Model.js.map +1 -1
  1290. package/dist/unstable/schema/VariantSchema.d.ts +101 -24
  1291. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1292. package/dist/unstable/schema/VariantSchema.js +22 -6
  1293. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1294. package/dist/unstable/schema/index.d.ts +37 -0
  1295. package/dist/unstable/schema/index.d.ts.map +1 -1
  1296. package/dist/unstable/schema/index.js +37 -0
  1297. package/dist/unstable/schema/index.js.map +1 -1
  1298. package/dist/unstable/socket/Socket.d.ts +168 -34
  1299. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1300. package/dist/unstable/socket/Socket.js +124 -28
  1301. package/dist/unstable/socket/Socket.js.map +1 -1
  1302. package/dist/unstable/socket/SocketServer.d.ts +58 -10
  1303. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  1304. package/dist/unstable/socket/SocketServer.js +43 -5
  1305. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1306. package/dist/unstable/socket/index.d.ts +44 -0
  1307. package/dist/unstable/socket/index.d.ts.map +1 -1
  1308. package/dist/unstable/socket/index.js +44 -0
  1309. package/dist/unstable/socket/index.js.map +1 -1
  1310. package/dist/unstable/sql/Migrator.d.ts +40 -9
  1311. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1312. package/dist/unstable/sql/Migrator.js +45 -5
  1313. package/dist/unstable/sql/Migrator.js.map +1 -1
  1314. package/dist/unstable/sql/SqlClient.d.ts +38 -2
  1315. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1316. package/dist/unstable/sql/SqlClient.js +40 -1
  1317. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1318. package/dist/unstable/sql/SqlConnection.d.ts +34 -3
  1319. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  1320. package/dist/unstable/sql/SqlConnection.js +22 -0
  1321. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1322. package/dist/unstable/sql/SqlError.d.ts +117 -0
  1323. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1324. package/dist/unstable/sql/SqlError.js +131 -0
  1325. package/dist/unstable/sql/SqlError.js.map +1 -1
  1326. package/dist/unstable/sql/SqlModel.d.ts +25 -5
  1327. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  1328. package/dist/unstable/sql/SqlModel.js +8 -4
  1329. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1330. package/dist/unstable/sql/SqlResolver.d.ts +56 -13
  1331. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1332. package/dist/unstable/sql/SqlResolver.js +44 -10
  1333. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1334. package/dist/unstable/sql/SqlSchema.d.ts +29 -8
  1335. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1336. package/dist/unstable/sql/SqlSchema.js +29 -8
  1337. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1338. package/dist/unstable/sql/SqlStream.d.ts +4 -0
  1339. package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
  1340. package/dist/unstable/sql/SqlStream.js +24 -0
  1341. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1342. package/dist/unstable/sql/Statement.d.ts +151 -24
  1343. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1344. package/dist/unstable/sql/Statement.js +91 -6
  1345. package/dist/unstable/sql/Statement.js.map +1 -1
  1346. package/dist/unstable/sql/index.d.ts +179 -1
  1347. package/dist/unstable/sql/index.d.ts.map +1 -1
  1348. package/dist/unstable/sql/index.js +179 -1
  1349. package/dist/unstable/sql/index.js.map +1 -1
  1350. package/dist/unstable/workers/Transferable.d.ts +72 -20
  1351. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1352. package/dist/unstable/workers/Transferable.js +57 -14
  1353. package/dist/unstable/workers/Transferable.js.map +1 -1
  1354. package/dist/unstable/workers/Worker.d.ts +61 -8
  1355. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1356. package/dist/unstable/workers/Worker.js +44 -4
  1357. package/dist/unstable/workers/Worker.js.map +1 -1
  1358. package/dist/unstable/workers/WorkerError.d.ts +31 -9
  1359. package/dist/unstable/workers/WorkerError.d.ts.map +1 -1
  1360. package/dist/unstable/workers/WorkerError.js +44 -7
  1361. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1362. package/dist/unstable/workers/WorkerRunner.d.ts +32 -3
  1363. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1364. package/dist/unstable/workers/WorkerRunner.js +24 -1
  1365. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1366. package/dist/unstable/workers/index.d.ts +81 -1
  1367. package/dist/unstable/workers/index.d.ts.map +1 -1
  1368. package/dist/unstable/workers/index.js +81 -1
  1369. package/dist/unstable/workers/index.js.map +1 -1
  1370. package/dist/unstable/workflow/Activity.d.ts +61 -10
  1371. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  1372. package/dist/unstable/workflow/Activity.js +20 -5
  1373. package/dist/unstable/workflow/Activity.js.map +1 -1
  1374. package/dist/unstable/workflow/DurableClock.d.ts +12 -3
  1375. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1376. package/dist/unstable/workflow/DurableClock.js +22 -2
  1377. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1378. package/dist/unstable/workflow/DurableDeferred.d.ts +128 -31
  1379. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1380. package/dist/unstable/workflow/DurableDeferred.js +77 -13
  1381. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1382. package/dist/unstable/workflow/DurableQueue.d.ts +33 -8
  1383. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1384. package/dist/unstable/workflow/DurableQueue.js +26 -6
  1385. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1386. package/dist/unstable/workflow/Workflow.d.ts +102 -31
  1387. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1388. package/dist/unstable/workflow/Workflow.js +75 -19
  1389. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1390. package/dist/unstable/workflow/WorkflowEngine.d.ts +40 -5
  1391. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1392. package/dist/unstable/workflow/WorkflowEngine.js +16 -4
  1393. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1394. package/dist/unstable/workflow/WorkflowProxy.d.ts +40 -12
  1395. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1396. package/dist/unstable/workflow/WorkflowProxy.js +8 -12
  1397. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1398. package/dist/unstable/workflow/WorkflowProxyServer.d.ts +37 -2
  1399. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  1400. package/dist/unstable/workflow/WorkflowProxyServer.js +12 -6
  1401. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1402. package/dist/unstable/workflow/index.d.ts +160 -0
  1403. package/dist/unstable/workflow/index.d.ts.map +1 -1
  1404. package/dist/unstable/workflow/index.js +160 -0
  1405. package/dist/unstable/workflow/index.js.map +1 -1
  1406. package/package.json +11 -11
  1407. package/src/Array.ts +151 -106
  1408. package/src/BigDecimal.ts +620 -553
  1409. package/src/BigInt.ts +342 -274
  1410. package/src/Boolean.ts +189 -156
  1411. package/src/Brand.ts +30 -5
  1412. package/src/Cache.ts +334 -167
  1413. package/src/Cause.ts +84 -73
  1414. package/src/Channel.ts +1639 -667
  1415. package/src/ChannelSchema.ts +137 -12
  1416. package/src/Chunk.ts +575 -429
  1417. package/src/Clock.ts +16 -9
  1418. package/src/Combiner.ts +11 -5
  1419. package/src/Config.ts +80 -68
  1420. package/src/ConfigProvider.ts +33 -32
  1421. package/src/Console.ts +88 -58
  1422. package/src/Context.ts +401 -190
  1423. package/src/Cron.ts +109 -48
  1424. package/src/Crypto.ts +327 -0
  1425. package/src/Data.ts +9 -3
  1426. package/src/DateTime.ts +893 -464
  1427. package/src/Deferred.ts +367 -175
  1428. package/src/Differ.ts +44 -2
  1429. package/src/Duration.ts +333 -186
  1430. package/src/Effect.ts +2201 -2289
  1431. package/src/Effectable.ts +38 -3
  1432. package/src/Encoding.ts +78 -28
  1433. package/src/Equal.ts +4 -3
  1434. package/src/Equivalence.ts +18 -24
  1435. package/src/ErrorReporter.ts +66 -82
  1436. package/src/ExecutionPlan.ts +106 -12
  1437. package/src/Exit.ts +6 -5
  1438. package/src/Fiber.ts +71 -40
  1439. package/src/FiberHandle.ts +157 -57
  1440. package/src/FiberMap.ts +328 -163
  1441. package/src/FiberSet.ts +130 -52
  1442. package/src/FileSystem.ts +104 -74
  1443. package/src/Filter.ts +166 -88
  1444. package/src/Formatter.ts +4 -70
  1445. package/src/Function.ts +218 -151
  1446. package/src/Graph.ts +714 -415
  1447. package/src/HKT.ts +29 -13
  1448. package/src/Hash.ts +35 -24
  1449. package/src/HashMap.ts +540 -388
  1450. package/src/HashRing.ts +111 -34
  1451. package/src/HashSet.ts +239 -153
  1452. package/src/Inspectable.ts +30 -17
  1453. package/src/Iterable.ts +336 -222
  1454. package/src/JsonPatch.ts +13 -10
  1455. package/src/JsonPointer.ts +13 -11
  1456. package/src/JsonSchema.ts +16 -0
  1457. package/src/Latch.ts +97 -26
  1458. package/src/Layer.ts +547 -445
  1459. package/src/LayerMap.ts +99 -26
  1460. package/src/LogLevel.ts +92 -131
  1461. package/src/Logger.ts +365 -297
  1462. package/src/ManagedRuntime.ts +78 -19
  1463. package/src/Match.ts +135 -161
  1464. package/src/Metric.ts +362 -313
  1465. package/src/MutableHashMap.ts +202 -127
  1466. package/src/MutableHashSet.ts +120 -52
  1467. package/src/MutableList.ts +157 -100
  1468. package/src/MutableRef.ts +129 -90
  1469. package/src/Newtype.ts +15 -2
  1470. package/src/NonEmptyIterable.ts +38 -48
  1471. package/src/Number.ts +261 -205
  1472. package/src/Optic.ts +6 -7
  1473. package/src/Option.ts +133 -156
  1474. package/src/Order.ts +6 -6
  1475. package/src/Ordering.ts +56 -45
  1476. package/src/PartitionedSemaphore.ts +225 -40
  1477. package/src/Path.ts +77 -13
  1478. package/src/Pipeable.ts +82 -24
  1479. package/src/PlatformError.ts +74 -6
  1480. package/src/Pool.ts +94 -31
  1481. package/src/Predicate.ts +17 -24
  1482. package/src/PrimaryKey.ts +11 -3
  1483. package/src/PubSub.ts +385 -309
  1484. package/src/Pull.ts +94 -25
  1485. package/src/Queue.ts +303 -184
  1486. package/src/Random.ts +69 -93
  1487. package/src/RcMap.ts +151 -141
  1488. package/src/RcRef.ts +68 -32
  1489. package/src/Record.ts +282 -137
  1490. package/src/Redactable.ts +7 -5
  1491. package/src/Redacted.ts +63 -34
  1492. package/src/Reducer.ts +3 -1
  1493. package/src/Ref.ts +173 -134
  1494. package/src/References.ts +73 -31
  1495. package/src/RegExp.ts +12 -6
  1496. package/src/Request.ts +159 -34
  1497. package/src/RequestResolver.ts +278 -121
  1498. package/src/Resource.ts +45 -7
  1499. package/src/Result.ts +137 -153
  1500. package/src/Runtime.ts +42 -21
  1501. package/src/Schedule.ts +585 -613
  1502. package/src/Scheduler.ts +44 -7
  1503. package/src/Schema.ts +1309 -615
  1504. package/src/SchemaAST.ts +123 -93
  1505. package/src/SchemaGetter.ts +52 -37
  1506. package/src/SchemaIssue.ts +19 -24
  1507. package/src/SchemaParser.ts +306 -85
  1508. package/src/SchemaRepresentation.ts +89 -77
  1509. package/src/SchemaTransformation.ts +97 -46
  1510. package/src/SchemaUtils.ts +24 -1
  1511. package/src/Scope.ts +107 -65
  1512. package/src/ScopedCache.ts +195 -59
  1513. package/src/ScopedRef.ts +28 -8
  1514. package/src/Semaphore.ts +61 -37
  1515. package/src/Sink.ts +461 -206
  1516. package/src/Stdio.ts +43 -6
  1517. package/src/Stream.ts +2361 -1613
  1518. package/src/String.ts +174 -97
  1519. package/src/Struct.ts +20 -18
  1520. package/src/SubscriptionRef.ts +309 -204
  1521. package/src/Symbol.ts +13 -5
  1522. package/src/SynchronizedRef.ts +278 -62
  1523. package/src/Take.ts +26 -2
  1524. package/src/Terminal.ts +40 -7
  1525. package/src/Tracer.ts +233 -59
  1526. package/src/Trie.ts +280 -245
  1527. package/src/Tuple.ts +34 -32
  1528. package/src/TxChunk.ts +200 -155
  1529. package/src/TxDeferred.ts +43 -29
  1530. package/src/TxHashMap.ts +370 -231
  1531. package/src/TxHashSet.ts +253 -159
  1532. package/src/TxPriorityQueue.ts +97 -65
  1533. package/src/TxPubSub.ts +77 -49
  1534. package/src/TxQueue.ts +277 -242
  1535. package/src/TxReentrantLock.ts +70 -47
  1536. package/src/TxRef.ts +69 -40
  1537. package/src/TxSemaphore.ts +101 -115
  1538. package/src/TxSubscriptionRef.ts +74 -50
  1539. package/src/Types.ts +31 -34
  1540. package/src/UndefinedOr.ts +62 -25
  1541. package/src/Unify.ts +72 -117
  1542. package/src/Utils.ts +5 -2
  1543. package/src/index.ts +1976 -420
  1544. package/src/internal/schema/schema.ts +1 -1
  1545. package/src/testing/FastCheck.ts +9 -6
  1546. package/src/testing/TestClock.ts +63 -35
  1547. package/src/testing/TestConsole.ts +54 -36
  1548. package/src/testing/TestSchema.ts +10 -8
  1549. package/src/testing/index.ts +34 -0
  1550. package/src/unstable/ai/AiError.ts +195 -137
  1551. package/src/unstable/ai/AnthropicStructuredOutput.ts +2 -2
  1552. package/src/unstable/ai/Chat.ts +68 -43
  1553. package/src/unstable/ai/EmbeddingModel.ts +12 -11
  1554. package/src/unstable/ai/IdGenerator.ts +28 -18
  1555. package/src/unstable/ai/LanguageModel.ts +35 -27
  1556. package/src/unstable/ai/McpSchema.ts +342 -119
  1557. package/src/unstable/ai/McpServer.ts +79 -20
  1558. package/src/unstable/ai/Model.ts +10 -12
  1559. package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
  1560. package/src/unstable/ai/Prompt.ts +216 -192
  1561. package/src/unstable/ai/Response.ts +179 -167
  1562. package/src/unstable/ai/ResponseIdTracker.ts +43 -4
  1563. package/src/unstable/ai/Telemetry.ts +43 -33
  1564. package/src/unstable/ai/Tokenizer.ts +14 -9
  1565. package/src/unstable/ai/Tool.ts +168 -97
  1566. package/src/unstable/ai/Toolkit.ts +51 -46
  1567. package/src/unstable/ai/index.ts +121 -29
  1568. package/src/unstable/cli/Argument.ts +226 -134
  1569. package/src/unstable/cli/CliError.ts +96 -26
  1570. package/src/unstable/cli/CliOutput.ts +48 -19
  1571. package/src/unstable/cli/Command.ts +196 -115
  1572. package/src/unstable/cli/Completions.ts +7 -7
  1573. package/src/unstable/cli/Flag.ts +235 -142
  1574. package/src/unstable/cli/GlobalFlag.ts +41 -13
  1575. package/src/unstable/cli/HelpDoc.ts +39 -14
  1576. package/src/unstable/cli/Param.ts +395 -260
  1577. package/src/unstable/cli/Primitive.ts +79 -42
  1578. package/src/unstable/cli/Prompt.ts +207 -59
  1579. package/src/unstable/cli/index.ts +205 -6
  1580. package/src/unstable/cli/internal/ansi.ts +13 -0
  1581. package/src/unstable/cli/internal/command.ts +5 -1
  1582. package/src/unstable/cli/internal/config.ts +3 -0
  1583. package/src/unstable/cli/internal/lexer.ts +11 -0
  1584. package/src/unstable/cli/internal/parser.ts +0 -1
  1585. package/src/unstable/cluster/ClusterCron.ts +35 -1
  1586. package/src/unstable/cluster/ClusterError.ts +56 -7
  1587. package/src/unstable/cluster/ClusterMetrics.ts +39 -5
  1588. package/src/unstable/cluster/ClusterSchema.ts +61 -8
  1589. package/src/unstable/cluster/ClusterWorkflowEngine.ts +35 -2
  1590. package/src/unstable/cluster/DeliverAt.ts +39 -4
  1591. package/src/unstable/cluster/Entity.ts +106 -16
  1592. package/src/unstable/cluster/EntityAddress.ts +30 -2
  1593. package/src/unstable/cluster/EntityId.ts +18 -3
  1594. package/src/unstable/cluster/EntityProxy.ts +42 -14
  1595. package/src/unstable/cluster/EntityProxyServer.ts +45 -8
  1596. package/src/unstable/cluster/EntityResource.ts +43 -6
  1597. package/src/unstable/cluster/EntityType.ts +27 -3
  1598. package/src/unstable/cluster/Envelope.ts +128 -23
  1599. package/src/unstable/cluster/HttpRunner.ts +88 -13
  1600. package/src/unstable/cluster/K8sHttpClient.ts +49 -6
  1601. package/src/unstable/cluster/MachineId.ts +24 -3
  1602. package/src/unstable/cluster/Message.ts +102 -13
  1603. package/src/unstable/cluster/MessageStorage.ts +126 -21
  1604. package/src/unstable/cluster/Reply.ts +101 -12
  1605. package/src/unstable/cluster/Runner.ts +47 -17
  1606. package/src/unstable/cluster/RunnerAddress.ts +34 -2
  1607. package/src/unstable/cluster/RunnerHealth.ts +40 -12
  1608. package/src/unstable/cluster/RunnerServer.ts +31 -4
  1609. package/src/unstable/cluster/RunnerStorage.ts +42 -5
  1610. package/src/unstable/cluster/Runners.ts +76 -13
  1611. package/src/unstable/cluster/ShardId.ts +53 -5
  1612. package/src/unstable/cluster/Sharding.ts +35 -4
  1613. package/src/unstable/cluster/ShardingConfig.ts +75 -10
  1614. package/src/unstable/cluster/ShardingRegistrationEvent.ts +31 -7
  1615. package/src/unstable/cluster/SingleRunner.ts +23 -1
  1616. package/src/unstable/cluster/Singleton.ts +15 -1
  1617. package/src/unstable/cluster/SingletonAddress.ts +21 -1
  1618. package/src/unstable/cluster/Snowflake.ts +90 -19
  1619. package/src/unstable/cluster/SocketRunner.ts +29 -2
  1620. package/src/unstable/cluster/SqlMessageStorage.ts +27 -3
  1621. package/src/unstable/cluster/SqlRunnerStorage.ts +46 -7
  1622. package/src/unstable/cluster/TestRunner.ts +18 -1
  1623. package/src/unstable/cluster/index.ts +790 -0
  1624. package/src/unstable/cluster/internal/hash.ts +12 -0
  1625. package/src/unstable/devtools/DevTools.ts +26 -3
  1626. package/src/unstable/devtools/DevToolsClient.ts +32 -5
  1627. package/src/unstable/devtools/DevToolsSchema.ts +201 -44
  1628. package/src/unstable/devtools/DevToolsServer.ts +27 -2
  1629. package/src/unstable/devtools/index.ts +58 -0
  1630. package/src/unstable/encoding/Msgpack.ts +97 -12
  1631. package/src/unstable/encoding/Ndjson.ts +149 -21
  1632. package/src/unstable/encoding/Sse.ts +109 -18
  1633. package/src/unstable/encoding/index.ts +49 -0
  1634. package/src/unstable/eventlog/Event.ts +131 -30
  1635. package/src/unstable/eventlog/EventGroup.ts +50 -17
  1636. package/src/unstable/eventlog/EventJournal.ts +120 -20
  1637. package/src/unstable/eventlog/EventLog.ts +150 -31
  1638. package/src/unstable/eventlog/EventLogEncryption.ts +42 -6
  1639. package/src/unstable/eventlog/EventLogMessage.ts +92 -18
  1640. package/src/unstable/eventlog/EventLogRemote.ts +54 -8
  1641. package/src/unstable/eventlog/EventLogServer.ts +33 -3
  1642. package/src/unstable/eventlog/EventLogServerEncrypted.ts +52 -6
  1643. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +90 -16
  1644. package/src/unstable/eventlog/EventLogSessionAuth.ts +77 -15
  1645. package/src/unstable/eventlog/SqlEventJournal.ts +28 -2
  1646. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +32 -3
  1647. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +28 -2
  1648. package/src/unstable/eventlog/index.ts +240 -0
  1649. package/src/unstable/http/Cookies.ts +156 -77
  1650. package/src/unstable/http/Etag.ts +40 -7
  1651. package/src/unstable/http/FetchHttpClient.ts +33 -4
  1652. package/src/unstable/http/FindMyWay.ts +1 -1
  1653. package/src/unstable/http/Headers.ts +252 -50
  1654. package/src/unstable/http/HttpBody.ts +128 -26
  1655. package/src/unstable/http/HttpClient.ts +204 -96
  1656. package/src/unstable/http/HttpClientError.ts +80 -12
  1657. package/src/unstable/http/HttpClientRequest.ts +318 -100
  1658. package/src/unstable/http/HttpClientResponse.ts +59 -16
  1659. package/src/unstable/http/HttpEffect.ts +66 -18
  1660. package/src/unstable/http/HttpIncomingMessage.ts +48 -7
  1661. package/src/unstable/http/HttpMethod.ts +38 -6
  1662. package/src/unstable/http/HttpMiddleware.ts +60 -11
  1663. package/src/unstable/http/HttpPlatform.ts +34 -3
  1664. package/src/unstable/http/HttpRouter.ts +232 -69
  1665. package/src/unstable/http/HttpServer.ts +151 -22
  1666. package/src/unstable/http/HttpServerError.ts +93 -10
  1667. package/src/unstable/http/HttpServerRequest.ts +125 -21
  1668. package/src/unstable/http/HttpServerRespondable.ts +49 -6
  1669. package/src/unstable/http/HttpServerResponse.ts +391 -67
  1670. package/src/unstable/http/HttpStaticServer.ts +24 -8
  1671. package/src/unstable/http/HttpTraceContext.ts +53 -6
  1672. package/src/unstable/http/Multipart.ts +179 -28
  1673. package/src/unstable/http/Multipasta/HeadersParser.ts +1 -1
  1674. package/src/unstable/http/Multipasta/Node.ts +1 -1
  1675. package/src/unstable/http/Multipasta/Search.ts +1 -1
  1676. package/src/unstable/http/Multipasta/Web.ts +1 -1
  1677. package/src/unstable/http/Multipasta.ts +1 -1
  1678. package/src/unstable/http/Template.ts +53 -1
  1679. package/src/unstable/http/Url.ts +70 -56
  1680. package/src/unstable/http/UrlParams.ts +237 -51
  1681. package/src/unstable/http/index.ts +452 -0
  1682. package/src/unstable/httpapi/HttpApi.ts +49 -14
  1683. package/src/unstable/httpapi/HttpApiBuilder.ts +81 -16
  1684. package/src/unstable/httpapi/HttpApiClient.ts +78 -15
  1685. package/src/unstable/httpapi/HttpApiEndpoint.ts +238 -59
  1686. package/src/unstable/httpapi/HttpApiError.ts +100 -1
  1687. package/src/unstable/httpapi/HttpApiGroup.ts +87 -20
  1688. package/src/unstable/httpapi/HttpApiMiddleware.ts +113 -22
  1689. package/src/unstable/httpapi/HttpApiScalar.ts +38 -4
  1690. package/src/unstable/httpapi/HttpApiSchema.ts +86 -38
  1691. package/src/unstable/httpapi/HttpApiSecurity.ts +73 -17
  1692. package/src/unstable/httpapi/HttpApiSwagger.ts +23 -3
  1693. package/src/unstable/httpapi/HttpApiTest.ts +26 -1
  1694. package/src/unstable/httpapi/OpenApi.ts +115 -15
  1695. package/src/unstable/httpapi/index.ts +310 -25
  1696. package/src/unstable/observability/Otlp.ts +33 -3
  1697. package/src/unstable/observability/OtlpExporter.ts +32 -1
  1698. package/src/unstable/observability/OtlpLogger.ts +32 -2
  1699. package/src/unstable/observability/OtlpMetrics.ts +39 -5
  1700. package/src/unstable/observability/OtlpResource.ts +68 -12
  1701. package/src/unstable/observability/OtlpSerialization.ts +28 -3
  1702. package/src/unstable/observability/OtlpTracer.ts +41 -2
  1703. package/src/unstable/observability/PrometheusMetrics.ts +36 -16
  1704. package/src/unstable/observability/index.ts +160 -3
  1705. package/src/unstable/persistence/KeyValueStore.ts +108 -28
  1706. package/src/unstable/persistence/Persistable.ts +76 -15
  1707. package/src/unstable/persistence/PersistedCache.ts +27 -2
  1708. package/src/unstable/persistence/PersistedQueue.ts +98 -16
  1709. package/src/unstable/persistence/Persistence.ts +98 -16
  1710. package/src/unstable/persistence/RateLimiter.ts +101 -21
  1711. package/src/unstable/persistence/Redis.ts +42 -5
  1712. package/src/unstable/persistence/index.ts +147 -0
  1713. package/src/unstable/process/ChildProcess.ts +90 -66
  1714. package/src/unstable/process/ChildProcessSpawner.ts +23 -12
  1715. package/src/unstable/process/index.ts +2 -1
  1716. package/src/unstable/reactivity/AsyncResult.ts +204 -61
  1717. package/src/unstable/reactivity/Atom.ts +598 -139
  1718. package/src/unstable/reactivity/AtomHttpApi.ts +41 -2
  1719. package/src/unstable/reactivity/AtomRef.ts +51 -7
  1720. package/src/unstable/reactivity/AtomRegistry.ts +141 -22
  1721. package/src/unstable/reactivity/AtomRpc.ts +36 -2
  1722. package/src/unstable/reactivity/Hydration.ts +45 -5
  1723. package/src/unstable/reactivity/Reactivity.ts +94 -13
  1724. package/src/unstable/reactivity/index.ts +167 -0
  1725. package/src/unstable/rpc/Rpc.ts +254 -56
  1726. package/src/unstable/rpc/RpcClient.ts +106 -19
  1727. package/src/unstable/rpc/RpcClientError.ts +26 -2
  1728. package/src/unstable/rpc/RpcGroup.ts +51 -8
  1729. package/src/unstable/rpc/RpcMessage.ts +128 -32
  1730. package/src/unstable/rpc/RpcMiddleware.ts +100 -20
  1731. package/src/unstable/rpc/RpcSchema.ts +38 -4
  1732. package/src/unstable/rpc/RpcSerialization.ts +60 -13
  1733. package/src/unstable/rpc/RpcServer.ts +107 -23
  1734. package/src/unstable/rpc/RpcTest.ts +20 -1
  1735. package/src/unstable/rpc/RpcWorker.ts +39 -6
  1736. package/src/unstable/rpc/Utils.ts +33 -0
  1737. package/src/unstable/rpc/index.ts +272 -0
  1738. package/src/unstable/schema/Model.ts +245 -61
  1739. package/src/unstable/schema/VariantSchema.ts +101 -24
  1740. package/src/unstable/schema/index.ts +37 -0
  1741. package/src/unstable/socket/Socket.ts +168 -34
  1742. package/src/unstable/socket/SocketServer.ts +58 -10
  1743. package/src/unstable/socket/index.ts +44 -0
  1744. package/src/unstable/sql/Migrator.ts +61 -9
  1745. package/src/unstable/sql/SqlClient.ts +59 -2
  1746. package/src/unstable/sql/SqlConnection.ts +34 -3
  1747. package/src/unstable/sql/SqlError.ts +135 -0
  1748. package/src/unstable/sql/SqlModel.ts +25 -5
  1749. package/src/unstable/sql/SqlResolver.ts +56 -13
  1750. package/src/unstable/sql/SqlSchema.ts +29 -8
  1751. package/src/unstable/sql/SqlStream.ts +24 -0
  1752. package/src/unstable/sql/Statement.ts +168 -24
  1753. package/src/unstable/sql/index.ts +179 -1
  1754. package/src/unstable/workers/Transferable.ts +72 -20
  1755. package/src/unstable/workers/Worker.ts +61 -8
  1756. package/src/unstable/workers/WorkerError.ts +50 -9
  1757. package/src/unstable/workers/WorkerRunner.ts +32 -3
  1758. package/src/unstable/workers/index.ts +81 -1
  1759. package/src/unstable/workflow/Activity.ts +61 -10
  1760. package/src/unstable/workflow/DurableClock.ts +26 -3
  1761. package/src/unstable/workflow/DurableDeferred.ts +148 -31
  1762. package/src/unstable/workflow/DurableQueue.ts +33 -8
  1763. package/src/unstable/workflow/Workflow.ts +123 -31
  1764. package/src/unstable/workflow/WorkflowEngine.ts +40 -5
  1765. package/src/unstable/workflow/WorkflowProxy.ts +40 -12
  1766. package/src/unstable/workflow/WorkflowProxyServer.ts +41 -6
  1767. package/src/unstable/workflow/index.ts +160 -0
package/src/BigDecimal.ts CHANGED
@@ -33,14 +33,15 @@ const TypeId = "~effect/BigDecimal"
33
33
  /**
34
34
  * Represents an arbitrary precision decimal number.
35
35
  *
36
- * @example
36
+ * **Example** (Inspecting BigDecimal storage)
37
+ *
37
38
  * ```ts
38
39
  * import { BigDecimal } from "effect"
39
40
  *
40
- * const d = BigDecimal.fromNumberUnsafe(123.45)
41
+ * const d = BigDecimal.fromStringUnsafe("123.45")
41
42
  *
42
- * d.value // 12345n
43
- * d.scale // 2
43
+ * console.log(d.value) // 12345n
44
+ * console.log(d.scale) // 2
44
45
  * ```
45
46
  *
46
47
  * @category models
@@ -84,7 +85,8 @@ const BigDecimalProto: Omit<BigDecimal, "value" | "scale" | "normalized"> = {
84
85
  /**
85
86
  * Checks if a given value is a `BigDecimal`.
86
87
  *
87
- * @example
88
+ * **Example** (Checking BigDecimal values)
89
+ *
88
90
  * ```ts
89
91
  * import { BigDecimal } from "effect"
90
92
  *
@@ -94,15 +96,16 @@ const BigDecimalProto: Omit<BigDecimal, "value" | "scale" | "normalized"> = {
94
96
  * console.log(BigDecimal.isBigDecimal("123.45")) // false
95
97
  * ```
96
98
  *
97
- * @since 2.0.0
98
99
  * @category guards
100
+ * @since 2.0.0
99
101
  */
100
102
  export const isBigDecimal = (u: unknown): u is BigDecimal => hasProperty(u, TypeId)
101
103
 
102
104
  /**
103
105
  * Creates a `BigDecimal` from a `bigint` value and a scale.
104
106
  *
105
- * @example
107
+ * **Example** (Creating decimals from bigint and scale)
108
+ *
106
109
  * ```ts
107
110
  * import { BigDecimal } from "effect"
108
111
  *
@@ -115,8 +118,8 @@ export const isBigDecimal = (u: unknown): u is BigDecimal => hasProperty(u, Type
115
118
  * console.log(BigDecimal.format(integer)) // "42"
116
119
  * ```
117
120
  *
118
- * @since 2.0.0
119
121
  * @category constructors
122
+ * @since 2.0.0
120
123
  */
121
124
  export const make = (value: bigint, scale: number): BigDecimal => {
122
125
  const o = Object.create(BigDecimalProto)
@@ -153,23 +156,24 @@ const one = makeNormalizedUnsafe(bigint1, 0)
153
156
  /**
154
157
  * Normalizes a given `BigDecimal` by removing trailing zeros.
155
158
  *
156
- * @example
159
+ * **Example** (Normalizing trailing zeros)
160
+ *
157
161
  * ```ts
158
- * import { fromStringUnsafe, make, normalize } from "effect/BigDecimal"
162
+ * import { BigDecimal } from "effect"
159
163
  * import * as assert from "node:assert"
160
164
  *
161
165
  * assert.deepStrictEqual(
162
- * normalize(fromStringUnsafe("123.00000")),
163
- * normalize(make(123n, 0))
166
+ * BigDecimal.normalize(BigDecimal.fromStringUnsafe("123.00000")),
167
+ * BigDecimal.normalize(BigDecimal.make(123n, 0))
164
168
  * )
165
169
  * assert.deepStrictEqual(
166
- * normalize(fromStringUnsafe("12300000")),
167
- * normalize(make(123n, -5))
170
+ * BigDecimal.normalize(BigDecimal.fromStringUnsafe("12300000")),
171
+ * BigDecimal.normalize(BigDecimal.make(123n, -5))
168
172
  * )
169
173
  * ```
170
174
  *
171
- * @since 2.0.0
172
175
  * @category scaling
176
+ * @since 2.0.0
173
177
  */
174
178
  export const normalize = (self: BigDecimal): BigDecimal => {
175
179
  if (self.normalized === undefined) {
@@ -201,12 +205,14 @@ export const normalize = (self: BigDecimal): BigDecimal => {
201
205
  }
202
206
 
203
207
  /**
204
- * Scales a given `BigDecimal` to the specified scale.
208
+ * Scales a `BigDecimal` to the specified scale.
209
+ *
210
+ * Increasing the scale appends decimal zeros. Decreasing the scale discards
211
+ * digits beyond the target scale by `bigint` division, which truncates toward
212
+ * zero.
205
213
  *
206
- * If the given scale is smaller than the current scale, the value will be rounded down to
207
- * the nearest integer.
214
+ * **Example** (Scaling decimal precision)
208
215
  *
209
- * @example
210
216
  * ```ts
211
217
  * import { BigDecimal } from "effect"
212
218
  *
@@ -221,17 +227,19 @@ export const normalize = (self: BigDecimal): BigDecimal => {
221
227
  * console.log(BigDecimal.format(reduced)) // "123.4"
222
228
  * ```
223
229
  *
224
- * @since 2.0.0
225
230
  * @category scaling
231
+ * @since 2.0.0
226
232
  */
227
233
  export const scale: {
228
234
  /**
229
- * Scales a given `BigDecimal` to the specified scale.
235
+ * Scales a `BigDecimal` to the specified scale.
236
+ *
237
+ * Increasing the scale appends decimal zeros. Decreasing the scale discards
238
+ * digits beyond the target scale by `bigint` division, which truncates toward
239
+ * zero.
230
240
  *
231
- * If the given scale is smaller than the current scale, the value will be rounded down to
232
- * the nearest integer.
241
+ * **Example** (Scaling decimal precision)
233
242
  *
234
- * @example
235
243
  * ```ts
236
244
  * import { BigDecimal } from "effect"
237
245
  *
@@ -246,17 +254,19 @@ export const scale: {
246
254
  * console.log(BigDecimal.format(reduced)) // "123.4"
247
255
  * ```
248
256
  *
249
- * @since 2.0.0
250
257
  * @category scaling
258
+ * @since 2.0.0
251
259
  */
252
260
  (scale: number): (self: BigDecimal) => BigDecimal
253
261
  /**
254
- * Scales a given `BigDecimal` to the specified scale.
262
+ * Scales a `BigDecimal` to the specified scale.
263
+ *
264
+ * Increasing the scale appends decimal zeros. Decreasing the scale discards
265
+ * digits beyond the target scale by `bigint` division, which truncates toward
266
+ * zero.
255
267
  *
256
- * If the given scale is smaller than the current scale, the value will be rounded down to
257
- * the nearest integer.
268
+ * **Example** (Scaling decimal precision)
258
269
  *
259
- * @example
260
270
  * ```ts
261
271
  * import { BigDecimal } from "effect"
262
272
  *
@@ -271,8 +281,8 @@ export const scale: {
271
281
  * console.log(BigDecimal.format(reduced)) // "123.4"
272
282
  * ```
273
283
  *
274
- * @since 2.0.0
275
284
  * @category scaling
285
+ * @since 2.0.0
276
286
  */
277
287
  (self: BigDecimal, scale: number): BigDecimal
278
288
  } = dual(2, (self: BigDecimal, scale: number): BigDecimal => {
@@ -290,55 +300,58 @@ export const scale: {
290
300
  /**
291
301
  * Provides an addition operation on `BigDecimal`s.
292
302
  *
293
- * @example
303
+ * **Example** (Adding decimals)
304
+ *
294
305
  * ```ts
295
- * import { fromStringUnsafe, sum } from "effect/BigDecimal"
306
+ * import { BigDecimal } from "effect"
296
307
  * import * as assert from "node:assert"
297
308
  *
298
309
  * assert.deepStrictEqual(
299
- * sum(fromStringUnsafe("2"), fromStringUnsafe("3")),
300
- * fromStringUnsafe("5")
310
+ * BigDecimal.sum(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
311
+ * BigDecimal.fromStringUnsafe("5")
301
312
  * )
302
313
  * ```
303
314
  *
304
- * @since 2.0.0
305
315
  * @category math
316
+ * @since 2.0.0
306
317
  */
307
318
  export const sum: {
308
319
  /**
309
320
  * Provides an addition operation on `BigDecimal`s.
310
321
  *
311
- * @example
322
+ * **Example** (Adding decimals)
323
+ *
312
324
  * ```ts
313
- * import { fromStringUnsafe, sum } from "effect/BigDecimal"
325
+ * import { BigDecimal } from "effect"
314
326
  * import * as assert from "node:assert"
315
327
  *
316
328
  * assert.deepStrictEqual(
317
- * sum(fromStringUnsafe("2"), fromStringUnsafe("3")),
318
- * fromStringUnsafe("5")
329
+ * BigDecimal.sum(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
330
+ * BigDecimal.fromStringUnsafe("5")
319
331
  * )
320
332
  * ```
321
333
  *
322
- * @since 2.0.0
323
334
  * @category math
335
+ * @since 2.0.0
324
336
  */
325
337
  (that: BigDecimal): (self: BigDecimal) => BigDecimal
326
338
  /**
327
339
  * Provides an addition operation on `BigDecimal`s.
328
340
  *
329
- * @example
341
+ * **Example** (Adding decimals)
342
+ *
330
343
  * ```ts
331
- * import { fromStringUnsafe, sum } from "effect/BigDecimal"
344
+ * import { BigDecimal } from "effect"
332
345
  * import * as assert from "node:assert"
333
346
  *
334
347
  * assert.deepStrictEqual(
335
- * sum(fromStringUnsafe("2"), fromStringUnsafe("3")),
336
- * fromStringUnsafe("5")
348
+ * BigDecimal.sum(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
349
+ * BigDecimal.fromStringUnsafe("5")
337
350
  * )
338
351
  * ```
339
352
  *
340
- * @since 2.0.0
341
353
  * @category math
354
+ * @since 2.0.0
342
355
  */
343
356
  (self: BigDecimal, that: BigDecimal): BigDecimal
344
357
  } = dual(2, (self: BigDecimal, that: BigDecimal): BigDecimal => {
@@ -364,19 +377,20 @@ export const sum: {
364
377
  /**
365
378
  * Takes an `Iterable` of `BigDecimal`s and returns their sum as a single `BigDecimal`.
366
379
  *
367
- * @example
380
+ * **Example** (Adding multiple decimals)
381
+ *
368
382
  * ```ts
369
- * import { fromStringUnsafe, sumAll } from "effect/BigDecimal"
383
+ * import { BigDecimal } from "effect"
370
384
  * import * as assert from "node:assert"
371
385
  *
372
386
  * assert.deepStrictEqual(
373
- * sumAll([fromStringUnsafe("2"), fromStringUnsafe("3"), fromStringUnsafe("4")]),
374
- * fromStringUnsafe("9")
387
+ * BigDecimal.sumAll([BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("4")]),
388
+ * BigDecimal.fromStringUnsafe("9")
375
389
  * )
376
390
  * ```
377
391
  *
378
- * @since 4.0.0
379
392
  * @category math
393
+ * @since 3.16.0
380
394
  */
381
395
  export const sumAll = (collection: Iterable<BigDecimal>): BigDecimal => {
382
396
  let out: BigDecimal = zero
@@ -389,55 +403,58 @@ export const sumAll = (collection: Iterable<BigDecimal>): BigDecimal => {
389
403
  /**
390
404
  * Provides a multiplication operation on `BigDecimal`s.
391
405
  *
392
- * @example
406
+ * **Example** (Multiplying decimals)
407
+ *
393
408
  * ```ts
394
- * import { fromStringUnsafe, multiply } from "effect/BigDecimal"
409
+ * import { BigDecimal } from "effect"
395
410
  * import * as assert from "node:assert"
396
411
  *
397
412
  * assert.deepStrictEqual(
398
- * multiply(fromStringUnsafe("2"), fromStringUnsafe("3")),
399
- * fromStringUnsafe("6")
413
+ * BigDecimal.multiply(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
414
+ * BigDecimal.fromStringUnsafe("6")
400
415
  * )
401
416
  * ```
402
417
  *
403
- * @since 2.0.0
404
418
  * @category math
419
+ * @since 2.0.0
405
420
  */
406
421
  export const multiply: {
407
422
  /**
408
423
  * Provides a multiplication operation on `BigDecimal`s.
409
424
  *
410
- * @example
425
+ * **Example** (Multiplying decimals)
426
+ *
411
427
  * ```ts
412
- * import { fromStringUnsafe, multiply } from "effect/BigDecimal"
428
+ * import { BigDecimal } from "effect"
413
429
  * import * as assert from "node:assert"
414
430
  *
415
431
  * assert.deepStrictEqual(
416
- * multiply(fromStringUnsafe("2"), fromStringUnsafe("3")),
417
- * fromStringUnsafe("6")
432
+ * BigDecimal.multiply(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
433
+ * BigDecimal.fromStringUnsafe("6")
418
434
  * )
419
435
  * ```
420
436
  *
421
- * @since 2.0.0
422
437
  * @category math
438
+ * @since 2.0.0
423
439
  */
424
440
  (that: BigDecimal): (self: BigDecimal) => BigDecimal
425
441
  /**
426
442
  * Provides a multiplication operation on `BigDecimal`s.
427
443
  *
428
- * @example
444
+ * **Example** (Multiplying decimals)
445
+ *
429
446
  * ```ts
430
- * import { fromStringUnsafe, multiply } from "effect/BigDecimal"
447
+ * import { BigDecimal } from "effect"
431
448
  * import * as assert from "node:assert"
432
449
  *
433
450
  * assert.deepStrictEqual(
434
- * multiply(fromStringUnsafe("2"), fromStringUnsafe("3")),
435
- * fromStringUnsafe("6")
451
+ * BigDecimal.multiply(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
452
+ * BigDecimal.fromStringUnsafe("6")
436
453
  * )
437
454
  * ```
438
455
  *
439
- * @since 2.0.0
440
456
  * @category math
457
+ * @since 2.0.0
441
458
  */
442
459
  (self: BigDecimal, that: BigDecimal): BigDecimal
443
460
  } = dual(2, (self: BigDecimal, that: BigDecimal): BigDecimal => {
@@ -451,19 +468,20 @@ export const multiply: {
451
468
  /**
452
469
  * Takes an `Iterable` of `BigDecimal`s and returns their multiplication as a single `BigDecimal`.
453
470
  *
454
- * @example
471
+ * **Example** (Multiplying multiple decimals)
472
+ *
455
473
  * ```ts
456
- * import { fromStringUnsafe, multiplyAll } from "effect/BigDecimal"
474
+ * import { BigDecimal } from "effect"
457
475
  * import * as assert from "node:assert"
458
476
  *
459
477
  * assert.deepStrictEqual(
460
- * multiplyAll([fromStringUnsafe("2"), fromStringUnsafe("3"), fromStringUnsafe("4")]),
461
- * fromStringUnsafe("24")
478
+ * BigDecimal.multiplyAll([BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("4")]),
479
+ * BigDecimal.fromStringUnsafe("24")
462
480
  * )
463
481
  * ```
464
482
  *
465
- * @since 4.0.0
466
483
  * @category math
484
+ * @since 4.0.0
467
485
  */
468
486
  export const multiplyAll = (collection: Iterable<BigDecimal>): BigDecimal => {
469
487
  let out: BigDecimal = one
@@ -479,55 +497,58 @@ export const multiplyAll = (collection: Iterable<BigDecimal>): BigDecimal => {
479
497
  /**
480
498
  * Provides a subtraction operation on `BigDecimal`s.
481
499
  *
482
- * @example
500
+ * **Example** (Subtracting decimals)
501
+ *
483
502
  * ```ts
484
- * import { fromStringUnsafe, subtract } from "effect/BigDecimal"
503
+ * import { BigDecimal } from "effect"
485
504
  * import * as assert from "node:assert"
486
505
  *
487
506
  * assert.deepStrictEqual(
488
- * subtract(fromStringUnsafe("2"), fromStringUnsafe("3")),
489
- * fromStringUnsafe("-1")
507
+ * BigDecimal.subtract(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
508
+ * BigDecimal.fromStringUnsafe("-1")
490
509
  * )
491
510
  * ```
492
511
  *
493
- * @since 2.0.0
494
512
  * @category math
513
+ * @since 2.0.0
495
514
  */
496
515
  export const subtract: {
497
516
  /**
498
517
  * Provides a subtraction operation on `BigDecimal`s.
499
518
  *
500
- * @example
519
+ * **Example** (Subtracting decimals)
520
+ *
501
521
  * ```ts
502
- * import { fromStringUnsafe, subtract } from "effect/BigDecimal"
522
+ * import { BigDecimal } from "effect"
503
523
  * import * as assert from "node:assert"
504
524
  *
505
525
  * assert.deepStrictEqual(
506
- * subtract(fromStringUnsafe("2"), fromStringUnsafe("3")),
507
- * fromStringUnsafe("-1")
526
+ * BigDecimal.subtract(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
527
+ * BigDecimal.fromStringUnsafe("-1")
508
528
  * )
509
529
  * ```
510
530
  *
511
- * @since 2.0.0
512
531
  * @category math
532
+ * @since 2.0.0
513
533
  */
514
534
  (that: BigDecimal): (self: BigDecimal) => BigDecimal
515
535
  /**
516
536
  * Provides a subtraction operation on `BigDecimal`s.
517
537
  *
518
- * @example
538
+ * **Example** (Subtracting decimals)
539
+ *
519
540
  * ```ts
520
- * import { fromStringUnsafe, subtract } from "effect/BigDecimal"
541
+ * import { BigDecimal } from "effect"
521
542
  * import * as assert from "node:assert"
522
543
  *
523
544
  * assert.deepStrictEqual(
524
- * subtract(fromStringUnsafe("2"), fromStringUnsafe("3")),
525
- * fromStringUnsafe("-1")
545
+ * BigDecimal.subtract(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
546
+ * BigDecimal.fromStringUnsafe("-1")
526
547
  * )
527
548
  * ```
528
549
  *
529
- * @since 2.0.0
530
550
  * @category math
551
+ * @since 2.0.0
531
552
  */
532
553
  (self: BigDecimal, that: BigDecimal): BigDecimal
533
554
  } = dual(2, (self: BigDecimal, that: BigDecimal): BigDecimal => {
@@ -621,121 +642,130 @@ export const roundTerminal = (n: bigint): bigint => {
621
642
  /**
622
643
  * Provides a division operation on `BigDecimal`s.
623
644
  *
624
- * If the dividend is not a multiple of the divisor the result will be a `BigDecimal` value
625
- * which represents the integer division rounded down to the nearest integer.
645
+ * If the dividend is not a multiple of the divisor, the result will be a `BigDecimal` value
646
+ * with up to the default division precision.
626
647
  *
627
648
  * If the divisor is `0`, the result will be `Option.none()`.
628
649
  *
629
- * @example
650
+ * **Example** (Dividing decimals safely)
651
+ *
630
652
  * ```ts
631
653
  * import { BigDecimal, Option } from "effect"
632
- * import * as assert from "node:assert"
633
654
  *
634
- * assert.deepStrictEqual(
635
- * BigDecimal.divide(
636
- * BigDecimal.fromStringUnsafe("6"),
637
- * BigDecimal.fromStringUnsafe("3")
638
- * ),
639
- * Option.some(BigDecimal.fromStringUnsafe("2"))
640
- * )
641
- * assert.deepStrictEqual(
642
- * BigDecimal.divide(
643
- * BigDecimal.fromStringUnsafe("6"),
644
- * BigDecimal.fromStringUnsafe("4")
645
- * ),
646
- * Option.some(BigDecimal.fromStringUnsafe("1.5"))
647
- * )
648
- * assert.deepStrictEqual(
649
- * BigDecimal.divide(
650
- * BigDecimal.fromStringUnsafe("6"),
651
- * BigDecimal.fromStringUnsafe("0")
652
- * ),
653
- * Option.none()
654
- * )
655
+ * console.log(
656
+ * Option.getOrThrow(
657
+ * BigDecimal.divide(
658
+ * BigDecimal.fromStringUnsafe("6"),
659
+ * BigDecimal.fromStringUnsafe("3")
660
+ * )
661
+ * )
662
+ * ) // BigDecimal(2)
663
+ * console.log(
664
+ * Option.getOrThrow(
665
+ * BigDecimal.divide(
666
+ * BigDecimal.fromStringUnsafe("6"),
667
+ * BigDecimal.fromStringUnsafe("4")
668
+ * )
669
+ * )
670
+ * ) // BigDecimal(1.5)
671
+ * console.log(
672
+ * Option.isNone(
673
+ * BigDecimal.divide(
674
+ * BigDecimal.fromStringUnsafe("6"),
675
+ * BigDecimal.fromStringUnsafe("0")
676
+ * )
677
+ * )
678
+ * ) // true
655
679
  * ```
656
680
  *
657
- * @since 2.0.0
658
681
  * @category math
682
+ * @since 2.0.0
659
683
  */
660
684
  export const divide: {
661
685
  /**
662
686
  * Provides a division operation on `BigDecimal`s.
663
687
  *
664
- * If the dividend is not a multiple of the divisor the result will be a `BigDecimal` value
665
- * which represents the integer division rounded down to the nearest integer.
688
+ * If the dividend is not a multiple of the divisor, the result will be a `BigDecimal` value
689
+ * with up to the default division precision.
666
690
  *
667
691
  * If the divisor is `0`, the result will be `Option.none()`.
668
692
  *
669
- * @example
693
+ * **Example** (Dividing decimals safely)
694
+ *
670
695
  * ```ts
671
696
  * import { BigDecimal, Option } from "effect"
672
- * import * as assert from "node:assert"
673
697
  *
674
- * assert.deepStrictEqual(
675
- * BigDecimal.divide(
676
- * BigDecimal.fromStringUnsafe("6"),
677
- * BigDecimal.fromStringUnsafe("3")
678
- * ),
679
- * Option.some(BigDecimal.fromStringUnsafe("2"))
680
- * )
681
- * assert.deepStrictEqual(
682
- * BigDecimal.divide(
683
- * BigDecimal.fromStringUnsafe("6"),
684
- * BigDecimal.fromStringUnsafe("4")
685
- * ),
686
- * Option.some(BigDecimal.fromStringUnsafe("1.5"))
687
- * )
688
- * assert.deepStrictEqual(
689
- * BigDecimal.divide(
690
- * BigDecimal.fromStringUnsafe("6"),
691
- * BigDecimal.fromStringUnsafe("0")
692
- * ),
693
- * Option.none()
694
- * )
698
+ * console.log(
699
+ * Option.getOrThrow(
700
+ * BigDecimal.divide(
701
+ * BigDecimal.fromStringUnsafe("6"),
702
+ * BigDecimal.fromStringUnsafe("3")
703
+ * )
704
+ * )
705
+ * ) // BigDecimal(2)
706
+ * console.log(
707
+ * Option.getOrThrow(
708
+ * BigDecimal.divide(
709
+ * BigDecimal.fromStringUnsafe("6"),
710
+ * BigDecimal.fromStringUnsafe("4")
711
+ * )
712
+ * )
713
+ * ) // BigDecimal(1.5)
714
+ * console.log(
715
+ * Option.isNone(
716
+ * BigDecimal.divide(
717
+ * BigDecimal.fromStringUnsafe("6"),
718
+ * BigDecimal.fromStringUnsafe("0")
719
+ * )
720
+ * )
721
+ * ) // true
695
722
  * ```
696
723
  *
697
- * @since 2.0.0
698
724
  * @category math
725
+ * @since 2.0.0
699
726
  */
700
727
  (that: BigDecimal): (self: BigDecimal) => Option.Option<BigDecimal>
701
728
  /**
702
729
  * Provides a division operation on `BigDecimal`s.
703
730
  *
704
- * If the dividend is not a multiple of the divisor the result will be a `BigDecimal` value
705
- * which represents the integer division rounded down to the nearest integer.
731
+ * If the dividend is not a multiple of the divisor, the result will be a `BigDecimal` value
732
+ * with up to the default division precision.
706
733
  *
707
734
  * If the divisor is `0`, the result will be `Option.none()`.
708
735
  *
709
- * @example
736
+ * **Example** (Dividing decimals safely)
737
+ *
710
738
  * ```ts
711
739
  * import { BigDecimal, Option } from "effect"
712
- * import * as assert from "node:assert"
713
740
  *
714
- * assert.deepStrictEqual(
715
- * BigDecimal.divide(
716
- * BigDecimal.fromStringUnsafe("6"),
717
- * BigDecimal.fromStringUnsafe("3")
718
- * ),
719
- * Option.some(BigDecimal.fromStringUnsafe("2"))
720
- * )
721
- * assert.deepStrictEqual(
722
- * BigDecimal.divide(
723
- * BigDecimal.fromStringUnsafe("6"),
724
- * BigDecimal.fromStringUnsafe("4")
725
- * ),
726
- * Option.some(BigDecimal.fromStringUnsafe("1.5"))
727
- * )
728
- * assert.deepStrictEqual(
729
- * BigDecimal.divide(
730
- * BigDecimal.fromStringUnsafe("6"),
731
- * BigDecimal.fromStringUnsafe("0")
732
- * ),
733
- * Option.none()
734
- * )
741
+ * console.log(
742
+ * Option.getOrThrow(
743
+ * BigDecimal.divide(
744
+ * BigDecimal.fromStringUnsafe("6"),
745
+ * BigDecimal.fromStringUnsafe("3")
746
+ * )
747
+ * )
748
+ * ) // BigDecimal(2)
749
+ * console.log(
750
+ * Option.getOrThrow(
751
+ * BigDecimal.divide(
752
+ * BigDecimal.fromStringUnsafe("6"),
753
+ * BigDecimal.fromStringUnsafe("4")
754
+ * )
755
+ * )
756
+ * ) // BigDecimal(1.5)
757
+ * console.log(
758
+ * Option.isNone(
759
+ * BigDecimal.divide(
760
+ * BigDecimal.fromStringUnsafe("6"),
761
+ * BigDecimal.fromStringUnsafe("0")
762
+ * )
763
+ * )
764
+ * ) // true
735
765
  * ```
736
766
  *
737
- * @since 2.0.0
738
767
  * @category math
768
+ * @since 2.0.0
739
769
  */
740
770
  (self: BigDecimal, that: BigDecimal): Option.Option<BigDecimal>
741
771
  } = dual(2, (self: BigDecimal, that: BigDecimal): Option.Option<BigDecimal> => {
@@ -758,82 +788,64 @@ export const divide: {
758
788
  /**
759
789
  * Provides an unsafe division operation on `BigDecimal`s.
760
790
  *
761
- * If the dividend is not a multiple of the divisor the result will be a `BigDecimal` value
762
- * which represents the integer division rounded down to the nearest integer.
791
+ * If the dividend is not a multiple of the divisor, the result will be a `BigDecimal` value
792
+ * with up to the default division precision.
763
793
  *
764
794
  * Throws a `RangeError` if the divisor is `0`.
765
795
  *
766
- * @example
796
+ * **Example** (Dividing decimals unsafely)
797
+ *
767
798
  * ```ts
768
- * import { divideUnsafe, fromStringUnsafe } from "effect/BigDecimal"
769
- * import * as assert from "node:assert"
799
+ * import { BigDecimal } from "effect"
770
800
  *
771
- * assert.deepStrictEqual(
772
- * divideUnsafe(fromStringUnsafe("6"), fromStringUnsafe("3")),
773
- * fromStringUnsafe("2")
774
- * )
775
- * assert.deepStrictEqual(
776
- * divideUnsafe(fromStringUnsafe("6"), fromStringUnsafe("4")),
777
- * fromStringUnsafe("1.5")
778
- * )
801
+ * console.log(BigDecimal.divideUnsafe(BigDecimal.fromStringUnsafe("6"), BigDecimal.fromStringUnsafe("3"))) // BigDecimal(2)
802
+ * console.log(BigDecimal.divideUnsafe(BigDecimal.fromStringUnsafe("6"), BigDecimal.fromStringUnsafe("4"))) // BigDecimal(1.5)
779
803
  * ```
780
804
  *
781
- * @since 2.0.0
782
805
  * @category math
806
+ * @since 4.0.0
783
807
  */
784
808
  export const divideUnsafe: {
785
809
  /**
786
810
  * Provides an unsafe division operation on `BigDecimal`s.
787
811
  *
788
- * If the dividend is not a multiple of the divisor the result will be a `BigDecimal` value
789
- * which represents the integer division rounded down to the nearest integer.
812
+ * If the dividend is not a multiple of the divisor, the result will be a `BigDecimal` value
813
+ * with up to the default division precision.
790
814
  *
791
815
  * Throws a `RangeError` if the divisor is `0`.
792
816
  *
793
- * @example
817
+ * **Example** (Dividing decimals unsafely)
818
+ *
794
819
  * ```ts
795
- * import { divideUnsafe, fromStringUnsafe } from "effect/BigDecimal"
796
- * import * as assert from "node:assert"
820
+ * import { BigDecimal } from "effect"
797
821
  *
798
- * assert.deepStrictEqual(
799
- * divideUnsafe(fromStringUnsafe("6"), fromStringUnsafe("3")),
800
- * fromStringUnsafe("2")
801
- * )
802
- * assert.deepStrictEqual(
803
- * divideUnsafe(fromStringUnsafe("6"), fromStringUnsafe("4")),
804
- * fromStringUnsafe("1.5")
805
- * )
822
+ * console.log(BigDecimal.divideUnsafe(BigDecimal.fromStringUnsafe("6"), BigDecimal.fromStringUnsafe("3"))) // BigDecimal(2)
823
+ * console.log(BigDecimal.divideUnsafe(BigDecimal.fromStringUnsafe("6"), BigDecimal.fromStringUnsafe("4"))) // BigDecimal(1.5)
806
824
  * ```
807
825
  *
808
- * @since 2.0.0
809
826
  * @category math
827
+ * @since 4.0.0
810
828
  */
811
829
  (that: BigDecimal): (self: BigDecimal) => BigDecimal
812
830
  /**
813
831
  * Provides an unsafe division operation on `BigDecimal`s.
814
832
  *
815
- * If the dividend is not a multiple of the divisor the result will be a `BigDecimal` value
816
- * which represents the integer division rounded down to the nearest integer.
833
+ * If the dividend is not a multiple of the divisor, the result will be a `BigDecimal` value
834
+ * with up to the default division precision.
817
835
  *
818
836
  * Throws a `RangeError` if the divisor is `0`.
819
837
  *
820
- * @example
838
+ * **Example** (Dividing decimals unsafely)
839
+ *
821
840
  * ```ts
822
- * import { divideUnsafe, fromStringUnsafe } from "effect/BigDecimal"
823
- * import * as assert from "node:assert"
841
+ * import { BigDecimal } from "effect"
824
842
  *
825
- * assert.deepStrictEqual(
826
- * divideUnsafe(fromStringUnsafe("6"), fromStringUnsafe("3")),
827
- * fromStringUnsafe("2")
828
- * )
829
- * assert.deepStrictEqual(
830
- * divideUnsafe(fromStringUnsafe("6"), fromStringUnsafe("4")),
831
- * fromStringUnsafe("1.5")
832
- * )
843
+ * console.log(BigDecimal.divideUnsafe(BigDecimal.fromStringUnsafe("6"), BigDecimal.fromStringUnsafe("3"))) // BigDecimal(2)
844
+ * console.log(BigDecimal.divideUnsafe(BigDecimal.fromStringUnsafe("6"), BigDecimal.fromStringUnsafe("4"))) // BigDecimal(1.5)
833
845
  * ```
834
846
  *
835
- * @since 2.0.0
836
847
  * @category math
848
+ * @since 4.0.0
837
849
  */
838
850
  (self: BigDecimal, that: BigDecimal): BigDecimal
839
851
  } = dual(2, (self: BigDecimal, that: BigDecimal): BigDecimal => {
@@ -855,7 +867,8 @@ export const divideUnsafe: {
855
867
  /**
856
868
  * Provides an `Order` instance for `BigDecimal` that allows comparing and sorting BigDecimal values.
857
869
  *
858
- * @example
870
+ * **Example** (Comparing decimals)
871
+ *
859
872
  * ```ts
860
873
  * import { BigDecimal } from "effect"
861
874
  *
@@ -868,8 +881,8 @@ export const divideUnsafe: {
868
881
  * console.log(BigDecimal.Order(a, c)) // 0 (a === c)
869
882
  * ```
870
883
  *
871
- * @since 2.0.0
872
884
  * @category instances
885
+ * @since 2.0.0
873
886
  */
874
887
  export const Order: order.Order<BigDecimal> = order.make((self, that) => {
875
888
  const scmp = order.Number(sign(self), sign(that))
@@ -891,79 +904,82 @@ export const Order: order.Order<BigDecimal> = order.make((self, that) => {
891
904
  /**
892
905
  * Returns `true` if the first argument is less than the second, otherwise `false`.
893
906
  *
894
- * @example
907
+ * **Example** (Checking less-than comparisons)
908
+ *
895
909
  * ```ts
896
- * import { fromStringUnsafe, isLessThan } from "effect/BigDecimal"
910
+ * import { BigDecimal } from "effect"
897
911
  * import * as assert from "node:assert"
898
912
  *
899
913
  * assert.deepStrictEqual(
900
- * isLessThan(fromStringUnsafe("2"), fromStringUnsafe("3")),
914
+ * BigDecimal.isLessThan(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
901
915
  * true
902
916
  * )
903
917
  * assert.deepStrictEqual(
904
- * isLessThan(fromStringUnsafe("3"), fromStringUnsafe("3")),
918
+ * BigDecimal.isLessThan(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
905
919
  * false
906
920
  * )
907
921
  * assert.deepStrictEqual(
908
- * isLessThan(fromStringUnsafe("4"), fromStringUnsafe("3")),
922
+ * BigDecimal.isLessThan(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
909
923
  * false
910
924
  * )
911
925
  * ```
912
926
  *
913
- * @since 2.0.0
914
927
  * @category predicates
928
+ * @since 4.0.0
915
929
  */
916
930
  export const isLessThan: {
917
931
  /**
918
932
  * Returns `true` if the first argument is less than the second, otherwise `false`.
919
933
  *
920
- * @example
934
+ * **Example** (Checking less-than comparisons)
935
+ *
921
936
  * ```ts
922
- * import { fromStringUnsafe, isLessThan } from "effect/BigDecimal"
937
+ * import { BigDecimal } from "effect"
923
938
  * import * as assert from "node:assert"
924
939
  *
925
940
  * assert.deepStrictEqual(
926
- * isLessThan(fromStringUnsafe("2"), fromStringUnsafe("3")),
941
+ * BigDecimal.isLessThan(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
927
942
  * true
928
943
  * )
929
944
  * assert.deepStrictEqual(
930
- * isLessThan(fromStringUnsafe("3"), fromStringUnsafe("3")),
945
+ * BigDecimal.isLessThan(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
931
946
  * false
932
947
  * )
933
948
  * assert.deepStrictEqual(
934
- * isLessThan(fromStringUnsafe("4"), fromStringUnsafe("3")),
949
+ * BigDecimal.isLessThan(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
935
950
  * false
936
951
  * )
937
952
  * ```
938
953
  *
939
- * @since 2.0.0
940
954
  * @category predicates
955
+ * @since 4.0.0
941
956
  */
942
957
  (that: BigDecimal): (self: BigDecimal) => boolean
943
958
  /**
944
959
  * Returns `true` if the first argument is less than the second, otherwise `false`.
945
960
  *
946
- * @example
961
+ * **Example** (Checking less-than comparisons)
962
+ *
947
963
  * ```ts
948
- * import { fromStringUnsafe, isLessThan } from "effect/BigDecimal"
964
+ * import { BigDecimal } from "effect"
949
965
  * import * as assert from "node:assert"
950
966
  *
951
967
  * assert.deepStrictEqual(
952
- * isLessThan(fromStringUnsafe("2"), fromStringUnsafe("3")),
968
+ * BigDecimal.isLessThan(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
953
969
  * true
954
970
  * )
955
971
  * assert.deepStrictEqual(
956
- * isLessThan(fromStringUnsafe("3"), fromStringUnsafe("3")),
972
+ * BigDecimal.isLessThan(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
957
973
  * false
958
974
  * )
959
975
  * assert.deepStrictEqual(
960
- * isLessThan(fromStringUnsafe("4"), fromStringUnsafe("3")),
976
+ * BigDecimal.isLessThan(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
961
977
  * false
962
978
  * )
963
979
  * ```
964
980
  *
965
- * @since 2.0.0
966
981
  * @category predicates
982
+ * @since 4.0.0
967
983
  */
968
984
  (self: BigDecimal, that: BigDecimal): boolean
969
985
  } = order.isLessThan(Order)
@@ -971,79 +987,82 @@ export const isLessThan: {
971
987
  /**
972
988
  * Checks if a given `BigDecimal` is less than or equal to the provided one.
973
989
  *
974
- * @example
990
+ * **Example** (Checking less-than-or-equal comparisons)
991
+ *
975
992
  * ```ts
976
- * import { fromStringUnsafe, isLessThanOrEqualTo } from "effect/BigDecimal"
993
+ * import { BigDecimal } from "effect"
977
994
  * import * as assert from "node:assert"
978
995
  *
979
996
  * assert.deepStrictEqual(
980
- * isLessThanOrEqualTo(fromStringUnsafe("2"), fromStringUnsafe("3")),
997
+ * BigDecimal.isLessThanOrEqualTo(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
981
998
  * true
982
999
  * )
983
1000
  * assert.deepStrictEqual(
984
- * isLessThanOrEqualTo(fromStringUnsafe("3"), fromStringUnsafe("3")),
1001
+ * BigDecimal.isLessThanOrEqualTo(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
985
1002
  * true
986
1003
  * )
987
1004
  * assert.deepStrictEqual(
988
- * isLessThanOrEqualTo(fromStringUnsafe("4"), fromStringUnsafe("3")),
1005
+ * BigDecimal.isLessThanOrEqualTo(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
989
1006
  * false
990
1007
  * )
991
1008
  * ```
992
1009
  *
993
- * @since 2.0.0
994
1010
  * @category predicates
1011
+ * @since 4.0.0
995
1012
  */
996
1013
  export const isLessThanOrEqualTo: {
997
1014
  /**
998
1015
  * Checks if a given `BigDecimal` is less than or equal to the provided one.
999
1016
  *
1000
- * @example
1017
+ * **Example** (Checking less-than-or-equal comparisons)
1018
+ *
1001
1019
  * ```ts
1002
- * import { fromStringUnsafe, isLessThanOrEqualTo } from "effect/BigDecimal"
1020
+ * import { BigDecimal } from "effect"
1003
1021
  * import * as assert from "node:assert"
1004
1022
  *
1005
1023
  * assert.deepStrictEqual(
1006
- * isLessThanOrEqualTo(fromStringUnsafe("2"), fromStringUnsafe("3")),
1024
+ * BigDecimal.isLessThanOrEqualTo(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1007
1025
  * true
1008
1026
  * )
1009
1027
  * assert.deepStrictEqual(
1010
- * isLessThanOrEqualTo(fromStringUnsafe("3"), fromStringUnsafe("3")),
1028
+ * BigDecimal.isLessThanOrEqualTo(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
1011
1029
  * true
1012
1030
  * )
1013
1031
  * assert.deepStrictEqual(
1014
- * isLessThanOrEqualTo(fromStringUnsafe("4"), fromStringUnsafe("3")),
1032
+ * BigDecimal.isLessThanOrEqualTo(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
1015
1033
  * false
1016
1034
  * )
1017
1035
  * ```
1018
1036
  *
1019
- * @since 2.0.0
1020
1037
  * @category predicates
1038
+ * @since 4.0.0
1021
1039
  */
1022
1040
  (that: BigDecimal): (self: BigDecimal) => boolean
1023
1041
  /**
1024
1042
  * Checks if a given `BigDecimal` is less than or equal to the provided one.
1025
1043
  *
1026
- * @example
1044
+ * **Example** (Checking less-than-or-equal comparisons)
1045
+ *
1027
1046
  * ```ts
1028
- * import { fromStringUnsafe, isLessThanOrEqualTo } from "effect/BigDecimal"
1047
+ * import { BigDecimal } from "effect"
1029
1048
  * import * as assert from "node:assert"
1030
1049
  *
1031
1050
  * assert.deepStrictEqual(
1032
- * isLessThanOrEqualTo(fromStringUnsafe("2"), fromStringUnsafe("3")),
1051
+ * BigDecimal.isLessThanOrEqualTo(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1033
1052
  * true
1034
1053
  * )
1035
1054
  * assert.deepStrictEqual(
1036
- * isLessThanOrEqualTo(fromStringUnsafe("3"), fromStringUnsafe("3")),
1055
+ * BigDecimal.isLessThanOrEqualTo(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
1037
1056
  * true
1038
1057
  * )
1039
1058
  * assert.deepStrictEqual(
1040
- * isLessThanOrEqualTo(fromStringUnsafe("4"), fromStringUnsafe("3")),
1059
+ * BigDecimal.isLessThanOrEqualTo(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
1041
1060
  * false
1042
1061
  * )
1043
1062
  * ```
1044
1063
  *
1045
- * @since 2.0.0
1046
1064
  * @category predicates
1065
+ * @since 4.0.0
1047
1066
  */
1048
1067
  (self: BigDecimal, that: BigDecimal): boolean
1049
1068
  } = order.isLessThanOrEqualTo(Order)
@@ -1051,79 +1070,82 @@ export const isLessThanOrEqualTo: {
1051
1070
  /**
1052
1071
  * Returns `true` if the first argument is greater than the second, otherwise `false`.
1053
1072
  *
1054
- * @example
1073
+ * **Example** (Checking greater-than comparisons)
1074
+ *
1055
1075
  * ```ts
1056
- * import { fromStringUnsafe, isGreaterThan } from "effect/BigDecimal"
1076
+ * import { BigDecimal } from "effect"
1057
1077
  * import * as assert from "node:assert"
1058
1078
  *
1059
1079
  * assert.deepStrictEqual(
1060
- * isGreaterThan(fromStringUnsafe("2"), fromStringUnsafe("3")),
1080
+ * BigDecimal.isGreaterThan(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1061
1081
  * false
1062
1082
  * )
1063
1083
  * assert.deepStrictEqual(
1064
- * isGreaterThan(fromStringUnsafe("3"), fromStringUnsafe("3")),
1084
+ * BigDecimal.isGreaterThan(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
1065
1085
  * false
1066
1086
  * )
1067
1087
  * assert.deepStrictEqual(
1068
- * isGreaterThan(fromStringUnsafe("4"), fromStringUnsafe("3")),
1088
+ * BigDecimal.isGreaterThan(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
1069
1089
  * true
1070
1090
  * )
1071
1091
  * ```
1072
1092
  *
1073
- * @since 2.0.0
1074
1093
  * @category predicates
1094
+ * @since 4.0.0
1075
1095
  */
1076
1096
  export const isGreaterThan: {
1077
1097
  /**
1078
1098
  * Returns `true` if the first argument is greater than the second, otherwise `false`.
1079
1099
  *
1080
- * @example
1100
+ * **Example** (Checking greater-than comparisons)
1101
+ *
1081
1102
  * ```ts
1082
- * import { fromStringUnsafe, isGreaterThan } from "effect/BigDecimal"
1103
+ * import { BigDecimal } from "effect"
1083
1104
  * import * as assert from "node:assert"
1084
1105
  *
1085
1106
  * assert.deepStrictEqual(
1086
- * isGreaterThan(fromStringUnsafe("2"), fromStringUnsafe("3")),
1107
+ * BigDecimal.isGreaterThan(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1087
1108
  * false
1088
1109
  * )
1089
1110
  * assert.deepStrictEqual(
1090
- * isGreaterThan(fromStringUnsafe("3"), fromStringUnsafe("3")),
1111
+ * BigDecimal.isGreaterThan(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
1091
1112
  * false
1092
1113
  * )
1093
1114
  * assert.deepStrictEqual(
1094
- * isGreaterThan(fromStringUnsafe("4"), fromStringUnsafe("3")),
1115
+ * BigDecimal.isGreaterThan(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
1095
1116
  * true
1096
1117
  * )
1097
1118
  * ```
1098
1119
  *
1099
- * @since 2.0.0
1100
1120
  * @category predicates
1121
+ * @since 4.0.0
1101
1122
  */
1102
1123
  (that: BigDecimal): (self: BigDecimal) => boolean
1103
1124
  /**
1104
1125
  * Returns `true` if the first argument is greater than the second, otherwise `false`.
1105
1126
  *
1106
- * @example
1127
+ * **Example** (Checking greater-than comparisons)
1128
+ *
1107
1129
  * ```ts
1108
- * import { fromStringUnsafe, isGreaterThan } from "effect/BigDecimal"
1130
+ * import { BigDecimal } from "effect"
1109
1131
  * import * as assert from "node:assert"
1110
1132
  *
1111
1133
  * assert.deepStrictEqual(
1112
- * isGreaterThan(fromStringUnsafe("2"), fromStringUnsafe("3")),
1134
+ * BigDecimal.isGreaterThan(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1113
1135
  * false
1114
1136
  * )
1115
1137
  * assert.deepStrictEqual(
1116
- * isGreaterThan(fromStringUnsafe("3"), fromStringUnsafe("3")),
1138
+ * BigDecimal.isGreaterThan(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
1117
1139
  * false
1118
1140
  * )
1119
1141
  * assert.deepStrictEqual(
1120
- * isGreaterThan(fromStringUnsafe("4"), fromStringUnsafe("3")),
1142
+ * BigDecimal.isGreaterThan(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
1121
1143
  * true
1122
1144
  * )
1123
1145
  * ```
1124
1146
  *
1125
- * @since 2.0.0
1126
1147
  * @category predicates
1148
+ * @since 4.0.0
1127
1149
  */
1128
1150
  (self: BigDecimal, that: BigDecimal): boolean
1129
1151
  } = order.isGreaterThan(Order)
@@ -1131,79 +1153,82 @@ export const isGreaterThan: {
1131
1153
  /**
1132
1154
  * Checks if a given `BigDecimal` is greater than or equal to the provided one.
1133
1155
  *
1134
- * @example
1156
+ * **Example** (Checking greater-than-or-equal comparisons)
1157
+ *
1135
1158
  * ```ts
1136
- * import { fromStringUnsafe, isGreaterThanOrEqualTo } from "effect/BigDecimal"
1159
+ * import { BigDecimal } from "effect"
1137
1160
  * import * as assert from "node:assert"
1138
1161
  *
1139
1162
  * assert.deepStrictEqual(
1140
- * isGreaterThanOrEqualTo(fromStringUnsafe("2"), fromStringUnsafe("3")),
1163
+ * BigDecimal.isGreaterThanOrEqualTo(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1141
1164
  * false
1142
1165
  * )
1143
1166
  * assert.deepStrictEqual(
1144
- * isGreaterThanOrEqualTo(fromStringUnsafe("3"), fromStringUnsafe("3")),
1167
+ * BigDecimal.isGreaterThanOrEqualTo(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
1145
1168
  * true
1146
1169
  * )
1147
1170
  * assert.deepStrictEqual(
1148
- * isGreaterThanOrEqualTo(fromStringUnsafe("4"), fromStringUnsafe("3")),
1171
+ * BigDecimal.isGreaterThanOrEqualTo(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
1149
1172
  * true
1150
1173
  * )
1151
1174
  * ```
1152
1175
  *
1153
- * @since 2.0.0
1154
1176
  * @category predicates
1177
+ * @since 4.0.0
1155
1178
  */
1156
1179
  export const isGreaterThanOrEqualTo: {
1157
1180
  /**
1158
1181
  * Checks if a given `BigDecimal` is greater than or equal to the provided one.
1159
1182
  *
1160
- * @example
1183
+ * **Example** (Checking greater-than-or-equal comparisons)
1184
+ *
1161
1185
  * ```ts
1162
- * import { fromStringUnsafe, isGreaterThanOrEqualTo } from "effect/BigDecimal"
1186
+ * import { BigDecimal } from "effect"
1163
1187
  * import * as assert from "node:assert"
1164
1188
  *
1165
1189
  * assert.deepStrictEqual(
1166
- * isGreaterThanOrEqualTo(fromStringUnsafe("2"), fromStringUnsafe("3")),
1190
+ * BigDecimal.isGreaterThanOrEqualTo(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1167
1191
  * false
1168
1192
  * )
1169
1193
  * assert.deepStrictEqual(
1170
- * isGreaterThanOrEqualTo(fromStringUnsafe("3"), fromStringUnsafe("3")),
1194
+ * BigDecimal.isGreaterThanOrEqualTo(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
1171
1195
  * true
1172
1196
  * )
1173
1197
  * assert.deepStrictEqual(
1174
- * isGreaterThanOrEqualTo(fromStringUnsafe("4"), fromStringUnsafe("3")),
1198
+ * BigDecimal.isGreaterThanOrEqualTo(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
1175
1199
  * true
1176
1200
  * )
1177
1201
  * ```
1178
1202
  *
1179
- * @since 2.0.0
1180
1203
  * @category predicates
1204
+ * @since 4.0.0
1181
1205
  */
1182
1206
  (that: BigDecimal): (self: BigDecimal) => boolean
1183
1207
  /**
1184
1208
  * Checks if a given `BigDecimal` is greater than or equal to the provided one.
1185
1209
  *
1186
- * @example
1210
+ * **Example** (Checking greater-than-or-equal comparisons)
1211
+ *
1187
1212
  * ```ts
1188
- * import { fromStringUnsafe, isGreaterThanOrEqualTo } from "effect/BigDecimal"
1213
+ * import { BigDecimal } from "effect"
1189
1214
  * import * as assert from "node:assert"
1190
1215
  *
1191
1216
  * assert.deepStrictEqual(
1192
- * isGreaterThanOrEqualTo(fromStringUnsafe("2"), fromStringUnsafe("3")),
1217
+ * BigDecimal.isGreaterThanOrEqualTo(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1193
1218
  * false
1194
1219
  * )
1195
1220
  * assert.deepStrictEqual(
1196
- * isGreaterThanOrEqualTo(fromStringUnsafe("3"), fromStringUnsafe("3")),
1221
+ * BigDecimal.isGreaterThanOrEqualTo(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("3")),
1197
1222
  * true
1198
1223
  * )
1199
1224
  * assert.deepStrictEqual(
1200
- * isGreaterThanOrEqualTo(fromStringUnsafe("4"), fromStringUnsafe("3")),
1225
+ * BigDecimal.isGreaterThanOrEqualTo(BigDecimal.fromStringUnsafe("4"), BigDecimal.fromStringUnsafe("3")),
1201
1226
  * true
1202
1227
  * )
1203
1228
  * ```
1204
1229
  *
1205
- * @since 2.0.0
1206
1230
  * @category predicates
1231
+ * @since 4.0.0
1207
1232
  */
1208
1233
  (self: BigDecimal, that: BigDecimal): boolean
1209
1234
  } = order.isGreaterThanOrEqualTo(Order)
@@ -1211,7 +1236,8 @@ export const isGreaterThanOrEqualTo: {
1211
1236
  /**
1212
1237
  * Checks if a `BigDecimal` is between a `minimum` and `maximum` value (inclusive).
1213
1238
  *
1214
- * @example
1239
+ * **Example** (Checking decimal ranges)
1240
+ *
1215
1241
  * ```ts
1216
1242
  * import { BigDecimal } from "effect"
1217
1243
  * import * as assert from "node:assert"
@@ -1226,14 +1252,15 @@ export const isGreaterThanOrEqualTo: {
1226
1252
  * assert.deepStrictEqual(between(BigDecimal.fromStringUnsafe("6")), false)
1227
1253
  * ```
1228
1254
  *
1229
- * @since 2.0.0
1230
1255
  * @category predicates
1256
+ * @since 2.0.0
1231
1257
  */
1232
1258
  export const between: {
1233
1259
  /**
1234
1260
  * Checks if a `BigDecimal` is between a `minimum` and `maximum` value (inclusive).
1235
1261
  *
1236
- * @example
1262
+ * **Example** (Checking decimal ranges)
1263
+ *
1237
1264
  * ```ts
1238
1265
  * import { BigDecimal } from "effect"
1239
1266
  * import * as assert from "node:assert"
@@ -1248,8 +1275,8 @@ export const between: {
1248
1275
  * assert.deepStrictEqual(between(BigDecimal.fromStringUnsafe("6")), false)
1249
1276
  * ```
1250
1277
  *
1251
- * @since 2.0.0
1252
1278
  * @category predicates
1279
+ * @since 2.0.0
1253
1280
  */
1254
1281
  (
1255
1282
  options: {
@@ -1260,7 +1287,8 @@ export const between: {
1260
1287
  /**
1261
1288
  * Checks if a `BigDecimal` is between a `minimum` and `maximum` value (inclusive).
1262
1289
  *
1263
- * @example
1290
+ * **Example** (Checking decimal ranges)
1291
+ *
1264
1292
  * ```ts
1265
1293
  * import { BigDecimal } from "effect"
1266
1294
  * import * as assert from "node:assert"
@@ -1275,8 +1303,8 @@ export const between: {
1275
1303
  * assert.deepStrictEqual(between(BigDecimal.fromStringUnsafe("6")), false)
1276
1304
  * ```
1277
1305
  *
1278
- * @since 2.0.0
1279
1306
  * @category predicates
1307
+ * @since 2.0.0
1280
1308
  */
1281
1309
  (
1282
1310
  self: BigDecimal,
@@ -1294,7 +1322,8 @@ export const between: {
1294
1322
  * - If the `BigDecimal` is greater than the `maximum` value, the function returns the `maximum` value.
1295
1323
  * - Otherwise, it returns the original `BigDecimal`.
1296
1324
  *
1297
- * @example
1325
+ * **Example** (Clamping decimals to a range)
1326
+ *
1298
1327
  * ```ts
1299
1328
  * import { BigDecimal } from "effect"
1300
1329
  * import * as assert from "node:assert"
@@ -1318,8 +1347,8 @@ export const between: {
1318
1347
  * )
1319
1348
  * ```
1320
1349
  *
1321
- * @since 2.0.0
1322
1350
  * @category math
1351
+ * @since 2.0.0
1323
1352
  */
1324
1353
  export const clamp: {
1325
1354
  /**
@@ -1329,7 +1358,8 @@ export const clamp: {
1329
1358
  * - If the `BigDecimal` is greater than the `maximum` value, the function returns the `maximum` value.
1330
1359
  * - Otherwise, it returns the original `BigDecimal`.
1331
1360
  *
1332
- * @example
1361
+ * **Example** (Clamping decimals to a range)
1362
+ *
1333
1363
  * ```ts
1334
1364
  * import { BigDecimal } from "effect"
1335
1365
  * import * as assert from "node:assert"
@@ -1353,8 +1383,8 @@ export const clamp: {
1353
1383
  * )
1354
1384
  * ```
1355
1385
  *
1356
- * @since 2.0.0
1357
1386
  * @category math
1387
+ * @since 2.0.0
1358
1388
  */
1359
1389
  (
1360
1390
  options: {
@@ -1369,7 +1399,8 @@ export const clamp: {
1369
1399
  * - If the `BigDecimal` is greater than the `maximum` value, the function returns the `maximum` value.
1370
1400
  * - Otherwise, it returns the original `BigDecimal`.
1371
1401
  *
1372
- * @example
1402
+ * **Example** (Clamping decimals to a range)
1403
+ *
1373
1404
  * ```ts
1374
1405
  * import { BigDecimal } from "effect"
1375
1406
  * import * as assert from "node:assert"
@@ -1393,8 +1424,8 @@ export const clamp: {
1393
1424
  * )
1394
1425
  * ```
1395
1426
  *
1396
- * @since 2.0.0
1397
1427
  * @category math
1428
+ * @since 2.0.0
1398
1429
  */
1399
1430
  (
1400
1431
  self: BigDecimal,
@@ -1408,55 +1439,58 @@ export const clamp: {
1408
1439
  /**
1409
1440
  * Returns the minimum between two `BigDecimal`s.
1410
1441
  *
1411
- * @example
1442
+ * **Example** (Selecting the smaller decimal)
1443
+ *
1412
1444
  * ```ts
1413
- * import { fromStringUnsafe, min } from "effect/BigDecimal"
1445
+ * import { BigDecimal } from "effect"
1414
1446
  * import * as assert from "node:assert"
1415
1447
  *
1416
1448
  * assert.deepStrictEqual(
1417
- * min(fromStringUnsafe("2"), fromStringUnsafe("3")),
1418
- * fromStringUnsafe("2")
1449
+ * BigDecimal.min(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1450
+ * BigDecimal.fromStringUnsafe("2")
1419
1451
  * )
1420
1452
  * ```
1421
1453
  *
1422
- * @since 2.0.0
1423
1454
  * @category math
1455
+ * @since 2.0.0
1424
1456
  */
1425
1457
  export const min: {
1426
1458
  /**
1427
1459
  * Returns the minimum between two `BigDecimal`s.
1428
1460
  *
1429
- * @example
1461
+ * **Example** (Selecting the smaller decimal)
1462
+ *
1430
1463
  * ```ts
1431
- * import { fromStringUnsafe, min } from "effect/BigDecimal"
1464
+ * import { BigDecimal } from "effect"
1432
1465
  * import * as assert from "node:assert"
1433
1466
  *
1434
1467
  * assert.deepStrictEqual(
1435
- * min(fromStringUnsafe("2"), fromStringUnsafe("3")),
1436
- * fromStringUnsafe("2")
1468
+ * BigDecimal.min(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1469
+ * BigDecimal.fromStringUnsafe("2")
1437
1470
  * )
1438
1471
  * ```
1439
1472
  *
1440
- * @since 2.0.0
1441
1473
  * @category math
1474
+ * @since 2.0.0
1442
1475
  */
1443
1476
  (that: BigDecimal): (self: BigDecimal) => BigDecimal
1444
1477
  /**
1445
1478
  * Returns the minimum between two `BigDecimal`s.
1446
1479
  *
1447
- * @example
1480
+ * **Example** (Selecting the smaller decimal)
1481
+ *
1448
1482
  * ```ts
1449
- * import { fromStringUnsafe, min } from "effect/BigDecimal"
1483
+ * import { BigDecimal } from "effect"
1450
1484
  * import * as assert from "node:assert"
1451
1485
  *
1452
1486
  * assert.deepStrictEqual(
1453
- * min(fromStringUnsafe("2"), fromStringUnsafe("3")),
1454
- * fromStringUnsafe("2")
1487
+ * BigDecimal.min(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1488
+ * BigDecimal.fromStringUnsafe("2")
1455
1489
  * )
1456
1490
  * ```
1457
1491
  *
1458
- * @since 2.0.0
1459
1492
  * @category math
1493
+ * @since 2.0.0
1460
1494
  */
1461
1495
  (self: BigDecimal, that: BigDecimal): BigDecimal
1462
1496
  } = order.min(Order)
@@ -1464,55 +1498,58 @@ export const min: {
1464
1498
  /**
1465
1499
  * Returns the maximum between two `BigDecimal`s.
1466
1500
  *
1467
- * @example
1501
+ * **Example** (Selecting the larger decimal)
1502
+ *
1468
1503
  * ```ts
1469
- * import { fromStringUnsafe, max } from "effect/BigDecimal"
1504
+ * import { BigDecimal } from "effect"
1470
1505
  * import * as assert from "node:assert"
1471
1506
  *
1472
1507
  * assert.deepStrictEqual(
1473
- * max(fromStringUnsafe("2"), fromStringUnsafe("3")),
1474
- * fromStringUnsafe("3")
1508
+ * BigDecimal.max(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1509
+ * BigDecimal.fromStringUnsafe("3")
1475
1510
  * )
1476
1511
  * ```
1477
1512
  *
1478
- * @since 2.0.0
1479
1513
  * @category math
1514
+ * @since 2.0.0
1480
1515
  */
1481
1516
  export const max: {
1482
1517
  /**
1483
1518
  * Returns the maximum between two `BigDecimal`s.
1484
1519
  *
1485
- * @example
1520
+ * **Example** (Selecting the larger decimal)
1521
+ *
1486
1522
  * ```ts
1487
- * import { fromStringUnsafe, max } from "effect/BigDecimal"
1523
+ * import { BigDecimal } from "effect"
1488
1524
  * import * as assert from "node:assert"
1489
1525
  *
1490
1526
  * assert.deepStrictEqual(
1491
- * max(fromStringUnsafe("2"), fromStringUnsafe("3")),
1492
- * fromStringUnsafe("3")
1527
+ * BigDecimal.max(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1528
+ * BigDecimal.fromStringUnsafe("3")
1493
1529
  * )
1494
1530
  * ```
1495
1531
  *
1496
- * @since 2.0.0
1497
1532
  * @category math
1533
+ * @since 2.0.0
1498
1534
  */
1499
1535
  (that: BigDecimal): (self: BigDecimal) => BigDecimal
1500
1536
  /**
1501
1537
  * Returns the maximum between two `BigDecimal`s.
1502
1538
  *
1503
- * @example
1539
+ * **Example** (Selecting the larger decimal)
1540
+ *
1504
1541
  * ```ts
1505
- * import { fromStringUnsafe, max } from "effect/BigDecimal"
1542
+ * import { BigDecimal } from "effect"
1506
1543
  * import * as assert from "node:assert"
1507
1544
  *
1508
1545
  * assert.deepStrictEqual(
1509
- * max(fromStringUnsafe("2"), fromStringUnsafe("3")),
1510
- * fromStringUnsafe("3")
1546
+ * BigDecimal.max(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("3")),
1547
+ * BigDecimal.fromStringUnsafe("3")
1511
1548
  * )
1512
1549
  * ```
1513
1550
  *
1514
- * @since 2.0.0
1515
1551
  * @category math
1552
+ * @since 2.0.0
1516
1553
  */
1517
1554
  (self: BigDecimal, that: BigDecimal): BigDecimal
1518
1555
  } = order.max(Order)
@@ -1520,53 +1557,56 @@ export const max: {
1520
1557
  /**
1521
1558
  * Determines the sign of a given `BigDecimal`.
1522
1559
  *
1523
- * @example
1560
+ * **Example** (Reading decimal signs)
1561
+ *
1524
1562
  * ```ts
1525
- * import { fromStringUnsafe, sign } from "effect/BigDecimal"
1563
+ * import { BigDecimal } from "effect"
1526
1564
  * import * as assert from "node:assert"
1527
1565
  *
1528
- * assert.deepStrictEqual(sign(fromStringUnsafe("-5")), -1)
1529
- * assert.deepStrictEqual(sign(fromStringUnsafe("0")), 0)
1530
- * assert.deepStrictEqual(sign(fromStringUnsafe("5")), 1)
1566
+ * assert.deepStrictEqual(BigDecimal.sign(BigDecimal.fromStringUnsafe("-5")), -1)
1567
+ * assert.deepStrictEqual(BigDecimal.sign(BigDecimal.fromStringUnsafe("0")), 0)
1568
+ * assert.deepStrictEqual(BigDecimal.sign(BigDecimal.fromStringUnsafe("5")), 1)
1531
1569
  * ```
1532
1570
  *
1533
- * @since 2.0.0
1534
1571
  * @category math
1572
+ * @since 2.0.0
1535
1573
  */
1536
1574
  export const sign = (n: BigDecimal): Ordering => n.value === bigint0 ? 0 : n.value < bigint0 ? -1 : 1
1537
1575
 
1538
1576
  /**
1539
1577
  * Determines the absolute value of a given `BigDecimal`.
1540
1578
  *
1541
- * @example
1579
+ * **Example** (Calculating absolute values)
1580
+ *
1542
1581
  * ```ts
1543
- * import { abs, fromStringUnsafe } from "effect/BigDecimal"
1582
+ * import { BigDecimal } from "effect"
1544
1583
  * import * as assert from "node:assert"
1545
1584
  *
1546
- * assert.deepStrictEqual(abs(fromStringUnsafe("-5")), fromStringUnsafe("5"))
1547
- * assert.deepStrictEqual(abs(fromStringUnsafe("0")), fromStringUnsafe("0"))
1548
- * assert.deepStrictEqual(abs(fromStringUnsafe("5")), fromStringUnsafe("5"))
1585
+ * assert.deepStrictEqual(BigDecimal.abs(BigDecimal.fromStringUnsafe("-5")), BigDecimal.fromStringUnsafe("5"))
1586
+ * assert.deepStrictEqual(BigDecimal.abs(BigDecimal.fromStringUnsafe("0")), BigDecimal.fromStringUnsafe("0"))
1587
+ * assert.deepStrictEqual(BigDecimal.abs(BigDecimal.fromStringUnsafe("5")), BigDecimal.fromStringUnsafe("5"))
1549
1588
  * ```
1550
1589
  *
1551
- * @since 2.0.0
1552
1590
  * @category math
1591
+ * @since 2.0.0
1553
1592
  */
1554
1593
  export const abs = (n: BigDecimal): BigDecimal => n.value < bigint0 ? make(-n.value, n.scale) : n
1555
1594
 
1556
1595
  /**
1557
1596
  * Provides a negate operation on `BigDecimal`s.
1558
1597
  *
1559
- * @example
1598
+ * **Example** (Negating decimals)
1599
+ *
1560
1600
  * ```ts
1561
- * import { fromStringUnsafe, negate } from "effect/BigDecimal"
1601
+ * import { BigDecimal } from "effect"
1562
1602
  * import * as assert from "node:assert"
1563
1603
  *
1564
- * assert.deepStrictEqual(negate(fromStringUnsafe("3")), fromStringUnsafe("-3"))
1565
- * assert.deepStrictEqual(negate(fromStringUnsafe("-6")), fromStringUnsafe("6"))
1604
+ * assert.deepStrictEqual(BigDecimal.negate(BigDecimal.fromStringUnsafe("3")), BigDecimal.fromStringUnsafe("-3"))
1605
+ * assert.deepStrictEqual(BigDecimal.negate(BigDecimal.fromStringUnsafe("-6")), BigDecimal.fromStringUnsafe("6"))
1566
1606
  * ```
1567
1607
  *
1568
- * @since 2.0.0
1569
1608
  * @category math
1609
+ * @since 2.0.0
1570
1610
  */
1571
1611
  export const negate = (n: BigDecimal): BigDecimal => make(-n.value, n.scale)
1572
1612
 
@@ -1575,7 +1615,8 @@ export const negate = (n: BigDecimal): BigDecimal => make(-n.value, n.scale)
1575
1615
  *
1576
1616
  * If the divisor is `0`, the result will be `Option.none()`.
1577
1617
  *
1578
- * @example
1618
+ * **Example** (Computing remainders safely)
1619
+ *
1579
1620
  * ```ts
1580
1621
  * import { BigDecimal, Option } from "effect"
1581
1622
  * import * as assert from "node:assert"
@@ -1603,8 +1644,8 @@ export const negate = (n: BigDecimal): BigDecimal => make(-n.value, n.scale)
1603
1644
  * )
1604
1645
  * ```
1605
1646
  *
1606
- * @since 2.0.0
1607
1647
  * @category math
1648
+ * @since 2.0.0
1608
1649
  */
1609
1650
  export const remainder: {
1610
1651
  /**
@@ -1612,7 +1653,8 @@ export const remainder: {
1612
1653
  *
1613
1654
  * If the divisor is `0`, the result will be `Option.none()`.
1614
1655
  *
1615
- * @example
1656
+ * **Example** (Computing remainders safely)
1657
+ *
1616
1658
  * ```ts
1617
1659
  * import { BigDecimal, Option } from "effect"
1618
1660
  * import * as assert from "node:assert"
@@ -1640,8 +1682,8 @@ export const remainder: {
1640
1682
  * )
1641
1683
  * ```
1642
1684
  *
1643
- * @since 2.0.0
1644
1685
  * @category math
1686
+ * @since 2.0.0
1645
1687
  */
1646
1688
  (divisor: BigDecimal): (self: BigDecimal) => Option.Option<BigDecimal>
1647
1689
  /**
@@ -1649,7 +1691,8 @@ export const remainder: {
1649
1691
  *
1650
1692
  * If the divisor is `0`, the result will be `Option.none()`.
1651
1693
  *
1652
- * @example
1694
+ * **Example** (Computing remainders safely)
1695
+ *
1653
1696
  * ```ts
1654
1697
  * import { BigDecimal, Option } from "effect"
1655
1698
  * import * as assert from "node:assert"
@@ -1677,8 +1720,8 @@ export const remainder: {
1677
1720
  * )
1678
1721
  * ```
1679
1722
  *
1680
- * @since 2.0.0
1681
1723
  * @category math
1724
+ * @since 2.0.0
1682
1725
  */
1683
1726
  (self: BigDecimal, divisor: BigDecimal): Option.Option<BigDecimal>
1684
1727
  } = dual(2, (self: BigDecimal, divisor: BigDecimal): Option.Option<BigDecimal> => {
@@ -1695,27 +1738,28 @@ export const remainder: {
1695
1738
  *
1696
1739
  * Throws a `RangeError` if the divisor is `0`.
1697
1740
  *
1698
- * @example
1741
+ * **Example** (Computing remainders unsafely)
1742
+ *
1699
1743
  * ```ts
1700
- * import { fromStringUnsafe, remainderUnsafe } from "effect/BigDecimal"
1744
+ * import { BigDecimal } from "effect"
1701
1745
  * import * as assert from "node:assert"
1702
1746
  *
1703
1747
  * assert.deepStrictEqual(
1704
- * remainderUnsafe(fromStringUnsafe("2"), fromStringUnsafe("2")),
1705
- * fromStringUnsafe("0")
1748
+ * BigDecimal.remainderUnsafe(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("2")),
1749
+ * BigDecimal.fromStringUnsafe("0")
1706
1750
  * )
1707
1751
  * assert.deepStrictEqual(
1708
- * remainderUnsafe(fromStringUnsafe("3"), fromStringUnsafe("2")),
1709
- * fromStringUnsafe("1")
1752
+ * BigDecimal.remainderUnsafe(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("2")),
1753
+ * BigDecimal.fromStringUnsafe("1")
1710
1754
  * )
1711
1755
  * assert.deepStrictEqual(
1712
- * remainderUnsafe(fromStringUnsafe("-4"), fromStringUnsafe("2")),
1713
- * fromStringUnsafe("0")
1756
+ * BigDecimal.remainderUnsafe(BigDecimal.fromStringUnsafe("-4"), BigDecimal.fromStringUnsafe("2")),
1757
+ * BigDecimal.fromStringUnsafe("0")
1714
1758
  * )
1715
1759
  * ```
1716
1760
  *
1717
- * @since 2.0.0
1718
1761
  * @category math
1762
+ * @since 4.0.0
1719
1763
  */
1720
1764
  export const remainderUnsafe: {
1721
1765
  /**
@@ -1723,27 +1767,28 @@ export const remainderUnsafe: {
1723
1767
  *
1724
1768
  * Throws a `RangeError` if the divisor is `0`.
1725
1769
  *
1726
- * @example
1770
+ * **Example** (Computing remainders unsafely)
1771
+ *
1727
1772
  * ```ts
1728
- * import { fromStringUnsafe, remainderUnsafe } from "effect/BigDecimal"
1773
+ * import { BigDecimal } from "effect"
1729
1774
  * import * as assert from "node:assert"
1730
1775
  *
1731
1776
  * assert.deepStrictEqual(
1732
- * remainderUnsafe(fromStringUnsafe("2"), fromStringUnsafe("2")),
1733
- * fromStringUnsafe("0")
1777
+ * BigDecimal.remainderUnsafe(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("2")),
1778
+ * BigDecimal.fromStringUnsafe("0")
1734
1779
  * )
1735
1780
  * assert.deepStrictEqual(
1736
- * remainderUnsafe(fromStringUnsafe("3"), fromStringUnsafe("2")),
1737
- * fromStringUnsafe("1")
1781
+ * BigDecimal.remainderUnsafe(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("2")),
1782
+ * BigDecimal.fromStringUnsafe("1")
1738
1783
  * )
1739
1784
  * assert.deepStrictEqual(
1740
- * remainderUnsafe(fromStringUnsafe("-4"), fromStringUnsafe("2")),
1741
- * fromStringUnsafe("0")
1785
+ * BigDecimal.remainderUnsafe(BigDecimal.fromStringUnsafe("-4"), BigDecimal.fromStringUnsafe("2")),
1786
+ * BigDecimal.fromStringUnsafe("0")
1742
1787
  * )
1743
1788
  * ```
1744
1789
  *
1745
- * @since 2.0.0
1746
1790
  * @category math
1791
+ * @since 4.0.0
1747
1792
  */
1748
1793
  (divisor: BigDecimal): (self: BigDecimal) => BigDecimal
1749
1794
  /**
@@ -1751,27 +1796,28 @@ export const remainderUnsafe: {
1751
1796
  *
1752
1797
  * Throws a `RangeError` if the divisor is `0`.
1753
1798
  *
1754
- * @example
1799
+ * **Example** (Computing remainders unsafely)
1800
+ *
1755
1801
  * ```ts
1756
- * import { fromStringUnsafe, remainderUnsafe } from "effect/BigDecimal"
1802
+ * import { BigDecimal } from "effect"
1757
1803
  * import * as assert from "node:assert"
1758
1804
  *
1759
1805
  * assert.deepStrictEqual(
1760
- * remainderUnsafe(fromStringUnsafe("2"), fromStringUnsafe("2")),
1761
- * fromStringUnsafe("0")
1806
+ * BigDecimal.remainderUnsafe(BigDecimal.fromStringUnsafe("2"), BigDecimal.fromStringUnsafe("2")),
1807
+ * BigDecimal.fromStringUnsafe("0")
1762
1808
  * )
1763
1809
  * assert.deepStrictEqual(
1764
- * remainderUnsafe(fromStringUnsafe("3"), fromStringUnsafe("2")),
1765
- * fromStringUnsafe("1")
1810
+ * BigDecimal.remainderUnsafe(BigDecimal.fromStringUnsafe("3"), BigDecimal.fromStringUnsafe("2")),
1811
+ * BigDecimal.fromStringUnsafe("1")
1766
1812
  * )
1767
1813
  * assert.deepStrictEqual(
1768
- * remainderUnsafe(fromStringUnsafe("-4"), fromStringUnsafe("2")),
1769
- * fromStringUnsafe("0")
1814
+ * BigDecimal.remainderUnsafe(BigDecimal.fromStringUnsafe("-4"), BigDecimal.fromStringUnsafe("2")),
1815
+ * BigDecimal.fromStringUnsafe("0")
1770
1816
  * )
1771
1817
  * ```
1772
1818
  *
1773
- * @since 2.0.0
1774
1819
  * @category math
1820
+ * @since 4.0.0
1775
1821
  */
1776
1822
  (self: BigDecimal, divisor: BigDecimal): BigDecimal
1777
1823
  } = dual(2, (self: BigDecimal, divisor: BigDecimal): BigDecimal => {
@@ -1786,13 +1832,14 @@ export const remainderUnsafe: {
1786
1832
  /**
1787
1833
  * Provides an `Equivalence` instance for `BigDecimal` that determines equality between BigDecimal values.
1788
1834
  *
1789
- * @example
1835
+ * **Example** (Checking decimal equivalence)
1836
+ *
1790
1837
  * ```ts
1791
1838
  * import { BigDecimal } from "effect"
1792
1839
  *
1793
- * const a = BigDecimal.fromNumberUnsafe(1.50)
1794
- * const b = BigDecimal.fromNumberUnsafe(1.5)
1795
- * const c = BigDecimal.fromNumberUnsafe(2.0)
1840
+ * const a = BigDecimal.fromStringUnsafe("1.50")
1841
+ * const b = BigDecimal.fromStringUnsafe("1.5")
1842
+ * const c = BigDecimal.fromStringUnsafe("2.0")
1796
1843
  *
1797
1844
  * console.log(BigDecimal.Equivalence(a, b)) // true (1.50 === 1.5)
1798
1845
  * console.log(BigDecimal.Equivalence(a, c)) // false (1.50 !== 2.0)
@@ -1816,58 +1863,61 @@ export const Equivalence: Equ.Equivalence<BigDecimal> = Equ.make((self, that) =>
1816
1863
  /**
1817
1864
  * Checks if two `BigDecimal`s are equal.
1818
1865
  *
1819
- * @example
1866
+ * **Example** (Checking decimal equality)
1867
+ *
1820
1868
  * ```ts
1821
1869
  * import { BigDecimal } from "effect"
1822
1870
  *
1823
- * const a = BigDecimal.fromNumberUnsafe(1.5)
1824
- * const b = BigDecimal.fromNumberUnsafe(1.50)
1825
- * const c = BigDecimal.fromNumberUnsafe(2.0)
1871
+ * const a = BigDecimal.fromStringUnsafe("1.5")
1872
+ * const b = BigDecimal.fromStringUnsafe("1.50")
1873
+ * const c = BigDecimal.fromStringUnsafe("2.0")
1826
1874
  *
1827
1875
  * console.log(BigDecimal.equals(a, b)) // true
1828
1876
  * console.log(BigDecimal.equals(a, c)) // false
1829
1877
  * ```
1830
1878
  *
1831
- * @since 2.0.0
1832
1879
  * @category predicates
1880
+ * @since 2.0.0
1833
1881
  */
1834
1882
  export const equals: {
1835
1883
  /**
1836
1884
  * Checks if two `BigDecimal`s are equal.
1837
1885
  *
1838
- * @example
1886
+ * **Example** (Checking decimal equality)
1887
+ *
1839
1888
  * ```ts
1840
1889
  * import { BigDecimal } from "effect"
1841
1890
  *
1842
- * const a = BigDecimal.fromNumberUnsafe(1.5)
1843
- * const b = BigDecimal.fromNumberUnsafe(1.50)
1844
- * const c = BigDecimal.fromNumberUnsafe(2.0)
1891
+ * const a = BigDecimal.fromStringUnsafe("1.5")
1892
+ * const b = BigDecimal.fromStringUnsafe("1.50")
1893
+ * const c = BigDecimal.fromStringUnsafe("2.0")
1845
1894
  *
1846
1895
  * console.log(BigDecimal.equals(a, b)) // true
1847
1896
  * console.log(BigDecimal.equals(a, c)) // false
1848
1897
  * ```
1849
1898
  *
1850
- * @since 2.0.0
1851
1899
  * @category predicates
1900
+ * @since 2.0.0
1852
1901
  */
1853
1902
  (that: BigDecimal): (self: BigDecimal) => boolean
1854
1903
  /**
1855
1904
  * Checks if two `BigDecimal`s are equal.
1856
1905
  *
1857
- * @example
1906
+ * **Example** (Checking decimal equality)
1907
+ *
1858
1908
  * ```ts
1859
1909
  * import { BigDecimal } from "effect"
1860
1910
  *
1861
- * const a = BigDecimal.fromNumberUnsafe(1.5)
1862
- * const b = BigDecimal.fromNumberUnsafe(1.50)
1863
- * const c = BigDecimal.fromNumberUnsafe(2.0)
1911
+ * const a = BigDecimal.fromStringUnsafe("1.5")
1912
+ * const b = BigDecimal.fromStringUnsafe("1.50")
1913
+ * const c = BigDecimal.fromStringUnsafe("2.0")
1864
1914
  *
1865
1915
  * console.log(BigDecimal.equals(a, b)) // true
1866
1916
  * console.log(BigDecimal.equals(a, c)) // false
1867
1917
  * ```
1868
1918
  *
1869
- * @since 2.0.0
1870
1919
  * @category predicates
1920
+ * @since 2.0.0
1871
1921
  */
1872
1922
  (self: BigDecimal, that: BigDecimal): boolean
1873
1923
  } = dual(2, (self: BigDecimal, that: BigDecimal): boolean => Equivalence(self, that))
@@ -1875,7 +1925,8 @@ export const equals: {
1875
1925
  /**
1876
1926
  * Creates a `BigDecimal` from a `bigint` value.
1877
1927
  *
1878
- * @example
1928
+ * **Example** (Creating decimals from bigint)
1929
+ *
1879
1930
  * ```ts
1880
1931
  * import { BigDecimal } from "effect"
1881
1932
  *
@@ -1886,8 +1937,8 @@ export const equals: {
1886
1937
  * console.log(BigDecimal.format(largeBigInt)) // "9007199254740991"
1887
1938
  * ```
1888
1939
  *
1889
- * @since 2.0.0
1890
1940
  * @category constructors
1941
+ * @since 2.0.0
1891
1942
  */
1892
1943
  export const fromBigInt = (n: bigint): BigDecimal => make(n, 0)
1893
1944
 
@@ -1899,17 +1950,18 @@ export const fromBigInt = (n: bigint): BigDecimal => make(n, 0)
1899
1950
  *
1900
1951
  * Throws a `RangeError` if the number is not finite (`NaN`, `+Infinity` or `-Infinity`).
1901
1952
  *
1902
- * @example
1953
+ * **Example** (Creating decimals from finite numbers)
1954
+ *
1903
1955
  * ```ts
1904
- * import { fromNumberUnsafe, make } from "effect/BigDecimal"
1956
+ * import { BigDecimal } from "effect"
1905
1957
  * import * as assert from "node:assert"
1906
1958
  *
1907
- * assert.deepStrictEqual(fromNumberUnsafe(123), make(123n, 0))
1908
- * assert.deepStrictEqual(fromNumberUnsafe(123.456), make(123456n, 3))
1959
+ * assert.deepStrictEqual(BigDecimal.fromNumberUnsafe(123), BigDecimal.make(123n, 0))
1960
+ * assert.deepStrictEqual(BigDecimal.fromNumberUnsafe(123.456), BigDecimal.make(123456n, 3))
1909
1961
  * ```
1910
1962
  *
1911
- * @since 4.0.0
1912
1963
  * @category constructors
1964
+ * @since 4.0.0
1913
1965
  */
1914
1966
  export const fromNumberUnsafe = (n: number): BigDecimal => {
1915
1967
  return Option.getOrThrowWith(fromNumber(n), () => new RangeError(`Number must be finite, got ${n}`))
@@ -1923,7 +1975,8 @@ export const fromNumberUnsafe = (n: number): BigDecimal => {
1923
1975
  *
1924
1976
  * Returns `Option.none()` for `NaN`, `+Infinity` or `-Infinity`.
1925
1977
  *
1926
- * @example
1978
+ * **Example** (Creating decimals from numbers safely)
1979
+ *
1927
1980
  * ```ts
1928
1981
  * import { BigDecimal, Option } from "effect"
1929
1982
  * import * as assert from "node:assert"
@@ -1936,8 +1989,8 @@ export const fromNumberUnsafe = (n: number): BigDecimal => {
1936
1989
  * assert.deepStrictEqual(BigDecimal.fromNumber(Infinity), Option.none())
1937
1990
  * ```
1938
1991
  *
1939
- * @since 4.0.0
1940
1992
  * @category constructors
1993
+ * @since 2.0.0
1941
1994
  */
1942
1995
  export const fromNumber = (n: number): Option.Option<BigDecimal> => {
1943
1996
  if (!Number.isFinite(n)) {
@@ -1954,9 +2007,14 @@ export const fromNumber = (n: number): Option.Option<BigDecimal> => {
1954
2007
  }
1955
2008
 
1956
2009
  /**
1957
- * Parses a numerical `string` into a `BigDecimal`.
2010
+ * Safely parses a decimal string into a `BigDecimal`.
2011
+ *
2012
+ * Returns `Option.some` for valid decimal or exponent notation and
2013
+ * `Option.none` when the string cannot be parsed or would produce an unsafe
2014
+ * scale. The empty string parses as zero.
2015
+ *
2016
+ * **Example** (Parsing decimal strings safely)
1958
2017
  *
1959
- * @example
1960
2018
  * ```ts
1961
2019
  * import { BigDecimal, Option } from "effect"
1962
2020
  * import * as assert from "node:assert"
@@ -1969,8 +2027,8 @@ export const fromNumber = (n: number): Option.Option<BigDecimal> => {
1969
2027
  * assert.deepStrictEqual(BigDecimal.fromString("123.abc"), Option.none())
1970
2028
  * ```
1971
2029
  *
1972
- * @since 2.0.0
1973
2030
  * @category constructors
2031
+ * @since 2.0.0
1974
2032
  */
1975
2033
  export const fromString = (s: string): Option.Option<BigDecimal> => {
1976
2034
  if (s === "") {
@@ -2018,43 +2076,50 @@ export const fromString = (s: string): Option.Option<BigDecimal> => {
2018
2076
  }
2019
2077
 
2020
2078
  /**
2021
- * Parses a numerical `string` into a `BigDecimal`.
2079
+ * Parses a decimal string into a `BigDecimal`, throwing if the string is
2080
+ * invalid.
2081
+ *
2082
+ * Accepts the same syntax as `fromString`. Use `fromString` when invalid input
2083
+ * should be represented as `Option.none` instead of throwing.
2084
+ *
2085
+ * **Example** (Parsing decimal strings unsafely)
2022
2086
  *
2023
- * @example
2024
2087
  * ```ts
2025
- * import { fromStringUnsafe, make } from "effect/BigDecimal"
2088
+ * import { BigDecimal } from "effect"
2026
2089
  * import * as assert from "node:assert"
2027
2090
  *
2028
- * assert.deepStrictEqual(fromStringUnsafe("123"), make(123n, 0))
2029
- * assert.deepStrictEqual(fromStringUnsafe("123.456"), make(123456n, 3))
2030
- * assert.throws(() => fromStringUnsafe("123.abc"))
2091
+ * assert.deepStrictEqual(BigDecimal.fromStringUnsafe("123"), BigDecimal.make(123n, 0))
2092
+ * assert.deepStrictEqual(BigDecimal.fromStringUnsafe("123.456"), BigDecimal.make(123456n, 3))
2093
+ * assert.throws(() => BigDecimal.fromStringUnsafe("123.abc"))
2031
2094
  * ```
2032
2095
  *
2033
- * @since 2.0.0
2034
2096
  * @category constructors
2097
+ * @since 4.0.0
2035
2098
  */
2036
2099
  export const fromStringUnsafe = (s: string): BigDecimal => {
2037
2100
  return Option.getOrThrowWith(fromString(s), () => new Error(`Invalid numerical string: ${s}`))
2038
2101
  }
2039
2102
 
2040
2103
  /**
2041
- * Formats a given `BigDecimal` as a `string`.
2104
+ * Formats a `BigDecimal` as a string.
2042
2105
  *
2043
- * If the scale of the `BigDecimal` is greater than or equal to 16, the `BigDecimal` will
2044
- * be formatted in scientific notation.
2106
+ * The value is normalized before formatting. Scientific notation is used when
2107
+ * the absolute value of the normalized scale is at least `16`; otherwise plain
2108
+ * decimal notation is used.
2109
+ *
2110
+ * **Example** (Formatting decimals)
2045
2111
  *
2046
- * @example
2047
2112
  * ```ts
2048
- * import { format, fromStringUnsafe } from "effect/BigDecimal"
2113
+ * import { BigDecimal } from "effect"
2049
2114
  * import * as assert from "node:assert"
2050
2115
  *
2051
- * assert.deepStrictEqual(format(fromStringUnsafe("-5")), "-5")
2052
- * assert.deepStrictEqual(format(fromStringUnsafe("123.456")), "123.456")
2053
- * assert.deepStrictEqual(format(fromStringUnsafe("-0.00000123")), "-0.00000123")
2116
+ * assert.deepStrictEqual(BigDecimal.format(BigDecimal.fromStringUnsafe("-5")), "-5")
2117
+ * assert.deepStrictEqual(BigDecimal.format(BigDecimal.fromStringUnsafe("123.456")), "123.456")
2118
+ * assert.deepStrictEqual(BigDecimal.format(BigDecimal.fromStringUnsafe("-0.00000123")), "-0.00000123")
2054
2119
  * ```
2055
2120
  *
2121
+ * @category converting
2056
2122
  * @since 2.0.0
2057
- * @category conversions
2058
2123
  */
2059
2124
  export const format = (n: BigDecimal): string => {
2060
2125
  const normalized = normalize(n)
@@ -2090,16 +2155,17 @@ export const format = (n: BigDecimal): string => {
2090
2155
  /**
2091
2156
  * Formats a given `BigDecimal` as a `string` in scientific notation.
2092
2157
  *
2093
- * @example
2158
+ * **Example** (Formatting decimals exponentially)
2159
+ *
2094
2160
  * ```ts
2095
- * import { make, toExponential } from "effect/BigDecimal"
2161
+ * import { BigDecimal } from "effect"
2096
2162
  * import * as assert from "node:assert"
2097
2163
  *
2098
- * assert.deepStrictEqual(toExponential(make(123456n, -5)), "1.23456e+10")
2164
+ * assert.deepStrictEqual(BigDecimal.toExponential(BigDecimal.make(123456n, -5)), "1.23456e+10")
2099
2165
  * ```
2100
2166
  *
2101
- * @since 4.0.0
2102
- * @category conversions
2167
+ * @category converting
2168
+ * @since 3.11.0
2103
2169
  */
2104
2170
  export const toExponential = (n: BigDecimal): string => {
2105
2171
  if (isZero(n)) {
@@ -2121,91 +2187,98 @@ export const toExponential = (n: BigDecimal): string => {
2121
2187
  }
2122
2188
 
2123
2189
  /**
2124
- * Converts a `BigDecimal` to a `number`.
2190
+ * Converts a `BigDecimal` to a JavaScript `number`.
2191
+ *
2192
+ * This conversion is unsafe because the result can lose integer or fractional
2193
+ * precision, round to a nearby representable value, or become `Infinity` when
2194
+ * the decimal cannot be represented as a finite JavaScript `number`.
2125
2195
  *
2126
- * This function will produce incorrect results if the `BigDecimal` exceeds the 64-bit range of a `number`.
2196
+ * **Example** (Converting decimals to numbers)
2127
2197
  *
2128
- * @example
2129
2198
  * ```ts
2130
- * import { fromStringUnsafe, toNumberUnsafe } from "effect/BigDecimal"
2199
+ * import { BigDecimal } from "effect"
2131
2200
  * import * as assert from "node:assert"
2132
2201
  *
2133
- * assert.deepStrictEqual(toNumberUnsafe(fromStringUnsafe("123.456")), 123.456)
2202
+ * assert.deepStrictEqual(BigDecimal.toNumberUnsafe(BigDecimal.fromStringUnsafe("123.456")), 123.456)
2134
2203
  * ```
2135
2204
  *
2136
- * @since 2.0.0
2137
- * @category conversions
2205
+ * @category converting
2206
+ * @since 4.0.0
2138
2207
  */
2139
2208
  export const toNumberUnsafe = (n: BigDecimal): number => Number(format(n))
2140
2209
 
2141
2210
  /**
2142
2211
  * Checks if a given `BigDecimal` is an integer.
2143
2212
  *
2144
- * @example
2213
+ * **Example** (Checking integer decimals)
2214
+ *
2145
2215
  * ```ts
2146
- * import { fromStringUnsafe, isInteger } from "effect/BigDecimal"
2216
+ * import { BigDecimal } from "effect"
2147
2217
  * import * as assert from "node:assert"
2148
2218
  *
2149
- * assert.deepStrictEqual(isInteger(fromStringUnsafe("0")), true)
2150
- * assert.deepStrictEqual(isInteger(fromStringUnsafe("1")), true)
2151
- * assert.deepStrictEqual(isInteger(fromStringUnsafe("1.1")), false)
2219
+ * assert.deepStrictEqual(BigDecimal.isInteger(BigDecimal.fromStringUnsafe("0")), true)
2220
+ * assert.deepStrictEqual(BigDecimal.isInteger(BigDecimal.fromStringUnsafe("1")), true)
2221
+ * assert.deepStrictEqual(BigDecimal.isInteger(BigDecimal.fromStringUnsafe("1.1")), false)
2152
2222
  * ```
2153
2223
  *
2154
- * @since 2.0.0
2155
2224
  * @category predicates
2225
+ * @since 2.0.0
2156
2226
  */
2157
2227
  export const isInteger = (n: BigDecimal): boolean => normalize(n).scale <= 0
2158
2228
 
2159
2229
  /**
2160
2230
  * Checks if a given `BigDecimal` is `0`.
2161
2231
  *
2162
- * @example
2232
+ * **Example** (Checking zero decimals)
2233
+ *
2163
2234
  * ```ts
2164
- * import { fromStringUnsafe, isZero } from "effect/BigDecimal"
2235
+ * import { BigDecimal } from "effect"
2165
2236
  * import * as assert from "node:assert"
2166
2237
  *
2167
- * assert.deepStrictEqual(isZero(fromStringUnsafe("0")), true)
2168
- * assert.deepStrictEqual(isZero(fromStringUnsafe("1")), false)
2238
+ * assert.deepStrictEqual(BigDecimal.isZero(BigDecimal.fromStringUnsafe("0")), true)
2239
+ * assert.deepStrictEqual(BigDecimal.isZero(BigDecimal.fromStringUnsafe("1")), false)
2169
2240
  * ```
2170
2241
  *
2171
- * @since 2.0.0
2172
2242
  * @category predicates
2243
+ * @since 2.0.0
2173
2244
  */
2174
2245
  export const isZero = (n: BigDecimal): boolean => n.value === bigint0
2175
2246
 
2176
2247
  /**
2177
2248
  * Checks if a given `BigDecimal` is negative.
2178
2249
  *
2179
- * @example
2250
+ * **Example** (Checking negative decimals)
2251
+ *
2180
2252
  * ```ts
2181
- * import { fromStringUnsafe, isNegative } from "effect/BigDecimal"
2253
+ * import { BigDecimal } from "effect"
2182
2254
  * import * as assert from "node:assert"
2183
2255
  *
2184
- * assert.deepStrictEqual(isNegative(fromStringUnsafe("-1")), true)
2185
- * assert.deepStrictEqual(isNegative(fromStringUnsafe("0")), false)
2186
- * assert.deepStrictEqual(isNegative(fromStringUnsafe("1")), false)
2256
+ * assert.deepStrictEqual(BigDecimal.isNegative(BigDecimal.fromStringUnsafe("-1")), true)
2257
+ * assert.deepStrictEqual(BigDecimal.isNegative(BigDecimal.fromStringUnsafe("0")), false)
2258
+ * assert.deepStrictEqual(BigDecimal.isNegative(BigDecimal.fromStringUnsafe("1")), false)
2187
2259
  * ```
2188
2260
  *
2189
- * @since 2.0.0
2190
2261
  * @category predicates
2262
+ * @since 2.0.0
2191
2263
  */
2192
2264
  export const isNegative = (n: BigDecimal): boolean => n.value < bigint0
2193
2265
 
2194
2266
  /**
2195
2267
  * Checks if a given `BigDecimal` is positive.
2196
2268
  *
2197
- * @example
2269
+ * **Example** (Checking positive decimals)
2270
+ *
2198
2271
  * ```ts
2199
- * import { fromStringUnsafe, isPositive } from "effect/BigDecimal"
2272
+ * import { BigDecimal } from "effect"
2200
2273
  * import * as assert from "node:assert"
2201
2274
  *
2202
- * assert.deepStrictEqual(isPositive(fromStringUnsafe("-1")), false)
2203
- * assert.deepStrictEqual(isPositive(fromStringUnsafe("0")), false)
2204
- * assert.deepStrictEqual(isPositive(fromStringUnsafe("1")), true)
2275
+ * assert.deepStrictEqual(BigDecimal.isPositive(BigDecimal.fromStringUnsafe("-1")), false)
2276
+ * assert.deepStrictEqual(BigDecimal.isPositive(BigDecimal.fromStringUnsafe("0")), false)
2277
+ * assert.deepStrictEqual(BigDecimal.isPositive(BigDecimal.fromStringUnsafe("1")), true)
2205
2278
  * ```
2206
2279
  *
2207
- * @since 2.0.0
2208
2280
  * @category predicates
2281
+ * @since 2.0.0
2209
2282
  */
2210
2283
  export const isPositive = (n: BigDecimal): boolean => n.value > bigint0
2211
2284
 
@@ -2225,8 +2298,8 @@ const isBigDecimalArgs = (args: IArguments) => isBigDecimal(args[0])
2225
2298
  * `half-even`: round to the nearest neighbor; if equidistant round to the neighbor with an even digit
2226
2299
  * `half-odd`: round to the nearest neighbor; if equidistant round to the neighbor with an odd digit
2227
2300
  *
2228
- * @since 4.0.0
2229
2301
  * @category math
2302
+ * @since 3.16.0
2230
2303
  */
2231
2304
  export type RoundingMode =
2232
2305
  | "ceil"
@@ -2243,67 +2316,70 @@ export type RoundingMode =
2243
2316
  /**
2244
2317
  * Rounds a `BigDecimal` at the given scale with the specified rounding mode.
2245
2318
  *
2246
- * @example
2319
+ * **Example** (Rounding decimals)
2320
+ *
2247
2321
  * ```ts
2248
- * import { fromStringUnsafe, round } from "effect/BigDecimal"
2322
+ * import { BigDecimal } from "effect"
2249
2323
  * import * as assert from "node:assert"
2250
2324
  *
2251
2325
  * assert.deepStrictEqual(
2252
- * round(fromStringUnsafe("145"), { mode: "from-zero", scale: -1 }),
2253
- * fromStringUnsafe("150")
2326
+ * BigDecimal.round(BigDecimal.fromStringUnsafe("145"), { mode: "from-zero", scale: -1 }),
2327
+ * BigDecimal.fromStringUnsafe("150")
2254
2328
  * )
2255
2329
  * assert.deepStrictEqual(
2256
- * round(fromStringUnsafe("-14.5")),
2257
- * fromStringUnsafe("-15")
2330
+ * BigDecimal.round(BigDecimal.fromStringUnsafe("-14.5")),
2331
+ * BigDecimal.fromStringUnsafe("-15")
2258
2332
  * )
2259
2333
  * ```
2260
2334
  *
2261
- * @since 4.0.0
2262
2335
  * @category math
2336
+ * @since 3.16.0
2263
2337
  */
2264
2338
  export const round: {
2265
2339
  /**
2266
2340
  * Rounds a `BigDecimal` at the given scale with the specified rounding mode.
2267
2341
  *
2268
- * @example
2342
+ * **Example** (Rounding decimals)
2343
+ *
2269
2344
  * ```ts
2270
- * import { fromStringUnsafe, round } from "effect/BigDecimal"
2345
+ * import { BigDecimal } from "effect"
2271
2346
  * import * as assert from "node:assert"
2272
2347
  *
2273
2348
  * assert.deepStrictEqual(
2274
- * round(fromStringUnsafe("145"), { mode: "from-zero", scale: -1 }),
2275
- * fromStringUnsafe("150")
2349
+ * BigDecimal.round(BigDecimal.fromStringUnsafe("145"), { mode: "from-zero", scale: -1 }),
2350
+ * BigDecimal.fromStringUnsafe("150")
2276
2351
  * )
2277
2352
  * assert.deepStrictEqual(
2278
- * round(fromStringUnsafe("-14.5")),
2279
- * fromStringUnsafe("-15")
2353
+ * BigDecimal.round(BigDecimal.fromStringUnsafe("-14.5")),
2354
+ * BigDecimal.fromStringUnsafe("-15")
2280
2355
  * )
2281
2356
  * ```
2282
2357
  *
2283
- * @since 4.0.0
2284
2358
  * @category math
2359
+ * @since 3.16.0
2285
2360
  */
2286
2361
  (options: { scale?: number; mode?: RoundingMode }): (self: BigDecimal) => BigDecimal
2287
2362
  /**
2288
2363
  * Rounds a `BigDecimal` at the given scale with the specified rounding mode.
2289
2364
  *
2290
- * @example
2365
+ * **Example** (Rounding decimals)
2366
+ *
2291
2367
  * ```ts
2292
- * import { fromStringUnsafe, round } from "effect/BigDecimal"
2368
+ * import { BigDecimal } from "effect"
2293
2369
  * import * as assert from "node:assert"
2294
2370
  *
2295
2371
  * assert.deepStrictEqual(
2296
- * round(fromStringUnsafe("145"), { mode: "from-zero", scale: -1 }),
2297
- * fromStringUnsafe("150")
2372
+ * BigDecimal.round(BigDecimal.fromStringUnsafe("145"), { mode: "from-zero", scale: -1 }),
2373
+ * BigDecimal.fromStringUnsafe("150")
2298
2374
  * )
2299
2375
  * assert.deepStrictEqual(
2300
- * round(fromStringUnsafe("-14.5")),
2301
- * fromStringUnsafe("-15")
2376
+ * BigDecimal.round(BigDecimal.fromStringUnsafe("-14.5")),
2377
+ * BigDecimal.fromStringUnsafe("-15")
2302
2378
  * )
2303
2379
  * ```
2304
2380
  *
2305
- * @since 4.0.0
2306
2381
  * @category math
2382
+ * @since 3.16.0
2307
2383
  */
2308
2384
  (n: BigDecimal, options?: { scale?: number; mode?: RoundingMode }): BigDecimal
2309
2385
  } = dual(isBigDecimalArgs, (self: BigDecimal, options?: { scale?: number; mode?: RoundingMode }): BigDecimal => {
@@ -2354,69 +2430,54 @@ export const round: {
2354
2430
  })
2355
2431
 
2356
2432
  /**
2357
- * Truncate a `BigDecimal` at the given scale. This is the same operation as rounding away from zero.
2433
+ * Truncate a `BigDecimal` at the given scale. This removes fractional digits beyond the scale,
2434
+ * rounding toward zero.
2435
+ *
2436
+ * **Example** (Truncating decimals)
2358
2437
  *
2359
- * @example
2360
2438
  * ```ts
2361
- * import { fromStringUnsafe, truncate } from "effect/BigDecimal"
2362
- * import * as assert from "node:assert"
2439
+ * import { BigDecimal } from "effect"
2363
2440
  *
2364
- * assert.deepStrictEqual(
2365
- * truncate(fromStringUnsafe("145"), -1),
2366
- * fromStringUnsafe("140")
2367
- * )
2368
- * assert.deepStrictEqual(
2369
- * truncate(fromStringUnsafe("-14.5")),
2370
- * fromStringUnsafe("-14")
2371
- * )
2441
+ * console.log(BigDecimal.truncate(BigDecimal.fromStringUnsafe("145"), -1)) // BigDecimal(140)
2442
+ * console.log(BigDecimal.truncate(BigDecimal.fromStringUnsafe("-14.5"))) // BigDecimal(-14)
2372
2443
  * ```
2373
2444
  *
2374
- * @since 4.0.0
2375
2445
  * @category math
2446
+ * @since 3.16.0
2376
2447
  */
2377
2448
  export const truncate: {
2378
2449
  /**
2379
- * Truncate a `BigDecimal` at the given scale. This is the same operation as rounding away from zero.
2450
+ * Truncate a `BigDecimal` at the given scale. This removes fractional digits beyond the scale,
2451
+ * rounding toward zero.
2452
+ *
2453
+ * **Example** (Truncating decimals)
2380
2454
  *
2381
- * @example
2382
2455
  * ```ts
2383
- * import { fromStringUnsafe, truncate } from "effect/BigDecimal"
2384
- * import * as assert from "node:assert"
2456
+ * import { BigDecimal } from "effect"
2385
2457
  *
2386
- * assert.deepStrictEqual(
2387
- * truncate(fromStringUnsafe("145"), -1),
2388
- * fromStringUnsafe("140")
2389
- * )
2390
- * assert.deepStrictEqual(
2391
- * truncate(fromStringUnsafe("-14.5")),
2392
- * fromStringUnsafe("-14")
2393
- * )
2458
+ * console.log(BigDecimal.truncate(BigDecimal.fromStringUnsafe("145"), -1)) // BigDecimal(140)
2459
+ * console.log(BigDecimal.truncate(BigDecimal.fromStringUnsafe("-14.5"))) // BigDecimal(-14)
2394
2460
  * ```
2395
2461
  *
2396
- * @since 4.0.0
2397
2462
  * @category math
2463
+ * @since 3.16.0
2398
2464
  */
2399
2465
  (scale: number): (self: BigDecimal) => BigDecimal
2400
2466
  /**
2401
- * Truncate a `BigDecimal` at the given scale. This is the same operation as rounding away from zero.
2467
+ * Truncate a `BigDecimal` at the given scale. This removes fractional digits beyond the scale,
2468
+ * rounding toward zero.
2469
+ *
2470
+ * **Example** (Truncating decimals)
2402
2471
  *
2403
- * @example
2404
2472
  * ```ts
2405
- * import { fromStringUnsafe, truncate } from "effect/BigDecimal"
2406
- * import * as assert from "node:assert"
2473
+ * import { BigDecimal } from "effect"
2407
2474
  *
2408
- * assert.deepStrictEqual(
2409
- * truncate(fromStringUnsafe("145"), -1),
2410
- * fromStringUnsafe("140")
2411
- * )
2412
- * assert.deepStrictEqual(
2413
- * truncate(fromStringUnsafe("-14.5")),
2414
- * fromStringUnsafe("-14")
2415
- * )
2475
+ * console.log(BigDecimal.truncate(BigDecimal.fromStringUnsafe("145"), -1)) // BigDecimal(140)
2476
+ * console.log(BigDecimal.truncate(BigDecimal.fromStringUnsafe("-14.5"))) // BigDecimal(-14)
2416
2477
  * ```
2417
2478
  *
2418
- * @since 4.0.0
2419
2479
  * @category math
2480
+ * @since 3.16.0
2420
2481
  */
2421
2482
  (self: BigDecimal, scale?: number): BigDecimal
2422
2483
  } = dual(isBigDecimalArgs, (self: BigDecimal, scale: number = 0): BigDecimal => {
@@ -2431,58 +2492,61 @@ export const truncate: {
2431
2492
  /**
2432
2493
  * Calculate the ceiling of a `BigDecimal` at the given scale.
2433
2494
  *
2434
- * @example
2495
+ * **Example** (Rounding decimals up)
2496
+ *
2435
2497
  * ```ts
2436
- * import { ceil, fromStringUnsafe } from "effect/BigDecimal"
2498
+ * import { BigDecimal } from "effect"
2437
2499
  * import * as assert from "node:assert"
2438
2500
  *
2439
2501
  * assert.deepStrictEqual(
2440
- * ceil(fromStringUnsafe("145"), -1),
2441
- * fromStringUnsafe("150")
2502
+ * BigDecimal.ceil(BigDecimal.fromStringUnsafe("145"), -1),
2503
+ * BigDecimal.fromStringUnsafe("150")
2442
2504
  * )
2443
- * assert.deepStrictEqual(ceil(fromStringUnsafe("-14.5")), fromStringUnsafe("-14"))
2505
+ * assert.deepStrictEqual(BigDecimal.ceil(BigDecimal.fromStringUnsafe("-14.5")), BigDecimal.fromStringUnsafe("-14"))
2444
2506
  * ```
2445
2507
  *
2446
- * @since 4.0.0
2447
2508
  * @category math
2509
+ * @since 3.16.0
2448
2510
  */
2449
2511
  export const ceil: {
2450
2512
  /**
2451
2513
  * Calculate the ceiling of a `BigDecimal` at the given scale.
2452
2514
  *
2453
- * @example
2515
+ * **Example** (Rounding decimals up)
2516
+ *
2454
2517
  * ```ts
2455
- * import { ceil, fromStringUnsafe } from "effect/BigDecimal"
2518
+ * import { BigDecimal } from "effect"
2456
2519
  * import * as assert from "node:assert"
2457
2520
  *
2458
2521
  * assert.deepStrictEqual(
2459
- * ceil(fromStringUnsafe("145"), -1),
2460
- * fromStringUnsafe("150")
2522
+ * BigDecimal.ceil(BigDecimal.fromStringUnsafe("145"), -1),
2523
+ * BigDecimal.fromStringUnsafe("150")
2461
2524
  * )
2462
- * assert.deepStrictEqual(ceil(fromStringUnsafe("-14.5")), fromStringUnsafe("-14"))
2525
+ * assert.deepStrictEqual(BigDecimal.ceil(BigDecimal.fromStringUnsafe("-14.5")), BigDecimal.fromStringUnsafe("-14"))
2463
2526
  * ```
2464
2527
  *
2465
- * @since 4.0.0
2466
2528
  * @category math
2529
+ * @since 3.16.0
2467
2530
  */
2468
2531
  (scale: number): (self: BigDecimal) => BigDecimal
2469
2532
  /**
2470
2533
  * Calculate the ceiling of a `BigDecimal` at the given scale.
2471
2534
  *
2472
- * @example
2535
+ * **Example** (Rounding decimals up)
2536
+ *
2473
2537
  * ```ts
2474
- * import { ceil, fromStringUnsafe } from "effect/BigDecimal"
2538
+ * import { BigDecimal } from "effect"
2475
2539
  * import * as assert from "node:assert"
2476
2540
  *
2477
2541
  * assert.deepStrictEqual(
2478
- * ceil(fromStringUnsafe("145"), -1),
2479
- * fromStringUnsafe("150")
2542
+ * BigDecimal.ceil(BigDecimal.fromStringUnsafe("145"), -1),
2543
+ * BigDecimal.fromStringUnsafe("150")
2480
2544
  * )
2481
- * assert.deepStrictEqual(ceil(fromStringUnsafe("-14.5")), fromStringUnsafe("-14"))
2545
+ * assert.deepStrictEqual(BigDecimal.ceil(BigDecimal.fromStringUnsafe("-14.5")), BigDecimal.fromStringUnsafe("-14"))
2482
2546
  * ```
2483
2547
  *
2484
- * @since 4.0.0
2485
2548
  * @category math
2549
+ * @since 3.16.0
2486
2550
  */
2487
2551
  (self: BigDecimal, scale?: number): BigDecimal
2488
2552
  } = dual(isBigDecimalArgs, (self: BigDecimal, scale: number = 0): BigDecimal => {
@@ -2531,67 +2595,70 @@ export const digitAt: {
2531
2595
  /**
2532
2596
  * Calculate the floor of a `BigDecimal` at the given scale.
2533
2597
  *
2534
- * @example
2598
+ * **Example** (Rounding decimals down)
2599
+ *
2535
2600
  * ```ts
2536
- * import { floor, fromStringUnsafe } from "effect/BigDecimal"
2601
+ * import { BigDecimal } from "effect"
2537
2602
  * import * as assert from "node:assert"
2538
2603
  *
2539
2604
  * assert.deepStrictEqual(
2540
- * floor(fromStringUnsafe("145"), -1),
2541
- * fromStringUnsafe("140")
2605
+ * BigDecimal.floor(BigDecimal.fromStringUnsafe("145"), -1),
2606
+ * BigDecimal.fromStringUnsafe("140")
2542
2607
  * )
2543
2608
  * assert.deepStrictEqual(
2544
- * floor(fromStringUnsafe("-14.5")),
2545
- * fromStringUnsafe("-15")
2609
+ * BigDecimal.floor(BigDecimal.fromStringUnsafe("-14.5")),
2610
+ * BigDecimal.fromStringUnsafe("-15")
2546
2611
  * )
2547
2612
  * ```
2548
2613
  *
2549
- * @since 4.0.0
2550
2614
  * @category math
2615
+ * @since 3.16.0
2551
2616
  */
2552
2617
  export const floor: {
2553
2618
  /**
2554
2619
  * Calculate the floor of a `BigDecimal` at the given scale.
2555
2620
  *
2556
- * @example
2621
+ * **Example** (Rounding decimals down)
2622
+ *
2557
2623
  * ```ts
2558
- * import { floor, fromStringUnsafe } from "effect/BigDecimal"
2624
+ * import { BigDecimal } from "effect"
2559
2625
  * import * as assert from "node:assert"
2560
2626
  *
2561
2627
  * assert.deepStrictEqual(
2562
- * floor(fromStringUnsafe("145"), -1),
2563
- * fromStringUnsafe("140")
2628
+ * BigDecimal.floor(BigDecimal.fromStringUnsafe("145"), -1),
2629
+ * BigDecimal.fromStringUnsafe("140")
2564
2630
  * )
2565
2631
  * assert.deepStrictEqual(
2566
- * floor(fromStringUnsafe("-14.5")),
2567
- * fromStringUnsafe("-15")
2632
+ * BigDecimal.floor(BigDecimal.fromStringUnsafe("-14.5")),
2633
+ * BigDecimal.fromStringUnsafe("-15")
2568
2634
  * )
2569
2635
  * ```
2570
2636
  *
2571
- * @since 4.0.0
2572
2637
  * @category math
2638
+ * @since 3.16.0
2573
2639
  */
2574
2640
  (scale: number): (self: BigDecimal) => BigDecimal
2575
2641
  /**
2576
2642
  * Calculate the floor of a `BigDecimal` at the given scale.
2577
2643
  *
2578
- * @example
2644
+ * **Example** (Rounding decimals down)
2645
+ *
2579
2646
  * ```ts
2580
- * import { floor, fromStringUnsafe } from "effect/BigDecimal"
2647
+ * import { BigDecimal } from "effect"
2581
2648
  * import * as assert from "node:assert"
2582
2649
  *
2583
2650
  * assert.deepStrictEqual(
2584
- * floor(fromStringUnsafe("145"), -1),
2585
- * fromStringUnsafe("140")
2651
+ * BigDecimal.floor(BigDecimal.fromStringUnsafe("145"), -1),
2652
+ * BigDecimal.fromStringUnsafe("140")
2586
2653
  * )
2587
2654
  * assert.deepStrictEqual(
2588
- * floor(fromStringUnsafe("-14.5")),
2589
- * fromStringUnsafe("-15")
2655
+ * BigDecimal.floor(BigDecimal.fromStringUnsafe("-14.5")),
2656
+ * BigDecimal.fromStringUnsafe("-15")
2590
2657
  * )
2591
2658
  * ```
2592
2659
  *
2593
- * @since 4.0.0
2594
2660
  * @category math
2661
+ * @since 3.16.0
2595
2662
  */
2596
2663
  (self: BigDecimal, scale?: number): BigDecimal
2597
2664
  } = dual(isBigDecimalArgs, (self: BigDecimal, scale: number = 0): BigDecimal => {