wideningThe explicit {{target}} type on {{subject}} discards known type evidence. Keep inference, validate with `satisfies`, or use a named owner contract.small-rules/no-known-value-wideningDisallow syntactically established values from flowing into explicitly broad or anonymous target types that discard useful evidence.
Ported from dmmulroy/anti-slop. A written unknown,
object, open map, or unnamed object type can wipe what an object you wrote still shows. Let the type be
what TS infers. Or use satisfies to check a wider contract and keep the known keys.
wideningThe explicit {{target}} type on {{subject}} discards known type evidence. Keep inference, validate with `satisfies`, or use a named owner contract.This rule does not accept options.
const value: unknown = {};type Command = () => void;const startCommand = () => {};const commands = { start: startCommand } satisfies Record<string, Command>;