UNPKG

rewiremock

Version:

Advanced dependency mocking device.

57 lines (42 loc) 1.49 kB
'use strict'; 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;