ngx-avatar
Version:
A universal avatar component for Angular applications that fetches / generates avatar based on the information you have about the user.
42 lines • 5.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';
/**
* Factory class that implements factory method pattern.
* Used to create Source implementation class based
* on the source Type
*/
export class SourceFactory {
constructor() {
this.sources = {};
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] = 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);
}
}
SourceFactory.decorators = [
{ type: Injectable }
];
SourceFactory.ctorParameters = () => [];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXZhdGFyL3NyYy9saWIvc291cmNlcy9zb3VyY2UuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQ7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBR3hCO1FBRlEsWUFBTyxHQUFxQyxFQUFFLENBQUM7UUFHckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUM3QyxDQUFDO0lBRU0sV0FBVyxDQUFDLFVBQXdCLEVBQUUsV0FBbUI7UUFDOUQsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQzs7O1lBcEJGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XG5pbXBvcnQgeyBGYWNlYm9vayB9IGZyb20gJy4vZmFjZWJvb2snO1xuaW1wb3J0IHsgVHdpdHRlciB9IGZyb20gJy4vdHdpdHRlcic7XG5pbXBvcnQgeyBHb29nbGUgfSBmcm9tICcuL2dvb2dsZSc7XG5pbXBvcnQgeyBJbnN0YWdyYW0gfSBmcm9tICcuL2luc3RhZ3JhbSc7XG5pbXBvcnQgeyBDdXN0b20gfSBmcm9tICcuL2N1c3RvbSc7XG5pbXBvcnQgeyBJbml0aWFscyB9IGZyb20gJy4vaW5pdGlhbHMnO1xuaW1wb3J0IHsgR3JhdmF0YXIgfSBmcm9tICcuL2dyYXZhdGFyJztcbmltcG9ydCB7IFNreXBlIH0gZnJvbSAnLi9za3lwZSc7XG5pbXBvcnQgeyBWYWx1ZSB9IGZyb20gJy4vdmFsdWUnO1xuaW1wb3J0IHsgVmtvbnRha3RlIH0gZnJvbSAnLi92a29udGFrdGUnO1xuaW1wb3J0IHsgR2l0aHViIH0gZnJvbSAnLi9naXRodWInO1xuaW1wb3J0IHsgU291cmNlQ3JlYXRvciB9IGZyb20gJy4vc291cmNlLmNyZWF0b3InO1xuaW1wb3J0IHsgQXZhdGFyU291cmNlIH0gZnJvbSAnLi9hdmF0YXItc291cmNlLmVudW0nO1xuXG4vKipcbiAqIEZhY3RvcnkgY2xhc3MgdGhhdCBpbXBsZW1lbnRzIGZhY3RvcnkgbWV0aG9kIHBhdHRlcm4uXG4gKiBVc2VkIHRvIGNyZWF0ZSBTb3VyY2UgaW1wbGVtZW50YXRpb24gY2xhc3MgYmFzZWRcbiAqIG9uIHRoZSBzb3VyY2UgVHlwZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU291cmNlRmFjdG9yeSB7XG4gIHByaXZhdGUgc291cmNlczogeyBba2V5OiBzdHJpbmddOiBTb3VyY2VDcmVhdG9yIH0gPSB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNvdXJjZXNbQXZhdGFyU291cmNlLkZBQ0VCT09LXSA9IEZhY2Vib29rO1xuICAgIHRoaXMuc291cmNlc1tBdmF0YXJTb3VyY2UuVFdJVFRFUl0gPSBUd2l0dGVyO1xuICAgIHRoaXMuc291cmNlc1tBdmF0YXJTb3VyY2UuR09PR0xFXSA9IEdvb2dsZTtcbiAgICB0aGlzLnNvdXJjZXNbQXZhdGFyU291cmNlLklOU1RBR1JBTV0gPSBJbnN0YWdyYW07XG4gICAgdGhpcy5zb3VyY2VzW0F2YXRhclNvdXJjZS5TS1lQRV0gPSBTa3lwZTtcbiAgICB0aGlzLnNvdXJjZXNbQXZhdGFyU291cmNlLkdSQVZBVEFSXSA9IEdyYXZhdGFyO1xuICAgIHRoaXMuc291cmNlc1tBdmF0YXJTb3VyY2UuQ1VTVE9NXSA9IEN1c3RvbTtcbiAgICB0aGlzLnNvdXJjZXNbQXZhdGFyU291cmNlLklOSVRJQUxTXSA9IEluaXRpYWxzO1xuICAgIHRoaXMuc291cmNlc1tBdmF0YXJTb3VyY2UuVkFMVUVdID0gVmFsdWU7XG4gICAgdGhpcy5zb3VyY2VzW0F2YXRhclNvdXJjZS5WS09OVEFLVEVdID0gVmtvbnRha3RlO1xuICAgIHRoaXMuc291cmNlc1tBdmF0YXJTb3VyY2UuR0lUSFVCXSA9IEdpdGh1YjtcbiAgfVxuXG4gIHB1YmxpYyBuZXdJbnN0YW5jZShzb3VyY2VUeXBlOiBBdmF0YXJTb3VyY2UsIHNvdXJjZVZhbHVlOiBzdHJpbmcpOiBTb3VyY2Uge1xuICAgIHJldHVybiBuZXcgdGhpcy5zb3VyY2VzW3NvdXJjZVR5cGVdKHNvdXJjZVZhbHVlKTtcbiAgfVxufVxuIl19