UNPKG

apim-tools

Version:

APIM Tools

54 lines (47 loc) 1.2 kB
/** * @file JS mock 数据预处理器 * @author sparklewhy@gmail.com */ 'use strict'; 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); } };