react-magnetic-di
Version:
Context driven dependency injection
33 lines (25 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.di = di;
var _constants = require("./constants");
var _context = require("./context");
var _utils = require("./utils");
function di(deps, target) {
// check if babel plugin has been added
if (Array.isArray(deps)) {
// Read context and grab all the dependencies override
// from all Providers in the tree
var _ref = _context.Context._currentValue || {},
_ref$getDependencies = _ref.getDependencies,
getDependencies = _ref$getDependencies === void 0 ? function (v) {
return v;
} : _ref$getDependencies;
return getDependencies(deps, target);
} else {
(0, _utils.warnOnce)("Seems like you are using ".concat(_constants.PACKAGE_NAME, " without Babel plugin. ") + "Please add '".concat(_constants.PACKAGE_NAME, "/babel-plugin' to your Babel config ") + "or import from '".concat(_constants.PACKAGE_NAME, "/macro' if your are using 'babel-plugin-macros'. ") + 'di(...) run as a no-op.');
}
}
/** @deprecated use injectable instead */
di.mock = _utils.mock;