@lognroll/lib 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -7,17 +7,14 @@ var Core = class {
7
7
  }
8
8
  initSession(companyId, data) {
9
9
  (window || {})["lnr"] = this;
10
- console.log("companyId!", companyId);
11
10
  this.companyId = companyId;
12
- console.log("Initializing session with data", data);
13
11
  const script = document.createElement("script");
14
12
  let date = (/* @__PURE__ */ new Date()).getTime();
15
- script.src = `https://logger.lognroll.com/logger.lnr.1.0.1.js?cc=` + date;
13
+ script.src = ((data == null ? void 0 : data.logFile) || "https://logger.lognroll.com/logger.lnr.1.0.1.js") + `?cc=` + date;
16
14
  script.async = false;
17
15
  document.head.appendChild(script);
18
16
  }
19
17
  identifyUser(userId, traits) {
20
- console.log(`Identifying user: ${userId}`, traits);
21
18
  this.userId = userId;
22
19
  this.traits = traits;
23
20
  }
@@ -160,7 +157,6 @@ var Network = class extends core_default {
160
157
  }
161
158
  }
162
159
  };
163
- console.log("responseLog", responseLog);
164
160
  _this.responseLogs.push(responseLog);
165
161
  requestStore.delete(requestId);
166
162
  return response;
