@oneteme/inspect-ng-collector 0.0.6 → 0.0.8

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.
@@ -0,0 +1,145 @@
1
+ import { dateNow } from "./util";
2
+ const SLASH = '/';
3
+ const HOST_PATERN = /https?:\/\/[\w\-.]+(:\d{2,5})?\/?/;
4
+ const PATH_PATERN = /[\w-]+(\/[\w-]+)*/;
5
+ const validationMap = {
6
+ host: { func: matchRegex, args: [HOST_PATERN] },
7
+ bufferMaxSize: { func: requirePostitiveValue, args: [HOST_PATERN] },
8
+ delay: { func: matchRegex, args: [HOST_PATERN] },
9
+ instanceApi: { func: matchRegex, args: [HOST_PATERN] },
10
+ sessionApi: { func: matchRegex, args: [HOST_PATERN] }
11
+ };
12
+ export function setConfig(conf) {
13
+ return {
14
+ host: conf.host,
15
+ name: getStringOrCall(conf.name),
16
+ version: getStringOrCall(conf.version) ?? '',
17
+ env: getStringOrCall(conf.env) ?? '',
18
+ user: getStringOrCall(conf.user) ?? '',
19
+ bufferMaxSize: getNumberOrCall(conf.bufferMaxSize),
20
+ delay: getNumberOrCall(conf.delay),
21
+ instanceApi: getStringOrCall(conf.sessionApi),
22
+ sessionApi: getStringOrCall(conf.instanceApi),
23
+ exclude: getRegArrOrCall(conf.exclude) ?? [],
24
+ debug: conf.debug ?? false,
25
+ enabled: conf.enabled ?? false
26
+ };
27
+ /*
28
+ this.logServerMain = this.sessionApiURL(host,getStringOrCall(config.sessionApi)!);
29
+ this.logInstanceEnv = this.instanceApiURL(host,getStringOrCall(config.instanceApi)!);
30
+ this.maxBufferSize = getNumberOrCall(config.bufferMaxSize) ?? 1000;
31
+ this.delay = getNumberOrCall(config.delay) ?? 60000;
32
+ */
33
+ }
34
+ export function validateProperty(value, func) {
35
+ if (func()) {
36
+ return value;
37
+ }
38
+ throw new Error('error'); // pass the error return from the the passed function
39
+ }
40
+ export function validateAndGetConfig(conf) {
41
+ let host = matchRegex(getStringOrCall(conf.host), "host", HOST_PATERN);
42
+ let sessionApi = matchRegex(getStringOrCall(conf.sessionApi), 'sessionApi', PATH_PATERN);
43
+ let instanceApi = matchRegex(getStringOrCall(conf.sessionApi), 'intanceApi', PATH_PATERN);
44
+ return {
45
+ user: getStringOrCall(conf.user),
46
+ bufferMaxSize: requirePostitiveValue(getNumberOrCall(conf.delay), "bufferMaxSize", 1000),
47
+ delay: requirePostitiveValue(getNumberOrCall(conf.delay), "delay", 60000),
48
+ instanceApi: sessionApiURL(host, sessionApi),
49
+ sessionApi: instanceApiURL(host, instanceApi),
50
+ exclude: getRegArrOrCall(conf.exclude) || [],
51
+ debug: conf.debug ?? false,
52
+ enabled: conf.enabled ?? false
53
+ };
54
+ }
55
+ export function GetInstanceEnvironement(conf) {
56
+ return {
57
+ name: getStringOrCall(conf.name),
58
+ version: getStringOrCall(conf.version),
59
+ address: undefined,
60
+ env: getStringOrCall(conf.env),
61
+ os: detectOs(),
62
+ re: detectBrowser(),
63
+ user: undefined,
64
+ type: "CLIENT",
65
+ instant: dateNow(),
66
+ collector: "inspect-ng-collector-0.0.1"
67
+ };
68
+ }
69
+ export function getNumberOrCall(o) {
70
+ return typeof o === "function" ? o() : o;
71
+ }
72
+ export function getStringOrCall(o) {
73
+ return typeof o === "function" ? o() : o;
74
+ }
75
+ export function getRegArrOrCall(o) {
76
+ return typeof o === "function" ? o() : o;
77
+ }
78
+ export function detectBrowser() {
79
+ try {
80
+ const agent = window.navigator.userAgent.toLowerCase();
81
+ switch (true) {
82
+ case agent.indexOf('edge') > -1:
83
+ return 'edge';
84
+ case agent.indexOf('opr') > -1:
85
+ return 'opera';
86
+ case agent.indexOf('chrome') > -1:
87
+ return 'chrome';
88
+ case agent.indexOf('firefox') > -1:
89
+ return 'firefox';
90
+ case agent.indexOf('safari') > -1:
91
+ return 'safari';
92
+ }
93
+ }
94
+ catch (e) {
95
+ console.error(e);
96
+ }
97
+ return undefined;
98
+ }
99
+ export function detectOs() {
100
+ try {
101
+ let versionMatch, version;
102
+ const agent = window.navigator.userAgent.toLowerCase();
103
+ switch (true) {
104
+ case (/windows/.test(agent)):
105
+ versionMatch = /windows nt (\d+\.\d+)/.exec(agent);
106
+ version = versionMatch ? versionMatch[1] : 'Unknown';
107
+ return `Windows ${version}`;
108
+ case (/linux/.test(agent)):
109
+ return 'Linux';
110
+ case (/macintosh/.test(agent)):
111
+ versionMatch = /mac os x (\d+[._]\d+[._]\d+)/.exec(agent);
112
+ version = versionMatch ? versionMatch[1] : 'Unknown';
113
+ return `MacOs ${version}`;
114
+ }
115
+ }
116
+ catch (e) {
117
+ console.error(e);
118
+ }
119
+ return undefined;
120
+ }
121
+ function instanceApiURL(host, path) {
122
+ return toURL(host, path);
123
+ }
124
+ function sessionApiURL(host, path) {
125
+ return toURL(host, path);
126
+ }
127
+ function toURL(host, path) {
128
+ return host.endsWith(SLASH) || path.startsWith(SLASH) ? host + path : [host, path].join(SLASH);
129
+ }
130
+ export function matchRegex(v, name, pattern) {
131
+ if (v && pattern.exec(v)) {
132
+ return v;
133
+ }
134
+ throw `bad value ${name}=${v}, pattern=${pattern}`;
135
+ }
136
+ export function requirePostitiveValue(v, name, defaultValue) {
137
+ if (v && v > 0) {
138
+ return v;
139
+ }
140
+ if (v == undefined) {
141
+ return defaultValue;
142
+ }
143
+ throw `bad value ${name}= ${v} <= 0`;
144
+ }
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZXRlbWUvaW5zcGVjdC1uZy1jb2xsZWN0b3Ivc3JjL2xpYi9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLE1BQU0sV0FBVyxHQUFHLG1DQUFtQyxDQUFDO0FBQ3hELE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDO0FBMkJ2QyxNQUFNLGFBQWEsR0FBSTtJQUN0QixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFO0lBQy9DLGFBQWEsRUFBRyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRTtJQUNwRSxLQUFLLEVBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFO0lBQ2pELFdBQVcsRUFBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUU7SUFDdkQsVUFBVSxFQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRTtDQUN0RCxDQUFBO0FBRUYsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFvQjtJQUM1QyxPQUFRO1FBQ04sSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1FBQ2YsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2hDLE9BQU8sRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7UUFDNUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxJQUFJ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QUFXLEVBQUUsSUFBVztJQUM3QyxPQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELFNBQVMsS0FBSyxDQUFDLElBQVcsRUFBRSxJQUFXO0lBQ3BDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakcsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsQ0FBcUIsRUFBRyxJQUFZLEVBQUUsT0FBZTtJQUM5RSxJQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDO1FBQ3JCLE9BQU8sQ0FBQyxDQUFDO0tBQ1g7SUFDRCxNQUFNLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxPQUFPLEVBQUUsQ0FBQztBQUNyRCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLENBQXFCLEVBQUUsSUFBWSxFQUFFLFlBQW1CO0lBQzVGLElBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDYixPQUFPLENBQUMsQ0FBQztLQUNWO0lBQ0QsSUFBRyxDQUFDLElBQUksU0FBUyxFQUFDO1FBQ2hCLE9BQU8sWUFBWSxDQUFDO0tBQ3JCO0lBQ0QsTUFBTSxhQUFhLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQTtBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGF0ZU5vdyB9IGZyb20gXCIuL3V0aWxcIjtcbmNvbnN0IFNMQVNIID0gJy8nO1xuY29uc3QgSE9TVF9QQVRFUk4gPSAvaHR0cHM/OlxcL1xcL1tcXHdcXC0uXSsoOlxcZHsyLDV9KT9cXC8/LztcbmNvbnN0IFBBVEhfUEFURVJOID0gL1tcXHctXSsoXFwvW1xcdy1dKykqLztcbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25Db25mIHtcbiAgaG9zdD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICB2ZXJzaW9uPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XG4gIGVudj86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICB1c2VyPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XG4gIGJ1ZmZlck1heFNpemU/OiBudW1iZXIgfCAoKCkgPT4gbnVtYmVyKTtcbiAgZGVsYXk/OiBudW1iZXJ8ICgoKSA9PiBudW1iZXIpO1xuICBpbnN0YW5jZUFwaT86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICBzZXNzaW9uQXBpPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XG4gIGV4Y2x1ZGU/OiBSZWdFeHBbXSB8ICgoKSA9PiBSZWdFeHBbXSk7XG4gIGRlYnVnPzogYm9vbGVhbjtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVjaG5pY2FsQ29uZiB7XG4gIHVzZXI/OnN0cmluZyA7XG4gIGJ1ZmZlck1heFNpemU6IG51bWJlcjtcbiAgZGVsYXk6IG51bWJlcjtcbiAgaW5zdGFuY2VBcGk6IHN0cmluZztcbiAgc2Vzc2lvbkFwaTogc3RyaW5nO1xuICBleGNsdWRlOiBSZWdFeHBbXTtcbiAgZGVidWc6IGJvb2xlYW47XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG59XG5cbiBjb25zdCB2YWxpZGF0aW9uTWFwICA9IHsgLy8gcmVtb3ZlIFxuICBob3N0OiB7IGZ1bmM6IG1hdGNoUmVnZXgsIGFyZ3M6IFtIT1NUX1BBVEVSTl0gfSxcbiAgYnVmZmVyTWF4U2l6ZTogIHsgZnVuYzogcmVxdWlyZVBvc3RpdGl2ZVZhbHVlLCBhcmdzOiBbSE9TVF9QQVRFUk5dIH0sXG4gIGRlbGF5OiAgeyBmdW5jOiBtYXRjaFJlZ2V4LCBhcmdzOiBbSE9TVF9QQVRFUk5dIH0sXG4gIGluc3RhbmNlQXBpOiAgeyBmdW5jOiBtYXRjaFJlZ2V4LCBhcmdzOiBbSE9TVF9QQVRFUk5dIH0sXG4gIHNlc3Npb25BcGk6ICB7IGZ1bmM6IG1hdGNoUmVnZXgsIGFyZ3M6IFtIT1NUX1BBVEVSTl0gfVxuIH1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldENvbmZpZyhjb25mOkFwcGxpY2F0aW9uQ29uZil7XG4gIHJldHVybiAge1xuICAgIGhvc3Q6IGNvbmYuaG9zdCxcbiAgICBuYW1lOiBnZXRTdHJpbmdPckNhbGwoY29uZi5uYW1lKSxcbiAgICB2ZXJzaW9uOiBnZXRTdHJpbmdPckNhbGwoY29uZi52ZXJzaW9uKSA/PyAnJyxcbiAgICBlbnY6IGdldFN0cmluZ09yQ2FsbChjb25mLmVudik/PyAnJyxcbiAgICB1c2VyOiBnZXRTdHJpbmdPckNhbGwoY29uZi51c2VyKSA/PyAnJyxcbiAgICBidWZmZXJNYXhTaXplOiBnZXROdW1iZXJPckNhbGwoY29uZi5idWZmZXJNYXhTaXplKSxcbiAgICBkZWxheTogZ2V0TnVtYmVyT3JDYWxsKGNvbmYuZGVsYXkpLFxuICAgIGluc3RhbmNlQXBpOiBnZXRTdHJpbmdPckNhbGwoY29uZi5zZXNzaW9uQXBpKSxcbiAgICBzZXNzaW9uQXBpOiBnZXRTdHJpbmdPckNhbGwoY29uZi5pbnN0YW5jZUFwaSksXG4gICAgZXhjbHVkZTogZ2V0UmVnQXJyT3JDYWxsKGNvbmYuZXhjbHVkZSkgPz8gW10sIFxuICAgIGRlYnVnOiBjb25mLmRlYnVnID8/IGZhbHNlLFxuICAgIGVuYWJsZWQ6IGNvbmYuZW5hYmxlZCA/PyBmYWxzZVxuICB9XG4gLypcbiAgdGhpcy5sb2dTZXJ2ZXJNYWluID0gdGhpcy5zZXNzaW9uQXBpVVJMKGhvc3QsZ2V0U3RyaW5nT3JDYWxsKGNvbmZpZy5zZXNzaW9uQXBpKSEpO1xuICB0aGlzLmxvZ0luc3RhbmNlRW52ID0gdGhpcy5pbnN0YW5jZUFwaVVSTChob3N0LGdldFN0cmluZ09yQ2FsbChjb25maWcuaW5zdGFuY2VBcGkpISk7XG4gIHRoaXMubWF4QnVmZmVyU2l6ZSA9ICBnZXROdW1iZXJPckNhbGwoY29uZmlnLmJ1ZmZlck1heFNpemUpID8/IDEwMDA7XG4gIHRoaXMuZGVsYXkgPSBnZXROdW1iZXJPckNhbGwoY29uZmlnLmRlbGF5KSA/PyA2MDAwMDtcbiAgKi9cbn0gXG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnR5KHZhbHVlOmFueSwgZnVuYyA6ICguLi5hcmdzOmFueSk9PiBib29sZWFuKXtcbiAgaWYoZnVuYygpKXtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ2Vycm9yJykgLy8gcGFzcyB0aGUgZXJyb3IgcmV0dXJuIGZyb20gdGhlIHRoZSBwYXNzZWQgZnVuY3Rpb24gXG59XG5cblxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBbmRHZXRDb25maWcoY29uZjphbnkpOlRlY2huaWNhbENvbmZ7XG4gIGxldCBob3N0ID0gbWF0Y2hSZWdleChnZXRTdHJpbmdPckNhbGwoY29uZi5ob3N0KSwgXCJob3N0XCIgLCBIT1NUX1BBVEVSTikgXG4gIGxldCBzZXNzaW9uQXBpID0gICBtYXRjaFJlZ2V4KGdldFN0cmluZ09yQ2FsbChjb25mLnNlc3Npb25BcGkpLCdzZXNzaW9uQXBpJywgUEFUSF9QQVRFUk4sKSBcbiAgbGV0IGluc3RhbmNlQXBpID0gIG1hdGNoUmVnZXgoZ2V0U3RyaW5nT3JDYWxsKGNvbmYuc2Vzc2lvbkFwaSksJ2ludGFuY2VBcGknLCBQQVRIX1BBVEVSTiwpXG4gIHJldHVybiAge1xuICAgIHVzZXIgOiBnZXRTdHJpbmdPckNhbGwoY29uZi51c2VyKSxcbiAgICBidWZmZXJNYXhTaXplOiAgcmVxdWlyZVBvc3RpdGl2ZVZhbHVlKGdldE51bWJlck9yQ2FsbChjb25mLmRlbGF5KSxcImJ1ZmZlck1heFNpemVcIiwgMTAwMCkgLFxuICAgIGRlbGF5OiByZXF1aXJlUG9zdGl0aXZlVmFsdWUoZ2V0TnVtYmVyT3JDYWxsKGNvbmYuZGVsYXkpLFwiZGVsYXlcIiwgNjAwMDApICxcbiAgICBpbnN0YW5jZUFwaTogc2Vzc2lvbkFwaVVSTChob3N0LCBzZXNzaW9uQXBpKSxcbiAgICBzZXNzaW9uQXBpOiBpbnN0YW5jZUFwaVVSTChob3N0LCBpbnN0YW5jZUFwaSksXG4gICAgZXhjbHVkZTogZ2V0UmVnQXJyT3JDYWxsKGNvbmYuZXhjbHVkZSkgfHwgW10sXG4gICAgZGVidWc6IGNvbmYuZGVidWcgPz8gZmFsc2UsXG4gICAgZW5hYmxlZDogY29uZi5lbmFibGVkID8/IGZhbHNlXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEdldEluc3RhbmNlRW52aXJvbmVtZW50KGNvbmY6QXBwbGljYXRpb25Db25mKXtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogZ2V0U3RyaW5nT3JDYWxsKGNvbmYubmFtZSksXG4gICAgICB2ZXJzaW9uOiBnZXRTdHJpbmdPckNhbGwoY29uZi52ZXJzaW9uKSxcbiAgICAgIGFkZHJlc3M6IHVuZGVmaW5lZCwgLy9zZXJ2ZXIgc2lkZVxuICAgICAgZW52OiBnZXRTdHJpbmdPckNhbGwoY29uZi5lbnYpLFxuICAgICAgb3M6IGRldGVjdE9zKCksXG4gICAgICByZTogZGV0ZWN0QnJvd3NlcigpLFxuICAgICAgdXNlcjogdW5kZWZpbmVkLCAvLyBjYW5ub3QgZ2V0IHVzZXJcbiAgICAgIHR5cGU6IFwiQ0xJRU5UXCIsXG4gICAgICBpbnN0YW50OiBkYXRlTm93KCksXG4gICAgICBjb2xsZWN0b3I6IFwiaW5zcGVjdC1uZy1jb2xsZWN0b3ItMC4wLjFcIlxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROdW1iZXJPckNhbGwobz86IG51bWJlciB8ICgoKSA9PiBudW1iZXIpKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHR5cGVvZiBvID09PSBcImZ1bmN0aW9uXCIgPyBvKCkgOiBvO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RyaW5nT3JDYWxsKG8/OiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB0eXBlb2YgbyA9PT0gXCJmdW5jdGlvblwiID8gbygpIDogbztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlZ0Fyck9yQ2FsbChvPzogUmVnRXhwW10gfCAoKCkgPT4gUmVnRXhwW10pKTogUmVnRXhwW10gfCB1bmRlZmluZWQge1xuICByZXR1cm4gdHlwZW9mIG8gPT09IFwiZnVuY3Rpb25cIiA/IG8oKSA6IG87XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RCcm93c2VyKCkge1xuICB0cnkge1xuICAgICAgY29uc3QgYWdlbnQgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpXG4gICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICBjYXNlIGFnZW50LmluZGV4T2YoJ2VkZ2UnKSA+IC0xOlxuICAgICAgICAgICAgICByZXR1cm4gJ2VkZ2UnO1xuICAgICAgICAgIGNhc2UgYWdlbnQuaW5kZXhPZignb3ByJykgPiAtMTpcbiAgICAgICAgICAgICAgcmV0dXJuICdvcGVyYSc7XG4gICAgICAgICAgY2FzZSBhZ2VudC5pbmRleE9mKCdjaHJvbWUnKSA+IC0xOlxuICAgICAgICAgICAgICByZXR1cm4gJ2Nocm9tZSc7XG4gICAgICAgICAgY2FzZSBhZ2VudC5pbmRleE9mKCdmaXJlZm94JykgPiAtMTpcbiAgICAgICAgICAgICAgcmV0dXJuICdmaXJlZm94JztcbiAgICAgICAgICBjYXNlIGFnZW50LmluZGV4T2YoJ3NhZmFyaScpID4gLTE6XG4gICAgICAgICAgICAgIHJldHVybiAnc2FmYXJpJztcbiAgICAgIH1cbiAgfVxuICBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0T3MoKSB7XG4gIHRyeSB7XG4gICAgICBsZXQgdmVyc2lvbk1hdGNoLCB2ZXJzaW9uO1xuICAgICAgY29uc3QgYWdlbnQgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpXG4gICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICBjYXNlICgvd2luZG93cy8udGVzdChhZ2VudCkpOlxuICAgICAgICAgICAgICB2ZXJzaW9uTWF0Y2ggPSAvd2luZG93cyBudCAoXFxkK1xcLlxcZCspLy5leGVjKGFnZW50KTtcbiAgICAgICAgICAgICAgdmVyc2lvbiA9IHZlcnNpb25NYXRjaCA/IHZlcnNpb25NYXRjaFsxXSA6ICdVbmtub3duJztcbiAgICAgICAgICAgICAgcmV0dXJuIGBXaW5kb3dzICR7dmVyc2lvbn1gO1xuICAgICAgICAgIGNhc2UgKC9saW51eC8udGVzdChhZ2VudCkpOlxuICAgICAgICAgICAgICByZXR1cm4gJ0xpbnV4JztcblxuICAgICAgICAgIGNhc2UgKC9tYWNpbnRvc2gvLnRlc3QoYWdlbnQpKTpcbiAgICAgICAgICAgICAgdmVyc2lvbk1hdGNoID0gL21hYyBvcyB4IChcXGQrWy5fXVxcZCtbLl9dXFxkKykvLmV4ZWMoYWdlbnQpO1xuICAgICAgICAgICAgICB2ZXJzaW9uID0gdmVyc2lvbk1hdGNoID8gdmVyc2lvbk1hdGNoWzFdIDogJ1Vua25vd24nO1xuICAgICAgICAgICAgICByZXR1cm4gYE1hY09zICR7dmVyc2lvbn1gXG4gICAgICB9XG4gIH1cbiAgY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaW5zdGFuY2VBcGlVUkwoaG9zdDpzdHJpbmcsIHBhdGg6c3RyaW5nKXtcbiAgcmV0dXJuICB0b1VSTChob3N0LHBhdGgpO1xufVxuXG5mdW5jdGlvbiBzZXNzaW9uQXBpVVJMKGhvc3Q6c3RyaW5nLCBwYXRoOnN0cmluZyl7XG4gIHJldHVybiAgdG9VUkwoaG9zdCxwYXRoKTtcbn1cblxuZnVuY3Rpb24gdG9VUkwoaG9zdDpzdHJpbmcsIHBhdGg6c3RyaW5nICl7XG4gICByZXR1cm4gaG9zdC5lbmRzV2l0aChTTEFTSCkgfHwgcGF0aC5zdGFydHNXaXRoKFNMQVNIKSA/IGhvc3QgKyBwYXRoIDogW2hvc3QscGF0aF0uam9pbihTTEFTSCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFJlZ2V4KHY6IHN0cmluZyB8IHVuZGVmaW5lZCwgIG5hbWU6IHN0cmluZywgcGF0dGVybjogUmVnRXhwLCkge1xuICBpZih2ICYmIHBhdHRlcm4uZXhlYyh2KSl7XG4gICAgIHJldHVybiB2O1xuICB9XG4gIHRocm93IGBiYWQgdmFsdWUgJHtuYW1lfT0ke3Z9LCBwYXR0ZXJuPSR7cGF0dGVybn1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVxdWlyZVBvc3RpdGl2ZVZhbHVlKHY6IG51bWJlciB8IHVuZGVmaW5lZCwgbmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6bnVtYmVyKXtcbiAgaWYodiAmJiB2ID4gMCkge1xuICAgIHJldHVybiB2O1xuICB9XG4gIGlmKHYgPT0gdW5kZWZpbmVkKXtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICB9XG4gIHRocm93IGBiYWQgdmFsdWUgJHtuYW1lfT0gJHt2fSA8PSAwYCAgXG59XG5cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { NavigationEnd, NavigationStart } from "@angular/router";
3
+ import { logInspect } from "./util";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "./session-manager.service";
7
+ export class EventManagerService {
8
+ constructor(router, sessionManager) {
9
+ this.router = router;
10
+ this.sessionManager = sessionManager;
11
+ logInspect('initialize EventManagerService');
12
+ window.addEventListener('beforeunload', (event) => {
13
+ this.sessionManager.newSession(); //force
14
+ this.sessionManager.sendSessions();
15
+ });
16
+ this.router.events.subscribe(event => {
17
+ if (event instanceof NavigationStart) {
18
+ this.sessionManager.newSession(event.url);
19
+ }
20
+ if (event instanceof NavigationEnd) {
21
+ this.sessionManager.getCurrentSession().name = document.title;
22
+ this.sessionManager.getCurrentSession().location = document.URL;
23
+ }
24
+ });
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EventManagerService, deps: [{ token: i1.Router }, { token: i2.SessionManager }], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EventManagerService, providedIn: 'root' }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EventManagerService, decorators: [{
30
+ type: Injectable,
31
+ args: [{ providedIn: 'root' }]
32
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.SessionManager }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25ldGVtZS9pbnNwZWN0LW5nLWNvbGxlY3Rvci9zcmMvbGliL2V2ZW50LW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUcsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBQyxNQUFNLFFBQVEsQ0FBQzs7OztBQUtuQyxNQUFNLE9BQU8sbUJBQW1CO0lBRTVCLFlBQW9CLE1BQWMsRUFDZCxjQUE4QjtRQUQ5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlDLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUF3QixFQUFRLEVBQUU7WUFDdkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBLFFBQVE7WUFDekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQyxJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM3QztZQUNELElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7YUFDbkU7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7K0dBbEJRLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRE4sTUFBTTs7NEZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyAgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgbG9nSW5zcGVjdH0gZnJvbSBcIi4vdXRpbFwiO1xuaW1wb3J0IHsgU2Vzc2lvbk1hbmFnZXIgfSBmcm9tIFwiLi9zZXNzaW9uLW1hbmFnZXIuc2VydmljZVwiO1xuXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pIFxuZXhwb3J0IGNsYXNzIEV2ZW50TWFuYWdlclNlcnZpY2UgIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzZXNzaW9uTWFuYWdlcjogU2Vzc2lvbk1hbmFnZXIpIHtcbiAgICAgICAgbG9nSW5zcGVjdCgnaW5pdGlhbGl6ZSBFdmVudE1hbmFnZXJTZXJ2aWNlJyk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCAoZXZlbnQ6IEJlZm9yZVVubG9hZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25NYW5hZ2VyLm5ld1Nlc3Npb24oKTsvL2ZvcmNlIFxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uTWFuYWdlci5zZW5kU2Vzc2lvbnMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uTWFuYWdlci5uZXdTZXNzaW9uKGV2ZW50LnVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uTWFuYWdlci5nZXRDdXJyZW50U2Vzc2lvbigpLm5hbWUgPSBkb2N1bWVudC50aXRsZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25NYW5hZ2VyLmdldEN1cnJlbnRTZXNzaW9uKCkubG9jYXRpb24gPSBkb2N1bWVudC5VUkw7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuIFxuXG4gICAgXG5cbiAgXG59XG5cbiJdfQ==
@@ -3,11 +3,11 @@ import { HttpResponse } from '@angular/common/http';
3
3
  import { tap, finalize } from 'rxjs/operators';
4
4
  import { dateNow } from './util';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "./route-tracer.service";
6
+ import * as i1 from "./session-manager.service";
7
7
  export class HttpInterceptorService {
8
- constructor(routerTracerService) {
9
- this.routerTracerService = routerTracerService;
10
- }
8
+ constructor(SessionManager) {
9
+ this.SessionManager = SessionManager;
10
+ } // change this to session manager
11
11
  intercept(req, next) {
12
12
  const start = dateNow();
13
13
  let status, responseBody = '', exception;
@@ -19,7 +19,6 @@ export class HttpInterceptorService {
19
19
  id = getReqid(event.headers);
20
20
  }
21
21
  }, error => {
22
- console.log(error);
23
22
  id = getReqid(error.headers);
24
23
  status = +error.status;
25
24
  exception = {
@@ -28,7 +27,7 @@ export class HttpInterceptorService {
28
27
  };
29
28
  }), finalize(() => {
30
29
  const url = toHref(req.urlWithParams);
31
- this.routerTracerService.getCurrentSession().restRequests.push({
30
+ this.SessionManager.getCurrentSession().restRequests.push({
32
31
  id: id,
33
32
  method: req.method,
34
33
  protocol: url.protocol.slice(0, -1),
@@ -47,13 +46,13 @@ export class HttpInterceptorService {
47
46
  });
48
47
  }));
49
48
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpInterceptorService, deps: [{ token: i1.RouteTracerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpInterceptorService, deps: [{ token: i1.SessionManager }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
50
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpInterceptorService, providedIn: 'root' }); }
52
51
  }
53
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpInterceptorService, decorators: [{
54
53
  type: Injectable,
55
54
  args: [{ providedIn: 'root' }]
56
- }], ctorParameters: function () { return [{ type: i1.RouteTracerService }]; } });
55
+ }], ctorParameters: function () { return [{ type: i1.SessionManager }]; } });
57
56
  function toHref(url) {
58
57
  const href = document.createElement('a');
59
58
  href.setAttribute('href', url);
@@ -76,4 +75,4 @@ function getReqid(headers) {
76
75
  function sizeOf(body) {
77
76
  return body ? JSON.stringify(body).length : 0;
78
77
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25ldGVtZS9pbnNwZWN0LW5nLWNvbGxlY3Rvci9zcmMvbGliL2h0dHAtaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBd0QsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUcsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUc5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7QUFHakMsTUFBTSxPQUFPLHNCQUFzQjtJQUUvQixZQUFvQixtQkFBdUM7UUFBdkMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtJQUFJLENBQUM7SUFFaEUsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDOUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDeEIsSUFBSSxNQUFjLEVBQUUsWUFBWSxHQUFRLEVBQUUsRUFBRSxTQUF3QixDQUFDO1FBQ3JFLElBQUksRUFBcUIsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDNUIsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNYLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRTtnQkFDL0IsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDdkIsWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUE7Z0JBQ3pCLEVBQUUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2hDO1FBQ0wsQ0FBQyxFQUNELEtBQUssQ0FBQyxFQUFFO1lBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNsQixFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3QixNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLFNBQVMsR0FBRztnQkFDUixJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLO2dCQUN2QixPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPO2FBQy9CLENBQUE7UUFDTCxDQUFDLENBQ0osRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFO1lBRWIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUMzRCxFQUFFLEVBQUUsRUFBRTtnQkFDTixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07Z0JBQ2xCLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDNUIsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRO2dCQUNsQixLQUFLLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUM3QyxXQUFXLEVBQUUsR0FBRyxDQUFDLFlBQVk7Z0JBQzdCLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO2dCQUMxQyxNQUFNLEVBQUUsQ0FBQyxNQUFNO2dCQUNmLFVBQVUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDO2dCQUNoQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQzVCLEtBQUssRUFBRSxLQUFLO2dCQUNaLEdBQUcsRUFBRSxPQUFPLEVBQUU7Z0JBQ2QsU0FBUyxFQUFFLFNBQVM7YUFDdkIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7K0dBOUNRLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRFQsTUFBTTs7NEZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBa0RsQyxTQUFTLE1BQU0sQ0FBQyxHQUFXO0lBQ3ZCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0IsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLElBQVk7SUFDOUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0lBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDdEMsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsT0FBWTtJQUNuQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLE9BQVc7SUFDekIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUMzQixDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDMUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNwQixDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsSUFBUztJQUNyQixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cEludGVyY2VwdG9yLCBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwUmVxdWVzdCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgdGFwLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgUm91dGVUcmFjZXJTZXJ2aWNlIH0gZnJvbSAnLi9yb3V0ZS10cmFjZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFeGNlcHRpb25JbmZvIH0gZnJvbSAnLi90cmFjZS5tb2RlbCc7XG5pbXBvcnQgeyBkYXRlTm93IH0gZnJvbSAnLi91dGlsJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBIdHRwSW50ZXJjZXB0b3JTZXJ2aWNlIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyVHJhY2VyU2VydmljZTogUm91dGVUcmFjZXJTZXJ2aWNlKSB7IH1cblxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICBjb25zdCBzdGFydCA9IGRhdGVOb3coKTtcbiAgICAgICAgbGV0IHN0YXR1czogbnVtYmVyLCByZXNwb25zZUJvZHk6IGFueSA9ICcnLCBleGNlcHRpb246IEV4Y2VwdGlvbkluZm87XG4gICAgICAgIGxldCBpZDogc3RyaW5nfCB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUodGFwKFxuICAgICAgICAgICAgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gK2V2ZW50LnN0YXR1cztcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VCb2R5ID0gZXZlbnQuYm9keVxuICAgICAgICAgICAgICAgICAgICBpZCA9IGdldFJlcWlkKGV2ZW50LmhlYWRlcnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgICAgICAgICAgICAgaWQgPSBnZXRSZXFpZChlcnJvci5oZWFkZXJzKTtcbiAgICAgICAgICAgICAgICBzdGF0dXMgPSArZXJyb3Iuc3RhdHVzO1xuICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogZXJyb3IuZXJyb3IuZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLmVycm9yLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICApLCBmaW5hbGl6ZSgoKSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRvSHJlZihyZXEudXJsV2l0aFBhcmFtcyk7XG4gICAgICAgICAgICB0aGlzLnJvdXRlclRyYWNlclNlcnZpY2UuZ2V0Q3VycmVudFNlc3Npb24oKS5yZXN0UmVxdWVzdHMucHVzaCh7XG4gICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgIG1ldGhvZDogcmVxLm1ldGhvZCxcbiAgICAgICAgICAgICAgICBwcm90b2NvbDogdXJsLnByb3RvY29sLnNsaWNlKDAsIC0xKSxcbiAgICAgICAgICAgICAgICBob3N0OiBleGN0cmFjdEhvc3QodXJsLmhvc3QpLFxuICAgICAgICAgICAgICAgIHBvcnQ6ICt1cmwucG9ydCxcbiAgICAgICAgICAgICAgICBwYXRoOiB1cmwucGF0aG5hbWUsXG4gICAgICAgICAgICAgICAgcXVlcnk6IHVybC5zZWFyY2guc2xpY2UoMSwgdXJsLnNlYXJjaC5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlOiByZXEucmVzcG9uc2VUeXBlLFxuICAgICAgICAgICAgICAgIGF1dGhTY2hlbWU6IGV4dHJhY3RBdXRoU2NoZW1lKHJlcS5oZWFkZXJzKSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6ICtzdGF0dXMsXG4gICAgICAgICAgICAgICAgaW5EYXRhU2l6ZTogc2l6ZU9mKHJlc3BvbnNlQm9keSksXG4gICAgICAgICAgICAgICAgb3VEYXRhU2l6ZTogc2l6ZU9mKHJlcS5ib2R5KSxcbiAgICAgICAgICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgICAgICAgICAgZW5kOiBkYXRlTm93KCksXG4gICAgICAgICAgICAgICAgZXhjZXB0aW9uOiBleGNlcHRpb25cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB0b0hyZWYodXJsOiBzdHJpbmcpOiBIVE1MQW5jaG9yRWxlbWVudCB7XG4gICAgY29uc3QgaHJlZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBocmVmLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XG4gICAgcmV0dXJuIGhyZWY7XG59XG5cbmZ1bmN0aW9uIGV4Y3RyYWN0SG9zdChwYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwb3J0cmVnZXggPSAvOlxcZCsvO1xuICAgIHJldHVybiBwYXRoLnJlcGxhY2UocG9ydHJlZ2V4LCAnJylcbn1cblxuZnVuY3Rpb24gZXh0cmFjdEF1dGhTY2hlbWUoaGVhZGVyczogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gaGVhZGVycy5oYXMoJ2F1dGhvcml6YXRpb24nKVxuICAgICAgICA/IGhlYWRlcnMuZ2V0KCdhdXRob3JpemF0aW9uJykubWF0Y2goL14oXFx3KykgLyk/LmF0KDEpXG4gICAgICAgIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBnZXRSZXFpZChoZWFkZXJzOmFueSk6c3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gaGVhZGVycy5oYXMoJ3gtdHJhY2VydCcpXG4gICAgICAgID8gaGVhZGVycy5nZXQoJ3gtdHJhY2VydCcpXG4gICAgICAgIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBzaXplT2YoYm9keTogYW55KTogbnVtYmVyIHtcbiAgICByZXR1cm4gYm9keSA/IEpTT04uc3RyaW5naWZ5KGJvZHkpLmxlbmd0aCA6IDA7XG59XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25ldGVtZS9pbnNwZWN0LW5nLWNvbGxlY3Rvci9zcmMvbGliL2h0dHAtaW50ZXJjZXB0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBd0QsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUcsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7QUFJakMsTUFBTSxPQUFPLHNCQUFzQjtJQUUvQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBSSxDQUFDLENBQUMsaUNBQWlDO0lBRXpGLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBQzlDLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksTUFBYyxFQUFFLFlBQVksR0FBUSxFQUFFLEVBQUUsU0FBd0IsQ0FBQztRQUNyRSxJQUFJLEVBQXFCLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQzVCLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDWCxJQUFJLEtBQUssWUFBWSxZQUFZLEVBQUU7Z0JBQy9CLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQ3ZCLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFBO2dCQUN6QixFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNoQztRQUNMLENBQUMsRUFDRCxLQUFLLENBQUMsRUFBRTtZQUNKLEVBQUUs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QUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cEludGVyY2VwdG9yLCBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwUmVxdWVzdCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgdGFwLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgRXhjZXB0aW9uSW5mbyB9IGZyb20gJy4vdHJhY2UubW9kZWwnO1xuaW1wb3J0IHsgZGF0ZU5vdyB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBTZXNzaW9uTWFuYWdlciB9IGZyb20gJy4vc2Vzc2lvbi1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEh0dHBJbnRlcmNlcHRvclNlcnZpY2UgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBTZXNzaW9uTWFuYWdlcjogU2Vzc2lvbk1hbmFnZXIpIHsgfSAvLyBjaGFuZ2UgdGhpcyB0byBzZXNzaW9uIG1hbmFnZXJcblxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICBjb25zdCBzdGFydCA9IGRhdGVOb3coKTtcbiAgICAgICAgbGV0IHN0YXR1czogbnVtYmVyLCByZXNwb25zZUJvZHk6IGFueSA9ICcnLCBleGNlcHRpb246IEV4Y2VwdGlvbkluZm87XG4gICAgICAgIGxldCBpZDogc3RyaW5nfCB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpLnBpcGUodGFwKFxuICAgICAgICAgICAgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gK2V2ZW50LnN0YXR1cztcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VCb2R5ID0gZXZlbnQuYm9keVxuICAgICAgICAgICAgICAgICAgICBpZCA9IGdldFJlcWlkKGV2ZW50LmhlYWRlcnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgaWQgPSBnZXRSZXFpZChlcnJvci5oZWFkZXJzKTtcbiAgICAgICAgICAgICAgICBzdGF0dXMgPSArZXJyb3Iuc3RhdHVzO1xuICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogZXJyb3IuZXJyb3IuZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLmVycm9yLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICApLCBmaW5hbGl6ZSgoKSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRvSHJlZihyZXEudXJsV2l0aFBhcmFtcyk7XG4gICAgICAgICAgICB0aGlzLlNlc3Npb25NYW5hZ2VyLmdldEN1cnJlbnRTZXNzaW9uKCkucmVzdFJlcXVlc3RzLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAgICBtZXRob2Q6IHJlcS5tZXRob2QsXG4gICAgICAgICAgICAgICAgcHJvdG9jb2w6IHVybC5wcm90b2NvbC5zbGljZSgwLCAtMSksXG4gICAgICAgICAgICAgICAgaG9zdDogZXhjdHJhY3RIb3N0KHVybC5ob3N0KSxcbiAgICAgICAgICAgICAgICBwb3J0OiArdXJsLnBvcnQsXG4gICAgICAgICAgICAgICAgcGF0aDogdXJsLnBhdGhuYW1lLFxuICAgICAgICAgICAgICAgIHF1ZXJ5OiB1cmwuc2VhcmNoLnNsaWNlKDEsIHVybC5zZWFyY2gubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICBjb250ZW50VHlwZTogcmVxLnJlc3BvbnNlVHlwZSxcbiAgICAgICAgICAgICAgICBhdXRoU2NoZW1lOiBleHRyYWN0QXV0aFNjaGVtZShyZXEuaGVhZGVycyksXG4gICAgICAgICAgICAgICAgc3RhdHVzOiArc3RhdHVzLFxuICAgICAgICAgICAgICAgIGluRGF0YVNpemU6IHNpemVPZihyZXNwb25zZUJvZHkpLFxuICAgICAgICAgICAgICAgIG91RGF0YVNpemU6IHNpemVPZihyZXEuYm9keSksXG4gICAgICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICAgICAgICAgIGVuZDogZGF0ZU5vdygpLFxuICAgICAgICAgICAgICAgIGV4Y2VwdGlvbjogZXhjZXB0aW9uXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSkpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdG9IcmVmKHVybDogc3RyaW5nKTogSFRNTEFuY2hvckVsZW1lbnQge1xuICAgIGNvbnN0IGhyZWYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgaHJlZi5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB1cmwpO1xuICAgIHJldHVybiBocmVmO1xufVxuXG5mdW5jdGlvbiBleGN0cmFjdEhvc3QocGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3QgcG9ydHJlZ2V4ID0gLzpcXGQrLztcbiAgICByZXR1cm4gcGF0aC5yZXBsYWNlKHBvcnRyZWdleCwgJycpXG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RBdXRoU2NoZW1lKGhlYWRlcnM6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGhlYWRlcnMuaGFzKCdhdXRob3JpemF0aW9uJylcbiAgICAgICAgPyBoZWFkZXJzLmdldCgnYXV0aG9yaXphdGlvbicpLm1hdGNoKC9eKFxcdyspIC8pPy5hdCgxKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZ2V0UmVxaWQoaGVhZGVyczphbnkpOnN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGhlYWRlcnMuaGFzKCd4LXRyYWNlcnQnKVxuICAgICAgICA/IGhlYWRlcnMuZ2V0KCd4LXRyYWNlcnQnKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mKGJvZHk6IGFueSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGJvZHkgPyBKU09OLnN0cmluZ2lmeShib2R5KS5sZW5ndGggOiAwO1xufVxuIl19
@@ -1,32 +1,32 @@
1
1
  import { NgModule, APP_INITIALIZER } from '@angular/core';
2
2
  import { HTTP_INTERCEPTORS, } from '@angular/common/http';
3
+ import { logInspect } from './util';
4
+ import { NavigationEnd, NavigationStart, Router } from '@angular/router';
5
+ import { GetInstanceEnvironement, validateAndGetConfig } from './configuration';
3
6
  import { HttpInterceptorService } from './http-interceptor.service';
4
- import { RouteTracerService } from './route-tracer.service';
5
- import { getNumberOrCall, requirePostitiveValue, matchRegex, HOST_PATERN, PATH_PATERN, getStringOrCall } from './util';
6
7
  import { SessionManager } from './session-manager.service';
7
8
  import * as i0 from "@angular/core";
8
9
  export class NgCollectorModule {
9
- static forRoot(host, configuration) {
10
- if (configuration?.enabled
11
- && matchRegex(host, HOST_PATERN)
12
- && matchRegex(getStringOrCall(configuration?.sessionApi), PATH_PATERN)
13
- && matchRegex(getStringOrCall(configuration?.instanceApi), PATH_PATERN)) {
14
- if (!requirePostitiveValue(getNumberOrCall(configuration?.delay), "delay") ||
15
- !requirePostitiveValue(getNumberOrCall(configuration?.bufferMaxSize), "bufferMaxSize")) {
16
- console.warn('invalid Configuration, Ng-collector is disabled');
17
- return { ngModule: NgCollectorModule };
10
+ static forRoot(configuration) {
11
+ if (configuration?.enabled) {
12
+ try {
13
+ let config = validateAndGetConfig(configuration);
14
+ let instance = GetInstanceEnvironement(configuration);
15
+ return {
16
+ ngModule: NgCollectorModule,
17
+ providers: [
18
+ SessionManager,
19
+ //EventManagerService,
20
+ { provide: APP_INITIALIZER, useFactory: initializeEvents, deps: [Router, SessionManager], multi: true },
21
+ { provide: HTTP_INTERCEPTORS, useClass: HttpInterceptorService, multi: true },
22
+ { provide: 'instance', useValue: instance },
23
+ { provide: 'config', useValue: config }
24
+ ]
25
+ };
26
+ }
27
+ catch (e) {
28
+ console.warn('invalid Configuration, Ng-collector is disabled because', e);
18
29
  }
19
- return {
20
- ngModule: NgCollectorModule,
21
- providers: [
22
- RouteTracerService,
23
- SessionManager,
24
- { provide: APP_INITIALIZER, useFactory: initializeRoutingEvents, deps: [RouteTracerService], multi: true },
25
- { provide: HTTP_INTERCEPTORS, useClass: HttpInterceptorService, multi: true },
26
- { provide: 'config', useValue: configuration },
27
- { provide: 'host', useValue: host }
28
- ]
29
- };
30
30
  }
31
31
  return {
32
32
  ngModule: NgCollectorModule
@@ -37,10 +37,24 @@ export class NgCollectorModule {
37
37
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgCollectorModule }); }
38
38
  }
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgCollectorModule, decorators: [{
40
- type: NgModule,
41
- args: [{}]
40
+ type: NgModule
42
41
  }] });
43
- export function initializeRoutingEvents(routeTracerService) {
44
- return () => routeTracerService.initialize();
42
+ export function initializeEvents(router, sessionManager) {
43
+ return () => {
44
+ logInspect('initialize routing events listeners');
45
+ window.addEventListener('beforeunload', (event) => {
46
+ sessionManager.newSession(); //force
47
+ sessionManager.sendSessions();
48
+ });
49
+ router.events.subscribe(event => {
50
+ if (event instanceof NavigationStart) {
51
+ sessionManager.newSession(event.url);
52
+ }
53
+ if (event instanceof NavigationEnd) {
54
+ sessionManager.getCurrentSession().name = document.title;
55
+ sessionManager.getCurrentSession().location = document.URL;
56
+ }
57
+ });
58
+ };
45
59
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctY29sbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZXRlbWUvaW5zcGVjdC1uZy1jb2xsZWN0b3Ivc3JjL2xpYi9uZy1jb2xsZWN0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBSzNELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsYUFBOEI7UUFDekQsSUFBSSxhQUFhLEVBQUUsT0FBTztlQUNuQixVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztlQUM3QixVQUFVLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsRUFBRSxXQUFXLENBQUM7ZUFDbkUsVUFBVSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFHMUUsSUFBRyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxDQUFDO2dCQUNyRSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLEVBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ3JGLE9BQU8sQ0FBQyxJQUFJLENBQUMsaURBQWlELENBQUMsQ0FBQztnQkFDbEUsT0FBTyxFQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxDQUFBO2FBQ3RDO1lBQ0YsT0FBTztnQkFDTCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixTQUFTLEVBQUU7b0JBQ1Qsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO29CQUMxRyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtvQkFDN0UsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7b0JBQzlDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2lCQUNwQzthQUNGLENBQUM7U0FDSDtRQUNELE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1NBQzVCLENBQUE7SUFFSCxDQUFDOytHQTlCVSxpQkFBaUI7Z0hBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixRQUFRO21CQUFDLEVBQUU7O0FBa0NaLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxrQkFBc0M7SUFDNUUsT0FBTyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMsIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSHR0cEludGVyY2VwdG9yU2VydmljZSB9IGZyb20gJy4vaHR0cC1pbnRlcmNlcHRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlVHJhY2VyU2VydmljZSB9IGZyb20gJy4vcm91dGUtdHJhY2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0TnVtYmVyT3JDYWxsLCByZXF1aXJlUG9zdGl0aXZlVmFsdWUsIG1hdGNoUmVnZXgsIEhPU1RfUEFURVJOLCBQQVRIX1BBVEVSTiwgZ2V0U3RyaW5nT3JDYWxsIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IFNlc3Npb25NYW5hZ2VyIH0gZnJvbSAnLi9zZXNzaW9uLW1hbmFnZXIuc2VydmljZSc7XG5cblxuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgTmdDb2xsZWN0b3JNb2R1bGUge1xuXG4gIHN0YXRpYyBmb3JSb290KGhvc3Q6IHN0cmluZywgY29uZmlndXJhdGlvbjogQXBwbGljYXRpb25Db25mKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ0NvbGxlY3Rvck1vZHVsZT4ge1xuICAgIGlmIChjb25maWd1cmF0aW9uPy5lbmFibGVkXG4gICAgICAgICYmIG1hdGNoUmVnZXgoaG9zdCwgSE9TVF9QQVRFUk4pXG4gICAgICAgICYmIG1hdGNoUmVnZXgoZ2V0U3RyaW5nT3JDYWxsKGNvbmZpZ3VyYXRpb24/LnNlc3Npb25BcGkpLCBQQVRIX1BBVEVSTilcbiAgICAgICAgJiYgbWF0Y2hSZWdleChnZXRTdHJpbmdPckNhbGwoY29uZmlndXJhdGlvbj8uaW5zdGFuY2VBcGkpLCBQQVRIX1BBVEVSTikpIHtcblxuXG4gICAgICAgaWYoIXJlcXVpcmVQb3N0aXRpdmVWYWx1ZShnZXROdW1iZXJPckNhbGwoY29uZmlndXJhdGlvbj8uZGVsYXkpLFwiZGVsYXlcIikgfHxcbiAgICAgICAgICAhcmVxdWlyZVBvc3RpdGl2ZVZhbHVlKGdldE51bWJlck9yQ2FsbChjb25maWd1cmF0aW9uPy5idWZmZXJNYXhTaXplKSxcImJ1ZmZlck1heFNpemVcIikgKXtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignaW52YWxpZCBDb25maWd1cmF0aW9uLCBOZy1jb2xsZWN0b3IgaXMgZGlzYWJsZWQnKTtcbiAgICAgICAgICByZXR1cm4ge25nTW9kdWxlOiBOZ0NvbGxlY3Rvck1vZHVsZX1cbiAgICAgICB9ICBcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5nTW9kdWxlOiBOZ0NvbGxlY3Rvck1vZHVsZSxcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgUm91dGVUcmFjZXJTZXJ2aWNlLFxuICAgICAgICAgIFNlc3Npb25NYW5hZ2VyLFxuICAgICAgICAgIHsgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBpbml0aWFsaXplUm91dGluZ0V2ZW50cywgZGVwczogW1JvdXRlVHJhY2VyU2VydmljZV0sIG11bHRpOiB0cnVlIH0sXG4gICAgICAgICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEh0dHBJbnRlcmNlcHRvclNlcnZpY2UsIG11bHRpOiB0cnVlIH0sXG4gICAgICAgICAgeyBwcm92aWRlOiAnY29uZmlnJywgdXNlVmFsdWU6IGNvbmZpZ3VyYXRpb24gfSxcbiAgICAgICAgICB7IHByb3ZpZGU6ICdob3N0JywgdXNlVmFsdWU6IGhvc3QgfVxuICAgICAgICBdXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5nQ29sbGVjdG9yTW9kdWxlXG4gICAgfVxuXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVSb3V0aW5nRXZlbnRzKHJvdXRlVHJhY2VyU2VydmljZTogUm91dGVUcmFjZXJTZXJ2aWNlKSB7XG4gIHJldHVybiAoKSA9PiByb3V0ZVRyYWNlclNlcnZpY2UuaW5pdGlhbGl6ZSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uQ29uZiB7XG4gIG5hbWU/OiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKTtcbiAgdmVyc2lvbj86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICBlbnY/OiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKTtcbiAgdXNlcj86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICBidWZmZXJNYXhTaXplPzogbnVtYmVyIHwgKCgpID0+IG51bWJlcik7XG4gIGRlbGF5PzogbnVtYmVyfCAoKCkgPT4gbnVtYmVyKTtcbiAgaW5zdGFuY2VBcGk/OiBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKTtcbiAgc2Vzc2lvbkFwaT86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICBleGNsdWRlPzogUmVnRXhwW10gfCAoKCkgPT4gUmVnRXhwW10pO1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xufVxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctY29sbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZXRlbWUvaW5zcGVjdC1uZy1jb2xsZWN0b3Ivc3JjL2xpYi9uZy1jb2xsZWN0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBbUIsdUJBQXVCLEVBQWEsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBTzNELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUE4QjtRQUMzQyxJQUFHLGFBQWEsRUFBRSxPQUFPLEVBQUM7WUFDeEIsSUFBRztnQkFDRCxJQUFJLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDakQsSUFBSSxRQUFRLEdBQUcsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3RELE9BQU87b0JBQ0wsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsU0FBUyxFQUFFO3dCQUNULGNBQWM7d0JBQ2Qsc0JBQXNCO3dCQUN0QixFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUN2RyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDN0UsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7d0JBQzNDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO3FCQUN4QztpQkFDRixDQUFDO2FBRUg7WUFBQSxPQUFNLENBQUMsRUFBQztnQkFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLHlEQUF5RCxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVFO1NBQ0Y7UUFDRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtTQUM1QixDQUFBO0lBQ0gsQ0FBQzsrR0ExQlUsaUJBQWlCO2dIQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsUUFBUTs7QUErQlQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWEsRUFBRSxjQUE4QjtJQUM1RSxPQUFPLEdBQUcsRUFBRTtRQUNWLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUF3QixFQUFRLEVBQUU7WUFDdkUsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUEsUUFBUTtZQUNwQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ2xDLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hDO1lBQ0QsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNoQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDekQsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7YUFDOUQ7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNSLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUywgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBsb2dJbnNwZWN0IH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29uZiwgR2V0SW5zdGFuY2VFbnZpcm9uZW1lbnQsIHNldENvbmZpZywgdmFsaWRhdGVBbmRHZXRDb25maWcgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgSHR0cEludGVyY2VwdG9yU2VydmljZSB9IGZyb20gJy4vaHR0cC1pbnRlcmNlcHRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25NYW5hZ2VyIH0gZnJvbSAnLi9zZXNzaW9uLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9ldmVudC1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5cblxuXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIE5nQ29sbGVjdG9yTW9kdWxlICB7XG5cbiAgc3RhdGljIGZvclJvb3QoY29uZmlndXJhdGlvbjogQXBwbGljYXRpb25Db25mKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ0NvbGxlY3Rvck1vZHVsZT4ge1xuICAgIGlmKGNvbmZpZ3VyYXRpb24/LmVuYWJsZWQpe1xuICAgICAgdHJ5e1xuICAgICAgICBsZXQgY29uZmlnID0gdmFsaWRhdGVBbmRHZXRDb25maWcoY29uZmlndXJhdGlvbik7XG4gICAgICAgIGxldCBpbnN0YW5jZSA9IEdldEluc3RhbmNlRW52aXJvbmVtZW50KGNvbmZpZ3VyYXRpb24pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5nTW9kdWxlOiBOZ0NvbGxlY3Rvck1vZHVsZSxcbiAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIFNlc3Npb25NYW5hZ2VyLCBcbiAgICAgICAgICAgIC8vRXZlbnRNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgICAgIHsgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBpbml0aWFsaXplRXZlbnRzLCBkZXBzOiBbUm91dGVyLCBTZXNzaW9uTWFuYWdlcl0sIG11bHRpOiB0cnVlIH0sXG4gICAgICAgICAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogSHR0cEludGVyY2VwdG9yU2VydmljZSwgbXVsdGk6IHRydWUgfSxcbiAgICAgICAgICAgIHsgcHJvdmlkZTogJ2luc3RhbmNlJywgdXNlVmFsdWU6IGluc3RhbmNlIH0sXG4gICAgICAgICAgICB7IHByb3ZpZGU6ICdjb25maWcnLCB1c2VWYWx1ZTogY29uZmlnIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgICAgIFxuICAgICAgfWNhdGNoKGUpe1xuICAgICAgICBjb25zb2xlLndhcm4oJ2ludmFsaWQgQ29uZmlndXJhdGlvbiwgTmctY29sbGVjdG9yIGlzIGRpc2FibGVkIGJlY2F1c2UnLCBlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ0NvbGxlY3Rvck1vZHVsZVxuICAgIH1cbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplRXZlbnRzKHJvdXRlcjpSb3V0ZXIsIHNlc3Npb25NYW5hZ2VyOiBTZXNzaW9uTWFuYWdlcikge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGxvZ0luc3BlY3QoJ2luaXRpYWxpemUgcm91dGluZyBldmVudHMgbGlzdGVuZXJzJyk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCAoZXZlbnQ6IEJlZm9yZVVubG9hZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICBzZXNzaW9uTWFuYWdlci5uZXdTZXNzaW9uKCk7Ly9mb3JjZSBcbiAgICAgICAgICAgIHNlc3Npb25NYW5hZ2VyLnNlbmRTZXNzaW9ucygpO1xuICAgICAgICB9KTtcbiAgICAgICAgcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgc2Vzc2lvbk1hbmFnZXIubmV3U2Vzc2lvbihldmVudC51cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgIHNlc3Npb25NYW5hZ2VyLmdldEN1cnJlbnRTZXNzaW9uKCkubmFtZSA9IGRvY3VtZW50LnRpdGxlO1xuICAgICAgICAgICAgICAgIHNlc3Npb25NYW5hZ2VyLmdldEN1cnJlbnRTZXNzaW9uKCkubG9jYXRpb24gPSBkb2N1bWVudC5VUkw7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICB9XG59XG5cblxuIl19
@@ -1,33 +1,16 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Inject, Injectable } from '@angular/core';
2
2
  import { BehaviorSubject, from, interval, of, tap } from 'rxjs';
3
- import { dateNow, detectBrowser, detectOs, getNumberOrCall, getStringOrCall, logInspect } from './util';
3
+ import { dateNow, logInspect, prettySessionFormat } from './util';
4
4
  import * as i0 from "@angular/core";
5
- const SLASH = '/';
6
5
  export class SessionManager {
7
- constructor() {
6
+ constructor(config, instance) {
8
7
  this.sessionQueue = [];
9
8
  this.sessionSendAttempts = 0;
10
9
  this.InstanceEnvSendAttempts = 0;
11
10
  this.sendSessionfinished = true;
12
11
  this.sendInstanceEnvFinished = true;
13
- }
14
- initialize(config, host) {
15
- this.logServerMain = this.sessionApiURL(host, getStringOrCall(config.sessionApi));
16
- this.logInstanceEnv = this.instanceApiURL(host, getStringOrCall(config.instanceApi));
17
- this.maxBufferSize = getNumberOrCall(config.bufferMaxSize) ?? 1000;
18
- this.delay = getNumberOrCall(config.delay) ?? 60000;
19
- this.instanceEnvironment = {
20
- name: getStringOrCall(config.name),
21
- version: getStringOrCall(config.version),
22
- address: undefined,
23
- env: getStringOrCall(config.env),
24
- os: detectOs(),
25
- re: detectBrowser(),
26
- user: undefined,
27
- type: "CLIENT",
28
- instant: dateNow(),
29
- collector: "inspect-ng-collector-0.0.1"
30
- };
12
+ this.config = config;
13
+ this.instanceEnvironment = instance;
31
14
  this.scheduledSessionSender = interval(this.delay)
32
15
  .pipe(tap(() => {
33
16
  if (this.sendSessionfinished) {
@@ -35,11 +18,31 @@ export class SessionManager {
35
18
  }
36
19
  }))
37
20
  .subscribe();
21
+ logInspect('SessionManager initialized');
38
22
  }
39
23
  addSessions(sessions) {
40
24
  this.sessionQueue.push(sessions);
41
25
  logInspect("added element to session queue, new size is: " + this.sessionQueue.length);
42
26
  }
27
+ newSession(url) {
28
+ if (this.currentSession) {
29
+ this.currentSession.end = dateNow();
30
+ if (this.config.exclude.every((e) => !e.test(this.currentSession.location))) {
31
+ this.addSessions(this.currentSession);
32
+ }
33
+ logInspect(() => prettySessionFormat(this.currentSession));
34
+ }
35
+ if (url) {
36
+ this.currentSession = {
37
+ '@type': "main",
38
+ user: this.config.user,
39
+ start: dateNow(),
40
+ type: "VIEW",
41
+ location: url,
42
+ restRequests: []
43
+ };
44
+ }
45
+ }
43
46
  sendSessions() {
44
47
  if (this.sessionQueue.length > 0) {
45
48
  this.getInsertedInstanceId().subscribe((id) => {
@@ -56,7 +59,7 @@ export class SessionManager {
56
59
  mode: 'cors',
57
60
  body: JSON.stringify(sessions)
58
61
  };
59
- fetch(this.logServerMain, requestOptions)
62
+ fetch(this.config.sessionApi, requestOptions)
60
63
  .then(data => {
61
64
  if (data.ok) {
62
65
  logInspect('sessions sent successfully, queue size reset, new size is: ' + this.sessionQueue.length);
@@ -92,7 +95,7 @@ export class SessionManager {
92
95
  if (this.instance) {
93
96
  return this.instance;
94
97
  }
95
- if (this.sendInstanceEnvFinished) {
98
+ if (this.sendInstanceEnvFinished) { // move up in send session ?
96
99
  this.sendInstanceEnvFinished = false;
97
100
  const requestOptions = {
98
101
  method: 'POST',
@@ -103,13 +106,13 @@ export class SessionManager {
103
106
  body: JSON.stringify(this.instanceEnvironment)
104
107
  };
105
108
  this.sessionSendAttempts++;
106
- return from(fetch(this.logInstanceEnv, requestOptions)
109
+ return from(fetch(this.config.instanceApi, requestOptions)
107
110
  .then(res => res.ok ? res.text().then(id => {
108
111
  this.instance = new BehaviorSubject(id);
109
- this.logServerMain = this.logServerMain.replace(':id', id);
112
+ this.config.sessionApi = this.config.sessionApi.replace(':id', id);
110
113
  this.sessionSendAttempts = 0;
111
114
  logInspect('Environement instance sent successfully');
112
- return id; // return logserverMain
115
+ return id;
113
116
  }) : null)
114
117
  .catch(err => {
115
118
  console.warn(err);
@@ -120,25 +123,25 @@ export class SessionManager {
120
123
  }
121
124
  return of(null);
122
125
  }
123
- instanceApiURL(host, path) {
124
- return this.toURL(host, path);
125
- }
126
- sessionApiURL(host, path) {
127
- return this.toURL(host, path);
128
- }
129
- toURL(host, path) {
130
- return host.endsWith(SLASH) || path.startsWith(SLASH) ? host + path : [host, path].join(SLASH);
131
- }
132
126
  ngOnDestroy() {
133
127
  if (this.scheduledSessionSender) {
134
128
  this.scheduledSessionSender.unsubscribe();
135
129
  }
136
130
  }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
131
+ getCurrentSession() {
132
+ return this.currentSession;
133
+ }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionManager, deps: [{ token: 'config' }, { token: 'instance' }], target: i0.ɵɵFactoryTarget.Injectable }); }
138
135
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionManager, providedIn: 'root' }); }
139
136
  }
140
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionManager, decorators: [{
141
138
  type: Injectable,
142
139
  args: [{ providedIn: 'root' }]
143
- }], ctorParameters: function () { return []; } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmV0ZW1lL2luc3BlY3QtbmctY29sbGVjdG9yL3NyYy9saWIvc2Vzc2lvbi1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFnQixHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUV4RyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7QUFHbEIsTUFBTSxPQUFPLGNBQWM7SUFjdkI7UUFOQSxpQkFBWSxHQUFpQixFQUFFLENBQUM7UUFDaEMsd0JBQW1CLEdBQVcsQ0FBQyxDQUFBO1FBQy9CLDRCQUF1QixHQUFXLENBQUMsQ0FBQztRQUVwQyx3QkFBbUIsR0FBVSxJQUFJLENBQUM7UUFDbEMsNEJBQXVCLEdBQVksSUFBSSxDQUFDO0lBR3hDLENBQUM7SUFHRCxVQUFVLENBQUMsTUFBVSxFQUFFLElBQVc7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBRSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBRSxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLGFBQWEsR0FBSSxlQUFlLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUks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LElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBVyxFQUFFLElBQVc7UUFDbkMsT0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFFLElBQVcsRUFBRyxJQUFXO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELFdBQVc7UUFDUixJQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBQztZQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDN0M7SUFDTCxDQUFDOytHQXhKUSxjQUFjO21IQUFkLGNBQWMsY0FERCxNQUFNOzs0RkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnN0YW5jZUVudmlyb25tZW50LCBNYWluU2Vzc2lvbiB9IGZyb20gJy4vdHJhY2UubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBpbnRlcnZhbCwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkYXRlTm93LCBkZXRlY3RCcm93c2VyLCBkZXRlY3RPcywgZ2V0TnVtYmVyT3JDYWxsLCBnZXRTdHJpbmdPckNhbGwsIGxvZ0luc3BlY3QgfSBmcm9tICcuL3V0aWwnO1xuXG5jb25zdCBTTEFTSCA9ICcvJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTZXNzaW9uTWFuYWdlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBsb2dTZXJ2ZXJNYWluITogc3RyaW5nO1xuICAgIGxvZ0luc3RhbmNlRW52ITogc3RyaW5nO1xuICAgIG1heEJ1ZmZlclNpemUhOiBudW1iZXI7XG4gICAgZGVsYXkhOm51bWJlclxuICAgIGluc3RhbmNlRW52aXJvbm1lbnQgITogSW5zdGFuY2VFbnZpcm9ubWVudDtcbiAgICBzY2hlZHVsZWRTZXNzaW9uU2VuZGVyITogU3Vic2NyaXB0aW9uO1xuICAgIHNlc3Npb25RdWV1ZTogTWFpblNlc3Npb25bXT0gW107XG4gICAgc2Vzc2lvblNlbmRBdHRlbXB0czogbnVtYmVyID0gMFxuICAgIEluc3RhbmNlRW52U2VuZEF0dGVtcHRzOiBudW1iZXIgPSAwO1xuICAgIGluc3RhbmNlITogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz47XG4gICAgc2VuZFNlc3Npb25maW5pc2hlZDpib29sZWFuPSB0cnVlO1xuICAgIHNlbmRJbnN0YW5jZUVudkZpbmlzaGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgICBjb25zdHJ1Y3Rvcigpe1xuXG4gICAgfVxuXG5cbiAgICBpbml0aWFsaXplKGNvbmZpZzphbnksIGhvc3Q6c3RyaW5nKSB7XG4gICAgICAgIHRoaXMubG9nU2VydmVyTWFpbiA9IHRoaXMuc2Vzc2lvbkFwaVVSTChob3N0LGdldFN0cmluZ09yQ2FsbChjb25maWcuc2Vzc2lvbkFwaSkhKTtcbiAgICAgICAgdGhpcy5sb2dJbnN0YW5jZUVudiA9IHRoaXMuaW5zdGFuY2VBcGlVUkwoaG9zdCxnZXRTdHJpbmdPckNhbGwoY29uZmlnLmluc3RhbmNlQXBpKSEpO1xuICAgICAgICB0aGlzLm1heEJ1ZmZlclNpemUgPSAgZ2V0TnVtYmVyT3JDYWxsKGNvbmZpZy5idWZmZXJNYXhTaXplKSA/PyAxMDAwO1xuICAgICAgICB0aGlzLmRlbGF5ID0gZ2V0TnVtYmVyT3JDYWxsKGNvbmZpZy5kZWxheSkgPz8gNjAwMDA7XG4gICAgICAgIHRoaXMuaW5zdGFuY2VFbnZpcm9ubWVudCA9IHtcbiAgICAgICAgICAgIG5hbWU6IGdldFN0cmluZ09yQ2FsbChjb25maWcubmFtZSksXG4gICAgICAgICAgICB2ZXJzaW9uOiBnZXRTdHJpbmdPckNhbGwoY29uZmlnLnZlcnNpb24pLFxuICAgICAgICAgICAgYWRkcmVzczogdW5kZWZpbmVkLCAvL3NlcnZlciBzaWRlXG4gICAgICAgICAgICBlbnY6IGdldFN0cmluZ09yQ2FsbChjb25maWcuZW52KSxcbiAgICAgICAgICAgIG9zOiBkZXRlY3RPcygpLFxuICAgICAgICAgICAgcmU6IGRldGVjdEJyb3dzZXIoKSxcbiAgICAgICAgICAgIHVzZXI6IHVuZGVmaW5lZCwgLy8gY2Fubm90IGdldCB1c2VyXG4gICAgICAgICAgICB0eXBlOiBcIkNMSUVOVFwiLFxuICAgICAgICAgICAgaW5zdGFudDogZGF0ZU5vdygpLFxuICAgICAgICAgICAgY29sbGVjdG9yOiBcImluc3BlY3QtbmctY29sbGVjdG9yLTAuMC4xXCJcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2NoZWR1bGVkU2Vzc2lvblNlbmRlciA9IGludGVydmFsKHRoaXMuZGVsYXkpXG4gICAgICAgIC5waXBlKHRhcCgoKT0+IHtcbiAgICAgICAgICAgIGlmKHRoaXMuc2VuZFNlc3Npb25maW5pc2hlZCl7XG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kU2Vzc2lvbnMoKTtcbiAgICAgICAgICAgIH19KSlcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGFkZFNlc3Npb25zKHNlc3Npb25zOk1haW5TZXNzaW9uKXtcbiAgICAgICAgdGhpcy5zZXNzaW9uUXVldWUucHVzaChzZXNzaW9ucyk7XG4gICAgICAgIGxvZ0luc3BlY3QoXCJhZGRlZCBlbGVtZW50IHRvIHNlc3Npb24gcXVldWUsIG5ldyBzaXplIGlzOiBcIisgdGhpcy5zZXNzaW9uUXVldWUubGVuZ3RoKTtcbiAgICB9XG5cblxuICAgIHNlbmRTZXNzaW9ucygpIHtcbiAgICAgICAgaWYodGhpcy5zZXNzaW9uUXVldWUubGVuZ3RoPiAwKXtcbiAgICAgICAgICAgIHRoaXMuZ2V0SW5zZXJ0ZWRJbnN0YW5jZUlkKCkuc3Vic2NyaWJlKChpZDpzdHJpbmd8bnVsbCk9PntcbiAgICAgICAgICAgICAgICBpZihpZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbmRTZXNzaW9uZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlc3Npb25zOiBNYWluU2Vzc2lvbltdID0gWy4uLnRoaXMuc2Vzc2lvblF1ZXVlXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uUXVldWUuc3BsaWNlKDAsc2Vzc2lvbnMubGVuZ3RoKTsgLy8gYWRkIHJlc3Qgb2Ygc2Vzc2lvbnNcbiAgICAgICAgICAgICAgICAgICAgbG9nSW5zcGVjdChgc2VuZGluZyBzZXNzaW9ucywgYXR0ZW1wdHM6JHsrK3RoaXMuc2Vzc2lvblNlbmRBdHRlbXB0c30sIHF1ZXVlIHNpemUgOiAke3Nlc3Npb25zLmxlbmd0aH1gKVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zOiBSZXF1ZXN0SW5pdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlIDogJ2NvcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoc2Vzc2lvbnMpXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgZmV0Y2godGhpcy5sb2dTZXJ2ZXJNYWluLCByZXF1ZXN0T3B0aW9ucylcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oZGF0YT0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGRhdGEub2spe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0luc3BlY3QoJ3Nlc3Npb25zIHNlbnQgc3VjY2Vzc2Z1bGx5LCBxdWV1ZSBzaXplIHJlc2V0LCBuZXcgc2l6ZSBpczogJyt0aGlzLnNlc3Npb25RdWV1ZS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VuZEF0dGVtcHRzPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBFcnJvciB3aGlsZSBhdHRlbXB0aW5nIHRvIHNlbmQgc2Vzc2lvbnMsIGF0dGVtcHRzOiAke3RoaXMuc2Vzc2lvblNlbmRBdHRlbXB0c31gKS8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXZlcnRRdWV1ZVNpemUoc2Vzc2lvbnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBFcnJvciB3aGlsZSBhdHRlbXB0aW5nIHRvIHNlbmQgc2Vzc2lvbnMsIGF0dGVtcHRzOiAke3RoaXMuc2Vzc2lvblNlbmRBdHRlbXB0c31gLGVycm9yKS8vXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJldmVydFF1ZXVlU2l6ZShzZXNzaW9ucyk7XG4gICAgICAgICAgICAgICAgICAgIH0pLmZpbmFsbHkoICgpPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZW5kU2Vzc2lvbmZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIH1lbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBFcnJvciB3aGlsZSBhdHRlbXB0aW5nIHRvIHNlbmQgRW52aXJvbmVtZW50IGluc3RhbmNlLCBhdHRlbXB0cyAke3RoaXMuc2Vzc2lvblNlbmRBdHRlbXB0c31gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV2ZXJ0UXVldWVTaXplKHNlc3Npb25zOiBNYWluU2Vzc2lvbltdKXtcbiAgICAgICAgdGhpcy5zZXNzaW9uUXVldWUudW5zaGlmdCguLi5zZXNzaW9ucyk7XG4gICAgICAgIGlmKHRoaXMuc2Vzc2lvblF1ZXVlLmxlbmd0aCA+IHRoaXMubWF4QnVmZmVyU2l6ZSApe1xuICAgICAgICAgICAgbGV0IGRpZmYgPSB0aGlzLnNlc3Npb25RdWV1ZS5sZW5ndGggLSB0aGlzLm1heEJ1ZmZlclNpemU7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25RdWV1ZSA9IHRoaXMuc2Vzc2lvblF1ZXVlLnNsaWNlKDAsdGhpcy5tYXhCdWZmZXJTaXplKTtcbiAgICAgICAgICAgIGxvZ0luc3BlY3QoJ0J1ZmZlciBzaXplIGV4ZWVkZWQgdGhlIG1heCBzaXplLGxhc3Qgc2Vzc2lvbnMgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSBidWZmZXIsIChudW1iZXIgb2Ygc2Vzc2lvbnMgcmVtb3ZlZCk6JytkaWZmKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SW5zZXJ0ZWRJbnN0YW5jZUlkKCkgOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZih0aGlzLmluc3RhbmNlKXtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmluc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgIGlmKHRoaXMuc2VuZEluc3RhbmNlRW52RmluaXNoZWQpe1xuICAgICAgICAgICAgdGhpcy5zZW5kSW5zdGFuY2VFbnZGaW5pc2hlZCA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnM6IFJlcXVlc3RJbml0ID0ge1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1vZGU6ICdjb3JzJyxcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh0aGlzLmluc3RhbmNlRW52aXJvbm1lbnQpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VuZEF0dGVtcHRzKys7XG4gICAgICAgICAgICByZXR1cm4gZnJvbSggZmV0Y2godGhpcy5sb2dJbnN0YW5jZUVudixyZXF1ZXN0T3B0aW9ucylcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiByZXMub2sgPyByZXMudGV4dCgpLnRoZW4oaWQ9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihpZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2ZXJNYWluID10aGlzLmxvZ1NlcnZlck1haW4ucmVwbGFjZSgnOmlkJyxpZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VuZEF0dGVtcHRzPTA7XG4gICAgICAgICAgICAgICAgbG9nSW5zcGVjdCgnRW52aXJvbmVtZW50IGluc3RhbmNlIHNlbnQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlkOyAvLyByZXR1cm4gbG9nc2VydmVyTWFpblxuICAgICAgICAgICAgfSkgOiBudWxsKVxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGVycilcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0pLmZpbmFsbHkoKCk9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kSW5zdGFuY2VFbnZGaW5pc2hlZCA9IHRydWU7XG4gICAgICAgICAgICB9KSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgaW5zdGFuY2VBcGlVUkwoaG9zdDpzdHJpbmcsIHBhdGg6c3RyaW5nKXtcbiAgICAgICAgcmV0dXJuICB0aGlzLnRvVVJMKGhvc3QscGF0aCk7XG4gICAgIH1cblxuICAgICBzZXNzaW9uQXBpVVJMKGhvc3Q6c3RyaW5nLCBwYXRoOnN0cmluZyl7XG4gICAgICAgIHJldHVybiAgdGhpcy50b1VSTChob3N0LHBhdGgpO1xuICAgICB9XG5cbiAgICAgdG9VUkwoIGhvc3Q6c3RyaW5nLCAgcGF0aDpzdHJpbmcgKXtcbiAgICAgICAgIHJldHVybiBob3N0LmVuZHNXaXRoKFNMQVNIKSB8fCBwYXRoLnN0YXJ0c1dpdGgoU0xBU0gpID8gaG9zdCArIHBhdGggOiBbaG9zdCxwYXRoXS5qb2luKFNMQVNIKTtcbiAgICAgfVxuXG4gICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZih0aGlzLnNjaGVkdWxlZFNlc3Npb25TZW5kZXIpe1xuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZWRTZXNzaW9uU2VuZGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
140
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
141
+ type: Inject,
142
+ args: ['config']
143
+ }] }, { type: undefined, decorators: [{
144
+ type: Inject,
145
+ args: ['instance']
146
+ }] }]; } });
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmV0ZW1lL2luc3BlY3QtbmctY29sbGVjdG9yL3NyYy9saWIvc2Vzc2lvbi1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBZ0IsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxPQUFPLEVBQUMsVUFBVSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUtqRSxNQUFNLE9BQU8sY0FBYztJQWV2QixZQUFnQyxNQUFxQixFQUNuQixRQUE2QjtRQVgvRCxpQkFBWSxHQUFpQixFQUFFLENBQUM7UUFDaEMsd0JBQW1CLEdBQVcsQ0FBQyxDQUFBO1FBQy9CLDRCQUF1QixHQUFXLENBQUMsQ0FBQztRQUVwQyx3QkFBbUIsR0FBVSxJQUFJLENBQUM7UUFDbEMsNEJBQXVCLEdBQVksSUFBSSxDQUFDO1FBT3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUM7UUFDcEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRSxFQUFFO1lBQ1YsSUFBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUM7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUN2QjtRQUFBLENBQUMsQ0FBQyxDQUFDO2FBQ1AsU0FBUyxFQUFFLENBQUM7UUFDYixVQUFVLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lB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LHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzdDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDOytHQXpKUSxjQUFjLGtCQWVELFFBQVEsYUFDUixVQUFVO21IQWhCdkIsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBZ0JmLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnN0YW5jZUVudmlyb25tZW50LCBNYWluU2Vzc2lvbiB9IGZyb20gJy4vdHJhY2UubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBpbnRlcnZhbCwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkYXRlTm93LGxvZ0luc3BlY3QsIHByZXR0eVNlc3Npb25Gb3JtYXQgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgVGVjaG5pY2FsQ29uZiB9IGZyb20gJy4vY29uZmlndXJhdGlvbic7XG5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTZXNzaW9uTWFuYWdlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgbWF4QnVmZmVyU2l6ZSE6IG51bWJlcjtcbiAgICBkZWxheSE6bnVtYmVyXG4gICAgaW5zdGFuY2VFbnZpcm9ubWVudCA6IEluc3RhbmNlRW52aXJvbm1lbnQ7XG4gICAgc2NoZWR1bGVkU2Vzc2lvblNlbmRlciE6IFN1YnNjcmlwdGlvbjtcbiAgICBzZXNzaW9uUXVldWU6IE1haW5TZXNzaW9uW109IFtdO1xuICAgIHNlc3Npb25TZW5kQXR0ZW1wdHM6IG51bWJlciA9IDBcbiAgICBJbnN0YW5jZUVudlNlbmRBdHRlbXB0czogbnVtYmVyID0gMDtcbiAgICBpbnN0YW5jZSE6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+O1xuICAgIHNlbmRTZXNzaW9uZmluaXNoZWQ6Ym9vbGVhbj0gdHJ1ZTtcbiAgICBzZW5kSW5zdGFuY2VFbnZGaW5pc2hlZDogYm9vbGVhbiA9IHRydWU7XG4gICAgXG5cbiAgICBjdXJyZW50U2Vzc2lvbiE6IE1haW5TZXNzaW9uO1xuICAgIGNvbmZpZzogVGVjaG5pY2FsQ29uZjtcbiAgICBjb25zdHJ1Y3RvciggIEBJbmplY3QoJ2NvbmZpZycpIGNvbmZpZzogVGVjaG5pY2FsQ29uZixcbiAgICAgICAgICAgICAgICAgIEBJbmplY3QoJ2luc3RhbmNlJykgaW5zdGFuY2U6IEluc3RhbmNlRW52aXJvbm1lbnQpe1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgdGhpcy5pbnN0YW5jZUVudmlyb25tZW50ID0gaW5zdGFuY2U7XG4gICAgICAgIHRoaXMuc2NoZWR1bGVkU2Vzc2lvblNlbmRlciA9IGludGVydmFsKHRoaXMuZGVsYXkpXG4gICAgICAgIC5waXBlKHRhcCgoKT0+IHtcbiAgICAgICAgICAgIGlmKHRoaXMuc2VuZFNlc3Npb25maW5pc2hlZCl7XG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kU2Vzc2lvbnMoKTtcbiAgICAgICAgICAgIH19KSlcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICBsb2dJbnNwZWN0KCdTZXNzaW9uTWFuYWdlciBpbml0aWFsaXplZCcpO1xuICAgIH1cblxuXG5cbiAgICBhZGRTZXNzaW9ucyhzZXNzaW9uczpNYWluU2Vzc2lvbil7XG4gICAgICAgIHRoaXMuc2Vzc2lvblF1ZXVlLnB1c2goc2Vzc2lvbnMpO1xuICAgICAgICBsb2dJbnNwZWN0KFwiYWRkZWQgZWxlbWVudCB0byBzZXNzaW9uIHF1ZXVlLCBuZXcgc2l6ZSBpczogXCIrIHRoaXMuc2Vzc2lvblF1ZXVlLmxlbmd0aCk7XG4gICAgfVxuXG5cbiAgICBuZXdTZXNzaW9uKHVybD86c3RyaW5nKXtcbiAgICAgICAgaWYodGhpcy5jdXJyZW50U2Vzc2lvbil7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLmVuZCA9IGRhdGVOb3coKTtcbiAgICAgICAgICAgIGlmKHRoaXMuY29uZmlnLmV4Y2x1ZGUuZXZlcnkoKGUpID0+ICFlLnRlc3QodGhpcy5jdXJyZW50U2Vzc2lvbi5sb2NhdGlvbikpKXtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlc3Npb25zKHRoaXMuY3VycmVudFNlc3Npb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbG9nSW5zcGVjdCgoKT0+cHJldHR5U2Vzc2lvbkZvcm1hdCh0aGlzLmN1cnJlbnRTZXNzaW9uKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYodXJsKXtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNlc3Npb24gPSB7XG4gICAgICAgICAgICAgICAgJ0B0eXBlJzogXCJtYWluXCIsXG4gICAgICAgICAgICAgICAgdXNlcjogdGhpcy5jb25maWcudXNlcixcbiAgICAgICAgICAgICAgICBzdGFydDogZGF0ZU5vdygpLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwiVklFV1wiLFxuICAgICAgICAgICAgICAgIGxvY2F0aW9uOiB1cmwsXG4gICAgICAgICAgICAgICAgcmVzdFJlcXVlc3RzOiBbXVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIHNlbmRTZXNzaW9ucygpIHtcbiAgICAgICAgaWYodGhpcy5zZXNzaW9uUXVldWUubGVuZ3RoPiAwKXtcbiAgICAgICAgICAgIHRoaXMuZ2V0SW5zZXJ0ZWRJbnN0YW5jZUlkKCkuc3Vic2NyaWJlKChpZDpzdHJpbmd8bnVsbCk9PntcbiAgICAgICAgICAgICAgICBpZihpZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbmRTZXNzaW9uZmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlc3Npb25zOiBNYWluU2Vzc2lvbltdID0gWy4uLnRoaXMuc2Vzc2lvblF1ZXVlXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uUXVldWUuc3BsaWNlKDAsc2Vzc2lvbnMubGVuZ3RoKTsgLy8gYWRkIHJlc3Qgb2Ygc2Vzc2lvbnNcbiAgICAgICAgICAgICAgICAgICAgbG9nSW5zcGVjdChgc2VuZGluZyBzZXNzaW9ucywgYXR0ZW1wdHM6JHsrK3RoaXMuc2Vzc2lvblNlbmRBdHRlbXB0c30sIHF1ZXVlIHNpemUgOiAke3Nlc3Npb25zLmxlbmd0aH1gKVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zOiBSZXF1ZXN0SW5pdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlIDogJ2NvcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoc2Vzc2lvbnMpXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgZmV0Y2godGhpcy5jb25maWcuc2Vzc2lvbkFwaSwgcmVxdWVzdE9wdGlvbnMpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKGRhdGE9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZihkYXRhLm9rKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dJbnNwZWN0KCdzZXNzaW9ucyBzZW50IHN1Y2Nlc3NmdWxseSwgcXVldWUgc2l6ZSByZXNldCwgbmV3IHNpemUgaXM6ICcrdGhpcy5zZXNzaW9uUXVldWUubGVuZ3RoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlbmRBdHRlbXB0cz0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRXJyb3Igd2hpbGUgYXR0ZW1wdGluZyB0byBzZW5kIHNlc3Npb25zLCBhdHRlbXB0czogJHt0aGlzLnNlc3Npb25TZW5kQXR0ZW1wdHN9YCkvL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmV2ZXJ0UXVldWVTaXplKHNlc3Npb25zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRXJyb3Igd2hpbGUgYXR0ZW1wdGluZyB0byBzZW5kIHNlc3Npb25zLCBhdHRlbXB0czogJHt0aGlzLnNlc3Npb25TZW5kQXR0ZW1wdHN9YCxlcnJvcikvL1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXZlcnRRdWV1ZVNpemUoc2Vzc2lvbnMpO1xuICAgICAgICAgICAgICAgICAgICB9KS5maW5hbGx5KCAoKT0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VuZFNlc3Npb25maW5pc2hlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRXJyb3Igd2hpbGUgYXR0ZW1wdGluZyB0byBzZW5kIEVudmlyb25lbWVudCBpbnN0YW5jZSwgYXR0ZW1wdHMgJHt0aGlzLnNlc3Npb25TZW5kQXR0ZW1wdHN9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldmVydFF1ZXVlU2l6ZShzZXNzaW9uczogTWFpblNlc3Npb25bXSl7XG4gICAgICAgIHRoaXMuc2Vzc2lvblF1ZXVlLnVuc2hpZnQoLi4uc2Vzc2lvbnMpO1xuICAgICAgICBpZih0aGlzLnNlc3Npb25RdWV1ZS5sZW5ndGggPiB0aGlzLm1heEJ1ZmZlclNpemUgKXtcbiAgICAgICAgICAgIGxldCBkaWZmID0gdGhpcy5zZXNzaW9uUXVldWUubGVuZ3RoIC0gdGhpcy5tYXhCdWZmZXJTaXplO1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uUXVldWUgPSB0aGlzLnNlc3Npb25RdWV1ZS5zbGljZSgwLHRoaXMubWF4QnVmZmVyU2l6ZSk7XG4gICAgICAgICAgICBsb2dJbnNwZWN0KCdCdWZmZXIgc2l6ZSBleGVlZGVkIHRoZSBtYXggc2l6ZSxsYXN0IHNlc3Npb25zIGhhdmUgYmVlbiByZW1vdmVkIGZyb20gYnVmZmVyLCAobnVtYmVyIG9mIHNlc3Npb25zIHJlbW92ZWQpOicrZGlmZilcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEluc2VydGVkSW5zdGFuY2VJZCgpIDogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYodGhpcy5pbnN0YW5jZSl7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnN0YW5jZTtcbiAgICAgICAgfVxuICAgICAgICBpZih0aGlzLnNlbmRJbnN0YW5jZUVudkZpbmlzaGVkKXsvLyBtb3ZlIHVwIGluIHNlbmQgc2Vzc2lvbiAgPyBcbiAgICAgICAgICAgIHRoaXMuc2VuZEluc3RhbmNlRW52RmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zOiBSZXF1ZXN0SW5pdCA9IHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtb2RlOiAnY29ycycsXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkodGhpcy5pbnN0YW5jZUVudmlyb25tZW50KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlbmRBdHRlbXB0cysrO1xuICAgICAgICAgICAgcmV0dXJuIGZyb20oIGZldGNoKHRoaXMuY29uZmlnLmluc3RhbmNlQXBpLCByZXF1ZXN0T3B0aW9ucylcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiByZXMub2sgPyByZXMudGV4dCgpLnRoZW4oaWQ9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihpZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuc2Vzc2lvbkFwaSA9IHRoaXMuY29uZmlnLnNlc3Npb25BcGkgLnJlcGxhY2UoJzppZCcsaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvblNlbmRBdHRlbXB0cz0wO1xuICAgICAgICAgICAgICAgIGxvZ0luc3BlY3QoJ0Vudmlyb25lbWVudCBpbnN0YW5jZSBzZW50IHN1Y2Nlc3NmdWxseScpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpZDsgXG4gICAgICAgICAgICB9KSA6IG51bGwpXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oZXJyKVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSkuZmluYWxseSgoKT0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmRJbnN0YW5jZUVudkZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICBcblxuICAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYodGhpcy5zY2hlZHVsZWRTZXNzaW9uU2VuZGVyKXtcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVkU2Vzc2lvblNlbmRlci51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q3VycmVudFNlc3Npb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRTZXNzaW9uO1xuICAgIH1cbn1cbiJdfQ==