xml2customjs
Version:
Library to custom convert an XML into a Javascript object or JSON
25 lines • 878 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toSnakeCase = void 0;
/**
* This function converts a prop name in pascal, camel, snake, kebab or separated by :
* into snake case version
* @param param
* @returns string
*/
function toSnakeCase(param) {
const text = '' + param;
const hasSymbolSeparators = /[-_:]/.test(text);
const isAllUpperOrLower = /^([a-z]+|[A-Z]+)$/.test(text);
const arr = hasSymbolSeparators
? text.split(/[-_:]/)
: !isAllUpperOrLower
? text.split(/(=?[A-Z][a-z]+)|(=?[A-Z]+)|(=?[a-z]+)/)
: [text];
const mappedArr = arr.map((val) => {
return val != '' && val != undefined ? val.toLowerCase() : null;
}).filter(val => val != null);
return mappedArr.join('_');
}
exports.toSnakeCase = toSnakeCase;
//# sourceMappingURL=to-snakecase.js.map