| 1 | "effect/Secret#fromIterable": |
| 2 | replacement: "Redacted.make(Array.from(iterable).join(\"\"))" |
| 3 | note: "Secret was removed; join the character iterable and wrap the resulting string in Redacted." |
| 4 | "effect/Secret#isSecret": |
| 5 | replacement: "Redacted.isRedacted" |
| 6 | note: "Secret was removed in favor of Redacted." |
| 7 | "effect/Secret#make": |
| 8 | replacement: "Redacted.make(bytes.map((byte) => String.fromCharCode(byte)).join(\"\"))" |
| 9 | note: "Secret was removed; preserve the v3 byte-to-code-unit conversion explicitly, then wrap the string in Redacted." |
| 10 | "effect/Secret#Secret": |
| 11 | replacement: "Redacted.Redacted<string>" |
| 12 | note: "Secret was deprecated in v3 and removed in v4; use the generic Redacted wrapper." |
| 13 | "effect/Secret#Secret.Proto": |
| 14 | replacement: "none" |
| 15 | note: "The Secret-specific prototype was removed with the module; use Redacted.Redacted<string>." |
| 16 | "effect/Secret#SecretTypeId": |
| 17 | replacement: "Redacted.isRedacted" |
| 18 | note: "The Secret marker was removed; use the Redacted runtime guard." |
| 19 | "effect/Secret#unsafeWipe": |
| 20 | replacement: "Redacted.wipeUnsafe" |
| 21 | note: "Redacted.wipeUnsafe removes the registry entry but, unlike v3 Secret, cannot zero a retained mutable byte array; zero external buffers separately when required." |