ngx-avatars
Version:
A universal avatar component for Angular applications that fetches / generates avatar based on the information you have about the user.
50 lines • 7.81 kB
JavaScript
import { Injectable } from '@angular/core';
import { Facebook } from './facebook';
import { Twitter } from './twitter';
import { Google } from './google';
import { Instagram } from './instagram';
import { Custom } from './custom';
import { Initials } from './initials';
import { Gravatar } from './gravatar';
import { Skype } from './skype';
import { Value } from './value';
import { Vkontakte } from './vkontakte';
import { Github } from './github';
import { AvatarSource } from './avatar-source.enum';
import { AvatarConfigService } from '../avatar-config.service';
import { defaultDisableSrcCache } from '../avatar.service';
import { CustomNoCache } from './custom-no-cache';
import * as i0 from "@angular/core";
import * as i1 from "../avatar-config.service";
/**
* Factory class that implements factory method pattern.
* Used to create Source implementation class based
* on the source Type
*/
export class SourceFactory {
constructor(avatarConfigService) {
this.sources = {};
const disableSrcCache = avatarConfigService.getDisableSrcCache(defaultDisableSrcCache);
this.sources[AvatarSource.FACEBOOK] = Facebook;
this.sources[AvatarSource.TWITTER] = Twitter;
this.sources[AvatarSource.GOOGLE] = Google;
this.sources[AvatarSource.INSTAGRAM] = Instagram;
this.sources[AvatarSource.SKYPE] = Skype;
this.sources[AvatarSource.GRAVATAR] = Gravatar;
this.sources[AvatarSource.CUSTOM] = disableSrcCache ? CustomNoCache : Custom;
this.sources[AvatarSource.INITIALS] = Initials;
this.sources[AvatarSource.VALUE] = Value;
this.sources[AvatarSource.VKONTAKTE] = Vkontakte;
this.sources[AvatarSource.GITHUB] = Github;
}
newInstance(sourceType, sourceValue) {
return new this.sources[sourceType](sourceValue);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SourceFactory, deps: [{ token: i1.AvatarConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SourceFactory, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SourceFactory, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}], ctorParameters: () => [{ type: i1.AvatarConfigService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXZhdGFycy9zcmMvbGliL3NvdXJjZXMvc291cmNlLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBRWxEOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUFZLG1CQUF3QztRQUY1QyxZQUFPLEdBQXFDLEVBQUUsQ0FBQztRQUdyRCxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDN0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQzdDLENBQUM7SUFFTSxXQUFXLENBQUMsVUFBd0IsRUFBRSxXQUFtQjtRQUM5RCxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDOzhHQXBCVSxhQUFhO2tIQUFiLGFBQWEsY0FERCxNQUFNOzsyRkFDbEIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNvdXJjZSB9IGZyb20gJy4vc291cmNlJztcclxuaW1wb3J0IHsgRmFjZWJvb2sgfSBmcm9tICcuL2ZhY2Vib29rJztcclxuaW1wb3J0IHsgVHdpdHRlciB9IGZyb20gJy4vdHdpdHRlcic7XHJcbmltcG9ydCB7IEdvb2dsZSB9IGZyb20gJy4vZ29vZ2xlJztcclxuaW1wb3J0IHsgSW5zdGFncmFtIH0gZnJvbSAnLi9pbnN0YWdyYW0nO1xyXG5pbXBvcnQgeyBDdXN0b20gfSBmcm9tICcuL2N1c3RvbSc7XHJcbmltcG9ydCB7IEluaXRpYWxzIH0gZnJvbSAnLi9pbml0aWFscyc7XHJcbmltcG9ydCB7IEdyYXZhdGFyIH0gZnJvbSAnLi9ncmF2YXRhcic7XHJcbmltcG9ydCB7IFNreXBlIH0gZnJvbSAnLi9za3lwZSc7XHJcbmltcG9ydCB7IFZhbHVlIH0gZnJvbSAnLi92YWx1ZSc7XHJcbmltcG9ydCB7IFZrb250YWt0ZSB9IGZyb20gJy4vdmtvbnRha3RlJztcclxuaW1wb3J0IHsgR2l0aHViIH0gZnJvbSAnLi9naXRodWInO1xyXG5pbXBvcnQgeyBTb3VyY2VDcmVhdG9yIH0gZnJvbSAnLi9zb3VyY2UuY3JlYXRvcic7XHJcbmltcG9ydCB7IEF2YXRhclNvdXJjZSB9IGZyb20gJy4vYXZhdGFyLXNvdXJjZS5lbnVtJztcclxuaW1wb3J0IHsgQXZhdGFyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2F2YXRhci1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IGRlZmF1bHREaXNhYmxlU3JjQ2FjaGUgfSBmcm9tICcuLi9hdmF0YXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1c3RvbU5vQ2FjaGUgfSBmcm9tICcuL2N1c3RvbS1uby1jYWNoZSc7XHJcblxyXG4vKipcclxuICogRmFjdG9yeSBjbGFzcyB0aGF0IGltcGxlbWVudHMgZmFjdG9yeSBtZXRob2QgcGF0dGVybi5cclxuICogVXNlZCB0byBjcmVhdGUgU291cmNlIGltcGxlbWVudGF0aW9uIGNsYXNzIGJhc2VkXHJcbiAqIG9uIHRoZSBzb3VyY2UgVHlwZVxyXG4gKi9cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBTb3VyY2VGYWN0b3J5IHtcclxuICBwcml2YXRlIHNvdXJjZXM6IHsgW2tleTogc3RyaW5nXTogU291cmNlQ3JlYXRvciB9ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKGF2YXRhckNvbmZpZ1NlcnZpY2U6IEF2YXRhckNvbmZpZ1NlcnZpY2UpIHtcclxuICAgIGNvbnN0IGRpc2FibGVTcmNDYWNoZSA9IGF2YXRhckNvbmZpZ1NlcnZpY2UuZ2V0RGlzYWJsZVNyY0NhY2hlKGRlZmF1bHREaXNhYmxlU3JjQ2FjaGUpO1xyXG4gICAgdGhpcy5zb3VyY2VzW0F2YXRhclNvdXJjZS5GQUNFQk9PS10gPSBGYWNlYm9vaztcclxuICAgIHRoaXMuc291cmNlc1tBdmF0YXJTb3VyY2UuVFdJVFRFUl0gPSBUd2l0dGVyO1xyXG4gICAgdGhpcy5zb3VyY2VzW0F2YXRhclNvdXJjZS5HT09HTEVdID0gR29vZ2xlO1xyXG4gICAgdGhpcy5zb3VyY2VzW0F2YXRhclNvdXJjZS5JTlNUQUdSQU1dID0gSW5zdGFncmFtO1xyXG4gICAgdGhpcy5zb3VyY2VzW0F2YXRhclNvdXJjZS5TS1lQRV0gPSBTa3lwZTtcclxuICAgIHRoaXMuc291cmNlc1tBdmF0YXJTb3VyY2UuR1JBVkFUQVJdID0gR3JhdmF0YXI7XHJcbiAgICB0aGlzLnNvdXJjZXNbQXZhdGFyU291cmNlLkNVU1RPTV0gPSBkaXNhYmxlU3JjQ2FjaGUgPyBDdXN0b21Ob0NhY2hlIDogQ3VzdG9tO1xyXG4gICAgdGhpcy5zb3VyY2VzW0F2YXRhclNvdXJjZS5JTklUSUFMU10gPSBJbml0aWFscztcclxuICAgIHRoaXMuc291cmNlc1tBdmF0YXJTb3VyY2UuVkFMVUVdID0gVmFsdWU7XHJcbiAgICB0aGlzLnNvdXJjZXNbQXZhdGFyU291cmNlLlZLT05UQUtURV0gPSBWa29udGFrdGU7XHJcbiAgICB0aGlzLnNvdXJjZXNbQXZhdGFyU291cmNlLkdJVEhVQl0gPSBHaXRodWI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmV3SW5zdGFuY2Uoc291cmNlVHlwZTogQXZhdGFyU291cmNlLCBzb3VyY2VWYWx1ZTogc3RyaW5nKTogU291cmNlIHtcclxuICAgIHJldHVybiBuZXcgdGhpcy5zb3VyY2VzW3NvdXJjZVR5cGVdKHNvdXJjZVZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19