UNPKG

xml2customjs

Version:

Library to custom convert an XML into a Javascript object or JSON

25 lines 878 B
"use strict"; 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