diff --git a/packages/effect/src/TSubscriptionRef.ts b/packages/effect/src/TSubscriptionRef.ts
index a80458ad8b5..dfc6ccb5ffe 100644
--- a/packages/effect/src/TSubscriptionRef.ts
+++ b/packages/effect/src/TSubscriptionRef.ts
@@ -183,7 +183,7 @@ export const changesScoped: (self: TSubscriptionRef) => Effect.Effect(self: TSubscriptionRef) => Stream.Stream = internal.changesStream
+export const changesStream: (self: TSubscriptionRef) => Stream.Stream = internal.changesStream
/**
* @since 3.10.0
diff --git a/packages/effect/src/internal/stm/tSubscriptionRef.ts b/packages/effect/src/internal/stm/tSubscriptionRef.ts
index 0b114cf397d..e2f88696caa 100644
--- a/packages/effect/src/internal/stm/tSubscriptionRef.ts
+++ b/packages/effect/src/internal/stm/tSubscriptionRef.ts
@@ -32,7 +32,7 @@ class TDequeueMerge implements TQueue.TDequeue {
readonly second: TQueue.TDequeue
) {}
- peek: STM.STM = STM.gen(this, function*() {
+ peek: STM.STM = STM.gen(this, function*() {
const first = yield* this.peekOption
if (first._tag === "Some") {
return first.value
@@ -40,7 +40,7 @@ class TDequeueMerge implements TQueue.TDequeue {
return yield* STM.retry
})
- peekOption: STM.STM, never, never> = STM.gen(this, function*() {
+ peekOption: STM.STM> = STM.gen(this, function*() {
const first = yield* this.first.peekOption
if (first._tag === "Some") {
return first
@@ -52,7 +52,7 @@ class TDequeueMerge implements TQueue.TDequeue {
return Option.none()
})
- take: STM.STM = STM.gen(this, function*() {
+ take: STM.STM = STM.gen(this, function*() {
if (!(yield* this.first.isEmpty)) {
return yield* this.first.take
}
@@ -62,11 +62,11 @@ class TDequeueMerge implements TQueue.TDequeue {
return yield* STM.retry
})
- takeAll: STM.STM, never, never> = STM.gen(this, function*() {
+ takeAll: STM.STM> = STM.gen(this, function*() {
return [...yield* this.first.takeAll, ...yield* this.second.takeAll]
})
- takeUpTo(max: number): STM.STM, never, never> {
+ takeUpTo(max: number): STM.STM> {
return STM.gen(this, function*() {
const first = yield* this.first.takeUpTo(max)
if (first.length >= max) {
@@ -80,28 +80,28 @@ class TDequeueMerge implements TQueue.TDequeue {
return this.first.capacity() + this.second.capacity()
}
- size: STM.STM = STM.gen(this, function*() {
+ size: STM.STM = STM.gen(this, function*() {
return (yield* this.first.size) + (yield* this.second.size)
})
- isFull: STM.STM = STM.gen(this, function*() {
+ isFull: STM.STM = STM.gen(this, function*() {
return (yield* this.first.isFull) && (yield* this.second.isFull)
})
- isEmpty: STM.STM = STM.gen(this, function*() {
+ isEmpty: STM.STM = STM.gen(this, function*() {
return (yield* this.first.isEmpty) && (yield* this.second.isEmpty)
})
- shutdown: STM.STM = STM.gen(this, function*() {
+ shutdown: STM.STM = STM.gen(this, function*() {
yield* this.first.shutdown
yield* this.second.shutdown
})
- isShutdown: STM.STM = STM.gen(this, function*() {
+ isShutdown: STM.STM = STM.gen(this, function*() {
return (yield* this.first.isShutdown) && (yield* this.second.isShutdown)
})
- awaitShutdown: STM.STM = STM.gen(this, function*() {
+ awaitShutdown: STM.STM = STM.gen(this, function*() {
yield* this.first.awaitShutdown
yield* this.second.awaitShutdown
})