Skip to content

Commit 491704c

Browse files
authored
feat: allow user to configure default string and separator for dislay… (#844)
* feat: allow user to configure default string and separator for dislayStringEnum * feat: fix naming * fix: simplify
1 parent 936c51f commit 491704c

File tree

2 files changed

+6
-10
lines changed

2 files changed

+6
-10
lines changed

projects/common/src/utilities/formatters/enum/display-string-enum.pipe.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { displayStringEnum } from './display-string-enum';
55
name: 'htDisplayStringEnum'
66
})
77
export class DisplayStringEnumPipe implements PipeTransform {
8-
public transform(value: string): string {
9-
return displayStringEnum(value);
8+
public transform(value?: string, defaultValue: string = '-', separator: string = ' '): string {
9+
return displayStringEnum(value, defaultValue, separator);
1010
}
1111
}
Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
import { isNil, startCase } from 'lodash-es';
1+
import { capitalize, isNil, lowerCase } from 'lodash-es';
22

3-
export const displayStringEnum = (provided?: string): string => {
3+
export const displayStringEnum = (provided?: string, defaultValue: string = '-', separator: string = ' '): string => {
44
if (isNil(provided)) {
5-
return '-';
5+
return defaultValue;
66
}
77

8-
// This removes dashes and underscores and gives all words initial caps
9-
const startCased = startCase(provided);
10-
11-
// We only want the first word capitalized.
12-
return `${startCased[0]}${startCased.substr(1).toLowerCase()}`;
8+
return capitalize(lowerCase(provided)).replace(' ', separator);
139
};

0 commit comments

Comments
 (0)