advanced-patterns-workshop icon indicating copy to clipboard operation
advanced-patterns-workshop copied to clipboard

exercise 10 event dispatcher type check errors

Open isimmons opened this issue 2 years ago • 3 comments
trafficstars

Both in the stackblitz in the course and on my local machine with the run exercise command, the tests pass but then type checking has the following error

Checking types...
src/02-globals/10-event-dispatcher.problem.1.ts:34:19 - error TS2322: Type '"LOG_OUT"' is not assignable to type '"LOG_IN"'.

34   dispatchEvent({ type: 'LOG_OUT' });
                     ~~~~

  src/02-globals/10-event-dispatcher.problem.1.ts:22:7
    22       type: K;
             ~~~~
    The expected type comes from property 'type' which is declared here on type '{ type: "LOG_IN"; } 
& { username: string; password: string; }'

I copied the LOG_OUT event over to problem file 1 and this fixed the problem.

But then I renamed problem file 2 to 10.1 and ran npm run exercise 10.1 and it can't find UnionOfDispatchableEvents

So I'm guessing this is because a single file is being type checked in isolation so in file 1 there is no 'LOG_OUT' and in file 2 there is no UnionOfDispatchableEvents. Is that right?

isimmons avatar Aug 10 '23 05:08 isimmons

Hello, I have the same problem 🙏

freiondrej-lokalise avatar Aug 14 '23 06:08 freiondrej-lokalise

@isimmons @freiondrej-lokalise I also got that strange behavior, although I've completed the exercise and verified it's exactly how the solution proposes the fix should be done.

I made sure to also re-save the file '10-event-dispatcher.problem.1' to force a recompile/recheck but it still gives the type error, although the '10-event-dispatcher.problem.2' file is exactly as per the solution given by Matt. But I'm also getting this typing error in the console.

image

boltex avatar Nov 24 '23 17:11 boltex

+1. The tests in the solution files do not actually pass. If you replace the problem files with the content of the solution files the tests fail.

prurph avatar Sep 06 '24 19:09 prurph