| 1 | "effect/Subscribable#isSubscribable": |
| 2 | replacement: "none" |
| 3 | note: "The common brand was removed; use a concrete guard such as SubscriptionRef.isSubscriptionRef or an application structural guard." |
| 4 | "effect/Subscribable#make": |
| 5 | replacement: "object literal { get, changes }" |
| 6 | note: "No generic constructor remains; retain a local structural pair only when both the current read and change stream are needed." |
| 7 | "effect/Subscribable#map": |
| 8 | replacement: "Effect.map + Stream.map" |
| 9 | note: "For a retained get and changes pair, map the Effect and Stream separately." |
| 10 | "effect/Subscribable#mapEffect": |
| 11 | replacement: "Effect.flatMap + Stream.mapEffect" |
| 12 | note: "For a retained get and changes pair, flatMap the Effect and mapEffect the Stream separately." |
| 13 | "effect/Subscribable#Subscribable": |
| 14 | replacement: "custom { readonly get: Effect.Effect<A, E, R>; readonly changes: Stream.Stream<A, E, R> }" |
| 15 | note: "No renamed generic model exists; prefer concrete SubscriptionRef APIs or own this unbranded structural type locally." |
| 16 | "effect/Subscribable#TypeId": |
| 17 | replacement: "none" |
| 18 | note: "The Subscribable brand has no public replacement; use a concrete model guard or an application structural guard." |
| 19 | "effect/Subscribable#unwrap": |
| 20 | replacement: "Effect.flatMap + Stream.unwrap" |
| 21 | note: "Build get with Effect.flatMap and changes with Stream.unwrap; no single v4 helper remains." |