keys-converter
Version:
This package provide a util function to convert snake case object keys to camel case
38 lines • 1.54 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCaseRange = void 0;
const is_all_lower_case_1 = __importDefault(require("./is_all_lower_case"));
const is_all_upper_case_1 = __importDefault(require("./is_all_upper_case"));
const is_char_underscore_1 = __importDefault(require("./is_char_underscore"));
const is_char_upper_case_1 = __importDefault(require("./is_char_upper_case"));
const getCaseRange = (str) => {
const allLower = is_all_lower_case_1.default(str);
const allUpper = is_all_upper_case_1.default(str);
if (allLower || allUpper) {
return str.toLowerCase();
}
let index = str.length - 1;
let strResult = str[index];
let rangeCase = !is_char_upper_case_1.default(str[index]);
let isUnderscoreChar = false;
while (str[index] && rangeCase && index >= 0 && !isUnderscoreChar) {
index--;
rangeCase = !is_char_upper_case_1.default(str[index]);
isUnderscoreChar = is_char_underscore_1.default(str[index]);
if (typeof str[index] !== 'undefined') {
strResult += str[index].toLowerCase();
}
}
const normalized = strResult
.split('')
.reverse()
.toString()
.replace(/,/g, '');
return normalized.toLowerCase();
};
exports.getCaseRange = getCaseRange;
exports.default = getCaseRange;
//# sourceMappingURL=get_case_range.js.map
;