UNPKG

@universis/common

Version:

Universis - common directives and services

106 lines 12.5 kB
import { Injectable } from '@angular/core'; import { Args } from '@themost/client'; import * as i0 from "@angular/core"; /** * * RequestTypesServiceService * * Read the available categories, the entries of those categories and update the list of the categories. * */ export class RequestTypesService { constructor() { /** * @param {Array<any>} requestTypes The list of the request categories */ this.requestTypes = []; } /** * * Adds a new item to the service list * * @param {RequestTypeItem} item The request type item to be added * */ add(item) { Args.notNull(item, 'RequestTypeItem'); Args.notNull(item.name, 'RequestTypeItem name'); Args.notNull(item.alternateName, 'RequestTypeItem alternateName'); Args.notNull(item.category, 'RequestTypeItem category'); Args.notNull(item.entryPoint, 'RequestTypeItem entryPoint'); const re = new RegExp(`^${item.alternateName}$`, 'ig'); const itemExist = this.requestTypes.some((existingItem) => re.test(existingItem.alternateName)); if (!itemExist) { this.requestTypes.push(item); } } /** * * Adds a number of items to the service list * * @param {Array<RequestTypeItem>} items The array of the items to be included. * */ addRange(...items) { for (const item of items) { this.add(item); } } /** * * Remove * * Removes an item from the list and returns the deleted item * Returns null when the item is not found * * @param {RequestTypeItem} item The item to be deleted * */ remove(item) { Args.notNull(item, 'RequestTypeItem'); const re = new RegExp(`^${item.alternateName}$`, 'ig'); const findIndex = this.requestTypes.findIndex((existingItem) => re.test(existingItem.alternateName)); if (findIndex < 0) { return null; } // remove item at index found and return the deleted item return this.requestTypes.splice(findIndex, 1)[0]; } /** * * Remove * * Removes an item from the list and returns the deleted item * Returns null when the item is not found * * @param {string} alternateName The alternateName of item to be deleted * */ removeByName(alternateName) { const re = new RegExp(`^${alternateName}$`, 'ig'); const targetItem = this.requestTypes.find((existingItem) => re.test(existingItem.alternateName)); if (!targetItem) { return null; } return this.remove(targetItem); } /** * * getItems * * Returns the current state of the request items list * */ getItems() { return [...this.requestTypes]; } } RequestTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RequestTypesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); RequestTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RequestTypesService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RequestTypesService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10eXBlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZXJ2aWNlcy9yZXF1ZXN0LXR5cGVzL3JlcXVlc3QtdHlwZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFxRHZDOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFPOUI7UUFMQTs7V0FFRztRQUNLLGlCQUFZLEdBQTJCLEVBQUUsQ0FBQztJQUVsQyxDQUFDO0lBRWpCOzs7Ozs7T0FNRztJQUNILEdBQUcsQ0FBQyxJQUFxQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBRTVELE1BQU0sRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FDeEQsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQ3BDLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsUUFBUSxDQUFDLEdBQUcsS0FBNkI7UUFDdkMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQjtJQUNILENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsSUFBcUI7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUV0QyxNQUFNLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQzdELEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUNwQyxDQUFDO1FBRUYsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCx5REFBeUQ7UUFDekQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFlBQVksQ0FBQyxhQUFxQjtRQUNoQyxNQUFNLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLGFBQWEsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FDekQsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQ3BDLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoQyxDQUFDOztpSEF4R1UsbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXJncyB9IGZyb20gJ0B0aGVtb3N0L2NsaWVudCc7XG5cbi8qKlxuICpcbiAqIFJlcXVlc3QgdHlwZXMgc2VydmljZVxuICpcbiAqIFJlZ2lzdHJhciBzdHVmZiBhY2NlcHRzIHJlcXVlc3RzLiBSZXF1ZXN0cyBjYW4gYmUgb3JnYW5pemVkIGJ5IGNhdGVnb3J5LlxuICogVGhpcyBzZXJ2aWNlIHN0b3JlcyB0aGUgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIHJlcXVlc3RzLlxuICpcbiAqIFRoaXMgc2VydmljZSBjYW4gYmUgdXNlZCB0byByZWFkIHRoZSBhdmFpbGFibGUgY2F0ZWdvcmllcywgdGhlIGVudHJpZXMgb2YgdGhvc2VcbiAqIGNhdGVnb3JpZXMgYW5kIHVwZGF0ZSB0aGUgbGlzdCBvZiB0aGUgY2F0ZWdvcmllcy5cbiAqXG4gKiBBbiBleGFtcGxlIG9mIGEgcmVxdWVzdCBjYXRlZ29yeSB0eXBlIGlzIHRoZSBkb2N1bWVudCBjYXRlZ29yeSAoZS5nLiB0cmFuc2NyaXB0KS5cbiAqXG4gKi9cblxuXG4vKipcbiAqXG4gKiBSZXF1ZXN0VHlwZUl0ZW0gaW50ZXJmYWNlXG4gKlxuICogUmVwcmVzZW50cyBhIHJlcXVlc3QgdHlwZSB0aGF0IGlzIGdvaW5nIHRvIGJlIHVzZWQgYnkgcmVxdWVzdCB0eXBlIHNlcnZpY2VcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiBhbiBpdGVtLCBjb21tb25seSBhIHRyYW5zbGF0aW9uIGtleSBlLmcuICdSZXF1ZXN0cy5UcmFuc2NyaXB0J1xuICogQHBhcmFtIHtzdHJpbmd9IGFsdGVybmF0ZU5hbWUgdGhlIGtleSBvZiB0aGUgaXRlbSBlLmcuIHRyYW5zY3JpcHRcbiAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiBBbiBvcHRpb25hbCBkZXNjcmlwdGlvblxuICogQHBhcmFtIHtzdHJpbmd9IGNhdGVnb3J5IFRoZSBjYXRlZ29yeSBvZiB0aGlzIGl0ZW0gZS5nLiBEb2N1bWVudFJlcXVlc3RzLCBPdGhlclJlcXVlc3RzLCBRdWVzdGlvbnMgZXRjXG4gKiBAcGFyYW0ge3N0cmluZ30gZW50cnlQb2ludCBUaGUgZW50cnkgcG9pbnQgdGhhdCBpcyBnb2luZyB0byBiZSB1c2VkIGZvciB0aGlzIHJlcXVlc3RcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcmV2aWV3RW50cnlQb2ludCBUaGUgZW50cnkgcG9pbnQgdGhhdCBpcyBnb2luZyB0byBiZSB1c2VkIGZvciBwcmV2aWV3aW5nIGEgcmVxdWVzdFxuICpcbiAqL1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFJlcXVlc3RUeXBlSXRlbSB7XG4gIG5hbWU6IHN0cmluZztcbiAgYWx0ZXJuYXRlTmFtZTogc3RyaW5nO1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICBlbnRyeVBvaW50OiBzdHJpbmc7XG4gIHByZXZpZXdFbnRyeVBvaW50Pzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKlxuICogUmVxdWVzdFR5cGVTZXJ2aWNlQmFzZVxuICpcbiAqL1xuZGVjbGFyZSBpbnRlcmZhY2UgUmVxdWVzdFR5cGVTZXJ2aWNlQmFzZSB7XG4gIGFkZChpdGVtOiBSZXF1ZXN0VHlwZUl0ZW0pOiB2b2lkO1xuICBhZGRSYW5nZSguLi5pdGVtczogQXJyYXk8UmVxdWVzdFR5cGVJdGVtPik6IHZvaWQ7XG4gIHJlbW92ZShpdGVtOiBSZXF1ZXN0VHlwZUl0ZW0pOiBSZXF1ZXN0VHlwZUl0ZW0gfCBudWxsO1xuICBnZXRJdGVtcygpOiBBcnJheTxSZXF1ZXN0VHlwZUl0ZW0+O1xufVxuXG5cbi8qKlxuICpcbiAqIFJlcXVlc3RUeXBlc1NlcnZpY2VTZXJ2aWNlXG4gKlxuICogUmVhZCB0aGUgYXZhaWxhYmxlIGNhdGVnb3JpZXMsIHRoZSBlbnRyaWVzIG9mIHRob3NlIGNhdGVnb3JpZXMgYW5kIHVwZGF0ZSB0aGUgbGlzdCBvZiB0aGUgY2F0ZWdvcmllcy5cbiAqXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RUeXBlc1NlcnZpY2UgaW1wbGVtZW50cyBSZXF1ZXN0VHlwZVNlcnZpY2VCYXNlIHtcblxuICAvKipcbiAgICogQHBhcmFtIHtBcnJheTxhbnk+fSByZXF1ZXN0VHlwZXMgVGhlIGxpc3Qgb2YgdGhlIHJlcXVlc3QgY2F0ZWdvcmllc1xuICAgKi9cbiAgcHJpdmF0ZSByZXF1ZXN0VHlwZXM6IEFycmF5PFJlcXVlc3RUeXBlSXRlbT4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBBZGRzIGEgbmV3IGl0ZW0gdG8gdGhlIHNlcnZpY2UgbGlzdFxuICAgKlxuICAgKiBAcGFyYW0ge1JlcXVlc3RUeXBlSXRlbX0gaXRlbSBUaGUgcmVxdWVzdCB0eXBlIGl0ZW0gdG8gYmUgYWRkZWRcbiAgICpcbiAgICovXG4gIGFkZChpdGVtOiBSZXF1ZXN0VHlwZUl0ZW0pOiB2b2lkIHtcbiAgICBBcmdzLm5vdE51bGwoaXRlbSwgJ1JlcXVlc3RUeXBlSXRlbScpO1xuICAgIEFyZ3Mubm90TnVsbChpdGVtLm5hbWUsICdSZXF1ZXN0VHlwZUl0ZW0gbmFtZScpO1xuICAgIEFyZ3Mubm90TnVsbChpdGVtLmFsdGVybmF0ZU5hbWUsICdSZXF1ZXN0VHlwZUl0ZW0gYWx0ZXJuYXRlTmFtZScpO1xuICAgIEFyZ3Mubm90TnVsbChpdGVtLmNhdGVnb3J5LCAnUmVxdWVzdFR5cGVJdGVtIGNhdGVnb3J5Jyk7XG4gICAgQXJncy5ub3ROdWxsKGl0ZW0uZW50cnlQb2ludCwgJ1JlcXVlc3RUeXBlSXRlbSBlbnRyeVBvaW50Jyk7XG5cbiAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAoYF4ke2l0ZW0uYWx0ZXJuYXRlTmFtZX0kYCwgJ2lnJyk7XG4gICAgY29uc3QgaXRlbUV4aXN0ID0gdGhpcy5yZXF1ZXN0VHlwZXMuc29tZSgoZXhpc3RpbmdJdGVtKSA9PlxuICAgICAgcmUudGVzdChleGlzdGluZ0l0ZW0uYWx0ZXJuYXRlTmFtZSlcbiAgICApO1xuXG4gICAgaWYgKCFpdGVtRXhpc3QpIHtcbiAgICAgIHRoaXMucmVxdWVzdFR5cGVzLnB1c2goaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEFkZHMgYSBudW1iZXIgb2YgaXRlbXMgdG8gdGhlIHNlcnZpY2UgbGlzdFxuICAgKlxuICAgKiBAcGFyYW0ge0FycmF5PFJlcXVlc3RUeXBlSXRlbT59IGl0ZW1zIFRoZSBhcnJheSBvZiB0aGUgaXRlbXMgdG8gYmUgaW5jbHVkZWQuXG4gICAqXG4gICAqL1xuICBhZGRSYW5nZSguLi5pdGVtczogQXJyYXk8UmVxdWVzdFR5cGVJdGVtPik6IHZvaWQge1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgdGhpcy5hZGQoaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFJlbW92ZVxuICAgKlxuICAgKiBSZW1vdmVzIGFuIGl0ZW0gZnJvbSB0aGUgbGlzdCBhbmQgcmV0dXJucyB0aGUgZGVsZXRlZCBpdGVtXG4gICAqIFJldHVybnMgbnVsbCB3aGVuIHRoZSBpdGVtIGlzIG5vdCBmb3VuZFxuICAgKlxuICAgKiBAcGFyYW0ge1JlcXVlc3RUeXBlSXRlbX0gaXRlbSBUaGUgaXRlbSB0byBiZSBkZWxldGVkXG4gICAqXG4gICAqL1xuICByZW1vdmUoaXRlbTogUmVxdWVzdFR5cGVJdGVtKTogUmVxdWVzdFR5cGVJdGVtIHwgbnVsbCB7XG4gICAgQXJncy5ub3ROdWxsKGl0ZW0sICdSZXF1ZXN0VHlwZUl0ZW0nKTtcblxuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cChgXiR7aXRlbS5hbHRlcm5hdGVOYW1lfSRgLCAnaWcnKTtcbiAgICBjb25zdCBmaW5kSW5kZXggPSB0aGlzLnJlcXVlc3RUeXBlcy5maW5kSW5kZXgoKGV4aXN0aW5nSXRlbSkgPT5cbiAgICAgIHJlLnRlc3QoZXhpc3RpbmdJdGVtLmFsdGVybmF0ZU5hbWUpXG4gICAgKTtcblxuICAgIGlmIChmaW5kSW5kZXggPCAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyByZW1vdmUgaXRlbSBhdCBpbmRleCBmb3VuZCBhbmQgcmV0dXJuIHRoZSBkZWxldGVkIGl0ZW1cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0VHlwZXMuc3BsaWNlKGZpbmRJbmRleCwgMSlbMF07XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogUmVtb3ZlXG4gICAqXG4gICAqIFJlbW92ZXMgYW4gaXRlbSBmcm9tIHRoZSBsaXN0IGFuZCByZXR1cm5zIHRoZSBkZWxldGVkIGl0ZW1cbiAgICogUmV0dXJucyBudWxsIHdoZW4gdGhlIGl0ZW0gaXMgbm90IGZvdW5kXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbHRlcm5hdGVOYW1lIFRoZSBhbHRlcm5hdGVOYW1lIG9mIGl0ZW0gdG8gYmUgZGVsZXRlZFxuICAgKlxuICAgKi9cbiAgcmVtb3ZlQnlOYW1lKGFsdGVybmF0ZU5hbWU6IHN0cmluZyk6IFJlcXVlc3RUeXBlSXRlbSB8IG51bGwge1xuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cChgXiR7YWx0ZXJuYXRlTmFtZX0kYCwgJ2lnJyk7XG4gICAgY29uc3QgdGFyZ2V0SXRlbSA9IHRoaXMucmVxdWVzdFR5cGVzLmZpbmQoKGV4aXN0aW5nSXRlbSkgPT5cbiAgICAgIHJlLnRlc3QoZXhpc3RpbmdJdGVtLmFsdGVybmF0ZU5hbWUpXG4gICAgKTtcblxuICAgIGlmICghdGFyZ2V0SXRlbSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlKHRhcmdldEl0ZW0pO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIGdldEl0ZW1zXG4gICAqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHJlcXVlc3QgaXRlbXMgbGlzdFxuICAgKlxuICAgKi9cbiAgZ2V0SXRlbXMoKTogQXJyYXk8UmVxdWVzdFR5cGVJdGVtPiB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnJlcXVlc3RUeXBlc107XG4gIH1cbn1cbiJdfQ==