@@ -208,14 +204,8 @@ var Network = class extends core_default {
208
204
  this.onreadystatechange = function() {
209
205
  var _a;
210
206
  if (self.readyState === 4) {
211
- console.log("XHR Response Received:");
212
- console.log(" URL:", self.responseURL);
213
- console.log(" Status:", self.status);
214
- console.log(" Status Text:", self.statusText);
215
- console.log(" Response Data:", self.responseText);
216
207
  const data = requestStore.get(requestId);
217
208
  const responseTime = Date.now() - ((data == null ? void 0 : data.timestamp) || Date.now());
218
- console.log("METHOD", method);
219
209
  const responseLog = {
220
210
  type: "network",
221
211
  stage: "response",
@@ -242,7 +232,6 @@ var Network = class extends core_default {
242
232
  }
243
233
  }
244
234
  };
245
- console.log("responseLog", responseLog);
246
235
  _this.responseLogs.push(responseLog);
247
236
  requestStore.delete(requestId);
248
237
  if (originalOnReadyStateChange) {
@@ -259,10 +248,8 @@ var Network = class extends core_default {
259
248
  const originalSend = xhr.send;
260
249
  xhr.send = function(body) {
261
250
  if (body instanceof FormData) {
262
- console.log("FormData entries:");
263
251
  const reqData = {};
264
252
  for (const [key, value] of body.entries()) {
265
- console.log(`${key}:`, value);
266
253
  reqData[key] = value;
267
254
  }
268
255
  body = reqData;
@@ -275,7 +262,6 @@ var Network = class extends core_default {
275
262
  if (data != null) {
276
263
  data["body"] = body;
277
264
  }
278
- console.log("Non-FormData body:", body);
279
265
  }
280
266
  xhr.addEventListener("load", function(progressEvent) {
281
267
  var _a;
@@ -285,8 +271,6 @@ var Network = class extends core_default {
285
271
  }
286
272
  if (url.includes("/api/v1/requests/")) {
287
273
  }
288
- console.log("url", url);
289
- console.log("xhr.response", xhr.response, xhr);
290
274
  });
291
275
  xhr.addEventListener("error", function() {
292
276
  var _a;
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/core/index.ts", "../src/network/index.ts", "../src/console/index.ts", "../src/index.ts"],
4
- "sourcesContent": ["import Network from \"../network\";\ndeclare const LOG_FILE: string;\n\nexport class Core {\n constructor() {\n }\n public companyId: string = '';\n public userId: string = '';\n public traits: {name?:string, email?: string} = {};\n\n initSession(companyId: string, data: any) {\n ((window || {}) as any)['lnr'] = this;\n console.log('companyId!', companyId);\n this.companyId = companyId;\n console.log('Initializing session with data', data);\n const script = document.createElement('script');\n let date = new Date().getTime();\n script.src = LOG_FILE + `?cc=`+ date;\n script.async = false;\n document.head.appendChild(script);\n }\n\n identifyUser(userId: string, traits: {name?:string, email?: string}) {\n // Logic to identify user\n console.log(`Identifying user: ${userId}`, traits);\n this.userId = userId;\n this.traits = traits;\n }\n}\n\nexport default Core;\n", "import Core from \"../core\";\n\nexport class Network extends Core {\n constructor() {\n super();\n this.wrap();\n }\n private responseLogs: any[] = [];\n private processedResources = new Set<string>();\n private resourceMonitorInterval: number | null = null;\n\n getResponseLogs() {\n return [...this.responseLogs];\n }\n\n clearResponseLogs() {\n this.responseLogs = [];\n this.processedResources.clear();\n }\n\n private monitorResourceTiming() {\n if (typeof window === 'undefined' || !window.performance || !window.performance.getEntriesByType) {\n return;\n }\n\n const resources = performance.getEntriesByType('resource') as PerformanceResourceTiming[];\n \n resources.forEach(resource => {\n // Skip if already processed or if it's a lognroll request\n if (this.processedResources.has(resource.name) || resource.name.includes('lognroll')) {\n return;\n }\n\n // Add to processed set\n this.processedResources.add(resource.name);\n\n // Calculate timing details\n const timing = {\n startTime: resource.startTime,\n duration: resource.duration,\n fetchStart: resource.fetchStart,\n responseEnd: resource.responseEnd,\n // DNS lookup time\n dnsTime: resource.domainLookupEnd - resource.domainLookupStart,\n // Connection time\n connectTime: resource.connectEnd - resource.connectStart,\n // Time to First Byte (TTFB)\n ttfb: resource.responseStart - resource.requestStart,\n // Content download time\n downloadTime: resource.responseEnd - resource.responseStart\n };\n\n // console.log('resource', resource)\n // Create response log entry\n const responseLog = {\n type: 'network',\n stage: 'response',\n payload: {\n request: {\n id: `resource-${resource.startTime}`,\n url: resource.name,\n timestamp: Date.now() - resource.duration,\n method: 'GET',\n initiatorType: resource.initiatorType,\n body: null\n },\n response: {\n url: resource.name,\n status: 200, // Resources that fail to load won't appear in the performance entries\n statusText: 'OK',\n headers: {},\n timing,\n contentType: resource.initiatorType,\n decodedBodySize: resource.decodedBodySize,\n encodedBodySize: resource.encodedBodySize,\n transferSize: resource.transferSize,\n timestamp: Date.now(),\n responseTime: resource.duration\n }\n }\n };\n\n this.responseLogs.push(responseLog);\n });\n\n // Clear the performance buffer to avoid processing the same resources again\n performance.clearResourceTimings();\n }\n\n startResourceMonitoring(interval: number = 1000) {\n if (this.resourceMonitorInterval !== null) {\n return;\n }\n\n // Initial check\n this.monitorResourceTiming();\n\n // Set up periodic monitoring\n this.resourceMonitorInterval = window.setInterval(() => {\n this.monitorResourceTiming();\n }, interval);\n }\n\n stopResourceMonitoring() {\n if (this.resourceMonitorInterval !== null) {\n clearInterval(this.resourceMonitorInterval);\n this.resourceMonitorInterval = null;\n }\n }\n\n wrap() {\n // Start resource monitoring\n this.startResourceMonitoring();\n\n // Store for tracking requests\n const requestStore = new Map<string, { url: string; timestamp: number, body: any }>();\n\n // Wrap fetch\n const originalFetch = window.fetch;\n const _this = this;\n window.fetch = async function (input: RequestInfo | URL, init?: RequestInit) {\n const requestId = Date.now().toString();\n const url = typeof input === 'string' ? input : (input as Request).url;\n \n // Skip requests containing 'lognroll' in the URL\n if (url.includes('lognroll')) {\n return originalFetch(input, init);\n }\n \n const method = init?.method || 'GET';\n const body = init?.body || null;\n\n requestStore.set(requestId, {url, timestamp: Date.now(), body: null});\n\n // Execute original fetch\n const startTime = Date.now();\n const requestDetails = requestStore.get(requestId);\n try {\n const response = await originalFetch(input, init);\n\n // Clone response to read body\n const clonedResponse = response.clone();\n const responseData = await clonedResponse.text().catch(() => null);\n // Log response\n const responseTime = Date.now() - startTime;\n const responseLog = {\n type: 'network',\n stage: 'response',\n payload: {\n request: {\n id: requestId,\n url: response.url,\n timestamp: requestDetails?.timestamp || Date.now() - 100,\n method,\n body\n },\n response: {\n url: response.url,\n status: response.status,\n statusText: response.statusText,\n headers: (() => {\n const headersObj: Record<string, string> = {};\n response.headers.forEach((value, key) => {\n headersObj[key] = value;\n });\n return headersObj;\n })(),\n data: responseData,\n timestamp: Date.now(),\n responseTime\n }\n }\n };\n\n console.log('responseLog', responseLog);\n _this.responseLogs.push(responseLog);\n requestStore.delete(requestId);\n\n return response;\n } catch (error: unknown) {\n // Log error\n const errorLog = {\n type: 'network',\n stage: 'error',\n payload: {\n request: {\n id: requestId,\n url,\n timestamp: requestDetails?.timestamp || Date.now() - 100,\n method,\n body\n },\n error: {\n message: error instanceof Error ? error.message : 'Unknown error',\n timestamp: Date.now()\n }\n }\n };\n\n // console.error(JSON.stringify(errorLog));\n _this.responseLogs.push(errorLog);\n requestStore.delete(requestId);\n throw error;\n }\n };\n\n // Wrap XMLHttpRequest\n const originalXHR = window.XMLHttpRequest;\n // @ts-ignore - We're intentionally replacing the constructor\n window.XMLHttpRequest = function () {\n const xhr = new originalXHR();\n const requestId = Date.now().toString();\n\n const originalOpen = xhr.open;\n\n // Store custom headers for this specific XHR instance\n (xhr as any)._requestHeaders = {};\n\n // Preserve the original setRequestHeader for this instance\n const originalSetRequestHeader = xhr.setRequestHeader;\n xhr.setRequestHeader = function(header, value) {\n (xhr as any)._requestHeaders[header] = value;\n originalSetRequestHeader.apply(this, arguments as any);\n };\n\n xhr.open = function (method: string, url: string | URL) {\n if (url.toString().includes('lognroll')) {\n return originalOpen.apply(xhr, arguments as any);\n }\n\n requestStore.set(requestId, {url: url.toString(), timestamp: Date.now(), body: null});\n\n\n // Store a reference to 'this' (the XHR object) to use in the modified onreadystatechange\n const self = this;\n\n // Preserve the original onreadystatechange handler if it exists\n const originalOnReadyStateChange = this.onreadystatechange;\n\n // Override onreadystatechange to intercept the response\n this.onreadystatechange = function() {\n if (self.readyState === 4) { // DONE state\n // Log response details\n console.log('XHR Response Received:');\n console.log(' URL:', self.responseURL);\n console.log(' Status:', self.status);\n console.log(' Status Text:', self.statusText);\n console.log(' Response Data:', self.responseText); // Or self.response, self.responseXML, etc.\n\n // You can add additional logic here, like error handling or re-trying requests\n\n const data = requestStore.get(requestId);\n // Log response\n const responseTime = Date.now() - (data?.timestamp || Date.now());\n console.log('METHOD', method);\n const responseLog = {\n type: 'network',\n stage: 'response',\n payload: {\n request: {\n id: requestId,\n url: url,\n timestamp: requestStore.get(requestId)?.timestamp || Date.now() - 100,\n method: method || 'GET',\n body: data?.body || null,\n headers: (xhr as any)._requestHeaders || {}\n },\n response: {\n status: self.status,\n statusText: self.statusText,\n headers: self.getAllResponseHeaders().split('\\r\\n').reduce((acc: Record<string, string>, line: string) => {\n const [key, value] = line.split(': ');\n if (key && value) acc[key] = value;\n return acc;\n }, {}),\n data: self.responseText,\n timestamp: Date.now(),\n responseTime\n }\n }\n };\n\n // console.log(JSON.stringify(responseLog));\n console.log('responseLog', responseLog);\n\n _this.responseLogs.push(responseLog);\n requestStore.delete(requestId);\n\n // Call the original onreadystatechange if it was defined\n if (originalOnReadyStateChange) {\n originalOnReadyStateChange.apply(self, arguments as any);\n }\n } else {\n // If there was an original onreadystatechange, call it for other states\n if (originalOnReadyStateChange) {\n originalOnReadyStateChange.apply(self, arguments as any);\n }\n }\n };\n\n\n return originalOpen.apply(xhr, arguments as any);\n };\n\n const originalSend = xhr.send;\n xhr.send = function (body: any) {\n if (body instanceof FormData) {\n console.log(\"FormData entries:\");\n const reqData: any = {};\n for (const [key, value] of (body as any).entries()) {\n console.log(`${key}:`, value);\n reqData[key] = value;\n }\n body = reqData;\n const data = requestStore.get(requestId);\n if (data != null) {\n data['body'] = reqData;\n }\n\n } else {\n const data = requestStore.get(requestId);\n if (data != null) {\n data['body'] = body;\n }\n console.log(\"Non-FormData body:\", body);\n }\n\n xhr.addEventListener('load', function (progressEvent) {\n\n const url = requestStore.get(requestId)?.url || '';\n // Skip if URL contains 'lognroll'\n if (url.includes('lognroll')) {\n return;\n }\n\n if(url.includes('/api/v1/requests/')) {\n // debugger;\n }\n\n\n console.log('url', url);\n console.log('xhr.response', xhr.response, xhr);\n\n });\n\n xhr.addEventListener('error', function () {\n // Skip if URL contains 'lognroll'\n if (xhr.responseURL.includes('lognroll')) {\n return;\n }\n \n // Log error\n const errorLog = {\n type: 'network',\n stage: 'error',\n payload: {\n request: {\n id: requestId,\n url: xhr.responseURL,\n timestamp: requestStore.get(requestId)?.timestamp || Date.now() - 100,\n method: (xhr as any)._method || 'GET',\n body\n },\n error: {\n message: 'XHR request failed',\n timestamp: Date.now()\n }\n }\n };\n\n _this.responseLogs.push(errorLog);\n requestStore.delete(requestId);\n });\n\n return originalSend.apply(xhr, arguments as any);\n };\n\n return xhr;\n };\n }\n}\n\nexport default Network;\n", "import Network from \"../network\";\n\nexport class Console extends Network {\n\n private originalConsole: any;\n public consoleLogs: any[] = [];\n\n constructor() {\n super();\n this.originalConsole = window.console;\n this.initializeConsoleOverrides();\n }\n\n initializeConsoleOverrides() {\n const methods = ['log', 'info', 'warn', 'error', 'debug', 'trace'];\n\n methods.forEach(method => {\n const originalMethod = this.originalConsole[method];\n\n (window as any).console[method] = (...args: any[]) => {\n const timestamp = Date.now();\n originalMethod.apply(this.originalConsole, args);\n\n try {\n const getCircularReplacer = () => {\n const seen = new WeakSet();\n return (key: any, value: any) => {\n if (typeof value === 'object' && value !== null) {\n if (seen.has(value)) {\n return '[Circular]';\n }\n seen.add(value);\n }\n return value;\n };\n };\n\n const data = method + \"<|||>\" + args.map(arg => {\n try {\n return typeof arg === 'object' && arg !== null\n ? JSON.stringify(arg, getCircularReplacer())\n : String(arg);\n } catch (e) {\n return '[Error stringifying argument]';\n }\n }).join('<SPLIT>');\n\n this.consoleLogs.push({\n data,\n timestamp,\n })\n } catch (e) {\n originalMethod.apply(this.originalConsole, [e, 'error sending log']);\n }\n };\n });\n }\n}\n\nexport default Console;\n", "import { Console } from './console';\n\nclass LognRoll extends Console {\n\n constructor() {\n super();\n }\n}\n\nexport default new LognRoll();"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import Network from \"../network\";\ndeclare const LOG_FILE: string;\n\nexport class Core {\n constructor() {\n }\n public companyId: string = '';\n public userId: string = '';\n public traits: {name?:string, email?: string} = {};\n\n initSession(companyId: string, data: any) {\n ((window || {}) as any)['lnr'] = this;\n this.companyId = companyId;\n const script = document.createElement('script');\n let date = new Date().getTime();\n script.src = (data?.logFile || LOG_FILE) + `?cc=`+ date;\n script.async = false;\n document.head.appendChild(script);\n }\n\n identifyUser(userId: string, traits: {name?:string, email?: string}) {\n this.userId = userId;\n this.traits = traits;\n }\n}\n\nexport default Core;\n", "import Core from \"../core\";\n\nexport class Network extends Core {\n constructor() {\n super();\n this.wrap();\n }\n private responseLogs: any[] = [];\n private processedResources = new Set<string>();\n private resourceMonitorInterval: number | null = null;\n\n getResponseLogs() {\n return [...this.responseLogs];\n }\n\n clearResponseLogs() {\n this.responseLogs = [];\n this.processedResources.clear();\n }\n\n private monitorResourceTiming() {\n if (typeof window === 'undefined' || !window.performance || !window.performance.getEntriesByType) {\n return;\n }\n\n const resources = performance.getEntriesByType('resource') as PerformanceResourceTiming[];\n \n resources.forEach(resource => {\n // Skip if already processed or if it's a lognroll request\n if (this.processedResources.has(resource.name) || resource.name.includes('lognroll')) {\n return;\n }\n\n // Add to processed set\n this.processedResources.add(resource.name);\n\n // Calculate timing details\n const timing = {\n startTime: resource.startTime,\n duration: resource.duration,\n fetchStart: resource.fetchStart,\n responseEnd: resource.responseEnd,\n // DNS lookup time\n dnsTime: resource.domainLookupEnd - resource.domainLookupStart,\n // Connection time\n connectTime: resource.connectEnd - resource.connectStart,\n // Time to First Byte (TTFB)\n ttfb: resource.responseStart - resource.requestStart,\n // Content download time\n downloadTime: resource.responseEnd - resource.responseStart\n };\n\n // Create response log entry\n const responseLog = {\n type: 'network',\n stage: 'response',\n payload: {\n request: {\n id: `resource-${resource.startTime}`,\n url: resource.name,\n timestamp: Date.now() - resource.duration,\n method: 'GET',\n initiatorType: resource.initiatorType,\n body: null\n },\n response: {\n url: resource.name,\n status: 200, // Resources that fail to load won't appear in the performance entries\n statusText: 'OK',\n headers: {},\n timing,\n contentType: resource.initiatorType,\n decodedBodySize: resource.decodedBodySize,\n encodedBodySize: resource.encodedBodySize,\n transferSize: resource.transferSize,\n timestamp: Date.now(),\n responseTime: resource.duration\n }\n }\n };\n\n this.responseLogs.push(responseLog);\n });\n\n // Clear the performance buffer to avoid processing the same resources again\n performance.clearResourceTimings();\n }\n\n startResourceMonitoring(interval: number = 1000) {\n if (this.resourceMonitorInterval !== null) {\n return;\n }\n\n // Initial check\n this.monitorResourceTiming();\n\n // Set up periodic monitoring\n this.resourceMonitorInterval = window.setInterval(() => {\n this.monitorResourceTiming();\n }, interval);\n }\n\n stopResourceMonitoring() {\n if (this.resourceMonitorInterval !== null) {\n clearInterval(this.resourceMonitorInterval);\n this.resourceMonitorInterval = null;\n }\n }\n\n wrap() {\n // Start resource monitoring\n this.startResourceMonitoring();\n\n // Store for tracking requests\n const requestStore = new Map<string, { url: string; timestamp: number, body: any }>();\n\n // Wrap fetch\n const originalFetch = window.fetch;\n const _this = this;\n window.fetch = async function (input: RequestInfo | URL, init?: RequestInit) {\n const requestId = Date.now().toString();\n const url = typeof input === 'string' ? input : (input as Request).url;\n \n // Skip requests containing 'lognroll' in the URL\n if (url.includes('lognroll')) {\n return originalFetch(input, init);\n }\n \n const method = init?.method || 'GET';\n const body = init?.body || null;\n\n requestStore.set(requestId, {url, timestamp: Date.now(), body: null});\n\n // Execute original fetch\n const startTime = Date.now();\n const requestDetails = requestStore.get(requestId);\n try {\n const response = await originalFetch(input, init);\n\n // Clone response to read body\n const clonedResponse = response.clone();\n const responseData = await clonedResponse.text().catch(() => null);\n // Log response\n const responseTime = Date.now() - startTime;\n const responseLog = {\n type: 'network',\n stage: 'response',\n payload: {\n request: {\n id: requestId,\n url: response.url,\n timestamp: requestDetails?.timestamp || Date.now() - 100,\n method,\n body\n },\n response: {\n url: response.url,\n status: response.status,\n statusText: response.statusText,\n headers: (() => {\n const headersObj: Record<string, string> = {};\n response.headers.forEach((value, key) => {\n headersObj[key] = value;\n });\n return headersObj;\n })(),\n data: responseData,\n timestamp: Date.now(),\n responseTime\n }\n }\n };\n\n _this.responseLogs.push(responseLog);\n requestStore.delete(requestId);\n\n return response;\n } catch (error: unknown) {\n // Log error\n const errorLog = {\n type: 'network',\n stage: 'error',\n payload: {\n request: {\n id: requestId,\n url,\n timestamp: requestDetails?.timestamp || Date.now() - 100,\n method,\n body\n },\n error: {\n message: error instanceof Error ? error.message : 'Unknown error',\n timestamp: Date.now()\n }\n }\n };\n\n // console.error(JSON.stringify(errorLog));\n _this.responseLogs.push(errorLog);\n requestStore.delete(requestId);\n throw error;\n }\n };\n\n // Wrap XMLHttpRequest\n const originalXHR = window.XMLHttpRequest;\n // @ts-ignore - We're intentionally replacing the constructor\n window.XMLHttpRequest = function () {\n const xhr = new originalXHR();\n const requestId = Date.now().toString();\n\n const originalOpen = xhr.open;\n\n // Store custom headers for this specific XHR instance\n (xhr as any)._requestHeaders = {};\n\n // Preserve the original setRequestHeader for this instance\n const originalSetRequestHeader = xhr.setRequestHeader;\n xhr.setRequestHeader = function(header, value) {\n (xhr as any)._requestHeaders[header] = value;\n originalSetRequestHeader.apply(this, arguments as any);\n };\n\n xhr.open = function (method: string, url: string | URL) {\n if (url.toString().includes('lognroll')) {\n return originalOpen.apply(xhr, arguments as any);\n }\n\n requestStore.set(requestId, {url: url.toString(), timestamp: Date.now(), body: null});\n\n\n // Store a reference to 'this' (the XHR object) to use in the modified onreadystatechange\n const self = this;\n\n // Preserve the original onreadystatechange handler if it exists\n const originalOnReadyStateChange = this.onreadystatechange;\n\n // Override onreadystatechange to intercept the response\n this.onreadystatechange = function() {\n if (self.readyState === 4) { // DONE state\n\n const data = requestStore.get(requestId);\n // Log response\n const responseTime = Date.now() - (data?.timestamp || Date.now());\n const responseLog = {\n type: 'network',\n stage: 'response',\n payload: {\n request: {\n id: requestId,\n url: url,\n timestamp: requestStore.get(requestId)?.timestamp || Date.now() - 100,\n method: method || 'GET',\n body: data?.body || null,\n headers: (xhr as any)._requestHeaders || {}\n },\n response: {\n status: self.status,\n statusText: self.statusText,\n headers: self.getAllResponseHeaders().split('\\r\\n').reduce((acc: Record<string, string>, line: string) => {\n const [key, value] = line.split(': ');\n if (key && value) acc[key] = value;\n return acc;\n }, {}),\n data: self.responseText,\n timestamp: Date.now(),\n responseTime\n }\n }\n };\n\n\n _this.responseLogs.push(responseLog);\n requestStore.delete(requestId);\n\n // Call the original onreadystatechange if it was defined\n if (originalOnReadyStateChange) {\n originalOnReadyStateChange.apply(self, arguments as any);\n }\n } else {\n // If there was an original onreadystatechange, call it for other states\n if (originalOnReadyStateChange) {\n originalOnReadyStateChange.apply(self, arguments as any);\n }\n }\n };\n\n\n return originalOpen.apply(xhr, arguments as any);\n };\n\n const originalSend = xhr.send;\n xhr.send = function (body: any) {\n if (body instanceof FormData) {\n const reqData: any = {};\n for (const [key, value] of (body as any).entries()) {\n reqData[key] = value;\n }\n body = reqData;\n const data = requestStore.get(requestId);\n if (data != null) {\n data['body'] = reqData;\n }\n\n } else {\n const data = requestStore.get(requestId);\n if (data != null) {\n data['body'] = body;\n }\n }\n\n xhr.addEventListener('load', function (progressEvent) {\n\n const url = requestStore.get(requestId)?.url || '';\n // Skip if URL contains 'lognroll'\n if (url.includes('lognroll')) {\n return;\n }\n\n if(url.includes('/api/v1/requests/')) {\n // debugger;\n }\n\n });\n\n xhr.addEventListener('error', function () {\n // Skip if URL contains 'lognroll'\n if (xhr.responseURL.includes('lognroll')) {\n return;\n }\n \n // Log error\n const errorLog = {\n type: 'network',\n stage: 'error',\n payload: {\n request: {\n id: requestId,\n url: xhr.responseURL,\n timestamp: requestStore.get(requestId)?.timestamp || Date.now() - 100,\n method: (xhr as any)._method || 'GET',\n body\n },\n error: {\n message: 'XHR request failed',\n timestamp: Date.now()\n }\n }\n };\n\n _this.responseLogs.push(errorLog);\n requestStore.delete(requestId);\n });\n\n return originalSend.apply(xhr, arguments as any);\n };\n\n return xhr;\n };\n }\n}\n\nexport default Network;\n", "import Network from \"../network\";\n\nexport class Console extends Network {\n\n private originalConsole: any;\n public consoleLogs: any[] = [];\n\n constructor() {\n super();\n this.originalConsole = window.console;\n this.initializeConsoleOverrides();\n }\n\n initializeConsoleOverrides() {\n const methods = ['log', 'info', 'warn', 'error', 'debug', 'trace'];\n\n methods.forEach(method => {\n const originalMethod = this.originalConsole[method];\n\n (window as any).console[method] = (...args: any[]) => {\n const timestamp = Date.now();\n originalMethod.apply(this.originalConsole, args);\n\n try {\n const getCircularReplacer = () => {\n const seen = new WeakSet();\n return (key: any, value: any) => {\n if (typeof value === 'object' && value !== null) {\n if (seen.has(value)) {\n return '[Circular]';\n }\n seen.add(value);\n }\n return value;\n };\n };\n\n const data = method + \"<|||>\" + args.map(arg => {\n try {\n return typeof arg === 'object' && arg !== null\n ? JSON.stringify(arg, getCircularReplacer())\n : String(arg);\n } catch (e) {\n return '[Error stringifying argument]';\n }\n }).join('<SPLIT>');\n\n this.consoleLogs.push({\n data,\n timestamp,\n })\n } catch (e) {\n originalMethod.apply(this.originalConsole, [e, 'error sending log']);\n }\n };\n });\n }\n}\n\nexport default Console;\n", "import { Console } from './console';\n\nclass LognRoll extends Console {\n\n constructor() {\n super();\n }\n}\n\nexport default new LognRoll();"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lognroll/lib",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "The official JavaScript SDK for ${PACKAGE_NAME}",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",