Microsoft/TypeScript
View on GitHubImprove diagnostic when string from property is not assignable to string literal.
Open
#26,413 opened on Aug 13, 2018
Domain: Error MessagesEffort: ModerateHelp WantedSuggestion
Description
TypeScript Version: 3.1.0-dev.20180810
Code
interface IceCreamOptions {
readonly cherry: "yes" | "no"
}
declare function iceCream(options: IceCreamOptions): void;
const options = { cherry: "yes" };
iceCream(options);
Expected behavior:
Error message recommending to add a type annotation to options. This should be detectable because the source of the failing property is a PropertyAssignment in an object literal being assigned to a variable. (If there is no variable assignment, we could still recommend using ``"yes" as "yes"although that isn't as pretty.) Could also come with a codefix. Note that in JS the fix is slightly different: put/** @type {IceCreamOptions} /before theconstor use/* @type {"yes"} */ ("yes")`.
Actual behavior:
Error messages says Type 'string' is not assignable to type '"yes" | "no"'. with no information on how to fix it.