Files
cbsnexora/src/app/pipes/url-to-string.pipe.ts
T

40 lines
1.1 KiB
TypeScript

/**
* Copyright since 2025 Mifos Initiative
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/** Angular Imports */
import { Pipe, PipeTransform } from '@angular/core';
/**
* URL to String pipe.
* Transform eg: `self-service/users` :: `Self Service | Users`
*/
@Pipe({ name: 'urlToString' })
export class UrlToStringPipe implements PipeTransform {
transform(url: string): any {
url = decodeURIComponent(url);
const urlSubstrings: string[] = url.slice(1).split('/');
if (url.includes('?')) {
// Query params URL.
const query = urlSubstrings.pop();
const prefix = query.slice(0, query.indexOf('?'));
urlSubstrings.push(prefix);
}
const stringRepresentation = urlSubstrings
.map((path: string) => {
return path
.split('-')
.map((str: string) => {
return str.charAt(0).toUpperCase() + str.slice(1);
})
.join(' ');
})
.join(' | ');
return stringRepresentation;
}
}