1effect/StreamHaltStrategy#HaltStrategy:
2 replacement: "Stream.HaltStrategy"
3 note: "The StreamHaltStrategy module is gone; v4 HaltStrategy is the string-literal union \"left\" | \"right\" | \"both\" | \"either\" (defined in Channel, re-exported as Stream.HaltStrategy) instead of tagged objects."
4effect/StreamHaltStrategy#HaltStrategyInput:
5 replacement: "Stream.HaltStrategy"
6 note: "The Input widening (tagged object OR string) is obsolete; v4 only ever uses the string literals, so haltStrategy options take Stream.HaltStrategy directly."
7effect/StreamHaltStrategy#Left:
8 replacement: "\"left\""
9 note: "The tagged constructor is replaced by the plain string literal \"left\" passed directly to haltStrategy options."
10effect/StreamHaltStrategy#Right:
11 replacement: "\"right\""
12 note: "The tagged constructor is replaced by the plain string literal \"right\" passed directly to haltStrategy options."
13effect/StreamHaltStrategy#Both:
14 replacement: "\"both\""
15 note: "The tagged constructor is replaced by the plain string literal \"both\" passed directly to haltStrategy options."
16effect/StreamHaltStrategy#Either:
17 replacement: "\"either\""
18 note: "The tagged constructor is replaced by the plain string literal \"either\" passed directly to haltStrategy options."
19effect/StreamHaltStrategy#fromInput:
20 replacement: "none"
21 note: "Remove the call; there is no conversion step in v4 because strategies already are the string literals, so pass the value through unchanged."
22effect/StreamHaltStrategy#isLeft:
23 replacement: "strategy === \"left\""
24 note: "Refinements on the tagged union become plain string comparison against the literal."
25effect/StreamHaltStrategy#isRight:
26 replacement: "strategy === \"right\""
27 note: "Refinements on the tagged union become plain string comparison against the literal."
28effect/StreamHaltStrategy#isBoth:
29 replacement: "strategy === \"both\""
30 note: "Refinements on the tagged union become plain string comparison against the literal."
31effect/StreamHaltStrategy#isEither:
32 replacement: "strategy === \"either\""
33 note: "Refinements on the tagged union become plain string comparison against the literal."
34effect/StreamHaltStrategy#match:
35 replacement: "switch (strategy)"
36 note: "Fold over the strategy with an ordinary switch (or ternary chain) on the string literal; TypeScript exhaustiveness-checks the four cases."
37 example: |
38 // v3: HaltStrategy.match(s, { onLeft, onRight, onBoth, onEither })
39 switch (strategy) {
40 case "left": return onLeft()
41 case "right": return onRight()
42 case "both": return onBoth()
43 case "either": return onEither()
44 }