effect 2.0.0-next.57 → 2.0.0-next.59

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 (1278) hide show
  1. package/BigDecimal.js +875 -0
  2. package/BigDecimal.js.map +1 -0
  3. package/BigInt.js.map +1 -0
  4. package/Boolean.js.map +1 -0
  5. package/Brand.js.map +1 -0
  6. package/Cache.js.map +1 -0
  7. package/Cause.js.map +1 -0
  8. package/Channel.js.map +1 -0
  9. package/ChildExecutorDecision.js.map +1 -0
  10. package/Chunk.js +1062 -0
  11. package/Chunk.js.map +1 -0
  12. package/Clock.js.map +1 -0
  13. package/Config.js.map +1 -0
  14. package/ConfigError.js.map +1 -0
  15. package/ConfigProvider.js.map +1 -0
  16. package/ConfigProviderPathPatch.js.map +1 -0
  17. package/Console.js.map +1 -0
  18. package/Context.js.map +1 -0
  19. package/Data.js.map +1 -0
  20. package/DefaultServices.js.map +1 -0
  21. package/Deferred.js.map +1 -0
  22. package/Differ.js +164 -0
  23. package/Differ.js.map +1 -0
  24. package/Duration.js.map +1 -0
  25. package/Effect.js +2665 -0
  26. package/Effect.js.map +1 -0
  27. package/Effectable.js.map +1 -0
  28. package/Either.js.map +1 -0
  29. package/Encoding.js.map +1 -0
  30. package/Equal.js.map +1 -0
  31. package/Equivalence.js.map +1 -0
  32. package/ExecutionStrategy.js.map +1 -0
  33. package/Exit.js.map +1 -0
  34. package/Fiber.js.map +1 -0
  35. package/FiberId.js.map +1 -0
  36. package/FiberRef.js.map +1 -0
  37. package/FiberRefs.js +115 -0
  38. package/FiberRefs.js.map +1 -0
  39. package/FiberRefsPatch.js.map +1 -0
  40. package/FiberStatus.js.map +1 -0
  41. package/Function.js.map +1 -0
  42. package/GlobalValue.js.map +1 -0
  43. package/GroupBy.js.map +1 -0
  44. package/HKT.js.map +1 -0
  45. package/Hash.js.map +1 -0
  46. package/HashMap.js +287 -0
  47. package/HashMap.js.map +1 -0
  48. package/HashSet.js +223 -0
  49. package/HashSet.js.map +1 -0
  50. package/Inspectable.js +34 -0
  51. package/Inspectable.js.map +1 -0
  52. package/KeyedPool.js.map +1 -0
  53. package/Layer.js +579 -0
  54. package/Layer.js.map +1 -0
  55. package/List.js +802 -0
  56. package/List.js.map +1 -0
  57. package/LogLevel.js.map +1 -0
  58. package/LogSpan.js.map +1 -0
  59. package/Logger.js.map +1 -0
  60. package/Match.js.map +1 -0
  61. package/MergeDecision.js.map +1 -0
  62. package/MergeState.js.map +1 -0
  63. package/MergeStrategy.js.map +1 -0
  64. package/Metric.js +426 -0
  65. package/Metric.js.map +1 -0
  66. package/MetricBoundaries.js +64 -0
  67. package/MetricBoundaries.js.map +1 -0
  68. package/MetricHook.js.map +1 -0
  69. package/MetricKey.js +94 -0
  70. package/MetricKey.js.map +1 -0
  71. package/MetricKeyType.js.map +1 -0
  72. package/MetricLabel.js.map +1 -0
  73. package/MetricPair.js.map +1 -0
  74. package/MetricPolling.js.map +1 -0
  75. package/MetricRegistry.js +47 -0
  76. package/MetricRegistry.js.map +1 -0
  77. package/MetricState.js.map +1 -0
  78. package/MutableHashMap.js +288 -0
  79. package/MutableHashMap.js.map +1 -0
  80. package/MutableHashSet.js +108 -0
  81. package/MutableHashSet.js.map +1 -0
  82. package/MutableList.js +285 -0
  83. package/MutableList.js.map +1 -0
  84. package/MutableQueue.js.map +1 -0
  85. package/MutableRef.js.map +1 -0
  86. package/NonEmptyIterable.js.map +1 -0
  87. package/Number.js.map +1 -0
  88. package/Option.js +950 -0
  89. package/Option.js.map +1 -0
  90. package/Order.js.map +1 -0
  91. package/Ordering.js.map +1 -0
  92. package/Pipeable.js.map +1 -0
  93. package/Pool.js.map +1 -0
  94. package/Predicate.js.map +1 -0
  95. package/PrimaryKey.js.map +1 -0
  96. package/PubSub.js.map +1 -0
  97. package/Queue.js.map +1 -0
  98. package/Random.js.map +1 -0
  99. package/ReadonlyArray.js +1392 -0
  100. package/ReadonlyArray.js.map +1 -0
  101. package/ReadonlyRecord.js +802 -0
  102. package/ReadonlyRecord.js.map +1 -0
  103. package/RedBlackTree.js +290 -0
  104. package/RedBlackTree.js.map +1 -0
  105. package/Ref.js.map +1 -0
  106. package/Reloadable.js.map +1 -0
  107. package/Request.js.map +1 -0
  108. package/RequestBlock.js.map +1 -0
  109. package/RequestResolver.js.map +1 -0
  110. package/Resource.js.map +1 -0
  111. package/Runtime.js.map +1 -0
  112. package/RuntimeFlags.js.map +1 -0
  113. package/RuntimeFlagsPatch.js.map +1 -0
  114. package/STM.js.map +1 -0
  115. package/Schedule.js.map +1 -0
  116. package/ScheduleDecision.js.map +1 -0
  117. package/ScheduleInterval.js.map +1 -0
  118. package/ScheduleIntervals.js +109 -0
  119. package/ScheduleIntervals.js.map +1 -0
  120. package/Scheduler.js.map +1 -0
  121. package/Scope.js.map +1 -0
  122. package/ScopedCache.js.map +1 -0
  123. package/ScopedRef.js.map +1 -0
  124. package/Secret.js +68 -0
  125. package/Secret.js.map +1 -0
  126. package/SingleProducerAsyncInput.js.map +1 -0
  127. package/Sink.js.map +1 -0
  128. package/SortedMap.js +190 -0
  129. package/SortedMap.js.map +1 -0
  130. package/SortedSet.js +269 -0
  131. package/SortedSet.js.map +1 -0
  132. package/Stream.js +2581 -0
  133. package/Stream.js.map +1 -0
  134. package/StreamEmit.js.map +1 -0
  135. package/StreamHaltStrategy.js.map +1 -0
  136. package/Streamable.js.map +1 -0
  137. package/String.js.map +1 -0
  138. package/Struct.js.map +1 -0
  139. package/SubscriptionRef.js.map +1 -0
  140. package/Supervisor.js.map +1 -0
  141. package/Symbol.js.map +1 -0
  142. package/SynchronizedRef.js.map +1 -0
  143. package/TArray.js +338 -0
  144. package/TArray.js.map +1 -0
  145. package/TDeferred.js.map +1 -0
  146. package/TMap.js +310 -0
  147. package/TMap.js.map +1 -0
  148. package/TPriorityQueue.js +167 -0
  149. package/TPriorityQueue.js.map +1 -0
  150. package/TPubSub.js.map +1 -0
  151. package/TQueue.js.map +1 -0
  152. package/TRandom.js.map +1 -0
  153. package/TReentrantLock.js.map +1 -0
  154. package/TRef.js.map +1 -0
  155. package/TSemaphore.js.map +1 -0
  156. package/TSet.js +232 -0
  157. package/TSet.js.map +1 -0
  158. package/Take.js.map +1 -0
  159. package/TestAnnotation.js.map +1 -0
  160. package/TestAnnotationMap.js.map +1 -0
  161. package/TestAnnotations.js.map +1 -0
  162. package/TestClock.js.map +1 -0
  163. package/TestConfig.js.map +1 -0
  164. package/TestContext.js.map +1 -0
  165. package/TestLive.js.map +1 -0
  166. package/TestServices.js.map +1 -0
  167. package/TestSized.js.map +1 -0
  168. package/Tracer.js.map +1 -0
  169. package/Tuple.js.map +1 -0
  170. package/Types.js.map +1 -0
  171. package/Unify.js.map +1 -0
  172. package/UpstreamPullRequest.js.map +1 -0
  173. package/UpstreamPullStrategy.js.map +1 -0
  174. package/Utils.js +289 -0
  175. package/Utils.js.map +1 -0
  176. package/dist/dts/Chunk.d.ts +32 -15
  177. package/dist/dts/Chunk.d.ts.map +1 -1
  178. package/dist/dts/Config.d.ts +2 -2
  179. package/dist/dts/Config.d.ts.map +1 -1
  180. package/dist/dts/Differ.d.ts +30 -0
  181. package/dist/dts/Differ.d.ts.map +1 -1
  182. package/dist/dts/Effect.d.ts +36 -18
  183. package/dist/dts/Effect.d.ts.map +1 -1
  184. package/dist/dts/FiberRef.d.ts +1 -1
  185. package/dist/dts/FiberRef.d.ts.map +1 -1
  186. package/dist/dts/FiberRefs.d.ts +35 -1
  187. package/dist/dts/FiberRefs.d.ts.map +1 -1
  188. package/dist/dts/HashMap.d.ts +1 -1
  189. package/dist/dts/HashSet.d.ts +1 -1
  190. package/dist/dts/Inspectable.d.ts +4 -0
  191. package/dist/dts/Inspectable.d.ts.map +1 -1
  192. package/dist/dts/Layer.d.ts +35 -0
  193. package/dist/dts/Layer.d.ts.map +1 -1
  194. package/dist/dts/List.d.ts +13 -9
  195. package/dist/dts/List.d.ts.map +1 -1
  196. package/dist/dts/Metric.d.ts +9 -11
  197. package/dist/dts/Metric.d.ts.map +1 -1
  198. package/dist/dts/MetricBoundaries.d.ts +2 -3
  199. package/dist/dts/MetricBoundaries.d.ts.map +1 -1
  200. package/dist/dts/MetricKey.d.ts +4 -16
  201. package/dist/dts/MetricKey.d.ts.map +1 -1
  202. package/dist/dts/MetricKeyType.d.ts +2 -3
  203. package/dist/dts/MetricKeyType.d.ts.map +1 -1
  204. package/dist/dts/MetricRegistry.d.ts +1 -5
  205. package/dist/dts/MetricRegistry.d.ts.map +1 -1
  206. package/dist/dts/MetricState.d.ts +6 -8
  207. package/dist/dts/MetricState.d.ts.map +1 -1
  208. package/dist/dts/MutableHashMap.d.ts +11 -9
  209. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  210. package/dist/dts/MutableHashSet.d.ts +2 -0
  211. package/dist/dts/MutableHashSet.d.ts.map +1 -1
  212. package/dist/dts/MutableList.d.ts +1 -1
  213. package/dist/dts/Option.d.ts +1 -1
  214. package/dist/dts/ReadonlyArray.d.ts +66 -50
  215. package/dist/dts/ReadonlyArray.d.ts.map +1 -1
  216. package/dist/dts/ReadonlyRecord.d.ts +11 -4
  217. package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
  218. package/dist/dts/RedBlackTree.d.ts +1 -1
  219. package/dist/dts/ScheduleIntervals.d.ts +1 -1
  220. package/dist/dts/Secret.d.ts +63 -0
  221. package/dist/dts/Secret.d.ts.map +1 -0
  222. package/dist/dts/SortedMap.d.ts +2 -0
  223. package/dist/dts/SortedMap.d.ts.map +1 -1
  224. package/dist/dts/SortedSet.d.ts +2 -0
  225. package/dist/dts/SortedSet.d.ts.map +1 -1
  226. package/dist/dts/Stream.d.ts +1 -1
  227. package/dist/dts/TArray.d.ts +1 -1
  228. package/dist/dts/TMap.d.ts +1 -1
  229. package/dist/dts/TPriorityQueue.d.ts +1 -1
  230. package/dist/dts/TSet.d.ts +1 -1
  231. package/dist/dts/index.d.ts +4 -4
  232. package/dist/dts/index.d.ts.map +1 -1
  233. package/dist/dts/internal/differ/readonlyArrayPatch.d.ts +2 -0
  234. package/dist/dts/internal/differ/readonlyArrayPatch.d.ts.map +1 -0
  235. package/dist/dts/internal/metric/keyType.d.ts +2 -2
  236. package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
  237. package/dist/dts/internal/metric/state.d.ts.map +1 -1
  238. package/dist/dts/internal/secret.d.ts +2 -0
  239. package/dist/dts/internal/secret.d.ts.map +1 -0
  240. package/dist/dts/internal/version.d.ts +1 -1
  241. package/dist/esm/BigDecimal.js +1 -1
  242. package/dist/esm/BigDecimal.js.map +1 -1
  243. package/dist/esm/Chunk.js +19 -7
  244. package/dist/esm/Chunk.js.map +1 -1
  245. package/dist/esm/Config.js.map +1 -1
  246. package/dist/esm/Differ.js +9 -0
  247. package/dist/esm/Differ.js.map +1 -1
  248. package/dist/esm/Effect.js +35 -14
  249. package/dist/esm/Effect.js.map +1 -1
  250. package/dist/esm/FiberRef.js.map +1 -1
  251. package/dist/esm/FiberRefs.js +8 -1
  252. package/dist/esm/FiberRefs.js.map +1 -1
  253. package/dist/esm/HashMap.js +1 -1
  254. package/dist/esm/HashSet.js +1 -1
  255. package/dist/esm/Inspectable.js +3 -1
  256. package/dist/esm/Inspectable.js.map +1 -1
  257. package/dist/esm/Layer.js +23 -0
  258. package/dist/esm/Layer.js.map +1 -1
  259. package/dist/esm/List.js +1 -1
  260. package/dist/esm/List.js.map +1 -1
  261. package/dist/esm/Metric.js +1 -1
  262. package/dist/esm/Metric.js.map +1 -1
  263. package/dist/esm/MetricBoundaries.js +1 -1
  264. package/dist/esm/MetricBoundaries.js.map +1 -1
  265. package/dist/esm/MetricKey.js +0 -7
  266. package/dist/esm/MetricKey.js.map +1 -1
  267. package/dist/esm/MetricKeyType.js.map +1 -1
  268. package/dist/esm/MetricRegistry.js +3 -0
  269. package/dist/esm/MetricRegistry.js.map +1 -1
  270. package/dist/esm/MetricState.js.map +1 -1
  271. package/dist/esm/MutableHashMap.js +178 -31
  272. package/dist/esm/MutableHashMap.js.map +1 -1
  273. package/dist/esm/MutableHashSet.js +2 -0
  274. package/dist/esm/MutableHashSet.js.map +1 -1
  275. package/dist/esm/MutableList.js +1 -1
  276. package/dist/esm/Option.js +1 -1
  277. package/dist/esm/ReadonlyArray.js +33 -12
  278. package/dist/esm/ReadonlyArray.js.map +1 -1
  279. package/dist/esm/ReadonlyRecord.js +12 -5
  280. package/dist/esm/ReadonlyRecord.js.map +1 -1
  281. package/dist/esm/RedBlackTree.js +1 -1
  282. package/dist/esm/ScheduleIntervals.js +1 -1
  283. package/dist/esm/Secret.js +37 -0
  284. package/dist/esm/Secret.js.map +1 -0
  285. package/dist/esm/SortedMap.js +2 -0
  286. package/dist/esm/SortedMap.js.map +1 -1
  287. package/dist/esm/SortedSet.js +2 -0
  288. package/dist/esm/SortedSet.js.map +1 -1
  289. package/dist/esm/Stream.js +1 -1
  290. package/dist/esm/TArray.js +1 -1
  291. package/dist/esm/TMap.js +1 -1
  292. package/dist/esm/TPriorityQueue.js +1 -1
  293. package/dist/esm/TSet.js +1 -1
  294. package/dist/esm/Utils.js +0 -1
  295. package/dist/esm/Utils.js.map +1 -1
  296. package/dist/esm/index.js +4 -4
  297. package/dist/esm/index.js.map +1 -1
  298. package/dist/esm/internal/config.js +2 -2
  299. package/dist/esm/internal/config.js.map +1 -1
  300. package/dist/esm/internal/console.js +2 -0
  301. package/dist/esm/internal/console.js.map +1 -1
  302. package/dist/esm/internal/core-effect.js +1 -3
  303. package/dist/esm/internal/core-effect.js.map +1 -1
  304. package/dist/esm/internal/core.js +9 -2
  305. package/dist/esm/internal/core.js.map +1 -1
  306. package/dist/esm/internal/differ/chunkPatch.js +3 -0
  307. package/dist/esm/internal/differ/chunkPatch.js.map +1 -1
  308. package/dist/esm/internal/differ/contextPatch.js +3 -0
  309. package/dist/esm/internal/differ/contextPatch.js.map +1 -1
  310. package/dist/esm/internal/differ/hashMapPatch.js +3 -0
  311. package/dist/esm/internal/differ/hashMapPatch.js.map +1 -1
  312. package/dist/esm/internal/differ/hashSetPatch.js +3 -0
  313. package/dist/esm/internal/differ/hashSetPatch.js.map +1 -1
  314. package/dist/esm/internal/differ/orPatch.js +3 -0
  315. package/dist/esm/internal/differ/orPatch.js.map +1 -1
  316. package/dist/esm/internal/differ/readonlyArrayPatch.js +127 -0
  317. package/dist/esm/internal/differ/readonlyArrayPatch.js.map +1 -0
  318. package/dist/esm/internal/differ.js +12 -0
  319. package/dist/esm/internal/differ.js.map +1 -1
  320. package/dist/esm/internal/fiberId.js +1 -1
  321. package/dist/esm/internal/fiberId.js.map +1 -1
  322. package/dist/esm/internal/fiberRefs/patch.js +2 -2
  323. package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
  324. package/dist/esm/internal/fiberRefs.js +61 -28
  325. package/dist/esm/internal/fiberRefs.js.map +1 -1
  326. package/dist/esm/internal/fiberRuntime.js +47 -45
  327. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  328. package/dist/esm/internal/hashMap/node.js +0 -2
  329. package/dist/esm/internal/hashMap/node.js.map +1 -1
  330. package/dist/esm/internal/layer.js +19 -14
  331. package/dist/esm/internal/layer.js.map +1 -1
  332. package/dist/esm/internal/metric/boundaries.js +7 -5
  333. package/dist/esm/internal/metric/boundaries.js.map +1 -1
  334. package/dist/esm/internal/metric/hook.js +23 -25
  335. package/dist/esm/internal/metric/hook.js.map +1 -1
  336. package/dist/esm/internal/metric/key.js +9 -8
  337. package/dist/esm/internal/metric/key.js.map +1 -1
  338. package/dist/esm/internal/metric/keyType.js +13 -5
  339. package/dist/esm/internal/metric/keyType.js.map +1 -1
  340. package/dist/esm/internal/metric/label.js +3 -2
  341. package/dist/esm/internal/metric/label.js.map +1 -1
  342. package/dist/esm/internal/metric/registry.js +1 -2
  343. package/dist/esm/internal/metric/registry.js.map +1 -1
  344. package/dist/esm/internal/metric/state.js +9 -2
  345. package/dist/esm/internal/metric/state.js.map +1 -1
  346. package/dist/esm/internal/metric.js +27 -15
  347. package/dist/esm/internal/metric.js.map +1 -1
  348. package/dist/esm/internal/runtime.js +7 -11
  349. package/dist/esm/internal/runtime.js.map +1 -1
  350. package/dist/esm/internal/schedule.js +1 -1
  351. package/dist/esm/internal/schedule.js.map +1 -1
  352. package/dist/esm/internal/secret.js +53 -0
  353. package/dist/esm/internal/secret.js.map +1 -0
  354. package/dist/esm/internal/version.js +1 -1
  355. package/index.js +357 -0
  356. package/index.js.map +1 -0
  357. package/internal/Iterable.js.map +1 -0
  358. package/internal/blockedRequests.js.map +1 -0
  359. package/internal/cache.js.map +1 -0
  360. package/internal/cause.js.map +1 -0
  361. package/internal/channel/channelExecutor.js.map +1 -0
  362. package/internal/channel/channelState.js.map +1 -0
  363. package/internal/channel/childExecutorDecision.js.map +1 -0
  364. package/internal/channel/continuation.js.map +1 -0
  365. package/internal/channel/mergeDecision.js.map +1 -0
  366. package/internal/channel/mergeState.js.map +1 -0
  367. package/internal/channel/mergeStrategy.js.map +1 -0
  368. package/internal/channel/singleProducerAsyncInput.js.map +1 -0
  369. package/internal/channel/subexecutor.js.map +1 -0
  370. package/internal/channel/upstreamPullRequest.js.map +1 -0
  371. package/internal/channel/upstreamPullStrategy.js.map +1 -0
  372. package/internal/channel.js.map +1 -0
  373. package/internal/clock.js.map +1 -0
  374. package/internal/completedRequestMap.js.map +1 -0
  375. package/internal/concurrency.js.map +1 -0
  376. package/internal/config.js +356 -0
  377. package/internal/config.js.map +1 -0
  378. package/internal/configError.js.map +1 -0
  379. package/internal/configProvider/pathPatch.js.map +1 -0
  380. package/internal/configProvider.js.map +1 -0
  381. package/internal/console.js +103 -0
  382. package/internal/console.js.map +1 -0
  383. package/internal/context.js.map +1 -0
  384. package/internal/core-effect.js +837 -0
  385. package/internal/core-effect.js.map +1 -0
  386. package/internal/core-stream.js.map +1 -0
  387. package/internal/core.js +1758 -0
  388. package/internal/core.js.map +1 -0
  389. package/internal/data.js.map +1 -0
  390. package/internal/dataSource.js.map +1 -0
  391. package/internal/defaultServices/console.js.map +1 -0
  392. package/internal/defaultServices.js.map +1 -0
  393. package/internal/deferred.js.map +1 -0
  394. package/internal/differ/chunkPatch.js +163 -0
  395. package/internal/differ/chunkPatch.js.map +1 -0
  396. package/internal/differ/contextPatch.js +176 -0
  397. package/internal/differ/contextPatch.js.map +1 -0
  398. package/internal/differ/hashMapPatch.js +163 -0
  399. package/internal/differ/hashMapPatch.js.map +1 -0
  400. package/internal/differ/hashSetPatch.js +137 -0
  401. package/internal/differ/hashSetPatch.js.map +1 -0
  402. package/internal/differ/orPatch.js +208 -0
  403. package/internal/differ/orPatch.js.map +1 -0
  404. package/internal/differ/readonlyArrayPatch.js +160 -0
  405. package/internal/differ/readonlyArrayPatch.js.map +1 -0
  406. package/internal/differ.js +169 -0
  407. package/internal/differ.js.map +1 -0
  408. package/internal/effect/circular.js.map +1 -0
  409. package/internal/effectable.js.map +1 -0
  410. package/internal/either.js.map +1 -0
  411. package/internal/encoding/base64.js.map +1 -0
  412. package/internal/encoding/base64Url.js.map +1 -0
  413. package/internal/encoding/common.js.map +1 -0
  414. package/internal/encoding/hex.js.map +1 -0
  415. package/internal/executionStrategy.js.map +1 -0
  416. package/internal/fiber.js.map +1 -0
  417. package/internal/fiberId.js +259 -0
  418. package/internal/fiberId.js.map +1 -0
  419. package/internal/fiberMessage.js.map +1 -0
  420. package/internal/fiberRefs/patch.js +139 -0
  421. package/internal/fiberRefs/patch.js.map +1 -0
  422. package/internal/fiberRefs.js +227 -0
  423. package/internal/fiberRefs.js.map +1 -0
  424. package/internal/fiberRuntime.js +1921 -0
  425. package/internal/fiberRuntime.js.map +1 -0
  426. package/internal/fiberScope.js.map +1 -0
  427. package/internal/fiberStatus.js.map +1 -0
  428. package/internal/groupBy.js.map +1 -0
  429. package/internal/hashMap/array.js.map +1 -0
  430. package/internal/hashMap/bitwise.js.map +1 -0
  431. package/internal/hashMap/config.js.map +1 -0
  432. package/internal/hashMap/keySet.js.map +1 -0
  433. package/internal/hashMap/node.js +297 -0
  434. package/internal/hashMap/node.js.map +1 -0
  435. package/internal/hashMap.js.map +1 -0
  436. package/internal/hashSet.js.map +1 -0
  437. package/internal/keyedPool.js.map +1 -0
  438. package/internal/layer/circular.js.map +1 -0
  439. package/internal/layer.js +512 -0
  440. package/internal/layer.js.map +1 -0
  441. package/internal/logSpan.js.map +1 -0
  442. package/internal/logger-circular.js.map +1 -0
  443. package/internal/logger.js.map +1 -0
  444. package/internal/matcher.js.map +1 -0
  445. package/internal/metric/boundaries.js +77 -0
  446. package/internal/metric/boundaries.js.map +1 -0
  447. package/internal/metric/hook.js +387 -0
  448. package/internal/metric/hook.js.map +1 -0
  449. package/internal/metric/key.js +97 -0
  450. package/internal/metric/key.js.map +1 -0
  451. package/internal/metric/keyType.js +243 -0
  452. package/internal/metric/keyType.js.map +1 -0
  453. package/internal/metric/label.js +69 -0
  454. package/internal/metric/label.js.map +1 -0
  455. package/internal/metric/pair.js.map +1 -0
  456. package/internal/metric/polling.js.map +1 -0
  457. package/internal/metric/registry.js +137 -0
  458. package/internal/metric/registry.js.map +1 -0
  459. package/internal/metric/state.js +229 -0
  460. package/internal/metric/state.js.map +1 -0
  461. package/internal/metric.js +227 -0
  462. package/internal/metric.js.map +1 -0
  463. package/internal/opCodes/cause.js.map +1 -0
  464. package/internal/opCodes/channel.js.map +1 -0
  465. package/internal/opCodes/channelChildExecutorDecision.js.map +1 -0
  466. package/internal/opCodes/channelMergeDecision.js.map +1 -0
  467. package/internal/opCodes/channelMergeState.js.map +1 -0
  468. package/internal/opCodes/channelMergeStrategy.js.map +1 -0
  469. package/internal/opCodes/channelState.js.map +1 -0
  470. package/internal/opCodes/channelUpstreamPullRequest.js.map +1 -0
  471. package/internal/opCodes/channelUpstreamPullStrategy.js.map +1 -0
  472. package/internal/opCodes/config.js.map +1 -0
  473. package/internal/opCodes/configError.js.map +1 -0
  474. package/internal/opCodes/continuation.js.map +1 -0
  475. package/internal/opCodes/deferred.js.map +1 -0
  476. package/internal/opCodes/effect.js.map +1 -0
  477. package/internal/opCodes/layer.js.map +1 -0
  478. package/internal/opCodes/streamHaltStrategy.js.map +1 -0
  479. package/internal/option.js.map +1 -0
  480. package/internal/pool.js.map +1 -0
  481. package/internal/pubsub.js.map +1 -0
  482. package/internal/query.js.map +1 -0
  483. package/internal/queue.js.map +1 -0
  484. package/internal/random.js.map +1 -0
  485. package/internal/readonlyArray.js.map +1 -0
  486. package/internal/redBlackTree/iterator.js.map +1 -0
  487. package/internal/redBlackTree/node.js.map +1 -0
  488. package/internal/redBlackTree.js.map +1 -0
  489. package/internal/ref.js.map +1 -0
  490. package/internal/reloadable.js.map +1 -0
  491. package/internal/request.js.map +1 -0
  492. package/internal/resource.js.map +1 -0
  493. package/internal/ringBuffer.js.map +1 -0
  494. package/internal/runtime.js +288 -0
  495. package/internal/runtime.js.map +1 -0
  496. package/internal/runtimeFlags.js.map +1 -0
  497. package/internal/runtimeFlagsPatch.js.map +1 -0
  498. package/internal/schedule/decision.js.map +1 -0
  499. package/internal/schedule/interval.js.map +1 -0
  500. package/internal/schedule/intervals.js.map +1 -0
  501. package/internal/schedule.js +802 -0
  502. package/internal/schedule.js.map +1 -0
  503. package/internal/scopedCache.js.map +1 -0
  504. package/internal/scopedRef.js.map +1 -0
  505. package/internal/secret.js +90 -0
  506. package/internal/secret.js.map +1 -0
  507. package/internal/singleShotGen.js.map +1 -0
  508. package/internal/sink.js.map +1 -0
  509. package/internal/stack.js.map +1 -0
  510. package/internal/stm/core.js.map +1 -0
  511. package/internal/stm/opCodes/stm.js.map +1 -0
  512. package/internal/stm/opCodes/stmState.js.map +1 -0
  513. package/internal/stm/opCodes/strategy.js.map +1 -0
  514. package/internal/stm/opCodes/tExit.js.map +1 -0
  515. package/internal/stm/opCodes/tryCommit.js.map +1 -0
  516. package/internal/stm/stm/entry.js.map +1 -0
  517. package/internal/stm/stm/journal.js.map +1 -0
  518. package/internal/stm/stm/opCodes/stm.js.map +1 -0
  519. package/internal/stm/stm/opCodes/stmState.js.map +1 -0
  520. package/internal/stm/stm/opCodes/strategy.js.map +1 -0
  521. package/internal/stm/stm/opCodes/tExit.js.map +1 -0
  522. package/internal/stm/stm/opCodes/tryCommit.js.map +1 -0
  523. package/internal/stm/stm/stmState.js.map +1 -0
  524. package/internal/stm/stm/tExit.js.map +1 -0
  525. package/internal/stm/stm/tryCommit.js.map +1 -0
  526. package/internal/stm/stm/txnId.js.map +1 -0
  527. package/internal/stm/stm/versioned.js.map +1 -0
  528. package/internal/stm/stm.js.map +1 -0
  529. package/internal/stm/tArray.js.map +1 -0
  530. package/internal/stm/tDeferred.js.map +1 -0
  531. package/internal/stm/tMap.js.map +1 -0
  532. package/internal/stm/tPriorityQueue.js.map +1 -0
  533. package/internal/stm/tPubSub.js.map +1 -0
  534. package/internal/stm/tQueue.js.map +1 -0
  535. package/internal/stm/tRandom.js.map +1 -0
  536. package/internal/stm/tReentrantLock.js.map +1 -0
  537. package/internal/stm/tRef.js.map +1 -0
  538. package/internal/stm/tSemaphore.js.map +1 -0
  539. package/internal/stm/tSet.js.map +1 -0
  540. package/internal/stream/debounceState.js.map +1 -0
  541. package/internal/stream/emit.js.map +1 -0
  542. package/internal/stream/haltStrategy.js.map +1 -0
  543. package/internal/stream/handoff.js.map +1 -0
  544. package/internal/stream/handoffSignal.js.map +1 -0
  545. package/internal/stream/pull.js.map +1 -0
  546. package/internal/stream/sinkEndReason.js.map +1 -0
  547. package/internal/stream/zipAllState.js.map +1 -0
  548. package/internal/stream/zipChunksState.js.map +1 -0
  549. package/internal/stream.js.map +1 -0
  550. package/internal/string-utils.js.map +1 -0
  551. package/internal/subscriptionRef.js.map +1 -0
  552. package/internal/supervisor/patch.js.map +1 -0
  553. package/internal/supervisor.js.map +1 -0
  554. package/internal/synchronizedRef.js.map +1 -0
  555. package/internal/take.js.map +1 -0
  556. package/internal/testing/sleep.js.map +1 -0
  557. package/internal/testing/suspendedWarningData.js.map +1 -0
  558. package/internal/testing/warningData.js.map +1 -0
  559. package/internal/timeout.js.map +1 -0
  560. package/internal/tracer.js.map +1 -0
  561. package/internal/version.js +8 -0
  562. package/internal/version.js.map +1 -0
  563. package/package.json +154 -154
  564. package/src/BigDecimal.ts +1 -1
  565. package/src/Chunk.ts +50 -15
  566. package/src/Config.ts +2 -2
  567. package/src/Differ.ts +36 -0
  568. package/src/Effect.ts +46 -22
  569. package/src/FiberRef.ts +1 -1
  570. package/src/FiberRefs.ts +46 -2
  571. package/src/HashMap.ts +1 -1
  572. package/src/HashSet.ts +1 -1
  573. package/src/Inspectable.ts +3 -1
  574. package/src/Layer.ts +57 -0
  575. package/src/List.ts +17 -9
  576. package/src/Metric.ts +10 -12
  577. package/src/MetricBoundaries.ts +2 -3
  578. package/src/MetricKey.ts +4 -22
  579. package/src/MetricKeyType.ts +2 -3
  580. package/src/MetricRegistry.ts +1 -2
  581. package/src/MetricState.ts +6 -8
  582. package/src/MutableHashMap.ts +212 -46
  583. package/src/MutableHashSet.ts +2 -0
  584. package/src/MutableList.ts +1 -1
  585. package/src/Option.ts +1 -1
  586. package/src/ReadonlyArray.ts +134 -78
  587. package/src/ReadonlyRecord.ts +15 -5
  588. package/src/RedBlackTree.ts +1 -1
  589. package/src/ScheduleIntervals.ts +1 -1
  590. package/src/Secret.ts +75 -0
  591. package/src/SortedMap.ts +2 -0
  592. package/src/SortedSet.ts +2 -0
  593. package/src/Stream.ts +1 -1
  594. package/src/TArray.ts +1 -1
  595. package/src/TMap.ts +1 -1
  596. package/src/TPriorityQueue.ts +1 -1
  597. package/src/TSet.ts +1 -1
  598. package/src/index.ts +5 -5
  599. package/src/internal/config.ts +4 -4
  600. package/src/internal/console.ts +8 -0
  601. package/src/internal/core-effect.ts +1 -9
  602. package/src/internal/core.ts +15 -4
  603. package/src/internal/differ/chunkPatch.ts +3 -0
  604. package/src/internal/differ/contextPatch.ts +3 -0
  605. package/src/internal/differ/hashMapPatch.ts +3 -0
  606. package/src/internal/differ/hashSetPatch.ts +3 -0
  607. package/src/internal/differ/orPatch.ts +3 -0
  608. package/src/internal/differ/readonlyArrayPatch.ts +208 -0
  609. package/src/internal/differ.ts +12 -0
  610. package/src/internal/fiberId.ts +1 -1
  611. package/src/internal/fiberRefs/patch.ts +2 -2
  612. package/src/internal/fiberRefs.ts +101 -42
  613. package/src/internal/fiberRuntime.ts +62 -58
  614. package/src/internal/layer.ts +57 -30
  615. package/src/internal/metric/boundaries.ts +14 -11
  616. package/src/internal/metric/hook.ts +46 -59
  617. package/src/internal/metric/key.ts +19 -29
  618. package/src/internal/metric/keyType.ts +27 -17
  619. package/src/internal/metric/label.ts +5 -7
  620. package/src/internal/metric/registry.ts +2 -3
  621. package/src/internal/metric/state.ts +21 -12
  622. package/src/internal/metric.ts +44 -25
  623. package/src/internal/runtime.ts +11 -11
  624. package/src/internal/schedule.ts +1 -1
  625. package/src/internal/secret.ts +69 -0
  626. package/src/internal/version.ts +1 -1
  627. package/dist/cjs/BigDecimal.js +0 -875
  628. package/dist/cjs/BigDecimal.js.map +0 -1
  629. package/dist/cjs/BigInt.js.map +0 -1
  630. package/dist/cjs/Boolean.js.map +0 -1
  631. package/dist/cjs/Brand.js.map +0 -1
  632. package/dist/cjs/Cache.js.map +0 -1
  633. package/dist/cjs/Cause.js.map +0 -1
  634. package/dist/cjs/Channel.js.map +0 -1
  635. package/dist/cjs/ChildExecutorDecision.js.map +0 -1
  636. package/dist/cjs/Chunk.js +0 -1050
  637. package/dist/cjs/Chunk.js.map +0 -1
  638. package/dist/cjs/Clock.js.map +0 -1
  639. package/dist/cjs/Config.js.map +0 -1
  640. package/dist/cjs/ConfigError.js.map +0 -1
  641. package/dist/cjs/ConfigProvider.js.map +0 -1
  642. package/dist/cjs/ConfigProviderPathPatch.js.map +0 -1
  643. package/dist/cjs/ConfigSecret.js +0 -68
  644. package/dist/cjs/ConfigSecret.js.map +0 -1
  645. package/dist/cjs/Console.js.map +0 -1
  646. package/dist/cjs/Context.js.map +0 -1
  647. package/dist/cjs/Data.js.map +0 -1
  648. package/dist/cjs/DefaultServices.js.map +0 -1
  649. package/dist/cjs/Deferred.js.map +0 -1
  650. package/dist/cjs/Differ.js +0 -155
  651. package/dist/cjs/Differ.js.map +0 -1
  652. package/dist/cjs/Duration.js.map +0 -1
  653. package/dist/cjs/Effect.js +0 -2644
  654. package/dist/cjs/Effect.js.map +0 -1
  655. package/dist/cjs/Effectable.js.map +0 -1
  656. package/dist/cjs/Either.js.map +0 -1
  657. package/dist/cjs/Encoding.js.map +0 -1
  658. package/dist/cjs/Equal.js.map +0 -1
  659. package/dist/cjs/Equivalence.js.map +0 -1
  660. package/dist/cjs/ExecutionStrategy.js.map +0 -1
  661. package/dist/cjs/Exit.js.map +0 -1
  662. package/dist/cjs/Fiber.js.map +0 -1
  663. package/dist/cjs/FiberId.js.map +0 -1
  664. package/dist/cjs/FiberRef.js.map +0 -1
  665. package/dist/cjs/FiberRefs.js +0 -108
  666. package/dist/cjs/FiberRefs.js.map +0 -1
  667. package/dist/cjs/FiberRefsPatch.js.map +0 -1
  668. package/dist/cjs/FiberStatus.js.map +0 -1
  669. package/dist/cjs/Function.js.map +0 -1
  670. package/dist/cjs/GlobalValue.js.map +0 -1
  671. package/dist/cjs/GroupBy.js.map +0 -1
  672. package/dist/cjs/HKT.js.map +0 -1
  673. package/dist/cjs/Hash.js.map +0 -1
  674. package/dist/cjs/HashMap.js +0 -287
  675. package/dist/cjs/HashMap.js.map +0 -1
  676. package/dist/cjs/HashSet.js +0 -223
  677. package/dist/cjs/HashSet.js.map +0 -1
  678. package/dist/cjs/Inspectable.js +0 -32
  679. package/dist/cjs/Inspectable.js.map +0 -1
  680. package/dist/cjs/KeyedPool.js.map +0 -1
  681. package/dist/cjs/Layer.js +0 -556
  682. package/dist/cjs/Layer.js.map +0 -1
  683. package/dist/cjs/List.js +0 -802
  684. package/dist/cjs/List.js.map +0 -1
  685. package/dist/cjs/LogLevel.js.map +0 -1
  686. package/dist/cjs/LogSpan.js.map +0 -1
  687. package/dist/cjs/Logger.js.map +0 -1
  688. package/dist/cjs/Match.js.map +0 -1
  689. package/dist/cjs/MergeDecision.js.map +0 -1
  690. package/dist/cjs/MergeState.js.map +0 -1
  691. package/dist/cjs/MergeStrategy.js.map +0 -1
  692. package/dist/cjs/Metric.js +0 -426
  693. package/dist/cjs/Metric.js.map +0 -1
  694. package/dist/cjs/MetricBoundaries.js +0 -64
  695. package/dist/cjs/MetricBoundaries.js.map +0 -1
  696. package/dist/cjs/MetricHook.js.map +0 -1
  697. package/dist/cjs/MetricKey.js +0 -101
  698. package/dist/cjs/MetricKey.js.map +0 -1
  699. package/dist/cjs/MetricKeyType.js.map +0 -1
  700. package/dist/cjs/MetricLabel.js.map +0 -1
  701. package/dist/cjs/MetricPair.js.map +0 -1
  702. package/dist/cjs/MetricPolling.js.map +0 -1
  703. package/dist/cjs/MetricRegistry.js +0 -43
  704. package/dist/cjs/MetricRegistry.js.map +0 -1
  705. package/dist/cjs/MetricState.js.map +0 -1
  706. package/dist/cjs/MutableHashMap.js +0 -141
  707. package/dist/cjs/MutableHashMap.js.map +0 -1
  708. package/dist/cjs/MutableHashSet.js +0 -106
  709. package/dist/cjs/MutableHashSet.js.map +0 -1
  710. package/dist/cjs/MutableList.js +0 -285
  711. package/dist/cjs/MutableList.js.map +0 -1
  712. package/dist/cjs/MutableQueue.js.map +0 -1
  713. package/dist/cjs/MutableRef.js.map +0 -1
  714. package/dist/cjs/NonEmptyIterable.js.map +0 -1
  715. package/dist/cjs/Number.js.map +0 -1
  716. package/dist/cjs/Option.js +0 -950
  717. package/dist/cjs/Option.js.map +0 -1
  718. package/dist/cjs/Order.js.map +0 -1
  719. package/dist/cjs/Ordering.js.map +0 -1
  720. package/dist/cjs/Pipeable.js.map +0 -1
  721. package/dist/cjs/Pool.js.map +0 -1
  722. package/dist/cjs/Predicate.js.map +0 -1
  723. package/dist/cjs/PrimaryKey.js.map +0 -1
  724. package/dist/cjs/PubSub.js.map +0 -1
  725. package/dist/cjs/Queue.js.map +0 -1
  726. package/dist/cjs/Random.js.map +0 -1
  727. package/dist/cjs/ReadonlyArray.js +0 -1370
  728. package/dist/cjs/ReadonlyArray.js.map +0 -1
  729. package/dist/cjs/ReadonlyRecord.js +0 -795
  730. package/dist/cjs/ReadonlyRecord.js.map +0 -1
  731. package/dist/cjs/RedBlackTree.js +0 -290
  732. package/dist/cjs/RedBlackTree.js.map +0 -1
  733. package/dist/cjs/Ref.js.map +0 -1
  734. package/dist/cjs/Reloadable.js.map +0 -1
  735. package/dist/cjs/Request.js.map +0 -1
  736. package/dist/cjs/RequestBlock.js.map +0 -1
  737. package/dist/cjs/RequestResolver.js.map +0 -1
  738. package/dist/cjs/Resource.js.map +0 -1
  739. package/dist/cjs/Runtime.js.map +0 -1
  740. package/dist/cjs/RuntimeFlags.js.map +0 -1
  741. package/dist/cjs/RuntimeFlagsPatch.js.map +0 -1
  742. package/dist/cjs/STM.js.map +0 -1
  743. package/dist/cjs/Schedule.js.map +0 -1
  744. package/dist/cjs/ScheduleDecision.js.map +0 -1
  745. package/dist/cjs/ScheduleInterval.js.map +0 -1
  746. package/dist/cjs/ScheduleIntervals.js +0 -109
  747. package/dist/cjs/ScheduleIntervals.js.map +0 -1
  748. package/dist/cjs/Scheduler.js.map +0 -1
  749. package/dist/cjs/Scope.js.map +0 -1
  750. package/dist/cjs/ScopedCache.js.map +0 -1
  751. package/dist/cjs/ScopedRef.js.map +0 -1
  752. package/dist/cjs/SingleProducerAsyncInput.js.map +0 -1
  753. package/dist/cjs/Sink.js.map +0 -1
  754. package/dist/cjs/SortedMap.js +0 -188
  755. package/dist/cjs/SortedMap.js.map +0 -1
  756. package/dist/cjs/SortedSet.js +0 -267
  757. package/dist/cjs/SortedSet.js.map +0 -1
  758. package/dist/cjs/Stream.js +0 -2581
  759. package/dist/cjs/Stream.js.map +0 -1
  760. package/dist/cjs/StreamEmit.js.map +0 -1
  761. package/dist/cjs/StreamHaltStrategy.js.map +0 -1
  762. package/dist/cjs/Streamable.js.map +0 -1
  763. package/dist/cjs/String.js.map +0 -1
  764. package/dist/cjs/Struct.js.map +0 -1
  765. package/dist/cjs/SubscriptionRef.js.map +0 -1
  766. package/dist/cjs/Supervisor.js.map +0 -1
  767. package/dist/cjs/Symbol.js.map +0 -1
  768. package/dist/cjs/SynchronizedRef.js.map +0 -1
  769. package/dist/cjs/TArray.js +0 -338
  770. package/dist/cjs/TArray.js.map +0 -1
  771. package/dist/cjs/TDeferred.js.map +0 -1
  772. package/dist/cjs/TMap.js +0 -310
  773. package/dist/cjs/TMap.js.map +0 -1
  774. package/dist/cjs/TPriorityQueue.js +0 -167
  775. package/dist/cjs/TPriorityQueue.js.map +0 -1
  776. package/dist/cjs/TPubSub.js.map +0 -1
  777. package/dist/cjs/TQueue.js.map +0 -1
  778. package/dist/cjs/TRandom.js.map +0 -1
  779. package/dist/cjs/TReentrantLock.js.map +0 -1
  780. package/dist/cjs/TRef.js.map +0 -1
  781. package/dist/cjs/TSemaphore.js.map +0 -1
  782. package/dist/cjs/TSet.js +0 -232
  783. package/dist/cjs/TSet.js.map +0 -1
  784. package/dist/cjs/Take.js.map +0 -1
  785. package/dist/cjs/TestAnnotation.js.map +0 -1
  786. package/dist/cjs/TestAnnotationMap.js.map +0 -1
  787. package/dist/cjs/TestAnnotations.js.map +0 -1
  788. package/dist/cjs/TestClock.js.map +0 -1
  789. package/dist/cjs/TestConfig.js.map +0 -1
  790. package/dist/cjs/TestContext.js.map +0 -1
  791. package/dist/cjs/TestLive.js.map +0 -1
  792. package/dist/cjs/TestServices.js.map +0 -1
  793. package/dist/cjs/TestSized.js.map +0 -1
  794. package/dist/cjs/Tracer.js.map +0 -1
  795. package/dist/cjs/Tuple.js.map +0 -1
  796. package/dist/cjs/Types.js.map +0 -1
  797. package/dist/cjs/Unify.js.map +0 -1
  798. package/dist/cjs/UpstreamPullRequest.js.map +0 -1
  799. package/dist/cjs/UpstreamPullStrategy.js.map +0 -1
  800. package/dist/cjs/Utils.js +0 -290
  801. package/dist/cjs/Utils.js.map +0 -1
  802. package/dist/cjs/index.js +0 -357
  803. package/dist/cjs/index.js.map +0 -1
  804. package/dist/cjs/internal/Iterable.js.map +0 -1
  805. package/dist/cjs/internal/blockedRequests.js.map +0 -1
  806. package/dist/cjs/internal/cache.js.map +0 -1
  807. package/dist/cjs/internal/cause.js.map +0 -1
  808. package/dist/cjs/internal/channel/channelExecutor.js.map +0 -1
  809. package/dist/cjs/internal/channel/channelState.js.map +0 -1
  810. package/dist/cjs/internal/channel/childExecutorDecision.js.map +0 -1
  811. package/dist/cjs/internal/channel/continuation.js.map +0 -1
  812. package/dist/cjs/internal/channel/mergeDecision.js.map +0 -1
  813. package/dist/cjs/internal/channel/mergeState.js.map +0 -1
  814. package/dist/cjs/internal/channel/mergeStrategy.js.map +0 -1
  815. package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +0 -1
  816. package/dist/cjs/internal/channel/subexecutor.js.map +0 -1
  817. package/dist/cjs/internal/channel/upstreamPullRequest.js.map +0 -1
  818. package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +0 -1
  819. package/dist/cjs/internal/channel.js.map +0 -1
  820. package/dist/cjs/internal/clock.js.map +0 -1
  821. package/dist/cjs/internal/completedRequestMap.js.map +0 -1
  822. package/dist/cjs/internal/concurrency.js.map +0 -1
  823. package/dist/cjs/internal/config.js +0 -356
  824. package/dist/cjs/internal/config.js.map +0 -1
  825. package/dist/cjs/internal/configError.js.map +0 -1
  826. package/dist/cjs/internal/configProvider/pathPatch.js.map +0 -1
  827. package/dist/cjs/internal/configProvider.js.map +0 -1
  828. package/dist/cjs/internal/configSecret.js +0 -92
  829. package/dist/cjs/internal/configSecret.js.map +0 -1
  830. package/dist/cjs/internal/console.js +0 -100
  831. package/dist/cjs/internal/console.js.map +0 -1
  832. package/dist/cjs/internal/context.js.map +0 -1
  833. package/dist/cjs/internal/core-effect.js +0 -839
  834. package/dist/cjs/internal/core-effect.js.map +0 -1
  835. package/dist/cjs/internal/core-stream.js.map +0 -1
  836. package/dist/cjs/internal/core.js +0 -1750
  837. package/dist/cjs/internal/core.js.map +0 -1
  838. package/dist/cjs/internal/data.js.map +0 -1
  839. package/dist/cjs/internal/dataSource.js.map +0 -1
  840. package/dist/cjs/internal/defaultServices/console.js.map +0 -1
  841. package/dist/cjs/internal/defaultServices.js.map +0 -1
  842. package/dist/cjs/internal/deferred.js.map +0 -1
  843. package/dist/cjs/internal/differ/chunkPatch.js +0 -160
  844. package/dist/cjs/internal/differ/chunkPatch.js.map +0 -1
  845. package/dist/cjs/internal/differ/contextPatch.js +0 -173
  846. package/dist/cjs/internal/differ/contextPatch.js.map +0 -1
  847. package/dist/cjs/internal/differ/hashMapPatch.js +0 -160
  848. package/dist/cjs/internal/differ/hashMapPatch.js.map +0 -1
  849. package/dist/cjs/internal/differ/hashSetPatch.js +0 -134
  850. package/dist/cjs/internal/differ/hashSetPatch.js.map +0 -1
  851. package/dist/cjs/internal/differ/orPatch.js +0 -205
  852. package/dist/cjs/internal/differ/orPatch.js.map +0 -1
  853. package/dist/cjs/internal/differ.js +0 -156
  854. package/dist/cjs/internal/differ.js.map +0 -1
  855. package/dist/cjs/internal/effect/circular.js.map +0 -1
  856. package/dist/cjs/internal/effectable.js.map +0 -1
  857. package/dist/cjs/internal/either.js.map +0 -1
  858. package/dist/cjs/internal/encoding/base64.js.map +0 -1
  859. package/dist/cjs/internal/encoding/base64Url.js.map +0 -1
  860. package/dist/cjs/internal/encoding/common.js.map +0 -1
  861. package/dist/cjs/internal/encoding/hex.js.map +0 -1
  862. package/dist/cjs/internal/executionStrategy.js.map +0 -1
  863. package/dist/cjs/internal/fiber.js.map +0 -1
  864. package/dist/cjs/internal/fiberId.js +0 -259
  865. package/dist/cjs/internal/fiberId.js.map +0 -1
  866. package/dist/cjs/internal/fiberMessage.js.map +0 -1
  867. package/dist/cjs/internal/fiberRefs/patch.js +0 -139
  868. package/dist/cjs/internal/fiberRefs/patch.js.map +0 -1
  869. package/dist/cjs/internal/fiberRefs.js +0 -194
  870. package/dist/cjs/internal/fiberRefs.js.map +0 -1
  871. package/dist/cjs/internal/fiberRuntime.js +0 -1920
  872. package/dist/cjs/internal/fiberRuntime.js.map +0 -1
  873. package/dist/cjs/internal/fiberScope.js.map +0 -1
  874. package/dist/cjs/internal/fiberStatus.js.map +0 -1
  875. package/dist/cjs/internal/groupBy.js.map +0 -1
  876. package/dist/cjs/internal/hashMap/array.js.map +0 -1
  877. package/dist/cjs/internal/hashMap/bitwise.js.map +0 -1
  878. package/dist/cjs/internal/hashMap/config.js.map +0 -1
  879. package/dist/cjs/internal/hashMap/keySet.js.map +0 -1
  880. package/dist/cjs/internal/hashMap/node.js +0 -299
  881. package/dist/cjs/internal/hashMap/node.js.map +0 -1
  882. package/dist/cjs/internal/hashMap.js.map +0 -1
  883. package/dist/cjs/internal/hashSet.js.map +0 -1
  884. package/dist/cjs/internal/keyedPool.js.map +0 -1
  885. package/dist/cjs/internal/layer/circular.js.map +0 -1
  886. package/dist/cjs/internal/layer.js +0 -507
  887. package/dist/cjs/internal/layer.js.map +0 -1
  888. package/dist/cjs/internal/logSpan.js.map +0 -1
  889. package/dist/cjs/internal/logger-circular.js.map +0 -1
  890. package/dist/cjs/internal/logger.js.map +0 -1
  891. package/dist/cjs/internal/matcher.js.map +0 -1
  892. package/dist/cjs/internal/metric/boundaries.js +0 -75
  893. package/dist/cjs/internal/metric/boundaries.js.map +0 -1
  894. package/dist/cjs/internal/metric/hook.js +0 -389
  895. package/dist/cjs/internal/metric/hook.js.map +0 -1
  896. package/dist/cjs/internal/metric/key.js +0 -96
  897. package/dist/cjs/internal/metric/key.js.map +0 -1
  898. package/dist/cjs/internal/metric/keyType.js +0 -235
  899. package/dist/cjs/internal/metric/keyType.js.map +0 -1
  900. package/dist/cjs/internal/metric/label.js +0 -68
  901. package/dist/cjs/internal/metric/label.js.map +0 -1
  902. package/dist/cjs/internal/metric/pair.js.map +0 -1
  903. package/dist/cjs/internal/metric/polling.js.map +0 -1
  904. package/dist/cjs/internal/metric/registry.js +0 -138
  905. package/dist/cjs/internal/metric/registry.js.map +0 -1
  906. package/dist/cjs/internal/metric/state.js +0 -222
  907. package/dist/cjs/internal/metric/state.js.map +0 -1
  908. package/dist/cjs/internal/metric.js +0 -215
  909. package/dist/cjs/internal/metric.js.map +0 -1
  910. package/dist/cjs/internal/opCodes/cause.js.map +0 -1
  911. package/dist/cjs/internal/opCodes/channel.js.map +0 -1
  912. package/dist/cjs/internal/opCodes/channelChildExecutorDecision.js.map +0 -1
  913. package/dist/cjs/internal/opCodes/channelMergeDecision.js.map +0 -1
  914. package/dist/cjs/internal/opCodes/channelMergeState.js.map +0 -1
  915. package/dist/cjs/internal/opCodes/channelMergeStrategy.js.map +0 -1
  916. package/dist/cjs/internal/opCodes/channelState.js.map +0 -1
  917. package/dist/cjs/internal/opCodes/channelUpstreamPullRequest.js.map +0 -1
  918. package/dist/cjs/internal/opCodes/channelUpstreamPullStrategy.js.map +0 -1
  919. package/dist/cjs/internal/opCodes/config.js.map +0 -1
  920. package/dist/cjs/internal/opCodes/configError.js.map +0 -1
  921. package/dist/cjs/internal/opCodes/continuation.js.map +0 -1
  922. package/dist/cjs/internal/opCodes/deferred.js.map +0 -1
  923. package/dist/cjs/internal/opCodes/effect.js.map +0 -1
  924. package/dist/cjs/internal/opCodes/layer.js.map +0 -1
  925. package/dist/cjs/internal/opCodes/streamHaltStrategy.js.map +0 -1
  926. package/dist/cjs/internal/option.js.map +0 -1
  927. package/dist/cjs/internal/pool.js.map +0 -1
  928. package/dist/cjs/internal/pubsub.js.map +0 -1
  929. package/dist/cjs/internal/query.js.map +0 -1
  930. package/dist/cjs/internal/queue.js.map +0 -1
  931. package/dist/cjs/internal/random.js.map +0 -1
  932. package/dist/cjs/internal/readonlyArray.js.map +0 -1
  933. package/dist/cjs/internal/redBlackTree/iterator.js.map +0 -1
  934. package/dist/cjs/internal/redBlackTree/node.js.map +0 -1
  935. package/dist/cjs/internal/redBlackTree.js.map +0 -1
  936. package/dist/cjs/internal/ref.js.map +0 -1
  937. package/dist/cjs/internal/reloadable.js.map +0 -1
  938. package/dist/cjs/internal/request.js.map +0 -1
  939. package/dist/cjs/internal/resource.js.map +0 -1
  940. package/dist/cjs/internal/ringBuffer.js.map +0 -1
  941. package/dist/cjs/internal/runtime.js +0 -292
  942. package/dist/cjs/internal/runtime.js.map +0 -1
  943. package/dist/cjs/internal/runtimeFlags.js.map +0 -1
  944. package/dist/cjs/internal/runtimeFlagsPatch.js.map +0 -1
  945. package/dist/cjs/internal/schedule/decision.js.map +0 -1
  946. package/dist/cjs/internal/schedule/interval.js.map +0 -1
  947. package/dist/cjs/internal/schedule/intervals.js.map +0 -1
  948. package/dist/cjs/internal/schedule.js +0 -802
  949. package/dist/cjs/internal/schedule.js.map +0 -1
  950. package/dist/cjs/internal/scopedCache.js.map +0 -1
  951. package/dist/cjs/internal/scopedRef.js.map +0 -1
  952. package/dist/cjs/internal/singleShotGen.js.map +0 -1
  953. package/dist/cjs/internal/sink.js.map +0 -1
  954. package/dist/cjs/internal/stack.js.map +0 -1
  955. package/dist/cjs/internal/stm/core.js.map +0 -1
  956. package/dist/cjs/internal/stm/opCodes/stm.js.map +0 -1
  957. package/dist/cjs/internal/stm/opCodes/stmState.js.map +0 -1
  958. package/dist/cjs/internal/stm/opCodes/strategy.js.map +0 -1
  959. package/dist/cjs/internal/stm/opCodes/tExit.js.map +0 -1
  960. package/dist/cjs/internal/stm/opCodes/tryCommit.js.map +0 -1
  961. package/dist/cjs/internal/stm/stm/entry.js.map +0 -1
  962. package/dist/cjs/internal/stm/stm/journal.js.map +0 -1
  963. package/dist/cjs/internal/stm/stm/opCodes/stm.js.map +0 -1
  964. package/dist/cjs/internal/stm/stm/opCodes/stmState.js.map +0 -1
  965. package/dist/cjs/internal/stm/stm/opCodes/strategy.js.map +0 -1
  966. package/dist/cjs/internal/stm/stm/opCodes/tExit.js.map +0 -1
  967. package/dist/cjs/internal/stm/stm/opCodes/tryCommit.js.map +0 -1
  968. package/dist/cjs/internal/stm/stm/stmState.js.map +0 -1
  969. package/dist/cjs/internal/stm/stm/tExit.js.map +0 -1
  970. package/dist/cjs/internal/stm/stm/tryCommit.js.map +0 -1
  971. package/dist/cjs/internal/stm/stm/txnId.js.map +0 -1
  972. package/dist/cjs/internal/stm/stm/versioned.js.map +0 -1
  973. package/dist/cjs/internal/stm/stm.js.map +0 -1
  974. package/dist/cjs/internal/stm/tArray.js.map +0 -1
  975. package/dist/cjs/internal/stm/tDeferred.js.map +0 -1
  976. package/dist/cjs/internal/stm/tMap.js.map +0 -1
  977. package/dist/cjs/internal/stm/tPriorityQueue.js.map +0 -1
  978. package/dist/cjs/internal/stm/tPubSub.js.map +0 -1
  979. package/dist/cjs/internal/stm/tQueue.js.map +0 -1
  980. package/dist/cjs/internal/stm/tRandom.js.map +0 -1
  981. package/dist/cjs/internal/stm/tReentrantLock.js.map +0 -1
  982. package/dist/cjs/internal/stm/tRef.js.map +0 -1
  983. package/dist/cjs/internal/stm/tSemaphore.js.map +0 -1
  984. package/dist/cjs/internal/stm/tSet.js.map +0 -1
  985. package/dist/cjs/internal/stream/debounceState.js.map +0 -1
  986. package/dist/cjs/internal/stream/emit.js.map +0 -1
  987. package/dist/cjs/internal/stream/haltStrategy.js.map +0 -1
  988. package/dist/cjs/internal/stream/handoff.js.map +0 -1
  989. package/dist/cjs/internal/stream/handoffSignal.js.map +0 -1
  990. package/dist/cjs/internal/stream/pull.js.map +0 -1
  991. package/dist/cjs/internal/stream/sinkEndReason.js.map +0 -1
  992. package/dist/cjs/internal/stream/zipAllState.js.map +0 -1
  993. package/dist/cjs/internal/stream/zipChunksState.js.map +0 -1
  994. package/dist/cjs/internal/stream.js.map +0 -1
  995. package/dist/cjs/internal/string-utils.js.map +0 -1
  996. package/dist/cjs/internal/subscriptionRef.js.map +0 -1
  997. package/dist/cjs/internal/supervisor/patch.js.map +0 -1
  998. package/dist/cjs/internal/supervisor.js.map +0 -1
  999. package/dist/cjs/internal/synchronizedRef.js.map +0 -1
  1000. package/dist/cjs/internal/take.js.map +0 -1
  1001. package/dist/cjs/internal/testing/sleep.js.map +0 -1
  1002. package/dist/cjs/internal/testing/suspendedWarningData.js.map +0 -1
  1003. package/dist/cjs/internal/testing/warningData.js.map +0 -1
  1004. package/dist/cjs/internal/timeout.js.map +0 -1
  1005. package/dist/cjs/internal/tracer.js.map +0 -1
  1006. package/dist/cjs/internal/version.js +0 -8
  1007. package/dist/cjs/internal/version.js.map +0 -1
  1008. package/dist/dts/ConfigSecret.d.ts +0 -64
  1009. package/dist/dts/ConfigSecret.d.ts.map +0 -1
  1010. package/dist/dts/internal/configSecret.d.ts +0 -2
  1011. package/dist/dts/internal/configSecret.d.ts.map +0 -1
  1012. package/dist/esm/ConfigSecret.js +0 -37
  1013. package/dist/esm/ConfigSecret.js.map +0 -1
  1014. package/dist/esm/internal/configSecret.js +0 -55
  1015. package/dist/esm/internal/configSecret.js.map +0 -1
  1016. package/src/ConfigSecret.ts +0 -76
  1017. package/src/internal/configSecret.ts +0 -70
  1018. /package/{dist/cjs/BigInt.js → BigInt.js} +0 -0
  1019. /package/{dist/cjs/Boolean.js → Boolean.js} +0 -0
  1020. /package/{dist/cjs/Brand.js → Brand.js} +0 -0
  1021. /package/{dist/cjs/Cache.js → Cache.js} +0 -0
  1022. /package/{dist/cjs/Cause.js → Cause.js} +0 -0
  1023. /package/{dist/cjs/Channel.js → Channel.js} +0 -0
  1024. /package/{dist/cjs/ChildExecutorDecision.js → ChildExecutorDecision.js} +0 -0
  1025. /package/{dist/cjs/Clock.js → Clock.js} +0 -0
  1026. /package/{dist/cjs/Config.js → Config.js} +0 -0
  1027. /package/{dist/cjs/ConfigError.js → ConfigError.js} +0 -0
  1028. /package/{dist/cjs/ConfigProvider.js → ConfigProvider.js} +0 -0
  1029. /package/{dist/cjs/ConfigProviderPathPatch.js → ConfigProviderPathPatch.js} +0 -0
  1030. /package/{dist/cjs/Console.js → Console.js} +0 -0
  1031. /package/{dist/cjs/Context.js → Context.js} +0 -0
  1032. /package/{dist/cjs/Data.js → Data.js} +0 -0
  1033. /package/{dist/cjs/DefaultServices.js → DefaultServices.js} +0 -0
  1034. /package/{dist/cjs/Deferred.js → Deferred.js} +0 -0
  1035. /package/{dist/cjs/Duration.js → Duration.js} +0 -0
  1036. /package/{dist/cjs/Effectable.js → Effectable.js} +0 -0
  1037. /package/{dist/cjs/Either.js → Either.js} +0 -0
  1038. /package/{dist/cjs/Encoding.js → Encoding.js} +0 -0
  1039. /package/{dist/cjs/Equal.js → Equal.js} +0 -0
  1040. /package/{dist/cjs/Equivalence.js → Equivalence.js} +0 -0
  1041. /package/{dist/cjs/ExecutionStrategy.js → ExecutionStrategy.js} +0 -0
  1042. /package/{dist/cjs/Exit.js → Exit.js} +0 -0
  1043. /package/{dist/cjs/Fiber.js → Fiber.js} +0 -0
  1044. /package/{dist/cjs/FiberId.js → FiberId.js} +0 -0
  1045. /package/{dist/cjs/FiberRef.js → FiberRef.js} +0 -0
  1046. /package/{dist/cjs/FiberRefsPatch.js → FiberRefsPatch.js} +0 -0
  1047. /package/{dist/cjs/FiberStatus.js → FiberStatus.js} +0 -0
  1048. /package/{dist/cjs/Function.js → Function.js} +0 -0
  1049. /package/{dist/cjs/GlobalValue.js → GlobalValue.js} +0 -0
  1050. /package/{dist/cjs/GroupBy.js → GroupBy.js} +0 -0
  1051. /package/{dist/cjs/HKT.js → HKT.js} +0 -0
  1052. /package/{dist/cjs/Hash.js → Hash.js} +0 -0
  1053. /package/{dist/cjs/KeyedPool.js → KeyedPool.js} +0 -0
  1054. /package/{dist/cjs/LogLevel.js → LogLevel.js} +0 -0
  1055. /package/{dist/cjs/LogSpan.js → LogSpan.js} +0 -0
  1056. /package/{dist/cjs/Logger.js → Logger.js} +0 -0
  1057. /package/{dist/cjs/Match.js → Match.js} +0 -0
  1058. /package/{dist/cjs/MergeDecision.js → MergeDecision.js} +0 -0
  1059. /package/{dist/cjs/MergeState.js → MergeState.js} +0 -0
  1060. /package/{dist/cjs/MergeStrategy.js → MergeStrategy.js} +0 -0
  1061. /package/{dist/cjs/MetricHook.js → MetricHook.js} +0 -0
  1062. /package/{dist/cjs/MetricKeyType.js → MetricKeyType.js} +0 -0
  1063. /package/{dist/cjs/MetricLabel.js → MetricLabel.js} +0 -0
  1064. /package/{dist/cjs/MetricPair.js → MetricPair.js} +0 -0
  1065. /package/{dist/cjs/MetricPolling.js → MetricPolling.js} +0 -0
  1066. /package/{dist/cjs/MetricState.js → MetricState.js} +0 -0
  1067. /package/{dist/cjs/MutableQueue.js → MutableQueue.js} +0 -0
  1068. /package/{dist/cjs/MutableRef.js → MutableRef.js} +0 -0
  1069. /package/{dist/cjs/NonEmptyIterable.js → NonEmptyIterable.js} +0 -0
  1070. /package/{dist/cjs/Number.js → Number.js} +0 -0
  1071. /package/{dist/cjs/Order.js → Order.js} +0 -0
  1072. /package/{dist/cjs/Ordering.js → Ordering.js} +0 -0
  1073. /package/{dist/cjs/Pipeable.js → Pipeable.js} +0 -0
  1074. /package/{dist/cjs/Pool.js → Pool.js} +0 -0
  1075. /package/{dist/cjs/Predicate.js → Predicate.js} +0 -0
  1076. /package/{dist/cjs/PrimaryKey.js → PrimaryKey.js} +0 -0
  1077. /package/{dist/cjs/PubSub.js → PubSub.js} +0 -0
  1078. /package/{dist/cjs/Queue.js → Queue.js} +0 -0
  1079. /package/{dist/cjs/Random.js → Random.js} +0 -0
  1080. /package/{dist/cjs/Ref.js → Ref.js} +0 -0
  1081. /package/{dist/cjs/Reloadable.js → Reloadable.js} +0 -0
  1082. /package/{dist/cjs/Request.js → Request.js} +0 -0
  1083. /package/{dist/cjs/RequestBlock.js → RequestBlock.js} +0 -0
  1084. /package/{dist/cjs/RequestResolver.js → RequestResolver.js} +0 -0
  1085. /package/{dist/cjs/Resource.js → Resource.js} +0 -0
  1086. /package/{dist/cjs/Runtime.js → Runtime.js} +0 -0
  1087. /package/{dist/cjs/RuntimeFlags.js → RuntimeFlags.js} +0 -0
  1088. /package/{dist/cjs/RuntimeFlagsPatch.js → RuntimeFlagsPatch.js} +0 -0
  1089. /package/{dist/cjs/STM.js → STM.js} +0 -0
  1090. /package/{dist/cjs/Schedule.js → Schedule.js} +0 -0
  1091. /package/{dist/cjs/ScheduleDecision.js → ScheduleDecision.js} +0 -0
  1092. /package/{dist/cjs/ScheduleInterval.js → ScheduleInterval.js} +0 -0
  1093. /package/{dist/cjs/Scheduler.js → Scheduler.js} +0 -0
  1094. /package/{dist/cjs/Scope.js → Scope.js} +0 -0
  1095. /package/{dist/cjs/ScopedCache.js → ScopedCache.js} +0 -0
  1096. /package/{dist/cjs/ScopedRef.js → ScopedRef.js} +0 -0
  1097. /package/{dist/cjs/SingleProducerAsyncInput.js → SingleProducerAsyncInput.js} +0 -0
  1098. /package/{dist/cjs/Sink.js → Sink.js} +0 -0
  1099. /package/{dist/cjs/StreamEmit.js → StreamEmit.js} +0 -0
  1100. /package/{dist/cjs/StreamHaltStrategy.js → StreamHaltStrategy.js} +0 -0
  1101. /package/{dist/cjs/Streamable.js → Streamable.js} +0 -0
  1102. /package/{dist/cjs/String.js → String.js} +0 -0
  1103. /package/{dist/cjs/Struct.js → Struct.js} +0 -0
  1104. /package/{dist/cjs/SubscriptionRef.js → SubscriptionRef.js} +0 -0
  1105. /package/{dist/cjs/Supervisor.js → Supervisor.js} +0 -0
  1106. /package/{dist/cjs/Symbol.js → Symbol.js} +0 -0
  1107. /package/{dist/cjs/SynchronizedRef.js → SynchronizedRef.js} +0 -0
  1108. /package/{dist/cjs/TDeferred.js → TDeferred.js} +0 -0
  1109. /package/{dist/cjs/TPubSub.js → TPubSub.js} +0 -0
  1110. /package/{dist/cjs/TQueue.js → TQueue.js} +0 -0
  1111. /package/{dist/cjs/TRandom.js → TRandom.js} +0 -0
  1112. /package/{dist/cjs/TReentrantLock.js → TReentrantLock.js} +0 -0
  1113. /package/{dist/cjs/TRef.js → TRef.js} +0 -0
  1114. /package/{dist/cjs/TSemaphore.js → TSemaphore.js} +0 -0
  1115. /package/{dist/cjs/Take.js → Take.js} +0 -0
  1116. /package/{dist/cjs/TestAnnotation.js → TestAnnotation.js} +0 -0
  1117. /package/{dist/cjs/TestAnnotationMap.js → TestAnnotationMap.js} +0 -0
  1118. /package/{dist/cjs/TestAnnotations.js → TestAnnotations.js} +0 -0
  1119. /package/{dist/cjs/TestClock.js → TestClock.js} +0 -0
  1120. /package/{dist/cjs/TestConfig.js → TestConfig.js} +0 -0
  1121. /package/{dist/cjs/TestContext.js → TestContext.js} +0 -0
  1122. /package/{dist/cjs/TestLive.js → TestLive.js} +0 -0
  1123. /package/{dist/cjs/TestServices.js → TestServices.js} +0 -0
  1124. /package/{dist/cjs/TestSized.js → TestSized.js} +0 -0
  1125. /package/{dist/cjs/Tracer.js → Tracer.js} +0 -0
  1126. /package/{dist/cjs/Tuple.js → Tuple.js} +0 -0
  1127. /package/{dist/cjs/Types.js → Types.js} +0 -0
  1128. /package/{dist/cjs/Unify.js → Unify.js} +0 -0
  1129. /package/{dist/cjs/UpstreamPullRequest.js → UpstreamPullRequest.js} +0 -0
  1130. /package/{dist/cjs/UpstreamPullStrategy.js → UpstreamPullStrategy.js} +0 -0
  1131. /package/{dist/cjs/internal → internal}/Iterable.js +0 -0
  1132. /package/{dist/cjs/internal → internal}/blockedRequests.js +0 -0
  1133. /package/{dist/cjs/internal → internal}/cache.js +0 -0
  1134. /package/{dist/cjs/internal → internal}/cause.js +0 -0
  1135. /package/{dist/cjs/internal → internal}/channel/channelExecutor.js +0 -0
  1136. /package/{dist/cjs/internal → internal}/channel/channelState.js +0 -0
  1137. /package/{dist/cjs/internal → internal}/channel/childExecutorDecision.js +0 -0
  1138. /package/{dist/cjs/internal → internal}/channel/continuation.js +0 -0
  1139. /package/{dist/cjs/internal → internal}/channel/mergeDecision.js +0 -0
  1140. /package/{dist/cjs/internal → internal}/channel/mergeState.js +0 -0
  1141. /package/{dist/cjs/internal → internal}/channel/mergeStrategy.js +0 -0
  1142. /package/{dist/cjs/internal → internal}/channel/singleProducerAsyncInput.js +0 -0
  1143. /package/{dist/cjs/internal → internal}/channel/subexecutor.js +0 -0
  1144. /package/{dist/cjs/internal → internal}/channel/upstreamPullRequest.js +0 -0
  1145. /package/{dist/cjs/internal → internal}/channel/upstreamPullStrategy.js +0 -0
  1146. /package/{dist/cjs/internal → internal}/channel.js +0 -0
  1147. /package/{dist/cjs/internal → internal}/clock.js +0 -0
  1148. /package/{dist/cjs/internal → internal}/completedRequestMap.js +0 -0
  1149. /package/{dist/cjs/internal → internal}/concurrency.js +0 -0
  1150. /package/{dist/cjs/internal → internal}/configError.js +0 -0
  1151. /package/{dist/cjs/internal → internal}/configProvider/pathPatch.js +0 -0
  1152. /package/{dist/cjs/internal → internal}/configProvider.js +0 -0
  1153. /package/{dist/cjs/internal → internal}/context.js +0 -0
  1154. /package/{dist/cjs/internal → internal}/core-stream.js +0 -0
  1155. /package/{dist/cjs/internal → internal}/data.js +0 -0
  1156. /package/{dist/cjs/internal → internal}/dataSource.js +0 -0
  1157. /package/{dist/cjs/internal → internal}/defaultServices/console.js +0 -0
  1158. /package/{dist/cjs/internal → internal}/defaultServices.js +0 -0
  1159. /package/{dist/cjs/internal → internal}/deferred.js +0 -0
  1160. /package/{dist/cjs/internal → internal}/effect/circular.js +0 -0
  1161. /package/{dist/cjs/internal → internal}/effectable.js +0 -0
  1162. /package/{dist/cjs/internal → internal}/either.js +0 -0
  1163. /package/{dist/cjs/internal → internal}/encoding/base64.js +0 -0
  1164. /package/{dist/cjs/internal → internal}/encoding/base64Url.js +0 -0
  1165. /package/{dist/cjs/internal → internal}/encoding/common.js +0 -0
  1166. /package/{dist/cjs/internal → internal}/encoding/hex.js +0 -0
  1167. /package/{dist/cjs/internal → internal}/executionStrategy.js +0 -0
  1168. /package/{dist/cjs/internal → internal}/fiber.js +0 -0
  1169. /package/{dist/cjs/internal → internal}/fiberMessage.js +0 -0
  1170. /package/{dist/cjs/internal → internal}/fiberScope.js +0 -0
  1171. /package/{dist/cjs/internal → internal}/fiberStatus.js +0 -0
  1172. /package/{dist/cjs/internal → internal}/groupBy.js +0 -0
  1173. /package/{dist/cjs/internal → internal}/hashMap/array.js +0 -0
  1174. /package/{dist/cjs/internal → internal}/hashMap/bitwise.js +0 -0
  1175. /package/{dist/cjs/internal → internal}/hashMap/config.js +0 -0
  1176. /package/{dist/cjs/internal → internal}/hashMap/keySet.js +0 -0
  1177. /package/{dist/cjs/internal → internal}/hashMap.js +0 -0
  1178. /package/{dist/cjs/internal → internal}/hashSet.js +0 -0
  1179. /package/{dist/cjs/internal → internal}/keyedPool.js +0 -0
  1180. /package/{dist/cjs/internal → internal}/layer/circular.js +0 -0
  1181. /package/{dist/cjs/internal → internal}/logSpan.js +0 -0
  1182. /package/{dist/cjs/internal → internal}/logger-circular.js +0 -0
  1183. /package/{dist/cjs/internal → internal}/logger.js +0 -0
  1184. /package/{dist/cjs/internal → internal}/matcher.js +0 -0
  1185. /package/{dist/cjs/internal → internal}/metric/pair.js +0 -0
  1186. /package/{dist/cjs/internal → internal}/metric/polling.js +0 -0
  1187. /package/{dist/cjs/internal → internal}/opCodes/cause.js +0 -0
  1188. /package/{dist/cjs/internal → internal}/opCodes/channel.js +0 -0
  1189. /package/{dist/cjs/internal → internal}/opCodes/channelChildExecutorDecision.js +0 -0
  1190. /package/{dist/cjs/internal → internal}/opCodes/channelMergeDecision.js +0 -0
  1191. /package/{dist/cjs/internal → internal}/opCodes/channelMergeState.js +0 -0
  1192. /package/{dist/cjs/internal → internal}/opCodes/channelMergeStrategy.js +0 -0
  1193. /package/{dist/cjs/internal → internal}/opCodes/channelState.js +0 -0
  1194. /package/{dist/cjs/internal → internal}/opCodes/channelUpstreamPullRequest.js +0 -0
  1195. /package/{dist/cjs/internal → internal}/opCodes/channelUpstreamPullStrategy.js +0 -0
  1196. /package/{dist/cjs/internal → internal}/opCodes/config.js +0 -0
  1197. /package/{dist/cjs/internal → internal}/opCodes/configError.js +0 -0
  1198. /package/{dist/cjs/internal → internal}/opCodes/continuation.js +0 -0
  1199. /package/{dist/cjs/internal → internal}/opCodes/deferred.js +0 -0
  1200. /package/{dist/cjs/internal → internal}/opCodes/effect.js +0 -0
  1201. /package/{dist/cjs/internal → internal}/opCodes/layer.js +0 -0
  1202. /package/{dist/cjs/internal → internal}/opCodes/streamHaltStrategy.js +0 -0
  1203. /package/{dist/cjs/internal → internal}/option.js +0 -0
  1204. /package/{dist/cjs/internal → internal}/pool.js +0 -0
  1205. /package/{dist/cjs/internal → internal}/pubsub.js +0 -0
  1206. /package/{dist/cjs/internal → internal}/query.js +0 -0
  1207. /package/{dist/cjs/internal → internal}/queue.js +0 -0
  1208. /package/{dist/cjs/internal → internal}/random.js +0 -0
  1209. /package/{dist/cjs/internal → internal}/readonlyArray.js +0 -0
  1210. /package/{dist/cjs/internal → internal}/redBlackTree/iterator.js +0 -0
  1211. /package/{dist/cjs/internal → internal}/redBlackTree/node.js +0 -0
  1212. /package/{dist/cjs/internal → internal}/redBlackTree.js +0 -0
  1213. /package/{dist/cjs/internal → internal}/ref.js +0 -0
  1214. /package/{dist/cjs/internal → internal}/reloadable.js +0 -0
  1215. /package/{dist/cjs/internal → internal}/request.js +0 -0
  1216. /package/{dist/cjs/internal → internal}/resource.js +0 -0
  1217. /package/{dist/cjs/internal → internal}/ringBuffer.js +0 -0
  1218. /package/{dist/cjs/internal → internal}/runtimeFlags.js +0 -0
  1219. /package/{dist/cjs/internal → internal}/runtimeFlagsPatch.js +0 -0
  1220. /package/{dist/cjs/internal → internal}/schedule/decision.js +0 -0
  1221. /package/{dist/cjs/internal → internal}/schedule/interval.js +0 -0
  1222. /package/{dist/cjs/internal → internal}/schedule/intervals.js +0 -0
  1223. /package/{dist/cjs/internal → internal}/scopedCache.js +0 -0
  1224. /package/{dist/cjs/internal → internal}/scopedRef.js +0 -0
  1225. /package/{dist/cjs/internal → internal}/singleShotGen.js +0 -0
  1226. /package/{dist/cjs/internal → internal}/sink.js +0 -0
  1227. /package/{dist/cjs/internal → internal}/stack.js +0 -0
  1228. /package/{dist/cjs/internal → internal}/stm/core.js +0 -0
  1229. /package/{dist/cjs/internal → internal}/stm/opCodes/stm.js +0 -0
  1230. /package/{dist/cjs/internal → internal}/stm/opCodes/stmState.js +0 -0
  1231. /package/{dist/cjs/internal → internal}/stm/opCodes/strategy.js +0 -0
  1232. /package/{dist/cjs/internal → internal}/stm/opCodes/tExit.js +0 -0
  1233. /package/{dist/cjs/internal → internal}/stm/opCodes/tryCommit.js +0 -0
  1234. /package/{dist/cjs/internal → internal}/stm/stm/entry.js +0 -0
  1235. /package/{dist/cjs/internal → internal}/stm/stm/journal.js +0 -0
  1236. /package/{dist/cjs/internal → internal}/stm/stm/opCodes/stm.js +0 -0
  1237. /package/{dist/cjs/internal → internal}/stm/stm/opCodes/stmState.js +0 -0
  1238. /package/{dist/cjs/internal → internal}/stm/stm/opCodes/strategy.js +0 -0
  1239. /package/{dist/cjs/internal → internal}/stm/stm/opCodes/tExit.js +0 -0
  1240. /package/{dist/cjs/internal → internal}/stm/stm/opCodes/tryCommit.js +0 -0
  1241. /package/{dist/cjs/internal → internal}/stm/stm/stmState.js +0 -0
  1242. /package/{dist/cjs/internal → internal}/stm/stm/tExit.js +0 -0
  1243. /package/{dist/cjs/internal → internal}/stm/stm/tryCommit.js +0 -0
  1244. /package/{dist/cjs/internal → internal}/stm/stm/txnId.js +0 -0
  1245. /package/{dist/cjs/internal → internal}/stm/stm/versioned.js +0 -0
  1246. /package/{dist/cjs/internal → internal}/stm/stm.js +0 -0
  1247. /package/{dist/cjs/internal → internal}/stm/tArray.js +0 -0
  1248. /package/{dist/cjs/internal → internal}/stm/tDeferred.js +0 -0
  1249. /package/{dist/cjs/internal → internal}/stm/tMap.js +0 -0
  1250. /package/{dist/cjs/internal → internal}/stm/tPriorityQueue.js +0 -0
  1251. /package/{dist/cjs/internal → internal}/stm/tPubSub.js +0 -0
  1252. /package/{dist/cjs/internal → internal}/stm/tQueue.js +0 -0
  1253. /package/{dist/cjs/internal → internal}/stm/tRandom.js +0 -0
  1254. /package/{dist/cjs/internal → internal}/stm/tReentrantLock.js +0 -0
  1255. /package/{dist/cjs/internal → internal}/stm/tRef.js +0 -0
  1256. /package/{dist/cjs/internal → internal}/stm/tSemaphore.js +0 -0
  1257. /package/{dist/cjs/internal → internal}/stm/tSet.js +0 -0
  1258. /package/{dist/cjs/internal → internal}/stream/debounceState.js +0 -0
  1259. /package/{dist/cjs/internal → internal}/stream/emit.js +0 -0
  1260. /package/{dist/cjs/internal → internal}/stream/haltStrategy.js +0 -0
  1261. /package/{dist/cjs/internal → internal}/stream/handoff.js +0 -0
  1262. /package/{dist/cjs/internal → internal}/stream/handoffSignal.js +0 -0
  1263. /package/{dist/cjs/internal → internal}/stream/pull.js +0 -0
  1264. /package/{dist/cjs/internal → internal}/stream/sinkEndReason.js +0 -0
  1265. /package/{dist/cjs/internal → internal}/stream/zipAllState.js +0 -0
  1266. /package/{dist/cjs/internal → internal}/stream/zipChunksState.js +0 -0
  1267. /package/{dist/cjs/internal → internal}/stream.js +0 -0
  1268. /package/{dist/cjs/internal → internal}/string-utils.js +0 -0
  1269. /package/{dist/cjs/internal → internal}/subscriptionRef.js +0 -0
  1270. /package/{dist/cjs/internal → internal}/supervisor/patch.js +0 -0
  1271. /package/{dist/cjs/internal → internal}/supervisor.js +0 -0
  1272. /package/{dist/cjs/internal → internal}/synchronizedRef.js +0 -0
  1273. /package/{dist/cjs/internal → internal}/take.js +0 -0
  1274. /package/{dist/cjs/internal → internal}/testing/sleep.js +0 -0
  1275. /package/{dist/cjs/internal → internal}/testing/suspendedWarningData.js +0 -0
  1276. /package/{dist/cjs/internal → internal}/testing/warningData.js +0 -0
  1277. /package/{dist/cjs/internal → internal}/timeout.js +0 -0
  1278. /package/{dist/cjs/internal → internal}/tracer.js +0 -0
