{"version":3,"sources":["jsdelivr-header.js","/npm/@dwerthen/react-dependency-injection@0.0.3/lib/index.js"],"names":[],"mappings":"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","file":"/npm/@dwerthen/react-dependency-injection@0.0.3/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@dwerthen/react-dependency-injection@0.0.3/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.createDependencyContext = createDependencyContext;\nexports.dependencyContext = exports.useDependency = exports.DependencyProvider = exports.Dependency = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction MetaObject() {}\n\nMetaObject.prototype = new Proxy(MetaObject.prototype, {\n  get: function get(target, property, receiver) {\n    if (Reflect.has(receiver, 'methodMissing')) {\n      var method = receiver.methodMissing(property);\n\n      if (method !== void 0) {\n        Reflect.defineProperty(Reflect.getPrototypeOf(receiver), property, {\n          value: method\n        });\n      }\n\n      return method;\n    }\n  }\n});\n\nfunction createDependencyContext() {\n  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n      _ref$defaultDependenc = _ref.defaultDependencies,\n      defaultDependencies = _ref$defaultDependenc === void 0 ? {} : _ref$defaultDependenc,\n      factory = _ref.factory,\n      _ref$factoryContext = _ref.factoryContext,\n      factoryContext = _ref$factoryContext === void 0 ? {} : _ref$factoryContext,\n      _ref$Fallback = _ref.Fallback,\n      Fallback = _ref$Fallback === void 0 ? function (_ref2) {\n    var name = _ref2.name;\n    return _react[\"default\"].createElement('p', {}, 'This is placeholder for a dependency named ' + name);\n  } : _ref$Fallback;\n\n  var dependencyContext = _react[\"default\"].createContext({\n    dependencies: defaultDependencies\n  });\n\n  var factoryCache = {};\n\n  var DependencyStore =\n  /*#__PURE__*/\n  function (_MetaObject) {\n    _inherits(DependencyStore, _MetaObject);\n\n    function DependencyStore() {\n      _classCallCheck(this, DependencyStore);\n\n      return _possibleConstructorReturn(this, _getPrototypeOf(DependencyStore).apply(this, arguments));\n    }\n\n    _createClass(DependencyStore, [{\n      key: \"methodMissing\",\n      value: function methodMissing(property) {\n        var Component = function Component(props) {\n          var DComponent = useDependency(property);\n\n          if (!DComponent) {\n            return _react[\"default\"].createElement(Fallback, {\n              name: property\n            });\n          }\n\n          return _react[\"default\"].createElement(DComponent, props);\n        };\n\n        Object.defineProperty(Component, 'name', {\n          value: \"Inject(\".concat(property, \")\"),\n          writable: false,\n          enumerable: false,\n          configurable: true\n        });\n        return Component;\n      }\n    }]);\n\n    return DependencyStore;\n  }(MetaObject);\n\n  var Dependency = new DependencyStore();\n\n  function DependencyProvider(_ref3) {\n    var children = _ref3.children,\n        dependencies = _objectWithoutProperties(_ref3, [\"children\"]);\n\n    return _react[\"default\"].createElement(dependencyContext.Provider, {\n      value: {\n        dependencies: dependencies\n      }\n    }, children);\n  }\n\n  function useDependency(name) {\n    var _React$useContext = _react[\"default\"].useContext(dependencyContext),\n        dependencies = _React$useContext.dependencies;\n\n    if (dependencies[name]) {\n      return dependencies[name];\n    }\n\n    if (!factory) {\n      return dependencies[name];\n    }\n\n    if (!factoryCache[name]) {\n      return factoryCache[name] = factory(name, factoryContext);\n    }\n\n    return factoryCache[name];\n  }\n\n  return {\n    Dependency: Dependency,\n    DependencyProvider: DependencyProvider,\n    useDependency: useDependency,\n    dependencyContext: dependencyContext\n  };\n}\n\nvar _createDependencyCont = createDependencyContext(),\n    Dependency = _createDependencyCont.Dependency,\n    DependencyProvider = _createDependencyCont.DependencyProvider,\n    useDependency = _createDependencyCont.useDependency,\n    dependencyContext = _createDependencyCont.dependencyContext;\n\nexports.dependencyContext = dependencyContext;\nexports.useDependency = useDependency;\nexports.DependencyProvider = DependencyProvider;\nexports.Dependency = Dependency;"]}