File: //proc/1526/task/1533/cwd/tana/frontend/node_modules/lazy-req/index.js
'use strict';
module.exports = function (fn) {
	return function (id) {
		var mod;
		return function () {
			if (!arguments.length) {
				mod = lazy(mod, fn, id);
				return mod;
			}
			var ret = {};
			[].forEach.call(arguments, function (prop) {
				Object.defineProperty(ret, prop, {
					get: function () {
						mod = lazy(mod, fn, id);
						if (typeof mod[prop] === 'function') {
							return function () {
								return mod[prop].apply(mod, arguments);
							};
						}
						return mod[prop];
					}
				});
			});
			return ret;
		};
	};
	function lazy(mod, fn, id) {
		return mod !== undefined ? mod : fn(id);
	}
};