UNPKG

@redwoodjs-stripe/api

Version:

API-side code for RedwoodJS-Stripe projects

18 lines (17 loc) 994 B
type ResponsePrimitive = number | string | boolean | null; interface StripeResponseList<Value extends StripeResponseValue = StripeResponseValue> { object: "list"; data: Value[]; } type StripeResponseObject = { [K in keyof object]: StripeResponseValue; }; type StripeResponseValue = ResponsePrimitive | StripeResponseList | StripeResponseObject; export type ParsedStripeResponse<Input> = Input extends null ? null : Input extends string ? string : Input extends number ? number : Input extends boolean ? boolean : Input extends StripeResponseList<infer Value> ? ParsedStripeResponse<Value>[] : Input extends { [K in keyof Input]: Input[K]; } ? { [K in keyof Input]: ParsedStripeResponse<Input[K]>; } : never; export declare const parseStripeResponse: <Input extends StripeResponseValue>(input: Input) => ParsedStripeResponse<Input>; export declare const mapValues: <K extends string | number | symbol, A, B>(inputs: Record<K, A>, fn: (a: A) => B) => Record<K, B>; export {};