@dioxide-js/silas
Version:
RPC utility for Silas
48 lines (40 loc) • 891 B
JavaScript
import { __require as requireDefer } from './defer.mjs';
var async_1;
var hasRequiredAsync;
function requireAsync () {
if (hasRequiredAsync) return async_1;
hasRequiredAsync = 1;
var defer = requireDefer();
// API
async_1 = async;
/**
* Runs provided callback asynchronously
* even if callback itself is not
*
* @param {function} callback - callback to invoke
* @returns {function} - augmented callback
*/
function async(callback)
{
var isAsync = false;
// check if async happened
defer(function() { isAsync = true; });
return function async_callback(err, result)
{
if (isAsync)
{
callback(err, result);
}
else
{
defer(function nextTick_callback()
{
callback(err, result);
});
}
};
}
return async_1;
}
export { requireAsync as __require };
//# sourceMappingURL=async.mjs.map