@clayroach/effect 3.19.14-source-capture.7 → 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/GroupBy.ts
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 2.0.0
|
|
3
|
-
*/
|
|
4
|
-
import * as internal from "./internal/groupBy.js"
|
|
5
|
-
import type { Pipeable } from "./Pipeable.js"
|
|
6
|
-
import type { Predicate } from "./Predicate.js"
|
|
7
|
-
import type * as Queue from "./Queue.js"
|
|
8
|
-
import type * as Stream from "./Stream.js"
|
|
9
|
-
import type * as Take from "./Take.js"
|
|
10
|
-
import type { Covariant, NoInfer } from "./Types.js"
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @since 2.0.0
|
|
14
|
-
* @category symbols
|
|
15
|
-
*/
|
|
16
|
-
export const GroupByTypeId: unique symbol = internal.GroupByTypeId
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* @since 2.0.0
|
|
20
|
-
* @category symbols
|
|
21
|
-
*/
|
|
22
|
-
export type GroupByTypeId = typeof GroupByTypeId
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Representation of a grouped stream. This allows to filter which groups will
|
|
26
|
-
* be processed. Once this is applied all groups will be processed in parallel
|
|
27
|
-
* and the results will be merged in arbitrary order.
|
|
28
|
-
*
|
|
29
|
-
* @since 2.0.0
|
|
30
|
-
* @category models
|
|
31
|
-
*/
|
|
32
|
-
export interface GroupBy<out K, out V, out E = never, out R = never> extends GroupBy.Variance<K, V, E, R>, Pipeable {
|
|
33
|
-
readonly grouped: Stream.Stream<readonly [K, Queue.Dequeue<Take.Take<V, E>>], E, R>
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* @since 2.0.0
|
|
38
|
-
*/
|
|
39
|
-
export declare namespace GroupBy {
|
|
40
|
-
/**
|
|
41
|
-
* @since 2.0.0
|
|
42
|
-
* @category models
|
|
43
|
-
*/
|
|
44
|
-
export interface Variance<out K, out V, out E, out R> {
|
|
45
|
-
readonly [GroupByTypeId]: {
|
|
46
|
-
readonly _K: Covariant<K>
|
|
47
|
-
readonly _V: Covariant<V>
|
|
48
|
-
readonly _E: Covariant<E>
|
|
49
|
-
readonly _R: Covariant<R>
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Run the function across all groups, collecting the results in an
|
|
56
|
-
* arbitrary order.
|
|
57
|
-
*
|
|
58
|
-
* @since 2.0.0
|
|
59
|
-
* @category destructors
|
|
60
|
-
*/
|
|
61
|
-
export const evaluate: {
|
|
62
|
-
<K, V, E, A, E2, R2>(
|
|
63
|
-
f: (key: K, stream: Stream.Stream<V, E, never>) => Stream.Stream<A, E2, R2>,
|
|
64
|
-
options?: { readonly bufferSize?: number | undefined } | undefined
|
|
65
|
-
): <R>(self: GroupBy<K, V, E, R>) => Stream.Stream<A, E | E2, R2 | R>
|
|
66
|
-
<K, V, E, R, A, E2, R2>(
|
|
67
|
-
self: GroupBy<K, V, E, R>,
|
|
68
|
-
f: (key: K, stream: Stream.Stream<V, E, never>) => Stream.Stream<A, E2, R2>,
|
|
69
|
-
options?: { readonly bufferSize?: number | undefined } | undefined
|
|
70
|
-
): Stream.Stream<A, E | E2, R | R2>
|
|
71
|
-
} = internal.evaluate
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Filter the groups to be processed.
|
|
75
|
-
*
|
|
76
|
-
* @since 2.0.0
|
|
77
|
-
* @category utils
|
|
78
|
-
*/
|
|
79
|
-
export const filter: {
|
|
80
|
-
<K>(predicate: Predicate<NoInfer<K>>): <V, E, R>(self: GroupBy<K, V, E, R>) => GroupBy<K, V, E, R>
|
|
81
|
-
<K, V, E, R>(self: GroupBy<K, V, E, R>, predicate: Predicate<K>): GroupBy<K, V, E, R>
|
|
82
|
-
} = internal.filter
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Only consider the first `n` groups found in the `Stream`.
|
|
86
|
-
*
|
|
87
|
-
* @since 2.0.0
|
|
88
|
-
* @category utils
|
|
89
|
-
*/
|
|
90
|
-
export const first: {
|
|
91
|
-
(n: number): <K, V, E, R>(self: GroupBy<K, V, E, R>) => GroupBy<K, V, E, R>
|
|
92
|
-
<K, V, E, R>(self: GroupBy<K, V, E, R>, n: number): GroupBy<K, V, E, R>
|
|
93
|
-
} = internal.first
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Constructs a `GroupBy` from a `Stream`.
|
|
97
|
-
*
|
|
98
|
-
* @since 2.0.0
|
|
99
|
-
* @category constructors
|
|
100
|
-
*/
|
|
101
|
-
export const make: <K, V, E, R>(
|
|
102
|
-
grouped: Stream.Stream<readonly [K, Queue.Dequeue<Take.Take<V, E>>], E, R>
|
|
103
|
-
) => GroupBy<K, V, E, R> = internal.make
|
package/src/HKT.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 2.0.0
|
|
3
|
-
*/
|
|
4
|
-
import type * as Types from "./Types.js"
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @since 2.0.0
|
|
8
|
-
*/
|
|
9
|
-
export declare const URI: unique symbol
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @since 2.0.0
|
|
13
|
-
*/
|
|
14
|
-
export interface TypeClass<F extends TypeLambda> {
|
|
15
|
-
readonly [URI]?: F
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* @since 2.0.0
|
|
20
|
-
*/
|
|
21
|
-
export interface TypeLambda {
|
|
22
|
-
readonly In: unknown
|
|
23
|
-
readonly Out2: unknown
|
|
24
|
-
readonly Out1: unknown
|
|
25
|
-
readonly Target: unknown
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @since 2.0.0
|
|
30
|
-
*/
|
|
31
|
-
export type Kind<F extends TypeLambda, In, Out2, Out1, Target> = F extends {
|
|
32
|
-
readonly type: unknown
|
|
33
|
-
} ? (F & {
|
|
34
|
-
readonly In: In
|
|
35
|
-
readonly Out2: Out2
|
|
36
|
-
readonly Out1: Out1
|
|
37
|
-
readonly Target: Target
|
|
38
|
-
})["type"]
|
|
39
|
-
: {
|
|
40
|
-
readonly F: F
|
|
41
|
-
readonly In: Types.Contravariant<In>
|
|
42
|
-
readonly Out2: Types.Covariant<Out2>
|
|
43
|
-
readonly Out1: Types.Covariant<Out1>
|
|
44
|
-
readonly Target: Types.Invariant<Target>
|
|
45
|
-
}
|
package/src/Hash.ts
DELETED
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 2.0.0
|
|
3
|
-
*/
|
|
4
|
-
import { pipe } from "./Function.js"
|
|
5
|
-
import { globalValue } from "./GlobalValue.js"
|
|
6
|
-
import { hasProperty } from "./Predicate.js"
|
|
7
|
-
import { structuralRegionState } from "./Utils.js"
|
|
8
|
-
|
|
9
|
-
/** @internal */
|
|
10
|
-
const randomHashCache = globalValue(
|
|
11
|
-
Symbol.for("effect/Hash/randomHashCache"),
|
|
12
|
-
() => new WeakMap<object, number>()
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @since 2.0.0
|
|
17
|
-
* @category symbols
|
|
18
|
-
*/
|
|
19
|
-
export const symbol: unique symbol = Symbol.for("effect/Hash")
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* @since 2.0.0
|
|
23
|
-
* @category models
|
|
24
|
-
*/
|
|
25
|
-
export interface Hash {
|
|
26
|
-
[symbol](): number
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* @since 2.0.0
|
|
31
|
-
* @category hashing
|
|
32
|
-
*/
|
|
33
|
-
export const hash: <A>(self: A) => number = <A>(self: A) => {
|
|
34
|
-
if (structuralRegionState.enabled === true) {
|
|
35
|
-
return 0
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
switch (typeof self) {
|
|
39
|
-
case "number":
|
|
40
|
-
return number(self)
|
|
41
|
-
case "bigint":
|
|
42
|
-
return string(self.toString(10))
|
|
43
|
-
case "boolean":
|
|
44
|
-
return string(String(self))
|
|
45
|
-
case "symbol":
|
|
46
|
-
return string(String(self))
|
|
47
|
-
case "string":
|
|
48
|
-
return string(self)
|
|
49
|
-
case "undefined":
|
|
50
|
-
return string("undefined")
|
|
51
|
-
case "function":
|
|
52
|
-
case "object": {
|
|
53
|
-
if (self === null) {
|
|
54
|
-
return string("null")
|
|
55
|
-
} else if (self instanceof Date) {
|
|
56
|
-
if (Number.isNaN(self.getTime())) {
|
|
57
|
-
return string("Invalid Date")
|
|
58
|
-
}
|
|
59
|
-
return hash(self.toISOString())
|
|
60
|
-
} else if (self instanceof URL) {
|
|
61
|
-
return hash(self.href)
|
|
62
|
-
} else if (isHash(self)) {
|
|
63
|
-
return self[symbol]()
|
|
64
|
-
} else {
|
|
65
|
-
return random(self)
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
default:
|
|
69
|
-
throw new Error(
|
|
70
|
-
`BUG: unhandled typeof ${typeof self} - please report an issue at https://github.com/Effect-TS/effect/issues`
|
|
71
|
-
)
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* @since 2.0.0
|
|
77
|
-
* @category hashing
|
|
78
|
-
*/
|
|
79
|
-
export const random: <A extends object>(self: A) => number = (self) => {
|
|
80
|
-
if (!randomHashCache.has(self)) {
|
|
81
|
-
randomHashCache.set(self, number(Math.floor(Math.random() * Number.MAX_SAFE_INTEGER)))
|
|
82
|
-
}
|
|
83
|
-
return randomHashCache.get(self)!
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* @since 2.0.0
|
|
88
|
-
* @category hashing
|
|
89
|
-
*/
|
|
90
|
-
export const combine: (b: number) => (self: number) => number = (b) => (self) => (self * 53) ^ b
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* @since 2.0.0
|
|
94
|
-
* @category hashing
|
|
95
|
-
*/
|
|
96
|
-
export const optimize = (n: number): number => (n & 0xbfffffff) | ((n >>> 1) & 0x40000000)
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* @since 2.0.0
|
|
100
|
-
* @category guards
|
|
101
|
-
*/
|
|
102
|
-
export const isHash = (u: unknown): u is Hash => hasProperty(u, symbol)
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* @since 2.0.0
|
|
106
|
-
* @category hashing
|
|
107
|
-
*/
|
|
108
|
-
export const number = (n: number) => {
|
|
109
|
-
if (n !== n || n === Infinity) {
|
|
110
|
-
return 0
|
|
111
|
-
}
|
|
112
|
-
let h = n | 0
|
|
113
|
-
if (h !== n) {
|
|
114
|
-
h ^= n * 0xffffffff
|
|
115
|
-
}
|
|
116
|
-
while (n > 0xffffffff) {
|
|
117
|
-
h ^= n /= 0xffffffff
|
|
118
|
-
}
|
|
119
|
-
return optimize(h)
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* @since 2.0.0
|
|
124
|
-
* @category hashing
|
|
125
|
-
*/
|
|
126
|
-
export const string = (str: string) => {
|
|
127
|
-
let h = 5381, i = str.length
|
|
128
|
-
while (i) {
|
|
129
|
-
h = (h * 33) ^ str.charCodeAt(--i)
|
|
130
|
-
}
|
|
131
|
-
return optimize(h)
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* @since 2.0.0
|
|
136
|
-
* @category hashing
|
|
137
|
-
*/
|
|
138
|
-
export const structureKeys = <A extends object>(o: A, keys: ReadonlyArray<keyof A>) => {
|
|
139
|
-
let h = 12289
|
|
140
|
-
for (let i = 0; i < keys.length; i++) {
|
|
141
|
-
h ^= pipe(string(keys[i]! as string), combine(hash((o as any)[keys[i]!])))
|
|
142
|
-
}
|
|
143
|
-
return optimize(h)
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* @since 2.0.0
|
|
148
|
-
* @category hashing
|
|
149
|
-
*/
|
|
150
|
-
export const structure = <A extends object>(o: A) =>
|
|
151
|
-
structureKeys(o, Object.keys(o) as unknown as ReadonlyArray<keyof A>)
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* @since 2.0.0
|
|
155
|
-
* @category hashing
|
|
156
|
-
*/
|
|
157
|
-
export const array = <A>(arr: ReadonlyArray<A>) => {
|
|
158
|
-
let h = 6151
|
|
159
|
-
for (let i = 0; i < arr.length; i++) {
|
|
160
|
-
h = pipe(h, combine(hash(arr[i])))
|
|
161
|
-
}
|
|
162
|
-
return optimize(h)
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* @since 2.0.0
|
|
167
|
-
* @category hashing
|
|
168
|
-
*/
|
|
169
|
-
export const cached: {
|
|
170
|
-
(self: object): (hash: number) => number
|
|
171
|
-
(self: object, hash: number): number
|
|
172
|
-
} = function() {
|
|
173
|
-
if (arguments.length === 1) {
|
|
174
|
-
const self = arguments[0] as object
|
|
175
|
-
return function(hash: number) {
|
|
176
|
-
Object.defineProperty(self, symbol, {
|
|
177
|
-
value() {
|
|
178
|
-
return hash
|
|
179
|
-
},
|
|
180
|
-
enumerable: false
|
|
181
|
-
})
|
|
182
|
-
return hash
|
|
183
|
-
} as any
|
|
184
|
-
}
|
|
185
|
-
const self = arguments[0] as object
|
|
186
|
-
const hash = arguments[1] as number
|
|
187
|
-
Object.defineProperty(self, symbol, {
|
|
188
|
-
value() {
|
|
189
|
-
return hash
|
|
190
|
-
},
|
|
191
|
-
enumerable: false
|
|
192
|
-
})
|
|
193
|
-
|
|
194
|
-
return hash
|
|
195
|
-
}
|