From dcbabe0e013a38cd3217bf968349cb54f0a4cf6c Mon Sep 17 00:00:00 2001 From: Pablo Rey Sobral <45286922+paulusrex@users.noreply.github.com> Date: Mon, 14 Dec 2020 13:51:30 +0100 Subject: [PATCH] fix: check if callback is a function (#54) * fix: check if callback is a function * refactor: add more check points for callback Co-authored-by: Pablo Rey Sobral --- src/main/application/TcfApiV2.js | 13 +++++++++---- src/main/domain/service/EventStatusService.js | 6 +++--- .../infrastructure/controller/TcfApiController.js | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/application/TcfApiV2.js b/src/main/application/TcfApiV2.js index f3d3990..ffbd2c7 100644 --- a/src/main/application/TcfApiV2.js +++ b/src/main/application/TcfApiV2.js @@ -33,11 +33,13 @@ class TcfApiV2 { } getTCData(callback, vendorIds) { - callback(this._getTCDataUseCase.execute({vendorIds}), true) + typeof callback === 'function' && + callback(this._getTCDataUseCase.execute({vendorIds}), true) } ping(callback) { - callback(this._pingUseCase.execute(), true) + typeof callback === 'function' && + callback(this._pingUseCase.execute(), true) } addEventListener(callback) { @@ -51,10 +53,13 @@ class TcfApiV2 { getVendorList(callback, vendorListVersion) { return this._getVendorListUseCase .execute({vendorListVersion}) - .then(vendorList => callback(vendorList, true)) + .then( + vendorList => + typeof callback === 'function' && callback(vendorList, true) + ) .catch(error => { console.log('Error obtaining the vendor list', error) - callback(null, false) + typeof callback === 'function' && callback(null, false) }) } } diff --git a/src/main/domain/service/EventStatusService.js b/src/main/domain/service/EventStatusService.js index 96776b0..d0f5633 100644 --- a/src/main/domain/service/EventStatusService.js +++ b/src/main/domain/service/EventStatusService.js @@ -65,14 +65,14 @@ export class EventStatusService { observer: callback }) } catch (error) { - callback(null, false) + typeof callback === 'function' && callback(null, false) return } const tcData = this._getTCDataUseCase.execute() tcData.listenerId = reference - callback(tcData, true) + typeof callback === 'function' && callback(tcData, true) } removeEventListener({callback, listenerId}) { @@ -80,7 +80,7 @@ export class EventStatusService { eventName: EVENT_STATUS, reference: listenerId }) - callback(success) + typeof callback === 'function' && callback(success) } } diff --git a/src/main/infrastructure/controller/TcfApiController.js b/src/main/infrastructure/controller/TcfApiController.js index c2f4529..527ed22 100644 --- a/src/main/infrastructure/controller/TcfApiController.js +++ b/src/main/infrastructure/controller/TcfApiController.js @@ -24,7 +24,7 @@ class TcfApiController { _reject(callback) { try { - callback(null, false) + typeof callback === 'function' && callback(null, false) } catch (ignored) {} }