1 | ;
|
2 |
|
3 | module.exports = ({ eventName, event }, { Event }) => {
|
4 | const eventSettings = {
|
5 | name: eventName,
|
6 | };
|
7 |
|
8 | // plain old simple command
|
9 | if (!Array.isArray(event))
|
10 | event = [event];
|
11 |
|
12 | return event.reduce((result, item) => {
|
13 | // command
|
14 | if (typeof item === 'function')
|
15 | result.event = new Event(eventSettings, item);
|
16 |
|
17 | // settings ( exists ? )
|
18 | if (item.settings)
|
19 | Object.assign(eventSettings, item.settings);
|
20 |
|
21 | return result;
|
22 | }, {
|
23 | event: null,
|
24 | });
|
25 | };
|