UNPKG

autumn-js

Version:
40 lines (36 loc) 1.63 kB
import { createAuthEndpoint } from '@better-auth/core/api'; /** All supported route names as const for type safety */ declare const ROUTE_NAMES: { readonly getOrCreateCustomer: "getOrCreateCustomer"; readonly getEntity: "getEntity"; readonly attach: "attach"; readonly previewAttach: "previewAttach"; readonly updateSubscription: "updateSubscription"; readonly previewUpdateSubscription: "previewUpdateSubscription"; readonly openCustomerPortal: "openCustomerPortal"; readonly createReferralCode: "createReferralCode"; readonly redeemReferralCode: "redeemReferralCode"; readonly listPlans: "listPlans"; readonly listEvents: "listEvents"; readonly aggregateEvents: "aggregateEvents"; readonly multiAttach: "multiAttach"; readonly previewMultiAttach: "previewMultiAttach"; readonly setupPayment: "setupPayment"; }; /** Union of all route names */ type RouteName = keyof typeof ROUTE_NAMES; /** Type for the handleRoute function used by better-auth endpoints */ type HandleBetterAuthRouteFn = (args: { ctx: unknown; routeName: RouteName; }) => Promise<{ status: number; body: unknown; }>; type AutumnEndpoint = ReturnType<typeof createAuthEndpoint>; /** * Creates a better-auth endpoint for a given route name. * Each route needs its own call to preserve TypeScript literal types for the path. */ declare const createAutumnEndpoint: <T extends RouteName>(routeName: T, handleRoute: HandleBetterAuthRouteFn) => AutumnEndpoint; export { type AutumnEndpoint as A, type HandleBetterAuthRouteFn as H, type RouteName as R, createAutumnEndpoint as c };