{
  "gem": {
    "slug": "ts-pattern-vg-0958",
    "name": "ts-pattern",
    "description": "Exhaustive pattern matching for TypeScript with type narrowing, so unhandled union branches become compile errors instead of runtime bugs.",
    "url": "https://github.com/gvergnaud/ts-pattern",
    "domain": "github.com",
    "author": "Gabriel Vergnaud (@gvergnaud)",
    "license": "MIT",
    "category": "Dev Utilities & Vibe-Coding Tooling",
    "subcategory": "Type-safe TypeScript",
    "tags": [
      "typescript",
      "pattern-matching",
      "type-safe",
      "functional"
    ],
    "whyGem": "Replaces nested ternaries and switch soup with something the compiler can prove complete.",
    "sourceType": "github",
    "image": "/api/public/library/og/VG-0958-480.webp",
    "pageUrl": "https://vibing.inc/library/ts-pattern-vg-0958"
  }
}