Lightcord/modules/discord_dispatch/index.js

25 lines
650 B
JavaScript
Raw Normal View History

2020-09-05 22:50:45 +02:00
const {Dispatch: DispatchNative} = require('./discord_dispatch_'+process.platform+'.node');
let lastState = null;
2020-09-05 22:50:45 +02:00
function dispatchConstructor(jsonConfigString, updateCallback, errorCallback, analyticsCallback) {
const instance = new DispatchNative(
jsonConfigString,
(state) => {
lastState = JSON.parse(state);
updateCallback(state);
},
errorCallback,
analyticsCallback
);
2020-09-05 22:50:45 +02:00
return {
command: instance.command.bind(instance),
destroy: (...args) => {
instance.destroy(...args);
lastState = null;
},
2020-09-05 22:50:45 +02:00
};
}
module.exports = {Dispatch: dispatchConstructor, getLastState: () => lastState};