Welcome to type-guarder!

A simple, powerful and flexible runtime type checker for TypeScript.

  • Verify types at runtime
  • Automatically access typed values
  • Support for custom types


Install with your favorite package manager:

pnpm i type-guarder

Import T from type-guarder:

import { T } from "type-guarder";
T.string().conforms("Hello World!"); // true


import { T } from "type-guarder";
const checker = T.Object({
  name: T.Object({
    first: T.String(),
    last: T.String(),
  email: T.Regex(^[^\s@]+@[^\s@]+\.[^\s@]+$/),
  phone: T.Nullable(T.string()),
  address: T.Nullable(
      street: T.String(),
      apt: T.Nullable(T.String()),
      zip: T.Union(T.String(), T.Integer()),
// value will now be a typed object
const value = checker.unwrap({
  name: {
    first: "Elijah",
    last: "Cobb",
  email: "",
	phone: null,
	address: {
		street: "1234 Main St.",
		apt: null,
		zip: 12345
console.log(; // Elijah

Check out the functions you can use with type-guarder:

Check out the built in types starting with Boolean.


Elijah Cobb