angular-filter icon indicating copy to clipboard operation
angular-filter copied to clipboard

Inconsistent return value for shortFmt

Open briandamaged opened this issue 9 years ago • 0 comments

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.

briandamaged avatar Jun 22 '16 20:06 briandamaged