a8m / a8m/angular-filter

Inconsistent return value for shortFmt

Open
#205 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
2.9k
Forks
319
PR merge metrics
No merged PRs in 30d

Description

### 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:

```
{{ (n | shortFmt:1) || 'N/A'}}
```

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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.