UNPKG

@qundus/qform

Version:

The only form library you'll ever need :)

26 lines (24 loc) 105 kB
import { F as Fields, O as Options, P as PluginProps, a as FieldCondition, B as Basics, A as AtomsPrepared, b as FormButton, c as PLACEHOLDERS, d as FormObject, e as OptionsMerged } from './_model-Cl5-fEzV.js'; export { _ as _QFORM } from './_model-Cl5-fEzV.js'; import { _QSTATE } from '@qundus/qstate'; import '@qundus/qstate/addons'; import '@qundus/qstate/hooks'; type CamelToSnakeCase<S extends string, Sep extends string = "_", UppercaseIsNewWord extends boolean = false, Start extends boolean = true, PreviousLetterIsCapital = false> = S extends `${infer T}${infer U}` ? `${T extends Capitalize<T> ? Start extends false ? UppercaseIsNewWord extends true ? Sep : PreviousLetterIsCapital extends false ? Sep : "" : "" : ""}${Lowercase<T>}${T extends Capitalize<T> ? CamelToSnakeCase<U, Sep, UppercaseIsNewWord, false, true> : CamelToSnakeCase<U, Sep, UppercaseIsNewWord, false, false>}` : S; type FormActions<F extends Fields, O extends Options<F>> = ReturnType<typeof formActions<F, O>>; declare function formActions<F extends Fields, O extends Options<F>>(props: PluginProps<F, O>): { canSubmit: () => boolean; startSubmitting: () => (() => void) | null; submit: (props: { runner: () => Promise<void>; cannotSubmit?: <G>() => void; error?: <G>(e: G) => void; }) => Promise<void>; updateValues: <G extends Object>(values: G, paths?: Record<string, string | { value: string; key?: string; }>) => void; updateConditions: <G extends Record<keyof F, Partial<FieldCondition>>>(conditions: G) => void; getValues<O_1 extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }>(special?: O_1 | undefined): { [K_1 in keyof F as (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T ? T extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T extends "snake" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "_", false, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_1 ? T_1 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_1 extends "snake_aggressive" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "_", true, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_2 ? T_2 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_2 extends "kebab_aggressive" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "-", true, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_3 ? T_3 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_3 extends "kebab" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "-", false, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_4 ? T_4 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_4 extends "lowercase" ? true : false : never : never) extends true ? Lowercase<string & K_1> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_5 ? T_5 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_5 extends "uppercase" ? true : false : never : never) extends true ? Uppercase<string & K_1> : K_1]: F[K_1]["value"]; }; getValuesLowercase<O_1 extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }>(special?: O_1 | undefined): { [K_1 in keyof F as (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T ? T extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T extends "snake" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "_", false, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_1 ? T_1 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_1 extends "snake_aggressive" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "_", true, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_2 ? T_2 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_2 extends "kebab_aggressive" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "-", true, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_3 ? T_3 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_3 extends "kebab" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "-", false, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_4 ? T_4 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_4 extends "lowercase" ? true : false : never : never) extends true ? Lowercase<string & K_1> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_5 ? T_5 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_5 extends "uppercase" ? true : false : never : never) extends true ? Uppercase<string & K_1> : K_1]: F[K_1]["value"]; }; getValuesUppercase<O_1 extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }>(special?: O_1 | undefined): { [K_1 in keyof F as (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T ? T extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T extends "snake" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "_", false, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_1 ? T_1 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_1 extends "snake_aggressive" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "_", true, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_2 ? T_2 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_2 extends "kebab_aggressive" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "-", true, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_3 ? T_3 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_3 extends "kebab" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "-", false, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_4 ? T_4 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_4 extends "lowercase" ? true : false : never : never) extends true ? Lowercase<string & K_1> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_5 ? T_5 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T_5 extends "uppercase" ? true : false : never : never) extends true ? Uppercase<string & K_1> : K_1]: F[K_1]["value"]; }; getValuesSnakecase<O_1 extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }>(special?: O_1 | undefined): { [K_1 in keyof F as (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T ? T extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? T extends "snake" ? true : false : never : never) extends true ? CamelToSnakeCase<string & K_1, "_", false, true, false> : (unknown extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) ? false : (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1]) extends infer T_1 ? T_1 extends (unknown extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase") | undefined; }[K_1] ? "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" : "same" | "snake" | "snake_aggressive" | "kebab" | "kebab_aggressive" | "lowercase" | "uppercase" extends { [K in keyof F]?: ("same" | "snake" | "snake_aggressive" | "keb