@xifan052/monitor 0.0.5 → 0.0.7

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.d.mts CHANGED
@@ -8,5 +8,21 @@ interface CaptureContext {
8
8
  tags?: Record<string, string>;
9
9
  extra?: Record<string, any>;
10
10
  }
11
+ interface Monitor {
12
+ init(options: any): any;
13
+ /** 上报异常 */
14
+ captureException(error: Error, ctx?: CaptureContext): any;
15
+ /** 发送消息/提醒/日志 */
16
+ captureMessage(message: string, ctx?: CaptureContext): any;
17
+ /** 设置用户信息 */
18
+ setUser(user: MonitorUser): any;
19
+ /** sentry事件 */
20
+ addBreadcrumb?(crumb: any): any;
21
+ setTag?(key: string, value: string): any;
22
+ setContext?(key: string, ctx: any): any;
23
+ withScope?(cb: (scope: any) => void): any;
24
+ /** 未声明事件的调用 */
25
+ [key: string]: any;
26
+ }
11
27
 
12
- export type { CaptureContext, MonitorUser };
28
+ export type { CaptureContext, Monitor, MonitorUser };
package/dist/index.d.ts CHANGED
@@ -8,5 +8,21 @@ interface CaptureContext {
8
8
  tags?: Record<string, string>;
9
9
  extra?: Record<string, any>;
10
10
  }
11
+ interface Monitor {
12
+ init(options: any): any;
13
+ /** 上报异常 */
14
+ captureException(error: Error, ctx?: CaptureContext): any;
15
+ /** 发送消息/提醒/日志 */
16
+ captureMessage(message: string, ctx?: CaptureContext): any;
17
+ /** 设置用户信息 */
18
+ setUser(user: MonitorUser): any;
19
+ /** sentry事件 */
20
+ addBreadcrumb?(crumb: any): any;
21
+ setTag?(key: string, value: string): any;
22
+ setContext?(key: string, ctx: any): any;
23
+ withScope?(cb: (scope: any) => void): any;
24
+ /** 未声明事件的调用 */
25
+ [key: string]: any;
26
+ }
11
27
 
