UNPKG

ngx-avatar-2

Version:

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

40 lines 5.06 kB
import { Injectable, Inject, Optional } from '@angular/core'; import { AVATAR_CONFIG } from './avatar-config.token'; import * as i0 from "@angular/core"; export class AvatarConfigService { userConfig; 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); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: AvatarConfigService, deps: [{ token: AVATAR_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: AvatarConfigService }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: AvatarConfigService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [AVATAR_CONFIG] }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF2YXRhci0yL3NyYy9saWIvYXZhdGFyLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSXRELE1BQU0sT0FBTyxtQkFBbUI7SUFJckI7SUFIVCxZQUdTLFVBQXdCO1FBQXhCLGVBQVUsR0FBVixVQUFVLENBQWM7SUFDOUIsQ0FBQztJQUVHLGdCQUFnQixDQUFDLGNBQThCO1FBQ3BELElBQ0UsSUFBSSxDQUFDLFVBQVU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQjtZQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFDMUM7WUFDQSxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFDeEUsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNqRCxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUNoQyxDQUFDO1lBQ0YsT0FBTztnQkFDTCxHQUFHLFlBQVk7Z0JBQ2YsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25FLENBQUM7U0FDSDtRQUNELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxlQUFlLENBQUMsYUFBdUI7UUFDNUMsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU07WUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUN6QixhQUFhLENBQ2QsQ0FBQztJQUNKLENBQUM7d0dBakNVLG1CQUFtQixrQkFHcEIsYUFBYTs0R0FIWixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUdOLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXZhdGFyU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL2F2YXRhci1zb3VyY2UuZW51bSc7XG5pbXBvcnQgeyBBVkFUQVJfQ09ORklHIH0gZnJvbSAnLi9hdmF0YXItY29uZmlnLnRva2VuJztcbmltcG9ydCB7IEF2YXRhckNvbmZpZyB9IGZyb20gJy4vYXZhdGFyLWNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb25maWdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEFWQVRBUl9DT05GSUcpXG4gICAgcHVibGljIHVzZXJDb25maWc6IEF2YXRhckNvbmZpZ1xuICApIHt9XG5cbiAgcHVibGljIGdldEF2YXRhclNvdXJjZXMoZGVmYXVsdFNvdXJjZXM6IEF2YXRhclNvdXJjZVtdKTogQXZhdGFyU291cmNlW10ge1xuICAgIGlmIChcbiAgICAgIHRoaXMudXNlckNvbmZpZyAmJlxuICAgICAgdGhpcy51c2VyQ29uZmlnLnNvdXJjZVByaW9yaXR5T3JkZXIgJiZcbiAgICAgIHRoaXMudXNlckNvbmZpZy5zb3VyY2VQcmlvcml0eU9yZGVyLmxlbmd0aFxuICAgICkge1xuICAgICAgY29uc3QgdW5pcXVlU291cmNlcyA9IFsuLi5uZXcgU2V0KHRoaXMudXNlckNvbmZpZy5zb3VyY2VQcmlvcml0eU9yZGVyKV07XG4gICAgICBjb25zdCB2YWxpZFNvdXJjZXMgPSB1bmlxdWVTb3VyY2VzLmZpbHRlcihzb3VyY2UgPT5cbiAgICAgICAgZGVmYXVsdFNvdXJjZXMuaW5jbHVkZXMoc291cmNlKVxuICAgICAgKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLnZhbGlkU291cmNlcyxcbiAgICAgICAgLi4uZGVmYXVsdFNvdXJjZXMuZmlsdGVyKHNvdXJjZSA9PiAhdmFsaWRTb3VyY2VzLmluY2x1ZGVzKHNvdXJjZSkpXG4gICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gZGVmYXVsdFNvdXJjZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXZhdGFyQ29sb3JzKGRlZmF1bHRDb2xvcnM6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy51c2VyQ29uZmlnICYmXG4gICAgICAgIHRoaXMudXNlckNvbmZpZy5jb2xvcnMgJiZcbiAgICAgICAgdGhpcy51c2VyQ29uZmlnLmNvbG9ycy5sZW5ndGggJiZcbiAgICAgICAgdGhpcy51c2VyQ29uZmlnLmNvbG9ycykgfHxcbiAgICAgIGRlZmF1bHRDb2xvcnNcbiAgICApO1xuICB9XG59XG4iXX0=