//// [reverseMappedTypeDeepDeclarationEmit.ts] export type Validator = NativeTypeValidator | ObjectValidator export type NativeTypeValidator = (n: any) => T | undefined export type ObjectValidator = { [K in keyof O]: Validator } //native validators export declare const SimpleStringValidator: NativeTypeValidator; ///object validator function export declare const ObjValidator: (validatorObj: ObjectValidator) => (o: any) => V; export const test = { Test: { Test1: { Test2: SimpleStringValidator }, } } export const validatorFunc = ObjValidator(test); export const outputExample = validatorFunc({ Test: { Test1: { Test2: "hi" }, } }); //// [reverseMappedTypeDeepDeclarationEmit.js] "use strict"; exports.__esModule = true; exports.outputExample = exports.validatorFunc = exports.test = void 0; exports.test = { Test: { Test1: { Test2: exports.SimpleStringValidator } } }; exports.validatorFunc = (0, exports.ObjValidator)(exports.test); exports.outputExample = (0, exports.validatorFunc)({ Test: { Test1: { Test2: "hi" } } }); //// [reverseMappedTypeDeepDeclarationEmit.d.ts] export declare type Validator = NativeTypeValidator | ObjectValidator; export declare type NativeTypeValidator = (n: any) => T | undefined; export declare type ObjectValidator = { [K in keyof O]: Validator; }; export declare const SimpleStringValidator: NativeTypeValidator; export declare const ObjValidator: (validatorObj: ObjectValidator) => (o: any) => V; export declare const test: { Test: { Test1: { Test2: NativeTypeValidator; }; }; }; export declare const validatorFunc: (o: any) => { Test: { Test1: { Test2: string; }; }; }; export declare const outputExample: { Test: { Test1: { Test2: string; }; }; };