UNPKG

@coolio/http

Version:
71 lines 3.22 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var isArray_1 = __importDefault(require("lodash/isArray")); var isPlainObject_1 = __importDefault(require("lodash/isPlainObject")); var BodyCasing; (function (BodyCasing) { BodyCasing["CAMEL_CASE"] = "CAMEL_CASE"; BodyCasing["SNAKE_CASE"] = "SNAKE_CASE"; BodyCasing["SCREAMING_SNAKE_CASE"] = "SCREAMING_SNAKE_CASE"; BodyCasing["PASCAL_CASE"] = "PASCAL_CASE"; BodyCasing["KEBAB_CASE"] = "KEBAB_CASE"; })(BodyCasing = exports.BodyCasing || (exports.BodyCasing = {})); exports.splitWords = function (text) { var words = (text.toUpperCase() === text ? text.split(/(?:[ _-]+)/) : text.split(/(?:[ _-]+)|(?=[A-Z]+)/)).filter(Boolean); return words.length === 0 ? [text] : words; }; exports.deepKeyMap = function (object, mapper) { if (isArray_1.default(object)) { return object.map(function (value) { return exports.deepKeyMap(value, mapper); }); } if (isPlainObject_1.default(object)) { var result = {}; for (var key in object) { if (object.hasOwnProperty(key)) { result[mapper(key)] = exports.deepKeyMap(object[key], mapper); } } return result; } return object; }; exports.toCamelCase = function (object) { return exports.deepKeyMap(object, function (key) { return exports.splitWords(key) .map(function (word, index) { return index > 0 ? word[0].toUpperCase() + word.slice(1).toLowerCase() : word.toLowerCase(); }) .join(''); }); }; exports.toPascalCase = function (object) { return exports.deepKeyMap(object, function (key) { return exports.splitWords(key) .map(function (word) { return word[0].toUpperCase() + word.slice(1).toLowerCase(); }) .join(''); }); }; exports.toSnakeCase = function (object) { return exports.deepKeyMap(object, function (key) { return exports.splitWords(key) .map(function (word) { return word.toLowerCase(); }) .join('_'); }); }; exports.toScreamingSnakeCase = function (object) { return exports.deepKeyMap(object, function (key) { return exports.splitWords(key) .map(function (word) { return word.toUpperCase(); }) .join('_'); }); }; exports.toKebabCase = function (object) { return exports.deepKeyMap(object, function (key) { return exports.splitWords(key) .map(function (word) { return word.toLowerCase(); }) .join('-'); }); }; exports.noConversion = function (object) { return object; }; exports.getCaseConverter = function (bodyCasing) { switch (bodyCasing) { case BodyCasing.CAMEL_CASE: return exports.toCamelCase; case BodyCasing.PASCAL_CASE: return exports.toPascalCase; case BodyCasing.SNAKE_CASE: return exports.toSnakeCase; case BodyCasing.SCREAMING_SNAKE_CASE: return exports.toScreamingSnakeCase; case BodyCasing.KEBAB_CASE: return exports.toKebabCase; default: return exports.noConversion; } }; //# sourceMappingURL=caseConversion.helper.js.map