12
- export type { CaptureContext, MonitorUser };
28
+ export type { CaptureContext, Monitor, MonitorUser };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/createMonitor.ts"],"names":[],"mappings":";;;AAEO,SAAS,cAAc,OAAA,EAAwC;AACpE,EAAA,MAAM,IAAA,GAAsB;AAAA,IAC1B,MAAM,OAAA,CAAQ,IAAA;AAAA,IAEd,kBAAkB,CAAC,CAAA,EAAG,QAAQ,OAAA,CAAQ,gBAAA,CAAiB,GAAG,GAAG,CAAA;AAAA,IAC7D,gBAAgB,CAAC,CAAA,EAAG,QAAQ,OAAA,CAAQ,cAAA,CAAe,GAAG,GAAG,CAAA;AAAA,IAEzD,OAAA,EAAS,CAAC,CAAA,KAAM,OAAA,CAAQ,QAAQ,CAAC,CAAA;AAAA,IACjC,QAAQ,CAAC,CAAA,EAAG,MAAM,OAAA,CAAQ,MAAA,CAAO,GAAG,CAAC,CAAA;AAAA,IACrC,UAAU,CAAC,CAAA,EAAG,MAAM,OAAA,CAAQ,QAAA,CAAS,GAAG,CAAC,CAAA;AAAA,IAEzC,SAAA,EAAW,CAAC,EAAA,KAAO,OAAA,CAAQ,UAAU,EAAE,CAAA;AAAA,IAEvC,KAAA,EAAO,CAAC,CAAA,KAAG;AAff,MAAA,IAAA,EAAA,EAAA,EAAA;AAekB,MAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAgB,CAAA,CAAA,KAAhB,IAAA,GAAA,EAAA,GAAsB,OAAA,CAAQ,QAAQ,IAAI,CAAA;AAAA,IAAA,CAAA;AAAA,IACxD,KAAA,EAAO,CAAC,CAAA,KAAG;AAhBf,MAAA,IAAA,EAAA,EAAA,EAAA;AAgBkB,MAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAgB,CAAA,CAAA,KAAhB,IAAA,GAAA,EAAA,GAAsB,OAAA,CAAQ,QAAQ,IAAI,CAAA;AAAA,IAAA;AAAA,GAC1D;AAEA,EAAA,OAAO,IAAI,MAAM,IAAA,EAAa;AAAA,IAC5B,GAAA,CAAI,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU;AApBhC,MAAA,IAAA,EAAA;AAqBM,MAAA,IAAI,QAAQ,MAAA,EAAQ;AAClB,QAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,MAAA,EAAQ,IAAA,EAAM,QAAQ,CAAA;AAAA,MAC3C;AAEA,MAAA,MAAM,GAAA,GAAM,IAAA;AAEZ,MAAA,IAAA,CAAI,EAAA,GAAA,OAAA,CAAQ,UAAA,KAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqB,GAAA,CAAA,EAAM;AAC7B,QAAA,OAAO,OAAA,CAAQ,WAAW,GAAG,CAAA;AAAA,MAC/B;AAEA,MAAA,MAAM,KAAK,OAAA,CAAQ,QAAA;AACnB,MAAA,MAAM,MAAM,EAAA,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAK,GAAA,CAAA;AAEjB,MAAA,IAAI,OAAO,QAAQ,UAAA,EAAY;AAC7B,QAAA,OAAO,GAAA,CAAI,KAAK,EAAE,CAAA;AAAA,MACpB;AACA,MAAA,OAAO,GAAA;AAAA,IACT;AAAA,GACD,CAAA;AACH","file":"index.js","sourcesContent":["import type { MonitorAdapter, MonitorClient } from \"./types\";\r\n\r\nexport function createMonitor(adapter: MonitorAdapter): MonitorClient {\r\n const base: MonitorClient = {\r\n init: adapter.init,\r\n\r\n captureException: (e, ctx) => adapter.captureException(e, ctx),\r\n captureMessage: (m, ctx) => adapter.captureMessage(m, ctx),\r\n\r\n setUser: (u) => adapter.setUser(u),\r\n setTag: (k, v) => adapter.setTag(k, v),\r\n setExtra: (k, v) => adapter.setExtra(k, v),\r\n\r\n withScope: (cb) => adapter.withScope(cb),\r\n\r\n flush: (t) => adapter.flush?.(t) ?? Promise.resolve(true),\r\n close: (t) => adapter.close?.(t) ?? Promise.resolve(true),\r\n };\r\n\r\n return new Proxy(base as any, {\r\n get(target, prop, receiver) {\r\n if (prop in target) {\r\n return Reflect.get(target, prop, receiver);\r\n }\r\n\r\n const key = prop as string;\r\n\r\n if (adapter.extensions?.[key]) {\r\n return adapter.extensions[key];\r\n }\r\n\r\n const fb = adapter.fallback;\r\n const val = fb?.[key];\r\n\r\n if (typeof val === \"function\") {\r\n return val.bind(fb);\r\n }\r\n return val;\r\n },\r\n }) as MonitorClient & Record<string, any>;\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/createMonitor.ts"],"names":[],"mappings":";AAEO,SAAS,cAAc,OAAA,EAAwC;AACpE,EAAA,MAAM,IAAA,GAAsB;AAAA,IAC1B,MAAM,OAAA,CAAQ,IAAA;AAAA,IAEd,kBAAkB,CAAC,CAAA,EAAG,QAAQ,OAAA,CAAQ,gBAAA,CAAiB,GAAG,GAAG,CAAA;AAAA,IAC7D,gBAAgB,CAAC,CAAA,EAAG,QAAQ,OAAA,CAAQ,cAAA,CAAe,GAAG,GAAG,CAAA;AAAA,IAEzD,OAAA,EAAS,CAAC,CAAA,KAAM,OAAA,CAAQ,QAAQ,CAAC,CAAA;AAAA,IACjC,QAAQ,CAAC,CAAA,EAAG,MAAM,OAAA,CAAQ,MAAA,CAAO,GAAG,CAAC,CAAA;AAAA,IACrC,UAAU,CAAC,CAAA,EAAG,MAAM,OAAA,CAAQ,QAAA,CAAS,GAAG,CAAC,CAAA;AAAA,IAEzC,SAAA,EAAW,CAAC,EAAA,KAAO,OAAA,CAAQ,UAAU,EAAE,CAAA;AAAA,IAEvC,KAAA,EAAO,CAAC,CAAA,KAAG;AAff,MAAA,IAAA,EAAA,EAAA,EAAA;AAekB,MAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAgB,CAAA,CAAA,KAAhB,IAAA,GAAA,EAAA,GAAsB,OAAA,CAAQ,QAAQ,IAAI,CAAA;AAAA,IAAA,CAAA;AAAA,IACxD,KAAA,EAAO,CAAC,CAAA,KAAG;AAhBf,MAAA,IAAA,EAAA,EAAA,EAAA;AAgBkB,MAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAgB,CAAA,CAAA,KAAhB,IAAA,GAAA,EAAA,GAAsB,OAAA,CAAQ,QAAQ,IAAI,CAAA;AAAA,IAAA;AAAA,GAC1D;AAEA,EAAA,OAAO,IAAI,MAAM,IAAA,EAAa;AAAA,IAC5B,GAAA,CAAI,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU;AApBhC,MAAA,IAAA,EAAA;AAqBM,MAAA,IAAI,QAAQ,MAAA,EAAQ;AAClB,QAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,MAAA,EAAQ,IAAA,EAAM,QAAQ,CAAA;AAAA,MAC3C;AAEA,MAAA,MAAM,GAAA,GAAM,IAAA;AAEZ,MAAA,IAAA,CAAI,EAAA,GAAA,OAAA,CAAQ,UAAA,KAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqB,GAAA,CAAA,EAAM;AAC7B,QAAA,OAAO,OAAA,CAAQ,WAAW,GAAG,CAAA;AAAA,MAC/B;AAEA,MAAA,MAAM,KAAK,OAAA,CAAQ,QAAA;AACnB,MAAA,MAAM,MAAM,EAAA,IAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAK,GAAA,CAAA;AAEjB,MAAA,IAAI,OAAO,QAAQ,UAAA,EAAY;AAC7B,QAAA,OAAO,GAAA,CAAI,KAAK,EAAE,CAAA;AAAA,MACpB;AACA,MAAA,OAAO,GAAA;AAAA,IACT;AAAA,GACD,CAAA;AACH","file":"index.mjs","sourcesContent":["import type { MonitorAdapter, MonitorClient } from \"./types\";\r\n\r\nexport function createMonitor(adapter: MonitorAdapter): MonitorClient {\r\n const base: MonitorClient = {\r\n init: adapter.init,\r\n\r\n captureException: (e, ctx) => adapter.captureException(e, ctx),\r\n captureMessage: (m, ctx) => adapter.captureMessage(m, ctx),\r\n\r\n setUser: (u) => adapter.setUser(u),\r\n setTag: (k, v) => adapter.setTag(k, v),\r\n setExtra: (k, v) => adapter.setExtra(k, v),\r\n\r\n withScope: (cb) => adapter.withScope(cb),\r\n\r\n flush: (t) => adapter.flush?.(t) ?? Promise.resolve(true),\r\n close: (t) => adapter.close?.(t) ?? Promise.resolve(true),\r\n };\r\n\r\n return new Proxy(base as any, {\r\n get(target, prop, receiver) {\r\n if (prop in target) {\r\n return Reflect.get(target, prop, receiver);\r\n }\r\n\r\n const key = prop as string;\r\n\r\n if (adapter.extensions?.[key]) {\r\n return adapter.extensions[key];\r\n }\r\n\r\n const fb = adapter.fallback;\r\n const val = fb?.[key];\r\n\r\n if (typeof val === \"function\") {\r\n return val.bind(fb);\r\n }\r\n return val;\r\n },\r\n }) as MonitorClient & Record<string, any>;\r\n}\r\n"]}
package/dist/rn.d.mts CHANGED
@@ -1,14 +1,7 @@
1
- import { CaptureContext, MonitorUser } from './index.mjs';
2
- import * as Sentry from '@sentry/react-native';
1
+ import { Monitor as Monitor$1, CaptureContext, MonitorUser } from './index.mjs';
3
2
 
4
- declare const Monitor: {
5
- [key: string]: any;
6
- init: (options: Sentry.ReactNativeOptions) => any;
7
- captureException: (error: Error, ctx?: CaptureContext) => any;
8
- captureMessage: (message: string, ctx?: CaptureContext) => any;
9
- setUser: (user: MonitorUser) => any;
10
- };
11
- declare const init: (options: Sentry.ReactNativeOptions) => any;
3
+ declare const Monitor: Monitor$1;
4
+ declare const init: (options: any) => any;
12
5
  declare const captureException: (error: Error, ctx?: CaptureContext) => any;
13
6
  declare const captureMessage: (message: string, ctx?: CaptureContext) => any;
14
7
  declare const setUser: (user: MonitorUser) => any;
package/dist/rn.d.ts CHANGED
@@ -1,14 +1,7 @@
1
- import { CaptureContext, MonitorUser } from './index.js';
2
- import * as Sentry from '@sentry/react-native';
1
+ import { Monitor as Monitor$1, CaptureContext, MonitorUser } from './index.js';
3
2
 
4
- declare const Monitor: {
5
- [key: string]: any;
6
- init: (options: Sentry.ReactNativeOptions) => any;
7
- captureException: (error: Error, ctx?: CaptureContext) => any;
8
- captureMessage: (message: string, ctx?: CaptureContext) => any;
9
- setUser: (user: MonitorUser) => any;
10
- };
11
- declare const init: (options: Sentry.ReactNativeOptions) => any;
3
+ declare const Monitor: Monitor$1;
4
+ declare const init: (options: any) => any;
12
5
  declare const captureException: (error: Error, ctx?: CaptureContext) => any;
13
6
  declare const captureMessage: (message: string, ctx?: CaptureContext) => any;
14
7
  declare const setUser: (user: MonitorUser) => any;
