UNPKG

ngx-firebase-cms

Version:

Angular Content Management System using Google Firebase (Authentication, Storage & Firestore)

65 lines 4.37 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Pipe } from '@angular/core'; import { of } from 'rxjs'; import { AngularFirestore } from '@angular/fire/firestore'; import { map } from 'rxjs/operators'; export class UserPipe { /** * @param {?} afs */ constructor(afs) { this.afs = afs; } /** * @param {?} id * @param {?} arg * @return {?} */ transform(id, arg) { if (!id) return of(null); return this.afs.collection("users").doc(id) .snapshotChanges() .pipe(map((/** * @param {?} res * @return {?} */ res => { return Object.assign({ $key: res.payload.id }, res.payload.data()); })), map((/** * @param {?} user * @return {?} */ user => { /** @type {?} */ let resultArray = []; arg.keys.forEach((/** * @param {?} key * @return {?} */ key => { if (user[key]) resultArray.push(user[key]); })); return resultArray.join(arg.separator || ","); }))); } } UserPipe.decorators = [ { type: Pipe, args: [{ name: 'user' },] } ]; /** @nocollapse */ UserPipe.ctorParameters = () => [ { type: AngularFirestore } ]; if (false) { /** * @type {?} * @private */ UserPipe.prototype.afs; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWZpcmViYXNlLWNtcy8iLCJzb3VyY2VzIjpbImxpYi9waXBlL3VzZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUErQixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBS2hELE1BQU0sT0FBTyxRQUFROzs7O0lBRW5CLFlBQ1UsR0FBcUI7UUFBckIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7SUFDM0IsQ0FBQzs7Ozs7O0lBRUwsU0FBUyxDQUFDLEVBQVUsRUFBRSxHQUErQztRQUNuRSxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQzthQUN4QyxlQUFlLEVBQUU7YUFDakIsSUFBSSxDQUNILEdBQUc7Ozs7UUFBQyxHQUFHLENBQUMsRUFBRSxHQUFHLHVCQUFRLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFDLENBQUEsQ0FBQyxFQUFDLEVBQ25FLEdBQUc7Ozs7UUFBQyxJQUFJLENBQUMsRUFBRTs7Z0JBQ0wsV0FBVyxHQUFHLEVBQUU7WUFDcEIsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPOzs7O1lBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQzVDLENBQUMsRUFBQyxDQUFBO1lBQ0YsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksR0FBRyxDQUFDLENBQUE7UUFDL0MsQ0FBQyxFQUFDLENBQ0gsQ0FBQTtJQUNMLENBQUM7OztZQXZCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLE1BQU07YUFDYjs7OztZQUxRLGdCQUFnQjs7Ozs7OztJQVNyQix1QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3VzZXInXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhZnM6IEFuZ3VsYXJGaXJlc3RvcmVcbiAgKSB7IH1cblxuICB0cmFuc2Zvcm0oaWQ6IHN0cmluZywgYXJnOiB7IGtleXM6IEFycmF5PHN0cmluZz4sIHNlcGFyYXRvcjogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPGFueT4gfCBhbnkge1xuICAgIGlmICghaWQpIHJldHVybiBvZihudWxsKVxuICAgIHJldHVybiB0aGlzLmFmcy5jb2xsZWN0aW9uKFwidXNlcnNcIikuZG9jKGlkKVxuICAgICAgLnNuYXBzaG90Q2hhbmdlcygpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiB7IHJldHVybiB7JGtleTogcmVzLnBheWxvYWQuaWQsIC4uLnJlcy5wYXlsb2FkLmRhdGEoKX19KSxcbiAgICAgICAgbWFwKHVzZXIgPT4ge1xuICAgICAgICAgIGxldCByZXN1bHRBcnJheSA9IFtdXG4gICAgICAgICAgYXJnLmtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgaWYgKHVzZXJba2V5XSkgcmVzdWx0QXJyYXkucHVzaCh1c2VyW2tleV0pXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm4gcmVzdWx0QXJyYXkuam9pbihhcmcuc2VwYXJhdG9yIHx8IFwiLFwiKVxuICAgICAgICB9KVxuICAgICAgKVxuICB9XG59XG4iXX0=