UNPKG

@isaiahiroko/ng-interceptors

Version:

Angular interceptors for token authorization, local and remote store synchronization and global notification

38 lines (37 loc) 4.14 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; var StoreSyncInterceptor = /** @class */ (function () { function StoreSyncInterceptor() { } // constructor(private cache: RequestCache) {} /** * @param {?} req * @param {?} next * @return {?} */ StoreSyncInterceptor.prototype.intercept = /** * @param {?} req * @param {?} next * @return {?} */ function (req, next) { // continue if not cachable. // if (!isCachable(req)) { return next.handle(req); } if (true) { return next.handle(req); } // cache-or-fetch // const cachedResponse = this.cache.get(req); // return cachedResponse ? // of(cachedResponse) : sendRequest(req, next, this.cache); }; StoreSyncInterceptor.decorators = [ { type: Injectable }, ]; return StoreSyncInterceptor; }()); export { StoreSyncInterceptor }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtc3luYy5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bpc2FpYWhpcm9rby9uZy1pbnRlcmNlcHRvcnMvIiwic291cmNlcyI6WyJsaWIvc3RvcmUtc3luYy5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7OztJQVd4Qyw4Q0FBOEM7Ozs7OztJQUU5Qyx3Q0FBUzs7Ozs7SUFBVCxVQUFVLEdBQXFCLEVBQUUsSUFBaUI7OztRQUdoRCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7U0FDeEI7Ozs7O0tBTUY7O2dCQWZGLFVBQVU7OytCQVRYOztTQVVhLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1xyXG4gIEh0dHBJbnRlcmNlcHRvcixcclxuICBIdHRwUmVxdWVzdCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwRXZlbnQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN0b3JlU3luY0ludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICAvLyBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhY2hlOiBSZXF1ZXN0Q2FjaGUpIHt9XHJcblxyXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4gIHtcclxuICAgIC8vIGNvbnRpbnVlIGlmIG5vdCBjYWNoYWJsZS5cclxuICAgIC8vIGlmICghaXNDYWNoYWJsZShyZXEpKSB7IHJldHVybiBuZXh0LmhhbmRsZShyZXEpOyB9XHJcbiAgICBpZiAodHJ1ZSkge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKVxyXG4gICAgfVxyXG5cclxuICAgIC8vIGNhY2hlLW9yLWZldGNoXHJcbiAgICAvLyBjb25zdCBjYWNoZWRSZXNwb25zZSA9IHRoaXMuY2FjaGUuZ2V0KHJlcSk7XHJcbiAgICAvLyByZXR1cm4gY2FjaGVkUmVzcG9uc2UgP1xyXG4gICAgLy8gICBvZihjYWNoZWRSZXNwb25zZSkgOiBzZW5kUmVxdWVzdChyZXEsIG5leHQsIHRoaXMuY2FjaGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHNlcnZlciByZXNwb25zZSBvYnNlcnZhYmxlIGJ5IHNlbmRpbmcgcmVxdWVzdCB0byBgbmV4dCgpYC5cclxuICAgKiBXaWxsIGFkZCB0aGUgcmVzcG9uc2UgdG8gdGhlIGNhY2hlIG9uIHRoZSB3YXkgb3V0LlxyXG4gICAqL1xyXG4gIC8vICBzZW5kUmVxdWVzdChcclxuICAvLyAgICAgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gIC8vICAgICBuZXh0OiBIdHRwSGFuZGxlcixcclxuICAvLyAgICAgY2FjaGU6IFJlcXVlc3RDYWNoZSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuXHJcbiAgLy8gICAgIC8vIE5vIGhlYWRlcnMgYWxsb3dlZCBpbiBucG0gc2VhcmNoIHJlcXVlc3RcclxuICAvLyAgICAgY29uc3Qgbm9IZWFkZXJSZXEgPSByZXEuY2xvbmUoeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKSB9KTtcclxuXHJcbiAgLy8gICAgIHJldHVybiBuZXh0LmhhbmRsZShub0hlYWRlclJlcSkucGlwZShcclxuICAvLyAgICAgICB0YXAoZXZlbnQgPT4ge1xyXG4gIC8vICAgICAgICAgLy8gVGhlcmUgbWF5IGJlIG90aGVyIGV2ZW50cyBiZXNpZGVzIHRoZSByZXNwb25zZS5cclxuICAvLyAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gIC8vICAgICAgICAgICBjYWNoZS5wdXQocmVxLCBldmVudCk7IC8vIFVwZGF0ZSB0aGUgY2FjaGUuXHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfSlcclxuICAvLyAgICAgKTtcclxuICAvLyAgIH1cclxuXHJcbiAgLy8gY2FjaGUtdGhlbi1yZWZyZXNoXHJcbiAgLy8gaWYgKHJlcS5oZWFkZXJzLmdldCgneC1yZWZyZXNoJykpIHtcclxuICAvLyAgICAgY29uc3QgcmVzdWx0cyQgPSBzZW5kUmVxdWVzdChyZXEsIG5leHQsIHRoaXMuY2FjaGUpO1xyXG4gIC8vICAgICByZXR1cm4gY2FjaGVkUmVzcG9uc2UgP1xyXG4gIC8vICAgICAgIHJlc3VsdHMkLnBpcGUoIHN0YXJ0V2l0aChjYWNoZWRSZXNwb25zZSkgKSA6XHJcbiAgLy8gICAgICAgcmVzdWx0cyQ7XHJcbiAgLy8gICB9XHJcbn1cclxuIl19