diff --git a/src/lib/common-ui.module.ts b/src/lib/common-ui.module.ts index d6b3e6a..79bfdea 100644 --- a/src/lib/common-ui.module.ts +++ b/src/lib/common-ui.module.ts @@ -36,6 +36,7 @@ import { DragDropFileUploadDirective } from './upload-file/drag-drop-file-upload import { MatProgressBarModule } from '@angular/material/progress-bar'; import { ConfirmationDialogComponent } from './dialog'; import { MatTooltipModule } from '@angular/material/tooltip'; +import { HumanizeCamelCasePipe } from './utils/pipes/humanize-camel-case.pipe'; const matModules = [MatIconModule, MatProgressSpinnerModule, MatButtonModule, MatDialogModule, MatCheckboxModule, MatTooltipModule]; const modules = [ @@ -66,7 +67,7 @@ const components = [ DragDropFileUploadDirective, ]; -const pipes = [SortByPipe, HumanizePipe, CapitalizePipe, LogPipe]; +const pipes = [SortByPipe, HumanizePipe, CapitalizePipe, LogPipe, HumanizeCamelCasePipe]; @NgModule({ declarations: [...components, ...pipes], diff --git a/src/lib/utils/functions.ts b/src/lib/utils/functions.ts index 510f3ad..5b06d35 100644 --- a/src/lib/utils/functions.ts +++ b/src/lib/utils/functions.ts @@ -21,6 +21,10 @@ export function humanize(value: string, lowercase = true): string { return words.map(capitalize).join(' '); } +export function humanizeCamelCase(value: string): string { + return value.replace(/([a-z])([A-Z])/g, '$1 $2').toLowerCase(); +} + export function _log(value: unknown, message = '') { console.log(`%c[${dayjs().format('mm:ss.SSS')}] ${message}`, 'color: yellow;', value); } diff --git a/src/lib/utils/pipes/humanize-camel-case.pipe.ts b/src/lib/utils/pipes/humanize-camel-case.pipe.ts new file mode 100644 index 0000000..46b8831 --- /dev/null +++ b/src/lib/utils/pipes/humanize-camel-case.pipe.ts @@ -0,0 +1,11 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import { humanizeCamelCase } from '../functions'; + +@Pipe({ + name: 'humanizeCamelCase', +}) +export class HumanizeCamelCasePipe implements PipeTransform { + transform(item: string): string { + return humanizeCamelCase(item); + } +}