Move middleware utils into server/utils

This commit is contained in:
Michael Jackson
2018-05-21 13:26:00 -07:00
parent 269b756aeb
commit c792515d01
14 changed files with 59 additions and 40 deletions

View File

@ -0,0 +1,21 @@
function createMutex(doWork) {
const mutex = Object.create(null);
return (key, payload, callback) => {
if (mutex[key]) {
mutex[key].push(callback);
} else {
mutex[key] = [callback];
doWork(payload, (error, value) => {
mutex[key].forEach(callback => {
callback(error, value);
});
delete mutex[key];
});
}
};
}
module.exports = createMutex;