Files
starface-outlook-sync-addin/node_modules/thingies/lib/codeMutex.js
T
Stefan Hacker 37ad745546 first commit
2026-04-03 09:38:48 +02:00

22 lines
551 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.codeMutex = void 0;
/**
* Executes only one instance of give code at a time. If other calls come in in
* parallel, they get resolved to the result of the ongoing execution.
*/
const codeMutex = () => {
let result;
return async (code) => {
if (result)
return result;
try {
return await (result = code());
}
finally {
result = undefined;
}
};
};
exports.codeMutex = codeMutex;