unenv
Version:
`unenv` is a framework-agnostic system that allows converting JavaScript code to be platform agnostic and work in any environment including Browsers, Workers, Node.js, or JavaScript runtime.
23 lines (22 loc) • 509 B
JavaScript
const customSymbol = Symbol("customPromisify");
function _promisify(fn) {
if (fn[customSymbol]) {
return fn[customSymbol];
}
return function(...args) {
return new Promise((resolve, reject) => {
try {
fn.call(this, ...args, (err, val) => {
if (err) {
return reject(err);
}
resolve(val);
});
} catch (error) {
reject(error);
}
});
};
}
_promisify.custom = customSymbol;
export const promisify = _promisify;