bananas-commerce
Version:
A client for bananas-commerce with support for TypeScript
20 lines (19 loc) • 652 B
JavaScript
import { noCase } from "../no_case/mod.js";
export function pascalCaseTransform(input, index) {
const firstChar = input.charAt(0);
const lowerChars = input.substr(1).toLowerCase();
if (index > 0 && firstChar >= "0" && firstChar <= "9") {
return `_${firstChar}${lowerChars}`;
}
return `${firstChar.toUpperCase()}${lowerChars}`;
}
export function pascalCaseTransformMerge(input) {
return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();
}
export function pascalCase(input, options = {}) {
return noCase(input, {
delimiter: "",
transform: pascalCaseTransform,
...options,
});
}