DefinitelyTyped/types/humps/index.d.ts
박기완 e52d1cc447 [humps] Change order of function typing to support spread (#41750)
* Change order of function typing to support spread

Array is regarded as Object,
so type of functions are inferred to function returning Object.

* Chore: run prettier

* Fix: re-enable dt-header rule

* Fix: re-enable ban-types rule

* Fix: use recommended lint rules

- Use const instead of let.
- Use arrow functions.
- Make function declarations adjacent.
- Do not use namespace, and export all things manually.
2020-01-22 10:08:22 -08:00

35 lines
1.6 KiB
TypeScript

// Type definitions for humps 1.1
// Project: https://github.com/domchristie/humps
// Definitions by: Niklas Mollenhauer <https://github.com/nikeee>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
export function camelize(value: string): string;
export function pascalize(value: string): string;
export function decamelize(value: string, optionsOrProcessor?: OptionOrProcessor): string;
export function depascalize(value: string, optionsOrProcessor?: OptionOrProcessor): string;
export function camelizeKeys(str: object[], optionsOrProcessor?: OptionOrProcessor): object[];
export function camelizeKeys(str: object, optionsOrProcessor?: OptionOrProcessor): object;
export function pascalizeKeys(str: object[], optionsOrProcessor?: OptionOrProcessor): object[];
export function pascalizeKeys(str: object, optionsOrProcessor?: OptionOrProcessor): object;
export function decamelizeKeys(str: object[], optionsOrProcessor?: OptionOrProcessor): object[];
export function decamelizeKeys(str: object, optionsOrProcessor?: OptionOrProcessor): object;
export function depascalizeKeys(str: object[], optionsOrProcessor?: OptionOrProcessor): object[];
export function depascalizeKeys(str: object, optionsOrProcessor?: OptionOrProcessor): object;
export interface HumpsOptions {
separator?: string;
split?: RegExp;
process?: HumpsProcessor;
}
export interface HumpsProcessor {
(key: string, convert: HumpsProcessorParameter, options?: HumpsOptions): string;
}
export interface HumpsProcessorParameter {
(key: string, options?: HumpsOptions): string;
}
export type OptionOrProcessor = HumpsOptions | HumpsProcessor;