@ossy/sdk-react 3.0.8 → 3.8.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__assign as r}from"../../../node_modules/tslib/tslib.es6.js";import t,{createContext as
|
|
1
|
+
import{__assign as r}from"../../../node_modules/tslib/tslib.es6.js";import t,{createContext as n,useContext as e,useRef as u,useReducer as o,useCallback as c,useMemo as i}from"react";import{AsyncStatus as a}from"./asyncStatus.js";import{emptyEntry as f}from"./cacheEntry.js";var s=n({}),l=function(n){var e=n.get,l=n.set,d=n.getInitialState;return function(n){var v,h=u(null!==(v=null==d?void 0:d())&&void 0!==v?v:{}),m=o(function(r){return r+1},0)[1],p=u(new Set),y=u(new Map),E=c(function(){p.current.forEach(function(r){return r()})},[]),S=c(function(r){h.current=r,m(),E()},[E]),g=c(function(r){return e(r,h.current)},[e]),w=c(function(r){return function(t){var n=e(r,h.current),u="function"==typeof t?t(n):t;S(l(r,u,h.current))}},[e,l,S]),b=c(function(r){var t=e(r,h.current);return null!=t?t:f()},[e]),j=c(function(r,t){var n,u=null!==(n=e(r,h.current))&&void 0!==n?n:f(),o="function"==typeof t?t(u):t;S(l(r,o,h.current))},[e,l,S]),A=c(function(r){for(var t=Array.isArray(r)?r:[r],n=h.current,e=0,u=t;e<u.length;e++){var o=u[e];y.current.delete(o),n=l(o,f(),n)}S(n)},[l,S]),P=c(function(r){return p.current.add(r),function(){return p.current.delete(r)}},[]),k=c(function(t,n){var e=y.current.get(t);if(e)return e;j(t,function(t){return t.status===a.Success?r(r({},t),{error:null}):r(r({},t),{status:a.Loading,error:null})});var u=n().then(function(r){return j(t,{status:a.Success,data:r,error:null}),r}).catch(function(r){var n=r instanceof Error?r:new Error(String(r));throw j(t,{status:a.Error,data:void 0,error:n}),n}).finally(function(){y.current.delete(t)});return y.current.set(t,u),u},[j]),q=i(function(){return{getEntry:b,setEntry:j,invalidate:A,subscribe:P,fetch:k}},[b,j,A,P,k]);return t.createElement(s.Provider,{value:{get:g,set:w,readStore:q}},n.children)}},d=function(){var r=e(s).readStore;if(!r)throw new Error("useReadCacheStore requires WorkspaceProvider");return r};export{s as CacheContext,l as createCache,d as useReadCacheStore};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import r,{createContext as e,useMemo as t}from"react";import{createCache as n,useReadCacheStore as o}from"./Cache.js";import{createMapCache as a}from"./cacheUtils.js";import{ReactSdk as i}from"./react-sdk.js";import{usePushInvalidation as m}from"./usePushInvalidation.js";var
|
|
1
|
+
import r,{createContext as e,useMemo as t}from"react";import{createCache as n,useReadCacheStore as o}from"./Cache.js";import{createMapCache as a}from"./cacheUtils.js";import{ReactSdk as i}from"./react-sdk.js";import{usePushInvalidation as m}from"./usePushInvalidation.js";var u=e({}),c=n(a());function l(r){var e=r.sdk,t=o();return m(e,t),null}var s=function(e){var n=e.sdk,o=e.enablePushInvalidation,a=void 0!==o&&o,m=e.children,s=t(function(){return i.from(n)},[n]),d=t(function(){return{sdk:s}},[s]);return r.createElement(c,null,r.createElement(u.Provider,{value:d},a&&r.createElement(l,{sdk:s}),m))};export{u as Context,s as WorkspaceProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as
|
|
1
|
+
import{__awaiter as r,__generator as e}from"../../../node_modules/tslib/tslib.es6.js";import{useContext as t,useRef as o,useCallback as n,useMemo as i}from"react";import{cacheKey as s}from"./cacheKey.js";import{Context as c}from"./WorkspaceProvider.js";import{useReadCacheStore as u}from"./Cache.js";import{useRead as a}from"./useRead.js";import{rollbackOptimisticResource as d,applyOptimisticResource as m}from"./optimisticResource.js";function l(){var l=this,f=t(c).sdk,v=u(),p=o(v);p.current=v;var h=o(new Map),k=n(function(r){p.current.invalidate(r)},[]),j=n(function(r,e){return f.invoke(r,e)},[f]),I=n(function(t,o,n){return r(l,void 0,void 0,function(){var r,i,s;return e(this,function(e){switch(e.label){case 0:r=p.current,i=null,(null==n?void 0:n.resourceId)&&(i=m(r,n))&&h.current.set(n.resourceId,i),e.label=1;case 1:return e.trys.push([1,3,,4]),[4,f.invoke(t,o)];case 2:return[2,e.sent()];case 3:throw s=e.sent(),(null==n?void 0:n.resourceId)&&(d(r,n.resourceId,i),h.current.delete(n.resourceId)),s;case 4:return[2]}})})},[f]);return i(function(){return{invoke:j,invokeOptimistic:I,read:a,invalidate:k,cacheKey:s,sdk:f}},[j,I,k,f])}export{l as useSdk};
|
package/build/types/Cache.d.ts
CHANGED
|
@@ -14,6 +14,11 @@ export interface ReadCacheStore {
|
|
|
14
14
|
subscribe: (listener: Listener) => () => void;
|
|
15
15
|
fetch: <T>(key: string, fetcher: () => Promise<T>) => Promise<T>;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Keep the store object identity stable across cache writes.
|
|
19
|
+
* `getEntry` used to close over `state`, so every completed read rebuilt
|
|
20
|
+
* `useSdk()` and retriggered `useEffect(..., [sdk])` loaders (~0.5s flicker).
|
|
21
|
+
*/
|
|
17
22
|
export declare const createCache: ({ get: _get, set: _set, getInitialState, }: CacheConfig) => (props: any) => React.JSX.Element;
|
|
18
23
|
export declare const useCache: (cacheKey: string, defaultValue?: unknown) => {
|
|
19
24
|
data: any;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ossy/sdk-react",
|
|
3
3
|
"description": "Software Development Kit React",
|
|
4
|
-
"version": "3.0
|
|
4
|
+
"version": "3.8.0",
|
|
5
5
|
"url": "git://github.com/ossy-se/packages/sdk-react",
|
|
6
6
|
"source": "src/public.index.ts",
|
|
7
7
|
"main": "./build/packages/sdk-react/src/public.index.js",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"/build",
|
|
54
54
|
"README.md"
|
|
55
55
|
],
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "14548dfc2019e7258e8c75db527acbf66fe829bd"
|
|
57
57
|
}
|