ngx-firebase-cms
Version:
Angular Content Management System using Google Firebase (Authentication, Storage & Firestore)
86 lines • 6.88 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { ReplaySubject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import * as i0 from "@angular/core";
export class HelperService {
constructor() { }
/**
* @param {?} ref
* @param {?} role
* @param {?} uid
* @param {?=} type
* @return {?}
*/
roleFilter(ref, role, uid, type = "post") {
// ref = ref.where('type', '==', type)
// if (role == "Author") {
// ref = ref.where('author', 'array-contains', uid)
// } else if (role == "Contributor") {
// ref = ref.where('author', '==', uid)
// } else if (role == "Subscriber") {
// ref = ref.where('status', '==', 'published')
// }
return ref.orderBy('updatedTime', 'desc');
}
}
HelperService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
HelperService.ctorParameters = () => [];
/** @nocollapse */ HelperService.ngInjectableDef = i0.defineInjectable({ factory: function HelperService_Factory() { return new HelperService(); }, token: HelperService, providedIn: "root" });
/**
* @param {?} component
* @return {?}
*/
export function componentDestroyed(component) {
/** @type {?} */
const modifiedComponent = (/** @type {?} */ (component));
if (modifiedComponent.__componentDestroyed$) {
return modifiedComponent.__componentDestroyed$;
}
/** @type {?} */
const oldNgOnDestroy = component.ngOnDestroy;
/** @type {?} */
const stop$ = new ReplaySubject();
modifiedComponent.ngOnDestroy = (/**
* @return {?}
*/
function () {
oldNgOnDestroy && oldNgOnDestroy.apply(component);
stop$.next(true);
stop$.complete();
});
return modifiedComponent.__componentDestroyed$ = stop$.asObservable();
}
/**
* @template T
* @param {?} component
* @return {?}
*/
export function untilComponentDestroyed(component) {
return (/**
* @param {?} source
* @return {?}
*/
(source) => source.pipe(takeUntil(componentDestroyed(component))));
}
/* Default parsing ${example} and return the array of ['example'] */
/**
* @param {?} text
* @return {?}
*/
export function getInterpolation(text) {
return text.match(/\${(.*?)}/gi).map((/**
* @param {?} res
* @return {?}
*/
res => res.substring(2, res.length - 1)));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZmlyZWJhc2UtY21zLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2UvaGVscGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLGdCQUFnQixDQUFDOzs7Ozs7OztJQUVqQixVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxHQUFDLE1BQU07UUFDcEMsc0NBQXNDO1FBQ3RDLDBCQUEwQjtRQUMxQixxREFBcUQ7UUFDckQsc0NBQXNDO1FBQ3RDLHlDQUF5QztRQUN6QyxxQ0FBcUM7UUFDckMsaURBQWlEO1FBQ2pELElBQUk7UUFDSixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzNDLENBQUM7OztZQWxCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7Ozs7OztBQW1CRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsU0FBa0M7O1VBQzdELGlCQUFpQixHQUFHLG1CQUFBLFNBQVMsRUFBcUU7SUFDeEcsSUFBSSxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRTtRQUMzQyxPQUFPLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDO0tBQ2hEOztVQUNLLGNBQWMsR0FBRyxTQUFTLENBQUMsV0FBVzs7VUFDdEMsS0FBSyxHQUFHLElBQUksYUFBYSxFQUFRO0lBQ3ZDLGlCQUFpQixDQUFDLFdBQVc7OztJQUFHO1FBQzlCLGNBQWMsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQSxDQUFDO0lBQ0YsT0FBTyxpQkFBaUIsQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7QUFDeEUsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFJLFNBQWtDO0lBQzNFOzs7O0lBQU8sQ0FBQyxNQUFxQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUM7QUFDMUYsQ0FBQzs7Ozs7O0FBR0QsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQVc7SUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUc7Ozs7SUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQTtBQUMvRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIEhlbHBlclNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcm9sZUZpbHRlcihyZWYsIHJvbGUsIHVpZCwgdHlwZT1cInBvc3RcIikge1xuICAgIC8vIHJlZiA9IHJlZi53aGVyZSgndHlwZScsICc9PScsIHR5cGUpXG4gICAgLy8gaWYgKHJvbGUgPT0gXCJBdXRob3JcIikge1xuICAgIC8vICAgcmVmID0gcmVmLndoZXJlKCdhdXRob3InLCAnYXJyYXktY29udGFpbnMnLCB1aWQpXG4gICAgLy8gfSBlbHNlIGlmIChyb2xlID09IFwiQ29udHJpYnV0b3JcIikge1xuICAgIC8vICAgcmVmID0gcmVmLndoZXJlKCdhdXRob3InLCAnPT0nLCB1aWQpXG4gICAgLy8gfSBlbHNlIGlmIChyb2xlID09IFwiU3Vic2NyaWJlclwiKSB7XG4gICAgLy8gICByZWYgPSByZWYud2hlcmUoJ3N0YXR1cycsICc9PScsICdwdWJsaXNoZWQnKVxuICAgIC8vIH1cbiAgICByZXR1cm4gcmVmLm9yZGVyQnkoJ3VwZGF0ZWRUaW1lJywgJ2Rlc2MnKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wb25lbnREZXN0cm95ZWQoY29tcG9uZW50OiB7IG5nT25EZXN0cm95KCk6IHZvaWQgfSk6IE9ic2VydmFibGU8dHJ1ZT4ge1xuICBjb25zdCBtb2RpZmllZENvbXBvbmVudCA9IGNvbXBvbmVudCBhcyB7IG5nT25EZXN0cm95KCk6IHZvaWQsIF9fY29tcG9uZW50RGVzdHJveWVkJD86IE9ic2VydmFibGU8dHJ1ZT4gfTtcbiAgaWYgKG1vZGlmaWVkQ29tcG9uZW50Ll9fY29tcG9uZW50RGVzdHJveWVkJCkge1xuICAgIHJldHVybiBtb2RpZmllZENvbXBvbmVudC5fX2NvbXBvbmVudERlc3Ryb3llZCQ7XG4gIH1cbiAgY29uc3Qgb2xkTmdPbkRlc3Ryb3kgPSBjb21wb25lbnQubmdPbkRlc3Ryb3k7XG4gIGNvbnN0IHN0b3AkID0gbmV3IFJlcGxheVN1YmplY3Q8dHJ1ZT4oKTtcbiAgbW9kaWZpZWRDb21wb25lbnQubmdPbkRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7XG4gICAgb2xkTmdPbkRlc3Ryb3kgJiYgb2xkTmdPbkRlc3Ryb3kuYXBwbHkoY29tcG9uZW50KTtcbiAgICBzdG9wJC5uZXh0KHRydWUpO1xuICAgIHN0b3AkLmNvbXBsZXRlKCk7XG4gIH07XG4gIHJldHVybiBtb2RpZmllZENvbXBvbmVudC5fX2NvbXBvbmVudERlc3Ryb3llZCQgPSBzdG9wJC5hc09ic2VydmFibGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVudGlsQ29tcG9uZW50RGVzdHJveWVkPFQ+KGNvbXBvbmVudDogeyBuZ09uRGVzdHJveSgpOiB2b2lkIH0pOiAoc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHNvdXJjZS5waXBlKHRha2VVbnRpbChjb21wb25lbnREZXN0cm95ZWQoY29tcG9uZW50KSkpO1xufVxuXG4vKiBEZWZhdWx0IHBhcnNpbmcgJHtleGFtcGxlfSBhbmQgcmV0dXJuIHRoZSBhcnJheSBvZiBbJ2V4YW1wbGUnXSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEludGVycG9sYXRpb24odGV4dDpzdHJpbmcpIHtcbiAgcmV0dXJuIHRleHQubWF0Y2goL1xcJHsoLio/KX0vZ2kpLm1hcChyZXMgPT4gcmVzLnN1YnN0cmluZygyLCByZXMubGVuZ3RoIC0gMSkpXG59XG4iXX0=