UNPKG

ramdacase

Version:

[![NPM](https://nodei.co/npm/ramdacase.png)](https://nodei.co/npm/ramdacase/)

59 lines (54 loc) 2.02 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var R = require('ramda'); var tailString = R.tail; var toArray = function toArray(s) { return [s]; }; var reverseReduce = function reverseReduce(list, f) { return function (init) { return R.reduce(f, init, list); }; }; var splitByAll = function splitByAll(delimiters) { return R.pipe(toArray, reverseReduce(delimiters, function (words, delimiter) { return R.chain(R.split(delimiter))(words); }), R.reject(R.equals(""))); }; var toWords = /*#__PURE__*/splitByAll([" ", "\t", "\n", ",", ".", "_", "-"]); var headString = R.head; var capitalizeHead = /*#__PURE__*/R.pipe(headString, R.toUpper); var uncapitalizeHead = /*#__PURE__*/R.pipe(headString, R.toLower); var capitalize = function capitalize(s) { return R.concat(capitalizeHead(s), tailString(s)); }; var uncapitalize = function uncapitalize(s) { return R.concat(uncapitalizeHead(s), tailString(s)); }; var toCase = function toCase(delimiter) { return R.pipe(toWords, R.join(delimiter)); }; var toKebab = /*#__PURE__*/toCase("-"); var toSnake = /*#__PURE__*/toCase("_"); var toDot = /*#__PURE__*/toCase("."); var toSlash = /*#__PURE__*/toCase("/"); var toKebabUpper = /*#__PURE__*/R.pipe(toKebab, R.toUpper); var toSnakeUpper = /*#__PURE__*/R.pipe(toSnake, R.toUpper); var toPascal = /*#__PURE__*/R.pipe(toWords, /*#__PURE__*/R.map(capitalize), /*#__PURE__*/R.join("")); var toCamel = /*#__PURE__*/R.pipe(toPascal, uncapitalize); exports.capitalize = capitalize; exports.capitalizeHead = capitalizeHead; exports.splitByAll = splitByAll; exports.toCamel = toCamel; exports.toCase = toCase; exports.toDot = toDot; exports.toKebab = toKebab; exports.toKebabUpper = toKebabUpper; exports.toPascal = toPascal; exports.toSlash = toSlash; exports.toSnake = toSnake; exports.toSnakeUpper = toSnakeUpper; exports.toWords = toWords; exports.uncapitalize = uncapitalize; exports.uncapitalizeHead = uncapitalizeHead; //# sourceMappingURL=ramdacase.cjs.development.js.map