@clayroach/effect 3.19.14-source-capture.6 → 3.19.14-source-capture.8
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.
- package/dist/cjs/Utils.js +1 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/internal/clock.js +1 -1
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/esm/Utils.js +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/internal/clock.js +1 -1
- package/dist/esm/internal/clock.js.map +1 -1
- package/package.json +1 -1
- package/src/Arbitrary.ts +0 -1101
- package/src/Array.ts +0 -3589
- package/src/BigDecimal.ts +0 -1349
- package/src/BigInt.ts +0 -643
- package/src/Boolean.ts +0 -287
- package/src/Brand.ts +0 -360
- package/src/Cache.ts +0 -281
- package/src/Cause.ts +0 -1555
- package/src/Channel.ts +0 -2355
- package/src/ChildExecutorDecision.ts +0 -146
- package/src/Chunk.ts +0 -1495
- package/src/Clock.ts +0 -111
- package/src/Config.ts +0 -542
- package/src/ConfigError.ts +0 -270
- package/src/ConfigProvider.ts +0 -333
- package/src/ConfigProviderPathPatch.ts +0 -100
- package/src/Console.ts +0 -226
- package/src/Context.ts +0 -585
- package/src/Cron.ts +0 -706
- package/src/Data.ts +0 -596
- package/src/DateTime.ts +0 -1686
- package/src/DefaultServices.ts +0 -34
- package/src/Deferred.ts +0 -301
- package/src/Differ.ts +0 -450
- package/src/Duration.ts +0 -1000
- package/src/Effect.ts +0 -14839
- package/src/Effectable.ts +0 -107
- package/src/Either.ts +0 -1040
- package/src/Encoding.ts +0 -195
- package/src/Equal.ts +0 -98
- package/src/Equivalence.ts +0 -235
- package/src/ExecutionPlan.ts +0 -308
- package/src/ExecutionStrategy.ts +0 -119
- package/src/Exit.ts +0 -467
- package/src/FastCheck.ts +0 -9
- package/src/Fiber.ts +0 -744
- package/src/FiberHandle.ts +0 -540
- package/src/FiberId.ts +0 -195
- package/src/FiberMap.ts +0 -656
- package/src/FiberRef.ts +0 -431
- package/src/FiberRefs.ts +0 -204
- package/src/FiberRefsPatch.ts +0 -105
- package/src/FiberSet.ts +0 -491
- package/src/FiberStatus.ts +0 -108
- package/src/Function.ts +0 -1222
- package/src/GlobalValue.ts +0 -53
- package/src/Graph.ts +0 -3732
- package/src/GroupBy.ts +0 -103
- package/src/HKT.ts +0 -45
- package/src/Hash.ts +0 -195
- package/src/HashMap.ts +0 -519
- package/src/HashRing.ts +0 -317
- package/src/HashSet.ts +0 -2346
- package/src/Inspectable.ts +0 -287
- package/src/Iterable.ts +0 -1119
- package/src/JSONSchema.ts +0 -1044
- package/src/KeyedPool.ts +0 -167
- package/src/Layer.ts +0 -1251
- package/src/LayerMap.ts +0 -436
- package/src/List.ts +0 -977
- package/src/LogLevel.ts +0 -285
- package/src/LogSpan.ts +0 -25
- package/src/Logger.ts +0 -702
- package/src/Mailbox.ts +0 -268
- package/src/ManagedRuntime.ts +0 -180
- package/src/Match.ts +0 -1477
- package/src/MergeDecision.ts +0 -95
- package/src/MergeState.ts +0 -172
- package/src/MergeStrategy.ts +0 -107
- package/src/Metric.ts +0 -780
- package/src/MetricBoundaries.ts +0 -69
- package/src/MetricHook.ts +0 -151
- package/src/MetricKey.ts +0 -224
- package/src/MetricKeyType.ts +0 -262
- package/src/MetricLabel.ts +0 -47
- package/src/MetricPair.ts +0 -71
- package/src/MetricPolling.ts +0 -148
- package/src/MetricRegistry.ts +0 -48
- package/src/MetricState.ts +0 -257
- package/src/Micro.ts +0 -4405
- package/src/ModuleVersion.ts +0 -18
- package/src/MutableHashMap.ts +0 -411
- package/src/MutableHashSet.ts +0 -706
- package/src/MutableList.ts +0 -297
- package/src/MutableQueue.ts +0 -227
- package/src/MutableRef.ts +0 -202
- package/src/NonEmptyIterable.ts +0 -32
- package/src/Number.ts +0 -1071
- package/src/Option.ts +0 -2170
- package/src/Order.ts +0 -373
- package/src/Ordering.ts +0 -111
- package/src/ParseResult.ts +0 -2031
- package/src/PartitionedSemaphore.ts +0 -200
- package/src/Pipeable.ts +0 -566
- package/src/Pool.ts +0 -204
- package/src/Predicate.ts +0 -1405
- package/src/Pretty.ts +0 -205
- package/src/PrimaryKey.ts +0 -23
- package/src/PubSub.ts +0 -182
- package/src/Queue.ts +0 -644
- package/src/Random.ts +0 -204
- package/src/RateLimiter.ts +0 -138
- package/src/RcMap.ts +0 -141
- package/src/RcRef.ts +0 -122
- package/src/Readable.ts +0 -93
- package/src/Record.ts +0 -1274
- package/src/RedBlackTree.ts +0 -421
- package/src/Redacted.ts +0 -144
- package/src/Ref.ts +0 -180
- package/src/RegExp.ts +0 -38
- package/src/Reloadable.ts +0 -127
- package/src/Request.ts +0 -347
- package/src/RequestBlock.ts +0 -118
- package/src/RequestResolver.ts +0 -366
- package/src/Resource.ts +0 -119
- package/src/Runtime.ts +0 -383
- package/src/RuntimeFlags.ts +0 -368
- package/src/RuntimeFlagsPatch.ts +0 -183
- package/src/STM.ts +0 -2045
- package/src/Schedule.ts +0 -2219
- package/src/ScheduleDecision.ts +0 -62
- package/src/ScheduleInterval.ts +0 -151
- package/src/ScheduleIntervals.ts +0 -122
- package/src/Scheduler.ts +0 -353
- package/src/Schema.ts +0 -10914
- package/src/SchemaAST.ts +0 -3043
- package/src/Scope.ts +0 -204
- package/src/ScopedCache.ts +0 -151
- package/src/ScopedRef.ts +0 -117
- package/src/Secret.ts +0 -88
- package/src/SingleProducerAsyncInput.ts +0 -67
- package/src/Sink.ts +0 -1461
- package/src/SortedMap.ts +0 -287
- package/src/SortedSet.ts +0 -390
- package/src/Stream.ts +0 -6468
- package/src/StreamEmit.ts +0 -136
- package/src/StreamHaltStrategy.ts +0 -123
- package/src/Streamable.ts +0 -45
- package/src/String.ts +0 -778
- package/src/Struct.ts +0 -243
- package/src/Subscribable.ts +0 -100
- package/src/SubscriptionRef.ts +0 -298
- package/src/Supervisor.ts +0 -240
- package/src/Symbol.ts +0 -29
- package/src/SynchronizedRef.ts +0 -270
- package/src/TArray.ts +0 -495
- package/src/TDeferred.ts +0 -100
- package/src/TMap.ts +0 -515
- package/src/TPriorityQueue.ts +0 -223
- package/src/TPubSub.ts +0 -200
- package/src/TQueue.ts +0 -432
- package/src/TRandom.ts +0 -129
- package/src/TReentrantLock.ts +0 -224
- package/src/TRef.ts +0 -178
- package/src/TSemaphore.ts +0 -129
- package/src/TSet.ts +0 -365
- package/src/TSubscriptionRef.ts +0 -192
- package/src/Take.ts +0 -258
- package/src/TestAnnotation.ts +0 -158
- package/src/TestAnnotationMap.ts +0 -119
- package/src/TestAnnotations.ts +0 -117
- package/src/TestClock.ts +0 -556
- package/src/TestConfig.ts +0 -47
- package/src/TestContext.ts +0 -36
- package/src/TestLive.ts +0 -53
- package/src/TestServices.ts +0 -390
- package/src/TestSized.ts +0 -55
- package/src/Tracer.ts +0 -198
- package/src/Trie.ts +0 -840
- package/src/Tuple.ts +0 -305
- package/src/Types.ts +0 -353
- package/src/Unify.ts +0 -113
- package/src/UpstreamPullRequest.ts +0 -117
- package/src/UpstreamPullStrategy.ts +0 -121
- package/src/Utils.ts +0 -809
- package/src/index.ts +0 -1561
- package/src/internal/array.ts +0 -8
- package/src/internal/blockedRequests.ts +0 -520
- package/src/internal/cache.ts +0 -733
- package/src/internal/cause.ts +0 -1050
- package/src/internal/channel/channelExecutor.ts +0 -1200
- package/src/internal/channel/channelState.ts +0 -134
- package/src/internal/channel/childExecutorDecision.ts +0 -96
- package/src/internal/channel/continuation.ts +0 -200
- package/src/internal/channel/mergeDecision.ts +0 -113
- package/src/internal/channel/mergeState.ts +0 -120
- package/src/internal/channel/mergeStrategy.ts +0 -72
- package/src/internal/channel/singleProducerAsyncInput.ts +0 -259
- package/src/internal/channel/subexecutor.ts +0 -229
- package/src/internal/channel/upstreamPullRequest.ts +0 -84
- package/src/internal/channel/upstreamPullStrategy.ts +0 -87
- package/src/internal/channel.ts +0 -2603
- package/src/internal/clock.ts +0 -95
- package/src/internal/completedRequestMap.ts +0 -9
- package/src/internal/concurrency.ts +0 -54
- package/src/internal/config.ts +0 -716
- package/src/internal/configError.ts +0 -304
- package/src/internal/configProvider/pathPatch.ts +0 -97
- package/src/internal/configProvider.ts +0 -799
- package/src/internal/console.ts +0 -153
- package/src/internal/context.ts +0 -337
- package/src/internal/core-effect.ts +0 -2293
- package/src/internal/core-stream.ts +0 -998
- package/src/internal/core.ts +0 -3273
- package/src/internal/data.ts +0 -36
- package/src/internal/dataSource.ts +0 -327
- package/src/internal/dateTime.ts +0 -1277
- package/src/internal/defaultServices/console.ts +0 -100
- package/src/internal/defaultServices.ts +0 -163
- package/src/internal/deferred.ts +0 -46
- package/src/internal/differ/chunkPatch.ts +0 -211
- package/src/internal/differ/contextPatch.ts +0 -232
- package/src/internal/differ/hashMapPatch.ts +0 -220
- package/src/internal/differ/hashSetPatch.ts +0 -176
- package/src/internal/differ/orPatch.ts +0 -311
- package/src/internal/differ/readonlyArrayPatch.ts +0 -210
- package/src/internal/differ.ts +0 -200
- package/src/internal/doNotation.ts +0 -80
- package/src/internal/effect/circular.ts +0 -905
- package/src/internal/effectable.ts +0 -131
- package/src/internal/either.ts +0 -110
- package/src/internal/encoding/base64.ts +0 -286
- package/src/internal/encoding/base64Url.ts +0 -29
- package/src/internal/encoding/common.ts +0 -51
- package/src/internal/encoding/hex.ts +0 -315
- package/src/internal/errors.ts +0 -7
- package/src/internal/executionPlan.ts +0 -114
- package/src/internal/executionStrategy.ts +0 -74
- package/src/internal/fiber.ts +0 -388
- package/src/internal/fiberId.ts +0 -267
- package/src/internal/fiberMessage.ts +0 -82
- package/src/internal/fiberRefs/patch.ts +0 -144
- package/src/internal/fiberRefs.ts +0 -297
- package/src/internal/fiberRuntime.ts +0 -3915
- package/src/internal/fiberScope.ts +0 -71
- package/src/internal/fiberStatus.ts +0 -119
- package/src/internal/groupBy.ts +0 -530
- package/src/internal/hashMap/array.ts +0 -49
- package/src/internal/hashMap/bitwise.ts +0 -32
- package/src/internal/hashMap/config.ts +0 -14
- package/src/internal/hashMap/keySet.ts +0 -8
- package/src/internal/hashMap/node.ts +0 -391
- package/src/internal/hashMap.ts +0 -586
- package/src/internal/hashSet.ts +0 -323
- package/src/internal/keyedPool.ts +0 -244
- package/src/internal/layer/circular.ts +0 -228
- package/src/internal/layer.ts +0 -1487
- package/src/internal/logSpan.ts +0 -20
- package/src/internal/logger-circular.ts +0 -24
- package/src/internal/logger.ts +0 -485
- package/src/internal/mailbox.ts +0 -561
- package/src/internal/managedRuntime/circular.ts +0 -6
- package/src/internal/managedRuntime.ts +0 -134
- package/src/internal/matcher.ts +0 -652
- package/src/internal/metric/boundaries.ts +0 -75
- package/src/internal/metric/hook.ts +0 -483
- package/src/internal/metric/key.ts +0 -167
- package/src/internal/metric/keyType.ts +0 -238
- package/src/internal/metric/label.ts +0 -41
- package/src/internal/metric/pair.ts +0 -48
- package/src/internal/metric/polling.ts +0 -149
- package/src/internal/metric/registry.ts +0 -187
- package/src/internal/metric/state.ts +0 -290
- package/src/internal/metric.ts +0 -577
- package/src/internal/opCodes/cause.ts +0 -35
- package/src/internal/opCodes/channel.ts +0 -83
- package/src/internal/opCodes/channelChildExecutorDecision.ts +0 -17
- package/src/internal/opCodes/channelMergeDecision.ts +0 -11
- package/src/internal/opCodes/channelMergeState.ts +0 -17
- package/src/internal/opCodes/channelMergeStrategy.ts +0 -11
- package/src/internal/opCodes/channelState.ts +0 -23
- package/src/internal/opCodes/channelUpstreamPullRequest.ts +0 -11
- package/src/internal/opCodes/channelUpstreamPullStrategy.ts +0 -11
- package/src/internal/opCodes/config.ts +0 -65
- package/src/internal/opCodes/configError.ts +0 -35
- package/src/internal/opCodes/continuation.ts +0 -11
- package/src/internal/opCodes/deferred.ts +0 -11
- package/src/internal/opCodes/effect.ts +0 -89
- package/src/internal/opCodes/layer.ts +0 -59
- package/src/internal/opCodes/streamHaltStrategy.ts +0 -23
- package/src/internal/option.ts +0 -80
- package/src/internal/pool.ts +0 -432
- package/src/internal/pubsub.ts +0 -1762
- package/src/internal/query.ts +0 -204
- package/src/internal/queue.ts +0 -766
- package/src/internal/random.ts +0 -161
- package/src/internal/rateLimiter.ts +0 -93
- package/src/internal/rcMap.ts +0 -285
- package/src/internal/rcRef.ts +0 -192
- package/src/internal/redBlackTree/iterator.ts +0 -200
- package/src/internal/redBlackTree/node.ts +0 -68
- package/src/internal/redBlackTree.ts +0 -1245
- package/src/internal/redacted.ts +0 -73
- package/src/internal/ref.ts +0 -171
- package/src/internal/reloadable.ts +0 -140
- package/src/internal/request.ts +0 -177
- package/src/internal/resource.ts +0 -76
- package/src/internal/ringBuffer.ts +0 -68
- package/src/internal/runtime.ts +0 -558
- package/src/internal/runtimeFlags.ts +0 -188
- package/src/internal/runtimeFlagsPatch.ts +0 -103
- package/src/internal/schedule/decision.ts +0 -47
- package/src/internal/schedule/interval.ts +0 -101
- package/src/internal/schedule/intervals.ts +0 -180
- package/src/internal/schedule.ts +0 -2199
- package/src/internal/schema/errors.ts +0 -191
- package/src/internal/schema/schemaId.ts +0 -106
- package/src/internal/schema/util.ts +0 -50
- package/src/internal/scopedCache.ts +0 -644
- package/src/internal/scopedRef.ts +0 -118
- package/src/internal/secret.ts +0 -89
- package/src/internal/singleShotGen.ts +0 -35
- package/src/internal/sink.ts +0 -2120
- package/src/internal/stack.ts +0 -10
- package/src/internal/stm/core.ts +0 -817
- package/src/internal/stm/entry.ts +0 -59
- package/src/internal/stm/journal.ts +0 -123
- package/src/internal/stm/opCodes/stm.ts +0 -71
- package/src/internal/stm/opCodes/stmState.ts +0 -17
- package/src/internal/stm/opCodes/strategy.ts +0 -17
- package/src/internal/stm/opCodes/tExit.ts +0 -29
- package/src/internal/stm/opCodes/tryCommit.ts +0 -11
- package/src/internal/stm/stm.ts +0 -1453
- package/src/internal/stm/stmState.ts +0 -136
- package/src/internal/stm/tArray.ts +0 -550
- package/src/internal/stm/tDeferred.ts +0 -81
- package/src/internal/stm/tExit.ts +0 -190
- package/src/internal/stm/tMap.ts +0 -824
- package/src/internal/stm/tPriorityQueue.ts +0 -267
- package/src/internal/stm/tPubSub.ts +0 -551
- package/src/internal/stm/tQueue.ts +0 -393
- package/src/internal/stm/tRandom.ts +0 -140
- package/src/internal/stm/tReentrantLock.ts +0 -352
- package/src/internal/stm/tRef.ts +0 -195
- package/src/internal/stm/tSemaphore.ts +0 -113
- package/src/internal/stm/tSet.ts +0 -259
- package/src/internal/stm/tSubscriptionRef.ts +0 -286
- package/src/internal/stm/tryCommit.ts +0 -34
- package/src/internal/stm/txnId.ts +0 -14
- package/src/internal/stm/versioned.ts +0 -4
- package/src/internal/stream/debounceState.ts +0 -57
- package/src/internal/stream/emit.ts +0 -123
- package/src/internal/stream/haltStrategy.ts +0 -94
- package/src/internal/stream/handoff.ts +0 -187
- package/src/internal/stream/handoffSignal.ts +0 -59
- package/src/internal/stream/pull.ts +0 -34
- package/src/internal/stream/sinkEndReason.ts +0 -30
- package/src/internal/stream/zipAllState.ts +0 -88
- package/src/internal/stream/zipChunksState.ts +0 -56
- package/src/internal/stream.ts +0 -8801
- package/src/internal/string-utils.ts +0 -107
- package/src/internal/subscriptionRef.ts +0 -138
- package/src/internal/supervisor/patch.ts +0 -190
- package/src/internal/supervisor.ts +0 -303
- package/src/internal/synchronizedRef.ts +0 -114
- package/src/internal/take.ts +0 -199
- package/src/internal/testing/sleep.ts +0 -27
- package/src/internal/testing/suspendedWarningData.ts +0 -85
- package/src/internal/testing/warningData.ts +0 -94
- package/src/internal/tracer.ts +0 -293
- package/src/internal/trie.ts +0 -722
- package/src/internal/version.ts +0 -7
package/src/TQueue.ts
DELETED
|
@@ -1,432 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 2.0.0
|
|
3
|
-
*/
|
|
4
|
-
import * as internal from "./internal/stm/tQueue.js"
|
|
5
|
-
import type * as Option from "./Option.js"
|
|
6
|
-
import type { Predicate } from "./Predicate.js"
|
|
7
|
-
import type * as STM from "./STM.js"
|
|
8
|
-
import type * as Types from "./Types.js"
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @since 2.0.0
|
|
12
|
-
* @category symbols
|
|
13
|
-
*/
|
|
14
|
-
export const TDequeueTypeId: unique symbol = internal.TDequeueTypeId
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* @since 2.0.0
|
|
18
|
-
* @category symbols
|
|
19
|
-
*/
|
|
20
|
-
export type TDequeueTypeId = typeof TDequeueTypeId
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @since 2.0.0
|
|
24
|
-
* @category symbols
|
|
25
|
-
*/
|
|
26
|
-
export const TEnqueueTypeId: unique symbol = internal.TEnqueueTypeId
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @since 2.0.0
|
|
30
|
-
* @category symbols
|
|
31
|
-
*/
|
|
32
|
-
export type TEnqueueTypeId = typeof TEnqueueTypeId
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @since 2.0.0
|
|
36
|
-
* @category models
|
|
37
|
-
*/
|
|
38
|
-
export interface TQueue<in out A> extends TEnqueue<A>, TDequeue<A> {}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @since 2.0.0
|
|
42
|
-
* @category models
|
|
43
|
-
*/
|
|
44
|
-
export interface TEnqueue<in A> extends TQueue.TEnqueueVariance<A>, BaseTQueue {
|
|
45
|
-
/**
|
|
46
|
-
* Places one value in the queue.
|
|
47
|
-
*/
|
|
48
|
-
offer(value: A): STM.STM<boolean>
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* For Bounded TQueue: uses the `BackPressure` Strategy, places the values in
|
|
52
|
-
* the queue and always returns true. If the queue has reached capacity, then
|
|
53
|
-
* the fiber performing the `offerAll` will be suspended until there is room
|
|
54
|
-
* in the queue.
|
|
55
|
-
*
|
|
56
|
-
* For Unbounded TQueue: Places all values in the queue and returns true.
|
|
57
|
-
*
|
|
58
|
-
* For Sliding TQueue: uses `Sliding` Strategy If there is room in the queue,
|
|
59
|
-
* it places the values otherwise it removes the old elements and enqueues the
|
|
60
|
-
* new ones. Always returns true.
|
|
61
|
-
*
|
|
62
|
-
* For Dropping TQueue: uses `Dropping` Strategy, It places the values in the
|
|
63
|
-
* queue but if there is no room it will not enqueue them and return false.
|
|
64
|
-
*/
|
|
65
|
-
offerAll(iterable: Iterable<A>): STM.STM<boolean>
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* @since 2.0.0
|
|
70
|
-
* @category models
|
|
71
|
-
*/
|
|
72
|
-
export interface TDequeue<out A> extends TQueue.TDequeueVariance<A>, BaseTQueue {
|
|
73
|
-
/**
|
|
74
|
-
* Views the next element in the queue without removing it, retrying if the
|
|
75
|
-
* queue is empty.
|
|
76
|
-
*/
|
|
77
|
-
readonly peek: STM.STM<A>
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Views the next element in the queue without removing it, returning `None`
|
|
81
|
-
* if the queue is empty.
|
|
82
|
-
*/
|
|
83
|
-
readonly peekOption: STM.STM<Option.Option<A>>
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Takes the oldest value in the queue. If the queue is empty, this will return
|
|
87
|
-
* a computation that resumes when an item has been added to the queue.
|
|
88
|
-
*/
|
|
89
|
-
readonly take: STM.STM<A>
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Takes all the values in the queue and returns the values. If the queue is
|
|
93
|
-
* empty returns an empty collection.
|
|
94
|
-
*/
|
|
95
|
-
readonly takeAll: STM.STM<Array<A>>
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Takes up to max number of values from the queue.
|
|
99
|
-
*/
|
|
100
|
-
takeUpTo(max: number): STM.STM<Array<A>>
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* The base interface that all `TQueue`s must implement.
|
|
105
|
-
*
|
|
106
|
-
* @since 2.0.0
|
|
107
|
-
* @category models
|
|
108
|
-
*/
|
|
109
|
-
export interface BaseTQueue {
|
|
110
|
-
/**
|
|
111
|
-
* Returns the number of elements the queue can hold.
|
|
112
|
-
*/
|
|
113
|
-
capacity(): number
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Retrieves the size of the queue, which is equal to the number of elements
|
|
117
|
-
* in the queue. This may be negative if fibers are suspended waiting for
|
|
118
|
-
* elements to be added to the queue.
|
|
119
|
-
*/
|
|
120
|
-
readonly size: STM.STM<number>
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Returns `true` if the `TQueue` contains at least one element, `false`
|
|
124
|
-
* otherwise.
|
|
125
|
-
*/
|
|
126
|
-
readonly isFull: STM.STM<boolean>
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Returns `true` if the `TQueue` contains zero elements, `false` otherwise.
|
|
130
|
-
*/
|
|
131
|
-
readonly isEmpty: STM.STM<boolean>
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Interrupts any fibers that are suspended on `offer` or `take`. Future calls
|
|
135
|
-
* to `offer*` and `take*` will be interrupted immediately.
|
|
136
|
-
*/
|
|
137
|
-
readonly shutdown: STM.STM<void>
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
141
|
-
*/
|
|
142
|
-
readonly isShutdown: STM.STM<boolean>
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Waits until the queue is shutdown. The `STM` returned by this method will
|
|
146
|
-
* not resume until the queue has been shutdown. If the queue is already
|
|
147
|
-
* shutdown, the `STM` will resume right away.
|
|
148
|
-
*/
|
|
149
|
-
readonly awaitShutdown: STM.STM<void>
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* @since 2.0.0
|
|
154
|
-
*/
|
|
155
|
-
export declare namespace TQueue {
|
|
156
|
-
/**
|
|
157
|
-
* @since 2.0.0
|
|
158
|
-
* @category models
|
|
159
|
-
*/
|
|
160
|
-
export interface TEnqueueVariance<in A> {
|
|
161
|
-
readonly [TEnqueueTypeId]: {
|
|
162
|
-
readonly _In: Types.Contravariant<A>
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* @since 2.0.0
|
|
168
|
-
* @category models
|
|
169
|
-
*/
|
|
170
|
-
export interface TDequeueVariance<out A> {
|
|
171
|
-
readonly [TDequeueTypeId]: {
|
|
172
|
-
readonly _Out: Types.Covariant<A>
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Returns `true` if the specified value is a `TQueue`, `false` otherwise.
|
|
179
|
-
*
|
|
180
|
-
* @since 2.0.0
|
|
181
|
-
* @category refinements
|
|
182
|
-
*/
|
|
183
|
-
export const isTQueue: (u: unknown) => u is TQueue<unknown> = internal.isTQueue
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Returns `true` if the specified value is a `TDequeue`, `false` otherwise.
|
|
187
|
-
*
|
|
188
|
-
* @since 2.0.0
|
|
189
|
-
* @category refinements
|
|
190
|
-
*/
|
|
191
|
-
export const isTDequeue: (u: unknown) => u is TDequeue<unknown> = internal.isTDequeue
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Returns `true` if the specified value is a `TEnqueue`, `false` otherwise.
|
|
195
|
-
*
|
|
196
|
-
* @since 2.0.0
|
|
197
|
-
* @category refinements
|
|
198
|
-
*/
|
|
199
|
-
export const isTEnqueue: (u: unknown) => u is TEnqueue<unknown> = internal.isTEnqueue
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Waits until the queue is shutdown. The `STM` returned by this method will
|
|
203
|
-
* not resume until the queue has been shutdown. If the queue is already
|
|
204
|
-
* shutdown, the `STM` will resume right away.
|
|
205
|
-
*
|
|
206
|
-
* @since 2.0.0
|
|
207
|
-
* @category mutations
|
|
208
|
-
*/
|
|
209
|
-
export const awaitShutdown: <A>(self: TDequeue<A> | TEnqueue<A>) => STM.STM<void> = internal.awaitShutdown
|
|
210
|
-
|
|
211
|
-
/**
|
|
212
|
-
* Creates a bounded queue with the back pressure strategy. The queue will
|
|
213
|
-
* retain values until they have been taken, applying back pressure to
|
|
214
|
-
* offerors if the queue is at capacity.
|
|
215
|
-
*
|
|
216
|
-
* For best performance use capacities that are powers of two.
|
|
217
|
-
*
|
|
218
|
-
* @since 2.0.0
|
|
219
|
-
* @category constructors
|
|
220
|
-
*/
|
|
221
|
-
export const bounded: <A>(requestedCapacity: number) => STM.STM<TQueue<A>> = internal.bounded
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* Returns the number of elements the queue can hold.
|
|
225
|
-
*
|
|
226
|
-
* @since 2.0.0
|
|
227
|
-
* @category getters
|
|
228
|
-
*/
|
|
229
|
-
export const capacity: <A>(self: TDequeue<A> | TEnqueue<A>) => number = internal.capacity
|
|
230
|
-
|
|
231
|
-
/**
|
|
232
|
-
* Creates a bounded queue with the dropping strategy. The queue will drop new
|
|
233
|
-
* values if the queue is at capacity.
|
|
234
|
-
*
|
|
235
|
-
* For best performance use capacities that are powers of two.
|
|
236
|
-
*
|
|
237
|
-
* @since 2.0.0
|
|
238
|
-
* @category constructors
|
|
239
|
-
*/
|
|
240
|
-
export const dropping: <A>(requestedCapacity: number) => STM.STM<TQueue<A>> = internal.dropping
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* Returns `true` if the `TQueue` contains zero elements, `false` otherwise.
|
|
244
|
-
*
|
|
245
|
-
* @since 2.0.0
|
|
246
|
-
* @category getters
|
|
247
|
-
*/
|
|
248
|
-
export const isEmpty: <A>(self: TDequeue<A> | TEnqueue<A>) => STM.STM<boolean> = internal.isEmpty
|
|
249
|
-
|
|
250
|
-
/**
|
|
251
|
-
* Returns `true` if the `TQueue` contains at least one element, `false`
|
|
252
|
-
* otherwise.
|
|
253
|
-
*
|
|
254
|
-
* @since 2.0.0
|
|
255
|
-
* @category getters
|
|
256
|
-
*/
|
|
257
|
-
export const isFull: <A>(self: TDequeue<A> | TEnqueue<A>) => STM.STM<boolean> = internal.isFull
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
261
|
-
*
|
|
262
|
-
* @since 2.0.0
|
|
263
|
-
* @category getters
|
|
264
|
-
*/
|
|
265
|
-
export const isShutdown: <A>(self: TDequeue<A> | TEnqueue<A>) => STM.STM<boolean> = internal.isShutdown
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* Places one value in the queue.
|
|
269
|
-
*
|
|
270
|
-
* @since 2.0.0
|
|
271
|
-
* @category mutations
|
|
272
|
-
*/
|
|
273
|
-
export const offer: {
|
|
274
|
-
<A>(value: A): (self: TEnqueue<A>) => STM.STM<void>
|
|
275
|
-
<A>(self: TEnqueue<A>, value: A): STM.STM<void>
|
|
276
|
-
} = internal.offer
|
|
277
|
-
|
|
278
|
-
/**
|
|
279
|
-
* For Bounded TQueue: uses the `BackPressure` Strategy, places the values in
|
|
280
|
-
* the queue and always returns true. If the queue has reached capacity, then
|
|
281
|
-
* the fiber performing the `offerAll` will be suspended until there is room
|
|
282
|
-
* in the queue.
|
|
283
|
-
*
|
|
284
|
-
* For Unbounded TQueue: Places all values in the queue and returns true.
|
|
285
|
-
*
|
|
286
|
-
* For Sliding TQueue: uses `Sliding` Strategy If there is room in the queue,
|
|
287
|
-
* it places the values otherwise it removes the old elements and enqueues the
|
|
288
|
-
* new ones. Always returns true.
|
|
289
|
-
*
|
|
290
|
-
* For Dropping TQueue: uses `Dropping` Strategy, It places the values in the
|
|
291
|
-
* queue but if there is no room it will not enqueue them and return false.
|
|
292
|
-
*
|
|
293
|
-
* @since 2.0.0
|
|
294
|
-
* @category mutations
|
|
295
|
-
*/
|
|
296
|
-
export const offerAll: {
|
|
297
|
-
<A>(iterable: Iterable<A>): (self: TEnqueue<A>) => STM.STM<boolean>
|
|
298
|
-
<A>(self: TEnqueue<A>, iterable: Iterable<A>): STM.STM<boolean>
|
|
299
|
-
} = internal.offerAll
|
|
300
|
-
|
|
301
|
-
/**
|
|
302
|
-
* Views the next element in the queue without removing it, retrying if the
|
|
303
|
-
* queue is empty.
|
|
304
|
-
*
|
|
305
|
-
* @since 2.0.0
|
|
306
|
-
* @category getters
|
|
307
|
-
*/
|
|
308
|
-
export const peek: <A>(self: TDequeue<A>) => STM.STM<A> = internal.peek
|
|
309
|
-
|
|
310
|
-
/**
|
|
311
|
-
* Views the next element in the queue without removing it, returning `None`
|
|
312
|
-
* if the queue is empty.
|
|
313
|
-
*
|
|
314
|
-
* @since 2.0.0
|
|
315
|
-
* @category getters
|
|
316
|
-
*/
|
|
317
|
-
export const peekOption: <A>(self: TDequeue<A>) => STM.STM<Option.Option<A>> = internal.peekOption
|
|
318
|
-
|
|
319
|
-
/**
|
|
320
|
-
* Takes a single element from the queue, returning `None` if the queue is
|
|
321
|
-
* empty.
|
|
322
|
-
*
|
|
323
|
-
* @since 2.0.0
|
|
324
|
-
* @category getters
|
|
325
|
-
*/
|
|
326
|
-
export const poll: <A>(self: TDequeue<A>) => STM.STM<Option.Option<A>> = internal.poll
|
|
327
|
-
|
|
328
|
-
/**
|
|
329
|
-
* Drops elements from the queue while they do not satisfy the predicate,
|
|
330
|
-
* taking and returning the first element that does satisfy the predicate.
|
|
331
|
-
* Retries if no elements satisfy the predicate.
|
|
332
|
-
*
|
|
333
|
-
* @since 2.0.0
|
|
334
|
-
* @category mutations
|
|
335
|
-
*/
|
|
336
|
-
export const seek: {
|
|
337
|
-
<A>(predicate: Predicate<A>): (self: TDequeue<A>) => STM.STM<A>
|
|
338
|
-
<A>(self: TDequeue<A>, predicate: Predicate<A>): STM.STM<A>
|
|
339
|
-
} = internal.seek
|
|
340
|
-
|
|
341
|
-
/**
|
|
342
|
-
* Interrupts any fibers that are suspended on `offer` or `take`. Future calls
|
|
343
|
-
* to `offer*` and `take*` will be interrupted immediately.
|
|
344
|
-
*
|
|
345
|
-
* @since 2.0.0
|
|
346
|
-
* @category mutations
|
|
347
|
-
*/
|
|
348
|
-
export const shutdown: <A>(self: TDequeue<A> | TEnqueue<A>) => STM.STM<void> = internal.shutdown
|
|
349
|
-
|
|
350
|
-
/**
|
|
351
|
-
* Retrieves the size of the queue, which is equal to the number of elements
|
|
352
|
-
* in the queue. This may be negative if fibers are suspended waiting for
|
|
353
|
-
* elements to be added to the queue.
|
|
354
|
-
*
|
|
355
|
-
* @since 2.0.0
|
|
356
|
-
* @category getters
|
|
357
|
-
*/
|
|
358
|
-
export const size: <A>(self: TDequeue<A> | TEnqueue<A>) => STM.STM<number> = internal.size
|
|
359
|
-
|
|
360
|
-
/**
|
|
361
|
-
* Creates a bounded queue with the sliding strategy. The queue will add new
|
|
362
|
-
* values and drop old values if the queue is at capacity.
|
|
363
|
-
*
|
|
364
|
-
* For best performance use capacities that are powers of two.
|
|
365
|
-
*
|
|
366
|
-
* @since 2.0.0
|
|
367
|
-
* @category constructors
|
|
368
|
-
*/
|
|
369
|
-
export const sliding: <A>(requestedCapacity: number) => STM.STM<TQueue<A>> = internal.sliding
|
|
370
|
-
|
|
371
|
-
/**
|
|
372
|
-
* Takes the oldest value in the queue. If the queue is empty, this will return
|
|
373
|
-
* a computation that resumes when an item has been added to the queue.
|
|
374
|
-
*
|
|
375
|
-
* @since 2.0.0
|
|
376
|
-
* @category mutations
|
|
377
|
-
*/
|
|
378
|
-
export const take: <A>(self: TDequeue<A>) => STM.STM<A> = internal.take
|
|
379
|
-
|
|
380
|
-
/**
|
|
381
|
-
* Takes all the values in the queue and returns the values. If the queue is
|
|
382
|
-
* empty returns an empty collection.
|
|
383
|
-
*
|
|
384
|
-
* @since 2.0.0
|
|
385
|
-
* @category mutations
|
|
386
|
-
*/
|
|
387
|
-
export const takeAll: <A>(self: TDequeue<A>) => STM.STM<Array<A>> = internal.takeAll
|
|
388
|
-
|
|
389
|
-
/**
|
|
390
|
-
* Takes a number of elements from the queue between the specified minimum and
|
|
391
|
-
* maximum. If there are fewer than the minimum number of elements available,
|
|
392
|
-
* retries until at least the minimum number of elements have been collected.
|
|
393
|
-
*
|
|
394
|
-
* @since 2.0.0
|
|
395
|
-
* @category mutations
|
|
396
|
-
*/
|
|
397
|
-
export const takeBetween: {
|
|
398
|
-
(min: number, max: number): <A>(self: TDequeue<A>) => STM.STM<Array<A>>
|
|
399
|
-
<A>(self: TDequeue<A>, min: number, max: number): STM.STM<Array<A>>
|
|
400
|
-
} = internal.takeBetween
|
|
401
|
-
|
|
402
|
-
/**
|
|
403
|
-
* Takes the specified number of elements from the queue. If there are fewer
|
|
404
|
-
* than the specified number of elements available, it retries until they
|
|
405
|
-
* become available.
|
|
406
|
-
*
|
|
407
|
-
* @since 2.0.0
|
|
408
|
-
* @category mutations
|
|
409
|
-
*/
|
|
410
|
-
export const takeN: {
|
|
411
|
-
(n: number): <A>(self: TDequeue<A>) => STM.STM<Array<A>>
|
|
412
|
-
<A>(self: TDequeue<A>, n: number): STM.STM<Array<A>>
|
|
413
|
-
} = internal.takeN
|
|
414
|
-
|
|
415
|
-
/**
|
|
416
|
-
* Takes up to max number of values from the queue.
|
|
417
|
-
*
|
|
418
|
-
* @since 2.0.0
|
|
419
|
-
* @category mutations
|
|
420
|
-
*/
|
|
421
|
-
export const takeUpTo: {
|
|
422
|
-
(max: number): <A>(self: TDequeue<A>) => STM.STM<Array<A>>
|
|
423
|
-
<A>(self: TDequeue<A>, max: number): STM.STM<Array<A>>
|
|
424
|
-
} = internal.takeUpTo
|
|
425
|
-
|
|
426
|
-
/**
|
|
427
|
-
* Creates an unbounded queue.
|
|
428
|
-
*
|
|
429
|
-
* @since 2.0.0
|
|
430
|
-
* @category constructors
|
|
431
|
-
*/
|
|
432
|
-
export const unbounded: <A>() => STM.STM<TQueue<A>> = internal.unbounded
|
package/src/TRandom.ts
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 2.0.0
|
|
3
|
-
*/
|
|
4
|
-
import type * as Context from "./Context.js"
|
|
5
|
-
import * as internal from "./internal/stm/tRandom.js"
|
|
6
|
-
import type * as Layer from "./Layer.js"
|
|
7
|
-
import type * as STM from "./STM.js"
|
|
8
|
-
import type * as TRef from "./TRef.js"
|
|
9
|
-
import type * as Random from "./Utils.js"
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @since 2.0.0
|
|
13
|
-
* @category symbols
|
|
14
|
-
*/
|
|
15
|
-
export const TRandomTypeId: unique symbol = internal.TRandomTypeId
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @since 2.0.0
|
|
19
|
-
* @category symbols
|
|
20
|
-
*/
|
|
21
|
-
export type TRandomTypeId = typeof TRandomTypeId
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @since 2.0.0
|
|
25
|
-
* @category models
|
|
26
|
-
*/
|
|
27
|
-
export interface TRandom {
|
|
28
|
-
readonly [TRandomTypeId]: TRandomTypeId
|
|
29
|
-
/**
|
|
30
|
-
* Returns the next numeric value from the pseudo-random number generator.
|
|
31
|
-
*/
|
|
32
|
-
readonly next: STM.STM<number>
|
|
33
|
-
/**
|
|
34
|
-
* Returns the next boolean value from the pseudo-random number generator.
|
|
35
|
-
*/
|
|
36
|
-
readonly nextBoolean: STM.STM<boolean>
|
|
37
|
-
/**
|
|
38
|
-
* Returns the next integer value from the pseudo-random number generator.
|
|
39
|
-
*/
|
|
40
|
-
readonly nextInt: STM.STM<number>
|
|
41
|
-
/**
|
|
42
|
-
* Returns the next numeric value in the specified range from the
|
|
43
|
-
* pseudo-random number generator.
|
|
44
|
-
*/
|
|
45
|
-
nextRange(min: number, max: number): STM.STM<number>
|
|
46
|
-
/**
|
|
47
|
-
* Returns the next integer value in the specified range from the
|
|
48
|
-
* pseudo-random number generator.
|
|
49
|
-
*/
|
|
50
|
-
nextIntBetween(min: number, max: number): STM.STM<number>
|
|
51
|
-
/**
|
|
52
|
-
* Uses the pseudo-random number generator to shuffle the specified iterable.
|
|
53
|
-
*/
|
|
54
|
-
shuffle<A>(elements: Iterable<A>): STM.STM<Array<A>>
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* @internal
|
|
58
|
-
* @since 2.0.0
|
|
59
|
-
*/
|
|
60
|
-
export interface TRandom {
|
|
61
|
-
/** @internal */
|
|
62
|
-
readonly state: TRef.TRef<Random.PCGRandomState>
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* The service tag used to access `TRandom` in the environment of an effect.
|
|
67
|
-
*
|
|
68
|
-
* @since 2.0.0
|
|
69
|
-
* @category context
|
|
70
|
-
*/
|
|
71
|
-
export const Tag: Context.Tag<TRandom, TRandom> = internal.Tag
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* The "live" `TRandom` service wrapped into a `Layer`.
|
|
75
|
-
*
|
|
76
|
-
* @since 2.0.0
|
|
77
|
-
* @category context
|
|
78
|
-
*/
|
|
79
|
-
export const live: Layer.Layer<TRandom> = internal.live
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Returns the next number from the pseudo-random number generator.
|
|
83
|
-
*
|
|
84
|
-
* @since 2.0.0
|
|
85
|
-
* @category random
|
|
86
|
-
*/
|
|
87
|
-
export const next: STM.STM<number, never, TRandom> = internal.next
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Returns the next boolean value from the pseudo-random number generator.
|
|
91
|
-
*
|
|
92
|
-
* @since 2.0.0
|
|
93
|
-
* @category random
|
|
94
|
-
*/
|
|
95
|
-
export const nextBoolean: STM.STM<boolean, never, TRandom> = internal.nextBoolean
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Returns the next integer from the pseudo-random number generator.
|
|
99
|
-
*
|
|
100
|
-
* @since 2.0.0
|
|
101
|
-
* @category random
|
|
102
|
-
*/
|
|
103
|
-
export const nextInt: STM.STM<number, never, TRandom> = internal.nextInt
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Returns the next integer in the specified range from the pseudo-random number
|
|
107
|
-
* generator.
|
|
108
|
-
*
|
|
109
|
-
* @since 2.0.0
|
|
110
|
-
* @category random
|
|
111
|
-
*/
|
|
112
|
-
export const nextIntBetween: (low: number, high: number) => STM.STM<number, never, TRandom> = internal.nextIntBetween
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Returns the next number in the specified range from the pseudo-random number
|
|
116
|
-
* generator.
|
|
117
|
-
*
|
|
118
|
-
* @since 2.0.0
|
|
119
|
-
* @category random
|
|
120
|
-
*/
|
|
121
|
-
export const nextRange: (min: number, max: number) => STM.STM<number, never, TRandom> = internal.nextRange
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Uses the pseudo-random number generator to shuffle the specified iterable.
|
|
125
|
-
*
|
|
126
|
-
* @since 2.0.0
|
|
127
|
-
* @category random
|
|
128
|
-
*/
|
|
129
|
-
export const shuffle: <A>(elements: Iterable<A>) => STM.STM<Array<A>, never, TRandom> = internal.shuffle
|