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
TypeScript
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;