@datorama/akita
Version:
State Management Tailored-Made for JS Applications
28 lines • 2.03 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { EMPTY } from 'rxjs';
/**
*
* Helper function for checking if we have data in cache
*
* export class ProductsService {
* constructor(private productsStore: ProductsStore) {}
* get(): Observable<void> {
* const request = this.http.get().pipe(
* tap(this.productsStore.set(response))
* );
*
* return cacheable(this.productsStore, request);
* }
* }
* @template T
* @param {?} store
* @param {?} request$
* @return {?}
*/
export function cacheable(store, request$) {
return store._cache().value ? EMPTY : request$;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVhYmxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2FraXRhLyIsInNvdXJjZXMiOlsic3JjL2NhY2hlYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQnpDLE1BQU0sVUFBVSxTQUFTLENBQUksS0FBWSxFQUFFLFFBQXVCO0lBQ2hFLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVNUFRZLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUnO1xuXG4vKipcbiAqIFxuICogSGVscGVyIGZ1bmN0aW9uIGZvciBjaGVja2luZyBpZiB3ZSBoYXZlIGRhdGEgaW4gY2FjaGVcbiAqIFxuICogZXhwb3J0IGNsYXNzIFByb2R1Y3RzU2VydmljZSB7XG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvZHVjdHNTdG9yZTogUHJvZHVjdHNTdG9yZSkge31cblxuICogICBnZXQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gKiAgICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuaHR0cC5nZXQoKS5waXBlKFxuICogICAgICAgdGFwKHRoaXMucHJvZHVjdHNTdG9yZS5zZXQocmVzcG9uc2UpKVxuICogICAgICk7XG4gKlxuICogICAgIHJldHVybiBjYWNoZWFibGUodGhpcy5wcm9kdWN0c1N0b3JlLCByZXF1ZXN0KTtcbiAqICAgfVxuICogfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FjaGVhYmxlPFQ+KHN0b3JlOiBTdG9yZSwgcmVxdWVzdCQ6IE9ic2VydmFibGU8VD4pIHtcbiAgcmV0dXJuIHN0b3JlLl9jYWNoZSgpLnZhbHVlID8gRU1QVFkgOiByZXF1ZXN0JDtcbn1cbiJdfQ==