New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-decoupler

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-decoupler - npm Package Compare versions

Comparing version 0.2.0 to 0.2.1

4

dist/react-decoupler.development.js

@@ -146,2 +146,6 @@ (function (global, factory) {

_proto.clearDependencyCache = function clearDependencyCache() {
this._boundLookups = new Map();
};
_proto.register = function register(key, service, options) {

@@ -148,0 +152,0 @@ if (options === void 0) {

4

dist/react-decoupler.production.min.js

@@ -1,2 +0,2 @@

!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","react","prop-types"],r):r((e=e||self).ReactDecoupler={},e.React,e.PropTypes)}(this,(function(e,r,t){"use strict";function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(){return(n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e}).apply(this,arguments)}function i(e,r){e.prototype=Object.create(r.prototype),e.prototype.constructor=e,e.__proto__=r}r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var s=function(e){return e.toString?e.toString():e},c=Symbol("Injector Lookup Symbol"),a=function(){function e(){var e=this;o(this,"_lookup",(function(r){e._deps.has(r),s(r);var t=e._deps.get(r),o=t.service,n=t.options;if(n.withParams){if(!e._boundLookups.has(r)){var i=e._makeDepArgs(n);e._boundLookups.set(r,o.bind.apply(o,[null].concat(i)))}var c=e._boundLookups.get(r);return n.asInstance?new c:c}return n.asInstance?new o:o})),o(this,"_makeDepArgs",(function(r){return Array.isArray(r.withParams)?r.withParams.map((function(r){return"object"==typeof r&&null!=r[c]?e._lookup(r[c]):r})):[]})),this._deps=new Map,this._boundLookups=new Map}e.fromServices=function(r){var t=new e;return Object.keys(r).forEach((function(e){t.register(e,r[e])})),t};var r=e.prototype;return r.register=function(e,r,t){if(void 0===t&&(t={}),this._deps.has(e)&&!t.allowOverwrite)throw new Error("Service key already used: "+s(e));if(t.withParams&&"function"!=typeof r)throw new Error('Cannot use "withParams" option with '+e+" of type "+typeof r+"; must be function or class.");this._deps.set(e,{service:r,options:t})},r.resolve=function(e){var r=this;if(Array.isArray(e))return e.map(this._lookup);if(e&&"object"==typeof e)return Object.entries(e).reduce((function(e,t){var o=t[0];return e[t[1]]=r._lookup(o),e}),{});throw new Error("Unsupported dependency list. Only Arrays and Objects are supported. Got: "+JSON.stringify(e))},e}();function u(e,r){return e(r={exports:{}},r.exports),r.exports
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","react","prop-types"],r):r((e=e||self).ReactDecoupler={},e.React,e.PropTypes)}(this,(function(e,r,t){"use strict";function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(){return(n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e}).apply(this,arguments)}function i(e,r){e.prototype=Object.create(r.prototype),e.prototype.constructor=e,e.__proto__=r}r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var s=function(e){return e.toString?e.toString():e},c=Symbol("Injector Lookup Symbol"),a=function(){function e(){var e=this;o(this,"_lookup",(function(r){e._deps.has(r),s(r);var t=e._deps.get(r),o=t.service,n=t.options;if(n.withParams){if(!e._boundLookups.has(r)){var i=e._makeDepArgs(n);e._boundLookups.set(r,o.bind.apply(o,[null].concat(i)))}var c=e._boundLookups.get(r);return n.asInstance?new c:c}return n.asInstance?new o:o})),o(this,"_makeDepArgs",(function(r){return Array.isArray(r.withParams)?r.withParams.map((function(r){return"object"==typeof r&&null!=r[c]?e._lookup(r[c]):r})):[]})),this._deps=new Map,this._boundLookups=new Map}e.fromServices=function(r){var t=new e;return Object.keys(r).forEach((function(e){t.register(e,r[e])})),t};var r=e.prototype;return r.clearDependencyCache=function(){this._boundLookups=new Map},r.register=function(e,r,t){if(void 0===t&&(t={}),this._deps.has(e)&&!t.allowOverwrite)throw new Error("Service key already used: "+s(e));if(t.withParams&&"function"!=typeof r)throw new Error('Cannot use "withParams" option with '+e+" of type "+typeof r+"; must be function or class.");this._deps.set(e,{service:r,options:t})},r.resolve=function(e){var r=this;if(Array.isArray(e))return e.map(this._lookup);if(e&&"object"==typeof e)return Object.entries(e).reduce((function(e,t){var o=t[0];return e[t[1]]=r._lookup(o),e}),{});throw new Error("Unsupported dependency list. Only Arrays and Objects are supported. Got: "+JSON.stringify(e))},e}();function u(e,r){return e(r={exports:{}},r.exports),r.exports
/** @license React v16.13.1

@@ -9,3 +9,3 @@ * react-is.production.min.js

* LICENSE file in the root directory of this source tree.
*/}var p="function"==typeof Symbol&&Symbol.for,f=p?Symbol.for("react.element"):60103,y=p?Symbol.for("react.portal"):60106,l=p?Symbol.for("react.fragment"):60107,d=p?Symbol.for("react.strict_mode"):60108,m=p?Symbol.for("react.profiler"):60114,v=p?Symbol.for("react.provider"):60109,b=p?Symbol.for("react.context"):60110,h=p?Symbol.for("react.async_mode"):60111,w=p?Symbol.for("react.concurrent_mode"):60111,S=p?Symbol.for("react.forward_ref"):60112,P=p?Symbol.for("react.suspense"):60113,g=p?Symbol.for("react.suspense_list"):60120,j=p?Symbol.for("react.memo"):60115,O=p?Symbol.for("react.lazy"):60116,$=p?Symbol.for("react.block"):60121,x=p?Symbol.for("react.fundamental"):60117,_=p?Symbol.for("react.responder"):60118,C=p?Symbol.for("react.scope"):60119;function M(e){if("object"==typeof e&&null!==e){var r=e.$$typeof;switch(r){case f:switch(e=e.type){case h:case w:case l:case m:case d:case P:return e;default:switch(e=e&&e.$$typeof){case b:case S:case O:case j:case v:return e;default:return r}}case y:return r}}}function E(e){return M(e)===w}var k={AsyncMode:h,ConcurrentMode:w,ContextConsumer:b,ContextProvider:v,Element:f,ForwardRef:S,Fragment:l,Lazy:O,Memo:j,Portal:y,Profiler:m,StrictMode:d,Suspense:P,isAsyncMode:function(e){return E(e)||M(e)===h},isConcurrentMode:E,isContextConsumer:function(e){return M(e)===b},isContextProvider:function(e){return M(e)===v},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===f},isForwardRef:function(e){return M(e)===S},isFragment:function(e){return M(e)===l},isLazy:function(e){return M(e)===O},isMemo:function(e){return M(e)===j},isPortal:function(e){return M(e)===y},isProfiler:function(e){return M(e)===m},isStrictMode:function(e){return M(e)===d},isSuspense:function(e){return M(e)===P},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===l||e===w||e===m||e===d||e===P||e===g||"object"==typeof e&&null!==e&&(e.$$typeof===O||e.$$typeof===j||e.$$typeof===v||e.$$typeof===b||e.$$typeof===S||e.$$typeof===x||e.$$typeof===_||e.$$typeof===C||e.$$typeof===$)},typeOf:M},A=u((function(e,r){0})),T=(A.AsyncMode,A.ConcurrentMode,A.ContextConsumer,A.ContextProvider,A.Element,A.ForwardRef,A.Fragment,A.Lazy,A.Memo,A.Portal,A.Profiler,A.StrictMode,A.Suspense,A.isAsyncMode,A.isConcurrentMode,A.isContextConsumer,A.isContextProvider,A.isElement,A.isForwardRef,A.isFragment,A.isLazy,A.isMemo,A.isPortal,A.isProfiler,A.isStrictMode,A.isSuspense,A.isValidElementType,A.typeOf,u((function(e){e.exports=k}))),F={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},L={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},I={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},R={};function D(e){return T.isMemo(e)?I:R[e.$$typeof]||F}R[T.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},R[T.Memo]=I;var N=Object.defineProperty,z=Object.getOwnPropertyNames,q=Object.getOwnPropertySymbols,V=Object.getOwnPropertyDescriptor,G=Object.getPrototypeOf,H=Object.prototype;var J=function e(r,t,o){if("string"!=typeof t){if(H){var n=G(t);n&&n!==H&&e(r,n,o)}var i=z(t);q&&(i=i.concat(q(t)));for(var s=D(r),c=D(t),a=0;a<i.length;++a){var u=i[a];if(!(L[u]||o&&o[u]||c&&c[u]||s&&s[u])){var p=V(t,u);try{N(r,u,p)}catch(e){}}}}return r},U=r.createContext(),B=function(e){function r(){return e.apply(this,arguments)||this}return i(r,e),r.prototype.render=function(){var e=this.context;if(!e)throw new Error("Must be used inside a InjectorProvider");var r=this.props,t=r.children,o=r.deps;return t(e.resolve(o))},r}(r.Component);o(B,"contextType",U),o(B,"propTypes",{children:t.func.isRequired,deps:t.oneOfType([t.arrayOf(t.String),t.objectOf(t.String)])});var K=function(){if(!r.useContext)throw new Error("Hooks not found on React. Are you using React v16.8 or greater?");var e=r.useContext(U);if(!e)throw new Error("Must be used inside a InjectorProvider");return e};e.InjectServices=B,e.InjectorProvider=function(e){var t=e.services,o=e.injector,n=(e.value,e.children);if(!t&&!o)throw new Error("Must provide services or injector prop to InjectorProvider.");var i=o||a.fromServices(t);return r.createElement(U.Provider,{value:i},n)},e.Lookup=function(e){var r;if(null==e)throw new Error("Lookup() does not support nullish values");return(r={})[c]=e,r},e.ServiceInjector=a,e.useInjector=K,e.useServices=function(e){return K().resolve(e)},e.withServices=function(e){var t=e.displayName||e.name||e.constructor&&e.constructor.name||"Component",s=function(t){function o(){return t.apply(this,arguments)||this}return i(o,t),o.prototype.render=function(){var t=e.dependencies||[],o={};return Array.isArray(t)?o.services=this.context.resolve(t):o=this.context.resolve(t),r.createElement(e,n({},this.props,o))},o}(r.Component);return o(s,"displayName","withServices("+t+")"),o(s,"contextType",U),J(s,e)},Object.defineProperty(e,"__esModule",{value:!0})}));
*/}var p="function"==typeof Symbol&&Symbol.for,f=p?Symbol.for("react.element"):60103,y=p?Symbol.for("react.portal"):60106,l=p?Symbol.for("react.fragment"):60107,d=p?Symbol.for("react.strict_mode"):60108,m=p?Symbol.for("react.profiler"):60114,v=p?Symbol.for("react.provider"):60109,b=p?Symbol.for("react.context"):60110,h=p?Symbol.for("react.async_mode"):60111,w=p?Symbol.for("react.concurrent_mode"):60111,S=p?Symbol.for("react.forward_ref"):60112,P=p?Symbol.for("react.suspense"):60113,g=p?Symbol.for("react.suspense_list"):60120,j=p?Symbol.for("react.memo"):60115,O=p?Symbol.for("react.lazy"):60116,$=p?Symbol.for("react.block"):60121,x=p?Symbol.for("react.fundamental"):60117,_=p?Symbol.for("react.responder"):60118,C=p?Symbol.for("react.scope"):60119;function M(e){if("object"==typeof e&&null!==e){var r=e.$$typeof;switch(r){case f:switch(e=e.type){case h:case w:case l:case m:case d:case P:return e;default:switch(e=e&&e.$$typeof){case b:case S:case O:case j:case v:return e;default:return r}}case y:return r}}}function k(e){return M(e)===w}var E={AsyncMode:h,ConcurrentMode:w,ContextConsumer:b,ContextProvider:v,Element:f,ForwardRef:S,Fragment:l,Lazy:O,Memo:j,Portal:y,Profiler:m,StrictMode:d,Suspense:P,isAsyncMode:function(e){return k(e)||M(e)===h},isConcurrentMode:k,isContextConsumer:function(e){return M(e)===b},isContextProvider:function(e){return M(e)===v},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===f},isForwardRef:function(e){return M(e)===S},isFragment:function(e){return M(e)===l},isLazy:function(e){return M(e)===O},isMemo:function(e){return M(e)===j},isPortal:function(e){return M(e)===y},isProfiler:function(e){return M(e)===m},isStrictMode:function(e){return M(e)===d},isSuspense:function(e){return M(e)===P},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===l||e===w||e===m||e===d||e===P||e===g||"object"==typeof e&&null!==e&&(e.$$typeof===O||e.$$typeof===j||e.$$typeof===v||e.$$typeof===b||e.$$typeof===S||e.$$typeof===x||e.$$typeof===_||e.$$typeof===C||e.$$typeof===$)},typeOf:M},A=u((function(e,r){0})),T=(A.AsyncMode,A.ConcurrentMode,A.ContextConsumer,A.ContextProvider,A.Element,A.ForwardRef,A.Fragment,A.Lazy,A.Memo,A.Portal,A.Profiler,A.StrictMode,A.Suspense,A.isAsyncMode,A.isConcurrentMode,A.isContextConsumer,A.isContextProvider,A.isElement,A.isForwardRef,A.isFragment,A.isLazy,A.isMemo,A.isPortal,A.isProfiler,A.isStrictMode,A.isSuspense,A.isValidElementType,A.typeOf,u((function(e){e.exports=E}))),L={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},F={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},I={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},R={};function D(e){return T.isMemo(e)?I:R[e.$$typeof]||L}R[T.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},R[T.Memo]=I;var N=Object.defineProperty,z=Object.getOwnPropertyNames,q=Object.getOwnPropertySymbols,V=Object.getOwnPropertyDescriptor,G=Object.getPrototypeOf,H=Object.prototype;var J=function e(r,t,o){if("string"!=typeof t){if(H){var n=G(t);n&&n!==H&&e(r,n,o)}var i=z(t);q&&(i=i.concat(q(t)));for(var s=D(r),c=D(t),a=0;a<i.length;++a){var u=i[a];if(!(F[u]||o&&o[u]||c&&c[u]||s&&s[u])){var p=V(t,u);try{N(r,u,p)}catch(e){}}}}return r},U=r.createContext(),B=function(e){function r(){return e.apply(this,arguments)||this}return i(r,e),r.prototype.render=function(){var e=this.context;if(!e)throw new Error("Must be used inside a InjectorProvider");var r=this.props,t=r.children,o=r.deps;return t(e.resolve(o))},r}(r.Component);o(B,"contextType",U),o(B,"propTypes",{children:t.func.isRequired,deps:t.oneOfType([t.arrayOf(t.String),t.objectOf(t.String)])});var K=function(){if(!r.useContext)throw new Error("Hooks not found on React. Are you using React v16.8 or greater?");var e=r.useContext(U);if(!e)throw new Error("Must be used inside a InjectorProvider");return e};e.InjectServices=B,e.InjectorProvider=function(e){var t=e.services,o=e.injector,n=(e.value,e.children);if(!t&&!o)throw new Error("Must provide services or injector prop to InjectorProvider.");var i=o||a.fromServices(t);return r.createElement(U.Provider,{value:i},n)},e.Lookup=function(e){var r;if(null==e)throw new Error("Lookup() does not support nullish values");return(r={})[c]=e,r},e.ServiceInjector=a,e.useInjector=K,e.useServices=function(e){return K().resolve(e)},e.withServices=function(e){var t=e.displayName||e.name||e.constructor&&e.constructor.name||"Component",s=function(t){function o(){return t.apply(this,arguments)||this}return i(o,t),o.prototype.render=function(){var t=e.dependencies||[],o={};return Array.isArray(t)?o.services=this.context.resolve(t):o=this.context.resolve(t),r.createElement(e,n({},this.props,o))},o}(r.Component);return o(s,"displayName","withServices("+t+")"),o(s,"contextType",U),J(s,e)},Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=react-decoupler.production.min.js.map
{
"name": "react-decoupler",
"version": "0.2.0",
"version": "0.2.1",
"author": "Tommy Groshong <tom@groshong.software> (https://tommygroshong.com)",

@@ -5,0 +5,0 @@ "description": "Simple Dependency Injection for React",

@@ -309,8 +309,15 @@ # React Decoupler

static fromServices(services)
register(key, service, options)
resolve(dependencies)
clearDependencyCache()
static fromServices(services)
```
- `static fromServices(services: {})`: Factory function to create a ServiceInjector
instance filled with the services from the provided vanilla JS object. Each
key-value entry of the service object becomes a registered service in the
injector.
- `register(key, service, options = {})`: Register a single service with a given

@@ -333,2 +340,3 @@ key. Any value may be used as a key or a service. Supported options:

- `resolve(dependencies: {} | [])`: Accepts an array or object of service keys

@@ -340,7 +348,13 @@ and returns a matching collection of resolved services.

- `static fromServices(services: {})`: Factory function to create a ServiceInjector
instance filled with the services from the provided vanilla JS object. Each
key-value entry of the service object becomes a registered service in the
injector.
- `clearDependencyCache()`: Clears the resolution cache of all parameter bound
services. When is this useful? If you are dynamically registering services
(e.g. calling `injector.register()` inside a component or function) and want
to force all future resolutions to forget the previous value of that
registered service key, call this method to delete the previously cached
services. The drawback to calling this function is that it forces certain
service functions/classes to resolve as new object references (i.e.
`useEffect` and `useMemo` that were relying on consistent reference in some
consumers will misbehave) so you need to be careful when you call it.
#### Usage

@@ -347,0 +361,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc