Version 1
[yaffs-website] / node_modules / grunt-uncss / node_modules / lodash / _createCaseFirst.js
diff --git a/node_modules/grunt-uncss/node_modules/lodash/_createCaseFirst.js b/node_modules/grunt-uncss/node_modules/lodash/_createCaseFirst.js
new file mode 100644 (file)
index 0000000..fe8ea48
--- /dev/null
@@ -0,0 +1,33 @@
+var castSlice = require('./_castSlice'),
+    hasUnicode = require('./_hasUnicode'),
+    stringToArray = require('./_stringToArray'),
+    toString = require('./toString');
+
+/**
+ * Creates a function like `_.lowerFirst`.
+ *
+ * @private
+ * @param {string} methodName The name of the `String` case method to use.
+ * @returns {Function} Returns the new case function.
+ */
+function createCaseFirst(methodName) {
+  return function(string) {
+    string = toString(string);
+
+    var strSymbols = hasUnicode(string)
+      ? stringToArray(string)
+      : undefined;
+
+    var chr = strSymbols
+      ? strSymbols[0]
+      : string.charAt(0);
+
+    var trailing = strSymbols
+      ? castSlice(strSymbols, 1).join('')
+      : string.slice(1);
+
+    return chr[methodName]() + trailing;
+  };
+}
+
+module.exports = createCaseFirst;