UNPKG

deep-case-crafter

Version:

Transforms deeply nested object, array, Map, and Set keys between common case formats while preserving TypeScript type safety

22 lines (21 loc) 909 B
import { StringCase } from '../types/stringCaseTypes'; import { TransformOptions } from '../types/transformOptionTypes'; import { TransformRecursive } from '../types/transformTypes'; declare function transform<T, From extends StringCase, To extends StringCase>(data: T, options: TransformOptions & { depth?: number; sourceCase: From; targetCase: To; }): TransformRecursive<T, From, To>; /** * Transform data to a specified output type. * * Note: When using this overload, type safety is not enforced between the input, options, and output type. * The 'sourceCase' option is intentionally omitted, as it is not used for type inference here. */ declare function transform<T, K>(data: T, options?: Omit<TransformOptions, 'sourceCase'> & { depth?: number; }): K; declare function transform<T>(data: T, options?: TransformOptions & { depth?: number; }): unknown; export default transform;