@amplitude/analytics-core 0.9.6 → 0.10.0

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.
Files changed (49) hide show
  1. package/lib/cjs/core-client.d.ts +12 -13
  2. package/lib/cjs/core-client.d.ts.map +1 -1
  3. package/lib/cjs/core-client.js +39 -74
  4. package/lib/cjs/core-client.js.map +1 -1
  5. package/lib/cjs/index.d.ts +1 -0
  6. package/lib/cjs/index.d.ts.map +1 -1
  7. package/lib/cjs/index.js +5 -1
  8. package/lib/cjs/index.js.map +1 -1
  9. package/lib/cjs/logger.d.ts +1 -0
  10. package/lib/cjs/logger.d.ts.map +1 -1
  11. package/lib/cjs/logger.js +11 -0
  12. package/lib/cjs/logger.js.map +1 -1
  13. package/lib/cjs/messages.d.ts +1 -0
  14. package/lib/cjs/messages.d.ts.map +1 -1
  15. package/lib/cjs/messages.js +2 -1
  16. package/lib/cjs/messages.js.map +1 -1
  17. package/lib/cjs/timeline.d.ts +0 -1
  18. package/lib/cjs/timeline.d.ts.map +1 -1
  19. package/lib/cjs/timeline.js +1 -3
  20. package/lib/cjs/timeline.js.map +1 -1
  21. package/lib/cjs/utils/debug.d.ts +12 -0
  22. package/lib/cjs/utils/debug.d.ts.map +1 -0
  23. package/lib/cjs/utils/debug.js +123 -0
  24. package/lib/cjs/utils/debug.js.map +1 -0
  25. package/lib/esm/core-client.d.ts +12 -13
  26. package/lib/esm/core-client.d.ts.map +1 -1
  27. package/lib/esm/core-client.js +40 -75
  28. package/lib/esm/core-client.js.map +1 -1
  29. package/lib/esm/index.d.ts +1 -0
  30. package/lib/esm/index.d.ts.map +1 -1
  31. package/lib/esm/index.js +1 -0
  32. package/lib/esm/index.js.map +1 -1
  33. package/lib/esm/logger.d.ts +1 -0
  34. package/lib/esm/logger.d.ts.map +1 -1
  35. package/lib/esm/logger.js +11 -0
  36. package/lib/esm/logger.js.map +1 -1
  37. package/lib/esm/messages.d.ts +1 -0
  38. package/lib/esm/messages.d.ts.map +1 -1
  39. package/lib/esm/messages.js +1 -0
  40. package/lib/esm/messages.js.map +1 -1
  41. package/lib/esm/timeline.d.ts +0 -1
  42. package/lib/esm/timeline.d.ts.map +1 -1
  43. package/lib/esm/timeline.js +1 -3
  44. package/lib/esm/timeline.js.map +1 -1
  45. package/lib/esm/utils/debug.d.ts +12 -0
  46. package/lib/esm/utils/debug.d.ts.map +1 -0
  47. package/lib/esm/utils/debug.js +116 -0
  48. package/lib/esm/utils/debug.js.map +1 -0
  49. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/utils/debug.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { Config, LogLevel, LogConfig, DebugContext } from '@amplitude/analytics-types';\nimport { AmplitudeCore } from '../core-client';\n\nexport const getStacktrace = (ignoreDepth = 0): string[] => {\n const trace = new Error().stack || '';\n return trace\n .split('\\n')\n .slice(2 + ignoreDepth)\n .map((text) => text.trim());\n};\n\n// This hook makes sure we always get the latest logger and logLevel.\nexport const getClientLogConfig = (client: AmplitudeCore<Config>) => (): LogConfig => {\n const { loggerProvider: logger, logLevel } = { ...client.config };\n return {\n logger,\n logLevel,\n };\n};\n\n// This is a convenient function to get the attribute from object with string path, similar to lodash '#get'.\nexport const getValueByStringPath = (obj: any, path: string): any => {\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n path = path.replace(/^\\./, ''); // strip a leading dot\n for (const attr of path.split('.')) {\n if (attr in obj) {\n obj = obj[attr];\n } else {\n return;\n }\n }\n return obj;\n};\n\nexport const getClientStates = (client: AmplitudeCore<Config>, paths: Array<string>) => (): { [key: string]: any } => {\n const res: { [key: string]: any } = {};\n for (const path of paths) {\n res[path] = getValueByStringPath(client, path);\n }\n return res;\n};\n\nexport const debugWrapper =\n <T extends Array<any>, R>(\n fn: (...args: T) => R,\n fnName: string,\n getLogConfig: () => LogConfig,\n getStates?: () => { [key: string]: any },\n fnContext: any = null,\n ) =>\n (...args: T): R => {\n const { logger, logLevel } = getLogConfig();\n // return early if possible to reduce overhead\n if ((logLevel && logLevel < LogLevel.Debug) || !logLevel || !logger) {\n return fn.apply(fnContext, args);\n }\n const debugContext: DebugContext = {\n type: 'invoke public method',\n name: fnName,\n args,\n stacktrace: getStacktrace(1),\n time: {\n start: new Date().toISOString(),\n },\n states: {},\n };\n if (getStates && debugContext.states) {\n debugContext.states.before = getStates();\n }\n const result = fn.apply(fnContext, args);\n if (result && (result as any).promise) {\n // if result is a promise, add the callback\n (result as any).promise.then(() => {\n if (getStates && debugContext.states) {\n debugContext.states.after = getStates();\n }\n if (debugContext.time) {\n debugContext.time.end = new Date().toISOString();\n }\n logger.debug(JSON.stringify(debugContext, null, 2));\n });\n } else {\n if (getStates && debugContext.states) {\n debugContext.states.after = getStates();\n }\n if (debugContext.time) {\n debugContext.time.end = new Date().toISOString();\n }\n logger.debug(JSON.stringify(debugContext, null, 2));\n }\n return result;\n };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amplitude/analytics-core",
3
- "version": "0.9.6",
3
+ "version": "0.10.0",
4
4
  "description": "",
5
5
  "author": "Amplitude Inc",
6
6
  "homepage": "https://github.com/amplitude/Amplitude-TypeScript",
@@ -34,11 +34,11 @@
34
34
  "url": "https://github.com/amplitude/Amplitude-TypeScript/issues"
35
35
  },
36
36
  "dependencies": {
37
- "@amplitude/analytics-types": "^0.11.0",
37
+ "@amplitude/analytics-types": "^0.12.0",
38
38
  "tslib": "^2.3.1"
39
39
  },
40
40
  "files": [
41
41
  "lib"
42
42
  ],
43
- "gitHead": "e0e8c340cf94fd182cc313a177d4148ed89f4bd5"
43
+ "gitHead": "f5f195e30233dbd1a4c60f55d04c7d36b888080e"
44
44
  }