angular-filter
angular-filter copied to clipboard
Inconsistent return value for shortFmt
The current behavior
When given an Number less than 1000, shortFmt returns a Number. Otherwise, it returns a String.
Why is this a problem?
Consider the following case:
<span>{{ (n | shortFmt:1) || 'N/A'}}</span>
When n = 0, this will print "N/A" (Why? Because 0 is a false-y value in JS. Therefore, it evaluates the right-hand side of the "||"). I believe that most developers would expect this to print "0" instead. (Similar to the behavior of angular's number filter)
Proposed fix
When n < 1000, return n + ''. This will coerce the Number into a String.
If this seems like a reasonable behavior, then I'll go ahead and create a PR for this later today.