UNPKG

ngx-avatars

Version:

A universal avatar component for Angular applications that fetches / generates avatar based on the information you have about the user.

48 lines 6.23 kB
import { Injectable, Inject, Optional } from '@angular/core'; import { AVATAR_CONFIG } from './avatar-config.token'; import * as i0 from "@angular/core"; export class AvatarConfigService { constructor(userConfig) { this.userConfig = userConfig; } getAvatarSources(defaultSources) { if (this.userConfig && this.userConfig.sourcePriorityOrder && this.userConfig.sourcePriorityOrder.length) { const uniqueSources = [...new Set(this.userConfig.sourcePriorityOrder)]; const validSources = uniqueSources.filter(source => defaultSources.includes(source)); return [ ...validSources, ...defaultSources.filter(source => !validSources.includes(source)) ]; } return defaultSources; } getAvatarColors(defaultColors) { return ((this.userConfig && this.userConfig.colors && this.userConfig.colors.length && this.userConfig.colors) || defaultColors); } getDisableSrcCache(defaultDisableSrcCache) { if (this.userConfig == null || this.userConfig.disableSrcCache == null) { return defaultDisableSrcCache; } else { return this.userConfig.disableSrcCache; } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AvatarConfigService, deps: [{ token: AVATAR_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AvatarConfigService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AvatarConfigService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [AVATAR_CONFIG] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF2YXRhcnMvc3JjL2xpYi9hdmF0YXItY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFJdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUdTLFVBQXdCO1FBQXhCLGVBQVUsR0FBVixVQUFVLENBQWM7SUFDOUIsQ0FBQztJQUVHLGdCQUFnQixDQUFDLGNBQThCO1FBQ3BELElBQ0UsSUFBSSxDQUFDLFVBQVU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQjtZQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFDMUMsQ0FBQztZQUNELE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztZQUN4RSxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2pELGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ2hDLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsWUFBWTtnQkFDZixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkUsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRU0sZUFBZSxDQUFDLGFBQXVCO1FBQzVDLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDekIsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU0sa0JBQWtCLENBQUMsc0JBQStCO1FBQ3ZELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkUsT0FBTyxzQkFBc0IsQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7OEdBekNVLG1CQUFtQixrQkFHcEIsYUFBYTtrSEFIWixtQkFBbUIsY0FEUCxNQUFNOzsyRkFDbEIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7MEJBRzNCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEF2YXRhclNvdXJjZSB9IGZyb20gJy4vc291cmNlcy9hdmF0YXItc291cmNlLmVudW0nO1xyXG5pbXBvcnQgeyBBVkFUQVJfQ09ORklHIH0gZnJvbSAnLi9hdmF0YXItY29uZmlnLnRva2VuJztcclxuaW1wb3J0IHsgQXZhdGFyQ29uZmlnIH0gZnJvbSAnLi9hdmF0YXItY29uZmlnJztcclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29uZmlnU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKVxyXG4gICAgQEluamVjdChBVkFUQVJfQ09ORklHKVxyXG4gICAgcHVibGljIHVzZXJDb25maWc6IEF2YXRhckNvbmZpZ1xyXG4gICkge31cclxuXHJcbiAgcHVibGljIGdldEF2YXRhclNvdXJjZXMoZGVmYXVsdFNvdXJjZXM6IEF2YXRhclNvdXJjZVtdKTogQXZhdGFyU291cmNlW10ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnVzZXJDb25maWcgJiZcclxuICAgICAgdGhpcy51c2VyQ29uZmlnLnNvdXJjZVByaW9yaXR5T3JkZXIgJiZcclxuICAgICAgdGhpcy51c2VyQ29uZmlnLnNvdXJjZVByaW9yaXR5T3JkZXIubGVuZ3RoXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgdW5pcXVlU291cmNlcyA9IFsuLi5uZXcgU2V0KHRoaXMudXNlckNvbmZpZy5zb3VyY2VQcmlvcml0eU9yZGVyKV07XHJcbiAgICAgIGNvbnN0IHZhbGlkU291cmNlcyA9IHVuaXF1ZVNvdXJjZXMuZmlsdGVyKHNvdXJjZSA9PlxyXG4gICAgICAgIGRlZmF1bHRTb3VyY2VzLmluY2x1ZGVzKHNvdXJjZSlcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIFtcclxuICAgICAgICAuLi52YWxpZFNvdXJjZXMsXHJcbiAgICAgICAgLi4uZGVmYXVsdFNvdXJjZXMuZmlsdGVyKHNvdXJjZSA9PiAhdmFsaWRTb3VyY2VzLmluY2x1ZGVzKHNvdXJjZSkpXHJcbiAgICAgIF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGVmYXVsdFNvdXJjZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QXZhdGFyQ29sb3JzKGRlZmF1bHRDb2xvcnM6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgKHRoaXMudXNlckNvbmZpZyAmJlxyXG4gICAgICAgIHRoaXMudXNlckNvbmZpZy5jb2xvcnMgJiZcclxuICAgICAgICB0aGlzLnVzZXJDb25maWcuY29sb3JzLmxlbmd0aCAmJlxyXG4gICAgICAgIHRoaXMudXNlckNvbmZpZy5jb2xvcnMpIHx8XHJcbiAgICAgIGRlZmF1bHRDb2xvcnNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGlzYWJsZVNyY0NhY2hlKGRlZmF1bHREaXNhYmxlU3JjQ2FjaGU6IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnVzZXJDb25maWcgPT0gbnVsbCB8fCB0aGlzLnVzZXJDb25maWcuZGlzYWJsZVNyY0NhY2hlID09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIGRlZmF1bHREaXNhYmxlU3JjQ2FjaGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy51c2VyQ29uZmlnLmRpc2FibGVTcmNDYWNoZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19