Skip to content
This repository has been archived by the owner on Oct 13, 2021. It is now read-only.

Latest commit

 

History

History
28 lines (19 loc) · 902 Bytes

README.md

File metadata and controls

28 lines (19 loc) · 902 Bytes

tsguard.macro - Typescript type guard macro

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.

NPM

Roadmap

  • Implement tests
  • Support type references (e.g. typeGuard<IProps>)
  • Support tuples
  • Support mapped types
  • Support rest operator
  • Support index accessed types

Usage

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;
}