UNPKG

@scaffold-ai/react-service-provider

Version:

React context-based service provider for dependency injection.

23 lines (22 loc) 6.65 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("react");var T={exports:{}},_={};/** * @license React * react-jsx-runtime.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var F;function te(){if(F)return _;F=1;var a=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function l(d,s,u){var E=null;if(u!==void 0&&(E=""+u),s.key!==void 0&&(E=""+s.key),"key"in s){u={};for(var v in s)v!=="key"&&(u[v]=s[v])}else u=s;return s=u.ref,{$$typeof:a,type:d,key:E,ref:s!==void 0?s:null,props:u}}return _.Fragment=i,_.jsx=l,_.jsxs=l,_}var b={};/** * @license React * react-jsx-runtime.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var D;function ne(){return D||(D=1,process.env.NODE_ENV!=="production"&&(function(){function a(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===K?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case p:return"Fragment";case z:return"Profiler";case J:return"StrictMode";case B:return"Suspense";case H:return"SuspenseList";case Q:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case q:return"Portal";case G:return(e.displayName||"Context")+".Provider";case V:return(e._context.displayName||"Context")+".Consumer";case X:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Z:return r=e.displayName||null,r!==null?r:a(e.type)||"Memo";case g:r=e._payload,e=e._init;try{return a(e(r))}catch{}}return null}function i(e){return""+e}function l(e){try{i(e);var r=!1}catch{r=!0}if(r){r=console;var t=r.error,n=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",n),i(e)}}function d(e){if(e===p)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===g)return"<...>";try{var r=a(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function s(){var e=S.A;return e===null?null:e.getOwner()}function u(){return Error("react-stack-top-frame")}function E(e){if(y.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function v(e,r){function t(){N||(N=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",r))}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}function W(){var e=a(this.type);return C[e]||(C[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function U(e,r,t,n,f,c,O,P){return t=c.ref,e={$$typeof:h,type:e,key:r,props:c,_owner:f},(t!==void 0?t:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:W}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:O}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:P}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function x(e,r,t,n,f,c,O,P){var o=r.children;if(o!==void 0)if(n)if(ee(o)){for(n=0;n<o.length;n++)j(o[n]);Object.freeze&&Object.freeze(o)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else j(o);if(y.call(r,"key")){o=a(e);var m=Object.keys(r).filter(function(re){return re!=="key"});n=0<m.length?"{key: someKey, "+m.join(": ..., ")+": ...}":"{key: someKey}",I[o+n]||(m=0<m.length?"{"+m.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`,n,o,m,o),I[o+n]=!0)}if(o=null,t!==void 0&&(l(t),o=""+t),E(r)&&(l(r.key),o=""+r.key),"key"in r){t={};for(var w in r)w!=="key"&&(t[w]=r[w])}else t=r;return o&&v(t,typeof e=="function"?e.displayName||e.name||"Unknown":e),U(e,o,c,f,s(),t,O,P)}function j(e){typeof e=="object"&&e!==null&&e.$$typeof===h&&e._store&&(e._store.validated=1)}var R=A,h=Symbol.for("react.transitional.element"),q=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),J=Symbol.for("react.strict_mode"),z=Symbol.for("react.profiler"),V=Symbol.for("react.consumer"),G=Symbol.for("react.context"),X=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),H=Symbol.for("react.suspense_list"),Z=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),Q=Symbol.for("react.activity"),K=Symbol.for("react.client.reference"),S=R.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,y=Object.prototype.hasOwnProperty,ee=Array.isArray,k=console.createTask?console.createTask:function(){return null};R={react_stack_bottom_frame:function(e){return e()}};var N,C={},Y=R.react_stack_bottom_frame.bind(R,u)(),$=k(d(u)),I={};b.Fragment=p,b.jsx=function(e,r,t,n,f){var c=1e4>S.recentlyCreatedOwnerStacks++;return x(e,r,t,!1,n,f,c?Error("react-stack-top-frame"):Y,c?k(d(e)):$)},b.jsxs=function(e,r,t,n,f){var c=1e4>S.recentlyCreatedOwnerStacks++;return x(e,r,t,!0,n,f,c?Error("react-stack-top-frame"):Y,c?k(d(e)):$)}})()),b}var M;function oe(){return M||(M=1,process.env.NODE_ENV==="production"?T.exports=te():T.exports=ne()),T.exports}var ae=oe();const L=A.createContext(null),se=({value:a,children:i})=>ae.jsx(L.Provider,{value:a,children:i}),ue=a=>{const i=A.useContext(L);if(!i)throw new Error("useService must be used within a ServiceProvider");const l=i.find(d=>d.serviceId===a);if(!l)throw new Error(`Service with id ${a.description} not found`);return l};exports.ServiceProvider=se;exports.useService=ue;