@yuno-payments/sdk-event-log 0.3.0-beta.12 → 0.3.0-beta.8
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/cjs/api/__tests__/api.test.js +9 -5
- package/dist/cjs/api/api.d.ts +5 -3
- package/dist/cjs/api/api.js +10 -12
- package/dist/cjs/cron/cron.d.ts +5 -5
- package/dist/cjs/cron/cron.js +16 -26
- package/dist/cjs/cron/cron.test.js +11 -15
- package/dist/cjs/database/database.d.ts +2 -1
- package/dist/cjs/database/database.js +4 -3
- package/dist/cjs/database/database.test.js +2 -2
- package/dist/cjs/database/database.types.d.ts +2 -2
- package/dist/cjs/database/index.d.ts +0 -1
- package/dist/cjs/database/index.js +0 -1
- package/dist/cjs/database/local-storage/local-storage.d.ts +3 -3
- package/dist/cjs/database/local-storage/local-storage.js +9 -32
- package/dist/cjs/database/local-storage/local-storage.test.js +6 -7
- package/dist/cjs/database/memory-storage/memory-storage.d.ts +2 -4
- package/dist/cjs/database/memory-storage/memory-storage.js +5 -10
- package/dist/cjs/database/memory-storage/memory-storage.test.js +2 -2
- package/dist/cjs/index.d.ts +9 -7
- package/dist/cjs/index.js +21 -43
- package/dist/cjs/index.test.js +86 -146
- package/dist/cjs/index.types.d.ts +4 -4
- package/dist/cjs/index.utils.d.ts +1 -2
- package/dist/cjs/index.utils.js +3 -2
- package/dist/esm/api/__tests__/api.test.js +9 -5
- package/dist/esm/api/api.d.ts +5 -3
- package/dist/esm/api/api.js +10 -12
- package/dist/esm/cron/cron.d.ts +5 -5
- package/dist/esm/cron/cron.js +18 -17
- package/dist/esm/cron/cron.test.js +11 -15
- package/dist/esm/database/database.d.ts +2 -1
- package/dist/esm/database/database.js +4 -3
- package/dist/esm/database/database.test.js +2 -2
- package/dist/esm/database/database.types.d.ts +2 -2
- package/dist/esm/database/index.d.ts +0 -1
- package/dist/esm/database/index.js +0 -1
- package/dist/esm/database/local-storage/local-storage.d.ts +3 -3
- package/dist/esm/database/local-storage/local-storage.js +9 -32
- package/dist/esm/database/local-storage/local-storage.test.js +6 -7
- package/dist/esm/database/memory-storage/memory-storage.d.ts +2 -4
- package/dist/esm/database/memory-storage/memory-storage.js +5 -10
- package/dist/esm/database/memory-storage/memory-storage.test.js +2 -2
- package/dist/esm/index.d.ts +9 -7
- package/dist/esm/index.js +21 -32
- package/dist/esm/index.test.js +77 -137
- package/dist/esm/index.types.d.ts +4 -4
- package/dist/esm/index.utils.d.ts +1 -2
- package/dist/esm/index.utils.js +3 -2
- package/package.json +1 -2
|
@@ -10,33 +10,26 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _LocalStorage_instances, _LocalStorage_localStorage, _LocalStorage_databaseName, _LocalStorage_getDatabase
|
|
13
|
+
var _LocalStorage_instances, _LocalStorage_localStorage, _LocalStorage_databaseName, _LocalStorage_getDatabase;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.LocalStorage = void 0;
|
|
16
|
-
const DATABASE_NAME_SPACE = 'YUNO_EVENT_LOGS';
|
|
17
|
-
const DO_NOT_EXIST = -1;
|
|
18
16
|
class LocalStorage {
|
|
19
|
-
constructor(
|
|
17
|
+
constructor() {
|
|
20
18
|
_LocalStorage_instances.add(this);
|
|
21
19
|
_LocalStorage_localStorage.set(this, void 0);
|
|
22
|
-
_LocalStorage_databaseName.set(this,
|
|
20
|
+
_LocalStorage_databaseName.set(this, 'YUNO_EVENT_LOGS');
|
|
23
21
|
__classPrivateFieldSet(this, _LocalStorage_localStorage, window.localStorage, "f");
|
|
24
|
-
__classPrivateFieldSet(this, _LocalStorage_databaseName, `${DATABASE_NAME_SPACE}_${organizationName}`, "f");
|
|
25
22
|
const database = __classPrivateFieldGet(this, _LocalStorage_localStorage, "f").getItem(__classPrivateFieldGet(this, _LocalStorage_databaseName, "f"));
|
|
26
23
|
if (database === null || database === undefined) {
|
|
27
|
-
this.
|
|
24
|
+
__classPrivateFieldGet(this, _LocalStorage_localStorage, "f").setItem(__classPrivateFieldGet(this, _LocalStorage_databaseName, "f"), JSON.stringify([]));
|
|
28
25
|
}
|
|
29
26
|
}
|
|
30
27
|
async reset() {
|
|
31
|
-
__classPrivateFieldGet(this, _LocalStorage_localStorage, "f").setItem(__classPrivateFieldGet(this, _LocalStorage_databaseName, "f"), JSON.stringify(
|
|
28
|
+
__classPrivateFieldGet(this, _LocalStorage_localStorage, "f").setItem(__classPrivateFieldGet(this, _LocalStorage_databaseName, "f"), JSON.stringify([]));
|
|
32
29
|
}
|
|
33
|
-
async setItem(item
|
|
30
|
+
async setItem(item) {
|
|
34
31
|
const database = __classPrivateFieldGet(this, _LocalStorage_instances, "m", _LocalStorage_getDatabase).call(this);
|
|
35
|
-
|
|
36
|
-
database[publicApiKey] = [];
|
|
37
|
-
}
|
|
38
|
-
database[publicApiKey].push(item);
|
|
39
|
-
__classPrivateFieldGet(this, _LocalStorage_localStorage, "f").setItem(__classPrivateFieldGet(this, _LocalStorage_databaseName, "f"), __classPrivateFieldGet(this, _LocalStorage_instances, "m", _LocalStorage_stringify).call(this, database));
|
|
32
|
+
__classPrivateFieldGet(this, _LocalStorage_localStorage, "f").setItem(__classPrivateFieldGet(this, _LocalStorage_databaseName, "f"), JSON.stringify([...database, item]));
|
|
40
33
|
}
|
|
41
34
|
getItem(id) {
|
|
42
35
|
throw new Error('Method not implemented.' + id);
|
|
@@ -45,31 +38,15 @@ class LocalStorage {
|
|
|
45
38
|
throw new Error('Method not implemented.' + id);
|
|
46
39
|
}
|
|
47
40
|
getAllItems() {
|
|
48
|
-
|
|
49
|
-
this.reset();
|
|
50
|
-
return Promise.resolve(database);
|
|
41
|
+
return Promise.resolve(__classPrivateFieldGet(this, _LocalStorage_instances, "m", _LocalStorage_getDatabase).call(this));
|
|
51
42
|
}
|
|
52
43
|
}
|
|
53
44
|
exports.LocalStorage = LocalStorage;
|
|
54
45
|
_LocalStorage_localStorage = new WeakMap(), _LocalStorage_databaseName = new WeakMap(), _LocalStorage_instances = new WeakSet(), _LocalStorage_getDatabase = function _LocalStorage_getDatabase() {
|
|
55
46
|
let database = __classPrivateFieldGet(this, _LocalStorage_localStorage, "f").getItem(__classPrivateFieldGet(this, _LocalStorage_databaseName, "f"));
|
|
56
47
|
if (database === null || database === undefined) {
|
|
57
|
-
database = JSON.stringify(
|
|
48
|
+
database = JSON.stringify([]);
|
|
58
49
|
__classPrivateFieldGet(this, _LocalStorage_localStorage, "f").setItem(__classPrivateFieldGet(this, _LocalStorage_databaseName, "f"), database);
|
|
59
50
|
}
|
|
60
51
|
return JSON.parse(database);
|
|
61
|
-
}, _LocalStorage_stringify = function _LocalStorage_stringify(obj) {
|
|
62
|
-
const cache = [];
|
|
63
|
-
const str = JSON.stringify(obj, function (key, value) {
|
|
64
|
-
if (typeof value === 'object' && value !== null) {
|
|
65
|
-
if (cache.indexOf(value) !== DO_NOT_EXIST) {
|
|
66
|
-
// Circular reference found, discard key
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
// Store value in our collection
|
|
70
|
-
cache.push(value);
|
|
71
|
-
}
|
|
72
|
-
return value;
|
|
73
|
-
});
|
|
74
|
-
return str;
|
|
75
52
|
};
|
|
@@ -12,20 +12,19 @@ const batch = {
|
|
|
12
12
|
describe('LocalStorageDatabase', () => {
|
|
13
13
|
let localStorageDatabase;
|
|
14
14
|
beforeEach(() => {
|
|
15
|
-
localStorageDatabase = new local_storage_1.LocalStorage(
|
|
15
|
+
localStorageDatabase = new local_storage_1.LocalStorage();
|
|
16
16
|
});
|
|
17
17
|
afterEach(() => {
|
|
18
18
|
localStorage.clear();
|
|
19
19
|
});
|
|
20
20
|
it('should set an item in the database', async () => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
expect(database).toEqual({ [testKey]: [batch] });
|
|
21
|
+
await localStorageDatabase.setItem(batch);
|
|
22
|
+
const database = JSON.parse(localStorage.getItem('YUNO_EVENT_LOGS') || '[]');
|
|
23
|
+
expect(database).toContainEqual(batch);
|
|
25
24
|
});
|
|
26
25
|
it('should get an item from the database', async () => {
|
|
27
|
-
localStorage.setItem('
|
|
26
|
+
localStorage.setItem('YUNO_EVENT_LOGS', JSON.stringify([batch]));
|
|
28
27
|
const result = await localStorageDatabase.getAllItems();
|
|
29
|
-
expect(result).toEqual(
|
|
28
|
+
expect(result).toEqual([batch]);
|
|
30
29
|
});
|
|
31
30
|
});
|
|
@@ -4,10 +4,8 @@ export declare class MemoryStorage implements Database {
|
|
|
4
4
|
#private;
|
|
5
5
|
constructor();
|
|
6
6
|
reset(): Promise<void>;
|
|
7
|
-
setItem(item: Batch
|
|
7
|
+
setItem(item: Batch): Promise<void>;
|
|
8
8
|
getItem(id: string): Promise<Batch>;
|
|
9
9
|
removeItem(id: string): Promise<void>;
|
|
10
|
-
getAllItems(): Promise<
|
|
11
|
-
[x: string]: Batch[];
|
|
12
|
-
}>;
|
|
10
|
+
getAllItems(): Promise<Batch[]>;
|
|
13
11
|
}
|
|
@@ -16,16 +16,13 @@ exports.MemoryStorage = void 0;
|
|
|
16
16
|
class MemoryStorage {
|
|
17
17
|
constructor() {
|
|
18
18
|
_MemoryStorage_items.set(this, void 0);
|
|
19
|
-
__classPrivateFieldSet(this, _MemoryStorage_items,
|
|
19
|
+
__classPrivateFieldSet(this, _MemoryStorage_items, [], "f");
|
|
20
20
|
}
|
|
21
21
|
async reset() {
|
|
22
|
-
__classPrivateFieldSet(this, _MemoryStorage_items,
|
|
22
|
+
__classPrivateFieldSet(this, _MemoryStorage_items, [], "f");
|
|
23
23
|
}
|
|
24
|
-
async setItem(item
|
|
25
|
-
|
|
26
|
-
__classPrivateFieldGet(this, _MemoryStorage_items, "f")[publicApiKey] = [];
|
|
27
|
-
}
|
|
28
|
-
__classPrivateFieldGet(this, _MemoryStorage_items, "f")[publicApiKey].push(item);
|
|
24
|
+
async setItem(item) {
|
|
25
|
+
__classPrivateFieldGet(this, _MemoryStorage_items, "f").push(item);
|
|
29
26
|
}
|
|
30
27
|
getItem(id) {
|
|
31
28
|
throw new Error('Method not implemented.' + id);
|
|
@@ -34,9 +31,7 @@ class MemoryStorage {
|
|
|
34
31
|
throw new Error('Method not implemented.' + id);
|
|
35
32
|
}
|
|
36
33
|
getAllItems() {
|
|
37
|
-
|
|
38
|
-
this.reset();
|
|
39
|
-
return Promise.resolve(items);
|
|
34
|
+
return Promise.resolve(__classPrivateFieldGet(this, _MemoryStorage_items, "f"));
|
|
40
35
|
}
|
|
41
36
|
}
|
|
42
37
|
exports.MemoryStorage = MemoryStorage;
|
|
@@ -18,8 +18,8 @@ describe('MemoryStorage', () => {
|
|
|
18
18
|
memoryStorage.reset();
|
|
19
19
|
});
|
|
20
20
|
it('should set an item in the database', async () => {
|
|
21
|
-
await memoryStorage.setItem(batch
|
|
21
|
+
await memoryStorage.setItem(batch);
|
|
22
22
|
const database = await memoryStorage.getAllItems();
|
|
23
|
-
expect(database).toEqual(
|
|
23
|
+
expect(database).toEqual([batch]);
|
|
24
24
|
});
|
|
25
25
|
});
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { InitArgs } from './index.types';
|
|
2
|
+
import './database';
|
|
2
3
|
import { Event, Log } from './types';
|
|
3
|
-
|
|
4
|
+
declare class EventLog {
|
|
4
5
|
#private;
|
|
5
|
-
|
|
6
|
-
event(eventArgs: Omit<Event, 'type'
|
|
6
|
+
init({ publicApiKey, platform, batchTime, enableEvents, enableLogs, debug }: InitArgs): void;
|
|
7
|
+
event(eventArgs: Omit<Event, 'type'>): Promise<void> | undefined;
|
|
7
8
|
logger: {
|
|
8
|
-
error: (errorArgs: Omit<Log, 'level' | 'type'
|
|
9
|
-
debug: (debugArgs: Omit<Log, 'level' | 'type'
|
|
10
|
-
info: (infoArgs: Omit<Log, 'level' | 'type'
|
|
9
|
+
error: (errorArgs: Omit<Log, 'level' | 'type'>) => Promise<void> | undefined;
|
|
10
|
+
debug: (debugArgs: Omit<Log, 'level' | 'type'>) => Promise<void> | undefined;
|
|
11
|
+
info: (infoArgs: Omit<Log, 'level' | 'type'>) => Promise<void> | undefined;
|
|
11
12
|
};
|
|
12
|
-
sendBatch(): Promise<void>;
|
|
13
13
|
}
|
|
14
|
+
export declare const eventLog: EventLog;
|
|
15
|
+
export {};
|
package/dist/esm/index.js
CHANGED
|
@@ -10,54 +10,43 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _EventLog_enableEvents, _EventLog_enableLogs
|
|
13
|
+
var _EventLog_enableEvents, _EventLog_enableLogs;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.eventLog = void 0;
|
|
16
16
|
const api_1 = require("./api");
|
|
17
|
+
require("./database");
|
|
17
18
|
const cron_1 = require("./cron");
|
|
18
19
|
const types_1 = require("./types");
|
|
19
20
|
const database_1 = require("./database");
|
|
20
21
|
const index_utils_1 = require("./index.utils");
|
|
21
22
|
class EventLog {
|
|
22
|
-
constructor(
|
|
23
|
-
_EventLog_enableEvents.set(this,
|
|
24
|
-
_EventLog_enableLogs.set(this,
|
|
25
|
-
_EventLog_api.set(this, void 0);
|
|
26
|
-
_EventLog_database.set(this, void 0);
|
|
23
|
+
constructor() {
|
|
24
|
+
_EventLog_enableEvents.set(this, false);
|
|
25
|
+
_EventLog_enableLogs.set(this, false);
|
|
27
26
|
this.logger = {
|
|
28
|
-
error: (errorArgs
|
|
29
|
-
return (0, index_utils_1.setLog)(errorArgs, types_1.Level.ERROR, __classPrivateFieldGet(this, _EventLog_enableLogs, "f")
|
|
27
|
+
error: (errorArgs) => {
|
|
28
|
+
return (0, index_utils_1.setLog)(errorArgs, types_1.Level.ERROR, __classPrivateFieldGet(this, _EventLog_enableLogs, "f"));
|
|
30
29
|
},
|
|
31
|
-
debug: (debugArgs
|
|
32
|
-
return (0, index_utils_1.setLog)(debugArgs, types_1.Level.DEBUG, __classPrivateFieldGet(this, _EventLog_enableLogs, "f")
|
|
33
|
-
},
|
|
34
|
-
info: (infoArgs, publicApiKey) => {
|
|
35
|
-
return (0, index_utils_1.setLog)(infoArgs, types_1.Level.INFO, __classPrivateFieldGet(this, _EventLog_enableLogs, "f"), __classPrivateFieldGet(this, _EventLog_database, "f"), publicApiKey);
|
|
30
|
+
debug: (debugArgs) => {
|
|
31
|
+
return (0, index_utils_1.setLog)(debugArgs, types_1.Level.DEBUG, __classPrivateFieldGet(this, _EventLog_enableLogs, "f"));
|
|
36
32
|
},
|
|
33
|
+
info: (infoArgs) => {
|
|
34
|
+
return (0, index_utils_1.setLog)(infoArgs, types_1.Level.INFO, __classPrivateFieldGet(this, _EventLog_enableLogs, "f"));
|
|
35
|
+
}
|
|
37
36
|
};
|
|
37
|
+
}
|
|
38
|
+
init({ publicApiKey, platform = 'web', batchTime, enableEvents, enableLogs, debug = false }) {
|
|
38
39
|
__classPrivateFieldSet(this, _EventLog_enableEvents, enableEvents, "f");
|
|
39
40
|
__classPrivateFieldSet(this, _EventLog_enableLogs, enableLogs, "f");
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (batchTime) {
|
|
43
|
-
new cron_1.Cron(batchTime, __classPrivateFieldGet(this, _EventLog_api, "f"), __classPrivateFieldGet(this, _EventLog_database, "f"));
|
|
44
|
-
}
|
|
41
|
+
api_1.api.init(publicApiKey, platform, debug);
|
|
42
|
+
cron_1.cron.init(batchTime);
|
|
45
43
|
}
|
|
46
|
-
event(eventArgs
|
|
44
|
+
event(eventArgs) {
|
|
47
45
|
if (!__classPrivateFieldGet(this, _EventLog_enableEvents, "f")) {
|
|
48
46
|
return;
|
|
49
47
|
}
|
|
50
|
-
return
|
|
51
|
-
}
|
|
52
|
-
async sendBatch() {
|
|
53
|
-
const items = await __classPrivateFieldGet(this, _EventLog_database, "f").getAllItems();
|
|
54
|
-
const keys = Object.keys(items);
|
|
55
|
-
if (keys.length) {
|
|
56
|
-
for (const key of keys) {
|
|
57
|
-
__classPrivateFieldGet(this, _EventLog_api, "f").sendBatch(items[key], key);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
48
|
+
return database_1.database.setItem({ ...eventArgs, type: types_1.EventLogType.EVENT });
|
|
60
49
|
}
|
|
61
50
|
}
|
|
62
|
-
|
|
63
|
-
|
|
51
|
+
_EventLog_enableEvents = new WeakMap(), _EventLog_enableLogs = new WeakMap();
|
|
52
|
+
exports.eventLog = new EventLog();
|
package/dist/esm/index.test.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const index_1 = require("./index");
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
4
|
+
const database_1 = require("./database");
|
|
5
|
+
const cron_1 = require("./cron");
|
|
6
|
+
const PUBLIC_API_KEY = 'staging_gAAAAABj-NC2WEf3XA4lHnN6RfGbjETf6qL27jlU7c1tm01ERV-Y-E6ddee1QPyV_CA8cxjVlGy-qDNA2-mqa9msQlTJit-Fmbvv6f2AZdfbFd_CUo1stvixnF4_8MzM_IYVWYz7KK86VfEBvxNpjRCyp7BDef-QzrT1-yqa8HAYTuA1GU3Hjjo=';
|
|
7
7
|
const eventArgs = {
|
|
8
8
|
source: 'test',
|
|
9
9
|
event: 'testEvent',
|
|
@@ -15,152 +15,92 @@ const logArgs = {
|
|
|
15
15
|
url: '',
|
|
16
16
|
method: '',
|
|
17
17
|
country: '',
|
|
18
|
-
original_created_at: new Date().toISOString()
|
|
18
|
+
original_created_at: new Date().toISOString()
|
|
19
19
|
};
|
|
20
|
-
const publicApiKey = 'prod_1';
|
|
21
|
-
let mockInterceptRequest = jest.fn();
|
|
22
|
-
const server = (0, node_1.setupServer)(
|
|
23
|
-
// Describe the requests to mock.
|
|
24
|
-
msw_1.rest.post('https://api.y.uno/v1/sdk/event-log/publish', (req, res, ctx) => {
|
|
25
|
-
mockInterceptRequest(req.body);
|
|
26
|
-
return res(ctx.status(200));
|
|
27
|
-
}));
|
|
28
20
|
describe('EventLog', () => {
|
|
29
|
-
let eventLog;
|
|
30
|
-
beforeAll(() => {
|
|
31
|
-
mockInterceptRequest = jest.fn();
|
|
32
|
-
server.listen();
|
|
33
|
-
});
|
|
34
|
-
// Reset any request handlers that we may add during the tests,
|
|
35
|
-
// so they don't affect other tests.
|
|
36
|
-
afterEach(() => server.resetHandlers());
|
|
37
|
-
// Clean up after the tests are finished.
|
|
38
|
-
afterAll(() => server.close());
|
|
39
21
|
beforeEach(() => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
22
|
+
// Reset the database before each test
|
|
23
|
+
// to ensure a clean slate
|
|
24
|
+
index_1.eventLog.init({
|
|
25
|
+
publicApiKey: PUBLIC_API_KEY,
|
|
26
|
+
batchTime: 500,
|
|
27
|
+
enableEvents: true,
|
|
28
|
+
enableLogs: true,
|
|
43
29
|
});
|
|
30
|
+
database_1.database.reset();
|
|
44
31
|
});
|
|
45
|
-
afterEach(() => {
|
|
46
|
-
|
|
32
|
+
afterEach(async () => {
|
|
33
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
34
|
+
cron_1.cron.stop();
|
|
47
35
|
});
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
expect(mockInterceptRequest).toHaveBeenCalledWith({
|
|
54
|
-
batch: [{ ...eventArgs, type: types_1.EventLogType.EVENT }],
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
it('should not add an event to the database if events are disabled', async () => {
|
|
58
|
-
const publicApiKey = 'testApiKey';
|
|
59
|
-
eventLog = new index_1.EventLog({
|
|
60
|
-
organizationName: 'testOrg',
|
|
61
|
-
enableEvents: false,
|
|
62
|
-
});
|
|
63
|
-
eventLog.event(eventArgs, publicApiKey);
|
|
64
|
-
eventLog.sendBatch();
|
|
65
|
-
await new Promise(process.nextTick);
|
|
66
|
-
expect(mockInterceptRequest).not.toHaveBeenCalled();
|
|
67
|
-
});
|
|
36
|
+
it('should add an event to the database', async () => {
|
|
37
|
+
index_1.eventLog.event(eventArgs);
|
|
38
|
+
const events = await database_1.database.getAllItems();
|
|
39
|
+
expect(events).toHaveLength(1);
|
|
40
|
+
expect(events[0]).toMatchObject(eventArgs);
|
|
68
41
|
});
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
batch: [{ ...logArgs, type: types_1.EventLogType.LOG, level: types_1.Level.ERROR }],
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
it('should not add an error log to the database if logs are disabled', async () => {
|
|
79
|
-
const publicApiKey = 'testApiKey';
|
|
80
|
-
eventLog = new index_1.EventLog({
|
|
81
|
-
organizationName: 'testOrg',
|
|
82
|
-
enableEvents: true,
|
|
83
|
-
enableLogs: false,
|
|
84
|
-
debug: false,
|
|
85
|
-
});
|
|
86
|
-
eventLog.logger.error(logArgs, publicApiKey);
|
|
87
|
-
eventLog.sendBatch();
|
|
88
|
-
await new Promise(process.nextTick);
|
|
89
|
-
expect(mockInterceptRequest).not.toHaveBeenCalled();
|
|
90
|
-
});
|
|
91
|
-
it('should add a debug log to the database if logs are enabled', async () => {
|
|
92
|
-
eventLog.logger.debug(logArgs, publicApiKey);
|
|
93
|
-
eventLog.sendBatch();
|
|
94
|
-
await new Promise(process.nextTick);
|
|
95
|
-
expect(mockInterceptRequest).toHaveBeenCalledWith({
|
|
96
|
-
batch: [{ ...logArgs, type: types_1.EventLogType.LOG, level: types_1.Level.DEBUG }],
|
|
97
|
-
});
|
|
42
|
+
it('should not add an event to the database if events are disabled', async () => {
|
|
43
|
+
index_1.eventLog.init({
|
|
44
|
+
publicApiKey: PUBLIC_API_KEY,
|
|
45
|
+
batchTime: 1000,
|
|
46
|
+
enableEvents: false,
|
|
47
|
+
enableLogs: true,
|
|
98
48
|
});
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
expect(mockInterceptRequest).toHaveBeenCalledWith({
|
|
118
|
-
batch: [{ ...logArgs, type: types_1.EventLogType.LOG, level: types_1.Level.INFO }],
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
it('should not add an info log to the database if logs are disabled', async () => {
|
|
122
|
-
eventLog = new index_1.EventLog({
|
|
123
|
-
organizationName: 'testOrg',
|
|
124
|
-
platform: 'web',
|
|
125
|
-
enableEvents: true,
|
|
126
|
-
enableLogs: false,
|
|
127
|
-
debug: false,
|
|
128
|
-
});
|
|
129
|
-
eventLog.sendBatch();
|
|
130
|
-
await new Promise(process.nextTick);
|
|
131
|
-
expect(mockInterceptRequest).not.toHaveBeenCalled();
|
|
49
|
+
index_1.eventLog.event(eventArgs);
|
|
50
|
+
const events = await database_1.database.getAllItems();
|
|
51
|
+
expect(events).toHaveLength(0);
|
|
52
|
+
});
|
|
53
|
+
it('should log an error', async () => {
|
|
54
|
+
index_1.eventLog.logger.error(logArgs);
|
|
55
|
+
index_1.eventLog.logger.error(logArgs);
|
|
56
|
+
const events = await database_1.database.getAllItems();
|
|
57
|
+
expect(events).toHaveLength(2);
|
|
58
|
+
expect(events[0]).toMatchObject(logArgs);
|
|
59
|
+
expect(events[1]).toMatchObject(logArgs);
|
|
60
|
+
});
|
|
61
|
+
it('should not log an error if logs are disabled', async () => {
|
|
62
|
+
index_1.eventLog.init({
|
|
63
|
+
publicApiKey: PUBLIC_API_KEY,
|
|
64
|
+
batchTime: 1000,
|
|
65
|
+
enableEvents: false,
|
|
66
|
+
enableLogs: false,
|
|
132
67
|
});
|
|
68
|
+
index_1.eventLog.logger.error(logArgs);
|
|
69
|
+
const events = await database_1.database.getAllItems();
|
|
70
|
+
expect(events).toHaveLength(0);
|
|
71
|
+
});
|
|
72
|
+
it('should log a debug message', async () => {
|
|
73
|
+
index_1.eventLog.logger.debug(logArgs);
|
|
74
|
+
const events = await database_1.database.getAllItems();
|
|
75
|
+
expect(events).toHaveLength(1);
|
|
76
|
+
expect(events[0]).toMatchObject(logArgs);
|
|
133
77
|
});
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
78
|
+
it('should not log a debug message if logs are disabled', async () => {
|
|
79
|
+
index_1.eventLog.init({
|
|
80
|
+
publicApiKey: PUBLIC_API_KEY,
|
|
81
|
+
batchTime: 1000,
|
|
82
|
+
enableEvents: false,
|
|
83
|
+
enableLogs: false,
|
|
139
84
|
});
|
|
85
|
+
index_1.eventLog.logger.debug(logArgs);
|
|
86
|
+
const events = await database_1.database.getAllItems();
|
|
87
|
+
expect(events).toHaveLength(0);
|
|
88
|
+
});
|
|
89
|
+
it('should log an info message', async () => {
|
|
90
|
+
index_1.eventLog.logger.info(logArgs);
|
|
91
|
+
const events = await database_1.database.getAllItems();
|
|
92
|
+
expect(events).toHaveLength(1);
|
|
93
|
+
expect(events[0]).toMatchObject(logArgs);
|
|
140
94
|
});
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
enableEvents: true,
|
|
148
|
-
enableLogs: true,
|
|
149
|
-
debug: false,
|
|
150
|
-
});
|
|
151
|
-
await eventLog.event(eventArgs, publicApiKey);
|
|
152
|
-
await eventLog.logger.error(logArgs, publicApiKey);
|
|
153
|
-
await eventLog.logger.debug(logArgs, publicApiKey);
|
|
154
|
-
await eventLog.logger.info(logArgs, publicApiKey);
|
|
155
|
-
await new Promise((resolve) => setTimeout(resolve, 1200));
|
|
156
|
-
expect(mockInterceptRequest).toHaveBeenCalledWith({
|
|
157
|
-
batch: [
|
|
158
|
-
{ ...eventArgs, type: types_1.EventLogType.EVENT },
|
|
159
|
-
{ ...logArgs, type: types_1.EventLogType.LOG, level: types_1.Level.ERROR },
|
|
160
|
-
{ ...logArgs, type: types_1.EventLogType.LOG, level: types_1.Level.DEBUG },
|
|
161
|
-
{ ...logArgs, type: types_1.EventLogType.LOG, level: types_1.Level.INFO },
|
|
162
|
-
],
|
|
163
|
-
});
|
|
95
|
+
it('should not log an info message if logs are disabled', async () => {
|
|
96
|
+
index_1.eventLog.init({
|
|
97
|
+
publicApiKey: PUBLIC_API_KEY,
|
|
98
|
+
batchTime: 1000,
|
|
99
|
+
enableEvents: false,
|
|
100
|
+
enableLogs: false,
|
|
164
101
|
});
|
|
102
|
+
index_1.eventLog.logger.info(logArgs);
|
|
103
|
+
const events = await database_1.database.getAllItems();
|
|
104
|
+
expect(events).toHaveLength(0);
|
|
165
105
|
});
|
|
166
106
|
});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export type InitArgs = {
|
|
2
|
-
|
|
3
|
-
batchTime
|
|
4
|
-
enableEvents
|
|
5
|
-
enableLogs
|
|
2
|
+
publicApiKey: string;
|
|
3
|
+
batchTime: number;
|
|
4
|
+
enableEvents: boolean;
|
|
5
|
+
enableLogs: boolean;
|
|
6
6
|
platform?: string;
|
|
7
7
|
debug?: boolean;
|
|
8
8
|
};
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { Database } from './database';
|
|
2
1
|
import { Level, Log } from './types';
|
|
3
|
-
export declare function setLog(logArgs: Omit<Log, 'level' | 'type'>, level: Level, enableLog: boolean
|
|
2
|
+
export declare function setLog(logArgs: Omit<Log, 'level' | 'type'>, level: Level, enableLog: boolean): Promise<void> | undefined;
|
package/dist/esm/index.utils.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setLog = void 0;
|
|
4
|
+
const database_1 = require("./database");
|
|
4
5
|
const types_1 = require("./types");
|
|
5
|
-
function setLog(logArgs, level, enableLog
|
|
6
|
+
function setLog(logArgs, level, enableLog) {
|
|
6
7
|
if (!enableLog) {
|
|
7
8
|
return;
|
|
8
9
|
}
|
|
9
|
-
return database.setItem({ ...logArgs, level, type: types_1.EventLogType.LOG }
|
|
10
|
+
return database_1.database.setItem({ ...logArgs, level, type: types_1.EventLogType.LOG });
|
|
10
11
|
}
|
|
11
12
|
exports.setLog = setLog;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yuno-payments/sdk-event-log",
|
|
3
|
-
"version": "0.3.0-beta.
|
|
3
|
+
"version": "0.3.0-beta.8",
|
|
4
4
|
"description": "Register application logs and events",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
"install": "^0.13.0",
|
|
40
40
|
"jest": "^29.6.4",
|
|
41
41
|
"jest-environment-jsdom": "^29.6.4",
|
|
42
|
-
"msw": "^1.3.0",
|
|
43
42
|
"nock": "^13.3.3",
|
|
44
43
|
"npm": "^10.0.0",
|
|
45
44
|
"rimraf": "^5.0.1",
|