UNPKG

@foundernest/namecase

Version:

A fully typed library for fixing capitalization of people's names. Based on tamtamchik PHP library.

112 lines (111 loc) 2.48 kB
declare type EnvironmentOptions = { lazy?: boolean; irish?: boolean; spanish?: boolean; roman?: boolean; hebrew?: boolean; postnominal?: boolean; }; declare class Environment { private EXCEPTIONS; private REPLACEMENTS; private HEBREW; private CONJUNCTIONS; private ROMAN_REGEX; private POST_NOMINALS; private postNominalsExcluded; private options; private bckOptions; constructor(options: EnvironmentOptions); /** * Global options setter. * * @param options */ setOptions(options: EnvironmentOptions): void; backupOptions(): void; restoreOptions(): void; /** * Global post-nominals exclusions setter. * * @param values * @returns boolean */ excludePostNominals(values: string | string[]): void; /** * Main function for NameCase. * * @param name * @param options * * @returns string */ nameCase(name: string, options?: EnvironmentOptions): string; private processOptions; /** * Capitalize first letters. * * @param name * * @returns string */ private capitalizeFirstLetters; private lowercaseFinalS; /** * Define required replacements. * * @return array */ private getReplacements; /** * Update for Irish names. * * @param name * * @returns string */ private updateIrish; /** * Updates irish Mac & Mc. * * @param name * * @returns string */ private updateMac; /** * Fix roman numeral names. * * @param name * * @returns string */ private updateRoman; /** * Fix Spanish rules. * * @param name * * @returns string */ private updateSpanish; /** * Fix post-nominal letter cases. * * @param name * @returns string */ private fixPostNominal; /** * Skip if string is mixed case. * * @param name * * @returns bool */ private skipMixed; } export declare const setOptions: (options: EnvironmentOptions) => void; export declare const excludePostNominals: (values: string | string[]) => void; export declare const nameCase: (name: string, options?: EnvironmentOptions) => string; export default Environment;