Skip to content

Latest commit

 

History

History
23 lines (17 loc) · 720 Bytes

README.md

File metadata and controls

23 lines (17 loc) · 720 Bytes

Types for RevenueCat's webhooks

Hand-crafted from their docs, with JSDoc when appropriate and nullability manually added.

import { Webhook } from "@puzzmo/revenue-cat-webhook-types"

const handler = (req: Webhook) => {
  switch (req.event.type) {
    case "INITIAL_PURCHASE":
      // req as WebhookInitialPurchase
      break

    case "RENEWAL":
      // req as WebhookRenewal
      break
  }
}

Generally speaking, the types are nearly always the same across the webhooks, but it's good to have a centrally maintained source of truth for nullability until there are official types. See here for more discussion.