apim-tools
Version:
APIM Tools
54 lines (47 loc) • 1.2 kB
JavaScript
/**
* @file JS mock 数据预处理器
* @author sparklewhy@gmail.com
*/
;
module.exports = exports = function (mockFile, options, context) {
try {
let mockPath = mockFile.path;
delete require.cache[require.resolve(mockPath)];
let mockObj = require(mockPath);
let mockHandler = mockObj;
if (typeof mockHandler !== 'function' && mockHandler) {
mockHandler = mockHandler[context.method];
}
if (typeof mockHandler === 'function') {
let {
method,
pathname,
query,
path,
params,
body,
url,
req,
res
} = context;
mockObj = mockHandler({
method,
pathname,
query,
path,
params,
body,
url,
req,
res
});
}
else {
mockObj = mockHandler;
}
return Promise.resolve(mockObj);
}
catch (e) {
return Promise.reject(e);
}
};