UNPKG

keys-converter

Version:

This package provide a util function to convert snake case object keys to camel case

38 lines 1.54 kB
"use strict"; 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