package/Option.js ADDED
@@ -0,0 +1,950 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.zipWith = exports.zipRight = exports.zipLeft = exports.unit = exports.toRefinement = exports.toArray = exports.tap = exports.some = exports.reduceCompact = exports.productMany = exports.product = exports.partitionMap = exports.orElseEither = exports.orElse = exports.none = exports.match = exports.map = exports.liftThrowable = exports.liftPredicate = exports.liftNullable = exports.lift2 = exports.let = exports.isSome = exports.isOption = exports.isNone = exports.getRight = exports.getOrder = exports.getOrUndefined = exports.getOrThrowWith = exports.getOrThrow = exports.getOrNull = exports.getOrElse = exports.getLeft = exports.getEquivalence = exports.gen = exports.fromNullable = exports.fromIterable = exports.flatten = exports.flatMapNullable = exports.flatMap = exports.firstSomeOf = exports.filterMap = exports.filter = exports.exists = exports.containsWith = exports.contains = exports.composeK = exports.bindTo = exports.bind = exports.asUnit = exports.as = exports.ap = exports.andThen = exports.all = exports.TypeId = exports.Do = void 0;
7
+ var Equal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Equal.js"));
8
+ var Equivalence = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Equivalence.js"));
9
+ var _Function = /*#__PURE__*/require("./Function.js");
10
+ var either = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./internal/either.js"));
11
+ var option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./internal/option.js"));
12
+ var order = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Order.js"));
13
+ var Gen = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./Utils.js"));
14
+ function _getRequireWildcardCache(e) {
15
+ if ("function" != typeof WeakMap) return null;
16
+ var r = new WeakMap(),
17
+ t = new WeakMap();
18
+ return (_getRequireWildcardCache = function (e) {
19
+ return e ? t : r;
20
+ })(e);
21
+ }
22
+ function _interopRequireWildcard(e, r) {
23
+ if (!r && e && e.__esModule) return e;
24
+ if (null === e || "object" != typeof e && "function" != typeof e) return {
25
+ default: e
26
+ };
27
+ var t = _getRequireWildcardCache(r);
28
+ if (t && t.has(e)) return t.get(e);
29
+ var n = {
30
+ __proto__: null
31
+ },
32
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
33
+ for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) {
34
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
35
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
36
+ }
37
+ return n.default = e, t && t.set(e, n), n;
38
+ }
39
+ /**
40
+ * @category symbols
41
+ * @since 2.0.0
42
+ */
43
+ const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("effect/Option");
44
+ /**
45
+ * Creates a new `Option` that represents the absence of a value.
46
+ *
47
+ * @category constructors
48
+ * @since 2.0.0
49
+ */
50
+ const none = () => option.none;
51
+ /**
52
+ * Creates a new `Option` that wraps the given value.
53
+ *
54
+ * @param value - The value to wrap.
55
+ *
56
+ * @category constructors
57
+ * @since 2.0.0
58
+ */
59
+ exports.none = none;
60
+ const some = exports.some = option.some;
61
+ /**
62
+ * Tests if a value is a `Option`.
63
+ *
64
+ * @param input - The value to check.
65
+ *
66
+ * @example
67
+ * import { some, none, isOption } from 'effect/Option'
68
+ *
69
+ * assert.deepStrictEqual(isOption(some(1)), true)
70
+ * assert.deepStrictEqual(isOption(none()), true)
71
+ * assert.deepStrictEqual(isOption({}), false)
72
+ *
73
+ * @category guards
74
+ * @since 2.0.0
75
+ */
76
+ const isOption = exports.isOption = option.isOption;
77
+ /**
78
+ * Determine if a `Option` is a `None`.
79
+ *
80
+ * @param self - The `Option` to check.
81
+ *
82
+ * @example
83
+ * import { some, none, isNone } from 'effect/Option'
84
+ *
85
+ * assert.deepStrictEqual(isNone(some(1)), false)
86
+ * assert.deepStrictEqual(isNone(none()), true)
87
+ *
88
+ * @category guards
89
+ * @since 2.0.0
90
+ */
91
+ const isNone = exports.isNone = option.isNone;
92
+ /**
93
+ * Determine if a `Option` is a `Some`.
94
+ *
95
+ * @param self - The `Option` to check.
96
+ *
97
+ * @example
98
+ * import { some, none, isSome } from 'effect/Option'
99
+ *
100
+ * assert.deepStrictEqual(isSome(some(1)), true)
101
+ * assert.deepStrictEqual(isSome(none()), false)
102
+ *
103
+ * @category guards
104
+ * @since 2.0.0
105
+ */
106
+ const isSome = exports.isSome = option.isSome;
107
+ /**
108
+ * Matches the given `Option` and returns either the provided `onNone` value or the result of the provided `onSome`
109
+ * function when passed the `Option`'s value.
110
+ *
111
+ * @param self - The `Option` to match
112
+ * @param onNone - The value to be returned if the `Option` is `None`
113
+ * @param onSome - The function to be called if the `Option` is `Some`, it will be passed the `Option`'s value and its result will be returned
114
+ *
115
+ * @example
116
+ * import { some, none, match } from 'effect/Option'
117
+ * import { pipe } from "effect/Function"
118
+ *
119
+ * assert.deepStrictEqual(
120
+ * pipe(some(1), match({ onNone: () => 'a none', onSome: (a) => `a some containing ${a}` })),
121
+ * 'a some containing 1'
122
+ * )
123
+ *
124
+ * assert.deepStrictEqual(
125
+ * pipe(none(), match({ onNone: () => 'a none', onSome: (a) => `a some containing ${a}` })),
126
+ * 'a none'
127
+ * )
128
+ *
129
+ * @category pattern matching
130
+ * @since 2.0.0
131
+ */
132
+ const match = exports.match = /*#__PURE__*/(0, _Function.dual)(2, (self, {
133
+ onNone,
134
+ onSome
135
+ }) => isNone(self) ? onNone() : onSome(self.value));
136
+ /**
137
+ * Returns a type guard from a `Option` returning function.
138
+ * This function ensures that a type guard definition is type-safe.
139
+ *
140
+ * @example
141
+ * import * as O from "effect/Option"
142
+ *
143
+ * const parsePositive = (n: number): O.Option<number> =>
144
+ * n > 0 ? O.some(n) : O.none()
145
+ *
146
+ * const isPositive = O.toRefinement(parsePositive)
147
+ *
148
+ * assert.deepStrictEqual(isPositive(1), true)
149
+ * assert.deepStrictEqual(isPositive(-1), false)
150
+ *
151
+ * @category conversions
152
+ * @since 2.0.0
153
+ */
154
+ const toRefinement = f => a => isSome(f(a));
155
+ /**
156
+ * Converts an `Iterable` of values into an `Option`. Returns the first value of the `Iterable` wrapped in a `Some`
157
+ * if the `Iterable` is not empty, otherwise returns `None`.
158
+ *
159
+ * @param collection - The `Iterable` to be converted to an `Option`.
160
+ *
161
+ * @example
162
+ * import { fromIterable, some, none } from 'effect/Option'
163
+ *
164
+ * assert.deepStrictEqual(fromIterable([1, 2, 3]), some(1))
165
+ * assert.deepStrictEqual(fromIterable([]), none())
166
+ *
167
+ * @category constructors
168
+ * @since 2.0.0
169
+ */
170
+ exports.toRefinement = toRefinement;
171
+ const fromIterable = collection => {
172
+ for (const a of collection) {
173
+ return some(a);
174
+ }
175
+ return none();
176
+ };
177
+ /**
178
+ * Converts a `Either` to an `Option` discarding the error.
179
+ *
180
+ * Alias of {@link fromEither}.
181
+ *
182
+ * @example
183
+ * import * as O from "effect/Option"
184
+ * import * as E from "effect/Either"
185
+ *
186
+ * assert.deepStrictEqual(O.getRight(E.right('ok')), O.some('ok'))
187
+ * assert.deepStrictEqual(O.getRight(E.left('err')), O.none())
188
+ *
189
+ * @category conversions
190
+ * @since 2.0.0
191
+ */
192
+ exports.fromIterable = fromIterable;
193
+ const getRight = exports.getRight = either.getRight;
194
+ /**
195
+ * Converts a `Either` to an `Option` discarding the value.
196
+ *
197
+ * @example
198
+ * import * as O from "effect/Option"
199
+ * import * as E from "effect/Either"
200
+ *
201
+ * assert.deepStrictEqual(O.getLeft(E.right("ok")), O.none())
202
+ * assert.deepStrictEqual(O.getLeft(E.left("a")), O.some("a"))
203
+ *
204
+ * @category conversions
205
+ * @since 2.0.0
206
+ */
207
+ const getLeft = exports.getLeft = either.getLeft;
208
+ /**
209
+ * Returns the value of the `Option` if it is `Some`, otherwise returns `onNone`
210
+ *
211
+ * @param self - The `Option` to get the value of.
212
+ * @param onNone - Function that returns the default value to return if the `Option` is `None`.
213
+ *
214
+ * @example
215
+ * import { some, none, getOrElse } from 'effect/Option'
216
+ * import { pipe } from "effect/Function"
217
+ *
218
+ * assert.deepStrictEqual(pipe(some(1), getOrElse(() => 0)), 1)
219
+ * assert.deepStrictEqual(pipe(none(), getOrElse(() => 0)), 0)
220
+ *
221
+ * @category getters
222
+ * @since 2.0.0
223
+ */
224
+ const getOrElse = exports.getOrElse = /*#__PURE__*/(0, _Function.dual)(2, (self, onNone) => isNone(self) ? onNone() : self.value);
225
+ /**
226
+ * Returns the provided `Option` `that` if `self` is `None`, otherwise returns `self`.
227
+ *
228
+ * @param self - The first `Option` to be checked.
229
+ * @param that - The `Option` to return if `self` is `None`.
230
+ *
231
+ * @example
232
+ * import * as O from "effect/Option"
233
+ * import { pipe } from "effect/Function"
234
+ *
235
+ * assert.deepStrictEqual(
236
+ * pipe(
237
+ * O.none(),
238
+ * O.orElse(() => O.none())
239
+ * ),
240
+ * O.none()
241
+ * )
242
+ * assert.deepStrictEqual(
243
+ * pipe(
244
+ * O.some('a'),
245
+ * O.orElse(() => O.none())
246
+ * ),
247
+ * O.some('a')
248
+ * )
249
+ * assert.deepStrictEqual(
250
+ * pipe(
251
+ * O.none(),
252
+ * O.orElse(() => O.some('b'))
253
+ * ),
254
+ * O.some('b')
255
+ * )
256
+ * assert.deepStrictEqual(
257
+ * pipe(
258
+ * O.some('a'),
259
+ * O.orElse(() => O.some('b'))
260
+ * ),
261
+ * O.some('a')
262
+ * )
263
+ *
264
+ * @category error handling
265
+ * @since 2.0.0
266
+ */
267
+ const orElse = exports.orElse = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => isNone(self) ? that() : self);
268
+ /**
269
+ * Similar to `orElse`, but instead of returning a simple union, it returns an `Either` object,
270
+ * which contains information about which of the two `Option`s has been chosen.
271
+ *
272
+ * This is useful when it's important to know whether the value was retrieved from the first `Option` or the second option.
273
+ *
274
+ * @param self - The first `Option` to be checked.
275
+ * @param that - The second `Option` to be considered if the first `Option` is `None`.
276
+ *
277
+ * @category error handling
278
+ * @since 2.0.0
279
+ */
280
+ const orElseEither = exports.orElseEither = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => isNone(self) ? map(that(), either.right) : map(self, either.left));
281
+ /**
282
+ * Given an `Iterable` collection of `Option`s, returns the first `Some` found in the collection.
283
+ *
284
+ * @param collection - An iterable collection of `Option` to be searched.
285
+ *
286
+ * @example
287
+ * import * as O from "effect/Option"
288
+ *
289
+ * assert.deepStrictEqual(O.firstSomeOf([O.none(), O.some(1), O.some(2)]), O.some(1))
290
+ *
291
+ * @category error handling
292
+ * @since 2.0.0
293
+ */
294
+ const firstSomeOf = collection => {
295
+ let out = none();
296
+ for (out of collection) {
297
+ if (isSome(out)) {
298
+ return out;
299
+ }
300
+ }
301
+ return out;
302
+ };
303
+ /**
304
+ * Constructs a new `Option` from a nullable type. If the value is `null` or `undefined`, returns `None`, otherwise
305
+ * returns the value wrapped in a `Some`.
306
+ *
307
+ * @param nullableValue - The nullable value to be converted to an `Option`.
308
+ *
309
+ * @example
310
+ * import * as O from "effect/Option"
311
+ *
312
+ * assert.deepStrictEqual(O.fromNullable(undefined), O.none())
313
+ * assert.deepStrictEqual(O.fromNullable(null), O.none())
314
+ * assert.deepStrictEqual(O.fromNullable(1), O.some(1))
315
+ *
316
+ * @category conversions
317
+ * @since 2.0.0
318
+ */
319
+ exports.firstSomeOf = firstSomeOf;
320
+ const fromNullable = nullableValue => nullableValue == null ? none() : some(nullableValue);
321
+ /**
322
+ * This API is useful for lifting a function that returns `null` or `undefined` into the `Option` context.
323
+ *
324
+ * @example
325
+ * import * as O from "effect/Option"
326
+ *
327
+ * const parse = (s: string): number | undefined => {
328
+ * const n = parseFloat(s)
329
+ * return isNaN(n) ? undefined : n
330
+ * }
331
+ *
332
+ * const parseOption = O.liftNullable(parse)
333
+ *
334
+ * assert.deepStrictEqual(parseOption('1'), O.some(1))
335
+ * assert.deepStrictEqual(parseOption('not a number'), O.none())
336
+ *
337
+ * @category conversions
338
+ * @since 2.0.0
339
+ */
340
+ exports.fromNullable = fromNullable;
341
+ const liftNullable = f => (...a) => fromNullable(f(...a));
342
+ /**
343
+ * Returns the value of the `Option` if it is a `Some`, otherwise returns `null`.
344
+ *
345
+ * @param self - The `Option` to extract the value from.
346
+ *
347
+ * @example
348
+ * import * as O from "effect/Option"
349
+ *
350
+ * assert.deepStrictEqual(O.getOrNull(O.some(1)), 1)
351
+ * assert.deepStrictEqual(O.getOrNull(O.none()), null)
352
+ *
353
+ * @category getters
354
+ * @since 2.0.0
355
+ */
356
+ exports.liftNullable = liftNullable;
357
+ const getOrNull = exports.getOrNull = /*#__PURE__*/getOrElse(_Function.constNull);
358
+ /**
359
+ * Returns the value of the `Option` if it is a `Some`, otherwise returns `undefined`.
360
+ *
361
+ * @param self - The `Option` to extract the value from.
362
+ *
363
+ * @example
364
+ * import * as O from "effect/Option"
365
+ *
366
+ * assert.deepStrictEqual(O.getOrUndefined(O.some(1)), 1)
367
+ * assert.deepStrictEqual(O.getOrUndefined(O.none()), undefined)
368
+ *
369
+ * @category getters
370
+ * @since 2.0.0
371
+ */
372
+ const getOrUndefined = exports.getOrUndefined = /*#__PURE__*/getOrElse(_Function.constUndefined);
373
+ /**
374
+ * A utility function that lifts a function that throws exceptions into a function that returns an `Option`.
375
+ *
376
+ * This function is useful for any function that might throw an exception, allowing the developer to handle
377
+ * the exception in a more functional way.
378
+ *
379
+ * @param f - the function that can throw exceptions.
380
+ *
381
+ * @example
382
+ * import * as O from "effect/Option"
383
+ *
384
+ * const parse = O.liftThrowable(JSON.parse)
385
+ *
386
+ * assert.deepStrictEqual(parse("1"), O.some(1))
387
+ * assert.deepStrictEqual(parse(""), O.none())
388
+ *
389
+ * @category conversions
390
+ * @since 2.0.0
391
+ */
392
+ const liftThrowable = f => (...a) => {
393
+ try {
394
+ return some(f(...a));
395
+ } catch (e) {
396
+ return none();
397
+ }
398
+ };
399
+ /**
400
+ * Extracts the value of an `Option` or throws if the `Option` is `None`.
401
+ *
402
+ * If a default error is sufficient for your use case and you don't need to configure the thrown error, see {@link getOrThrow}.
403
+ *
404
+ * @param self - The `Option` to extract the value from.
405
+ * @param onNone - A function that will be called if the `Option` is `None`. It returns the error to be thrown.
406
+ *
407
+ * @example
408
+ * import * as O from "effect/Option"
409
+ *
410
+ * assert.deepStrictEqual(
411
+ * O.getOrThrowWith(O.some(1), () => new Error('Unexpected None')),
412
+ * 1
413
+ * )
414
+ * assert.throws(() => O.getOrThrowWith(O.none(), () => new Error('Unexpected None')))
415
+ *
416
+ * @category conversions
417
+ * @since 2.0.0
418
+ */
419
+ exports.liftThrowable = liftThrowable;
420
+ const getOrThrowWith = exports.getOrThrowWith = /*#__PURE__*/(0, _Function.dual)(2, (self, onNone) => {
421
+ if (isSome(self)) {
422
+ return self.value;
423
+ }
424
+ throw onNone();
425
+ });
426
+ /**
427
+ * Extracts the value of an `Option` or throws if the `Option` is `None`.
428
+ *
429
+ * The thrown error is a default error. To configure the error thrown, see {@link getOrThrowWith}.
430
+ *
431
+ * @param self - The `Option` to extract the value from.
432
+ * @throws `Error("getOrThrow called on a None")`
433
+ *
434
+ * @example
435
+ * import * as O from "effect/Option"
436
+ *
437
+ * assert.deepStrictEqual(O.getOrThrow(O.some(1)), 1)
438
+ * assert.throws(() => O.getOrThrow(O.none()))
439
+ *
440
+ * @category conversions
441
+ * @since 2.0.0
442
+ */
443
+ const getOrThrow = exports.getOrThrow = /*#__PURE__*/getOrThrowWith(() => new Error("getOrThrow called on a None"));
444
+ /**
445
+ * Maps the `Some` side of an `Option` value to a new `Option` value.
446
+ *
447
+ * @param self - An `Option` to map
448
+ * @param f - The function to map over the value of the `Option`
449
+ *
450
+ * @category mapping
451
+ * @since 2.0.0
452
+ */
453
+ const map = exports.map = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => isNone(self) ? none() : some(f(self.value)));
454
+ /**
455
+ * Maps the `Some` value of this `Option` to the specified constant value.
456
+ *
457
+ * @category mapping
458
+ * @since 2.0.0
459
+ */
460
+ const as = exports.as = /*#__PURE__*/(0, _Function.dual)(2, (self, b) => map(self, () => b));
461
+ /**
462
+ * Maps the `Some` value of this `Option` to the `void` constant value.
463
+ *
464
+ * This is useful when the value of the `Option` is not needed, but the presence or absence of the value is important.
465
+ *
466
+ * @category mapping
467
+ * @since 2.0.0
468
+ */
469
+ const asUnit = exports.asUnit = /*#__PURE__*/as(undefined);
470
+ /**
471
+ * @since 2.0.0
472
+ */
473
+ const unit = exports.unit = /*#__PURE__*/some(undefined);
474
+ /**
475
+ * Applies a function to the value of an `Option` and flattens the result, if the input is `Some`.
476
+ *
477
+ * @category sequencing
478
+ * @since 2.0.0
479
+ */
480
+ const flatMap = exports.flatMap = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => isNone(self) ? none() : f(self.value));
481
+ /**
482
+ * Executes a sequence of two `Option`s. The second `Option` can be dependent on the result of the first `Option`.
483
+ *
484
+ * @category sequencing
485
+ * @since 2.0.0
486
+ */
487
+ const andThen = exports.andThen = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => (0, _Function.isFunction)(f) ? flatMap(self, f) : flatMap(self, () => f));
488
+ /**
489
+ * This is `flatMap` + `fromNullable`, useful when working with optional values.
490
+ *
491
+ * @example
492
+ * import { some, none, flatMapNullable } from 'effect/Option'
493
+ * import { pipe } from "effect/Function"
494
+ *
495
+ * interface Employee {
496
+ * company?: {
497
+ * address?: {
498
+ * street?: {
499
+ * name?: string
500
+ * }
501
+ * }
502
+ * }
503
+ * }
504
+ *
505
+ * const employee1: Employee = { company: { address: { street: { name: 'high street' } } } }
506
+ *
507
+ * assert.deepStrictEqual(
508
+ * pipe(
509
+ * some(employee1),
510
+ * flatMapNullable(employee => employee.company?.address?.street?.name),
511
+ * ),
512
+ * some('high street')
513
+ * )
514
+ *
515
+ * const employee2: Employee = { company: { address: { street: {} } } }
516
+ *
517
+ * assert.deepStrictEqual(
518
+ * pipe(
519
+ * some(employee2),
520
+ * flatMapNullable(employee => employee.company?.address?.street?.name),
521
+ * ),
522
+ * none()
523
+ * )
524
+ *
525
+ * @category sequencing
526
+ * @since 2.0.0
527
+ */
528
+ const flatMapNullable = exports.flatMapNullable = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => isNone(self) ? none() : fromNullable(f(self.value)));
529
+ /**
530
+ * @category sequencing
531
+ * @since 2.0.0
532
+ */
533
+ const flatten = exports.flatten = /*#__PURE__*/flatMap(_Function.identity);
534
+ /**
535
+ * @category zipping
536
+ * @since 2.0.0
537
+ */
538
+ const zipRight = exports.zipRight = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => flatMap(self, () => that));
539
+ /**
540
+ * @category sequencing
541
+ * @since 2.0.0
542
+ */
543
+ const composeK = exports.composeK = /*#__PURE__*/(0, _Function.dual)(2, (afb, bfc) => a => flatMap(afb(a), bfc));
544
+ /**
545
+ * Sequences the specified `that` `Option` but ignores its value.
546
+ *
547
+ * It is useful when we want to chain multiple operations, but only care about the result of `self`.
548
+ *
549
+ * @param that - The `Option` that will be ignored in the chain and discarded
550
+ * @param self - The `Option` we care about
551
+ *
552
+ * @category zipping
553
+ * @since 2.0.0
554
+ */
555
+ const zipLeft = exports.zipLeft = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => tap(self, () => that));
556
+ /**
557
+ * Applies the provided function `f` to the value of the `Option` if it is `Some` and returns the original `Option`
558
+ * unless `f` returns `None`, in which case it returns `None`.
559
+ *
560
+ * This function is useful for performing additional computations on the value of the input `Option` without affecting its value.
561
+ *
562
+ * @param f - Function to apply to the value of the `Option` if it is `Some`
563
+ * @param self - The `Option` to apply the function to
564
+ *
565
+ * @example
566
+ * import * as O from "effect/Option"
567
+ *
568
+ * const getInteger = (n: number) => Number.isInteger(n) ? O.some(n) : O.none()
569
+ *
570
+ * assert.deepStrictEqual(O.tap(O.none(), getInteger), O.none())
571
+ * assert.deepStrictEqual(O.tap(O.some(1), getInteger), O.some(1))
572
+ * assert.deepStrictEqual(O.tap(O.some(1.14), getInteger), O.none())
573
+ *
574
+ * @category sequencing
575
+ * @since 2.0.0
576
+ */
577
+ const tap = exports.tap = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => flatMap(self, a => map(f(a), () => a)));
578
+ /**
579
+ * @category combining
580
+ * @since 2.0.0
581
+ */
582
+ const product = (self, that) => isSome(self) && isSome(that) ? some([self.value, that.value]) : none();
583
+ /**
584
+ * @category combining
585
+ * @since 2.0.0
586
+ */
587
+ exports.product = product;
588
+ const productMany = (self, collection) => {
589
+ if (isNone(self)) {
590
+ return none();
591
+ }
592
+ const out = [self.value];
593
+ for (const o of collection) {
594
+ if (isNone(o)) {
595
+ return none();
596
+ }
597
+ out.push(o.value);
598
+ }
599
+ return some(out);
600
+ };
601
+ /**
602
+ * Takes a structure of `Option`s and returns an `Option` of values with the same structure.
603
+ *
604
+ * - If a tuple is supplied, then the returned `Option` will contain a tuple with the same length.
605
+ * - If a struct is supplied, then the returned `Option` will contain a struct with the same keys.
606
+ * - If an iterable is supplied, then the returned `Option` will contain an array.
607
+ *
608
+ * @param fields - the struct of `Option`s to be sequenced.
609
+ *
610
+ * @example
611
+ * import * as O from "effect/Option"
612
+ *
613
+ * assert.deepStrictEqual(O.all([O.some(1), O.some(2)]), O.some([1, 2]))
614
+ * assert.deepStrictEqual(O.all({ a: O.some(1), b: O.some("hello") }), O.some({ a: 1, b: "hello" }))
615
+ * assert.deepStrictEqual(O.all({ a: O.some(1), b: O.none() }), O.none())
616
+ *
617
+ * @category combining
618
+ * @since 2.0.0
619
+ */
620
+ // @ts-expect-error
621
+ exports.productMany = productMany;
622
+ const all = input => {
623
+ if (Symbol.iterator in input) {
624
+ const out = [];
625
+ for (const o of input) {
626
+ if (isNone(o)) {
627
+ return none();
628
+ }
629
+ out.push(o.value);
630
+ }
631
+ return some(out);
632
+ }
633
+ const out = {};
634
+ for (const key of Object.keys(input)) {
635
+ const o = input[key];
636
+ if (isNone(o)) {
637
+ return none();
638
+ }
639
+ out[key] = o.value;
640
+ }
641
+ return some(out);
642
+ };
643
+ /**
644
+ * Zips two `Option` values together using a provided function, returning a new `Option` of the result.
645
+ *
646
+ * @param self - The left-hand side of the zip operation
647
+ * @param that - The right-hand side of the zip operation
648
+ * @param f - The function used to combine the values of the two `Option`s
649
+ *
650
+ * @example
651
+ * import * as O from "effect/Option"
652
+ *
653
+ * type Complex = [real: number, imaginary: number]
654
+ *
655
+ * const complex = (real: number, imaginary: number): Complex => [real, imaginary]
656
+ *
657
+ * assert.deepStrictEqual(O.zipWith(O.none(), O.none(), complex), O.none())
658
+ * assert.deepStrictEqual(O.zipWith(O.some(1), O.none(), complex), O.none())
659
+ * assert.deepStrictEqual(O.zipWith(O.none(), O.some(1), complex), O.none())
660
+ * assert.deepStrictEqual(O.zipWith(O.some(1), O.some(2), complex), O.some([1, 2]))
661
+ *
662
+ * assert.deepStrictEqual(O.zipWith(O.some(1), complex)(O.some(2)), O.some([2, 1]))
663
+ *
664
+ * @category zipping
665
+ * @since 2.0.0
666
+ */
667
+ exports.all = all;
668
+ const zipWith = exports.zipWith = /*#__PURE__*/(0, _Function.dual)(3, (self, that, f) => map(product(self, that), ([a, b]) => f(a, b)));
669
+ /**
670
+ * @category combining
671
+ * @since 2.0.0
672
+ */
673
+ const ap = exports.ap = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => zipWith(self, that, (f, a) => f(a)));
674
+ /**
675
+ * Reduces an `Iterable` of `Option<A>` to a single value of type `B`, elements that are `None` are ignored.
676
+ *
677
+ * @param self - The Iterable of `Option<A>` to be reduced.
678
+ * @param b - The initial value of the accumulator.
679
+ * @param f - The reducing function that takes the current accumulator value and the unwrapped value of an `Option<A>`.
680
+ *
681
+ * @example
682
+ * import { some, none, reduceCompact } from 'effect/Option'
683
+ * import { pipe } from "effect/Function"
684
+ *
685
+ * const iterable = [some(1), none(), some(2), none()]
686
+ * assert.deepStrictEqual(pipe(iterable, reduceCompact(0, (b, a) => b + a)), 3)
687
+ *
688
+ * @category folding
689
+ * @since 2.0.0
690
+ */
691
+ const reduceCompact = exports.reduceCompact = /*#__PURE__*/(0, _Function.dual)(3, (self, b, f) => {
692
+ let out = b;
693
+ for (const oa of self) {
694
+ if (isSome(oa)) {
695
+ out = f(out, oa.value);
696
+ }
697
+ }
698
+ return out;
699
+ });
700
+ /**
701
+ * Transforms an `Option` into an `Array`.
702
+ * If the input is `None`, an empty array is returned.
703
+ * If the input is `Some`, the value is wrapped in an array.
704
+ *
705
+ * @param self - The `Option` to convert to an array.
706
+ *
707
+ * @example
708
+ * import * as O from "effect/Option"
709
+ *
710
+ * assert.deepStrictEqual(O.toArray(O.some(1)), [1])
711
+ * assert.deepStrictEqual(O.toArray(O.none()), [])
712
+ *
713
+ * @category conversions
714
+ * @since 2.0.0
715
+ */
716
+ const toArray = self => isNone(self) ? [] : [self.value];
717
+ /**
718
+ * @category filtering
719
+ * @since 2.0.0
720
+ */
721
+ exports.toArray = toArray;
722
+ const partitionMap = exports.partitionMap = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => {
723
+ if (isNone(self)) {
724
+ return [none(), none()];
725
+ }
726
+ const e = f(self.value);
727
+ return either.isLeft(e) ? [some(e.left), none()] : [none(), some(e.right)];
728
+ });
729
+ /**
730
+ * Maps over the value of an `Option` and filters out `None`s.
731
+ *
732
+ * Useful when in addition to filtering you also want to change the type of the `Option`.
733
+ *
734
+ * @param self - The `Option` to map over.
735
+ * @param f - A function to apply to the value of the `Option`.
736
+ *
737
+ * @example
738
+ * import * as O from "effect/Option"
739
+ *
740
+ * const evenNumber = (n: number) => n % 2 === 0 ? O.some(n) : O.none()
741
+ *
742
+ * assert.deepStrictEqual(O.filterMap(O.none(), evenNumber), O.none())
743
+ * assert.deepStrictEqual(O.filterMap(O.some(3), evenNumber), O.none())
744
+ * assert.deepStrictEqual(O.filterMap(O.some(2), evenNumber), O.some(2))
745
+ *
746
+ * @category filtering
747
+ * @since 2.0.0
748
+ */
749
+ const filterMap = exports.filterMap = /*#__PURE__*/(0, _Function.dual)(2, (self, f) => isNone(self) ? none() : f(self.value));
750
+ /**
751
+ * Filters an `Option` using a predicate. If the predicate is not satisfied or the `Option` is `None` returns `None`.
752
+ *
753
+ * If you need to change the type of the `Option` in addition to filtering, see `filterMap`.
754
+ *
755
+ * @param predicate - A predicate function to apply to the `Option` value.
756
+ * @param fb - The `Option` to filter.
757
+ *
758
+ * @example
759
+ * import * as O from "effect/Option"
760
+ *
761
+ * // predicate
762
+ * const isEven = (n: number) => n % 2 === 0
763
+ *
764
+ * assert.deepStrictEqual(O.filter(O.none(), isEven), O.none())
765
+ * assert.deepStrictEqual(O.filter(O.some(3), isEven), O.none())
766
+ * assert.deepStrictEqual(O.filter(O.some(2), isEven), O.some(2))
767
+ *
768
+ * // refinement
769
+ * const isNumber = (v: unknown): v is number => typeof v === "number"
770
+ *
771
+ * assert.deepStrictEqual(O.filter(O.none(), isNumber), O.none())
772
+ * assert.deepStrictEqual(O.filter(O.some('hello'), isNumber), O.none())
773
+ * assert.deepStrictEqual(O.filter(O.some(2), isNumber), O.some(2))
774
+ *
775
+ * @category filtering
776
+ * @since 2.0.0
777
+ */
778
+ const filter = exports.filter = /*#__PURE__*/(0, _Function.dual)(2, (self, predicate) => filterMap(self, b => predicate(b) ? option.some(b) : option.none));
779
+ /**
780
+ * @example
781
+ * import { none, some, getEquivalence } from 'effect/Option'
782
+ * import * as N from 'effect/Number'
783
+ *
784
+ * const isEquivalent = getEquivalence(N.Equivalence)
785
+ * assert.deepStrictEqual(isEquivalent(none(), none()), true)
786
+ * assert.deepStrictEqual(isEquivalent(none(), some(1)), false)
787
+ * assert.deepStrictEqual(isEquivalent(some(1), none()), false)
788
+ * assert.deepStrictEqual(isEquivalent(some(1), some(2)), false)
789
+ * assert.deepStrictEqual(isEquivalent(some(1), some(1)), true)
790
+ *
791
+ * @category equivalence
792
+ * @since 2.0.0
793
+ */
794
+ const getEquivalence = isEquivalent => Equivalence.make((x, y) => x === y || (isNone(x) ? isNone(y) : isNone(y) ? false : isEquivalent(x.value, y.value)));
795
+ /**
796
+ * The `Order` instance allows `Option` values to be compared with
797
+ * `compare`, whenever there is an `Order` instance for
798
+ * the type the `Option` contains.
799
+ *
800
+ * `None` is considered to be less than any `Some` value.
801
+ *
802
+ * @example
803
+ * import { none, some, getOrder } from 'effect/Option'
804
+ * import * as N from 'effect/Number'
805
+ * import { pipe } from "effect/Function"
806
+ *
807
+ * const O = getOrder(N.Order)
808
+ * assert.deepStrictEqual(O(none(), none()), 0)
809
+ * assert.deepStrictEqual(O(none(), some(1)), -1)
810
+ * assert.deepStrictEqual(O(some(1), none()), 1)
811
+ * assert.deepStrictEqual(O(some(1), some(2)), -1)
812
+ * assert.deepStrictEqual(O(some(1), some(1)), 0)
813
+ *
814
+ * @category sorting
815
+ * @since 2.0.0
816
+ */
817
+ exports.getEquivalence = getEquivalence;
818
+ const getOrder = O => order.make((self, that) => isSome(self) ? isSome(that) ? O(self.value, that.value) : 1 : -1);
819
+ /**
820
+ * Lifts a binary function into `Option`.
821
+ *
822
+ * @param f - The function to lift.
823
+ *
824
+ * @category lifting
825
+ * @since 2.0.0
826
+ */
827
+ exports.getOrder = getOrder;
828
+ const lift2 = f => (0, _Function.dual)(2, (self, that) => zipWith(self, that, f));
829
+ /**
830
+ * Transforms a `Predicate` function into a `Some` of the input value if the predicate returns `true` or `None`
831
+ * if the predicate returns `false`.
832
+ *
833
+ * @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
834
+ *
835
+ * @example
836
+ * import * as O from "effect/Option"
837
+ *
838
+ * const getOption = O.liftPredicate((n: number) => n >= 0)
839
+ *
840
+ * assert.deepStrictEqual(getOption(-1), O.none())
841
+ * assert.deepStrictEqual(getOption(1), O.some(1))
842
+ *
843
+ * @category lifting
844
+ * @since 2.0.0
845
+ */
846
+ exports.lift2 = lift2;
847
+ const liftPredicate = predicate => b => predicate(b) ? some(b) : none();
848
+ /**
849
+ * Returns a function that checks if a `Option` contains a given value using a provided `isEquivalent` function.
850
+ *
851
+ * @param equivalent - An `Equivalence` instance to compare values of the `Option`.
852
+ * @param self - The `Option` to apply the comparison to.
853
+ * @param a - The value to compare against the `Option`.
854
+ *
855
+ * @example
856
+ * import { some, none, containsWith } from 'effect/Option'
857
+ * import { Equivalence } from 'effect/Number'
858
+ * import { pipe } from "effect/Function"
859
+ *
860
+ * assert.deepStrictEqual(pipe(some(2), containsWith(Equivalence)(2)), true)
861
+ * assert.deepStrictEqual(pipe(some(1), containsWith(Equivalence)(2)), false)
862
+ * assert.deepStrictEqual(pipe(none(), containsWith(Equivalence)(2)), false)
863
+ *
864
+ * @category elements
865
+ * @since 2.0.0
866
+ */
867
+ exports.liftPredicate = liftPredicate;
868
+ const containsWith = isEquivalent => (0, _Function.dual)(2, (self, a) => isNone(self) ? false : isEquivalent(self.value, a));
869
+ exports.containsWith = containsWith;
870
+ const _equivalence = /*#__PURE__*/Equal.equivalence();
871
+ /**
872
+ * Returns a function that checks if an `Option` contains a given value using the default `Equivalence`.
873
+ *
874
+ * @category elements
875
+ * @since 2.0.0
876
+ */
877
+ const contains = exports.contains = /*#__PURE__*/containsWith(_equivalence);
878
+ /**
879
+ * Check if a value in an `Option` type meets a certain predicate.
880
+ *
881
+ * @param self - The `Option` to check.
882
+ * @param predicate - The condition to check.
883
+ *
884
+ * @example
885
+ * import { some, none, exists } from 'effect/Option'
886
+ * import { pipe } from "effect/Function"
887
+ *
888
+ * const isEven = (n: number) => n % 2 === 0
889
+ *
890
+ * assert.deepStrictEqual(pipe(some(2), exists(isEven)), true)
891
+ * assert.deepStrictEqual(pipe(some(1), exists(isEven)), false)
892
+ * assert.deepStrictEqual(pipe(none(), exists(isEven)), false)
893
+ *
894
+ * @since 2.0.0
895
+ */
896
+ const exists = exports.exists = /*#__PURE__*/(0, _Function.dual)(2, (self, refinement) => isNone(self) ? false : refinement(self.value));
897
+ // -------------------------------------------------------------------------------------
898
+ // do notation
899
+ // -------------------------------------------------------------------------------------
900
+ /**
901
+ * @category do notation
902
+ * @since 2.0.0
903
+ */
904
+ const bindTo = exports.bindTo = /*#__PURE__*/(0, _Function.dual)(2, (self, name) => map(self, a => ({
905
+ [name]: a
906
+ })));
907
+ const let_ = exports.let = /*#__PURE__*/(0, _Function.dual)(3, (self, name, f) => map(self, a => Object.assign({}, a, {
908
+ [name]: f(a)
909
+ })));
910
+ /**
911
+ * @category do notation
912
+ * @since 2.0.0
913
+ */
914
+ const bind = exports.bind = /*#__PURE__*/(0, _Function.dual)(3, (self, name, f) => flatMap(self, a => map(f(a), b => Object.assign({}, a, {
915
+ [name]: b
916
+ }))));
917
+ /**
918
+ * @category do notation
919
+ * @since 2.0.0
920
+ */
921
+ const Do = exports.Do = /*#__PURE__*/some({});
922
+ const adapter = /*#__PURE__*/Gen.adapter();
923
+ /**
924
+ * @category generators
925
+ * @since 2.0.0
926
+ */
927
+ const gen = f => {
928
+ const iterator = f(adapter);
929
+ let state = iterator.next();
930
+ if (state.done) {
931
+ return some(state.value);
932
+ } else {
933
+ let current = state.value.value;
934
+ if (isNone(current)) {
935
+ return current;
936
+ }
937
+ while (!state.done) {
938
+ state = iterator.next(current.value);
939
+ if (!state.done) {
940
+ current = state.value.value;
941
+ if (isNone(current)) {
942
+ return current;
943
+ }
944
+ }
945
+ }
946
+ return some(state.value);
947
+ }
948
+ };
949
+ exports.gen = gen;
950
+ //# sourceMappingURL=Option.js.map