UNPKG

@zpg6-test-pkgs/better-auth

Version:

The most comprehensive authentication library for TypeScript.

275 lines (271 loc) 8.66 kB
import * as better_call from 'better-call'; import { OpenAPIParameter, OpenAPISchemaType } from 'better-call'; import { q as AuthContext, B as BetterAuthOptions } from '../../shared/better-auth.8Ira7TFx.cjs'; import { L as LiteralString } from '../../shared/better-auth.DTtXpZYr.cjs'; import 'kysely'; import 'zod/v4'; import '../../shared/better-auth.DtuOgks-.cjs'; import 'jose'; import 'zod/v4/core'; import 'zod'; import 'better-sqlite3'; import 'bun:sqlite'; interface Path { get?: { tags?: string[]; operationId?: string; description?: string; security?: [{ bearerAuth: string[]; }]; parameters?: OpenAPIParameter[]; responses?: { [key in string]: { description?: string; content: { "application/json": { schema: { type?: OpenAPISchemaType; properties?: Record<string, any>; required?: string[]; $ref?: string; }; }; }; }; }; }; post?: { tags?: string[]; operationId?: string; description?: string; security?: [{ bearerAuth: string[]; }]; parameters?: OpenAPIParameter[]; requestBody?: { content: { "application/json": { schema: { type?: OpenAPISchemaType; properties?: Record<string, any>; required?: string[]; $ref?: string; }; }; }; }; responses?: { [key in string]: { description?: string; content: { "application/json": { schema: { type?: OpenAPISchemaType; properties?: Record<string, any>; required?: string[]; $ref?: string; }; }; }; }; }; }; } declare function generator(ctx: AuthContext, options: BetterAuthOptions): Promise<{ openapi: string; info: { title: string; description: string; version: string; }; components: { securitySchemes: { apiKeyCookie: { type: string; in: string; name: string; description: string; }; bearerAuth: { type: string; scheme: string; description: string; }; }; schemas: {}; }; security: { apiKeyCookie: never[]; bearerAuth: never[]; }[]; servers: { url: string; }[]; tags: { name: string; description: string; }[]; paths: Record<string, Path>; }>; interface OpenAPIOptions { /** * The path to the OpenAPI reference page * * keep in mind that this path will be appended to the base URL `/api/auth` path * by default, so if you set this to `/reference`, the full path will be `/api/auth/reference` * * @default "/reference" */ path?: LiteralString; /** * Disable the default reference page that is generated by Scalar * * @default false */ disableDefaultReference?: boolean; } declare const openAPI: <O extends OpenAPIOptions>(options?: O) => { id: "open-api"; endpoints: { generateOpenAPISchema: { <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record<string, any> | undefined; } & { params?: Record<string, any>; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { openapi: string; info: { title: string; description: string; version: string; }; components: { securitySchemes: { apiKeyCookie: { type: string; in: string; name: string; description: string; }; bearerAuth: { type: string; scheme: string; description: string; }; }; schemas: {}; }; security: { apiKeyCookie: never[]; bearerAuth: never[]; }[]; servers: { url: string; }[]; tags: { name: string; description: string; }[]; paths: Record<string, Path>; }; } : { openapi: string; info: { title: string; description: string; version: string; }; components: { securitySchemes: { apiKeyCookie: { type: string; in: string; name: string; description: string; }; bearerAuth: { type: string; scheme: string; description: string; }; }; schemas: {}; }; security: { apiKeyCookie: never[]; bearerAuth: never[]; }[]; servers: { url: string; }[]; tags: { name: string; description: string; }[]; paths: Record<string, Path>; }>; options: { method: "GET"; } & { use: any[]; }; path: "/open-api/generate-schema"; }; openAPIReference: { <AsResponse extends boolean = false, ReturnHeaders extends boolean = false>(inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record<string, any> | undefined; } & { params?: Record<string, any>; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Response; } : Response>; options: { method: "GET"; metadata: { isAction: boolean; }; } & { use: any[]; }; path: "/reference"; }; }; }; export { generator, openAPI }; export type { OpenAPIOptions, Path };