@depup/effect 3.20.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2716) hide show
  1. package/.index/package.json +6 -0
  2. package/Arbitrary/package.json +6 -0
  3. package/Array/package.json +6 -0
  4. package/BigDecimal/package.json +6 -0
  5. package/BigInt/package.json +6 -0
  6. package/Boolean/package.json +6 -0
  7. package/Brand/package.json +6 -0
  8. package/Cache/package.json +6 -0
  9. package/Cause/package.json +6 -0
  10. package/Channel/package.json +6 -0
  11. package/ChildExecutorDecision/package.json +6 -0
  12. package/Chunk/package.json +6 -0
  13. package/Clock/package.json +6 -0
  14. package/Config/package.json +6 -0
  15. package/ConfigError/package.json +6 -0
  16. package/ConfigProvider/package.json +6 -0
  17. package/ConfigProviderPathPatch/package.json +6 -0
  18. package/Console/package.json +6 -0
  19. package/Context/package.json +6 -0
  20. package/Cron/package.json +6 -0
  21. package/Data/package.json +6 -0
  22. package/DateTime/package.json +6 -0
  23. package/DefaultServices/package.json +6 -0
  24. package/Deferred/package.json +6 -0
  25. package/Differ/package.json +6 -0
  26. package/Duration/package.json +6 -0
  27. package/Effect/package.json +6 -0
  28. package/Effectable/package.json +6 -0
  29. package/Either/package.json +6 -0
  30. package/Encoding/package.json +6 -0
  31. package/Equal/package.json +6 -0
  32. package/Equivalence/package.json +6 -0
  33. package/ExecutionPlan/package.json +6 -0
  34. package/ExecutionStrategy/package.json +6 -0
  35. package/Exit/package.json +6 -0
  36. package/FastCheck/package.json +6 -0
  37. package/Fiber/package.json +6 -0
  38. package/FiberHandle/package.json +6 -0
  39. package/FiberId/package.json +6 -0
  40. package/FiberMap/package.json +6 -0
  41. package/FiberRef/package.json +6 -0
  42. package/FiberRefs/package.json +6 -0
  43. package/FiberRefsPatch/package.json +6 -0
  44. package/FiberSet/package.json +6 -0
  45. package/FiberStatus/package.json +6 -0
  46. package/Function/package.json +6 -0
  47. package/GlobalValue/package.json +6 -0
  48. package/Graph/package.json +6 -0
  49. package/GroupBy/package.json +6 -0
  50. package/HKT/package.json +6 -0
  51. package/Hash/package.json +6 -0
  52. package/HashMap/package.json +6 -0
  53. package/HashRing/package.json +6 -0
  54. package/HashSet/package.json +6 -0
  55. package/Inspectable/package.json +6 -0
  56. package/Iterable/package.json +6 -0
  57. package/JSONSchema/package.json +6 -0
  58. package/KeyedPool/package.json +6 -0
  59. package/LICENSE +21 -0
  60. package/Layer/package.json +6 -0
  61. package/LayerMap/package.json +6 -0
  62. package/List/package.json +6 -0
  63. package/LogLevel/package.json +6 -0
  64. package/LogSpan/package.json +6 -0
  65. package/Logger/package.json +6 -0
  66. package/Mailbox/package.json +6 -0
  67. package/ManagedRuntime/package.json +6 -0
  68. package/Match/package.json +6 -0
  69. package/MergeDecision/package.json +6 -0
  70. package/MergeState/package.json +6 -0
  71. package/MergeStrategy/package.json +6 -0
  72. package/Metric/package.json +6 -0
  73. package/MetricBoundaries/package.json +6 -0
  74. package/MetricHook/package.json +6 -0
  75. package/MetricKey/package.json +6 -0
  76. package/MetricKeyType/package.json +6 -0
  77. package/MetricLabel/package.json +6 -0
  78. package/MetricPair/package.json +6 -0
  79. package/MetricPolling/package.json +6 -0
  80. package/MetricRegistry/package.json +6 -0
  81. package/MetricState/package.json +6 -0
  82. package/Micro/package.json +6 -0
  83. package/ModuleVersion/package.json +6 -0
  84. package/MutableHashMap/package.json +6 -0
  85. package/MutableHashSet/package.json +6 -0
  86. package/MutableList/package.json +6 -0
  87. package/MutableQueue/package.json +6 -0
  88. package/MutableRef/package.json +6 -0
  89. package/NonEmptyIterable/package.json +6 -0
  90. package/Number/package.json +6 -0
  91. package/Option/package.json +6 -0
  92. package/Order/package.json +6 -0
  93. package/Ordering/package.json +6 -0
  94. package/ParseResult/package.json +6 -0
  95. package/PartitionedSemaphore/package.json +6 -0
  96. package/Pipeable/package.json +6 -0
  97. package/Pool/package.json +6 -0
  98. package/Predicate/package.json +6 -0
  99. package/Pretty/package.json +6 -0
  100. package/PrimaryKey/package.json +6 -0
  101. package/PubSub/package.json +6 -0
  102. package/Queue/package.json +6 -0
  103. package/README.md +32 -0
  104. package/Random/package.json +6 -0
  105. package/RateLimiter/package.json +6 -0
  106. package/RcMap/package.json +6 -0
  107. package/RcRef/package.json +6 -0
  108. package/Readable/package.json +6 -0
  109. package/Record/package.json +6 -0
  110. package/RedBlackTree/package.json +6 -0
  111. package/Redacted/package.json +6 -0
  112. package/Ref/package.json +6 -0
  113. package/RegExp/package.json +6 -0
  114. package/Reloadable/package.json +6 -0
  115. package/Request/package.json +6 -0
  116. package/RequestBlock/package.json +6 -0
  117. package/RequestResolver/package.json +6 -0
  118. package/Resource/package.json +6 -0
  119. package/Runtime/package.json +6 -0
  120. package/RuntimeFlags/package.json +6 -0
  121. package/RuntimeFlagsPatch/package.json +6 -0
  122. package/STM/package.json +6 -0
  123. package/Schedule/package.json +6 -0
  124. package/ScheduleDecision/package.json +6 -0
  125. package/ScheduleInterval/package.json +6 -0
  126. package/ScheduleIntervals/package.json +6 -0
  127. package/Scheduler/package.json +6 -0
  128. package/Schema/package.json +6 -0
  129. package/SchemaAST/package.json +6 -0
  130. package/Scope/package.json +6 -0
  131. package/ScopedCache/package.json +6 -0
  132. package/ScopedRef/package.json +6 -0
  133. package/Secret/package.json +6 -0
  134. package/SingleProducerAsyncInput/package.json +6 -0
  135. package/Sink/package.json +6 -0
  136. package/SortedMap/package.json +6 -0
  137. package/SortedSet/package.json +6 -0
  138. package/Stream/package.json +6 -0
  139. package/StreamEmit/package.json +6 -0
  140. package/StreamHaltStrategy/package.json +6 -0
  141. package/Streamable/package.json +6 -0
  142. package/String/package.json +6 -0
  143. package/Struct/package.json +6 -0
  144. package/Subscribable/package.json +6 -0
  145. package/SubscriptionRef/package.json +6 -0
  146. package/Supervisor/package.json +6 -0
  147. package/Symbol/package.json +6 -0
  148. package/SynchronizedRef/package.json +6 -0
  149. package/TArray/package.json +6 -0
  150. package/TDeferred/package.json +6 -0
  151. package/TMap/package.json +6 -0
  152. package/TPriorityQueue/package.json +6 -0
  153. package/TPubSub/package.json +6 -0
  154. package/TQueue/package.json +6 -0
  155. package/TRandom/package.json +6 -0
  156. package/TReentrantLock/package.json +6 -0
  157. package/TRef/package.json +6 -0
  158. package/TSemaphore/package.json +6 -0
  159. package/TSet/package.json +6 -0
  160. package/TSubscriptionRef/package.json +6 -0
  161. package/Take/package.json +6 -0
  162. package/TestAnnotation/package.json +6 -0
  163. package/TestAnnotationMap/package.json +6 -0
  164. package/TestAnnotations/package.json +6 -0
  165. package/TestClock/package.json +6 -0
  166. package/TestConfig/package.json +6 -0
  167. package/TestContext/package.json +6 -0
  168. package/TestLive/package.json +6 -0
  169. package/TestServices/package.json +6 -0
  170. package/TestSized/package.json +6 -0
  171. package/Tracer/package.json +6 -0
  172. package/Trie/package.json +6 -0
  173. package/Tuple/package.json +6 -0
  174. package/Types/package.json +6 -0
  175. package/Unify/package.json +6 -0
  176. package/UpstreamPullRequest/package.json +6 -0
  177. package/UpstreamPullStrategy/package.json +6 -0
  178. package/Utils/package.json +6 -0
  179. package/changes.json +14 -0
  180. package/dist/cjs/Arbitrary.js +813 -0
  181. package/dist/cjs/Arbitrary.js.map +1 -0
  182. package/dist/cjs/Array.js +2695 -0
  183. package/dist/cjs/Array.js.map +1 -0
  184. package/dist/cjs/BigDecimal.js +1116 -0
  185. package/dist/cjs/BigDecimal.js.map +1 -0
  186. package/dist/cjs/BigInt.js +567 -0
  187. package/dist/cjs/BigInt.js.map +1 -0
  188. package/dist/cjs/Boolean.js +251 -0
  189. package/dist/cjs/Boolean.js.map +1 -0
  190. package/dist/cjs/Brand.js +175 -0
  191. package/dist/cjs/Brand.js.map +1 -0
  192. package/dist/cjs/Cache.js +50 -0
  193. package/dist/cjs/Cache.js.map +1 -0
  194. package/dist/cjs/Cause.js +1011 -0
  195. package/dist/cjs/Cause.js.map +1 -0
  196. package/dist/cjs/Channel.js +889 -0
  197. package/dist/cjs/Channel.js.map +1 -0
  198. package/dist/cjs/ChildExecutorDecision.js +72 -0
  199. package/dist/cjs/ChildExecutorDecision.js.map +1 -0
  200. package/dist/cjs/Chunk.js +1114 -0
  201. package/dist/cjs/Chunk.js.map +1 -0
  202. package/dist/cjs/Clock.js +45 -0
  203. package/dist/cjs/Clock.js.map +1 -0
  204. package/dist/cjs/Config.js +328 -0
  205. package/dist/cjs/Config.js.map +1 -0
  206. package/dist/cjs/ConfigError.js +114 -0
  207. package/dist/cjs/ConfigError.js.map +1 -0
  208. package/dist/cjs/ConfigProvider.js +173 -0
  209. package/dist/cjs/ConfigProvider.js.map +1 -0
  210. package/dist/cjs/ConfigProviderPathPatch.js +38 -0
  211. package/dist/cjs/ConfigProviderPathPatch.js.map +1 -0
  212. package/dist/cjs/Console.js +125 -0
  213. package/dist/cjs/Console.js.map +1 -0
  214. package/dist/cjs/Context.js +367 -0
  215. package/dist/cjs/Context.js.map +1 -0
  216. package/dist/cjs/Cron.js +583 -0
  217. package/dist/cjs/Cron.js.map +1 -0
  218. package/dist/cjs/Data.js +291 -0
  219. package/dist/cjs/Data.js.map +1 -0
  220. package/dist/cjs/DateTime.js +1084 -0
  221. package/dist/cjs/DateTime.js.map +1 -0
  222. package/dist/cjs/DefaultServices.js +19 -0
  223. package/dist/cjs/DefaultServices.js.map +1 -0
  224. package/dist/cjs/Deferred.js +167 -0
  225. package/dist/cjs/Deferred.js.map +1 -0
  226. package/dist/cjs/Differ.js +140 -0
  227. package/dist/cjs/Differ.js.map +1 -0
  228. package/dist/cjs/Duration.js +737 -0
  229. package/dist/cjs/Duration.js.map +1 -0
  230. package/dist/cjs/Effect.js +10717 -0
  231. package/dist/cjs/Effect.js.map +1 -0
  232. package/dist/cjs/Effectable.js +58 -0
  233. package/dist/cjs/Effectable.js.map +1 -0
  234. package/dist/cjs/Either.js +654 -0
  235. package/dist/cjs/Either.js.map +1 -0
  236. package/dist/cjs/Encoding.js +155 -0
  237. package/dist/cjs/Encoding.js.map +1 -0
  238. package/dist/cjs/Equal.js +81 -0
  239. package/dist/cjs/Equal.js.map +1 -0
  240. package/dist/cjs/Equivalence.js +181 -0
  241. package/dist/cjs/Equivalence.js.map +1 -0
  242. package/dist/cjs/ExecutionPlan.js +108 -0
  243. package/dist/cjs/ExecutionPlan.js.map +1 -0
  244. package/dist/cjs/ExecutionStrategy.js +62 -0
  245. package/dist/cjs/ExecutionStrategy.js.map +1 -0
  246. package/dist/cjs/Exit.js +256 -0
  247. package/dist/cjs/Exit.js.map +1 -0
  248. package/dist/cjs/FastCheck.js +17 -0
  249. package/dist/cjs/FastCheck.js.map +1 -0
  250. package/dist/cjs/Fiber.js +340 -0
  251. package/dist/cjs/Fiber.js.map +1 -0
  252. package/dist/cjs/FiberHandle.js +335 -0
  253. package/dist/cjs/FiberHandle.js.map +1 -0
  254. package/dist/cjs/FiberId.js +122 -0
  255. package/dist/cjs/FiberId.js.map +1 -0
  256. package/dist/cjs/FiberMap.js +374 -0
  257. package/dist/cjs/FiberMap.js.map +1 -0
  258. package/dist/cjs/FiberRef.js +243 -0
  259. package/dist/cjs/FiberRef.js.map +1 -0
  260. package/dist/cjs/FiberRefs.js +91 -0
  261. package/dist/cjs/FiberRefs.js.map +1 -0
  262. package/dist/cjs/FiberRefsPatch.js +39 -0
  263. package/dist/cjs/FiberRefsPatch.js.map +1 -0
  264. package/dist/cjs/FiberSet.js +308 -0
  265. package/dist/cjs/FiberSet.js.map +1 -0
  266. package/dist/cjs/FiberStatus.js +59 -0
  267. package/dist/cjs/FiberStatus.js.map +1 -0
  268. package/dist/cjs/Function.js +488 -0
  269. package/dist/cjs/Function.js.map +1 -0
  270. package/dist/cjs/GlobalValue.js +59 -0
  271. package/dist/cjs/GlobalValue.js.map +1 -0
  272. package/dist/cjs/Graph.js +3080 -0
  273. package/dist/cjs/Graph.js.map +1 -0
  274. package/dist/cjs/GroupBy.js +47 -0
  275. package/dist/cjs/GroupBy.js.map +1 -0
  276. package/dist/cjs/HKT.js +6 -0
  277. package/dist/cjs/HKT.js.map +1 -0
  278. package/dist/cjs/Hash.js +184 -0
  279. package/dist/cjs/Hash.js.map +1 -0
  280. package/dist/cjs/HashMap.js +322 -0
  281. package/dist/cjs/HashMap.js.map +1 -0
  282. package/dist/cjs/HashRing.js +257 -0
  283. package/dist/cjs/HashRing.js.map +1 -0
  284. package/dist/cjs/HashSet.js +1262 -0
  285. package/dist/cjs/HashSet.js.map +1 -0
  286. package/dist/cjs/Inspectable.js +213 -0
  287. package/dist/cjs/Inspectable.js.map +1 -0
  288. package/dist/cjs/Iterable.js +1009 -0
  289. package/dist/cjs/Iterable.js.map +1 -0
  290. package/dist/cjs/JSONSchema.js +727 -0
  291. package/dist/cjs/JSONSchema.js.map +1 -0
  292. package/dist/cjs/KeyedPool.js +83 -0
  293. package/dist/cjs/KeyedPool.js.map +1 -0
  294. package/dist/cjs/Layer.js +651 -0
  295. package/dist/cjs/Layer.js.map +1 -0
  296. package/dist/cjs/LayerMap.js +212 -0
  297. package/dist/cjs/LayerMap.js.map +1 -0
  298. package/dist/cjs/List.js +784 -0
  299. package/dist/cjs/List.js.map +1 -0
  300. package/dist/cjs/LogLevel.js +143 -0
  301. package/dist/cjs/LogLevel.js.map +1 -0
  302. package/dist/cjs/LogSpan.js +23 -0
  303. package/dist/cjs/LogSpan.js.map +1 -0
  304. package/dist/cjs/Logger.js +497 -0
  305. package/dist/cjs/Logger.js.map +1 -0
  306. package/dist/cjs/Mailbox.js +105 -0
  307. package/dist/cjs/Mailbox.js.map +1 -0
  308. package/dist/cjs/ManagedRuntime.js +49 -0
  309. package/dist/cjs/ManagedRuntime.js.map +1 -0
  310. package/dist/cjs/Match.js +819 -0
  311. package/dist/cjs/Match.js.map +1 -0
  312. package/dist/cjs/MergeDecision.js +42 -0
  313. package/dist/cjs/MergeDecision.js.map +1 -0
  314. package/dist/cjs/MergeState.js +65 -0
  315. package/dist/cjs/MergeState.js.map +1 -0
  316. package/dist/cjs/MergeStrategy.js +59 -0
  317. package/dist/cjs/MergeStrategy.js.map +1 -0
  318. package/dist/cjs/Metric.js +415 -0
  319. package/dist/cjs/Metric.js.map +1 -0
  320. package/dist/cjs/MetricBoundaries.js +40 -0
  321. package/dist/cjs/MetricBoundaries.js.map +1 -0
  322. package/dist/cjs/MetricHook.js +54 -0
  323. package/dist/cjs/MetricHook.js.map +1 -0
  324. package/dist/cjs/MetricKey.js +70 -0
  325. package/dist/cjs/MetricKey.js.map +1 -0
  326. package/dist/cjs/MetricKeyType.js +94 -0
  327. package/dist/cjs/MetricKeyType.js.map +1 -0
  328. package/dist/cjs/MetricLabel.js +24 -0
  329. package/dist/cjs/MetricLabel.js.map +1 -0
  330. package/dist/cjs/MetricPair.js +28 -0
  331. package/dist/cjs/MetricPair.js.map +1 -0
  332. package/dist/cjs/MetricPolling.js +66 -0
  333. package/dist/cjs/MetricPolling.js.map +1 -0
  334. package/dist/cjs/MetricRegistry.js +23 -0
  335. package/dist/cjs/MetricRegistry.js.map +1 -0
  336. package/dist/cjs/MetricState.js +94 -0
  337. package/dist/cjs/MetricState.js.map +1 -0
  338. package/dist/cjs/Micro.js +2582 -0
  339. package/dist/cjs/Micro.js.map +1 -0
  340. package/dist/cjs/ModuleVersion.js +25 -0
  341. package/dist/cjs/ModuleVersion.js.map +1 -0
  342. package/dist/cjs/MutableHashMap.js +314 -0
  343. package/dist/cjs/MutableHashMap.js.map +1 -0
  344. package/dist/cjs/MutableHashSet.js +524 -0
  345. package/dist/cjs/MutableHashSet.js.map +1 -0
  346. package/dist/cjs/MutableList.js +258 -0
  347. package/dist/cjs/MutableList.js.map +1 -0
  348. package/dist/cjs/MutableQueue.js +173 -0
  349. package/dist/cjs/MutableQueue.js.map +1 -0
  350. package/dist/cjs/MutableRef.js +144 -0
  351. package/dist/cjs/MutableRef.js.map +1 -0
  352. package/dist/cjs/NonEmptyIterable.js +23 -0
  353. package/dist/cjs/NonEmptyIterable.js.map +1 -0
  354. package/dist/cjs/Number.js +903 -0
  355. package/dist/cjs/Number.js.map +1 -0
  356. package/dist/cjs/Option.js +1769 -0
  357. package/dist/cjs/Option.js.map +1 -0
  358. package/dist/cjs/Order.js +275 -0
  359. package/dist/cjs/Order.js.map +1 -0
  360. package/dist/cjs/Ordering.js +80 -0
  361. package/dist/cjs/Ordering.js.map +1 -0
  362. package/dist/cjs/ParseResult.js +1594 -0
  363. package/dist/cjs/ParseResult.js.map +1 -0
  364. package/dist/cjs/PartitionedSemaphore.js +147 -0
  365. package/dist/cjs/PartitionedSemaphore.js.map +1 -0
  366. package/dist/cjs/Pipeable.js +70 -0
  367. package/dist/cjs/Pipeable.js.map +1 -0
  368. package/dist/cjs/Pool.js +107 -0
  369. package/dist/cjs/Pool.js.map +1 -0
  370. package/dist/cjs/Predicate.js +1159 -0
  371. package/dist/cjs/Predicate.js.map +1 -0
  372. package/dist/cjs/Pretty.js +183 -0
  373. package/dist/cjs/Pretty.js.map +1 -0
  374. package/dist/cjs/PrimaryKey.js +21 -0
  375. package/dist/cjs/PrimaryKey.js.map +1 -0
  376. package/dist/cjs/PubSub.js +127 -0
  377. package/dist/cjs/PubSub.js.map +1 -0
  378. package/dist/cjs/Queue.js +255 -0
  379. package/dist/cjs/Queue.js.map +1 -0
  380. package/dist/cjs/Random.js +145 -0
  381. package/dist/cjs/Random.js.map +1 -0
  382. package/dist/cjs/RateLimiter.js +84 -0
  383. package/dist/cjs/RateLimiter.js.map +1 -0
  384. package/dist/cjs/RcMap.js +76 -0
  385. package/dist/cjs/RcMap.js.map +1 -0
  386. package/dist/cjs/RcRef.js +58 -0
  387. package/dist/cjs/RcRef.js.map +1 -0
  388. package/dist/cjs/Readable.js +55 -0
  389. package/dist/cjs/Readable.js.map +1 -0
  390. package/dist/cjs/Record.js +865 -0
  391. package/dist/cjs/Record.js.map +1 -0
  392. package/dist/cjs/RedBlackTree.js +266 -0
  393. package/dist/cjs/RedBlackTree.js.map +1 -0
  394. package/dist/cjs/Redacted.js +101 -0
  395. package/dist/cjs/Redacted.js.map +1 -0
  396. package/dist/cjs/Ref.js +84 -0
  397. package/dist/cjs/Ref.js.map +1 -0
  398. package/dist/cjs/RegExp.js +46 -0
  399. package/dist/cjs/RegExp.js.map +1 -0
  400. package/dist/cjs/Reloadable.js +66 -0
  401. package/dist/cjs/Reloadable.js.map +1 -0
  402. package/dist/cjs/Request.js +148 -0
  403. package/dist/cjs/Request.js.map +1 -0
  404. package/dist/cjs/RequestBlock.js +43 -0
  405. package/dist/cjs/RequestBlock.js.map +1 -0
  406. package/dist/cjs/RequestResolver.js +185 -0
  407. package/dist/cjs/RequestResolver.js.map +1 -0
  408. package/dist/cjs/Resource.js +51 -0
  409. package/dist/cjs/Resource.js.map +1 -0
  410. package/dist/cjs/Runtime.js +188 -0
  411. package/dist/cjs/Runtime.js.map +1 -0
  412. package/dist/cjs/RuntimeFlags.js +259 -0
  413. package/dist/cjs/RuntimeFlags.js.map +1 -0
  414. package/dist/cjs/RuntimeFlagsPatch.js +142 -0
  415. package/dist/cjs/RuntimeFlagsPatch.js.map +1 -0
  416. package/dist/cjs/STM.js +981 -0
  417. package/dist/cjs/STM.js.map +1 -0
  418. package/dist/cjs/Schedule.js +1603 -0
  419. package/dist/cjs/Schedule.js.map +1 -0
  420. package/dist/cjs/ScheduleDecision.js +34 -0
  421. package/dist/cjs/ScheduleDecision.js.map +1 -0
  422. package/dist/cjs/ScheduleInterval.js +107 -0
  423. package/dist/cjs/ScheduleInterval.js.map +1 -0
  424. package/dist/cjs/ScheduleIntervals.js +85 -0
  425. package/dist/cjs/ScheduleIntervals.js.map +1 -0
  426. package/dist/cjs/Scheduler.js +308 -0
  427. package/dist/cjs/Scheduler.js.map +1 -0
  428. package/dist/cjs/Schema.js +6254 -0
  429. package/dist/cjs/Schema.js.map +1 -0
  430. package/dist/cjs/SchemaAST.js +2552 -0
  431. package/dist/cjs/SchemaAST.js.map +1 -0
  432. package/dist/cjs/Scope.js +102 -0
  433. package/dist/cjs/Scope.js.map +1 -0
  434. package/dist/cjs/ScopedCache.js +31 -0
  435. package/dist/cjs/ScopedCache.js.map +1 -0
  436. package/dist/cjs/ScopedRef.js +49 -0
  437. package/dist/cjs/ScopedRef.js.map +1 -0
  438. package/dist/cjs/Secret.js +51 -0
  439. package/dist/cjs/Secret.js.map +1 -0
  440. package/dist/cjs/SingleProducerAsyncInput.js +14 -0
  441. package/dist/cjs/SingleProducerAsyncInput.js.map +1 -0
  442. package/dist/cjs/Sink.js +872 -0
  443. package/dist/cjs/Sink.js.map +1 -0
  444. package/dist/cjs/SortedMap.js +189 -0
  445. package/dist/cjs/SortedMap.js.map +1 -0
  446. package/dist/cjs/SortedSet.js +251 -0
  447. package/dist/cjs/SortedSet.js.map +1 -0
  448. package/dist/cjs/Stream.js +4112 -0
  449. package/dist/cjs/Stream.js.map +1 -0
  450. package/dist/cjs/StreamEmit.js +6 -0
  451. package/dist/cjs/StreamEmit.js.map +1 -0
  452. package/dist/cjs/StreamHaltStrategy.js +65 -0
  453. package/dist/cjs/StreamHaltStrategy.js.map +1 -0
  454. package/dist/cjs/Streamable.js +45 -0
  455. package/dist/cjs/Streamable.js.map +1 -0
  456. package/dist/cjs/String.js +680 -0
  457. package/dist/cjs/String.js.map +1 -0
  458. package/dist/cjs/Struct.js +202 -0
  459. package/dist/cjs/Struct.js.map +1 -0
  460. package/dist/cjs/Subscribable.js +67 -0
  461. package/dist/cjs/Subscribable.js.map +1 -0
  462. package/dist/cjs/SubscriptionRef.js +123 -0
  463. package/dist/cjs/SubscriptionRef.js.map +1 -0
  464. package/dist/cjs/Supervisor.js +115 -0
  465. package/dist/cjs/Supervisor.js.map +1 -0
  466. package/dist/cjs/Symbol.js +35 -0
  467. package/dist/cjs/Symbol.js.map +1 -0
  468. package/dist/cjs/SynchronizedRef.js +126 -0
  469. package/dist/cjs/SynchronizedRef.js.map +1 -0
  470. package/dist/cjs/TArray.js +314 -0
  471. package/dist/cjs/TArray.js.map +1 -0
  472. package/dist/cjs/TDeferred.js +40 -0
  473. package/dist/cjs/TDeferred.js.map +1 -0
  474. package/dist/cjs/TMap.js +286 -0
  475. package/dist/cjs/TMap.js.map +1 -0
  476. package/dist/cjs/TPriorityQueue.js +143 -0
  477. package/dist/cjs/TPriorityQueue.js.map +1 -0
  478. package/dist/cjs/TPubSub.js +138 -0
  479. package/dist/cjs/TPubSub.js.map +1 -0
  480. package/dist/cjs/TQueue.js +237 -0
  481. package/dist/cjs/TQueue.js.map +1 -0
  482. package/dist/cjs/TRandom.js +72 -0
  483. package/dist/cjs/TRandom.js.map +1 -0
  484. package/dist/cjs/TReentrantLock.js +149 -0
  485. package/dist/cjs/TReentrantLock.js.map +1 -0
  486. package/dist/cjs/TRef.js +83 -0
  487. package/dist/cjs/TRef.js.map +1 -0
  488. package/dist/cjs/TSemaphore.js +73 -0
  489. package/dist/cjs/TSemaphore.js.map +1 -0
  490. package/dist/cjs/TSet.js +208 -0
  491. package/dist/cjs/TSet.js.map +1 -0
  492. package/dist/cjs/TSubscriptionRef.js +95 -0
  493. package/dist/cjs/TSubscriptionRef.js.map +1 -0
  494. package/dist/cjs/Take.js +155 -0
  495. package/dist/cjs/Take.js.map +1 -0
  496. package/dist/cjs/TestAnnotation.js +105 -0
  497. package/dist/cjs/TestAnnotation.js.map +1 -0
  498. package/dist/cjs/TestAnnotationMap.js +91 -0
  499. package/dist/cjs/TestAnnotationMap.js.map +1 -0
  500. package/dist/cjs/TestAnnotations.js +71 -0
  501. package/dist/cjs/TestAnnotations.js.map +1 -0
  502. package/dist/cjs/TestClock.js +372 -0
  503. package/dist/cjs/TestClock.js.map +1 -0
  504. package/dist/cjs/TestConfig.js +22 -0
  505. package/dist/cjs/TestConfig.js.map +1 -0
  506. package/dist/cjs/TestContext.js +28 -0
  507. package/dist/cjs/TestContext.js.map +1 -0
  508. package/dist/cjs/TestLive.js +39 -0
  509. package/dist/cjs/TestLive.js.map +1 -0
  510. package/dist/cjs/TestServices.js +255 -0
  511. package/dist/cjs/TestServices.js.map +1 -0
  512. package/dist/cjs/TestSized.js +46 -0
  513. package/dist/cjs/TestSized.js.map +1 -0
  514. package/dist/cjs/Tracer.js +44 -0
  515. package/dist/cjs/Tracer.js.map +1 -0
  516. package/dist/cjs/Trie.js +724 -0
  517. package/dist/cjs/Trie.js.map +1 -0
  518. package/dist/cjs/Tuple.js +210 -0
  519. package/dist/cjs/Tuple.js.map +1 -0
  520. package/dist/cjs/Types.js +6 -0
  521. package/dist/cjs/Types.js.map +1 -0
  522. package/dist/cjs/Unify.js +16 -0
  523. package/dist/cjs/Unify.js.map +1 -0
  524. package/dist/cjs/UpstreamPullRequest.js +59 -0
  525. package/dist/cjs/UpstreamPullRequest.js.map +1 -0
  526. package/dist/cjs/UpstreamPullStrategy.js +59 -0
  527. package/dist/cjs/UpstreamPullStrategy.js.map +1 -0
  528. package/dist/cjs/Utils.js +374 -0
  529. package/dist/cjs/Utils.js.map +1 -0
  530. package/dist/cjs/index.js +395 -0
  531. package/dist/cjs/index.js.map +1 -0
  532. package/dist/cjs/internal/array.js +13 -0
  533. package/dist/cjs/internal/array.js.map +1 -0
  534. package/dist/cjs/internal/blockedRequests.js +369 -0
  535. package/dist/cjs/internal/blockedRequests.js.map +1 -0
  536. package/dist/cjs/internal/cache.js +500 -0
  537. package/dist/cjs/internal/cache.js.map +1 -0
  538. package/dist/cjs/internal/cause.js +867 -0
  539. package/dist/cjs/internal/cause.js.map +1 -0
  540. package/dist/cjs/internal/channel/channelExecutor.js +697 -0
  541. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -0
  542. package/dist/cjs/internal/channel/channelState.js +77 -0
  543. package/dist/cjs/internal/channel/channelState.js.map +1 -0
  544. package/dist/cjs/internal/channel/childExecutorDecision.js +74 -0
  545. package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -0
  546. package/dist/cjs/internal/channel/continuation.js +57 -0
  547. package/dist/cjs/internal/channel/continuation.js.map +1 -0
  548. package/dist/cjs/internal/channel/mergeDecision.js +60 -0
  549. package/dist/cjs/internal/channel/mergeDecision.js.map +1 -0
  550. package/dist/cjs/internal/channel/mergeState.js +83 -0
  551. package/dist/cjs/internal/channel/mergeState.js.map +1 -0
  552. package/dist/cjs/internal/channel/mergeStrategy.js +58 -0
  553. package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -0
  554. package/dist/cjs/internal/channel/singleProducerAsyncInput.js +171 -0
  555. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -0
  556. package/dist/cjs/internal/channel/subexecutor.js +163 -0
  557. package/dist/cjs/internal/channel/subexecutor.js.map +1 -0
  558. package/dist/cjs/internal/channel/upstreamPullRequest.js +64 -0
  559. package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -0
  560. package/dist/cjs/internal/channel/upstreamPullStrategy.js +64 -0
  561. package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -0
  562. package/dist/cjs/internal/channel.js +738 -0
  563. package/dist/cjs/internal/channel.js.map +1 -0
  564. package/dist/cjs/internal/clock.js +85 -0
  565. package/dist/cjs/internal/clock.js.map +1 -0
  566. package/dist/cjs/internal/completedRequestMap.js +11 -0
  567. package/dist/cjs/internal/completedRequestMap.js.map +1 -0
  568. package/dist/cjs/internal/concurrency.js +37 -0
  569. package/dist/cjs/internal/concurrency.js.map +1 -0
  570. package/dist/cjs/internal/config.js +397 -0
  571. package/dist/cjs/internal/config.js.map +1 -0
  572. package/dist/cjs/internal/configError.js +284 -0
  573. package/dist/cjs/internal/configError.js.map +1 -0
  574. package/dist/cjs/internal/configProvider/pathPatch.js +83 -0
  575. package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -0
  576. package/dist/cjs/internal/configProvider.js +443 -0
  577. package/dist/cjs/internal/configProvider.js.map +1 -0
  578. package/dist/cjs/internal/console.js +79 -0
  579. package/dist/cjs/internal/console.js.map +1 -0
  580. package/dist/cjs/internal/context.js +273 -0
  581. package/dist/cjs/internal/context.js.map +1 -0
  582. package/dist/cjs/internal/core-effect.js +872 -0
  583. package/dist/cjs/internal/core-effect.js.map +1 -0
  584. package/dist/cjs/internal/core-stream.js +258 -0
  585. package/dist/cjs/internal/core-stream.js.map +1 -0
  586. package/dist/cjs/internal/core.js +1713 -0
  587. package/dist/cjs/internal/core.js.map +1 -0
  588. package/dist/cjs/internal/data.js +37 -0
  589. package/dist/cjs/internal/data.js.map +1 -0
  590. package/dist/cjs/internal/dataSource.js +107 -0
  591. package/dist/cjs/internal/dataSource.js.map +1 -0
  592. package/dist/cjs/internal/dateTime.js +839 -0
  593. package/dist/cjs/internal/dateTime.js.map +1 -0
  594. package/dist/cjs/internal/defaultServices/console.js +99 -0
  595. package/dist/cjs/internal/defaultServices/console.js.map +1 -0
  596. package/dist/cjs/internal/defaultServices.js +92 -0
  597. package/dist/cjs/internal/defaultServices.js.map +1 -0
  598. package/dist/cjs/internal/deferred.js +36 -0
  599. package/dist/cjs/internal/deferred.js.map +1 -0
  600. package/dist/cjs/internal/differ/chunkPatch.js +139 -0
  601. package/dist/cjs/internal/differ/chunkPatch.js.map +1 -0
  602. package/dist/cjs/internal/differ/contextPatch.js +152 -0
  603. package/dist/cjs/internal/differ/contextPatch.js.map +1 -0
  604. package/dist/cjs/internal/differ/hashMapPatch.js +139 -0
  605. package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -0
  606. package/dist/cjs/internal/differ/hashSetPatch.js +113 -0
  607. package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -0
  608. package/dist/cjs/internal/differ/orPatch.js +184 -0
  609. package/dist/cjs/internal/differ/orPatch.js.map +1 -0
  610. package/dist/cjs/internal/differ/readonlyArrayPatch.js +138 -0
  611. package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -0
  612. package/dist/cjs/internal/differ.js +149 -0
  613. package/dist/cjs/internal/differ.js.map +1 -0
  614. package/dist/cjs/internal/doNotation.js +25 -0
  615. package/dist/cjs/internal/doNotation.js.map +1 -0
  616. package/dist/cjs/internal/effect/circular.js +420 -0
  617. package/dist/cjs/internal/effect/circular.js.map +1 -0
  618. package/dist/cjs/internal/effectable.js +120 -0
  619. package/dist/cjs/internal/effectable.js.map +1 -0
  620. package/dist/cjs/internal/either.js +100 -0
  621. package/dist/cjs/internal/either.js.map +1 -0
  622. package/dist/cjs/internal/encoding/base64.js +81 -0
  623. package/dist/cjs/internal/encoding/base64.js.map +1 -0
  624. package/dist/cjs/internal/encoding/base64Url.js +30 -0
  625. package/dist/cjs/internal/encoding/base64Url.js.map +1 -0
  626. package/dist/cjs/internal/encoding/common.js +48 -0
  627. package/dist/cjs/internal/encoding/common.js.map +1 -0
  628. package/dist/cjs/internal/encoding/hex.js +57 -0
  629. package/dist/cjs/internal/encoding/hex.js.map +1 -0
  630. package/dist/cjs/internal/errors.js +13 -0
  631. package/dist/cjs/internal/errors.js.map +1 -0
  632. package/dist/cjs/internal/executionPlan.js +68 -0
  633. package/dist/cjs/internal/executionPlan.js.map +1 -0
  634. package/dist/cjs/internal/executionStrategy.js +54 -0
  635. package/dist/cjs/internal/executionStrategy.js.map +1 -0
  636. package/dist/cjs/internal/fiber.js +279 -0
  637. package/dist/cjs/internal/fiber.js.map +1 -0
  638. package/dist/cjs/internal/fiberId.js +239 -0
  639. package/dist/cjs/internal/fiberId.js.map +1 -0
  640. package/dist/cjs/internal/fiberMessage.js +38 -0
  641. package/dist/cjs/internal/fiberMessage.js.map +1 -0
  642. package/dist/cjs/internal/fiberRefs/patch.js +115 -0
  643. package/dist/cjs/internal/fiberRefs/patch.js.map +1 -0
  644. package/dist/cjs/internal/fiberRefs.js +203 -0
  645. package/dist/cjs/internal/fiberRefs.js.map +1 -0
  646. package/dist/cjs/internal/fiberRuntime.js +2207 -0
  647. package/dist/cjs/internal/fiberRuntime.js.map +1 -0
  648. package/dist/cjs/internal/fiberScope.js +52 -0
  649. package/dist/cjs/internal/fiberScope.js.map +1 -0
  650. package/dist/cjs/internal/fiberStatus.js +85 -0
  651. package/dist/cjs/internal/fiberStatus.js.map +1 -0
  652. package/dist/cjs/internal/groupBy.js +222 -0
  653. package/dist/cjs/internal/groupBy.js.map +1 -0
  654. package/dist/cjs/internal/hashMap/array.js +56 -0
  655. package/dist/cjs/internal/hashMap/array.js.map +1 -0
  656. package/dist/cjs/internal/hashMap/bitwise.js +38 -0
  657. package/dist/cjs/internal/hashMap/bitwise.js.map +1 -0
  658. package/dist/cjs/internal/hashMap/config.js +17 -0
  659. package/dist/cjs/internal/hashMap/config.js.map +1 -0
  660. package/dist/cjs/internal/hashMap/keySet.js +12 -0
  661. package/dist/cjs/internal/hashMap/keySet.js.map +1 -0
  662. package/dist/cjs/internal/hashMap/node.js +268 -0
  663. package/dist/cjs/internal/hashMap/node.js.map +1 -0
  664. package/dist/cjs/internal/hashMap.js +379 -0
  665. package/dist/cjs/internal/hashMap.js.map +1 -0
  666. package/dist/cjs/internal/hashSet.js +198 -0
  667. package/dist/cjs/internal/hashSet.js.map +1 -0
  668. package/dist/cjs/internal/keyedPool.js +170 -0
  669. package/dist/cjs/internal/keyedPool.js.map +1 -0
  670. package/dist/cjs/internal/layer/circular.js +80 -0
  671. package/dist/cjs/internal/layer/circular.js.map +1 -0
  672. package/dist/cjs/internal/layer.js +595 -0
  673. package/dist/cjs/internal/layer.js.map +1 -0
  674. package/dist/cjs/internal/logSpan.js +26 -0
  675. package/dist/cjs/internal/logSpan.js.map +1 -0
  676. package/dist/cjs/internal/logger-circular.js +26 -0
  677. package/dist/cjs/internal/logger-circular.js.map +1 -0
  678. package/dist/cjs/internal/logger.js +381 -0
  679. package/dist/cjs/internal/logger.js.map +1 -0
  680. package/dist/cjs/internal/mailbox.js +462 -0
  681. package/dist/cjs/internal/mailbox.js.map +1 -0
  682. package/dist/cjs/internal/managedRuntime/circular.js +10 -0
  683. package/dist/cjs/internal/managedRuntime/circular.js.map +1 -0
  684. package/dist/cjs/internal/managedRuntime.js +95 -0
  685. package/dist/cjs/internal/managedRuntime.js.map +1 -0
  686. package/dist/cjs/internal/matcher.js +320 -0
  687. package/dist/cjs/internal/matcher.js.map +1 -0
  688. package/dist/cjs/internal/metric/boundaries.js +53 -0
  689. package/dist/cjs/internal/metric/boundaries.js.map +1 -0
  690. package/dist/cjs/internal/metric/hook.js +388 -0
  691. package/dist/cjs/internal/metric/hook.js.map +1 -0
  692. package/dist/cjs/internal/metric/key.js +73 -0
  693. package/dist/cjs/internal/metric/key.js.map +1 -0
  694. package/dist/cjs/internal/metric/keyType.js +188 -0
  695. package/dist/cjs/internal/metric/keyType.js.map +1 -0
  696. package/dist/cjs/internal/metric/label.js +45 -0
  697. package/dist/cjs/internal/metric/label.js.map +1 -0
  698. package/dist/cjs/internal/metric/pair.js +40 -0
  699. package/dist/cjs/internal/metric/pair.js.map +1 -0
  700. package/dist/cjs/internal/metric/polling.js +80 -0
  701. package/dist/cjs/internal/metric/polling.js.map +1 -0
  702. package/dist/cjs/internal/metric/registry.js +113 -0
  703. package/dist/cjs/internal/metric/registry.js.map +1 -0
  704. package/dist/cjs/internal/metric/state.js +201 -0
  705. package/dist/cjs/internal/metric/state.js.map +1 -0
  706. package/dist/cjs/internal/metric.js +204 -0
  707. package/dist/cjs/internal/metric.js.map +1 -0
  708. package/dist/cjs/internal/opCodes/cause.js +19 -0
  709. package/dist/cjs/internal/opCodes/cause.js.map +1 -0
  710. package/dist/cjs/internal/opCodes/channel.js +35 -0
  711. package/dist/cjs/internal/opCodes/channel.js.map +1 -0
  712. package/dist/cjs/internal/opCodes/channelChildExecutorDecision.js +13 -0
  713. package/dist/cjs/internal/opCodes/channelChildExecutorDecision.js.map +1 -0
  714. package/dist/cjs/internal/opCodes/channelMergeDecision.js +11 -0
  715. package/dist/cjs/internal/opCodes/channelMergeDecision.js.map +1 -0
  716. package/dist/cjs/internal/opCodes/channelMergeState.js +13 -0
  717. package/dist/cjs/internal/opCodes/channelMergeState.js.map +1 -0
  718. package/dist/cjs/internal/opCodes/channelMergeStrategy.js +11 -0
  719. package/dist/cjs/internal/opCodes/channelMergeStrategy.js.map +1 -0
  720. package/dist/cjs/internal/opCodes/channelState.js +15 -0
  721. package/dist/cjs/internal/opCodes/channelState.js.map +1 -0
  722. package/dist/cjs/internal/opCodes/channelUpstreamPullRequest.js +11 -0
  723. package/dist/cjs/internal/opCodes/channelUpstreamPullRequest.js.map +1 -0
  724. package/dist/cjs/internal/opCodes/channelUpstreamPullStrategy.js +11 -0
  725. package/dist/cjs/internal/opCodes/channelUpstreamPullStrategy.js.map +1 -0
  726. package/dist/cjs/internal/opCodes/config.js +29 -0
  727. package/dist/cjs/internal/opCodes/config.js.map +1 -0
  728. package/dist/cjs/internal/opCodes/configError.js +19 -0
  729. package/dist/cjs/internal/opCodes/configError.js.map +1 -0
  730. package/dist/cjs/internal/opCodes/continuation.js +11 -0
  731. package/dist/cjs/internal/opCodes/continuation.js.map +1 -0
  732. package/dist/cjs/internal/opCodes/deferred.js +11 -0
  733. package/dist/cjs/internal/opCodes/deferred.js.map +1 -0
  734. package/dist/cjs/internal/opCodes/effect.js +37 -0
  735. package/dist/cjs/internal/opCodes/effect.js.map +1 -0
  736. package/dist/cjs/internal/opCodes/layer.js +27 -0
  737. package/dist/cjs/internal/opCodes/layer.js.map +1 -0
  738. package/dist/cjs/internal/opCodes/streamHaltStrategy.js +15 -0
  739. package/dist/cjs/internal/opCodes/streamHaltStrategy.js.map +1 -0
  740. package/dist/cjs/internal/option.js +82 -0
  741. package/dist/cjs/internal/option.js.map +1 -0
  742. package/dist/cjs/internal/pool.js +288 -0
  743. package/dist/cjs/internal/pool.js.map +1 -0
  744. package/dist/cjs/internal/pubsub.js +1287 -0
  745. package/dist/cjs/internal/pubsub.js.map +1 -0
  746. package/dist/cjs/internal/query.js +102 -0
  747. package/dist/cjs/internal/query.js.map +1 -0
  748. package/dist/cjs/internal/queue.js +518 -0
  749. package/dist/cjs/internal/queue.js.map +1 -0
  750. package/dist/cjs/internal/random.js +128 -0
  751. package/dist/cjs/internal/random.js.map +1 -0
  752. package/dist/cjs/internal/rateLimiter.js +52 -0
  753. package/dist/cjs/internal/rateLimiter.js.map +1 -0
  754. package/dist/cjs/internal/rcMap.js +182 -0
  755. package/dist/cjs/internal/rcMap.js.map +1 -0
  756. package/dist/cjs/internal/rcRef.js +139 -0
  757. package/dist/cjs/internal/rcRef.js.map +1 -0
  758. package/dist/cjs/internal/redBlackTree/iterator.js +199 -0
  759. package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -0
  760. package/dist/cjs/internal/redBlackTree/node.js +60 -0
  761. package/dist/cjs/internal/redBlackTree/node.js.map +1 -0
  762. package/dist/cjs/internal/redBlackTree.js +1088 -0
  763. package/dist/cjs/internal/redBlackTree.js.map +1 -0
  764. package/dist/cjs/internal/redacted.js +67 -0
  765. package/dist/cjs/internal/redacted.js.map +1 -0
  766. package/dist/cjs/internal/ref.js +121 -0
  767. package/dist/cjs/internal/ref.js.map +1 -0
  768. package/dist/cjs/internal/reloadable.js +56 -0
  769. package/dist/cjs/internal/reloadable.js.map +1 -0
  770. package/dist/cjs/internal/request.js +104 -0
  771. package/dist/cjs/internal/request.js.map +1 -0
  772. package/dist/cjs/internal/resource.js +49 -0
  773. package/dist/cjs/internal/resource.js.map +1 -0
  774. package/dist/cjs/internal/ringBuffer.js +64 -0
  775. package/dist/cjs/internal/ringBuffer.js.map +1 -0
  776. package/dist/cjs/internal/runtime.js +321 -0
  777. package/dist/cjs/internal/runtime.js.map +1 -0
  778. package/dist/cjs/internal/runtimeFlags.js +126 -0
  779. package/dist/cjs/internal/runtimeFlags.js.map +1 -0
  780. package/dist/cjs/internal/runtimeFlagsPatch.js +52 -0
  781. package/dist/cjs/internal/runtimeFlagsPatch.js.map +1 -0
  782. package/dist/cjs/internal/schedule/decision.js +44 -0
  783. package/dist/cjs/internal/schedule/decision.js.map +1 -0
  784. package/dist/cjs/internal/schedule/interval.js +83 -0
  785. package/dist/cjs/internal/schedule/interval.js.map +1 -0
  786. package/dist/cjs/internal/schedule/intervals.js +134 -0
  787. package/dist/cjs/internal/schedule/intervals.js.map +1 -0
  788. package/dist/cjs/internal/schedule.js +900 -0
  789. package/dist/cjs/internal/schedule.js.map +1 -0
  790. package/dist/cjs/internal/schema/errors.js +113 -0
  791. package/dist/cjs/internal/schema/errors.js.map +1 -0
  792. package/dist/cjs/internal/schema/schemaId.js +49 -0
  793. package/dist/cjs/internal/schema/schemaId.js.map +1 -0
  794. package/dist/cjs/internal/schema/util.js +48 -0
  795. package/dist/cjs/internal/schema/util.js.map +1 -0
  796. package/dist/cjs/internal/scopedCache.js +398 -0
  797. package/dist/cjs/internal/scopedCache.js.map +1 -0
  798. package/dist/cjs/internal/scopedRef.js +53 -0
  799. package/dist/cjs/internal/scopedRef.js.map +1 -0
  800. package/dist/cjs/internal/secret.js +90 -0
  801. package/dist/cjs/internal/secret.js.map +1 -0
  802. package/dist/cjs/internal/singleShotGen.js +37 -0
  803. package/dist/cjs/internal/singleShotGen.js.map +1 -0
  804. package/dist/cjs/internal/sink.js +883 -0
  805. package/dist/cjs/internal/sink.js.map +1 -0
  806. package/dist/cjs/internal/stack.js +12 -0
  807. package/dist/cjs/internal/stack.js.map +1 -0
  808. package/dist/cjs/internal/stm/core.js +525 -0
  809. package/dist/cjs/internal/stm/core.js.map +1 -0
  810. package/dist/cjs/internal/stm/entry.js +57 -0
  811. package/dist/cjs/internal/stm/entry.js.map +1 -0
  812. package/dist/cjs/internal/stm/journal.js +104 -0
  813. package/dist/cjs/internal/stm/journal.js.map +1 -0
  814. package/dist/cjs/internal/stm/opCodes/stm.js +31 -0
  815. package/dist/cjs/internal/stm/opCodes/stm.js.map +1 -0
  816. package/dist/cjs/internal/stm/opCodes/stmState.js +13 -0
  817. package/dist/cjs/internal/stm/opCodes/stmState.js.map +1 -0
  818. package/dist/cjs/internal/stm/opCodes/strategy.js +13 -0
  819. package/dist/cjs/internal/stm/opCodes/strategy.js.map +1 -0
  820. package/dist/cjs/internal/stm/opCodes/tExit.js +17 -0
  821. package/dist/cjs/internal/stm/opCodes/tExit.js.map +1 -0
  822. package/dist/cjs/internal/stm/opCodes/tryCommit.js +11 -0
  823. package/dist/cjs/internal/stm/opCodes/tryCommit.js.map +1 -0
  824. package/dist/cjs/internal/stm/stm.js +514 -0
  825. package/dist/cjs/internal/stm/stm.js.map +1 -0
  826. package/dist/cjs/internal/stm/stmState.js +102 -0
  827. package/dist/cjs/internal/stm/stmState.js.map +1 -0
  828. package/dist/cjs/internal/stm/tArray.js +258 -0
  829. package/dist/cjs/internal/stm/tArray.js.map +1 -0
  830. package/dist/cjs/internal/stm/tDeferred.js +51 -0
  831. package/dist/cjs/internal/stm/tDeferred.js.map +1 -0
  832. package/dist/cjs/internal/stm/tExit.js +116 -0
  833. package/dist/cjs/internal/stm/tExit.js.map +1 -0
  834. package/dist/cjs/internal/stm/tMap.js +448 -0
  835. package/dist/cjs/internal/stm/tMap.js.map +1 -0
  836. package/dist/cjs/internal/stm/tPriorityQueue.js +164 -0
  837. package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -0
  838. package/dist/cjs/internal/stm/tPubSub.js +397 -0
  839. package/dist/cjs/internal/stm/tPubSub.js.map +1 -0
  840. package/dist/cjs/internal/stm/tQueue.js +284 -0
  841. package/dist/cjs/internal/stm/tQueue.js.map +1 -0
  842. package/dist/cjs/internal/stm/tRandom.js +92 -0
  843. package/dist/cjs/internal/stm/tRandom.js.map +1 -0
  844. package/dist/cjs/internal/stm/tReentrantLock.js +215 -0
  845. package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -0
  846. package/dist/cjs/internal/stm/tRef.js +110 -0
  847. package/dist/cjs/internal/stm/tRef.js.map +1 -0
  848. package/dist/cjs/internal/stm/tSemaphore.js +72 -0
  849. package/dist/cjs/internal/stm/tSemaphore.js.map +1 -0
  850. package/dist/cjs/internal/stm/tSet.js +104 -0
  851. package/dist/cjs/internal/stm/tSet.js.map +1 -0
  852. package/dist/cjs/internal/stm/tSubscriptionRef.js +177 -0
  853. package/dist/cjs/internal/stm/tSubscriptionRef.js.map +1 -0
  854. package/dist/cjs/internal/stm/tryCommit.js +25 -0
  855. package/dist/cjs/internal/stm/tryCommit.js.map +1 -0
  856. package/dist/cjs/internal/stm/txnId.js +18 -0
  857. package/dist/cjs/internal/stm/txnId.js.map +1 -0
  858. package/dist/cjs/internal/stm/versioned.js +15 -0
  859. package/dist/cjs/internal/stm/versioned.js.map +1 -0
  860. package/dist/cjs/internal/stream/debounceState.js +29 -0
  861. package/dist/cjs/internal/stream/debounceState.js.map +1 -0
  862. package/dist/cjs/internal/stream/emit.js +129 -0
  863. package/dist/cjs/internal/stream/emit.js.map +1 -0
  864. package/dist/cjs/internal/stream/haltStrategy.js +75 -0
  865. package/dist/cjs/internal/stream/haltStrategy.js.map +1 -0
  866. package/dist/cjs/internal/stream/handoff.js +65 -0
  867. package/dist/cjs/internal/stream/handoff.js.map +1 -0
  868. package/dist/cjs/internal/stream/handoffSignal.js +31 -0
  869. package/dist/cjs/internal/stream/handoffSignal.js.map +1 -0
  870. package/dist/cjs/internal/stream/pull.js +34 -0
  871. package/dist/cjs/internal/stream/pull.js.map +1 -0
  872. package/dist/cjs/internal/stream/sinkEndReason.js +19 -0
  873. package/dist/cjs/internal/stream/sinkEndReason.js.map +1 -0
  874. package/dist/cjs/internal/stream/zipAllState.js +41 -0
  875. package/dist/cjs/internal/stream/zipAllState.js.map +1 -0
  876. package/dist/cjs/internal/stream/zipChunksState.js +29 -0
  877. package/dist/cjs/internal/stream/zipChunksState.js.map +1 -0
  878. package/dist/cjs/internal/stream.js +2979 -0
  879. package/dist/cjs/internal/stream.js.map +1 -0
  880. package/dist/cjs/internal/string-utils.js +90 -0
  881. package/dist/cjs/internal/string-utils.js.map +1 -0
  882. package/dist/cjs/internal/subscriptionRef.js +72 -0
  883. package/dist/cjs/internal/subscriptionRef.js.map +1 -0
  884. package/dist/cjs/internal/supervisor/patch.js +135 -0
  885. package/dist/cjs/internal/supervisor/patch.js.map +1 -0
  886. package/dist/cjs/internal/supervisor.js +222 -0
  887. package/dist/cjs/internal/supervisor.js.map +1 -0
  888. package/dist/cjs/internal/synchronizedRef.js +51 -0
  889. package/dist/cjs/internal/synchronizedRef.js.map +1 -0
  890. package/dist/cjs/internal/take.js +130 -0
  891. package/dist/cjs/internal/take.js.map +1 -0
  892. package/dist/cjs/internal/testing/sleep.js +14 -0
  893. package/dist/cjs/internal/testing/sleep.js.map +1 -0
  894. package/dist/cjs/internal/testing/suspendedWarningData.js +58 -0
  895. package/dist/cjs/internal/testing/suspendedWarningData.js.map +1 -0
  896. package/dist/cjs/internal/testing/warningData.js +59 -0
  897. package/dist/cjs/internal/testing/warningData.js.map +1 -0
  898. package/dist/cjs/internal/tracer.js +134 -0
  899. package/dist/cjs/internal/tracer.js.map +1 -0
  900. package/dist/cjs/internal/trie.js +564 -0
  901. package/dist/cjs/internal/trie.js.map +1 -0
  902. package/dist/cjs/internal/version.js +14 -0
  903. package/dist/cjs/internal/version.js.map +1 -0
  904. package/dist/dts/Arbitrary.d.ts +69 -0
  905. package/dist/dts/Arbitrary.d.ts.map +1 -0
  906. package/dist/dts/Array.d.ts +5922 -0
  907. package/dist/dts/Array.d.ts.map +1 -0
  908. package/dist/dts/BigDecimal.d.ts +1483 -0
  909. package/dist/dts/BigDecimal.d.ts.map +1 -0
  910. package/dist/dts/BigInt.d.ts +1033 -0
  911. package/dist/dts/BigInt.d.ts.map +1 -0
  912. package/dist/dts/Boolean.d.ts +523 -0
  913. package/dist/dts/Boolean.d.ts.map +1 -0
  914. package/dist/dts/Brand.d.ts +234 -0
  915. package/dist/dts/Brand.d.ts.map +1 -0
  916. package/dist/dts/Cache.d.ts +241 -0
  917. package/dist/dts/Cache.d.ts.map +1 -0
  918. package/dist/dts/Cause.d.ts +1928 -0
  919. package/dist/dts/Cause.d.ts.map +1 -0
  920. package/dist/dts/Channel.d.ts +1989 -0
  921. package/dist/dts/Channel.d.ts.map +1 -0
  922. package/dist/dts/ChildExecutorDecision.d.ts +135 -0
  923. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -0
  924. package/dist/dts/Chunk.d.ts +1709 -0
  925. package/dist/dts/Chunk.d.ts.map +1 -0
  926. package/dist/dts/Clock.d.ts +97 -0
  927. package/dist/dts/Clock.d.ts.map +1 -0
  928. package/dist/dts/Config.d.ts +667 -0
  929. package/dist/dts/Config.d.ts.map +1 -0
  930. package/dist/dts/ConfigError.d.ts +238 -0
  931. package/dist/dts/ConfigError.d.ts.map +1 -0
  932. package/dist/dts/ConfigProvider.d.ts +372 -0
  933. package/dist/dts/ConfigProvider.d.ts.map +1 -0
  934. package/dist/dts/ConfigProviderPathPatch.d.ts +118 -0
  935. package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -0
  936. package/dist/dts/Console.d.ts +224 -0
  937. package/dist/dts/Console.d.ts.map +1 -0
  938. package/dist/dts/Context.d.ts +823 -0
  939. package/dist/dts/Context.d.ts.map +1 -0
  940. package/dist/dts/Cron.d.ts +226 -0
  941. package/dist/dts/Cron.d.ts.map +1 -0
  942. package/dist/dts/Data.d.ts +613 -0
  943. package/dist/dts/Data.d.ts.map +1 -0
  944. package/dist/dts/DateTime.d.ts +2417 -0
  945. package/dist/dts/DateTime.d.ts.map +1 -0
  946. package/dist/dts/DefaultServices.d.ts +26 -0
  947. package/dist/dts/DefaultServices.d.ts.map +1 -0
  948. package/dist/dts/Deferred.d.ts +437 -0
  949. package/dist/dts/Deferred.d.ts.map +1 -0
  950. package/dist/dts/Differ.d.ts +420 -0
  951. package/dist/dts/Differ.d.ts.map +1 -0
  952. package/dist/dts/Duration.d.ts +557 -0
  953. package/dist/dts/Duration.d.ts.map +1 -0
  954. package/dist/dts/Effect.d.ts +26986 -0
  955. package/dist/dts/Effect.d.ts.map +1 -0
  956. package/dist/dts/Effectable.d.ts +93 -0
  957. package/dist/dts/Effectable.d.ts.map +1 -0
  958. package/dist/dts/Either.d.ts +1431 -0
  959. package/dist/dts/Either.d.ts.map +1 -0
  960. package/dist/dts/Encoding.d.ts +160 -0
  961. package/dist/dts/Encoding.d.ts.map +1 -0
  962. package/dist/dts/Equal.d.ts +34 -0
  963. package/dist/dts/Equal.d.ts.map +1 -0
  964. package/dist/dts/Equivalence.d.ts +158 -0
  965. package/dist/dts/Equivalence.d.ts.map +1 -0
  966. package/dist/dts/ExecutionPlan.d.ts +210 -0
  967. package/dist/dts/ExecutionPlan.d.ts.map +1 -0
  968. package/dist/dts/ExecutionStrategy.d.ts +122 -0
  969. package/dist/dts/ExecutionStrategy.d.ts.map +1 -0
  970. package/dist/dts/Exit.d.ts +663 -0
  971. package/dist/dts/Exit.d.ts.map +1 -0
  972. package/dist/dts/FastCheck.d.ts +9 -0
  973. package/dist/dts/FastCheck.d.ts.map +1 -0
  974. package/dist/dts/Fiber.d.ts +831 -0
  975. package/dist/dts/Fiber.d.ts.map +1 -0
  976. package/dist/dts/FiberHandle.d.ts +270 -0
  977. package/dist/dts/FiberHandle.d.ts.map +1 -0
  978. package/dist/dts/FiberId.d.ts +196 -0
  979. package/dist/dts/FiberId.d.ts.map +1 -0
  980. package/dist/dts/FiberMap.d.ts +368 -0
  981. package/dist/dts/FiberMap.d.ts.map +1 -0
  982. package/dist/dts/FiberRef.d.ts +422 -0
  983. package/dist/dts/FiberRef.d.ts.map +1 -0
  984. package/dist/dts/FiberRefs.d.ts +256 -0
  985. package/dist/dts/FiberRefs.d.ts.map +1 -0
  986. package/dist/dts/FiberRefsPatch.d.ts +125 -0
  987. package/dist/dts/FiberRefsPatch.d.ts.map +1 -0
  988. package/dist/dts/FiberSet.d.ts +236 -0
  989. package/dist/dts/FiberSet.d.ts.map +1 -0
  990. package/dist/dts/FiberStatus.d.ts +94 -0
  991. package/dist/dts/FiberStatus.d.ts.map +1 -0
  992. package/dist/dts/Function.d.ts +660 -0
  993. package/dist/dts/Function.d.ts.map +1 -0
  994. package/dist/dts/GlobalValue.d.ts +25 -0
  995. package/dist/dts/GlobalValue.d.ts.map +1 -0
  996. package/dist/dts/Graph.d.ts +1753 -0
  997. package/dist/dts/Graph.d.ts.map +1 -0
  998. package/dist/dts/GroupBy.d.ts +125 -0
  999. package/dist/dts/GroupBy.d.ts.map +1 -0
  1000. package/dist/dts/HKT.d.ts +41 -0
  1001. package/dist/dts/HKT.d.ts.map +1 -0
  1002. package/dist/dts/Hash.d.ts +79 -0
  1003. package/dist/dts/Hash.d.ts.map +1 -0
  1004. package/dist/dts/HashMap.d.ts +863 -0
  1005. package/dist/dts/HashMap.d.ts.map +1 -0
  1006. package/dist/dts/HashRing.d.ts +158 -0
  1007. package/dist/dts/HashRing.d.ts.map +1 -0
  1008. package/dist/dts/HashSet.d.ts +2271 -0
  1009. package/dist/dts/HashSet.d.ts.map +1 -0
  1010. package/dist/dts/Inspectable.d.ts +88 -0
  1011. package/dist/dts/Inspectable.d.ts.map +1 -0
  1012. package/dist/dts/Iterable.d.ts +1047 -0
  1013. package/dist/dts/Iterable.d.ts.map +1 -0
  1014. package/dist/dts/JSONSchema.d.ts +268 -0
  1015. package/dist/dts/JSONSchema.d.ts.map +1 -0
  1016. package/dist/dts/KeyedPool.d.ts +182 -0
  1017. package/dist/dts/KeyedPool.d.ts.map +1 -0
  1018. package/dist/dts/Layer.d.ts +1374 -0
  1019. package/dist/dts/Layer.d.ts.map +1 -0
  1020. package/dist/dts/LayerMap.d.ts +265 -0
  1021. package/dist/dts/LayerMap.d.ts.map +1 -0
  1022. package/dist/dts/List.d.ts +937 -0
  1023. package/dist/dts/List.d.ts.map +1 -0
  1024. package/dist/dts/LogLevel.d.ts +333 -0
  1025. package/dist/dts/LogLevel.d.ts.map +1 -0
  1026. package/dist/dts/LogSpan.d.ts +19 -0
  1027. package/dist/dts/LogSpan.d.ts.map +1 -0
  1028. package/dist/dts/Logger.d.ts +795 -0
  1029. package/dist/dts/Logger.d.ts.map +1 -0
  1030. package/dist/dts/Mailbox.d.ts +274 -0
  1031. package/dist/dts/Mailbox.d.ts.map +1 -0
  1032. package/dist/dts/ManagedRuntime.d.ts +154 -0
  1033. package/dist/dts/ManagedRuntime.d.ts.map +1 -0
  1034. package/dist/dts/Match.d.ts +1140 -0
  1035. package/dist/dts/Match.d.ts.map +1 -0
  1036. package/dist/dts/MergeDecision.d.ts +86 -0
  1037. package/dist/dts/MergeDecision.d.ts.map +1 -0
  1038. package/dist/dts/MergeState.d.ts +130 -0
  1039. package/dist/dts/MergeState.d.ts.map +1 -0
  1040. package/dist/dts/MergeStrategy.d.ts +104 -0
  1041. package/dist/dts/MergeStrategy.d.ts.map +1 -0
  1042. package/dist/dts/Metric.d.ts +1042 -0
  1043. package/dist/dts/Metric.d.ts.map +1 -0
  1044. package/dist/dts/MetricBoundaries.d.ts +58 -0
  1045. package/dist/dts/MetricBoundaries.d.ts.map +1 -0
  1046. package/dist/dts/MetricHook.d.ts +155 -0
  1047. package/dist/dts/MetricHook.d.ts.map +1 -0
  1048. package/dist/dts/MetricKey.d.ts +222 -0
  1049. package/dist/dts/MetricKey.d.ts.map +1 -0
  1050. package/dist/dts/MetricKeyType.d.ts +224 -0
  1051. package/dist/dts/MetricKeyType.d.ts.map +1 -0
  1052. package/dist/dts/MetricLabel.d.ts +42 -0
  1053. package/dist/dts/MetricLabel.d.ts.map +1 -0
  1054. package/dist/dts/MetricPair.d.ts +54 -0
  1055. package/dist/dts/MetricPair.d.ts.map +1 -0
  1056. package/dist/dts/MetricPolling.d.ts +151 -0
  1057. package/dist/dts/MetricPolling.d.ts.map +1 -0
  1058. package/dist/dts/MetricRegistry.d.ts +34 -0
  1059. package/dist/dts/MetricRegistry.d.ts.map +1 -0
  1060. package/dist/dts/MetricState.d.ts +238 -0
  1061. package/dist/dts/MetricState.d.ts.map +1 -0
  1062. package/dist/dts/Micro.d.ts +3440 -0
  1063. package/dist/dts/Micro.d.ts.map +1 -0
  1064. package/dist/dts/ModuleVersion.d.ts +11 -0
  1065. package/dist/dts/ModuleVersion.d.ts.map +1 -0
  1066. package/dist/dts/MutableHashMap.d.ts +170 -0
  1067. package/dist/dts/MutableHashMap.d.ts.map +1 -0
  1068. package/dist/dts/MutableHashSet.d.ts +547 -0
  1069. package/dist/dts/MutableHashSet.d.ts.map +1 -0
  1070. package/dist/dts/MutableList.d.ts +150 -0
  1071. package/dist/dts/MutableList.d.ts.map +1 -0
  1072. package/dist/dts/MutableQueue.d.ts +189 -0
  1073. package/dist/dts/MutableQueue.d.ts.map +1 -0
  1074. package/dist/dts/MutableRef.d.ts +175 -0
  1075. package/dist/dts/MutableRef.d.ts.map +1 -0
  1076. package/dist/dts/NonEmptyIterable.d.ts +21 -0
  1077. package/dist/dts/NonEmptyIterable.d.ts.map +1 -0
  1078. package/dist/dts/Number.d.ts +1361 -0
  1079. package/dist/dts/Number.d.ts.map +1 -0
  1080. package/dist/dts/Option.d.ts +3757 -0
  1081. package/dist/dts/Option.d.ts.map +1 -0
  1082. package/dist/dts/Order.d.ts +260 -0
  1083. package/dist/dts/Order.d.ts.map +1 -0
  1084. package/dist/dts/Ordering.d.ts +144 -0
  1085. package/dist/dts/Ordering.d.ts.map +1 -0
  1086. package/dist/dts/ParseResult.d.ts +560 -0
  1087. package/dist/dts/ParseResult.d.ts.map +1 -0
  1088. package/dist/dts/PartitionedSemaphore.d.ts +76 -0
  1089. package/dist/dts/PartitionedSemaphore.d.ts.map +1 -0
  1090. package/dist/dts/Pipeable.d.ts +65 -0
  1091. package/dist/dts/Pipeable.d.ts.map +1 -0
  1092. package/dist/dts/Pool.d.ts +201 -0
  1093. package/dist/dts/Pool.d.ts.map +1 -0
  1094. package/dist/dts/Predicate.d.ts +2197 -0
  1095. package/dist/dts/Predicate.d.ts.map +1 -0
  1096. package/dist/dts/Pretty.d.ts +26 -0
  1097. package/dist/dts/Pretty.d.ts.map +1 -0
  1098. package/dist/dts/PrimaryKey.d.ts +21 -0
  1099. package/dist/dts/PrimaryKey.d.ts.map +1 -0
  1100. package/dist/dts/PubSub.d.ts +197 -0
  1101. package/dist/dts/PubSub.d.ts.map +1 -0
  1102. package/dist/dts/Queue.d.ts +664 -0
  1103. package/dist/dts/Queue.d.ts.map +1 -0
  1104. package/dist/dts/Random.d.ts +183 -0
  1105. package/dist/dts/Random.d.ts.map +1 -0
  1106. package/dist/dts/RateLimiter.d.ts +134 -0
  1107. package/dist/dts/RateLimiter.d.ts.map +1 -0
  1108. package/dist/dts/RcMap.d.ts +231 -0
  1109. package/dist/dts/RcMap.d.ts.map +1 -0
  1110. package/dist/dts/RcRef.d.ts +111 -0
  1111. package/dist/dts/RcRef.d.ts.map +1 -0
  1112. package/dist/dts/Readable.d.ts +72 -0
  1113. package/dist/dts/Readable.d.ts.map +1 -0
  1114. package/dist/dts/Record.d.ts +1547 -0
  1115. package/dist/dts/Record.d.ts.map +1 -0
  1116. package/dist/dts/RedBlackTree.d.ts +676 -0
  1117. package/dist/dts/RedBlackTree.d.ts.map +1 -0
  1118. package/dist/dts/Redacted.d.ts +133 -0
  1119. package/dist/dts/Redacted.d.ts.map +1 -0
  1120. package/dist/dts/Ref.d.ts +250 -0
  1121. package/dist/dts/Ref.d.ts.map +1 -0
  1122. package/dist/dts/RegExp.d.ts +31 -0
  1123. package/dist/dts/RegExp.d.ts.map +1 -0
  1124. package/dist/dts/Reloadable.d.ts +102 -0
  1125. package/dist/dts/Reloadable.d.ts.map +1 -0
  1126. package/dist/dts/Request.d.ts +383 -0
  1127. package/dist/dts/Request.d.ts.map +1 -0
  1128. package/dist/dts/RequestBlock.d.ts +94 -0
  1129. package/dist/dts/RequestBlock.d.ts.map +1 -0
  1130. package/dist/dts/RequestResolver.d.ts +413 -0
  1131. package/dist/dts/RequestResolver.d.ts.map +1 -0
  1132. package/dist/dts/Resource.d.ts +99 -0
  1133. package/dist/dts/Resource.d.ts.map +1 -0
  1134. package/dist/dts/Runtime.d.ts +578 -0
  1135. package/dist/dts/Runtime.d.ts.map +1 -0
  1136. package/dist/dts/RuntimeFlags.d.ts +397 -0
  1137. package/dist/dts/RuntimeFlags.d.ts.map +1 -0
  1138. package/dist/dts/RuntimeFlagsPatch.d.ts +273 -0
  1139. package/dist/dts/RuntimeFlagsPatch.d.ts.map +1 -0
  1140. package/dist/dts/STM.d.ts +2645 -0
  1141. package/dist/dts/STM.d.ts.map +1 -0
  1142. package/dist/dts/Schedule.d.ts +3509 -0
  1143. package/dist/dts/Schedule.d.ts.map +1 -0
  1144. package/dist/dts/ScheduleDecision.d.ts +50 -0
  1145. package/dist/dts/ScheduleDecision.d.ts.map +1 -0
  1146. package/dist/dts/ScheduleInterval.d.ts +204 -0
  1147. package/dist/dts/ScheduleInterval.d.ts.map +1 -0
  1148. package/dist/dts/ScheduleIntervals.d.ts +159 -0
  1149. package/dist/dts/ScheduleIntervals.d.ts.map +1 -0
  1150. package/dist/dts/Scheduler.d.ts +161 -0
  1151. package/dist/dts/Scheduler.d.ts.map +1 -0
  1152. package/dist/dts/Schema.d.ts +5094 -0
  1153. package/dist/dts/Schema.d.ts.map +1 -0
  1154. package/dist/dts/SchemaAST.d.ts +1360 -0
  1155. package/dist/dts/SchemaAST.d.ts.map +1 -0
  1156. package/dist/dts/Scope.d.ts +194 -0
  1157. package/dist/dts/Scope.d.ts.map +1 -0
  1158. package/dist/dts/ScopedCache.d.ts +127 -0
  1159. package/dist/dts/ScopedCache.d.ts.map +1 -0
  1160. package/dist/dts/ScopedRef.d.ts +125 -0
  1161. package/dist/dts/ScopedRef.d.ts.map +1 -0
  1162. package/dist/dts/Secret.d.ts +76 -0
  1163. package/dist/dts/Secret.d.ts.map +1 -0
  1164. package/dist/dts/SingleProducerAsyncInput.d.ts +57 -0
  1165. package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -0
  1166. package/dist/dts/Sink.d.ts +1616 -0
  1167. package/dist/dts/Sink.d.ts.map +1 -0
  1168. package/dist/dts/SortedMap.d.ts +234 -0
  1169. package/dist/dts/SortedMap.d.ts.map +1 -0
  1170. package/dist/dts/SortedSet.d.ts +333 -0
  1171. package/dist/dts/SortedSet.d.ts.map +1 -0
  1172. package/dist/dts/Stream.d.ts +10803 -0
  1173. package/dist/dts/Stream.d.ts.map +1 -0
  1174. package/dist/dts/StreamEmit.d.ts +117 -0
  1175. package/dist/dts/StreamEmit.d.ts.map +1 -0
  1176. package/dist/dts/StreamHaltStrategy.d.ts +116 -0
  1177. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -0
  1178. package/dist/dts/Streamable.d.ts +27 -0
  1179. package/dist/dts/Streamable.d.ts.map +1 -0
  1180. package/dist/dts/String.d.ts +848 -0
  1181. package/dist/dts/String.d.ts.map +1 -0
  1182. package/dist/dts/Struct.d.ts +295 -0
  1183. package/dist/dts/Struct.d.ts.map +1 -0
  1184. package/dist/dts/Subscribable.d.ts +76 -0
  1185. package/dist/dts/Subscribable.d.ts.map +1 -0
  1186. package/dist/dts/SubscriptionRef.d.ts +384 -0
  1187. package/dist/dts/SubscriptionRef.d.ts.map +1 -0
  1188. package/dist/dts/Supervisor.d.ts +171 -0
  1189. package/dist/dts/Supervisor.d.ts.map +1 -0
  1190. package/dist/dts/Symbol.d.ts +26 -0
  1191. package/dist/dts/Symbol.d.ts.map +1 -0
  1192. package/dist/dts/SynchronizedRef.d.ts +378 -0
  1193. package/dist/dts/SynchronizedRef.d.ts.map +1 -0
  1194. package/dist/dts/TArray.d.ts +857 -0
  1195. package/dist/dts/TArray.d.ts.map +1 -0
  1196. package/dist/dts/TDeferred.d.ts +104 -0
  1197. package/dist/dts/TDeferred.d.ts.map +1 -0
  1198. package/dist/dts/TMap.d.ts +780 -0
  1199. package/dist/dts/TMap.d.ts.map +1 -0
  1200. package/dist/dts/TPriorityQueue.d.ts +250 -0
  1201. package/dist/dts/TPriorityQueue.d.ts.map +1 -0
  1202. package/dist/dts/TPubSub.d.ts +186 -0
  1203. package/dist/dts/TPubSub.d.ts.map +1 -0
  1204. package/dist/dts/TQueue.d.ts +492 -0
  1205. package/dist/dts/TQueue.d.ts.map +1 -0
  1206. package/dist/dts/TRandom.d.ts +108 -0
  1207. package/dist/dts/TRandom.d.ts.map +1 -0
  1208. package/dist/dts/TReentrantLock.d.ts +230 -0
  1209. package/dist/dts/TReentrantLock.d.ts.map +1 -0
  1210. package/dist/dts/TRef.d.ts +235 -0
  1211. package/dist/dts/TRef.d.ts.map +1 -0
  1212. package/dist/dts/TSemaphore.d.ts +145 -0
  1213. package/dist/dts/TSemaphore.d.ts.map +1 -0
  1214. package/dist/dts/TSet.d.ts +564 -0
  1215. package/dist/dts/TSet.d.ts.map +1 -0
  1216. package/dist/dts/TSubscriptionRef.d.ts +251 -0
  1217. package/dist/dts/TSubscriptionRef.d.ts.map +1 -0
  1218. package/dist/dts/Take.d.ts +271 -0
  1219. package/dist/dts/Take.d.ts.map +1 -0
  1220. package/dist/dts/TestAnnotation.d.ts +71 -0
  1221. package/dist/dts/TestAnnotation.d.ts.map +1 -0
  1222. package/dist/dts/TestAnnotationMap.d.ts +56 -0
  1223. package/dist/dts/TestAnnotationMap.d.ts.map +1 -0
  1224. package/dist/dts/TestAnnotations.d.ts +59 -0
  1225. package/dist/dts/TestAnnotations.d.ts.map +1 -0
  1226. package/dist/dts/TestClock.d.ts +147 -0
  1227. package/dist/dts/TestClock.d.ts.map +1 -0
  1228. package/dist/dts/TestConfig.d.ts +45 -0
  1229. package/dist/dts/TestConfig.d.ts.map +1 -0
  1230. package/dist/dts/TestContext.d.ts +15 -0
  1231. package/dist/dts/TestContext.d.ts.map +1 -0
  1232. package/dist/dts/TestLive.d.ts +35 -0
  1233. package/dist/dts/TestLive.d.ts.map +1 -0
  1234. package/dist/dts/TestServices.d.ts +231 -0
  1235. package/dist/dts/TestServices.d.ts.map +1 -0
  1236. package/dist/dts/TestSized.d.ts +36 -0
  1237. package/dist/dts/TestSized.d.ts.map +1 -0
  1238. package/dist/dts/Tracer.d.ts +152 -0
  1239. package/dist/dts/Tracer.d.ts.map +1 -0
  1240. package/dist/dts/Trie.d.ts +1828 -0
  1241. package/dist/dts/Trie.d.ts.map +1 -0
  1242. package/dist/dts/Tuple.d.ts +446 -0
  1243. package/dist/dts/Tuple.d.ts.map +1 -0
  1244. package/dist/dts/Types.d.ts +330 -0
  1245. package/dist/dts/Types.d.ts.map +1 -0
  1246. package/dist/dts/Unify.d.ts +75 -0
  1247. package/dist/dts/Unify.d.ts.map +1 -0
  1248. package/dist/dts/UpstreamPullRequest.d.ts +109 -0
  1249. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -0
  1250. package/dist/dts/UpstreamPullStrategy.d.ts +110 -0
  1251. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -0
  1252. package/dist/dts/Utils.d.ts +283 -0
  1253. package/dist/dts/Utils.d.ts.map +1 -0
  1254. package/dist/dts/index.d.ts +1385 -0
  1255. package/dist/dts/index.d.ts.map +1 -0
  1256. package/dist/dts/internal/array.d.ts +5 -0
  1257. package/dist/dts/internal/array.d.ts.map +1 -0
  1258. package/dist/dts/internal/blockedRequests.d.ts +2 -0
  1259. package/dist/dts/internal/blockedRequests.d.ts.map +1 -0
  1260. package/dist/dts/internal/cache.d.ts +2 -0
  1261. package/dist/dts/internal/cache.d.ts.map +1 -0
  1262. package/dist/dts/internal/cause.d.ts +2 -0
  1263. package/dist/dts/internal/cause.d.ts.map +1 -0
  1264. package/dist/dts/internal/channel/channelExecutor.d.ts +3 -0
  1265. package/dist/dts/internal/channel/channelExecutor.d.ts.map +1 -0
  1266. package/dist/dts/internal/channel/channelState.d.ts +2 -0
  1267. package/dist/dts/internal/channel/channelState.d.ts.map +1 -0
  1268. package/dist/dts/internal/channel/childExecutorDecision.d.ts +2 -0
  1269. package/dist/dts/internal/channel/childExecutorDecision.d.ts.map +1 -0
  1270. package/dist/dts/internal/channel/continuation.d.ts +2 -0
  1271. package/dist/dts/internal/channel/continuation.d.ts.map +1 -0
  1272. package/dist/dts/internal/channel/mergeDecision.d.ts +2 -0
  1273. package/dist/dts/internal/channel/mergeDecision.d.ts.map +1 -0
  1274. package/dist/dts/internal/channel/mergeState.d.ts +2 -0
  1275. package/dist/dts/internal/channel/mergeState.d.ts.map +1 -0
  1276. package/dist/dts/internal/channel/mergeStrategy.d.ts +2 -0
  1277. package/dist/dts/internal/channel/mergeStrategy.d.ts.map +1 -0
  1278. package/dist/dts/internal/channel/singleProducerAsyncInput.d.ts +2 -0
  1279. package/dist/dts/internal/channel/singleProducerAsyncInput.d.ts.map +1 -0
  1280. package/dist/dts/internal/channel/subexecutor.d.ts +2 -0
  1281. package/dist/dts/internal/channel/subexecutor.d.ts.map +1 -0
  1282. package/dist/dts/internal/channel/upstreamPullRequest.d.ts +2 -0
  1283. package/dist/dts/internal/channel/upstreamPullRequest.d.ts.map +1 -0
  1284. package/dist/dts/internal/channel/upstreamPullStrategy.d.ts +2 -0
  1285. package/dist/dts/internal/channel/upstreamPullStrategy.d.ts.map +1 -0
  1286. package/dist/dts/internal/channel.d.ts +2 -0
  1287. package/dist/dts/internal/channel.d.ts.map +1 -0
  1288. package/dist/dts/internal/clock.d.ts +2 -0
  1289. package/dist/dts/internal/clock.d.ts.map +1 -0
  1290. package/dist/dts/internal/completedRequestMap.d.ts +2 -0
  1291. package/dist/dts/internal/completedRequestMap.d.ts.map +1 -0
  1292. package/dist/dts/internal/concurrency.d.ts +2 -0
  1293. package/dist/dts/internal/concurrency.d.ts.map +1 -0
  1294. package/dist/dts/internal/config.d.ts +2 -0
  1295. package/dist/dts/internal/config.d.ts.map +1 -0
  1296. package/dist/dts/internal/configError.d.ts +2 -0
  1297. package/dist/dts/internal/configError.d.ts.map +1 -0
  1298. package/dist/dts/internal/configProvider/pathPatch.d.ts +2 -0
  1299. package/dist/dts/internal/configProvider/pathPatch.d.ts.map +1 -0
  1300. package/dist/dts/internal/configProvider.d.ts +2 -0
  1301. package/dist/dts/internal/configProvider.d.ts.map +1 -0
  1302. package/dist/dts/internal/console.d.ts +2 -0
  1303. package/dist/dts/internal/console.d.ts.map +1 -0
  1304. package/dist/dts/internal/context.d.ts +2 -0
  1305. package/dist/dts/internal/context.d.ts.map +1 -0
  1306. package/dist/dts/internal/core-effect.d.ts +8 -0
  1307. package/dist/dts/internal/core-effect.d.ts.map +1 -0
  1308. package/dist/dts/internal/core-stream.d.ts +9 -0
  1309. package/dist/dts/internal/core-stream.d.ts.map +1 -0
  1310. package/dist/dts/internal/core.d.ts +9 -0
  1311. package/dist/dts/internal/core.d.ts.map +1 -0
  1312. package/dist/dts/internal/data.d.ts +2 -0
  1313. package/dist/dts/internal/data.d.ts.map +1 -0
  1314. package/dist/dts/internal/dataSource.d.ts +2 -0
  1315. package/dist/dts/internal/dataSource.d.ts.map +1 -0
  1316. package/dist/dts/internal/dateTime.d.ts +2 -0
  1317. package/dist/dts/internal/dateTime.d.ts.map +1 -0
  1318. package/dist/dts/internal/defaultServices/console.d.ts +2 -0
  1319. package/dist/dts/internal/defaultServices/console.d.ts.map +1 -0
  1320. package/dist/dts/internal/defaultServices.d.ts +10 -0
  1321. package/dist/dts/internal/defaultServices.d.ts.map +1 -0
  1322. package/dist/dts/internal/deferred.d.ts +2 -0
  1323. package/dist/dts/internal/deferred.d.ts.map +1 -0
  1324. package/dist/dts/internal/differ/chunkPatch.d.ts +2 -0
  1325. package/dist/dts/internal/differ/chunkPatch.d.ts.map +1 -0
  1326. package/dist/dts/internal/differ/contextPatch.d.ts +2 -0
  1327. package/dist/dts/internal/differ/contextPatch.d.ts.map +1 -0
  1328. package/dist/dts/internal/differ/hashMapPatch.d.ts +2 -0
  1329. package/dist/dts/internal/differ/hashMapPatch.d.ts.map +1 -0
  1330. package/dist/dts/internal/differ/hashSetPatch.d.ts +2 -0
  1331. package/dist/dts/internal/differ/hashSetPatch.d.ts.map +1 -0
  1332. package/dist/dts/internal/differ/orPatch.d.ts +2 -0
  1333. package/dist/dts/internal/differ/orPatch.d.ts.map +1 -0
  1334. package/dist/dts/internal/differ/readonlyArrayPatch.d.ts +2 -0
  1335. package/dist/dts/internal/differ/readonlyArrayPatch.d.ts.map +1 -0
  1336. package/dist/dts/internal/differ.d.ts +2 -0
  1337. package/dist/dts/internal/differ.d.ts.map +1 -0
  1338. package/dist/dts/internal/doNotation.d.ts +2 -0
  1339. package/dist/dts/internal/doNotation.d.ts.map +1 -0
  1340. package/dist/dts/internal/effect/circular.d.ts +2 -0
  1341. package/dist/dts/internal/effect/circular.d.ts.map +1 -0
  1342. package/dist/dts/internal/effectable.d.ts +2 -0
  1343. package/dist/dts/internal/effectable.d.ts.map +1 -0
  1344. package/dist/dts/internal/either.d.ts +5 -0
  1345. package/dist/dts/internal/either.d.ts.map +1 -0
  1346. package/dist/dts/internal/encoding/base64.d.ts +2 -0
  1347. package/dist/dts/internal/encoding/base64.d.ts.map +1 -0
  1348. package/dist/dts/internal/encoding/base64Url.d.ts +2 -0
  1349. package/dist/dts/internal/encoding/base64Url.d.ts.map +1 -0
  1350. package/dist/dts/internal/encoding/common.d.ts +5 -0
  1351. package/dist/dts/internal/encoding/common.d.ts.map +1 -0
  1352. package/dist/dts/internal/encoding/hex.d.ts +2 -0
  1353. package/dist/dts/internal/encoding/hex.d.ts.map +1 -0
  1354. package/dist/dts/internal/errors.d.ts +5 -0
  1355. package/dist/dts/internal/errors.d.ts.map +1 -0
  1356. package/dist/dts/internal/executionPlan.d.ts +2 -0
  1357. package/dist/dts/internal/executionPlan.d.ts.map +1 -0
  1358. package/dist/dts/internal/executionStrategy.d.ts +2 -0
  1359. package/dist/dts/internal/executionStrategy.d.ts.map +1 -0
  1360. package/dist/dts/internal/fiber.d.ts +6 -0
  1361. package/dist/dts/internal/fiber.d.ts.map +1 -0
  1362. package/dist/dts/internal/fiberId.d.ts +2 -0
  1363. package/dist/dts/internal/fiberId.d.ts.map +1 -0
  1364. package/dist/dts/internal/fiberMessage.d.ts +2 -0
  1365. package/dist/dts/internal/fiberMessage.d.ts.map +1 -0
  1366. package/dist/dts/internal/fiberRefs/patch.d.ts +2 -0
  1367. package/dist/dts/internal/fiberRefs/patch.d.ts.map +1 -0
  1368. package/dist/dts/internal/fiberRefs.d.ts +2 -0
  1369. package/dist/dts/internal/fiberRefs.d.ts.map +1 -0
  1370. package/dist/dts/internal/fiberRuntime.d.ts +7 -0
  1371. package/dist/dts/internal/fiberRuntime.d.ts.map +1 -0
  1372. package/dist/dts/internal/fiberScope.d.ts +18 -0
  1373. package/dist/dts/internal/fiberScope.d.ts.map +1 -0
  1374. package/dist/dts/internal/fiberStatus.d.ts +2 -0
  1375. package/dist/dts/internal/fiberStatus.d.ts.map +1 -0
  1376. package/dist/dts/internal/groupBy.d.ts +2 -0
  1377. package/dist/dts/internal/groupBy.d.ts.map +1 -0
  1378. package/dist/dts/internal/hashMap/array.d.ts +2 -0
  1379. package/dist/dts/internal/hashMap/array.d.ts.map +1 -0
  1380. package/dist/dts/internal/hashMap/bitwise.d.ts +2 -0
  1381. package/dist/dts/internal/hashMap/bitwise.d.ts.map +1 -0
  1382. package/dist/dts/internal/hashMap/config.d.ts +2 -0
  1383. package/dist/dts/internal/hashMap/config.d.ts.map +1 -0
  1384. package/dist/dts/internal/hashMap/keySet.d.ts +2 -0
  1385. package/dist/dts/internal/hashMap/keySet.d.ts.map +1 -0
  1386. package/dist/dts/internal/hashMap/node.d.ts +2 -0
  1387. package/dist/dts/internal/hashMap/node.d.ts.map +1 -0
  1388. package/dist/dts/internal/hashMap.d.ts +9 -0
  1389. package/dist/dts/internal/hashMap.d.ts.map +1 -0
  1390. package/dist/dts/internal/hashSet.d.ts +2 -0
  1391. package/dist/dts/internal/hashSet.d.ts.map +1 -0
  1392. package/dist/dts/internal/keyedPool.d.ts +2 -0
  1393. package/dist/dts/internal/keyedPool.d.ts.map +1 -0
  1394. package/dist/dts/internal/layer/circular.d.ts +2 -0
  1395. package/dist/dts/internal/layer/circular.d.ts.map +1 -0
  1396. package/dist/dts/internal/layer.d.ts +16 -0
  1397. package/dist/dts/internal/layer.d.ts.map +1 -0
  1398. package/dist/dts/internal/logSpan.d.ts +2 -0
  1399. package/dist/dts/internal/logSpan.d.ts.map +1 -0
  1400. package/dist/dts/internal/logger-circular.d.ts +2 -0
  1401. package/dist/dts/internal/logger-circular.d.ts.map +1 -0
  1402. package/dist/dts/internal/logger.d.ts +2 -0
  1403. package/dist/dts/internal/logger.d.ts.map +1 -0
  1404. package/dist/dts/internal/mailbox.d.ts +2 -0
  1405. package/dist/dts/internal/mailbox.d.ts.map +1 -0
  1406. package/dist/dts/internal/managedRuntime/circular.d.ts +2 -0
  1407. package/dist/dts/internal/managedRuntime/circular.d.ts.map +1 -0
  1408. package/dist/dts/internal/managedRuntime.d.ts +2 -0
  1409. package/dist/dts/internal/managedRuntime.d.ts.map +1 -0
  1410. package/dist/dts/internal/matcher.d.ts +2 -0
  1411. package/dist/dts/internal/matcher.d.ts.map +1 -0
  1412. package/dist/dts/internal/metric/boundaries.d.ts +2 -0
  1413. package/dist/dts/internal/metric/boundaries.d.ts.map +1 -0
  1414. package/dist/dts/internal/metric/hook.d.ts +2 -0
  1415. package/dist/dts/internal/metric/hook.d.ts.map +1 -0
  1416. package/dist/dts/internal/metric/key.d.ts +2 -0
  1417. package/dist/dts/internal/metric/key.d.ts.map +1 -0
  1418. package/dist/dts/internal/metric/keyType.d.ts +2 -0
  1419. package/dist/dts/internal/metric/keyType.d.ts.map +1 -0
  1420. package/dist/dts/internal/metric/label.d.ts +2 -0
  1421. package/dist/dts/internal/metric/label.d.ts.map +1 -0
  1422. package/dist/dts/internal/metric/pair.d.ts +2 -0
  1423. package/dist/dts/internal/metric/pair.d.ts.map +1 -0
  1424. package/dist/dts/internal/metric/polling.d.ts +2 -0
  1425. package/dist/dts/internal/metric/polling.d.ts.map +1 -0
  1426. package/dist/dts/internal/metric/registry.d.ts +2 -0
  1427. package/dist/dts/internal/metric/registry.d.ts.map +1 -0
  1428. package/dist/dts/internal/metric/state.d.ts +22 -0
  1429. package/dist/dts/internal/metric/state.d.ts.map +1 -0
  1430. package/dist/dts/internal/metric.d.ts +2 -0
  1431. package/dist/dts/internal/metric.d.ts.map +1 -0
  1432. package/dist/dts/internal/opCodes/cause.d.ts +2 -0
  1433. package/dist/dts/internal/opCodes/cause.d.ts.map +1 -0
  1434. package/dist/dts/internal/opCodes/channel.d.ts +2 -0
  1435. package/dist/dts/internal/opCodes/channel.d.ts.map +1 -0
  1436. package/dist/dts/internal/opCodes/channelChildExecutorDecision.d.ts +2 -0
  1437. package/dist/dts/internal/opCodes/channelChildExecutorDecision.d.ts.map +1 -0
  1438. package/dist/dts/internal/opCodes/channelMergeDecision.d.ts +2 -0
  1439. package/dist/dts/internal/opCodes/channelMergeDecision.d.ts.map +1 -0
  1440. package/dist/dts/internal/opCodes/channelMergeState.d.ts +2 -0
  1441. package/dist/dts/internal/opCodes/channelMergeState.d.ts.map +1 -0
  1442. package/dist/dts/internal/opCodes/channelMergeStrategy.d.ts +2 -0
  1443. package/dist/dts/internal/opCodes/channelMergeStrategy.d.ts.map +1 -0
  1444. package/dist/dts/internal/opCodes/channelState.d.ts +2 -0
  1445. package/dist/dts/internal/opCodes/channelState.d.ts.map +1 -0
  1446. package/dist/dts/internal/opCodes/channelUpstreamPullRequest.d.ts +2 -0
  1447. package/dist/dts/internal/opCodes/channelUpstreamPullRequest.d.ts.map +1 -0
  1448. package/dist/dts/internal/opCodes/channelUpstreamPullStrategy.d.ts +2 -0
  1449. package/dist/dts/internal/opCodes/channelUpstreamPullStrategy.d.ts.map +1 -0
  1450. package/dist/dts/internal/opCodes/config.d.ts +2 -0
  1451. package/dist/dts/internal/opCodes/config.d.ts.map +1 -0
  1452. package/dist/dts/internal/opCodes/configError.d.ts +2 -0
  1453. package/dist/dts/internal/opCodes/configError.d.ts.map +1 -0
  1454. package/dist/dts/internal/opCodes/continuation.d.ts +2 -0
  1455. package/dist/dts/internal/opCodes/continuation.d.ts.map +1 -0
  1456. package/dist/dts/internal/opCodes/deferred.d.ts +2 -0
  1457. package/dist/dts/internal/opCodes/deferred.d.ts.map +1 -0
  1458. package/dist/dts/internal/opCodes/effect.d.ts +2 -0
  1459. package/dist/dts/internal/opCodes/effect.d.ts.map +1 -0
  1460. package/dist/dts/internal/opCodes/layer.d.ts +2 -0
  1461. package/dist/dts/internal/opCodes/layer.d.ts.map +1 -0
  1462. package/dist/dts/internal/opCodes/streamHaltStrategy.d.ts +2 -0
  1463. package/dist/dts/internal/opCodes/streamHaltStrategy.d.ts.map +1 -0
  1464. package/dist/dts/internal/option.d.ts +5 -0
  1465. package/dist/dts/internal/option.d.ts.map +1 -0
  1466. package/dist/dts/internal/pool.d.ts +2 -0
  1467. package/dist/dts/internal/pool.d.ts.map +1 -0
  1468. package/dist/dts/internal/pubsub.d.ts +2 -0
  1469. package/dist/dts/internal/pubsub.d.ts.map +1 -0
  1470. package/dist/dts/internal/query.d.ts +2 -0
  1471. package/dist/dts/internal/query.d.ts.map +1 -0
  1472. package/dist/dts/internal/queue.d.ts +2 -0
  1473. package/dist/dts/internal/queue.d.ts.map +1 -0
  1474. package/dist/dts/internal/random.d.ts +3 -0
  1475. package/dist/dts/internal/random.d.ts.map +1 -0
  1476. package/dist/dts/internal/rateLimiter.d.ts +2 -0
  1477. package/dist/dts/internal/rateLimiter.d.ts.map +1 -0
  1478. package/dist/dts/internal/rcMap.d.ts +2 -0
  1479. package/dist/dts/internal/rcMap.d.ts.map +1 -0
  1480. package/dist/dts/internal/rcRef.d.ts +2 -0
  1481. package/dist/dts/internal/rcRef.d.ts.map +1 -0
  1482. package/dist/dts/internal/redBlackTree/iterator.d.ts +2 -0
  1483. package/dist/dts/internal/redBlackTree/iterator.d.ts.map +1 -0
  1484. package/dist/dts/internal/redBlackTree/node.d.ts +14 -0
  1485. package/dist/dts/internal/redBlackTree/node.d.ts.map +1 -0
  1486. package/dist/dts/internal/redBlackTree.d.ts +2 -0
  1487. package/dist/dts/internal/redBlackTree.d.ts.map +1 -0
  1488. package/dist/dts/internal/redacted.d.ts +2 -0
  1489. package/dist/dts/internal/redacted.d.ts.map +1 -0
  1490. package/dist/dts/internal/ref.d.ts +2 -0
  1491. package/dist/dts/internal/ref.d.ts.map +1 -0
  1492. package/dist/dts/internal/reloadable.d.ts +2 -0
  1493. package/dist/dts/internal/reloadable.d.ts.map +1 -0
  1494. package/dist/dts/internal/request.d.ts +2 -0
  1495. package/dist/dts/internal/request.d.ts.map +1 -0
  1496. package/dist/dts/internal/resource.d.ts +2 -0
  1497. package/dist/dts/internal/resource.d.ts.map +1 -0
  1498. package/dist/dts/internal/ringBuffer.d.ts +2 -0
  1499. package/dist/dts/internal/ringBuffer.d.ts.map +1 -0
  1500. package/dist/dts/internal/runtime.d.ts +2 -0
  1501. package/dist/dts/internal/runtime.d.ts.map +1 -0
  1502. package/dist/dts/internal/runtimeFlags.d.ts +3 -0
  1503. package/dist/dts/internal/runtimeFlags.d.ts.map +1 -0
  1504. package/dist/dts/internal/runtimeFlagsPatch.d.ts +2 -0
  1505. package/dist/dts/internal/runtimeFlagsPatch.d.ts.map +1 -0
  1506. package/dist/dts/internal/schedule/decision.d.ts +2 -0
  1507. package/dist/dts/internal/schedule/decision.d.ts.map +1 -0
  1508. package/dist/dts/internal/schedule/interval.d.ts +2 -0
  1509. package/dist/dts/internal/schedule/interval.d.ts.map +1 -0
  1510. package/dist/dts/internal/schedule/intervals.d.ts +2 -0
  1511. package/dist/dts/internal/schedule/intervals.d.ts.map +1 -0
  1512. package/dist/dts/internal/schedule.d.ts +2 -0
  1513. package/dist/dts/internal/schedule.d.ts.map +1 -0
  1514. package/dist/dts/internal/schema/errors.d.ts +2 -0
  1515. package/dist/dts/internal/schema/errors.d.ts.map +1 -0
  1516. package/dist/dts/internal/schema/schemaId.d.ts +2 -0
  1517. package/dist/dts/internal/schema/schemaId.d.ts.map +1 -0
  1518. package/dist/dts/internal/schema/util.d.ts +2 -0
  1519. package/dist/dts/internal/schema/util.d.ts.map +1 -0
  1520. package/dist/dts/internal/scopedCache.d.ts +2 -0
  1521. package/dist/dts/internal/scopedCache.d.ts.map +1 -0
  1522. package/dist/dts/internal/scopedRef.d.ts +2 -0
  1523. package/dist/dts/internal/scopedRef.d.ts.map +1 -0
  1524. package/dist/dts/internal/secret.d.ts +2 -0
  1525. package/dist/dts/internal/secret.d.ts.map +1 -0
  1526. package/dist/dts/internal/singleShotGen.d.ts +2 -0
  1527. package/dist/dts/internal/singleShotGen.d.ts.map +1 -0
  1528. package/dist/dts/internal/sink.d.ts +2 -0
  1529. package/dist/dts/internal/sink.d.ts.map +1 -0
  1530. package/dist/dts/internal/stack.d.ts +2 -0
  1531. package/dist/dts/internal/stack.d.ts.map +1 -0
  1532. package/dist/dts/internal/stm/core.d.ts +2 -0
  1533. package/dist/dts/internal/stm/core.d.ts.map +1 -0
  1534. package/dist/dts/internal/stm/entry.d.ts +2 -0
  1535. package/dist/dts/internal/stm/entry.d.ts.map +1 -0
  1536. package/dist/dts/internal/stm/journal.d.ts +2 -0
  1537. package/dist/dts/internal/stm/journal.d.ts.map +1 -0
  1538. package/dist/dts/internal/stm/opCodes/stm.d.ts +2 -0
  1539. package/dist/dts/internal/stm/opCodes/stm.d.ts.map +1 -0
  1540. package/dist/dts/internal/stm/opCodes/stmState.d.ts +2 -0
  1541. package/dist/dts/internal/stm/opCodes/stmState.d.ts.map +1 -0
  1542. package/dist/dts/internal/stm/opCodes/strategy.d.ts +2 -0
  1543. package/dist/dts/internal/stm/opCodes/strategy.d.ts.map +1 -0
  1544. package/dist/dts/internal/stm/opCodes/tExit.d.ts +2 -0
  1545. package/dist/dts/internal/stm/opCodes/tExit.d.ts.map +1 -0
  1546. package/dist/dts/internal/stm/opCodes/tryCommit.d.ts +2 -0
  1547. package/dist/dts/internal/stm/opCodes/tryCommit.d.ts.map +1 -0
  1548. package/dist/dts/internal/stm/stm.d.ts +7 -0
  1549. package/dist/dts/internal/stm/stm.d.ts.map +1 -0
  1550. package/dist/dts/internal/stm/stmState.d.ts +2 -0
  1551. package/dist/dts/internal/stm/stmState.d.ts.map +1 -0
  1552. package/dist/dts/internal/stm/tArray.d.ts +2 -0
  1553. package/dist/dts/internal/stm/tArray.d.ts.map +1 -0
  1554. package/dist/dts/internal/stm/tDeferred.d.ts +2 -0
  1555. package/dist/dts/internal/stm/tDeferred.d.ts.map +1 -0
  1556. package/dist/dts/internal/stm/tExit.d.ts +5 -0
  1557. package/dist/dts/internal/stm/tExit.d.ts.map +1 -0
  1558. package/dist/dts/internal/stm/tMap.d.ts +2 -0
  1559. package/dist/dts/internal/stm/tMap.d.ts.map +1 -0
  1560. package/dist/dts/internal/stm/tPriorityQueue.d.ts +2 -0
  1561. package/dist/dts/internal/stm/tPriorityQueue.d.ts.map +1 -0
  1562. package/dist/dts/internal/stm/tPubSub.d.ts +2 -0
  1563. package/dist/dts/internal/stm/tPubSub.d.ts.map +1 -0
  1564. package/dist/dts/internal/stm/tQueue.d.ts +2 -0
  1565. package/dist/dts/internal/stm/tQueue.d.ts.map +1 -0
  1566. package/dist/dts/internal/stm/tRandom.d.ts +2 -0
  1567. package/dist/dts/internal/stm/tRandom.d.ts.map +1 -0
  1568. package/dist/dts/internal/stm/tReentrantLock.d.ts +2 -0
  1569. package/dist/dts/internal/stm/tReentrantLock.d.ts.map +1 -0
  1570. package/dist/dts/internal/stm/tRef.d.ts +4 -0
  1571. package/dist/dts/internal/stm/tRef.d.ts.map +1 -0
  1572. package/dist/dts/internal/stm/tSemaphore.d.ts +2 -0
  1573. package/dist/dts/internal/stm/tSemaphore.d.ts.map +1 -0
  1574. package/dist/dts/internal/stm/tSet.d.ts +2 -0
  1575. package/dist/dts/internal/stm/tSet.d.ts.map +1 -0
  1576. package/dist/dts/internal/stm/tSubscriptionRef.d.ts +2 -0
  1577. package/dist/dts/internal/stm/tSubscriptionRef.d.ts.map +1 -0
  1578. package/dist/dts/internal/stm/tryCommit.d.ts +2 -0
  1579. package/dist/dts/internal/stm/tryCommit.d.ts.map +1 -0
  1580. package/dist/dts/internal/stm/txnId.d.ts +2 -0
  1581. package/dist/dts/internal/stm/txnId.d.ts.map +1 -0
  1582. package/dist/dts/internal/stm/versioned.d.ts +2 -0
  1583. package/dist/dts/internal/stm/versioned.d.ts.map +1 -0
  1584. package/dist/dts/internal/stream/debounceState.d.ts +4 -0
  1585. package/dist/dts/internal/stream/debounceState.d.ts.map +1 -0
  1586. package/dist/dts/internal/stream/emit.d.ts +2 -0
  1587. package/dist/dts/internal/stream/emit.d.ts.map +1 -0
  1588. package/dist/dts/internal/stream/haltStrategy.d.ts +2 -0
  1589. package/dist/dts/internal/stream/haltStrategy.d.ts.map +1 -0
  1590. package/dist/dts/internal/stream/handoff.d.ts +2 -0
  1591. package/dist/dts/internal/stream/handoff.d.ts.map +1 -0
  1592. package/dist/dts/internal/stream/handoffSignal.d.ts +6 -0
  1593. package/dist/dts/internal/stream/handoffSignal.d.ts.map +1 -0
  1594. package/dist/dts/internal/stream/pull.d.ts +2 -0
  1595. package/dist/dts/internal/stream/pull.d.ts.map +1 -0
  1596. package/dist/dts/internal/stream/sinkEndReason.d.ts +2 -0
  1597. package/dist/dts/internal/stream/sinkEndReason.d.ts.map +1 -0
  1598. package/dist/dts/internal/stream/zipAllState.d.ts +2 -0
  1599. package/dist/dts/internal/stream/zipAllState.d.ts.map +1 -0
  1600. package/dist/dts/internal/stream/zipChunksState.d.ts +2 -0
  1601. package/dist/dts/internal/stream/zipChunksState.d.ts.map +1 -0
  1602. package/dist/dts/internal/stream.d.ts +29 -0
  1603. package/dist/dts/internal/stream.d.ts.map +1 -0
  1604. package/dist/dts/internal/string-utils.d.ts +7 -0
  1605. package/dist/dts/internal/string-utils.d.ts.map +1 -0
  1606. package/dist/dts/internal/subscriptionRef.d.ts +2 -0
  1607. package/dist/dts/internal/subscriptionRef.d.ts.map +1 -0
  1608. package/dist/dts/internal/supervisor/patch.d.ts +2 -0
  1609. package/dist/dts/internal/supervisor/patch.d.ts.map +1 -0
  1610. package/dist/dts/internal/supervisor.d.ts +2 -0
  1611. package/dist/dts/internal/supervisor.d.ts.map +1 -0
  1612. package/dist/dts/internal/synchronizedRef.d.ts +2 -0
  1613. package/dist/dts/internal/synchronizedRef.d.ts.map +1 -0
  1614. package/dist/dts/internal/take.d.ts +2 -0
  1615. package/dist/dts/internal/take.d.ts.map +1 -0
  1616. package/dist/dts/internal/testing/sleep.d.ts +2 -0
  1617. package/dist/dts/internal/testing/sleep.d.ts.map +1 -0
  1618. package/dist/dts/internal/testing/suspendedWarningData.d.ts +2 -0
  1619. package/dist/dts/internal/testing/suspendedWarningData.d.ts.map +1 -0
  1620. package/dist/dts/internal/testing/warningData.d.ts +2 -0
  1621. package/dist/dts/internal/testing/warningData.d.ts.map +1 -0
  1622. package/dist/dts/internal/tracer.d.ts +2 -0
  1623. package/dist/dts/internal/tracer.d.ts.map +1 -0
  1624. package/dist/dts/internal/trie.d.ts +2 -0
  1625. package/dist/dts/internal/trie.d.ts.map +1 -0
  1626. package/dist/dts/internal/version.d.ts +3 -0
  1627. package/dist/dts/internal/version.d.ts.map +1 -0
  1628. package/dist/esm/Arbitrary.js +798 -0
  1629. package/dist/esm/Arbitrary.js.map +1 -0
  1630. package/dist/esm/Array.js +2703 -0
  1631. package/dist/esm/Array.js.map +1 -0
  1632. package/dist/esm/BigDecimal.js +1087 -0
  1633. package/dist/esm/BigDecimal.js.map +1 -0
  1634. package/dist/esm/BigInt.js +548 -0
  1635. package/dist/esm/BigInt.js.map +1 -0
  1636. package/dist/esm/Boolean.js +240 -0
  1637. package/dist/esm/Boolean.js.map +1 -0
  1638. package/dist/esm/Brand.js +161 -0
  1639. package/dist/esm/Brand.js.map +1 -0
  1640. package/dist/esm/Cache.js +43 -0
  1641. package/dist/esm/Cache.js.map +1 -0
  1642. package/dist/esm/Cause.js +1004 -0
  1643. package/dist/esm/Cause.js.map +1 -0
  1644. package/dist/esm/Channel.js +887 -0
  1645. package/dist/esm/Channel.js.map +1 -0
  1646. package/dist/esm/ChildExecutorDecision.js +64 -0
  1647. package/dist/esm/ChildExecutorDecision.js.map +1 -0
  1648. package/dist/esm/Chunk.js +1083 -0
  1649. package/dist/esm/Chunk.js.map +1 -0
  1650. package/dist/esm/Clock.js +38 -0
  1651. package/dist/esm/Clock.js.map +1 -0
  1652. package/dist/esm/Config.js +321 -0
  1653. package/dist/esm/Config.js.map +1 -0
  1654. package/dist/esm/ConfigError.js +107 -0
  1655. package/dist/esm/ConfigError.js.map +1 -0
  1656. package/dist/esm/ConfigProvider.js +166 -0
  1657. package/dist/esm/ConfigProvider.js.map +1 -0
  1658. package/dist/esm/ConfigProviderPathPatch.js +30 -0
  1659. package/dist/esm/ConfigProviderPathPatch.js.map +1 -0
  1660. package/dist/esm/Console.js +118 -0
  1661. package/dist/esm/Console.js.map +1 -0
  1662. package/dist/esm/Context.js +360 -0
  1663. package/dist/esm/Context.js.map +1 -0
  1664. package/dist/esm/Cron.js +566 -0
  1665. package/dist/esm/Cron.js.map +1 -0
  1666. package/dist/esm/Data.js +305 -0
  1667. package/dist/esm/Data.js.map +1 -0
  1668. package/dist/esm/DateTime.js +1071 -0
  1669. package/dist/esm/DateTime.js.map +1 -0
  1670. package/dist/esm/DefaultServices.js +12 -0
  1671. package/dist/esm/DefaultServices.js.map +1 -0
  1672. package/dist/esm/Deferred.js +169 -0
  1673. package/dist/esm/Deferred.js.map +1 -0
  1674. package/dist/esm/Differ.js +132 -0
  1675. package/dist/esm/Differ.js.map +1 -0
  1676. package/dist/esm/Duration.js +702 -0
  1677. package/dist/esm/Duration.js.map +1 -0
  1678. package/dist/esm/Effect.js +10883 -0
  1679. package/dist/esm/Effect.js.map +1 -0
  1680. package/dist/esm/Effectable.js +49 -0
  1681. package/dist/esm/Effectable.js.map +1 -0
  1682. package/dist/esm/Either.js +688 -0
  1683. package/dist/esm/Either.js.map +1 -0
  1684. package/dist/esm/Encoding.js +136 -0
  1685. package/dist/esm/Encoding.js.map +1 -0
  1686. package/dist/esm/Equal.js +71 -0
  1687. package/dist/esm/Equal.js.map +1 -0
  1688. package/dist/esm/Equivalence.js +166 -0
  1689. package/dist/esm/Equivalence.js.map +1 -0
  1690. package/dist/esm/ExecutionPlan.js +99 -0
  1691. package/dist/esm/ExecutionPlan.js.map +1 -0
  1692. package/dist/esm/ExecutionStrategy.js +55 -0
  1693. package/dist/esm/ExecutionStrategy.js.map +1 -0
  1694. package/dist/esm/Exit.js +257 -0
  1695. package/dist/esm/Exit.js.map +1 -0
  1696. package/dist/esm/FastCheck.js +9 -0
  1697. package/dist/esm/FastCheck.js.map +1 -0
  1698. package/dist/esm/Fiber.js +350 -0
  1699. package/dist/esm/Fiber.js.map +1 -0
  1700. package/dist/esm/FiberHandle.js +316 -0
  1701. package/dist/esm/FiberHandle.js.map +1 -0
  1702. package/dist/esm/FiberId.js +115 -0
  1703. package/dist/esm/FiberId.js.map +1 -0
  1704. package/dist/esm/FiberMap.js +356 -0
  1705. package/dist/esm/FiberMap.js.map +1 -0
  1706. package/dist/esm/FiberRef.js +242 -0
  1707. package/dist/esm/FiberRef.js.map +1 -0
  1708. package/dist/esm/FiberRefs.js +92 -0
  1709. package/dist/esm/FiberRefs.js.map +1 -0
  1710. package/dist/esm/FiberRefsPatch.js +32 -0
  1711. package/dist/esm/FiberRefsPatch.js.map +1 -0
  1712. package/dist/esm/FiberSet.js +289 -0
  1713. package/dist/esm/FiberSet.js.map +1 -0
  1714. package/dist/esm/FiberStatus.js +52 -0
  1715. package/dist/esm/FiberStatus.js.map +1 -0
  1716. package/dist/esm/Function.js +467 -0
  1717. package/dist/esm/Function.js.map +1 -0
  1718. package/dist/esm/GlobalValue.js +52 -0
  1719. package/dist/esm/GlobalValue.js.map +1 -0
  1720. package/dist/esm/Graph.js +3019 -0
  1721. package/dist/esm/Graph.js.map +1 -0
  1722. package/dist/esm/GroupBy.js +39 -0
  1723. package/dist/esm/GroupBy.js.map +1 -0
  1724. package/dist/esm/HKT.js +2 -0
  1725. package/dist/esm/HKT.js.map +1 -0
  1726. package/dist/esm/Hash.js +166 -0
  1727. package/dist/esm/Hash.js.map +1 -0
  1728. package/dist/esm/HashMap.js +312 -0
  1729. package/dist/esm/HashMap.js.map +1 -0
  1730. package/dist/esm/HashRing.js +245 -0
  1731. package/dist/esm/HashRing.js.map +1 -0
  1732. package/dist/esm/HashSet.js +1253 -0
  1733. package/dist/esm/HashSet.js.map +1 -0
  1734. package/dist/esm/Inspectable.js +194 -0
  1735. package/dist/esm/Inspectable.js.map +1 -0
  1736. package/dist/esm/Iterable.js +987 -0
  1737. package/dist/esm/Iterable.js.map +1 -0
  1738. package/dist/esm/JSONSchema.js +715 -0
  1739. package/dist/esm/JSONSchema.js.map +1 -0
  1740. package/dist/esm/KeyedPool.js +76 -0
  1741. package/dist/esm/KeyedPool.js.map +1 -0
  1742. package/dist/esm/Layer.js +642 -0
  1743. package/dist/esm/Layer.js.map +1 -0
  1744. package/dist/esm/LayerMap.js +202 -0
  1745. package/dist/esm/LayerMap.js.map +1 -0
  1746. package/dist/esm/List.js +756 -0
  1747. package/dist/esm/List.js.map +1 -0
  1748. package/dist/esm/LogLevel.js +135 -0
  1749. package/dist/esm/LogLevel.js.map +1 -0
  1750. package/dist/esm/LogSpan.js +15 -0
  1751. package/dist/esm/LogSpan.js.map +1 -0
  1752. package/dist/esm/Logger.js +490 -0
  1753. package/dist/esm/Logger.js.map +1 -0
  1754. package/dist/esm/Mailbox.js +96 -0
  1755. package/dist/esm/Mailbox.js.map +1 -0
  1756. package/dist/esm/ManagedRuntime.js +42 -0
  1757. package/dist/esm/ManagedRuntime.js.map +1 -0
  1758. package/dist/esm/Match.js +828 -0
  1759. package/dist/esm/Match.js.map +1 -0
  1760. package/dist/esm/MergeDecision.js +35 -0
  1761. package/dist/esm/MergeDecision.js.map +1 -0
  1762. package/dist/esm/MergeState.js +58 -0
  1763. package/dist/esm/MergeState.js.map +1 -0
  1764. package/dist/esm/MergeStrategy.js +51 -0
  1765. package/dist/esm/MergeStrategy.js.map +1 -0
  1766. package/dist/esm/Metric.js +408 -0
  1767. package/dist/esm/Metric.js.map +1 -0
  1768. package/dist/esm/MetricBoundaries.js +33 -0
  1769. package/dist/esm/MetricBoundaries.js.map +1 -0
  1770. package/dist/esm/MetricHook.js +47 -0
  1771. package/dist/esm/MetricHook.js.map +1 -0
  1772. package/dist/esm/MetricKey.js +63 -0
  1773. package/dist/esm/MetricKey.js.map +1 -0
  1774. package/dist/esm/MetricKeyType.js +87 -0
  1775. package/dist/esm/MetricKeyType.js.map +1 -0
  1776. package/dist/esm/MetricLabel.js +17 -0
  1777. package/dist/esm/MetricLabel.js.map +1 -0
  1778. package/dist/esm/MetricPair.js +20 -0
  1779. package/dist/esm/MetricPair.js.map +1 -0
  1780. package/dist/esm/MetricPolling.js +59 -0
  1781. package/dist/esm/MetricPolling.js.map +1 -0
  1782. package/dist/esm/MetricRegistry.js +15 -0
  1783. package/dist/esm/MetricRegistry.js.map +1 -0
  1784. package/dist/esm/MetricState.js +87 -0
  1785. package/dist/esm/MetricState.js.map +1 -0
  1786. package/dist/esm/Micro.js +2528 -0
  1787. package/dist/esm/Micro.js.map +1 -0
  1788. package/dist/esm/ModuleVersion.js +17 -0
  1789. package/dist/esm/ModuleVersion.js.map +1 -0
  1790. package/dist/esm/MutableHashMap.js +299 -0
  1791. package/dist/esm/MutableHashMap.js.map +1 -0
  1792. package/dist/esm/MutableHashSet.js +511 -0
  1793. package/dist/esm/MutableHashSet.js.map +1 -0
  1794. package/dist/esm/MutableList.js +240 -0
  1795. package/dist/esm/MutableList.js.map +1 -0
  1796. package/dist/esm/MutableQueue.js +159 -0
  1797. package/dist/esm/MutableQueue.js.map +1 -0
  1798. package/dist/esm/MutableRef.js +127 -0
  1799. package/dist/esm/MutableRef.js.map +1 -0
  1800. package/dist/esm/NonEmptyIterable.js +16 -0
  1801. package/dist/esm/NonEmptyIterable.js.map +1 -0
  1802. package/dist/esm/Number.js +887 -0
  1803. package/dist/esm/Number.js.map +1 -0
  1804. package/dist/esm/Option.js +1785 -0
  1805. package/dist/esm/Option.js.map +1 -0
  1806. package/dist/esm/Order.js +252 -0
  1807. package/dist/esm/Order.js.map +1 -0
  1808. package/dist/esm/Ordering.js +72 -0
  1809. package/dist/esm/Ordering.js.map +1 -0
  1810. package/dist/esm/ParseResult.js +1556 -0
  1811. package/dist/esm/ParseResult.js.map +1 -0
  1812. package/dist/esm/PartitionedSemaphore.js +137 -0
  1813. package/dist/esm/PartitionedSemaphore.js.map +1 -0
  1814. package/dist/esm/Pipeable.js +62 -0
  1815. package/dist/esm/Pipeable.js.map +1 -0
  1816. package/dist/esm/Pool.js +100 -0
  1817. package/dist/esm/Pool.js.map +1 -0
  1818. package/dist/esm/Predicate.js +1117 -0
  1819. package/dist/esm/Predicate.js.map +1 -0
  1820. package/dist/esm/Pretty.js +174 -0
  1821. package/dist/esm/Pretty.js.map +1 -0
  1822. package/dist/esm/PrimaryKey.js +14 -0
  1823. package/dist/esm/PrimaryKey.js.map +1 -0
  1824. package/dist/esm/PubSub.js +120 -0
  1825. package/dist/esm/PubSub.js.map +1 -0
  1826. package/dist/esm/Queue.js +248 -0
  1827. package/dist/esm/Queue.js.map +1 -0
  1828. package/dist/esm/Random.js +138 -0
  1829. package/dist/esm/Random.js.map +1 -0
  1830. package/dist/esm/RateLimiter.js +77 -0
  1831. package/dist/esm/RateLimiter.js.map +1 -0
  1832. package/dist/esm/RcMap.js +69 -0
  1833. package/dist/esm/RcMap.js.map +1 -0
  1834. package/dist/esm/RcRef.js +51 -0
  1835. package/dist/esm/RcRef.js.map +1 -0
  1836. package/dist/esm/Readable.js +45 -0
  1837. package/dist/esm/Readable.js.map +1 -0
  1838. package/dist/esm/Record.js +846 -0
  1839. package/dist/esm/Record.js.map +1 -0
  1840. package/dist/esm/RedBlackTree.js +259 -0
  1841. package/dist/esm/RedBlackTree.js.map +1 -0
  1842. package/dist/esm/Redacted.js +93 -0
  1843. package/dist/esm/Redacted.js.map +1 -0
  1844. package/dist/esm/Ref.js +77 -0
  1845. package/dist/esm/Ref.js.map +1 -0
  1846. package/dist/esm/RegExp.js +37 -0
  1847. package/dist/esm/RegExp.js.map +1 -0
  1848. package/dist/esm/Reloadable.js +59 -0
  1849. package/dist/esm/Reloadable.js.map +1 -0
  1850. package/dist/esm/Request.js +140 -0
  1851. package/dist/esm/Request.js.map +1 -0
  1852. package/dist/esm/RequestBlock.js +35 -0
  1853. package/dist/esm/RequestBlock.js.map +1 -0
  1854. package/dist/esm/RequestResolver.js +175 -0
  1855. package/dist/esm/RequestResolver.js.map +1 -0
  1856. package/dist/esm/Resource.js +44 -0
  1857. package/dist/esm/Resource.js.map +1 -0
  1858. package/dist/esm/Runtime.js +181 -0
  1859. package/dist/esm/Runtime.js.map +1 -0
  1860. package/dist/esm/RuntimeFlags.js +251 -0
  1861. package/dist/esm/RuntimeFlags.js.map +1 -0
  1862. package/dist/esm/RuntimeFlagsPatch.js +134 -0
  1863. package/dist/esm/RuntimeFlagsPatch.js.map +1 -0
  1864. package/dist/esm/STM.js +1002 -0
  1865. package/dist/esm/STM.js.map +1 -0
  1866. package/dist/esm/Schedule.js +1595 -0
  1867. package/dist/esm/Schedule.js.map +1 -0
  1868. package/dist/esm/ScheduleDecision.js +32 -0
  1869. package/dist/esm/ScheduleDecision.js.map +1 -0
  1870. package/dist/esm/ScheduleInterval.js +100 -0
  1871. package/dist/esm/ScheduleInterval.js.map +1 -0
  1872. package/dist/esm/ScheduleIntervals.js +78 -0
  1873. package/dist/esm/ScheduleIntervals.js.map +1 -0
  1874. package/dist/esm/Scheduler.js +289 -0
  1875. package/dist/esm/Scheduler.js.map +1 -0
  1876. package/dist/esm/Schema.js +6035 -0
  1877. package/dist/esm/Schema.js.map +1 -0
  1878. package/dist/esm/SchemaAST.js +2485 -0
  1879. package/dist/esm/SchemaAST.js.map +1 -0
  1880. package/dist/esm/Scope.js +94 -0
  1881. package/dist/esm/Scope.js.map +1 -0
  1882. package/dist/esm/ScopedCache.js +24 -0
  1883. package/dist/esm/ScopedCache.js.map +1 -0
  1884. package/dist/esm/ScopedRef.js +42 -0
  1885. package/dist/esm/ScopedRef.js.map +1 -0
  1886. package/dist/esm/Secret.js +44 -0
  1887. package/dist/esm/Secret.js.map +1 -0
  1888. package/dist/esm/SingleProducerAsyncInput.js +7 -0
  1889. package/dist/esm/SingleProducerAsyncInput.js.map +1 -0
  1890. package/dist/esm/Sink.js +864 -0
  1891. package/dist/esm/Sink.js.map +1 -0
  1892. package/dist/esm/SortedMap.js +169 -0
  1893. package/dist/esm/SortedMap.js.map +1 -0
  1894. package/dist/esm/SortedSet.js +237 -0
  1895. package/dist/esm/SortedSet.js.map +1 -0
  1896. package/dist/esm/Stream.js +4192 -0
  1897. package/dist/esm/Stream.js.map +1 -0
  1898. package/dist/esm/StreamEmit.js +2 -0
  1899. package/dist/esm/StreamEmit.js.map +1 -0
  1900. package/dist/esm/StreamHaltStrategy.js +57 -0
  1901. package/dist/esm/StreamHaltStrategy.js.map +1 -0
  1902. package/dist/esm/Streamable.js +36 -0
  1903. package/dist/esm/Streamable.js.map +1 -0
  1904. package/dist/esm/String.js +635 -0
  1905. package/dist/esm/String.js.map +1 -0
  1906. package/dist/esm/Struct.js +191 -0
  1907. package/dist/esm/Struct.js.map +1 -0
  1908. package/dist/esm/Subscribable.js +56 -0
  1909. package/dist/esm/Subscribable.js.map +1 -0
  1910. package/dist/esm/SubscriptionRef.js +116 -0
  1911. package/dist/esm/SubscriptionRef.js.map +1 -0
  1912. package/dist/esm/Supervisor.js +107 -0
  1913. package/dist/esm/Supervisor.js.map +1 -0
  1914. package/dist/esm/Symbol.js +27 -0
  1915. package/dist/esm/Symbol.js.map +1 -0
  1916. package/dist/esm/SynchronizedRef.js +119 -0
  1917. package/dist/esm/SynchronizedRef.js.map +1 -0
  1918. package/dist/esm/TArray.js +306 -0
  1919. package/dist/esm/TArray.js.map +1 -0
  1920. package/dist/esm/TDeferred.js +39 -0
  1921. package/dist/esm/TDeferred.js.map +1 -0
  1922. package/dist/esm/TMap.js +279 -0
  1923. package/dist/esm/TMap.js.map +1 -0
  1924. package/dist/esm/TPriorityQueue.js +136 -0
  1925. package/dist/esm/TPriorityQueue.js.map +1 -0
  1926. package/dist/esm/TPubSub.js +131 -0
  1927. package/dist/esm/TPubSub.js.map +1 -0
  1928. package/dist/esm/TQueue.js +229 -0
  1929. package/dist/esm/TQueue.js.map +1 -0
  1930. package/dist/esm/TRandom.js +65 -0
  1931. package/dist/esm/TRandom.js.map +1 -0
  1932. package/dist/esm/TReentrantLock.js +142 -0
  1933. package/dist/esm/TReentrantLock.js.map +1 -0
  1934. package/dist/esm/TRef.js +75 -0
  1935. package/dist/esm/TRef.js.map +1 -0
  1936. package/dist/esm/TSemaphore.js +65 -0
  1937. package/dist/esm/TSemaphore.js.map +1 -0
  1938. package/dist/esm/TSet.js +201 -0
  1939. package/dist/esm/TSet.js.map +1 -0
  1940. package/dist/esm/TSubscriptionRef.js +87 -0
  1941. package/dist/esm/TSubscriptionRef.js.map +1 -0
  1942. package/dist/esm/Take.js +148 -0
  1943. package/dist/esm/Take.js.map +1 -0
  1944. package/dist/esm/TestAnnotation.js +94 -0
  1945. package/dist/esm/TestAnnotation.js.map +1 -0
  1946. package/dist/esm/TestAnnotationMap.js +80 -0
  1947. package/dist/esm/TestAnnotationMap.js.map +1 -0
  1948. package/dist/esm/TestAnnotations.js +61 -0
  1949. package/dist/esm/TestAnnotations.js.map +1 -0
  1950. package/dist/esm/TestClock.js +354 -0
  1951. package/dist/esm/TestClock.js.map +1 -0
  1952. package/dist/esm/TestConfig.js +13 -0
  1953. package/dist/esm/TestConfig.js.map +1 -0
  1954. package/dist/esm/TestContext.js +21 -0
  1955. package/dist/esm/TestContext.js.map +1 -0
  1956. package/dist/esm/TestLive.js +30 -0
  1957. package/dist/esm/TestLive.js.map +1 -0
  1958. package/dist/esm/TestServices.js +230 -0
  1959. package/dist/esm/TestServices.js.map +1 -0
  1960. package/dist/esm/TestSized.js +36 -0
  1961. package/dist/esm/TestSized.js.map +1 -0
  1962. package/dist/esm/Tracer.js +37 -0
  1963. package/dist/esm/Tracer.js.map +1 -0
  1964. package/dist/esm/Trie.js +716 -0
  1965. package/dist/esm/Trie.js.map +1 -0
  1966. package/dist/esm/Tuple.js +235 -0
  1967. package/dist/esm/Tuple.js.map +1 -0
  1968. package/dist/esm/Types.js +7 -0
  1969. package/dist/esm/Types.js.map +1 -0
  1970. package/dist/esm/Unify.js +9 -0
  1971. package/dist/esm/Unify.js.map +1 -0
  1972. package/dist/esm/UpstreamPullRequest.js +51 -0
  1973. package/dist/esm/UpstreamPullRequest.js.map +1 -0
  1974. package/dist/esm/UpstreamPullStrategy.js +51 -0
  1975. package/dist/esm/UpstreamPullStrategy.js.map +1 -0
  1976. package/dist/esm/Utils.js +357 -0
  1977. package/dist/esm/Utils.js.map +1 -0
  1978. package/dist/esm/index.js +1385 -0
  1979. package/dist/esm/index.js.map +1 -0
  1980. package/dist/esm/internal/array.js +6 -0
  1981. package/dist/esm/internal/array.js.map +1 -0
  1982. package/dist/esm/internal/blockedRequests.js +341 -0
  1983. package/dist/esm/internal/blockedRequests.js.map +1 -0
  1984. package/dist/esm/internal/cache.js +480 -0
  1985. package/dist/esm/internal/cache.js.map +1 -0
  1986. package/dist/esm/internal/cause.js +824 -0
  1987. package/dist/esm/internal/cause.js.map +1 -0
  1988. package/dist/esm/internal/channel/channelExecutor.js +688 -0
  1989. package/dist/esm/internal/channel/channelExecutor.js.map +1 -0
  1990. package/dist/esm/internal/channel/channelState.js +59 -0
  1991. package/dist/esm/internal/channel/channelState.js.map +1 -0
  1992. package/dist/esm/internal/channel/childExecutorDecision.js +60 -0
  1993. package/dist/esm/internal/channel/childExecutorDecision.js.map +1 -0
  1994. package/dist/esm/internal/channel/continuation.js +48 -0
  1995. package/dist/esm/internal/channel/continuation.js.map +1 -0
  1996. package/dist/esm/internal/channel/mergeDecision.js +49 -0
  1997. package/dist/esm/internal/channel/mergeDecision.js.map +1 -0
  1998. package/dist/esm/internal/channel/mergeState.js +69 -0
  1999. package/dist/esm/internal/channel/mergeState.js.map +1 -0
  2000. package/dist/esm/internal/channel/mergeStrategy.js +46 -0
  2001. package/dist/esm/internal/channel/mergeStrategy.js.map +1 -0
  2002. package/dist/esm/internal/channel/singleProducerAsyncInput.js +163 -0
  2003. package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -0
  2004. package/dist/esm/internal/channel/subexecutor.js +152 -0
  2005. package/dist/esm/internal/channel/subexecutor.js.map +1 -0
  2006. package/dist/esm/internal/channel/upstreamPullRequest.js +52 -0
  2007. package/dist/esm/internal/channel/upstreamPullRequest.js.map +1 -0
  2008. package/dist/esm/internal/channel/upstreamPullStrategy.js +52 -0
  2009. package/dist/esm/internal/channel/upstreamPullStrategy.js.map +1 -0
  2010. package/dist/esm/internal/channel.js +683 -0
  2011. package/dist/esm/internal/channel.js.map +1 -0
  2012. package/dist/esm/internal/clock.js +77 -0
  2013. package/dist/esm/internal/clock.js.map +1 -0
  2014. package/dist/esm/internal/completedRequestMap.js +5 -0
  2015. package/dist/esm/internal/completedRequestMap.js.map +1 -0
  2016. package/dist/esm/internal/concurrency.js +28 -0
  2017. package/dist/esm/internal/concurrency.js.map +1 -0
  2018. package/dist/esm/internal/config.js +363 -0
  2019. package/dist/esm/internal/config.js.map +1 -0
  2020. package/dist/esm/internal/configError.js +263 -0
  2021. package/dist/esm/internal/configError.js.map +1 -0
  2022. package/dist/esm/internal/configProvider/pathPatch.js +76 -0
  2023. package/dist/esm/internal/configProvider/pathPatch.js.map +1 -0
  2024. package/dist/esm/internal/configProvider.js +425 -0
  2025. package/dist/esm/internal/configProvider.js.map +1 -0
  2026. package/dist/esm/internal/console.js +54 -0
  2027. package/dist/esm/internal/console.js.map +1 -0
  2028. package/dist/esm/internal/context.js +253 -0
  2029. package/dist/esm/internal/context.js.map +1 -0
  2030. package/dist/esm/internal/core-effect.js +811 -0
  2031. package/dist/esm/internal/core-effect.js.map +1 -0
  2032. package/dist/esm/internal/core-stream.js +236 -0
  2033. package/dist/esm/internal/core-stream.js.map +1 -0
  2034. package/dist/esm/internal/core.js +1610 -0
  2035. package/dist/esm/internal/core.js.map +1 -0
  2036. package/dist/esm/internal/data.js +29 -0
  2037. package/dist/esm/internal/data.js.map +1 -0
  2038. package/dist/esm/internal/dataSource.js +93 -0
  2039. package/dist/esm/internal/dataSource.js.map +1 -0
  2040. package/dist/esm/internal/dateTime.js +796 -0
  2041. package/dist/esm/internal/dateTime.js.map +1 -0
  2042. package/dist/esm/internal/defaultServices/console.js +92 -0
  2043. package/dist/esm/internal/defaultServices/console.js.map +1 -0
  2044. package/dist/esm/internal/defaultServices.js +73 -0
  2045. package/dist/esm/internal/defaultServices.js.map +1 -0
  2046. package/dist/esm/internal/deferred.js +27 -0
  2047. package/dist/esm/internal/deferred.js.map +1 -0
  2048. package/dist/esm/internal/differ/chunkPatch.js +130 -0
  2049. package/dist/esm/internal/differ/chunkPatch.js.map +1 -0
  2050. package/dist/esm/internal/differ/contextPatch.js +143 -0
  2051. package/dist/esm/internal/differ/contextPatch.js.map +1 -0
  2052. package/dist/esm/internal/differ/hashMapPatch.js +130 -0
  2053. package/dist/esm/internal/differ/hashMapPatch.js.map +1 -0
  2054. package/dist/esm/internal/differ/hashSetPatch.js +101 -0
  2055. package/dist/esm/internal/differ/hashSetPatch.js.map +1 -0
  2056. package/dist/esm/internal/differ/orPatch.js +170 -0
  2057. package/dist/esm/internal/differ/orPatch.js.map +1 -0
  2058. package/dist/esm/internal/differ/readonlyArrayPatch.js +129 -0
  2059. package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -0
  2060. package/dist/esm/internal/differ.js +134 -0
  2061. package/dist/esm/internal/differ.js.map +1 -0
  2062. package/dist/esm/internal/doNotation.js +16 -0
  2063. package/dist/esm/internal/doNotation.js.map +1 -0
  2064. package/dist/esm/internal/effect/circular.js +402 -0
  2065. package/dist/esm/internal/effect/circular.js.map +1 -0
  2066. package/dist/esm/internal/effectable.js +113 -0
  2067. package/dist/esm/internal/effectable.js.map +1 -0
  2068. package/dist/esm/internal/either.js +85 -0
  2069. package/dist/esm/internal/either.js.map +1 -0
  2070. package/dist/esm/internal/encoding/base64.js +71 -0
  2071. package/dist/esm/internal/encoding/base64.js.map +1 -0
  2072. package/dist/esm/internal/encoding/base64Url.js +21 -0
  2073. package/dist/esm/internal/encoding/base64Url.js.map +1 -0
  2074. package/dist/esm/internal/encoding/common.js +38 -0
  2075. package/dist/esm/internal/encoding/common.js.map +1 -0
  2076. package/dist/esm/internal/encoding/hex.js +48 -0
  2077. package/dist/esm/internal/encoding/hex.js.map +1 -0
  2078. package/dist/esm/internal/errors.js +6 -0
  2079. package/dist/esm/internal/errors.js.map +1 -0
  2080. package/dist/esm/internal/executionPlan.js +59 -0
  2081. package/dist/esm/internal/executionPlan.js.map +1 -0
  2082. package/dist/esm/internal/executionStrategy.js +44 -0
  2083. package/dist/esm/internal/executionStrategy.js.map +1 -0
  2084. package/dist/esm/internal/fiber.js +253 -0
  2085. package/dist/esm/internal/fiber.js.map +1 -0
  2086. package/dist/esm/internal/fiberId.js +219 -0
  2087. package/dist/esm/internal/fiberId.js.map +1 -0
  2088. package/dist/esm/internal/fiberMessage.js +28 -0
  2089. package/dist/esm/internal/fiberMessage.js.map +1 -0
  2090. package/dist/esm/internal/fiberRefs/patch.js +107 -0
  2091. package/dist/esm/internal/fiberRefs/patch.js.map +1 -0
  2092. package/dist/esm/internal/fiberRefs.js +189 -0
  2093. package/dist/esm/internal/fiberRefs.js.map +1 -0
  2094. package/dist/esm/internal/fiberRuntime.js +2148 -0
  2095. package/dist/esm/internal/fiberRuntime.js.map +1 -0
  2096. package/dist/esm/internal/fiberScope.js +44 -0
  2097. package/dist/esm/internal/fiberScope.js.map +1 -0
  2098. package/dist/esm/internal/fiberStatus.js +72 -0
  2099. package/dist/esm/internal/fiberStatus.js.map +1 -0
  2100. package/dist/esm/internal/groupBy.js +213 -0
  2101. package/dist/esm/internal/groupBy.js.map +1 -0
  2102. package/dist/esm/internal/hashMap/array.js +48 -0
  2103. package/dist/esm/internal/hashMap/array.js.map +1 -0
  2104. package/dist/esm/internal/hashMap/bitwise.js +29 -0
  2105. package/dist/esm/internal/hashMap/bitwise.js.map +1 -0
  2106. package/dist/esm/internal/hashMap/config.js +11 -0
  2107. package/dist/esm/internal/hashMap/config.js.map +1 -0
  2108. package/dist/esm/internal/hashMap/keySet.js +6 -0
  2109. package/dist/esm/internal/hashMap/keySet.js.map +1 -0
  2110. package/dist/esm/internal/hashMap/node.js +253 -0
  2111. package/dist/esm/internal/hashMap/node.js.map +1 -0
  2112. package/dist/esm/internal/hashMap.js +360 -0
  2113. package/dist/esm/internal/hashMap.js.map +1 -0
  2114. package/dist/esm/internal/hashSet.js +182 -0
  2115. package/dist/esm/internal/hashSet.js.map +1 -0
  2116. package/dist/esm/internal/keyedPool.js +159 -0
  2117. package/dist/esm/internal/keyedPool.js.map +1 -0
  2118. package/dist/esm/internal/layer/circular.js +63 -0
  2119. package/dist/esm/internal/layer/circular.js.map +1 -0
  2120. package/dist/esm/internal/layer.js +552 -0
  2121. package/dist/esm/internal/layer.js.map +1 -0
  2122. package/dist/esm/internal/logSpan.js +17 -0
  2123. package/dist/esm/internal/logSpan.js.map +1 -0
  2124. package/dist/esm/internal/logger-circular.js +19 -0
  2125. package/dist/esm/internal/logger-circular.js.map +1 -0
  2126. package/dist/esm/internal/logger.js +367 -0
  2127. package/dist/esm/internal/logger.js.map +1 -0
  2128. package/dist/esm/internal/mailbox.js +450 -0
  2129. package/dist/esm/internal/mailbox.js.map +1 -0
  2130. package/dist/esm/internal/managedRuntime/circular.js +4 -0
  2131. package/dist/esm/internal/managedRuntime/circular.js.map +1 -0
  2132. package/dist/esm/internal/managedRuntime.js +86 -0
  2133. package/dist/esm/internal/managedRuntime.js.map +1 -0
  2134. package/dist/esm/internal/matcher.js +291 -0
  2135. package/dist/esm/internal/matcher.js.map +1 -0
  2136. package/dist/esm/internal/metric/boundaries.js +42 -0
  2137. package/dist/esm/internal/metric/boundaries.js.map +1 -0
  2138. package/dist/esm/internal/metric/hook.js +375 -0
  2139. package/dist/esm/internal/metric/hook.js.map +1 -0
  2140. package/dist/esm/internal/metric/key.js +60 -0
  2141. package/dist/esm/internal/metric/key.js.map +1 -0
  2142. package/dist/esm/internal/metric/keyType.js +169 -0
  2143. package/dist/esm/internal/metric/keyType.js.map +1 -0
  2144. package/dist/esm/internal/metric/label.js +36 -0
  2145. package/dist/esm/internal/metric/label.js.map +1 -0
  2146. package/dist/esm/internal/metric/pair.js +32 -0
  2147. package/dist/esm/internal/metric/pair.js.map +1 -0
  2148. package/dist/esm/internal/metric/polling.js +69 -0
  2149. package/dist/esm/internal/metric/polling.js.map +1 -0
  2150. package/dist/esm/internal/metric/registry.js +105 -0
  2151. package/dist/esm/internal/metric/registry.js.map +1 -0
  2152. package/dist/esm/internal/metric/state.js +181 -0
  2153. package/dist/esm/internal/metric/state.js.map +1 -0
  2154. package/dist/esm/internal/metric.js +181 -0
  2155. package/dist/esm/internal/metric.js.map +1 -0
  2156. package/dist/esm/internal/opCodes/cause.js +13 -0
  2157. package/dist/esm/internal/opCodes/cause.js.map +1 -0
  2158. package/dist/esm/internal/opCodes/channel.js +29 -0
  2159. package/dist/esm/internal/opCodes/channel.js.map +1 -0
  2160. package/dist/esm/internal/opCodes/channelChildExecutorDecision.js +7 -0
  2161. package/dist/esm/internal/opCodes/channelChildExecutorDecision.js.map +1 -0
  2162. package/dist/esm/internal/opCodes/channelMergeDecision.js +5 -0
  2163. package/dist/esm/internal/opCodes/channelMergeDecision.js.map +1 -0
  2164. package/dist/esm/internal/opCodes/channelMergeState.js +7 -0
  2165. package/dist/esm/internal/opCodes/channelMergeState.js.map +1 -0
  2166. package/dist/esm/internal/opCodes/channelMergeStrategy.js +5 -0
  2167. package/dist/esm/internal/opCodes/channelMergeStrategy.js.map +1 -0
  2168. package/dist/esm/internal/opCodes/channelState.js +9 -0
  2169. package/dist/esm/internal/opCodes/channelState.js.map +1 -0
  2170. package/dist/esm/internal/opCodes/channelUpstreamPullRequest.js +5 -0
  2171. package/dist/esm/internal/opCodes/channelUpstreamPullRequest.js.map +1 -0
  2172. package/dist/esm/internal/opCodes/channelUpstreamPullStrategy.js +5 -0
  2173. package/dist/esm/internal/opCodes/channelUpstreamPullStrategy.js.map +1 -0
  2174. package/dist/esm/internal/opCodes/config.js +23 -0
  2175. package/dist/esm/internal/opCodes/config.js.map +1 -0
  2176. package/dist/esm/internal/opCodes/configError.js +13 -0
  2177. package/dist/esm/internal/opCodes/configError.js.map +1 -0
  2178. package/dist/esm/internal/opCodes/continuation.js +5 -0
  2179. package/dist/esm/internal/opCodes/continuation.js.map +1 -0
  2180. package/dist/esm/internal/opCodes/deferred.js +5 -0
  2181. package/dist/esm/internal/opCodes/deferred.js.map +1 -0
  2182. package/dist/esm/internal/opCodes/effect.js +31 -0
  2183. package/dist/esm/internal/opCodes/effect.js.map +1 -0
  2184. package/dist/esm/internal/opCodes/layer.js +21 -0
  2185. package/dist/esm/internal/opCodes/layer.js.map +1 -0
  2186. package/dist/esm/internal/opCodes/streamHaltStrategy.js +9 -0
  2187. package/dist/esm/internal/opCodes/streamHaltStrategy.js.map +1 -0
  2188. package/dist/esm/internal/option.js +70 -0
  2189. package/dist/esm/internal/option.js.map +1 -0
  2190. package/dist/esm/internal/pool.js +276 -0
  2191. package/dist/esm/internal/pool.js.map +1 -0
  2192. package/dist/esm/internal/pubsub.js +1263 -0
  2193. package/dist/esm/internal/pubsub.js.map +1 -0
  2194. package/dist/esm/internal/query.js +93 -0
  2195. package/dist/esm/internal/query.js.map +1 -0
  2196. package/dist/esm/internal/queue.js +486 -0
  2197. package/dist/esm/internal/queue.js.map +1 -0
  2198. package/dist/esm/internal/random.js +119 -0
  2199. package/dist/esm/internal/random.js.map +1 -0
  2200. package/dist/esm/internal/rateLimiter.js +43 -0
  2201. package/dist/esm/internal/rateLimiter.js.map +1 -0
  2202. package/dist/esm/internal/rcMap.js +173 -0
  2203. package/dist/esm/internal/rcMap.js.map +1 -0
  2204. package/dist/esm/internal/rcRef.js +129 -0
  2205. package/dist/esm/internal/rcRef.js.map +1 -0
  2206. package/dist/esm/internal/redBlackTree/iterator.js +191 -0
  2207. package/dist/esm/internal/redBlackTree/iterator.js.map +1 -0
  2208. package/dist/esm/internal/redBlackTree/node.js +50 -0
  2209. package/dist/esm/internal/redBlackTree/node.js.map +1 -0
  2210. package/dist/esm/internal/redBlackTree.js +1069 -0
  2211. package/dist/esm/internal/redBlackTree.js.map +1 -0
  2212. package/dist/esm/internal/redacted.js +56 -0
  2213. package/dist/esm/internal/redacted.js.map +1 -0
  2214. package/dist/esm/internal/ref.js +110 -0
  2215. package/dist/esm/internal/ref.js.map +1 -0
  2216. package/dist/esm/internal/reloadable.js +42 -0
  2217. package/dist/esm/internal/reloadable.js.map +1 -0
  2218. package/dist/esm/internal/request.js +91 -0
  2219. package/dist/esm/internal/request.js.map +1 -0
  2220. package/dist/esm/internal/resource.js +38 -0
  2221. package/dist/esm/internal/resource.js.map +1 -0
  2222. package/dist/esm/internal/ringBuffer.js +56 -0
  2223. package/dist/esm/internal/ringBuffer.js.map +1 -0
  2224. package/dist/esm/internal/runtime.js +307 -0
  2225. package/dist/esm/internal/runtime.js.map +1 -0
  2226. package/dist/esm/internal/runtimeFlags.js +107 -0
  2227. package/dist/esm/internal/runtimeFlags.js.map +1 -0
  2228. package/dist/esm/internal/runtimeFlagsPatch.js +38 -0
  2229. package/dist/esm/internal/runtimeFlagsPatch.js.map +1 -0
  2230. package/dist/esm/internal/schedule/decision.js +33 -0
  2231. package/dist/esm/internal/schedule/decision.js.map +1 -0
  2232. package/dist/esm/internal/schedule/interval.js +70 -0
  2233. package/dist/esm/internal/schedule/interval.js.map +1 -0
  2234. package/dist/esm/internal/schedule/intervals.js +122 -0
  2235. package/dist/esm/internal/schedule/intervals.js.map +1 -0
  2236. package/dist/esm/internal/schedule.js +832 -0
  2237. package/dist/esm/internal/schedule.js.map +1 -0
  2238. package/dist/esm/internal/schema/errors.js +86 -0
  2239. package/dist/esm/internal/schema/errors.js.map +1 -0
  2240. package/dist/esm/internal/schema/schemaId.js +43 -0
  2241. package/dist/esm/internal/schema/schemaId.js.map +1 -0
  2242. package/dist/esm/internal/schema/util.js +35 -0
  2243. package/dist/esm/internal/schema/util.js.map +1 -0
  2244. package/dist/esm/internal/scopedCache.js +382 -0
  2245. package/dist/esm/internal/scopedCache.js.map +1 -0
  2246. package/dist/esm/internal/scopedRef.js +43 -0
  2247. package/dist/esm/internal/scopedRef.js.map +1 -0
  2248. package/dist/esm/internal/secret.js +77 -0
  2249. package/dist/esm/internal/secret.js.map +1 -0
  2250. package/dist/esm/internal/singleShotGen.js +30 -0
  2251. package/dist/esm/internal/singleShotGen.js.map +1 -0
  2252. package/dist/esm/internal/sink.js +801 -0
  2253. package/dist/esm/internal/sink.js.map +1 -0
  2254. package/dist/esm/internal/stack.js +5 -0
  2255. package/dist/esm/internal/stack.js.map +1 -0
  2256. package/dist/esm/internal/stm/core.js +501 -0
  2257. package/dist/esm/internal/stm/core.js.map +1 -0
  2258. package/dist/esm/internal/stm/entry.js +42 -0
  2259. package/dist/esm/internal/stm/entry.js.map +1 -0
  2260. package/dist/esm/internal/stm/journal.js +89 -0
  2261. package/dist/esm/internal/stm/journal.js.map +1 -0
  2262. package/dist/esm/internal/stm/opCodes/stm.js +25 -0
  2263. package/dist/esm/internal/stm/opCodes/stm.js.map +1 -0
  2264. package/dist/esm/internal/stm/opCodes/stmState.js +7 -0
  2265. package/dist/esm/internal/stm/opCodes/stmState.js.map +1 -0
  2266. package/dist/esm/internal/stm/opCodes/strategy.js +7 -0
  2267. package/dist/esm/internal/stm/opCodes/strategy.js.map +1 -0
  2268. package/dist/esm/internal/stm/opCodes/tExit.js +11 -0
  2269. package/dist/esm/internal/stm/opCodes/tExit.js.map +1 -0
  2270. package/dist/esm/internal/stm/opCodes/tryCommit.js +5 -0
  2271. package/dist/esm/internal/stm/opCodes/tryCommit.js.map +1 -0
  2272. package/dist/esm/internal/stm/stm.js +478 -0
  2273. package/dist/esm/internal/stm/stm.js.map +1 -0
  2274. package/dist/esm/internal/stm/stmState.js +89 -0
  2275. package/dist/esm/internal/stm/stmState.js.map +1 -0
  2276. package/dist/esm/internal/stm/tArray.js +243 -0
  2277. package/dist/esm/internal/stm/tArray.js.map +1 -0
  2278. package/dist/esm/internal/stm/tDeferred.js +41 -0
  2279. package/dist/esm/internal/stm/tDeferred.js.map +1 -0
  2280. package/dist/esm/internal/stm/tExit.js +101 -0
  2281. package/dist/esm/internal/stm/tExit.js.map +1 -0
  2282. package/dist/esm/internal/stm/tMap.js +430 -0
  2283. package/dist/esm/internal/stm/tMap.js.map +1 -0
  2284. package/dist/esm/internal/stm/tPriorityQueue.js +143 -0
  2285. package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -0
  2286. package/dist/esm/internal/stm/tPubSub.js +376 -0
  2287. package/dist/esm/internal/stm/tPubSub.js.map +1 -0
  2288. package/dist/esm/internal/stm/tQueue.js +258 -0
  2289. package/dist/esm/internal/stm/tQueue.js.map +1 -0
  2290. package/dist/esm/internal/stm/tRandom.js +82 -0
  2291. package/dist/esm/internal/stm/tRandom.js.map +1 -0
  2292. package/dist/esm/internal/stm/tReentrantLock.js +192 -0
  2293. package/dist/esm/internal/stm/tReentrantLock.js.map +1 -0
  2294. package/dist/esm/internal/stm/tRef.js +100 -0
  2295. package/dist/esm/internal/stm/tRef.js.map +1 -0
  2296. package/dist/esm/internal/stm/tSemaphore.js +59 -0
  2297. package/dist/esm/internal/stm/tSemaphore.js.map +1 -0
  2298. package/dist/esm/internal/stm/tSet.js +88 -0
  2299. package/dist/esm/internal/stm/tSet.js.map +1 -0
  2300. package/dist/esm/internal/stm/tSubscriptionRef.js +166 -0
  2301. package/dist/esm/internal/stm/tSubscriptionRef.js.map +1 -0
  2302. package/dist/esm/internal/stm/tryCommit.js +16 -0
  2303. package/dist/esm/internal/stm/tryCommit.js.map +1 -0
  2304. package/dist/esm/internal/stm/txnId.js +11 -0
  2305. package/dist/esm/internal/stm/txnId.js.map +1 -0
  2306. package/dist/esm/internal/stm/versioned.js +8 -0
  2307. package/dist/esm/internal/stm/versioned.js.map +1 -0
  2308. package/dist/esm/internal/stream/debounceState.js +21 -0
  2309. package/dist/esm/internal/stream/debounceState.js.map +1 -0
  2310. package/dist/esm/internal/stream/emit.js +120 -0
  2311. package/dist/esm/internal/stream/emit.js.map +1 -0
  2312. package/dist/esm/internal/stream/haltStrategy.js +63 -0
  2313. package/dist/esm/internal/stream/haltStrategy.js.map +1 -0
  2314. package/dist/esm/internal/stream/handoff.js +55 -0
  2315. package/dist/esm/internal/stream/handoff.js.map +1 -0
  2316. package/dist/esm/internal/stream/handoffSignal.js +22 -0
  2317. package/dist/esm/internal/stream/handoffSignal.js.map +1 -0
  2318. package/dist/esm/internal/stream/pull.js +20 -0
  2319. package/dist/esm/internal/stream/pull.js.map +1 -0
  2320. package/dist/esm/internal/stream/sinkEndReason.js +13 -0
  2321. package/dist/esm/internal/stream/sinkEndReason.js.map +1 -0
  2322. package/dist/esm/internal/stream/zipAllState.js +33 -0
  2323. package/dist/esm/internal/stream/zipAllState.js.map +1 -0
  2324. package/dist/esm/internal/stream/zipChunksState.js +21 -0
  2325. package/dist/esm/internal/stream/zipChunksState.js.map +1 -0
  2326. package/dist/esm/internal/stream.js +2867 -0
  2327. package/dist/esm/internal/stream.js.map +1 -0
  2328. package/dist/esm/internal/string-utils.js +77 -0
  2329. package/dist/esm/internal/string-utils.js.map +1 -0
  2330. package/dist/esm/internal/subscriptionRef.js +63 -0
  2331. package/dist/esm/internal/subscriptionRef.js.map +1 -0
  2332. package/dist/esm/internal/supervisor/patch.js +125 -0
  2333. package/dist/esm/internal/supervisor/patch.js.map +1 -0
  2334. package/dist/esm/internal/supervisor.js +207 -0
  2335. package/dist/esm/internal/supervisor.js.map +1 -0
  2336. package/dist/esm/internal/synchronizedRef.js +44 -0
  2337. package/dist/esm/internal/synchronizedRef.js.map +1 -0
  2338. package/dist/esm/internal/take.js +108 -0
  2339. package/dist/esm/internal/take.js.map +1 -0
  2340. package/dist/esm/internal/testing/sleep.js +7 -0
  2341. package/dist/esm/internal/testing/sleep.js.map +1 -0
  2342. package/dist/esm/internal/testing/suspendedWarningData.js +48 -0
  2343. package/dist/esm/internal/testing/suspendedWarningData.js.map +1 -0
  2344. package/dist/esm/internal/testing/warningData.js +49 -0
  2345. package/dist/esm/internal/testing/warningData.js.map +1 -0
  2346. package/dist/esm/internal/tracer.js +122 -0
  2347. package/dist/esm/internal/tracer.js.map +1 -0
  2348. package/dist/esm/internal/trie.js +547 -0
  2349. package/dist/esm/internal/trie.js.map +1 -0
  2350. package/dist/esm/internal/version.js +6 -0
  2351. package/dist/esm/internal/version.js.map +1 -0
  2352. package/dist/esm/package.json +4 -0
  2353. package/index/package.json +6 -0
  2354. package/package.json +1471 -0
  2355. package/src/Arbitrary.ts +1101 -0
  2356. package/src/Array.ts +6854 -0
  2357. package/src/BigDecimal.ts +2037 -0
  2358. package/src/BigInt.ts +1139 -0
  2359. package/src/Boolean.ts +560 -0
  2360. package/src/Brand.ts +360 -0
  2361. package/src/Cache.ts +281 -0
  2362. package/src/Cause.ts +2049 -0
  2363. package/src/Channel.ts +3051 -0
  2364. package/src/ChildExecutorDecision.ts +158 -0
  2365. package/src/Chunk.ts +2350 -0
  2366. package/src/Clock.ts +111 -0
  2367. package/src/Config.ts +743 -0
  2368. package/src/ConfigError.ts +286 -0
  2369. package/src/ConfigProvider.ts +421 -0
  2370. package/src/ConfigProviderPathPatch.ts +132 -0
  2371. package/src/Console.ts +255 -0
  2372. package/src/Context.ts +867 -0
  2373. package/src/Cron.ts +718 -0
  2374. package/src/Data.ts +765 -0
  2375. package/src/DateTime.ts +2715 -0
  2376. package/src/DefaultServices.ts +34 -0
  2377. package/src/Deferred.ts +471 -0
  2378. package/src/Differ.ts +512 -0
  2379. package/src/Duration.ts +1140 -0
  2380. package/src/Effect.ts +29096 -0
  2381. package/src/Effectable.ts +107 -0
  2382. package/src/Either.ts +1723 -0
  2383. package/src/Encoding.ts +195 -0
  2384. package/src/Equal.ts +98 -0
  2385. package/src/Equivalence.ts +259 -0
  2386. package/src/ExecutionPlan.ts +308 -0
  2387. package/src/ExecutionStrategy.ts +138 -0
  2388. package/src/Exit.ts +717 -0
  2389. package/src/FastCheck.ts +9 -0
  2390. package/src/Fiber.ts +926 -0
  2391. package/src/FiberHandle.ts +582 -0
  2392. package/src/FiberId.ts +219 -0
  2393. package/src/FiberMap.ts +779 -0
  2394. package/src/FiberRef.ts +511 -0
  2395. package/src/FiberRefs.ts +288 -0
  2396. package/src/FiberRefsPatch.ts +139 -0
  2397. package/src/FiberSet.ts +529 -0
  2398. package/src/FiberStatus.ts +108 -0
  2399. package/src/Function.ts +1378 -0
  2400. package/src/GlobalValue.ts +53 -0
  2401. package/src/Graph.ts +3764 -0
  2402. package/src/GroupBy.ts +141 -0
  2403. package/src/HKT.ts +45 -0
  2404. package/src/Hash.ts +203 -0
  2405. package/src/HashMap.ts +919 -0
  2406. package/src/HashRing.ts +387 -0
  2407. package/src/HashSet.ts +2346 -0
  2408. package/src/Inspectable.ts +287 -0
  2409. package/src/Iterable.ts +1606 -0
  2410. package/src/JSONSchema.ts +1044 -0
  2411. package/src/KeyedPool.ts +201 -0
  2412. package/src/Layer.ts +1671 -0
  2413. package/src/LayerMap.ts +436 -0
  2414. package/src/List.ts +1469 -0
  2415. package/src/LogLevel.ts +387 -0
  2416. package/src/LogSpan.ts +25 -0
  2417. package/src/Logger.ts +863 -0
  2418. package/src/Mailbox.ts +298 -0
  2419. package/src/ManagedRuntime.ts +180 -0
  2420. package/src/Match.ts +1493 -0
  2421. package/src/MergeDecision.ts +103 -0
  2422. package/src/MergeState.ts +180 -0
  2423. package/src/MergeStrategy.ts +124 -0
  2424. package/src/Metric.ts +1165 -0
  2425. package/src/MetricBoundaries.ts +69 -0
  2426. package/src/MetricHook.ts +175 -0
  2427. package/src/MetricKey.ts +266 -0
  2428. package/src/MetricKeyType.ts +262 -0
  2429. package/src/MetricLabel.ts +47 -0
  2430. package/src/MetricPair.ts +71 -0
  2431. package/src/MetricPolling.ts +182 -0
  2432. package/src/MetricRegistry.ts +48 -0
  2433. package/src/MetricState.ts +273 -0
  2434. package/src/Micro.ts +5556 -0
  2435. package/src/ModuleVersion.ts +18 -0
  2436. package/src/MutableHashMap.ts +518 -0
  2437. package/src/MutableHashSet.ts +706 -0
  2438. package/src/MutableList.ts +333 -0
  2439. package/src/MutableQueue.ts +289 -0
  2440. package/src/MutableRef.ts +258 -0
  2441. package/src/NonEmptyIterable.ts +32 -0
  2442. package/src/Number.ts +1440 -0
  2443. package/src/Option.ts +4028 -0
  2444. package/src/Order.ts +397 -0
  2445. package/src/Ordering.ts +173 -0
  2446. package/src/ParseResult.ts +2068 -0
  2447. package/src/PartitionedSemaphore.ts +200 -0
  2448. package/src/Pipeable.ts +574 -0
  2449. package/src/Pool.ts +220 -0
  2450. package/src/Predicate.ts +2344 -0
  2451. package/src/Pretty.ts +205 -0
  2452. package/src/PrimaryKey.ts +23 -0
  2453. package/src/PubSub.ts +210 -0
  2454. package/src/Queue.ts +748 -0
  2455. package/src/Random.ts +204 -0
  2456. package/src/RateLimiter.ts +138 -0
  2457. package/src/RcMap.ts +245 -0
  2458. package/src/RcRef.ts +122 -0
  2459. package/src/Readable.ts +104 -0
  2460. package/src/Record.ts +1990 -0
  2461. package/src/RedBlackTree.ts +725 -0
  2462. package/src/Redacted.ts +144 -0
  2463. package/src/Ref.ts +268 -0
  2464. package/src/RegExp.ts +38 -0
  2465. package/src/Reloadable.ts +127 -0
  2466. package/src/Request.ts +418 -0
  2467. package/src/RequestBlock.ts +118 -0
  2468. package/src/RequestResolver.ts +495 -0
  2469. package/src/Resource.ts +119 -0
  2470. package/src/Runtime.ts +631 -0
  2471. package/src/RuntimeFlags.ts +436 -0
  2472. package/src/RuntimeFlagsPatch.ts +295 -0
  2473. package/src/STM.ts +3091 -0
  2474. package/src/Schedule.ts +3740 -0
  2475. package/src/ScheduleDecision.ts +62 -0
  2476. package/src/ScheduleInterval.ts +219 -0
  2477. package/src/ScheduleIntervals.ts +172 -0
  2478. package/src/Scheduler.ts +364 -0
  2479. package/src/Schema.ts +11443 -0
  2480. package/src/SchemaAST.ts +3055 -0
  2481. package/src/Scope.ts +240 -0
  2482. package/src/ScopedCache.ts +151 -0
  2483. package/src/ScopedRef.ts +139 -0
  2484. package/src/Secret.ts +88 -0
  2485. package/src/SingleProducerAsyncInput.ts +67 -0
  2486. package/src/Sink.ts +1877 -0
  2487. package/src/SortedMap.ts +361 -0
  2488. package/src/SortedSet.ts +530 -0
  2489. package/src/Stream.ts +11561 -0
  2490. package/src/StreamEmit.ts +136 -0
  2491. package/src/StreamHaltStrategy.ts +140 -0
  2492. package/src/Streamable.ts +45 -0
  2493. package/src/String.ts +1026 -0
  2494. package/src/Struct.ts +335 -0
  2495. package/src/Subscribable.ts +114 -0
  2496. package/src/SubscriptionRef.ts +444 -0
  2497. package/src/Supervisor.ts +240 -0
  2498. package/src/Symbol.ts +29 -0
  2499. package/src/SynchronizedRef.ts +429 -0
  2500. package/src/TArray.ts +922 -0
  2501. package/src/TDeferred.ts +124 -0
  2502. package/src/TMap.ts +875 -0
  2503. package/src/TPriorityQueue.ts +283 -0
  2504. package/src/TPubSub.ts +228 -0
  2505. package/src/TQueue.ts +540 -0
  2506. package/src/TRandom.ts +129 -0
  2507. package/src/TReentrantLock.ts +260 -0
  2508. package/src/TRef.ts +266 -0
  2509. package/src/TSemaphore.ts +169 -0
  2510. package/src/TSet.ts +633 -0
  2511. package/src/TSubscriptionRef.ts +284 -0
  2512. package/src/Take.ts +309 -0
  2513. package/src/TestAnnotation.ts +158 -0
  2514. package/src/TestAnnotationMap.ts +163 -0
  2515. package/src/TestAnnotations.ts +117 -0
  2516. package/src/TestClock.ts +562 -0
  2517. package/src/TestConfig.ts +47 -0
  2518. package/src/TestContext.ts +36 -0
  2519. package/src/TestLive.ts +53 -0
  2520. package/src/TestServices.ts +454 -0
  2521. package/src/TestSized.ts +55 -0
  2522. package/src/Tracer.ts +182 -0
  2523. package/src/Trie.ts +1860 -0
  2524. package/src/Tuple.ts +483 -0
  2525. package/src/Types.ts +361 -0
  2526. package/src/Unify.ts +127 -0
  2527. package/src/UpstreamPullRequest.ts +129 -0
  2528. package/src/UpstreamPullStrategy.ts +133 -0
  2529. package/src/Utils.ts +809 -0
  2530. package/src/index.ts +1561 -0
  2531. package/src/internal/array.ts +8 -0
  2532. package/src/internal/blockedRequests.ts +520 -0
  2533. package/src/internal/cache.ts +733 -0
  2534. package/src/internal/cause.ts +1050 -0
  2535. package/src/internal/channel/channelExecutor.ts +1200 -0
  2536. package/src/internal/channel/channelState.ts +134 -0
  2537. package/src/internal/channel/childExecutorDecision.ts +96 -0
  2538. package/src/internal/channel/continuation.ts +200 -0
  2539. package/src/internal/channel/mergeDecision.ts +113 -0
  2540. package/src/internal/channel/mergeState.ts +120 -0
  2541. package/src/internal/channel/mergeStrategy.ts +72 -0
  2542. package/src/internal/channel/singleProducerAsyncInput.ts +259 -0
  2543. package/src/internal/channel/subexecutor.ts +229 -0
  2544. package/src/internal/channel/upstreamPullRequest.ts +84 -0
  2545. package/src/internal/channel/upstreamPullStrategy.ts +87 -0
  2546. package/src/internal/channel.ts +2603 -0
  2547. package/src/internal/clock.ts +95 -0
  2548. package/src/internal/completedRequestMap.ts +9 -0
  2549. package/src/internal/concurrency.ts +54 -0
  2550. package/src/internal/config.ts +716 -0
  2551. package/src/internal/configError.ts +304 -0
  2552. package/src/internal/configProvider/pathPatch.ts +97 -0
  2553. package/src/internal/configProvider.ts +799 -0
  2554. package/src/internal/console.ts +153 -0
  2555. package/src/internal/context.ts +337 -0
  2556. package/src/internal/core-effect.ts +2293 -0
  2557. package/src/internal/core-stream.ts +998 -0
  2558. package/src/internal/core.ts +3166 -0
  2559. package/src/internal/data.ts +36 -0
  2560. package/src/internal/dataSource.ts +327 -0
  2561. package/src/internal/dateTime.ts +1277 -0
  2562. package/src/internal/defaultServices/console.ts +100 -0
  2563. package/src/internal/defaultServices.ts +163 -0
  2564. package/src/internal/deferred.ts +46 -0
  2565. package/src/internal/differ/chunkPatch.ts +211 -0
  2566. package/src/internal/differ/contextPatch.ts +232 -0
  2567. package/src/internal/differ/hashMapPatch.ts +220 -0
  2568. package/src/internal/differ/hashSetPatch.ts +176 -0
  2569. package/src/internal/differ/orPatch.ts +311 -0
  2570. package/src/internal/differ/readonlyArrayPatch.ts +210 -0
  2571. package/src/internal/differ.ts +200 -0
  2572. package/src/internal/doNotation.ts +80 -0
  2573. package/src/internal/effect/circular.ts +903 -0
  2574. package/src/internal/effectable.ts +131 -0
  2575. package/src/internal/either.ts +110 -0
  2576. package/src/internal/encoding/base64.ts +286 -0
  2577. package/src/internal/encoding/base64Url.ts +29 -0
  2578. package/src/internal/encoding/common.ts +51 -0
  2579. package/src/internal/encoding/hex.ts +315 -0
  2580. package/src/internal/errors.ts +7 -0
  2581. package/src/internal/executionPlan.ts +114 -0
  2582. package/src/internal/executionStrategy.ts +74 -0
  2583. package/src/internal/fiber.ts +388 -0
  2584. package/src/internal/fiberId.ts +267 -0
  2585. package/src/internal/fiberMessage.ts +82 -0
  2586. package/src/internal/fiberRefs/patch.ts +144 -0
  2587. package/src/internal/fiberRefs.ts +297 -0
  2588. package/src/internal/fiberRuntime.ts +3859 -0
  2589. package/src/internal/fiberScope.ts +71 -0
  2590. package/src/internal/fiberStatus.ts +119 -0
  2591. package/src/internal/groupBy.ts +530 -0
  2592. package/src/internal/hashMap/array.ts +49 -0
  2593. package/src/internal/hashMap/bitwise.ts +32 -0
  2594. package/src/internal/hashMap/config.ts +14 -0
  2595. package/src/internal/hashMap/keySet.ts +8 -0
  2596. package/src/internal/hashMap/node.ts +391 -0
  2597. package/src/internal/hashMap.ts +586 -0
  2598. package/src/internal/hashSet.ts +323 -0
  2599. package/src/internal/keyedPool.ts +244 -0
  2600. package/src/internal/layer/circular.ts +214 -0
  2601. package/src/internal/layer.ts +1483 -0
  2602. package/src/internal/logSpan.ts +20 -0
  2603. package/src/internal/logger-circular.ts +24 -0
  2604. package/src/internal/logger.ts +485 -0
  2605. package/src/internal/mailbox.ts +561 -0
  2606. package/src/internal/managedRuntime/circular.ts +6 -0
  2607. package/src/internal/managedRuntime.ts +137 -0
  2608. package/src/internal/matcher.ts +652 -0
  2609. package/src/internal/metric/boundaries.ts +75 -0
  2610. package/src/internal/metric/hook.ts +483 -0
  2611. package/src/internal/metric/key.ts +167 -0
  2612. package/src/internal/metric/keyType.ts +238 -0
  2613. package/src/internal/metric/label.ts +41 -0
  2614. package/src/internal/metric/pair.ts +48 -0
  2615. package/src/internal/metric/polling.ts +149 -0
  2616. package/src/internal/metric/registry.ts +187 -0
  2617. package/src/internal/metric/state.ts +290 -0
  2618. package/src/internal/metric.ts +577 -0
  2619. package/src/internal/opCodes/cause.ts +35 -0
  2620. package/src/internal/opCodes/channel.ts +83 -0
  2621. package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
  2622. package/src/internal/opCodes/channelMergeDecision.ts +11 -0
  2623. package/src/internal/opCodes/channelMergeState.ts +17 -0
  2624. package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
  2625. package/src/internal/opCodes/channelState.ts +23 -0
  2626. package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
  2627. package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
  2628. package/src/internal/opCodes/config.ts +65 -0
  2629. package/src/internal/opCodes/configError.ts +35 -0
  2630. package/src/internal/opCodes/continuation.ts +11 -0
  2631. package/src/internal/opCodes/deferred.ts +11 -0
  2632. package/src/internal/opCodes/effect.ts +89 -0
  2633. package/src/internal/opCodes/layer.ts +59 -0
  2634. package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
  2635. package/src/internal/option.ts +80 -0
  2636. package/src/internal/pool.ts +432 -0
  2637. package/src/internal/pubsub.ts +1762 -0
  2638. package/src/internal/query.ts +204 -0
  2639. package/src/internal/queue.ts +766 -0
  2640. package/src/internal/random.ts +161 -0
  2641. package/src/internal/rateLimiter.ts +93 -0
  2642. package/src/internal/rcMap.ts +285 -0
  2643. package/src/internal/rcRef.ts +192 -0
  2644. package/src/internal/redBlackTree/iterator.ts +200 -0
  2645. package/src/internal/redBlackTree/node.ts +68 -0
  2646. package/src/internal/redBlackTree.ts +1245 -0
  2647. package/src/internal/redacted.ts +73 -0
  2648. package/src/internal/ref.ts +171 -0
  2649. package/src/internal/reloadable.ts +140 -0
  2650. package/src/internal/request.ts +177 -0
  2651. package/src/internal/resource.ts +76 -0
  2652. package/src/internal/ringBuffer.ts +68 -0
  2653. package/src/internal/runtime.ts +558 -0
  2654. package/src/internal/runtimeFlags.ts +178 -0
  2655. package/src/internal/runtimeFlagsPatch.ts +103 -0
  2656. package/src/internal/schedule/decision.ts +47 -0
  2657. package/src/internal/schedule/interval.ts +101 -0
  2658. package/src/internal/schedule/intervals.ts +180 -0
  2659. package/src/internal/schedule.ts +2199 -0
  2660. package/src/internal/schema/errors.ts +191 -0
  2661. package/src/internal/schema/schemaId.ts +106 -0
  2662. package/src/internal/schema/util.ts +50 -0
  2663. package/src/internal/scopedCache.ts +644 -0
  2664. package/src/internal/scopedRef.ts +118 -0
  2665. package/src/internal/secret.ts +89 -0
  2666. package/src/internal/singleShotGen.ts +35 -0
  2667. package/src/internal/sink.ts +2120 -0
  2668. package/src/internal/stack.ts +10 -0
  2669. package/src/internal/stm/core.ts +817 -0
  2670. package/src/internal/stm/entry.ts +59 -0
  2671. package/src/internal/stm/journal.ts +123 -0
  2672. package/src/internal/stm/opCodes/stm.ts +71 -0
  2673. package/src/internal/stm/opCodes/stmState.ts +17 -0
  2674. package/src/internal/stm/opCodes/strategy.ts +17 -0
  2675. package/src/internal/stm/opCodes/tExit.ts +29 -0
  2676. package/src/internal/stm/opCodes/tryCommit.ts +11 -0
  2677. package/src/internal/stm/stm.ts +1453 -0
  2678. package/src/internal/stm/stmState.ts +136 -0
  2679. package/src/internal/stm/tArray.ts +550 -0
  2680. package/src/internal/stm/tDeferred.ts +81 -0
  2681. package/src/internal/stm/tExit.ts +190 -0
  2682. package/src/internal/stm/tMap.ts +824 -0
  2683. package/src/internal/stm/tPriorityQueue.ts +267 -0
  2684. package/src/internal/stm/tPubSub.ts +551 -0
  2685. package/src/internal/stm/tQueue.ts +393 -0
  2686. package/src/internal/stm/tRandom.ts +140 -0
  2687. package/src/internal/stm/tReentrantLock.ts +352 -0
  2688. package/src/internal/stm/tRef.ts +195 -0
  2689. package/src/internal/stm/tSemaphore.ts +113 -0
  2690. package/src/internal/stm/tSet.ts +259 -0
  2691. package/src/internal/stm/tSubscriptionRef.ts +286 -0
  2692. package/src/internal/stm/tryCommit.ts +34 -0
  2693. package/src/internal/stm/txnId.ts +14 -0
  2694. package/src/internal/stm/versioned.ts +4 -0
  2695. package/src/internal/stream/debounceState.ts +57 -0
  2696. package/src/internal/stream/emit.ts +123 -0
  2697. package/src/internal/stream/haltStrategy.ts +94 -0
  2698. package/src/internal/stream/handoff.ts +187 -0
  2699. package/src/internal/stream/handoffSignal.ts +59 -0
  2700. package/src/internal/stream/pull.ts +34 -0
  2701. package/src/internal/stream/sinkEndReason.ts +30 -0
  2702. package/src/internal/stream/zipAllState.ts +88 -0
  2703. package/src/internal/stream/zipChunksState.ts +56 -0
  2704. package/src/internal/stream.ts +8802 -0
  2705. package/src/internal/string-utils.ts +107 -0
  2706. package/src/internal/subscriptionRef.ts +138 -0
  2707. package/src/internal/supervisor/patch.ts +190 -0
  2708. package/src/internal/supervisor.ts +303 -0
  2709. package/src/internal/synchronizedRef.ts +114 -0
  2710. package/src/internal/take.ts +199 -0
  2711. package/src/internal/testing/sleep.ts +27 -0
  2712. package/src/internal/testing/suspendedWarningData.ts +85 -0
  2713. package/src/internal/testing/warningData.ts +94 -0
  2714. package/src/internal/tracer.ts +150 -0
  2715. package/src/internal/trie.ts +722 -0
  2716. package/src/internal/version.ts +7 -0
@@ -0,0 +1,3757 @@
1
+ /**
2
+ * @since 2.0.0
3
+ */
4
+ import type { Either } from "./Either.js";
5
+ import * as Equivalence from "./Equivalence.js";
6
+ import type { LazyArg } from "./Function.js";
7
+ import type { TypeLambda } from "./HKT.js";
8
+ import type { Inspectable } from "./Inspectable.js";
9
+ import type { Order } from "./Order.js";
10
+ import type { Pipeable } from "./Pipeable.js";
11
+ import type { Predicate, Refinement } from "./Predicate.js";
12
+ import type { Covariant, NoInfer, NotFunction } from "./Types.js";
13
+ import type * as Unify from "./Unify.js";
14
+ import * as Gen from "./Utils.js";
15
+ /**
16
+ * The `Option` data type represents optional values. An `Option<A>` can either
17
+ * be `Some<A>`, containing a value of type `A`, or `None`, representing the
18
+ * absence of a value.
19
+ *
20
+ * **When to Use**
21
+ *
22
+ * You can use `Option` in scenarios like:
23
+ *
24
+ * - Using it for initial values
25
+ * - Returning values from functions that are not defined for all possible
26
+ * inputs (referred to as “partial functions”)
27
+ * - Managing optional fields in data structures
28
+ * - Handling optional function arguments
29
+ *
30
+ * @category Models
31
+ * @since 2.0.0
32
+ */
33
+ export type Option<A> = None<A> | Some<A>;
34
+ /**
35
+ * @category Symbols
36
+ * @since 2.0.0
37
+ */
38
+ export declare const TypeId: unique symbol;
39
+ /**
40
+ * @category Symbols
41
+ * @since 2.0.0
42
+ */
43
+ export type TypeId = typeof TypeId;
44
+ /**
45
+ * @category Models
46
+ * @since 2.0.0
47
+ */
48
+ export interface None<out A> extends Pipeable, Inspectable {
49
+ readonly _tag: "None";
50
+ readonly _op: "None";
51
+ readonly [TypeId]: {
52
+ readonly _A: Covariant<A>;
53
+ };
54
+ [Unify.typeSymbol]?: unknown;
55
+ [Unify.unifySymbol]?: OptionUnify<this>;
56
+ [Unify.ignoreSymbol]?: OptionUnifyIgnore;
57
+ }
58
+ /**
59
+ * @category Models
60
+ * @since 2.0.0
61
+ */
62
+ export interface Some<out A> extends Pipeable, Inspectable {
63
+ readonly _tag: "Some";
64
+ readonly _op: "Some";
65
+ readonly value: A;
66
+ readonly [TypeId]: {
67
+ readonly _A: Covariant<A>;
68
+ };
69
+ [Unify.typeSymbol]?: unknown;
70
+ [Unify.unifySymbol]?: OptionUnify<this>;
71
+ [Unify.ignoreSymbol]?: OptionUnifyIgnore;
72
+ }
73
+ /**
74
+ * @category Models
75
+ * @since 2.0.0
76
+ */
77
+ export interface OptionUnify<A extends {
78
+ [Unify.typeSymbol]?: any;
79
+ }> {
80
+ Option?: () => A[Unify.typeSymbol] extends Option<infer A0> | infer _ ? Option<A0> : never;
81
+ }
82
+ /**
83
+ * @since 2.0.0
84
+ */
85
+ export declare namespace Option {
86
+ /**
87
+ * Extracts the type of the value contained in an `Option`.
88
+ *
89
+ * **Example** (Getting the Value Type of an Option)
90
+ *
91
+ * ```ts
92
+ * import { Option } from "effect"
93
+ *
94
+ * // Declare an Option holding a string
95
+ * declare const myOption: Option.Option<string>
96
+ *
97
+ * // Extract the type of the value within the Option
98
+ * //
99
+ * // ┌─── string
100
+ * // ▼
101
+ * type MyType = Option.Option.Value<typeof myOption>
102
+ * ```
103
+ *
104
+ * @since 2.0.0
105
+ * @category Type-level Utils
106
+ */
107
+ type Value<T extends Option<any>> = [T] extends [Option<infer _A>] ? _A : never;
108
+ }
109
+ /**
110
+ * @category Models
111
+ * @since 2.0.0
112
+ */
113
+ export interface OptionUnifyIgnore {
114
+ }
115
+ /**
116
+ * @category Type Lambdas
117
+ * @since 2.0.0
118
+ */
119
+ export interface OptionTypeLambda extends TypeLambda {
120
+ readonly type: Option<this["Target"]>;
121
+ }
122
+ /**
123
+ * Represents the absence of a value by creating an empty `Option`.
124
+ *
125
+ * `Option.none` returns an `Option<never>`, which is a subtype of `Option<A>`.
126
+ * This means you can use it in place of any `Option<A>` regardless of the type
127
+ * `A`.
128
+ *
129
+ * **Example** (Creating an Option with No Value)
130
+ *
131
+ * ```ts
132
+ * import { Option } from "effect"
133
+ *
134
+ * // An Option holding no value
135
+ * //
136
+ * // ┌─── Option<never>
137
+ * // ▼
138
+ * const noValue = Option.none()
139
+ *
140
+ * console.log(noValue)
141
+ * // Output: { _id: 'Option', _tag: 'None' }
142
+ * ```
143
+ *
144
+ * @see {@link some} for the opposite operation.
145
+ *
146
+ * @category Constructors
147
+ * @since 2.0.0
148
+ */
149
+ export declare const none: <A = never>() => Option<A>;
150
+ /**
151
+ * Wraps the given value into an `Option` to represent its presence.
152
+ *
153
+ * **Example** (Creating an Option with a Value)
154
+ *
155
+ * ```ts
156
+ * import { Option } from "effect"
157
+ *
158
+ * // An Option holding the number 1
159
+ * //
160
+ * // ┌─── Option<number>
161
+ * // ▼
162
+ * const value = Option.some(1)
163
+ *
164
+ * console.log(value)
165
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
166
+ * ```
167
+ *
168
+ * @see {@link none} for the opposite operation.
169
+ *
170
+ * @category Constructors
171
+ * @since 2.0.0
172
+ */
173
+ export declare const some: <A>(value: A) => Option<A>;
174
+ /**
175
+ * Determines whether the given value is an `Option`.
176
+ *
177
+ * **Details**
178
+ *
179
+ * This function checks if a value is an instance of `Option`. It returns `true`
180
+ * if the value is either `Option.some` or `Option.none`, and `false` otherwise.
181
+ * This is particularly useful when working with unknown values or when you need
182
+ * to ensure type safety in your code.
183
+ *
184
+ * @example
185
+ * ```ts
186
+ * import { Option } from "effect"
187
+ *
188
+ * console.log(Option.isOption(Option.some(1)))
189
+ * // Output: true
190
+ *
191
+ * console.log(Option.isOption(Option.none()))
192
+ * // Output: true
193
+ *
194
+ * console.log(Option.isOption({}))
195
+ * // Output: false
196
+ * ```
197
+ *
198
+ * @category Guards
199
+ * @since 2.0.0
200
+ */
201
+ export declare const isOption: (input: unknown) => input is Option<unknown>;
202
+ /**
203
+ * Checks whether an `Option` represents the absence of a value (`None`).
204
+ *
205
+ * @example
206
+ * ```ts
207
+ * import { Option } from "effect"
208
+ *
209
+ * console.log(Option.isNone(Option.some(1)))
210
+ * // Output: false
211
+ *
212
+ * console.log(Option.isNone(Option.none()))
213
+ * // Output: true
214
+ * ```
215
+ *
216
+ * @see {@link isSome} for the opposite check.
217
+ *
218
+ * @category Guards
219
+ * @since 2.0.0
220
+ */
221
+ export declare const isNone: <A>(self: Option<A>) => self is None<A>;
222
+ /**
223
+ * Checks whether an `Option` contains a value (`Some`).
224
+ *
225
+ * @example
226
+ * ```ts
227
+ * import { Option } from "effect"
228
+ *
229
+ * console.log(Option.isSome(Option.some(1)))
230
+ * // Output: true
231
+ *
232
+ * console.log(Option.isSome(Option.none()))
233
+ * // Output: false
234
+ * ```
235
+ *
236
+ * @see {@link isNone} for the opposite check.
237
+ *
238
+ * @category Guards
239
+ * @since 2.0.0
240
+ */
241
+ export declare const isSome: <A>(self: Option<A>) => self is Some<A>;
242
+ /**
243
+ * Performs pattern matching on an `Option` to handle both `Some` and `None`
244
+ * cases.
245
+ *
246
+ * **Details**
247
+ *
248
+ * This function allows you to match against an `Option` and handle both
249
+ * scenarios: when the `Option` is `None` (i.e., contains no value), and when
250
+ * the `Option` is `Some` (i.e., contains a value). It executes one of the
251
+ * provided functions based on the case:
252
+ *
253
+ * - If the `Option` is `None`, the `onNone` function is executed and its result
254
+ * is returned.
255
+ * - If the `Option` is `Some`, the `onSome` function is executed with the
256
+ * contained value, and its result is returned.
257
+ *
258
+ * This function provides a concise and functional way to handle optional values
259
+ * without resorting to `if` or manual checks, making your code more declarative
260
+ * and readable.
261
+ *
262
+ * **Example** (Pattern Matching with Option)
263
+ *
264
+ * ```ts
265
+ * import { Option } from "effect"
266
+ *
267
+ * const foo = Option.some(1)
268
+ *
269
+ * const message = Option.match(foo, {
270
+ * onNone: () => "Option is empty",
271
+ * onSome: (value) => `Option has a value: ${value}`
272
+ * })
273
+ *
274
+ * console.log(message)
275
+ * // Output: "Option has a value: 1"
276
+ * ```
277
+ *
278
+ * @category Pattern matching
279
+ * @since 2.0.0
280
+ */
281
+ export declare const match: {
282
+ /**
283
+ * Performs pattern matching on an `Option` to handle both `Some` and `None`
284
+ * cases.
285
+ *
286
+ * **Details**
287
+ *
288
+ * This function allows you to match against an `Option` and handle both
289
+ * scenarios: when the `Option` is `None` (i.e., contains no value), and when
290
+ * the `Option` is `Some` (i.e., contains a value). It executes one of the
291
+ * provided functions based on the case:
292
+ *
293
+ * - If the `Option` is `None`, the `onNone` function is executed and its result
294
+ * is returned.
295
+ * - If the `Option` is `Some`, the `onSome` function is executed with the
296
+ * contained value, and its result is returned.
297
+ *
298
+ * This function provides a concise and functional way to handle optional values
299
+ * without resorting to `if` or manual checks, making your code more declarative
300
+ * and readable.
301
+ *
302
+ * **Example** (Pattern Matching with Option)
303
+ *
304
+ * ```ts
305
+ * import { Option } from "effect"
306
+ *
307
+ * const foo = Option.some(1)
308
+ *
309
+ * const message = Option.match(foo, {
310
+ * onNone: () => "Option is empty",
311
+ * onSome: (value) => `Option has a value: ${value}`
312
+ * })
313
+ *
314
+ * console.log(message)
315
+ * // Output: "Option has a value: 1"
316
+ * ```
317
+ *
318
+ * @category Pattern matching
319
+ * @since 2.0.0
320
+ */
321
+ <B, A, C = B>(options: {
322
+ readonly onNone: LazyArg<B>;
323
+ readonly onSome: (a: A) => C;
324
+ }): (self: Option<A>) => B | C;
325
+ /**
326
+ * Performs pattern matching on an `Option` to handle both `Some` and `None`
327
+ * cases.
328
+ *
329
+ * **Details**
330
+ *
331
+ * This function allows you to match against an `Option` and handle both
332
+ * scenarios: when the `Option` is `None` (i.e., contains no value), and when
333
+ * the `Option` is `Some` (i.e., contains a value). It executes one of the
334
+ * provided functions based on the case:
335
+ *
336
+ * - If the `Option` is `None`, the `onNone` function is executed and its result
337
+ * is returned.
338
+ * - If the `Option` is `Some`, the `onSome` function is executed with the
339
+ * contained value, and its result is returned.
340
+ *
341
+ * This function provides a concise and functional way to handle optional values
342
+ * without resorting to `if` or manual checks, making your code more declarative
343
+ * and readable.
344
+ *
345
+ * **Example** (Pattern Matching with Option)
346
+ *
347
+ * ```ts
348
+ * import { Option } from "effect"
349
+ *
350
+ * const foo = Option.some(1)
351
+ *
352
+ * const message = Option.match(foo, {
353
+ * onNone: () => "Option is empty",
354
+ * onSome: (value) => `Option has a value: ${value}`
355
+ * })
356
+ *
357
+ * console.log(message)
358
+ * // Output: "Option has a value: 1"
359
+ * ```
360
+ *
361
+ * @category Pattern matching
362
+ * @since 2.0.0
363
+ */
364
+ <A, B, C = B>(self: Option<A>, options: {
365
+ readonly onNone: LazyArg<B>;
366
+ readonly onSome: (a: A) => C;
367
+ }): B | C;
368
+ };
369
+ /**
370
+ * Converts an `Option`-returning function into a type guard.
371
+ *
372
+ * **Details**
373
+ *
374
+ * This function transforms a function that returns an `Option` into a type
375
+ * guard, ensuring type safety when validating or narrowing types. The returned
376
+ * type guard function checks whether the input satisfies the condition defined
377
+ * in the original `Option`-returning function.
378
+ *
379
+ * If the original function returns `Option.some`, the type guard evaluates to
380
+ * `true`, confirming the input is of the desired type. If the function returns
381
+ * `Option.none`, the type guard evaluates to `false`.
382
+ *
383
+ * This utility is especially useful for validating types in union types,
384
+ * filtering arrays, or ensuring safe handling of specific subtypes.
385
+ *
386
+ * @example
387
+ * ```ts
388
+ * import { Option } from "effect"
389
+ *
390
+ * type MyData = string | number
391
+ *
392
+ * const parseString = (data: MyData): Option.Option<string> =>
393
+ * typeof data === "string" ? Option.some(data) : Option.none()
394
+ *
395
+ * // ┌─── (a: MyData) => a is string
396
+ * // ▼
397
+ * const isString = Option.toRefinement(parseString)
398
+ *
399
+ * console.log(isString("a"))
400
+ * // Output: true
401
+ *
402
+ * console.log(isString(1))
403
+ * // Output: false
404
+ * ```
405
+ *
406
+ * @category Conversions
407
+ * @since 2.0.0
408
+ */
409
+ export declare const toRefinement: <A, B extends A>(f: (a: A) => Option<B>) => (a: A) => a is B;
410
+ /**
411
+ * Converts an `Iterable` into an `Option`, wrapping the first element if it
412
+ * exists.
413
+ *
414
+ * **Details**
415
+ *
416
+ * This function takes an `Iterable` (e.g., an array, a generator, or any object
417
+ * implementing the `Iterable` interface) and returns an `Option` based on its
418
+ * content:
419
+ *
420
+ * - If the `Iterable` contains at least one element, the first element is
421
+ * wrapped in a `Some` and returned.
422
+ * - If the `Iterable` is empty, `None` is returned, representing the absence of
423
+ * a value.
424
+ *
425
+ * This utility is useful for safely handling collections that might be empty,
426
+ * ensuring you explicitly handle both cases where a value exists or doesn't.
427
+ *
428
+ * @example
429
+ * ```ts
430
+ * import { Option } from "effect"
431
+ *
432
+ * console.log(Option.fromIterable([1, 2, 3]))
433
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
434
+ *
435
+ * console.log(Option.fromIterable([]))
436
+ * // Output: { _id: 'Option', _tag: 'None' }
437
+ * ```
438
+ *
439
+ * @category Constructors
440
+ * @since 2.0.0
441
+ */
442
+ export declare const fromIterable: <A>(collection: Iterable<A>) => Option<A>;
443
+ /**
444
+ * Converts an `Either` into an `Option` by discarding the error and extracting
445
+ * the right value.
446
+ *
447
+ * **Details**
448
+ *
449
+ * This function takes an `Either` and returns an `Option` based on its value:
450
+ *
451
+ * - If the `Either` is a `Right`, its value is wrapped in a `Some` and
452
+ * returned.
453
+ * - If the `Either` is a `Left`, the error is discarded, and `None` is
454
+ * returned.
455
+ *
456
+ * This is particularly useful when you only care about the success case
457
+ * (`Right`) of an `Either` and want to handle the result using `Option`. By
458
+ * using this function, you can convert `Either` into a simpler structure for
459
+ * cases where error handling is not required.
460
+ *
461
+ * @example
462
+ * ```ts
463
+ * import { Either, Option } from "effect"
464
+ *
465
+ * console.log(Option.getRight(Either.right("ok")))
466
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'ok' }
467
+ *
468
+ * console.log(Option.getRight(Either.left("err")))
469
+ * // Output: { _id: 'Option', _tag: 'None' }
470
+ * ```
471
+ *
472
+ * @see {@link getLeft} for the opposite operation.
473
+ *
474
+ * @category Conversions
475
+ * @since 2.0.0
476
+ */
477
+ export declare const getRight: <R, L>(self: Either<R, L>) => Option<R>;
478
+ /**
479
+ * Converts an `Either` into an `Option` by discarding the right value and
480
+ * extracting the left value.
481
+ *
482
+ * **Details**
483
+ *
484
+ * This function transforms an `Either` into an `Option` as follows:
485
+ *
486
+ * - If the `Either` is a `Left`, its value is wrapped in a `Some` and returned.
487
+ * - If the `Either` is a `Right`, the value is discarded, and `None` is
488
+ * returned.
489
+ *
490
+ * This utility is useful when you only care about the error case (`Left`) of an
491
+ * `Either` and want to handle it as an `Option`. By discarding the right value,
492
+ * it simplifies error-focused workflows.
493
+ *
494
+ * @example
495
+ * ```ts
496
+ * import { Either, Option } from "effect"
497
+ *
498
+ * console.log(Option.getLeft(Either.right("ok")))
499
+ * // Output: { _id: 'Option', _tag: 'None' }
500
+ *
501
+ * console.log(Option.getLeft(Either.left("err")))
502
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'err' }
503
+ * ```
504
+ *
505
+ * @see {@link getRight} for the opposite operation.
506
+ *
507
+ * @category Conversions
508
+ * @since 2.0.0
509
+ */
510
+ export declare const getLeft: <R, L>(self: Either<R, L>) => Option<L>;
511
+ /**
512
+ * Returns the value contained in the `Option` if it is `Some`, otherwise
513
+ * evaluates and returns the result of `onNone`.
514
+ *
515
+ * **Details**
516
+ *
517
+ * This function allows you to provide a fallback value or computation for when
518
+ * an `Option` is `None`. If the `Option` contains a value (`Some`), that value
519
+ * is returned. If it is empty (`None`), the `onNone` function is executed, and
520
+ * its result is returned instead.
521
+ *
522
+ * This utility is helpful for safely handling `Option` values by ensuring you
523
+ * always receive a meaningful result, whether or not the `Option` contains a
524
+ * value. It is particularly useful for providing default values or alternative
525
+ * logic when working with optional values.
526
+ *
527
+ * @example
528
+ * ```ts
529
+ * import { Option } from "effect"
530
+ *
531
+ * console.log(Option.some(1).pipe(Option.getOrElse(() => 0)))
532
+ * // Output: 1
533
+ *
534
+ * console.log(Option.none().pipe(Option.getOrElse(() => 0)))
535
+ * // Output: 0
536
+ * ```
537
+ *
538
+ * @see {@link getOrNull} for a version that returns `null` instead of executing a function.
539
+ * @see {@link getOrUndefined} for a version that returns `undefined` instead of executing a function.
540
+ *
541
+ * @category Getters
542
+ * @since 2.0.0
543
+ */
544
+ export declare const getOrElse: {
545
+ /**
546
+ * Returns the value contained in the `Option` if it is `Some`, otherwise
547
+ * evaluates and returns the result of `onNone`.
548
+ *
549
+ * **Details**
550
+ *
551
+ * This function allows you to provide a fallback value or computation for when
552
+ * an `Option` is `None`. If the `Option` contains a value (`Some`), that value
553
+ * is returned. If it is empty (`None`), the `onNone` function is executed, and
554
+ * its result is returned instead.
555
+ *
556
+ * This utility is helpful for safely handling `Option` values by ensuring you
557
+ * always receive a meaningful result, whether or not the `Option` contains a
558
+ * value. It is particularly useful for providing default values or alternative
559
+ * logic when working with optional values.
560
+ *
561
+ * @example
562
+ * ```ts
563
+ * import { Option } from "effect"
564
+ *
565
+ * console.log(Option.some(1).pipe(Option.getOrElse(() => 0)))
566
+ * // Output: 1
567
+ *
568
+ * console.log(Option.none().pipe(Option.getOrElse(() => 0)))
569
+ * // Output: 0
570
+ * ```
571
+ *
572
+ * @see {@link getOrNull} for a version that returns `null` instead of executing a function.
573
+ * @see {@link getOrUndefined} for a version that returns `undefined` instead of executing a function.
574
+ *
575
+ * @category Getters
576
+ * @since 2.0.0
577
+ */
578
+ <B>(onNone: LazyArg<B>): <A>(self: Option<A>) => B | A;
579
+ /**
580
+ * Returns the value contained in the `Option` if it is `Some`, otherwise
581
+ * evaluates and returns the result of `onNone`.
582
+ *
583
+ * **Details**
584
+ *
585
+ * This function allows you to provide a fallback value or computation for when
586
+ * an `Option` is `None`. If the `Option` contains a value (`Some`), that value
587
+ * is returned. If it is empty (`None`), the `onNone` function is executed, and
588
+ * its result is returned instead.
589
+ *
590
+ * This utility is helpful for safely handling `Option` values by ensuring you
591
+ * always receive a meaningful result, whether or not the `Option` contains a
592
+ * value. It is particularly useful for providing default values or alternative
593
+ * logic when working with optional values.
594
+ *
595
+ * @example
596
+ * ```ts
597
+ * import { Option } from "effect"
598
+ *
599
+ * console.log(Option.some(1).pipe(Option.getOrElse(() => 0)))
600
+ * // Output: 1
601
+ *
602
+ * console.log(Option.none().pipe(Option.getOrElse(() => 0)))
603
+ * // Output: 0
604
+ * ```
605
+ *
606
+ * @see {@link getOrNull} for a version that returns `null` instead of executing a function.
607
+ * @see {@link getOrUndefined} for a version that returns `undefined` instead of executing a function.
608
+ *
609
+ * @category Getters
610
+ * @since 2.0.0
611
+ */
612
+ <A, B>(self: Option<A>, onNone: LazyArg<B>): A | B;
613
+ };
614
+ /**
615
+ * Returns the provided `Option` `that` if the current `Option` (`self`) is
616
+ * `None`; otherwise, it returns `self`.
617
+ *
618
+ * **Details**
619
+ *
620
+ * This function provides a fallback mechanism for `Option` values. If the
621
+ * current `Option` is `None` (i.e., it contains no value), the `that` function
622
+ * is evaluated, and its resulting `Option` is returned. If the current `Option`
623
+ * is `Some` (i.e., it contains a value), the original `Option` is returned
624
+ * unchanged.
625
+ *
626
+ * This is particularly useful for chaining fallback values or computations,
627
+ * allowing you to provide alternative `Option` values when the first one is
628
+ * empty.
629
+ *
630
+ * @example
631
+ * ```ts
632
+ * import { Option } from "effect"
633
+ *
634
+ * console.log(Option.none().pipe(Option.orElse(() => Option.none())))
635
+ * // Output: { _id: 'Option', _tag: 'None' }
636
+ *
637
+ * console.log(Option.some("a").pipe(Option.orElse(() => Option.none())))
638
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
639
+ *
640
+ * console.log(Option.none().pipe(Option.orElse(() => Option.some("b"))))
641
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
642
+ *
643
+ * console.log(Option.some("a").pipe(Option.orElse(() => Option.some("b"))))
644
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
645
+ * ```
646
+ *
647
+ * @category Error handling
648
+ * @since 2.0.0
649
+ */
650
+ export declare const orElse: {
651
+ /**
652
+ * Returns the provided `Option` `that` if the current `Option` (`self`) is
653
+ * `None`; otherwise, it returns `self`.
654
+ *
655
+ * **Details**
656
+ *
657
+ * This function provides a fallback mechanism for `Option` values. If the
658
+ * current `Option` is `None` (i.e., it contains no value), the `that` function
659
+ * is evaluated, and its resulting `Option` is returned. If the current `Option`
660
+ * is `Some` (i.e., it contains a value), the original `Option` is returned
661
+ * unchanged.
662
+ *
663
+ * This is particularly useful for chaining fallback values or computations,
664
+ * allowing you to provide alternative `Option` values when the first one is
665
+ * empty.
666
+ *
667
+ * @example
668
+ * ```ts
669
+ * import { Option } from "effect"
670
+ *
671
+ * console.log(Option.none().pipe(Option.orElse(() => Option.none())))
672
+ * // Output: { _id: 'Option', _tag: 'None' }
673
+ *
674
+ * console.log(Option.some("a").pipe(Option.orElse(() => Option.none())))
675
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
676
+ *
677
+ * console.log(Option.none().pipe(Option.orElse(() => Option.some("b"))))
678
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
679
+ *
680
+ * console.log(Option.some("a").pipe(Option.orElse(() => Option.some("b"))))
681
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
682
+ * ```
683
+ *
684
+ * @category Error handling
685
+ * @since 2.0.0
686
+ */
687
+ <B>(that: LazyArg<Option<B>>): <A>(self: Option<A>) => Option<B | A>;
688
+ /**
689
+ * Returns the provided `Option` `that` if the current `Option` (`self`) is
690
+ * `None`; otherwise, it returns `self`.
691
+ *
692
+ * **Details**
693
+ *
694
+ * This function provides a fallback mechanism for `Option` values. If the
695
+ * current `Option` is `None` (i.e., it contains no value), the `that` function
696
+ * is evaluated, and its resulting `Option` is returned. If the current `Option`
697
+ * is `Some` (i.e., it contains a value), the original `Option` is returned
698
+ * unchanged.
699
+ *
700
+ * This is particularly useful for chaining fallback values or computations,
701
+ * allowing you to provide alternative `Option` values when the first one is
702
+ * empty.
703
+ *
704
+ * @example
705
+ * ```ts
706
+ * import { Option } from "effect"
707
+ *
708
+ * console.log(Option.none().pipe(Option.orElse(() => Option.none())))
709
+ * // Output: { _id: 'Option', _tag: 'None' }
710
+ *
711
+ * console.log(Option.some("a").pipe(Option.orElse(() => Option.none())))
712
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
713
+ *
714
+ * console.log(Option.none().pipe(Option.orElse(() => Option.some("b"))))
715
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
716
+ *
717
+ * console.log(Option.some("a").pipe(Option.orElse(() => Option.some("b"))))
718
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
719
+ * ```
720
+ *
721
+ * @category Error handling
722
+ * @since 2.0.0
723
+ */
724
+ <A, B>(self: Option<A>, that: LazyArg<Option<B>>): Option<A | B>;
725
+ };
726
+ /**
727
+ * Returns the provided default value wrapped in `Some` if the current `Option`
728
+ * (`self`) is `None`; otherwise, returns `self`.
729
+ *
730
+ * **Details**
731
+ *
732
+ * This function provides a way to supply a default value for cases where an
733
+ * `Option` is `None`. If the current `Option` is empty (`None`), the `onNone`
734
+ * function is executed to compute the default value, which is then wrapped in a
735
+ * `Some`. If the current `Option` contains a value (`Some`), it is returned as
736
+ * is.
737
+ *
738
+ * This is particularly useful for handling optional values where a fallback
739
+ * default needs to be provided explicitly in case of absence.
740
+ *
741
+ * @example
742
+ * ```ts
743
+ * import { Option } from "effect"
744
+ *
745
+ * console.log(Option.none().pipe(Option.orElseSome(() => "b")))
746
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
747
+ *
748
+ * console.log(Option.some("a").pipe(Option.orElseSome(() => "b")))
749
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
750
+ * ```
751
+ *
752
+ * @category Error handling
753
+ * @since 2.0.0
754
+ */
755
+ export declare const orElseSome: {
756
+ /**
757
+ * Returns the provided default value wrapped in `Some` if the current `Option`
758
+ * (`self`) is `None`; otherwise, returns `self`.
759
+ *
760
+ * **Details**
761
+ *
762
+ * This function provides a way to supply a default value for cases where an
763
+ * `Option` is `None`. If the current `Option` is empty (`None`), the `onNone`
764
+ * function is executed to compute the default value, which is then wrapped in a
765
+ * `Some`. If the current `Option` contains a value (`Some`), it is returned as
766
+ * is.
767
+ *
768
+ * This is particularly useful for handling optional values where a fallback
769
+ * default needs to be provided explicitly in case of absence.
770
+ *
771
+ * @example
772
+ * ```ts
773
+ * import { Option } from "effect"
774
+ *
775
+ * console.log(Option.none().pipe(Option.orElseSome(() => "b")))
776
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
777
+ *
778
+ * console.log(Option.some("a").pipe(Option.orElseSome(() => "b")))
779
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
780
+ * ```
781
+ *
782
+ * @category Error handling
783
+ * @since 2.0.0
784
+ */
785
+ <B>(onNone: LazyArg<B>): <A>(self: Option<A>) => Option<B | A>;
786
+ /**
787
+ * Returns the provided default value wrapped in `Some` if the current `Option`
788
+ * (`self`) is `None`; otherwise, returns `self`.
789
+ *
790
+ * **Details**
791
+ *
792
+ * This function provides a way to supply a default value for cases where an
793
+ * `Option` is `None`. If the current `Option` is empty (`None`), the `onNone`
794
+ * function is executed to compute the default value, which is then wrapped in a
795
+ * `Some`. If the current `Option` contains a value (`Some`), it is returned as
796
+ * is.
797
+ *
798
+ * This is particularly useful for handling optional values where a fallback
799
+ * default needs to be provided explicitly in case of absence.
800
+ *
801
+ * @example
802
+ * ```ts
803
+ * import { Option } from "effect"
804
+ *
805
+ * console.log(Option.none().pipe(Option.orElseSome(() => "b")))
806
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'b' }
807
+ *
808
+ * console.log(Option.some("a").pipe(Option.orElseSome(() => "b")))
809
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
810
+ * ```
811
+ *
812
+ * @category Error handling
813
+ * @since 2.0.0
814
+ */
815
+ <A, B>(self: Option<A>, onNone: LazyArg<B>): Option<A | B>;
816
+ };
817
+ /**
818
+ * Similar to {@link orElse}, but returns an `Either` wrapped in an `Option` to
819
+ * indicate the source of the value.
820
+ *
821
+ * **Details**
822
+ *
823
+ * This function allows you to provide a fallback `Option` in case the current
824
+ * `Option` (`self`) is `None`. However, unlike `orElse`, it returns the value
825
+ * wrapped in an `Either` object, providing additional information about where
826
+ * the value came from:
827
+ *
828
+ * - If the value is from the fallback `Option` (`that`), it is wrapped in an
829
+ * `Either.right`.
830
+ * - If the value is from the original `Option` (`self`), it is wrapped in an
831
+ * `Either.left`.
832
+ *
833
+ * This is especially useful when you need to differentiate between values
834
+ * originating from the primary `Option` and those coming from the fallback,
835
+ * while still maintaining the `Option`-style handling.
836
+ *
837
+ * @category Error handling
838
+ * @since 2.0.0
839
+ */
840
+ export declare const orElseEither: {
841
+ /**
842
+ * Similar to {@link orElse}, but returns an `Either` wrapped in an `Option` to
843
+ * indicate the source of the value.
844
+ *
845
+ * **Details**
846
+ *
847
+ * This function allows you to provide a fallback `Option` in case the current
848
+ * `Option` (`self`) is `None`. However, unlike `orElse`, it returns the value
849
+ * wrapped in an `Either` object, providing additional information about where
850
+ * the value came from:
851
+ *
852
+ * - If the value is from the fallback `Option` (`that`), it is wrapped in an
853
+ * `Either.right`.
854
+ * - If the value is from the original `Option` (`self`), it is wrapped in an
855
+ * `Either.left`.
856
+ *
857
+ * This is especially useful when you need to differentiate between values
858
+ * originating from the primary `Option` and those coming from the fallback,
859
+ * while still maintaining the `Option`-style handling.
860
+ *
861
+ * @category Error handling
862
+ * @since 2.0.0
863
+ */
864
+ <B>(that: LazyArg<Option<B>>): <A>(self: Option<A>) => Option<Either<B, A>>;
865
+ /**
866
+ * Similar to {@link orElse}, but returns an `Either` wrapped in an `Option` to
867
+ * indicate the source of the value.
868
+ *
869
+ * **Details**
870
+ *
871
+ * This function allows you to provide a fallback `Option` in case the current
872
+ * `Option` (`self`) is `None`. However, unlike `orElse`, it returns the value
873
+ * wrapped in an `Either` object, providing additional information about where
874
+ * the value came from:
875
+ *
876
+ * - If the value is from the fallback `Option` (`that`), it is wrapped in an
877
+ * `Either.right`.
878
+ * - If the value is from the original `Option` (`self`), it is wrapped in an
879
+ * `Either.left`.
880
+ *
881
+ * This is especially useful when you need to differentiate between values
882
+ * originating from the primary `Option` and those coming from the fallback,
883
+ * while still maintaining the `Option`-style handling.
884
+ *
885
+ * @category Error handling
886
+ * @since 2.0.0
887
+ */
888
+ <A, B>(self: Option<A>, that: LazyArg<Option<B>>): Option<Either<B, A>>;
889
+ };
890
+ /**
891
+ * Returns the first `Some` value found in an `Iterable` collection of
892
+ * `Option`s, or `None` if no `Some` is found.
893
+ *
894
+ * **Details**
895
+ *
896
+ * This function iterates over a collection of `Option` values and returns the
897
+ * first `Some` it encounters. If the collection contains only `None` values,
898
+ * the result will also be `None`. This utility is useful for efficiently
899
+ * finding the first valid value in a sequence of potentially empty or invalid
900
+ * options.
901
+ *
902
+ * The iteration stops as soon as a `Some` is found, making this function
903
+ * efficient for large collections.
904
+ *
905
+ * @example
906
+ * ```ts
907
+ * import { Option } from "effect"
908
+ *
909
+ * console.log(Option.firstSomeOf([
910
+ * Option.none(),
911
+ * Option.some(1),
912
+ * Option.some(2)
913
+ * ]))
914
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
915
+ * ```
916
+ *
917
+ * @category Error handling
918
+ * @since 2.0.0
919
+ */
920
+ export declare const firstSomeOf: <T, C extends Iterable<Option<T>> = Iterable<Option<T>>>(collection: C) => [C] extends [Iterable<Option<infer A>>] ? Option<A> : never;
921
+ /**
922
+ * Converts a nullable value into an `Option`. Returns `None` if the value is
923
+ * `null` or `undefined`, otherwise wraps the value in a `Some`.
924
+ *
925
+ * @example
926
+ * ```ts
927
+ * import { Option } from "effect"
928
+ *
929
+ * console.log(Option.fromNullable(undefined))
930
+ * // Output: { _id: 'Option', _tag: 'None' }
931
+ *
932
+ * console.log(Option.fromNullable(null))
933
+ * // Output: { _id: 'Option', _tag: 'None' }
934
+ *
935
+ * console.log(Option.fromNullable(1))
936
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
937
+ * ```
938
+ *
939
+ * @category Conversions
940
+ * @since 2.0.0
941
+ */
942
+ export declare const fromNullable: <A>(nullableValue: A) => Option<NonNullable<A>>;
943
+ /**
944
+ * Lifts a function that returns `null` or `undefined` into the `Option`
945
+ * context.
946
+ *
947
+ * **Details**
948
+ *
949
+ * This function takes a function `f` that might return `null` or `undefined`
950
+ * and transforms it into a function that returns an `Option`. The resulting
951
+ * function will return:
952
+ * - `Some` if the original function produces a non-null, non-undefined value.
953
+ * - `None` if the original function produces `null` or `undefined`.
954
+ *
955
+ * @example
956
+ * ```ts
957
+ * import { Option } from "effect"
958
+ *
959
+ * const parse = (s: string): number | undefined => {
960
+ * const n = parseFloat(s)
961
+ * return isNaN(n) ? undefined : n
962
+ * }
963
+ *
964
+ * const parseOption = Option.liftNullable(parse)
965
+ *
966
+ * console.log(parseOption("1"))
967
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
968
+ *
969
+ * console.log(parseOption("not a number"))
970
+ * // Output: { _id: 'Option', _tag: 'None' }
971
+ * ```
972
+ *
973
+ * @category Conversions
974
+ * @since 2.0.0
975
+ */
976
+ export declare const liftNullable: <A extends ReadonlyArray<unknown>, B>(f: (...a: A) => B | null | undefined) => (...a: A) => Option<NonNullable<B>>;
977
+ /**
978
+ * Returns the value contained in the `Option` if it is `Some`; otherwise,
979
+ * returns `null`.
980
+ *
981
+ * **Details**
982
+ *
983
+ * This function provides a way to extract the value of an `Option` while
984
+ * falling back to `null` if the `Option` is `None`.
985
+ *
986
+ * It is particularly useful in scenarios where `null` is an acceptable
987
+ * placeholder for the absence of a value, such as when interacting with APIs or
988
+ * systems that use `null` as a default for missing values.
989
+ *
990
+ * @example
991
+ * ```ts
992
+ * import { Option } from "effect"
993
+ *
994
+ * console.log(Option.getOrNull(Option.some(1)))
995
+ * // Output: 1
996
+ *
997
+ * console.log(Option.getOrNull(Option.none()))
998
+ * // Output: null
999
+ * ```
1000
+ *
1001
+ * @category Getters
1002
+ * @since 2.0.0
1003
+ */
1004
+ export declare const getOrNull: <A>(self: Option<A>) => A | null;
1005
+ /**
1006
+ * Returns the value contained in the `Option` if it is `Some`; otherwise,
1007
+ * returns `undefined`.
1008
+ *
1009
+ * **Details**
1010
+ *
1011
+ * This function provides a way to extract the value of an `Option` while
1012
+ * falling back to `undefined` if the `Option` is `None`.
1013
+ *
1014
+ * It is particularly useful in scenarios where `undefined` is an acceptable
1015
+ * placeholder for the absence of a value, such as when interacting with APIs or
1016
+ * systems that use `undefined` as a default for missing values.
1017
+ *
1018
+ * @example
1019
+ * ```ts
1020
+ * import { Option } from "effect"
1021
+ *
1022
+ * console.log(Option.getOrUndefined(Option.some(1)))
1023
+ * // Output: 1
1024
+ *
1025
+ * console.log(Option.getOrUndefined(Option.none()))
1026
+ * // Output: undefined
1027
+ * ```
1028
+ *
1029
+ * @category Getters
1030
+ * @since 2.0.0
1031
+ */
1032
+ export declare const getOrUndefined: <A>(self: Option<A>) => A | undefined;
1033
+ /**
1034
+ * Lifts a function that throws exceptions into a function that returns an
1035
+ * `Option`.
1036
+ *
1037
+ * **Details**
1038
+ *
1039
+ * This utility function takes a function `f` that might throw an exception and
1040
+ * transforms it into a safer function that returns an `Option`. If the original
1041
+ * function executes successfully, the result is wrapped in a `Some`. If an
1042
+ * exception is thrown, the result is `None`, allowing the developer to handle
1043
+ * errors in a functional, type-safe way.
1044
+ *
1045
+ * @example
1046
+ * ```ts
1047
+ * import { Option } from "effect"
1048
+ *
1049
+ * const parse = Option.liftThrowable(JSON.parse)
1050
+ *
1051
+ * console.log(parse("1"))
1052
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
1053
+ *
1054
+ * console.log(parse(""))
1055
+ * // Output: { _id: 'Option', _tag: 'None' }
1056
+ * ```
1057
+ *
1058
+ * @category Conversions
1059
+ * @since 2.0.0
1060
+ */
1061
+ export declare const liftThrowable: <A extends ReadonlyArray<unknown>, B>(f: (...a: A) => B) => (...a: A) => Option<B>;
1062
+ /**
1063
+ * Extracts the value of an `Option` or throws an error if the `Option` is
1064
+ * `None`, using a custom error factory.
1065
+ *
1066
+ * **Details**
1067
+ *
1068
+ * This function allows you to extract the value of an `Option` when it is
1069
+ * `Some`. If the `Option` is `None`, it throws an error generated by the
1070
+ * provided `onNone` function. This utility is particularly useful when you need
1071
+ * a fail-fast behavior for empty `Option` values and want to provide a custom
1072
+ * error message or object.
1073
+ *
1074
+ * @example
1075
+ * ```ts
1076
+ * import * as assert from "node:assert"
1077
+ * import { Option } from "effect"
1078
+ *
1079
+ * assert.deepStrictEqual(
1080
+ * Option.getOrThrowWith(Option.some(1), () => new Error('Unexpected None')),
1081
+ * 1
1082
+ * )
1083
+ * assert.throws(() => Option.getOrThrowWith(Option.none(), () => new Error('Unexpected None')))
1084
+ * ```
1085
+ *
1086
+ * @see {@link getOrThrow} for a version that throws a default error.
1087
+ *
1088
+ * @category Conversions
1089
+ * @since 2.0.0
1090
+ */
1091
+ export declare const getOrThrowWith: {
1092
+ /**
1093
+ * Extracts the value of an `Option` or throws an error if the `Option` is
1094
+ * `None`, using a custom error factory.
1095
+ *
1096
+ * **Details**
1097
+ *
1098
+ * This function allows you to extract the value of an `Option` when it is
1099
+ * `Some`. If the `Option` is `None`, it throws an error generated by the
1100
+ * provided `onNone` function. This utility is particularly useful when you need
1101
+ * a fail-fast behavior for empty `Option` values and want to provide a custom
1102
+ * error message or object.
1103
+ *
1104
+ * @example
1105
+ * ```ts
1106
+ * import * as assert from "node:assert"
1107
+ * import { Option } from "effect"
1108
+ *
1109
+ * assert.deepStrictEqual(
1110
+ * Option.getOrThrowWith(Option.some(1), () => new Error('Unexpected None')),
1111
+ * 1
1112
+ * )
1113
+ * assert.throws(() => Option.getOrThrowWith(Option.none(), () => new Error('Unexpected None')))
1114
+ * ```
1115
+ *
1116
+ * @see {@link getOrThrow} for a version that throws a default error.
1117
+ *
1118
+ * @category Conversions
1119
+ * @since 2.0.0
1120
+ */
1121
+ (onNone: () => unknown): <A>(self: Option<A>) => A;
1122
+ /**
1123
+ * Extracts the value of an `Option` or throws an error if the `Option` is
1124
+ * `None`, using a custom error factory.
1125
+ *
1126
+ * **Details**
1127
+ *
1128
+ * This function allows you to extract the value of an `Option` when it is
1129
+ * `Some`. If the `Option` is `None`, it throws an error generated by the
1130
+ * provided `onNone` function. This utility is particularly useful when you need
1131
+ * a fail-fast behavior for empty `Option` values and want to provide a custom
1132
+ * error message or object.
1133
+ *
1134
+ * @example
1135
+ * ```ts
1136
+ * import * as assert from "node:assert"
1137
+ * import { Option } from "effect"
1138
+ *
1139
+ * assert.deepStrictEqual(
1140
+ * Option.getOrThrowWith(Option.some(1), () => new Error('Unexpected None')),
1141
+ * 1
1142
+ * )
1143
+ * assert.throws(() => Option.getOrThrowWith(Option.none(), () => new Error('Unexpected None')))
1144
+ * ```
1145
+ *
1146
+ * @see {@link getOrThrow} for a version that throws a default error.
1147
+ *
1148
+ * @category Conversions
1149
+ * @since 2.0.0
1150
+ */
1151
+ <A>(self: Option<A>, onNone: () => unknown): A;
1152
+ };
1153
+ /**
1154
+ * Extracts the value of an `Option` or throws a default error if the `Option`
1155
+ * is `None`.
1156
+ *
1157
+ * **Details**
1158
+ *
1159
+ * This function extracts the value from an `Option` if it is `Some`. If the
1160
+ * `Option` is `None`, it throws a default error. It is useful for fail-fast
1161
+ * scenarios where the absence of a value is treated as an exceptional case and
1162
+ * a default error is sufficient.
1163
+ *
1164
+ * @example
1165
+ * ```ts
1166
+ * import * as assert from "node:assert"
1167
+ * import { Option } from "effect"
1168
+ *
1169
+ * assert.deepStrictEqual(Option.getOrThrow(Option.some(1)), 1)
1170
+ * assert.throws(() => Option.getOrThrow(Option.none()))
1171
+ * ```
1172
+ *
1173
+ * @see {@link getOrThrowWith} for a version that allows you to provide a custom error.
1174
+ *
1175
+ * @category Conversions
1176
+ * @since 2.0.0
1177
+ */
1178
+ export declare const getOrThrow: <A>(self: Option<A>) => A;
1179
+ /**
1180
+ * Transforms the value inside a `Some` to a new value using the provided
1181
+ * function, while leaving `None` unchanged.
1182
+ *
1183
+ * **Details**
1184
+ *
1185
+ * This function applies a mapping function `f` to the value inside an `Option`
1186
+ * if it is a `Some`. If the `Option` is `None`, it remains unchanged. The
1187
+ * result is a new `Option` with the transformed value (if it was a `Some`) or
1188
+ * still `None`.
1189
+ *
1190
+ * This utility is particularly useful for chaining transformations in a
1191
+ * functional way without needing to manually handle `None` cases.
1192
+ *
1193
+ * @example
1194
+ * ```ts
1195
+ * import { Option } from "effect"
1196
+ *
1197
+ * // Mapping over a `Some`
1198
+ * const someValue = Option.some(2)
1199
+ *
1200
+ * console.log(Option.map(someValue, (n) => n * 2))
1201
+ * // Output: { _id: 'Option', _tag: 'Some', value: 4 }
1202
+ *
1203
+ * // Mapping over a `None`
1204
+ * const noneValue = Option.none<number>()
1205
+ *
1206
+ * console.log(Option.map(noneValue, (n) => n * 2))
1207
+ * // Output: { _id: 'Option', _tag: 'None' }
1208
+ * ```
1209
+ *
1210
+ * @category Mapping
1211
+ * @since 2.0.0
1212
+ */
1213
+ export declare const map: {
1214
+ /**
1215
+ * Transforms the value inside a `Some` to a new value using the provided
1216
+ * function, while leaving `None` unchanged.
1217
+ *
1218
+ * **Details**
1219
+ *
1220
+ * This function applies a mapping function `f` to the value inside an `Option`
1221
+ * if it is a `Some`. If the `Option` is `None`, it remains unchanged. The
1222
+ * result is a new `Option` with the transformed value (if it was a `Some`) or
1223
+ * still `None`.
1224
+ *
1225
+ * This utility is particularly useful for chaining transformations in a
1226
+ * functional way without needing to manually handle `None` cases.
1227
+ *
1228
+ * @example
1229
+ * ```ts
1230
+ * import { Option } from "effect"
1231
+ *
1232
+ * // Mapping over a `Some`
1233
+ * const someValue = Option.some(2)
1234
+ *
1235
+ * console.log(Option.map(someValue, (n) => n * 2))
1236
+ * // Output: { _id: 'Option', _tag: 'Some', value: 4 }
1237
+ *
1238
+ * // Mapping over a `None`
1239
+ * const noneValue = Option.none<number>()
1240
+ *
1241
+ * console.log(Option.map(noneValue, (n) => n * 2))
1242
+ * // Output: { _id: 'Option', _tag: 'None' }
1243
+ * ```
1244
+ *
1245
+ * @category Mapping
1246
+ * @since 2.0.0
1247
+ */
1248
+ <A, B>(f: (a: A) => B): (self: Option<A>) => Option<B>;
1249
+ /**
1250
+ * Transforms the value inside a `Some` to a new value using the provided
1251
+ * function, while leaving `None` unchanged.
1252
+ *
1253
+ * **Details**
1254
+ *
1255
+ * This function applies a mapping function `f` to the value inside an `Option`
1256
+ * if it is a `Some`. If the `Option` is `None`, it remains unchanged. The
1257
+ * result is a new `Option` with the transformed value (if it was a `Some`) or
1258
+ * still `None`.
1259
+ *
1260
+ * This utility is particularly useful for chaining transformations in a
1261
+ * functional way without needing to manually handle `None` cases.
1262
+ *
1263
+ * @example
1264
+ * ```ts
1265
+ * import { Option } from "effect"
1266
+ *
1267
+ * // Mapping over a `Some`
1268
+ * const someValue = Option.some(2)
1269
+ *
1270
+ * console.log(Option.map(someValue, (n) => n * 2))
1271
+ * // Output: { _id: 'Option', _tag: 'Some', value: 4 }
1272
+ *
1273
+ * // Mapping over a `None`
1274
+ * const noneValue = Option.none<number>()
1275
+ *
1276
+ * console.log(Option.map(noneValue, (n) => n * 2))
1277
+ * // Output: { _id: 'Option', _tag: 'None' }
1278
+ * ```
1279
+ *
1280
+ * @category Mapping
1281
+ * @since 2.0.0
1282
+ */
1283
+ <A, B>(self: Option<A>, f: (a: A) => B): Option<B>;
1284
+ };
1285
+ /**
1286
+ * Replaces the value inside a `Some` with the specified constant value, leaving
1287
+ * `None` unchanged.
1288
+ *
1289
+ * **Details**
1290
+ *
1291
+ * This function transforms an `Option` by replacing the value inside a `Some`
1292
+ * with the given constant value `b`. If the `Option` is `None`, it remains
1293
+ * unchanged.
1294
+ *
1295
+ * This is useful when you want to preserve the presence of a value (`Some`) but
1296
+ * replace its content with a fixed value.
1297
+ *
1298
+ * @example
1299
+ * ```ts
1300
+ * import { Option } from "effect"
1301
+ *
1302
+ * // Replacing the value of a `Some`
1303
+ * const someValue = Option.some(42)
1304
+ *
1305
+ * console.log(Option.as(someValue, "new value"))
1306
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'new value' }
1307
+ *
1308
+ * // Replacing a `None` (no effect)
1309
+ * const noneValue = Option.none<number>()
1310
+ *
1311
+ * console.log(Option.as(noneValue, "new value"))
1312
+ * // Output: { _id: 'Option', _tag: 'None' }
1313
+ * ```
1314
+ *
1315
+ * @category Mapping
1316
+ * @since 2.0.0
1317
+ */
1318
+ export declare const as: {
1319
+ /**
1320
+ * Replaces the value inside a `Some` with the specified constant value, leaving
1321
+ * `None` unchanged.
1322
+ *
1323
+ * **Details**
1324
+ *
1325
+ * This function transforms an `Option` by replacing the value inside a `Some`
1326
+ * with the given constant value `b`. If the `Option` is `None`, it remains
1327
+ * unchanged.
1328
+ *
1329
+ * This is useful when you want to preserve the presence of a value (`Some`) but
1330
+ * replace its content with a fixed value.
1331
+ *
1332
+ * @example
1333
+ * ```ts
1334
+ * import { Option } from "effect"
1335
+ *
1336
+ * // Replacing the value of a `Some`
1337
+ * const someValue = Option.some(42)
1338
+ *
1339
+ * console.log(Option.as(someValue, "new value"))
1340
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'new value' }
1341
+ *
1342
+ * // Replacing a `None` (no effect)
1343
+ * const noneValue = Option.none<number>()
1344
+ *
1345
+ * console.log(Option.as(noneValue, "new value"))
1346
+ * // Output: { _id: 'Option', _tag: 'None' }
1347
+ * ```
1348
+ *
1349
+ * @category Mapping
1350
+ * @since 2.0.0
1351
+ */
1352
+ <B>(b: B): <X>(self: Option<X>) => Option<B>;
1353
+ /**
1354
+ * Replaces the value inside a `Some` with the specified constant value, leaving
1355
+ * `None` unchanged.
1356
+ *
1357
+ * **Details**
1358
+ *
1359
+ * This function transforms an `Option` by replacing the value inside a `Some`
1360
+ * with the given constant value `b`. If the `Option` is `None`, it remains
1361
+ * unchanged.
1362
+ *
1363
+ * This is useful when you want to preserve the presence of a value (`Some`) but
1364
+ * replace its content with a fixed value.
1365
+ *
1366
+ * @example
1367
+ * ```ts
1368
+ * import { Option } from "effect"
1369
+ *
1370
+ * // Replacing the value of a `Some`
1371
+ * const someValue = Option.some(42)
1372
+ *
1373
+ * console.log(Option.as(someValue, "new value"))
1374
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'new value' }
1375
+ *
1376
+ * // Replacing a `None` (no effect)
1377
+ * const noneValue = Option.none<number>()
1378
+ *
1379
+ * console.log(Option.as(noneValue, "new value"))
1380
+ * // Output: { _id: 'Option', _tag: 'None' }
1381
+ * ```
1382
+ *
1383
+ * @category Mapping
1384
+ * @since 2.0.0
1385
+ */
1386
+ <X, B>(self: Option<X>, b: B): Option<B>;
1387
+ };
1388
+ /**
1389
+ * Replaces the value inside a `Some` with the constant value `void`, leaving
1390
+ * `None` unchanged.
1391
+ *
1392
+ * **Details**
1393
+ *
1394
+ * This function transforms an `Option` by replacing the value inside a `Some`
1395
+ * with `void`. If the `Option` is `None`, it remains unchanged.
1396
+ *
1397
+ * This is particularly useful in scenarios where the presence or absence of a
1398
+ * value is significant, but the actual content of the value is irrelevant.
1399
+ *
1400
+ * @category Mapping
1401
+ * @since 2.0.0
1402
+ */
1403
+ export declare const asVoid: <_>(self: Option<_>) => Option<void>;
1404
+ declare const void_: Option<void>;
1405
+ export {
1406
+ /**
1407
+ * @since 2.0.0
1408
+ */
1409
+ void_ as void };
1410
+ /**
1411
+ * Applies a function to the value of a `Some` and flattens the resulting
1412
+ * `Option`. If the input is `None`, it remains `None`.
1413
+ *
1414
+ * **Details**
1415
+ *
1416
+ * This function allows you to chain computations that return `Option` values.
1417
+ * If the input `Option` is `Some`, the provided function `f` is applied to the
1418
+ * contained value, and the resulting `Option` is returned. If the input is
1419
+ * `None`, the function is not applied, and the result remains `None`.
1420
+ *
1421
+ * This utility is particularly useful for sequencing operations that may fail
1422
+ * or produce optional results, enabling clean and concise workflows for
1423
+ * handling such cases.
1424
+ *
1425
+ * @example
1426
+ * ```ts
1427
+ * import { Option } from "effect"
1428
+ *
1429
+ * interface Address {
1430
+ * readonly city: string
1431
+ * readonly street: Option.Option<string>
1432
+ * }
1433
+ *
1434
+ * interface User {
1435
+ * readonly id: number
1436
+ * readonly username: string
1437
+ * readonly email: Option.Option<string>
1438
+ * readonly address: Option.Option<Address>
1439
+ * }
1440
+ *
1441
+ * const user: User = {
1442
+ * id: 1,
1443
+ * username: "john_doe",
1444
+ * email: Option.some("john.doe@example.com"),
1445
+ * address: Option.some({
1446
+ * city: "New York",
1447
+ * street: Option.some("123 Main St")
1448
+ * })
1449
+ * }
1450
+ *
1451
+ * // Use flatMap to extract the street value
1452
+ * const street = user.address.pipe(
1453
+ * Option.flatMap((address) => address.street)
1454
+ * )
1455
+ *
1456
+ * console.log(street)
1457
+ * // Output: { _id: 'Option', _tag: 'Some', value: '123 Main St' }
1458
+ * ```
1459
+ *
1460
+ * @category Sequencing
1461
+ * @since 2.0.0
1462
+ */
1463
+ export declare const flatMap: {
1464
+ /**
1465
+ * Applies a function to the value of a `Some` and flattens the resulting
1466
+ * `Option`. If the input is `None`, it remains `None`.
1467
+ *
1468
+ * **Details**
1469
+ *
1470
+ * This function allows you to chain computations that return `Option` values.
1471
+ * If the input `Option` is `Some`, the provided function `f` is applied to the
1472
+ * contained value, and the resulting `Option` is returned. If the input is
1473
+ * `None`, the function is not applied, and the result remains `None`.
1474
+ *
1475
+ * This utility is particularly useful for sequencing operations that may fail
1476
+ * or produce optional results, enabling clean and concise workflows for
1477
+ * handling such cases.
1478
+ *
1479
+ * @example
1480
+ * ```ts
1481
+ * import { Option } from "effect"
1482
+ *
1483
+ * interface Address {
1484
+ * readonly city: string
1485
+ * readonly street: Option.Option<string>
1486
+ * }
1487
+ *
1488
+ * interface User {
1489
+ * readonly id: number
1490
+ * readonly username: string
1491
+ * readonly email: Option.Option<string>
1492
+ * readonly address: Option.Option<Address>
1493
+ * }
1494
+ *
1495
+ * const user: User = {
1496
+ * id: 1,
1497
+ * username: "john_doe",
1498
+ * email: Option.some("john.doe@example.com"),
1499
+ * address: Option.some({
1500
+ * city: "New York",
1501
+ * street: Option.some("123 Main St")
1502
+ * })
1503
+ * }
1504
+ *
1505
+ * // Use flatMap to extract the street value
1506
+ * const street = user.address.pipe(
1507
+ * Option.flatMap((address) => address.street)
1508
+ * )
1509
+ *
1510
+ * console.log(street)
1511
+ * // Output: { _id: 'Option', _tag: 'Some', value: '123 Main St' }
1512
+ * ```
1513
+ *
1514
+ * @category Sequencing
1515
+ * @since 2.0.0
1516
+ */
1517
+ <A, B>(f: (a: A) => Option<B>): (self: Option<A>) => Option<B>;
1518
+ /**
1519
+ * Applies a function to the value of a `Some` and flattens the resulting
1520
+ * `Option`. If the input is `None`, it remains `None`.
1521
+ *
1522
+ * **Details**
1523
+ *
1524
+ * This function allows you to chain computations that return `Option` values.
1525
+ * If the input `Option` is `Some`, the provided function `f` is applied to the
1526
+ * contained value, and the resulting `Option` is returned. If the input is
1527
+ * `None`, the function is not applied, and the result remains `None`.
1528
+ *
1529
+ * This utility is particularly useful for sequencing operations that may fail
1530
+ * or produce optional results, enabling clean and concise workflows for
1531
+ * handling such cases.
1532
+ *
1533
+ * @example
1534
+ * ```ts
1535
+ * import { Option } from "effect"
1536
+ *
1537
+ * interface Address {
1538
+ * readonly city: string
1539
+ * readonly street: Option.Option<string>
1540
+ * }
1541
+ *
1542
+ * interface User {
1543
+ * readonly id: number
1544
+ * readonly username: string
1545
+ * readonly email: Option.Option<string>
1546
+ * readonly address: Option.Option<Address>
1547
+ * }
1548
+ *
1549
+ * const user: User = {
1550
+ * id: 1,
1551
+ * username: "john_doe",
1552
+ * email: Option.some("john.doe@example.com"),
1553
+ * address: Option.some({
1554
+ * city: "New York",
1555
+ * street: Option.some("123 Main St")
1556
+ * })
1557
+ * }
1558
+ *
1559
+ * // Use flatMap to extract the street value
1560
+ * const street = user.address.pipe(
1561
+ * Option.flatMap((address) => address.street)
1562
+ * )
1563
+ *
1564
+ * console.log(street)
1565
+ * // Output: { _id: 'Option', _tag: 'Some', value: '123 Main St' }
1566
+ * ```
1567
+ *
1568
+ * @category Sequencing
1569
+ * @since 2.0.0
1570
+ */
1571
+ <A, B>(self: Option<A>, f: (a: A) => Option<B>): Option<B>;
1572
+ };
1573
+ /**
1574
+ * Chains two `Option`s together. The second `Option` can either be a static
1575
+ * value or depend on the result of the first `Option`.
1576
+ *
1577
+ * **Details**
1578
+ *
1579
+ * This function enables sequencing of two `Option` computations. If the first
1580
+ * `Option` is `Some`, the second `Option` is evaluated. The second `Option` can
1581
+ * either:
1582
+ *
1583
+ * - Be a static `Option` value.
1584
+ * - Be a function that produces an `Option`, optionally based on the value of
1585
+ * the first `Option`.
1586
+ *
1587
+ * If the first `Option` is `None`, the function skips the evaluation of the
1588
+ * second `Option` and directly returns `None`.
1589
+ *
1590
+ * @category Sequencing
1591
+ * @since 2.0.0
1592
+ */
1593
+ export declare const andThen: {
1594
+ /**
1595
+ * Chains two `Option`s together. The second `Option` can either be a static
1596
+ * value or depend on the result of the first `Option`.
1597
+ *
1598
+ * **Details**
1599
+ *
1600
+ * This function enables sequencing of two `Option` computations. If the first
1601
+ * `Option` is `Some`, the second `Option` is evaluated. The second `Option` can
1602
+ * either:
1603
+ *
1604
+ * - Be a static `Option` value.
1605
+ * - Be a function that produces an `Option`, optionally based on the value of
1606
+ * the first `Option`.
1607
+ *
1608
+ * If the first `Option` is `None`, the function skips the evaluation of the
1609
+ * second `Option` and directly returns `None`.
1610
+ *
1611
+ * @category Sequencing
1612
+ * @since 2.0.0
1613
+ */
1614
+ <A, B>(f: (a: A) => Option<B>): (self: Option<A>) => Option<B>;
1615
+ /**
1616
+ * Chains two `Option`s together. The second `Option` can either be a static
1617
+ * value or depend on the result of the first `Option`.
1618
+ *
1619
+ * **Details**
1620
+ *
1621
+ * This function enables sequencing of two `Option` computations. If the first
1622
+ * `Option` is `Some`, the second `Option` is evaluated. The second `Option` can
1623
+ * either:
1624
+ *
1625
+ * - Be a static `Option` value.
1626
+ * - Be a function that produces an `Option`, optionally based on the value of
1627
+ * the first `Option`.
1628
+ *
1629
+ * If the first `Option` is `None`, the function skips the evaluation of the
1630
+ * second `Option` and directly returns `None`.
1631
+ *
1632
+ * @category Sequencing
1633
+ * @since 2.0.0
1634
+ */
1635
+ <B>(f: Option<B>): <A>(self: Option<A>) => Option<B>;
1636
+ /**
1637
+ * Chains two `Option`s together. The second `Option` can either be a static
1638
+ * value or depend on the result of the first `Option`.
1639
+ *
1640
+ * **Details**
1641
+ *
1642
+ * This function enables sequencing of two `Option` computations. If the first
1643
+ * `Option` is `Some`, the second `Option` is evaluated. The second `Option` can
1644
+ * either:
1645
+ *
1646
+ * - Be a static `Option` value.
1647
+ * - Be a function that produces an `Option`, optionally based on the value of
1648
+ * the first `Option`.
1649
+ *
1650
+ * If the first `Option` is `None`, the function skips the evaluation of the
1651
+ * second `Option` and directly returns `None`.
1652
+ *
1653
+ * @category Sequencing
1654
+ * @since 2.0.0
1655
+ */
1656
+ <A, B>(f: (a: A) => B): (self: Option<A>) => Option<B>;
1657
+ /**
1658
+ * Chains two `Option`s together. The second `Option` can either be a static
1659
+ * value or depend on the result of the first `Option`.
1660
+ *
1661
+ * **Details**
1662
+ *
1663
+ * This function enables sequencing of two `Option` computations. If the first
1664
+ * `Option` is `Some`, the second `Option` is evaluated. The second `Option` can
1665
+ * either:
1666
+ *
1667
+ * - Be a static `Option` value.
1668
+ * - Be a function that produces an `Option`, optionally based on the value of
1669
+ * the first `Option`.
1670
+ *
1671
+ * If the first `Option` is `None`, the function skips the evaluation of the
1672
+ * second `Option` and directly returns `None`.
1673
+ *
1674
+ * @category Sequencing
1675
+ * @since 2.0.0
1676
+ */
1677
+ <B>(f: NotFunction<B>): <A>(self: Option<A>) => Option<B>;
1678
+ /**
1679
+ * Chains two `Option`s together. The second `Option` can either be a static
1680
+ * value or depend on the result of the first `Option`.
1681
+ *
1682
+ * **Details**
1683
+ *
1684
+ * This function enables sequencing of two `Option` computations. If the first
1685
+ * `Option` is `Some`, the second `Option` is evaluated. The second `Option` can
1686
+ * either:
1687
+ *
1688
+ * - Be a static `Option` value.
1689
+ * - Be a function that produces an `Option`, optionally based on the value of
1690
+ * the first `Option`.
1691
+ *
1692
+ * If the first `Option` is `None`, the function skips the evaluation of the
1693
+ * second `Option` and directly returns `None`.
1694
+ *
1695
+ * @category Sequencing
1696
+ * @since 2.0.0
1697
+ */
1698
+ <A, B>(self: Option<A>, f: (a: A) => Option<B>): Option<B>;
1699
+ /**
1700
+ * Chains two `Option`s together. The second `Option` can either be a static
1701
+ * value or depend on the result of the first `Option`.
1702
+ *
1703
+ * **Details**
1704
+ *
1705
+ * This function enables sequencing of two `Option` computations. If the first
1706
+ * `Option` is `Some`, the second `Option` is evaluated. The second `Option` can
1707
+ * either:
1708
+ *
1709
+ * - Be a static `Option` value.
1710
+ * - Be a function that produces an `Option`, optionally based on the value of
1711
+ * the first `Option`.
1712
+ *
1713
+ * If the first `Option` is `None`, the function skips the evaluation of the
1714
+ * second `Option` and directly returns `None`.
1715
+ *
1716
+ * @category Sequencing
1717
+ * @since 2.0.0
1718
+ */
1719
+ <A, B>(self: Option<A>, f: Option<B>): Option<B>;
1720
+ /**
1721
+ * Chains two `Option`s together. The second `Option` can either be a static
1722
+ * value or depend on the result of the first `Option`.
1723
+ *
1724
+ * **Details**
1725
+ *
1726
+ * This function enables sequencing of two `Option` computations. If the first
1727
+ * `Option` is `Some`, the second `Option` is evaluated. The second `Option` can
1728
+ * either:
1729
+ *
1730
+ * - Be a static `Option` value.
1731
+ * - Be a function that produces an `Option`, optionally based on the value of
1732
+ * the first `Option`.
1733
+ *
1734
+ * If the first `Option` is `None`, the function skips the evaluation of the
1735
+ * second `Option` and directly returns `None`.
1736
+ *
1737
+ * @category Sequencing
1738
+ * @since 2.0.0
1739
+ */
1740
+ <A, B>(self: Option<A>, f: (a: A) => B): Option<B>;
1741
+ /**
1742
+ * Chains two `Option`s together. The second `Option` can either be a static
1743
+ * value or depend on the result of the first `Option`.
1744
+ *
1745
+ * **Details**
1746
+ *
1747
+ * This function enables sequencing of two `Option` computations. If the first
1748
+ * `Option` is `Some`, the second `Option` is evaluated. The second `Option` can
1749
+ * either:
1750
+ *
1751
+ * - Be a static `Option` value.
1752
+ * - Be a function that produces an `Option`, optionally based on the value of
1753
+ * the first `Option`.
1754
+ *
1755
+ * If the first `Option` is `None`, the function skips the evaluation of the
1756
+ * second `Option` and directly returns `None`.
1757
+ *
1758
+ * @category Sequencing
1759
+ * @since 2.0.0
1760
+ */
1761
+ <A, B>(self: Option<A>, f: NotFunction<B>): Option<B>;
1762
+ };
1763
+ /**
1764
+ * Combines `flatMap` and `fromNullable`, transforming the value inside a `Some`
1765
+ * using a function that may return `null` or `undefined`.
1766
+ *
1767
+ * **Details**
1768
+ *
1769
+ * This function applies a transformation function `f` to the value inside a
1770
+ * `Some`. The function `f` may return a value, `null`, or `undefined`. If `f`
1771
+ * returns a value, it is wrapped in a `Some`. If `f` returns `null` or
1772
+ * `undefined`, the result is `None`. If the input `Option` is `None`, the
1773
+ * function is not applied, and `None` is returned.
1774
+ *
1775
+ * This utility is particularly useful when working with deeply nested optional
1776
+ * values or chaining computations that may result in `null` or `undefined` at
1777
+ * some point.
1778
+ *
1779
+ * @example
1780
+ * ```ts
1781
+ * import { Option } from "effect"
1782
+ *
1783
+ * interface Employee {
1784
+ * company?: {
1785
+ * address?: {
1786
+ * street?: {
1787
+ * name?: string
1788
+ * }
1789
+ * }
1790
+ * }
1791
+ * }
1792
+ *
1793
+ * const employee1: Employee = { company: { address: { street: { name: "high street" } } } }
1794
+ *
1795
+ * // Extracting a deeply nested property
1796
+ * console.log(
1797
+ * Option.some(employee1)
1798
+ * .pipe(Option.flatMapNullable((employee) => employee.company?.address?.street?.name))
1799
+ * )
1800
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'high street' }
1801
+ *
1802
+ * const employee2: Employee = { company: { address: { street: {} } } }
1803
+ *
1804
+ * // Property does not exist
1805
+ * console.log(
1806
+ * Option.some(employee2)
1807
+ * .pipe(Option.flatMapNullable((employee) => employee.company?.address?.street?.name))
1808
+ * )
1809
+ * // Output: { _id: 'Option', _tag: 'None' }
1810
+ * ```
1811
+ *
1812
+ * @category Sequencing
1813
+ * @since 2.0.0
1814
+ */
1815
+ export declare const flatMapNullable: {
1816
+ /**
1817
+ * Combines `flatMap` and `fromNullable`, transforming the value inside a `Some`
1818
+ * using a function that may return `null` or `undefined`.
1819
+ *
1820
+ * **Details**
1821
+ *
1822
+ * This function applies a transformation function `f` to the value inside a
1823
+ * `Some`. The function `f` may return a value, `null`, or `undefined`. If `f`
1824
+ * returns a value, it is wrapped in a `Some`. If `f` returns `null` or
1825
+ * `undefined`, the result is `None`. If the input `Option` is `None`, the
1826
+ * function is not applied, and `None` is returned.
1827
+ *
1828
+ * This utility is particularly useful when working with deeply nested optional
1829
+ * values or chaining computations that may result in `null` or `undefined` at
1830
+ * some point.
1831
+ *
1832
+ * @example
1833
+ * ```ts
1834
+ * import { Option } from "effect"
1835
+ *
1836
+ * interface Employee {
1837
+ * company?: {
1838
+ * address?: {
1839
+ * street?: {
1840
+ * name?: string
1841
+ * }
1842
+ * }
1843
+ * }
1844
+ * }
1845
+ *
1846
+ * const employee1: Employee = { company: { address: { street: { name: "high street" } } } }
1847
+ *
1848
+ * // Extracting a deeply nested property
1849
+ * console.log(
1850
+ * Option.some(employee1)
1851
+ * .pipe(Option.flatMapNullable((employee) => employee.company?.address?.street?.name))
1852
+ * )
1853
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'high street' }
1854
+ *
1855
+ * const employee2: Employee = { company: { address: { street: {} } } }
1856
+ *
1857
+ * // Property does not exist
1858
+ * console.log(
1859
+ * Option.some(employee2)
1860
+ * .pipe(Option.flatMapNullable((employee) => employee.company?.address?.street?.name))
1861
+ * )
1862
+ * // Output: { _id: 'Option', _tag: 'None' }
1863
+ * ```
1864
+ *
1865
+ * @category Sequencing
1866
+ * @since 2.0.0
1867
+ */
1868
+ <A, B>(f: (a: A) => B | null | undefined): (self: Option<A>) => Option<NonNullable<B>>;
1869
+ /**
1870
+ * Combines `flatMap` and `fromNullable`, transforming the value inside a `Some`
1871
+ * using a function that may return `null` or `undefined`.
1872
+ *
1873
+ * **Details**
1874
+ *
1875
+ * This function applies a transformation function `f` to the value inside a
1876
+ * `Some`. The function `f` may return a value, `null`, or `undefined`. If `f`
1877
+ * returns a value, it is wrapped in a `Some`. If `f` returns `null` or
1878
+ * `undefined`, the result is `None`. If the input `Option` is `None`, the
1879
+ * function is not applied, and `None` is returned.
1880
+ *
1881
+ * This utility is particularly useful when working with deeply nested optional
1882
+ * values or chaining computations that may result in `null` or `undefined` at
1883
+ * some point.
1884
+ *
1885
+ * @example
1886
+ * ```ts
1887
+ * import { Option } from "effect"
1888
+ *
1889
+ * interface Employee {
1890
+ * company?: {
1891
+ * address?: {
1892
+ * street?: {
1893
+ * name?: string
1894
+ * }
1895
+ * }
1896
+ * }
1897
+ * }
1898
+ *
1899
+ * const employee1: Employee = { company: { address: { street: { name: "high street" } } } }
1900
+ *
1901
+ * // Extracting a deeply nested property
1902
+ * console.log(
1903
+ * Option.some(employee1)
1904
+ * .pipe(Option.flatMapNullable((employee) => employee.company?.address?.street?.name))
1905
+ * )
1906
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'high street' }
1907
+ *
1908
+ * const employee2: Employee = { company: { address: { street: {} } } }
1909
+ *
1910
+ * // Property does not exist
1911
+ * console.log(
1912
+ * Option.some(employee2)
1913
+ * .pipe(Option.flatMapNullable((employee) => employee.company?.address?.street?.name))
1914
+ * )
1915
+ * // Output: { _id: 'Option', _tag: 'None' }
1916
+ * ```
1917
+ *
1918
+ * @category Sequencing
1919
+ * @since 2.0.0
1920
+ */
1921
+ <A, B>(self: Option<A>, f: (a: A) => B | null | undefined): Option<NonNullable<B>>;
1922
+ };
1923
+ /**
1924
+ * Flattens an `Option` of `Option` into a single `Option`.
1925
+ *
1926
+ * **Details**
1927
+ *
1928
+ * This function takes an `Option` that wraps another `Option` and flattens it
1929
+ * into a single `Option`. If the outer `Option` is `Some`, the function
1930
+ * extracts the inner `Option`. If the outer `Option` is `None`, the result
1931
+ * remains `None`.
1932
+ *
1933
+ * This is useful for simplifying nested `Option` structures that may arise
1934
+ * during functional operations.
1935
+ *
1936
+ * @category Sequencing
1937
+ * @since 2.0.0
1938
+ */
1939
+ export declare const flatten: <A>(self: Option<Option<A>>) => Option<A>;
1940
+ /**
1941
+ * Combines two `Option`s, keeping the value from the second `Option` if both
1942
+ * are `Some`.
1943
+ *
1944
+ * **Details**
1945
+ *
1946
+ * This function takes two `Option`s and returns the second one if the first is
1947
+ * `Some`. If the first `Option` is `None`, the result will also be `None`,
1948
+ * regardless of the second `Option`. It effectively "zips" the two `Option`s
1949
+ * while discarding the value from the first `Option`.
1950
+ *
1951
+ * This is particularly useful when sequencing computations where the result of
1952
+ * the first computation is not needed, and you only care about the result of
1953
+ * the second computation.
1954
+ *
1955
+ * @category Zipping
1956
+ * @since 2.0.0
1957
+ */
1958
+ export declare const zipRight: {
1959
+ /**
1960
+ * Combines two `Option`s, keeping the value from the second `Option` if both
1961
+ * are `Some`.
1962
+ *
1963
+ * **Details**
1964
+ *
1965
+ * This function takes two `Option`s and returns the second one if the first is
1966
+ * `Some`. If the first `Option` is `None`, the result will also be `None`,
1967
+ * regardless of the second `Option`. It effectively "zips" the two `Option`s
1968
+ * while discarding the value from the first `Option`.
1969
+ *
1970
+ * This is particularly useful when sequencing computations where the result of
1971
+ * the first computation is not needed, and you only care about the result of
1972
+ * the second computation.
1973
+ *
1974
+ * @category Zipping
1975
+ * @since 2.0.0
1976
+ */
1977
+ <B>(that: Option<B>): <_>(self: Option<_>) => Option<B>;
1978
+ /**
1979
+ * Combines two `Option`s, keeping the value from the second `Option` if both
1980
+ * are `Some`.
1981
+ *
1982
+ * **Details**
1983
+ *
1984
+ * This function takes two `Option`s and returns the second one if the first is
1985
+ * `Some`. If the first `Option` is `None`, the result will also be `None`,
1986
+ * regardless of the second `Option`. It effectively "zips" the two `Option`s
1987
+ * while discarding the value from the first `Option`.
1988
+ *
1989
+ * This is particularly useful when sequencing computations where the result of
1990
+ * the first computation is not needed, and you only care about the result of
1991
+ * the second computation.
1992
+ *
1993
+ * @category Zipping
1994
+ * @since 2.0.0
1995
+ */
1996
+ <X, B>(self: Option<X>, that: Option<B>): Option<B>;
1997
+ };
1998
+ /**
1999
+ * Combines two `Option`s, keeping the value from the first `Option` if both are
2000
+ * `Some`.
2001
+ *
2002
+ * **Details**
2003
+ *
2004
+ * This function takes two `Option`s and returns the first one if it is `Some`.
2005
+ * If either the first `Option` or the second `Option` is `None`, the result
2006
+ * will be `None`. This operation "zips" the two `Option`s while discarding the
2007
+ * value from the second `Option`.
2008
+ *
2009
+ * This is useful when sequencing computations where the second `Option`
2010
+ * represents a dependency or condition that must hold, but its value is
2011
+ * irrelevant.
2012
+ *
2013
+ * @category Zipping
2014
+ * @since 2.0.0
2015
+ */
2016
+ export declare const zipLeft: {
2017
+ /**
2018
+ * Combines two `Option`s, keeping the value from the first `Option` if both are
2019
+ * `Some`.
2020
+ *
2021
+ * **Details**
2022
+ *
2023
+ * This function takes two `Option`s and returns the first one if it is `Some`.
2024
+ * If either the first `Option` or the second `Option` is `None`, the result
2025
+ * will be `None`. This operation "zips" the two `Option`s while discarding the
2026
+ * value from the second `Option`.
2027
+ *
2028
+ * This is useful when sequencing computations where the second `Option`
2029
+ * represents a dependency or condition that must hold, but its value is
2030
+ * irrelevant.
2031
+ *
2032
+ * @category Zipping
2033
+ * @since 2.0.0
2034
+ */
2035
+ <_>(that: Option<_>): <A>(self: Option<A>) => Option<A>;
2036
+ /**
2037
+ * Combines two `Option`s, keeping the value from the first `Option` if both are
2038
+ * `Some`.
2039
+ *
2040
+ * **Details**
2041
+ *
2042
+ * This function takes two `Option`s and returns the first one if it is `Some`.
2043
+ * If either the first `Option` or the second `Option` is `None`, the result
2044
+ * will be `None`. This operation "zips" the two `Option`s while discarding the
2045
+ * value from the second `Option`.
2046
+ *
2047
+ * This is useful when sequencing computations where the second `Option`
2048
+ * represents a dependency or condition that must hold, but its value is
2049
+ * irrelevant.
2050
+ *
2051
+ * @category Zipping
2052
+ * @since 2.0.0
2053
+ */
2054
+ <A, X>(self: Option<A>, that: Option<X>): Option<A>;
2055
+ };
2056
+ /**
2057
+ * Composes two functions that return `Option` values, creating a new function
2058
+ * that chains them together.
2059
+ *
2060
+ * **Details**
2061
+ *
2062
+ * This function allows you to compose two computations, each represented by a
2063
+ * function that returns an `Option`. The result of the first function is passed
2064
+ * to the second function if it is `Some`. If the first function returns `None`,
2065
+ * the composed function short-circuits and returns `None` without invoking the
2066
+ * second function.
2067
+ *
2068
+ * @example
2069
+ * ```ts
2070
+ * import { Option } from "effect"
2071
+ *
2072
+ * const parse = (s: string): Option.Option<number> => isNaN(Number(s)) ? Option.none() : Option.some(Number(s))
2073
+ *
2074
+ * const double = (n: number): Option.Option<number> => n > 0 ? Option.some(n * 2) : Option.none()
2075
+ *
2076
+ * const parseAndDouble = Option.composeK(parse, double)
2077
+ *
2078
+ * console.log(parseAndDouble("42"))
2079
+ * // Output: { _id: 'Option', _tag: 'Some', value: 84 }
2080
+ *
2081
+ * console.log(parseAndDouble("not a number"))
2082
+ * // Output: { _id: 'Option', _tag: 'None' }
2083
+ * ```
2084
+ *
2085
+ * @category Sequencing
2086
+ * @since 2.0.0
2087
+ */
2088
+ export declare const composeK: {
2089
+ /**
2090
+ * Composes two functions that return `Option` values, creating a new function
2091
+ * that chains them together.
2092
+ *
2093
+ * **Details**
2094
+ *
2095
+ * This function allows you to compose two computations, each represented by a
2096
+ * function that returns an `Option`. The result of the first function is passed
2097
+ * to the second function if it is `Some`. If the first function returns `None`,
2098
+ * the composed function short-circuits and returns `None` without invoking the
2099
+ * second function.
2100
+ *
2101
+ * @example
2102
+ * ```ts
2103
+ * import { Option } from "effect"
2104
+ *
2105
+ * const parse = (s: string): Option.Option<number> => isNaN(Number(s)) ? Option.none() : Option.some(Number(s))
2106
+ *
2107
+ * const double = (n: number): Option.Option<number> => n > 0 ? Option.some(n * 2) : Option.none()
2108
+ *
2109
+ * const parseAndDouble = Option.composeK(parse, double)
2110
+ *
2111
+ * console.log(parseAndDouble("42"))
2112
+ * // Output: { _id: 'Option', _tag: 'Some', value: 84 }
2113
+ *
2114
+ * console.log(parseAndDouble("not a number"))
2115
+ * // Output: { _id: 'Option', _tag: 'None' }
2116
+ * ```
2117
+ *
2118
+ * @category Sequencing
2119
+ * @since 2.0.0
2120
+ */
2121
+ <B, C>(bfc: (b: B) => Option<C>): <A>(afb: (a: A) => Option<B>) => (a: A) => Option<C>;
2122
+ /**
2123
+ * Composes two functions that return `Option` values, creating a new function
2124
+ * that chains them together.
2125
+ *
2126
+ * **Details**
2127
+ *
2128
+ * This function allows you to compose two computations, each represented by a
2129
+ * function that returns an `Option`. The result of the first function is passed
2130
+ * to the second function if it is `Some`. If the first function returns `None`,
2131
+ * the composed function short-circuits and returns `None` without invoking the
2132
+ * second function.
2133
+ *
2134
+ * @example
2135
+ * ```ts
2136
+ * import { Option } from "effect"
2137
+ *
2138
+ * const parse = (s: string): Option.Option<number> => isNaN(Number(s)) ? Option.none() : Option.some(Number(s))
2139
+ *
2140
+ * const double = (n: number): Option.Option<number> => n > 0 ? Option.some(n * 2) : Option.none()
2141
+ *
2142
+ * const parseAndDouble = Option.composeK(parse, double)
2143
+ *
2144
+ * console.log(parseAndDouble("42"))
2145
+ * // Output: { _id: 'Option', _tag: 'Some', value: 84 }
2146
+ *
2147
+ * console.log(parseAndDouble("not a number"))
2148
+ * // Output: { _id: 'Option', _tag: 'None' }
2149
+ * ```
2150
+ *
2151
+ * @category Sequencing
2152
+ * @since 2.0.0
2153
+ */
2154
+ <A, B, C>(afb: (a: A) => Option<B>, bfc: (b: B) => Option<C>): (a: A) => Option<C>;
2155
+ };
2156
+ /**
2157
+ * Applies the provided function `f` to the value of the `Option` if it is
2158
+ * `Some` and returns the original `Option`, unless `f` returns `None`, in which
2159
+ * case it returns `None`.
2160
+ *
2161
+ * **Details**
2162
+ *
2163
+ * This function allows you to perform additional computations on the value of
2164
+ * an `Option` without modifying its original value. If the `Option` is `Some`,
2165
+ * the provided function `f` is executed with the value, and its result
2166
+ * determines whether the original `Option` is returned (`Some`) or the result
2167
+ * is `None` if `f` returns `None`. If the input `Option` is `None`, the
2168
+ * function is not executed, and `None` is returned.
2169
+ *
2170
+ * This is particularly useful for applying side conditions or performing
2171
+ * validation checks while retaining the original `Option`'s value.
2172
+ *
2173
+ * @example
2174
+ * ```ts
2175
+ * import { Option } from "effect"
2176
+ *
2177
+ * const getInteger = (n: number) => Number.isInteger(n) ? Option.some(n) : Option.none()
2178
+ *
2179
+ * console.log(Option.tap(Option.none(), getInteger))
2180
+ * // Output: { _id: 'Option', _tag: 'None' }
2181
+ *
2182
+ * console.log(Option.tap(Option.some(1), getInteger))
2183
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
2184
+ *
2185
+ * console.log(Option.tap(Option.some(1.14), getInteger))
2186
+ * // Output: { _id: 'Option', _tag: 'None' }
2187
+ * ```
2188
+ *
2189
+ * @category Sequencing
2190
+ * @since 2.0.0
2191
+ */
2192
+ export declare const tap: {
2193
+ /**
2194
+ * Applies the provided function `f` to the value of the `Option` if it is
2195
+ * `Some` and returns the original `Option`, unless `f` returns `None`, in which
2196
+ * case it returns `None`.
2197
+ *
2198
+ * **Details**
2199
+ *
2200
+ * This function allows you to perform additional computations on the value of
2201
+ * an `Option` without modifying its original value. If the `Option` is `Some`,
2202
+ * the provided function `f` is executed with the value, and its result
2203
+ * determines whether the original `Option` is returned (`Some`) or the result
2204
+ * is `None` if `f` returns `None`. If the input `Option` is `None`, the
2205
+ * function is not executed, and `None` is returned.
2206
+ *
2207
+ * This is particularly useful for applying side conditions or performing
2208
+ * validation checks while retaining the original `Option`'s value.
2209
+ *
2210
+ * @example
2211
+ * ```ts
2212
+ * import { Option } from "effect"
2213
+ *
2214
+ * const getInteger = (n: number) => Number.isInteger(n) ? Option.some(n) : Option.none()
2215
+ *
2216
+ * console.log(Option.tap(Option.none(), getInteger))
2217
+ * // Output: { _id: 'Option', _tag: 'None' }
2218
+ *
2219
+ * console.log(Option.tap(Option.some(1), getInteger))
2220
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
2221
+ *
2222
+ * console.log(Option.tap(Option.some(1.14), getInteger))
2223
+ * // Output: { _id: 'Option', _tag: 'None' }
2224
+ * ```
2225
+ *
2226
+ * @category Sequencing
2227
+ * @since 2.0.0
2228
+ */
2229
+ <A, X>(f: (a: A) => Option<X>): (self: Option<A>) => Option<A>;
2230
+ /**
2231
+ * Applies the provided function `f` to the value of the `Option` if it is
2232
+ * `Some` and returns the original `Option`, unless `f` returns `None`, in which
2233
+ * case it returns `None`.
2234
+ *
2235
+ * **Details**
2236
+ *
2237
+ * This function allows you to perform additional computations on the value of
2238
+ * an `Option` without modifying its original value. If the `Option` is `Some`,
2239
+ * the provided function `f` is executed with the value, and its result
2240
+ * determines whether the original `Option` is returned (`Some`) or the result
2241
+ * is `None` if `f` returns `None`. If the input `Option` is `None`, the
2242
+ * function is not executed, and `None` is returned.
2243
+ *
2244
+ * This is particularly useful for applying side conditions or performing
2245
+ * validation checks while retaining the original `Option`'s value.
2246
+ *
2247
+ * @example
2248
+ * ```ts
2249
+ * import { Option } from "effect"
2250
+ *
2251
+ * const getInteger = (n: number) => Number.isInteger(n) ? Option.some(n) : Option.none()
2252
+ *
2253
+ * console.log(Option.tap(Option.none(), getInteger))
2254
+ * // Output: { _id: 'Option', _tag: 'None' }
2255
+ *
2256
+ * console.log(Option.tap(Option.some(1), getInteger))
2257
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
2258
+ *
2259
+ * console.log(Option.tap(Option.some(1.14), getInteger))
2260
+ * // Output: { _id: 'Option', _tag: 'None' }
2261
+ * ```
2262
+ *
2263
+ * @category Sequencing
2264
+ * @since 2.0.0
2265
+ */
2266
+ <A, X>(self: Option<A>, f: (a: A) => Option<X>): Option<A>;
2267
+ };
2268
+ /**
2269
+ * Combines two `Option` values into a single `Option` containing a tuple of
2270
+ * their values if both are `Some`.
2271
+ *
2272
+ * **Details**
2273
+ *
2274
+ * This function takes two `Option`s and combines their values into a tuple `[A,
2275
+ * B]` if both are `Some`. If either of the `Option`s is `None`, the result is
2276
+ * `None`. This is particularly useful for combining multiple `Option` values
2277
+ * into a single one, ensuring both contain valid values.
2278
+ *
2279
+ * @category Combining
2280
+ * @since 2.0.0
2281
+ */
2282
+ export declare const product: <A, B>(self: Option<A>, that: Option<B>) => Option<[A, B]>;
2283
+ /**
2284
+ * Combines an `Option` with a collection of `Option`s into a single `Option`
2285
+ * containing a tuple of their values if all are `Some`.
2286
+ *
2287
+ * **Details**
2288
+ *
2289
+ * This function takes a primary `Option` and a collection of `Option`s and
2290
+ * combines their values into a tuple `[A, ...Array<A>]` if all are `Some`. If
2291
+ * the primary `Option` or any `Option` in the collection is `None`, the result
2292
+ * is `None`.
2293
+ *
2294
+ * @category Combining
2295
+ * @since 2.0.0
2296
+ */
2297
+ export declare const productMany: <A>(self: Option<A>, collection: Iterable<Option<A>>) => Option<[A, ...Array<A>]>;
2298
+ /**
2299
+ * Combines a structure of `Option`s into a single `Option` containing the
2300
+ * values with the same structure.
2301
+ *
2302
+ * **Details**
2303
+ *
2304
+ * This function takes a structure of `Option`s (a tuple, struct, or iterable)
2305
+ * and produces a single `Option` that contains the values from the input
2306
+ * structure if all `Option`s are `Some`. If any `Option` in the input is
2307
+ * `None`, the result is `None`. The structure of the input is preserved in the
2308
+ * output.
2309
+ *
2310
+ * - If the input is a tuple (e.g., an array), the result will be an `Option`
2311
+ * containing a tuple with the same length.
2312
+ * - If the input is a struct (e.g., an object), the result will be an `Option`
2313
+ * containing a struct with the same keys.
2314
+ * - If the input is an iterable, the result will be an `Option` containing an
2315
+ * array.
2316
+ *
2317
+ * @example
2318
+ * ```ts
2319
+ * import { Option } from "effect"
2320
+ *
2321
+ * const maybeName: Option.Option<string> = Option.some("John")
2322
+ * const maybeAge: Option.Option<number> = Option.some(25)
2323
+ *
2324
+ * // ┌─── Option<[string, number]>
2325
+ * // ▼
2326
+ * const tuple = Option.all([maybeName, maybeAge])
2327
+ * console.log(tuple)
2328
+ * // Output:
2329
+ * // { _id: 'Option', _tag: 'Some', value: [ 'John', 25 ] }
2330
+ *
2331
+ * // ┌─── Option<{ name: string; age: number; }>
2332
+ * // ▼
2333
+ * const struct = Option.all({ name: maybeName, age: maybeAge })
2334
+ * console.log(struct)
2335
+ * // Output:
2336
+ * // { _id: 'Option', _tag: 'Some', value: { name: 'John', age: 25 } }
2337
+ * ```
2338
+ *
2339
+ * @category Combining
2340
+ * @since 2.0.0
2341
+ */
2342
+ export declare const all: <const I extends Iterable<Option<any>> | Record<string, Option<any>>>(input: I) => [I] extends [ReadonlyArray<Option<any>>] ? Option<{
2343
+ -readonly [K in keyof I]: [I[K]] extends [Option<infer A>] ? A : never;
2344
+ }> : [I] extends [Iterable<Option<infer A>>] ? Option<Array<A>> : Option<{
2345
+ -readonly [K in keyof I]: [I[K]] extends [Option<infer A>] ? A : never;
2346
+ }>;
2347
+ /**
2348
+ * Combines two `Option` values into a new `Option` by applying a provided
2349
+ * function to their values.
2350
+ *
2351
+ * **Details**
2352
+ *
2353
+ * This function takes two `Option` values (`self` and `that`) and a combining
2354
+ * function `f`. If both `Option` values are `Some`, the function `f` is applied
2355
+ * to their values, and the result is wrapped in a new `Some`. If either
2356
+ * `Option` is `None`, the result is `None`.
2357
+ *
2358
+ * This utility is useful for combining two optional computations into a single
2359
+ * result while maintaining type safety and avoiding explicit checks for `None`.
2360
+ *
2361
+ * @example
2362
+ * ```ts
2363
+ * import { Option } from "effect"
2364
+ *
2365
+ * const maybeName: Option.Option<string> = Option.some("John")
2366
+ * const maybeAge: Option.Option<number> = Option.some(25)
2367
+ *
2368
+ * // Combine the name and age into a person object
2369
+ * const person = Option.zipWith(maybeName, maybeAge, (name, age) => ({
2370
+ * name: name.toUpperCase(),
2371
+ * age
2372
+ * }))
2373
+ *
2374
+ * console.log(person)
2375
+ * // Output:
2376
+ * // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
2377
+ * ```
2378
+ *
2379
+ * @category Zipping
2380
+ * @since 2.0.0
2381
+ */
2382
+ export declare const zipWith: {
2383
+ /**
2384
+ * Combines two `Option` values into a new `Option` by applying a provided
2385
+ * function to their values.
2386
+ *
2387
+ * **Details**
2388
+ *
2389
+ * This function takes two `Option` values (`self` and `that`) and a combining
2390
+ * function `f`. If both `Option` values are `Some`, the function `f` is applied
2391
+ * to their values, and the result is wrapped in a new `Some`. If either
2392
+ * `Option` is `None`, the result is `None`.
2393
+ *
2394
+ * This utility is useful for combining two optional computations into a single
2395
+ * result while maintaining type safety and avoiding explicit checks for `None`.
2396
+ *
2397
+ * @example
2398
+ * ```ts
2399
+ * import { Option } from "effect"
2400
+ *
2401
+ * const maybeName: Option.Option<string> = Option.some("John")
2402
+ * const maybeAge: Option.Option<number> = Option.some(25)
2403
+ *
2404
+ * // Combine the name and age into a person object
2405
+ * const person = Option.zipWith(maybeName, maybeAge, (name, age) => ({
2406
+ * name: name.toUpperCase(),
2407
+ * age
2408
+ * }))
2409
+ *
2410
+ * console.log(person)
2411
+ * // Output:
2412
+ * // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
2413
+ * ```
2414
+ *
2415
+ * @category Zipping
2416
+ * @since 2.0.0
2417
+ */
2418
+ <B, A, C>(that: Option<B>, f: (a: A, b: B) => C): (self: Option<A>) => Option<C>;
2419
+ /**
2420
+ * Combines two `Option` values into a new `Option` by applying a provided
2421
+ * function to their values.
2422
+ *
2423
+ * **Details**
2424
+ *
2425
+ * This function takes two `Option` values (`self` and `that`) and a combining
2426
+ * function `f`. If both `Option` values are `Some`, the function `f` is applied
2427
+ * to their values, and the result is wrapped in a new `Some`. If either
2428
+ * `Option` is `None`, the result is `None`.
2429
+ *
2430
+ * This utility is useful for combining two optional computations into a single
2431
+ * result while maintaining type safety and avoiding explicit checks for `None`.
2432
+ *
2433
+ * @example
2434
+ * ```ts
2435
+ * import { Option } from "effect"
2436
+ *
2437
+ * const maybeName: Option.Option<string> = Option.some("John")
2438
+ * const maybeAge: Option.Option<number> = Option.some(25)
2439
+ *
2440
+ * // Combine the name and age into a person object
2441
+ * const person = Option.zipWith(maybeName, maybeAge, (name, age) => ({
2442
+ * name: name.toUpperCase(),
2443
+ * age
2444
+ * }))
2445
+ *
2446
+ * console.log(person)
2447
+ * // Output:
2448
+ * // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
2449
+ * ```
2450
+ *
2451
+ * @category Zipping
2452
+ * @since 2.0.0
2453
+ */
2454
+ <A, B, C>(self: Option<A>, that: Option<B>, f: (a: A, b: B) => C): Option<C>;
2455
+ };
2456
+ /**
2457
+ * Applies a function inside a `Some` to a value inside another `Some`,
2458
+ * combining them into a new `Option`.
2459
+ *
2460
+ * **Details**
2461
+ *
2462
+ * This function allows you to apply a function wrapped in an `Option` (`self`)
2463
+ * to a value wrapped in another `Option` (`that`). If both `Option`s are
2464
+ * `Some`, the function is applied to the value, and the result is wrapped in a
2465
+ * new `Some`. If either `Option` is `None`, the result is `None`.
2466
+ *
2467
+ * @category Combining
2468
+ * @since 2.0.0
2469
+ */
2470
+ export declare const ap: {
2471
+ /**
2472
+ * Applies a function inside a `Some` to a value inside another `Some`,
2473
+ * combining them into a new `Option`.
2474
+ *
2475
+ * **Details**
2476
+ *
2477
+ * This function allows you to apply a function wrapped in an `Option` (`self`)
2478
+ * to a value wrapped in another `Option` (`that`). If both `Option`s are
2479
+ * `Some`, the function is applied to the value, and the result is wrapped in a
2480
+ * new `Some`. If either `Option` is `None`, the result is `None`.
2481
+ *
2482
+ * @category Combining
2483
+ * @since 2.0.0
2484
+ */
2485
+ <A>(that: Option<A>): <B>(self: Option<(a: A) => B>) => Option<B>;
2486
+ /**
2487
+ * Applies a function inside a `Some` to a value inside another `Some`,
2488
+ * combining them into a new `Option`.
2489
+ *
2490
+ * **Details**
2491
+ *
2492
+ * This function allows you to apply a function wrapped in an `Option` (`self`)
2493
+ * to a value wrapped in another `Option` (`that`). If both `Option`s are
2494
+ * `Some`, the function is applied to the value, and the result is wrapped in a
2495
+ * new `Some`. If either `Option` is `None`, the result is `None`.
2496
+ *
2497
+ * @category Combining
2498
+ * @since 2.0.0
2499
+ */
2500
+ <A, B>(self: Option<(a: A) => B>, that: Option<A>): Option<B>;
2501
+ };
2502
+ /**
2503
+ * Reduces an `Iterable` of `Option<A>` to a single value of type `B`, ignoring
2504
+ * elements that are `None`.
2505
+ *
2506
+ * **Details**
2507
+ *
2508
+ * This function takes an initial value of type `B` and a reducing function `f`
2509
+ * that combines the accumulator with values of type `A`. It processes an
2510
+ * iterable of `Option<A>`, applying `f` only to the `Some` values while
2511
+ * ignoring the `None` values. The result is a single value of type `B`.
2512
+ *
2513
+ * This utility is particularly useful for aggregating values from an iterable
2514
+ * of `Option`s while skipping the absent (`None`) values.
2515
+ *
2516
+ * @example
2517
+ * ```ts
2518
+ * import { Option, pipe } from "effect"
2519
+ *
2520
+ * const iterable = [Option.some(1), Option.none(), Option.some(2), Option.none()]
2521
+ *
2522
+ * console.log(pipe(iterable, Option.reduceCompact(0, (b, a) => b + a)))
2523
+ * // Output: 3
2524
+ * ```
2525
+ *
2526
+ * @category Reducing
2527
+ * @since 2.0.0
2528
+ */
2529
+ export declare const reduceCompact: {
2530
+ /**
2531
+ * Reduces an `Iterable` of `Option<A>` to a single value of type `B`, ignoring
2532
+ * elements that are `None`.
2533
+ *
2534
+ * **Details**
2535
+ *
2536
+ * This function takes an initial value of type `B` and a reducing function `f`
2537
+ * that combines the accumulator with values of type `A`. It processes an
2538
+ * iterable of `Option<A>`, applying `f` only to the `Some` values while
2539
+ * ignoring the `None` values. The result is a single value of type `B`.
2540
+ *
2541
+ * This utility is particularly useful for aggregating values from an iterable
2542
+ * of `Option`s while skipping the absent (`None`) values.
2543
+ *
2544
+ * @example
2545
+ * ```ts
2546
+ * import { Option, pipe } from "effect"
2547
+ *
2548
+ * const iterable = [Option.some(1), Option.none(), Option.some(2), Option.none()]
2549
+ *
2550
+ * console.log(pipe(iterable, Option.reduceCompact(0, (b, a) => b + a)))
2551
+ * // Output: 3
2552
+ * ```
2553
+ *
2554
+ * @category Reducing
2555
+ * @since 2.0.0
2556
+ */
2557
+ <B, A>(b: B, f: (b: B, a: A) => B): (self: Iterable<Option<A>>) => B;
2558
+ /**
2559
+ * Reduces an `Iterable` of `Option<A>` to a single value of type `B`, ignoring
2560
+ * elements that are `None`.
2561
+ *
2562
+ * **Details**
2563
+ *
2564
+ * This function takes an initial value of type `B` and a reducing function `f`
2565
+ * that combines the accumulator with values of type `A`. It processes an
2566
+ * iterable of `Option<A>`, applying `f` only to the `Some` values while
2567
+ * ignoring the `None` values. The result is a single value of type `B`.
2568
+ *
2569
+ * This utility is particularly useful for aggregating values from an iterable
2570
+ * of `Option`s while skipping the absent (`None`) values.
2571
+ *
2572
+ * @example
2573
+ * ```ts
2574
+ * import { Option, pipe } from "effect"
2575
+ *
2576
+ * const iterable = [Option.some(1), Option.none(), Option.some(2), Option.none()]
2577
+ *
2578
+ * console.log(pipe(iterable, Option.reduceCompact(0, (b, a) => b + a)))
2579
+ * // Output: 3
2580
+ * ```
2581
+ *
2582
+ * @category Reducing
2583
+ * @since 2.0.0
2584
+ */
2585
+ <A, B>(self: Iterable<Option<A>>, b: B, f: (b: B, a: A) => B): B;
2586
+ };
2587
+ /**
2588
+ * Converts an `Option` into an `Array`.
2589
+ * If the input is `None`, an empty array is returned.
2590
+ * If the input is `Some`, its value is wrapped in a single-element array.
2591
+ *
2592
+ * @example
2593
+ * ```ts
2594
+ * import { Option } from "effect"
2595
+ *
2596
+ * console.log(Option.toArray(Option.some(1)))
2597
+ * // Output: [1]
2598
+ *
2599
+ * console.log(Option.toArray(Option.none()))
2600
+ * // Output: []
2601
+ * ```
2602
+ *
2603
+ * @category Conversions
2604
+ * @since 2.0.0
2605
+ */
2606
+ export declare const toArray: <A>(self: Option<A>) => Array<A>;
2607
+ /**
2608
+ * Splits an `Option` into two `Option`s based on the result of a mapping
2609
+ * function that produces an `Either`.
2610
+ *
2611
+ * **Details**
2612
+ *
2613
+ * This function takes an `Option` and a mapping function `f` that converts its
2614
+ * value into an `Either`. It returns a tuple of two `Option`s:
2615
+ *
2616
+ * - The first `Option` (`left`) contains the value from the `Left` side of the
2617
+ * `Either` if it exists, otherwise `None`.
2618
+ * - The second `Option` (`right`) contains the value from the `Right` side of
2619
+ * the `Either` if it exists, otherwise `None`.
2620
+ *
2621
+ * If the input `Option` is `None`, both returned `Option`s are `None`.
2622
+ *
2623
+ * This utility is useful for filtering and categorizing the contents of an
2624
+ * `Option` based on a bifurcating computation.
2625
+ *
2626
+ * @category Filtering
2627
+ * @since 2.0.0
2628
+ */
2629
+ export declare const partitionMap: {
2630
+ /**
2631
+ * Splits an `Option` into two `Option`s based on the result of a mapping
2632
+ * function that produces an `Either`.
2633
+ *
2634
+ * **Details**
2635
+ *
2636
+ * This function takes an `Option` and a mapping function `f` that converts its
2637
+ * value into an `Either`. It returns a tuple of two `Option`s:
2638
+ *
2639
+ * - The first `Option` (`left`) contains the value from the `Left` side of the
2640
+ * `Either` if it exists, otherwise `None`.
2641
+ * - The second `Option` (`right`) contains the value from the `Right` side of
2642
+ * the `Either` if it exists, otherwise `None`.
2643
+ *
2644
+ * If the input `Option` is `None`, both returned `Option`s are `None`.
2645
+ *
2646
+ * This utility is useful for filtering and categorizing the contents of an
2647
+ * `Option` based on a bifurcating computation.
2648
+ *
2649
+ * @category Filtering
2650
+ * @since 2.0.0
2651
+ */
2652
+ <A, B, C>(f: (a: A) => Either<C, B>): (self: Option<A>) => [left: Option<B>, right: Option<C>];
2653
+ /**
2654
+ * Splits an `Option` into two `Option`s based on the result of a mapping
2655
+ * function that produces an `Either`.
2656
+ *
2657
+ * **Details**
2658
+ *
2659
+ * This function takes an `Option` and a mapping function `f` that converts its
2660
+ * value into an `Either`. It returns a tuple of two `Option`s:
2661
+ *
2662
+ * - The first `Option` (`left`) contains the value from the `Left` side of the
2663
+ * `Either` if it exists, otherwise `None`.
2664
+ * - The second `Option` (`right`) contains the value from the `Right` side of
2665
+ * the `Either` if it exists, otherwise `None`.
2666
+ *
2667
+ * If the input `Option` is `None`, both returned `Option`s are `None`.
2668
+ *
2669
+ * This utility is useful for filtering and categorizing the contents of an
2670
+ * `Option` based on a bifurcating computation.
2671
+ *
2672
+ * @category Filtering
2673
+ * @since 2.0.0
2674
+ */
2675
+ <A, B, C>(self: Option<A>, f: (a: A) => Either<C, B>): [left: Option<B>, right: Option<C>];
2676
+ };
2677
+ /**
2678
+ * Alias of {@link flatMap}.
2679
+ *
2680
+ * @example
2681
+ * ```ts
2682
+ * import { Option } from "effect"
2683
+ *
2684
+ * // Transform and filter numbers
2685
+ * const transformEven = (n: Option.Option<number>): Option.Option<string> =>
2686
+ * Option.filterMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
2687
+ *
2688
+ * console.log(transformEven(Option.none()))
2689
+ * // Output: { _id: 'Option', _tag: 'None' }
2690
+ *
2691
+ * console.log(transformEven(Option.some(1)))
2692
+ * // Output: { _id: 'Option', _tag: 'None' }
2693
+ *
2694
+ * console.log(transformEven(Option.some(2)))
2695
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
2696
+ * ```
2697
+ *
2698
+ * @category Filtering
2699
+ * @since 2.0.0
2700
+ */
2701
+ export declare const filterMap: {
2702
+ /**
2703
+ * Alias of {@link flatMap}.
2704
+ *
2705
+ * @example
2706
+ * ```ts
2707
+ * import { Option } from "effect"
2708
+ *
2709
+ * // Transform and filter numbers
2710
+ * const transformEven = (n: Option.Option<number>): Option.Option<string> =>
2711
+ * Option.filterMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
2712
+ *
2713
+ * console.log(transformEven(Option.none()))
2714
+ * // Output: { _id: 'Option', _tag: 'None' }
2715
+ *
2716
+ * console.log(transformEven(Option.some(1)))
2717
+ * // Output: { _id: 'Option', _tag: 'None' }
2718
+ *
2719
+ * console.log(transformEven(Option.some(2)))
2720
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
2721
+ * ```
2722
+ *
2723
+ * @category Filtering
2724
+ * @since 2.0.0
2725
+ */
2726
+ <A, B>(f: (a: A) => Option<B>): (self: Option<A>) => Option<B>;
2727
+ /**
2728
+ * Alias of {@link flatMap}.
2729
+ *
2730
+ * @example
2731
+ * ```ts
2732
+ * import { Option } from "effect"
2733
+ *
2734
+ * // Transform and filter numbers
2735
+ * const transformEven = (n: Option.Option<number>): Option.Option<string> =>
2736
+ * Option.filterMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
2737
+ *
2738
+ * console.log(transformEven(Option.none()))
2739
+ * // Output: { _id: 'Option', _tag: 'None' }
2740
+ *
2741
+ * console.log(transformEven(Option.some(1)))
2742
+ * // Output: { _id: 'Option', _tag: 'None' }
2743
+ *
2744
+ * console.log(transformEven(Option.some(2)))
2745
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'Even: 2' }
2746
+ * ```
2747
+ *
2748
+ * @category Filtering
2749
+ * @since 2.0.0
2750
+ */
2751
+ <A, B>(self: Option<A>, f: (a: A) => Option<B>): Option<B>;
2752
+ };
2753
+ /**
2754
+ * Filters an `Option` using a predicate. If the predicate is not satisfied or the `Option` is `None` returns `None`.
2755
+ *
2756
+ * If you need to change the type of the `Option` in addition to filtering, see `filterMap`.
2757
+ *
2758
+ * @example
2759
+ * ```ts
2760
+ * import { Option } from "effect"
2761
+ *
2762
+ * const removeEmptyString = (input: Option.Option<string>) =>
2763
+ * Option.filter(input, (value) => value !== "")
2764
+ *
2765
+ * console.log(removeEmptyString(Option.none()))
2766
+ * // Output: { _id: 'Option', _tag: 'None' }
2767
+ *
2768
+ * console.log(removeEmptyString(Option.some("")))
2769
+ * // Output: { _id: 'Option', _tag: 'None' }
2770
+ *
2771
+ * console.log(removeEmptyString(Option.some("a")))
2772
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
2773
+ * ```
2774
+ *
2775
+ * @category Filtering
2776
+ * @since 2.0.0
2777
+ */
2778
+ export declare const filter: {
2779
+ /**
2780
+ * Filters an `Option` using a predicate. If the predicate is not satisfied or the `Option` is `None` returns `None`.
2781
+ *
2782
+ * If you need to change the type of the `Option` in addition to filtering, see `filterMap`.
2783
+ *
2784
+ * @example
2785
+ * ```ts
2786
+ * import { Option } from "effect"
2787
+ *
2788
+ * const removeEmptyString = (input: Option.Option<string>) =>
2789
+ * Option.filter(input, (value) => value !== "")
2790
+ *
2791
+ * console.log(removeEmptyString(Option.none()))
2792
+ * // Output: { _id: 'Option', _tag: 'None' }
2793
+ *
2794
+ * console.log(removeEmptyString(Option.some("")))
2795
+ * // Output: { _id: 'Option', _tag: 'None' }
2796
+ *
2797
+ * console.log(removeEmptyString(Option.some("a")))
2798
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
2799
+ * ```
2800
+ *
2801
+ * @category Filtering
2802
+ * @since 2.0.0
2803
+ */
2804
+ <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Option<A>) => Option<B>;
2805
+ /**
2806
+ * Filters an `Option` using a predicate. If the predicate is not satisfied or the `Option` is `None` returns `None`.
2807
+ *
2808
+ * If you need to change the type of the `Option` in addition to filtering, see `filterMap`.
2809
+ *
2810
+ * @example
2811
+ * ```ts
2812
+ * import { Option } from "effect"
2813
+ *
2814
+ * const removeEmptyString = (input: Option.Option<string>) =>
2815
+ * Option.filter(input, (value) => value !== "")
2816
+ *
2817
+ * console.log(removeEmptyString(Option.none()))
2818
+ * // Output: { _id: 'Option', _tag: 'None' }
2819
+ *
2820
+ * console.log(removeEmptyString(Option.some("")))
2821
+ * // Output: { _id: 'Option', _tag: 'None' }
2822
+ *
2823
+ * console.log(removeEmptyString(Option.some("a")))
2824
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
2825
+ * ```
2826
+ *
2827
+ * @category Filtering
2828
+ * @since 2.0.0
2829
+ */
2830
+ <A>(predicate: Predicate<NoInfer<A>>): (self: Option<A>) => Option<A>;
2831
+ /**
2832
+ * Filters an `Option` using a predicate. If the predicate is not satisfied or the `Option` is `None` returns `None`.
2833
+ *
2834
+ * If you need to change the type of the `Option` in addition to filtering, see `filterMap`.
2835
+ *
2836
+ * @example
2837
+ * ```ts
2838
+ * import { Option } from "effect"
2839
+ *
2840
+ * const removeEmptyString = (input: Option.Option<string>) =>
2841
+ * Option.filter(input, (value) => value !== "")
2842
+ *
2843
+ * console.log(removeEmptyString(Option.none()))
2844
+ * // Output: { _id: 'Option', _tag: 'None' }
2845
+ *
2846
+ * console.log(removeEmptyString(Option.some("")))
2847
+ * // Output: { _id: 'Option', _tag: 'None' }
2848
+ *
2849
+ * console.log(removeEmptyString(Option.some("a")))
2850
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
2851
+ * ```
2852
+ *
2853
+ * @category Filtering
2854
+ * @since 2.0.0
2855
+ */
2856
+ <A, B extends A>(self: Option<A>, refinement: Refinement<A, B>): Option<B>;
2857
+ /**
2858
+ * Filters an `Option` using a predicate. If the predicate is not satisfied or the `Option` is `None` returns `None`.
2859
+ *
2860
+ * If you need to change the type of the `Option` in addition to filtering, see `filterMap`.
2861
+ *
2862
+ * @example
2863
+ * ```ts
2864
+ * import { Option } from "effect"
2865
+ *
2866
+ * const removeEmptyString = (input: Option.Option<string>) =>
2867
+ * Option.filter(input, (value) => value !== "")
2868
+ *
2869
+ * console.log(removeEmptyString(Option.none()))
2870
+ * // Output: { _id: 'Option', _tag: 'None' }
2871
+ *
2872
+ * console.log(removeEmptyString(Option.some("")))
2873
+ * // Output: { _id: 'Option', _tag: 'None' }
2874
+ *
2875
+ * console.log(removeEmptyString(Option.some("a")))
2876
+ * // Output: { _id: 'Option', _tag: 'Some', value: 'a' }
2877
+ * ```
2878
+ *
2879
+ * @category Filtering
2880
+ * @since 2.0.0
2881
+ */
2882
+ <A>(self: Option<A>, predicate: Predicate<A>): Option<A>;
2883
+ };
2884
+ /**
2885
+ * Creates an `Equivalence` instance for comparing `Option` values, using a
2886
+ * provided `Equivalence` for the inner type.
2887
+ *
2888
+ * **Details**
2889
+ *
2890
+ * This function takes an `Equivalence` instance for a specific type `A` and
2891
+ * produces an `Equivalence` instance for `Option<A>`. The resulting
2892
+ * `Equivalence` determines whether two `Option` values are equivalent:
2893
+ *
2894
+ * - Two `None`s are considered equivalent.
2895
+ * - A `Some` and a `None` are not equivalent.
2896
+ * - Two `Some` values are equivalent if their inner values are equivalent
2897
+ * according to the provided `Equivalence`.
2898
+ *
2899
+ * **Example** (Comparing Optional Numbers for Equivalence)
2900
+ *
2901
+ * ```ts
2902
+ * import { Number, Option } from "effect"
2903
+ *
2904
+ * const isEquivalent = Option.getEquivalence(Number.Equivalence)
2905
+ *
2906
+ * console.log(isEquivalent(Option.none(), Option.none()))
2907
+ * // Output: true
2908
+ *
2909
+ * console.log(isEquivalent(Option.none(), Option.some(1)))
2910
+ * // Output: false
2911
+ *
2912
+ * console.log(isEquivalent(Option.some(1), Option.none()))
2913
+ * // Output: false
2914
+ *
2915
+ * console.log(isEquivalent(Option.some(1), Option.some(2)))
2916
+ * // Output: false
2917
+ *
2918
+ * console.log(isEquivalent(Option.some(1), Option.some(1)))
2919
+ * // Output: true
2920
+ * ```
2921
+ *
2922
+ * @category Equivalence
2923
+ * @since 2.0.0
2924
+ */
2925
+ export declare const getEquivalence: <A>(isEquivalent: Equivalence.Equivalence<A>) => Equivalence.Equivalence<Option<A>>;
2926
+ /**
2927
+ * Creates an `Order` instance for comparing `Option` values, using a provided
2928
+ * `Order` for the inner type.
2929
+ *
2930
+ * **Details**
2931
+ *
2932
+ * This function produces an `Order` instance for `Option<A>`, allowing `Option`
2933
+ * values to be compared:
2934
+ *
2935
+ * - `None` is always considered less than any `Some` value.
2936
+ * - If both are `Some`, their inner values are compared using the provided
2937
+ * `Order` instance.
2938
+ *
2939
+ * @example
2940
+ * ```ts
2941
+ * import { Number, Option } from "effect"
2942
+ *
2943
+ * const order = Option.getOrder(Number.Order)
2944
+ *
2945
+ * console.log(order(Option.none(), Option.none()))
2946
+ * // Output: 0
2947
+ *
2948
+ * console.log(order(Option.none(), Option.some(1)))
2949
+ * // Output: -1
2950
+ *
2951
+ * console.log(order(Option.some(1), Option.none()))
2952
+ * // Output: 1
2953
+ *
2954
+ * console.log(order(Option.some(1), Option.some(2)))
2955
+ * // Output: -1
2956
+ *
2957
+ * console.log(order(Option.some(1), Option.some(1)))
2958
+ * // Output: 0
2959
+ * ```
2960
+ *
2961
+ * @category Sorting
2962
+ * @since 2.0.0
2963
+ */
2964
+ export declare const getOrder: <A>(O: Order<A>) => Order<Option<A>>;
2965
+ /**
2966
+ * Lifts a binary function to work with `Option` values, allowing the function
2967
+ * to operate on two `Option`s.
2968
+ *
2969
+ * **Details**
2970
+ *
2971
+ * This function takes a binary function `f` and returns a new function that
2972
+ * applies `f` to the values of two `Option`s (`self` and `that`). If both
2973
+ * `Option`s are `Some`, the binary function `f` is applied to their values, and
2974
+ * the result is wrapped in a new `Some`. If either `Option` is `None`, the
2975
+ * result is `None`.
2976
+ *
2977
+ * @example
2978
+ * ```ts
2979
+ * import { Option } from "effect"
2980
+ *
2981
+ * // A binary function to add two numbers
2982
+ * const add = (a: number, b: number): number => a + b
2983
+ *
2984
+ * // Lift the `add` function to work with `Option` values
2985
+ * const addOptions = Option.lift2(add)
2986
+ *
2987
+ * // Both `Option`s are `Some`
2988
+ * console.log(addOptions(Option.some(2), Option.some(3)))
2989
+ * // Output: { _id: 'Option', _tag: 'Some', value: 5 }
2990
+ *
2991
+ * // One `Option` is `None`
2992
+ * console.log(addOptions(Option.some(2), Option.none()))
2993
+ * // Output: { _id: 'Option', _tag: 'None' }
2994
+ * ```
2995
+ *
2996
+ * @category Lifting
2997
+ * @since 2.0.0
2998
+ */
2999
+ export declare const lift2: <A, B, C>(f: (a: A, b: B) => C) => {
3000
+ (that: Option<B>): (self: Option<A>) => Option<C>;
3001
+ (self: Option<A>, that: Option<B>): Option<C>;
3002
+ };
3003
+ /**
3004
+ * Lifts a `Predicate` or `Refinement` into the `Option` context, returning a
3005
+ * `Some` of the input value if the predicate is satisfied, or `None` otherwise.
3006
+ *
3007
+ * **Details**
3008
+ *
3009
+ * This function transforms a `Predicate` (or a more specific `Refinement`) into
3010
+ * a function that produces an `Option`. If the predicate evaluates to `true`,
3011
+ * the input value is wrapped in a `Some`. If the predicate evaluates to
3012
+ * `false`, the result is `None`.
3013
+ *
3014
+ * @example
3015
+ * ```ts
3016
+ * import { Option } from "effect"
3017
+ *
3018
+ * // Check if a number is positive
3019
+ * const isPositive = (n: number) => n > 0
3020
+ *
3021
+ * // ┌─── (b: number) => Option<number>
3022
+ * // ▼
3023
+ * const parsePositive = Option.liftPredicate(isPositive)
3024
+ *
3025
+ * console.log(parsePositive(1))
3026
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
3027
+ *
3028
+ * console.log(parsePositive(-1))
3029
+ * // OUtput: { _id: 'Option', _tag: 'None' }
3030
+ * ```
3031
+ *
3032
+ * @category Lifting
3033
+ * @since 2.0.0
3034
+ */
3035
+ export declare const liftPredicate: {
3036
+ <A, B extends A>(refinement: Refinement<A, B>): (a: A) => Option<B>;
3037
+ /**
3038
+ * Lifts a `Predicate` or `Refinement` into the `Option` context, returning a
3039
+ * `Some` of the input value if the predicate is satisfied, or `None` otherwise.
3040
+ *
3041
+ * **Details**
3042
+ *
3043
+ * This function transforms a `Predicate` (or a more specific `Refinement`) into
3044
+ * a function that produces an `Option`. If the predicate evaluates to `true`,
3045
+ * the input value is wrapped in a `Some`. If the predicate evaluates to
3046
+ * `false`, the result is `None`.
3047
+ *
3048
+ * @example
3049
+ * ```ts
3050
+ * import { Option } from "effect"
3051
+ *
3052
+ * // Check if a number is positive
3053
+ * const isPositive = (n: number) => n > 0
3054
+ *
3055
+ * // ┌─── (b: number) => Option<number>
3056
+ * // ▼
3057
+ * const parsePositive = Option.liftPredicate(isPositive)
3058
+ *
3059
+ * console.log(parsePositive(1))
3060
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
3061
+ *
3062
+ * console.log(parsePositive(-1))
3063
+ * // OUtput: { _id: 'Option', _tag: 'None' }
3064
+ * ```
3065
+ *
3066
+ * @category Lifting
3067
+ * @since 2.0.0
3068
+ */
3069
+ <B extends A, A = B>(predicate: Predicate<A>): (b: B) => Option<B>;
3070
+ /**
3071
+ * Lifts a `Predicate` or `Refinement` into the `Option` context, returning a
3072
+ * `Some` of the input value if the predicate is satisfied, or `None` otherwise.
3073
+ *
3074
+ * **Details**
3075
+ *
3076
+ * This function transforms a `Predicate` (or a more specific `Refinement`) into
3077
+ * a function that produces an `Option`. If the predicate evaluates to `true`,
3078
+ * the input value is wrapped in a `Some`. If the predicate evaluates to
3079
+ * `false`, the result is `None`.
3080
+ *
3081
+ * @example
3082
+ * ```ts
3083
+ * import { Option } from "effect"
3084
+ *
3085
+ * // Check if a number is positive
3086
+ * const isPositive = (n: number) => n > 0
3087
+ *
3088
+ * // ┌─── (b: number) => Option<number>
3089
+ * // ▼
3090
+ * const parsePositive = Option.liftPredicate(isPositive)
3091
+ *
3092
+ * console.log(parsePositive(1))
3093
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
3094
+ *
3095
+ * console.log(parsePositive(-1))
3096
+ * // OUtput: { _id: 'Option', _tag: 'None' }
3097
+ * ```
3098
+ *
3099
+ * @category Lifting
3100
+ * @since 2.0.0
3101
+ */
3102
+ <A, B extends A>(self: A, refinement: Refinement<A, B>): Option<B>;
3103
+ /**
3104
+ * Lifts a `Predicate` or `Refinement` into the `Option` context, returning a
3105
+ * `Some` of the input value if the predicate is satisfied, or `None` otherwise.
3106
+ *
3107
+ * **Details**
3108
+ *
3109
+ * This function transforms a `Predicate` (or a more specific `Refinement`) into
3110
+ * a function that produces an `Option`. If the predicate evaluates to `true`,
3111
+ * the input value is wrapped in a `Some`. If the predicate evaluates to
3112
+ * `false`, the result is `None`.
3113
+ *
3114
+ * @example
3115
+ * ```ts
3116
+ * import { Option } from "effect"
3117
+ *
3118
+ * // Check if a number is positive
3119
+ * const isPositive = (n: number) => n > 0
3120
+ *
3121
+ * // ┌─── (b: number) => Option<number>
3122
+ * // ▼
3123
+ * const parsePositive = Option.liftPredicate(isPositive)
3124
+ *
3125
+ * console.log(parsePositive(1))
3126
+ * // Output: { _id: 'Option', _tag: 'Some', value: 1 }
3127
+ *
3128
+ * console.log(parsePositive(-1))
3129
+ * // OUtput: { _id: 'Option', _tag: 'None' }
3130
+ * ```
3131
+ *
3132
+ * @category Lifting
3133
+ * @since 2.0.0
3134
+ */
3135
+ <B extends A, A = B>(self: B, predicate: Predicate<A>): Option<B>;
3136
+ };
3137
+ /**
3138
+ * Returns a function that checks if an `Option` contains a specified value,
3139
+ * using a provided equivalence function.
3140
+ *
3141
+ * **Details**
3142
+ *
3143
+ * This function allows you to check whether an `Option` contains a specific
3144
+ * value. It uses an equivalence function `isEquivalent` to compare the value
3145
+ * inside the `Option` to the provided value. If the `Option` is `Some` and the
3146
+ * equivalence function returns `true`, the result is `true`. If the `Option` is
3147
+ * `None` or the values are not equivalent, the result is `false`.
3148
+ *
3149
+ * @example
3150
+ * ```ts
3151
+ * import { Number, Option } from "effect"
3152
+ *
3153
+ * const contains = Option.containsWith(Number.Equivalence)
3154
+ *
3155
+ * console.log(Option.some(2).pipe(contains(2)))
3156
+ * // Output: true
3157
+ *
3158
+ * console.log(Option.some(1).pipe(contains(2)))
3159
+ * // Output: false
3160
+ *
3161
+ * console.log(Option.none().pipe(contains(2)))
3162
+ * // Output: false
3163
+ * ```
3164
+ *
3165
+ * @see {@link contains} for a version that uses the default `Equivalence`.
3166
+ *
3167
+ * @category Elements
3168
+ * @since 2.0.0
3169
+ */
3170
+ export declare const containsWith: <A>(isEquivalent: (self: A, that: A) => boolean) => {
3171
+ (a: A): (self: Option<A>) => boolean;
3172
+ (self: Option<A>, a: A): boolean;
3173
+ };
3174
+ /**
3175
+ * Returns a function that checks if an `Option` contains a specified value
3176
+ * using the default `Equivalence`.
3177
+ *
3178
+ * **Details**
3179
+ *
3180
+ * This function allows you to check whether an `Option` contains a specific
3181
+ * value. It uses the default `Equivalence` for equality comparison. If the
3182
+ * `Option` is `Some` and its value is equivalent to the provided value, the
3183
+ * result is `true`. If the `Option` is `None` or the values are not equivalent,
3184
+ * the result is `false`.
3185
+ *
3186
+ * @example
3187
+ * ```ts
3188
+ * import { Option } from "effect"
3189
+ *
3190
+ * console.log(Option.some(2).pipe(Option.contains(2)))
3191
+ * // Output: true
3192
+ *
3193
+ * console.log(Option.some(1).pipe(Option.contains(2)))
3194
+ * // Output: false
3195
+ *
3196
+ * console.log(Option.none().pipe(Option.contains(2)))
3197
+ * // Output: false
3198
+ * ```
3199
+ *
3200
+ * @see {@link containsWith} for a version that allows you to specify a custom equivalence function.
3201
+ *
3202
+ * @category Elements
3203
+ * @since 2.0.0
3204
+ */
3205
+ export declare const contains: {
3206
+ /**
3207
+ * Returns a function that checks if an `Option` contains a specified value
3208
+ * using the default `Equivalence`.
3209
+ *
3210
+ * **Details**
3211
+ *
3212
+ * This function allows you to check whether an `Option` contains a specific
3213
+ * value. It uses the default `Equivalence` for equality comparison. If the
3214
+ * `Option` is `Some` and its value is equivalent to the provided value, the
3215
+ * result is `true`. If the `Option` is `None` or the values are not equivalent,
3216
+ * the result is `false`.
3217
+ *
3218
+ * @example
3219
+ * ```ts
3220
+ * import { Option } from "effect"
3221
+ *
3222
+ * console.log(Option.some(2).pipe(Option.contains(2)))
3223
+ * // Output: true
3224
+ *
3225
+ * console.log(Option.some(1).pipe(Option.contains(2)))
3226
+ * // Output: false
3227
+ *
3228
+ * console.log(Option.none().pipe(Option.contains(2)))
3229
+ * // Output: false
3230
+ * ```
3231
+ *
3232
+ * @see {@link containsWith} for a version that allows you to specify a custom equivalence function.
3233
+ *
3234
+ * @category Elements
3235
+ * @since 2.0.0
3236
+ */
3237
+ <A>(a: A): (self: Option<A>) => boolean;
3238
+ /**
3239
+ * Returns a function that checks if an `Option` contains a specified value
3240
+ * using the default `Equivalence`.
3241
+ *
3242
+ * **Details**
3243
+ *
3244
+ * This function allows you to check whether an `Option` contains a specific
3245
+ * value. It uses the default `Equivalence` for equality comparison. If the
3246
+ * `Option` is `Some` and its value is equivalent to the provided value, the
3247
+ * result is `true`. If the `Option` is `None` or the values are not equivalent,
3248
+ * the result is `false`.
3249
+ *
3250
+ * @example
3251
+ * ```ts
3252
+ * import { Option } from "effect"
3253
+ *
3254
+ * console.log(Option.some(2).pipe(Option.contains(2)))
3255
+ * // Output: true
3256
+ *
3257
+ * console.log(Option.some(1).pipe(Option.contains(2)))
3258
+ * // Output: false
3259
+ *
3260
+ * console.log(Option.none().pipe(Option.contains(2)))
3261
+ * // Output: false
3262
+ * ```
3263
+ *
3264
+ * @see {@link containsWith} for a version that allows you to specify a custom equivalence function.
3265
+ *
3266
+ * @category Elements
3267
+ * @since 2.0.0
3268
+ */
3269
+ <A>(self: Option<A>, a: A): boolean;
3270
+ };
3271
+ /**
3272
+ * Checks if a value in an `Option` satisfies a given predicate or refinement.
3273
+ *
3274
+ * **Details**
3275
+ *
3276
+ * This function allows you to check if a value inside a `Some` meets a
3277
+ * specified condition. If the `Option` is `None`, the result is `false`. If the
3278
+ * `Option` is `Some`, the provided predicate or refinement is applied to the
3279
+ * value:
3280
+ *
3281
+ * - If the condition is met, the result is `true`.
3282
+ * - If the condition is not met, the result is `false`.
3283
+ *
3284
+ * @example
3285
+ * ```ts
3286
+ * import { Option } from "effect"
3287
+ *
3288
+ * const isEven = (n: number) => n % 2 === 0
3289
+ *
3290
+ * console.log(Option.some(2).pipe(Option.exists(isEven)))
3291
+ * // Output: true
3292
+ *
3293
+ * console.log(Option.some(1).pipe(Option.exists(isEven)))
3294
+ * // Output: false
3295
+ *
3296
+ * console.log(Option.none().pipe(Option.exists(isEven)))
3297
+ * // Output: false
3298
+ * ```
3299
+ *
3300
+ * @category Elements
3301
+ * @since 2.0.0
3302
+ */
3303
+ export declare const exists: {
3304
+ /**
3305
+ * Checks if a value in an `Option` satisfies a given predicate or refinement.
3306
+ *
3307
+ * **Details**
3308
+ *
3309
+ * This function allows you to check if a value inside a `Some` meets a
3310
+ * specified condition. If the `Option` is `None`, the result is `false`. If the
3311
+ * `Option` is `Some`, the provided predicate or refinement is applied to the
3312
+ * value:
3313
+ *
3314
+ * - If the condition is met, the result is `true`.
3315
+ * - If the condition is not met, the result is `false`.
3316
+ *
3317
+ * @example
3318
+ * ```ts
3319
+ * import { Option } from "effect"
3320
+ *
3321
+ * const isEven = (n: number) => n % 2 === 0
3322
+ *
3323
+ * console.log(Option.some(2).pipe(Option.exists(isEven)))
3324
+ * // Output: true
3325
+ *
3326
+ * console.log(Option.some(1).pipe(Option.exists(isEven)))
3327
+ * // Output: false
3328
+ *
3329
+ * console.log(Option.none().pipe(Option.exists(isEven)))
3330
+ * // Output: false
3331
+ * ```
3332
+ *
3333
+ * @category Elements
3334
+ * @since 2.0.0
3335
+ */
3336
+ <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Option<A>) => self is Option<B>;
3337
+ /**
3338
+ * Checks if a value in an `Option` satisfies a given predicate or refinement.
3339
+ *
3340
+ * **Details**
3341
+ *
3342
+ * This function allows you to check if a value inside a `Some` meets a
3343
+ * specified condition. If the `Option` is `None`, the result is `false`. If the
3344
+ * `Option` is `Some`, the provided predicate or refinement is applied to the
3345
+ * value:
3346
+ *
3347
+ * - If the condition is met, the result is `true`.
3348
+ * - If the condition is not met, the result is `false`.
3349
+ *
3350
+ * @example
3351
+ * ```ts
3352
+ * import { Option } from "effect"
3353
+ *
3354
+ * const isEven = (n: number) => n % 2 === 0
3355
+ *
3356
+ * console.log(Option.some(2).pipe(Option.exists(isEven)))
3357
+ * // Output: true
3358
+ *
3359
+ * console.log(Option.some(1).pipe(Option.exists(isEven)))
3360
+ * // Output: false
3361
+ *
3362
+ * console.log(Option.none().pipe(Option.exists(isEven)))
3363
+ * // Output: false
3364
+ * ```
3365
+ *
3366
+ * @category Elements
3367
+ * @since 2.0.0
3368
+ */
3369
+ <A>(predicate: Predicate<NoInfer<A>>): (self: Option<A>) => boolean;
3370
+ /**
3371
+ * Checks if a value in an `Option` satisfies a given predicate or refinement.
3372
+ *
3373
+ * **Details**
3374
+ *
3375
+ * This function allows you to check if a value inside a `Some` meets a
3376
+ * specified condition. If the `Option` is `None`, the result is `false`. If the
3377
+ * `Option` is `Some`, the provided predicate or refinement is applied to the
3378
+ * value:
3379
+ *
3380
+ * - If the condition is met, the result is `true`.
3381
+ * - If the condition is not met, the result is `false`.
3382
+ *
3383
+ * @example
3384
+ * ```ts
3385
+ * import { Option } from "effect"
3386
+ *
3387
+ * const isEven = (n: number) => n % 2 === 0
3388
+ *
3389
+ * console.log(Option.some(2).pipe(Option.exists(isEven)))
3390
+ * // Output: true
3391
+ *
3392
+ * console.log(Option.some(1).pipe(Option.exists(isEven)))
3393
+ * // Output: false
3394
+ *
3395
+ * console.log(Option.none().pipe(Option.exists(isEven)))
3396
+ * // Output: false
3397
+ * ```
3398
+ *
3399
+ * @category Elements
3400
+ * @since 2.0.0
3401
+ */
3402
+ <A, B extends A>(self: Option<A>, refinement: Refinement<A, B>): self is Option<B>;
3403
+ /**
3404
+ * Checks if a value in an `Option` satisfies a given predicate or refinement.
3405
+ *
3406
+ * **Details**
3407
+ *
3408
+ * This function allows you to check if a value inside a `Some` meets a
3409
+ * specified condition. If the `Option` is `None`, the result is `false`. If the
3410
+ * `Option` is `Some`, the provided predicate or refinement is applied to the
3411
+ * value:
3412
+ *
3413
+ * - If the condition is met, the result is `true`.
3414
+ * - If the condition is not met, the result is `false`.
3415
+ *
3416
+ * @example
3417
+ * ```ts
3418
+ * import { Option } from "effect"
3419
+ *
3420
+ * const isEven = (n: number) => n % 2 === 0
3421
+ *
3422
+ * console.log(Option.some(2).pipe(Option.exists(isEven)))
3423
+ * // Output: true
3424
+ *
3425
+ * console.log(Option.some(1).pipe(Option.exists(isEven)))
3426
+ * // Output: false
3427
+ *
3428
+ * console.log(Option.none().pipe(Option.exists(isEven)))
3429
+ * // Output: false
3430
+ * ```
3431
+ *
3432
+ * @category Elements
3433
+ * @since 2.0.0
3434
+ */
3435
+ <A>(self: Option<A>, predicate: Predicate<A>): boolean;
3436
+ };
3437
+ /**
3438
+ * The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
3439
+ *
3440
+ * Here's how the do simulation works:
3441
+ *
3442
+ * 1. Start the do simulation using the `Do` value
3443
+ * 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Option` values
3444
+ * 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
3445
+ * 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
3446
+ * 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
3447
+ *
3448
+ * @example
3449
+ * ```ts
3450
+ * import * as assert from "node:assert"
3451
+ * import { Option, pipe } from "effect"
3452
+ *
3453
+ * const result = pipe(
3454
+ * Option.Do,
3455
+ * Option.bind("x", () => Option.some(2)),
3456
+ * Option.bind("y", () => Option.some(3)),
3457
+ * Option.let("sum", ({ x, y }) => x + y),
3458
+ * Option.filter(({ x, y }) => x * y > 5)
3459
+ * )
3460
+ * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
3461
+ * ```
3462
+ *
3463
+ * @see {@link Do}
3464
+ * @see {@link bind}
3465
+ * @see {@link let_ let}
3466
+ *
3467
+ * @category Do notation
3468
+ * @since 2.0.0
3469
+ */
3470
+ export declare const bindTo: {
3471
+ /**
3472
+ * The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
3473
+ *
3474
+ * Here's how the do simulation works:
3475
+ *
3476
+ * 1. Start the do simulation using the `Do` value
3477
+ * 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Option` values
3478
+ * 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
3479
+ * 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
3480
+ * 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
3481
+ *
3482
+ * @example
3483
+ * ```ts
3484
+ * import * as assert from "node:assert"
3485
+ * import { Option, pipe } from "effect"
3486
+ *
3487
+ * const result = pipe(
3488
+ * Option.Do,
3489
+ * Option.bind("x", () => Option.some(2)),
3490
+ * Option.bind("y", () => Option.some(3)),
3491
+ * Option.let("sum", ({ x, y }) => x + y),
3492
+ * Option.filter(({ x, y }) => x * y > 5)
3493
+ * )
3494
+ * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
3495
+ * ```
3496
+ *
3497
+ * @see {@link Do}
3498
+ * @see {@link bind}
3499
+ * @see {@link let_ let}
3500
+ *
3501
+ * @category Do notation
3502
+ * @since 2.0.0
3503
+ */
3504
+ <N extends string>(name: N): <A>(self: Option<A>) => Option<{
3505
+ [K in N]: A;
3506
+ }>;
3507
+ /**
3508
+ * The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
3509
+ *
3510
+ * Here's how the do simulation works:
3511
+ *
3512
+ * 1. Start the do simulation using the `Do` value
3513
+ * 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Option` values
3514
+ * 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
3515
+ * 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
3516
+ * 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
3517
+ *
3518
+ * @example
3519
+ * ```ts
3520
+ * import * as assert from "node:assert"
3521
+ * import { Option, pipe } from "effect"
3522
+ *
3523
+ * const result = pipe(
3524
+ * Option.Do,
3525
+ * Option.bind("x", () => Option.some(2)),
3526
+ * Option.bind("y", () => Option.some(3)),
3527
+ * Option.let("sum", ({ x, y }) => x + y),
3528
+ * Option.filter(({ x, y }) => x * y > 5)
3529
+ * )
3530
+ * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
3531
+ * ```
3532
+ *
3533
+ * @see {@link Do}
3534
+ * @see {@link bind}
3535
+ * @see {@link let_ let}
3536
+ *
3537
+ * @category Do notation
3538
+ * @since 2.0.0
3539
+ */
3540
+ <A, N extends string>(self: Option<A>, name: N): Option<{
3541
+ [K in N]: A;
3542
+ }>;
3543
+ };
3544
+ declare const let_: {
3545
+ <N extends string, A extends object, B>(name: Exclude<N, keyof A>, f: (a: NoInfer<A>) => B): (self: Option<A>) => Option<{
3546
+ [K in N | keyof A]: K extends keyof A ? A[K] : B;
3547
+ }>;
3548
+ <A extends object, N extends string, B>(self: Option<A>, name: Exclude<N, keyof A>, f: (a: NoInfer<A>) => B): Option<{
3549
+ [K in N | keyof A]: K extends keyof A ? A[K] : B;
3550
+ }>;
3551
+ };
3552
+ export {
3553
+ /**
3554
+ * The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
3555
+ *
3556
+ * Here's how the do simulation works:
3557
+ *
3558
+ * 1. Start the do simulation using the `Do` value
3559
+ * 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Option` values
3560
+ * 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
3561
+ * 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
3562
+ * 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
3563
+ *
3564
+ * @example
3565
+ * ```ts
3566
+ * import * as assert from "node:assert"
3567
+ * import { Option, pipe } from "effect"
3568
+ *
3569
+ * const result = pipe(
3570
+ * Option.Do,
3571
+ * Option.bind("x", () => Option.some(2)),
3572
+ * Option.bind("y", () => Option.some(3)),
3573
+ * Option.let("sum", ({ x, y }) => x + y),
3574
+ * Option.filter(({ x, y }) => x * y > 5)
3575
+ * )
3576
+ * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
3577
+ * ```
3578
+ *
3579
+ * @see {@link Do}
3580
+ * @see {@link bind}
3581
+ * @see {@link bindTo}
3582
+ *
3583
+ * @category Do notation
3584
+ * @since 2.0.0
3585
+ */
3586
+ let_ as let };
3587
+ /**
3588
+ * The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
3589
+ *
3590
+ * Here's how the do simulation works:
3591
+ *
3592
+ * 1. Start the do simulation using the `Do` value
3593
+ * 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Option` values
3594
+ * 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
3595
+ * 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
3596
+ * 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
3597
+ *
3598
+ * @example
3599
+ * ```ts
3600
+ * import * as assert from "node:assert"
3601
+ * import { Option, pipe } from "effect"
3602
+ *
3603
+ * const result = pipe(
3604
+ * Option.Do,
3605
+ * Option.bind("x", () => Option.some(2)),
3606
+ * Option.bind("y", () => Option.some(3)),
3607
+ * Option.let("sum", ({ x, y }) => x + y),
3608
+ * Option.filter(({ x, y }) => x * y > 5)
3609
+ * )
3610
+ * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
3611
+ * ```
3612
+ *
3613
+ * @see {@link Do}
3614
+ * @see {@link bindTo}
3615
+ * @see {@link let_ let}
3616
+ *
3617
+ * @category Do notation
3618
+ * @since 2.0.0
3619
+ */
3620
+ export declare const bind: {
3621
+ /**
3622
+ * The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
3623
+ *
3624
+ * Here's how the do simulation works:
3625
+ *
3626
+ * 1. Start the do simulation using the `Do` value
3627
+ * 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Option` values
3628
+ * 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
3629
+ * 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
3630
+ * 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
3631
+ *
3632
+ * @example
3633
+ * ```ts
3634
+ * import * as assert from "node:assert"
3635
+ * import { Option, pipe } from "effect"
3636
+ *
3637
+ * const result = pipe(
3638
+ * Option.Do,
3639
+ * Option.bind("x", () => Option.some(2)),
3640
+ * Option.bind("y", () => Option.some(3)),
3641
+ * Option.let("sum", ({ x, y }) => x + y),
3642
+ * Option.filter(({ x, y }) => x * y > 5)
3643
+ * )
3644
+ * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
3645
+ * ```
3646
+ *
3647
+ * @see {@link Do}
3648
+ * @see {@link bindTo}
3649
+ * @see {@link let_ let}
3650
+ *
3651
+ * @category Do notation
3652
+ * @since 2.0.0
3653
+ */
3654
+ <N extends string, A extends object, B>(name: Exclude<N, keyof A>, f: (a: NoInfer<A>) => Option<B>): (self: Option<A>) => Option<{
3655
+ [K in N | keyof A]: K extends keyof A ? A[K] : B;
3656
+ }>;
3657
+ /**
3658
+ * The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
3659
+ *
3660
+ * Here's how the do simulation works:
3661
+ *
3662
+ * 1. Start the do simulation using the `Do` value
3663
+ * 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Option` values
3664
+ * 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
3665
+ * 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
3666
+ * 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
3667
+ *
3668
+ * @example
3669
+ * ```ts
3670
+ * import * as assert from "node:assert"
3671
+ * import { Option, pipe } from "effect"
3672
+ *
3673
+ * const result = pipe(
3674
+ * Option.Do,
3675
+ * Option.bind("x", () => Option.some(2)),
3676
+ * Option.bind("y", () => Option.some(3)),
3677
+ * Option.let("sum", ({ x, y }) => x + y),
3678
+ * Option.filter(({ x, y }) => x * y > 5)
3679
+ * )
3680
+ * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
3681
+ * ```
3682
+ *
3683
+ * @see {@link Do}
3684
+ * @see {@link bindTo}
3685
+ * @see {@link let_ let}
3686
+ *
3687
+ * @category Do notation
3688
+ * @since 2.0.0
3689
+ */
3690
+ <A extends object, N extends string, B>(self: Option<A>, name: Exclude<N, keyof A>, f: (a: NoInfer<A>) => Option<B>): Option<{
3691
+ [K in N | keyof A]: K extends keyof A ? A[K] : B;
3692
+ }>;
3693
+ };
3694
+ /**
3695
+ * The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
3696
+ *
3697
+ * Here's how the do simulation works:
3698
+ *
3699
+ * 1. Start the do simulation using the `Do` value
3700
+ * 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Option` values
3701
+ * 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
3702
+ * 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
3703
+ * 5. Regular `Option` functions like `map` and `filter` can still be used within the do simulation. These functions will receive the accumulated variables as arguments within the scope
3704
+ *
3705
+ * @example
3706
+ * ```ts
3707
+ * import * as assert from "node:assert"
3708
+ * import { Option, pipe } from "effect"
3709
+ *
3710
+ * const result = pipe(
3711
+ * Option.Do,
3712
+ * Option.bind("x", () => Option.some(2)),
3713
+ * Option.bind("y", () => Option.some(3)),
3714
+ * Option.let("sum", ({ x, y }) => x + y),
3715
+ * Option.filter(({ x, y }) => x * y > 5)
3716
+ * )
3717
+ * assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
3718
+ * ```
3719
+ *
3720
+ * @see {@link bindTo}
3721
+ * @see {@link bind}
3722
+ * @see {@link let_ let}
3723
+ *
3724
+ * @category Do notation
3725
+ * @since 2.0.0
3726
+ */
3727
+ export declare const Do: Option<{}>;
3728
+ /**
3729
+ * Similar to `Effect.gen`, `Option.gen` provides a more readable,
3730
+ * generator-based syntax for working with `Option` values, making code that
3731
+ * involves `Option` easier to write and understand. This approach is similar to
3732
+ * using `async/await` but tailored for `Option`.
3733
+ *
3734
+ * **Example** (Using `Option.gen` to Create a Combined Value)
3735
+ *
3736
+ * ```ts
3737
+ * import { Option } from "effect"
3738
+ *
3739
+ * const maybeName: Option.Option<string> = Option.some("John")
3740
+ * const maybeAge: Option.Option<number> = Option.some(25)
3741
+ *
3742
+ * const person = Option.gen(function* () {
3743
+ * const name = (yield* maybeName).toUpperCase()
3744
+ * const age = yield* maybeAge
3745
+ * return { name, age }
3746
+ * })
3747
+ *
3748
+ * console.log(person)
3749
+ * // Output:
3750
+ * // { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
3751
+ * ```
3752
+ *
3753
+ * @category Generators
3754
+ * @since 2.0.0
3755
+ */
3756
+ export declare const gen: Gen.Gen<OptionTypeLambda, Gen.Adapter<OptionTypeLambda>>;
3757
+ //# sourceMappingURL=Option.d.ts.map