ngx-firebase-cms
Version:
Angular Content Management System using Google Firebase (Authentication, Storage & Firestore)
65 lines • 4.37 kB
JavaScript
/**
* @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=