Rocky_Mountain_Vending/.pnpm-store/v10/files/3e/cee62f4d4e38fe774f91145d4ca7283b5d8b8a9b1e0d57aaf34772cd2abeccb833cae6cfcd32a1103af693bf8ef2b449941aa70fa32d1679e55d39d32b19f8
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

68 lines
2.9 KiB
Text

import type { InvokeMethod, InvokeMethodOptionalArgs } from "../client";
import type { GetOutputType } from "../command";
import type { DocumentType } from "../shapes";
/**
* @public
*
* This type is intended as a type helper for generated clients.
* When initializing client, cast it to this type by passing
* the client constructor type as the type parameter.
*
* It will then recursively remove "undefined" as a union type from all
* input and output shapes' members. Note, this does not affect
* any member that is optional (?) such as outputs with no required members.
*
* @example
* ```ts
* const client = new Client({}) as AssertiveClient<Client>;
* ```
*/
export type AssertiveClient<Client extends object> = NarrowClientIOTypes<Client>;
/**
* @public
*
* This is similar to AssertiveClient but additionally changes all
* output types to (recursive) Required<T> so as to bypass all output nullability guards.
*/
export type UncheckedClient<Client extends object> = UncheckedClientOutputTypes<Client>;
/**
* @internal
*
* Excludes undefined recursively.
*/
export type NoUndefined<T> = T extends Function ? T : T extends DocumentType ? T : [T] extends [object] ? {
[key in keyof T]: NoUndefined<T[key]>;
} : Exclude<T, undefined>;
/**
* @internal
*
* Excludes undefined and optional recursively.
*/
export type RecursiveRequired<T> = T extends Function ? T : T extends DocumentType ? T : [T] extends [object] ? {
[key in keyof T]-?: RecursiveRequired<T[key]>;
} : Exclude<T, undefined>;
/**
* @internal
*
* Removes undefined from unions.
*/
type NarrowClientIOTypes<ClientType extends object> = {
[key in keyof ClientType]: [ClientType[key]] extends [
InvokeMethodOptionalArgs<infer FunctionInputTypes, infer FunctionOutputTypes>
] ? InvokeMethodOptionalArgs<NoUndefined<FunctionInputTypes>, NoUndefined<FunctionOutputTypes>> : [ClientType[key]] extends [InvokeMethod<infer FunctionInputTypes, infer FunctionOutputTypes>] ? InvokeMethod<NoUndefined<FunctionInputTypes>, NoUndefined<FunctionOutputTypes>> : ClientType[key];
} & {
send<Command>(command: Command, options?: any): Promise<NoUndefined<GetOutputType<Command>>>;
};
/**
* @internal
*
* Removes undefined from unions and adds yolo output types.
*/
type UncheckedClientOutputTypes<ClientType extends object> = {
[key in keyof ClientType]: [ClientType[key]] extends [
InvokeMethodOptionalArgs<infer FunctionInputTypes, infer FunctionOutputTypes>
] ? InvokeMethodOptionalArgs<NoUndefined<FunctionInputTypes>, RecursiveRequired<FunctionOutputTypes>> : [ClientType[key]] extends [InvokeMethod<infer FunctionInputTypes, infer FunctionOutputTypes>] ? InvokeMethod<NoUndefined<FunctionInputTypes>, RecursiveRequired<FunctionOutputTypes>> : ClientType[key];
} & {
send<Command>(command: Command, options?: any): Promise<RecursiveRequired<NoUndefined<GetOutputType<Command>>>>;
};
export {};