{"version":3,"file":"camatsoft-tracelog-angular.mjs","sources":["../../../projects/camatsoft-tracelog-angular/src/lib/services/application-error-handler.service.ts","../../../projects/camatsoft-tracelog-angular/src/lib/sdk.ts","../../../projects/camatsoft-tracelog-angular/src/public-api.ts","../../../projects/camatsoft-tracelog-angular/src/camatsoft-tracelog-angular.ts"],"sourcesContent":["import { ErrorHandler, Injectable } from '@angular/core';\r\nimport { ActivatedRoute, NavigationError, Router } from '@angular/router';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { AjaxError, AjaxTimeoutError } from 'rxjs/ajax';\r\nimport { ParseError, ParserError, TreeError } from '@angular/compiler';\r\nimport { ArgumentOutOfRangeError, EmptyError, NotFoundError, SequenceError, TimeoutError, UnsubscriptionError } from 'rxjs';\r\nimport * as CamatsoftTracelog from '@camatsoft/tracelog'\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ApplicationErrorHandlerService implements ErrorHandler {\r\n\r\n  constructor(\r\n    private activatedRoute: ActivatedRoute\r\n    , private router: Router) { return; }\r\n\r\n  handleError(error: any): void {\r\n    let exception: CamatsoftTracelog.Exception = new CamatsoftTracelog.Exception();\r\n    var _error;\r\n    if (error instanceof EvalError) {\r\n      _error = error as EvalError;\r\n      exception.type = 'EvalError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof ErrorEvent) {\r\n      _error = error as ErrorEvent;\r\n      exception.type = 'ErrorEvent';\r\n      exception.message = _error.message;\r\n      exception.method = _error.type;\r\n      exception.stackTrace = `${_error.error}`;\r\n    }\r\n    else if (error instanceof TypeError) {\r\n      _error = error as TypeError;\r\n      exception.type = 'TypeError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof AjaxError) {\r\n      _error = error as AjaxError;\r\n      exception.type = 'AjaxError';\r\n      exception.message = _error.message;\r\n      exception.method = _error.request.method;\r\n      if (_error.request.body != undefined) { exception.source = JSON.stringify(_error.request.body); }\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof HttpErrorResponse) {\r\n      _error = error as HttpErrorResponse;\r\n      exception.type = 'HttpErrorResponse';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `${_error.statusText}\\r\\n${_error.url}`;\r\n    }\r\n    else if (error instanceof TreeError) {\r\n      _error = error as TreeError;\r\n      exception.type = 'TreeError';\r\n      exception.message = _error.msg;\r\n      if (_error.elementName != null) { exception.class = _error.elementName; }\r\n      exception.stackTrace = `${_error.level}\\r\\n${_error.span.details}`;\r\n    }\r\n    else if (error instanceof MediaError) {\r\n      _error = error as MediaError;\r\n      exception.type = 'MediaError';\r\n      exception.message = _error.message;\r\n      exception.stackTrace = `${_error.code}`;\r\n    }\r\n    else if (error instanceof EmptyError) {\r\n      _error = error as EmptyError;\r\n      exception.type = 'EmptyError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof RangeError) {\r\n      _error = error as RangeError;\r\n      exception.type = 'RangeError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof ParseError) {\r\n      _error = error as ParseError;\r\n      exception.type = 'ParseError';\r\n      exception.message = _error.msg;\r\n      exception.stackTrace = `${_error.level}\\r\\n${_error.span.details}`;\r\n    }\r\n    else if (error instanceof TimeoutError) {\r\n      _error = error as TimeoutError;\r\n      exception.type = 'TimeoutError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof NotFoundError) {\r\n      _error = error as NotFoundError;\r\n      exception.type = 'NotFoundError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof SequenceError) {\r\n      _error = error as SequenceError;\r\n      exception.type = 'SequenceError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof ParserError) {\r\n      _error = error as ParserError;\r\n      exception.type = 'ParserError';\r\n      exception.message = _error.message;\r\n      exception.innerException = new CamatsoftTracelog.Exception({ message: _error.input });\r\n      exception.stackTrace = `${_error.errLocation}`;\r\n    }\r\n    else if (error instanceof AggregateError) {\r\n      _error = error as AggregateError;\r\n      exception.type = 'AggregateError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof ReferenceError) {\r\n      _error = error as ReferenceError;\r\n      exception.type = 'ReferenceError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof NavigationError) {\r\n      _error = error as NavigationError;\r\n      exception.type = 'NavigationError';\r\n      exception.message = _error.error.message;\r\n      exception.memberType = _error.type.toString();\r\n      exception.stackTrace = `${_error.error.code}\\r\\n${_error.error.stack}`;\r\n    }\r\n    else if (error instanceof AjaxTimeoutError) {\r\n      _error = error as AjaxTimeoutError;\r\n      exception.type = 'AjaxTimeoutError';\r\n      exception.message = _error.message;\r\n      exception.method = _error.request.method;\r\n      if (_error.request.body != undefined) { exception.source = JSON.stringify(_error.request.body); }\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n\r\n    }\r\n    else if (error instanceof WebTransportError) {\r\n      _error = error as WebTransportError;\r\n      exception.type = 'WebTransportError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.method = _error.source;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\nstreamErrorCode : ${_error.streamErrorCode}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof UnsubscriptionError) {\r\n      _error = error as UnsubscriptionError;\r\n      exception.type = 'UnsubscriptionError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof ArgumentOutOfRangeError) {\r\n      _error = error as ArgumentOutOfRangeError;\r\n      exception.type = 'ArgumentOutOfRangeError';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else if (error instanceof Error) {\r\n      _error = error as Error;\r\n      exception.type = 'Error';\r\n      exception.message = _error.message;\r\n      exception.namespace = _error.name;\r\n      exception.stackTrace = `cause : ${_error.cause}\\r\\n${_error.stack}`;\r\n    }\r\n    else {\r\n      exception.type = 'None'\r\n      let memberType = (typeof error).toString();\r\n      memberType = memberType.toLowerCase()\r\n        .replace(new RegExp(/[-_]+/, 'g'), ' ')\r\n        .replace(new RegExp(/[^\\w\\s]/, 'g'), '')\r\n        .trim()\r\n        .split(' ')\r\n        .map(word => word[0]\r\n          .toUpperCase()\r\n          .concat(word.slice(1)))\r\n        .join('');\r\n      exception.memberType = memberType;\r\n      switch (typeof error) {\r\n        case 'bigint':\r\n        case 'boolean':\r\n        case 'number':\r\n        case 'string':\r\n          exception.message = error.toString();\r\n          break;\r\n        case 'object':\r\n          exception.message = JSON.stringify(error);\r\n          break;\r\n        default:\r\n          exception.message = 'Error';\r\n      }\r\n    }\r\n    CamatsoftTracelog.Sdk.captureExecption(exception, (configureScope: CamatsoftTracelog.Scope) => {\r\n      configureScope.setTag(\"Connection.Id\", \"\");\r\n      configureScope.setTag(\"Connection.LocalIpAddress\", document.location.hostname);\r\n      configureScope.setTag(\"Connection.LocalPort\", document.location.port);\r\n      document.cookie.split(';').forEach((element, index) => {\r\n        try {\r\n          let key = element.substring(0, element.indexOf('=')).trim();\r\n          let value = element.substring(element.indexOf('=') + 1);\r\n          configureScope.setTag(`Request.Cookies.${key}`, value);\r\n        } catch { }\r\n      });\r\n      // foreach (var item in httpRequest.Headers) { configureScope.setTag($\"Request.Header.{item.Key}\", $\"{item.Value}\"); }\r\n      configureScope.setTag(\"Request.Host\", document.location.host);\r\n      configureScope.setTag(\"Request.HttpMethod\", 'GET');\r\n      configureScope.setTag(\"Request.IsHttps\", document.location.protocol.startsWith('https').toString());\r\n      configureScope.setTag(\"Request.Path\", document.location.pathname);\r\n      configureScope.setTag(\"Request.Protocol\", document.location.protocol.substring(0, document.location.protocol.length - 1).toUpperCase());\r\n      Object.entries(this.activatedRoute.snapshot.queryParams).forEach((element, index) => { try { configureScope.setTag(`Request.Query.${element[0]}`, element[1]); } catch { } });\r\n      var url = this.router.url;\r\n      if (url.indexOf('?') > -1) { url = url.substring(0, url.indexOf('?')); }\r\n      var urlSegment = url.split('/');\r\n      urlSegment.forEach((e, i) => { configureScope.setTag(`Request.RouteValues.${i}`, e); });\r\n      configureScope.setTag(\"Request.Scheme\", document.location.protocol.substring(0, document.location.protocol.length - 1));\r\n      configureScope.setTag(\"Request.Url\", document.location.href);\r\n      configureScope.setTag(\"Request.QueryString\", document.location.search);\r\n      let ua: string = window.navigator.userAgent;\r\n      let browserName: string = '';\r\n      let browserVersion: string = '';\r\n      let browserType: string = '';\r\n      let client_os: string = '';\r\n      let client_os_plateform: string = '';\r\n      let client_os_version: string = '';\r\n      let browser: string = '';\r\n      if (ua != undefined && ua != null && ua != '') {\r\n        if (ua.indexOf(\"Firefox/\") > -1) { browser = ua.substring(ua.indexOf(\"Firefox/\")); }\r\n        else if (ua.indexOf(\"Edg/\") > -1) { browser = ua.substring(ua.indexOf(\"Edg/\")); }\r\n        else if (ua.indexOf(\"OPR/\") > -1) { browser = ua.substring(ua.indexOf(\"OPR/\")); }\r\n        else if (ua.indexOf(\"Chrome/\") > -1) { browser = ua.substring(ua.indexOf(\"Chrome/\")); }\r\n        else if (ua.indexOf(\"Safari/\") > -1) { browser = ua.substring(ua.indexOf(\"Safari/\")); }\r\n        if (browser.indexOf(\" \") > -1) { browser.substring(0, browser.indexOf(\" \")); }\r\n\r\n        try {\r\n          let client_oss: string[] = ua.substring(ua.indexOf(\"(\") + 1, ua.indexOf(\")\") - ua.indexOf(\"(\") - 1).split(';');\r\n          client_os = client_oss[0];\r\n          client_os_plateform = client_os;\r\n          if (client_os.lastIndexOf(\" \") > -1) {\r\n            client_os_plateform = client_os.substring(0, client_os.lastIndexOf(\" \"));\r\n            client_os_version = client_os.substring(client_os.lastIndexOf(\" \") + 1);\r\n          }\r\n          else if (client_os == \"Macintosh\") {\r\n            client_os_version = client_oss[client_oss.length - 1].substring(client_oss[client_oss.length - 1].lastIndexOf(\" \")).replace(\"_\", \".\");\r\n          }\r\n        }\r\n        catch { }\r\n      }\r\n      if (browser != undefined && browser != null && browser != '') {\r\n        let browsers: string[] = browser.split('/');\r\n        browserName = browsers[0].trim();\r\n        switch (browserName) {\r\n          case \"Firefox\": browserName = \"Mozilla Firefox\"; browserType = \"firefox\"; break;\r\n          case \"Edg\": browserName = \"Microsoft Edge\"; browserType = \"edge\"; break;\r\n          case \"OPR\": browserName = \"Opera\"; browserType = \"opera\"; break;\r\n          case \"Chrome\": browserName = \"Google Chrome\"; browserType = \"chrome\"; break;\r\n          case \"Safari\": browserName = \"Apple Safari\"; browserType = \"safari\"; break;\r\n        }\r\n        browserVersion = browsers.length > 1 ? browsers[1] : '';\r\n      }\r\n      configureScope.setTag(\"Request.Browser\", `${browserName} ${browserVersion}`);\r\n      configureScope.setTag(\"Request.Browser.Name\", browserName);\r\n      configureScope.setTag(\"Request.Browser.Version\", browserVersion);\r\n      configureScope.setTag(\"Request.Browser.Platform\", client_os_plateform);\r\n      configureScope.setTag(\"Request.Browser.Type\", browserType);\r\n      configureScope.setTag(\"Request.ClientOS\", client_os);\r\n      configureScope.setTag(\"Request.ClientOS.Name\", client_os_plateform);\r\n      configureScope.setTag(\"Request.ClientOS.Version\", client_os_version);\r\n    });\r\n  }\r\n}","import * as CamatsoftTracelog from '@camatsoft/tracelog'\r\n\r\nexport class Sdk {\r\n    public static init(callbackfn?: (options: CamatsoftTracelog.TraceLogOptions) => void): void {\r\n        let ua: string = window.navigator.userAgent;\r\n        let client_os: string = '';\r\n        let client_os_plateform: string = '';\r\n        let client_os_version: string = '';\r\n        if (ua != undefined && ua != null && ua != '') {\r\n            try {\r\n                let client_oss: string[] = ua.substring(ua.indexOf(\"(\") + 1, ua.indexOf(\")\") - ua.indexOf(\"(\") - 1).split(';');\r\n                client_os = client_oss[0];\r\n                client_os_plateform = client_os;\r\n                if (client_os.lastIndexOf(\" \") > -1) {\r\n                    client_os_plateform = client_os.substring(0, client_os.lastIndexOf(\" \"));\r\n                    client_os_version = client_os.substring(client_os.lastIndexOf(\" \") + 1);\r\n                }\r\n                else if (client_os == \"Macintosh\") {\r\n                    client_os_version = client_oss[client_oss.length - 1].substring(client_oss[client_oss.length - 1].lastIndexOf(\" \")).replace(\"_\", \".\");\r\n                }\r\n            }\r\n            catch (ex) { console.log(ex); }\r\n        }\r\n        let options: CamatsoftTracelog.TraceLogOptions = new CamatsoftTracelog.TraceLogOptions({\r\n            attachStacktrace: true,\r\n            machineName: '',\r\n            domain: '',\r\n            userName: '',\r\n            is64BitOperatingSystem: false,\r\n            is64BitProcess: false,\r\n            useFileIO: false,\r\n            distribution: 'Camatsoft.TraceLog.Angular',\r\n            releaseInformation: '1.0.4',\r\n            commandLine: '',\r\n            isPrivilegedProcess: false,\r\n            processId: 0,\r\n            processPath: '',\r\n            processorCount: 0,\r\n            userInteractive: false,\r\n            oSVersion: new CamatsoftTracelog.OperatingSystem(0, client_os_plateform, '', new CamatsoftTracelog.Version(client_os_version), client_os),\r\n            version: new CamatsoftTracelog.Version('1.0.4')\r\n        });\r\n        if (callbackfn != undefined) { callbackfn(options); }\r\n        CamatsoftTracelog.Sdk.init(options);\r\n    }\r\n}\r\n","/*\r\n * Public API Surface of camatsoft-tracelog-angular\r\n */\r\n\r\nexport * from './lib/services/application-error-handler.service';\r\nexport * from './lib/sdk';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}