UNPKG

inversify-react

Version:

Components and decorators to connect react with inversify.

2 lines 6.76 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.InversifyReact=t(require("react")):e.InversifyReact=t(e.React)}("undefined"!=typeof self?self:this,(e=>(()=>{"use strict";var t={896:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useContainer=i,t.useInjection=function(e){return i((function(t){return t.get(e)}))},t.useOptionalInjection=function(e,t){return void 0===t&&(t=function(){}),i((function(r){return r.isBound(e)?r.get(e):t(r)}))},t.useAllInjections=function(e){return i((function(t){return t.getAll(e)}))};var n=r(12),o=r(799);function i(e){var t,r,i=(0,n.useContext)(o.InversifyReactContext);if(!i)throw new Error("Cannot find Inversify container on React Context. `Provider` component is missing in component tree.");return e?(t=function(){return e(i)},(r=(0,n.useRef)(null)).current||(r.current={v:t()}),r.current.v):i}},799:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AdministrationKey=t.InversifyReactContext=void 0,t.ensureAcceptContext=function(e){var t=a(e);if(!t.accepts){var r=e.contextType,i=e.displayName||e.name;if(r)throw new Error("inversify-react cannot configure React context.\n"+"Component `".concat(i,"` already has `").concat(o,": ").concat(r.displayName||"<anonymous context>","` defined.\n")+"@see inversify-react/test/resolve.tsx#limitations for more info and workarounds\n");Object.defineProperty(e,o,{enumerable:!0,get:function(){return n},set:function(e){if(e!==n)throw new Error("Cannot change `".concat(o,"` of `").concat(i,"` component.\n")+"Looks like you are using inversify-react decorators, which have already patched this component and use own context to deliver IoC container.\n@see inversify-react/test/resolve.tsx#limitations for more info and workarounds\n")}}),t.accepts=!0}},t.createProperty=function(e,t,r,n){Object.defineProperty(e,t,{enumerable:!0,get:function(){var e=s(this),o=e.properties[t];if(!o){var i,a=e.container;i=n.isAll?n.isOptional&&!a.isBound(r)?[]:a.getAll(r):n.isOptional?a.isBound(r)?a.get(r):n.defaultValue:a.get(r),o=e.properties[t]=function(){return i}}return o()}});var o=Object.getOwnPropertyDescriptor(e,t);if(!o)throw new Error("Failed to define property");return o},t.getClassAdministration=a,t.getInstanceAdministration=s;var n=(0,r(12).createContext)(void 0);t.InversifyReactContext=n,n.displayName="InversifyReactContext";var o="contextType",i="~$inversify-react";function a(e){var t=e[i];return t||(t={accepts:!1},Object.defineProperty(e,i,{enumerable:!1,writable:!1,value:t})),t}function s(e){var t=e[i];if(!t){var r=e.context;if(!r)throw new Error("Cannot use resolve services without any providers in component tree.");t={container:r,properties:{}},Object.defineProperty(e,i,{enumerable:!1,writable:!1,value:t})}return t}t.AdministrationKey=i},21:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Provider=void 0;var n=r(12),o=r(12),i=r(799),a=function(e){var t=e.children,r=e.container,a=e.standalone,s=void 0!==a&&a,c=(0,o.useState)(r)[0];if("resolve"in r&&r!==c)throw new Error("Changing `container` prop (swapping container in runtime) is not supported.\nIf you're rendering Provider in some list, try adding `key={container.id}` to the Provider.\nMore info on React lists:\nhttps://reactjs.org/docs/lists-and-keys.html#keys\nhttps://reactjs.org/docs/reconciliation.html#recursing-on-children");var u=(0,o.useState)(s)[0];if(s!==u)throw new Error("Changing `standalone` prop is not supported.");var f=(0,o.useContext)(i.InversifyReactContext);return(0,o.useState)((function(){if(!u&&f){if(f===c)throw new Error("Provider has found a parent container (on surrounding React Context), yet somehow it's the same as container specified in props. It doesn't make sense.\nPerhaps you meant to configure Provider as `standalone={true}`?");if(c.parent&&c.parent!==f)throw new Error("Ambiguous containers hierarchy.\nProvider has found a parent for specified `container`, but it already has a different parent.\nLearn more at https://github.com/Kukkimonsuta/inversify-react/blob/v0.5.0/src/provider.tsx");c.parent=f}})),n.createElement(i.InversifyReactContext.Provider,{value:c},t)};t.Provider=a,t.default=a},704:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resolve=void 0;var n=r(799);function o(e,t,r,o){return(0,n.ensureAcceptContext)(e.constructor),(0,n.createProperty)(e,t,r,o)}function i(e,t){if(!t)throw new Error("Decorator `resolve` failed to resolve property name");if(!Reflect||!Reflect.getMetadata)throw new Error("Decorator `resolve` without specifying service identifier requires `reflect-metadata`");var r=Reflect.getMetadata("design:type",e,t);if(!r)throw new Error("Failed to discover property type, is `emitDecoratorMetadata` enabled?");return r}var a=function(e,t,r){if(void 0!==t)return o(e,t,i(e,t),{});var n=e;if(!n)throw new Error("Invalid property type.");return function(e,t,r){return o(e,t,n,{})}};t.resolve=a,a.optional=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if("string"==typeof e[1]&&3===e.length){var r=e[0],n=e[1];return e[2],o(r,n,i(r,n),{isOptional:!0})}var a=e[0],s=e[1];return function(e,t,r){return o(e,t,a,{isOptional:!0,defaultValue:s})}},a.all=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if("string"==typeof e[1]&&3===e.length){var r=e[0],n=e[1];return e[2],o(r,n,i(r,n),{isAll:!0})}var a=e[0];return function(e,t,r){return o(e,t,a,{isAll:!0})}},a.optional.all=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if("string"==typeof e[1]&&3===e.length){var r=e[0],n=e[1];return e[2],o(r,n,i(r,n),{isAll:!0})}var a=e[0];return function(e,t,r){return o(e,t,a,{isAll:!0,isOptional:!0})}},t.default=a},12:t=>{t.exports=e}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,n),i.exports}var o={};return(()=>{var e=o;Object.defineProperty(e,"__esModule",{value:!0}),e.useOptionalInjection=e.useInjection=e.useContainer=e.useAllInjections=e.Provider=e.resolve=void 0;var t=n(704);Object.defineProperty(e,"resolve",{enumerable:!0,get:function(){return t.resolve}});var r=n(21);Object.defineProperty(e,"Provider",{enumerable:!0,get:function(){return r.Provider}});var i=n(896);Object.defineProperty(e,"useAllInjections",{enumerable:!0,get:function(){return i.useAllInjections}}),Object.defineProperty(e,"useContainer",{enumerable:!0,get:function(){return i.useContainer}}),Object.defineProperty(e,"useInjection",{enumerable:!0,get:function(){return i.useInjection}}),Object.defineProperty(e,"useOptionalInjection",{enumerable:!0,get:function(){return i.useOptionalInjection}})})(),o})())); //# sourceMappingURL=index.js.map