About

We made it!!! 🥳
is-kit has officially reached v1.0.0 — and we couldn’t be happier!

If you’ve ever found yourself buried in TypeScript boilerplate, nervously juggling “value is Foo” declarations while worrying about runtime mismatches…
It’s time to breathe easy. 😌

✨ What is is-kit?

is-kit is a lightweight, zero-dependency toolkit for building isFoo-style type guards in TypeScript.
It turns repetitive, error-prone guard logic into safe, composable, and fun code.

  • 🧩 Composable — and, or, not, struct, array, oneOf, and more

  • 🛡️ Runtime-safe — closes the gap between types and runtime checks

  • Zero-dependency — works anywhere, no bloat

  • 💬 Ergonomic — helpers like nullable, optional, and safeParse built for real-world use

🧠 Quick Example

import { struct, array, nullable, isString, isNumber } from "is-kit";

const User = struct({
  id: isString,
  name: isString,
  tags: array(isString),
  age: nullable(isNumber),
});

User({ id: "abc", name: "Nyao", tags: ["dev", "cute"], age: null }); // true ✅

No more boilerplate. No runtime surprises.
Just clean, type-safe validation. 🧼

📚 Learn More

💬 Final Words

This release marks the first official step toward runtime-safe TypeScript.
No more fear between “what you think the type is” and “what it really is.”

From define to safeParse, every piece of is-kit aims to make validation elegant, expressive, and fun.
Let’s make type guards joyful again! 🧡

@nyaomaru