@lark-sentry/reporter 1.0.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.
- package/dist/index.cjs +100 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +17 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +95 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.cjs +2 -0
- package/dist/index.min.cjs.map +1 -0
- package/dist/index.min.js +2 -0
- package/dist/index.min.js.map +1 -0
- package/package.json +34 -0
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var constants = require('@lark-sentry/constants');
|
|
6
|
+
var utils = require('@lark-sentry/utils');
|
|
7
|
+
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __typeError = (msg) => {
|
|
10
|
+
throw TypeError(msg);
|
|
11
|
+
};
|
|
12
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
13
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
14
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
15
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
16
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
17
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
18
|
+
var _instance;
|
|
19
|
+
const _DataReporter = class _DataReporter {
|
|
20
|
+
constructor() {
|
|
21
|
+
__publicField(this, "cbQueue", new utils.CallbackQueue());
|
|
22
|
+
__publicField(this, "id", crypto.randomUUID());
|
|
23
|
+
}
|
|
24
|
+
static get instance() {
|
|
25
|
+
if (!__privateGet(this, _instance)) {
|
|
26
|
+
__privateSet(this, _instance, new _DataReporter());
|
|
27
|
+
}
|
|
28
|
+
return __privateGet(this, _instance);
|
|
29
|
+
}
|
|
30
|
+
sendBeacon(data) {
|
|
31
|
+
return navigator.sendBeacon(utils.sentry.options.dsn, JSON.stringify(data));
|
|
32
|
+
}
|
|
33
|
+
reportByFetch(data) {
|
|
34
|
+
const cb = () => {
|
|
35
|
+
fetch(utils.sentry.options.dsn, {
|
|
36
|
+
method: "POST",
|
|
37
|
+
body: JSON.stringify(data),
|
|
38
|
+
// headers: [['Content-Type', 'application/json']]
|
|
39
|
+
headers: { "Content-Type": "application/json" }
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
this.cbQueue.push(cb);
|
|
43
|
+
}
|
|
44
|
+
reportByImage(data) {
|
|
45
|
+
const { dsn } = utils.sentry.options;
|
|
46
|
+
const cb = () => {
|
|
47
|
+
const image = new Image();
|
|
48
|
+
const sep = dsn.includes("?") ? "&" : "?";
|
|
49
|
+
image.src = `${dsn}${sep}data=${encodeURIComponent(
|
|
50
|
+
JSON.stringify(data)
|
|
51
|
+
)}`;
|
|
52
|
+
};
|
|
53
|
+
this.cbQueue.push(cb);
|
|
54
|
+
}
|
|
55
|
+
payload2reportData(payload) {
|
|
56
|
+
const { type, name, time, timestamp, message, status } = payload;
|
|
57
|
+
const reportData = {
|
|
58
|
+
type,
|
|
59
|
+
name,
|
|
60
|
+
time,
|
|
61
|
+
timestamp,
|
|
62
|
+
message,
|
|
63
|
+
status,
|
|
64
|
+
id: this.id,
|
|
65
|
+
url: location.href,
|
|
66
|
+
userId: utils.sentry.options.userId,
|
|
67
|
+
projectId: utils.sentry.options.projectId,
|
|
68
|
+
sdkVersion: constants.SDK_VERSION,
|
|
69
|
+
deviceInfo: utils.sentry.deviceInfo,
|
|
70
|
+
payload
|
|
71
|
+
};
|
|
72
|
+
return reportData;
|
|
73
|
+
}
|
|
74
|
+
async send(payload) {
|
|
75
|
+
const { dsn, screenRecordEventTypes, onBeforeReportData, useImageReport } = utils.sentry.options;
|
|
76
|
+
if (dsn === "") {
|
|
77
|
+
console.error("[lark-sentry] dsn is empty");
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (screenRecordEventTypes.includes(payload.type)) {
|
|
81
|
+
utils.sentry.shouldRecordScreen = true;
|
|
82
|
+
}
|
|
83
|
+
let data = this.payload2reportData(payload);
|
|
84
|
+
if (onBeforeReportData) {
|
|
85
|
+
data = await onBeforeReportData(data);
|
|
86
|
+
}
|
|
87
|
+
const ok = this.sendBeacon(data);
|
|
88
|
+
if (!ok) {
|
|
89
|
+
return useImageReport ? this.reportByImage(data) : this.reportByFetch(data);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
_instance = new WeakMap();
|
|
94
|
+
__privateAdd(_DataReporter, _instance);
|
|
95
|
+
let DataReporter = _DataReporter;
|
|
96
|
+
const reporter = DataReporter.instance;
|
|
97
|
+
|
|
98
|
+
exports.DataReporter = DataReporter;
|
|
99
|
+
exports.default = reporter;
|
|
100
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../index.ts"],"sourcesContent":["import { SDK_VERSION } from \"@lark-sentry/constants\";\n\nimport type {\n IDataReporter,\n IReportData,\n TReportPayload,\n} from \"@lark-sentry/types\";\n\nimport { CallbackQueue, sentry } from \"@lark-sentry/utils\";\n\nexport class DataReporter implements IDataReporter {\n cbQueue = new CallbackQueue();\n id = crypto.randomUUID();\n\n static #instance: DataReporter;\n\n static get instance() {\n if (!this.#instance) {\n this.#instance = new DataReporter();\n }\n return this.#instance;\n }\n\n sendBeacon(data: IReportData) {\n return navigator.sendBeacon(sentry.options.dsn, JSON.stringify(data));\n }\n\n reportByFetch(data: IReportData) {\n const cb = () => {\n fetch(sentry.options.dsn, {\n method: \"POST\",\n body: JSON.stringify(data),\n // headers: [['Content-Type', 'application/json']]\n headers: { \"Content-Type\": \"application/json\" },\n });\n };\n this.cbQueue.push(cb);\n }\n\n reportByImage(data: IReportData) {\n const { dsn } = sentry.options;\n const cb = () => {\n const image = new Image();\n const sep = dsn.includes(\"?\") ? \"&\" : \"?\";\n image.src = `${dsn}${sep}data=${encodeURIComponent(\n JSON.stringify(data),\n )}`;\n };\n this.cbQueue.push(cb);\n }\n\n payload2reportData<T extends TReportPayload = TReportPayload>(\n payload: T,\n ): IReportData<T> {\n const { type, name, time, timestamp, message, status } = payload;\n const reportData: IReportData<T> = {\n type,\n name,\n time,\n timestamp,\n message,\n status,\n id: this.id,\n url: location.href,\n userId: sentry.options.userId,\n projectId: sentry.options.projectId,\n sdkVersion: SDK_VERSION,\n deviceInfo: sentry.deviceInfo,\n payload,\n };\n return reportData;\n }\n\n async send(payload: TReportPayload) {\n const { dsn, screenRecordEventTypes, onBeforeReportData, useImageReport } =\n sentry.options;\n if (dsn === \"\") {\n console.error(\"[lark-sentry] dsn is empty\");\n return;\n }\n if (screenRecordEventTypes.includes(payload.type)) {\n sentry.shouldRecordScreen = true;\n }\n let data = this.payload2reportData(payload);\n if (onBeforeReportData) {\n data = await onBeforeReportData(data);\n }\n const ok = this.sendBeacon(data);\n if (!ok) {\n return useImageReport\n ? this.reportByImage(data)\n : this.reportByFetch(data);\n }\n }\n}\n\nconst reporter = DataReporter.instance;\n\nexport default reporter;\n"],"names":["CallbackQueue","sentry","SDK_VERSION"],"mappings":"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"}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IDataReporter, IReportData, TReportPayload } from '@lark-sentry/types';
|
|
2
|
+
import { CallbackQueue } from '@lark-sentry/utils';
|
|
3
|
+
|
|
4
|
+
declare class DataReporter implements IDataReporter {
|
|
5
|
+
#private;
|
|
6
|
+
cbQueue: CallbackQueue;
|
|
7
|
+
id: `${string}-${string}-${string}-${string}-${string}`;
|
|
8
|
+
static get instance(): DataReporter;
|
|
9
|
+
sendBeacon(data: IReportData): boolean;
|
|
10
|
+
reportByFetch(data: IReportData): void;
|
|
11
|
+
reportByImage(data: IReportData): void;
|
|
12
|
+
payload2reportData<T extends TReportPayload = TReportPayload>(payload: T): IReportData<T>;
|
|
13
|
+
send(payload: TReportPayload): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
declare const reporter: DataReporter;
|
|
16
|
+
|
|
17
|
+
export { DataReporter, reporter as default };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IDataReporter, IReportData, TReportPayload } from '@lark-sentry/types';
|
|
2
|
+
import { CallbackQueue } from '@lark-sentry/utils';
|
|
3
|
+
|
|
4
|
+
declare class DataReporter implements IDataReporter {
|
|
5
|
+
#private;
|
|
6
|
+
cbQueue: CallbackQueue;
|
|
7
|
+
id: `${string}-${string}-${string}-${string}-${string}`;
|
|
8
|
+
static get instance(): DataReporter;
|
|
9
|
+
sendBeacon(data: IReportData): boolean;
|
|
10
|
+
reportByFetch(data: IReportData): void;
|
|
11
|
+
reportByImage(data: IReportData): void;
|
|
12
|
+
payload2reportData<T extends TReportPayload = TReportPayload>(payload: T): IReportData<T>;
|
|
13
|
+
send(payload: TReportPayload): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
declare const reporter: DataReporter;
|
|
16
|
+
|
|
17
|
+
export { DataReporter, reporter as default };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { SDK_VERSION } from '@lark-sentry/constants';
|
|
2
|
+
import { CallbackQueue, sentry } from '@lark-sentry/utils';
|
|
3
|
+
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __typeError = (msg) => {
|
|
6
|
+
throw TypeError(msg);
|
|
7
|
+
};
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
11
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
12
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
13
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
14
|
+
var _instance;
|
|
15
|
+
const _DataReporter = class _DataReporter {
|
|
16
|
+
constructor() {
|
|
17
|
+
__publicField(this, "cbQueue", new CallbackQueue());
|
|
18
|
+
__publicField(this, "id", crypto.randomUUID());
|
|
19
|
+
}
|
|
20
|
+
static get instance() {
|
|
21
|
+
if (!__privateGet(this, _instance)) {
|
|
22
|
+
__privateSet(this, _instance, new _DataReporter());
|
|
23
|
+
}
|
|
24
|
+
return __privateGet(this, _instance);
|
|
25
|
+
}
|
|
26
|
+
sendBeacon(data) {
|
|
27
|
+
return navigator.sendBeacon(sentry.options.dsn, JSON.stringify(data));
|
|
28
|
+
}
|
|
29
|
+
reportByFetch(data) {
|
|
30
|
+
const cb = () => {
|
|
31
|
+
fetch(sentry.options.dsn, {
|
|
32
|
+
method: "POST",
|
|
33
|
+
body: JSON.stringify(data),
|
|
34
|
+
// headers: [['Content-Type', 'application/json']]
|
|
35
|
+
headers: { "Content-Type": "application/json" }
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
this.cbQueue.push(cb);
|
|
39
|
+
}
|
|
40
|
+
reportByImage(data) {
|
|
41
|
+
const { dsn } = sentry.options;
|
|
42
|
+
const cb = () => {
|
|
43
|
+
const image = new Image();
|
|
44
|
+
const sep = dsn.includes("?") ? "&" : "?";
|
|
45
|
+
image.src = `${dsn}${sep}data=${encodeURIComponent(
|
|
46
|
+
JSON.stringify(data)
|
|
47
|
+
)}`;
|
|
48
|
+
};
|
|
49
|
+
this.cbQueue.push(cb);
|
|
50
|
+
}
|
|
51
|
+
payload2reportData(payload) {
|
|
52
|
+
const { type, name, time, timestamp, message, status } = payload;
|
|
53
|
+
const reportData = {
|
|
54
|
+
type,
|
|
55
|
+
name,
|
|
56
|
+
time,
|
|
57
|
+
timestamp,
|
|
58
|
+
message,
|
|
59
|
+
status,
|
|
60
|
+
id: this.id,
|
|
61
|
+
url: location.href,
|
|
62
|
+
userId: sentry.options.userId,
|
|
63
|
+
projectId: sentry.options.projectId,
|
|
64
|
+
sdkVersion: SDK_VERSION,
|
|
65
|
+
deviceInfo: sentry.deviceInfo,
|
|
66
|
+
payload
|
|
67
|
+
};
|
|
68
|
+
return reportData;
|
|
69
|
+
}
|
|
70
|
+
async send(payload) {
|
|
71
|
+
const { dsn, screenRecordEventTypes, onBeforeReportData, useImageReport } = sentry.options;
|
|
72
|
+
if (dsn === "") {
|
|
73
|
+
console.error("[lark-sentry] dsn is empty");
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (screenRecordEventTypes.includes(payload.type)) {
|
|
77
|
+
sentry.shouldRecordScreen = true;
|
|
78
|
+
}
|
|
79
|
+
let data = this.payload2reportData(payload);
|
|
80
|
+
if (onBeforeReportData) {
|
|
81
|
+
data = await onBeforeReportData(data);
|
|
82
|
+
}
|
|
83
|
+
const ok = this.sendBeacon(data);
|
|
84
|
+
if (!ok) {
|
|
85
|
+
return useImageReport ? this.reportByImage(data) : this.reportByFetch(data);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
_instance = new WeakMap();
|
|
90
|
+
__privateAdd(_DataReporter, _instance);
|
|
91
|
+
let DataReporter = _DataReporter;
|
|
92
|
+
const reporter = DataReporter.instance;
|
|
93
|
+
|
|
94
|
+
export { DataReporter, reporter as default };
|
|
95
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../index.ts"],"sourcesContent":["import { SDK_VERSION } from \"@lark-sentry/constants\";\n\nimport type {\n IDataReporter,\n IReportData,\n TReportPayload,\n} from \"@lark-sentry/types\";\n\nimport { CallbackQueue, sentry } from \"@lark-sentry/utils\";\n\nexport class DataReporter implements IDataReporter {\n cbQueue = new CallbackQueue();\n id = crypto.randomUUID();\n\n static #instance: DataReporter;\n\n static get instance() {\n if (!this.#instance) {\n this.#instance = new DataReporter();\n }\n return this.#instance;\n }\n\n sendBeacon(data: IReportData) {\n return navigator.sendBeacon(sentry.options.dsn, JSON.stringify(data));\n }\n\n reportByFetch(data: IReportData) {\n const cb = () => {\n fetch(sentry.options.dsn, {\n method: \"POST\",\n body: JSON.stringify(data),\n // headers: [['Content-Type', 'application/json']]\n headers: { \"Content-Type\": \"application/json\" },\n });\n };\n this.cbQueue.push(cb);\n }\n\n reportByImage(data: IReportData) {\n const { dsn } = sentry.options;\n const cb = () => {\n const image = new Image();\n const sep = dsn.includes(\"?\") ? \"&\" : \"?\";\n image.src = `${dsn}${sep}data=${encodeURIComponent(\n JSON.stringify(data),\n )}`;\n };\n this.cbQueue.push(cb);\n }\n\n payload2reportData<T extends TReportPayload = TReportPayload>(\n payload: T,\n ): IReportData<T> {\n const { type, name, time, timestamp, message, status } = payload;\n const reportData: IReportData<T> = {\n type,\n name,\n time,\n timestamp,\n message,\n status,\n id: this.id,\n url: location.href,\n userId: sentry.options.userId,\n projectId: sentry.options.projectId,\n sdkVersion: SDK_VERSION,\n deviceInfo: sentry.deviceInfo,\n payload,\n };\n return reportData;\n }\n\n async send(payload: TReportPayload) {\n const { dsn, screenRecordEventTypes, onBeforeReportData, useImageReport } =\n sentry.options;\n if (dsn === \"\") {\n console.error(\"[lark-sentry] dsn is empty\");\n return;\n }\n if (screenRecordEventTypes.includes(payload.type)) {\n sentry.shouldRecordScreen = true;\n }\n let data = this.payload2reportData(payload);\n if (onBeforeReportData) {\n data = await onBeforeReportData(data);\n }\n const ok = this.sendBeacon(data);\n if (!ok) {\n return useImageReport\n ? this.reportByImage(data)\n : this.reportByFetch(data);\n }\n }\n}\n\nconst reporter = DataReporter.instance;\n\nexport default reporter;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("@lark-sentry/constants"),s=require("@lark-sentry/utils"),r=Object.defineProperty,n=e=>{throw TypeError(e)},o=(e,t,s)=>((e,t,s)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s),a=(e,t,s)=>t.has(e)||n("Cannot "+s),i=(e,t,s)=>(a(e,t,"read from private field"),s?s.call(e):t.get(e));const c=class r{constructor(){o(this,"cbQueue",new s.CallbackQueue),o(this,"id",crypto.randomUUID())}static get instance(){var t,s,n;return i(this,e)||(t=this,s=e,n=new r,a(t,s,"write to private field"),s.set(t,n)),i(this,e)}sendBeacon(e){return navigator.sendBeacon(s.sentry.options.dsn,JSON.stringify(e))}reportByFetch(e){this.cbQueue.push(()=>{fetch(s.sentry.options.dsn,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json"}})})}reportByImage(e){const{dsn:t}=s.sentry.options;this.cbQueue.push(()=>{const s=new Image,r=t.includes("?")?"&":"?";s.src=`${t}${r}data=${encodeURIComponent(JSON.stringify(e))}`})}payload2reportData(e){const{type:r,name:n,time:o,timestamp:a,message:i,status:c}=e;return{type:r,name:n,time:o,timestamp:a,message:i,status:c,id:this.id,url:location.href,userId:s.sentry.options.userId,projectId:s.sentry.options.projectId,sdkVersion:t.SDK_VERSION,deviceInfo:s.sentry.deviceInfo,payload:e}}async send(e){const{dsn:t,screenRecordEventTypes:r,onBeforeReportData:n,useImageReport:o}=s.sentry.options;if(""===t)return void console.error("[lark-sentry] dsn is empty");r.includes(e.type)&&(s.sentry.shouldRecordScreen=!0);let a=this.payload2reportData(e);n&&(a=await n(a));return this.sendBeacon(a)?void 0:o?this.reportByImage(a):this.reportByFetch(a)}};var d,p,u;e=new WeakMap,d=c,(p=e).has(d)?n("Cannot add the same private member more than once"):p instanceof WeakSet?p.add(d):p.set(d,u);let y=c;const l=y.instance;exports.DataReporter=y,exports.default=l;
|
|
2
|
+
//# sourceMappingURL=index.min.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.min.cjs","sources":["../index.ts"],"sourcesContent":["import { SDK_VERSION } from \"@lark-sentry/constants\";\n\nimport type {\n IDataReporter,\n IReportData,\n TReportPayload,\n} from \"@lark-sentry/types\";\n\nimport { CallbackQueue, sentry } from \"@lark-sentry/utils\";\n\nexport class DataReporter implements IDataReporter {\n cbQueue = new CallbackQueue();\n id = crypto.randomUUID();\n\n static #instance: DataReporter;\n\n static get instance() {\n if (!this.#instance) {\n this.#instance = new DataReporter();\n }\n return this.#instance;\n }\n\n sendBeacon(data: IReportData) {\n return navigator.sendBeacon(sentry.options.dsn, JSON.stringify(data));\n }\n\n reportByFetch(data: IReportData) {\n const cb = () => {\n fetch(sentry.options.dsn, {\n method: \"POST\",\n body: JSON.stringify(data),\n // headers: [['Content-Type', 'application/json']]\n headers: { \"Content-Type\": \"application/json\" },\n });\n };\n this.cbQueue.push(cb);\n }\n\n reportByImage(data: IReportData) {\n const { dsn } = sentry.options;\n const cb = () => {\n const image = new Image();\n const sep = dsn.includes(\"?\") ? \"&\" : \"?\";\n image.src = `${dsn}${sep}data=${encodeURIComponent(\n JSON.stringify(data),\n )}`;\n };\n this.cbQueue.push(cb);\n }\n\n payload2reportData<T extends TReportPayload = TReportPayload>(\n payload: T,\n ): IReportData<T> {\n const { type, name, time, timestamp, message, status } = payload;\n const reportData: IReportData<T> = {\n type,\n name,\n time,\n timestamp,\n message,\n status,\n id: this.id,\n url: location.href,\n userId: sentry.options.userId,\n projectId: sentry.options.projectId,\n sdkVersion: SDK_VERSION,\n deviceInfo: sentry.deviceInfo,\n payload,\n };\n return reportData;\n }\n\n async send(payload: TReportPayload) {\n const { dsn, screenRecordEventTypes, onBeforeReportData, useImageReport } =\n sentry.options;\n if (dsn === \"\") {\n console.error(\"[lark-sentry] dsn is empty\");\n return;\n }\n if (screenRecordEventTypes.includes(payload.type)) {\n sentry.shouldRecordScreen = true;\n }\n let data = this.payload2reportData(payload);\n if (onBeforeReportData) {\n data = await onBeforeReportData(data);\n }\n const ok = this.sendBeacon(data);\n if (!ok) {\n return useImageReport\n ? this.reportByImage(data)\n : this.reportByFetch(data);\n }\n }\n}\n\nconst reporter = DataReporter.instance;\n\nexport default reporter;\n"],"names":["_instance","_DataReporter","constructor","__publicField","this","CallbackQueue","crypto","randomUUID","instance","__privateGet","sendBeacon","data","navigator","sentry","options","dsn","JSON","stringify","reportByFetch","cbQueue","push","fetch","method","body","headers","reportByImage","image","Image","sep","includes","src","encodeURIComponent","payload2reportData","payload","type","name","time","timestamp","message","status","id","url","location","href","userId","projectId","sdkVersion","SDK_VERSION","deviceInfo","send","screenRecordEventTypes","onBeforeReportData","useImageReport","console","error","shouldRecordScreen","WeakMap","DataReporter","reporter"],"mappings":"wEAAAA,6VAUO,MAAMC,EAAN,MAAMA,EAAN,WAAAC,GACLC,EAAAC,KAAA,UAAU,IAAIC,EAAAA,eACdF,EAAAC,KAAA,KAAKE,OAAOC,aAAW,CAIvB,mBAAWC,aAIT,OAHKC,OAAKT,OACRI,OAAKJ,IAAY,IAAIC,8CAEhBQ,EAAAL,KAAKJ,EACd,CAEA,UAAAU,CAAWC,GACT,OAAOC,UAAUF,WAAWG,SAAOC,QAAQC,IAAKC,KAAKC,UAAUN,GACjE,CAEA,aAAAO,CAAcP,GASZP,KAAKe,QAAQC,KARF,KACTC,MAAMR,EAAAA,OAAOC,QAAQC,IAAK,CACxBO,OAAQ,OACRC,KAAMP,KAAKC,UAAUN,GAErBa,QAAS,CAAE,eAAgB,uBAIjC,CAEA,aAAAC,CAAcd,GACZ,MAAMI,IAAEA,GAAQF,EAAAA,OAAOC,QAQvBV,KAAKe,QAAQC,KAPF,KACT,MAAMM,EAAQ,IAAIC,MACZC,EAAMb,EAAIc,SAAS,KAAO,IAAM,IACtCH,EAAMI,IAAM,GAAGf,IAAMa,SAAWG,mBAC9Bf,KAAKC,UAAUN,OAIrB,CAEA,kBAAAqB,CACEC,GAEA,MAAMC,KAAEA,EAAAC,KAAMA,EAAAC,KAAMA,YAAMC,EAAAC,QAAWA,EAAAC,OAASA,GAAWN,EAgBzD,MAfmC,CACjCC,OACAC,OACAC,OACAC,YACAC,UACAC,SACAC,GAAIpC,KAAKoC,GACTC,IAAKC,SAASC,KACdC,OAAQ/B,EAAAA,OAAOC,QAAQ8B,OACvBC,UAAWhC,EAAAA,OAAOC,QAAQ+B,UAC1BC,WAAYC,EAAAA,YACZC,WAAYnC,EAAAA,OAAOmC,WACnBf,UAGJ,CAEA,UAAMgB,CAAKhB,GACT,MAAMlB,IAAEA,EAAAmC,uBAAKA,EAAAC,mBAAwBA,EAAAC,eAAoBA,GACvDvC,EAAAA,OAAOC,QACT,GAAY,KAARC,EAEF,YADAsC,QAAQC,MAAM,8BAGZJ,EAAuBrB,SAASI,EAAQC,QAC1CrB,EAAAA,OAAO0C,oBAAqB,GAE9B,IAAI5C,EAAOP,KAAK4B,mBAAmBC,GAC/BkB,IACFxC,QAAawC,EAAmBxC,IAGlC,OADWP,KAAKM,WAAWC,QAC3B,EACSyC,EACHhD,KAAKqB,cAAcd,GACnBP,KAAKc,cAAcP,EAE3B,aA/EOX,EAAA,IAAAwD,UAJIvD,KAIJD,0GAJF,IAAMyD,EAANxD,EAsFP,MAAMyD,EAAWD,EAAajD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{SDK_VERSION as e}from"@lark-sentry/constants";import{CallbackQueue as t,sentry as s}from"@lark-sentry/utils";var n,o=Object.defineProperty,r=e=>{throw TypeError(e)},a=(e,t,s)=>((e,t,s)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s)(e,"symbol"!=typeof t?t+"":t,s),i=(e,t,s)=>t.has(e)||r("Cannot "+s),c=(e,t,s)=>(i(e,t,"read from private field"),s?s.call(e):t.get(e));const d=class o{constructor(){a(this,"cbQueue",new t),a(this,"id",crypto.randomUUID())}static get instance(){var e,t,s;return c(this,n)||(e=this,t=n,s=new o,i(e,t,"write to private field"),t.set(e,s)),c(this,n)}sendBeacon(e){return navigator.sendBeacon(s.options.dsn,JSON.stringify(e))}reportByFetch(e){this.cbQueue.push(()=>{fetch(s.options.dsn,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json"}})})}reportByImage(e){const{dsn:t}=s.options;this.cbQueue.push(()=>{const s=new Image,n=t.includes("?")?"&":"?";s.src=`${t}${n}data=${encodeURIComponent(JSON.stringify(e))}`})}payload2reportData(t){const{type:n,name:o,time:r,timestamp:a,message:i,status:c}=t;return{type:n,name:o,time:r,timestamp:a,message:i,status:c,id:this.id,url:location.href,userId:s.options.userId,projectId:s.options.projectId,sdkVersion:e,deviceInfo:s.deviceInfo,payload:t}}async send(e){const{dsn:t,screenRecordEventTypes:n,onBeforeReportData:o,useImageReport:r}=s.options;if(""===t)return void console.error("[lark-sentry] dsn is empty");n.includes(e.type)&&(s.shouldRecordScreen=!0);let a=this.payload2reportData(e);o&&(a=await o(a));return this.sendBeacon(a)?void 0:r?this.reportByImage(a):this.reportByFetch(a)}};var p,m,u;n=new WeakMap,p=d,(m=n).has(p)?r("Cannot add the same private member more than once"):m instanceof WeakSet?m.add(p):m.set(p,u);let l=d;const h=l.instance;export{l as DataReporter,h as default};
|
|
2
|
+
//# sourceMappingURL=index.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.min.js","sources":["../index.ts"],"sourcesContent":["import { SDK_VERSION } from \"@lark-sentry/constants\";\n\nimport type {\n IDataReporter,\n IReportData,\n TReportPayload,\n} from \"@lark-sentry/types\";\n\nimport { CallbackQueue, sentry } from \"@lark-sentry/utils\";\n\nexport class DataReporter implements IDataReporter {\n cbQueue = new CallbackQueue();\n id = crypto.randomUUID();\n\n static #instance: DataReporter;\n\n static get instance() {\n if (!this.#instance) {\n this.#instance = new DataReporter();\n }\n return this.#instance;\n }\n\n sendBeacon(data: IReportData) {\n return navigator.sendBeacon(sentry.options.dsn, JSON.stringify(data));\n }\n\n reportByFetch(data: IReportData) {\n const cb = () => {\n fetch(sentry.options.dsn, {\n method: \"POST\",\n body: JSON.stringify(data),\n // headers: [['Content-Type', 'application/json']]\n headers: { \"Content-Type\": \"application/json\" },\n });\n };\n this.cbQueue.push(cb);\n }\n\n reportByImage(data: IReportData) {\n const { dsn } = sentry.options;\n const cb = () => {\n const image = new Image();\n const sep = dsn.includes(\"?\") ? \"&\" : \"?\";\n image.src = `${dsn}${sep}data=${encodeURIComponent(\n JSON.stringify(data),\n )}`;\n };\n this.cbQueue.push(cb);\n }\n\n payload2reportData<T extends TReportPayload = TReportPayload>(\n payload: T,\n ): IReportData<T> {\n const { type, name, time, timestamp, message, status } = payload;\n const reportData: IReportData<T> = {\n type,\n name,\n time,\n timestamp,\n message,\n status,\n id: this.id,\n url: location.href,\n userId: sentry.options.userId,\n projectId: sentry.options.projectId,\n sdkVersion: SDK_VERSION,\n deviceInfo: sentry.deviceInfo,\n payload,\n };\n return reportData;\n }\n\n async send(payload: TReportPayload) {\n const { dsn, screenRecordEventTypes, onBeforeReportData, useImageReport } =\n sentry.options;\n if (dsn === \"\") {\n console.error(\"[lark-sentry] dsn is empty\");\n return;\n }\n if (screenRecordEventTypes.includes(payload.type)) {\n sentry.shouldRecordScreen = true;\n }\n let data = this.payload2reportData(payload);\n if (onBeforeReportData) {\n data = await onBeforeReportData(data);\n }\n const ok = this.sendBeacon(data);\n if (!ok) {\n return useImageReport\n ? this.reportByImage(data)\n : this.reportByFetch(data);\n }\n }\n}\n\nconst reporter = DataReporter.instance;\n\nexport default reporter;\n"],"names":["_instance","_DataReporter","constructor","__publicField","this","CallbackQueue","crypto","randomUUID","instance","__privateGet","sendBeacon","data","navigator","sentry","options","dsn","JSON","stringify","reportByFetch","cbQueue","push","fetch","method","body","headers","reportByImage","image","Image","sep","includes","src","encodeURIComponent","payload2reportData","payload","type","name","time","timestamp","message","status","id","url","location","href","userId","projectId","sdkVersion","SDK_VERSION","deviceInfo","send","screenRecordEventTypes","onBeforeReportData","useImageReport","console","error","shouldRecordScreen","WeakMap","DataReporter","reporter"],"mappings":"wHAAAA,yRAUO,MAAMC,EAAN,MAAMA,EAAN,WAAAC,GACLC,EAAAC,KAAA,UAAU,IAAIC,GACdF,EAAAC,KAAA,KAAKE,OAAOC,aAAW,CAIvB,mBAAWC,aAIT,OAHKC,OAAKT,OACRI,OAAKJ,IAAY,IAAIC,8CAEhBQ,EAAAL,KAAKJ,EACd,CAEA,UAAAU,CAAWC,GACT,OAAOC,UAAUF,WAAWG,EAAOC,QAAQC,IAAKC,KAAKC,UAAUN,GACjE,CAEA,aAAAO,CAAcP,GASZP,KAAKe,QAAQC,KARF,KACTC,MAAMR,EAAOC,QAAQC,IAAK,CACxBO,OAAQ,OACRC,KAAMP,KAAKC,UAAUN,GAErBa,QAAS,CAAE,eAAgB,uBAIjC,CAEA,aAAAC,CAAcd,GACZ,MAAMI,IAAEA,GAAQF,EAAOC,QAQvBV,KAAKe,QAAQC,KAPF,KACT,MAAMM,EAAQ,IAAIC,MACZC,EAAMb,EAAIc,SAAS,KAAO,IAAM,IACtCH,EAAMI,IAAM,GAAGf,IAAMa,SAAWG,mBAC9Bf,KAAKC,UAAUN,OAIrB,CAEA,kBAAAqB,CACEC,GAEA,MAAMC,KAAEA,EAAAC,KAAMA,EAAAC,KAAMA,YAAMC,EAAAC,QAAWA,EAAAC,OAASA,GAAWN,EAgBzD,MAfmC,CACjCC,OACAC,OACAC,OACAC,YACAC,UACAC,SACAC,GAAIpC,KAAKoC,GACTC,IAAKC,SAASC,KACdC,OAAQ/B,EAAOC,QAAQ8B,OACvBC,UAAWhC,EAAOC,QAAQ+B,UAC1BC,WAAYC,EACZC,WAAYnC,EAAOmC,WACnBf,UAGJ,CAEA,UAAMgB,CAAKhB,GACT,MAAMlB,IAAEA,EAAAmC,uBAAKA,EAAAC,mBAAwBA,EAAAC,eAAoBA,GACvDvC,EAAOC,QACT,GAAY,KAARC,EAEF,YADAsC,QAAQC,MAAM,8BAGZJ,EAAuBrB,SAASI,EAAQC,QAC1CrB,EAAO0C,oBAAqB,GAE9B,IAAI5C,EAAOP,KAAK4B,mBAAmBC,GAC/BkB,IACFxC,QAAawC,EAAmBxC,IAGlC,OADWP,KAAKM,WAAWC,QAC3B,EACSyC,EACHhD,KAAKqB,cAAcd,GACnBP,KAAKc,cAAcP,EAE3B,aA/EOX,EAAA,IAAAwD,UAJIvD,KAIJD,0GAJF,IAAMyD,EAANxD,EAsFP,MAAMyD,EAAWD,EAAajD"}
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lark-sentry/reporter",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Sentry sdk reporter",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"publishConfig": {
|
|
20
|
+
"access": "public"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"sentry",
|
|
24
|
+
"sdk",
|
|
25
|
+
"reporter"
|
|
26
|
+
],
|
|
27
|
+
"author": "github.com/161043261",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@lark-sentry/constants": "^1.0.0",
|
|
31
|
+
"@lark-sentry/types": "^1.0.0",
|
|
32
|
+
"@lark-sentry/utils": "^1.0.0"
|
|
33
|
+
}
|
|
34
|
+
}
|