@nguniversal/common
Advanced tools
Comparing version 6.0.0 to 6.1.0
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common/http'), require('@angular/core'), require('@angular/platform-browser'), require('rxjs'), require('rxjs/operators'), require('@angular/common')) : | ||
typeof define === 'function' && define.amd ? define(['exports', '@angular/common/http', '@angular/core', '@angular/platform-browser', 'rxjs', 'rxjs/operators', '@angular/common'], factory) : | ||
(factory((global.npm_package = {}),global.ng.common.http,global.ng.core,global.ng.platformBrowser,global.Rx,global.Rx.operators,global.ng.common)); | ||
typeof define === 'function' && define.amd ? define('@nguniversal/common', ['exports', '@angular/common/http', '@angular/core', '@angular/platform-browser', 'rxjs', 'rxjs/operators', '@angular/common'], factory) : | ||
(factory((global.nguniversal = global.nguniversal || {}, global.nguniversal.common = {}),global.ng.common.http,global.ng.core,global.ng.platformBrowser,global.rxjs,global.rxjs.operators,global.ng.common)); | ||
}(this, (function (exports,http,core,platformBrowser,rxjs,operators,common) { 'use strict'; | ||
@@ -17,2 +17,9 @@ | ||
}; | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
function getHeadersMap(headers) { | ||
@@ -23,3 +30,3 @@ var headersMap = {}; | ||
var key = _b.value; | ||
headersMap[key] = (headers.getAll(key)); | ||
headersMap[key] = headers.getAll(key); | ||
} | ||
@@ -49,5 +56,12 @@ } | ||
TransferHttpCacheInterceptor.prototype.invalidateCacheEntry = function (url) { | ||
this.transferState.remove(platformBrowser.makeStateKey('G.' + url)); | ||
this.transferState.remove(platformBrowser.makeStateKey('H.' + url)); | ||
var _this = this; | ||
Object.keys(this.transferState['store']) | ||
.forEach(function (key) { return key.includes(url) ? _this.transferState.remove(platformBrowser.makeStateKey(key)) : null; }); | ||
}; | ||
TransferHttpCacheInterceptor.prototype.makeCacheKey = function (method, url, params) { | ||
// make the params encoded same as a url so it's easy to identify | ||
var encodedParams = params.keys().sort().map(function (k) { return k + "=" + params.get(k); }).join('&'); | ||
var key = (method === 'GET' ? 'G.' : 'H.') + url + '?' + encodedParams; | ||
return platformBrowser.makeStateKey(key); | ||
}; | ||
TransferHttpCacheInterceptor.prototype.intercept = function (req, next) { | ||
@@ -64,4 +78,3 @@ var _this = this; | ||
} | ||
var key = (req.method === 'GET' ? 'G.' : 'H.') + req.url; | ||
var storeKey = platformBrowser.makeStateKey(key); | ||
var storeKey = this.makeCacheKey(req.method, req.url, req.params); | ||
if (this.transferState.hasKey(storeKey)) { | ||
@@ -89,3 +102,3 @@ // Request found in cache. Respond using it. | ||
statusText: event.statusText, | ||
url: (event.url), | ||
url: event.url, | ||
}); | ||
@@ -101,4 +114,4 @@ } | ||
TransferHttpCacheInterceptor.ctorParameters = function () { return [ | ||
{ type: core.ApplicationRef, }, | ||
{ type: platformBrowser.TransferState, }, | ||
{ type: core.ApplicationRef }, | ||
{ type: platformBrowser.TransferState } | ||
]; }; | ||
@@ -134,11 +147,9 @@ return TransferHttpCacheInterceptor; | ||
function domContentLoadedFactory(doc) { | ||
return function () { | ||
return new Promise(function (resolve, _reject) { | ||
var contentLoaded = function () { | ||
doc.removeEventListener('DOMContentLoaded', contentLoaded); | ||
resolve(); | ||
}; | ||
doc.addEventListener('DOMContentLoaded', contentLoaded); | ||
}); | ||
}; | ||
return function () { return new Promise(function (resolve, _reject) { | ||
var contentLoaded = function () { | ||
doc.removeEventListener('DOMContentLoaded', contentLoaded); | ||
resolve(); | ||
}; | ||
doc.addEventListener('DOMContentLoaded', contentLoaded); | ||
}); }; | ||
} | ||
@@ -159,9 +170,33 @@ var StateTransferInitializerModule = /** @class */ (function () { | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
/** | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
exports.ɵnguniversal_modules_common_common_b = domContentLoadedFactory; | ||
exports.ɵnguniversal_modules_common_common_a = TransferHttpCacheInterceptor; | ||
exports.ɵnguniversal_modules_common_common_a = domContentLoadedFactory; | ||
exports.TransferHttpCacheModule = TransferHttpCacheModule; | ||
exports.StateTransferInitializerModule = StateTransferInitializerModule; | ||
exports.ɵTransferHttpCacheInterceptor = TransferHttpCacheInterceptor; | ||
@@ -168,0 +203,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common/http"),require("@angular/core"),require("@angular/platform-browser"),require("rxjs"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define(["exports","@angular/common/http","@angular/core","@angular/platform-browser","rxjs","rxjs/operators","@angular/common"],t):t(e.npm_package={},e.ng.common.http,e.ng.core,e.ng.platformBrowser,e.Rx,e.Rx.operators,e.ng.common)}(this,function(e,t,r,n,o,a,s){"use strict";var i=function(){function e(e,t){var r=this;this.transferState=t,this.isCacheActive=!0,e.isStable.pipe(a.filter(function(e){return e}),a.take(1)).toPromise().then(function(){r.isCacheActive=!1})}return e.prototype.invalidateCacheEntry=function(e){this.transferState.remove(n.makeStateKey("G."+e)),this.transferState.remove(n.makeStateKey("H."+e))},e.prototype.intercept=function(e,r){var s=this;if("GET"!==e.method&&"HEAD"!==e.method&&(this.isCacheActive=!1,this.invalidateCacheEntry(e.url)),!this.isCacheActive)return r.handle(e);var i=n.makeStateKey(("GET"===e.method?"G.":"H.")+e.url);if(this.transferState.hasKey(i)){var u=this.transferState.get(i,{});return o.of(new t.HttpResponse({body:u.body,headers:new t.HttpHeaders(u.headers),status:u.status,statusText:u.statusText,url:u.url}))}return r.handle(e).pipe(a.tap(function(e){e instanceof t.HttpResponse&&s.transferState.set(i,{body:e.body,headers:function r(e){var t,r,n={};try{for(var o=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}(e.keys()),a=o.next();!a.done;a=o.next()){var s=a.value;n[s]=e.getAll(s)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}return n}(e.headers),status:e.status,statusText:e.statusText,url:e.url})}))},e.decorators=[{type:r.Injectable}],e.ctorParameters=function(){return[{type:r.ApplicationRef},{type:n.TransferState}]},e}(),u=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{imports:[n.BrowserTransferStateModule],providers:[i,{provide:t.HTTP_INTERCEPTORS,useExisting:i,multi:!0}]}]}],e}(); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common/http"),require("@angular/core"),require("@angular/platform-browser"),require("rxjs"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("@nguniversal/common",["exports","@angular/common/http","@angular/core","@angular/platform-browser","rxjs","rxjs/operators","@angular/common"],t):t((e.nguniversal=e.nguniversal||{},e.nguniversal.common={}),e.ng.common.http,e.ng.core,e.ng.platformBrowser,e.rxjs,e.rxjs.operators,e.ng.common)}(this,function(e,t,r,n,o,a,s){"use strict";var i=function(){function e(e,t){var r=this;this.transferState=t,this.isCacheActive=!0,e.isStable.pipe(a.filter(function(e){return e}),a.take(1)).toPromise().then(function(){r.isCacheActive=!1})}return e.prototype.invalidateCacheEntry=function(e){var t=this;Object.keys(this.transferState.store).forEach(function(r){return r.includes(e)?t.transferState.remove(n.makeStateKey(r)):null})},e.prototype.makeCacheKey=function(e,t,r){var o=r.keys().sort().map(function(e){return e+"="+r.get(e)}).join("&");return n.makeStateKey(("GET"===e?"G.":"H.")+t+"?"+o)},e.prototype.intercept=function(e,r){var n=this;if("GET"!==e.method&&"HEAD"!==e.method&&(this.isCacheActive=!1,this.invalidateCacheEntry(e.url)),!this.isCacheActive)return r.handle(e);var s=this.makeCacheKey(e.method,e.url,e.params);if(this.transferState.hasKey(s)){var i=this.transferState.get(s,{});return o.of(new t.HttpResponse({body:i.body,headers:new t.HttpHeaders(i.headers),status:i.status,statusText:i.statusText,url:i.url}))}return r.handle(e).pipe(a.tap(function(e){e instanceof t.HttpResponse&&n.transferState.set(s,{body:e.body,headers: | ||
/** | ||
@@ -9,2 +9,31 @@ * @license | ||
*/ | ||
function c(e){return function(){return new Promise(function(t,r){var n=function(){e.removeEventListener("DOMContentLoaded",n),t()};e.addEventListener("DOMContentLoaded",n)})}}var f=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{providers:[{provide:r.APP_INITIALIZER,multi:!0,useFactory:c,deps:[s.DOCUMENT]}]}]}],e}();e.ɵnguniversal_modules_common_common_b=c,e.ɵnguniversal_modules_common_common_a=i,e.TransferHttpCacheModule=u,e.StateTransferInitializerModule=f,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
function r(e){var t,r,n={};try{for(var o=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}(e.keys()),a=o.next();!a.done;a=o.next()){var s=a.value;n[s]=e.getAll(s)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}return n}(e.headers),status:e.status,statusText:e.statusText,url:e.url})}))},e.decorators=[{type:r.Injectable}],e.ctorParameters=function(){return[{type:r.ApplicationRef},{type:n.TransferState}]},e}(),u=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{imports:[n.BrowserTransferStateModule],providers:[i,{provide:t.HTTP_INTERCEPTORS,useExisting:i,multi:!0}]}]}],e}(); | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
function c(e){return function(){return new Promise(function(t,r){var n=function(){e.removeEventListener("DOMContentLoaded",n),t()};e.addEventListener("DOMContentLoaded",n)})}}var f=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{providers:[{provide:r.APP_INITIALIZER,multi:!0,useFactory:c,deps:[s.DOCUMENT]}]}]}],e}(); | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/e.ɵnguniversal_modules_common_common_a=c,e.TransferHttpCacheModule=u,e.StateTransferInitializerModule=f,e.ɵTransferHttpCacheInterceptor=i,Object.defineProperty(e,"__esModule",{value:!0})}); |
@@ -5,3 +5,2 @@ /** | ||
export * from './index'; | ||
export { domContentLoadedFactory as ɵnguniversal_modules_common_common_b } from './src/state-transfer-initializer/module'; | ||
export { TransferHttpCacheInterceptor as ɵnguniversal_modules_common_common_a } from './src/transfer_http'; | ||
export { domContentLoadedFactory as ɵnguniversal_modules_common_common_a } from './src/state-transfer-initializer/module'; |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"ɵnguniversal_modules_common_common_a":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":37,"character":1}}],"members":{"invalidateCacheEntry":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":47,"character":22},{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":47,"character":61}]}],"intercept":[{"__symbolic":"method"}]}},"ɵnguniversal_modules_common_common_b":{"__symbolic":"function","parameters":["doc"],"value":{"__symbolic":"error","message":"Lambda not supported","line":12,"character":9,"module":"./src/state-transfer-initializer/module"}},"TransferHttpCacheModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":108,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserTransferStateModule","line":109,"character":12}],"providers":[{"__symbolic":"reference","name":"ɵnguniversal_modules_common_common_a"},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":112,"character":14},"useExisting":{"__symbolic":"reference","name":"ɵnguniversal_modules_common_common_a"},"multi":true}]}]}],"members":{}},"StateTransferInitializerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":24,"character":14},"multi":true,"useFactory":{"__symbolic":"reference","name":"ɵnguniversal_modules_common_common_b"},"deps":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":24,"character":88}]}]}]}],"members":{}}},"origins":{"ɵnguniversal_modules_common_common_a":"./src/transfer_http","ɵnguniversal_modules_common_common_b":"./src/state-transfer-initializer/module","TransferHttpCacheModule":"./src/transfer_http","StateTransferInitializerModule":"./src/state-transfer-initializer/module"},"importAs":"@nguniversal/common"} | ||
{"__symbolic":"module","version":4,"metadata":{"ɵnguniversal_modules_common_common_a":{"__symbolic":"function","parameters":["doc"],"value":{"__symbolic":"error","message":"Lambda not supported","line":12,"character":9,"module":"./src/state-transfer-initializer/module"}},"TransferHttpCacheModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":120,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserTransferStateModule","line":121,"character":12}],"providers":[{"__symbolic":"reference","name":"ɵTransferHttpCacheInterceptor"},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":124,"character":14},"useExisting":{"__symbolic":"reference","name":"ɵTransferHttpCacheInterceptor"},"multi":true}]}]}],"members":{}},"StateTransferInitializerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":24,"character":14},"multi":true,"useFactory":{"__symbolic":"reference","name":"ɵnguniversal_modules_common_common_a"},"deps":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":24,"character":88}]}]}]}],"members":{}},"ɵTransferHttpCacheInterceptor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":43,"character":1}}],"members":{"invalidateCacheEntry":[{"__symbolic":"method"}],"makeCacheKey":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":60,"character":22},{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":60,"character":61}]}],"intercept":[{"__symbolic":"method"}]}}},"origins":{"ɵnguniversal_modules_common_common_a":"./src/state-transfer-initializer/module","TransferHttpCacheModule":"./src/transfer_http","StateTransferInitializerModule":"./src/state-transfer-initializer/module","ɵTransferHttpCacheInterceptor":"./src/transfer_http"},"importAs":"@nguniversal/common"} |
@@ -5,5 +5,4 @@ /** | ||
export * from './index'; | ||
export { domContentLoadedFactory as ɵnguniversal_modules_common_common_b } from './src/state-transfer-initializer/module'; | ||
export { TransferHttpCacheInterceptor as ɵnguniversal_modules_common_common_a } from './src/transfer_http'; | ||
export { domContentLoadedFactory as ɵnguniversal_modules_common_common_a } from './src/state-transfer-initializer/module'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX3B1YmxpY19pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL2NvbW1vbl9wdWJsaWNfaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsdUJBQXVCLElBQUksb0NBQW9DLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4SCxPQUFPLEVBQUMsNEJBQTRCLElBQUksb0NBQW9DLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7ZG9tQ29udGVudExvYWRlZEZhY3RvcnkgYXMgybVuZ3VuaXZlcnNhbF9tb2R1bGVzX2NvbW1vbl9jb21tb25fYn0gZnJvbSAnLi9zcmMvc3RhdGUtdHJhbnNmZXItaW5pdGlhbGl6ZXIvbW9kdWxlJztcbmV4cG9ydCB7VHJhbnNmZXJIdHRwQ2FjaGVJbnRlcmNlcHRvciBhcyDJtW5ndW5pdmVyc2FsX21vZHVsZXNfY29tbW9uX2NvbW1vbl9hfSBmcm9tICcuL3NyYy90cmFuc2Zlcl9odHRwJzsiXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX3B1YmxpY19pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL2NvbW1vbl9wdWJsaWNfaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsdUJBQXVCLElBQUksb0NBQW9DLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7ZG9tQ29udGVudExvYWRlZEZhY3RvcnkgYXMgybVuZ3VuaXZlcnNhbF9tb2R1bGVzX2NvbW1vbl9jb21tb25fYX0gZnJvbSAnLi9zcmMvc3RhdGUtdHJhbnNmZXItaW5pdGlhbGl6ZXIvbW9kdWxlJzsiXX0= |
@@ -12,4 +12,4 @@ /** | ||
*/ | ||
export { TransferHttpCacheModule, StateTransferInitializerModule } from './public_api'; | ||
export { TransferHttpCacheModule, StateTransferInitializerModule, ɵTransferHttpCacheInterceptor } from './public_api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2NvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU9BLHdFQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2NvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU9BLHVHQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ== |
@@ -7,3 +7,4 @@ /** | ||
export { StateTransferInitializerModule } from './src/state-transfer-initializer/module'; | ||
export { ɵTransferHttpCacheInterceptor } from './private_api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQU9BLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5leHBvcnQgeyBUcmFuc2Zlckh0dHBDYWNoZU1vZHVsZSB9IGZyb20gJy4vc3JjL3RyYW5zZmVyX2h0dHAnO1xuZXhwb3J0IHsgU3RhdGVUcmFuc2ZlckluaXRpYWxpemVyTW9kdWxlIH0gZnJvbSAnLi9zcmMvc3RhdGUtdHJhbnNmZXItaW5pdGlhbGl6ZXIvbW9kdWxlJztcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQU9BLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLDhDQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuZXhwb3J0IHsgVHJhbnNmZXJIdHRwQ2FjaGVNb2R1bGUgfSBmcm9tICcuL3NyYy90cmFuc2Zlcl9odHRwJztcbmV4cG9ydCB7IFN0YXRlVHJhbnNmZXJJbml0aWFsaXplck1vZHVsZSB9IGZyb20gJy4vc3JjL3N0YXRlLXRyYW5zZmVyLWluaXRpYWxpemVyL21vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3ByaXZhdGVfYXBpJztcbiJdfQ== |
@@ -36,12 +36,3 @@ /** | ||
]; | ||
function StateTransferInitializerModule_tsickle_Closure_declarations() { | ||
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ | ||
StateTransferInitializerModule.decorators; | ||
/** | ||
* @nocollapse | ||
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} | ||
*/ | ||
StateTransferInitializerModule.ctorParameters; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9jb21tb24vc3JjL3N0YXRlLXRyYW5zZmVyLWluaXRpYWxpemVyL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFFM0MsTUFBTSxrQ0FBa0MsR0FBYTtJQUNuRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDN0MsdUJBQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtZQUN6QixHQUFHLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDM0QsT0FBTyxFQUFFLENBQUM7U0FDWCxDQUFDO1FBQ0YsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0tBQ3pELENBQUMsQ0FBQztDQUNKO0FBUUQsTUFBTTs7O1lBTEwsUUFBUSxTQUFDO2dCQUNSLFNBQVMsRUFBRTtvQkFDVCxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUM7aUJBQy9GO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUsIEFQUF9JTklUSUFMSVpFUiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZG9tQ29udGVudExvYWRlZEZhY3RvcnkoZG9jOiBEb2N1bWVudCkge1xuICByZXR1cm4gKCkgPT4gbmV3IFByb21pc2UgKChyZXNvbHZlLCBfcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgY29udGVudExvYWRlZCA9ICgpID0+IHtcbiAgICAgIGRvYy5yZW1vdmVFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgY29udGVudExvYWRlZCk7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfTtcbiAgICBkb2MuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGNvbnRlbnRMb2FkZWQpO1xuICB9KTtcbn1cblxuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7cHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCBtdWx0aTogdHJ1ZSwgdXNlRmFjdG9yeTogZG9tQ29udGVudExvYWRlZEZhY3RvcnksIGRlcHM6IFtET0NVTUVOVF19LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRlVHJhbnNmZXJJbml0aWFsaXplck1vZHVsZSB7fVxuIl19 |
@@ -56,6 +56,18 @@ /** | ||
invalidateCacheEntry(url) { | ||
this.transferState.remove(makeStateKey('G.' + url)); | ||
this.transferState.remove(makeStateKey('H.' + url)); | ||
Object.keys(this.transferState['store']) | ||
.forEach(key => key.includes(url) ? this.transferState.remove(makeStateKey(key)) : null); | ||
} | ||
/** | ||
* @param {?} method | ||
* @param {?} url | ||
* @param {?} params | ||
* @return {?} | ||
*/ | ||
makeCacheKey(method, url, params) { | ||
// make the params encoded same as a url so it's easy to identify | ||
const /** @type {?} */ encodedParams = params.keys().sort().map(k => `${k}=${params.get(k)}`).join('&'); | ||
const /** @type {?} */ key = (method === 'GET' ? 'G.' : 'H.') + url + '?' + encodedParams; | ||
return makeStateKey(key); | ||
} | ||
/** | ||
* @param {?} req | ||
@@ -75,4 +87,3 @@ * @param {?} next | ||
} | ||
const /** @type {?} */ key = (req.method === 'GET' ? 'G.' : 'H.') + req.url; | ||
const /** @type {?} */ storeKey = makeStateKey(key); | ||
const /** @type {?} */ storeKey = this.makeCacheKey(req.method, req.url, req.params); | ||
if (this.transferState.hasKey(storeKey)) { | ||
@@ -112,13 +123,6 @@ // Request found in cache. Respond using it. | ||
TransferHttpCacheInterceptor.ctorParameters = () => [ | ||
{ type: ApplicationRef, }, | ||
{ type: TransferState, }, | ||
{ type: ApplicationRef }, | ||
{ type: TransferState } | ||
]; | ||
function TransferHttpCacheInterceptor_tsickle_Closure_declarations() { | ||
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ | ||
TransferHttpCacheInterceptor.decorators; | ||
/** | ||
* @nocollapse | ||
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} | ||
*/ | ||
TransferHttpCacheInterceptor.ctorParameters; | ||
/** @type {?} */ | ||
@@ -144,12 +148,3 @@ TransferHttpCacheInterceptor.prototype.isCacheActive; | ||
]; | ||
function TransferHttpCacheModule_tsickle_Closure_declarations() { | ||
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ | ||
TransferHttpCacheModule.decorators; | ||
/** | ||
* @nocollapse | ||
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} | ||
*/ | ||
TransferHttpCacheModule.ctorParameters; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJfaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL3NyYy90cmFuc2Zlcl9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFPQSxPQUFPLEVBQ0wsaUJBQWlCLEVBR2pCLFdBQVcsRUFHWCxZQUFZLEVBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFDLDBCQUEwQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRyxPQUFPLEVBQWEsRUFBRSxJQUFJLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVWpELHVCQUF1QixPQUFvQjtJQUN6Qyx1QkFBTSxVQUFVLEdBQStCLEVBQUUsQ0FBQztJQUNsRCxHQUFHLENBQUMsQ0FBQyx1QkFBTSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqQyxVQUFVLENBQUMsR0FBRyxDQUFDLHNCQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQztLQUN4QztJQUNELE1BQU0sQ0FBQyxVQUFVLENBQUM7Q0FDbkI7QUFHRCxNQUFNOzs7OztJQVNKLFlBQVksTUFBc0IsRUFBVSxhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTs2QkFQaEQsSUFBSTs7O1FBVTFCLE1BQU0sQ0FBQyxRQUFRO2FBQ1osSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLFFBQWlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUN2QyxJQUFJLENBQUMsQ0FBQyxDQUFDLENB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RTtvQkFDVCw0QkFBNEI7b0JBQzVCLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2lCQUNyRjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge1xuICBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgSHR0cEV2ZW50LFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEhlYWRlcnMsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG4gIEh0dHBSZXNwb25zZVxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0FwcGxpY2F0aW9uUmVmLCBJbmplY3RhYmxlLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Jyb3dzZXJUcmFuc2ZlclN0YXRlTW9kdWxlLCBUcmFuc2ZlclN0YXRlLCBtYWtlU3RhdGVLZXl9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YXAsIHRha2UsIGZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVySHR0cFJlc3BvbnNlIHtcbiAgYm9keT86IGFueSB8IG51bGw7XG4gIGhlYWRlcnM/OiB7W2s6IHN0cmluZ106IHN0cmluZ1tdfTtcbiAgc3RhdHVzPzogbnVtYmVyO1xuICBzdGF0dXNUZXh0Pzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldEhlYWRlcnNNYXAoaGVhZGVyczogSHR0cEhlYWRlcnMpIHtcbiAgY29uc3QgaGVhZGVyc01hcDoge1tuYW1lOiBzdHJpbmddOiBzdHJpbmdbXX0gPSB7fTtcbiAgZm9yIChjb25zdCBrZXkgb2YgaGVhZGVycy5rZXlzKCkpIHtcbiAgICBoZWFkZXJzTWFwW2tleV0gPSBoZWFkZXJzLmdldEFsbChrZXkpITtcbiAgfVxuICByZXR1cm4gaGVhZGVyc01hcDtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyYW5zZmVySHR0cENhY2hlSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gIHByaXZhdGUgaXNDYWNoZUFjdGl2ZSA9IHRydWU7XG5cbiAgcHJpdmF0ZSBpbnZhbGlkYXRlQ2FjaGVFbnRyeSh1cmw6IHN0cmluZykge1xuICAgIHRoaXMudHJhbnNmZXJTdGF0ZS5yZW1vdmUobWFrZVN0YXRlS2V5PFRyYW5zZmVySHR0cFJlc3BvbnNlPignRy4nICsgdXJsKSk7XG4gICAgdGhpcy50cmFuc2ZlclN0YXRlLnJlbW92ZShtYWtlU3RhdGVLZXk8VHJhbnNmZXJIdHRwUmVzcG9uc2U+KCdILicgKyB1cmwpKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGFwcFJlZjogQXBwbGljYXRpb25SZWYsIHByaXZhdGUgdHJhbnNmZXJTdGF0ZTogVHJhbnNmZXJTdGF0ZSkge1xuICAgIC8vIFN0b3AgdXNpbmcgdGhlIGNhY2hlIGlmIHRoZSBhcHBsaWNhdGlvbiBoYXMgc3RhYmlsaXplZCwgaW5kaWNhdGluZyBpbml0aWFsIHJlbmRlcmluZyBpc1xuICAgIC8vIGNvbXBsZXRlLlxuICAgIGFwcFJlZi5pc1N0YWJsZVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoaXNTdGFibGU6IGJvb2xlYW4pID0+IGlzU3RhYmxlKSxcbiAgICAgICAgdGFrZSgxKVxuICAgICAgKS50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKCkgPT4geyB0aGlzLmlzQ2FjaGVBY3RpdmUgPSBmYWxzZTsgfSk7XG4gIH1cblxuICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAvLyBTdG9wIHVzaW5nIHRoZSBjYWNoZSBpZiB0aGVyZSBpcyBhIG11dGF0aW5nIGNhbGwuXG4gICAgaWYgKHJlcS5tZXRob2QgIT09ICdHRVQnICYmIHJlcS5tZXRob2QgIT09ICdIRUFEJykge1xuICAgICAgdGhpcy5pc0NhY2hlQWN0aXZlID0gZmFsc2U7XG4gICAgICB0aGlzLmludmFsaWRhdGVDYWNoZUVudHJ5KHJlcS51cmwpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0NhY2hlQWN0aXZlKSB7XG4gICAgICAvLyBDYWNoZSBpcyBubyBsb25nZXIgYWN0aXZlLiBQYXNzIHRoZSByZXF1ZXN0IHRocm91Z2guXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXkgPSAocmVxLm1ldGhvZCA9PT0gJ0dFVCcgPyAnRy4nIDogJ0guJykgKyByZXEudXJsO1xuICAgIGNvbnN0IHN0b3JlS2V5ID0gbWFrZVN0YXRlS2V5PFRyYW5zZmVySHR0cFJlc3BvbnNlPihrZXkpO1xuXG4gICAgaWYgKHRoaXMudHJhbnNmZXJTdGF0ZS5oYXNLZXkoc3RvcmVLZXkpKSB7XG4gICAgICAvLyBSZXF1ZXN0IGZvdW5kIGluIGNhY2hlLiBSZXNwb25kIHVzaW5nIGl0LlxuICAgICAgY29uc3QgcmVzcG9uc2UgPSB0aGlzLnRyYW5zZmVyU3RhdGUuZ2V0KHN0b3JlS2V5LCB7fSBhcyBUcmFuc2Zlckh0dHBSZXNwb25zZSk7XG4gICAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKG5ldyBIdHRwUmVzcG9uc2U8YW55Pih7XG4gICAgICAgIGJvZHk6IHJlc3BvbnNlLmJvZHksXG4gICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyhyZXNwb25zZS5oZWFkZXJzKSxcbiAgICAgICAgc3RhdHVzOiByZXNwb25zZS5zdGF0dXMsXG4gICAgICAgIHN0YXR1c1RleHQ6IHJlc3BvbnNlLnN0YXR1c1RleHQsXG4gICAgICAgIHVybDogcmVzcG9uc2UudXJsLFxuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZXF1ZXN0IG5vdCBmb3VuZCBpbiBjYWNoZS4gTWFrZSB0aGUgcmVxdWVzdCBhbmQgY2FjaGUgaXQuXG4gICAgICBjb25zdCBodHRwRXZlbnQgPSBuZXh0LmhhbmRsZShyZXEpO1xuICAgICAgcmV0dXJuIGh0dHBFdmVudFxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgIHRoaXMudHJhbnNmZXJTdGF0ZS5zZXQoc3RvcmVLZXksIHtcbiAgICAgICAgICAgICAgICBib2R5OiBldmVudC5ib2R5LFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGdldEhlYWRlcnNNYXAoZXZlbnQuaGVhZGVycyksXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBldmVudC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgc3RhdHVzVGV4dDogZXZlbnQuc3RhdHVzVGV4dCxcbiAgICAgICAgICAgICAgICB1cmw6IGV2ZW50LnVybCEsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQW4gTmdNb2R1bGUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBTZXJ2ZXJUcmFuc2Zlckh0dHBDYWNoZU1vZHVsZWAgdG8gdHJhbnNmZXIgY2FjaGVkIEhUVFBcbiAqIGNhbGxzIGZyb20gdGhlIHNlcnZlciB0byB0aGUgY2xpZW50IGFwcGxpY2F0aW9uLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQnJvd3NlclRyYW5zZmVyU3RhdGVNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBUcmFuc2Zlckh0dHBDYWNoZUludGVyY2VwdG9yLFxuICAgIHtwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlRXhpc3Rpbmc6IFRyYW5zZmVySHR0cENhY2hlSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJIdHRwQ2FjaGVNb2R1bGUge31cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJfaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL3NyYy90cmFuc2Zlcl9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFPQSxPQUFPLEVBQ0wsaUJBQWlCLEVBR2pCLFdBQVcsRUFHWCxZQUFZLEVBRWIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixhQUFhLEVBQ2IsWUFBWSxFQUViLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFhLEVBQUUsSUFBSSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVVqRCx1QkFBdUIsT0FBb0I7SUFDekMsdUJBQU0sVUFBVSxHQUErQixFQUFFLENBQUM7SUFDbEQsR0FBRyxDQUFDLENBQUMsdUJBQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxzQkFBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUM7S0FDeEM7SUFDRCxNQUFNLENBQUMsVUFBVSxDQUFDO0NBQ25CO0FBR0QsTUFBTTs7Ozs7SUFnQkosWUFBWSxNQUFzQixFQUFVLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlOzZCQWRoRCxJQUFJOzs7UUFpQjFCLE1BQU0sQ0FBQyxRQUFRO2FBQ1osSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLFFBQWlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUN2QyxJQUFJLENBQUMsQ0FBQyxDQUFD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QUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7d0JBQy9CLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTt3QkFDaEIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO3dCQUNyQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07d0JBQ3BCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTt3QkFDNUIsR0FBRyxxQkFBRSxLQUFLLENBQUMsR0FBRyxFQUFDO3FCQUNoQixDQUFDLENBQUM7aUJBQ0o7YUFDRixDQUFDLENBQ0gsQ0FBQztTQUNMO0tBQ0Y7OztZQXRFRixVQUFVOzs7O1lBMUJILGNBQWM7WUFHcEIsYUFBYTs7Ozs7Ozs7Ozs7O0FBMkdmLE1BQU07OztZQVBMLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztnQkFDckMsU0FBUyxFQUFFO29CQUNULDRCQUE0QjtvQkFDNUIsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7aUJBQ3JGO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7XG4gIEhUVFBfSU5URVJDRVBUT1JTLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbiAgSHR0cFJlc3BvbnNlLFxuICBIdHRwUGFyYW1zXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7QXBwbGljYXRpb25SZWYsIEluamVjdGFibGUsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJyb3dzZXJUcmFuc2ZlclN0YXRlTW9kdWxlLFxuICBUcmFuc2ZlclN0YXRlLFxuICBtYWtlU3RhdGVLZXksXG4gIFN0YXRlS2V5XG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YXAsIHRha2UsIGZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVySHR0cFJlc3BvbnNlIHtcbiAgYm9keT86IGFueSB8IG51bGw7XG4gIGhlYWRlcnM/OiB7W2s6IHN0cmluZ106IHN0cmluZ1tdfTtcbiAgc3RhdHVzPzogbnVtYmVyO1xuICBzdGF0dXNUZXh0Pzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldEhlYWRlcnNNYXAoaGVhZGVyczogSHR0cEhlYWRlcnMpIHtcbiAgY29uc3QgaGVhZGVyc01hcDoge1tuYW1lOiBzdHJpbmddOiBzdHJpbmdbXX0gPSB7fTtcbiAgZm9yIChjb25zdCBrZXkgb2YgaGVhZGVycy5rZXlzKCkpIHtcbiAgICBoZWFkZXJzTWFwW2tleV0gPSBoZWFkZXJzLmdldEFsbChrZXkpITtcbiAgfVxuICByZXR1cm4gaGVhZGVyc01hcDtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyYW5zZmVySHR0cENhY2hlSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gIHByaXZhdGUgaXNDYWNoZUFjdGl2ZSA9IHRydWU7XG5cbiAgcHJpdmF0ZSBpbnZhbGlkYXRlQ2FjaGVFbnRyeSh1cmw6IHN0cmluZykge1xuICAgIE9iamVjdC5rZXlzKHRoaXMudHJhbnNmZXJTdGF0ZVsnc3RvcmUnXSlcbiAgICAgIC5mb3JFYWNoKGtleSA9PiBrZXkuaW5jbHVkZXModXJsKSA/IHRoaXMudHJhbnNmZXJTdGF0ZS5yZW1vdmUobWFrZVN0YXRlS2V5KGtleSkpIDogbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIG1ha2VDYWNoZUtleShtZXRob2Q6IHN0cmluZywgdXJsOiBzdHJpbmcsIHBhcmFtczogSHR0cFBhcmFtcyk6IFN0YXRlS2V5PHN0cmluZz4ge1xuICAgIC8vIG1ha2UgdGhlIHBhcmFtcyBlbmNvZGVkIHNhbWUgYXMgYSB1cmwgc28gaXQncyBlYXN5IHRvIGlkZW50aWZ5XG4gICAgY29uc3QgZW5jb2RlZFBhcmFtcyA9IHBhcmFtcy5rZXlzKCkuc29ydCgpLm1hcChrID0+IGAke2t9PSR7cGFyYW1zLmdldChrKX1gKS5qb2luKCcmJyk7XG4gICAgY29uc3Qga2V5ID0gKG1ldGhvZCA9PT0gJ0dFVCcgPyAnRy4nIDogJ0guJykgKyB1cmwgKyAnPycgKyBlbmNvZGVkUGFyYW1zO1xuICAgIHJldHVybiBtYWtlU3RhdGVLZXk8VHJhbnNmZXJIdHRwUmVzcG9uc2U+KGtleSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLCBwcml2YXRlIHRyYW5zZmVyU3RhdGU6IFRyYW5zZmVyU3RhdGUpIHtcbiAgICAvLyBTdG9wIHVzaW5nIHRoZSBjYWNoZSBpZiB0aGUgYXBwbGljYXRpb24gaGFzIHN0YWJpbGl6ZWQsIGluZGljYXRpbmcgaW5pdGlhbCByZW5kZXJpbmcgaXNcbiAgICAvLyBjb21wbGV0ZS5cbiAgICBhcHBSZWYuaXNTdGFibGVcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGlzU3RhYmxlOiBib29sZWFuKSA9PiBpc1N0YWJsZSksXG4gICAgICAgIHRha2UoMSlcbiAgICAgICkudG9Qcm9taXNlKClcbiAgICAgIC50aGVuKCgpID0+IHsgdGhpcy5pc0NhY2hlQWN0aXZlID0gZmFsc2U7IH0pO1xuICB9XG5cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgLy8gU3RvcCB1c2luZyB0aGUgY2FjaGUgaWYgdGhlcmUgaXMgYSBtdXRhdGluZyBjYWxsLlxuICAgIGlmIChyZXEubWV0aG9kICE9PSAnR0VUJyAmJiByZXEubWV0aG9kICE9PSAnSEVBRCcpIHtcbiAgICAgIHRoaXMuaXNDYWNoZUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5pbnZhbGlkYXRlQ2FjaGVFbnRyeShyZXEudXJsKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNDYWNoZUFjdGl2ZSkge1xuICAgICAgLy8gQ2FjaGUgaXMgbm8gbG9uZ2VyIGFjdGl2ZS4gUGFzcyB0aGUgcmVxdWVzdCB0aHJvdWdoLlxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VDYWNoZUtleShyZXEubWV0aG9kLCByZXEudXJsLCByZXEucGFyYW1zKTtcblxuICAgIGlmICh0aGlzLnRyYW5zZmVyU3RhdGUuaGFzS2V5KHN0b3JlS2V5KSkge1xuICAgICAgLy8gUmVxdWVzdCBmb3VuZCBpbiBjYWNoZS4gUmVzcG9uZCB1c2luZyBpdC5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy50cmFuc2ZlclN0YXRlLmdldChzdG9yZUtleSwge30gYXMgVHJhbnNmZXJIdHRwUmVzcG9uc2UpO1xuICAgICAgcmV0dXJuIG9ic2VydmFibGVPZihuZXcgSHR0cFJlc3BvbnNlPGFueT4oe1xuICAgICAgICBib2R5OiByZXNwb25zZS5ib2R5LFxuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMocmVzcG9uc2UuaGVhZGVycyksXG4gICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgICBzdGF0dXNUZXh0OiByZXNwb25zZS5zdGF0dXNUZXh0LFxuICAgICAgICB1cmw6IHJlc3BvbnNlLnVybCxcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVxdWVzdCBub3QgZm91bmQgaW4gY2FjaGUuIE1ha2UgdGhlIHJlcXVlc3QgYW5kIGNhY2hlIGl0LlxuICAgICAgY29uc3QgaHR0cEV2ZW50ID0gbmV4dC5oYW5kbGUocmVxKTtcbiAgICAgIHJldHVybiBodHRwRXZlbnRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xuICAgICAgICAgICAgICB0aGlzLnRyYW5zZmVyU3RhdGUuc2V0KHN0b3JlS2V5LCB7XG4gICAgICAgICAgICAgICAgYm9keTogZXZlbnQuYm9keSxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBnZXRIZWFkZXJzTWFwKGV2ZW50LmhlYWRlcnMpLFxuICAgICAgICAgICAgICAgIHN0YXR1czogZXZlbnQuc3RhdHVzLFxuICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ6IGV2ZW50LnN0YXR1c1RleHQsXG4gICAgICAgICAgICAgICAgdXJsOiBldmVudC51cmwhLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEFuIE5nTW9kdWxlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgU2VydmVyVHJhbnNmZXJIdHRwQ2FjaGVNb2R1bGVgIHRvIHRyYW5zZmVyIGNhY2hlZCBIVFRQXG4gKiBjYWxscyBmcm9tIHRoZSBzZXJ2ZXIgdG8gdGhlIGNsaWVudCBhcHBsaWNhdGlvbi5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0Jyb3dzZXJUcmFuc2ZlclN0YXRlTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgVHJhbnNmZXJIdHRwQ2FjaGVJbnRlcmNlcHRvcixcbiAgICB7cHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUV4aXN0aW5nOiBUcmFuc2Zlckh0dHBDYWNoZUludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZX0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zZmVySHR0cENhY2hlTW9kdWxlIHt9XG4iXX0= |
@@ -5,5 +5,4 @@ /** | ||
export * from './index'; | ||
export { domContentLoadedFactory as ɵnguniversal_modules_common_common_b } from './src/state-transfer-initializer/module'; | ||
export { TransferHttpCacheInterceptor as ɵnguniversal_modules_common_common_a } from './src/transfer_http'; | ||
export { domContentLoadedFactory as ɵnguniversal_modules_common_common_a } from './src/state-transfer-initializer/module'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX3B1YmxpY19pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL2NvbW1vbl9wdWJsaWNfaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsdUJBQXVCLElBQUksb0NBQW9DLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4SCxPQUFPLEVBQUMsNEJBQTRCLElBQUksb0NBQW9DLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7ZG9tQ29udGVudExvYWRlZEZhY3RvcnkgYXMgybVuZ3VuaXZlcnNhbF9tb2R1bGVzX2NvbW1vbl9jb21tb25fYn0gZnJvbSAnLi9zcmMvc3RhdGUtdHJhbnNmZXItaW5pdGlhbGl6ZXIvbW9kdWxlJztcbmV4cG9ydCB7VHJhbnNmZXJIdHRwQ2FjaGVJbnRlcmNlcHRvciBhcyDJtW5ndW5pdmVyc2FsX21vZHVsZXNfY29tbW9uX2NvbW1vbl9hfSBmcm9tICcuL3NyYy90cmFuc2Zlcl9odHRwJzsiXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX3B1YmxpY19pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL2NvbW1vbl9wdWJsaWNfaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsdUJBQXVCLElBQUksb0NBQW9DLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7ZG9tQ29udGVudExvYWRlZEZhY3RvcnkgYXMgybVuZ3VuaXZlcnNhbF9tb2R1bGVzX2NvbW1vbl9jb21tb25fYX0gZnJvbSAnLi9zcmMvc3RhdGUtdHJhbnNmZXItaW5pdGlhbGl6ZXIvbW9kdWxlJzsiXX0= |
@@ -0,3 +1,10 @@ | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
export * from './public_api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2NvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2NvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ== |
@@ -0,4 +1,12 @@ | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
export { TransferHttpCacheModule } from './src/transfer_http'; | ||
export { StateTransferInitializerModule } from './src/state-transfer-initializer/module'; | ||
export * from './private_api'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmV4cG9ydCB7IFRyYW5zZmVySHR0cENhY2hlTW9kdWxlIH0gZnJvbSAnLi9zcmMvdHJhbnNmZXJfaHR0cCc7XG5leHBvcnQgeyBTdGF0ZVRyYW5zZmVySW5pdGlhbGl6ZXJNb2R1bGUgfSBmcm9tICcuL3NyYy9zdGF0ZS10cmFuc2Zlci1pbml0aWFsaXplci9tb2R1bGUnO1xuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekYsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmV4cG9ydCB7IFRyYW5zZmVySHR0cENhY2hlTW9kdWxlIH0gZnJvbSAnLi9zcmMvdHJhbnNmZXJfaHR0cCc7XG5leHBvcnQgeyBTdGF0ZVRyYW5zZmVySW5pdGlhbGl6ZXJNb2R1bGUgfSBmcm9tICcuL3NyYy9zdGF0ZS10cmFuc2Zlci1pbml0aWFsaXplci9tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcml2YXRlX2FwaSc7XG4iXX0= |
@@ -11,11 +11,9 @@ /** | ||
export function domContentLoadedFactory(doc) { | ||
return function () { | ||
return new Promise(function (resolve, _reject) { | ||
var contentLoaded = function () { | ||
doc.removeEventListener('DOMContentLoaded', contentLoaded); | ||
resolve(); | ||
}; | ||
doc.addEventListener('DOMContentLoaded', contentLoaded); | ||
}); | ||
}; | ||
return function () { return new Promise(function (resolve, _reject) { | ||
var contentLoaded = function () { | ||
doc.removeEventListener('DOMContentLoaded', contentLoaded); | ||
resolve(); | ||
}; | ||
doc.addEventListener('DOMContentLoaded', contentLoaded); | ||
}); }; | ||
} | ||
@@ -36,2 +34,2 @@ var StateTransferInitializerModule = /** @class */ (function () { | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9jb21tb24vc3JjL3N0YXRlLXRyYW5zZmVyLWluaXRpYWxpemVyL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE1BQU0sa0NBQWtDLEdBQWE7SUFDbkQsTUFBTSxDQUFDO1FBQU0sT0FBQSxJQUFJLE9BQU8sQ0FBRSxVQUFDLE9BQU8sRUFBRSxPQUFPO1lBQ3pDLElBQU0sYUFBYSxHQUFHO2dCQUNwQixHQUFHLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQzNELE9BQU8sRUFBRSxDQUFDO2FBQ1gsQ0FBQztZQUNGLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUN6RCxDQUFDO0lBTlcsQ0FNWCxDQUFDO0NBQ0o7Ozs7O2dCQUdBLFFBQVEsU0FBQztvQkFDUixTQUFTLEVBQUU7d0JBQ1QsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFDO3FCQUMvRjtpQkFDRjs7eUNBMUJEOztTQTJCYSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUsIEFQUF9JTklUSUFMSVpFUiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZG9tQ29udGVudExvYWRlZEZhY3RvcnkoZG9jOiBEb2N1bWVudCkge1xuICByZXR1cm4gKCkgPT4gbmV3IFByb21pc2UgKChyZXNvbHZlLCBfcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgY29udGVudExvYWRlZCA9ICgpID0+IHtcbiAgICAgIGRvYy5yZW1vdmVFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgY29udGVudExvYWRlZCk7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfTtcbiAgICBkb2MuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGNvbnRlbnRMb2FkZWQpO1xuICB9KTtcbn1cblxuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7cHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCBtdWx0aTogdHJ1ZSwgdXNlRmFjdG9yeTogZG9tQ29udGVudExvYWRlZEZhY3RvcnksIGRlcHM6IFtET0NVTUVOVF19LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRlVHJhbnNmZXJJbml0aWFsaXplck1vZHVsZSB7fVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9jb21tb24vc3JjL3N0YXRlLXRyYW5zZmVyLWluaXRpYWxpemVyL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsTUFBTSxrQ0FBa0MsR0FBYTtJQUNuRCxNQUFNLENBQUMsY0FBTSxPQUFBLElBQUksT0FBTyxDQUFFLFVBQUMsT0FBTyxFQUFFLE9BQU87UUFDekMsSUFBTSxhQUFhLEdBQUc7WUFDcEIsR0FBRyxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDO1FBQ0YsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzFELENBQUMsQ0FBQyxFQU5XLENBTVgsQ0FBQztBQUNMLENBQUM7QUFHRDtJQUFBO0lBSzZDLENBQUM7O2dCQUw3QyxRQUFRLFNBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBQztxQkFDL0Y7aUJBQ0Y7O0lBQzRDLHFDQUFDO0NBQUEsQUFMOUMsSUFLOEM7U0FBakMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlLCBBUFBfSU5JVElBTElaRVIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRvbUNvbnRlbnRMb2FkZWRGYWN0b3J5KGRvYzogRG9jdW1lbnQpIHtcbiAgcmV0dXJuICgpID0+IG5ldyBQcm9taXNlICgocmVzb2x2ZSwgX3JlamVjdCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnRMb2FkZWQgPSAoKSA9PiB7XG4gICAgICBkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGNvbnRlbnRMb2FkZWQpO1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH07XG4gICAgZG9jLmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBjb250ZW50TG9hZGVkKTtcbiAgfSk7XG59XG5cblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IEFQUF9JTklUSUFMSVpFUiwgbXVsdGk6IHRydWUsIHVzZUZhY3Rvcnk6IGRvbUNvbnRlbnRMb2FkZWRGYWN0b3J5LCBkZXBzOiBbRE9DVU1FTlRdfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTdGF0ZVRyYW5zZmVySW5pdGlhbGl6ZXJNb2R1bGUge31cbiJdfQ== |
@@ -11,2 +11,9 @@ var __values = (this && this.__values) || function (o) { | ||
}; | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
import { HTTP_INTERCEPTORS, HttpHeaders, HttpResponse } from '@angular/common/http'; | ||
@@ -22,3 +29,3 @@ import { ApplicationRef, Injectable, NgModule } from '@angular/core'; | ||
var key = _b.value; | ||
headersMap[key] = (headers.getAll(key)); | ||
headersMap[key] = headers.getAll(key); | ||
} | ||
@@ -48,5 +55,12 @@ } | ||
TransferHttpCacheInterceptor.prototype.invalidateCacheEntry = function (url) { | ||
this.transferState.remove(makeStateKey('G.' + url)); | ||
this.transferState.remove(makeStateKey('H.' + url)); | ||
var _this = this; | ||
Object.keys(this.transferState['store']) | ||
.forEach(function (key) { return key.includes(url) ? _this.transferState.remove(makeStateKey(key)) : null; }); | ||
}; | ||
TransferHttpCacheInterceptor.prototype.makeCacheKey = function (method, url, params) { | ||
// make the params encoded same as a url so it's easy to identify | ||
var encodedParams = params.keys().sort().map(function (k) { return k + "=" + params.get(k); }).join('&'); | ||
var key = (method === 'GET' ? 'G.' : 'H.') + url + '?' + encodedParams; | ||
return makeStateKey(key); | ||
}; | ||
TransferHttpCacheInterceptor.prototype.intercept = function (req, next) { | ||
@@ -63,4 +77,3 @@ var _this = this; | ||
} | ||
var key = (req.method === 'GET' ? 'G.' : 'H.') + req.url; | ||
var storeKey = makeStateKey(key); | ||
var storeKey = this.makeCacheKey(req.method, req.url, req.params); | ||
if (this.transferState.hasKey(storeKey)) { | ||
@@ -88,3 +101,3 @@ // Request found in cache. Respond using it. | ||
statusText: event.statusText, | ||
url: (event.url), | ||
url: event.url, | ||
}); | ||
@@ -100,4 +113,4 @@ } | ||
TransferHttpCacheInterceptor.ctorParameters = function () { return [ | ||
{ type: ApplicationRef, }, | ||
{ type: TransferState, }, | ||
{ type: ApplicationRef }, | ||
{ type: TransferState } | ||
]; }; | ||
@@ -127,2 +140,2 @@ return TransferHttpCacheInterceptor; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJfaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL3NyYy90cmFuc2Zlcl9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFPQSxPQUFPLEVBQ0wsaUJBQWlCLEVBR2pCLFdBQVcsRUFHWCxZQUFZLEVBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFDLDBCQUEwQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRyxPQUFPLEVBQWEsRUFBRSxJQUFJLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQVVqRCx1QkFBdUIsT0FBb0I7SUFDekMsSUFBTSxVQUFVLEdBQStCLEVBQUUsQ0FBQzs7UUFDbEQsR0FBRyxDQUFDLENBQWMsSUFBQSxLQUFBLFNBQUEsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBLGdCQUFBO1lBQTNCLElBQU0sR0FBRyxXQUFBO1lBQ1osVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFFLENBQUEsQ0FBQztTQUN4Qzs7Ozs7Ozs7O0lBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQzs7Q0FDbkI7O0lBWUMsc0NBQVksTUFBc0IsRUFBVSxhQUE0QjtRQUF4RSxpQkFTQztRQVQyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTs2QkFQaEQsSUFBSTs7O1FBVTFCLE1BQU0sQ0FBQyxRQUFRO2FBQ1osSUFBSSxDQUNILE1BQU0sQ0FBQyxVQUFDLFFBQWlCLElBQUssT0FBQSxRQUFRLEVBQVIsQ0FBUSxDQUFDLEVBQ3ZD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MEJBQTBCLENBQUM7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDVCw0QkFBNEI7d0JBQzVCLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO3FCQUNyRjtpQkFDRjs7a0NBbEhEOztTQW1IYSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7XG4gIEhUVFBfSU5URVJDRVBUT1JTLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbiAgSHR0cFJlc3BvbnNlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7QXBwbGljYXRpb25SZWYsIEluamVjdGFibGUsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QnJvd3NlclRyYW5zZmVyU3RhdGVNb2R1bGUsIFRyYW5zZmVyU3RhdGUsIG1ha2VTdGF0ZUtleX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge09ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3RhcCwgdGFrZSwgZmlsdGVyfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXJIdHRwUmVzcG9uc2Uge1xuICBib2R5PzogYW55IHwgbnVsbDtcbiAgaGVhZGVycz86IHtbazogc3RyaW5nXTogc3RyaW5nW119O1xuICBzdGF0dXM/OiBudW1iZXI7XG4gIHN0YXR1c1RleHQ/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0SGVhZGVyc01hcChoZWFkZXJzOiBIdHRwSGVhZGVycykge1xuICBjb25zdCBoZWFkZXJzTWFwOiB7W25hbWU6IHN0cmluZ106IHN0cmluZ1tdfSA9IHt9O1xuICBmb3IgKGNvbnN0IGtleSBvZiBoZWFkZXJzLmtleXMoKSkge1xuICAgIGhlYWRlcnNNYXBba2V5XSA9IGhlYWRlcnMuZ2V0QWxsKGtleSkhO1xuICB9XG4gIHJldHVybiBoZWFkZXJzTWFwO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJIdHRwQ2FjaGVJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgcHJpdmF0ZSBpc0NhY2hlQWN0aXZlID0gdHJ1ZTtcblxuICBwcml2YXRlIGludmFsaWRhdGVDYWNoZUVudHJ5KHVybDogc3RyaW5nKSB7XG4gICAgdGhpcy50cmFuc2ZlclN0YXRlLnJlbW92ZShtYWtlU3RhdGVLZXk8VHJhbnNmZXJIdHRwUmVzcG9uc2U+KCdHLicgKyB1cmwpKTtcbiAgICB0aGlzLnRyYW5zZmVyU3RhdGUucmVtb3ZlKG1ha2VTdGF0ZUtleTxUcmFuc2Zlckh0dHBSZXNwb25zZT4oJ0guJyArIHVybCkpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoYXBwUmVmOiBBcHBsaWNhdGlvblJlZiwgcHJpdmF0ZSB0cmFuc2ZlclN0YXRlOiBUcmFuc2ZlclN0YXRlKSB7XG4gICAgLy8gU3RvcCB1c2luZyB0aGUgY2FjaGUgaWYgdGhlIGFwcGxpY2F0aW9uIGhhcyBzdGFiaWxpemVkLCBpbmRpY2F0aW5nIGluaXRpYWwgcmVuZGVyaW5nIGlzXG4gICAgLy8gY29tcGxldGUuXG4gICAgYXBwUmVmLmlzU3RhYmxlXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChpc1N0YWJsZTogYm9vbGVhbikgPT4gaXNTdGFibGUpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApLnRvUHJvbWlzZSgpXG4gICAgICAudGhlbigoKSA9PiB7IHRoaXMuaXNDYWNoZUFjdGl2ZSA9IGZhbHNlOyB9KTtcbiAgfVxuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIC8vIFN0b3AgdXNpbmcgdGhlIGNhY2hlIGlmIHRoZXJlIGlzIGEgbXV0YXRpbmcgY2FsbC5cbiAgICBpZiAocmVxLm1ldGhvZCAhPT0gJ0dFVCcgJiYgcmVxLm1ldGhvZCAhPT0gJ0hFQUQnKSB7XG4gICAgICB0aGlzLmlzQ2FjaGVBY3RpdmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuaW52YWxpZGF0ZUNhY2hlRW50cnkocmVxLnVybCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzQ2FjaGVBY3RpdmUpIHtcbiAgICAgIC8vIENhY2hlIGlzIG5vIGxvbmdlciBhY3RpdmUuIFBhc3MgdGhlIHJlcXVlc3QgdGhyb3VnaC5cbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cblxuICAgIGNvbnN0IGtleSA9IChyZXEubWV0aG9kID09PSAnR0VUJyA/ICdHLicgOiAnSC4nKSArIHJlcS51cmw7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSBtYWtlU3RhdGVLZXk8VHJhbnNmZXJIdHRwUmVzcG9uc2U+KGtleSk7XG5cbiAgICBpZiAodGhpcy50cmFuc2ZlclN0YXRlLmhhc0tleShzdG9yZUtleSkpIHtcbiAgICAgIC8vIFJlcXVlc3QgZm91bmQgaW4gY2FjaGUuIFJlc3BvbmQgdXNpbmcgaXQuXG4gICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMudHJhbnNmZXJTdGF0ZS5nZXQoc3RvcmVLZXksIHt9IGFzIFRyYW5zZmVySHR0cFJlc3BvbnNlKTtcbiAgICAgIHJldHVybiBvYnNlcnZhYmxlT2YobmV3IEh0dHBSZXNwb25zZTxhbnk+KHtcbiAgICAgICAgYm9keTogcmVzcG9uc2UuYm9keSxcbiAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHJlc3BvbnNlLmhlYWRlcnMpLFxuICAgICAgICBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgc3RhdHVzVGV4dDogcmVzcG9uc2Uuc3RhdHVzVGV4dCxcbiAgICAgICAgdXJsOiByZXNwb25zZS51cmwsXG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJlcXVlc3Qgbm90IGZvdW5kIGluIGNhY2hlLiBNYWtlIHRoZSByZXF1ZXN0IGFuZCBjYWNoZSBpdC5cbiAgICAgIGNvbnN0IGh0dHBFdmVudCA9IG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICByZXR1cm4gaHR0cEV2ZW50XG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRhcCgoZXZlbnQ6IEh0dHBFdmVudDxhbnk+KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2ZlclN0YXRlLnNldChzdG9yZUtleSwge1xuICAgICAgICAgICAgICAgIGJvZHk6IGV2ZW50LmJvZHksXG4gICAgICAgICAgICAgICAgaGVhZGVyczogZ2V0SGVhZGVyc01hcChldmVudC5oZWFkZXJzKSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IGV2ZW50LnN0YXR1cyxcbiAgICAgICAgICAgICAgICBzdGF0dXNUZXh0OiBldmVudC5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICAgIHVybDogZXZlbnQudXJsISxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBOZ01vZHVsZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYFNlcnZlclRyYW5zZmVySHR0cENhY2hlTW9kdWxlYCB0byB0cmFuc2ZlciBjYWNoZWQgSFRUUFxuICogY2FsbHMgZnJvbSB0aGUgc2VydmVyIHRvIHRoZSBjbGllbnQgYXBwbGljYXRpb24uXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtCcm93c2VyVHJhbnNmZXJTdGF0ZU1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIFRyYW5zZmVySHR0cENhY2hlSW50ZXJjZXB0b3IsXG4gICAge3Byb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VFeGlzdGluZzogVHJhbnNmZXJIdHRwQ2FjaGVJbnRlcmNlcHRvciwgbXVsdGk6IHRydWV9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2Zlckh0dHBDYWNoZU1vZHVsZSB7fVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJfaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvY29tbW9uL3NyYy90cmFuc2Zlcl9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQ0wsaUJBQWlCLEVBR2pCLFdBQVcsRUFHWCxZQUFZLEVBRWIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixhQUFhLEVBQ2IsWUFBWSxFQUViLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFhLEVBQUUsSUFBSSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFVakQsdUJBQXVCLE9BQW9CO0lBQ3pDLElBQU0sVUFBVSxHQUErQixFQUFFLENBQUM7O1FBQ2xELEdBQUcsQ0FBQyxDQUFjLElBQUEsS0FBQSxTQUFBLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQSxnQkFBQTtZQUEzQixJQUFNLEdBQUcsV0FBQTtZQUNaLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBRSxDQUFDO1NBQ3hDOzs7Ozs7Ozs7SUFDRCxNQUFNLENBQUMsVUFBVSxDQUFDOztBQUNwQixDQUFDO0FBRUQ7SUFpQkUsc0NBQVksTUFBc0IsRUFBVSxhQUE0QjtRQUF4RSxpQkFTQztRQVQyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWRoRSxrQkFBYSxHQUFHLElBQUksQ0FBQztRQWUzQiwwRkFBMEY7UUFDMUYsWUFBWTtRQUNaLE1BQU0sQ0FBQyxRQUFRO2FBQ1osSUFBSSxDQUNI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SSxDQUFDLENBQUM7WUFDTiw2REFBNkQ7WUFDN0QsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsU0FBUztpQkFDYixJQUFJLENBQ0gsR0FBRyxDQUFDLFVBQUMsS0FBcUI7Z0JBQ3hCLEVBQUUsQ0FBQyxDQUFDLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUNsQyxLQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7d0JBQy9CLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTt3QkFDaEIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO3dCQUNyQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07d0JBQ3BCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTt3QkFDNUIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFJO3FCQUNoQixDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQzs7Z0JBdEVGLFVBQVU7Ozs7Z0JBMUJILGNBQWM7Z0JBR3BCLGFBQWE7O0lBOEZmLG1DQUFDO0NBQUEsQUF2RUQsSUF1RUM7U0F0RVksNEJBQTRCO0FBd0V6Qzs7O0dBR0c7QUFDSDtJQUFBO0lBT3NDLENBQUM7O2dCQVB0QyxRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDVCw0QkFBNEI7d0JBQzVCLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO3FCQUNyRjtpQkFDRjs7SUFDcUMsOEJBQUM7Q0FBQSxBQVB2QyxJQU91QztTQUExQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7XG4gIEhUVFBfSU5URVJDRVBUT1JTLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbiAgSHR0cFJlc3BvbnNlLFxuICBIdHRwUGFyYW1zXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7QXBwbGljYXRpb25SZWYsIEluamVjdGFibGUsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJyb3dzZXJUcmFuc2ZlclN0YXRlTW9kdWxlLFxuICBUcmFuc2ZlclN0YXRlLFxuICBtYWtlU3RhdGVLZXksXG4gIFN0YXRlS2V5XG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YXAsIHRha2UsIGZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZmVySHR0cFJlc3BvbnNlIHtcbiAgYm9keT86IGFueSB8IG51bGw7XG4gIGhlYWRlcnM/OiB7W2s6IHN0cmluZ106IHN0cmluZ1tdfTtcbiAgc3RhdHVzPzogbnVtYmVyO1xuICBzdGF0dXNUZXh0Pzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldEhlYWRlcnNNYXAoaGVhZGVyczogSHR0cEhlYWRlcnMpIHtcbiAgY29uc3QgaGVhZGVyc01hcDoge1tuYW1lOiBzdHJpbmddOiBzdHJpbmdbXX0gPSB7fTtcbiAgZm9yIChjb25zdCBrZXkgb2YgaGVhZGVycy5rZXlzKCkpIHtcbiAgICBoZWFkZXJzTWFwW2tleV0gPSBoZWFkZXJzLmdldEFsbChrZXkpITtcbiAgfVxuICByZXR1cm4gaGVhZGVyc01hcDtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyYW5zZmVySHR0cENhY2hlSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gIHByaXZhdGUgaXNDYWNoZUFjdGl2ZSA9IHRydWU7XG5cbiAgcHJpdmF0ZSBpbnZhbGlkYXRlQ2FjaGVFbnRyeSh1cmw6IHN0cmluZykge1xuICAgIE9iamVjdC5rZXlzKHRoaXMudHJhbnNmZXJTdGF0ZVsnc3RvcmUnXSlcbiAgICAgIC5mb3JFYWNoKGtleSA9PiBrZXkuaW5jbHVkZXModXJsKSA/IHRoaXMudHJhbnNmZXJTdGF0ZS5yZW1vdmUobWFrZVN0YXRlS2V5KGtleSkpIDogbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIG1ha2VDYWNoZUtleShtZXRob2Q6IHN0cmluZywgdXJsOiBzdHJpbmcsIHBhcmFtczogSHR0cFBhcmFtcyk6IFN0YXRlS2V5PHN0cmluZz4ge1xuICAgIC8vIG1ha2UgdGhlIHBhcmFtcyBlbmNvZGVkIHNhbWUgYXMgYSB1cmwgc28gaXQncyBlYXN5IHRvIGlkZW50aWZ5XG4gICAgY29uc3QgZW5jb2RlZFBhcmFtcyA9IHBhcmFtcy5rZXlzKCkuc29ydCgpLm1hcChrID0+IGAke2t9PSR7cGFyYW1zLmdldChrKX1gKS5qb2luKCcmJyk7XG4gICAgY29uc3Qga2V5ID0gKG1ldGhvZCA9PT0gJ0dFVCcgPyAnRy4nIDogJ0guJykgKyB1cmwgKyAnPycgKyBlbmNvZGVkUGFyYW1zO1xuICAgIHJldHVybiBtYWtlU3RhdGVLZXk8VHJhbnNmZXJIdHRwUmVzcG9uc2U+KGtleSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLCBwcml2YXRlIHRyYW5zZmVyU3RhdGU6IFRyYW5zZmVyU3RhdGUpIHtcbiAgICAvLyBTdG9wIHVzaW5nIHRoZSBjYWNoZSBpZiB0aGUgYXBwbGljYXRpb24gaGFzIHN0YWJpbGl6ZWQsIGluZGljYXRpbmcgaW5pdGlhbCByZW5kZXJpbmcgaXNcbiAgICAvLyBjb21wbGV0ZS5cbiAgICBhcHBSZWYuaXNTdGFibGVcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGlzU3RhYmxlOiBib29sZWFuKSA9PiBpc1N0YWJsZSksXG4gICAgICAgIHRha2UoMSlcbiAgICAgICkudG9Qcm9taXNlKClcbiAgICAgIC50aGVuKCgpID0+IHsgdGhpcy5pc0NhY2hlQWN0aXZlID0gZmFsc2U7IH0pO1xuICB9XG5cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgLy8gU3RvcCB1c2luZyB0aGUgY2FjaGUgaWYgdGhlcmUgaXMgYSBtdXRhdGluZyBjYWxsLlxuICAgIGlmIChyZXEubWV0aG9kICE9PSAnR0VUJyAmJiByZXEubWV0aG9kICE9PSAnSEVBRCcpIHtcbiAgICAgIHRoaXMuaXNDYWNoZUFjdGl2ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5pbnZhbGlkYXRlQ2FjaGVFbnRyeShyZXEudXJsKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNDYWNoZUFjdGl2ZSkge1xuICAgICAgLy8gQ2FjaGUgaXMgbm8gbG9uZ2VyIGFjdGl2ZS4gUGFzcyB0aGUgcmVxdWVzdCB0aHJvdWdoLlxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VDYWNoZUtleShyZXEubWV0aG9kLCByZXEudXJsLCByZXEucGFyYW1zKTtcblxuICAgIGlmICh0aGlzLnRyYW5zZmVyU3RhdGUuaGFzS2V5KHN0b3JlS2V5KSkge1xuICAgICAgLy8gUmVxdWVzdCBmb3VuZCBpbiBjYWNoZS4gUmVzcG9uZCB1c2luZyBpdC5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy50cmFuc2ZlclN0YXRlLmdldChzdG9yZUtleSwge30gYXMgVHJhbnNmZXJIdHRwUmVzcG9uc2UpO1xuICAgICAgcmV0dXJuIG9ic2VydmFibGVPZihuZXcgSHR0cFJlc3BvbnNlPGFueT4oe1xuICAgICAgICBib2R5OiByZXNwb25zZS5ib2R5LFxuICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMocmVzcG9uc2UuaGVhZGVycyksXG4gICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgICBzdGF0dXNUZXh0OiByZXNwb25zZS5zdGF0dXNUZXh0LFxuICAgICAgICB1cmw6IHJlc3BvbnNlLnVybCxcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVxdWVzdCBub3QgZm91bmQgaW4gY2FjaGUuIE1ha2UgdGhlIHJlcXVlc3QgYW5kIGNhY2hlIGl0LlxuICAgICAgY29uc3QgaHR0cEV2ZW50ID0gbmV4dC5oYW5kbGUocmVxKTtcbiAgICAgIHJldHVybiBodHRwRXZlbnRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xuICAgICAgICAgICAgICB0aGlzLnRyYW5zZmVyU3RhdGUuc2V0KHN0b3JlS2V5LCB7XG4gICAgICAgICAgICAgICAgYm9keTogZXZlbnQuYm9keSxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBnZXRIZWFkZXJzTWFwKGV2ZW50LmhlYWRlcnMpLFxuICAgICAgICAgICAgICAgIHN0YXR1czogZXZlbnQuc3RhdHVzLFxuICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ6IGV2ZW50LnN0YXR1c1RleHQsXG4gICAgICAgICAgICAgICAgdXJsOiBldmVudC51cmwhLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEFuIE5nTW9kdWxlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgU2VydmVyVHJhbnNmZXJIdHRwQ2FjaGVNb2R1bGVgIHRvIHRyYW5zZmVyIGNhY2hlZCBIVFRQXG4gKiBjYWxscyBmcm9tIHRoZSBzZXJ2ZXIgdG8gdGhlIGNsaWVudCBhcHBsaWNhdGlvbi5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0Jyb3dzZXJUcmFuc2ZlclN0YXRlTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgVHJhbnNmZXJIdHRwQ2FjaGVJbnRlcmNlcHRvcixcbiAgICB7cHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUV4aXN0aW5nOiBUcmFuc2Zlckh0dHBDYWNoZUludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZX0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zZmVySHR0cENhY2hlTW9kdWxlIHt9XG4iXX0= |
@@ -46,6 +46,18 @@ import { HTTP_INTERCEPTORS, HttpHeaders, HttpResponse } from '@angular/common/http'; | ||
invalidateCacheEntry(url) { | ||
this.transferState.remove(makeStateKey('G.' + url)); | ||
this.transferState.remove(makeStateKey('H.' + url)); | ||
Object.keys(this.transferState['store']) | ||
.forEach(key => key.includes(url) ? this.transferState.remove(makeStateKey(key)) : null); | ||
} | ||
/** | ||
* @param {?} method | ||
* @param {?} url | ||
* @param {?} params | ||
* @return {?} | ||
*/ | ||
makeCacheKey(method, url, params) { | ||
// make the params encoded same as a url so it's easy to identify | ||
const /** @type {?} */ encodedParams = params.keys().sort().map(k => `${k}=${params.get(k)}`).join('&'); | ||
const /** @type {?} */ key = (method === 'GET' ? 'G.' : 'H.') + url + '?' + encodedParams; | ||
return makeStateKey(key); | ||
} | ||
/** | ||
* @param {?} req | ||
@@ -65,4 +77,3 @@ * @param {?} next | ||
} | ||
const /** @type {?} */ key = (req.method === 'GET' ? 'G.' : 'H.') + req.url; | ||
const /** @type {?} */ storeKey = makeStateKey(key); | ||
const /** @type {?} */ storeKey = this.makeCacheKey(req.method, req.url, req.params); | ||
if (this.transferState.hasKey(storeKey)) { | ||
@@ -102,4 +113,4 @@ // Request found in cache. Respond using it. | ||
TransferHttpCacheInterceptor.ctorParameters = () => [ | ||
{ type: ApplicationRef, }, | ||
{ type: TransferState, }, | ||
{ type: ApplicationRef }, | ||
{ type: TransferState } | ||
]; | ||
@@ -165,3 +176,8 @@ /** | ||
*/ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes} checked by tsc | ||
*/ | ||
/** | ||
* @license | ||
@@ -178,3 +194,3 @@ * Copyright Google LLC All Rights Reserved. | ||
export { domContentLoadedFactory as ɵnguniversal_modules_common_common_b, TransferHttpCacheInterceptor as ɵnguniversal_modules_common_common_a, TransferHttpCacheModule, StateTransferInitializerModule }; | ||
export { domContentLoadedFactory as ɵnguniversal_modules_common_common_a, TransferHttpCacheModule, StateTransferInitializerModule, TransferHttpCacheInterceptor as ɵTransferHttpCacheInterceptor }; | ||
//# sourceMappingURL=common.js.map |
@@ -18,2 +18,9 @@ import { HTTP_INTERCEPTORS, HttpHeaders, HttpResponse } from '@angular/common/http'; | ||
}; | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
function getHeadersMap(headers) { | ||
@@ -24,3 +31,3 @@ var headersMap = {}; | ||
var key = _b.value; | ||
headersMap[key] = (headers.getAll(key)); | ||
headersMap[key] = headers.getAll(key); | ||
} | ||
@@ -50,5 +57,12 @@ } | ||
TransferHttpCacheInterceptor.prototype.invalidateCacheEntry = function (url) { | ||
this.transferState.remove(makeStateKey('G.' + url)); | ||
this.transferState.remove(makeStateKey('H.' + url)); | ||
var _this = this; | ||
Object.keys(this.transferState['store']) | ||
.forEach(function (key) { return key.includes(url) ? _this.transferState.remove(makeStateKey(key)) : null; }); | ||
}; | ||
TransferHttpCacheInterceptor.prototype.makeCacheKey = function (method, url, params) { | ||
// make the params encoded same as a url so it's easy to identify | ||
var encodedParams = params.keys().sort().map(function (k) { return k + "=" + params.get(k); }).join('&'); | ||
var key = (method === 'GET' ? 'G.' : 'H.') + url + '?' + encodedParams; | ||
return makeStateKey(key); | ||
}; | ||
TransferHttpCacheInterceptor.prototype.intercept = function (req, next) { | ||
@@ -65,4 +79,3 @@ var _this = this; | ||
} | ||
var key = (req.method === 'GET' ? 'G.' : 'H.') + req.url; | ||
var storeKey = makeStateKey(key); | ||
var storeKey = this.makeCacheKey(req.method, req.url, req.params); | ||
if (this.transferState.hasKey(storeKey)) { | ||
@@ -90,3 +103,3 @@ // Request found in cache. Respond using it. | ||
statusText: event.statusText, | ||
url: (event.url), | ||
url: event.url, | ||
}); | ||
@@ -102,4 +115,4 @@ } | ||
TransferHttpCacheInterceptor.ctorParameters = function () { return [ | ||
{ type: ApplicationRef, }, | ||
{ type: TransferState, }, | ||
{ type: ApplicationRef }, | ||
{ type: TransferState } | ||
]; }; | ||
@@ -135,11 +148,9 @@ return TransferHttpCacheInterceptor; | ||
function domContentLoadedFactory(doc) { | ||
return function () { | ||
return new Promise(function (resolve, _reject) { | ||
var contentLoaded = function () { | ||
doc.removeEventListener('DOMContentLoaded', contentLoaded); | ||
resolve(); | ||
}; | ||
doc.addEventListener('DOMContentLoaded', contentLoaded); | ||
}); | ||
}; | ||
return function () { return new Promise(function (resolve, _reject) { | ||
var contentLoaded = function () { | ||
doc.removeEventListener('DOMContentLoaded', contentLoaded); | ||
resolve(); | ||
}; | ||
doc.addEventListener('DOMContentLoaded', contentLoaded); | ||
}); }; | ||
} | ||
@@ -160,6 +171,30 @@ var StateTransferInitializerModule = /** @class */ (function () { | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
/** | ||
* @license | ||
* Copyright Google LLC All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://angular.io/license | ||
*/ | ||
/** | ||
* Generated bundle index. Do not edit. | ||
*/ | ||
export { domContentLoadedFactory as ɵnguniversal_modules_common_common_b, TransferHttpCacheInterceptor as ɵnguniversal_modules_common_common_a, TransferHttpCacheModule, StateTransferInitializerModule }; | ||
export { domContentLoadedFactory as ɵnguniversal_modules_common_common_a, TransferHttpCacheModule, StateTransferInitializerModule, TransferHttpCacheInterceptor as ɵTransferHttpCacheInterceptor }; | ||
//# sourceMappingURL=common.js.map |
{ | ||
"name": "@nguniversal/common", | ||
"version": "v6.0.0", | ||
"version": "v6.1.0", | ||
"description": "Angular Universal common utilities", | ||
@@ -39,2 +39,2 @@ "license": "MIT", | ||
"es2015": "./fesm2015/common.js" | ||
} | ||
} |
@@ -10,1 +10,2 @@ /** | ||
export { StateTransferInitializerModule } from './src/state-transfer-initializer/module'; | ||
export * from './private_api'; |
@@ -12,65 +12,2 @@ # Angular Universal Common Module | ||
`TransferHttpCacheModule` installs a Http interceptor that avoids duplicate `HttpClient` requests | ||
on the client, for requests that were already made when the application was rendered on the server | ||
side. | ||
When the module is installed in the application `NgModule`, it will intercept `HttpClient` requests | ||
on the server and store the response in the `TransferState` key-value store. This is transferred to the client, which then uses it to respond to the same `HttpClient` requests on the client. | ||
### Usage | ||
To use the `TransferHttpCacheModule`, first install it as part of the top-level App module. | ||
```ts | ||
import {TransferHttpCacheModule} from '@nguniversal/common'; | ||
@NgModule({ | ||
imports: [ | ||
BrowserModule.withServerTransition({appId: 'my-app'}), | ||
TransferHttpCacheModule, | ||
], | ||
bootstrap: [MyApp] | ||
}) | ||
export class AppBrowserModule() {} | ||
``` | ||
Then, import `ServerTransferStateModule` in your Server module. | ||
```ts | ||
import { NgModule } from "@angular/core"; | ||
import { | ||
ServerModule, | ||
ServerTransferStateModule | ||
} from "@angular/platform-server"; | ||
import { AppModule } from "./app.module"; | ||
import { AppComponent } from "./app.component"; | ||
@NgModule({ | ||
imports: [ | ||
AppModule, | ||
ServerModule, | ||
ServerTransferStateModule | ||
], | ||
bootstrap: [AppComponent] | ||
}) | ||
export class AppServerModule {} | ||
``` | ||
Finally, in `main.ts` change this: | ||
```ts | ||
... | ||
platformBrowserDynamic().bootstrapModule(AppBrowserModule); | ||
``` | ||
To this: | ||
```ts | ||
... | ||
document.addEventListener("DOMContentLoaded", () => { | ||
platformBrowserDynamic() | ||
.bootstrapModule(AppBrowserModule) | ||
.catch(err => console.log(err)); | ||
}); | ||
``` | ||
Moved to [/docs/transfer-http.md](https://github.com/angular/universal/tree/master/docs/transfer-http.md) |
@@ -25,2 +25,3 @@ /** | ||
private invalidateCacheEntry(url); | ||
private makeCacheKey(method, url, params); | ||
constructor(appRef: ApplicationRef, transferState: TransferState); | ||
@@ -27,0 +28,0 @@ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 2 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
256212
95
2498
2
12
8
2