@dealpos-npm/ng-dealpos-library 1.0.0 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -12,7 +12,7 @@ export class HttpService {
|
|
|
12
12
|
this.toastr = toastr;
|
|
13
13
|
this.router = router;
|
|
14
14
|
this.a = 0;
|
|
15
|
-
|
|
15
|
+
alert('This alert is from Angular Library installed in this project');
|
|
16
16
|
}
|
|
17
17
|
testToastr() {
|
|
18
18
|
this.toastr.success("1", "1");
|
|
@@ -93,6 +93,9 @@ export class HttpService {
|
|
|
93
93
|
return error$;
|
|
94
94
|
}));
|
|
95
95
|
}
|
|
96
|
+
getNews(url) {
|
|
97
|
+
return this.http.get(url);
|
|
98
|
+
}
|
|
96
99
|
/**
|
|
97
100
|
* METHOD POST
|
|
98
101
|
* This should cast the httpResponse to the data model we expect
|
|
@@ -343,4 +346,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
343
346
|
providedIn: 'root'
|
|
344
347
|
}]
|
|
345
348
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ToastrService }, { type: i3.Router }] });
|
|
346
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVhbHBvcy1ucG0vbmctZGVhbHBvcy1saWJyYXJ5L3NlcnZpY2VzL2h0dHAvc3JjL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBR0wsV0FBVyxHQUNaLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLckQsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFDVSxJQUFnQixFQUNoQixNQUFxQixFQUNyQixNQUFjO1FBRmQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFKeEIsTUFBQyxHQUFHLENBQUMsQ0FBQTtRQUtELE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtJQUFBLENBQUM7SUFDeEMsVUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBQ00sZUFBZSxDQUNwQixHQUFXLEVBQ1gsTUFBZSxFQUNmLE9BQWUsTUFBTTtRQUVyQixJQUFJLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxtQ0FBbUMsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSTtp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QUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixDQUFDO1lBQ0gsQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBallVLFdBQVc7a0hBQVgsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtcclxuICBIdHRwQ2xpZW50LFxyXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gIEh0dHBIZWFkZXJzLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSBcIm5neC10b2FzdHJcIjtcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGltZW91dCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEh0dHBTZXJ2aWNlIHtcclxuICBhID0gMFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7IGNvbnNvbGUubG9nKCdzdWNjZXMgdXBkYXRlIGZyb20gc2NyaXB0IDInKX1cclxuICBwdWJsaWMgdGVzdFRvYXN0cigpIHtcclxuICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3MoXCIxXCIsIFwiMVwiKVxyXG4gIH1cclxuICBwdWJsaWMgUG9zdFRvVXJsRW5jb2RlKFxyXG4gICAgdXJsOiBzdHJpbmcsXHJcbiAgICBwYXJhbXM/OiBzdHJpbmcsXHJcbiAgICB0aW1lOiBudW1iZXIgPSAxMDAwMDBcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldChcIkNvbnRlbnQtVHlwZVwiLCBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiKTtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgLnBvc3QodXJsLCBwYXJhbXMsIHsgaGVhZGVyczogaGVhZGVycyB9KVxyXG4gICAgICAgIC5waXBlKHRpbWVvdXQodGltZSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChkYXRhKTtcclxuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRUZXh0KHRpbWU6IG51bWJlciA9IDEwMDAwMCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBsZXQgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlRva2VuXCIpO1xyXG4gICAgbGV0IGh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgQXV0aG9yaXphdGlvbjogXCJCZWFyZXIgXCIgKyB0b2tlbixcclxuICAgIH0pO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgcmVzcG9uc2VUeXBlOiBcInRleHRcIiBhcyBcInRleHRcIiwgaGVhZGVyczogaHR0cEhlYWRlcnMgfTtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgLmdldChcIi9BUEkvVG9rZW4vR2V0WmVuZGVza0pXVFwiLCBvcHRpb25zKVxyXG4gICAgICAgIC5waXBlKHRpbWVvdXQodGltZSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChkYXRhKTtcclxuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBQT1NUZXh0KFxyXG4gICAgdXJsOiBzdHJpbmcsXHJcbiAgICBkYXRhPzogYW55LFxyXG4gICAgdGltZTogbnVtYmVyID0gMTAwMDAwXHJcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGxldCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiVG9rZW5cIik7XHJcbiAgICBsZXQgaHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgXCJDYWNoZS1Db250cm9sXCI6IFwibm8tY2FjaGVcIixcclxuICAgICAgQXV0aG9yaXphdGlvbjogXCJCZWFyZXIgXCIgKyB0b2tlbixcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7IHJlc3BvbnNlVHlwZTogXCJ0ZXh0XCIgYXMgXCJ0ZXh0XCIsIGhlYWRlcnM6IGh0dHBIZWFkZXJzIH07XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgIC5wb3N0KHVybCwgZGF0YSwgb3B0aW9ucylcclxuICAgICAgICAucGlwZSh0aW1lb3V0KHRpbWUpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXMpO1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHVybCBcclxuICAgKiBAcmV0dXJucyBcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0PFQ+KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICBsZXQgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlRva2VuXCIpO1xyXG4gICAgbGV0IGh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgIFwiQ2FjaGUtQ29udHJvbFwiOiBcIm5vLWNhY2hlXCIsXHJcbiAgICB9KTtcclxuICAgIGlmICh0b2tlbikge1xyXG4gICAgICBodHRwSGVhZGVycyA9IGh0dHBIZWFkZXJzLmFwcGVuZChcIkF1dGhvcml6YXRpb25cIiwgXCJCZWFyZXIgXCIgKyB0b2tlbik7XHJcbiAgICB9XHJcbiAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnMsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHVybCwgb3B0aW9ucylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xyXG4gICAgICAgICAgLy8gc2hvdyB0b2FzdHIgZXJyb3JcclxuICAgICAgICAgIGxldCBlcnJNZXNzYWdlID0gdGhpcy5lcnJvck1lc3NhZ2VIYW5kbGluZyhlcnIpO1xyXG4gICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoXHJcbiAgICAgICAgICAgIGVyck1lc3NhZ2UuTWVzc2FnZSAhPSBcIlwiID8gZXJyTWVzc2FnZS5NZXNzYWdlIDogXCJBbiB1bmtub3duIGVycm9yIGhhcyBvY2N1cmVkIVwiLFxyXG4gICAgICAgICAgICBlcnJNZXNzYWdlLmhlYWRlcik7XHJcbiAgICAgICAgICBsZXQgZXJyb3IkID0gb2YoJ2Vycm9yJywgZXJyKVxyXG4gICAgICAgICAgaWYgKGVyci5zdGF0dXMgPT0gNDAyKSB7XHJcbiAgICAgICAgICAgIGVycm9yJCA9IGZyb20odGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWVudS9Qcm9maWxlL01haW4vTXlfU3Vic2NyaXB0aW9uJ10pKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIGVycm9yJFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNRVRIT0QgUE9TVFxyXG4gICAqIFRoaXMgc2hvdWxkIGNhc3QgdGhlIGh0dHBSZXNwb25zZSB0byB0aGUgZGF0YSBtb2RlbCB3ZSBleHBlY3RcclxuICAgKiBAcGFyYW0gdXJsXHJcbiAgICogQHBhcmFtIGRhdGFcclxuICAgKiBAcGFyYW0gdGltZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHVibGljIHBvc3Q8VD4oXHJcbiAgICB1cmw6IHN0cmluZyxcclxuICAgIGRhdGE/OiBhbnksXHJcbiAgICB0aW1lOiBudW1iZXIgPSAxMDAwMDBcclxuICApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgbGV0IHRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJUb2tlblwiKTtcclxuICAgICAgbGV0IGh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICBcIkNhY2hlLUNvbnRyb2xcIjogXCJuby1jYWNoZVwiLFxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRva2VuKSB7XHJcbiAgICAgICAgaHR0cEhlYWRlcnMgPSBodHRwSGVhZGVycy5hcHBlbmQoXCJBdXRob3JpemF0aW9uXCIsIFwiQmVhcmVyIFwiICsgdG9rZW4pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBvcHRpb25zID0ge1xyXG4gICAgICAgIGhlYWRlcnM6IGh0dHBIZWFkZXJzLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgLnBvc3Q8VD4odXJsLCBkYXRhLCBvcHRpb25zKVxyXG4gICAgICAgIC5waXBlKHRpbWVvdXQodGltZSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzdWx0KTtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAvL3doZW4gUmVzcG9uc2UgaXMgbm90IGFwcGxpY2F0aW9uL2pzb24gZXg6IHNvbWUgQVBJIHJldHVybiB0ZXh0L2NzdlxyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZXJyLmVycm9yLnRleHQpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgbGV0IHVuYXV0aG9yaXplZCA9IHRoaXMudW5hdXRob3JpemVkRXJyb3JIYW5kbGluZyhlcnIpO1xyXG4gICAgICAgICAgICAgIGlmICghdW5hdXRob3JpemVkKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZXJyTWVzc2FnZSA9IHRoaXMuZXJyb3JNZXNzYWdlSGFuZGxpbmcoZXJyKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgICBlcnJNZXNzYWdlLk1lc3NhZ2UgIT0gXCJcIlxyXG4gICAgICAgICAgICAgICAgICAgID8gZXJyTWVzc2FnZS5NZXNzYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBcIkFuIHVua25vd24gZXJyb3IgaGFzIG9jY3VyZWQhXCIsXHJcbiAgICAgICAgICAgICAgICAgIGVyck1lc3NhZ2UuaGVhZGVyLCB7IGVuYWJsZUh0bWw6IHRydWUgfVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTUVUSE9EIFBVVFxyXG4gICAqIFRoaXMgc2hvdWxkIGNhc3QgdGhlIGh0dHBSZXNwb25zZSB0byB0aGUgZGF0YSBtb2RlbCB3ZSBleHBlY3RcclxuICAgKiBAcGFyYW0gdXJsXHJcbiAgICogQHBhcmFtIGRhdGFcclxuICAgKiBAcGFyYW0gdGltZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHVibGljIHB1dDxUPihcclxuICAgIHVybDogc3RyaW5nLFxyXG4gICAgZGF0YT86IGFueSxcclxuICAgIHRpbWU6IG51bWJlciA9IDEwMDAwMFxyXG4gICk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xyXG4gICAgICBsZXQgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlRva2VuXCIpO1xyXG4gICAgICBsZXQgaHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICAgIFwiQ2FjaGUtQ29udHJvbFwiOiBcIm5vLWNhY2hlXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAodG9rZW4pIHtcclxuICAgICAgICBodHRwSGVhZGVycyA9IGh0dHBIZWFkZXJzLmFwcGVuZChcIkF1dGhvcml6YXRpb25cIiwgXCJCZWFyZXIgXCIgKyB0b2tlbik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG9wdGlvbnMgPSB7XHJcbiAgICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnMsXHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLmh0dHBcclxuICAgICAgICAucHV0PFQ+KHVybCwgZGF0YSwgb3B0aW9ucylcclxuICAgICAgICAucGlwZSh0aW1lb3V0KHRpbWUpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3VsdCk7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgLy93aGVuIFJlc3BvbnNlIGlzIG5vdCBhcHBsaWNhdGlvbi9qc29uIGV4OiBzb21lIEFQSSByZXR1cm4gdGV4dC9jc3ZcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGVyci5lcnJvci50ZXh0KTtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGxldCB1bmF1dGhvcml6ZWQgPSB0aGlzLnVuYXV0aG9yaXplZEVycm9ySGFuZGxpbmcoZXJyKTtcclxuICAgICAgICAgICAgICBpZiAoIXVuYXV0aG9yaXplZCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGVyck1lc3NhZ2UgPSB0aGlzLmVycm9yTWVzc2FnZUhhbmRsaW5nKGVycik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihcclxuICAgICAgICAgICAgICAgICAgZXJyTWVzc2FnZS5NZXNzYWdlICE9IFwiXCJcclxuICAgICAgICAgICAgICAgICAgICA/IGVyck1lc3NhZ2UuTWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogXCJBbiB1bmtub3duIGVycm9yIGhhcyBvY2N1cmVkIVwiLFxyXG4gICAgICAgICAgICAgICAgICBlcnJNZXNzYWdlLmhlYWRlclxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTUVUSE9EIERFTEVURVxyXG4gICAqIFRoaXMgc2hvdWxkIGNhc3QgdGhlIGh0dHBSZXNwb25zZSB0byB0aGUgZGF0YSBtb2RlbCB3ZSBleHBlY3RcclxuICAgKiBAcGFyYW0gdXJsXHJcbiAgICogQHBhcmFtIGRhdGFcclxuICAgKiBAcGFyYW0gdGltZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHVibGljIGRlbGV0ZTxUPihcclxuICAgIHVybDogc3RyaW5nLFxyXG4gICAgZGF0YT86IGFueSxcclxuICAgIHRpbWU6IG51bWJlciA9IDEwMDAwMFxyXG4gICk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xyXG4gICAgICBsZXQgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlRva2VuXCIpO1xyXG4gICAgICBsZXQgaHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICAgIFwiQ2FjaGUtQ29udHJvbFwiOiBcIm5vLWNhY2hlXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAodG9rZW4pIHtcclxuICAgICAgICBodHRwSGVhZGVycyA9IGh0dHBIZWFkZXJzLmFwcGVuZChcIkF1dGhvcml6YXRpb25cIiwgXCJCZWFyZXIgXCIgKyB0b2tlbik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG9wdGlvbnMgPSB7XHJcbiAgICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnMsXHJcbiAgICAgICAgYm9keTogZGF0YVxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgLmRlbGV0ZTxUPih1cmwsIG9wdGlvbnMpXHJcbiAgICAgICAgLnBpcGUodGltZW91dCh0aW1lKSlcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID09IDIwMCkge1xyXG4gICAgICAgICAgICAgIC8vd2hlbiBSZXNwb25zZSBpcyBub3QgYXBwbGljYXRpb24vanNvbiBleDogc29tZSBBUEkgcmV0dXJuIHRleHQvY3N2XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChlcnIuZXJyb3IudGV4dCk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBsZXQgdW5hdXRob3JpemVkID0gdGhpcy51bmF1dGhvcml6ZWRFcnJvckhhbmRsaW5nKGVycik7XHJcbiAgICAgICAgICAgICAgaWYgKCF1bmF1dGhvcml6ZWQpIHtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJNZXNzYWdlID0gdGhpcy5lcnJvck1lc3NhZ2VIYW5kbGluZyhlcnIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgIGVyck1lc3NhZ2UuTWVzc2FnZSAhPSBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgPyBlcnJNZXNzYWdlLk1lc3NhZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IFwiQW4gdW5rbm93biBlcnJvciBoYXMgb2NjdXJlZCFcIixcclxuICAgICAgICAgICAgICAgICAgZXJyTWVzc2FnZS5oZWFkZXJcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5hdXRob3JpemVkRXJyb3JIYW5kbGluZyhlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICBsZXQgcmV0VmFsID0gZmFsc2U7XHJcbiAgICBpZiAoZXJyLnN0YXR1cyA9PSA0MDEgfHwgZXJyLnN0YXR1cyA9PSA0MDMpIHtcclxuICAgICAgLy9VbmF1dGhvcml6ZWQgRXJyb3IgSGFuZGxpbmdcclxuICAgICAgbGV0IHRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJUb2tlblwiKTtcclxuICAgICAgaWYgKHRva2VuKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21lbnUvVW5hdXRob3JpemVkL01haW4vVW5hdXRob3JpemVkXCJdKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvL3JlZGlyZWN0IHRvIExvZ2luIHBhZ2UgaWYgdGhlcmUgaXMgbm8gSldUIFRPS0VOIGF2YWlsYWJsZVxyXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gXCIvXCI7XHJcbiAgICAgIH1cclxuICAgICAgcmV0VmFsID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXRWYWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVycm9yTWVzc2FnZUhhbmRsaW5nKGVycjogYW55KTogeyBNZXNzYWdlOiBzdHJpbmc7IGhlYWRlcjogc3RyaW5nIH0ge1xyXG4gICAgbGV0IGhlYWRlciA9IFwiQVBJIEVycm9yXCI7XHJcbiAgICBsZXQgbWVzc2FnZSA9IFwiRXhjZXB0aW9uIE1lc3NhZ2VcIjtcclxuICAgIGlmIChlcnIuZXJyb3IpIHtcclxuICAgICAgLy9IYW5kbGUgNFhYIGVycm9yIGFuZCA1WFggRXJyb3JcclxuICAgICAgaGVhZGVyID0gXCJBUEkgRXJyb3IgLSBcIiArIGVyci5zdGF0dXM7XHJcbiAgICAgIGlmIChlcnIuc3RhdHVzID09IDQ1MSkge1xyXG4gICAgICAgIGhlYWRlciA9IFwiRXJyb3JcIjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGVyci5lcnJvcikge1xyXG4gICAgICAgIG1lc3NhZ2UgPSBlcnIuZXJyb3IuTWVzc2FnZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGVyci5NZXNzYWdlKSB7XHJcbiAgICAgICAgLy9IYW5kbGUgdGltZW91dCBzY2VuYXJpbyB3ZSBkbyBub3QgcmVjZWl2ZSBIVFRQIFN0YXR1c0NvZGVcclxuICAgICAgICBoZWFkZXIgPSBcIkFQSSBFcnJvciAtIFwiICsgZXJyLm5hbWU7XHJcbiAgICAgICAgbWVzc2FnZSA9IGVyci5NZXNzYWdlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4geyBoZWFkZXI6IGhlYWRlciwgTWVzc2FnZTogbWVzc2FnZSB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBvc3RGb3JtRGF0YVdpdGhvdXRCZWFyZXIoXHJcbiAgICB1cmw6IHN0cmluZyxcclxuICAgIGRhdGE6IEZvcm1EYXRhXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgLnBvc3Q8YW55Pih1cmwsIGRhdGEpXHJcbiAgICAgICAgLnBpcGUodGltZW91dCgxMDAwMDApKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChkYXRhKTtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PSAyMDApIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGVyci5lcnJvci50ZXh0KTtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcG9zdEZvcm1EYXRhKFxyXG4gICAgdXJsOiBzdHJpbmcsXHJcbiAgICBkYXRhOiBGb3JtRGF0YSxcclxuICAgIHNob3dUb2FzdHI6IGJvb2xlYW4gPSB0cnVlXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgbGV0IHRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJUb2tlblwiKTtcclxuICAgICAgbGV0IGh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICBBdXRob3JpemF0aW9uOiBcIkJlYXJlciBcIiArIHRva2VuLFxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IG9wdGlvbnMgPSB7XHJcbiAgICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnMsXHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLmh0dHBcclxuICAgICAgICAucG9zdDxhbnk+KHVybCwgZGF0YSwgb3B0aW9ucylcclxuICAgICAgICAucGlwZSh0aW1lb3V0KDEwMDAwMCkpXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZGF0YSk7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgICAvL0V4Y2VwdGlvbiBIYW5kbGluZ1xyXG5cclxuICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgLy93aGVuIFJlc3BvbnNlIGlzIG5vdCBhcHBsaWNhdGlvbi9qc29uIGV4OiBzb21lIEFQSSByZXR1cm4gdGV4dC9jc3ZcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGVyci5lcnJvci50ZXh0KTtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGxldCB1bmF1dGhvcml6ZWQgPSB0aGlzLnVuYXV0aG9yaXplZEVycm9ySGFuZGxpbmcoZXJyKTtcclxuICAgICAgICAgICAgICBpZiAoIXVuYXV0aG9yaXplZCAmJiBzaG93VG9hc3RyKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZXJyTWVzc2FnZSA9IHRoaXMuZXJyb3JNZXNzYWdlSGFuZGxpbmcoZXJyKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgICBlcnJNZXNzYWdlLk1lc3NhZ2UgIT0gXCJcIlxyXG4gICAgICAgICAgICAgICAgICAgID8gZXJyTWVzc2FnZS5NZXNzYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBcIkFuIHVua25vd24gZXJyb3IgaGFzIG9jY3VyZWQhXCIsXHJcbiAgICAgICAgICAgICAgICAgIGVyck1lc3NhZ2UuaGVhZGVyXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
349
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVhbHBvcy1ucG0vbmctZGVhbHBvcy1saWJyYXJ5L3NlcnZpY2VzL2h0dHAvc3JjL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBR0wsV0FBVyxHQUNaLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLckQsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFDVSxJQUFnQixFQUNoQixNQUFxQixFQUNyQixNQUFjO1FBRmQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFKeEIsTUFBQyxHQUFHLENBQUMsQ0FBQTtRQU1ILEtBQUssQ0FBQyw4REFBOEQsQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7SUFDTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFDTSxlQUFlLENBQ3BCLEdBQVcsRUFDWCxNQUFlLEVBQ2YsT0FBZSxNQUFNO1FBRXJCLElBQUksT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLG1DQUFtQyxDQUFDLENBQUM7UUFDM0UsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxJQUFJO2lCQUNOLElBQUks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Q0FBQywrQkFBK0IsRUFDbkMsVUFBVSxDQUFDLE1BQU0sQ0FDbEIsQ0FBQztvQkFDSixDQUFDO29CQUVELFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLENBQUM7WUFDSCxDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FyWVUsV0FBVztrSEFBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1xyXG4gIEh0dHBDbGllbnQsXHJcbiAgSHR0cEVycm9yUmVzcG9uc2UsXHJcbiAgSHR0cEhlYWRlcnMsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tIFwibmd4LXRvYXN0clwiO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0aW1lb3V0IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cFNlcnZpY2Uge1xyXG4gIGEgPSAwXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIGFsZXJ0KCdUaGlzIGFsZXJ0IGlzIGZyb20gQW5ndWxhciBMaWJyYXJ5IGluc3RhbGxlZCBpbiB0aGlzIHByb2plY3QnKVxyXG4gIH1cclxuICBwdWJsaWMgdGVzdFRvYXN0cigpIHtcclxuICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3MoXCIxXCIsIFwiMVwiKVxyXG4gIH1cclxuICBwdWJsaWMgUG9zdFRvVXJsRW5jb2RlKFxyXG4gICAgdXJsOiBzdHJpbmcsXHJcbiAgICBwYXJhbXM/OiBzdHJpbmcsXHJcbiAgICB0aW1lOiBudW1iZXIgPSAxMDAwMDBcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldChcIkNvbnRlbnQtVHlwZVwiLCBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiKTtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgLnBvc3QodXJsLCBwYXJhbXMsIHsgaGVhZGVyczogaGVhZGVycyB9KVxyXG4gICAgICAgIC5waXBlKHRpbWVvdXQodGltZSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChkYXRhKTtcclxuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRUZXh0KHRpbWU6IG51bWJlciA9IDEwMDAwMCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBsZXQgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlRva2VuXCIpO1xyXG4gICAgbGV0IGh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgQXV0aG9yaXphdGlvbjogXCJCZWFyZXIgXCIgKyB0b2tlbixcclxuICAgIH0pO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgcmVzcG9uc2VUeXBlOiBcInRleHRcIiBhcyBcInRleHRcIiwgaGVhZGVyczogaHR0cEhlYWRlcnMgfTtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgLmdldChcIi9BUEkvVG9rZW4vR2V0WmVuZGVza0pXVFwiLCBvcHRpb25zKVxyXG4gICAgICAgIC5waXBlKHRpbWVvdXQodGltZSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChkYXRhKTtcclxuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBQT1NUZXh0KFxyXG4gICAgdXJsOiBzdHJpbmcsXHJcbiAgICBkYXRhPzogYW55LFxyXG4gICAgdGltZTogbnVtYmVyID0gMTAwMDAwXHJcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGxldCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiVG9rZW5cIik7XHJcbiAgICBsZXQgaHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgXCJDYWNoZS1Db250cm9sXCI6IFwibm8tY2FjaGVcIixcclxuICAgICAgQXV0aG9yaXphdGlvbjogXCJCZWFyZXIgXCIgKyB0b2tlbixcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7IHJlc3BvbnNlVHlwZTogXCJ0ZXh0XCIgYXMgXCJ0ZXh0XCIsIGhlYWRlcnM6IGh0dHBIZWFkZXJzIH07XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgIC5wb3N0KHVybCwgZGF0YSwgb3B0aW9ucylcclxuICAgICAgICAucGlwZSh0aW1lb3V0KHRpbWUpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXMpO1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHVybCBcclxuICAgKiBAcmV0dXJucyBcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0PFQ+KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICBsZXQgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlRva2VuXCIpO1xyXG4gICAgbGV0IGh0dHBIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgIFwiQ2FjaGUtQ29udHJvbFwiOiBcIm5vLWNhY2hlXCIsXHJcbiAgICB9KTtcclxuICAgIGlmICh0b2tlbikge1xyXG4gICAgICBodHRwSGVhZGVycyA9IGh0dHBIZWFkZXJzLmFwcGVuZChcIkF1dGhvcml6YXRpb25cIiwgXCJCZWFyZXIgXCIgKyB0b2tlbik7XHJcbiAgICB9XHJcbiAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnMsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHVybCwgb3B0aW9ucylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xyXG4gICAgICAgICAgLy8gc2hvdyB0b2FzdHIgZXJyb3JcclxuICAgICAgICAgIGxldCBlcnJNZXNzYWdlID0gdGhpcy5lcnJvck1lc3NhZ2VIYW5kbGluZyhlcnIpO1xyXG4gICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoXHJcbiAgICAgICAgICAgIGVyck1lc3NhZ2UuTWVzc2FnZSAhPSBcIlwiID8gZXJyTWVzc2FnZS5NZXNzYWdlIDogXCJBbiB1bmtub3duIGVycm9yIGhhcyBvY2N1cmVkIVwiLFxyXG4gICAgICAgICAgICBlcnJNZXNzYWdlLmhlYWRlcik7XHJcbiAgICAgICAgICBsZXQgZXJyb3IkID0gb2YoJ2Vycm9yJywgZXJyKVxyXG4gICAgICAgICAgaWYgKGVyci5zdGF0dXMgPT0gNDAyKSB7XHJcbiAgICAgICAgICAgIGVycm9yJCA9IGZyb20odGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWVudS9Qcm9maWxlL01haW4vTXlfU3Vic2NyaXB0aW9uJ10pKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIGVycm9yJFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXROZXdzPFQ+KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih1cmwpXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE1FVEhPRCBQT1NUXHJcbiAgICogVGhpcyBzaG91bGQgY2FzdCB0aGUgaHR0cFJlc3BvbnNlIHRvIHRoZSBkYXRhIG1vZGVsIHdlIGV4cGVjdFxyXG4gICAqIEBwYXJhbSB1cmxcclxuICAgKiBAcGFyYW0gZGF0YVxyXG4gICAqIEBwYXJhbSB0aW1lXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwdWJsaWMgcG9zdDxUPihcclxuICAgIHVybDogc3RyaW5nLFxyXG4gICAgZGF0YT86IGFueSxcclxuICAgIHRpbWU6IG51bWJlciA9IDEwMDAwMFxyXG4gICk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xyXG4gICAgICBsZXQgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlRva2VuXCIpO1xyXG4gICAgICBsZXQgaHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICAgIFwiQ2FjaGUtQ29udHJvbFwiOiBcIm5vLWNhY2hlXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAodG9rZW4pIHtcclxuICAgICAgICBodHRwSGVhZGVycyA9IGh0dHBIZWFkZXJzLmFwcGVuZChcIkF1dGhvcml6YXRpb25cIiwgXCJCZWFyZXIgXCIgKyB0b2tlbik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG9wdGlvbnMgPSB7XHJcbiAgICAgICAgaGVhZGVyczogaHR0cEhlYWRlcnMsXHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLmh0dHBcclxuICAgICAgICAucG9zdDxUPih1cmwsIGRhdGEsIG9wdGlvbnMpXHJcbiAgICAgICAgLnBpcGUodGltZW91dCh0aW1lKSlcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXN1bHQpO1xyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID09IDIwMCkge1xyXG4gICAgICAgICAgICAgIC8vd2hlbiBSZXNwb25zZSBpcyBub3QgYXBwbGljYXRpb24vanNvbiBleDogc29tZSBBUEkgcmV0dXJuIHRleHQvY3N2XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChlcnIuZXJyb3IudGV4dCk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBsZXQgdW5hdXRob3JpemVkID0gdGhpcy51bmF1dGhvcml6ZWRFcnJvckhhbmRsaW5nKGVycik7XHJcbiAgICAgICAgICAgICAgaWYgKCF1bmF1dGhvcml6ZWQpIHtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJNZXNzYWdlID0gdGhpcy5lcnJvck1lc3NhZ2VIYW5kbGluZyhlcnIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgIGVyck1lc3NhZ2UuTWVzc2FnZSAhPSBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgPyBlcnJNZXNzYWdlLk1lc3NhZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IFwiQW4gdW5rbm93biBlcnJvciBoYXMgb2NjdXJlZCFcIixcclxuICAgICAgICAgICAgICAgICAgZXJyTWVzc2FnZS5oZWFkZXIsIHsgZW5hYmxlSHRtbDogdHJ1ZSB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNRVRIT0QgUFVUXHJcbiAgICogVGhpcyBzaG91bGQgY2FzdCB0aGUgaHR0cFJlc3BvbnNlIHRvIHRoZSBkYXRhIG1vZGVsIHdlIGV4cGVjdFxyXG4gICAqIEBwYXJhbSB1cmxcclxuICAgKiBAcGFyYW0gZGF0YVxyXG4gICAqIEBwYXJhbSB0aW1lXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwdWJsaWMgcHV0PFQ+KFxyXG4gICAgdXJsOiBzdHJpbmcsXHJcbiAgICBkYXRhPzogYW55LFxyXG4gICAgdGltZTogbnVtYmVyID0gMTAwMDAwXHJcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIGxldCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiVG9rZW5cIik7XHJcbiAgICAgIGxldCBodHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgXCJDYWNoZS1Db250cm9sXCI6IFwibm8tY2FjaGVcIixcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICh0b2tlbikge1xyXG4gICAgICAgIGh0dHBIZWFkZXJzID0gaHR0cEhlYWRlcnMuYXBwZW5kKFwiQXV0aG9yaXphdGlvblwiLCBcIkJlYXJlciBcIiArIHRva2VuKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgICBoZWFkZXJzOiBodHRwSGVhZGVycyxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgIC5wdXQ8VD4odXJsLCBkYXRhLCBvcHRpb25zKVxyXG4gICAgICAgIC5waXBlKHRpbWVvdXQodGltZSkpXHJcbiAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzdWx0KTtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAvL3doZW4gUmVzcG9uc2UgaXMgbm90IGFwcGxpY2F0aW9uL2pzb24gZXg6IHNvbWUgQVBJIHJldHVybiB0ZXh0L2NzdlxyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZXJyLmVycm9yLnRleHQpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgbGV0IHVuYXV0aG9yaXplZCA9IHRoaXMudW5hdXRob3JpemVkRXJyb3JIYW5kbGluZyhlcnIpO1xyXG4gICAgICAgICAgICAgIGlmICghdW5hdXRob3JpemVkKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZXJyTWVzc2FnZSA9IHRoaXMuZXJyb3JNZXNzYWdlSGFuZGxpbmcoZXJyKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgICBlcnJNZXNzYWdlLk1lc3NhZ2UgIT0gXCJcIlxyXG4gICAgICAgICAgICAgICAgICAgID8gZXJyTWVzc2FnZS5NZXNzYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBcIkFuIHVua25vd24gZXJyb3IgaGFzIG9jY3VyZWQhXCIsXHJcbiAgICAgICAgICAgICAgICAgIGVyck1lc3NhZ2UuaGVhZGVyXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNRVRIT0QgREVMRVRFXHJcbiAgICogVGhpcyBzaG91bGQgY2FzdCB0aGUgaHR0cFJlc3BvbnNlIHRvIHRoZSBkYXRhIG1vZGVsIHdlIGV4cGVjdFxyXG4gICAqIEBwYXJhbSB1cmxcclxuICAgKiBAcGFyYW0gZGF0YVxyXG4gICAqIEBwYXJhbSB0aW1lXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwdWJsaWMgZGVsZXRlPFQ+KFxyXG4gICAgdXJsOiBzdHJpbmcsXHJcbiAgICBkYXRhPzogYW55LFxyXG4gICAgdGltZTogbnVtYmVyID0gMTAwMDAwXHJcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIGxldCB0b2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiVG9rZW5cIik7XHJcbiAgICAgIGxldCBodHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgXCJDYWNoZS1Db250cm9sXCI6IFwibm8tY2FjaGVcIixcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICh0b2tlbikge1xyXG4gICAgICAgIGh0dHBIZWFkZXJzID0gaHR0cEhlYWRlcnMuYXBwZW5kKFwiQXV0aG9yaXphdGlvblwiLCBcIkJlYXJlciBcIiArIHRva2VuKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgICBoZWFkZXJzOiBodHRwSGVhZGVycyxcclxuICAgICAgICBib2R5OiBkYXRhXHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLmh0dHBcclxuICAgICAgICAuZGVsZXRlPFQ+KHVybCwgb3B0aW9ucylcclxuICAgICAgICAucGlwZSh0aW1lb3V0KHRpbWUpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3VsdCk7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgLy93aGVuIFJlc3BvbnNlIGlzIG5vdCBhcHBsaWNhdGlvbi9qc29uIGV4OiBzb21lIEFQSSByZXR1cm4gdGV4dC9jc3ZcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGVyci5lcnJvci50ZXh0KTtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGxldCB1bmF1dGhvcml6ZWQgPSB0aGlzLnVuYXV0aG9yaXplZEVycm9ySGFuZGxpbmcoZXJyKTtcclxuICAgICAgICAgICAgICBpZiAoIXVuYXV0aG9yaXplZCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGVyck1lc3NhZ2UgPSB0aGlzLmVycm9yTWVzc2FnZUhhbmRsaW5nKGVycik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihcclxuICAgICAgICAgICAgICAgICAgZXJyTWVzc2FnZS5NZXNzYWdlICE9IFwiXCJcclxuICAgICAgICAgICAgICAgICAgICA/IGVyck1lc3NhZ2UuTWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogXCJBbiB1bmtub3duIGVycm9yIGhhcyBvY2N1cmVkIVwiLFxyXG4gICAgICAgICAgICAgICAgICBlcnJNZXNzYWdlLmhlYWRlclxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1bmF1dGhvcml6ZWRFcnJvckhhbmRsaW5nKGVycjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGxldCByZXRWYWwgPSBmYWxzZTtcclxuICAgIGlmIChlcnIuc3RhdHVzID09IDQwMSB8fCBlcnIuc3RhdHVzID09IDQwMykge1xyXG4gICAgICAvL1VuYXV0aG9yaXplZCBFcnJvciBIYW5kbGluZ1xyXG4gICAgICBsZXQgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlRva2VuXCIpO1xyXG4gICAgICBpZiAodG9rZW4pIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWVudS9VbmF1dGhvcml6ZWQvTWFpbi9VbmF1dGhvcml6ZWRcIl0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vcmVkaXJlY3QgdG8gTG9naW4gcGFnZSBpZiB0aGVyZSBpcyBubyBKV1QgVE9LRU4gYXZhaWxhYmxlXHJcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBcIi9cIjtcclxuICAgICAgfVxyXG4gICAgICByZXRWYWwgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJldFZhbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXJyb3JNZXNzYWdlSGFuZGxpbmcoZXJyOiBhbnkpOiB7IE1lc3NhZ2U6IHN0cmluZzsgaGVhZGVyOiBzdHJpbmcgfSB7XHJcbiAgICBsZXQgaGVhZGVyID0gXCJBUEkgRXJyb3JcIjtcclxuICAgIGxldCBtZXNzYWdlID0gXCJFeGNlcHRpb24gTWVzc2FnZVwiO1xyXG4gICAgaWYgKGVyci5lcnJvcikge1xyXG4gICAgICAvL0hhbmRsZSA0WFggZXJyb3IgYW5kIDVYWCBFcnJvclxyXG4gICAgICBoZWFkZXIgPSBcIkFQSSBFcnJvciAtIFwiICsgZXJyLnN0YXR1cztcclxuICAgICAgaWYgKGVyci5zdGF0dXMgPT0gNDUxKSB7XHJcbiAgICAgICAgaGVhZGVyID0gXCJFcnJvclwiO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZXJyLmVycm9yKSB7XHJcbiAgICAgICAgbWVzc2FnZSA9IGVyci5lcnJvci5NZXNzYWdlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoZXJyLk1lc3NhZ2UpIHtcclxuICAgICAgICAvL0hhbmRsZSB0aW1lb3V0IHNjZW5hcmlvIHdlIGRvIG5vdCByZWNlaXZlIEhUVFAgU3RhdHVzQ29kZVxyXG4gICAgICAgIGhlYWRlciA9IFwiQVBJIEVycm9yIC0gXCIgKyBlcnIubmFtZTtcclxuICAgICAgICBtZXNzYWdlID0gZXJyLk1lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB7IGhlYWRlcjogaGVhZGVyLCBNZXNzYWdlOiBtZXNzYWdlIH07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcG9zdEZvcm1EYXRhV2l0aG91dEJlYXJlcihcclxuICAgIHVybDogc3RyaW5nLFxyXG4gICAgZGF0YTogRm9ybURhdGFcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xyXG4gICAgICB0aGlzLmh0dHBcclxuICAgICAgICAucG9zdDxhbnk+KHVybCwgZGF0YSlcclxuICAgICAgICAucGlwZSh0aW1lb3V0KDEwMDAwMCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KGRhdGEpO1xyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID09IDIwMCkge1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZXJyLmVycm9yLnRleHQpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwb3N0Rm9ybURhdGEoXHJcbiAgICB1cmw6IHN0cmluZyxcclxuICAgIGRhdGE6IEZvcm1EYXRhLFxyXG4gICAgc2hvd1RvYXN0cjogYm9vbGVhbiA9IHRydWVcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xyXG4gICAgICBsZXQgdG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlRva2VuXCIpO1xyXG4gICAgICBsZXQgaHR0cEhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgIEF1dGhvcml6YXRpb246IFwiQmVhcmVyIFwiICsgdG9rZW4sXHJcbiAgICAgIH0pO1xyXG4gICAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgICBoZWFkZXJzOiBodHRwSGVhZGVycyxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgIC5wb3N0PGFueT4odXJsLCBkYXRhLCBvcHRpb25zKVxyXG4gICAgICAgIC5waXBlKHRpbWVvdXQoMTAwMDAwKSlcclxuICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChkYXRhKTtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIC8vRXhjZXB0aW9uIEhhbmRsaW5nXHJcblxyXG4gICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAvL3doZW4gUmVzcG9uc2UgaXMgbm90IGFwcGxpY2F0aW9uL2pzb24gZXg6IHNvbWUgQVBJIHJldHVybiB0ZXh0L2NzdlxyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZXJyLmVycm9yLnRleHQpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgbGV0IHVuYXV0aG9yaXplZCA9IHRoaXMudW5hdXRob3JpemVkRXJyb3JIYW5kbGluZyhlcnIpO1xyXG4gICAgICAgICAgICAgIGlmICghdW5hdXRob3JpemVkICYmIHNob3dUb2FzdHIpIHtcclxuICAgICAgICAgICAgICAgIGxldCBlcnJNZXNzYWdlID0gdGhpcy5lcnJvck1lc3NhZ2VIYW5kbGluZyhlcnIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgIGVyck1lc3NhZ2UuTWVzc2FnZSAhPSBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgPyBlcnJNZXNzYWdlLk1lc3NhZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IFwiQW4gdW5rbm93biBlcnJvciBoYXMgb2NjdXJlZCFcIixcclxuICAgICAgICAgICAgICAgICAgZXJyTWVzc2FnZS5oZWFkZXJcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -13,7 +13,7 @@ class HttpService {
|
|
|
13
13
|
this.toastr = toastr;
|
|
14
14
|
this.router = router;
|
|
15
15
|
this.a = 0;
|
|
16
|
-
|
|
16
|
+
alert('This alert is from Angular Library installed in this project');
|
|
17
17
|
}
|
|
18
18
|
testToastr() {
|
|
19
19
|
this.toastr.success("1", "1");
|
|
@@ -94,6 +94,9 @@ class HttpService {
|
|
|
94
94
|
return error$;
|
|
95
95
|
}));
|
|
96
96
|
}
|
|
97
|
+
getNews(url) {
|
|
98
|
+
return this.http.get(url);
|
|
99
|
+
}
|
|
97
100
|
/**
|
|
98
101
|
* METHOD POST
|
|
99
102
|
* This should cast the httpResponse to the data model we expect
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dealpos-npm-ng-dealpos-library-services-http.mjs","sources":["../../../projects/dealpos-npm/ng-dealpos-library/services/http/src/http.service.ts","../../../projects/dealpos-npm/ng-dealpos-library/services/http/dealpos-npm-ng-dealpos-library-services-http.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\r\nimport { Observable, from, of } from \"rxjs\";\r\nimport {\r\n HttpClient,\r\n HttpErrorResponse,\r\n HttpHeaders,\r\n} from \"@angular/common/http\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { catchError, timeout } from \"rxjs/operators\";\r\nimport { Router } from \"@angular/router\";\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HttpService {\r\n a = 0\r\n constructor(\r\n private http: HttpClient,\r\n private toastr: ToastrService,\r\n private router: Router\r\n ) { console.log('succes update from script 2')}\r\n public testToastr() {\r\n this.toastr.success(\"1\", \"1\")\r\n }\r\n public PostToUrlEncode(\r\n url: string,\r\n params?: string,\r\n time: number = 100000\r\n ): Observable<any> {\r\n let headers = new HttpHeaders();\r\n headers = headers.set(\"Content-Type\", \"application/x-www-form-urlencoded\");\r\n return new Observable((observer) => {\r\n this.http\r\n .post(url, params, { headers: headers })\r\n .pipe(timeout(time))\r\n .subscribe((data) => {\r\n observer.next(data);\r\n observer.complete();\r\n });\r\n });\r\n }\r\n\r\n public GetText(time: number = 100000): Observable<string> {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n Authorization: \"Bearer \" + token,\r\n });\r\n const options = { responseType: \"text\" as \"text\", headers: httpHeaders };\r\n return new Observable((observer) => {\r\n this.http\r\n .get(\"/API/Token/GetZendeskJWT\", options)\r\n .pipe(timeout(time))\r\n .subscribe((data) => {\r\n observer.next(data);\r\n observer.complete();\r\n });\r\n });\r\n }\r\n\r\n public POSText(\r\n url: string,\r\n data?: any,\r\n time: number = 100000\r\n ): Observable<string> {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-cache\",\r\n Authorization: \"Bearer \" + token,\r\n });\r\n\r\n const options = { responseType: \"text\" as \"text\", headers: httpHeaders };\r\n return new Observable((observer) => {\r\n this.http\r\n .post(url, data, options)\r\n .pipe(timeout(time))\r\n .subscribe((res) => {\r\n observer.next(res);\r\n observer.complete();\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * \r\n * @param url \r\n * @returns \r\n */\r\n public get<T>(url: string): Observable<T> {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-cache\",\r\n });\r\n if (token) {\r\n httpHeaders = httpHeaders.append(\"Authorization\", \"Bearer \" + token);\r\n }\r\n let options = {\r\n headers: httpHeaders,\r\n };\r\n\r\n return this.http.get<T>(url, options)\r\n .pipe(\r\n catchError(err => {\r\n // show toastr error\r\n let errMessage = this.errorMessageHandling(err);\r\n this.toastr.error(\r\n errMessage.Message != \"\" ? errMessage.Message : \"An unknown error has occured!\",\r\n errMessage.header);\r\n let error$ = of('error', err)\r\n if (err.status == 402) {\r\n error$ = from(this.router.navigate(['/menu/Profile/Main/My_Subscription']))\r\n }\r\n return error$\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * METHOD POST\r\n * This should cast the httpResponse to the data model we expect\r\n * @param url\r\n * @param data\r\n * @param time\r\n * @returns\r\n */\r\n public post<T>(\r\n url: string,\r\n data?: any,\r\n time: number = 100000\r\n ): Observable<T> {\r\n return new Observable((observer) => {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-cache\",\r\n });\r\n if (token) {\r\n httpHeaders = httpHeaders.append(\"Authorization\", \"Bearer \" + token);\r\n }\r\n let options = {\r\n headers: httpHeaders,\r\n };\r\n\r\n this.http\r\n .post<T>(url, data, options)\r\n .pipe(timeout(time))\r\n .subscribe({\r\n next: (result) => {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n error: (err) => {\r\n if (err.status == 200) {\r\n //when Response is not application/json ex: some API return text/csv\r\n observer.next(err.error.text);\r\n observer.complete();\r\n } else {\r\n let unauthorized = this.unauthorizedErrorHandling(err);\r\n if (!unauthorized) {\r\n let errMessage = this.errorMessageHandling(err);\r\n this.toastr.error(\r\n errMessage.Message != \"\"\r\n ? errMessage.Message\r\n : \"An unknown error has occured!\",\r\n errMessage.header, { enableHtml: true }\r\n );\r\n }\r\n observer.error(err);\r\n }\r\n },\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * METHOD PUT\r\n * This should cast the httpResponse to the data model we expect\r\n * @param url\r\n * @param data\r\n * @param time\r\n * @returns\r\n */\r\n public put<T>(\r\n url: string,\r\n data?: any,\r\n time: number = 100000\r\n ): Observable<T> {\r\n return new Observable((observer) => {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-cache\",\r\n });\r\n if (token) {\r\n httpHeaders = httpHeaders.append(\"Authorization\", \"Bearer \" + token);\r\n }\r\n let options = {\r\n headers: httpHeaders,\r\n };\r\n\r\n this.http\r\n .put<T>(url, data, options)\r\n .pipe(timeout(time))\r\n .subscribe({\r\n next: (result) => {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n error: (err) => {\r\n if (err.status == 200) {\r\n //when Response is not application/json ex: some API return text/csv\r\n observer.next(err.error.text);\r\n observer.complete();\r\n } else {\r\n let unauthorized = this.unauthorizedErrorHandling(err);\r\n if (!unauthorized) {\r\n let errMessage = this.errorMessageHandling(err);\r\n this.toastr.error(\r\n errMessage.Message != \"\"\r\n ? errMessage.Message\r\n : \"An unknown error has occured!\",\r\n errMessage.header\r\n );\r\n }\r\n observer.error(err);\r\n }\r\n },\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * METHOD DELETE\r\n * This should cast the httpResponse to the data model we expect\r\n * @param url\r\n * @param data\r\n * @param time\r\n * @returns\r\n */\r\n public delete<T>(\r\n url: string,\r\n data?: any,\r\n time: number = 100000\r\n ): Observable<T> {\r\n return new Observable((observer) => {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-cache\",\r\n });\r\n if (token) {\r\n httpHeaders = httpHeaders.append(\"Authorization\", \"Bearer \" + token);\r\n }\r\n let options = {\r\n headers: httpHeaders,\r\n body: data\r\n };\r\n\r\n this.http\r\n .delete<T>(url, options)\r\n .pipe(timeout(time))\r\n .subscribe({\r\n next: (result) => {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n error: (err) => {\r\n if (err.status == 200) {\r\n //when Response is not application/json ex: some API return text/csv\r\n observer.next(err.error.text);\r\n observer.complete();\r\n } else {\r\n let unauthorized = this.unauthorizedErrorHandling(err);\r\n if (!unauthorized) {\r\n let errMessage = this.errorMessageHandling(err);\r\n this.toastr.error(\r\n errMessage.Message != \"\"\r\n ? errMessage.Message\r\n : \"An unknown error has occured!\",\r\n errMessage.header\r\n );\r\n }\r\n observer.error(err);\r\n }\r\n },\r\n });\r\n });\r\n }\r\n\r\n private unauthorizedErrorHandling(err: HttpErrorResponse) {\r\n let retVal = false;\r\n if (err.status == 401 || err.status == 403) {\r\n //Unauthorized Error Handling\r\n let token = localStorage.getItem(\"Token\");\r\n if (token) {\r\n this.router.navigate([\"/menu/Unauthorized/Main/Unauthorized\"]);\r\n } else {\r\n //redirect to Login page if there is no JWT TOKEN available\r\n window.location.href = \"/\";\r\n }\r\n retVal = true;\r\n }\r\n return retVal;\r\n }\r\n\r\n private errorMessageHandling(err: any): { Message: string; header: string } {\r\n let header = \"API Error\";\r\n let message = \"Exception Message\";\r\n if (err.error) {\r\n //Handle 4XX error and 5XX Error\r\n header = \"API Error - \" + err.status;\r\n if (err.status == 451) {\r\n header = \"Error\";\r\n }\r\n\r\n if (err.error) {\r\n message = err.error.Message;\r\n }\r\n } else {\r\n if (err.Message) {\r\n //Handle timeout scenario we do not receive HTTP StatusCode\r\n header = \"API Error - \" + err.name;\r\n message = err.Message;\r\n }\r\n }\r\n return { header: header, Message: message };\r\n }\r\n\r\n public postFormDataWithoutBearer(\r\n url: string,\r\n data: FormData\r\n ): Observable<any> {\r\n return new Observable((observer) => {\r\n this.http\r\n .post<any>(url, data)\r\n .pipe(timeout(100000))\r\n .subscribe({\r\n next: (data) => {\r\n observer.next(data);\r\n observer.complete();\r\n },\r\n error: (err) => {\r\n if (err.status == 200) {\r\n observer.next(err.error.text);\r\n observer.complete();\r\n }\r\n observer.error(err);\r\n },\r\n });\r\n });\r\n }\r\n\r\n public postFormData(\r\n url: string,\r\n data: FormData,\r\n showToastr: boolean = true\r\n ): Observable<any> {\r\n return new Observable((observer) => {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n Authorization: \"Bearer \" + token,\r\n });\r\n let options = {\r\n headers: httpHeaders,\r\n };\r\n\r\n this.http\r\n .post<any>(url, data, options)\r\n .pipe(timeout(100000))\r\n .subscribe(\r\n (data) => {\r\n observer.next(data);\r\n observer.complete();\r\n },\r\n (err) => {\r\n //Exception Handling\r\n\r\n if (err.status == 200) {\r\n //when Response is not application/json ex: some API return text/csv\r\n observer.next(err.error.text);\r\n observer.complete();\r\n } else {\r\n let unauthorized = this.unauthorizedErrorHandling(err);\r\n if (!unauthorized && showToastr) {\r\n let errMessage = this.errorMessageHandling(err);\r\n this.toastr.error(\r\n errMessage.Message != \"\"\r\n ? errMessage.Message\r\n : \"An unknown error has occured!\",\r\n errMessage.header\r\n );\r\n }\r\n\r\n observer.error(err);\r\n }\r\n }\r\n );\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dealpos-npm-ng-dealpos-library-services-http.mjs","sources":["../../../projects/dealpos-npm/ng-dealpos-library/services/http/src/http.service.ts","../../../projects/dealpos-npm/ng-dealpos-library/services/http/dealpos-npm-ng-dealpos-library-services-http.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\r\nimport { Observable, from, of } from \"rxjs\";\r\nimport {\r\n HttpClient,\r\n HttpErrorResponse,\r\n HttpHeaders,\r\n} from \"@angular/common/http\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { catchError, timeout } from \"rxjs/operators\";\r\nimport { Router } from \"@angular/router\";\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HttpService {\r\n a = 0\r\n constructor(\r\n private http: HttpClient,\r\n private toastr: ToastrService,\r\n private router: Router\r\n ) {\r\n alert('This alert is from Angular Library installed in this project')\r\n }\r\n public testToastr() {\r\n this.toastr.success(\"1\", \"1\")\r\n }\r\n public PostToUrlEncode(\r\n url: string,\r\n params?: string,\r\n time: number = 100000\r\n ): Observable<any> {\r\n let headers = new HttpHeaders();\r\n headers = headers.set(\"Content-Type\", \"application/x-www-form-urlencoded\");\r\n return new Observable((observer) => {\r\n this.http\r\n .post(url, params, { headers: headers })\r\n .pipe(timeout(time))\r\n .subscribe((data) => {\r\n observer.next(data);\r\n observer.complete();\r\n });\r\n });\r\n }\r\n\r\n public GetText(time: number = 100000): Observable<string> {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n Authorization: \"Bearer \" + token,\r\n });\r\n const options = { responseType: \"text\" as \"text\", headers: httpHeaders };\r\n return new Observable((observer) => {\r\n this.http\r\n .get(\"/API/Token/GetZendeskJWT\", options)\r\n .pipe(timeout(time))\r\n .subscribe((data) => {\r\n observer.next(data);\r\n observer.complete();\r\n });\r\n });\r\n }\r\n\r\n public POSText(\r\n url: string,\r\n data?: any,\r\n time: number = 100000\r\n ): Observable<string> {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-cache\",\r\n Authorization: \"Bearer \" + token,\r\n });\r\n\r\n const options = { responseType: \"text\" as \"text\", headers: httpHeaders };\r\n return new Observable((observer) => {\r\n this.http\r\n .post(url, data, options)\r\n .pipe(timeout(time))\r\n .subscribe((res) => {\r\n observer.next(res);\r\n observer.complete();\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * \r\n * @param url \r\n * @returns \r\n */\r\n public get<T>(url: string): Observable<T> {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-cache\",\r\n });\r\n if (token) {\r\n httpHeaders = httpHeaders.append(\"Authorization\", \"Bearer \" + token);\r\n }\r\n let options = {\r\n headers: httpHeaders,\r\n };\r\n\r\n return this.http.get<T>(url, options)\r\n .pipe(\r\n catchError(err => {\r\n // show toastr error\r\n let errMessage = this.errorMessageHandling(err);\r\n this.toastr.error(\r\n errMessage.Message != \"\" ? errMessage.Message : \"An unknown error has occured!\",\r\n errMessage.header);\r\n let error$ = of('error', err)\r\n if (err.status == 402) {\r\n error$ = from(this.router.navigate(['/menu/Profile/Main/My_Subscription']))\r\n }\r\n return error$\r\n })\r\n );\r\n }\r\n public getNews<T>(url: string): Observable<T> {\r\n return this.http.get<T>(url)\r\n }\r\n /**\r\n * METHOD POST\r\n * This should cast the httpResponse to the data model we expect\r\n * @param url\r\n * @param data\r\n * @param time\r\n * @returns\r\n */\r\n public post<T>(\r\n url: string,\r\n data?: any,\r\n time: number = 100000\r\n ): Observable<T> {\r\n return new Observable((observer) => {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-cache\",\r\n });\r\n if (token) {\r\n httpHeaders = httpHeaders.append(\"Authorization\", \"Bearer \" + token);\r\n }\r\n let options = {\r\n headers: httpHeaders,\r\n };\r\n\r\n this.http\r\n .post<T>(url, data, options)\r\n .pipe(timeout(time))\r\n .subscribe({\r\n next: (result) => {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n error: (err) => {\r\n if (err.status == 200) {\r\n //when Response is not application/json ex: some API return text/csv\r\n observer.next(err.error.text);\r\n observer.complete();\r\n } else {\r\n let unauthorized = this.unauthorizedErrorHandling(err);\r\n if (!unauthorized) {\r\n let errMessage = this.errorMessageHandling(err);\r\n this.toastr.error(\r\n errMessage.Message != \"\"\r\n ? errMessage.Message\r\n : \"An unknown error has occured!\",\r\n errMessage.header, { enableHtml: true }\r\n );\r\n }\r\n observer.error(err);\r\n }\r\n },\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * METHOD PUT\r\n * This should cast the httpResponse to the data model we expect\r\n * @param url\r\n * @param data\r\n * @param time\r\n * @returns\r\n */\r\n public put<T>(\r\n url: string,\r\n data?: any,\r\n time: number = 100000\r\n ): Observable<T> {\r\n return new Observable((observer) => {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-cache\",\r\n });\r\n if (token) {\r\n httpHeaders = httpHeaders.append(\"Authorization\", \"Bearer \" + token);\r\n }\r\n let options = {\r\n headers: httpHeaders,\r\n };\r\n\r\n this.http\r\n .put<T>(url, data, options)\r\n .pipe(timeout(time))\r\n .subscribe({\r\n next: (result) => {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n error: (err) => {\r\n if (err.status == 200) {\r\n //when Response is not application/json ex: some API return text/csv\r\n observer.next(err.error.text);\r\n observer.complete();\r\n } else {\r\n let unauthorized = this.unauthorizedErrorHandling(err);\r\n if (!unauthorized) {\r\n let errMessage = this.errorMessageHandling(err);\r\n this.toastr.error(\r\n errMessage.Message != \"\"\r\n ? errMessage.Message\r\n : \"An unknown error has occured!\",\r\n errMessage.header\r\n );\r\n }\r\n observer.error(err);\r\n }\r\n },\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * METHOD DELETE\r\n * This should cast the httpResponse to the data model we expect\r\n * @param url\r\n * @param data\r\n * @param time\r\n * @returns\r\n */\r\n public delete<T>(\r\n url: string,\r\n data?: any,\r\n time: number = 100000\r\n ): Observable<T> {\r\n return new Observable((observer) => {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-cache\",\r\n });\r\n if (token) {\r\n httpHeaders = httpHeaders.append(\"Authorization\", \"Bearer \" + token);\r\n }\r\n let options = {\r\n headers: httpHeaders,\r\n body: data\r\n };\r\n\r\n this.http\r\n .delete<T>(url, options)\r\n .pipe(timeout(time))\r\n .subscribe({\r\n next: (result) => {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n error: (err) => {\r\n if (err.status == 200) {\r\n //when Response is not application/json ex: some API return text/csv\r\n observer.next(err.error.text);\r\n observer.complete();\r\n } else {\r\n let unauthorized = this.unauthorizedErrorHandling(err);\r\n if (!unauthorized) {\r\n let errMessage = this.errorMessageHandling(err);\r\n this.toastr.error(\r\n errMessage.Message != \"\"\r\n ? errMessage.Message\r\n : \"An unknown error has occured!\",\r\n errMessage.header\r\n );\r\n }\r\n observer.error(err);\r\n }\r\n },\r\n });\r\n });\r\n }\r\n\r\n private unauthorizedErrorHandling(err: HttpErrorResponse) {\r\n let retVal = false;\r\n if (err.status == 401 || err.status == 403) {\r\n //Unauthorized Error Handling\r\n let token = localStorage.getItem(\"Token\");\r\n if (token) {\r\n this.router.navigate([\"/menu/Unauthorized/Main/Unauthorized\"]);\r\n } else {\r\n //redirect to Login page if there is no JWT TOKEN available\r\n window.location.href = \"/\";\r\n }\r\n retVal = true;\r\n }\r\n return retVal;\r\n }\r\n\r\n private errorMessageHandling(err: any): { Message: string; header: string } {\r\n let header = \"API Error\";\r\n let message = \"Exception Message\";\r\n if (err.error) {\r\n //Handle 4XX error and 5XX Error\r\n header = \"API Error - \" + err.status;\r\n if (err.status == 451) {\r\n header = \"Error\";\r\n }\r\n\r\n if (err.error) {\r\n message = err.error.Message;\r\n }\r\n } else {\r\n if (err.Message) {\r\n //Handle timeout scenario we do not receive HTTP StatusCode\r\n header = \"API Error - \" + err.name;\r\n message = err.Message;\r\n }\r\n }\r\n return { header: header, Message: message };\r\n }\r\n\r\n public postFormDataWithoutBearer(\r\n url: string,\r\n data: FormData\r\n ): Observable<any> {\r\n return new Observable((observer) => {\r\n this.http\r\n .post<any>(url, data)\r\n .pipe(timeout(100000))\r\n .subscribe({\r\n next: (data) => {\r\n observer.next(data);\r\n observer.complete();\r\n },\r\n error: (err) => {\r\n if (err.status == 200) {\r\n observer.next(err.error.text);\r\n observer.complete();\r\n }\r\n observer.error(err);\r\n },\r\n });\r\n });\r\n }\r\n\r\n public postFormData(\r\n url: string,\r\n data: FormData,\r\n showToastr: boolean = true\r\n ): Observable<any> {\r\n return new Observable((observer) => {\r\n let token = localStorage.getItem(\"Token\");\r\n let httpHeaders = new HttpHeaders({\r\n Authorization: \"Bearer \" + token,\r\n });\r\n let options = {\r\n headers: httpHeaders,\r\n };\r\n\r\n this.http\r\n .post<any>(url, data, options)\r\n .pipe(timeout(100000))\r\n .subscribe(\r\n (data) => {\r\n observer.next(data);\r\n observer.complete();\r\n },\r\n (err) => {\r\n //Exception Handling\r\n\r\n if (err.status == 200) {\r\n //when Response is not application/json ex: some API return text/csv\r\n observer.next(err.error.text);\r\n observer.complete();\r\n } else {\r\n let unauthorized = this.unauthorizedErrorHandling(err);\r\n if (!unauthorized && showToastr) {\r\n let errMessage = this.errorMessageHandling(err);\r\n this.toastr.error(\r\n errMessage.Message != \"\"\r\n ? errMessage.Message\r\n : \"An unknown error has occured!\",\r\n errMessage.header\r\n );\r\n }\r\n\r\n observer.error(err);\r\n }\r\n }\r\n );\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MAaa,WAAW,CAAA;AAEtB,IAAA,WAAA,CACU,IAAgB,EAChB,MAAqB,EACrB,MAAc,EAAA;QAFd,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAChB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAJxB,IAAC,CAAA,CAAA,GAAG,CAAC,CAAA;QAMH,KAAK,CAAC,8DAA8D,CAAC,CAAA;KACtE;IACM,UAAU,GAAA;QACf,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAC9B;AACM,IAAA,eAAe,CACpB,GAAW,EACX,MAAe,EACf,OAAe,MAAM,EAAA;AAErB,QAAA,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,mCAAmC,CAAC,CAAC;AAC3E,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAQ,KAAI;AACjC,YAAA,IAAI,CAAC,IAAI;iBACN,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACvC,iBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,iBAAA,SAAS,CAAC,CAAC,IAAI,KAAI;AAClB,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtB,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;IAEM,OAAO,CAAC,OAAe,MAAM,EAAA;QAClC,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1C,QAAA,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC;YAChC,aAAa,EAAE,SAAS,GAAG,KAAK;AACjC,SAAA,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,MAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACzE,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAQ,KAAI;AACjC,YAAA,IAAI,CAAC,IAAI;AACN,iBAAA,GAAG,CAAC,0BAA0B,EAAE,OAAO,CAAC;AACxC,iBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,iBAAA,SAAS,CAAC,CAAC,IAAI,KAAI;AAClB,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtB,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;AAEM,IAAA,OAAO,CACZ,GAAW,EACX,IAAU,EACV,OAAe,MAAM,EAAA;QAErB,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1C,QAAA,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC;AAChC,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,eAAe,EAAE,UAAU;YAC3B,aAAa,EAAE,SAAS,GAAG,KAAK;AACjC,SAAA,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,MAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACzE,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAQ,KAAI;AACjC,YAAA,IAAI,CAAC,IAAI;AACN,iBAAA,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC;AACxB,iBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,iBAAA,SAAS,CAAC,CAAC,GAAG,KAAI;AACjB,gBAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtB,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;AAED;;;;AAIG;AACI,IAAA,GAAG,CAAI,GAAW,EAAA;QACvB,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1C,QAAA,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC;AAChC,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,eAAe,EAAE,UAAU;AAC5B,SAAA,CAAC,CAAC;QACH,IAAI,KAAK,EAAE;YACT,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;SACtE;AACD,QAAA,IAAI,OAAO,GAAG;AACZ,YAAA,OAAO,EAAE,WAAW;SACrB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,EAAE,OAAO,CAAC;AAClC,aAAA,IAAI,CACH,UAAU,CAAC,GAAG,IAAG;;YAEf,IAAI,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,CAAC,OAAO,IAAI,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,+BAA+B,EAC/E,UAAU,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAC7B,YAAA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;AACrB,gBAAA,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAA;aAC5E;AACD,YAAA,OAAO,MAAM,CAAA;SACd,CAAC,CACH,CAAC;KACL;AACM,IAAA,OAAO,CAAI,GAAW,EAAA;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAA;KAC7B;AACD;;;;;;;AAOG;AACI,IAAA,IAAI,CACT,GAAW,EACX,IAAU,EACV,OAAe,MAAM,EAAA;AAErB,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAQ,KAAI;YACjC,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1C,YAAA,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC;AAChC,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,eAAe,EAAE,UAAU;AAC5B,aAAA,CAAC,CAAC;YACH,IAAI,KAAK,EAAE;gBACT,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;aACtE;AACD,YAAA,IAAI,OAAO,GAAG;AACZ,gBAAA,OAAO,EAAE,WAAW;aACrB,CAAC;AAEF,YAAA,IAAI,CAAC,IAAI;AACN,iBAAA,IAAI,CAAI,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC;AAC3B,iBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,iBAAA,SAAS,CAAC;AACT,gBAAA,IAAI,EAAE,CAAC,MAAM,KAAI;AACf,oBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;AACD,gBAAA,KAAK,EAAE,CAAC,GAAG,KAAI;AACb,oBAAA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;;wBAErB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC;qBACrB;yBAAM;wBACL,IAAI,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;wBACvD,IAAI,CAAC,YAAY,EAAE;4BACjB,IAAI,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;4BAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,CAAC,OAAO,IAAI,EAAE;kCACpB,UAAU,CAAC,OAAO;AACpB,kCAAE,+BAA+B,EACnC,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CACxC,CAAC;yBACH;AACD,wBAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACrB;iBACF;AACF,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;AAED;;;;;;;AAOG;AACI,IAAA,GAAG,CACR,GAAW,EACX,IAAU,EACV,OAAe,MAAM,EAAA;AAErB,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAQ,KAAI;YACjC,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1C,YAAA,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC;AAChC,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,eAAe,EAAE,UAAU;AAC5B,aAAA,CAAC,CAAC;YACH,IAAI,KAAK,EAAE;gBACT,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;aACtE;AACD,YAAA,IAAI,OAAO,GAAG;AACZ,gBAAA,OAAO,EAAE,WAAW;aACrB,CAAC;AAEF,YAAA,IAAI,CAAC,IAAI;AACN,iBAAA,GAAG,CAAI,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC;AAC1B,iBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,iBAAA,SAAS,CAAC;AACT,gBAAA,IAAI,EAAE,CAAC,MAAM,KAAI;AACf,oBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;AACD,gBAAA,KAAK,EAAE,CAAC,GAAG,KAAI;AACb,oBAAA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;;wBAErB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC;qBACrB;yBAAM;wBACL,IAAI,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;wBACvD,IAAI,CAAC,YAAY,EAAE;4BACjB,IAAI,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;4BAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,CAAC,OAAO,IAAI,EAAE;kCACpB,UAAU,CAAC,OAAO;AACpB,kCAAE,+BAA+B,EACnC,UAAU,CAAC,MAAM,CAClB,CAAC;yBACH;AACD,wBAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACrB;iBACF;AACF,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;AAED;;;;;;;AAOG;AACI,IAAA,MAAM,CACX,GAAW,EACX,IAAU,EACV,OAAe,MAAM,EAAA;AAErB,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAQ,KAAI;YACjC,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1C,YAAA,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC;AAChC,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,eAAe,EAAE,UAAU;AAC5B,aAAA,CAAC,CAAC;YACH,IAAI,KAAK,EAAE;gBACT,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;aACtE;AACD,YAAA,IAAI,OAAO,GAAG;AACZ,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,IAAI,EAAE,IAAI;aACX,CAAC;AAEF,YAAA,IAAI,CAAC,IAAI;AACN,iBAAA,MAAM,CAAI,GAAG,EAAE,OAAO,CAAC;AACvB,iBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,iBAAA,SAAS,CAAC;AACT,gBAAA,IAAI,EAAE,CAAC,MAAM,KAAI;AACf,oBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;AACD,gBAAA,KAAK,EAAE,CAAC,GAAG,KAAI;AACb,oBAAA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;;wBAErB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC;qBACrB;yBAAM;wBACL,IAAI,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;wBACvD,IAAI,CAAC,YAAY,EAAE;4BACjB,IAAI,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;4BAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,CAAC,OAAO,IAAI,EAAE;kCACpB,UAAU,CAAC,OAAO;AACpB,kCAAE,+BAA+B,EACnC,UAAU,CAAC,MAAM,CAClB,CAAC;yBACH;AACD,wBAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACrB;iBACF;AACF,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,yBAAyB,CAAC,GAAsB,EAAA;QACtD,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;;YAE1C,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC;aAChE;iBAAM;;AAEL,gBAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;aAC5B;YACD,MAAM,GAAG,IAAI,CAAC;SACf;AACD,QAAA,OAAO,MAAM,CAAC;KACf;AAEO,IAAA,oBAAoB,CAAC,GAAQ,EAAA;QACnC,IAAI,MAAM,GAAG,WAAW,CAAC;QACzB,IAAI,OAAO,GAAG,mBAAmB,CAAC;AAClC,QAAA,IAAI,GAAG,CAAC,KAAK,EAAE;;AAEb,YAAA,MAAM,GAAG,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;AACrC,YAAA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,MAAM,GAAG,OAAO,CAAC;aAClB;AAED,YAAA,IAAI,GAAG,CAAC,KAAK,EAAE;AACb,gBAAA,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;aAC7B;SACF;aAAM;AACL,YAAA,IAAI,GAAG,CAAC,OAAO,EAAE;;AAEf,gBAAA,MAAM,GAAG,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC;AACnC,gBAAA,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;aACvB;SACF;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;KAC7C;IAEM,yBAAyB,CAC9B,GAAW,EACX,IAAc,EAAA;AAEd,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAQ,KAAI;AACjC,YAAA,IAAI,CAAC,IAAI;AACN,iBAAA,IAAI,CAAM,GAAG,EAAE,IAAI,CAAC;AACpB,iBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACrB,iBAAA,SAAS,CAAC;AACT,gBAAA,IAAI,EAAE,CAAC,IAAI,KAAI;AACb,oBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;AACD,gBAAA,KAAK,EAAE,CAAC,GAAG,KAAI;AACb,oBAAA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;wBACrB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC;qBACrB;AACD,oBAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACrB;AACF,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;AAEM,IAAA,YAAY,CACjB,GAAW,EACX,IAAc,EACd,aAAsB,IAAI,EAAA;AAE1B,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAQ,KAAI;YACjC,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1C,YAAA,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC;gBAChC,aAAa,EAAE,SAAS,GAAG,KAAK;AACjC,aAAA,CAAC,CAAC;AACH,YAAA,IAAI,OAAO,GAAG;AACZ,gBAAA,OAAO,EAAE,WAAW;aACrB,CAAC;AAEF,YAAA,IAAI,CAAC,IAAI;AACN,iBAAA,IAAI,CAAM,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC;AAC7B,iBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACrB,iBAAA,SAAS,CACR,CAAC,IAAI,KAAI;AACP,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtB,aAAC,EACD,CAAC,GAAG,KAAI;;AAGN,gBAAA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;;oBAErB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;qBAAM;oBACL,IAAI,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;AACvD,oBAAA,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;wBAC/B,IAAI,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;wBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,CAAC,OAAO,IAAI,EAAE;8BACpB,UAAU,CAAC,OAAO;AACpB,8BAAE,+BAA+B,EACnC,UAAU,CAAC,MAAM,CAClB,CAAC;qBACH;AAED,oBAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACrB;AACH,aAAC,CACF,CAAC;AACN,SAAC,CAAC,CAAC;KACJ;8GArYU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACZD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dealpos-npm/ng-dealpos-library",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
7
|
-
"@angular/material": "^
|
|
5
|
+
"@angular/common": "^17.3.4",
|
|
6
|
+
"@angular/core": "^17.3.4",
|
|
7
|
+
"@angular/material": "^17.3.4"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"tslib": "^2.3.0"
|
|
@@ -68,18 +68,18 @@
|
|
|
68
68
|
"esm": "./esm2022/pipes/duration/dealpos-npm-ng-dealpos-library-pipes-duration.mjs",
|
|
69
69
|
"default": "./fesm2022/dealpos-npm-ng-dealpos-library-pipes-duration.mjs"
|
|
70
70
|
},
|
|
71
|
-
"./pipes/filter": {
|
|
72
|
-
"types": "./pipes/filter/index.d.ts",
|
|
73
|
-
"esm2022": "./esm2022/pipes/filter/dealpos-npm-ng-dealpos-library-pipes-filter.mjs",
|
|
74
|
-
"esm": "./esm2022/pipes/filter/dealpos-npm-ng-dealpos-library-pipes-filter.mjs",
|
|
75
|
-
"default": "./fesm2022/dealpos-npm-ng-dealpos-library-pipes-filter.mjs"
|
|
76
|
-
},
|
|
77
71
|
"./pipes/newlines": {
|
|
78
72
|
"types": "./pipes/newlines/index.d.ts",
|
|
79
73
|
"esm2022": "./esm2022/pipes/newlines/dealpos-npm-ng-dealpos-library-pipes-newlines.mjs",
|
|
80
74
|
"esm": "./esm2022/pipes/newlines/dealpos-npm-ng-dealpos-library-pipes-newlines.mjs",
|
|
81
75
|
"default": "./fesm2022/dealpos-npm-ng-dealpos-library-pipes-newlines.mjs"
|
|
82
76
|
},
|
|
77
|
+
"./pipes/filter": {
|
|
78
|
+
"types": "./pipes/filter/index.d.ts",
|
|
79
|
+
"esm2022": "./esm2022/pipes/filter/dealpos-npm-ng-dealpos-library-pipes-filter.mjs",
|
|
80
|
+
"esm": "./esm2022/pipes/filter/dealpos-npm-ng-dealpos-library-pipes-filter.mjs",
|
|
81
|
+
"default": "./fesm2022/dealpos-npm-ng-dealpos-library-pipes-filter.mjs"
|
|
82
|
+
},
|
|
83
83
|
"./services/http": {
|
|
84
84
|
"types": "./services/http/index.d.ts",
|
|
85
85
|
"esm2022": "./esm2022/services/http/dealpos-npm-ng-dealpos-library-services-http.mjs",
|