t3-code-android-nightly/.repos/effect-smol/migration/annotations/effect__Config.yaml
Julius Marminge 6f9cea00ae
chore(refs): sync Effect and Alchemy references to 4.0.1 and beta.80 (#16170)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 13:22:30 -07:00

126 lines
7.2 KiB
YAML

"effect/Config#all":
replacement: "Config.all"
note: "Combine an iterable or record of Config values. If any child is absent and none fail, Config.withDefault replaces the whole group and Config.option returns None. Apply defaults to individual children to preserve other supplied values."
"effect/Config#array":
replacement: "Config.Array(valueSchema, path)"
note: "Array parsing is schema-based in v4; rebuild the element Config as a Schema and pass it with the optional path to Config.Array."
"effect/Config#boolean":
replacement: "Config.Boolean"
note: "Direct constructor rename."
"effect/Config#branded":
replacement: "Config.schema(schema.pipe(Schema.brand(brand)), path)"
note: "Brand validation moved to Schema; define the branded schema and construct the Config with Config.schema."
"effect/Config#chunk":
replacement: "Config.schema(Schema.Chunk(valueSchema), path)"
note: "Collection parsing is schema-based in v4; use Schema.Chunk when a Chunk result is still required."
"effect/Config#Config":
replacement: "Config.Config"
note: "The model remains a yieldable Effect and exposes parse(provider). Compose logical lookup paths with Config.schema(..., path) and Config.nested; parsing no longer accepts a public path prefix."
"effect/Config#Config.IsPlainObject":
replacement: "none"
note: "This private conditional helper is no longer exposed; use Config.Wrap for the public recursive wrapping contract."
"effect/Config#Config.Primitive":
replacement: "Schema.Constraint"
note: "Primitive descriptions and parsers were replaced by Schema codecs consumed through Config.schema."
"effect/Config#Config.Variance":
replacement: "none"
note: "Config now carries its result type directly through Effect and has no public variance interface."
"effect/Config#ConfigTypeId":
replacement: "Config.isConfig"
note: "The Config marker is private in v4; use the public guard for runtime narrowing."
"effect/Config#date":
replacement: "Config.Date"
note: "Direct constructor rename."
"effect/Config#duration":
replacement: "Config.Duration"
note: "Direct constructor rename."
"effect/Config#fail":
replacement: "Config.fail"
note: "The v4 constructor takes a ConfigProvider.SourceError or Schema.SchemaError instead of a message; wrap the failure in the appropriate cause."
"effect/Config#hashMap":
replacement: "Config.schema(Schema.HashMap(Schema.String, valueSchema), path)"
note: "HashMap parsing is schema-based in v4; replace the child Config with its value Schema."
"effect/Config#hashSet":
replacement: "Config.schema(Schema.HashSet(valueSchema), path)"
note: "HashSet parsing is schema-based in v4; replace the child Config with its value Schema."
"effect/Config#integer":
replacement: "Config.Int"
note: "Renamed to the shorter v4 integer constructor using the PascalCase constructor convention."
"effect/Config#literal":
replacement: "Config.Literals(literals, path)"
note: "The v3 curried variadic constructor became Config.Literals with an array and inline path; use Config.Literal for one value."
"effect/Config#LiteralValue":
replacement: "SchemaAST.LiteralValue"
note: "Use the literal value type shared by v4 Schema constructors."
"effect/Config#logLevel":
replacement: "Config.LogLevel"
note: "Direct constructor rename."
"effect/Config#mapAttempt":
replacement: "Config.mapEffect"
note: "Catch exceptions explicitly and return an Effect failure containing Config.ConfigError; mapEffect is Effect-based in v4."
"effect/Config#mapOrFail":
replacement: "Config.mapEffect"
note: "Renamed to match the effectful mapping convention used throughout the library."
"effect/Config#nonEmptyString":
replacement: "Config.NonEmptyString"
note: "Direct constructor rename."
"effect/Config#number":
replacement: "Config.Number"
note: "Direct constructor rename; use Config.Finite when NaN and infinities must be rejected."
"effect/Config#option":
include: true
replacement: "Config.option"
note: "Returns None for an absent config, including an all group with a missing child and no failed children. Successfully decoded undefined is wrapped in Some; validation and source errors still propagate."
"effect/Config#orElse":
include: true
replacement: "Config.orElse"
note: "The fallback receives Config.ConfigError and its result replaces the original failure. Unlike v3, failed attempts are not combined: an absent fallback can be handled by a later withDefault or option even if the original input was invalid."
"effect/Config#orElseIf":
replacement: "Config.orElse"
note: "The fallback now receives Config.ConfigError; test it in the callback and re-fail with Config.fail(error.cause) when the predicate is false."
"effect/Config#port":
replacement: "Config.Port"
note: "Direct constructor rename."
"effect/Config#primitive":
replacement: "Config.schema(customSchema, path)"
note: "Custom primitive parsing moved to Schema codecs; express decoding and diagnostics in a Schema, then pass it to Config.schema. Its canonical StringTree encoding must expose a concrete shape; opaque encodings such as Schema.Any or Schema.Unknown are not supported."
"effect/Config#redacted":
replacement: "Config.Redacted"
note: "The string/path overload remains; replace the v3 Config argument overload with Config.map(config, Redacted.make)."
"effect/Config#repeat":
replacement: "Config.Array(valueSchema, path)"
note: "Repeated values use the Config.Array constructor, which accepts structural arrays and flat separated input."
"effect/Config#secret":
replacement: "Config.Redacted"
note: "Secret was removed in favor of Redacted; this constructor returns Redacted<string>."
"effect/Config#string":
replacement: "Config.String"
note: "Direct constructor rename."
"effect/Config#succeed":
replacement: "Config.succeed"
note: "Unchanged."
"effect/Config#suspend":
replacement: "Config.schema(Schema.suspend(schemaThunk), path)"
note: "General Config suspension was removed; model recursive parsing with a suspended Schema before constructing the Config."
"effect/Config#sync":
replacement: "Config.succeed(undefined).pipe(Config.map(() => thunk()))"
note: "The dedicated lazy constant constructor was removed; mapping a constant Config preserves evaluation at parse time."
"effect/Config#url":
replacement: "Config.URL"
note: "Direct constructor rename."
"effect/Config#validate":
replacement: "Config.schema(schema.check(check), path)"
note: "Validation moved to Schema checks; attach the predicate and message to the Schema used by Config.schema."
"effect/Config#withDefault":
include: true
replacement: "Config.withDefault"
note: "Defaults absent configs, including all groups with missing children and no failed children. A group default replaces the whole group; use defaults on children to preserve other supplied values. Validation and source errors still propagate."
"effect/Config#withDescription":
replacement: "Config.schema(schema.annotate({ description }), path)"
note: "Config descriptions moved to Schema annotations in v4."
"effect/Config#zip":
replacement: "Config.all([self, that])"
note: "Use the tuple overload of Config.all."
"effect/Config#zipWith":
replacement: "Config.all([self, that]).pipe(Config.map(([a, b]) => f(a, b)))"
note: "Combine both configs with Config.all, then map the tuple."