react-easy-loading 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,7 +32,7 @@ export type Loading<Errors extends unknown[] = string[], Context extends Record<
32
32
  getErrors: () => Errors | undefined;
33
33
  getContext: () => Context | undefined;
34
34
  set(state: LoadingState): void;
35
- retry: () => void;
35
+ retry: (defaultRetry?: () => void) => void;
36
36
  reset: () => void;
37
37
  addError: (error: Errors[number]) => void;
38
38
  setContext: (context: Context) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"create-loading.d.ts","sourceRoot":"","sources":["../src/create-loading.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-loading.d.ts","sourceRoot":"","sources":["../src/create-loading.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAC,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAIpE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AACpE,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,IAAI;IACjH,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IAClC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAChD,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC;AAE/F,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACvG,MAAM,MAAM,+BAA+B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChG,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,+BAA+B,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,IAAI;IAEtG,GAAG,EAAE,MAAM,YAAY,CAAC;IACxB,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC;IAEtC,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,KAAK,OAAO,CAAC;IAClD,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,GAAG,EAAE,MAAM,YAAY,CAAC;IACxB,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC;IAEtC,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC3C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,MAAM,IAAI,CAAC;IAExB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAEtC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAG3E,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC;QACvC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,aAAa,CAAC,EAAE,mBAAmB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;KAC5E,CAAC,CAAC,CAAC;IACJ,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC9C,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;KACnF,CAAC,CAAC;IACH,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;KAC7G,CAAC,CAAC;IACH,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC,CAAC;CAClE,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAA;AAGD,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,EAAE,wEAKG,oBAAyB,KAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CA0LvK,CAAA"}
package/dist/main.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * react-easy-loading v0.1.0
2
+ * react-easy-loading v0.1.1
3
3
  * (c) Hichem Taboukouyout
4
4
  * Released under the MIT License.
5
5
  * Github: github.com/HichemTab-tech/react-easy-loading
@@ -449,7 +449,7 @@ const S = (a, e) => Array.isArray(e) && e.includes(a) || a === e, de = ({
449
449
  useErrors: () => v(s, (n) => n.errors),
450
450
  useContext: () => v(s, (n) => n.context),
451
451
  set: (n) => g.update(s, (l) => ({ ...l, state: n })),
452
- retry: () => g.get(s).retry?.(),
452
+ retry: (n) => (g.get(s).retry ?? n)?.(),
453
453
  // getters
454
454
  isLoading: () => g.get(s).state === "loading",
455
455
  isIdle: () => g.get(s).state === "idle",
package/dist/main.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * react-easy-loading v0.1.0
2
+ * react-easy-loading v0.1.1
3
3
  * (c) Hichem Taboukouyout
4
4
  * Released under the MIT License.
5
5
  * Github: github.com/HichemTab-tech/react-easy-loading
@@ -10,4 +10,4 @@
10
10
  * (c) Hichem Taboukouyout
11
11
  * Released under the MIT License.
12
12
  * Github: github.com/HichemTab-tech/react-shared-states
13
- */const B=(...a)=>{},O=a=>{if(!a)throw new Error("Value is empty");return a},K=()=>Math.random().toString(36).substring(2,15),N=b.createContext(void 0),U=()=>b.useContext(N),W=[];class c{data=new Map;defaultValue(){return{}}addListener(e,t,r){this.data.has(c.prefix(e,t))||this.data.set(c.prefix(e,t),{...this.defaultValue(),listeners:[]}),this.data.get(c.prefix(e,t)).listeners.push(r)}removeListener(e,t,r){this.data.has(c.prefix(e,t))&&(this.data.get(c.prefix(e,t)).listeners=this.data.get(c.prefix(e,t)).listeners.filter(s=>s!==r))}callListeners(e,t){this.data.has(c.prefix(e,t))&&this.data.get(c.prefix(e,t)).listeners.forEach(r=>r())}init(e,t,r,s=!1){this.data.has(c.prefix(e,t))||this.data.set(c.prefix(e,t),{...r,isStatic:s,listeners:[]})}createStatic(e,t){const r=t??t??"_global",s={key:K(),prefix:r,...e};return W.push(s),this.initStatic(s),s}initStatic(e){const{key:t,prefix:r}=e;this.init(t,r,this.defaultValue(),!0)}clearAll(e=!1,t=!1){this.data.forEach((r,s)=>{const[i,o]=c.extractPrefix(s);this.clear(o,i,e,t)})}clear(e,t,r=!1,s=!1){r||this.callListeners(e,t);const i=this.data.get(c.prefix(e,t));if(!i)return;const o={...i};if(this.data.delete(c.prefix(e,t)),o.isStatic&&!s){const l=W.find(n=>n.key===e&&n.prefix===t);l&&this.initStatic(l)}}get(e,t){let r=this.has(e,t);if(r)return this.data.get(r)}setValue(e,t,r){this.data.has(c.prefix(e,t))&&this.data.set(c.prefix(e,t),{...this.data.get(c.prefix(e,t)),...r})}has(e,t){return this.data.has(c.prefix(e,t))?c.prefix(e,t):this.data.has(c.prefix(e,"_global"))?c.prefix(e,"_global"):void 0}static prefix(e,t){if(e.includes("//"))throw new Error("key cannot contain '//'");return`${t}//${e}`}static extractPrefix(e){return e.split("//")}useEffect(e,t,r=null){b.useEffect(()=>()=>{r?.(),B(`[${c.prefix(e,t)}]`,"unmount effect"),this.data.get(c.prefix(e,t)).listeners?.length===0&&this.clear(e,t)},[])}}class k{constructor(e){this.sharedData=e}get(e,t){let r,s=t;if(typeof e!="string"){const{key:o,prefix:l}=e;r=o,s=l}else r=O(e);const i=s||"_global";return this.sharedData.get(r,i)}set(e,t,r){let s,i=r;if(typeof e!="string"){const{key:l,prefix:n}=e;s=l,i=n}else s=O(e);const o=i||"_global";this.sharedData.init(s,o,t),this.sharedData.setValue(s,o,t),this.sharedData.callListeners(s,o)}update(e,t,r){let s;typeof e=="string"?s=this.get(e,r):s=this.get(e);const i=t(s);typeof e=="string"?this.set(e,i,r):this.set(e,i)}clearAll(){this.sharedData.clearAll()}clearScope(e){const t=e||"_global";this.sharedData.data.forEach((r,s)=>{const[i,o]=c.extractPrefix(s);if(i===t){this.sharedData.clear(o,i),this.sharedData.callListeners(o,i);return}})}resolve(e){const{key:t,prefix:r}=e;return this.get(t,r)}clear(e,t){let r,s;typeof e=="string"?(r=e,s=t||"_global"):(r=e.key,s=e.prefix),this.sharedData.clear(r,s)}has(e,t="_global"){const r=t||"_global";return!!this.sharedData.has(e,r)}getAll(){const e={};return this.sharedData.data.forEach((t,r)=>{const[s,i]=c.extractPrefix(r);e[s]=e[s]||{},e[s][i]=t}),e}subscribe(e,t,r){let s,i;return typeof e=="string"?(s=e,i=r||"_global"):(s=e.key,i=e.prefix),this.sharedData.addListener(s,i,t),()=>{this.sharedData.removeListener(s,i,t)}}}const G=a=>{const e=U();return{prefix:a??e?.scopeName??"_global"}};function H(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var m,T;function J(){if(T)return m;T=1;var a=typeof Element<"u",e=typeof Map=="function",t=typeof Set=="function",r=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function s(i,o){if(i===o)return!0;if(i&&o&&typeof i=="object"&&typeof o=="object"){if(i.constructor!==o.constructor)return!1;var l,n,u;if(Array.isArray(i)){if(l=i.length,l!=o.length)return!1;for(n=l;n--!==0;)if(!s(i[n],o[n]))return!1;return!0}var f;if(e&&i instanceof Map&&o instanceof Map){if(i.size!==o.size)return!1;for(f=i.entries();!(n=f.next()).done;)if(!o.has(n.value[0]))return!1;for(f=i.entries();!(n=f.next()).done;)if(!s(n.value[1],o.get(n.value[0])))return!1;return!0}if(t&&i instanceof Set&&o instanceof Set){if(i.size!==o.size)return!1;for(f=i.entries();!(n=f.next()).done;)if(!o.has(n.value[0]))return!1;return!0}if(r&&ArrayBuffer.isView(i)&&ArrayBuffer.isView(o)){if(l=i.length,l!=o.length)return!1;for(n=l;n--!==0;)if(i[n]!==o[n])return!1;return!0}if(i.constructor===RegExp)return i.source===o.source&&i.flags===o.flags;if(i.valueOf!==Object.prototype.valueOf&&typeof i.valueOf=="function"&&typeof o.valueOf=="function")return i.valueOf()===o.valueOf();if(i.toString!==Object.prototype.toString&&typeof i.toString=="function"&&typeof o.toString=="function")return i.toString()===o.toString();if(u=Object.keys(i),l=u.length,l!==Object.keys(o).length)return!1;for(n=l;n--!==0;)if(!Object.prototype.hasOwnProperty.call(o,u[n]))return!1;if(a&&i instanceof Element)return!1;for(n=l;n--!==0;)if(!((u[n]==="_owner"||u[n]==="__v"||u[n]==="__o")&&i.$$typeof)&&!s(i[u[n]],o[u[n]]))return!1;return!0}return i!==i&&o!==o}return m=function(i,o){try{return s(i,o)}catch(l){if((l.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw l}},m}var Q=J();const X=H(Q);class Y extends c{defaultValue(){return{value:void 0}}initValue(e,t,r,s=!1){super.init(e,t,{value:r},s)}initStatic(e){const{key:t,prefix:r,initialValue:s}=e;this.initValue(t,r,s,!0)}}class Z extends k{constructor(e){super(e)}get(e,t="_global"){return typeof e!="string"?super.get(e)?.value:super.get(e,t)?.value}set(e,t,r="_global"){if(typeof e!="string"){super.set(e,{value:t});return}super.set(e,{value:t},r)}update(e,t,r="_global"){let s;typeof e=="string"?s=this.get(e,r):s=this.get(e);const i=t(s);typeof e=="string"?this.set(e,i,r):this.set(e,i)}}const x=new Y,p=new Z(x),R=(a,e)=>x.createStatic({initialValue:a},e);function E(a,e,t){let r,s=t;if(typeof a!="string"){const{key:f,prefix:g}=a;r=f,s=g}else r=O(a);const{prefix:i}=G(s),o=b.useRef(void 0),l=b.useMemo(()=>f=>(x.addListener(r,i,f),()=>{x.removeListener(r,i,f)}),[]),n=b.useMemo(()=>()=>{const f=x.get(r,i)?.value,g=e(f);return X(o.current,g)?o.current:g},[]),u=b.useSyncExternalStore(l,n);return x.useEffect(r,i),u}class ee extends c{defaultValue(){return{fnState:{results:void 0,isLoading:!1,error:void 0}}}initValue(e,t,r=!1){super.init(e,t,this.defaultValue(),r)}setValue(e,t,r){super.setValue(e,t,r)}}class te extends k{constructor(e){super(e)}get(e,t="_global"){return typeof e!="string"?super.get(e)?.fnState:super.get(e,t)?.fnState}set(e,t,r="_global"){if(typeof e!="string"){super.set(e,t);return}super.set(e,t,r)}update(e,t,r="_global"){let s;typeof e=="string"?s=this.get(e,r):s=this.get(e);const i=t(s);typeof e=="string"?this.set(e,i,r):this.set(e,i)}}const re=new ee;new te(re);class se extends c{defaultValue(){return{fnState:{data:void 0,isLoading:!1,error:void 0,subscribed:!1}}}initValue(e,t,r=!1){super.init(e,t,this.defaultValue(),r)}setValue(e,t,r){super.setValue(e,t,r)}useEffect(e,t){b.useEffect(()=>()=>{B(`[${c.prefix(e,t)}]`,"unmount effect2"),this.get(e,t)?.listeners.length===0&&this.unsubscribe(e,t)},[]),super.useEffect(e,t)}async unsubscribe(e,t){const r=this.get(e,t);r&&(r.unsubscribe&&(r.unsubscribe(),r.unsubscribe=void 0),r.fnState={...r.fnState,subscribed:!1},this.callListeners(e,t))}}class ie extends k{constructor(e){super(e)}get(e,t="_global"){return typeof e!="string"?super.get(e)?.fnState:super.get(e,t)?.fnState}set(e,t,r="_global"){if(typeof e!="string"){super.set(e,t);return}super.set(e,t,r)}update(e,t,r="_global"){let s;typeof e=="string"?s=this.get(e,r):s=this.get(e);const i=t(s);typeof e=="string"?this.set(e,i,r):this.set(e,i)}}const ne=new se;new ie(ne);const L=(a,e)=>Array.isArray(e)&&e.includes(a)||a===e,ae=({initialState:a="loading",defaultFallback:e,defaultErrorFallback:t,defaultRetry:r}={})=>{const s=R({state:a,retry:r}),i=n=>{let u=l.get();return new Promise((f,g)=>{if(L(l.get(),n)){f();return}const y=p.subscribe(s,()=>{L(l.get(),n)?(y(),f()):u!==l.get()&&g()})})},o=function(n,u=()=>[]){return f=>E(s,y=>L(y.state,n))?h.jsx(h.Fragment,{children:w(f.children,...u())}):null},l={use:()=>E(s,n=>n.state),useIsLoading:()=>E(s,n=>n.state)==="loading",useErrors:()=>E(s,n=>n.errors),useContext:()=>E(s,n=>n.context),set:n=>p.update(s,u=>({...u,state:n})),retry:()=>p.get(s).retry?.(),isLoading:()=>p.get(s).state==="loading",isIdle:()=>p.get(s).state==="idle",isSuccess:()=>p.get(s).state==="success",isError:()=>p.get(s).state==="error",isFinished:()=>p.get(s).state==="success"||p.get(s).state==="error",is:n=>L(l.get(),n),hasErrors:()=>p.get(s).errors!==void 0,get:()=>p.get(s).state,getErrors:()=>p.get(s).errors,getContext:()=>p.get(s).context,reset:()=>p.set(s,{state:a}),addError:n=>{p.update(s,u=>({...u,errors:[...u.errors??[],n]}))},setContext:n=>{p.update(s,u=>({...u,context:n}))},setErrors:n=>{p.update(s,u=>({...u,errors:n}))},clearErrors:()=>{p.update(s,n=>({...n,errors:void 0}))},setRetry:n=>p.update(s,u=>({...u,retry:n})),whenLoaded:()=>i("success").catch(n=>{throw new Error("loading failed",{cause:n})}),whenFinished:()=>i(["success","error"]),wrap(n){const u=()=>new Promise((f,g)=>{l.clearErrors(),l.set("loading"),n().then(y=>{l.set("success"),f(y)}).catch(y=>{l.set("error"),y&&l.setErrors([y]),g(y)})});return l.setRetry(u),u()},wrapWithControl(n){const u={thens:[],catchs:[],finallies:[]},f={then:(...g)=>(u.thens.push(g),f),catch_:(...g)=>(u.catchs.push(g),f),finally_:(...g)=>(u.finallies.push(g),f),start:()=>new Promise((g,y)=>{l.clearErrors(),l.set("loading");let S=n();S.then(()=>{l.set("success")}),S.catch(v=>{l.set("error"),v&&l.setErrors([v])});for(const v of u.thens)S.then(...v);for(const v of u.catchs)S.catch(...v);for(const v of u.finallies)S.finally(...v);S.then(g,y)})};return l.setRetry(f.start),f},ShowWhenLoaded:({children:n,fallback:u,errorFallback:f})=>{const g=E(s,y=>y.state);return g==="idle"?null:(u=F(e,u),f=A(t,f===!0?void 0:f),g==="loading"?h.jsx(h.Fragment,{children:u}):g==="error"?h.jsx(h.Fragment,{children:w(f,l.getErrors()??[],()=>l.retry())}):h.jsx(h.Fragment,{children:n}))},ShowWhileLoading:o("loading"),ShowWhenError:o("error",()=>[l.getErrors()??[],()=>l.retry()]),ShowWhenFinish:o(["error","success"],()=>[l.getErrors(),()=>l.retry()]),ShowWhen:({children:n,state:u})=>{const f=o(u);return h.jsx(f,{children:n})}};return l},oe=({of:a,fallback:e,errorFallback:t,children:r})=>{const s=a.map(i=>i.use());return e=F(void 0,e),s.some(i=>i==="loading")?e:s.every(i=>i!=="loading")?s.some(i=>i==="error")?(t=A(void 0,t),h.jsx(h.Fragment,{children:w(t,a.reduce((i,o)=>[...i,...o.getErrors()??[]],[]),()=>{a.map(i=>{i.isError()&&i.retry()})})})):h.jsx(h.Fragment,{children:r}):null};d.AllLoaded=oe,d.createLoading=ae,d.errorFallbacks=D,d.fallbacks=V,d.getDefaultErrorFallback=j,d.getDefaultFallback=P,d.reactNodeOrFunctionValue=w,d.registerDefaultErrorFallback=I,d.registerDefaultFallback=q,d.registerErrorFallback=z,d.registerFallback=$,d.resolveErrorFallback=A,d.resolveLoadingFallback=F,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})}));
13
+ */const B=(...a)=>{},O=a=>{if(!a)throw new Error("Value is empty");return a},K=()=>Math.random().toString(36).substring(2,15),N=b.createContext(void 0),U=()=>b.useContext(N),W=[];class c{data=new Map;defaultValue(){return{}}addListener(e,t,r){this.data.has(c.prefix(e,t))||this.data.set(c.prefix(e,t),{...this.defaultValue(),listeners:[]}),this.data.get(c.prefix(e,t)).listeners.push(r)}removeListener(e,t,r){this.data.has(c.prefix(e,t))&&(this.data.get(c.prefix(e,t)).listeners=this.data.get(c.prefix(e,t)).listeners.filter(s=>s!==r))}callListeners(e,t){this.data.has(c.prefix(e,t))&&this.data.get(c.prefix(e,t)).listeners.forEach(r=>r())}init(e,t,r,s=!1){this.data.has(c.prefix(e,t))||this.data.set(c.prefix(e,t),{...r,isStatic:s,listeners:[]})}createStatic(e,t){const r=t??t??"_global",s={key:K(),prefix:r,...e};return W.push(s),this.initStatic(s),s}initStatic(e){const{key:t,prefix:r}=e;this.init(t,r,this.defaultValue(),!0)}clearAll(e=!1,t=!1){this.data.forEach((r,s)=>{const[i,o]=c.extractPrefix(s);this.clear(o,i,e,t)})}clear(e,t,r=!1,s=!1){r||this.callListeners(e,t);const i=this.data.get(c.prefix(e,t));if(!i)return;const o={...i};if(this.data.delete(c.prefix(e,t)),o.isStatic&&!s){const l=W.find(n=>n.key===e&&n.prefix===t);l&&this.initStatic(l)}}get(e,t){let r=this.has(e,t);if(r)return this.data.get(r)}setValue(e,t,r){this.data.has(c.prefix(e,t))&&this.data.set(c.prefix(e,t),{...this.data.get(c.prefix(e,t)),...r})}has(e,t){return this.data.has(c.prefix(e,t))?c.prefix(e,t):this.data.has(c.prefix(e,"_global"))?c.prefix(e,"_global"):void 0}static prefix(e,t){if(e.includes("//"))throw new Error("key cannot contain '//'");return`${t}//${e}`}static extractPrefix(e){return e.split("//")}useEffect(e,t,r=null){b.useEffect(()=>()=>{r?.(),B(`[${c.prefix(e,t)}]`,"unmount effect"),this.data.get(c.prefix(e,t)).listeners?.length===0&&this.clear(e,t)},[])}}class k{constructor(e){this.sharedData=e}get(e,t){let r,s=t;if(typeof e!="string"){const{key:o,prefix:l}=e;r=o,s=l}else r=O(e);const i=s||"_global";return this.sharedData.get(r,i)}set(e,t,r){let s,i=r;if(typeof e!="string"){const{key:l,prefix:n}=e;s=l,i=n}else s=O(e);const o=i||"_global";this.sharedData.init(s,o,t),this.sharedData.setValue(s,o,t),this.sharedData.callListeners(s,o)}update(e,t,r){let s;typeof e=="string"?s=this.get(e,r):s=this.get(e);const i=t(s);typeof e=="string"?this.set(e,i,r):this.set(e,i)}clearAll(){this.sharedData.clearAll()}clearScope(e){const t=e||"_global";this.sharedData.data.forEach((r,s)=>{const[i,o]=c.extractPrefix(s);if(i===t){this.sharedData.clear(o,i),this.sharedData.callListeners(o,i);return}})}resolve(e){const{key:t,prefix:r}=e;return this.get(t,r)}clear(e,t){let r,s;typeof e=="string"?(r=e,s=t||"_global"):(r=e.key,s=e.prefix),this.sharedData.clear(r,s)}has(e,t="_global"){const r=t||"_global";return!!this.sharedData.has(e,r)}getAll(){const e={};return this.sharedData.data.forEach((t,r)=>{const[s,i]=c.extractPrefix(r);e[s]=e[s]||{},e[s][i]=t}),e}subscribe(e,t,r){let s,i;return typeof e=="string"?(s=e,i=r||"_global"):(s=e.key,i=e.prefix),this.sharedData.addListener(s,i,t),()=>{this.sharedData.removeListener(s,i,t)}}}const G=a=>{const e=U();return{prefix:a??e?.scopeName??"_global"}};function H(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var m,T;function J(){if(T)return m;T=1;var a=typeof Element<"u",e=typeof Map=="function",t=typeof Set=="function",r=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function s(i,o){if(i===o)return!0;if(i&&o&&typeof i=="object"&&typeof o=="object"){if(i.constructor!==o.constructor)return!1;var l,n,u;if(Array.isArray(i)){if(l=i.length,l!=o.length)return!1;for(n=l;n--!==0;)if(!s(i[n],o[n]))return!1;return!0}var f;if(e&&i instanceof Map&&o instanceof Map){if(i.size!==o.size)return!1;for(f=i.entries();!(n=f.next()).done;)if(!o.has(n.value[0]))return!1;for(f=i.entries();!(n=f.next()).done;)if(!s(n.value[1],o.get(n.value[0])))return!1;return!0}if(t&&i instanceof Set&&o instanceof Set){if(i.size!==o.size)return!1;for(f=i.entries();!(n=f.next()).done;)if(!o.has(n.value[0]))return!1;return!0}if(r&&ArrayBuffer.isView(i)&&ArrayBuffer.isView(o)){if(l=i.length,l!=o.length)return!1;for(n=l;n--!==0;)if(i[n]!==o[n])return!1;return!0}if(i.constructor===RegExp)return i.source===o.source&&i.flags===o.flags;if(i.valueOf!==Object.prototype.valueOf&&typeof i.valueOf=="function"&&typeof o.valueOf=="function")return i.valueOf()===o.valueOf();if(i.toString!==Object.prototype.toString&&typeof i.toString=="function"&&typeof o.toString=="function")return i.toString()===o.toString();if(u=Object.keys(i),l=u.length,l!==Object.keys(o).length)return!1;for(n=l;n--!==0;)if(!Object.prototype.hasOwnProperty.call(o,u[n]))return!1;if(a&&i instanceof Element)return!1;for(n=l;n--!==0;)if(!((u[n]==="_owner"||u[n]==="__v"||u[n]==="__o")&&i.$$typeof)&&!s(i[u[n]],o[u[n]]))return!1;return!0}return i!==i&&o!==o}return m=function(i,o){try{return s(i,o)}catch(l){if((l.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw l}},m}var Q=J();const X=H(Q);class Y extends c{defaultValue(){return{value:void 0}}initValue(e,t,r,s=!1){super.init(e,t,{value:r},s)}initStatic(e){const{key:t,prefix:r,initialValue:s}=e;this.initValue(t,r,s,!0)}}class Z extends k{constructor(e){super(e)}get(e,t="_global"){return typeof e!="string"?super.get(e)?.value:super.get(e,t)?.value}set(e,t,r="_global"){if(typeof e!="string"){super.set(e,{value:t});return}super.set(e,{value:t},r)}update(e,t,r="_global"){let s;typeof e=="string"?s=this.get(e,r):s=this.get(e);const i=t(s);typeof e=="string"?this.set(e,i,r):this.set(e,i)}}const x=new Y,p=new Z(x),R=(a,e)=>x.createStatic({initialValue:a},e);function E(a,e,t){let r,s=t;if(typeof a!="string"){const{key:f,prefix:g}=a;r=f,s=g}else r=O(a);const{prefix:i}=G(s),o=b.useRef(void 0),l=b.useMemo(()=>f=>(x.addListener(r,i,f),()=>{x.removeListener(r,i,f)}),[]),n=b.useMemo(()=>()=>{const f=x.get(r,i)?.value,g=e(f);return X(o.current,g)?o.current:g},[]),u=b.useSyncExternalStore(l,n);return x.useEffect(r,i),u}class ee extends c{defaultValue(){return{fnState:{results:void 0,isLoading:!1,error:void 0}}}initValue(e,t,r=!1){super.init(e,t,this.defaultValue(),r)}setValue(e,t,r){super.setValue(e,t,r)}}class te extends k{constructor(e){super(e)}get(e,t="_global"){return typeof e!="string"?super.get(e)?.fnState:super.get(e,t)?.fnState}set(e,t,r="_global"){if(typeof e!="string"){super.set(e,t);return}super.set(e,t,r)}update(e,t,r="_global"){let s;typeof e=="string"?s=this.get(e,r):s=this.get(e);const i=t(s);typeof e=="string"?this.set(e,i,r):this.set(e,i)}}const re=new ee;new te(re);class se extends c{defaultValue(){return{fnState:{data:void 0,isLoading:!1,error:void 0,subscribed:!1}}}initValue(e,t,r=!1){super.init(e,t,this.defaultValue(),r)}setValue(e,t,r){super.setValue(e,t,r)}useEffect(e,t){b.useEffect(()=>()=>{B(`[${c.prefix(e,t)}]`,"unmount effect2"),this.get(e,t)?.listeners.length===0&&this.unsubscribe(e,t)},[]),super.useEffect(e,t)}async unsubscribe(e,t){const r=this.get(e,t);r&&(r.unsubscribe&&(r.unsubscribe(),r.unsubscribe=void 0),r.fnState={...r.fnState,subscribed:!1},this.callListeners(e,t))}}class ie extends k{constructor(e){super(e)}get(e,t="_global"){return typeof e!="string"?super.get(e)?.fnState:super.get(e,t)?.fnState}set(e,t,r="_global"){if(typeof e!="string"){super.set(e,t);return}super.set(e,t,r)}update(e,t,r="_global"){let s;typeof e=="string"?s=this.get(e,r):s=this.get(e);const i=t(s);typeof e=="string"?this.set(e,i,r):this.set(e,i)}}const ne=new se;new ie(ne);const L=(a,e)=>Array.isArray(e)&&e.includes(a)||a===e,ae=({initialState:a="loading",defaultFallback:e,defaultErrorFallback:t,defaultRetry:r}={})=>{const s=R({state:a,retry:r}),i=n=>{let u=l.get();return new Promise((f,g)=>{if(L(l.get(),n)){f();return}const y=p.subscribe(s,()=>{L(l.get(),n)?(y(),f()):u!==l.get()&&g()})})},o=function(n,u=()=>[]){return f=>E(s,y=>L(y.state,n))?h.jsx(h.Fragment,{children:w(f.children,...u())}):null},l={use:()=>E(s,n=>n.state),useIsLoading:()=>E(s,n=>n.state)==="loading",useErrors:()=>E(s,n=>n.errors),useContext:()=>E(s,n=>n.context),set:n=>p.update(s,u=>({...u,state:n})),retry:n=>(p.get(s).retry??n)?.(),isLoading:()=>p.get(s).state==="loading",isIdle:()=>p.get(s).state==="idle",isSuccess:()=>p.get(s).state==="success",isError:()=>p.get(s).state==="error",isFinished:()=>p.get(s).state==="success"||p.get(s).state==="error",is:n=>L(l.get(),n),hasErrors:()=>p.get(s).errors!==void 0,get:()=>p.get(s).state,getErrors:()=>p.get(s).errors,getContext:()=>p.get(s).context,reset:()=>p.set(s,{state:a}),addError:n=>{p.update(s,u=>({...u,errors:[...u.errors??[],n]}))},setContext:n=>{p.update(s,u=>({...u,context:n}))},setErrors:n=>{p.update(s,u=>({...u,errors:n}))},clearErrors:()=>{p.update(s,n=>({...n,errors:void 0}))},setRetry:n=>p.update(s,u=>({...u,retry:n})),whenLoaded:()=>i("success").catch(n=>{throw new Error("loading failed",{cause:n})}),whenFinished:()=>i(["success","error"]),wrap(n){const u=()=>new Promise((f,g)=>{l.clearErrors(),l.set("loading"),n().then(y=>{l.set("success"),f(y)}).catch(y=>{l.set("error"),y&&l.setErrors([y]),g(y)})});return l.setRetry(u),u()},wrapWithControl(n){const u={thens:[],catchs:[],finallies:[]},f={then:(...g)=>(u.thens.push(g),f),catch_:(...g)=>(u.catchs.push(g),f),finally_:(...g)=>(u.finallies.push(g),f),start:()=>new Promise((g,y)=>{l.clearErrors(),l.set("loading");let S=n();S.then(()=>{l.set("success")}),S.catch(v=>{l.set("error"),v&&l.setErrors([v])});for(const v of u.thens)S.then(...v);for(const v of u.catchs)S.catch(...v);for(const v of u.finallies)S.finally(...v);S.then(g,y)})};return l.setRetry(f.start),f},ShowWhenLoaded:({children:n,fallback:u,errorFallback:f})=>{const g=E(s,y=>y.state);return g==="idle"?null:(u=F(e,u),f=A(t,f===!0?void 0:f),g==="loading"?h.jsx(h.Fragment,{children:u}):g==="error"?h.jsx(h.Fragment,{children:w(f,l.getErrors()??[],()=>l.retry())}):h.jsx(h.Fragment,{children:n}))},ShowWhileLoading:o("loading"),ShowWhenError:o("error",()=>[l.getErrors()??[],()=>l.retry()]),ShowWhenFinish:o(["error","success"],()=>[l.getErrors(),()=>l.retry()]),ShowWhen:({children:n,state:u})=>{const f=o(u);return h.jsx(f,{children:n})}};return l},oe=({of:a,fallback:e,errorFallback:t,children:r})=>{const s=a.map(i=>i.use());return e=F(void 0,e),s.some(i=>i==="loading")?e:s.every(i=>i!=="loading")?s.some(i=>i==="error")?(t=A(void 0,t),h.jsx(h.Fragment,{children:w(t,a.reduce((i,o)=>[...i,...o.getErrors()??[]],[]),()=>{a.map(i=>{i.isError()&&i.retry()})})})):h.jsx(h.Fragment,{children:r}):null};d.AllLoaded=oe,d.createLoading=ae,d.errorFallbacks=D,d.fallbacks=V,d.getDefaultErrorFallback=j,d.getDefaultFallback=P,d.reactNodeOrFunctionValue=w,d.registerDefaultErrorFallback=I,d.registerDefaultFallback=q,d.registerErrorFallback=z,d.registerFallback=$,d.resolveErrorFallback=A,d.resolveLoadingFallback=F,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-easy-loading",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "keywords": [