Sentence case filter for AngularJS.
# in Coffeescript
myAngularModule.filter "sentence_case", ->
_.memoize (x) ->
return unless angular.isString(x)
x = x.toLowerCase()
capitalize = (str) ->
str += ''
return str.charAt(0).toUpperCase() + str.slice(1)
fmt = (y) ->
capitalized = capitalize($.trim(y))
x = _.map(x.split("."), (z) -> fmt(z)).join(". ")
x = _.map(x.split("!"), (z) -> fmt(z)).join("! ")
x = _.map(x.split(","), (z) -> z).join(", ")
// The Javascript Output
myAngularModule.filter("sentence_case", function() {
return _.memoize(function(x) {
var capitalize, fmt;
if (!angular.isString(x)) {
return;
}
x = x.toLowerCase();
capitalize = function(str) {
str += '';
return str.charAt(0).toUpperCase() + str.slice(1);
};
fmt = function(y) {
var capitalized;
return capitalized = capitalize($.trim(y));
};
x = _.map(x.split("."), function(z) {
return fmt(z);
}).join(". ");
x = _.map(x.split("!"), function(z) {
return fmt(z);
}).join("! ");
return x = _.map(x.split(","), function(z) {
return z;
}).join(", ");
});
});
Written by Benjamin Charity
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Coffeescript
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#