@technobuddha/library
Version:
A large library of useful functions
33 lines • 1.95 kB
JavaScript
import { capitalize } from "./capitalize.js";
import { isUpperCase } from "./is-upper-case.js";
import { empty } from "./unicode.js";
// cspell: ignore Capitalcase sMALLCASE
/**
* Attempt to convert the input string into the same case as the target string
* @remarks The best guess is made to try to figure out what case the target is in:
* * lowercase
* * UPPERCASE
* * Capitalcase
* * PascalCase
* @param input - The input string
* @param target - The target string
* @returns The input in the case case as the target string
* @group String
* @category Case Conversion
*/
export function matchCase(input, target) {
if (target === empty) {
return input;
}
if (input === empty) {
return empty;
}
if (isUpperCase(target)) {
return input.toLocaleUpperCase();
}
else if (isUpperCase(target[0])) {
return capitalize(input.toLocaleLowerCase());
}
return input.toLocaleLowerCase();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtY2FzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXRjaC1jYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyQyx1Q0FBdUM7QUFDdkM7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBYztJQUNyRCxJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDbkMsQ0FBQztTQUFNLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEMsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztBQUNuQyxDQUFDIn0=