UNPKG

art-standard-lib

Version:

The Standard Library for JavaScript that aught to be.

155 lines (127 loc) 4.24 kB
// Generated by CoffeeScript 1.12.7 (function() { var StringCase, compactFlatten, isArray, isString, ref; compactFlatten = require('./ArrayCompactFlatten').compactFlatten; ref = require('./Types'), isArray = ref.isArray, isString = ref.isString; module.exports = StringCase = (function() { var findCapStartWordsRegExp, findWordsRegExp, getCodeWords; function StringCase() {} findWordsRegExp = /[a-zA-Z][a-zA-Z0-9]*|[0-9]+/g; findCapStartWordsRegExp = /(?:[A-Z]{2,}(?![a-z]))|[A-Z][a-z0-9]*|[a-z0-9]+/g; /* getCodeWords INv1: <String> INv2: <Array* <String>> OUT: <Array <String>> */ StringCase.getCodeWords = getCodeWords = function(str) { var word; return compactFlatten((function() { var i, len, ref1, results; if (isArray(str)) { return str; } else if (isString(str) && findWordsRegExp.test(str)) { ref1 = str.match(findWordsRegExp); results = []; for (i = 0, len = ref1.length; i < len; i++) { word = ref1[i]; results.push(word.match(findCapStartWordsRegExp)); } return results; } else { return []; } })()); }; StringCase.codeWords = getCodeWords; StringCase.lowerCase = function(str) { return str != null ? str.toLocaleLowerCase() : void 0; }; StringCase.upperCase = function(str) { return str != null ? str.toLocaleUpperCase() : void 0; }; StringCase.capitalize = function(str) { return StringCase.upperCase(str.charAt(0)) + str.slice(1); }; StringCase.decapitalize = function(str) { return StringCase.lowerCase(str.charAt(0)) + str.slice(1); }; StringCase.getLowerCaseCodeWords = function(str) { var i, len, ref1, results, word; ref1 = StringCase.getCodeWords(str); results = []; for (i = 0, len = ref1.length; i < len; i++) { word = ref1[i]; results.push(StringCase.lowerCase(word)); } return results; }; StringCase.getUpperCaseCodeWords = function(str) { var i, len, ref1, results, word; ref1 = StringCase.getCodeWords(str); results = []; for (i = 0, len = ref1.length; i < len; i++) { word = ref1[i]; results.push(StringCase.upperCase(word)); } return results; }; StringCase.getCapitalizedCodeWords = function(str) { var i, len, ref1, results, word; ref1 = StringCase.getCodeWords(str); results = []; for (i = 0, len = ref1.length; i < len; i++) { word = ref1[i]; results.push(StringCase.capitalize(StringCase.lowerCase(word))); } return results; }; StringCase.upperCamelCase = function(str, joiner) { var word; if (joiner == null) { joiner = ""; } return ((function() { var i, len, ref1, results; ref1 = this.getLowerCaseCodeWords(str); results = []; for (i = 0, len = ref1.length; i < len; i++) { word = ref1[i]; results.push(this.capitalize(word)); } return results; }).call(StringCase)).join(joiner); }; StringCase.lowerCamelCase = function(str, joiner) { if (joiner == null) { joiner = ""; } return StringCase.decapitalize(StringCase.upperCamelCase(str, joiner)); }; StringCase.snakeCase = function(str, joiner) { if (joiner == null) { joiner = "_"; } return (StringCase.getLowerCaseCodeWords(str)).join(joiner); }; StringCase.upperSnakeCase = function(str, joiner) { if (joiner == null) { joiner = "_"; } return (StringCase.getUpperCaseCodeWords(str)).join(joiner); }; StringCase.dashCase = function(str, joiner) { if (joiner == null) { joiner = "-"; } return (StringCase.getLowerCaseCodeWords(str)).join(joiner); }; StringCase.capitalizedDashCase = function(str, joiner) { if (joiner == null) { joiner = "-"; } return (StringCase.getCapitalizedCodeWords(str)).join(joiner); }; return StringCase; })(); }).call(this); //# sourceMappingURL=StringCase.js.map