@reyaxyz/athena-logger 0.2.4 → 0.2.5

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/action.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.action = void 0;
4
4
  var browser_logs_1 = require("@datadog/browser-logs");
5
- var logger_1 = require("./logger");
5
+ var shared_1 = require("./shared");
6
6
  var checkWalletAddress_1 = require("./utils/checkWalletAddress");
7
7
  var action = function (_a) {
8
8
  var walletAddress = _a.walletAddress, action = _a.action, error = _a.error, message = _a.message, payload = _a.payload;
@@ -10,7 +10,7 @@ var action = function (_a) {
10
10
  console.warn('Logger missing wallet address');
11
11
  return;
12
12
  }
13
- if (!(0, logger_1.isLoggerInitialized)()) {
13
+ if (!(0, shared_1.isLoggerInitialized)()) {
14
14
  console.warn('Logger not initialized');
15
15
  return;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"/","sources":["action.ts"],"names":[],"mappings":";;;AAAA,sDAAoD;AACpD,mCAA+C;AAC/C,iEAAqE;AAU9D,IAAM,MAAM,GAAG,UAAC,EAMG;QALxB,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,KAAK,WAAA,EACL,OAAO,aAAA,EACP,OAAO,aAAA;IAEP,IAAI,CAAC,IAAA,4CAAuB,EAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,IAAI,CAAC,IAAA,4BAAmB,GAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,0BAAW,CAAC,MAAM,CAAC,IAAI,CACrB,8BAAuB,MAAM,SAAG,OAAO,CAAC,CAAC,CAAC,YAAK,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,EAC/D,OAAO,EACP,KAAc,CACf,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,MAAM,UAsBjB","sourcesContent":["import { datadogLogs } from '@datadog/browser-logs';\nimport { isLoggerInitialized } from './logger';\nimport { isWalletAddressProvided } from './utils/checkWalletAddress';\n\nexport type UserJourneyActionParams = {\n walletAddress: string;\n action: string;\n error?: Error | unknown;\n message?: string;\n payload?: Record<string, unknown>;\n};\n\nexport const action = ({\n walletAddress,\n action,\n error,\n message,\n payload,\n}: UserJourneyActionParams) => {\n if (!isWalletAddressProvided(walletAddress)) {\n console.warn('Logger missing wallet address');\n return;\n }\n\n if (!isLoggerInitialized()) {\n console.warn('Logger not initialized');\n return;\n }\n\n datadogLogs.logger.info(\n `athena.user_journey/${action}${message ? `: ${message}` : ''}`,\n payload,\n error as Error,\n );\n};\n"]}
1
+ {"version":3,"file":"action.js","sourceRoot":"/","sources":["action.ts"],"names":[],"mappings":";;;AAAA,sDAAoD;AACpD,mCAA+C;AAC/C,iEAAqE;AAU9D,IAAM,MAAM,GAAG,UAAC,EAMG;QALxB,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,KAAK,WAAA,EACL,OAAO,aAAA,EACP,OAAO,aAAA;IAEP,IAAI,CAAC,IAAA,4CAAuB,EAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,IAAI,CAAC,IAAA,4BAAmB,GAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,0BAAW,CAAC,MAAM,CAAC,IAAI,CACrB,8BAAuB,MAAM,SAAG,OAAO,CAAC,CAAC,CAAC,YAAK,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,EAC/D,OAAO,EACP,KAAc,CACf,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,MAAM,UAsBjB","sourcesContent":["import { datadogLogs } from '@datadog/browser-logs';\nimport { isLoggerInitialized } from './shared';\nimport { isWalletAddressProvided } from './utils/checkWalletAddress';\n\nexport type UserJourneyActionParams = {\n walletAddress: string;\n action: string;\n error?: Error | unknown;\n message?: string;\n payload?: Record<string, unknown>;\n};\n\nexport const action = ({\n walletAddress,\n action,\n error,\n message,\n payload,\n}: UserJourneyActionParams) => {\n if (!isWalletAddressProvided(walletAddress)) {\n console.warn('Logger missing wallet address');\n return;\n }\n\n if (!isLoggerInitialized()) {\n console.warn('Logger not initialized');\n return;\n }\n\n datadogLogs.logger.info(\n `athena.user_journey/${action}${message ? `: ${message}` : ''}`,\n payload,\n error as Error,\n );\n};\n"]}
package/dist/error.js CHANGED
@@ -13,14 +13,14 @@ var __assign = (this && this.__assign) || function () {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.error = void 0;
15
15
  var browser_logs_1 = require("@datadog/browser-logs");
16
- var logger_1 = require("./logger");
16
+ var shared_1 = require("./shared");
17
17
  var error = function (_a) {
18
- var action = _a.action, message = _a.message, metadata = _a.metadata, walletAddress = _a.walletAddress, error = _a.error;
19
- if (!(0, logger_1.isLoggerInitialized)()) {
18
+ var context = _a.context, message = _a.message, metadata = _a.metadata, walletAddress = _a.walletAddress, error = _a.error;
19
+ if (!(0, shared_1.isLoggerInitialized)()) {
20
20
  console.warn('Logger not initialized');
21
21
  return;
22
22
  }
23
- browser_logs_1.datadogLogs.logger.error("athena.error/".concat(action).concat(message ? ": ".concat(message) : ''), __assign(__assign({}, metadata), (walletAddress && { user: { walletAddress: walletAddress } })), error);
23
+ browser_logs_1.datadogLogs.logger.error("athena.error/".concat(context).concat(message ? ": ".concat(message) : ''), __assign(__assign({}, metadata), (walletAddress && { user: { walletAddress: walletAddress } })), error);
24
24
  };
25
25
  exports.error = error;
26
26
  //# sourceMappingURL=error.js.map
package/dist/error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"/","sources":["error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAoD;AACpD,mCAA+C;AAWxC,IAAM,KAAK,GAAG,UAAC,EAML;QALf,MAAM,YAAA,EACN,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,KAAK,WAAA;IAEL,IAAI,CAAC,IAAA,4BAAmB,GAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,0BAAW,CAAC,MAAM,CAAC,KAAK,CACtB,uBAAgB,MAAM,SAAG,OAAO,CAAC,CAAC,CAAC,YAAK,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,wBACnD,QAAQ,GAAK,CAAC,aAAa,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,eAAA,EAAE,EAAE,CAAC,GAChE,KAAc,CACf,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,KAAK,SAiBhB","sourcesContent":["import { datadogLogs } from '@datadog/browser-logs';\nimport { isLoggerInitialized } from './logger';\n\ntype LogErrorParams = {\n action: string;\n error: unknown;\n walletAddress?: string;\n // Optional! If not provided, will try to extract message from Error\n message?: string;\n metadata?: Record<string, unknown>;\n};\n\nexport const error = ({\n action,\n message,\n metadata,\n walletAddress,\n error,\n}: LogErrorParams) => {\n if (!isLoggerInitialized()) {\n console.warn('Logger not initialized');\n return;\n }\n\n datadogLogs.logger.error(\n `athena.error/${action}${message ? `: ${message}` : ''}`,\n { ...metadata, ...(walletAddress && { user: { walletAddress } }) },\n error as Error,\n );\n};\n"]}
1
+ {"version":3,"file":"error.js","sourceRoot":"/","sources":["error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAoD;AACpD,mCAA+C;AAWxC,IAAM,KAAK,GAAG,UAAC,EAML;QALf,OAAO,aAAA,EACP,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,KAAK,WAAA;IAEL,IAAI,CAAC,IAAA,4BAAmB,GAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,0BAAW,CAAC,MAAM,CAAC,KAAK,CACtB,uBAAgB,OAAO,SAAG,OAAO,CAAC,CAAC,CAAC,YAAK,OAAO,CAAE,CAAC,CAAC,CAAC,EAAE,CAAE,wBACpD,QAAQ,GAAK,CAAC,aAAa,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,eAAA,EAAE,EAAE,CAAC,GAChE,KAAc,CACf,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,KAAK,SAiBhB","sourcesContent":["import { datadogLogs } from '@datadog/browser-logs';\nimport { isLoggerInitialized } from './shared';\n\ntype LogErrorParams = {\n context: string;\n error: unknown;\n walletAddress?: string;\n // Optional! If not provided, will try to extract message from Error\n message?: string;\n metadata?: Record<string, unknown>;\n};\n\nexport const error = ({\n context,\n message,\n metadata,\n walletAddress,\n error,\n}: LogErrorParams) => {\n if (!isLoggerInitialized()) {\n console.warn('Logger not initialized');\n return;\n }\n\n datadogLogs.logger.error(\n `athena.error/${context}${message ? `: ${message}` : ''}`,\n { ...metadata, ...(walletAddress && { user: { walletAddress } }) },\n error as Error,\n );\n};\n"]}
package/dist/logger.js CHANGED
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isLoggingAllowed = exports.isLoggerInitialized = exports.initialize = void 0;
3
+ exports.initialize = void 0;
4
4
  var browser_logs_1 = require("@datadog/browser-logs");
5
- var initialized = false;
6
- var allowLogging = false;
5
+ var shared_1 = require("./shared");
6
+ var error_1 = require("./error");
7
7
  var initialize = function (_a) {
8
8
  var clientToken = _a.clientToken, environment = _a.environment, service = _a.service, version = _a.version;
9
9
  var isLocalhost = environment === 'localhost';
10
10
  if (!environment || !clientToken || !service || !version) {
11
- initialized = false;
12
- allowLogging = false;
11
+ (0, shared_1.setInitialized)(false);
12
+ (0, shared_1.setAllowLogging)(false);
13
13
  return;
14
14
  }
15
15
  if (isLocalhost) {
16
- initialized = true;
17
- allowLogging = false;
16
+ (0, shared_1.setInitialized)(true);
17
+ (0, shared_1.setAllowLogging)(false);
18
18
  return;
19
19
  }
20
20
  try {
@@ -28,17 +28,33 @@ var initialize = function (_a) {
28
28
  forwardErrorsToLogs: true,
29
29
  version: version,
30
30
  });
31
- initialized = true;
32
- allowLogging = true;
31
+ // Log rejected Promises without a .catch() handler
32
+ window.addEventListener('unhandledrejection', function (event) {
33
+ event.preventDefault();
34
+ var message = "Promise rejected and uncaught; reason: ".concat(event.reason);
35
+ (0, error_1.error)({
36
+ context: 'window/onunhandledrejection',
37
+ error: new Error(message),
38
+ message: message,
39
+ });
40
+ });
41
+ // Log rejected Promises that are caught late (handler attached at a later time)
42
+ window.addEventListener('rejectionhandled', function (event) {
43
+ event.preventDefault();
44
+ var message = "Promise rejected and caught late; reason: ".concat(event.reason);
45
+ (0, error_1.error)({
46
+ context: 'window/onrejectionhandled',
47
+ error: new Error(message),
48
+ message: message,
49
+ });
50
+ }, false);
51
+ (0, shared_1.setInitialized)(true);
52
+ (0, shared_1.setAllowLogging)(true);
33
53
  }
34
54
  catch (err) {
35
- initialized = false;
36
- allowLogging = false;
55
+ (0, shared_1.setInitialized)(false);
56
+ (0, shared_1.setAllowLogging)(false);
37
57
  }
38
58
  };
39
59
  exports.initialize = initialize;
40
- var isLoggerInitialized = function () { return initialized; };
41
- exports.isLoggerInitialized = isLoggerInitialized;
42
- var isLoggingAllowed = function () { return allowLogging; };
43
- exports.isLoggingAllowed = isLoggingAllowed;
44
60
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"/","sources":["logger.ts"],"names":[],"mappings":";;;AAAA,sDAAoD;AAEpD,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,YAAY,GAAG,KAAK,CAAC;AASlB,IAAM,UAAU,GAAG,UAAC,EAKR;QAJjB,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,OAAO,aAAA,EACP,OAAO,aAAA;IAEP,IAAM,WAAW,GAAG,WAAW,KAAK,WAAW,CAAC;IAChD,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzD,WAAW,GAAG,KAAK,CAAC;QACpB,YAAY,GAAG,KAAK,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,GAAG,IAAI,CAAC;QACnB,YAAY,GAAG,KAAK,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,0BAAW,CAAC,IAAI,CAAC;YACf,WAAW,aAAA;YACX,GAAG,EAAE,WAAW;YAChB,OAAO,SAAA;YACP,iBAAiB,EAAE,GAAG;YACtB,IAAI,EAAE,cAAc;YACpB,kBAAkB,EAAE,CAAC,OAAO,CAAC;YAC7B,mBAAmB,EAAE,IAAI;YACzB,OAAO,SAAA;SACR,CAAC,CAAC;QAEH,WAAW,GAAG,IAAI,CAAC;QACnB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,GAAG,KAAK,CAAC;QACpB,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AArCW,QAAA,UAAU,cAqCrB;AAEK,IAAM,mBAAmB,GAAG,cAAM,OAAA,WAAW,EAAX,CAAW,CAAC;AAAxC,QAAA,mBAAmB,uBAAqB;AAC9C,IAAM,gBAAgB,GAAG,cAAM,OAAA,YAAY,EAAZ,CAAY,CAAC;AAAtC,QAAA,gBAAgB,oBAAsB","sourcesContent":["import { datadogLogs } from '@datadog/browser-logs';\n\nlet initialized = false;\nlet allowLogging = false;\n\ntype InitializeParams = {\n clientToken: string;\n environment: string;\n service: string;\n version: string;\n};\n\nexport const initialize = ({\n clientToken,\n environment,\n service,\n version,\n}: InitializeParams) => {\n const isLocalhost = environment === 'localhost';\n if (!environment || !clientToken || !service || !version) {\n initialized = false;\n allowLogging = false;\n return;\n }\n\n if (isLocalhost) {\n initialized = true;\n allowLogging = false;\n return;\n }\n\n try {\n datadogLogs.init({\n clientToken,\n env: environment,\n service,\n sessionSampleRate: 100,\n site: 'datadoghq.eu',\n forwardConsoleLogs: ['error'],\n forwardErrorsToLogs: true,\n version,\n });\n\n initialized = true;\n allowLogging = true;\n } catch (err) {\n initialized = false;\n allowLogging = false;\n }\n};\n\nexport const isLoggerInitialized = () => initialized;\nexport const isLoggingAllowed = () => allowLogging;\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"/","sources":["logger.ts"],"names":[],"mappings":";;;AAAA,sDAAoD;AACpD,mCAA2D;AAC3D,iCAAgC;AASzB,IAAM,UAAU,GAAG,UAAC,EAKR;QAJjB,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,OAAO,aAAA,EACP,OAAO,aAAA;IAEP,IAAM,WAAW,GAAG,WAAW,KAAK,WAAW,CAAC;IAChD,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzD,IAAA,uBAAc,EAAC,KAAK,CAAC,CAAC;QACtB,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC;QACrB,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,0BAAW,CAAC,IAAI,CAAC;YACf,WAAW,aAAA;YACX,GAAG,EAAE,WAAW;YAChB,OAAO,SAAA;YACP,iBAAiB,EAAE,GAAG;YACtB,IAAI,EAAE,cAAc;YACpB,kBAAkB,EAAE,CAAC,OAAO,CAAC;YAC7B,mBAAmB,EAAE,IAAI;YACzB,OAAO,SAAA;SACR,CAAC,CAAC;QAEH,mDAAmD;QACnD,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,UAAC,KAAK;YAClD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAM,OAAO,GAAG,iDAA0C,KAAK,CAAC,MAAM,CAAE,CAAC;YACzE,IAAA,aAAK,EAAC;gBACJ,OAAO,EAAE,6BAA6B;gBACtC,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;gBACzB,OAAO,SAAA;aACR,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,gFAAgF;QAChF,MAAM,CAAC,gBAAgB,CACrB,kBAAkB,EAClB,UAAC,KAAK;YACJ,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAM,OAAO,GAAG,oDAA6C,KAAK,CAAC,MAAM,CAAE,CAAC;YAC5E,IAAA,aAAK,EAAC;gBACJ,OAAO,EAAE,2BAA2B;gBACpC,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;gBACzB,OAAO,SAAA;aACR,CAAC,CAAC;QACL,CAAC,EACD,KAAK,CACN,CAAC;QAEF,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC;QACrB,IAAA,wBAAe,EAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,uBAAc,EAAC,KAAK,CAAC,CAAC;QACtB,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AA/DW,QAAA,UAAU,cA+DrB","sourcesContent":["import { datadogLogs } from '@datadog/browser-logs';\nimport { setInitialized, setAllowLogging } from './shared';\nimport { error } from './error';\n\ntype InitializeParams = {\n clientToken: string;\n environment: string;\n service: string;\n version: string;\n};\n\nexport const initialize = ({\n clientToken,\n environment,\n service,\n version,\n}: InitializeParams) => {\n const isLocalhost = environment === 'localhost';\n if (!environment || !clientToken || !service || !version) {\n setInitialized(false);\n setAllowLogging(false);\n return;\n }\n\n if (isLocalhost) {\n setInitialized(true);\n setAllowLogging(false);\n return;\n }\n\n try {\n datadogLogs.init({\n clientToken,\n env: environment,\n service,\n sessionSampleRate: 100,\n site: 'datadoghq.eu',\n forwardConsoleLogs: ['error'],\n forwardErrorsToLogs: true,\n version,\n });\n\n // Log rejected Promises without a .catch() handler\n window.addEventListener('unhandledrejection', (event) => {\n event.preventDefault();\n const message = `Promise rejected and uncaught; reason: ${event.reason}`;\n error({\n context: 'window/onunhandledrejection',\n error: new Error(message),\n message,\n });\n });\n\n // Log rejected Promises that are caught late (handler attached at a later time)\n window.addEventListener(\n 'rejectionhandled',\n (event) => {\n event.preventDefault();\n const message = `Promise rejected and caught late; reason: ${event.reason}`;\n error({\n context: 'window/onrejectionhandled',\n error: new Error(message),\n message,\n });\n },\n false,\n );\n\n setInitialized(true);\n setAllowLogging(true);\n } catch (err) {\n setInitialized(false);\n setAllowLogging(false);\n }\n};\n"]}
package/dist/shared.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isLoggingAllowed = exports.isLoggerInitialized = exports.setAllowLogging = exports.setInitialized = exports.allowLogging = exports.initialized = void 0;
4
+ exports.initialized = false;
5
+ exports.allowLogging = false;
6
+ var setInitialized = function (value) {
7
+ exports.initialized = value;
8
+ };
9
+ exports.setInitialized = setInitialized;
10
+ var setAllowLogging = function (value) {
11
+ exports.allowLogging = value;
12
+ };
13
+ exports.setAllowLogging = setAllowLogging;
14
+ var isLoggerInitialized = function () { return exports.initialized; };
15
+ exports.isLoggerInitialized = isLoggerInitialized;
16
+ var isLoggingAllowed = function () { return exports.allowLogging; };
17
+ exports.isLoggingAllowed = isLoggingAllowed;
18
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"/","sources":["shared.ts"],"names":[],"mappings":";;;AAAW,QAAA,WAAW,GAAG,KAAK,CAAC;AACpB,QAAA,YAAY,GAAG,KAAK,CAAC;AAEzB,IAAM,cAAc,GAAG,UAAC,KAAc;IAC3C,mBAAW,GAAG,KAAK,CAAC;AACtB,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,IAAM,eAAe,GAAG,UAAC,KAAc;IAC5C,oBAAY,GAAG,KAAK,CAAC;AACvB,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,IAAM,mBAAmB,GAAG,cAAM,OAAA,mBAAW,EAAX,CAAW,CAAC;AAAxC,QAAA,mBAAmB,uBAAqB;AAC9C,IAAM,gBAAgB,GAAG,cAAM,OAAA,oBAAY,EAAZ,CAAY,CAAC;AAAtC,QAAA,gBAAgB,oBAAsB","sourcesContent":["export let initialized = false;\nexport let allowLogging = false;\n\nexport const setInitialized = (value: boolean) => {\n initialized = value;\n};\n\nexport const setAllowLogging = (value: boolean) => {\n allowLogging = value;\n};\n\nexport const isLoggerInitialized = () => initialized;\nexport const isLoggingAllowed = () => allowLogging;\n"]}
@@ -1,10 +1,10 @@
1
1
  type LogErrorParams = {
2
- action: string;
2
+ context: string;
3
3
  error: unknown;
4
4
  walletAddress?: string;
5
5
  message?: string;
6
6
  metadata?: Record<string, unknown>;
7
7
  };
8
- export declare const error: ({ action, message, metadata, walletAddress, error, }: LogErrorParams) => void;
8
+ export declare const error: ({ context, message, metadata, walletAddress, error, }: LogErrorParams) => void;
9
9
  export {};
10
10
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"/","sources":["error.ts"],"names":[],"mappings":"AAGA,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,KAAK,yDAMf,cAAc,SAWhB,CAAC"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"/","sources":["error.ts"],"names":[],"mappings":"AAGA,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,KAAK,0DAMf,cAAc,SAWhB,CAAC"}
@@ -9,8 +9,8 @@ export declare const Athena: {
9
9
  action: ({ walletAddress, action, error, message, payload, }: import("./action").UserJourneyActionParams) => void;
10
10
  };
11
11
  Error: {
12
- error: ({ action, message, metadata, walletAddress, error, }: {
13
- action: string;
12
+ error: ({ context, message, metadata, walletAddress, error, }: {
13
+ context: string;
14
14
  error: unknown;
15
15
  walletAddress?: string | undefined;
16
16
  message?: string | undefined;
@@ -5,7 +5,5 @@ type InitializeParams = {
5
5
  version: string;
6
6
  };
7
7
  export declare const initialize: ({ clientToken, environment, service, version, }: InitializeParams) => void;
8
- export declare const isLoggerInitialized: () => boolean;
9
- export declare const isLoggingAllowed: () => boolean;
10
8
  export {};
11
9
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"/","sources":["logger.ts"],"names":[],"mappings":"AAKA,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,UAAU,oDAKpB,gBAAgB,SAgClB,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAAoB,CAAC;AACrD,eAAO,MAAM,gBAAgB,eAAqB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"/","sources":["logger.ts"],"names":[],"mappings":"AAIA,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,UAAU,oDAKpB,gBAAgB,SA0DlB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare let initialized: boolean;
2
+ export declare let allowLogging: boolean;
3
+ export declare const setInitialized: (value: boolean) => void;
4
+ export declare const setAllowLogging: (value: boolean) => void;
5
+ export declare const isLoggerInitialized: () => boolean;
6
+ export declare const isLoggingAllowed: () => boolean;
7
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"/","sources":["shared.ts"],"names":[],"mappings":"AAAA,eAAO,IAAI,WAAW,SAAQ,CAAC;AAC/B,eAAO,IAAI,YAAY,SAAQ,CAAC;AAEhC,eAAO,MAAM,cAAc,UAAW,OAAO,SAE5C,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,OAAO,SAE7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAAoB,CAAC;AACrD,eAAO,MAAM,gBAAgB,eAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/athena-logger",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -36,11 +36,12 @@
36
36
  "@reyaxyz/common": "0.114.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@datadog/browser-logs": "5.17.1"
39
+ "@datadog/browser-logs": "5.17.1",
40
+ "@types/node": "20.12.12"
40
41
  },
41
42
  "peerDependencies": {
42
43
  "@datadog/browser-logs": "5.17.1"
43
44
  },
44
45
  "packageManager": "pnpm@8.3.1",
45
- "gitHead": "13d55cc079565b7db644e5180f5be372b05ac14d"
46
+ "gitHead": "93c8205da61e548a36cee49c6ac36df26fe34907"
46
47
  }
package/src/action.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { datadogLogs } from '@datadog/browser-logs';
2
- import { isLoggerInitialized } from './logger';
2
+ import { isLoggerInitialized } from './shared';
3
3
  import { isWalletAddressProvided } from './utils/checkWalletAddress';
4
4
 
5
5
  export type UserJourneyActionParams = {
package/src/error.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { datadogLogs } from '@datadog/browser-logs';
2
- import { isLoggerInitialized } from './logger';
2
+ import { isLoggerInitialized } from './shared';
3
3
 
4
4
  type LogErrorParams = {
5
- action: string;
5
+ context: string;
6
6
  error: unknown;
7
7
  walletAddress?: string;
8
8
  // Optional! If not provided, will try to extract message from Error
@@ -11,7 +11,7 @@ type LogErrorParams = {
11
11
  };
12
12
 
13
13
  export const error = ({
14
- action,
14
+ context,
15
15
  message,
16
16
  metadata,
17
17
  walletAddress,
@@ -23,7 +23,7 @@ export const error = ({
23
23
  }
24
24
 
25
25
  datadogLogs.logger.error(
26
- `athena.error/${action}${message ? `: ${message}` : ''}`,
26
+ `athena.error/${context}${message ? `: ${message}` : ''}`,
27
27
  { ...metadata, ...(walletAddress && { user: { walletAddress } }) },
28
28
  error as Error,
29
29
  );
package/src/logger.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { datadogLogs } from '@datadog/browser-logs';
2
-
3
- let initialized = false;
4
- let allowLogging = false;
2
+ import { setInitialized, setAllowLogging } from './shared';
3
+ import { error } from './error';
5
4
 
6
5
  type InitializeParams = {
7
6
  clientToken: string;
@@ -18,14 +17,14 @@ export const initialize = ({
18
17
  }: InitializeParams) => {
19
18
  const isLocalhost = environment === 'localhost';
20
19
  if (!environment || !clientToken || !service || !version) {
21
- initialized = false;
22
- allowLogging = false;
20
+ setInitialized(false);
21
+ setAllowLogging(false);
23
22
  return;
24
23
  }
25
24
 
26
25
  if (isLocalhost) {
27
- initialized = true;
28
- allowLogging = false;
26
+ setInitialized(true);
27
+ setAllowLogging(false);
29
28
  return;
30
29
  }
31
30
 
@@ -41,13 +40,36 @@ export const initialize = ({
41
40
  version,
42
41
  });
43
42
 
44
- initialized = true;
45
- allowLogging = true;
43
+ // Log rejected Promises without a .catch() handler
44
+ window.addEventListener('unhandledrejection', (event) => {
45
+ event.preventDefault();
46
+ const message = `Promise rejected and uncaught; reason: ${event.reason}`;
47
+ error({
48
+ context: 'window/onunhandledrejection',
49
+ error: new Error(message),
50
+ message,
51
+ });
52
+ });
53
+
54
+ // Log rejected Promises that are caught late (handler attached at a later time)
55
+ window.addEventListener(
56
+ 'rejectionhandled',
57
+ (event) => {
58
+ event.preventDefault();
59
+ const message = `Promise rejected and caught late; reason: ${event.reason}`;
60
+ error({
61
+ context: 'window/onrejectionhandled',
62
+ error: new Error(message),
63
+ message,
64
+ });
65
+ },
66
+ false,
67
+ );
68
+
69
+ setInitialized(true);
70
+ setAllowLogging(true);
46
71
  } catch (err) {
47
- initialized = false;
48
- allowLogging = false;
72
+ setInitialized(false);
73
+ setAllowLogging(false);
49
74
  }
50
75
  };
51
-
52
- export const isLoggerInitialized = () => initialized;
53
- export const isLoggingAllowed = () => allowLogging;
package/src/shared.ts ADDED
@@ -0,0 +1,13 @@
1
+ export let initialized = false;
2
+ export let allowLogging = false;
3
+
4
+ export const setInitialized = (value: boolean) => {
5
+ initialized = value;
6
+ };
7
+
8
+ export const setAllowLogging = (value: boolean) => {
9
+ allowLogging = value;
10
+ };
11
+
12
+ export const isLoggerInitialized = () => initialized;
13
+ export const isLoggingAllowed = () => allowLogging;