effect 3.7.3 → 3.8.1
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/Mailbox/package.json +6 -0
- package/dist/cjs/Deferred.js.map +1 -1
- package/dist/cjs/Duration.js +99 -35
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +30 -3
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/Logger.js +29 -1
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Mailbox.js +95 -0
- package/dist/cjs/Mailbox.js.map +1 -0
- package/dist/cjs/MutableHashMap.js +13 -1
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/Number.js +20 -1
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Queue.js.map +1 -1
- package/dist/cjs/RcMap.js +6 -1
- package/dist/cjs/RcMap.js.map +1 -1
- package/dist/cjs/RcRef.js.map +1 -1
- package/dist/cjs/Ref.js.map +1 -1
- package/dist/cjs/Stream.js +11 -2
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/core.js +32 -25
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/defaultServices.js +8 -5
- package/dist/cjs/internal/defaultServices.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +81 -8
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/encoding/base64.js +13 -9
- package/dist/cjs/internal/encoding/base64.js.map +1 -1
- package/dist/cjs/internal/encoding/base64Url.js +6 -5
- package/dist/cjs/internal/encoding/base64Url.js.map +1 -1
- package/dist/cjs/internal/fiber.js +51 -26
- package/dist/cjs/internal/fiber.js.map +1 -1
- package/dist/cjs/internal/fiberRefs.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +126 -96
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/groupBy.js +6 -1
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/layer.js +3 -3
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logger.js +4 -1
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/mailbox.js +408 -0
- package/dist/cjs/internal/mailbox.js.map +1 -0
- package/dist/cjs/internal/managedRuntime.js +1 -1
- package/dist/cjs/internal/managedRuntime.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +6 -1
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/queue.js +6 -1
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/rcMap.js +7 -1
- package/dist/cjs/internal/rcMap.js.map +1 -1
- package/dist/cjs/internal/rcRef.js +10 -6
- package/dist/cjs/internal/rcRef.js.map +1 -1
- package/dist/cjs/internal/ref.js +7 -7
- package/dist/cjs/internal/ref.js.map +1 -1
- package/dist/cjs/internal/runtime.js +1 -1
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/schedule.js +6 -7
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/stream.js +7 -2
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/subscriptionRef.js +7 -8
- package/dist/cjs/internal/subscriptionRef.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Deferred.d.ts +21 -2
- package/dist/dts/Deferred.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +38 -1
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +45 -0
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +69 -2
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +21 -2
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +28 -0
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Mailbox.d.ts +220 -0
- package/dist/dts/Mailbox.d.ts.map +1 -0
- package/dist/dts/MutableHashMap.d.ts +5 -0
- package/dist/dts/MutableHashMap.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +19 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Queue.d.ts +40 -1
- package/dist/dts/Queue.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +5 -0
- package/dist/dts/RcMap.d.ts.map +1 -1
- package/dist/dts/RcRef.d.ts +22 -2
- package/dist/dts/RcRef.d.ts.map +1 -1
- package/dist/dts/Ref.d.ts +22 -2
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +30 -0
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +20 -0
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/SynchronizedRef.d.ts +20 -0
- package/dist/dts/SynchronizedRef.d.ts.map +1 -1
- package/dist/dts/index.d.ts +5 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/fiber.d.ts.map +1 -1
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
- package/dist/dts/internal/logger.d.ts.map +1 -1
- package/dist/dts/internal/mailbox.d.ts +2 -0
- package/dist/dts/internal/mailbox.d.ts.map +1 -0
- package/dist/dts/internal/stream.d.ts +22 -0
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Deferred.js.map +1 -1
- package/dist/esm/Duration.js +92 -33
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +27 -0
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/Logger.js +28 -0
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Mailbox.js +85 -0
- package/dist/esm/Mailbox.js.map +1 -0
- package/dist/esm/MutableHashMap.js +11 -0
- package/dist/esm/MutableHashMap.js.map +1 -1
- package/dist/esm/Number.js +19 -0
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Queue.js.map +1 -1
- package/dist/esm/RcMap.js +5 -0
- package/dist/esm/RcMap.js.map +1 -1
- package/dist/esm/RcRef.js.map +1 -1
- package/dist/esm/Ref.js.map +1 -1
- package/dist/esm/Stream.js +9 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/SynchronizedRef.js.map +1 -1
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/core.js +33 -26
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/defaultServices.js +6 -4
- package/dist/esm/internal/defaultServices.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +77 -6
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/encoding/base64.js +11 -8
- package/dist/esm/internal/encoding/base64.js.map +1 -1
- package/dist/esm/internal/encoding/base64Url.js +6 -5
- package/dist/esm/internal/encoding/base64Url.js.map +1 -1
- package/dist/esm/internal/fiber.js +51 -26
- package/dist/esm/internal/fiber.js.map +1 -1
- package/dist/esm/internal/fiberRefs.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +124 -95
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/groupBy.js +6 -1
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/layer.js +3 -3
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logger.js +3 -0
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/mailbox.js +395 -0
- package/dist/esm/internal/mailbox.js.map +1 -0
- package/dist/esm/internal/managedRuntime.js +1 -1
- package/dist/esm/internal/managedRuntime.js.map +1 -1
- package/dist/esm/internal/pubsub.js +6 -1
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/queue.js +6 -1
- package/dist/esm/internal/queue.js.map +1 -1
- package/dist/esm/internal/rcMap.js +5 -0
- package/dist/esm/internal/rcMap.js.map +1 -1
- package/dist/esm/internal/rcRef.js +10 -6
- package/dist/esm/internal/rcRef.js.map +1 -1
- package/dist/esm/internal/ref.js +7 -7
- package/dist/esm/internal/ref.js.map +1 -1
- package/dist/esm/internal/runtime.js +1 -1
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/schedule.js +6 -7
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/stream.js +5 -0
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/subscriptionRef.js +7 -8
- package/dist/esm/internal/subscriptionRef.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +9 -1
- package/src/Deferred.ts +21 -2
- package/src/Duration.ts +112 -35
- package/src/Effect.ts +52 -0
- package/src/Fiber.ts +78 -2
- package/src/FiberRef.ts +21 -2
- package/src/Logger.ts +30 -0
- package/src/Mailbox.ts +236 -0
- package/src/MutableHashMap.ts +12 -0
- package/src/Number.ts +23 -0
- package/src/Queue.ts +42 -1
- package/src/RcMap.ts +6 -0
- package/src/RcRef.ts +24 -2
- package/src/Ref.ts +22 -2
- package/src/Stream.ts +36 -0
- package/src/SubscriptionRef.ts +22 -0
- package/src/SynchronizedRef.ts +20 -0
- package/src/index.ts +6 -0
- package/src/internal/core.ts +31 -28
- package/src/internal/defaultServices.ts +9 -10
- package/src/internal/effect/circular.ts +83 -6
- package/src/internal/encoding/base64.ts +15 -11
- package/src/internal/encoding/base64Url.ts +6 -5
- package/src/internal/fiber.ts +56 -29
- package/src/internal/fiberRefs.ts +1 -2
- package/src/internal/fiberRuntime.ts +133 -102
- package/src/internal/groupBy.ts +7 -1
- package/src/internal/layer.ts +3 -3
- package/src/internal/logger.ts +4 -0
- package/src/internal/mailbox.ts +461 -0
- package/src/internal/managedRuntime.ts +1 -1
- package/src/internal/pubsub.ts +9 -2
- package/src/internal/queue.ts +7 -1
- package/src/internal/rcMap.ts +8 -0
- package/src/internal/rcRef.ts +10 -6
- package/src/internal/ref.ts +7 -7
- package/src/internal/runtime.ts +1 -1
- package/src/internal/schedule.ts +10 -7
- package/src/internal/stream.ts +53 -0
- package/src/internal/subscriptionRef.ts +7 -8
- package/src/internal/version.ts +1 -1
package/src/internal/stream.ts
CHANGED
|
@@ -21,6 +21,7 @@ import { pipeArguments } from "../Pipeable.js"
|
|
|
21
21
|
import { hasProperty, isTagged, type Predicate, type Refinement } from "../Predicate.js"
|
|
22
22
|
import * as PubSub from "../PubSub.js"
|
|
23
23
|
import * as Queue from "../Queue.js"
|
|
24
|
+
import * as RcRef from "../RcRef.js"
|
|
24
25
|
import * as Ref from "../Ref.js"
|
|
25
26
|
import * as Runtime from "../Runtime.js"
|
|
26
27
|
import * as Schedule from "../Schedule.js"
|
|
@@ -837,6 +838,58 @@ export const broadcastDynamic = dual<
|
|
|
837
838
|
): Effect.Effect<Stream.Stream<A, E>, never, Scope.Scope | R> =>
|
|
838
839
|
Effect.map(toPubSub(self, maximumLag), (pubsub) => flattenTake(fromPubSub(pubsub))))
|
|
839
840
|
|
|
841
|
+
export const share = dual<
|
|
842
|
+
<A, E>(
|
|
843
|
+
config: {
|
|
844
|
+
readonly capacity: "unbounded"
|
|
845
|
+
readonly replay?: number | undefined
|
|
846
|
+
readonly idleTimeToLive?: Duration.DurationInput | undefined
|
|
847
|
+
} | {
|
|
848
|
+
readonly capacity: number
|
|
849
|
+
readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
|
|
850
|
+
readonly replay?: number | undefined
|
|
851
|
+
readonly idleTimeToLive?: Duration.DurationInput | undefined
|
|
852
|
+
}
|
|
853
|
+
) => <R>(
|
|
854
|
+
self: Stream.Stream<A, E, R>
|
|
855
|
+
) => Effect.Effect<Stream.Stream<A, E>, never, R | Scope.Scope>,
|
|
856
|
+
<A, E, R>(
|
|
857
|
+
self: Stream.Stream<A, E, R>,
|
|
858
|
+
config: {
|
|
859
|
+
readonly capacity: "unbounded"
|
|
860
|
+
readonly replay?: number | undefined
|
|
861
|
+
readonly idleTimeToLive?: Duration.DurationInput | undefined
|
|
862
|
+
} | {
|
|
863
|
+
readonly capacity: number
|
|
864
|
+
readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
|
|
865
|
+
readonly replay?: number | undefined
|
|
866
|
+
readonly idleTimeToLive?: Duration.DurationInput | undefined
|
|
867
|
+
}
|
|
868
|
+
) => Effect.Effect<Stream.Stream<A, E>, never, R | Scope.Scope>
|
|
869
|
+
>(
|
|
870
|
+
2,
|
|
871
|
+
<A, E, R>(
|
|
872
|
+
self: Stream.Stream<A, E, R>,
|
|
873
|
+
options: {
|
|
874
|
+
readonly capacity: "unbounded"
|
|
875
|
+
readonly replay?: number | undefined
|
|
876
|
+
readonly idleTimeToLive?: Duration.DurationInput | undefined
|
|
877
|
+
} | {
|
|
878
|
+
readonly capacity: number
|
|
879
|
+
readonly strategy?: "sliding" | "dropping" | "suspend" | undefined
|
|
880
|
+
readonly replay?: number | undefined
|
|
881
|
+
readonly idleTimeToLive?: Duration.DurationInput | undefined
|
|
882
|
+
}
|
|
883
|
+
): Effect.Effect<Stream.Stream<A, E>, never, R | Scope.Scope> =>
|
|
884
|
+
Effect.map(
|
|
885
|
+
RcRef.make({
|
|
886
|
+
acquire: broadcastDynamic(self, options),
|
|
887
|
+
idleTimeToLive: options.idleTimeToLive
|
|
888
|
+
}),
|
|
889
|
+
(rcRef) => unwrapScoped(RcRef.get(rcRef))
|
|
890
|
+
)
|
|
891
|
+
)
|
|
892
|
+
|
|
840
893
|
/** @internal */
|
|
841
894
|
export const broadcastedQueues = dual<
|
|
842
895
|
<N extends number>(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Effect from "../Effect.js"
|
|
2
|
+
import * as Effectable from "../Effectable.js"
|
|
2
3
|
import { dual, pipe } from "../Function.js"
|
|
3
|
-
import { pipeArguments } from "../Pipeable.js"
|
|
4
4
|
import * as PubSub from "../PubSub.js"
|
|
5
5
|
import * as Readable from "../Readable.js"
|
|
6
6
|
import * as Ref from "../Ref.js"
|
|
@@ -26,9 +26,9 @@ const subscriptionRefVariance = {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
/** @internal */
|
|
29
|
-
class SubscriptionRefImpl<in out A> implements SubscriptionRef.SubscriptionRef<A> {
|
|
30
|
-
readonly [Readable.TypeId]: Readable.TypeId
|
|
31
|
-
readonly [Subscribable.TypeId]: Subscribable.TypeId
|
|
29
|
+
class SubscriptionRefImpl<in out A> extends Effectable.Class<A> implements SubscriptionRef.SubscriptionRef<A> {
|
|
30
|
+
readonly [Readable.TypeId]: Readable.TypeId = Readable.TypeId
|
|
31
|
+
readonly [Subscribable.TypeId]: Subscribable.TypeId = Subscribable.TypeId
|
|
32
32
|
readonly [Ref.RefTypeId] = _ref.refVariance
|
|
33
33
|
readonly [Synchronized.SynchronizedRefTypeId] = _circular.synchronizedVariance
|
|
34
34
|
readonly [SubscriptionRefTypeId] = subscriptionRefVariance
|
|
@@ -37,12 +37,11 @@ class SubscriptionRefImpl<in out A> implements SubscriptionRef.SubscriptionRef<A
|
|
|
37
37
|
readonly pubsub: PubSub.PubSub<A>,
|
|
38
38
|
readonly semaphore: Effect.Semaphore
|
|
39
39
|
) {
|
|
40
|
-
|
|
41
|
-
this[Subscribable.TypeId] = Subscribable.TypeId
|
|
40
|
+
super()
|
|
42
41
|
this.get = Ref.get(this.ref)
|
|
43
42
|
}
|
|
44
|
-
|
|
45
|
-
return
|
|
43
|
+
commit() {
|
|
44
|
+
return this.get
|
|
46
45
|
}
|
|
47
46
|
readonly get: Effect.Effect<A>
|
|
48
47
|
get changes(): Stream<A> {
|
package/src/internal/version.ts
CHANGED