ray-logger-report 0.0.3 → 0.0.4
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/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/types.js +9 -0
- package/types.js.map +1 -0
- package/utils.d.ts +1 -1
- package/utils.d.ts.map +1 -1
- package/utils.js +71 -0
- package/utils.js.map +1 -0
package/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WebLoggerController } from '
|
|
1
|
+
import type { WebLoggerController } from 'ray-logger-core';
|
|
2
2
|
import type { UploadEnvironment, UploadLogMetadata, UploadResult, UploadSinceOptions } from './types';
|
|
3
3
|
export type { UploadBusinessLine, UploadEnvironment, UploadLogMetadata, UploadResult, UploadSinceOptions, } from './types';
|
|
4
4
|
export { UploadError } from './types';
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAgBjB,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,iBAAiB,CAAC;IACvB,UAAU,EAAE,mBAAmB,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAOD,qBAAa,aAAa;;gBAOZ,OAAO,EAAE,oBAAoB;IAQnC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAM/D,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAiDnE,IAAI,GAAG,IAAI,iBAAiB,CAE3B;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ray-logger-report",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "web-logger: upload SessionExport JSON to report API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"
|
|
16
|
+
"ray-logger-core": "0.0.4"
|
|
17
17
|
}
|
|
18
18
|
}
|
package/types.js
ADDED
package/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAiBA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGzB;IAFX,YACE,OAAe,EACN,MAAe;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,WAAM,GAAN,MAAM,CAAS;QAGxB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF"}
|
package/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SessionExport } from '
|
|
1
|
+
import type { SessionExport } from 'ray-logger-core';
|
|
2
2
|
import { type UploadBusinessLine, type UploadLogMetadata, type UploadResult } from './types';
|
|
3
3
|
export declare const REPORT_PATH = "/api/report/logs";
|
|
4
4
|
export declare const MAX_USER_AGENT_LENGTH = 200;
|
package/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,wBAAgB,kBAAkB,IAAI,OAAO,KAAK,CAMjD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIpE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAclE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,kBAAkB,CAE/E;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAOpE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAezE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAE9D;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAE5F"}
|
package/utils.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { UploadError, } from './types';
|
|
2
|
+
export const REPORT_PATH = '/api/report/logs';
|
|
3
|
+
export const MAX_USER_AGENT_LENGTH = 200;
|
|
4
|
+
export function resolveGlobalFetch() {
|
|
5
|
+
if (typeof globalThis.fetch !== 'function') {
|
|
6
|
+
throw new UploadError('No fetch implementation is available. Pass fetchImpl to UploadManager.');
|
|
7
|
+
}
|
|
8
|
+
return globalThis.fetch.bind(globalThis);
|
|
9
|
+
}
|
|
10
|
+
export function resolveUserAgent() {
|
|
11
|
+
return globalThis.navigator?.userAgent ?? '';
|
|
12
|
+
}
|
|
13
|
+
export function normalizeUserAgent(userAgent) {
|
|
14
|
+
return userAgent.slice(0, MAX_USER_AGENT_LENGTH);
|
|
15
|
+
}
|
|
16
|
+
export function normalizeBaseUrl(baseUrl) {
|
|
17
|
+
return baseUrl.replace(/\/+$/u, '');
|
|
18
|
+
}
|
|
19
|
+
export function assertFiniteNumber(value, name) {
|
|
20
|
+
if (!Number.isFinite(value)) {
|
|
21
|
+
throw new UploadError(`${name} must be a finite number.`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function validateMetadata(metadata) {
|
|
25
|
+
assertFiniteNumber(metadata.userId, 'userId');
|
|
26
|
+
if (!Number.isInteger(metadata.userId)) {
|
|
27
|
+
throw new UploadError('userId must be an integer.');
|
|
28
|
+
}
|
|
29
|
+
if (typeof metadata.remark !== 'string') {
|
|
30
|
+
throw new UploadError('remark must be a string.');
|
|
31
|
+
}
|
|
32
|
+
if (!isUploadBusinessLine(metadata.businessLine)) {
|
|
33
|
+
throw new UploadError('businessLine is invalid.');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export function isUploadBusinessLine(value) {
|
|
37
|
+
return value === 'renderbus' || value === 'fox' || value === 'pixmax' || value === 'qingjiao';
|
|
38
|
+
}
|
|
39
|
+
export async function formatHttpError(response) {
|
|
40
|
+
const text = await response.text().catch(() => '');
|
|
41
|
+
const suffix = text ? `: ${text.slice(0, 500)}` : '';
|
|
42
|
+
return `Upload failed with HTTP ${response.status}${suffix}`;
|
|
43
|
+
}
|
|
44
|
+
export function isUploadResult(value) {
|
|
45
|
+
return (typeof value === 'object' &&
|
|
46
|
+
value !== null &&
|
|
47
|
+
'id' in value &&
|
|
48
|
+
typeof value.id === 'number');
|
|
49
|
+
}
|
|
50
|
+
export function normalizeUploadResult(value) {
|
|
51
|
+
if (isUploadResult(value)) {
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
if (typeof value === 'object' &&
|
|
55
|
+
value !== null &&
|
|
56
|
+
'data' in value &&
|
|
57
|
+
isUploadResult(value.data)) {
|
|
58
|
+
return value.data;
|
|
59
|
+
}
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
export function safeFilePart(value) {
|
|
63
|
+
return value.replace(/[^a-zA-Z0-9_-]/gu, '_') || 'session';
|
|
64
|
+
}
|
|
65
|
+
export function createSessionFile(session) {
|
|
66
|
+
return new Blob([JSON.stringify(session)], { type: 'application/json' });
|
|
67
|
+
}
|
|
68
|
+
export function createSessionFileName(session, kind) {
|
|
69
|
+
return `web-logger-${kind}-${safeFilePart(session.sessionId)}-${Date.now()}.json`;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=utils.js.map
|
package/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|