Missing type for `exn`
sgrove opened this issue · comments
Sean Grove commented
Exporting a function like:
@genType
let basicEvalNode = (
~onError: exn => unit,
) => {
Outputs the following TypeScript:
export const basicEvalNode: (_1: {
readonly onError: (_1: exn) => void;
But exn
is never defined/imported, so we get an error:
src/HyperEval.gen.tsx:38:17 - error TS2304: Cannot find name 'exn'.
38 onError: (_1: exn) => void,
It'd be nice to even export it as unknown
, since that would allow TypeSCript to continue
Sean Grove commented
One small hack I've found is to make a type alias but mark it opaque and use that instead, e.g.:
@genType.opaque
type userExn = exn
Obviously not ideal from the Javascript/Typescript side of things, but it means TypeScript can at least compile and doesn't block things for a bit.