File: typeErrorAfterStringCompletionsInNestedCall.ts

package info (click to toggle)
node-typescript 5.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 497,488 kB
  • sloc: javascript: 2,107,274; makefile: 6; sh: 1
file content (32 lines) | stat: -rw-r--r-- 1,215 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
///<reference path="fourslash.ts"/>
// @strict: true
////
//// type GreetingEvent =
////   | { type: "MORNING" }
////   | { type: "LUNCH_TIME" }
////   | { type: "ALOHA" };
////
//// interface RaiseActionObject<TEvent extends { type: string }> {
////   type: "raise";
////   event: TEvent;
//// }
////
//// declare function raise<TEvent extends { type: string }>(
////   ev: TEvent
//// ): RaiseActionObject<TEvent>;
////
//// declare function createMachine<TEvent extends { type: string }>(config: {
////   actions: RaiseActionObject<TEvent>;
//// }): void;
////
//// createMachine<GreetingEvent>({
////   [|/*error*/actions|]: raise({ type: "ALOHA/*1*/" }),
//// });

goTo.marker("1");
edit.insert(`x`)
verify.completions({ exact: ["MORNING", "LUNCH_TIME", "ALOHA"] });
verify.getSemanticDiagnostics([{
    code: 2322,
    message: `Type 'RaiseActionObject<{ type: "ALOHAx"; }>' is not assignable to type 'RaiseActionObject<GreetingEvent>'.\n  Type '{ type: "ALOHAx"; }' is not assignable to type 'GreetingEvent'.\n    Type '{ type: "ALOHAx"; }' is not assignable to type '{ type: "ALOHA"; }'.\n      Types of property 'type' are incompatible.\n        Type '"ALOHAx"' is not assignable to type '"ALOHA"'.`,
}]);