src/app/shared/services/url-builder.service.ts
Methods |
constructor(base: string)
|
||||||
Parameters :
|
Static buildURL | |||||||||
buildURL(absolute: boolean, ...segments: string[])
|
|||||||||
Parameters :
Returns :
string
|
Private Static concatURLSegments | ||||||
concatURLSegments(segments: string[])
|
||||||
Parameters :
Returns :
string
|
getAdd | ||||||
getAdd(absolute)
|
||||||
Parameters :
Returns :
string
|
getCreate | ||||||
getCreate(absolute)
|
||||||
Parameters :
Returns :
string
|
getDelete | ||||||
getDelete(absolute)
|
||||||
Parameters :
Returns :
string
|
getEdit | ||||||||||||
getEdit(item: string, absolute)
|
||||||||||||
Parameters :
Returns :
string
|
getRemove | ||||||
getRemove(absolute)
|
||||||
Parameters :
Returns :
string
|
getUpdate | ||||||||||||
getUpdate(item: string, absolute)
|
||||||||||||
Parameters :
Returns :
string
|
Private getURL | ||||||||||||||||
getURL(verb: URLVerbs, absolute, ...segments: string[])
|
||||||||||||||||
Parameters :
Returns :
string
|
import { Location } from '@angular/common';
import { URLVerbs } from '../constants/app.constants';
export class URLBuilderService {
constructor(readonly base: string) {}
private static concatURLSegments(segments: string[]): string {
return segments.reduce(Location.joinWithSlash);
}
static buildURL(absolute: boolean, ...segments: string[]): string {
return URLBuilderService.concatURLSegments([...(absolute ? ['/'] : []), ...segments]);
}
private getURL(verb: URLVerbs, absolute = true, ...segments: string[]): string {
return URLBuilderService.buildURL(absolute, this.base, verb, ...segments);
}
getCreate(absolute = true): string {
return this.getURL(URLVerbs.CREATE, absolute);
}
getDelete(absolute = true): string {
return this.getURL(URLVerbs.DELETE, absolute);
}
getEdit(item: string, absolute = true): string {
return this.getURL(URLVerbs.EDIT, absolute, item);
}
getUpdate(item: string, absolute = true): string {
return this.getURL(URLVerbs.UPDATE, absolute, item);
}
getAdd(absolute = true): string {
return this.getURL(URLVerbs.ADD, absolute);
}
getRemove(absolute = true): string {
return this.getURL(URLVerbs.REMOVE, absolute);
}
}