pocketbase-react 0.1.6 → 0.1.7
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.
- package/dist/pocketbase-react.js +1 -1
- package/dist/pocketbase-react.min.js +1 -1
- package/es/context/content.d.ts +6 -6
- package/es/hooks/useAppContent.d.ts +15 -8
- package/es/hooks/useAppContent.js +1 -1
- package/lib/hooks/useAppContent.js +1 -1
- package/package.json +1 -1
- package/src/context/content.tsx +6 -6
- package/src/hooks/useAppContent.ts +19 -3
package/dist/pocketbase-react.js
CHANGED
|
@@ -6168,7 +6168,7 @@
|
|
|
6168
6168
|
const actions = {
|
|
6169
6169
|
subscribe: async () => await (context == null ? void 0 : context.subscribe(collectionName)),
|
|
6170
6170
|
unsubscribe: () => context == null ? void 0 : context.unsubscribe(collectionName),
|
|
6171
|
-
|
|
6171
|
+
fetch: async () => await (context == null ? void 0 : context.fetch(collectionName)),
|
|
6172
6172
|
create: async record => await (context == null ? void 0 : context.create(collectionName, record)),
|
|
6173
6173
|
update: async (id, record) => await (context == null ? void 0 : context.update(collectionName, id, record)),
|
|
6174
6174
|
delete: async id => await (context == null ? void 0 : context.delete(collectionName, id))
|
|
@@ -25,4 +25,4 @@
|
|
|
25
25
|
* This source code is licensed under the MIT license found in the
|
|
26
26
|
* LICENSE file in the root directory of this source tree.
|
|
27
27
|
*/
|
|
28
|
-
var Xr,Gr=Symbol.for("react.element"),Yr=Symbol.for("react.portal"),Qr=Symbol.for("react.fragment"),Zr=Symbol.for("react.strict_mode"),en=Symbol.for("react.profiler"),tn=Symbol.for("react.provider"),rn=Symbol.for("react.context"),nn=Symbol.for("react.server_context"),on=Symbol.for("react.forward_ref"),un=Symbol.for("react.suspense"),cn=Symbol.for("react.suspense_list"),an=Symbol.for("react.memo"),fn=Symbol.for("react.lazy"),sn=Symbol.for("react.offscreen");function ln(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case Gr:switch(e=e.type){case Qr:case en:case Zr:case un:case cn:return e;default:switch(e=e&&e.$$typeof){case nn:case rn:case on:case fn:case an:case tn:return e;default:return t}}case Yr:return t}}}Xr=Symbol.for("react.module.reference");var pn={ContextConsumer:rn,ContextProvider:tn,Element:Gr,ForwardRef:on,Fragment:Qr,Lazy:fn,Memo:an,Portal:Yr,Profiler:en,StrictMode:Zr,Suspense:un,SuspenseList:cn,isAsyncMode:function(){return!1},isConcurrentMode:function(){return!1},isContextConsumer:function(e){return ln(e)===rn},isContextProvider:function(e){return ln(e)===tn},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===Gr},isForwardRef:function(e){return ln(e)===on},isFragment:function(e){return ln(e)===Qr},isLazy:function(e){return ln(e)===fn},isMemo:function(e){return ln(e)===an},isPortal:function(e){return ln(e)===Yr},isProfiler:function(e){return ln(e)===en},isStrictMode:function(e){return ln(e)===Zr},isSuspense:function(e){return ln(e)===un},isSuspenseList:function(e){return ln(e)===cn},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===Qr||e===en||e===Zr||e===un||e===cn||e===sn||"object"==typeof e&&null!==e&&(e.$$typeof===fn||e.$$typeof===an||e.$$typeof===tn||e.$$typeof===rn||e.$$typeof===on||e.$$typeof===Xr||void 0!==e.getModuleId)},typeOf:ln};u((function(e){e.exports=pn}));const yn={notify(){},get:()=>[]};function dn(e,t){let r,n=yn;function o(){u.onStateChange&&u.onStateChange()}function i(){r||(r=t?t.addNestedSub(o):e.subscribe(o),n=function(){const e=mr();let t=null,r=null;return{clear(){t=null,r=null},notify(){e((()=>{let e=t;for(;e;)e.callback(),e=e.next}))},get(){let e=[],r=t;for(;r;)e.push(r),r=r.next;return e},subscribe(e){let n=!0,o=r={callback:e,next:null,prev:r};return o.prev?o.prev.next=o:t=o,function(){n&&null!==t&&(n=!1,o.next?o.next.prev=o.prev:r=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}())}const u={addNestedSub:function(e){return i(),n.subscribe(e)},notifyNestedSubs:function(){n.notify()},handleChangeWrapper:o,isSubscribed:function(){return!!r},trySubscribe:i,tryUnsubscribe:function(){r&&(r(),r=void 0,n.clear(),n=yn)},getListeners:()=>n};return u}const bn=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?z.useLayoutEffect:z.useEffect;function vn({store:e,context:t,children:r,serverState:n}){const o=z.useMemo((()=>{const t=dn(e);return{store:e,subscription:t,getServerState:n?()=>n:void 0}}),[e,n]),i=z.useMemo((()=>e.getState()),[e]);bn((()=>{const{subscription:t}=o;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),i!==e.getState()&&t.notifyNestedSubs(),()=>{t.tryUnsubscribe(),t.onStateChange=void 0}}),[o,i]);return z.createElement((t||gr).Provider,{value:o},r)}Sr=vr.useSyncExternalStoreWithSelector,hr=t.unstable_batchedUpdates;var hn=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};const{hasOwnProperty:mn}=Object.prototype,{propertyIsEnumerable:gn}=Object,On=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),Sn=i,wn={concatArrays:!1,ignoreUndefined:!1},Pn=e=>{const t=[];for(const r in e)mn.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)gn.call(e,n)&&t.push(n)}return t};function jn(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return Pn(e).forEach((r=>{On(t,r,jn(e[r]))})),t}(e):hn(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return Pn(e).forEach((r=>{On(t,r,jn(e[r]))})),t}(e):e}const En=(e,t,r,n)=>(r.forEach((r=>{void 0===t[r]&&n.ignoreUndefined||On(e,r,r in e&&e[r]!==Object.getPrototypeOf(e)?_n(e[r],t[r],n):jn(t[r]))})),e);function _n(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?((e,t,r)=>{let n=e.slice(0,0),o=0;return[e,t].forEach((t=>{const i=[];for(let r=0;t.length>r;r++)mn.call(t,r)&&(i.push(r+""),On(n,o++,t===e?t[r]:jn(t[r])));n=En(n,t,Pn(t).filter((e=>!i.includes(e))),r)})),n})(e,t,r):hn(t)&&hn(e)?En(e,t,Pn(t),r):jn(t)}const xn=function(...e){const t=_n(jn(wn),this!==Sn&&this||{},wn);let r={_:{}};for(const n of e)if(void 0!==n){if(!hn(n))throw new TypeError("`"+n+"` is not an Option Object");r=_n(r,{_:n},t)}return r._}.bind({concatArrays:!0,ignoreUndefined:!0});function kn(e,t){return new Promise(((r,n)=>{try{const n=e();null==t||t(null,n),r(n)}catch(e){null==t||t(e),n(e)}}))}function Rn(e,t,r){return Promise.all(e).then((e=>{var n;const o=null!==(n=null==r?void 0:r(e))&&void 0!==n?n:null;return null==t||t(null,o),Promise.resolve(o)}),(e=>(null==t||t(e),Promise.reject(e))))}const An={getItem:(e,t)=>kn((()=>window.localStorage.getItem(e)),t),setItem:(e,t,r)=>kn((()=>window.localStorage.setItem(e,t)),r),removeItem:(e,t)=>kn((()=>window.localStorage.removeItem(e)),t),mergeItem:(e,t,r)=>kn((()=>function(e,t){const r=window.localStorage.getItem(e);if(r){const n=JSON.parse(r),o=JSON.parse(t),i=JSON.stringify(xn(n,o));window.localStorage.setItem(e,i)}else window.localStorage.setItem(e,t)}(e,t)),r),clear:e=>kn((()=>window.localStorage.clear()),e),getAllKeys:e=>kn((()=>{const e=window.localStorage.length,t=[];for(let r=0;e>r;r+=1){const e=window.localStorage.key(r)||"";t.push(e)}return t}),e),flushGetRequests:()=>{},multiGet:(e,t)=>Rn(e.map((e=>An.getItem(e))),t,(t=>t.map(((t,r)=>[e[r],t])))),multiSet:(e,t)=>Rn(e.map((e=>An.setItem(e[0],e[1]))),t),multiRemove:(e,t)=>Rn(e.map((e=>An.removeItem(e))),t),multiMerge:(e,t)=>Rn(e.map((e=>An.mergeItem(e[0],e[1]))),t)},Cn={key:"root",storage:{getItem:async(e,...t)=>"undefined"!=typeof document?localStorage.getItem(e):"undefined"!=typeof navigator&&"ReactNative"===navigator.product?await An.getItem(e):void 0,setItem:async(e,t,...r)=>"undefined"!=typeof document?localStorage.setItem(e,t):"undefined"!=typeof navigator&&"ReactNative"===navigator.product?await An.setItem(e,t):void 0,removeItem:async(e,...t)=>"undefined"!=typeof document?localStorage.removeItem(e):"undefined"!=typeof navigator&&"ReactNative"===navigator.product?await An.removeItem(e):void 0}},Dn=ae({reducer:function(e,t){var r=void 0!==e.version?e.version:-1,n=void 0===e.stateReconciler?Ft:e.stateReconciler,o=e.getStoredState||zt,i=void 0!==e.timeout?e.timeout:5e3,u=null,c=!1,a=!0,f=function(e){return e._persist.rehydrated&&u&&!a&&u.update(e),e};return function(s,l){var p=s||{},y=p._persist,d=Jt(p,["_persist"]);if(l.type===Dt){var b=!1,v=function(t,r){b||(l.rehydrate(e.key,t,r),b=!0)};if(i&&setTimeout((function(){!b&&v(void 0,Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))}),i),a=!1,u||(u=Lt(e)),y)return Kt({},t(d,l),{_persist:y});if("function"!=typeof l.rehydrate||"function"!=typeof l.register)throw Error("redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.");return l.register(e.key),o(e).then((function(t){var n=e.migrate||function(e,t){return Promise.resolve(e)};n(t,r).then((function(e){v(e)}),(function(e){v(void 0,e)}))}),(function(e){v(void 0,e)})),Kt({},t(d,l),{_persist:{version:r,rehydrated:!1}})}if(l.type===$t)return c=!0,l.result(function(e){var t=e.storage,r="".concat(void 0!==e.keyPrefix?e.keyPrefix:kt).concat(e.key);return t.removeItem(r,Wt)}(e)),Kt({},t(d,l),{_persist:y});if(l.type===Rt)return l.result(u&&u.flush()),Kt({},t(d,l),{_persist:y});if(l.type===Ct)a=!0;else if(l.type===At){if(c)return Kt({},d,{_persist:Kt({},y,{rehydrated:!0})});if(l.key===e.key){var h=t(d,l),m=l.payload,g=Kt({},!1!==n&&void 0!==m?n(m,s,h,e):h,{_persist:Kt({},y,{rehydrated:!0})});return f(g)}}if(!y)return t(s,l);var O=t(d,l);return O===d?s:f(Kt({},O,{_persist:y}))}}(Cn,he)}),$n=function(e){var t,r=xt(),n=e||{},o=n.reducer,i=void 0===o?void 0:o,u=n.middleware,c=void 0===u?r():u,a=n.devTools,f=void 0===a||a,s=n.preloadedState,l=void 0===s?void 0:s,p=n.enhancers,y=void 0===p?void 0:p;if("function"==typeof i)t=i;else{if(!function(e){if("object"!=typeof e||null===e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;for(var r=t;null!==Object.getPrototypeOf(r);)r=Object.getPrototypeOf(r);return t===r}(i))throw Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');t=ae(i)}var d=c;"function"==typeof d&&(d=d(r));var b=se.apply(void 0,d),v=fe;f&&(v=Et(function(e,t){for(var r in t||(t={}))wt.call(t,r)&&jt(e,r,t[r]);if(St)for(var n=0,o=St(t);o.length>n;n++)Pt.call(t,r=o[n])&&jt(e,r,t[r]);return e}({trace:!1},"object"==typeof f&&f)));var h=[b];return Array.isArray(y)?h=gt([b],y):"function"==typeof y&&(h=y(h)),ce(t,l,v.apply(void 0,h))}({reducer:Dn,middleware:[ht]}),In=$n.dispatch,Tn=jr,Nn=function(e,t,r){var n=r||!1,o=ce(Zt,Qt,t&&t.enhancer?t.enhancer:void 0),i=function(e){o.dispatch({type:It,key:e})},u=function(t,r,i){var u={type:At,payload:r,err:i,key:t};e.dispatch(u),o.dispatch(u),n&&c.getState().bootstrapped&&(n(),n=!1)},c=Gt({},o,{purge:function(){var t=[];return e.dispatch({type:$t,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:Rt,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:Ct})},persist:function(){e.dispatch({type:Dt,register:i,rehydrate:u})}});return t&&t.manualPersist||c.persist(),c}($n),Mn=()=>z.useContext(Un),Fn=z.createContext(null),Ln=e=>{const t=Mn(),r=In,[n,o]=z.useState(e.collections||[]),i={subscribe:async e=>{await(null==t?void 0:t.realtime.subscribe(e,(t=>{switch(t.action){case"create":r(X(e,t.record));break;case"update":r(Y(e,t.record));break;case"delete":r(G(e,t.record))}})))},unsubscribe:e=>{e?null==t||t.realtime.unsubscribe(e):null==t||t.realtime.unsubscribe()},fetch:async e=>{const n=await(null==t?void 0:t.records.getFullList(e,200));r(H(e,n))},create:async(e,r)=>{await(null==t?void 0:t.records.create(e,r))},update:async(e,r,n)=>{await(null==t?void 0:t.records.update(e,r,n))},delete:async(e,r)=>{await(null==t?void 0:t.records.delete(e,r))}};return z.useEffect((()=>(n&&n.forEach((e=>{i.fetch(e),i.subscribe(e)})),()=>i.unsubscribe())),[n]),z.createElement(Fn.Provider,{value:i},e.children)},Un=z.createContext(null),zn=e=>z.createElement(Un.Provider,{value:e.client},e.children);function Vn(e){return Vn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Vn(e)}function Wn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qn(e,t){for(var r=0;t.length>r;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Kn(e,t){return!t||"object"!==Vn(t)&&"function"!=typeof t?Jn(e):t}function Bn(e){return Bn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},Bn(e)}function Jn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hn(e,t){return Hn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Hn(e,t)}function Xn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Gn=function(e){function t(){var e,r;Wn(this,t);for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];return Xn(Jn(r=Kn(this,(e=Bn(t)).call.apply(e,[this].concat(o)))),"state",{bootstrapped:!1}),Xn(Jn(r),"_unsubscribe",void 0),Xn(Jn(r),"handlePersistorState",(function(){r.props.persistor.getState().bootstrapped&&(r.props.onBeforeLift?Promise.resolve(r.props.onBeforeLift()).finally((function(){return r.setState({bootstrapped:!0})})):r.setState({bootstrapped:!0}),r._unsubscribe&&r._unsubscribe())})),r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Hn(e,t)}(t,e),r=t,(n=[{key:"componentDidMount",value:function(){this._unsubscribe=this.props.persistor.subscribe(this.handlePersistorState),this.handlePersistorState()}},{key:"componentWillUnmount",value:function(){this._unsubscribe&&this._unsubscribe()}},{key:"render",value:function(){return"function"==typeof this.props.children?this.props.children(this.state.bootstrapped):this.state.bootstrapped?this.props.children:this.props.loading}}])&&qn(r.prototype,n),o&&qn(r,o),t}(z.PureComponent);Xn(Gn,"defaultProps",{children:null,loading:null});const Yn=z.createContext(null);e.ADD_RECORD=W,e.ADD_RECORDS=q,e.ClientContext=Un,e.ClientProvider=zn,e.ContentContext=Fn,e.ContentProvider=Ln,e.DELETE_RECORD=B,e.DELETE_RECORDS=J,e.Pocketbase=e=>{const[t,r]=z.useState(null);return z.useEffect((()=>{const t=new o.default(e.serverURL);t.admins.authViaEmail(e.credentials.username,e.credentials.password).then((()=>{r(t)}))}),[e.serverURL]),t?z.createElement(zn,{client:t},z.createElement(vn,{store:$n},z.createElement(Gn,{persistor:Nn},z.createElement(Ln,{collections:e.initialCollections},e.children)))):null},e.PocketbaseContext=Yn,e.SET_RECORDS=V,e.UPDATE_RECORD=K,e.appReducer=he,e.persistConfig=Cn,e.persistor=Nn,e.recordsAction=Q,e.store=$n,e.useAppContent=function(e,t=!1){var r;const n=null!=(r=Tn((t=>t.reducer.records[e])))?r:[],o=z.useContext(Fn);return z.useEffect((()=>{t&&(null==o||o.fetch(e))}),[e,t]),{records:n,actions:{subscribe:async()=>await(null==o?void 0:o.subscribe(e)),unsubscribe:()=>null==o?void 0:o.unsubscribe(e),refetch:async()=>await(null==o?void 0:o.fetch(e)),create:async t=>await(null==o?void 0:o.create(e,t)),update:async(t,r)=>await(null==o?void 0:o.update(e,t,r)),delete:async t=>await(null==o?void 0:o.delete(e,t))}}},e.useAppDispatch=In,e.useAppSelector=Tn,e.useClientContext=Mn,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
28
|
+
var Xr,Gr=Symbol.for("react.element"),Yr=Symbol.for("react.portal"),Qr=Symbol.for("react.fragment"),Zr=Symbol.for("react.strict_mode"),en=Symbol.for("react.profiler"),tn=Symbol.for("react.provider"),rn=Symbol.for("react.context"),nn=Symbol.for("react.server_context"),on=Symbol.for("react.forward_ref"),un=Symbol.for("react.suspense"),cn=Symbol.for("react.suspense_list"),an=Symbol.for("react.memo"),fn=Symbol.for("react.lazy"),sn=Symbol.for("react.offscreen");function ln(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case Gr:switch(e=e.type){case Qr:case en:case Zr:case un:case cn:return e;default:switch(e=e&&e.$$typeof){case nn:case rn:case on:case fn:case an:case tn:return e;default:return t}}case Yr:return t}}}Xr=Symbol.for("react.module.reference");var pn={ContextConsumer:rn,ContextProvider:tn,Element:Gr,ForwardRef:on,Fragment:Qr,Lazy:fn,Memo:an,Portal:Yr,Profiler:en,StrictMode:Zr,Suspense:un,SuspenseList:cn,isAsyncMode:function(){return!1},isConcurrentMode:function(){return!1},isContextConsumer:function(e){return ln(e)===rn},isContextProvider:function(e){return ln(e)===tn},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===Gr},isForwardRef:function(e){return ln(e)===on},isFragment:function(e){return ln(e)===Qr},isLazy:function(e){return ln(e)===fn},isMemo:function(e){return ln(e)===an},isPortal:function(e){return ln(e)===Yr},isProfiler:function(e){return ln(e)===en},isStrictMode:function(e){return ln(e)===Zr},isSuspense:function(e){return ln(e)===un},isSuspenseList:function(e){return ln(e)===cn},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===Qr||e===en||e===Zr||e===un||e===cn||e===sn||"object"==typeof e&&null!==e&&(e.$$typeof===fn||e.$$typeof===an||e.$$typeof===tn||e.$$typeof===rn||e.$$typeof===on||e.$$typeof===Xr||void 0!==e.getModuleId)},typeOf:ln};u((function(e){e.exports=pn}));const yn={notify(){},get:()=>[]};function dn(e,t){let r,n=yn;function o(){u.onStateChange&&u.onStateChange()}function i(){r||(r=t?t.addNestedSub(o):e.subscribe(o),n=function(){const e=mr();let t=null,r=null;return{clear(){t=null,r=null},notify(){e((()=>{let e=t;for(;e;)e.callback(),e=e.next}))},get(){let e=[],r=t;for(;r;)e.push(r),r=r.next;return e},subscribe(e){let n=!0,o=r={callback:e,next:null,prev:r};return o.prev?o.prev.next=o:t=o,function(){n&&null!==t&&(n=!1,o.next?o.next.prev=o.prev:r=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}())}const u={addNestedSub:function(e){return i(),n.subscribe(e)},notifyNestedSubs:function(){n.notify()},handleChangeWrapper:o,isSubscribed:function(){return!!r},trySubscribe:i,tryUnsubscribe:function(){r&&(r(),r=void 0,n.clear(),n=yn)},getListeners:()=>n};return u}const bn=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?z.useLayoutEffect:z.useEffect;function vn({store:e,context:t,children:r,serverState:n}){const o=z.useMemo((()=>{const t=dn(e);return{store:e,subscription:t,getServerState:n?()=>n:void 0}}),[e,n]),i=z.useMemo((()=>e.getState()),[e]);bn((()=>{const{subscription:t}=o;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),i!==e.getState()&&t.notifyNestedSubs(),()=>{t.tryUnsubscribe(),t.onStateChange=void 0}}),[o,i]);return z.createElement((t||gr).Provider,{value:o},r)}Sr=vr.useSyncExternalStoreWithSelector,hr=t.unstable_batchedUpdates;var hn=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};const{hasOwnProperty:mn}=Object.prototype,{propertyIsEnumerable:gn}=Object,On=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),Sn=i,wn={concatArrays:!1,ignoreUndefined:!1},Pn=e=>{const t=[];for(const r in e)mn.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)gn.call(e,n)&&t.push(n)}return t};function jn(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return Pn(e).forEach((r=>{On(t,r,jn(e[r]))})),t}(e):hn(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return Pn(e).forEach((r=>{On(t,r,jn(e[r]))})),t}(e):e}const En=(e,t,r,n)=>(r.forEach((r=>{void 0===t[r]&&n.ignoreUndefined||On(e,r,r in e&&e[r]!==Object.getPrototypeOf(e)?_n(e[r],t[r],n):jn(t[r]))})),e);function _n(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?((e,t,r)=>{let n=e.slice(0,0),o=0;return[e,t].forEach((t=>{const i=[];for(let r=0;t.length>r;r++)mn.call(t,r)&&(i.push(r+""),On(n,o++,t===e?t[r]:jn(t[r])));n=En(n,t,Pn(t).filter((e=>!i.includes(e))),r)})),n})(e,t,r):hn(t)&&hn(e)?En(e,t,Pn(t),r):jn(t)}const xn=function(...e){const t=_n(jn(wn),this!==Sn&&this||{},wn);let r={_:{}};for(const n of e)if(void 0!==n){if(!hn(n))throw new TypeError("`"+n+"` is not an Option Object");r=_n(r,{_:n},t)}return r._}.bind({concatArrays:!0,ignoreUndefined:!0});function kn(e,t){return new Promise(((r,n)=>{try{const n=e();null==t||t(null,n),r(n)}catch(e){null==t||t(e),n(e)}}))}function Rn(e,t,r){return Promise.all(e).then((e=>{var n;const o=null!==(n=null==r?void 0:r(e))&&void 0!==n?n:null;return null==t||t(null,o),Promise.resolve(o)}),(e=>(null==t||t(e),Promise.reject(e))))}const An={getItem:(e,t)=>kn((()=>window.localStorage.getItem(e)),t),setItem:(e,t,r)=>kn((()=>window.localStorage.setItem(e,t)),r),removeItem:(e,t)=>kn((()=>window.localStorage.removeItem(e)),t),mergeItem:(e,t,r)=>kn((()=>function(e,t){const r=window.localStorage.getItem(e);if(r){const n=JSON.parse(r),o=JSON.parse(t),i=JSON.stringify(xn(n,o));window.localStorage.setItem(e,i)}else window.localStorage.setItem(e,t)}(e,t)),r),clear:e=>kn((()=>window.localStorage.clear()),e),getAllKeys:e=>kn((()=>{const e=window.localStorage.length,t=[];for(let r=0;e>r;r+=1){const e=window.localStorage.key(r)||"";t.push(e)}return t}),e),flushGetRequests:()=>{},multiGet:(e,t)=>Rn(e.map((e=>An.getItem(e))),t,(t=>t.map(((t,r)=>[e[r],t])))),multiSet:(e,t)=>Rn(e.map((e=>An.setItem(e[0],e[1]))),t),multiRemove:(e,t)=>Rn(e.map((e=>An.removeItem(e))),t),multiMerge:(e,t)=>Rn(e.map((e=>An.mergeItem(e[0],e[1]))),t)},Cn={key:"root",storage:{getItem:async(e,...t)=>"undefined"!=typeof document?localStorage.getItem(e):"undefined"!=typeof navigator&&"ReactNative"===navigator.product?await An.getItem(e):void 0,setItem:async(e,t,...r)=>"undefined"!=typeof document?localStorage.setItem(e,t):"undefined"!=typeof navigator&&"ReactNative"===navigator.product?await An.setItem(e,t):void 0,removeItem:async(e,...t)=>"undefined"!=typeof document?localStorage.removeItem(e):"undefined"!=typeof navigator&&"ReactNative"===navigator.product?await An.removeItem(e):void 0}},Dn=ae({reducer:function(e,t){var r=void 0!==e.version?e.version:-1,n=void 0===e.stateReconciler?Ft:e.stateReconciler,o=e.getStoredState||zt,i=void 0!==e.timeout?e.timeout:5e3,u=null,c=!1,a=!0,f=function(e){return e._persist.rehydrated&&u&&!a&&u.update(e),e};return function(s,l){var p=s||{},y=p._persist,d=Jt(p,["_persist"]);if(l.type===Dt){var b=!1,v=function(t,r){b||(l.rehydrate(e.key,t,r),b=!0)};if(i&&setTimeout((function(){!b&&v(void 0,Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))}),i),a=!1,u||(u=Lt(e)),y)return Kt({},t(d,l),{_persist:y});if("function"!=typeof l.rehydrate||"function"!=typeof l.register)throw Error("redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.");return l.register(e.key),o(e).then((function(t){var n=e.migrate||function(e,t){return Promise.resolve(e)};n(t,r).then((function(e){v(e)}),(function(e){v(void 0,e)}))}),(function(e){v(void 0,e)})),Kt({},t(d,l),{_persist:{version:r,rehydrated:!1}})}if(l.type===$t)return c=!0,l.result(function(e){var t=e.storage,r="".concat(void 0!==e.keyPrefix?e.keyPrefix:kt).concat(e.key);return t.removeItem(r,Wt)}(e)),Kt({},t(d,l),{_persist:y});if(l.type===Rt)return l.result(u&&u.flush()),Kt({},t(d,l),{_persist:y});if(l.type===Ct)a=!0;else if(l.type===At){if(c)return Kt({},d,{_persist:Kt({},y,{rehydrated:!0})});if(l.key===e.key){var h=t(d,l),m=l.payload,g=Kt({},!1!==n&&void 0!==m?n(m,s,h,e):h,{_persist:Kt({},y,{rehydrated:!0})});return f(g)}}if(!y)return t(s,l);var O=t(d,l);return O===d?s:f(Kt({},O,{_persist:y}))}}(Cn,he)}),$n=function(e){var t,r=xt(),n=e||{},o=n.reducer,i=void 0===o?void 0:o,u=n.middleware,c=void 0===u?r():u,a=n.devTools,f=void 0===a||a,s=n.preloadedState,l=void 0===s?void 0:s,p=n.enhancers,y=void 0===p?void 0:p;if("function"==typeof i)t=i;else{if(!function(e){if("object"!=typeof e||null===e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;for(var r=t;null!==Object.getPrototypeOf(r);)r=Object.getPrototypeOf(r);return t===r}(i))throw Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');t=ae(i)}var d=c;"function"==typeof d&&(d=d(r));var b=se.apply(void 0,d),v=fe;f&&(v=Et(function(e,t){for(var r in t||(t={}))wt.call(t,r)&&jt(e,r,t[r]);if(St)for(var n=0,o=St(t);o.length>n;n++)Pt.call(t,r=o[n])&&jt(e,r,t[r]);return e}({trace:!1},"object"==typeof f&&f)));var h=[b];return Array.isArray(y)?h=gt([b],y):"function"==typeof y&&(h=y(h)),ce(t,l,v.apply(void 0,h))}({reducer:Dn,middleware:[ht]}),In=$n.dispatch,Tn=jr,Nn=function(e,t,r){var n=r||!1,o=ce(Zt,Qt,t&&t.enhancer?t.enhancer:void 0),i=function(e){o.dispatch({type:It,key:e})},u=function(t,r,i){var u={type:At,payload:r,err:i,key:t};e.dispatch(u),o.dispatch(u),n&&c.getState().bootstrapped&&(n(),n=!1)},c=Gt({},o,{purge:function(){var t=[];return e.dispatch({type:$t,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:Rt,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:Ct})},persist:function(){e.dispatch({type:Dt,register:i,rehydrate:u})}});return t&&t.manualPersist||c.persist(),c}($n),Mn=()=>z.useContext(Un),Fn=z.createContext(null),Ln=e=>{const t=Mn(),r=In,[n,o]=z.useState(e.collections||[]),i={subscribe:async e=>{await(null==t?void 0:t.realtime.subscribe(e,(t=>{switch(t.action){case"create":r(X(e,t.record));break;case"update":r(Y(e,t.record));break;case"delete":r(G(e,t.record))}})))},unsubscribe:e=>{e?null==t||t.realtime.unsubscribe(e):null==t||t.realtime.unsubscribe()},fetch:async e=>{const n=await(null==t?void 0:t.records.getFullList(e,200));r(H(e,n))},create:async(e,r)=>{await(null==t?void 0:t.records.create(e,r))},update:async(e,r,n)=>{await(null==t?void 0:t.records.update(e,r,n))},delete:async(e,r)=>{await(null==t?void 0:t.records.delete(e,r))}};return z.useEffect((()=>(n&&n.forEach((e=>{i.fetch(e),i.subscribe(e)})),()=>i.unsubscribe())),[n]),z.createElement(Fn.Provider,{value:i},e.children)},Un=z.createContext(null),zn=e=>z.createElement(Un.Provider,{value:e.client},e.children);function Vn(e){return Vn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Vn(e)}function Wn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qn(e,t){for(var r=0;t.length>r;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Kn(e,t){return!t||"object"!==Vn(t)&&"function"!=typeof t?Jn(e):t}function Bn(e){return Bn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},Bn(e)}function Jn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hn(e,t){return Hn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Hn(e,t)}function Xn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Gn=function(e){function t(){var e,r;Wn(this,t);for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];return Xn(Jn(r=Kn(this,(e=Bn(t)).call.apply(e,[this].concat(o)))),"state",{bootstrapped:!1}),Xn(Jn(r),"_unsubscribe",void 0),Xn(Jn(r),"handlePersistorState",(function(){r.props.persistor.getState().bootstrapped&&(r.props.onBeforeLift?Promise.resolve(r.props.onBeforeLift()).finally((function(){return r.setState({bootstrapped:!0})})):r.setState({bootstrapped:!0}),r._unsubscribe&&r._unsubscribe())})),r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Hn(e,t)}(t,e),r=t,(n=[{key:"componentDidMount",value:function(){this._unsubscribe=this.props.persistor.subscribe(this.handlePersistorState),this.handlePersistorState()}},{key:"componentWillUnmount",value:function(){this._unsubscribe&&this._unsubscribe()}},{key:"render",value:function(){return"function"==typeof this.props.children?this.props.children(this.state.bootstrapped):this.state.bootstrapped?this.props.children:this.props.loading}}])&&qn(r.prototype,n),o&&qn(r,o),t}(z.PureComponent);Xn(Gn,"defaultProps",{children:null,loading:null});const Yn=z.createContext(null);e.ADD_RECORD=W,e.ADD_RECORDS=q,e.ClientContext=Un,e.ClientProvider=zn,e.ContentContext=Fn,e.ContentProvider=Ln,e.DELETE_RECORD=B,e.DELETE_RECORDS=J,e.Pocketbase=e=>{const[t,r]=z.useState(null);return z.useEffect((()=>{const t=new o.default(e.serverURL);t.admins.authViaEmail(e.credentials.username,e.credentials.password).then((()=>{r(t)}))}),[e.serverURL]),t?z.createElement(zn,{client:t},z.createElement(vn,{store:$n},z.createElement(Gn,{persistor:Nn},z.createElement(Ln,{collections:e.initialCollections},e.children)))):null},e.PocketbaseContext=Yn,e.SET_RECORDS=V,e.UPDATE_RECORD=K,e.appReducer=he,e.persistConfig=Cn,e.persistor=Nn,e.recordsAction=Q,e.store=$n,e.useAppContent=function(e,t=!1){var r;const n=null!=(r=Tn((t=>t.reducer.records[e])))?r:[],o=z.useContext(Fn);return z.useEffect((()=>{t&&(null==o||o.fetch(e))}),[e,t]),{records:n,actions:{subscribe:async()=>await(null==o?void 0:o.subscribe(e)),unsubscribe:()=>null==o?void 0:o.unsubscribe(e),fetch:async()=>await(null==o?void 0:o.fetch(e)),create:async t=>await(null==o?void 0:o.create(e,t)),update:async(t,r)=>await(null==o?void 0:o.update(e,t,r)),delete:async t=>await(null==o?void 0:o.delete(e,t))}}},e.useAppDispatch=In,e.useAppSelector=Tn,e.useClientContext=Mn,Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/es/context/content.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
declare type SubscribeType = (collectionName: string) => Promise<void>;
|
|
3
|
+
declare type UnsubscribeType = (collectionName?: string) => void;
|
|
4
|
+
declare type FetchType = (collectionName: string) => Promise<void>;
|
|
5
|
+
declare type CreateType = (collectionName: string, record: {}) => Promise<void>;
|
|
6
|
+
declare type UpdateType = (collectionName: string, recordId: string, record: {}) => Promise<void>;
|
|
7
|
+
declare type DeleteType = (collectionName: string, recordId: string) => Promise<void>;
|
|
8
8
|
interface ContentActions {
|
|
9
9
|
subscribe: SubscribeType;
|
|
10
10
|
unsubscribe: UnsubscribeType;
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import { Record } from '../interfaces/Record';
|
|
2
|
+
export declare type SubscribeType = () => Promise<void | undefined>;
|
|
3
|
+
export declare type UnsubscribeType = () => void | undefined;
|
|
4
|
+
export declare type FetchType = () => Promise<void | undefined>;
|
|
5
|
+
export declare type CreateType = (record: {}) => Promise<void | undefined>;
|
|
6
|
+
export declare type UpdateType = (id: string, record: {}) => Promise<void | undefined>;
|
|
7
|
+
export declare type DeleteType = (id: string) => Promise<void | undefined>;
|
|
8
|
+
export interface Actions {
|
|
9
|
+
subscribe: SubscribeType;
|
|
10
|
+
unsubscribe: UnsubscribeType;
|
|
11
|
+
fetch: FetchType;
|
|
12
|
+
create: CreateType;
|
|
13
|
+
update: UpdateType;
|
|
14
|
+
delete: DeleteType;
|
|
15
|
+
}
|
|
2
16
|
export declare function useAppContent<T extends Record>(collectionName: string, initialFetch?: boolean): {
|
|
3
17
|
records: T[];
|
|
4
|
-
actions:
|
|
5
|
-
subscribe: () => Promise<void | undefined>;
|
|
6
|
-
unsubscribe: () => void | undefined;
|
|
7
|
-
refetch: () => Promise<void | undefined>;
|
|
8
|
-
create: (record: {}) => Promise<void | undefined>;
|
|
9
|
-
update: (id: string, record: {}) => Promise<void | undefined>;
|
|
10
|
-
delete: (id: string) => Promise<void | undefined>;
|
|
11
|
-
};
|
|
18
|
+
actions: Actions;
|
|
12
19
|
};
|
|
@@ -13,7 +13,7 @@ export function useAppContent(collectionName, initialFetch = false) {
|
|
|
13
13
|
const actions = {
|
|
14
14
|
subscribe: async () => await (context == null ? void 0 : context.subscribe(collectionName)),
|
|
15
15
|
unsubscribe: () => context == null ? void 0 : context.unsubscribe(collectionName),
|
|
16
|
-
|
|
16
|
+
fetch: async () => await (context == null ? void 0 : context.fetch(collectionName)),
|
|
17
17
|
create: async record => await (context == null ? void 0 : context.create(collectionName, record)),
|
|
18
18
|
update: async (id, record) => await (context == null ? void 0 : context.update(collectionName, id, record)),
|
|
19
19
|
delete: async id => await (context == null ? void 0 : context.delete(collectionName, id))
|
|
@@ -19,7 +19,7 @@ function useAppContent(collectionName, initialFetch = false) {
|
|
|
19
19
|
const actions = {
|
|
20
20
|
subscribe: async () => await (context == null ? void 0 : context.subscribe(collectionName)),
|
|
21
21
|
unsubscribe: () => context == null ? void 0 : context.unsubscribe(collectionName),
|
|
22
|
-
|
|
22
|
+
fetch: async () => await (context == null ? void 0 : context.fetch(collectionName)),
|
|
23
23
|
create: async record => await (context == null ? void 0 : context.create(collectionName, record)),
|
|
24
24
|
update: async (id, record) => await (context == null ? void 0 : context.update(collectionName, id, record)),
|
|
25
25
|
delete: async id => await (context == null ? void 0 : context.delete(collectionName, id))
|
package/package.json
CHANGED
package/src/context/content.tsx
CHANGED
|
@@ -5,12 +5,12 @@ import { useClientContext } from '../hooks/useClientContext';
|
|
|
5
5
|
import { Record } from '../interfaces/Record';
|
|
6
6
|
import { recordsAction } from '../store/actions';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
type SubscribeType = (collectionName: string) => Promise<void>;
|
|
9
|
+
type UnsubscribeType = (collectionName?: string) => void;
|
|
10
|
+
type FetchType = (collectionName: string) => Promise<void>;
|
|
11
|
+
type CreateType = (collectionName: string, record: {}) => Promise<void>;
|
|
12
|
+
type UpdateType = (collectionName: string, recordId: string, record: {}) => Promise<void>;
|
|
13
|
+
type DeleteType = (collectionName: string, recordId: string) => Promise<void>;
|
|
14
14
|
|
|
15
15
|
interface ContentActions {
|
|
16
16
|
subscribe: SubscribeType;
|
|
@@ -3,10 +3,26 @@ import * as store from '../store';
|
|
|
3
3
|
import { ContentContext } from '../context';
|
|
4
4
|
import { Record } from '../interfaces/Record';
|
|
5
5
|
|
|
6
|
+
export type SubscribeType = () => Promise<void | undefined>
|
|
7
|
+
export type UnsubscribeType = () => void | undefined;
|
|
8
|
+
export type FetchType = () => Promise<void | undefined>
|
|
9
|
+
export type CreateType = (record: {}) => Promise<void | undefined>
|
|
10
|
+
export type UpdateType = (id: string, record: {}) => Promise<void | undefined>
|
|
11
|
+
export type DeleteType = (id: string) => Promise<void | undefined>
|
|
12
|
+
|
|
13
|
+
export interface Actions {
|
|
14
|
+
subscribe: SubscribeType;
|
|
15
|
+
unsubscribe: UnsubscribeType;
|
|
16
|
+
fetch: FetchType;
|
|
17
|
+
create: CreateType;
|
|
18
|
+
update: UpdateType;
|
|
19
|
+
delete: DeleteType;
|
|
20
|
+
}
|
|
21
|
+
|
|
6
22
|
export function useAppContent<T extends Record>(
|
|
7
23
|
collectionName: string,
|
|
8
24
|
initialFetch: boolean = false
|
|
9
|
-
) {
|
|
25
|
+
): {records: T[], actions: Actions} {
|
|
10
26
|
const records = (store.useAppSelector((state) => state.reducer.records[collectionName]) ?? []) as T[];
|
|
11
27
|
const context = useContext(ContentContext);
|
|
12
28
|
|
|
@@ -16,10 +32,10 @@ export function useAppContent<T extends Record>(
|
|
|
16
32
|
}
|
|
17
33
|
}, [collectionName, initialFetch]);
|
|
18
34
|
|
|
19
|
-
const actions = {
|
|
35
|
+
const actions: Actions = {
|
|
20
36
|
subscribe: async () => await context?.subscribe(collectionName),
|
|
21
37
|
unsubscribe: () => context?.unsubscribe(collectionName),
|
|
22
|
-
|
|
38
|
+
fetch: async () => await context?.fetch(collectionName),
|
|
23
39
|
create: async (record: {}) => await context?.create(collectionName, record),
|
|
24
40
|
update: async (id: string, record: {}) => await context?.update(collectionName, id, record),
|
|
25
41
|
delete: async (id: string) => await context?.delete(collectionName, id),
|