UNPKG

rewiremock

Version:

Advanced dependency mocking device.

40 lines (33 loc) 1.04 kB
import createPlugin, { YES, PASS, NO } from './_common'; import { inParents } from '../module'; import { getExtensions } from "../constants"; 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; }; export var relativeWipeCheck = function relativeWipeCheck(stubs, moduleName) { if (Object.keys(stubs).some(function (key) { return getExtensions().some(function (ext) { return endsWith(moduleName, trimKey(key + ext)); }); })) { return YES; } }; var fileNameTransformer = function fileNameTransformer(fileName /*, module*/) { return fileName; }; var shouldMock = function shouldMock(mock, request, parent, topModule) { if (mock.flag_directChildOnly === false) { return PASS; } return inParents(parent, topModule) ? PASS : NO; }; var plugin = createPlugin({ fileNameTransformer: fileNameTransformer, shouldMock: shouldMock, name: 'relative' }); export default plugin;