@goodie-forms/react 1.1.5-alpha → 1.2.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +426 -426
- package/dist/components/FieldRenderer.d.ts +9 -9
- package/dist/components/FieldRenderer.d.ts.map +1 -1
- package/dist/hooks/useForm.d.ts +6 -9
- package/dist/hooks/useForm.d.ts.map +1 -1
- package/dist/hooks/useFormErrorObserver.d.ts +4 -6
- package/dist/hooks/useFormErrorObserver.d.ts.map +1 -1
- package/dist/hooks/useFormField.d.ts +2 -2
- package/dist/hooks/useFormField.d.ts.map +1 -1
- package/dist/hooks/useFormValuesObserver.d.ts +3 -3
- package/dist/hooks/useFormValuesObserver.d.ts.map +1 -1
- package/dist/index.js +82 -76
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/FieldRenderer.tsx +166 -120
- package/src/hooks/useForm.tsx +50 -46
- package/src/hooks/useFormErrorObserver.ts +44 -40
- package/src/hooks/useFormField.tsx +63 -55
- package/src/hooks/useFormValuesObserver.ts +49 -45
- package/src/hooks/useRenderControl.tsx +26 -26
- package/src/index.ts +7 -7
- package/src/utils/composeFns.ts +7 -7
- package/src/utils/groupBy.ts +13 -13
- package/tsconfig.json +8 -8
- package/vite.config.ts +23 -23
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FieldPath, FormField, NonnullFormField } from '../../../core/src';
|
|
2
2
|
import { ChangeEvent, FocusEvent, ReactNode, Ref } from 'react';
|
|
3
3
|
import { UseForm } from '../hooks/useForm';
|
|
4
|
-
export interface RenderParams<
|
|
4
|
+
export interface RenderParams<TOutput extends object, TValue> {
|
|
5
5
|
ref: Ref<any | null>;
|
|
6
|
-
value:
|
|
6
|
+
value: TValue | undefined;
|
|
7
7
|
handlers: {
|
|
8
8
|
onChange: (event: ChangeEvent<EventTarget>) => void;
|
|
9
9
|
onFocus: (event: FocusEvent) => void;
|
|
10
10
|
onBlur: (event: FocusEvent) => void;
|
|
11
11
|
};
|
|
12
|
-
field: undefined extends
|
|
12
|
+
field: undefined extends TValue ? FormField<TOutput, TValue> : NonnullFormField<TOutput, TValue>;
|
|
13
13
|
}
|
|
14
14
|
type DefaultValueProps<TValue> = undefined extends TValue ? {
|
|
15
15
|
defaultValue?: TValue | (() => TValue);
|
|
16
16
|
} : {
|
|
17
17
|
defaultValue: TValue | (() => TValue);
|
|
18
18
|
};
|
|
19
|
-
export type FieldRendererProps<
|
|
20
|
-
form: UseForm<
|
|
19
|
+
export type FieldRendererProps<TOutput extends object, TPath extends FieldPath.Segments> = {
|
|
20
|
+
form: UseForm<TOutput>;
|
|
21
21
|
path: TPath;
|
|
22
22
|
overrideInitialValue?: boolean;
|
|
23
23
|
unbindOnUnmount?: boolean;
|
|
24
|
-
render: (params: RenderParams<
|
|
25
|
-
} & DefaultValueProps<
|
|
26
|
-
export declare function FieldRenderer<
|
|
24
|
+
render: (params: RenderParams<TOutput, FieldPath.Resolve<TOutput, NoInfer<TPath>>>) => ReactNode;
|
|
25
|
+
} & DefaultValueProps<FieldPath.Resolve<TOutput, NoInfer<TPath>>>;
|
|
26
|
+
export declare function FieldRenderer<TOutput extends object, const TPath extends FieldPath.Segments>(props: FieldRendererProps<TOutput, TPath>): import("react/jsx-runtime").JSX.Element;
|
|
27
27
|
export {};
|
|
28
28
|
//# sourceMappingURL=FieldRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldRenderer.d.ts","sourceRoot":"","sources":["../../src/components/FieldRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FieldRenderer.d.ts","sourceRoot":"","sources":["../../src/components/FieldRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACT,GAAG,EAGJ,MAAM,OAAO,CAAC;AACf,OAAO,EAAW,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIpD,MAAM,WAAW,YAAY,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM;IAC1D,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAErB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,QAAQ,EAAE;QACR,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;QACpD,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;QACrC,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;KACrC,CAAC;IAEF,KAAK,EAAE,SAAS,SAAS,MAAM,GAC3B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,GAC1B,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,KAAK,iBAAiB,CAAC,MAAM,IAAI,SAAS,SAAS,MAAM,GACrD;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;CAAE,GAC1C;IAAE,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;CAAE,CAAC;AAE9C,MAAM,MAAM,kBAAkB,CAC5B,OAAO,SAAS,MAAM,EACtB,KAAK,SAAS,SAAS,CAAC,QAAQ,IAC9B;IACF,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,IAAI,EAAE,KAAK,CAAC;IACZ,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,CACN,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KACtE,SAAS,CAAC;CAChB,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAElE,wBAAgB,aAAa,CAC3B,OAAO,SAAS,MAAM,EACtB,KAAK,CAAC,KAAK,SAAS,SAAS,CAAC,QAAQ,EACtC,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,2CA4E1C"}
|
package/dist/hooks/useForm.d.ts
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function useForm<
|
|
1
|
+
import { FieldPathBuilder, FormController } from '../../../core/src';
|
|
2
|
+
export declare function useForm<TOutput extends object>(formConfigs: FormController.Configs<TOutput>, hookConfigs?: {
|
|
3
3
|
validateMode?: "onChange" | "onBlur" | "onSubmit";
|
|
4
4
|
revalidateMode?: "onChange" | "onBlur" | "onSubmit";
|
|
5
5
|
watchIssues?: boolean;
|
|
6
6
|
watchValues?: boolean;
|
|
7
7
|
}): {
|
|
8
|
-
formConfigs:
|
|
9
|
-
|
|
10
|
-
validationSchema?: import('@standard-schema/spec').StandardSchemaV1<unknown, TShape> | undefined;
|
|
11
|
-
equalityComparators?: Record<any, (a: any, b: any) => boolean>;
|
|
12
|
-
};
|
|
8
|
+
formConfigs: FormController.Configs<TOutput>;
|
|
9
|
+
paths: FieldPathBuilder<TOutput>;
|
|
13
10
|
hookConfigs: {
|
|
14
11
|
validateMode?: "onChange" | "onBlur" | "onSubmit";
|
|
15
12
|
revalidateMode?: "onChange" | "onBlur" | "onSubmit";
|
|
16
13
|
watchIssues?: boolean;
|
|
17
14
|
watchValues?: boolean;
|
|
18
15
|
} | undefined;
|
|
19
|
-
controller: FormController<
|
|
16
|
+
controller: FormController<TOutput>;
|
|
20
17
|
};
|
|
21
|
-
export type UseForm<
|
|
18
|
+
export type UseForm<TOutput extends object> = ReturnType<typeof useForm<TOutput>>;
|
|
22
19
|
//# sourceMappingURL=useForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForm.d.ts","sourceRoot":"","sources":["../../src/hooks/useForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useForm.d.ts","sourceRoot":"","sources":["../../src/hooks/useForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKtE,wBAAgB,OAAO,CAAC,OAAO,SAAS,MAAM,EAC5C,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAC5C,WAAW,CAAC,EAAE;IACZ,YAAY,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IAClD,cAAc,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;;;;uBAJgB,UAAU,GAAG,QAAQ,GAAG,UAAU;yBAChC,UAAU,GAAG,QAAQ,GAAG,UAAU;sBACrC,OAAO;sBACP,OAAO;;;EAkCxB;AAED,MAAM,MAAM,OAAO,CAAC,OAAO,SAAS,MAAM,IAAI,UAAU,CACtD,OAAO,OAAO,CAAC,OAAO,CAAC,CACxB,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FieldPath } from '../../../core/src';
|
|
2
2
|
import { UseForm } from './useForm';
|
|
3
|
-
export declare function useFormErrorObserver<
|
|
4
|
-
include?:
|
|
5
|
-
}): Record<{ [K in keyof TShape & string]: NonNullable<TShape[K]> extends (...args: any[]) => any ? never : NonNullable<TShape[K]> extends (infer U)[] ? U extends object ? K | `${K}[*]` | `${K}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_3 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]}` : K_3; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K | `${K}[*]` : NonNullable<TShape[K]> extends object ? K | `${K}.${{ [K_3 in keyof NonNullable<TShape[K]> & string]: NonNullable<NonNullable<TShape[K]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<TShape[K]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_4 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<TShape[K]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_5 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_6 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_7 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_8 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_9 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_10 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_11 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${/*elided*/ any[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${{ [K_12 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (infer U)[] ? U extends object ? K_12 | `${K_12}[*]` | `${K_12}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_12 | `${K_12}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends object ? K_12 | `${K_12}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> & string]}` : K_12; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]}` : K_3; }[keyof NonNullable<TShape[K]> & string]}` : K; }[keyof TShape & string] extends infer T ? T extends { [K in keyof TShape & string]: NonNullable<TShape[K]> extends (...args: any[]) => any ? never : NonNullable<TShape[K]> extends (infer U)[] ? U extends object ? K | `${K}[*]` | `${K}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_3 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]}` : K_3; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K | `${K}[*]` : NonNullable<TShape[K]> extends object ? K | `${K}.${{ [K_3 in keyof NonNullable<TShape[K]> & string]: NonNullable<NonNullable<TShape[K]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<TShape[K]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_4 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<TShape[K]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_5 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_6 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_7 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_8 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_9 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_10 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_11 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${/*elided*/ any[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${{ [K_12 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (infer U)[] ? U extends object ? K_12 | `${K_12}[*]` | `${K_12}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_12 | `${K_12}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends object ? K_12 | `${K_12}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> & string]}` : K_12; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]}` : K_3; }[keyof NonNullable<TShape[K]> & string]}` : K; }[keyof TShape & string] ? T extends string ? T extends `${string}[*]${string}` ? (T extends infer T_1 ? T_1 extends T ? T_1 extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${/*elided*/ any}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : T_1 : never : never) | ((T extends infer T_2 ? T_2 extends T ? T_2 extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${/*elided*/ any}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : T_2 : never : never) & {
|
|
6
|
-
_____foldMark?: never;
|
|
7
|
-
}) : T : never : never : never, import("@standard-schema/spec").StandardSchemaV1.Issue[]>;
|
|
3
|
+
export declare function useFormErrorObserver<TOutput extends object, TInclude extends FieldPath.Segments[] | undefined = undefined>(form: UseForm<TOutput>, options?: {
|
|
4
|
+
include?: TInclude;
|
|
5
|
+
}): Record<string, import("@standard-schema/spec").StandardSchemaV1.Issue[]>;
|
|
8
6
|
//# sourceMappingURL=useFormErrorObserver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormErrorObserver.d.ts","sourceRoot":"","sources":["../../src/hooks/useFormErrorObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useFormErrorObserver.d.ts","sourceRoot":"","sources":["../../src/hooks/useFormErrorObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,oBAAoB,CAClC,OAAO,SAAS,MAAM,EACtB,QAAQ,SAAS,SAAS,CAAC,QAAQ,EAAE,GAAG,SAAS,GAAG,SAAS,EAE7D,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EACtB,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB,4EA6BF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FieldPath } from '../../../core/src';
|
|
2
2
|
import { UseForm } from '../hooks/useForm';
|
|
3
|
-
export declare function useFormField<
|
|
3
|
+
export declare function useFormField<TOutput extends object, TPath extends FieldPath.Segments>(form: UseForm<TOutput>, path: TPath, bindingConfig?: Parameters<typeof form.controller.bindField<TPath>>[1]): import('../../../core/src').FormField<TOutput, FieldPath.Resolve<TOutput, TPath>> | undefined;
|
|
4
4
|
//# sourceMappingURL=useFormField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormField.d.ts","sourceRoot":"","sources":["../../src/hooks/useFormField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useFormField.d.ts","sourceRoot":"","sources":["../../src/hooks/useFormField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C,wBAAgB,YAAY,CAC1B,OAAO,SAAS,MAAM,EACtB,KAAK,SAAS,SAAS,CAAC,QAAQ,EAEhC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EACtB,IAAI,EAAE,KAAK,EACX,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kGAkDvE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FieldPath } from '../../../core/src';
|
|
2
2
|
import { UseForm } from './useForm';
|
|
3
|
-
export declare function useFormValuesObserver<
|
|
3
|
+
export declare function useFormValuesObserver<TOutput extends object, TPaths extends FieldPath.Segments[] | undefined = undefined>(form: UseForm<TOutput>, options?: {
|
|
4
4
|
include?: TPaths;
|
|
5
|
-
}): import('
|
|
5
|
+
}): import('../../../core/src').DeepPartial<TOutput>;
|
|
6
6
|
//# sourceMappingURL=useFormValuesObserver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormValuesObserver.d.ts","sourceRoot":"","sources":["../../src/hooks/useFormValuesObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useFormValuesObserver.d.ts","sourceRoot":"","sources":["../../src/hooks/useFormValuesObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,qBAAqB,CACnC,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,SAAS,CAAC,QAAQ,EAAE,GAAG,SAAS,GAAG,SAAS,EAE3D,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EACtB,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,qDAmCF"}
|