chore: make /packages/medusa/src/services/event-bus.js pass linting (#575)

This commit is contained in:
Alok Kumar Sahoo authored and GitHub committed 2021-10-29 11:05:23 +02:00
1 parent dc8821095c
commit 6c50d4ddfd
3 files changed
+20 -17

No files matched your search

-1
View File
@@ -1,7 +1,6 @@
# FILES TODO # FILES TODO
/packages/medusa/src/services/cart.js /packages/medusa/src/services/cart.js
/packages/medusa/src/services/event-bus.js
/packages/medusa/src/services/fulfillment-provider.js /packages/medusa/src/services/fulfillment-provider.js
/packages/medusa/src/services/middleware.js /packages/medusa/src/services/middleware.js
/packages/medusa/src/services/payment-provider.js /packages/medusa/src/services/payment-provider.js
+1
View File
@@ -16,6 +16,7 @@ module.exports = {
semi: `off`, semi: `off`,
"no-unused-expressions": `off`, "no-unused-expressions": `off`,
camelcase: `off`, camelcase: `off`,
"no-invalid-this": `off`,
}, },
env: { env: {
es6: true, es6: true,
+19 -16
View File
@@ -4,7 +4,7 @@ import Redis from "ioredis"
/** /**
* Can keep track of multiple subscribers to different events and run the * Can keep track of multiple subscribers to different events and run the
* subscribers when events happen. Events will run asynchronously. * subscribers when events happen. Events will run asynchronously.
* @interface * @class
*/ */
class EventBusService { class EventBusService {
constructor( constructor(
@@ -13,7 +13,7 @@ class EventBusService {
singleton = true singleton = true
) { ) {
const opts = { const opts = {
createClient: type => { createClient: (type) => {
switch (type) { switch (type) {
case "client": case "client":
return redisClient return redisClient
@@ -127,7 +127,10 @@ class EventBusService {
} }
/** /**
* * Adds a function to a list of event subscribers.
* @param {string} event - the event that the subscriber will listen for.
* @param {func} subscriber - the function to be called when a certain event
* happens. Subscribers must return a Promise.
*/ */
registerCronHandler_(event, subscriber) { registerCronHandler_(event, subscriber) {
if (typeof subscriber !== "function") { if (typeof subscriber !== "function") {
@@ -165,7 +168,7 @@ class EventBusService {
} }
async sleep(ms) { async sleep(ms) {
return new Promise(resolve => { return new Promise((resolve) => {
setTimeout(resolve, ms) setTimeout(resolve, ms)
}) })
} }
@@ -194,7 +197,7 @@ class EventBusService {
const jobs = await sjRepo.find({}, listConfig) const jobs = await sjRepo.find({}, listConfig)
await Promise.all( await Promise.all(
jobs.map(job => { jobs.map((job) => {
this.queue_ this.queue_
.add( .add(
{ eventName: job.event_name, data: job.data }, { eventName: job.event_name, data: job.data },
@@ -212,13 +215,13 @@ class EventBusService {
/** /**
* Handles incoming jobs. * Handles incoming jobs.
* @param job {{ eventName: (string), data: (any) }} * @param {Object} job The job object
* eventName - the name of the event to process * @param {string} job.eventName The name of the event to process
* data - data to send to the subscriber * @param {any} job.data Data to send to the subscriber
* *
* @returns {Promise} resolves to the results of the subscriber calls. * @return {Promise} resolves to the results of the subscriber calls.
*/ */
worker_ = job => { worker_ = (job) => {
const { eventName, data } = job.data const { eventName, data } = job.data
const eventObservers = this.observers_[eventName] || [] const eventObservers = this.observers_[eventName] || []
const wildcardObservers = this.observers_["*"] || [] const wildcardObservers = this.observers_["*"] || []
@@ -230,8 +233,8 @@ class EventBusService {
) )
return Promise.all( return Promise.all(
observers.map(subscriber => { observers.map((subscriber) => {
return subscriber(data, eventName).catch(err => { return subscriber(data, eventName).catch((err) => {
this.logger_.warn( this.logger_.warn(
`An error occured while processing ${eventName}: ${err}` `An error occured while processing ${eventName}: ${err}`
) )
@@ -242,14 +245,14 @@ class EventBusService {
) )
} }
cronWorker_ = job => { cronWorker_ = (job) => {
const { eventName, data } = job.data const { eventName, data } = job.data
const observers = this.cronHandlers_[eventName] || [] const observers = this.cronHandlers_[eventName] || []
this.logger_.info(`Processing cron job: ${eventName}`) this.logger_.info(`Processing cron job: ${eventName}`)
return Promise.all( return Promise.all(
observers.map(subscriber => { observers.map((subscriber) => {
return subscriber(data, eventName).catch(err => { return subscriber(data, eventName).catch((err) => {
this.logger_.warn( this.logger_.warn(
`An error occured while processing ${eventName}: ${err}` `An error occured while processing ${eventName}: ${err}`
) )
@@ -265,7 +268,7 @@ class EventBusService {
* @param {object} data - the data to be sent with the event * @param {object} data - the data to be sent with the event
* @param {string} cron - the cron pattern * @param {string} cron - the cron pattern
* @param {function} handler - the handler to call on each cron job * @param {function} handler - the handler to call on each cron job
* @return void * @return {void}
*/ */
createCronJob(eventName, data, cron, handler) { createCronJob(eventName, data, cron, handler) {
this.logger_.info(`Registering ${eventName}`) this.logger_.info(`Registering ${eventName}`)