graphql-mocks
Version:
Tools for setting up graphql test resolvers
28 lines (26 loc) • 904 B
JavaScript
require('graphql');
var constants = require('../resolver/constants.js');
var createWrapper = require('../resolver/create-wrapper.js');
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.round(Math.random() * (max - min) + min);
}
async function wait(ms) {
return new Promise(resolve => {
setTimeout(resolve, ms);
});
}
function latencyWrapper(latency = 0) {
const finalLatency = Array.isArray(latency) ? getRandomInt(latency[0], latency[1]) : latency;
return createWrapper.createWrapper('latency-wrapper', constants.WrapperFor.ANY, function (originalResolver) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return async function (...args) {
await wait(finalLatency);
return originalResolver(...args);
};
});
}
exports.latencyWrapper = latencyWrapper;
//# sourceMappingURL=latency.js.map
;