ray-logger-report 0.0.3 → 0.0.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/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +13 -9
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/types.d.ts +2 -2
- package/types.d.ts.map +1 -1
- package/types.js +9 -0
- package/types.js.map +1 -0
- package/utils.d.ts +4 -3
- 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;AAiBjB,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/index.js
CHANGED
|
@@ -9,6 +9,7 @@ class UploadError extends Error {
|
|
|
9
9
|
|
|
10
10
|
const REPORT_PATH = '/api/report/logs';
|
|
11
11
|
const MAX_USER_AGENT_LENGTH = 200;
|
|
12
|
+
const MAX_USER_ID_LENGTH = 500;
|
|
12
13
|
function resolveGlobalFetch() {
|
|
13
14
|
if (typeof globalThis.fetch !== 'function') {
|
|
14
15
|
throw new UploadError('No fetch implementation is available. Pass fetchImpl to UploadManager.');
|
|
@@ -21,6 +22,12 @@ function resolveUserAgent() {
|
|
|
21
22
|
function normalizeUserAgent(userAgent) {
|
|
22
23
|
return userAgent.slice(0, MAX_USER_AGENT_LENGTH);
|
|
23
24
|
}
|
|
25
|
+
function normalizeUserId(userId) {
|
|
26
|
+
if (typeof userId === 'number') {
|
|
27
|
+
assertFiniteNumber(userId, 'userId');
|
|
28
|
+
}
|
|
29
|
+
return String(userId);
|
|
30
|
+
}
|
|
24
31
|
function normalizeBaseUrl(baseUrl) {
|
|
25
32
|
return baseUrl.replace(/\/+$/u, '');
|
|
26
33
|
}
|
|
@@ -30,20 +37,17 @@ function assertFiniteNumber(value, name) {
|
|
|
30
37
|
}
|
|
31
38
|
}
|
|
32
39
|
function validateMetadata(metadata) {
|
|
33
|
-
|
|
34
|
-
if (
|
|
35
|
-
throw new UploadError(
|
|
40
|
+
const userId = normalizeUserId(metadata.userId);
|
|
41
|
+
if (userId.length > MAX_USER_ID_LENGTH) {
|
|
42
|
+
throw new UploadError(`userId must be at most ${MAX_USER_ID_LENGTH} characters.`);
|
|
36
43
|
}
|
|
37
44
|
if (typeof metadata.remark !== 'string') {
|
|
38
45
|
throw new UploadError('remark must be a string.');
|
|
39
46
|
}
|
|
40
|
-
if (
|
|
41
|
-
throw new UploadError('businessLine
|
|
47
|
+
if (typeof metadata.businessLine !== 'string') {
|
|
48
|
+
throw new UploadError('businessLine must be a string.');
|
|
42
49
|
}
|
|
43
50
|
}
|
|
44
|
-
function isUploadBusinessLine(value) {
|
|
45
|
-
return value === 'renderbus' || value === 'fox' || value === 'pixmax' || value === 'qingjiao';
|
|
46
|
-
}
|
|
47
51
|
async function formatHttpError(response) {
|
|
48
52
|
const text = await response.text().catch(() => '');
|
|
49
53
|
const suffix = text ? `: ${text.slice(0, 500)}` : '';
|
|
@@ -123,7 +127,7 @@ class UploadManager {
|
|
|
123
127
|
const formData = new FormData();
|
|
124
128
|
formData.set('file', createSessionFile(session), createSessionFileName(session, kind));
|
|
125
129
|
formData.set('remark', metadata.remark);
|
|
126
|
-
formData.set('userId',
|
|
130
|
+
formData.set('userId', normalizeUserId(metadata.userId));
|
|
127
131
|
formData.set('userAgent', this.#userAgent);
|
|
128
132
|
formData.set('businessLine', metadata.businessLine);
|
|
129
133
|
return formData;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/types.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"AAiBM,MAAO,WAAY,SAAQ,KAAK,CAAA;AAGzB,IAAA,MAAA;IAFX,WAAA,CACE,OAAe,EACN,MAAe,EAAA;QAExB,KAAK,CAAC,OAAO,CAAC;QAFL,IAAA,CAAA,MAAM,GAAN,MAAM;AAGf,QAAA,IAAI,CAAC,IAAI,GAAG,aAAa;IAC3B;AACD;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/types.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ray-logger-report",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
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.5"
|
|
17
17
|
}
|
|
18
18
|
}
|
package/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type UploadEnvironment = 'test' | 'prod';
|
|
2
|
-
export type UploadBusinessLine =
|
|
2
|
+
export type UploadBusinessLine = string;
|
|
3
3
|
export interface UploadLogMetadata {
|
|
4
|
-
userId: number;
|
|
4
|
+
userId: string | number;
|
|
5
5
|
remark: string;
|
|
6
6
|
businessLine: UploadBusinessLine;
|
|
7
7
|
}
|
package/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,qBAAa,WAAY,SAAQ,KAAK;IAGlC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;gBADxB,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA;CAK3B"}
|
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,14 +1,15 @@
|
|
|
1
|
-
import type { SessionExport } from '
|
|
2
|
-
import { type
|
|
1
|
+
import type { SessionExport } from 'ray-logger-core';
|
|
2
|
+
import { 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;
|
|
5
|
+
export declare const MAX_USER_ID_LENGTH = 500;
|
|
5
6
|
export declare function resolveGlobalFetch(): typeof fetch;
|
|
6
7
|
export declare function resolveUserAgent(): string;
|
|
7
8
|
export declare function normalizeUserAgent(userAgent: string): string;
|
|
9
|
+
export declare function normalizeUserId(userId: string | number): string;
|
|
8
10
|
export declare function normalizeBaseUrl(baseUrl: string): string;
|
|
9
11
|
export declare function assertFiniteNumber(value: number, name: string): void;
|
|
10
12
|
export declare function validateMetadata(metadata: UploadLogMetadata): void;
|
|
11
|
-
export declare function isUploadBusinessLine(value: string): value is UploadBusinessLine;
|
|
12
13
|
export declare function formatHttpError(response: Response): Promise<string>;
|
|
13
14
|
export declare function isUploadResult(value: unknown): value is UploadResult;
|
|
14
15
|
export declare function normalizeUploadResult(value: unknown): UploadResult | null;
|
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,EAAe,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjF,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,wBAAgB,kBAAkB,IAAI,OAAO,KAAK,CAMjD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAM/D;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;AACD,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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"}
|