package/dist/rn.js CHANGED
@@ -41,47 +41,44 @@ var Sentry = __toESM(require("@sentry/react-native"));
41
41
 
42
42
  // src/core/createMonitor.ts
43
43
  function createMonitor(sentry) {
44
- const init2 = (options) => {
45
- return sentry.init(options);
46
- };
47
- const captureException2 = (error, ctx) => {
48
- return sentry.captureException(error, (scope) => {
49
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
50
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
51
- return scope;
52
- });
53
- };
54
- const captureMessage2 = (message, ctx) => {
55
- return sentry.captureMessage(message, (scope) => {
56
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
57
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
58
- return scope;
59
- });
60
- };
61
- const setUser2 = (user) => {
62
- return sentry.setUser(user);
63
- };
64
- const Monitor2 = new Proxy(
65
- {
66
- init: init2,
67
- captureException: captureException2,
68
- captureMessage: captureMessage2,
69
- setUser: setUser2
44
+ const monitor = {
45
+ init(options) {
46
+ return sentry.init(options);
47
+ },
48
+ /** 上报异常 */
49
+ captureException(error, ctx) {
50
+ return sentry.captureException(error, (scope) => {
51
+ (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
52
+ (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
53
+ return scope;
54
+ });
70
55
  },
71
- {
72
- get(target, key, receiver) {
73
- if (key in target) {
74
- return Reflect.get(target, key, receiver);
75
- }
76
- const sentryValue = sentry[key];
77
- if (typeof sentryValue === "function") {
78
- return sentryValue.bind(sentry);
79
- }
80
- return sentryValue;
56
+ /** 发送消息/提醒/日志 */
57
+ captureMessage(message, ctx) {
58
+ return sentry.captureMessage(message, (scope) => {
59
+ (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
60
+ (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
61
+ return scope;
62
+ });
63
+ },
64
+ /** 设置用户信息 */
65
+ setUser(user) {
66
+ return sentry.setUser(user);
67
+ }
68
+ };
69
+ const proxy = new Proxy(monitor, {
70
+ get(target, key, receiver) {
71
+ if (key in target) {
72
+ return Reflect.get(target, key, receiver);
73
+ }
74
+ const sentryFn = sentry[key];
75
+ if (typeof sentryFn === "function") {
76
+ return sentryFn.bind(sentry);
81
77
  }
78
+ return sentryFn;
82
79
  }
83
- );
84
- return Monitor2;
80
+ });
81
+ return proxy;
85
82
  }
86
83
 
87
84
  // src/adapter/rn/index.ts
package/dist/rn.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/createMonitor.ts","../src/adapter/rn/index.ts"],"names":["adapter","Sentry"],"mappings":"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","file":"rn.js","sourcesContent":["import type { MonitorAdapter, MonitorClient } from \"./types\";\r\n\r\nexport function createMonitor(adapter: MonitorAdapter): MonitorClient {\r\n const base: MonitorClient = {\r\n init: adapter.init,\r\n\r\n captureException: (e, ctx) => adapter.captureException(e, ctx),\r\n captureMessage: (m, ctx) => adapter.captureMessage(m, ctx),\r\n\r\n setUser: (u) => adapter.setUser(u),\r\n setTag: (k, v) => adapter.setTag(k, v),\r\n setExtra: (k, v) => adapter.setExtra(k, v),\r\n\r\n withScope: (cb) => adapter.withScope(cb),\r\n\r\n flush: (t) => adapter.flush?.(t) ?? Promise.resolve(true),\r\n close: (t) => adapter.close?.(t) ?? Promise.resolve(true),\r\n };\r\n\r\n return new Proxy(base as any, {\r\n get(target, prop, receiver) {\r\n if (prop in target) {\r\n return Reflect.get(target, prop, receiver);\r\n }\r\n\r\n const key = prop as string;\r\n\r\n if (adapter.extensions?.[key]) {\r\n return adapter.extensions[key];\r\n }\r\n\r\n const fb = adapter.fallback;\r\n const val = fb?.[key];\r\n\r\n if (typeof val === \"function\") {\r\n return val.bind(fb);\r\n }\r\n return val;\r\n },\r\n }) as MonitorClient & Record<string, any>;\r\n}\r\n","import * as Sentry from \"@sentry/react-native\";\nimport { createMonitor } from \"../../core/createMonitor\";\nimport type { CaptureContext, MonitorAdapter } from \"../../core/types\";\n\nfunction applyContext(scope: any, ctx?: CaptureContext) {\n if (!ctx) return;\n if (ctx.tags)\n Object.entries(ctx.tags).forEach(([k, v]) => scope.setTag(k, v));\n if (ctx.extra)\n Object.entries(ctx.extra).forEach(([k, v]) => scope.setExtra(k, v));\n if (ctx.user) scope.setUser(ctx.user);\n if (ctx.level) scope.setLevel(ctx.level);\n}\n\nconst adapter: MonitorAdapter = {\n init: Sentry.init,\n\n captureException(err, ctx) {\n Sentry.withScope((scope) => {\n applyContext(scope, ctx);\n Sentry.captureException(err);\n });\n },\n\n captureMessage(msg, ctx) {\n Sentry.withScope((scope) => {\n applyContext(scope, ctx);\n Sentry.captureMessage(msg);\n });\n },\n\n setUser: Sentry.setUser,\n setTag: Sentry.setTag,\n setExtra: Sentry.setExtra,\n\n withScope: Sentry.withScope,\n\n flush: Sentry.flush,\n\n fallback: Sentry,\n};\n\nconst Monitor = createMonitor(adapter);\nexport default Monitor;\n"]}
package/dist/rn.mjs CHANGED
@@ -3,47 +3,44 @@ import * as Sentry from "@sentry/react-native";
3
3
 
4
4
  // src/core/createMonitor.ts
5
5
  function createMonitor(sentry) {
6
- const init2 = (options) => {
7
- return sentry.init(options);
8
- };
9
- const captureException2 = (error, ctx) => {
10
- return sentry.captureException(error, (scope) => {
11
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
12
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
13
- return scope;
14
- });
15
- };
16
- const captureMessage2 = (message, ctx) => {
17
- return sentry.captureMessage(message, (scope) => {
18
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
19
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
20
- return scope;
21
- });
22
- };
23
- const setUser2 = (user) => {
24
- return sentry.setUser(user);
25
- };
26
- const Monitor2 = new Proxy(
27
- {
28
- init: init2,
29
- captureException: captureException2,
30
- captureMessage: captureMessage2,
31
- setUser: setUser2
6
+ const monitor = {
7
+ init(options) {
8
+ return sentry.init(options);
9
+ },
10
+ /** 上报异常 */
11
+ captureException(error, ctx) {
12
+ return sentry.captureException(error, (scope) => {
13
+ (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
14
+ (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
15
+ return scope;
16
+ });
32
17
  },
33
- {
34
- get(target, key, receiver) {
35
- if (key in target) {
36
- return Reflect.get(target, key, receiver);
37
- }
38
- const sentryValue = sentry[key];
39
- if (typeof sentryValue === "function") {
40
- return sentryValue.bind(sentry);
41
- }
42
- return sentryValue;
18
+ /** 发送消息/提醒/日志 */
19
+ captureMessage(message, ctx) {
20
+ return sentry.captureMessage(message, (scope) => {
21
+ (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
22
+ (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
23
+ return scope;
24
+ });
25
+ },
26
+ /** 设置用户信息 */
27
+ setUser(user) {
28
+ return sentry.setUser(user);
29
+ }
30
+ };
31
+ const proxy = new Proxy(monitor, {
32
+ get(target, key, receiver) {
33
+ if (key in target) {
34
+ return Reflect.get(target, key, receiver);
35
+ }
36
+ const sentryFn = sentry[key];
37
+ if (typeof sentryFn === "function") {
38
+ return sentryFn.bind(sentry);
43
39
  }
40
+ return sentryFn;
44
41
  }
45
- );
46
- return Monitor2;
42
+ });
43
+ return proxy;
47
44
  }
48
45
 
49
46
  // src/adapter/rn/index.ts
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/createMonitor.ts","../src/adapter/rn/index.ts"],"names":["adapter"],"mappings":"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","file":"rn.mjs","sourcesContent":["import type { MonitorAdapter, MonitorClient } from \"./types\";\r\n\r\nexport function createMonitor(adapter: MonitorAdapter): MonitorClient {\r\n const base: MonitorClient = {\r\n init: adapter.init,\r\n\r\n captureException: (e, ctx) => adapter.captureException(e, ctx),\r\n captureMessage: (m, ctx) => adapter.captureMessage(m, ctx),\r\n\r\n setUser: (u) => adapter.setUser(u),\r\n setTag: (k, v) => adapter.setTag(k, v),\r\n setExtra: (k, v) => adapter.setExtra(k, v),\r\n\r\n withScope: (cb) => adapter.withScope(cb),\r\n\r\n flush: (t) => adapter.flush?.(t) ?? Promise.resolve(true),\r\n close: (t) => adapter.close?.(t) ?? Promise.resolve(true),\r\n };\r\n\r\n return new Proxy(base as any, {\r\n get(target, prop, receiver) {\r\n if (prop in target) {\r\n return Reflect.get(target, prop, receiver);\r\n }\r\n\r\n const key = prop as string;\r\n\r\n if (adapter.extensions?.[key]) {\r\n return adapter.extensions[key];\r\n }\r\n\r\n const fb = adapter.fallback;\r\n const val = fb?.[key];\r\n\r\n if (typeof val === \"function\") {\r\n return val.bind(fb);\r\n }\r\n return val;\r\n },\r\n }) as MonitorClient & Record<string, any>;\r\n}\r\n","import * as Sentry from \"@sentry/react-native\";\nimport { createMonitor } from \"../../core/createMonitor\";\nimport type { CaptureContext, MonitorAdapter } from \"../../core/types\";\n\nfunction applyContext(scope: any, ctx?: CaptureContext) {\n if (!ctx) return;\n if (ctx.tags)\n Object.entries(ctx.tags).forEach(([k, v]) => scope.setTag(k, v));\n if (ctx.extra)\n Object.entries(ctx.extra).forEach(([k, v]) => scope.setExtra(k, v));\n if (ctx.user) scope.setUser(ctx.user);\n if (ctx.level) scope.setLevel(ctx.level);\n}\n\nconst adapter: MonitorAdapter = {\n init: Sentry.init,\n\n captureException(err, ctx) {\n Sentry.withScope((scope) => {\n applyContext(scope, ctx);\n Sentry.captureException(err);\n });\n },\n\n captureMessage(msg, ctx) {\n Sentry.withScope((scope) => {\n applyContext(scope, ctx);\n Sentry.captureMessage(msg);\n });\n },\n\n setUser: Sentry.setUser,\n setTag: Sentry.setTag,\n setExtra: Sentry.setExtra,\n\n withScope: Sentry.withScope,\n\n flush: Sentry.flush,\n\n fallback: Sentry,\n};\n\nconst Monitor = createMonitor(adapter);\nexport default Monitor;\n"]}
@@ -0,0 +1,37 @@
1
+ interface MonitorUser {
2
+ id?: string;
3
+ username?: string;
4
+ email?: string;
5
+ }
6
+ interface CaptureContext {
7
+ tags?: Record<string, string>;
8
+ extra?: Record<string, any>;
9
+ user?: MonitorUser;
10
+ level?: "fatal" | "error" | "warning" | "info" | "debug" | "log";
11
+ }
12
+ interface MonitorClient {
13
+ init(options: any): void;
14
+ captureException(error: Error, ctx?: CaptureContext): void;
15
+ captureMessage(message: string, ctx?: CaptureContext): void;
16
+ setUser(user: MonitorUser | null): void;
17
+ setTag(key: string, value: string): void;
18
+ setExtra(key: string, value: any): void;
19
+ withScope(cb: (scope: any) => void): void;
20
+ flush(timeout?: number): Promise<boolean>;
21
+ close(timeout?: number): Promise<boolean>;
22
+ }
23
+ interface MonitorAdapter {
24
+ init(options: any): void;
25
+ captureException(error: Error, ctx?: CaptureContext): void;
26
+ captureMessage(message: string, ctx?: CaptureContext): void;
27
+ setUser(user: MonitorUser | null): void;
28
+ setTag(key: string, value: string): void;
29
+ setExtra(key: string, value: any): void;
30
+ withScope(cb: (scope: any) => void): void;
31
+ flush?(timeout?: number): Promise<boolean>;
32
+ close?(timeout?: number): Promise<boolean>;
33
+ extensions?: Record<string, (...args: any[]) => any>;
34
+ fallback?: Record<string, any>;
35
+ }
36
+
37
+ export type { CaptureContext as C, MonitorAdapter as M, MonitorClient as a, MonitorUser as b };
@@ -0,0 +1,37 @@
1
+ interface MonitorUser {
2
+ id?: string;
3
+ username?: string;
4
+ email?: string;
5
+ }
6
+ interface CaptureContext {
7
+ tags?: Record<string, string>;
8
+ extra?: Record<string, any>;
9
+ user?: MonitorUser;
10
+ level?: "fatal" | "error" | "warning" | "info" | "debug" | "log";
11
+ }
12
+ interface MonitorClient {
13
+ init(options: any): void;
14
+ captureException(error: Error, ctx?: CaptureContext): void;
15
+ captureMessage(message: string, ctx?: CaptureContext): void;
16
+ setUser(user: MonitorUser | null): void;
17
+ setTag(key: string, value: string): void;
18
+ setExtra(key: string, value: any): void;
19
+ withScope(cb: (scope: any) => void): void;
20
+ flush(timeout?: number): Promise<boolean>;
21
+ close(timeout?: number): Promise<boolean>;
22
+ }
23
+ interface MonitorAdapter {
24
+ init(options: any): void;
25
+ captureException(error: Error, ctx?: CaptureContext): void;
26
+ captureMessage(message: string, ctx?: CaptureContext): void;
27
+ setUser(user: MonitorUser | null): void;
28
+ setTag(key: string, value: string): void;
29
+ setExtra(key: string, value: any): void;
30
+ withScope(cb: (scope: any) => void): void;
31
+ flush?(timeout?: number): Promise<boolean>;
32
+ close?(timeout?: number): Promise<boolean>;
33
+ extensions?: Record<string, (...args: any[]) => any>;
34
+ fallback?: Record<string, any>;
35
+ }
36
+
37
+ export type { CaptureContext as C, MonitorAdapter as M, MonitorClient as a, MonitorUser as b };
package/dist/web.d.mts CHANGED
@@ -1,14 +1,7 @@
1
- import { CaptureContext, MonitorUser } from './index.mjs';
2
- import * as Sentry from '@sentry/react';
1
+ import { Monitor as Monitor$1, CaptureContext, MonitorUser } from './index.mjs';
3
2
 
4
- declare const Monitor: {
5
- [key: string]: any;
6
- init: (options: Sentry.BrowserOptions) => any;
7
- captureException: (error: Error, ctx?: CaptureContext) => any;
8
- captureMessage: (message: string, ctx?: CaptureContext) => any;
9
- setUser: (user: MonitorUser) => any;
10
- };
11
- declare const init: (options: Sentry.BrowserOptions) => any;
3
+ declare const Monitor: Monitor$1;
4
+ declare const init: (options: any) => any;
12
5
  declare const captureException: (error: Error, ctx?: CaptureContext) => any;
13
6
  declare const captureMessage: (message: string, ctx?: CaptureContext) => any;
14
7
  declare const setUser: (user: MonitorUser) => any;
package/dist/web.d.ts CHANGED
@@ -1,14 +1,7 @@
1
- import { CaptureContext, MonitorUser } from './index.js';
2
- import * as Sentry from '@sentry/react';
1
+ import { Monitor as Monitor$1, CaptureContext, MonitorUser } from './index.js';
3
2
 
4
- declare const Monitor: {
5
- [key: string]: any;
6
- init: (options: Sentry.BrowserOptions) => any;
7
- captureException: (error: Error, ctx?: CaptureContext) => any;
8
- captureMessage: (message: string, ctx?: CaptureContext) => any;
9
- setUser: (user: MonitorUser) => any;
10
- };
11
- declare const init: (options: Sentry.BrowserOptions) => any;
3
+ declare const Monitor: Monitor$1;
4
+ declare const init: (options: any) => any;
12
5
  declare const captureException: (error: Error, ctx?: CaptureContext) => any;
13
6
  declare const captureMessage: (message: string, ctx?: CaptureContext) => any;
14
7
  declare const setUser: (user: MonitorUser) => any;
package/dist/web.js CHANGED
@@ -41,47 +41,44 @@ var Sentry = __toESM(require("@sentry/react"));
41
41
 
42
42
  // src/core/createMonitor.ts
43
43
  function createMonitor(sentry) {
44
- const init2 = (options) => {
45
- return sentry.init(options);
46
- };
47
- const captureException2 = (error, ctx) => {
48
- return sentry.captureException(error, (scope) => {
49
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
50
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
51
- return scope;
52
- });
53
- };
54
- const captureMessage2 = (message, ctx) => {
55
- return sentry.captureMessage(message, (scope) => {
56
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
57
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
58
- return scope;
59
- });
60
- };
61
- const setUser2 = (user) => {
62
- return sentry.setUser(user);
63
- };
64
- const Monitor2 = new Proxy(
65
- {
66
- init: init2,
67
- captureException: captureException2,
68
- captureMessage: captureMessage2,
69
- setUser: setUser2
44
+ const monitor = {
45
+ init(options) {
46
+ return sentry.init(options);
47
+ },
48
+ /** 上报异常 */
49
+ captureException(error, ctx) {
50
+ return sentry.captureException(error, (scope) => {
51
+ (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
52
+ (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
53
+ return scope;
54
+ });
70
55
  },
71
- {
72
- get(target, key, receiver) {
73
- if (key in target) {
74
- return Reflect.get(target, key, receiver);
75
- }
76
- const sentryValue = sentry[key];
77
- if (typeof sentryValue === "function") {
78
- return sentryValue.bind(sentry);
79
- }
80
- return sentryValue;
56
+ /** 发送消息/提醒/日志 */
57
+ captureMessage(message, ctx) {
58
+ return sentry.captureMessage(message, (scope) => {
59
+ (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
60
+ (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
61
+ return scope;
62
+ });
63
+ },
64
+ /** 设置用户信息 */
65
+ setUser(user) {
66
+ return sentry.setUser(user);
67
+ }
68
+ };
69
+ const proxy = new Proxy(monitor, {
70
+ get(target, key, receiver) {
71
+ if (key in target) {
72
+ return Reflect.get(target, key, receiver);
73
+ }
74
+ const sentryFn = sentry[key];
75
+ if (typeof sentryFn === "function") {
76
+ return sentryFn.bind(sentry);
81
77
  }
78
+ return sentryFn;
82
79
  }
83
- );
84
- return Monitor2;
80
+ });
81
+ return proxy;
85
82
  }
86
83
 
87
84
  // src/adapter/web/index.ts
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/createMonitor.ts","../src/adapter/web/index.ts"],"names":["adapter","Sentry"],"mappings":"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","file":"web.js","sourcesContent":["import type { MonitorAdapter, MonitorClient } from \"./types\";\r\n\r\nexport function createMonitor(adapter: MonitorAdapter): MonitorClient {\r\n const base: MonitorClient = {\r\n init: adapter.init,\r\n\r\n captureException: (e, ctx) => adapter.captureException(e, ctx),\r\n captureMessage: (m, ctx) => adapter.captureMessage(m, ctx),\r\n\r\n setUser: (u) => adapter.setUser(u),\r\n setTag: (k, v) => adapter.setTag(k, v),\r\n setExtra: (k, v) => adapter.setExtra(k, v),\r\n\r\n withScope: (cb) => adapter.withScope(cb),\r\n\r\n flush: (t) => adapter.flush?.(t) ?? Promise.resolve(true),\r\n close: (t) => adapter.close?.(t) ?? Promise.resolve(true),\r\n };\r\n\r\n return new Proxy(base as any, {\r\n get(target, prop, receiver) {\r\n if (prop in target) {\r\n return Reflect.get(target, prop, receiver);\r\n }\r\n\r\n const key = prop as string;\r\n\r\n if (adapter.extensions?.[key]) {\r\n return adapter.extensions[key];\r\n }\r\n\r\n const fb = adapter.fallback;\r\n const val = fb?.[key];\r\n\r\n if (typeof val === \"function\") {\r\n return val.bind(fb);\r\n }\r\n return val;\r\n },\r\n }) as MonitorClient & Record<string, any>;\r\n}\r\n","import * as Sentry from \"@sentry/react\";\nimport { createMonitor } from \"../../core/createMonitor\";\nimport type { CaptureContext, MonitorAdapter } from \"../../core/types\";\n\nfunction applyContext(scope: any, ctx?: CaptureContext) {\n if (!ctx) return;\n if (ctx.tags)\n Object.entries(ctx.tags).forEach(([k, v]) => scope.setTag(k, v));\n if (ctx.extra)\n Object.entries(ctx.extra).forEach(([k, v]) => scope.setExtra(k, v));\n if (ctx.user) scope.setUser(ctx.user);\n if (ctx.level) scope.setLevel(ctx.level);\n}\n\nconst adapter: MonitorAdapter = {\n init: Sentry.init,\n\n captureException(err, ctx) {\n Sentry.withScope((scope: any) => {\n applyContext(scope, ctx);\n Sentry.captureException(err);\n });\n },\n\n captureMessage(msg, ctx) {\n Sentry.withScope((scope: any) => {\n applyContext(scope, ctx);\n Sentry.captureMessage(msg);\n });\n },\n\n setUser: Sentry.setUser,\n setTag: Sentry.setTag,\n setExtra: Sentry.setExtra,\n\n withScope: Sentry.withScope,\n\n flush: Sentry.flush,\n close: Sentry.close,\n\n fallback: Sentry,\n};\n\nconst Monitor = createMonitor(adapter);\nexport default Monitor;\n"]}
package/dist/web.mjs CHANGED
@@ -3,47 +3,44 @@ import * as Sentry from "@sentry/react";
3
3
 
4
4
  // src/core/createMonitor.ts
5
5
  function createMonitor(sentry) {
6
- const init2 = (options) => {
7
- return sentry.init(options);
8
- };
9
- const captureException2 = (error, ctx) => {
10
- return sentry.captureException(error, (scope) => {
11
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
12
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
13
- return scope;
14
- });
15
- };
16
- const captureMessage2 = (message, ctx) => {
17
- return sentry.captureMessage(message, (scope) => {
18
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
19
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
20
- return scope;
21
- });
22
- };
23
- const setUser2 = (user) => {
24
- return sentry.setUser(user);
25
- };
26
- const Monitor2 = new Proxy(
27
- {
28
- init: init2,
29
- captureException: captureException2,
30
- captureMessage: captureMessage2,
31
- setUser: setUser2
6
+ const monitor = {
7
+ init(options) {
8
+ return sentry.init(options);
9
+ },
10
+ /** 上报异常 */
11
+ captureException(error, ctx) {
12
+ return sentry.captureException(error, (scope) => {
13
+ (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
14
+ (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
15
+ return scope;
16
+ });
32
17
  },
33
- {
34
- get(target, key, receiver) {
35
- if (key in target) {
36
- return Reflect.get(target, key, receiver);
37
- }
38
- const sentryValue = sentry[key];
39
- if (typeof sentryValue === "function") {
40
- return sentryValue.bind(sentry);
41
- }
42
- return sentryValue;
18
+ /** 发送消息/提醒/日志 */
19
+ captureMessage(message, ctx) {
20
+ return sentry.captureMessage(message, (scope) => {
21
+ (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
22
+ (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
23
+ return scope;
24
+ });
25
+ },
26
+ /** 设置用户信息 */
27
+ setUser(user) {
28
+ return sentry.setUser(user);
29
+ }
30
+ };
31
+ const proxy = new Proxy(monitor, {
32
+ get(target, key, receiver) {
33
+ if (key in target) {
34
+ return Reflect.get(target, key, receiver);
35
+ }
36
+ const sentryFn = sentry[key];
37
+ if (typeof sentryFn === "function") {
38
+ return sentryFn.bind(sentry);
43
39
  }
40
+ return sentryFn;
44
41
  }
45
- );
46
- return Monitor2;
42
+ });
43
+ return proxy;
47
44
  }
48
45
 
49
46
  // src/adapter/web/index.ts
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/createMonitor.ts","../src/adapter/web/index.ts"],"names":["adapter"],"mappings":"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","file":"web.mjs","sourcesContent":["import type { MonitorAdapter, MonitorClient } from \"./types\";\r\n\r\nexport function createMonitor(adapter: MonitorAdapter): MonitorClient {\r\n const base: MonitorClient = {\r\n init: adapter.init,\r\n\r\n captureException: (e, ctx) => adapter.captureException(e, ctx),\r\n captureMessage: (m, ctx) => adapter.captureMessage(m, ctx),\r\n\r\n setUser: (u) => adapter.setUser(u),\r\n setTag: (k, v) => adapter.setTag(k, v),\r\n setExtra: (k, v) => adapter.setExtra(k, v),\r\n\r\n withScope: (cb) => adapter.withScope(cb),\r\n\r\n flush: (t) => adapter.flush?.(t) ?? Promise.resolve(true),\r\n close: (t) => adapter.close?.(t) ?? Promise.resolve(true),\r\n };\r\n\r\n return new Proxy(base as any, {\r\n get(target, prop, receiver) {\r\n if (prop in target) {\r\n return Reflect.get(target, prop, receiver);\r\n }\r\n\r\n const key = prop as string;\r\n\r\n if (adapter.extensions?.[key]) {\r\n return adapter.extensions[key];\r\n }\r\n\r\n const fb = adapter.fallback;\r\n const val = fb?.[key];\r\n\r\n if (typeof val === \"function\") {\r\n return val.bind(fb);\r\n }\r\n return val;\r\n },\r\n }) as MonitorClient & Record<string, any>;\r\n}\r\n","import * as Sentry from \"@sentry/react\";\nimport { createMonitor } from \"../../core/createMonitor\";\nimport type { CaptureContext, MonitorAdapter } from \"../../core/types\";\n\nfunction applyContext(scope: any, ctx?: CaptureContext) {\n if (!ctx) return;\n if (ctx.tags)\n Object.entries(ctx.tags).forEach(([k, v]) => scope.setTag(k, v));\n if (ctx.extra)\n Object.entries(ctx.extra).forEach(([k, v]) => scope.setExtra(k, v));\n if (ctx.user) scope.setUser(ctx.user);\n if (ctx.level) scope.setLevel(ctx.level);\n}\n\nconst adapter: MonitorAdapter = {\n init: Sentry.init,\n\n captureException(err, ctx) {\n Sentry.withScope((scope: any) => {\n applyContext(scope, ctx);\n Sentry.captureException(err);\n });\n },\n\n captureMessage(msg, ctx) {\n Sentry.withScope((scope: any) => {\n applyContext(scope, ctx);\n Sentry.captureMessage(msg);\n });\n },\n\n setUser: Sentry.setUser,\n setTag: Sentry.setTag,\n setExtra: Sentry.setExtra,\n\n withScope: Sentry.withScope,\n\n flush: Sentry.flush,\n close: Sentry.close,\n\n fallback: Sentry,\n};\n\nconst Monitor = createMonitor(adapter);\nexport default Monitor;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xifan052/monitor",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,19 +11,33 @@
11
11
  "exports": {
12
12
  "./web": {
13
13
  "types": "./dist/web.d.ts",
14
- "import": "./dist/web.js",
15
- "require": "./dist/web.cjs"
14
+ "import": "./dist/web.mjs",
15
+ "require": "./dist/web.js"
16
16
  },
17
17
  "./rn": {
18
18
  "types": "./dist/rn.d.ts",
19
- "import": "./dist/rn.js",
20
- "require": "./dist/rn.cjs"
19
+ "import": "./dist/rn.mjs",
20
+ "require": "./dist/rn.js"
21
21
  },
22
22
  "./metro": {
23
+ "types": "./dist/metro.d.ts",
23
24
  "import": "./dist/metro.mjs",
24
25
  "require": "./dist/metro.js"
25
26
  }
26
27
  },
28
+ "typesVersions": {
29
+ "*": {
30
+ "web": [
31
+ "./dist/web.d.ts"
32
+ ],
33
+ "rn": [
34
+ "./dist/rn.d.ts"
35
+ ],
36
+ "metro": [
37
+ "./dist/metro.d.ts"
38
+ ]
39
+ }
40
+ },
27
41
  "scripts": {
28
42
  "build": "tsup --dts",
29
43
  "changeset": "changeset",
@@ -38,11 +52,8 @@
38
52
  },
39
53
  "devDependencies": {
40
54
  "@changesets/cli": "^2.27.10",
41
- "jsdom": "^27.3.0",
42
55
  "typescript": "^5",
56
+ "tsup": "^8.5.1",
43
57
  "vitest": "^1"
44
- },
45
- "dependencies": {
46
- "tsup": "^8.5.1"
47
58
  }
48
59
  }
@@ -1,14 +0,0 @@
1
- import { CaptureContext, MonitorUser } from './index.js';
2
-
3
- declare abstract class BaseClient {
4
- protected sentry: any;
5
- protected options: any;
6
- constructor(sentry: any, options: any);
7
- init(): void;
8
- captureException(error: Error, ctx?: CaptureContext): void;
9
- captureMessage(message: string, ctx?: CaptureContext): void;
10
- setUser(user: MonitorUser): void;
11
- get ErrorBoundary(): any;
12
- }
13
-
14
- export { BaseClient as B };
@@ -1,23 +0,0 @@
1
- import { CaptureContext, MonitorUser } from './index.cjs';
2
-
3
- declare abstract class BaseClient {
4
- protected sentry: any;
5
- protected options: any;
6
- constructor(sentry: any, options: any);
7
- init(): void;
8
- /**
9
- * 上报异常
10
- * @param error - 捕获的Error对象
11
- * @param ctx - 上下文信息,tags:错误分组;extra:错误的参数json信息
12
- */
13
- captureException(error: Error, ctx?: CaptureContext): void;
14
- /**
15
- * 上报自定义消息
16
- * @param message - 文本消息
17
- * @param ctx - 上下文信息,tags:错误分组;extra:本条消息相关的参数json
18
- */
19
- captureMessage(message: string, ctx?: CaptureContext): void;
20
- setUser(user: MonitorUser): void;
21
- }
22
-
23
- export { BaseClient as B };
@@ -1,23 +0,0 @@
1
- import { CaptureContext, MonitorUser } from './index.js';
2
-
3
- declare abstract class BaseClient {
4
- protected sentry: any;
5
- protected options: any;
6
- constructor(sentry: any, options: any);
7
- init(): void;
8
- /**
9
- * 上报异常
10
- * @param error - 捕获的Error对象
11
- * @param ctx - 上下文信息,tags:错误分组;extra:错误的参数json信息
12
- */
13
- captureException(error: Error, ctx?: CaptureContext): void;
14
- /**
15
- * 上报自定义消息
16
- * @param message - 文本消息
17
- * @param ctx - 上下文信息,tags:错误分组;extra:本条消息相关的参数json
18
- */
19
- captureMessage(message: string, ctx?: CaptureContext): void;
20
- setUser(user: MonitorUser): void;
21
- }
22
-
23
- export { BaseClient as B };
@@ -1,23 +0,0 @@
1
- interface MonitorUser {
2
- id?: string;
3
- email?: string;
4
- username?: string;
5
- [key: string]: string | undefined;
6
- }
7
- interface CaptureContext {
8
- tags?: Record<string, string>;
9
- extra?: Record<string, any>;
10
- }
11
-
12
- declare abstract class BaseClient {
13
- protected sentry: any;
14
- protected options: any;
15
- constructor(sentry: any, options: any);
16
- init(): void;
17
- captureException(error: Error, ctx?: CaptureContext): void;
18
- captureMessage(message: string, ctx?: CaptureContext): void;
19
- setUser(user: MonitorUser): void;
20
- get ErrorBoundary(): any;
21
- }
22
-
23
- export { BaseClient as B, type CaptureContext as C, type MonitorUser as M };
@@ -1,23 +0,0 @@
1
- interface MonitorUser {
2
- id?: string;
3
- email?: string;
4
- username?: string;
5
- [key: string]: string | undefined;
6
- }
7
- interface CaptureContext {
8
- tags?: Record<string, string>;
9
- extra?: Record<string, any>;
10
- }
11
-
12
- declare abstract class BaseClient {
13
- protected sentry: any;
14
- protected options: any;
15
- constructor(sentry: any, options: any);
16
- init(): void;
17
- captureException(error: Error, ctx?: CaptureContext): void;
18
- captureMessage(message: string, ctx?: CaptureContext): void;
19
- setUser(user: MonitorUser): void;
20
- get ErrorBoundary(): any;
21
- }
22
-
23
- export { BaseClient as B, type CaptureContext as C, type MonitorUser as M };
@@ -1,13 +0,0 @@
1
- import { CaptureContext, MonitorUser } from './index.js';
2
-
3
- declare abstract class BaseClient {
4
- protected sentry: any;
5
- protected options: any;
6
- constructor(sentry: any, options: any);
7
- init(): void;
8
- captureException(error: Error, ctx?: CaptureContext): void;
9
- captureMessage(message: string, ctx?: CaptureContext): void;
10
- setUser(user: MonitorUser): void;
11
- }
12
-
13
- export { BaseClient as B };
@@ -1,14 +0,0 @@
1
- import { CaptureContext, MonitorUser } from './index.cjs';
2
-
3
- declare abstract class BaseClient {
4
- protected sentry: any;
5
- protected options: any;
6
- constructor(sentry: any, options: any);
7
- init(): void;
8
- captureException(error: Error, ctx?: CaptureContext): void;
9
- captureMessage(message: string, ctx?: CaptureContext): void;
10
- setUser(user: MonitorUser): void;
11
- get ErrorBoundary(): any;
12
- }
13
-
14
- export { BaseClient as B };
@@ -1,13 +0,0 @@
1
- import { CaptureContext, MonitorUser } from './index.cjs';
2
-
3
- declare abstract class BaseClient {
4
- protected sentry: any;
5
- protected options: any;
6
- constructor(sentry: any, options: any);
7
- init(): void;
8
- captureException(error: Error, ctx?: CaptureContext): void;
9
- captureMessage(message: string, ctx?: CaptureContext): void;
10
- setUser(user: MonitorUser): void;
11
- }
12
-
13
- export { BaseClient as B };
package/dist/index.cjs DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
-
16
- // src/index.ts
17
- var src_exports = {};
18
- module.exports = __toCommonJS(src_exports);
package/dist/index.d.cts DELETED
@@ -1,12 +0,0 @@
1
- interface MonitorUser {
2
- id?: string;
3
- email?: string;
4
- username?: string;
5
- [key: string]: string | undefined;
6
- }
7
- interface CaptureContext {
8
- tags?: Record<string, string>;
9
- extra?: Record<string, any>;
10
- }
11
-
12
- export type { CaptureContext, MonitorUser };
package/dist/metro.cjs DELETED
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
-
17
- // src/adapter/rn/metro.ts
18
- var metro_exports = {};
19
- module.exports = __toCommonJS(metro_exports);
20
- __reExport(metro_exports, require("@sentry/react-native/metro"), module.exports);
21
- // Annotate the CommonJS export names for ESM import in node:
22
- 0 && (module.exports = {
23
- ...require("@sentry/react-native/metro")
24
- });
package/dist/metro.d.cts DELETED
@@ -1 +0,0 @@
1
- export * from '@sentry/react-native/metro';
package/dist/rn.cjs DELETED
@@ -1,97 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/adapter/rn/index.ts
31
- var rn_exports = {};
32
- __export(rn_exports, {
33
- captureException: () => captureException,
34
- captureMessage: () => captureMessage,
35
- default: () => rn_default,
36
- init: () => init,
37
- setUser: () => setUser
38
- });
39
- module.exports = __toCommonJS(rn_exports);
40
- var Sentry = __toESM(require("@sentry/react-native"), 1);
41
-
42
- // src/core/createMonitor.ts
43
- function createMonitor(sentry) {
44
- const init2 = (options) => {
45
- return sentry.init(options);
46
- };
47
- const captureException2 = (error, ctx) => {
48
- return sentry.captureException(error, (scope) => {
49
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
50
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
51
- return scope;
52
- });
53
- };
54
- const captureMessage2 = (message, ctx) => {
55
- return sentry.captureMessage(message, (scope) => {
56
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
57
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
58
- return scope;
59
- });
60
- };
61
- const setUser2 = (user) => {
62
- return sentry.setUser(user);
63
- };
64
- const Monitor2 = new Proxy(
65
- {
66
- init: init2,
67
- captureException: captureException2,
68
- captureMessage: captureMessage2,
69
- setUser: setUser2
70
- },
71
- {
72
- get(target, key, receiver) {
73
- if (key in target) {
74
- return Reflect.get(target, key, receiver);
75
- }
76
- const sentryValue = sentry[key];
77
- if (typeof sentryValue === "function") {
78
- return sentryValue.bind(sentry);
79
- }
80
- return sentryValue;
81
- }
82
- }
83
- );
84
- return Monitor2;
85
- }
86
-
87
- // src/adapter/rn/index.ts
88
- var Monitor = createMonitor(Sentry);
89
- var { init, captureException, captureMessage, setUser } = Monitor;
90
- var rn_default = Monitor;
91
- // Annotate the CommonJS export names for ESM import in node:
92
- 0 && (module.exports = {
93
- captureException,
94
- captureMessage,
95
- init,
96
- setUser
97
- });
package/dist/rn.d.cts DELETED
@@ -1,16 +0,0 @@
1
- import { CaptureContext, MonitorUser } from './index.cjs';
2
- import * as Sentry from '@sentry/react-native';
3
-
4
- declare const Monitor: {
5
- [key: string]: any;
6
- init: (options: Sentry.ReactNativeOptions) => any;
7
- captureException: (error: Error, ctx?: CaptureContext) => any;
8
- captureMessage: (message: string, ctx?: CaptureContext) => any;
9
- setUser: (user: MonitorUser) => any;
10
- };
11
- declare const init: (options: Sentry.ReactNativeOptions) => any;
12
- declare const captureException: (error: Error, ctx?: CaptureContext) => any;
13
- declare const captureMessage: (message: string, ctx?: CaptureContext) => any;
14
- declare const setUser: (user: MonitorUser) => any;
15
-
16
- export { captureException, captureMessage, Monitor as default, init, setUser };
package/dist/web.cjs DELETED
@@ -1,97 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/adapter/web/index.ts
31
- var web_exports = {};
32
- __export(web_exports, {
33
- captureException: () => captureException,
34
- captureMessage: () => captureMessage,
35
- default: () => web_default,
36
- init: () => init,
37
- setUser: () => setUser
38
- });
39
- module.exports = __toCommonJS(web_exports);
40
- var Sentry = __toESM(require("@sentry/react"), 1);
41
-
42
- // src/core/createMonitor.ts
43
- function createMonitor(sentry) {
44
- const init2 = (options) => {
45
- return sentry.init(options);
46
- };
47
- const captureException2 = (error, ctx) => {
48
- return sentry.captureException(error, (scope) => {
49
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
50
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
51
- return scope;
52
- });
53
- };
54
- const captureMessage2 = (message, ctx) => {
55
- return sentry.captureMessage(message, (scope) => {
56
- (ctx == null ? void 0 : ctx.tags) && scope.setTags(ctx.tags);
57
- (ctx == null ? void 0 : ctx.extra) && scope.setExtras(ctx.extra);
58
- return scope;
59
- });
60
- };
61
- const setUser2 = (user) => {
62
- return sentry.setUser(user);
63
- };
64
- const Monitor2 = new Proxy(
65
- {
66
- init: init2,
67
- captureException: captureException2,
68
- captureMessage: captureMessage2,
69
- setUser: setUser2
70
- },
71
- {
72
- get(target, key, receiver) {
73
- if (key in target) {
74
- return Reflect.get(target, key, receiver);
75
- }
76
- const sentryValue = sentry[key];
77
- if (typeof sentryValue === "function") {
78
- return sentryValue.bind(sentry);
79
- }
80
- return sentryValue;
81
- }
82
- }
83
- );
84
- return Monitor2;
85
- }
86
-
87
- // src/adapter/web/index.ts
88
- var Monitor = createMonitor(Sentry);
89
- var { init, captureException, captureMessage, setUser } = Monitor;
90
- var web_default = Monitor;
91
- // Annotate the CommonJS export names for ESM import in node:
92
- 0 && (module.exports = {
93
- captureException,
94
- captureMessage,
95
- init,
96
- setUser
97
- });
package/dist/web.d.cts DELETED
@@ -1,16 +0,0 @@
1
- import { CaptureContext, MonitorUser } from './index.cjs';
2
- import * as Sentry from '@sentry/react';
3
-
4
- declare const Monitor: {
5
- [key: string]: any;
6
- init: (options: Sentry.BrowserOptions) => any;
7
- captureException: (error: Error, ctx?: CaptureContext) => any;
8
- captureMessage: (message: string, ctx?: CaptureContext) => any;
9
- setUser: (user: MonitorUser) => any;
10
- };
11
- declare const init: (options: Sentry.BrowserOptions) => any;
12
- declare const captureException: (error: Error, ctx?: CaptureContext) => any;
13
- declare const captureMessage: (message: string, ctx?: CaptureContext) => any;
14
- declare const setUser: (user: MonitorUser) => any;
15
-
16
- export { captureException, captureMessage, Monitor as default, init, setUser };