In the advanced/intermediate challenge. It states that 'Bobby Tables' cannot have peanuts but to me, the solution seems to do the opposite and actually keep all the candies where there are peanuts 🤔
type HasPeanuts<A> = A extends { peanuts: true } ? A : never;
type AllCandiesWithoutPeanuts = HasPeanuts<AllCandies>
My bad, should have said something instead of just plopping down a solution - yes you are correct saying that:
type AllCandiesWithoutPeanuts = HasPeanuts<AllCandies>
is the opposite of the solution. Something more correct would have the inverted type. I'm not sure how one would go from HasPeanuts to something like OmitsPeanuts but declaring it from scratch is straightforward:
type OmitsPeanuts<A> = A extends { peanuts: true } ? never : A;
"The need to use [number] is an interesting twist, because [0] or 1 would have worked just as well too. Doing this right would also have raised the typo in the original code."
I'm confused by the wording here. So, number AND [0] or [1] would work? So, you don't actually have to use number?
If we aren't allowed to change type Ghosts and function investigateReport which accepts an array of Ghosts, can we simply return false for both function areGods and function areEctoplasmic?
In the advanced/intermediate challenge. It states that
'Bobby Tables' cannot have peanutsbut to me, the solution seems to do the opposite and actually keep all the candies where there are peanuts 🤔Also, the proposed solution for AllCandies removes all candies from the union, instead of only keeping the candies.
This should probably use
Extractinstead ofExclude:I agree with your implementation. I was discussing the solution provided in this post :)
Maybe @gcrev93 can help me if I misinterpreted it
My bad, should have said something instead of just plopping down a solution - yes you are correct saying that:
is the opposite of the solution. Something more correct would have the inverted type. I'm not sure how one would go from
HasPeanutsto something likeOmitsPeanutsbut declaring it from scratch is straightforward:Bobby is on his way to the hospital now. Thankfully somebody had an epi-pen ready.
"The need to use [number] is an interesting twist, because [0] or 1 would have worked just as well too. Doing this right would also have raised the typo in the original code."
I'm confused by the wording here. So,
numberAND[0]or[1]would work? So, you don't actually have to usenumber?Yeah, you can use
numberor any literal like1,2,etc.In this case,
numberhowever feels more right, because you're saying any number from the index, not a specific one.Thanks! That makes sense.
Here is my attempt :)
If we aren't allowed to change
type Ghostsandfunction investigateReportwhich accepts an array ofGhosts, can we simplyreturn falsefor bothfunction areGodsandfunction areEctoplasmic?My implementation of
function areDemonsusing user-defined type guard:Not if you want to live... and save NYC.