rewiremock
Version:
Advanced dependency mocking device.
57 lines (42 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.relativeWipeCheck = undefined;
var _keys = require('babel-runtime/core-js/object/keys');
var _keys2 = _interopRequireDefault(_keys);
var _common = require('./_common');
var _common2 = _interopRequireDefault(_common);
var _module = require('../module');
var _constants = require('../constants');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var trimKey = function trimKey(key) {
return key[0] == '.' ? trimKey(key.substr(1)) : key;
};
var endsWith = function endsWith(a, b) {
return a.substring(a.length - b.length) === b;
};
var relativeWipeCheck = exports.relativeWipeCheck = function relativeWipeCheck(stubs, moduleName) {
if ((0, _keys2.default)(stubs).some(function (key) {
return (0, _constants.getExtensions)().some(function (ext) {
return endsWith(moduleName, trimKey(key + ext));
});
})) {
return _common.YES;
}
};
var fileNameTransformer = function fileNameTransformer(fileName /*, module*/) {
return fileName;
};
var shouldMock = function shouldMock(mock, request, parent, topModule) {
if (mock.flag_directChildOnly === false) {
return _common.PASS;
}
return (0, _module.inParents)(parent, topModule) ? _common.PASS : _common.NO;
};
var plugin = (0, _common2.default)({
fileNameTransformer: fileNameTransformer,
shouldMock: shouldMock,
name: 'relative'
});
exports.default = plugin;