You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
scheduleOnNextTick: null,
scheduleImmediate: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
scheduleOnNextTick: function() {
return scheduleOnNextTick;
},
scheduleImmediate: function() {
return scheduleImmediate;
}
});
const scheduleOnNextTick = (cb)=>{
// We use Promise.resolve().then() here so that the operation is scheduled at
// the end of the promise job queue, we then add it to the next process tick
// to ensure it's evaluated afterwards.
//
// This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255
//
Promise.resolve().then(()=>{
process.nextTick(cb);
});
};
const scheduleImmediate = (cb)=>{
if (process.env.NEXT_RUNTIME === "edge") {
setTimeout(cb, 0);
} else {
setImmediate(cb);
}
};
//# sourceMappingURL=scheduler.js.map