Type Utils
    Preparing search index...

    Type Alias FluentOptionalSchema<T, TRules, TCalledRules, TUsedCustomRules>

    FluentOptionalSchema: TypeGuard<undefined | T> & {
        [K in Exclude<keyof TRules, TCalledRules[number]>]: Fn<
            Parameters<TRules[K]>,
            FluentOptionalSchema<T, TRules, [...TCalledRules, K], TUsedCustomRules>,
        >
    } & {
        use<Args extends any[], RuleName extends string>(
            rule: Custom<Args, RuleName, T>,
        ): FluentOptionalSchema<
            T,
            TRules,
            TCalledRules,
            [...TUsedCustomRules[], Custom<Args, RuleName, T>],
        >;
        use<
            TCustomRules extends
                [Custom<any[], string, T>, ...Custom<any[], string, T>[]],
        >(
            ...rules: TCustomRules,
        ): FluentOptionalSchema<
            T,
            TRules,
            TCalledRules,
            [...TUsedCustomRules[], ...TCustomRules[]],
        >;
        validator(
            throwOnError?: true,
        ): (...args: [arg: unknown]) => T | undefined & {
            "[tags]": { [K in Tag]: Metadata };
        } & {
            validate: ThrowableFn<ValidationErrors, [arg: unknown], undefined | T>;
        };
        validator(
            throwOnError: false,
        ): (...args: [arg: unknown]) => ValidateReturn & {
            validate: ThrowableFn<ValidationErrors, [arg: unknown], undefined | T>;
        };
        validator(
            throwOnError: boolean,
        ): (...args: [arg: unknown]) => ValidateReturn & {
            validate: Fn<[arg: unknown], ValidateReturn<undefined | T>>;
        };
    } & { toStandardSchema(): StandardSchemaV1<T | undefined, T | undefined> }

    Type Parameters

    • T
    • TRules extends { [x: string]: (...args: any[]) => any } = {}
    • TCalledRules extends [...(keyof TRules)[]] = []
    • TUsedCustomRules extends [...Custom<any[], string, T>[]] = []