pocketbase-react 0.1.25 → 0.1.27
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 +8 -8
- package/dist/pocketbase-react.min.js +1 -1
- package/es/context/auth.js +2 -2
- package/es/context/content.d.ts +4 -3
- package/es/context/content.js +3 -3
- package/es/hooks/useAppContent.d.ts +3 -3
- package/es/service/Storage.js +3 -3
- package/lib/context/auth.js +2 -2
- package/lib/context/content.js +3 -3
- package/lib/service/Storage.js +3 -3
- package/package.json +1 -1
- package/src/context/auth.tsx +2 -2
- package/src/context/content.tsx +10 -6
- package/src/hooks/useAppContent.ts +3 -5
- package/src/service/Storage.ts +3 -3
package/dist/pocketbase-react.js
CHANGED
|
@@ -5911,17 +5911,17 @@
|
|
|
5911
5911
|
|
|
5912
5912
|
class StorageService {
|
|
5913
5913
|
static async get(key) {
|
|
5914
|
-
return typeof
|
|
5914
|
+
return typeof document !== 'undefined' ? localStorage.getItem(key) : await AsyncStorage.getItem(key);
|
|
5915
5915
|
}
|
|
5916
5916
|
static async set(key, value) {
|
|
5917
|
-
if (typeof
|
|
5917
|
+
if (typeof document !== 'undefined') {
|
|
5918
5918
|
return localStorage.setItem(key, value);
|
|
5919
5919
|
} else {
|
|
5920
5920
|
return await AsyncStorage.setItem(key, value);
|
|
5921
5921
|
}
|
|
5922
5922
|
}
|
|
5923
5923
|
static async remove(key) {
|
|
5924
|
-
if (typeof
|
|
5924
|
+
if (typeof document !== 'undefined') {
|
|
5925
5925
|
return localStorage.removeItem(key);
|
|
5926
5926
|
} else {
|
|
5927
5927
|
return await AsyncStorage.removeItem(key);
|
|
@@ -6072,13 +6072,13 @@
|
|
|
6072
6072
|
}).catch(tempErrorHandler));
|
|
6073
6073
|
},
|
|
6074
6074
|
create: async (collectionName, record) => {
|
|
6075
|
-
await (client == null ? void 0 : client.records.create(collectionName, record).catch(tempErrorHandler));
|
|
6075
|
+
return await (client == null ? void 0 : client.records.create(collectionName, record).catch(tempErrorHandler));
|
|
6076
6076
|
},
|
|
6077
6077
|
update: async (collectionName, recordId, record) => {
|
|
6078
|
-
await (client == null ? void 0 : client.records.update(collectionName, recordId, record).catch(tempErrorHandler));
|
|
6078
|
+
return await (client == null ? void 0 : client.records.update(collectionName, recordId, record).catch(tempErrorHandler));
|
|
6079
6079
|
},
|
|
6080
6080
|
delete: async (collectionName, recordId) => {
|
|
6081
|
-
await (client == null ? void 0 : client.records.delete(collectionName, recordId).catch(tempErrorHandler));
|
|
6081
|
+
return await (client == null ? void 0 : client.records.delete(collectionName, recordId).catch(tempErrorHandler));
|
|
6082
6082
|
}
|
|
6083
6083
|
};
|
|
6084
6084
|
react.useEffect(() => {
|
|
@@ -6123,7 +6123,7 @@
|
|
|
6123
6123
|
},
|
|
6124
6124
|
signInWithProvider: async provider => {
|
|
6125
6125
|
const authProvider = authProviders == null ? void 0 : authProviders.find(p => p.name === provider);
|
|
6126
|
-
const redirectURL = typeof
|
|
6126
|
+
const redirectURL = typeof document !== 'undefined' ? props.webRedirectUrl : props.mobileRedirectUrl;
|
|
6127
6127
|
const url = (authProvider == null ? void 0 : authProvider.authUrl) + redirectURL;
|
|
6128
6128
|
await StorageService.set('provider', JSON.stringify(authProviders));
|
|
6129
6129
|
await props.openURL(url);
|
|
@@ -6137,7 +6137,7 @@
|
|
|
6137
6137
|
const providers = JSON.parse(providersString);
|
|
6138
6138
|
const authProvider = providers == null ? void 0 : providers.find(p => p.state === state);
|
|
6139
6139
|
if (authProvider && code) {
|
|
6140
|
-
await (client == null ? void 0 : client.users.authViaOAuth2(authProvider.name, code, authProvider.codeVerifier, typeof
|
|
6140
|
+
await (client == null ? void 0 : client.users.authViaOAuth2(authProvider.name, code, authProvider.codeVerifier, typeof document !== 'undefined' ? props.webRedirectUrl : props.mobileRedirectUrl));
|
|
6141
6141
|
}
|
|
6142
6142
|
}
|
|
6143
6143
|
},
|
|
@@ -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 Ir,Dr=Symbol.for("react.element"),$r=Symbol.for("react.portal"),Tr=Symbol.for("react.fragment"),Ur=Symbol.for("react.strict_mode"),Nr=Symbol.for("react.profiler"),Mr=Symbol.for("react.provider"),Lr=Symbol.for("react.context"),Fr=Symbol.for("react.server_context"),zr=Symbol.for("react.forward_ref"),Vr=Symbol.for("react.suspense"),Br=Symbol.for("react.suspense_list"),Wr=Symbol.for("react.memo"),qr=Symbol.for("react.lazy"),Kr=Symbol.for("react.offscreen");function Jr(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case Dr:switch(e=e.type){case Tr:case Nr:case Ur:case Vr:case Br:return e;default:switch(e=e&&e.$$typeof){case Fr:case Lr:case zr:case qr:case Wr:case Mr:return e;default:return t}}case $r:return t}}}Ir=Symbol.for("react.module.reference");var Hr={ContextConsumer:Lr,ContextProvider:Mr,Element:Dr,ForwardRef:zr,Fragment:Tr,Lazy:qr,Memo:Wr,Portal:$r,Profiler:Nr,StrictMode:Ur,Suspense:Vr,SuspenseList:Br,isAsyncMode:function(){return!1},isConcurrentMode:function(){return!1},isContextConsumer:function(e){return Jr(e)===Lr},isContextProvider:function(e){return Jr(e)===Mr},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===Dr},isForwardRef:function(e){return Jr(e)===zr},isFragment:function(e){return Jr(e)===Tr},isLazy:function(e){return Jr(e)===qr},isMemo:function(e){return Jr(e)===Wr},isPortal:function(e){return Jr(e)===$r},isProfiler:function(e){return Jr(e)===Nr},isStrictMode:function(e){return Jr(e)===Ur},isSuspense:function(e){return Jr(e)===Vr},isSuspenseList:function(e){return Jr(e)===Br},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===Tr||e===Nr||e===Ur||e===Vr||e===Br||e===Kr||"object"==typeof e&&null!==e&&(e.$$typeof===qr||e.$$typeof===Wr||e.$$typeof===Mr||e.$$typeof===Lr||e.$$typeof===zr||e.$$typeof===Ir||void 0!==e.getModuleId)},typeOf:Jr};u((function(e){e.exports=Hr}));const Xr={notify(){},get:()=>[]};function Gr(e,t){let r,n=Xr;function o(){u.onStateChange&&u.onStateChange()}function i(){r||(r=t?t.addNestedSub(o):e.subscribe(o),n=function(){const e=er();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=Xr)},getListeners:()=>n};return u}const Yr=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?z.useLayoutEffect:z.useEffect;function Qr({store:e,context:t,children:r,serverState:n}){const o=z.useMemo((()=>{const t=Gr(e);return{store:e,subscription:t,getServerState:n?()=>n:void 0}}),[e,n]),i=z.useMemo((()=>e.getState()),[e]);Yr((()=>{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||tr).Provider,{value:o},r)}nr=Qt.useSyncExternalStoreWithSelector,Zt=t.unstable_batchedUpdates;const Zr="SET_RECORDS",en="ADD_RECORD",tn="ADD_RECORDS",rn="UPDATE_RECORD",nn="DELETE_RECORD",on="DELETE_RECORDS",un="SET_SUBSCRIPTIONS",cn="ADD_SUBSCRIPTION",an="DELETE_SUBSCRIPTION";function sn(e,t){return[...t,e]}function fn(e,t){return[...t,...e]}function ln(e,t){return t.map((t=>t.id===e.id?e:t))}function pn(e,t){return t.filter((t=>t.id!==e.id))}function yn(e,t){return t.filter((t=>!e.includes(t)))}const dn=Je({records:(e={},t)=>{var r;const n=null!=(r=e[t.key])?r:[];switch(t.type){case Zr:if(Array.isArray(t.payload))return cr({},e,{[t.key]:t.payload});case en:return cr({},e,{[t.key]:sn(t.payload,n)});case tn:return cr({},e,{[t.key]:fn(t.payload,n)});case nn:return cr({},e,{[t.key]:pn(t.payload,n)});case on:return cr({},e,{[t.key]:yn(t.payload,n)});case rn:return cr({},e,{[t.key]:ln(t.payload,n)});default:return e}},subscriptions:(e=[],t)=>{switch(t.type){case un:if(Array.isArray(t.payload))return t.payload;case cn:return function(e,t){return t.includes(e)?t:[...t,e]}(t.payload,e);case an:return function(e,t){return t.filter((t=>t!==e))}(t.payload,e);default:return e}}});var bn=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};const{hasOwnProperty:vn}=Object.prototype,{propertyIsEnumerable:hn}=Object,mn=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),gn=i,On={concatArrays:!1,ignoreUndefined:!1},Sn=e=>{const t=[];for(const r in e)vn.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)hn.call(e,n)&&t.push(n)}return t};function wn(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return Sn(e).forEach((r=>{mn(t,r,wn(e[r]))})),t}(e):bn(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return Sn(e).forEach((r=>{mn(t,r,wn(e[r]))})),t}(e):e}const Pn=(e,t,r,n)=>(r.forEach((r=>{void 0===t[r]&&n.ignoreUndefined||mn(e,r,r in e&&e[r]!==Object.getPrototypeOf(e)?En(e[r],t[r],n):wn(t[r]))})),e);function En(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++)vn.call(t,r)&&(i.push(r+""),mn(n,o++,t===e?t[r]:wn(t[r])));n=Pn(n,t,Sn(t).filter((e=>!i.includes(e))),r)})),n})(e,t,r):bn(t)&&bn(e)?Pn(e,t,Sn(t),r):wn(t)}const jn=function(...e){const t=En(wn(On),this!==gn&&this||{},On);let r={_:{}};for(const n of e)if(void 0!==n){if(!bn(n))throw new TypeError("`"+n+"` is not an Option Object");r=En(r,{_:n},t)}return r._}.bind({concatArrays:!0,ignoreUndefined:!0});function _n(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 Cn={getItem:(e,t)=>_n((()=>window.localStorage.getItem(e)),t),setItem:(e,t,r)=>_n((()=>window.localStorage.setItem(e,t)),r),removeItem:(e,t)=>_n((()=>window.localStorage.removeItem(e)),t),mergeItem:(e,t,r)=>_n((()=>function(e,t){const r=window.localStorage.getItem(e);if(r){const n=JSON.parse(r),o=JSON.parse(t),i=JSON.stringify(jn(n,o));window.localStorage.setItem(e,i)}else window.localStorage.setItem(e,t)}(e,t)),r),clear:e=>_n((()=>window.localStorage.clear()),e),getAllKeys:e=>_n((()=>{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=>Cn.getItem(e))),t,(t=>t.map(((t,r)=>[e[r],t])))),multiSet:(e,t)=>Rn(e.map((e=>Cn.setItem(e[0],e[1]))),t),multiRemove:(e,t)=>Rn(e.map((e=>Cn.removeItem(e))),t),multiMerge:(e,t)=>Rn(e.map((e=>Cn.mergeItem(e[0],e[1]))),t)};class xn{static async get(e){return"undefined"!=typeof window?localStorage.getItem(e):await Cn.getItem(e)}static async set(e,t){return"undefined"!=typeof window?localStorage.setItem(e,t):await Cn.setItem(e,t)}static async remove(e){return"undefined"!=typeof window?localStorage.removeItem(e):await Cn.removeItem(e)}}xn.Constants={SUBSCRIBED:"subscribed",COOKIE:"cookie"};const kn={key:"root",storage:{getItem:async(e,...t)=>await xn.get(e),setItem:async(e,t,...r)=>await xn.set(e,t),removeItem:async(e,...t)=>await xn.remove(e)}},An=Je({reducer:function(e,t){var r=void 0!==e.version?e.version:-1,n=void 0===e.stateReconciler?Ot:e.stateReconciler,o=e.getStoredState||Pt,i=void 0!==e.timeout?e.timeout:5e3,u=null,c=!1,a=!0,s=function(e){return e._persist.rehydrated&&u&&!a&&u.update(e),e};return function(f,l){var p=f||{},y=p._persist,d=xt(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=St(e)),y)return Rt({},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)})),Rt({},t(d,l),{_persist:{version:r,rehydrated:!1}})}if(l.type===bt)return c=!0,l.result(function(e){var t=e.storage,r="".concat(void 0!==e.keyPrefix?e.keyPrefix:ft).concat(e.key);return t.removeItem(r,jt)}(e)),Rt({},t(d,l),{_persist:y});if(l.type===lt)return l.result(u&&u.flush()),Rt({},t(d,l),{_persist:y});if(l.type===yt)a=!0;else if(l.type===pt){if(c)return Rt({},d,{_persist:Rt({},y,{rehydrated:!0})});if(l.key===e.key){var h=t(d,l),m=l.payload,g=Rt({},!1!==n&&void 0!==m?n(m,f,h,e):h,{_persist:Rt({},y,{rehydrated:!0})});return s(g)}}if(!y)return t(f,l);var O=t(d,l);return O===d?f:s(Rt({},O,{_persist:y}))}}(kn,dn)}),In=function(e){var t,r=st(),n=e||{},o=n.reducer,i=void 0===o?void 0:o,u=n.middleware,c=void 0===u?r():u,a=n.devTools,s=void 0===a||a,f=n.preloadedState,l=void 0===f?void 0:f,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=Je(i)}var d=c;"function"==typeof d&&(d=d(r));var b=Xe.apply(void 0,d),v=He;s&&(v=ct(function(e,t){for(var r in t||(t={}))ot.call(t,r)&&ut(e,r,t[r]);if(nt)for(var n=0,o=nt(t);o.length>n;n++)it.call(t,r=o[n])&&ut(e,r,t[r]);return e}({trace:!1},"object"==typeof s&&s)));var h=[b];return Array.isArray(y)?h=tt([b],y):"function"==typeof y&&(h=y(h)),Ke(t,l,v.apply(void 0,h))}({reducer:An,middleware:[Ze]}),Dn=In.dispatch,$n=ur,Tn=function(e,t,r){var n=r||!1,o=Ke(Tt,$t,t&&t.enhancer?t.enhancer:void 0),i=function(e){o.dispatch({type:vt,key:e})},u=function(t,r,i){var u={type:pt,payload:r,err:i,key:t};e.dispatch(u),o.dispatch(u),n&&c.getState().bootstrapped&&(n(),n=!1)},c=It({},o,{purge:function(){var t=[];return e.dispatch({type:bt,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:lt,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:yt})},persist:function(){e.dispatch({type:dt,register:i,rehydrate:u})}});return t&&t.manualPersist||c.persist(),c}(In),Un=()=>z.useContext(Hn),Nn=(e,t)=>({type:Zr,key:e,payload:t}),Mn=(e,t)=>({type:en,key:e,payload:t}),Ln=(e,t)=>({type:nn,key:e,payload:t}),Fn=(e,t)=>({type:rn,key:e,payload:t});var zn=Object.freeze({__proto__:null,setRecords:Nn,addRecord:Mn,addRecords:(e,t)=>({type:tn,key:e,payload:t}),deleteRecord:Ln,deleteRecords:(e,t)=>({type:on,key:e,payload:t}),updateRecord:Fn});const Vn=e=>({type:un,payload:e}),Bn=e=>({type:cn,payload:e}),Wn=e=>({type:an,payload:e});var qn=Object.freeze({__proto__:null,setSubscriptions:Vn,addSubscription:Bn,deleteSubscription:Wn});const Kn=z.createContext({}),Jn=e=>{const t=Un(),r=Dn;function n(e){var t;"AbortError"!==(null==e||null==(t=e.originalError)?void 0:t.name)&&console.log("Error in content provider",JSON.stringify(e))}const o={subscribe:async e=>{await(null==t?void 0:t.realtime.subscribe(e,(t=>{switch(t.action){case"create":r(Mn(e,t.record));break;case"update":r(Fn(e,t.record));break;case"delete":r(Ln(e,t.record))}})).then((()=>{r(Bn(e))})).catch(n))},unsubscribe:async e=>{e?await(null==t?void 0:t.realtime.unsubscribe(e).then((()=>{r(Wn(e))})).catch(n)):await(null==t?void 0:t.realtime.unsubscribe().then((()=>{r(Vn([]))})).catch(n))},fetch:async e=>{await(null==t?void 0:t.records.getFullList(e,200).then((t=>{r(Nn(e,t))})).catch(n))},create:async(e,r)=>{await(null==t?void 0:t.records.create(e,r).catch(n))},update:async(e,r,o)=>{await(null==t?void 0:t.records.update(e,r,o).catch(n))},delete:async(e,r)=>{await(null==t?void 0:t.records.delete(e,r).catch(n))}};return z.useEffect((()=>(e.collections&&e.collections.forEach((async e=>{await o.fetch(e),await o.subscribe(e)})),()=>{(async()=>{await o.unsubscribe()})()})),[e.collections]),z.createElement(Kn.Provider,{value:o},e.children)},Hn=z.createContext(null),Xn=e=>z.createElement(Hn.Provider,{value:e.client},e.children),Gn=z.createContext({}),Yn=e=>{const t=Un(),[r,n]=z.useState(),o={registerWithEmail:async(e,r)=>{await(null==t?void 0:t.users.create({email:e,password:r,passwordConfirm:r}))},signInWithEmail:async(e,r)=>{await(null==t?void 0:t.users.authViaEmail(e,r))},signInWithProvider:async t=>{const n=null==r?void 0:r.find((e=>e.name===t)),o="undefined"!=typeof window?e.webRedirectUrl:e.mobileRedirectUrl,i=(null==n?void 0:n.authUrl)+o;await xn.set("provider",JSON.stringify(r)),await e.openURL(i)},submitProviderResult:async r=>{const n=new URLSearchParams(r.split("?")[1]),o=n.get("code"),i=n.get("state"),u=await xn.get("provider");if(u){const r=JSON.parse(u),n=null==r?void 0:r.find((e=>e.state===i));n&&o&&await(null==t?void 0:t.users.authViaOAuth2(n.name,o,n.codeVerifier,"undefined"!=typeof window?e.webRedirectUrl:e.mobileRedirectUrl))}},signOut:()=>{null==t||t.authStore.clear()},sendPasswordResetEmail:async e=>{await(null==t?void 0:t.users.requestPasswordReset(e))},sendEmailVerification:async e=>{await(null==t?void 0:t.users.requestVerification(e))},updateProfile:async(e,r)=>{await(null==t?void 0:t.records.update("profiles",e,r))},updateEmail:async e=>{await(null==t?void 0:t.users.requestEmailChange(e))},deleteUser:async e=>{await(null==t?void 0:t.users.delete(e))}};return z.useEffect((()=>{(async()=>{const e=await(null==t?void 0:t.users.listAuthMethods());n(null==e?void 0:e.authProviders)})()}),[e.webRedirectUrl,e.mobileRedirectUrl]),z.createElement(Gn.Provider,{value:o},e.children)};function Qn(e){return Qn="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},Qn(e)}function Zn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eo(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 to(e,t){return!t||"object"!==Qn(t)&&"function"!=typeof t?no(e):t}function ro(e){return ro=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},ro(e)}function no(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oo(e,t){return oo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},oo(e,t)}function io(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var uo=function(e){function t(){var e,r;Zn(this,t);for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];return io(no(r=to(this,(e=ro(t)).call.apply(e,[this].concat(o)))),"state",{bootstrapped:!1}),io(no(r),"_unsubscribe",void 0),io(no(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&&oo(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}}])&&eo(r.prototype,n),o&&eo(r,o),t}(z.PureComponent);io(uo,"defaultProps",{children:null,loading:null});const co=z.createContext(null);e.ADD_RECORD=en,e.ADD_RECORDS=tn,e.ADD_SUBSCRIPTION=cn,e.AuthContext=Gn,e.AuthProvider=Yn,e.ClientContext=Hn,e.ClientProvider=Xn,e.ContentContext=Kn,e.ContentProvider=Jn,e.DELETE_RECORD=nn,e.DELETE_RECORDS=on,e.DELETE_SUBSCRIPTION=an,e.Pocketbase=e=>{const[t,r]=z.useState(null),[n,i]=z.useState();return z.useEffect((()=>{const t=new o.default(e.serverURL);t.authStore.onChange((async()=>{await xn.set(xn.Constants.COOKIE,t.authStore.exportToCookie()),i([]),i(e.initialCollections)})),xn.get(xn.Constants.COOKIE).then((n=>{n&&(t.authStore.loadFromCookie(n),i([]),i(e.initialCollections)),r(t)}))}),[e.serverURL]),t?z.createElement(Xn,{client:t},z.createElement(Qr,{store:In},z.createElement(uo,{persistor:Tn},z.createElement(Yn,{webRedirectUrl:e.webRedirectUrl,mobileRedirectUrl:e.mobileRedirectUrl,openURL:e.openURL},z.createElement(Jn,{collections:n},e.children))))):null},e.PocketbaseContext=co,e.SET_RECORDS=Zr,e.SET_SUBSCRIPTIONS=un,e.UPDATE_RECORD=rn,e.appReducer=dn,e.persistConfig=kn,e.persistor=Tn,e.recordsAction=zn,e.store=In,e.subscriptionsAction=qn,e.useAppContent=function(e,t=!1){const r=$n((t=>t.reducer.records[e])),n=$n((e=>e.reducer.subscriptions)),o=z.useContext(Kn);z.useEffect((()=>{t&&(async()=>{await o.fetch(e)})()}),[e,t]);const[i,u]=z.useState(!1);return z.useEffect((()=>{u(n.includes(e))}),[n]),{records:r,actions:{subscribe:async()=>await o.subscribe(e),unsubscribe:async()=>await o.unsubscribe(e),fetch:async()=>await o.fetch(e),create:async t=>await o.create(e,t),update:async(t,r)=>await o.update(e,t,r),delete:async t=>await o.delete(e,t)},isSubscribed:i}},e.useAppDispatch=Dn,e.useAppSelector=$n,e.useAuth=function(){const e=Un(),t=z.useContext(Gn),[r,n]=z.useState(null),[o,i]=z.useState(null);function u(){var t;n(""!==(null==e?void 0:e.authStore.token)),i(null!=(t=null==e?void 0:e.authStore.model)?t:null)}return z.useEffect((()=>{u(),null==e||e.authStore.onChange((()=>{u()}))}),[]),{actions:t,isSignedIn:r,user:o}},e.useClientContext=Un,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
28
|
+
var Ir,Dr=Symbol.for("react.element"),$r=Symbol.for("react.portal"),Tr=Symbol.for("react.fragment"),Ur=Symbol.for("react.strict_mode"),Nr=Symbol.for("react.profiler"),Mr=Symbol.for("react.provider"),Lr=Symbol.for("react.context"),Fr=Symbol.for("react.server_context"),zr=Symbol.for("react.forward_ref"),Vr=Symbol.for("react.suspense"),Br=Symbol.for("react.suspense_list"),Wr=Symbol.for("react.memo"),qr=Symbol.for("react.lazy"),Kr=Symbol.for("react.offscreen");function Jr(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case Dr:switch(e=e.type){case Tr:case Nr:case Ur:case Vr:case Br:return e;default:switch(e=e&&e.$$typeof){case Fr:case Lr:case zr:case qr:case Wr:case Mr:return e;default:return t}}case $r:return t}}}Ir=Symbol.for("react.module.reference");var Hr={ContextConsumer:Lr,ContextProvider:Mr,Element:Dr,ForwardRef:zr,Fragment:Tr,Lazy:qr,Memo:Wr,Portal:$r,Profiler:Nr,StrictMode:Ur,Suspense:Vr,SuspenseList:Br,isAsyncMode:function(){return!1},isConcurrentMode:function(){return!1},isContextConsumer:function(e){return Jr(e)===Lr},isContextProvider:function(e){return Jr(e)===Mr},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===Dr},isForwardRef:function(e){return Jr(e)===zr},isFragment:function(e){return Jr(e)===Tr},isLazy:function(e){return Jr(e)===qr},isMemo:function(e){return Jr(e)===Wr},isPortal:function(e){return Jr(e)===$r},isProfiler:function(e){return Jr(e)===Nr},isStrictMode:function(e){return Jr(e)===Ur},isSuspense:function(e){return Jr(e)===Vr},isSuspenseList:function(e){return Jr(e)===Br},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===Tr||e===Nr||e===Ur||e===Vr||e===Br||e===Kr||"object"==typeof e&&null!==e&&(e.$$typeof===qr||e.$$typeof===Wr||e.$$typeof===Mr||e.$$typeof===Lr||e.$$typeof===zr||e.$$typeof===Ir||void 0!==e.getModuleId)},typeOf:Jr};u((function(e){e.exports=Hr}));const Xr={notify(){},get:()=>[]};function Gr(e,t){let r,n=Xr;function o(){u.onStateChange&&u.onStateChange()}function i(){r||(r=t?t.addNestedSub(o):e.subscribe(o),n=function(){const e=er();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=Xr)},getListeners:()=>n};return u}const Yr=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?z.useLayoutEffect:z.useEffect;function Qr({store:e,context:t,children:r,serverState:n}){const o=z.useMemo((()=>{const t=Gr(e);return{store:e,subscription:t,getServerState:n?()=>n:void 0}}),[e,n]),i=z.useMemo((()=>e.getState()),[e]);Yr((()=>{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||tr).Provider,{value:o},r)}nr=Qt.useSyncExternalStoreWithSelector,Zt=t.unstable_batchedUpdates;const Zr="SET_RECORDS",en="ADD_RECORD",tn="ADD_RECORDS",rn="UPDATE_RECORD",nn="DELETE_RECORD",on="DELETE_RECORDS",un="SET_SUBSCRIPTIONS",cn="ADD_SUBSCRIPTION",an="DELETE_SUBSCRIPTION";function sn(e,t){return[...t,e]}function fn(e,t){return[...t,...e]}function ln(e,t){return t.map((t=>t.id===e.id?e:t))}function pn(e,t){return t.filter((t=>t.id!==e.id))}function yn(e,t){return t.filter((t=>!e.includes(t)))}const dn=Je({records:(e={},t)=>{var r;const n=null!=(r=e[t.key])?r:[];switch(t.type){case Zr:if(Array.isArray(t.payload))return cr({},e,{[t.key]:t.payload});case en:return cr({},e,{[t.key]:sn(t.payload,n)});case tn:return cr({},e,{[t.key]:fn(t.payload,n)});case nn:return cr({},e,{[t.key]:pn(t.payload,n)});case on:return cr({},e,{[t.key]:yn(t.payload,n)});case rn:return cr({},e,{[t.key]:ln(t.payload,n)});default:return e}},subscriptions:(e=[],t)=>{switch(t.type){case un:if(Array.isArray(t.payload))return t.payload;case cn:return function(e,t){return t.includes(e)?t:[...t,e]}(t.payload,e);case an:return function(e,t){return t.filter((t=>t!==e))}(t.payload,e);default:return e}}});var bn=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};const{hasOwnProperty:vn}=Object.prototype,{propertyIsEnumerable:hn}=Object,mn=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),gn=i,On={concatArrays:!1,ignoreUndefined:!1},Sn=e=>{const t=[];for(const r in e)vn.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)hn.call(e,n)&&t.push(n)}return t};function wn(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return Sn(e).forEach((r=>{mn(t,r,wn(e[r]))})),t}(e):bn(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return Sn(e).forEach((r=>{mn(t,r,wn(e[r]))})),t}(e):e}const Pn=(e,t,r,n)=>(r.forEach((r=>{void 0===t[r]&&n.ignoreUndefined||mn(e,r,r in e&&e[r]!==Object.getPrototypeOf(e)?En(e[r],t[r],n):wn(t[r]))})),e);function En(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++)vn.call(t,r)&&(i.push(r+""),mn(n,o++,t===e?t[r]:wn(t[r])));n=Pn(n,t,Sn(t).filter((e=>!i.includes(e))),r)})),n})(e,t,r):bn(t)&&bn(e)?Pn(e,t,Sn(t),r):wn(t)}const jn=function(...e){const t=En(wn(On),this!==gn&&this||{},On);let r={_:{}};for(const n of e)if(void 0!==n){if(!bn(n))throw new TypeError("`"+n+"` is not an Option Object");r=En(r,{_:n},t)}return r._}.bind({concatArrays:!0,ignoreUndefined:!0});function _n(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 Cn={getItem:(e,t)=>_n((()=>window.localStorage.getItem(e)),t),setItem:(e,t,r)=>_n((()=>window.localStorage.setItem(e,t)),r),removeItem:(e,t)=>_n((()=>window.localStorage.removeItem(e)),t),mergeItem:(e,t,r)=>_n((()=>function(e,t){const r=window.localStorage.getItem(e);if(r){const n=JSON.parse(r),o=JSON.parse(t),i=JSON.stringify(jn(n,o));window.localStorage.setItem(e,i)}else window.localStorage.setItem(e,t)}(e,t)),r),clear:e=>_n((()=>window.localStorage.clear()),e),getAllKeys:e=>_n((()=>{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=>Cn.getItem(e))),t,(t=>t.map(((t,r)=>[e[r],t])))),multiSet:(e,t)=>Rn(e.map((e=>Cn.setItem(e[0],e[1]))),t),multiRemove:(e,t)=>Rn(e.map((e=>Cn.removeItem(e))),t),multiMerge:(e,t)=>Rn(e.map((e=>Cn.mergeItem(e[0],e[1]))),t)};class xn{static async get(e){return"undefined"!=typeof document?localStorage.getItem(e):await Cn.getItem(e)}static async set(e,t){return"undefined"!=typeof document?localStorage.setItem(e,t):await Cn.setItem(e,t)}static async remove(e){return"undefined"!=typeof document?localStorage.removeItem(e):await Cn.removeItem(e)}}xn.Constants={SUBSCRIBED:"subscribed",COOKIE:"cookie"};const kn={key:"root",storage:{getItem:async(e,...t)=>await xn.get(e),setItem:async(e,t,...r)=>await xn.set(e,t),removeItem:async(e,...t)=>await xn.remove(e)}},An=Je({reducer:function(e,t){var r=void 0!==e.version?e.version:-1,n=void 0===e.stateReconciler?Ot:e.stateReconciler,o=e.getStoredState||Pt,i=void 0!==e.timeout?e.timeout:5e3,u=null,c=!1,a=!0,s=function(e){return e._persist.rehydrated&&u&&!a&&u.update(e),e};return function(f,l){var p=f||{},y=p._persist,d=xt(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=St(e)),y)return Rt({},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)})),Rt({},t(d,l),{_persist:{version:r,rehydrated:!1}})}if(l.type===bt)return c=!0,l.result(function(e){var t=e.storage,r="".concat(void 0!==e.keyPrefix?e.keyPrefix:ft).concat(e.key);return t.removeItem(r,jt)}(e)),Rt({},t(d,l),{_persist:y});if(l.type===lt)return l.result(u&&u.flush()),Rt({},t(d,l),{_persist:y});if(l.type===yt)a=!0;else if(l.type===pt){if(c)return Rt({},d,{_persist:Rt({},y,{rehydrated:!0})});if(l.key===e.key){var h=t(d,l),m=l.payload,g=Rt({},!1!==n&&void 0!==m?n(m,f,h,e):h,{_persist:Rt({},y,{rehydrated:!0})});return s(g)}}if(!y)return t(f,l);var O=t(d,l);return O===d?f:s(Rt({},O,{_persist:y}))}}(kn,dn)}),In=function(e){var t,r=st(),n=e||{},o=n.reducer,i=void 0===o?void 0:o,u=n.middleware,c=void 0===u?r():u,a=n.devTools,s=void 0===a||a,f=n.preloadedState,l=void 0===f?void 0:f,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=Je(i)}var d=c;"function"==typeof d&&(d=d(r));var b=Xe.apply(void 0,d),v=He;s&&(v=ct(function(e,t){for(var r in t||(t={}))ot.call(t,r)&&ut(e,r,t[r]);if(nt)for(var n=0,o=nt(t);o.length>n;n++)it.call(t,r=o[n])&&ut(e,r,t[r]);return e}({trace:!1},"object"==typeof s&&s)));var h=[b];return Array.isArray(y)?h=tt([b],y):"function"==typeof y&&(h=y(h)),Ke(t,l,v.apply(void 0,h))}({reducer:An,middleware:[Ze]}),Dn=In.dispatch,$n=ur,Tn=function(e,t,r){var n=r||!1,o=Ke(Tt,$t,t&&t.enhancer?t.enhancer:void 0),i=function(e){o.dispatch({type:vt,key:e})},u=function(t,r,i){var u={type:pt,payload:r,err:i,key:t};e.dispatch(u),o.dispatch(u),n&&c.getState().bootstrapped&&(n(),n=!1)},c=It({},o,{purge:function(){var t=[];return e.dispatch({type:bt,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:lt,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:yt})},persist:function(){e.dispatch({type:dt,register:i,rehydrate:u})}});return t&&t.manualPersist||c.persist(),c}(In),Un=()=>z.useContext(Hn),Nn=(e,t)=>({type:Zr,key:e,payload:t}),Mn=(e,t)=>({type:en,key:e,payload:t}),Ln=(e,t)=>({type:nn,key:e,payload:t}),Fn=(e,t)=>({type:rn,key:e,payload:t});var zn=Object.freeze({__proto__:null,setRecords:Nn,addRecord:Mn,addRecords:(e,t)=>({type:tn,key:e,payload:t}),deleteRecord:Ln,deleteRecords:(e,t)=>({type:on,key:e,payload:t}),updateRecord:Fn});const Vn=e=>({type:un,payload:e}),Bn=e=>({type:cn,payload:e}),Wn=e=>({type:an,payload:e});var qn=Object.freeze({__proto__:null,setSubscriptions:Vn,addSubscription:Bn,deleteSubscription:Wn});const Kn=z.createContext({}),Jn=e=>{const t=Un(),r=Dn;function n(e){var t;"AbortError"!==(null==e||null==(t=e.originalError)?void 0:t.name)&&console.log("Error in content provider",JSON.stringify(e))}const o={subscribe:async e=>{await(null==t?void 0:t.realtime.subscribe(e,(t=>{switch(t.action){case"create":r(Mn(e,t.record));break;case"update":r(Fn(e,t.record));break;case"delete":r(Ln(e,t.record))}})).then((()=>{r(Bn(e))})).catch(n))},unsubscribe:async e=>{e?await(null==t?void 0:t.realtime.unsubscribe(e).then((()=>{r(Wn(e))})).catch(n)):await(null==t?void 0:t.realtime.unsubscribe().then((()=>{r(Vn([]))})).catch(n))},fetch:async e=>{await(null==t?void 0:t.records.getFullList(e,200).then((t=>{r(Nn(e,t))})).catch(n))},create:async(e,r)=>await(null==t?void 0:t.records.create(e,r).catch(n)),update:async(e,r,o)=>await(null==t?void 0:t.records.update(e,r,o).catch(n)),delete:async(e,r)=>await(null==t?void 0:t.records.delete(e,r).catch(n))};return z.useEffect((()=>(e.collections&&e.collections.forEach((async e=>{await o.fetch(e),await o.subscribe(e)})),()=>{(async()=>{await o.unsubscribe()})()})),[e.collections]),z.createElement(Kn.Provider,{value:o},e.children)},Hn=z.createContext(null),Xn=e=>z.createElement(Hn.Provider,{value:e.client},e.children),Gn=z.createContext({}),Yn=e=>{const t=Un(),[r,n]=z.useState(),o={registerWithEmail:async(e,r)=>{await(null==t?void 0:t.users.create({email:e,password:r,passwordConfirm:r}))},signInWithEmail:async(e,r)=>{await(null==t?void 0:t.users.authViaEmail(e,r))},signInWithProvider:async t=>{const n=null==r?void 0:r.find((e=>e.name===t)),o="undefined"!=typeof document?e.webRedirectUrl:e.mobileRedirectUrl,i=(null==n?void 0:n.authUrl)+o;await xn.set("provider",JSON.stringify(r)),await e.openURL(i)},submitProviderResult:async r=>{const n=new URLSearchParams(r.split("?")[1]),o=n.get("code"),i=n.get("state"),u=await xn.get("provider");if(u){const r=JSON.parse(u),n=null==r?void 0:r.find((e=>e.state===i));n&&o&&await(null==t?void 0:t.users.authViaOAuth2(n.name,o,n.codeVerifier,"undefined"!=typeof document?e.webRedirectUrl:e.mobileRedirectUrl))}},signOut:()=>{null==t||t.authStore.clear()},sendPasswordResetEmail:async e=>{await(null==t?void 0:t.users.requestPasswordReset(e))},sendEmailVerification:async e=>{await(null==t?void 0:t.users.requestVerification(e))},updateProfile:async(e,r)=>{await(null==t?void 0:t.records.update("profiles",e,r))},updateEmail:async e=>{await(null==t?void 0:t.users.requestEmailChange(e))},deleteUser:async e=>{await(null==t?void 0:t.users.delete(e))}};return z.useEffect((()=>{(async()=>{const e=await(null==t?void 0:t.users.listAuthMethods());n(null==e?void 0:e.authProviders)})()}),[e.webRedirectUrl,e.mobileRedirectUrl]),z.createElement(Gn.Provider,{value:o},e.children)};function Qn(e){return Qn="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},Qn(e)}function Zn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eo(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 to(e,t){return!t||"object"!==Qn(t)&&"function"!=typeof t?no(e):t}function ro(e){return ro=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},ro(e)}function no(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oo(e,t){return oo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},oo(e,t)}function io(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var uo=function(e){function t(){var e,r;Zn(this,t);for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];return io(no(r=to(this,(e=ro(t)).call.apply(e,[this].concat(o)))),"state",{bootstrapped:!1}),io(no(r),"_unsubscribe",void 0),io(no(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&&oo(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}}])&&eo(r.prototype,n),o&&eo(r,o),t}(z.PureComponent);io(uo,"defaultProps",{children:null,loading:null});const co=z.createContext(null);e.ADD_RECORD=en,e.ADD_RECORDS=tn,e.ADD_SUBSCRIPTION=cn,e.AuthContext=Gn,e.AuthProvider=Yn,e.ClientContext=Hn,e.ClientProvider=Xn,e.ContentContext=Kn,e.ContentProvider=Jn,e.DELETE_RECORD=nn,e.DELETE_RECORDS=on,e.DELETE_SUBSCRIPTION=an,e.Pocketbase=e=>{const[t,r]=z.useState(null),[n,i]=z.useState();return z.useEffect((()=>{const t=new o.default(e.serverURL);t.authStore.onChange((async()=>{await xn.set(xn.Constants.COOKIE,t.authStore.exportToCookie()),i([]),i(e.initialCollections)})),xn.get(xn.Constants.COOKIE).then((n=>{n&&(t.authStore.loadFromCookie(n),i([]),i(e.initialCollections)),r(t)}))}),[e.serverURL]),t?z.createElement(Xn,{client:t},z.createElement(Qr,{store:In},z.createElement(uo,{persistor:Tn},z.createElement(Yn,{webRedirectUrl:e.webRedirectUrl,mobileRedirectUrl:e.mobileRedirectUrl,openURL:e.openURL},z.createElement(Jn,{collections:n},e.children))))):null},e.PocketbaseContext=co,e.SET_RECORDS=Zr,e.SET_SUBSCRIPTIONS=un,e.UPDATE_RECORD=rn,e.appReducer=dn,e.persistConfig=kn,e.persistor=Tn,e.recordsAction=zn,e.store=In,e.subscriptionsAction=qn,e.useAppContent=function(e,t=!1){const r=$n((t=>t.reducer.records[e])),n=$n((e=>e.reducer.subscriptions)),o=z.useContext(Kn);z.useEffect((()=>{t&&(async()=>{await o.fetch(e)})()}),[e,t]);const[i,u]=z.useState(!1);return z.useEffect((()=>{u(n.includes(e))}),[n]),{records:r,actions:{subscribe:async()=>await o.subscribe(e),unsubscribe:async()=>await o.unsubscribe(e),fetch:async()=>await o.fetch(e),create:async t=>await o.create(e,t),update:async(t,r)=>await o.update(e,t,r),delete:async t=>await o.delete(e,t)},isSubscribed:i}},e.useAppDispatch=Dn,e.useAppSelector=$n,e.useAuth=function(){const e=Un(),t=z.useContext(Gn),[r,n]=z.useState(null),[o,i]=z.useState(null);function u(){var t;n(""!==(null==e?void 0:e.authStore.token)),i(null!=(t=null==e?void 0:e.authStore.model)?t:null)}return z.useEffect((()=>{u(),null==e||e.authStore.onChange((()=>{u()}))}),[]),{actions:t,isSignedIn:r,user:o}},e.useClientContext=Un,Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/es/context/auth.js
CHANGED
|
@@ -19,7 +19,7 @@ export const AuthProvider = props => {
|
|
|
19
19
|
},
|
|
20
20
|
signInWithProvider: async provider => {
|
|
21
21
|
const authProvider = authProviders == null ? void 0 : authProviders.find(p => p.name === provider);
|
|
22
|
-
const redirectURL = typeof
|
|
22
|
+
const redirectURL = typeof document !== 'undefined' ? props.webRedirectUrl : props.mobileRedirectUrl;
|
|
23
23
|
const url = (authProvider == null ? void 0 : authProvider.authUrl) + redirectURL;
|
|
24
24
|
await StorageService.set('provider', JSON.stringify(authProviders));
|
|
25
25
|
await props.openURL(url);
|
|
@@ -33,7 +33,7 @@ export const AuthProvider = props => {
|
|
|
33
33
|
const providers = JSON.parse(providersString);
|
|
34
34
|
const authProvider = providers == null ? void 0 : providers.find(p => p.state === state);
|
|
35
35
|
if (authProvider && code) {
|
|
36
|
-
await (client == null ? void 0 : client.users.authViaOAuth2(authProvider.name, code, authProvider.codeVerifier, typeof
|
|
36
|
+
await (client == null ? void 0 : client.users.authViaOAuth2(authProvider.name, code, authProvider.codeVerifier, typeof document !== 'undefined' ? props.webRedirectUrl : props.mobileRedirectUrl));
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
},
|
package/es/context/content.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { Record } from '../interfaces/Record';
|
|
2
3
|
declare type SubscribeType = (collectionName: string) => Promise<void>;
|
|
3
4
|
declare type UnsubscribeType = (collectionName?: string) => Promise<void>;
|
|
4
5
|
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>;
|
|
6
|
+
declare type CreateType = (collectionName: string, record: {}) => Promise<void | Record | undefined>;
|
|
7
|
+
declare type UpdateType = (collectionName: string, recordId: string, record: {}) => Promise<void | Record | undefined>;
|
|
8
|
+
declare type DeleteType = (collectionName: string, recordId: string) => Promise<void | boolean | undefined>;
|
|
8
9
|
interface ContentActions {
|
|
9
10
|
subscribe: SubscribeType;
|
|
10
11
|
unsubscribe: UnsubscribeType;
|
package/es/context/content.js
CHANGED
|
@@ -53,13 +53,13 @@ export const ContentProvider = props => {
|
|
|
53
53
|
}).catch(tempErrorHandler));
|
|
54
54
|
},
|
|
55
55
|
create: async (collectionName, record) => {
|
|
56
|
-
await (client == null ? void 0 : client.records.create(collectionName, record).catch(tempErrorHandler));
|
|
56
|
+
return await (client == null ? void 0 : client.records.create(collectionName, record).catch(tempErrorHandler));
|
|
57
57
|
},
|
|
58
58
|
update: async (collectionName, recordId, record) => {
|
|
59
|
-
await (client == null ? void 0 : client.records.update(collectionName, recordId, record).catch(tempErrorHandler));
|
|
59
|
+
return await (client == null ? void 0 : client.records.update(collectionName, recordId, record).catch(tempErrorHandler));
|
|
60
60
|
},
|
|
61
61
|
delete: async (collectionName, recordId) => {
|
|
62
|
-
await (client == null ? void 0 : client.records.delete(collectionName, recordId).catch(tempErrorHandler));
|
|
62
|
+
return await (client == null ? void 0 : client.records.delete(collectionName, recordId).catch(tempErrorHandler));
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
useEffect(() => {
|
|
@@ -2,9 +2,9 @@ import { Record } from '../interfaces/Record';
|
|
|
2
2
|
export declare type SubscribeType = () => Promise<void | undefined>;
|
|
3
3
|
export declare type UnsubscribeType = () => Promise<void | undefined>;
|
|
4
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>;
|
|
5
|
+
export declare type CreateType = (record: {}) => Promise<void | Record | undefined>;
|
|
6
|
+
export declare type UpdateType = (id: string, record: {}) => Promise<void | Record | undefined>;
|
|
7
|
+
export declare type DeleteType = (id: string) => Promise<void | boolean | undefined>;
|
|
8
8
|
export interface Actions {
|
|
9
9
|
subscribe: SubscribeType;
|
|
10
10
|
unsubscribe: UnsubscribeType;
|
package/es/service/Storage.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
2
2
|
export class StorageService {
|
|
3
3
|
static async get(key) {
|
|
4
|
-
return typeof
|
|
4
|
+
return typeof document !== 'undefined' ? localStorage.getItem(key) : await AsyncStorage.getItem(key);
|
|
5
5
|
}
|
|
6
6
|
static async set(key, value) {
|
|
7
|
-
if (typeof
|
|
7
|
+
if (typeof document !== 'undefined') {
|
|
8
8
|
return localStorage.setItem(key, value);
|
|
9
9
|
} else {
|
|
10
10
|
return await AsyncStorage.setItem(key, value);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
static async remove(key) {
|
|
14
|
-
if (typeof
|
|
14
|
+
if (typeof document !== 'undefined') {
|
|
15
15
|
return localStorage.removeItem(key);
|
|
16
16
|
} else {
|
|
17
17
|
return await AsyncStorage.removeItem(key);
|
package/lib/context/auth.js
CHANGED
|
@@ -25,7 +25,7 @@ const AuthProvider = props => {
|
|
|
25
25
|
},
|
|
26
26
|
signInWithProvider: async provider => {
|
|
27
27
|
const authProvider = authProviders == null ? void 0 : authProviders.find(p => p.name === provider);
|
|
28
|
-
const redirectURL = typeof
|
|
28
|
+
const redirectURL = typeof document !== 'undefined' ? props.webRedirectUrl : props.mobileRedirectUrl;
|
|
29
29
|
const url = (authProvider == null ? void 0 : authProvider.authUrl) + redirectURL;
|
|
30
30
|
await _Storage.StorageService.set('provider', JSON.stringify(authProviders));
|
|
31
31
|
await props.openURL(url);
|
|
@@ -39,7 +39,7 @@ const AuthProvider = props => {
|
|
|
39
39
|
const providers = JSON.parse(providersString);
|
|
40
40
|
const authProvider = providers == null ? void 0 : providers.find(p => p.state === state);
|
|
41
41
|
if (authProvider && code) {
|
|
42
|
-
await (client == null ? void 0 : client.users.authViaOAuth2(authProvider.name, code, authProvider.codeVerifier, typeof
|
|
42
|
+
await (client == null ? void 0 : client.users.authViaOAuth2(authProvider.name, code, authProvider.codeVerifier, typeof document !== 'undefined' ? props.webRedirectUrl : props.mobileRedirectUrl));
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
},
|
package/lib/context/content.js
CHANGED
|
@@ -58,13 +58,13 @@ const ContentProvider = props => {
|
|
|
58
58
|
}).catch(tempErrorHandler));
|
|
59
59
|
},
|
|
60
60
|
create: async (collectionName, record) => {
|
|
61
|
-
await (client == null ? void 0 : client.records.create(collectionName, record).catch(tempErrorHandler));
|
|
61
|
+
return await (client == null ? void 0 : client.records.create(collectionName, record).catch(tempErrorHandler));
|
|
62
62
|
},
|
|
63
63
|
update: async (collectionName, recordId, record) => {
|
|
64
|
-
await (client == null ? void 0 : client.records.update(collectionName, recordId, record).catch(tempErrorHandler));
|
|
64
|
+
return await (client == null ? void 0 : client.records.update(collectionName, recordId, record).catch(tempErrorHandler));
|
|
65
65
|
},
|
|
66
66
|
delete: async (collectionName, recordId) => {
|
|
67
|
-
await (client == null ? void 0 : client.records.delete(collectionName, recordId).catch(tempErrorHandler));
|
|
67
|
+
return await (client == null ? void 0 : client.records.delete(collectionName, recordId).catch(tempErrorHandler));
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
(0, React.useEffect)(() => {
|
package/lib/service/Storage.js
CHANGED
|
@@ -6,17 +6,17 @@ exports.StorageService = void 0;
|
|
|
6
6
|
var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
|
|
7
7
|
class StorageService {
|
|
8
8
|
static async get(key) {
|
|
9
|
-
return typeof
|
|
9
|
+
return typeof document !== 'undefined' ? localStorage.getItem(key) : await _asyncStorage.default.getItem(key);
|
|
10
10
|
}
|
|
11
11
|
static async set(key, value) {
|
|
12
|
-
if (typeof
|
|
12
|
+
if (typeof document !== 'undefined') {
|
|
13
13
|
return localStorage.setItem(key, value);
|
|
14
14
|
} else {
|
|
15
15
|
return await _asyncStorage.default.setItem(key, value);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
static async remove(key) {
|
|
19
|
-
if (typeof
|
|
19
|
+
if (typeof document !== 'undefined') {
|
|
20
20
|
return localStorage.removeItem(key);
|
|
21
21
|
} else {
|
|
22
22
|
return await _asyncStorage.default.removeItem(key);
|
package/package.json
CHANGED
package/src/context/auth.tsx
CHANGED
|
@@ -63,7 +63,7 @@ export const AuthProvider = (props: AuthProviderProps) => {
|
|
|
63
63
|
signInWithProvider: async (provider: string) => {
|
|
64
64
|
const authProvider = authProviders?.find((p) => p.name === provider);
|
|
65
65
|
const redirectURL =
|
|
66
|
-
typeof
|
|
66
|
+
typeof document !== 'undefined' ? props.webRedirectUrl : props.mobileRedirectUrl;
|
|
67
67
|
const url = authProvider?.authUrl + redirectURL;
|
|
68
68
|
await StorageService.set('provider', JSON.stringify(authProviders));
|
|
69
69
|
await props.openURL(url);
|
|
@@ -81,7 +81,7 @@ export const AuthProvider = (props: AuthProviderProps) => {
|
|
|
81
81
|
authProvider.name,
|
|
82
82
|
code,
|
|
83
83
|
authProvider.codeVerifier,
|
|
84
|
-
typeof
|
|
84
|
+
typeof document !== 'undefined' ? props.webRedirectUrl : props.mobileRedirectUrl
|
|
85
85
|
);
|
|
86
86
|
}
|
|
87
87
|
}
|
package/src/context/content.tsx
CHANGED
|
@@ -9,9 +9,13 @@ import { subscriptionsAction } from '../store/actions';
|
|
|
9
9
|
type SubscribeType = (collectionName: string) => Promise<void>;
|
|
10
10
|
type UnsubscribeType = (collectionName?: string) => Promise<void>;
|
|
11
11
|
type FetchType = (collectionName: string) => Promise<void>;
|
|
12
|
-
type CreateType = (collectionName: string, record: {}) => Promise<void>;
|
|
13
|
-
type UpdateType = (
|
|
14
|
-
|
|
12
|
+
type CreateType = (collectionName: string, record: {}) => Promise<void | Record | undefined>;
|
|
13
|
+
type UpdateType = (
|
|
14
|
+
collectionName: string,
|
|
15
|
+
recordId: string,
|
|
16
|
+
record: {}
|
|
17
|
+
) => Promise<void | Record | undefined>;
|
|
18
|
+
type DeleteType = (collectionName: string, recordId: string) => Promise<void | boolean | undefined>;
|
|
15
19
|
|
|
16
20
|
interface ContentActions {
|
|
17
21
|
subscribe: SubscribeType;
|
|
@@ -94,13 +98,13 @@ export const ContentProvider = (props: ContentProviderProps) => {
|
|
|
94
98
|
.catch(tempErrorHandler);
|
|
95
99
|
},
|
|
96
100
|
create: async (collectionName: string, record: {}) => {
|
|
97
|
-
await client?.records.create(collectionName, record).catch(tempErrorHandler);
|
|
101
|
+
return await client?.records.create(collectionName, record).catch(tempErrorHandler);
|
|
98
102
|
},
|
|
99
103
|
update: async (collectionName: string, recordId: string, record: {}) => {
|
|
100
|
-
await client?.records.update(collectionName, recordId, record).catch(tempErrorHandler);
|
|
104
|
+
return await client?.records.update(collectionName, recordId, record).catch(tempErrorHandler);
|
|
101
105
|
},
|
|
102
106
|
delete: async (collectionName: string, recordId: string) => {
|
|
103
|
-
await client?.records.delete(collectionName, recordId).catch(tempErrorHandler);
|
|
107
|
+
return await client?.records.delete(collectionName, recordId).catch(tempErrorHandler);
|
|
104
108
|
},
|
|
105
109
|
};
|
|
106
110
|
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { useContext, useEffect, useState } from 'react';
|
|
2
|
-
import * as store from '../store';
|
|
3
2
|
import { ContentContext } from '../context';
|
|
4
3
|
import { Record } from '../interfaces/Record';
|
|
5
|
-
import { StorageService } from '../service/Storage';
|
|
6
4
|
import { useAppSelector } from '../store';
|
|
7
5
|
|
|
8
6
|
export type SubscribeType = () => Promise<void | undefined>;
|
|
9
7
|
export type UnsubscribeType = () => Promise<void | undefined>;
|
|
10
8
|
export type FetchType = () => Promise<void | undefined>;
|
|
11
|
-
export type CreateType = (record: {}) => Promise<void | undefined>;
|
|
12
|
-
export type UpdateType = (id: string, record: {}) => Promise<void | undefined>;
|
|
13
|
-
export type DeleteType = (id: string) => Promise<void | undefined>;
|
|
9
|
+
export type CreateType = (record: {}) => Promise<void | Record | undefined>;
|
|
10
|
+
export type UpdateType = (id: string, record: {}) => Promise<void | Record | undefined>;
|
|
11
|
+
export type DeleteType = (id: string) => Promise<void | boolean | undefined>;
|
|
14
12
|
|
|
15
13
|
export interface Actions {
|
|
16
14
|
subscribe: SubscribeType;
|
package/src/service/Storage.ts
CHANGED
|
@@ -7,13 +7,13 @@ export class StorageService {
|
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
static async get(key: string): Promise<string | null> {
|
|
10
|
-
return typeof
|
|
10
|
+
return typeof document !== 'undefined'
|
|
11
11
|
? localStorage.getItem(key)
|
|
12
12
|
: await AsyncStorage.getItem(key);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
static async set(key: string, value: string): Promise<void> {
|
|
16
|
-
if (typeof
|
|
16
|
+
if (typeof document !== 'undefined') {
|
|
17
17
|
return localStorage.setItem(key, value);
|
|
18
18
|
} else {
|
|
19
19
|
return await AsyncStorage.setItem(key, value);
|
|
@@ -21,7 +21,7 @@ export class StorageService {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
static async remove(key: string): Promise<void> {
|
|
24
|
-
if (typeof
|
|
24
|
+
if (typeof document !== 'undefined') {
|
|
25
25
|
return localStorage.removeItem(key);
|
|
26
26
|
} else {
|
|
27
27
|
return await AsyncStorage.removeItem(key);
|