ngx-avatars
Version:
A universal avatar component for Angular applications that fetches / generates avatar based on the information you have about the user.
25 lines • 2.56 kB
JavaScript
import { AsyncSource } from './async-source';
import { AvatarSource } from './avatar-source.enum';
/**
* GitHub source implementation.
* Fetch avatar source based on github identifier
*/
export class Github extends AsyncSource {
constructor(sourceId) {
super(sourceId);
this.sourceType = AvatarSource.GITHUB;
}
getAvatar() {
return `https://api.github.com/users/${this.sourceId}`;
}
/**
* extract github avatar from json data
*/
processResponse(data, size) {
if (size) {
return `${data.avatar_url}&s=${size}`;
}
return data.avatar_url;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF2YXRhcnMvc3JjL2xpYi9zb3VyY2VzL2dpdGh1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxNQUFPLFNBQVEsV0FBVztJQUdyQyxZQUFZLFFBQWdCO1FBQzFCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhULGVBQVUsR0FBaUIsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUl4RCxDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sZ0NBQWdDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxlQUFlLENBQUMsSUFBNEIsRUFBRSxJQUFhO1FBQ2hFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jU291cmNlIH0gZnJvbSAnLi9hc3luYy1zb3VyY2UnO1xyXG5pbXBvcnQgeyBBdmF0YXJTb3VyY2UgfSBmcm9tICcuL2F2YXRhci1zb3VyY2UuZW51bSc7XHJcblxyXG4vKipcclxuICogIEdpdEh1YiBzb3VyY2UgaW1wbGVtZW50YXRpb24uXHJcbiAqICBGZXRjaCBhdmF0YXIgc291cmNlIGJhc2VkIG9uIGdpdGh1YiBpZGVudGlmaWVyXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgR2l0aHViIGV4dGVuZHMgQXN5bmNTb3VyY2Uge1xyXG4gIHJlYWRvbmx5IHNvdXJjZVR5cGU6IEF2YXRhclNvdXJjZSA9IEF2YXRhclNvdXJjZS5HSVRIVUI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHNvdXJjZUlkOiBzdHJpbmcpIHtcclxuICAgIHN1cGVyKHNvdXJjZUlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBdmF0YXIoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy8ke3RoaXMuc291cmNlSWR9YDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGV4dHJhY3QgZ2l0aHViIGF2YXRhciBmcm9tIGpzb24gZGF0YVxyXG4gICAqL1xyXG4gIHB1YmxpYyBwcm9jZXNzUmVzcG9uc2UoZGF0YTogeyBhdmF0YXJfdXJsOiBzdHJpbmcgfSwgc2l6ZT86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAoc2l6ZSkge1xyXG4gICAgICByZXR1cm4gYCR7ZGF0YS5hdmF0YXJfdXJsfSZzPSR7c2l6ZX1gO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGEuYXZhdGFyX3VybDtcclxuICB9XHJcbn1cclxuIl19