summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/dashboard/frontend/src/app/shared/pipes/ordinal.pipe.ts
blob: da89a02407a394896e0a0a6256b14b099c037d2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'ordinal'
})
export class OrdinalPipe implements PipeTransform {
  transform(value: any): any {
    const num = parseInt(value, 10);
    if (isNaN(num)) {
      return value;
    }
    return (
      value +
      (Math.floor(num / 10) === 1
        ? 'th'
        : num % 10 === 1
        ? 'st'
        : num % 10 === 2
        ? 'nd'
        : num % 10 === 3
        ? 'rd'
        : 'th')
    );
  }
}