Babel macro that automatically generates type guards for a given type (very much WIP). You'll need to install generic-type-guards
for this to work.
- Implement tests
- Support type references (e.g.
typeGuard<IProps>
) - Support tuples
- Support mapped types
- Support rest operator
- Support index accessed types
import typeGuard from "tsguard.macro";
const unsafeValue = await fetch(someUrl).then(res => res.json());
if (typeGuard<{ name: string; value?: number }>(unsafeValue)) {
const safeValue: { name: string; value?: number } = unsafeValue;
}