@oneteme/inspect-ng-collector 0.0.8 → 0.0.9

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.
@@ -1,4 +1,4 @@
1
- import { dateNow } from "./util";
1
+ import { dateNow, initDebug } from "./util";
2
2
  const SLASH = '/';
3
3
  const HOST_PATERN = /https?:\/\/[\w\-.]+(:\d{2,5})?\/?/;
4
4
  const PATH_PATERN = /[\w-]+(\/[\w-]+)*/;
@@ -40,7 +40,8 @@ export function validateProperty(value, func) {
40
40
  export function validateAndGetConfig(conf) {
41
41
  let host = matchRegex(getStringOrCall(conf.host), "host", HOST_PATERN);
42
42
  let sessionApi = matchRegex(getStringOrCall(conf.sessionApi), 'sessionApi', PATH_PATERN);
43
- let instanceApi = matchRegex(getStringOrCall(conf.sessionApi), 'intanceApi', PATH_PATERN);
43
+ let instanceApi = matchRegex(getStringOrCall(conf.instanceApi), 'intanceApi', PATH_PATERN);
44
+ initDebug(conf.debug ?? false);
44
45
  return {
45
46
  user: getStringOrCall(conf.user),
46
47
  bufferMaxSize: requirePostitiveValue(getNumberOrCall(conf.delay), "bufferMaxSize", 1000),
@@ -142,4 +143,4 @@ export function requirePostitiveValue(v, name, defaultValue) {
142
143
  }
143
144
  throw `bad value ${name}= ${v} <= 0`;
144
145
  }
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==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZXRlbWUvaW5zcGVjdC1uZy1jb2xsZWN0b3Ivc3JjL2xpYi9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztBQUN4RCxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQztBQTJCdkMsTUFBTSxhQUFhLEdBQUk7SUFDdEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRTtJQUMvQyxhQUFhLEVBQUcsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUU7SUFDcEUsS0FBSyxFQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRTtJQUNqRCxXQUFXLEVBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFO0lBQ3ZELFVBQVUsRUFBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUU7Q0FDdEQsQ0FBQTtBQUVGLE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBb0I7SUFDNUMsT0FBUTtRQUNOLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNmLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQyxPQUFPLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1FBQzVDLEdBQUcsRUFBRSxlQUFl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QUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsSUFBVyxFQUFFLElBQVc7SUFDN0MsT0FBUSxLQUFLLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxJQUFXLEVBQUUsSUFBVztJQUNwQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pHLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLENBQXFCLEVBQUcsSUFBWSxFQUFFLE9BQWU7SUFDOUUsSUFBRyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQztRQUNyQixPQUFPLENBQUMsQ0FBQztLQUNYO0lBQ0QsTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsT0FBTyxFQUFFLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxDQUFxQixFQUFFLElBQVksRUFBRSxZQUFtQjtJQUM1RixJQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2IsT0FBTyxDQUFDLENBQUM7S0FDVjtJQUNELElBQUcsQ0FBQyxJQUFJLFNBQVMsRUFBQztRQUNoQixPQUFPLFlBQVksQ0FBQztLQUNyQjtJQUNELE1BQU0sYUFBYSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUE7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRhdGVOb3csIGluaXREZWJ1ZyB9IGZyb20gXCIuL3V0aWxcIjtcbmNvbnN0IFNMQVNIID0gJy8nO1xuY29uc3QgSE9TVF9QQVRFUk4gPSAvaHR0cHM/OlxcL1xcL1tcXHdcXC0uXSsoOlxcZHsyLDV9KT9cXC8/LztcbmNvbnN0IFBBVEhfUEFURVJOID0gL1tcXHctXSsoXFwvW1xcdy1dKykqLztcbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25Db25mIHtcbiAgaG9zdD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICB2ZXJzaW9uPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XG4gIGVudj86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICB1c2VyPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XG4gIGJ1ZmZlck1heFNpemU/OiBudW1iZXIgfCAoKCkgPT4gbnVtYmVyKTtcbiAgZGVsYXk/OiBudW1iZXJ8ICgoKSA9PiBudW1iZXIpO1xuICBpbnN0YW5jZUFwaT86IHN0cmluZyB8ICgoKSA9PiBzdHJpbmcpO1xuICBzZXNzaW9uQXBpPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZyk7XG4gIGV4Y2x1ZGU/OiBSZWdFeHBbXSB8ICgoKSA9PiBSZWdFeHBbXSk7XG4gIGRlYnVnPzogYm9vbGVhbjtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVjaG5pY2FsQ29uZiB7XG4gIHVzZXI/OnN0cmluZyA7XG4gIGJ1ZmZlck1heFNpemU6IG51bWJlcjtcbiAgZGVsYXk6IG51bWJlcjtcbiAgaW5zdGFuY2VBcGk6IHN0cmluZztcbiAgc2Vzc2lvbkFwaTogc3RyaW5nO1xuICBleGNsdWRlOiBSZWdFeHBbXTtcbiAgZGVidWc6IGJvb2xlYW47XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG59XG5cbiBjb25zdCB2YWxpZGF0aW9uTWFwICA9IHsgLy8gcmVtb3ZlIFxuICBob3N0OiB7IGZ1bmM6IG1hdGNoUmVnZXgsIGFyZ3M6IFtIT1NUX1BBVEVSTl0gfSxcbiAgYnVmZmVyTWF4U2l6ZTogIHsgZnVuYzogcmVxdWlyZVBvc3RpdGl2ZVZhbHVlLCBhcmdzOiBbSE9TVF9QQVRFUk5dIH0sXG4gIGRlbGF5OiAgeyBmdW5jOiBtYXRjaFJlZ2V4LCBhcmdzOiBbSE9TVF9QQVRFUk5dIH0sXG4gIGluc3RhbmNlQXBpOiAgeyBmdW5jOiBtYXRjaFJlZ2V4LCBhcmdzOiBbSE9TVF9QQVRFUk5dIH0sXG4gIHNlc3Npb25BcGk6ICB7IGZ1bmM6IG1hdGNoUmVnZXgsIGFyZ3M6IFtIT1NUX1BBVEVSTl0gfVxuIH1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldENvbmZpZyhjb25mOkFwcGxpY2F0aW9uQ29uZil7XG4gIHJldHVybiAge1xuICAgIGhvc3Q6IGNvbmYuaG9zdCxcbiAgICBuYW1lOiBnZXRTdHJpbmdPckNhbGwoY29uZi5uYW1lKSxcbiAgICB2ZXJzaW9uOiBnZXRTdHJpbmdPckNhbGwoY29uZi52ZXJzaW9uKSA/PyAnJyxcbiAgICBlbnY6IGdldFN0cmluZ09yQ2FsbChjb25mLmVudik/PyAnJyxcbiAgICB1c2VyOiBnZXRTdHJpbmdPckNhbGwoY29uZi51c2VyKSA/PyAnJyxcbiAgICBidWZmZXJNYXhTaXplOiBnZXROdW1iZXJPckNhbGwoY29uZi5idWZmZXJNYXhTaXplKSxcbiAgICBkZWxheTogZ2V0TnVtYmVyT3JDYWxsKGNvbmYuZGVsYXkpLFxuICAgIGluc3RhbmNlQXBpOiBnZXRTdHJpbmdPckNhbGwoY29uZi5zZXNzaW9uQXBpKSxcbiAgICBzZXNzaW9uQXBpOiBnZXRTdHJpbmdPckNhbGwoY29uZi5pbnN0YW5jZUFwaSksXG4gICAgZXhjbHVkZTogZ2V0UmVnQXJyT3JDYWxsKGNvbmYuZXhjbHVkZSkgPz8gW10sIFxuICAgIGRlYnVnOiBjb25mLmRlYnVnID8/IGZhbHNlLFxuICAgIGVuYWJsZWQ6IGNvbmYuZW5hYmxlZCA/PyBmYWxzZVxuICB9XG4gLypcbiAgdGhpcy5sb2dTZXJ2ZXJNYWluID0gdGhpcy5zZXNzaW9uQXBpVVJMKGhvc3QsZ2V0U3RyaW5nT3JDYWxsKGNvbmZpZy5zZXNzaW9uQXBpKSEpO1xuICB0aGlzLmxvZ0luc3RhbmNlRW52ID0gdGhpcy5pbnN0YW5jZUFwaVVSTChob3N0LGdldFN0cmluZ09yQ2FsbChjb25maWcuaW5zdGFuY2VBcGkpISk7XG4gIHRoaXMubWF4QnVmZmVyU2l6ZSA9ICBnZXROdW1iZXJPckNhbGwoY29uZmlnLmJ1ZmZlck1heFNpemUpID8/IDEwMDA7XG4gIHRoaXMuZGVsYXkgPSBnZXROdW1iZXJPckNhbGwoY29uZmlnLmRlbGF5KSA/PyA2MDAwMDtcbiAgKi9cbn0gXG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnR5KHZhbHVlOmFueSwgZnVuYyA6ICguLi5hcmdzOmFueSk9PiBib29sZWFuKXtcbiAgaWYoZnVuYygpKXtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ2Vycm9yJykgLy8gcGFzcyB0aGUgZXJyb3IgcmV0dXJuIGZyb20gdGhlIHRoZSBwYXNzZWQgZnVuY3Rpb24gXG59XG5cblxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBbmRHZXRDb25maWcoY29uZjphbnkpOlRlY2huaWNhbENvbmZ7XG4gIGxldCBob3N0ID0gbWF0Y2hSZWdleChnZXRTdHJpbmdPckNhbGwoY29uZi5ob3N0KSwgXCJob3N0XCIgLCBIT1NUX1BBVEVSTikgXG4gIGxldCBzZXNzaW9uQXBpID0gICBtYXRjaFJlZ2V4KGdldFN0cmluZ09yQ2FsbChjb25mLnNlc3Npb25BcGkpLCdzZXNzaW9uQXBpJywgUEFUSF9QQVRFUk4pIFxuICBsZXQgaW5zdGFuY2VBcGkgPSAgbWF0Y2hSZWdleChnZXRTdHJpbmdPckNhbGwoY29uZi5pbnN0YW5jZUFwaSksJ2ludGFuY2VBcGknLCBQQVRIX1BBVEVSTilcbiAgaW5pdERlYnVnKGNvbmYuZGVidWcgPz8gZmFsc2UpO1xuICByZXR1cm4gIHtcbiAgICB1c2VyIDogZ2V0U3RyaW5nT3JDYWxsKGNvbmYudXNlciksXG4gICAgYnVmZmVyTWF4U2l6ZTogIHJlcXVpcmVQb3N0aXRpdmVWYWx1ZShnZXROdW1iZXJPckNhbGwoY29uZi5kZWxheSksXCJidWZmZXJNYXhTaXplXCIsIDEwMDApICxcbiAgICBkZWxheTogcmVxdWlyZVBvc3RpdGl2ZVZhbHVlKGdldE51bWJlck9yQ2FsbChjb25mLmRlbGF5KSxcImRlbGF5XCIsIDYwMDAwKSAsXG4gICAgaW5zdGFuY2VBcGk6IHNlc3Npb25BcGlVUkwoaG9zdCwgc2Vzc2lvbkFwaSksXG4gICAgc2Vzc2lvbkFwaTogaW5zdGFuY2VBcGlVUkwoaG9zdCwgaW5zdGFuY2VBcGkpLFxuICAgIGV4Y2x1ZGU6IGdldFJlZ0Fyck9yQ2FsbChjb25mLmV4Y2x1ZGUpIHx8IFtdLFxuICAgIGRlYnVnOiBjb25mLmRlYnVnID8/IGZhbHNlLFxuICAgIGVuYWJsZWQ6IGNvbmYuZW5hYmxlZCA/PyBmYWxzZVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBHZXRJbnN0YW5jZUVudmlyb25lbWVudChjb25mOkFwcGxpY2F0aW9uQ29uZil7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGdldFN0cmluZ09yQ2FsbChjb25mLm5hbWUpLFxuICAgICAgdmVyc2lvbjogZ2V0U3RyaW5nT3JDYWxsKGNvbmYudmVyc2lvbiksXG4gICAgICBhZGRyZXNzOiB1bmRlZmluZWQsIC8vc2VydmVyIHNpZGVcbiAgICAgIGVudjogZ2V0U3RyaW5nT3JDYWxsKGNvbmYuZW52KSxcbiAgICAgIG9zOiBkZXRlY3RPcygpLFxuICAgICAgcmU6IGRldGVjdEJyb3dzZXIoKSxcbiAgICAgIHVzZXI6IHVuZGVmaW5lZCwgLy8gY2Fubm90IGdldCB1c2VyXG4gICAgICB0eXBlOiBcIkNMSUVOVFwiLFxuICAgICAgaW5zdGFudDogZGF0ZU5vdygpLFxuICAgICAgY29sbGVjdG9yOiBcImluc3BlY3QtbmctY29sbGVjdG9yLTAuMC4xXCJcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TnVtYmVyT3JDYWxsKG8/OiBudW1iZXIgfCAoKCkgPT4gbnVtYmVyKSk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB0eXBlb2YgbyA9PT0gXCJmdW5jdGlvblwiID8gbygpIDogbztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0cmluZ09yQ2FsbChvPzogc3RyaW5nIHwgKCgpID0+IHN0cmluZykpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gdHlwZW9mIG8gPT09IFwiZnVuY3Rpb25cIiA/IG8oKSA6IG87XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWdBcnJPckNhbGwobz86IFJlZ0V4cFtdIHwgKCgpID0+IFJlZ0V4cFtdKSk6IFJlZ0V4cFtdIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHR5cGVvZiBvID09PSBcImZ1bmN0aW9uXCIgPyBvKCkgOiBvO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0QnJvd3NlcigpIHtcbiAgdHJ5IHtcbiAgICAgIGNvbnN0IGFnZW50ID0gd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKVxuICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgY2FzZSBhZ2VudC5pbmRleE9mKCdlZGdlJykgPiAtMTpcbiAgICAgICAgICAgICAgcmV0dXJuICdlZGdlJztcbiAgICAgICAgICBjYXNlIGFnZW50LmluZGV4T2YoJ29wcicpID4gLTE6XG4gICAgICAgICAgICAgIHJldHVybiAnb3BlcmEnO1xuICAgICAgICAgIGNhc2UgYWdlbnQuaW5kZXhPZignY2hyb21lJykgPiAtMTpcbiAgICAgICAgICAgICAgcmV0dXJuICdjaHJvbWUnO1xuICAgICAgICAgIGNhc2UgYWdlbnQuaW5kZXhPZignZmlyZWZveCcpID4gLTE6XG4gICAgICAgICAgICAgIHJldHVybiAnZmlyZWZveCc7XG4gICAgICAgICAgY2FzZSBhZ2VudC5pbmRleE9mKCdzYWZhcmknKSA+IC0xOlxuICAgICAgICAgICAgICByZXR1cm4gJ3NhZmFyaSc7XG4gICAgICB9XG4gIH1cbiAgY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdE9zKCkge1xuICB0cnkge1xuICAgICAgbGV0IHZlcnNpb25NYXRjaCwgdmVyc2lvbjtcbiAgICAgIGNvbnN0IGFnZW50ID0gd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKVxuICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgY2FzZSAoL3dpbmRvd3MvLnRlc3QoYWdlbnQpKTpcbiAgICAgICAgICAgICAgdmVyc2lvbk1hdGNoID0gL3dpbmRvd3MgbnQgKFxcZCtcXC5cXGQrKS8uZXhlYyhhZ2VudCk7XG4gICAgICAgICAgICAgIHZlcnNpb24gPSB2ZXJzaW9uTWF0Y2ggPyB2ZXJzaW9uTWF0Y2hbMV0gOiAnVW5rbm93bic7XG4gICAgICAgICAgICAgIHJldHVybiBgV2luZG93cyAke3ZlcnNpb259YDtcbiAgICAgICAgICBjYXNlICgvbGludXgvLnRlc3QoYWdlbnQpKTpcbiAgICAgICAgICAgICAgcmV0dXJuICdMaW51eCc7XG5cbiAgICAgICAgICBjYXNlICgvbWFjaW50b3NoLy50ZXN0KGFnZW50KSk6XG4gICAgICAgICAgICAgIHZlcnNpb25NYXRjaCA9IC9tYWMgb3MgeCAoXFxkK1suX11cXGQrWy5fXVxcZCspLy5leGVjKGFnZW50KTtcbiAgICAgICAgICAgICAgdmVyc2lvbiA9IHZlcnNpb25NYXRjaCA/IHZlcnNpb25NYXRjaFsxXSA6ICdVbmtub3duJztcbiAgICAgICAgICAgICAgcmV0dXJuIGBNYWNPcyAke3ZlcnNpb259YFxuICAgICAgfVxuICB9XG4gIGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGluc3RhbmNlQXBpVVJMKGhvc3Q6c3RyaW5nLCBwYXRoOnN0cmluZyl7XG4gIHJldHVybiAgdG9VUkwoaG9zdCxwYXRoKTtcbn1cblxuZnVuY3Rpb24gc2Vzc2lvbkFwaVVSTChob3N0OnN0cmluZywgcGF0aDpzdHJpbmcpe1xuICByZXR1cm4gIHRvVVJMKGhvc3QscGF0aCk7XG59XG5cbmZ1bmN0aW9uIHRvVVJMKGhvc3Q6c3RyaW5nLCBwYXRoOnN0cmluZyApe1xuICAgcmV0dXJuIGhvc3QuZW5kc1dpdGgoU0xBU0gpIHx8IHBhdGguc3RhcnRzV2l0aChTTEFTSCkgPyBob3N0ICsgcGF0aCA6IFtob3N0LHBhdGhdLmpvaW4oU0xBU0gpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hSZWdleCh2OiBzdHJpbmcgfCB1bmRlZmluZWQsICBuYW1lOiBzdHJpbmcsIHBhdHRlcm46IFJlZ0V4cCwpIHtcbiAgaWYodiAmJiBwYXR0ZXJuLmV4ZWModikpe1xuICAgICByZXR1cm4gdjtcbiAgfVxuICB0aHJvdyBgYmFkIHZhbHVlICR7bmFtZX09JHt2fSwgcGF0dGVybj0ke3BhdHRlcm59YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVQb3N0aXRpdmVWYWx1ZSh2OiBudW1iZXIgfCB1bmRlZmluZWQsIG5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlOm51bWJlcil7XG4gIGlmKHYgJiYgdiA+IDApIHtcbiAgICByZXR1cm4gdjtcbiAgfVxuICBpZih2ID09IHVuZGVmaW5lZCl7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuICB0aHJvdyBgYmFkIHZhbHVlICR7bmFtZX09ICR7dn0gPD0gMGAgIFxufVxuXG4iXX0=
@@ -12,6 +12,8 @@ export class NgCollectorModule {
12
12
  try {
13
13
  let config = validateAndGetConfig(configuration);
14
14
  let instance = GetInstanceEnvironement(configuration);
15
+ console.log(config);
16
+ console.log(instance);
15
17
  return {
16
18
  ngModule: NgCollectorModule,
17
19
  providers: [
@@ -57,4 +59,4 @@ export function initializeEvents(router, sessionManager) {
57
59
  });
58
60
  };
59
61
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctY29sbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZXRlbWUvaW5zcGVjdC1uZy1jb2xsZWN0b3Ivc3JjL2xpYi9uZy1jb2xsZWN0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBbUIsdUJBQXVCLEVBQWEsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBTzNELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUE4QjtRQUMzQyxJQUFHLGFBQWEsRUFBRSxPQUFPLEVBQUM7WUFDeEIsSUFBRztnQkFDRCxJQUFJLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDakQsSUFBSSxRQUFRLEdBQUcsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3RELE9BQU87b0JBQ0wsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsU0FBUyxFQUFFO3dCQUNULGNBQWM7d0JBQ2Qsc0JBQXNCO3dCQUN0QixFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUN2RyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDN0UsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7d0JBQzNDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO3FCQUN4QztpQkFDRixDQUFDO2FBRUg7WUFBQSxPQUFNLENBQUMsRUFBQztnQkFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLHlEQUF5RCxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVFO1NBQ0Y7UUFDRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtTQUM1QixDQUFBO0lBQ0gsQ0FBQzsrR0ExQlUsaUJBQWlCO2dIQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsUUFBUTs7QUErQlQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWEsRUFBRSxjQUE4QjtJQUM1RSxPQUFPLEdBQUcsRUFBRTtRQUNWLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUF3QixFQUFRLEVBQUU7WUFDdkUsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUEsUUFBUTtZQUNwQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ2xDLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hDO1lBQ0QsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNoQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDekQsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7YUFDOUQ7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNSLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUywgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBsb2dJbnNwZWN0IH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29uZiwgR2V0SW5zdGFuY2VFbnZpcm9uZW1lbnQsIHNldENvbmZpZywgdmFsaWRhdGVBbmRHZXRDb25maWcgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgSHR0cEludGVyY2VwdG9yU2VydmljZSB9IGZyb20gJy4vaHR0cC1pbnRlcmNlcHRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25NYW5hZ2VyIH0gZnJvbSAnLi9zZXNzaW9uLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9ldmVudC1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5cblxuXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIE5nQ29sbGVjdG9yTW9kdWxlICB7XG5cbiAgc3RhdGljIGZvclJvb3QoY29uZmlndXJhdGlvbjogQXBwbGljYXRpb25Db25mKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ0NvbGxlY3Rvck1vZHVsZT4ge1xuICAgIGlmKGNvbmZpZ3VyYXRpb24/LmVuYWJsZWQpe1xuICAgICAgdHJ5e1xuICAgICAgICBsZXQgY29uZmlnID0gdmFsaWRhdGVBbmRHZXRDb25maWcoY29uZmlndXJhdGlvbik7XG4gICAgICAgIGxldCBpbnN0YW5jZSA9IEdldEluc3RhbmNlRW52aXJvbmVtZW50KGNvbmZpZ3VyYXRpb24pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5nTW9kdWxlOiBOZ0NvbGxlY3Rvck1vZHVsZSxcbiAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIFNlc3Npb25NYW5hZ2VyLCBcbiAgICAgICAgICAgIC8vRXZlbnRNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgICAgIHsgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBpbml0aWFsaXplRXZlbnRzLCBkZXBzOiBbUm91dGVyLCBTZXNzaW9uTWFuYWdlcl0sIG11bHRpOiB0cnVlIH0sXG4gICAgICAgICAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogSHR0cEludGVyY2VwdG9yU2VydmljZSwgbXVsdGk6IHRydWUgfSxcbiAgICAgICAgICAgIHsgcHJvdmlkZTogJ2luc3RhbmNlJywgdXNlVmFsdWU6IGluc3RhbmNlIH0sXG4gICAgICAgICAgICB7IHByb3ZpZGU6ICdjb25maWcnLCB1c2VWYWx1ZTogY29uZmlnIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgICAgIFxuICAgICAgfWNhdGNoKGUpe1xuICAgICAgICBjb25zb2xlLndhcm4oJ2ludmFsaWQgQ29uZmlndXJhdGlvbiwgTmctY29sbGVjdG9yIGlzIGRpc2FibGVkIGJlY2F1c2UnLCBlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ0NvbGxlY3Rvck1vZHVsZVxuICAgIH1cbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplRXZlbnRzKHJvdXRlcjpSb3V0ZXIsIHNlc3Npb25NYW5hZ2VyOiBTZXNzaW9uTWFuYWdlcikge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGxvZ0luc3BlY3QoJ2luaXRpYWxpemUgcm91dGluZyBldmVudHMgbGlzdGVuZXJzJyk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCAoZXZlbnQ6IEJlZm9yZVVubG9hZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICBzZXNzaW9uTWFuYWdlci5uZXdTZXNzaW9uKCk7Ly9mb3JjZSBcbiAgICAgICAgICAgIHNlc3Npb25NYW5hZ2VyLnNlbmRTZXNzaW9ucygpO1xuICAgICAgICB9KTtcbiAgICAgICAgcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgc2Vzc2lvbk1hbmFnZXIubmV3U2Vzc2lvbihldmVudC51cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgIHNlc3Npb25NYW5hZ2VyLmdldEN1cnJlbnRTZXNzaW9uKCkubmFtZSA9IGRvY3VtZW50LnRpdGxlO1xuICAgICAgICAgICAgICAgIHNlc3Npb25NYW5hZ2VyLmdldEN1cnJlbnRTZXNzaW9uKCkubG9jYXRpb24gPSBkb2N1bWVudC5VUkw7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICB9XG59XG5cblxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctY29sbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZXRlbWUvaW5zcGVjdC1uZy1jb2xsZWN0b3Ivc3JjL2xpYi9uZy1jb2xsZWN0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBbUIsdUJBQXVCLEVBQWEsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBTzNELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUE4QjtRQUMzQyxJQUFHLGFBQWEsRUFBRSxPQUFPLEVBQUM7WUFDeEIsSUFBRztnQkFDRCxJQUFJLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDakQsSUFBSSxRQUFRLEdBQUcsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBRXRELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ25CLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQ3JCLE9BQU87b0JBQ0wsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsU0FBUyxFQUFFO3dCQUNULGNBQWM7d0JBQ2Qsc0JBQXNCO3dCQUN0QixFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUN2RyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDN0UsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7d0JBQzNDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO3FCQUN4QztpQkFDRixDQUFDO2FBRUg7WUFBQSxPQUFNLENBQUMsRUFBQztnQkFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLHlEQUF5RCxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVFO1NBQ0Y7UUFDRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtTQUM1QixDQUFBO0lBQ0gsQ0FBQzsrR0E3QlUsaUJBQWlCO2dIQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsUUFBUTs7QUFrQ1QsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWEsRUFBRSxjQUE4QjtJQUM1RSxPQUFPLEdBQUcsRUFBRTtRQUNWLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUF3QixFQUFRLEVBQUU7WUFDdkUsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUEsUUFBUTtZQUNwQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ2xDLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hDO1lBQ0QsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNoQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDekQsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7YUFDOUQ7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNSLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUywgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBsb2dJbnNwZWN0IH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29uZiwgR2V0SW5zdGFuY2VFbnZpcm9uZW1lbnQsIHNldENvbmZpZywgdmFsaWRhdGVBbmRHZXRDb25maWcgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgSHR0cEludGVyY2VwdG9yU2VydmljZSB9IGZyb20gJy4vaHR0cC1pbnRlcmNlcHRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25NYW5hZ2VyIH0gZnJvbSAnLi9zZXNzaW9uLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9ldmVudC1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5cblxuXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIE5nQ29sbGVjdG9yTW9kdWxlICB7XG5cbiAgc3RhdGljIGZvclJvb3QoY29uZmlndXJhdGlvbjogQXBwbGljYXRpb25Db25mKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ0NvbGxlY3Rvck1vZHVsZT4ge1xuICAgIGlmKGNvbmZpZ3VyYXRpb24/LmVuYWJsZWQpe1xuICAgICAgdHJ5e1xuICAgICAgICBsZXQgY29uZmlnID0gdmFsaWRhdGVBbmRHZXRDb25maWcoY29uZmlndXJhdGlvbik7XG4gICAgICAgIGxldCBpbnN0YW5jZSA9IEdldEluc3RhbmNlRW52aXJvbmVtZW50KGNvbmZpZ3VyYXRpb24pO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKGNvbmZpZylcbiAgICAgICAgY29uc29sZS5sb2coaW5zdGFuY2UpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmdNb2R1bGU6IE5nQ29sbGVjdG9yTW9kdWxlLFxuICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgU2Vzc2lvbk1hbmFnZXIsIFxuICAgICAgICAgICAgLy9FdmVudE1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgeyBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsIHVzZUZhY3Rvcnk6IGluaXRpYWxpemVFdmVudHMsIGRlcHM6IFtSb3V0ZXIsIFNlc3Npb25NYW5hZ2VyXSwgbXVsdGk6IHRydWUgfSxcbiAgICAgICAgICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBIdHRwSW50ZXJjZXB0b3JTZXJ2aWNlLCBtdWx0aTogdHJ1ZSB9LFxuICAgICAgICAgICAgeyBwcm92aWRlOiAnaW5zdGFuY2UnLCB1c2VWYWx1ZTogaW5zdGFuY2UgfSxcbiAgICAgICAgICAgIHsgcHJvdmlkZTogJ2NvbmZpZycsIHVzZVZhbHVlOiBjb25maWcgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICAgICAgXG4gICAgICB9Y2F0Y2goZSl7XG4gICAgICAgIGNvbnNvbGUud2FybignaW52YWxpZCBDb25maWd1cmF0aW9uLCBOZy1jb2xsZWN0b3IgaXMgZGlzYWJsZWQgYmVjYXVzZScsIGUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5nQ29sbGVjdG9yTW9kdWxlXG4gICAgfVxuICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVFdmVudHMocm91dGVyOlJvdXRlciwgc2Vzc2lvbk1hbmFnZXI6IFNlc3Npb25NYW5hZ2VyKSB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgbG9nSW5zcGVjdCgnaW5pdGlhbGl6ZSByb3V0aW5nIGV2ZW50cyBsaXN0ZW5lcnMnKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZXVubG9hZCcsIChldmVudDogQmVmb3JlVW5sb2FkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHNlc3Npb25NYW5hZ2VyLm5ld1Nlc3Npb24oKTsvL2ZvcmNlIFxuICAgICAgICAgICAgc2Vzc2lvbk1hbmFnZXIuc2VuZFNlc3Npb25zKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICBzZXNzaW9uTWFuYWdlci5uZXdTZXNzaW9uKGV2ZW50LnVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgc2Vzc2lvbk1hbmFnZXIuZ2V0Q3VycmVudFNlc3Npb24oKS5uYW1lID0gZG9jdW1lbnQudGl0bGU7XG4gICAgICAgICAgICAgICAgc2Vzc2lvbk1hbmFnZXIuZ2V0Q3VycmVudFNlc3Npb24oKS5sb2NhdGlvbiA9IGRvY3VtZW50LlVSTDsgXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gIH1cbn1cblxuXG4iXX0=
@@ -1,6 +1,4 @@
1
1
  const WIN = window;
2
- export const HOST_PATERN = /https?:\/\/[\w\-.]+(:\d{2,5})?\/?/;
3
- export const PATH_PATERN = /[\w-]+(\/[\w-]+)*/;
4
2
  export function dateNow() {
5
3
  return Date.now() / 1000;
6
4
  }
@@ -65,18 +63,4 @@ function prettyRestRequestFormat(rest) {
65
63
  function prettyDurationFormat(start, end) {
66
64
  return start && end ? `(in ${(end - start).toFixed(2)} ms)` : '';
67
65
  }
68
- export function matchRegex(v, pattern) {
69
- if (v && pattern.exec(v)) {
70
- return true;
71
- }
72
- console.warn("bad value=" + v + ", pattern=" + pattern);
73
- return false;
74
- }
75
- export function requirePostitiveValue(v, name) {
76
- if (v == undefined || (v && v > 0)) {
77
- return true;
78
- }
79
- console.warn(name + '=' + v + " <= 0");
80
- return false;
81
- }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZXRlbWUvaW5zcGVjdC1uZy1jb2xsZWN0b3Ivc3JjL2xpYi91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sR0FBRyxHQUFPLE1BQU0sQ0FBQztBQUd2QixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsbUNBQW1DLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDO0FBRS9DLE1BQU0sVUFBVSxPQUFPO0lBQ25CLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUssQ0FBQztBQUM5QixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFhO0lBQ3BDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRyxJQUFJLEVBQUUsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFHLElBQVc7SUFDdkMsSUFBRyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFDO1FBQ3ZCLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFDO1lBQ2xELElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQixJQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDdEIsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDZjtTQUNGO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztLQUNuQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsT0FBb0I7SUFDdEQsSUFBSSxDQUFDLEdBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxH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Q3ZFLElBQUcsQ0FBQyxJQUFJLFNBQVMsSUFBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7UUFDbEMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFFLEdBQUcsR0FBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDckMsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFpblNlc3Npb24sIFJlc3RSZXF1ZXN0IH0gZnJvbSBcIi4vdHJhY2UubW9kZWxcIjtcblxuY29uc3QgV0lOOmFueSA9IHdpbmRvdztcblxuXG5leHBvcnQgY29uc3QgSE9TVF9QQVRFUk4gPSAvaHR0cHM/OlxcL1xcL1tcXHdcXC0uXSsoOlxcZHsyLDV9KT9cXC8/LztcbmV4cG9ydCBjb25zdCBQQVRIX1BBVEVSTiA9IC9bXFx3LV0rKFxcL1tcXHctXSspKi87XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlTm93KCkge1xuICAgIHJldHVybiBEYXRlLm5vdygpIC8gMV8wMDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0RGVidWcodmFsdWU6Ym9vbGVhbil7XG4gICBXSU5bXCJpbnNwZWN0XCJdID0geyBkZWJ1ZyA6IHRydWUgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZ0luc3BlY3QoLi4uYXJnczogYW55W10pe1xuICBpZihXSU5bXCJpbnNwZWN0XCJdPy5kZWJ1Zyl7XG4gICAgaWYoYXJncy5sZW5ndGggPT0gMSAmJiB0eXBlb2YgYXJnc1swXSA9PSAnZnVuY3Rpb24nKXtcbiAgICAgIGFyZ3MgPSBhcmdzWzBdKCk7XG4gICAgICBpZighQXJyYXkuaXNBcnJheShhcmdzKSl7XG4gICAgICAgIGFyZ3MgPSBbYXJnc107XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCdbSU5TUEVDVF0nLCAuLi5hcmdzKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJldHR5U2Vzc2lvbkZvcm1hdChzZXNzaW9uOiBNYWluU2Vzc2lvbil7XG4gIGxldCBzPSBgWyR7c2Vzc2lvbi5uYW1lfV1gO1xuICAgIGlmKHNlc3Npb24udXNlcil7XG4gICAgICBzKz0gYDwke3Nlc3Npb24udXNlcn0+YFxuICAgIH1cbiAgICBpZihzZXNzaW9uLmxvY2F0aW9uKXtcbiAgICAgIHMrPSBgKCR7c2Vzc2lvbi5sb2NhdGlvbn0pIGBcbiAgICB9XG4gICAgcys9cHJldHR5RHVyYXRpb25Gb3JtYXQoc2Vzc2lvbi5zdGFydCxzZXNzaW9uLmVuZCEpKydcXG4nO1xuICAgIHNlc3Npb24ucmVzdFJlcXVlc3RzLmZvckVhY2gociA9PiB7XG4gICAgICBzKz0gcHJldHR5UmVzdFJlcXVlc3RGb3JtYXQocikrJ1xcbic7XG4gICAgfSlcbiAgcmV0dXJuIHM7XG59XG5cbmZ1bmN0aW9uIHByZXR0eVJlc3RSZXF1ZXN0Rm9ybWF0KHJlc3Q6IFJlc3RSZXF1ZXN0KXtcbiAgbGV0IHMgPSBgICAtICBbJHtyZXN0Lm1ldGhvZH1dYFxuICBpZihyZXN0LnByb3RvY29sKXtcbiAgICBzKz0gYCR7cmVzdC5wcm90b2NvbH06Ly9gXG4gIH1cbiAgaWYocmVzdC5ob3N0KXtcbiAgICBzKz0gcmVzdC5ob3N0XG4gIH1cbiAgaWYocmVzdC5wb3J0ID4gMCl7XG4gICAgcys9IGA6JHtyZXN0LnBvcnR9YFxuICB9XG4gIGlmKHJlc3QucGF0aCl7XG4gICAgaWYoIXJlc3QucGF0aC5zdGFydHNXaXRoKFwiL1wiKSAmJiAhcy5lbmRzV2l0aChcIi9cIikpe1xuICAgICAgcys9ICcvJ1xuICAgIH1cbiAgICBzKz0gcmVzdC5wYXRoO1xuICB9XG4gIGlmKHJlc3QucXVlcnkpe1xuICAgIHMrPSByZXN0LnF1ZXJ5XG4gIH1cbiAgaWYocmVzdC5leGNlcHRpb24/LnR5cGUpe1xuICAgIHMrPSBgICR7cmVzdC5leGNlcHRpb24/LnR5cGV9OmA7XG4gIH1cbiAgaWYocmVzdC5leGNlcHRpb24/Lm1lc3NhZ2Upe1xuICAgIHMrPSBgICR7cmVzdC5leGNlcHRpb24ubWVzc2FnZX1gO1xuICB9XG4gIHMrPSBgID4+ICR7cmVzdC5zdGF0dXN9YFxuICBzKz0gcHJldHR5RHVyYXRpb25Gb3JtYXQocmVzdC5zdGFydCxyZXN0LmVuZCk7XG4gIHJldHVybiBzO1xufVxuXG5mdW5jdGlvbiBwcmV0dHlEdXJhdGlvbkZvcm1hdChzdGFydDpudW1iZXIsZW5kOm51bWJlcil7XG4gICAgcmV0dXJuICBzdGFydCAmJiBlbmQgPyBgKGluICR7IChlbmQgLSBzdGFydCkudG9GaXhlZCgyKSB9IG1zKWAgOiAnJztcbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFJlZ2V4KHY6IHN0cmluZyB8IHVuZGVmaW5lZCwgcGF0dGVybjogUmVnRXhwKSB7XG4gICBpZih2ICYmIHBhdHRlcm4uZXhlYyh2KSl7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgIH1cbiAgIGNvbnNvbGUud2FybihcImJhZCB2YWx1ZT1cIiArIHYgKyBcIiwgcGF0dGVybj1cIiArIHBhdHRlcm4pO1xuICAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVxdWlyZVBvc3RpdGl2ZVZhbHVlKHY6IG51bWJlciB8IHVuZGVmaW5lZCwgbmFtZTogc3RyaW5nKXtcbiAgaWYodiA9PSB1bmRlZmluZWQgfHwgICh2ICYmIHYgPiAwKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnNvbGUud2FybihuYW1lICsnPScrIHYgKyBcIiA8PSAwXCIpO1xuICByZXR1cm4gZmFsc2U7XG59XG5cblxuXG5cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZXRlbWUvaW5zcGVjdC1uZy1jb2xsZWN0b3Ivc3JjL2xpYi91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sR0FBRyxHQUFPLE1BQU0sQ0FBQztBQUl2QixNQUFNLFVBQVUsT0FBTztJQUNuQixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFLLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNwQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUcsSUFBSSxFQUFFLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBRyxJQUFXO0lBQ3ZDLElBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBQztRQUN2QixJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBQztZQUNsRCxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakIsSUFBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUM7Z0JBQ3RCLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2Y7U0FDRjtRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDbkM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE9BQW9CO0lBQ3RELElBQUksQ0FBQyxHQUFFLElBQUksT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDO0lBQ3pCLElBQUcsT0FBTyxDQUFDLElBQUksRUFBQztRQUNkLENBQUMsSUFBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQTtLQUN4QjtJQUNELElBQUcsT0FBTyxDQUFDLFFBQVEsRUFBQztRQUNsQixDQUFDLElBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUE7S0FDN0I7SUFDRCxDQUFDLElBQUUsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBQyxPQUFPLENBQUMsR0FBSSxDQUFDLEdBQUMsSUFBSSxDQUFDO0lBQ3pELE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQy9CLENBQUMsSUFBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUE7SUFDSixPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLElBQWlCO0lBQ2hELElBQUksQ0FBQyxHQUFHLFNBQVMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFBO0lBQy9CLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQztRQUNmLENBQUMsSUFBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQTtLQUMxQjtJQUNELElBQUcsSUFBSSxDQUFDLElBQUksRUFBQztRQUNYLENBQUMsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFBO0tBQ2Q7SUFDRCxJQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFDO1FBQ2YsQ0FBQyxJQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO0tBQ3BCO0lBQ0QsSUFBRyxJQUFJLENBQUMsSUFBSSxFQUFDO1FBQ1gsSUFBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBQztZQUNoRCxDQUFDLElBQUcsR0FBRyxDQUFBO1NBQ1I7UUFDRCxDQUFDLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztLQUNmO0lBQ0QsSUFBRyxJQUFJLENBQUMsS0FBSyxFQUFDO1FBQ1osQ0FBQyxJQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7S0FDZjtJQUNELElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUM7UUFDdEIsQ0FBQyxJQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQztLQUNqQztJQUNELElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUM7UUFDekIsQ0FBQyxJQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUNsQztJQUNELENBQUMsSUFBRyxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUN4QixDQUFDLElBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxLQUFZLEVBQUMsR0FBVTtJQUNqRCxPQUFRLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQVEsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFpblNlc3Npb24sIFJlc3RSZXF1ZXN0IH0gZnJvbSBcIi4vdHJhY2UubW9kZWxcIjtcblxuY29uc3QgV0lOOmFueSA9IHdpbmRvdztcblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlTm93KCkge1xuICAgIHJldHVybiBEYXRlLm5vdygpIC8gMV8wMDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0RGVidWcodmFsdWU6Ym9vbGVhbil7XG4gICBXSU5bXCJpbnNwZWN0XCJdID0geyBkZWJ1ZyA6IHRydWUgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZ0luc3BlY3QoLi4uYXJnczogYW55W10pe1xuICBpZihXSU5bXCJpbnNwZWN0XCJdPy5kZWJ1Zyl7XG4gICAgaWYoYXJncy5sZW5ndGggPT0gMSAmJiB0eXBlb2YgYXJnc1swXSA9PSAnZnVuY3Rpb24nKXtcbiAgICAgIGFyZ3MgPSBhcmdzWzBdKCk7XG4gICAgICBpZighQXJyYXkuaXNBcnJheShhcmdzKSl7XG4gICAgICAgIGFyZ3MgPSBbYXJnc107XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCdbSU5TUEVDVF0nLCAuLi5hcmdzKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJldHR5U2Vzc2lvbkZvcm1hdChzZXNzaW9uOiBNYWluU2Vzc2lvbil7XG4gIGxldCBzPSBgWyR7c2Vzc2lvbi5uYW1lfV1gO1xuICAgIGlmKHNlc3Npb24udXNlcil7XG4gICAgICBzKz0gYDwke3Nlc3Npb24udXNlcn0+YFxuICAgIH1cbiAgICBpZihzZXNzaW9uLmxvY2F0aW9uKXtcbiAgICAgIHMrPSBgKCR7c2Vzc2lvbi5sb2NhdGlvbn0pIGBcbiAgICB9XG4gICAgcys9cHJldHR5RHVyYXRpb25Gb3JtYXQoc2Vzc2lvbi5zdGFydCxzZXNzaW9uLmVuZCEpKydcXG4nO1xuICAgIHNlc3Npb24ucmVzdFJlcXVlc3RzLmZvckVhY2gociA9PiB7XG4gICAgICBzKz0gcHJldHR5UmVzdFJlcXVlc3RGb3JtYXQocikrJ1xcbic7XG4gICAgfSlcbiAgcmV0dXJuIHM7XG59XG5cbmZ1bmN0aW9uIHByZXR0eVJlc3RSZXF1ZXN0Rm9ybWF0KHJlc3Q6IFJlc3RSZXF1ZXN0KXtcbiAgbGV0IHMgPSBgICAtICBbJHtyZXN0Lm1ldGhvZH1dYFxuICBpZihyZXN0LnByb3RvY29sKXtcbiAgICBzKz0gYCR7cmVzdC5wcm90b2NvbH06Ly9gXG4gIH1cbiAgaWYocmVzdC5ob3N0KXtcbiAgICBzKz0gcmVzdC5ob3N0XG4gIH1cbiAgaWYocmVzdC5wb3J0ID4gMCl7XG4gICAgcys9IGA6JHtyZXN0LnBvcnR9YFxuICB9XG4gIGlmKHJlc3QucGF0aCl7XG4gICAgaWYoIXJlc3QucGF0aC5zdGFydHNXaXRoKFwiL1wiKSAmJiAhcy5lbmRzV2l0aChcIi9cIikpe1xuICAgICAgcys9ICcvJ1xuICAgIH1cbiAgICBzKz0gcmVzdC5wYXRoO1xuICB9XG4gIGlmKHJlc3QucXVlcnkpe1xuICAgIHMrPSByZXN0LnF1ZXJ5XG4gIH1cbiAgaWYocmVzdC5leGNlcHRpb24/LnR5cGUpe1xuICAgIHMrPSBgICR7cmVzdC5leGNlcHRpb24/LnR5cGV9OmA7XG4gIH1cbiAgaWYocmVzdC5leGNlcHRpb24/Lm1lc3NhZ2Upe1xuICAgIHMrPSBgICR7cmVzdC5leGNlcHRpb24ubWVzc2FnZX1gO1xuICB9XG4gIHMrPSBgID4+ICR7cmVzdC5zdGF0dXN9YFxuICBzKz0gcHJldHR5RHVyYXRpb25Gb3JtYXQocmVzdC5zdGFydCxyZXN0LmVuZCk7XG4gIHJldHVybiBzO1xufVxuXG5mdW5jdGlvbiBwcmV0dHlEdXJhdGlvbkZvcm1hdChzdGFydDpudW1iZXIsZW5kOm51bWJlcil7XG4gICAgcmV0dXJuICBzdGFydCAmJiBlbmQgPyBgKGluICR7IChlbmQgLSBzdGFydCkudG9GaXhlZCgyKSB9IG1zKWAgOiAnJztcbn1cblxuXG5cbiJdfQ==
@@ -6,8 +6,6 @@ import { tap as tap$1, finalize } from 'rxjs/operators';
6
6
  import { interval, tap, from, BehaviorSubject, of } from 'rxjs';
7
7
 
8
8
  const WIN = window;
9
- const HOST_PATERN$1 = /https?:\/\/[\w\-.]+(:\d{2,5})?\/?/;
10
- const PATH_PATERN$1 = /[\w-]+(\/[\w-]+)*/;
11
9
  function dateNow() {
12
10
  return Date.now() / 1000;
13
11
  }
@@ -72,20 +70,6 @@ function prettyRestRequestFormat(rest) {
72
70
  function prettyDurationFormat(start, end) {
73
71
  return start && end ? `(in ${(end - start).toFixed(2)} ms)` : '';
74
72
  }
75
- function matchRegex$1(v, pattern) {
76
- if (v && pattern.exec(v)) {
77
- return true;
78
- }
79
- console.warn("bad value=" + v + ", pattern=" + pattern);
80
- return false;
81
- }
82
- function requirePostitiveValue$1(v, name) {
83
- if (v == undefined || (v && v > 0)) {
84
- return true;
85
- }
86
- console.warn(name + '=' + v + " <= 0");
87
- return false;
88
- }
89
73
 
90
74
  const SLASH = '/';
91
75
  const HOST_PATERN = /https?:\/\/[\w\-.]+(:\d{2,5})?\/?/;
@@ -128,7 +112,8 @@ function validateProperty(value, func) {
128
112
  function validateAndGetConfig(conf) {
129
113
  let host = matchRegex(getStringOrCall(conf.host), "host", HOST_PATERN);
130
114
  let sessionApi = matchRegex(getStringOrCall(conf.sessionApi), 'sessionApi', PATH_PATERN);
131
- let instanceApi = matchRegex(getStringOrCall(conf.sessionApi), 'intanceApi', PATH_PATERN);
115
+ let instanceApi = matchRegex(getStringOrCall(conf.instanceApi), 'intanceApi', PATH_PATERN);
116
+ initDebug(conf.debug ?? false);
132
117
  return {
133
118
  user: getStringOrCall(conf.user),
134
119
  bufferMaxSize: requirePostitiveValue(getNumberOrCall(conf.delay), "bufferMaxSize", 1000),
@@ -452,6 +437,8 @@ class NgCollectorModule {
452
437
  try {
453
438
  let config = validateAndGetConfig(configuration);
454
439
  let instance = GetInstanceEnvironement(configuration);
440
+ console.log(config);
441
+ console.log(instance);
455
442
  return {
456
443
  ngModule: NgCollectorModule,
457
444
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"oneteme-inspect-ng-collector.mjs","sources":["../../../../projects/oneteme/inspect-ng-collector/src/lib/util.ts","../../../../projects/oneteme/inspect-ng-collector/src/lib/configuration.ts","../../../../projects/oneteme/inspect-ng-collector/src/lib/session-manager.service.ts","../../../../projects/oneteme/inspect-ng-collector/src/lib/http-interceptor.service.ts","../../../../projects/oneteme/inspect-ng-collector/src/lib/ng-collector.module.ts","../../../../projects/oneteme/inspect-ng-collector/src/public-api.ts","../../../../projects/oneteme/inspect-ng-collector/src/oneteme-inspect-ng-collector.ts"],"sourcesContent":["import { MainSession, RestRequest } from \"./trace.model\";\n\nconst WIN:any = window;\n\n\nexport const HOST_PATERN = /https?:\\/\\/[\\w\\-.]+(:\\d{2,5})?\\/?/;\nexport const PATH_PATERN = /[\\w-]+(\\/[\\w-]+)*/;\n\nexport function dateNow() {\n return Date.now() / 1_000;\n}\n\nexport function initDebug(value:boolean){\n WIN[\"inspect\"] = { debug : true };\n}\n\nexport function logInspect(...args: any[]){\n if(WIN[\"inspect\"]?.debug){\n if(args.length == 1 && typeof args[0] == 'function'){\n args = args[0]();\n if(!Array.isArray(args)){\n args = [args];\n }\n }\n console.log('[INSPECT]', ...args);\n }\n}\n\nexport function prettySessionFormat(session: MainSession){\n let s= `[${session.name}]`;\n if(session.user){\n s+= `<${session.user}>`\n }\n if(session.location){\n s+= `(${session.location}) `\n }\n s+=prettyDurationFormat(session.start,session.end!)+'\\n';\n session.restRequests.forEach(r => {\n s+= prettyRestRequestFormat(r)+'\\n';\n })\n return s;\n}\n\nfunction prettyRestRequestFormat(rest: RestRequest){\n let s = ` - [${rest.method}]`\n if(rest.protocol){\n s+= `${rest.protocol}://`\n }\n if(rest.host){\n s+= rest.host\n }\n if(rest.port > 0){\n s+= `:${rest.port}`\n }\n if(rest.path){\n if(!rest.path.startsWith(\"/\") && !s.endsWith(\"/\")){\n s+= '/'\n }\n s+= rest.path;\n }\n if(rest.query){\n s+= rest.query\n }\n if(rest.exception?.type){\n s+= ` ${rest.exception?.type}:`;\n }\n if(rest.exception?.message){\n s+= ` ${rest.exception.message}`;\n }\n s+= ` >> ${rest.status}`\n s+= prettyDurationFormat(rest.start,rest.end);\n return s;\n}\n\nfunction prettyDurationFormat(start:number,end:number){\n return start && end ? `(in ${ (end - start).toFixed(2) } ms)` : '';\n}\n\n\n\nexport function matchRegex(v: string | undefined, pattern: RegExp) {\n if(v && pattern.exec(v)){\n return true;\n }\n console.warn(\"bad value=\" + v + \", pattern=\" + pattern);\n return false;\n}\n\nexport function requirePostitiveValue(v: number | undefined, name: string){\n if(v == undefined || (v && v > 0)) {\n return true;\n }\n console.warn(name +'='+ v + \" <= 0\");\n return false;\n}\n\n\n\n\n","import { dateNow } from \"./util\";\nconst SLASH = '/';\nconst HOST_PATERN = /https?:\\/\\/[\\w\\-.]+(:\\d{2,5})?\\/?/;\nconst PATH_PATERN = /[\\w-]+(\\/[\\w-]+)*/;\nexport interface ApplicationConf {\n host?: string;\n name?: string | (() => string);\n version?: string | (() => string);\n env?: string | (() => string);\n user?: string | (() => string);\n bufferMaxSize?: number | (() => number);\n delay?: number| (() => number);\n instanceApi?: string | (() => string);\n sessionApi?: string | (() => string);\n exclude?: RegExp[] | (() => RegExp[]);\n debug?: boolean;\n enabled?: boolean;\n}\n\nexport interface TechnicalConf {\n user?:string ;\n bufferMaxSize: number;\n delay: number;\n instanceApi: string;\n sessionApi: string;\n exclude: RegExp[];\n debug: boolean;\n enabled: boolean;\n}\n\n const validationMap = { // remove \n host: { func: matchRegex, args: [HOST_PATERN] },\n bufferMaxSize: { func: requirePostitiveValue, args: [HOST_PATERN] },\n delay: { func: matchRegex, args: [HOST_PATERN] },\n instanceApi: { func: matchRegex, args: [HOST_PATERN] },\n sessionApi: { func: matchRegex, args: [HOST_PATERN] }\n }\n\nexport function setConfig(conf:ApplicationConf){\n return {\n host: conf.host,\n name: getStringOrCall(conf.name),\n version: getStringOrCall(conf.version) ?? '',\n env: getStringOrCall(conf.env)?? '',\n user: getStringOrCall(conf.user) ?? '',\n bufferMaxSize: getNumberOrCall(conf.bufferMaxSize),\n delay: getNumberOrCall(conf.delay),\n instanceApi: getStringOrCall(conf.sessionApi),\n sessionApi: getStringOrCall(conf.instanceApi),\n exclude: getRegArrOrCall(conf.exclude) ?? [], \n debug: conf.debug ?? false,\n enabled: conf.enabled ?? false\n }\n /*\n this.logServerMain = this.sessionApiURL(host,getStringOrCall(config.sessionApi)!);\n this.logInstanceEnv = this.instanceApiURL(host,getStringOrCall(config.instanceApi)!);\n this.maxBufferSize = getNumberOrCall(config.bufferMaxSize) ?? 1000;\n this.delay = getNumberOrCall(config.delay) ?? 60000;\n */\n} \n\nexport function validateProperty(value:any, func : (...args:any)=> boolean){\n if(func()){\n return value;\n }\n throw new Error('error') // pass the error return from the the passed function \n}\n\n\n\nexport function validateAndGetConfig(conf:any):TechnicalConf{\n let host = matchRegex(getStringOrCall(conf.host), \"host\" , HOST_PATERN) \n let sessionApi = matchRegex(getStringOrCall(conf.sessionApi),'sessionApi', PATH_PATERN,) \n let instanceApi = matchRegex(getStringOrCall(conf.sessionApi),'intanceApi', PATH_PATERN,)\n return {\n user : getStringOrCall(conf.user),\n bufferMaxSize: requirePostitiveValue(getNumberOrCall(conf.delay),\"bufferMaxSize\", 1000) ,\n delay: requirePostitiveValue(getNumberOrCall(conf.delay),\"delay\", 60000) ,\n instanceApi: sessionApiURL(host, sessionApi),\n sessionApi: instanceApiURL(host, instanceApi),\n exclude: getRegArrOrCall(conf.exclude) || [],\n debug: conf.debug ?? false,\n enabled: conf.enabled ?? false\n }\n}\n\nexport function GetInstanceEnvironement(conf:ApplicationConf){\n return {\n name: getStringOrCall(conf.name),\n version: getStringOrCall(conf.version),\n address: undefined, //server side\n env: getStringOrCall(conf.env),\n os: detectOs(),\n re: detectBrowser(),\n user: undefined, // cannot get user\n type: \"CLIENT\",\n instant: dateNow(),\n collector: \"inspect-ng-collector-0.0.1\"\n }\n}\n\nexport function getNumberOrCall(o?: number | (() => number)): number | undefined {\n return typeof o === \"function\" ? o() : o;\n}\n\nexport function getStringOrCall(o?: string | (() => string)): string | undefined {\n return typeof o === \"function\" ? o() : o;\n}\n\nexport function getRegArrOrCall(o?: RegExp[] | (() => RegExp[])): RegExp[] | undefined {\n return typeof o === \"function\" ? o() : o;\n}\n\nexport function detectBrowser() {\n try {\n const agent = window.navigator.userAgent.toLowerCase()\n switch (true) {\n case agent.indexOf('edge') > -1:\n return 'edge';\n case agent.indexOf('opr') > -1:\n return 'opera';\n case agent.indexOf('chrome') > -1:\n return 'chrome';\n case agent.indexOf('firefox') > -1:\n return 'firefox';\n case agent.indexOf('safari') > -1:\n return 'safari';\n }\n }\n catch (e) {\n console.error(e);\n }\n return undefined;\n}\n\nexport function detectOs() {\n try {\n let versionMatch, version;\n const agent = window.navigator.userAgent.toLowerCase()\n switch (true) {\n case (/windows/.test(agent)):\n versionMatch = /windows nt (\\d+\\.\\d+)/.exec(agent);\n version = versionMatch ? versionMatch[1] : 'Unknown';\n return `Windows ${version}`;\n case (/linux/.test(agent)):\n return 'Linux';\n\n case (/macintosh/.test(agent)):\n versionMatch = /mac os x (\\d+[._]\\d+[._]\\d+)/.exec(agent);\n version = versionMatch ? versionMatch[1] : 'Unknown';\n return `MacOs ${version}`\n }\n }\n catch (e) {\n console.error(e);\n }\n return undefined;\n}\n\nfunction instanceApiURL(host:string, path:string){\n return toURL(host,path);\n}\n\nfunction sessionApiURL(host:string, path:string){\n return toURL(host,path);\n}\n\nfunction toURL(host:string, path:string ){\n return host.endsWith(SLASH) || path.startsWith(SLASH) ? host + path : [host,path].join(SLASH);\n}\n\nexport function matchRegex(v: string | undefined, name: string, pattern: RegExp,) {\n if(v && pattern.exec(v)){\n return v;\n }\n throw `bad value ${name}=${v}, pattern=${pattern}`;\n}\n\nexport function requirePostitiveValue(v: number | undefined, name: string, defaultValue:number){\n if(v && v > 0) {\n return v;\n }\n if(v == undefined){\n return defaultValue;\n }\n throw `bad value ${name}= ${v} <= 0` \n}\n\n","import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { InstanceEnvironment, MainSession } from './trace.model';\nimport { BehaviorSubject, from, interval, Observable, of, Subscription, tap } from 'rxjs';\nimport { dateNow,logInspect, prettySessionFormat } from './util';\nimport { TechnicalConf } from './configuration';\n\n\n@Injectable({ providedIn: 'root' })\nexport class SessionManager implements OnDestroy {\n maxBufferSize!: number;\n delay!:number\n instanceEnvironment : InstanceEnvironment;\n scheduledSessionSender!: Subscription;\n sessionQueue: MainSession[]= [];\n sessionSendAttempts: number = 0\n InstanceEnvSendAttempts: number = 0;\n instance!: BehaviorSubject<string>;\n sendSessionfinished:boolean= true;\n sendInstanceEnvFinished: boolean = true;\n \n\n currentSession!: MainSession;\n config: TechnicalConf;\n constructor( @Inject('config') config: TechnicalConf,\n @Inject('instance') instance: InstanceEnvironment){\n this.config = config;\n this.instanceEnvironment = instance;\n this.scheduledSessionSender = interval(this.delay)\n .pipe(tap(()=> {\n if(this.sendSessionfinished){\n this.sendSessions();\n }}))\n .subscribe();\n logInspect('SessionManager initialized');\n }\n\n\n\n addSessions(sessions:MainSession){\n this.sessionQueue.push(sessions);\n logInspect(\"added element to session queue, new size is: \"+ this.sessionQueue.length);\n }\n\n\n newSession(url?:string){\n if(this.currentSession){\n this.currentSession.end = dateNow();\n if(this.config.exclude.every((e) => !e.test(this.currentSession.location))){\n this.addSessions(this.currentSession);\n }\n logInspect(()=>prettySessionFormat(this.currentSession));\n }\n if(url){\n this.currentSession = {\n '@type': \"main\",\n user: this.config.user,\n start: dateNow(),\n type: \"VIEW\",\n location: url,\n restRequests: []\n }\n }\n }\n\n\n\n sendSessions() {\n if(this.sessionQueue.length> 0){\n this.getInsertedInstanceId().subscribe((id:string|null)=>{\n if(id) {\n this.sendSessionfinished = false;\n let sessions: MainSession[] = [...this.sessionQueue];\n this.sessionQueue.splice(0,sessions.length); // add rest of sessions\n logInspect(`sending sessions, attempts:${++this.sessionSendAttempts}, queue size : ${sessions.length}`)\n\n const requestOptions: RequestInit = {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n },\n mode : 'cors',\n body: JSON.stringify(sessions)\n };\n\n fetch(this.config.sessionApi, requestOptions)\n .then(data=> {\n if(data.ok){\n logInspect('sessions sent successfully, queue size reset, new size is: '+this.sessionQueue.length)\n this.sessionSendAttempts= 0;\n }else{\n console.warn(`Error while attempting to send sessions, attempts: ${this.sessionSendAttempts}`)//\n this.revertQueueSize(sessions);\n }\n })\n .catch(error => {\n console.warn(`Error while attempting to send sessions, attempts: ${this.sessionSendAttempts}`,error)//\n this.revertQueueSize(sessions);\n }).finally( ()=> {\n this.sendSessionfinished = true;\n })\n\n }else {\n console.warn(`Error while attempting to send Environement instance, attempts ${this.sessionSendAttempts}`);\n }\n })\n }\n }\n\n revertQueueSize(sessions: MainSession[]){\n this.sessionQueue.unshift(...sessions);\n if(this.sessionQueue.length > this.maxBufferSize ){\n let diff = this.sessionQueue.length - this.maxBufferSize;\n this.sessionQueue = this.sessionQueue.slice(0,this.maxBufferSize);\n logInspect('Buffer size exeeded the max size,last sessions have been removed from buffer, (number of sessions removed):'+diff)\n }\n }\n\n getInsertedInstanceId() : Observable<any> {\n if(this.instance){\n return this.instance;\n }\n if(this.sendInstanceEnvFinished){// move up in send session ? \n this.sendInstanceEnvFinished = false;\n const requestOptions: RequestInit = {\n \n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n mode: 'cors',\n body: JSON.stringify(this.instanceEnvironment)\n };\n this.sessionSendAttempts++;\n return from( fetch(this.config.instanceApi, requestOptions)\n .then(res => res.ok ? res.text().then(id=> {\n this.instance = new BehaviorSubject<string>(id);\n this.config.sessionApi = this.config.sessionApi .replace(':id',id);\n this.sessionSendAttempts=0;\n logInspect('Environement instance sent successfully');\n return id; \n }) : null)\n .catch(err => {\n console.warn(err)\n return null;\n }).finally(()=> {\n this.sendInstanceEnvFinished = true;\n }))\n }\n return of(null);\n }\n\n \n\n ngOnDestroy(): void {\n if(this.scheduledSessionSender){\n this.scheduledSessionSender.unsubscribe();\n }\n }\n\n getCurrentSession() {\n return this.currentSession;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpInterceptor, HttpEvent, HttpHandler, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { tap, finalize } from 'rxjs/operators'\nimport { ExceptionInfo } from './trace.model';\nimport { dateNow } from './util';\nimport { SessionManager } from './session-manager.service';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpInterceptorService implements HttpInterceptor {\n\n constructor(private SessionManager: SessionManager) { } // change this to session manager\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const start = dateNow();\n let status: number, responseBody: any = '', exception: ExceptionInfo;\n let id: string| undefined;\n return next.handle(req).pipe(tap(\n (event: any) => {\n if (event instanceof HttpResponse) {\n status = +event.status;\n responseBody = event.body\n id = getReqid(event.headers);\n }\n },\n error => {\n id = getReqid(error.headers);\n status = +error.status;\n exception = {\n type: error.error.error,\n message: error.error.message\n }\n },\n ), finalize(() => {\n\n const url = toHref(req.urlWithParams);\n this.SessionManager.getCurrentSession().restRequests.push({\n id: id,\n method: req.method,\n protocol: url.protocol.slice(0, -1),\n host: exctractHost(url.host),\n port: +url.port,\n path: url.pathname,\n query: url.search.slice(1, url.search.length),\n contentType: req.responseType,\n authScheme: extractAuthScheme(req.headers),\n status: +status,\n inDataSize: sizeOf(responseBody),\n ouDataSize: sizeOf(req.body),\n start: start,\n end: dateNow(),\n exception: exception\n });\n }));\n }\n}\n\nfunction toHref(url: string): HTMLAnchorElement {\n const href = document.createElement('a');\n href.setAttribute('href', url);\n return href;\n}\n\nfunction exctractHost(path: string) {\n const portregex = /:\\d+/;\n return path.replace(portregex, '')\n}\n\nfunction extractAuthScheme(headers: any): string | undefined {\n return headers.has('authorization')\n ? headers.get('authorization').match(/^(\\w+) /)?.at(1)\n : undefined;\n}\n\nfunction getReqid(headers:any):string | undefined {\n return headers.has('x-tracert')\n ? headers.get('x-tracert')\n : undefined;\n}\n\nfunction sizeOf(body: any): number {\n return body ? JSON.stringify(body).length : 0;\n}\n","import { NgModule, APP_INITIALIZER, ModuleWithProviders } from '@angular/core';\nimport { HTTP_INTERCEPTORS, } from '@angular/common/http';\nimport { logInspect } from './util';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { ApplicationConf, GetInstanceEnvironement, setConfig, validateAndGetConfig } from './configuration';\nimport { HttpInterceptorService } from './http-interceptor.service';\nimport { SessionManager } from './session-manager.service';\nimport { EventManagerService } from './event-manager.service';\n\n\n\n\n@NgModule()\nexport class NgCollectorModule {\n\n static forRoot(configuration: ApplicationConf): ModuleWithProviders<NgCollectorModule> {\n if(configuration?.enabled){\n try{\n let config = validateAndGetConfig(configuration);\n let instance = GetInstanceEnvironement(configuration);\n return {\n ngModule: NgCollectorModule,\n providers: [\n SessionManager, \n //EventManagerService,\n { provide: APP_INITIALIZER, useFactory: initializeEvents, deps: [Router, SessionManager], multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: HttpInterceptorService, multi: true },\n { provide: 'instance', useValue: instance },\n { provide: 'config', useValue: config }\n ]\n };\n \n }catch(e){\n console.warn('invalid Configuration, Ng-collector is disabled because', e);\n }\n }\n return {\n ngModule: NgCollectorModule\n }\n }\n}\n\n\nexport function initializeEvents(router:Router, sessionManager: SessionManager) {\n return () => {\n logInspect('initialize routing events listeners');\n window.addEventListener('beforeunload', (event: BeforeUnloadEvent): void => {\n sessionManager.newSession();//force \n sessionManager.sendSessions();\n });\n router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n sessionManager.newSession(event.url);\n }\n if (event instanceof NavigationEnd) {\n sessionManager.getCurrentSession().name = document.title;\n sessionManager.getCurrentSession().location = document.URL; \n }\n })\n }\n}\n\n\n","/*\n * Public API Surface of inspect-ng-collector\n */\n\n\nexport * from './lib/ng-collector.module';\n\n ","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["HOST_PATERN","PATH_PATERN","matchRegex","requirePostitiveValue","tap","i1.SessionManager"],"mappings":"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"}
1
+ {"version":3,"file":"oneteme-inspect-ng-collector.mjs","sources":["../../../../projects/oneteme/inspect-ng-collector/src/lib/util.ts","../../../../projects/oneteme/inspect-ng-collector/src/lib/configuration.ts","../../../../projects/oneteme/inspect-ng-collector/src/lib/session-manager.service.ts","../../../../projects/oneteme/inspect-ng-collector/src/lib/http-interceptor.service.ts","../../../../projects/oneteme/inspect-ng-collector/src/lib/ng-collector.module.ts","../../../../projects/oneteme/inspect-ng-collector/src/public-api.ts","../../../../projects/oneteme/inspect-ng-collector/src/oneteme-inspect-ng-collector.ts"],"sourcesContent":["import { MainSession, RestRequest } from \"./trace.model\";\n\nconst WIN:any = window;\n\n\n\nexport function dateNow() {\n return Date.now() / 1_000;\n}\n\nexport function initDebug(value:boolean){\n WIN[\"inspect\"] = { debug : true };\n}\n\nexport function logInspect(...args: any[]){\n if(WIN[\"inspect\"]?.debug){\n if(args.length == 1 && typeof args[0] == 'function'){\n args = args[0]();\n if(!Array.isArray(args)){\n args = [args];\n }\n }\n console.log('[INSPECT]', ...args);\n }\n}\n\nexport function prettySessionFormat(session: MainSession){\n let s= `[${session.name}]`;\n if(session.user){\n s+= `<${session.user}>`\n }\n if(session.location){\n s+= `(${session.location}) `\n }\n s+=prettyDurationFormat(session.start,session.end!)+'\\n';\n session.restRequests.forEach(r => {\n s+= prettyRestRequestFormat(r)+'\\n';\n })\n return s;\n}\n\nfunction prettyRestRequestFormat(rest: RestRequest){\n let s = ` - [${rest.method}]`\n if(rest.protocol){\n s+= `${rest.protocol}://`\n }\n if(rest.host){\n s+= rest.host\n }\n if(rest.port > 0){\n s+= `:${rest.port}`\n }\n if(rest.path){\n if(!rest.path.startsWith(\"/\") && !s.endsWith(\"/\")){\n s+= '/'\n }\n s+= rest.path;\n }\n if(rest.query){\n s+= rest.query\n }\n if(rest.exception?.type){\n s+= ` ${rest.exception?.type}:`;\n }\n if(rest.exception?.message){\n s+= ` ${rest.exception.message}`;\n }\n s+= ` >> ${rest.status}`\n s+= prettyDurationFormat(rest.start,rest.end);\n return s;\n}\n\nfunction prettyDurationFormat(start:number,end:number){\n return start && end ? `(in ${ (end - start).toFixed(2) } ms)` : '';\n}\n\n\n\n","import { dateNow, initDebug } from \"./util\";\nconst SLASH = '/';\nconst HOST_PATERN = /https?:\\/\\/[\\w\\-.]+(:\\d{2,5})?\\/?/;\nconst PATH_PATERN = /[\\w-]+(\\/[\\w-]+)*/;\nexport interface ApplicationConf {\n host?: string;\n name?: string | (() => string);\n version?: string | (() => string);\n env?: string | (() => string);\n user?: string | (() => string);\n bufferMaxSize?: number | (() => number);\n delay?: number| (() => number);\n instanceApi?: string | (() => string);\n sessionApi?: string | (() => string);\n exclude?: RegExp[] | (() => RegExp[]);\n debug?: boolean;\n enabled?: boolean;\n}\n\nexport interface TechnicalConf {\n user?:string ;\n bufferMaxSize: number;\n delay: number;\n instanceApi: string;\n sessionApi: string;\n exclude: RegExp[];\n debug: boolean;\n enabled: boolean;\n}\n\n const validationMap = { // remove \n host: { func: matchRegex, args: [HOST_PATERN] },\n bufferMaxSize: { func: requirePostitiveValue, args: [HOST_PATERN] },\n delay: { func: matchRegex, args: [HOST_PATERN] },\n instanceApi: { func: matchRegex, args: [HOST_PATERN] },\n sessionApi: { func: matchRegex, args: [HOST_PATERN] }\n }\n\nexport function setConfig(conf:ApplicationConf){\n return {\n host: conf.host,\n name: getStringOrCall(conf.name),\n version: getStringOrCall(conf.version) ?? '',\n env: getStringOrCall(conf.env)?? '',\n user: getStringOrCall(conf.user) ?? '',\n bufferMaxSize: getNumberOrCall(conf.bufferMaxSize),\n delay: getNumberOrCall(conf.delay),\n instanceApi: getStringOrCall(conf.sessionApi),\n sessionApi: getStringOrCall(conf.instanceApi),\n exclude: getRegArrOrCall(conf.exclude) ?? [], \n debug: conf.debug ?? false,\n enabled: conf.enabled ?? false\n }\n /*\n this.logServerMain = this.sessionApiURL(host,getStringOrCall(config.sessionApi)!);\n this.logInstanceEnv = this.instanceApiURL(host,getStringOrCall(config.instanceApi)!);\n this.maxBufferSize = getNumberOrCall(config.bufferMaxSize) ?? 1000;\n this.delay = getNumberOrCall(config.delay) ?? 60000;\n */\n} \n\nexport function validateProperty(value:any, func : (...args:any)=> boolean){\n if(func()){\n return value;\n }\n throw new Error('error') // pass the error return from the the passed function \n}\n\n\n\nexport function validateAndGetConfig(conf:any):TechnicalConf{\n let host = matchRegex(getStringOrCall(conf.host), \"host\" , HOST_PATERN) \n let sessionApi = matchRegex(getStringOrCall(conf.sessionApi),'sessionApi', PATH_PATERN) \n let instanceApi = matchRegex(getStringOrCall(conf.instanceApi),'intanceApi', PATH_PATERN)\n initDebug(conf.debug ?? false);\n return {\n user : getStringOrCall(conf.user),\n bufferMaxSize: requirePostitiveValue(getNumberOrCall(conf.delay),\"bufferMaxSize\", 1000) ,\n delay: requirePostitiveValue(getNumberOrCall(conf.delay),\"delay\", 60000) ,\n instanceApi: sessionApiURL(host, sessionApi),\n sessionApi: instanceApiURL(host, instanceApi),\n exclude: getRegArrOrCall(conf.exclude) || [],\n debug: conf.debug ?? false,\n enabled: conf.enabled ?? false\n }\n}\n\nexport function GetInstanceEnvironement(conf:ApplicationConf){\n return {\n name: getStringOrCall(conf.name),\n version: getStringOrCall(conf.version),\n address: undefined, //server side\n env: getStringOrCall(conf.env),\n os: detectOs(),\n re: detectBrowser(),\n user: undefined, // cannot get user\n type: \"CLIENT\",\n instant: dateNow(),\n collector: \"inspect-ng-collector-0.0.1\"\n }\n}\n\nexport function getNumberOrCall(o?: number | (() => number)): number | undefined {\n return typeof o === \"function\" ? o() : o;\n}\n\nexport function getStringOrCall(o?: string | (() => string)): string | undefined {\n return typeof o === \"function\" ? o() : o;\n}\n\nexport function getRegArrOrCall(o?: RegExp[] | (() => RegExp[])): RegExp[] | undefined {\n return typeof o === \"function\" ? o() : o;\n}\n\nexport function detectBrowser() {\n try {\n const agent = window.navigator.userAgent.toLowerCase()\n switch (true) {\n case agent.indexOf('edge') > -1:\n return 'edge';\n case agent.indexOf('opr') > -1:\n return 'opera';\n case agent.indexOf('chrome') > -1:\n return 'chrome';\n case agent.indexOf('firefox') > -1:\n return 'firefox';\n case agent.indexOf('safari') > -1:\n return 'safari';\n }\n }\n catch (e) {\n console.error(e);\n }\n return undefined;\n}\n\nexport function detectOs() {\n try {\n let versionMatch, version;\n const agent = window.navigator.userAgent.toLowerCase()\n switch (true) {\n case (/windows/.test(agent)):\n versionMatch = /windows nt (\\d+\\.\\d+)/.exec(agent);\n version = versionMatch ? versionMatch[1] : 'Unknown';\n return `Windows ${version}`;\n case (/linux/.test(agent)):\n return 'Linux';\n\n case (/macintosh/.test(agent)):\n versionMatch = /mac os x (\\d+[._]\\d+[._]\\d+)/.exec(agent);\n version = versionMatch ? versionMatch[1] : 'Unknown';\n return `MacOs ${version}`\n }\n }\n catch (e) {\n console.error(e);\n }\n return undefined;\n}\n\nfunction instanceApiURL(host:string, path:string){\n return toURL(host,path);\n}\n\nfunction sessionApiURL(host:string, path:string){\n return toURL(host,path);\n}\n\nfunction toURL(host:string, path:string ){\n return host.endsWith(SLASH) || path.startsWith(SLASH) ? host + path : [host,path].join(SLASH);\n}\n\nexport function matchRegex(v: string | undefined, name: string, pattern: RegExp,) {\n if(v && pattern.exec(v)){\n return v;\n }\n throw `bad value ${name}=${v}, pattern=${pattern}`;\n}\n\nexport function requirePostitiveValue(v: number | undefined, name: string, defaultValue:number){\n if(v && v > 0) {\n return v;\n }\n if(v == undefined){\n return defaultValue;\n }\n throw `bad value ${name}= ${v} <= 0` \n}\n\n","import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { InstanceEnvironment, MainSession } from './trace.model';\nimport { BehaviorSubject, from, interval, Observable, of, Subscription, tap } from 'rxjs';\nimport { dateNow,logInspect, prettySessionFormat } from './util';\nimport { TechnicalConf } from './configuration';\n\n\n@Injectable({ providedIn: 'root' })\nexport class SessionManager implements OnDestroy {\n maxBufferSize!: number;\n delay!:number\n instanceEnvironment : InstanceEnvironment;\n scheduledSessionSender!: Subscription;\n sessionQueue: MainSession[]= [];\n sessionSendAttempts: number = 0\n InstanceEnvSendAttempts: number = 0;\n instance!: BehaviorSubject<string>;\n sendSessionfinished:boolean= true;\n sendInstanceEnvFinished: boolean = true;\n \n\n currentSession!: MainSession;\n config: TechnicalConf;\n constructor( @Inject('config') config: TechnicalConf,\n @Inject('instance') instance: InstanceEnvironment){\n this.config = config;\n this.instanceEnvironment = instance;\n this.scheduledSessionSender = interval(this.delay)\n .pipe(tap(()=> {\n if(this.sendSessionfinished){\n this.sendSessions();\n }}))\n .subscribe();\n logInspect('SessionManager initialized');\n }\n\n\n\n addSessions(sessions:MainSession){\n this.sessionQueue.push(sessions);\n logInspect(\"added element to session queue, new size is: \"+ this.sessionQueue.length);\n }\n\n\n newSession(url?:string){\n if(this.currentSession){\n this.currentSession.end = dateNow();\n if(this.config.exclude.every((e) => !e.test(this.currentSession.location))){\n this.addSessions(this.currentSession);\n }\n logInspect(()=>prettySessionFormat(this.currentSession));\n }\n if(url){\n this.currentSession = {\n '@type': \"main\",\n user: this.config.user,\n start: dateNow(),\n type: \"VIEW\",\n location: url,\n restRequests: []\n }\n }\n }\n\n\n\n sendSessions() {\n if(this.sessionQueue.length> 0){\n this.getInsertedInstanceId().subscribe((id:string|null)=>{\n if(id) {\n this.sendSessionfinished = false;\n let sessions: MainSession[] = [...this.sessionQueue];\n this.sessionQueue.splice(0,sessions.length); // add rest of sessions\n logInspect(`sending sessions, attempts:${++this.sessionSendAttempts}, queue size : ${sessions.length}`)\n\n const requestOptions: RequestInit = {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n },\n mode : 'cors',\n body: JSON.stringify(sessions)\n };\n\n fetch(this.config.sessionApi, requestOptions)\n .then(data=> {\n if(data.ok){\n logInspect('sessions sent successfully, queue size reset, new size is: '+this.sessionQueue.length)\n this.sessionSendAttempts= 0;\n }else{\n console.warn(`Error while attempting to send sessions, attempts: ${this.sessionSendAttempts}`)//\n this.revertQueueSize(sessions);\n }\n })\n .catch(error => {\n console.warn(`Error while attempting to send sessions, attempts: ${this.sessionSendAttempts}`,error)//\n this.revertQueueSize(sessions);\n }).finally( ()=> {\n this.sendSessionfinished = true;\n })\n\n }else {\n console.warn(`Error while attempting to send Environement instance, attempts ${this.sessionSendAttempts}`);\n }\n })\n }\n }\n\n revertQueueSize(sessions: MainSession[]){\n this.sessionQueue.unshift(...sessions);\n if(this.sessionQueue.length > this.maxBufferSize ){\n let diff = this.sessionQueue.length - this.maxBufferSize;\n this.sessionQueue = this.sessionQueue.slice(0,this.maxBufferSize);\n logInspect('Buffer size exeeded the max size,last sessions have been removed from buffer, (number of sessions removed):'+diff)\n }\n }\n\n getInsertedInstanceId() : Observable<any> {\n if(this.instance){\n return this.instance;\n }\n if(this.sendInstanceEnvFinished){// move up in send session ? \n this.sendInstanceEnvFinished = false;\n const requestOptions: RequestInit = {\n \n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n mode: 'cors',\n body: JSON.stringify(this.instanceEnvironment)\n };\n this.sessionSendAttempts++;\n return from( fetch(this.config.instanceApi, requestOptions)\n .then(res => res.ok ? res.text().then(id=> {\n this.instance = new BehaviorSubject<string>(id);\n this.config.sessionApi = this.config.sessionApi .replace(':id',id);\n this.sessionSendAttempts=0;\n logInspect('Environement instance sent successfully');\n return id; \n }) : null)\n .catch(err => {\n console.warn(err)\n return null;\n }).finally(()=> {\n this.sendInstanceEnvFinished = true;\n }))\n }\n return of(null);\n }\n\n \n\n ngOnDestroy(): void {\n if(this.scheduledSessionSender){\n this.scheduledSessionSender.unsubscribe();\n }\n }\n\n getCurrentSession() {\n return this.currentSession;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { HttpInterceptor, HttpEvent, HttpHandler, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { tap, finalize } from 'rxjs/operators'\nimport { ExceptionInfo } from './trace.model';\nimport { dateNow } from './util';\nimport { SessionManager } from './session-manager.service';\n\n@Injectable({ providedIn: 'root' })\nexport class HttpInterceptorService implements HttpInterceptor {\n\n constructor(private SessionManager: SessionManager) { } // change this to session manager\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const start = dateNow();\n let status: number, responseBody: any = '', exception: ExceptionInfo;\n let id: string| undefined;\n return next.handle(req).pipe(tap(\n (event: any) => {\n if (event instanceof HttpResponse) {\n status = +event.status;\n responseBody = event.body\n id = getReqid(event.headers);\n }\n },\n error => {\n id = getReqid(error.headers);\n status = +error.status;\n exception = {\n type: error.error.error,\n message: error.error.message\n }\n },\n ), finalize(() => {\n\n const url = toHref(req.urlWithParams);\n this.SessionManager.getCurrentSession().restRequests.push({\n id: id,\n method: req.method,\n protocol: url.protocol.slice(0, -1),\n host: exctractHost(url.host),\n port: +url.port,\n path: url.pathname,\n query: url.search.slice(1, url.search.length),\n contentType: req.responseType,\n authScheme: extractAuthScheme(req.headers),\n status: +status,\n inDataSize: sizeOf(responseBody),\n ouDataSize: sizeOf(req.body),\n start: start,\n end: dateNow(),\n exception: exception\n });\n }));\n }\n}\n\nfunction toHref(url: string): HTMLAnchorElement {\n const href = document.createElement('a');\n href.setAttribute('href', url);\n return href;\n}\n\nfunction exctractHost(path: string) {\n const portregex = /:\\d+/;\n return path.replace(portregex, '')\n}\n\nfunction extractAuthScheme(headers: any): string | undefined {\n return headers.has('authorization')\n ? headers.get('authorization').match(/^(\\w+) /)?.at(1)\n : undefined;\n}\n\nfunction getReqid(headers:any):string | undefined {\n return headers.has('x-tracert')\n ? headers.get('x-tracert')\n : undefined;\n}\n\nfunction sizeOf(body: any): number {\n return body ? JSON.stringify(body).length : 0;\n}\n","import { NgModule, APP_INITIALIZER, ModuleWithProviders } from '@angular/core';\nimport { HTTP_INTERCEPTORS, } from '@angular/common/http';\nimport { logInspect } from './util';\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { ApplicationConf, GetInstanceEnvironement, setConfig, validateAndGetConfig } from './configuration';\nimport { HttpInterceptorService } from './http-interceptor.service';\nimport { SessionManager } from './session-manager.service';\nimport { EventManagerService } from './event-manager.service';\n\n\n\n\n@NgModule()\nexport class NgCollectorModule {\n\n static forRoot(configuration: ApplicationConf): ModuleWithProviders<NgCollectorModule> {\n if(configuration?.enabled){\n try{\n let config = validateAndGetConfig(configuration);\n let instance = GetInstanceEnvironement(configuration);\n\n console.log(config)\n console.log(instance)\n return {\n ngModule: NgCollectorModule,\n providers: [\n SessionManager, \n //EventManagerService,\n { provide: APP_INITIALIZER, useFactory: initializeEvents, deps: [Router, SessionManager], multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: HttpInterceptorService, multi: true },\n { provide: 'instance', useValue: instance },\n { provide: 'config', useValue: config }\n ]\n };\n \n }catch(e){\n console.warn('invalid Configuration, Ng-collector is disabled because', e);\n }\n }\n return {\n ngModule: NgCollectorModule\n }\n }\n}\n\n\nexport function initializeEvents(router:Router, sessionManager: SessionManager) {\n return () => {\n logInspect('initialize routing events listeners');\n window.addEventListener('beforeunload', (event: BeforeUnloadEvent): void => {\n sessionManager.newSession();//force \n sessionManager.sendSessions();\n });\n router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n sessionManager.newSession(event.url);\n }\n if (event instanceof NavigationEnd) {\n sessionManager.getCurrentSession().name = document.title;\n sessionManager.getCurrentSession().location = document.URL; \n }\n })\n }\n}\n\n\n","/*\n * Public API Surface of inspect-ng-collector\n */\n\n\nexport * from './lib/ng-collector.module';\n\n ","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["tap","i1.SessionManager"],"mappings":"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"}
package/lib/util.d.ts CHANGED
@@ -1,9 +1,5 @@
1
1
  import { MainSession } from "./trace.model";
2
- export declare const HOST_PATERN: RegExp;
3
- export declare const PATH_PATERN: RegExp;
4
2
  export declare function dateNow(): number;
5
3
  export declare function initDebug(value: boolean): void;
6
4
  export declare function logInspect(...args: any[]): void;
7
5
  export declare function prettySessionFormat(session: MainSession): string;
8
- export declare function matchRegex(v: string | undefined, pattern: RegExp): boolean;
9
- export declare function requirePostitiveValue(v: number | undefined, name: string): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneteme/inspect-ng-collector",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "description": "inspect ng collector",
5
5
  "homepage": "https://github.com/oneteme/inspect-ng-collector",
6
6
  "bugs": "https://github.com/oneteme/inspect-ng-collector/issues",