@intoss/shared 0.0.10 → 0.0.12

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/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var b=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var Pe=Object.getOwnPropertyNames;var ye=Object.prototype.hasOwnProperty;var Se=(e,t)=>{for(var o in t)b(e,o,{get:t[o],enumerable:!0})},Ee=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Pe(t))!ye.call(e,r)&&r!==o&&b(e,r,{get:()=>t[r],enumerable:!(s=xe(t,r))||s.enumerable});return e};var _e=e=>Ee(b({},"__esModule",{value:!0}),e);var Me={};Se(Me,{AdGroupProvider:()=>N,AuthStateProvider:()=>L,ConfigProvider:()=>k,FetcherProvider:()=>G,QueryProvider:()=>z,bind:()=>w,calculateDay:()=>Q,calculateDayOfWeek:()=>U,calculateHour:()=>q,calculateMinute:()=>H,calculateWeek:()=>$,useAdGroup:()=>W,useAdvertisement:()=>K,useAuthState:()=>v,useConfig:()=>h,useFetcher:()=>g,useSignInWithToss:()=>Y,useStorage:()=>B});module.exports=_e(Me);var x=require("react");var I=require("@apps-in-toss/framework"),O=(0,I.getOperationalEnvironment)()==="sandbox"?"local":(0,I.getSchemeUri)().startsWith("intoss-private")?"preview":"production",X={local:"http://localhost:3000",preview:"https://preview-api.intoss.app",production:"https://api.intoss.app"}[O];var ee=require("react/jsx-runtime"),Z=(0,x.createContext)({appName:"",apiEndpoint:"http://localhost:3000",runningEnvironment:"local"}),k=({appName:e,children:t})=>{let o=(0,x.useMemo)(()=>({appName:e,apiEndpoint:X,runningEnvironment:O}),[e]);return(0,ee.jsx)(Z.Provider,{value:o,children:t})},h=()=>(0,x.useContext)(Z);var p=require("react"),oe=require("react/jsx-runtime"),te=(0,p.createContext)({getInterstitialAdGroup:()=>({id:"ait-ad-test-interstitial-id",type:"interstitial"}),getRewardedAdGroup:()=>({id:"ait-ad-test-rewarded-id",type:"rewarded"})}),N=({initial:e,children:t})=>{let{appName:o,runningEnvironment:s}=h(),[r,i]=(0,p.useState)(s!=="production"),[n,l]=(0,p.useState)(e),d=(0,p.useCallback)(a=>({id:n[a]??"ait-ad-test-interstitial-id",type:"interstitial"}),[n]),m=(0,p.useCallback)(a=>({id:n[a]??"ait-ad-test-rewarded-id",type:"rewarded"}),[n]),f=(0,p.useMemo)(()=>({getInterstitialAdGroup:d,getRewardedAdGroup:m}),[d,m]);return(0,p.useEffect)(()=>{if(r)return;let a=new AbortController,y=setTimeout(()=>a.abort(),3e3);fetch(`https://static.intoss.app/${o}/assets/adGroupList.json`,{signal:a.signal}).then(A=>A.json()).then(l).finally(()=>{clearTimeout(y),i(!0)})},[o,r]),r?(0,oe.jsx)(te.Provider,{value:f,children:t}):null},W=()=>(0,p.useContext)(te);var T=require("@apps-in-toss/framework"),u=require("react"),K=({primaryAdGroup:e,secondaryAdGroup:t,onShowAd:o,onDissmissAd:s})=>{let[r,i]=(0,u.useState)(!1),[n,l]=(0,u.useState)(!1),[d,m]=(0,u.useState)(),[f,a]=(0,u.useState)(null),y=(0,u.useCallback)(E=>new Promise(_=>{let F=T.GoogleAdMob.loadAppsInTossAdMob({options:{adGroupId:E},onEvent:V=>{switch(V.type){case"loaded":_([!0,F]);break}},onError:()=>_([!1,F])})}),[]),A=(0,u.useCallback)(async()=>{if(T.GoogleAdMob.loadAppsInTossAdMob.isSupported()!==!0){i(!0);return}if(n)return;let[E,_]=await y(e.id);if(E){i(!0),l(!0),m(e.id),a(()=>_);return}if(_(),!t){i(!0);return}let[F,V]=await y(t.id);if(F){i(!0),l(!0),m(t.id),a(()=>V);return}V(),i(!0)},[e,t,n,y]),S=(0,u.useCallback)(()=>{f?.(),l(!1),m(void 0),a(null)},[f]),Ce=(0,u.useCallback)(()=>{if(T.GoogleAdMob.loadAppsInTossAdMob.isSupported()!==!0){o?.(),s?.();return}if(!n||!d){o?.(),s?.();return}T.GoogleAdMob.showAppsInTossAdMob({options:{adGroupId:d},onEvent:E=>{switch(E.type){case"show":(d===e.id&&e.type==="interstitial"||d===t?.id&&t.type==="interstitial")&&o?.();break;case"failedToShow":o?.(),S();break;case"dismissed":s?.(),S();break;case"userEarnedReward":o?.();break}},onError:()=>{o?.(),S()}})},[n,d,e,t,o,s,S]);return(0,u.useEffect)(()=>{d||A()},[d,A]),(0,u.useEffect)(()=>()=>S(),[]),{initialized:r,adLoaded:n,showAd:Ce}};var re=require("@tanstack/react-query"),P=require("react"),se=require("react/jsx-runtime"),ne=(0,P.createContext)({isPreparing:!0,isLoggedIn:!1,retry:()=>Promise.resolve()}),L=({children:e})=>{let{data:t,isFetching:o,refetch:s}=(0,re.useQuery)({queryKey:["/my/user"]}),r=(0,P.useMemo)(()=>({isPreparing:o,isLoggedIn:!!t?.user?.id,retry:s}),[t,o,s]);return(0,se.jsx)(ne.Provider,{value:r,children:e})},v=()=>(0,P.useContext)(ne);var R=require("@apps-in-toss/framework");var ie=require("@apps-in-toss/framework");var ae=require("es-toolkit/string"),c=require("react"),ue=require("react/jsx-runtime"),Te="@auth/token",pe=(0,c.createContext)({fetcher:fetch,setToken:()=>null}),D=e=>Array.isArray(e)?e.map(D):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,o])=>[(0,ae.camelCase)(t),D(o)])):e,G=({baseUrl:e,children:t})=>{let{appName:o,apiEndpoint:s}=h(),[r,i]=(0,c.useState)(null),[n,l]=(0,c.useState)(!1),d=(0,c.useCallback)((m,f)=>fetch(`${e??s}/${o}${m}`,{...f,headers:{"Content-Type":"application/json",...f?.headers,...r?{Authorization:`Bearer ${r}`}:{}}}).then(a=>a.json()).then(a=>D(a)),[o,s,r,e]);return(0,c.useEffect)(()=>{ie.Storage.getItem(Te).then(i).finally(()=>l(!0))},[]),(0,ue.jsx)(pe.Provider,{value:{fetcher:d,setToken:i},children:n?t:null})},g=()=>(0,c.useContext)(pe);var M=require("react"),w=(e,t,o)=>{let{displayName:s}=o??{},r=(0,M.memo)(t),i=(0,M.memo)(n=>(0,M.createElement)(r,e(n)));return i.ViewComponent=r,s&&(i.displayName=s,i.ViewComponent.displayName=`${s}View`),i};var me=require("@tanstack/react-query");var le=require("@tanstack/react-query"),de=require("react");var ce=({children:e})=>{let{fetcher:t}=g();return{queryClient:(0,de.useMemo)(()=>new le.QueryClient({defaultOptions:{queries:{queryFn:({queryKey:s})=>t(s[0])}}}),[t]),children:e}};var fe=require("react/jsx-runtime"),z=w(ce,({queryClient:e,children:t})=>(0,fe.jsx)(me.QueryClientProvider,{client:e,children:t}));var he=require("@tanstack/react-query"),ge=require("react");var ve="@auth/token",Y=({onSuccess:e})=>{let{retry:t}=v(),{fetcher:o,setToken:s}=g(),r=(0,he.useMutation)({mutationFn:async n=>o("/my/sessions",{method:"POST",body:JSON.stringify(n)}),onSuccess:async n=>{s(n.token),await R.Storage.setItem(ve,n.token),await t(),e?.()}});return{signInWithToss:(0,ge.useCallback)(async()=>{let{authorizationCode:n,referrer:l}=await(0,R.appLogin)();r.mutate({authorizationCode:n,referrer:l})},[r]),isLoading:r.isPending}};var Q=e=>Math.floor((e+324e5)/864e5);var U=e=>(e+3)%7;var q=e=>Math.floor((e+324e5)%864e5/36e5);var H=e=>Math.floor((e+324e5)%36e5/6e4);var $=e=>Math.floor((e+3)/7);var J=require("@apps-in-toss/framework"),C=require("react"),j=require("react-native"),B=e=>{let[t,o]=(0,C.useState)(),[s,r]=(0,C.useState)(!0),i=(0,C.useCallback)(n=>(o(n),j.DeviceEventEmitter.emit(e,n),J.Storage.setItem(e,JSON.stringify({value:n}))),[e]);return(0,C.useEffect)(()=>{r(!0),J.Storage.getItem(e).then(l=>{try{o(l===null?void 0:JSON.parse(l).value)}catch{o(void 0)}finally{r(!1)}});let n=j.DeviceEventEmitter.addListener(e,o);return()=>n.remove()},[e]),[t,i,s]};0&&(module.exports={AdGroupProvider,AuthStateProvider,ConfigProvider,FetcherProvider,QueryProvider,bind,calculateDay,calculateDayOfWeek,calculateHour,calculateMinute,calculateWeek,useAdGroup,useAdvertisement,useAuthState,useConfig,useFetcher,useSignInWithToss,useStorage});
1
+ "use strict";var k=Object.defineProperty,ve=Object.defineProperties,Me=Object.getOwnPropertyDescriptor,Fe=Object.getOwnPropertyDescriptors,Ve=Object.getOwnPropertyNames,ee=Object.getOwnPropertySymbols;var re=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable;var te=(e,r,t)=>r in e?k(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,b=(e,r)=>{for(var t in r||(r={}))re.call(r,t)&&te(e,t,r[t]);if(ee)for(var t of ee(r))Se.call(r,t)&&te(e,t,r[t]);return e},oe=(e,r)=>ve(e,Fe(r));var Ie=(e,r)=>{for(var t in r)k(e,t,{get:r[t],enumerable:!0})},Re=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Ve(r))!re.call(e,n)&&n!==t&&k(e,n,{get:()=>r[n],enumerable:!(o=Me(r,n))||o.enumerable});return e};var Oe=e=>Re(k({},"__esModule",{value:!0}),e);var y=(e,r,t)=>new Promise((o,n)=>{var s=a=>{try{p(t.next(a))}catch(d){n(d)}},i=a=>{try{p(t.throw(a))}catch(d){n(d)}},p=a=>a.done?o(a.value):Promise.resolve(a.value).then(s,i);p((t=t.apply(e,r)).next())});var Ne={};Ie(Ne,{AdGroupProvider:()=>L,AuthStateProvider:()=>G,ConfigProvider:()=>K,FetcherProvider:()=>A,QueryProvider:()=>q,bind:()=>S,calculateDay:()=>$,calculateDayOfWeek:()=>U,calculateHour:()=>D,calculateMinute:()=>J,calculateWeek:()=>j,useAdGroup:()=>z,useAdvertisement:()=>Y,useAuthState:()=>F,useConfig:()=>x,useFetcher:()=>C,useSignInWithToss:()=>H,useStorage:()=>Z});module.exports=Oe(Ne);var h=require("react");var N=require("@apps-in-toss/framework"),w=(0,N.getOperationalEnvironment)()==="sandbox"?"local":(0,N.getSchemeUri)().startsWith("intoss-private")?"preview":"production",ne={local:"http://localhost:3000",preview:"https://preview-api.intoss.app",production:"https://api.intoss.app"}[w];var se=require("react/jsx-runtime"),ie=(0,h.createContext)({appName:"",apiEndpoint:"http://localhost:3000",runningEnvironment:"local"}),K=({appName:e,children:r})=>{let t=(0,h.useMemo)(()=>({appName:e,apiEndpoint:ne,runningEnvironment:w}),[e]);return(0,se.jsx)(ie.Provider,{value:t,children:r})},x=()=>(0,h.useContext)(ie);var l=require("react"),pe=require("react/jsx-runtime"),ae=(0,l.createContext)({getInterstitialAdGroup:()=>({id:"ait-ad-test-interstitial-id",type:"interstitial"}),getRewardedAdGroup:()=>({id:"ait-ad-test-rewarded-id",type:"rewarded"})}),L=({initial:e,children:r})=>{let{appName:t,runningEnvironment:o}=x(),[n,s]=(0,l.useState)(o!=="production"),[i,p]=(0,l.useState)(e),a=(0,l.useCallback)(u=>{var m;return{id:(m=i[u])!=null?m:"ait-ad-test-interstitial-id",type:"interstitial"}},[i]),d=(0,l.useCallback)(u=>{var m;return{id:(m=i[u])!=null?m:"ait-ad-test-rewarded-id",type:"rewarded"}},[i]),f=(0,l.useMemo)(()=>({getInterstitialAdGroup:a,getRewardedAdGroup:d}),[a,d]);return(0,l.useEffect)(()=>{if(n)return;let u=new AbortController,m=setTimeout(()=>u.abort(),3e3);fetch(`https://static.intoss.app/${t}/assets/adGroupList.json`,{signal:u.signal}).then(I=>I.json()).then(p).finally(()=>{clearTimeout(m),s(!0)})},[t,n]),n?(0,pe.jsx)(ae.Provider,{value:f,children:r}):null},z=()=>(0,l.useContext)(ae);var M=require("@apps-in-toss/framework"),c=require("react");var Y=({primaryAdGroup:e,secondaryAdGroup:r,onShowAd:t,onDissmissAd:o})=>{let[n,s]=(0,c.useState)(!1),[i,p]=(0,c.useState)(!1),[a,d]=(0,c.useState)(),[f,u]=(0,c.useState)(null),m=(0,c.useCallback)(T=>new Promise(v=>{let R=M.GoogleAdMob.loadAppsInTossAdMob({options:{adGroupId:T},onEvent:O=>{switch(O.type){case"loaded":v([!0,R]);break}},onError:()=>v([!1,R])})}),[]),I=(0,c.useCallback)(()=>y(null,null,function*(){if(M.GoogleAdMob.loadAppsInTossAdMob.isSupported()!==!0){s(!0);return}if(i)return;let[T,v]=yield m(e.id);if(T){s(!0),p(!0),d(e.id),u(()=>v);return}if(v(),!r){s(!0);return}let[R,O]=yield m(r.id);if(R){s(!0),p(!0),d(r.id),u(()=>O);return}O(),s(!0)}),[e,r,i,m]),_=(0,c.useCallback)(()=>{f==null||f(),p(!1),d(void 0),u(null)},[f]),Te=(0,c.useCallback)(()=>{if(M.GoogleAdMob.loadAppsInTossAdMob.isSupported()!==!0){t==null||t(),o==null||o();return}if(!i||!a){t==null||t(),o==null||o();return}M.GoogleAdMob.showAppsInTossAdMob({options:{adGroupId:a},onEvent:T=>{switch(T.type){case"show":(a===e.id&&e.type==="interstitial"||a===(r==null?void 0:r.id)&&r.type==="interstitial")&&(t==null||t());break;case"failedToShow":t==null||t(),_();break;case"dismissed":o==null||o(),_();break;case"userEarnedReward":t==null||t();break}},onError:()=>{t==null||t(),_()}})},[i,a,e,r,t,o,_]);return(0,c.useEffect)(()=>{a||I()},[a,I]),(0,c.useEffect)(()=>()=>_(),[]),{initialized:n,adLoaded:i,showAd:Te}};var ue=require("@tanstack/react-query"),E=require("react"),ce=require("react/jsx-runtime"),le=(0,E.createContext)({isPreparing:!0,isLoggedIn:!1,retry:()=>Promise.resolve()}),G=({children:e})=>{let{data:r,isFetching:t,refetch:o}=(0,ue.useQuery)({queryKey:["/my/user"]}),n=(0,E.useMemo)(()=>{var s;return{isPreparing:t,isLoggedIn:!!((s=r==null?void 0:r.user)!=null&&s.id),retry:o}},[r,t,o]);return(0,ce.jsx)(le.Provider,{value:n,children:e})},F=()=>(0,E.useContext)(le);var W=require("@apps-in-toss/framework");var de=require("@apps-in-toss/framework");var fe=require("es-toolkit/string"),g=require("react");var ge=require("react/jsx-runtime"),ke="@auth/token",me=(0,g.createContext)({fetcher:fetch,setToken:()=>null}),Q=e=>Array.isArray(e)?e.map(Q):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,t])=>[(0,fe.camelCase)(r),Q(t)])):e,A=({baseUrl:e,children:r})=>{let{appName:t,apiEndpoint:o}=x(),[n,s]=(0,g.useState)(null),[i,p]=(0,g.useState)(!1),a=(0,g.useCallback)((d,f)=>fetch(`${e!=null?e:o}/${t}${d}`,oe(b({},f),{headers:b(b({"Content-Type":"application/json"},f==null?void 0:f.headers),n?{Authorization:`Bearer ${n}`}:{})})).then(u=>u.json()).then(u=>Q(u)),[t,o,n,e]);return(0,g.useEffect)(()=>{de.Storage.getItem(ke).then(s).finally(()=>p(!0))},[]),(0,ge.jsx)(me.Provider,{value:{fetcher:a,setToken:s},children:i?r:null})},C=()=>(0,g.useContext)(me);var V=require("react"),S=(e,r,t)=>{let{displayName:o}=t!=null?t:{},n=(0,V.memo)(r),s=(0,V.memo)(i=>(0,V.createElement)(n,e(i)));return s.ViewComponent=n,o&&(s.displayName=o,s.ViewComponent.displayName=`${o}View`),s};var ye=require("@tanstack/react-query");var xe=require("@tanstack/react-query"),Ce=require("react");var Pe=({children:e})=>{let{fetcher:r}=C();return{queryClient:(0,Ce.useMemo)(()=>new xe.QueryClient({defaultOptions:{queries:{queryFn:({queryKey:o})=>r(o[0])}}}),[r]),children:e}};var he=require("react/jsx-runtime"),q=S(Pe,({queryClient:e,children:r})=>(0,he.jsx)(ye.QueryClientProvider,{client:e,children:r}));var Ee=require("@tanstack/react-query"),_e=require("react");var be="@auth/token",H=({onSuccess:e})=>{let{retry:r}=F(),{fetcher:t,setToken:o}=C(),n=(0,Ee.useMutation)({mutationFn:i=>y(null,null,function*(){return t("/my/sessions",{method:"POST",body:JSON.stringify(i)})}),onSuccess:i=>y(null,null,function*(){o(i.token),yield W.Storage.setItem(be,i.token),yield r(),e==null||e()})});return{signInWithToss:(0,_e.useCallback)(()=>y(null,null,function*(){let{authorizationCode:i,referrer:p}=yield(0,W.appLogin)();n.mutate({authorizationCode:i,referrer:p})}),[n]),isLoading:n.isPending}};var $=e=>Math.floor((e+324e5)/864e5);var U=e=>(e+3)%7;var D=e=>Math.floor((e+324e5)%864e5/36e5);var J=e=>Math.floor((e+324e5)%36e5/6e4);var j=e=>Math.floor((e+3)/7);var B=require("@apps-in-toss/framework"),P=require("react"),X=require("react-native"),Z=e=>{let[r,t]=(0,P.useState)(),[o,n]=(0,P.useState)(!0),s=(0,P.useCallback)(i=>(t(i),X.DeviceEventEmitter.emit(e,i),B.Storage.setItem(e,JSON.stringify({value:i}))),[e]);return(0,P.useEffect)(()=>{n(!0),B.Storage.getItem(e).then(p=>{try{t(p===null?void 0:JSON.parse(p).value)}catch(a){t(void 0)}finally{n(!1)}});let i=X.DeviceEventEmitter.addListener(e,t);return()=>i.remove()},[e]),[r,s,o]};0&&(module.exports={AdGroupProvider,AuthStateProvider,ConfigProvider,FetcherProvider,QueryProvider,bind,calculateDay,calculateDayOfWeek,calculateHour,calculateMinute,calculateWeek,useAdGroup,useAdvertisement,useAuthState,useConfig,useFetcher,useSignInWithToss,useStorage});
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{createContext as se,useContext as ie,useMemo as ae}from"react";import{getOperationalEnvironment as re,getSchemeUri as ne}from"@apps-in-toss/framework";var M=re()==="sandbox"?"local":ne().startsWith("intoss-private")?"preview":"production",A={local:"http://localhost:3000",preview:"https://preview-api.intoss.app",production:"https://api.intoss.app"}[M];import{jsx as pe}from"react/jsx-runtime";var F=se({appName:"",apiEndpoint:"http://localhost:3000",runningEnvironment:"local"}),V=({appName:e,children:o})=>{let t=ae(()=>({appName:e,apiEndpoint:A,runningEnvironment:M}),[e]);return pe(F.Provider,{value:t,children:o})},c=()=>ie(F);import{createContext as ue,useCallback as I,useContext as le,useEffect as de,useMemo as ce,useState as R}from"react";import{jsx as me}from"react/jsx-runtime";var b=ue({getInterstitialAdGroup:()=>({id:"ait-ad-test-interstitial-id",type:"interstitial"}),getRewardedAdGroup:()=>({id:"ait-ad-test-rewarded-id",type:"rewarded"})}),O=({initial:e,children:o})=>{let{appName:t,runningEnvironment:n}=c(),[s,i]=R(n!=="production"),[r,p]=R(e),u=I(a=>({id:r[a]??"ait-ad-test-interstitial-id",type:"interstitial"}),[r]),l=I(a=>({id:r[a]??"ait-ad-test-rewarded-id",type:"rewarded"}),[r]),d=ce(()=>({getInterstitialAdGroup:u,getRewardedAdGroup:l}),[u,l]);return de(()=>{if(s)return;let a=new AbortController,f=setTimeout(()=>a.abort(),3e3);fetch(`https://static.intoss.app/${t}/assets/adGroupList.json`,{signal:a.signal}).then(x=>x.json()).then(p).finally(()=>{clearTimeout(f),i(!0)})},[t,s]),s?me(b.Provider,{value:d,children:o}):null},k=()=>le(b);import{GoogleAdMob as S}from"@apps-in-toss/framework";import{useCallback as E,useEffect as N,useState as _}from"react";var W=({primaryAdGroup:e,secondaryAdGroup:o,onShowAd:t,onDissmissAd:n})=>{let[s,i]=_(!1),[r,p]=_(!1),[u,l]=_(),[d,a]=_(null),f=E(g=>new Promise(C=>{let P=S.loadAppsInTossAdMob({options:{adGroupId:g},onEvent:y=>{switch(y.type){case"loaded":C([!0,P]);break}},onError:()=>C([!1,P])})}),[]),x=E(async()=>{if(S.loadAppsInTossAdMob.isSupported()!==!0){i(!0);return}if(r)return;let[g,C]=await f(e.id);if(g){i(!0),p(!0),l(e.id),a(()=>C);return}if(C(),!o){i(!0);return}let[P,y]=await f(o.id);if(P){i(!0),p(!0),l(o.id),a(()=>y);return}y(),i(!0)},[e,o,r,f]),h=E(()=>{d?.(),p(!1),l(void 0),a(null)},[d]),oe=E(()=>{if(S.loadAppsInTossAdMob.isSupported()!==!0){t?.(),n?.();return}if(!r||!u){t?.(),n?.();return}S.showAppsInTossAdMob({options:{adGroupId:u},onEvent:g=>{switch(g.type){case"show":(u===e.id&&e.type==="interstitial"||u===o?.id&&o.type==="interstitial")&&t?.();break;case"failedToShow":t?.(),h();break;case"dismissed":n?.(),h();break;case"userEarnedReward":t?.();break}},onError:()=>{t?.(),h()}})},[r,u,e,o,t,n,h]);return N(()=>{u||x()},[u,x]),N(()=>()=>h(),[]),{initialized:s,adLoaded:r,showAd:oe}};import{useQuery as fe}from"@tanstack/react-query";import{createContext as he,useContext as ge,useMemo as Ce}from"react";import{jsx as xe}from"react/jsx-runtime";var K=he({isPreparing:!0,isLoggedIn:!1,retry:()=>Promise.resolve()}),L=({children:e})=>{let{data:o,isFetching:t,refetch:n}=fe({queryKey:["/my/user"]}),s=Ce(()=>({isPreparing:t,isLoggedIn:!!o?.user?.id,retry:n}),[o,t,n]);return xe(K.Provider,{value:s,children:e})},T=()=>ge(K);import{appLogin as Re,Storage as be}from"@apps-in-toss/framework";import{Storage as Pe}from"@apps-in-toss/framework";import{camelCase as ye}from"es-toolkit/string";import{createContext as Se,useCallback as Ee,useContext as _e,useEffect as Te,useState as D}from"react";import{jsx as Me}from"react/jsx-runtime";var ve="@auth/token",G=Se({fetcher:fetch,setToken:()=>null}),w=e=>Array.isArray(e)?e.map(w):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([o,t])=>[ye(o),w(t)])):e,z=({baseUrl:e,children:o})=>{let{appName:t,apiEndpoint:n}=c(),[s,i]=D(null),[r,p]=D(!1),u=Ee((l,d)=>fetch(`${e??n}/${t}${l}`,{...d,headers:{"Content-Type":"application/json",...d?.headers,...s?{Authorization:`Bearer ${s}`}:{}}}).then(a=>a.json()).then(a=>w(a)),[t,n,s,e]);return Te(()=>{Pe.getItem(ve).then(i).finally(()=>p(!0))},[]),Me(G.Provider,{value:{fetcher:u,setToken:i},children:r?o:null})},m=()=>_e(G);import{createElement as we,memo as Y}from"react";var v=(e,o,t)=>{let{displayName:n}=t??{},s=Y(o),i=Y(r=>we(s,e(r)));return i.ViewComponent=s,n&&(i.displayName=n,i.ViewComponent.displayName=`${n}View`),i};import{QueryClientProvider as Ve}from"@tanstack/react-query";import{QueryClient as Ae}from"@tanstack/react-query";import{useMemo as Fe}from"react";var Q=({children:e})=>{let{fetcher:o}=m();return{queryClient:Fe(()=>new Ae({defaultOptions:{queries:{queryFn:({queryKey:n})=>o(n[0])}}}),[o]),children:e}};import{jsx as Ie}from"react/jsx-runtime";var U=v(Q,({queryClient:e,children:o})=>Ie(Ve,{client:e,children:o}));import{useMutation as Oe}from"@tanstack/react-query";import{useCallback as ke}from"react";var Ne="@auth/token",q=({onSuccess:e})=>{let{retry:o}=T(),{fetcher:t,setToken:n}=m(),s=Oe({mutationFn:async r=>t("/my/sessions",{method:"POST",body:JSON.stringify(r)}),onSuccess:async r=>{n(r.token),await be.setItem(Ne,r.token),await o(),e?.()}});return{signInWithToss:ke(async()=>{let{authorizationCode:r,referrer:p}=await Re();s.mutate({authorizationCode:r,referrer:p})},[s]),isLoading:s.isPending}};var H=e=>Math.floor((e+324e5)/864e5);var $=e=>(e+3)%7;var J=e=>Math.floor((e+324e5)%864e5/36e5);var j=e=>Math.floor((e+324e5)%36e5/6e4);var B=e=>Math.floor((e+3)/7);import{Storage as X}from"@apps-in-toss/framework";import{useCallback as We,useEffect as Ke,useState as Z}from"react";import{DeviceEventEmitter as ee}from"react-native";var te=e=>{let[o,t]=Z(),[n,s]=Z(!0),i=We(r=>(t(r),ee.emit(e,r),X.setItem(e,JSON.stringify({value:r}))),[e]);return Ke(()=>{s(!0),X.getItem(e).then(p=>{try{t(p===null?void 0:JSON.parse(p).value)}catch{t(void 0)}finally{s(!1)}});let r=ee.addListener(e,t);return()=>r.remove()},[e]),[o,i,n]};export{O as AdGroupProvider,L as AuthStateProvider,V as ConfigProvider,z as FetcherProvider,U as QueryProvider,v as bind,H as calculateDay,$ as calculateDayOfWeek,J as calculateHour,j as calculateMinute,B as calculateWeek,k as useAdGroup,W as useAdvertisement,T as useAuthState,c as useConfig,m as useFetcher,q as useSignInWithToss,te as useStorage};
1
+ var pe=Object.defineProperty,ue=Object.defineProperties;var le=Object.getOwnPropertyDescriptors;var R=Object.getOwnPropertySymbols;var ce=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var O=(e,r,t)=>r in e?pe(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,_=(e,r)=>{for(var t in r||(r={}))ce.call(r,t)&&O(e,t,r[t]);if(R)for(var t of R(r))de.call(r,t)&&O(e,t,r[t]);return e},k=(e,r)=>ue(e,le(r));var f=(e,r,t)=>new Promise((o,i)=>{var s=a=>{try{p(t.next(a))}catch(l){i(l)}},n=a=>{try{p(t.throw(a))}catch(l){i(l)}},p=a=>a.done?o(a.value):Promise.resolve(a.value).then(s,n);p((t=t.apply(e,r)).next())});import{createContext as ge,useContext as xe,useMemo as Ce}from"react";import{getOperationalEnvironment as fe,getSchemeUri as me}from"@apps-in-toss/framework";var S=fe()==="sandbox"?"local":me().startsWith("intoss-private")?"preview":"production",b={local:"http://localhost:3000",preview:"https://preview-api.intoss.app",production:"https://api.intoss.app"}[S];import{jsx as Pe}from"react/jsx-runtime";var N=ge({appName:"",apiEndpoint:"http://localhost:3000",runningEnvironment:"local"}),W=({appName:e,children:r})=>{let t=Ce(()=>({appName:e,apiEndpoint:b,runningEnvironment:S}),[e]);return Pe(N.Provider,{value:t,children:r})},m=()=>xe(N);import{createContext as ye,useCallback as w,useContext as he,useEffect as Ee,useMemo as _e,useState as K}from"react";import{jsx as Te}from"react/jsx-runtime";var L=ye({getInterstitialAdGroup:()=>({id:"ait-ad-test-interstitial-id",type:"interstitial"}),getRewardedAdGroup:()=>({id:"ait-ad-test-rewarded-id",type:"rewarded"})}),z=({initial:e,children:r})=>{let{appName:t,runningEnvironment:o}=m(),[i,s]=K(o!=="production"),[n,p]=K(e),a=w(u=>{var d;return{id:(d=n[u])!=null?d:"ait-ad-test-interstitial-id",type:"interstitial"}},[n]),l=w(u=>{var d;return{id:(d=n[u])!=null?d:"ait-ad-test-rewarded-id",type:"rewarded"}},[n]),c=_e(()=>({getInterstitialAdGroup:a,getRewardedAdGroup:l}),[a,l]);return Ee(()=>{if(i)return;let u=new AbortController,d=setTimeout(()=>u.abort(),3e3);fetch(`https://static.intoss.app/${t}/assets/adGroupList.json`,{signal:u.signal}).then(y=>y.json()).then(p).finally(()=>{clearTimeout(d),s(!0)})},[t,i]),i?Te(L.Provider,{value:c,children:r}):null},Y=()=>he(L);import{GoogleAdMob as T}from"@apps-in-toss/framework";import{useCallback as v,useEffect as G,useState as M}from"react";var Q=({primaryAdGroup:e,secondaryAdGroup:r,onShowAd:t,onDissmissAd:o})=>{let[i,s]=M(!1),[n,p]=M(!1),[a,l]=M(),[c,u]=M(null),d=v(C=>new Promise(P=>{let h=T.loadAppsInTossAdMob({options:{adGroupId:C},onEvent:E=>{switch(E.type){case"loaded":P([!0,h]);break}},onError:()=>P([!1,h])})}),[]),y=v(()=>f(null,null,function*(){if(T.loadAppsInTossAdMob.isSupported()!==!0){s(!0);return}if(n)return;let[C,P]=yield d(e.id);if(C){s(!0),p(!0),l(e.id),u(()=>P);return}if(P(),!r){s(!0);return}let[h,E]=yield d(r.id);if(h){s(!0),p(!0),l(r.id),u(()=>E);return}E(),s(!0)}),[e,r,n,d]),x=v(()=>{c==null||c(),p(!1),l(void 0),u(null)},[c]),ae=v(()=>{if(T.loadAppsInTossAdMob.isSupported()!==!0){t==null||t(),o==null||o();return}if(!n||!a){t==null||t(),o==null||o();return}T.showAppsInTossAdMob({options:{adGroupId:a},onEvent:C=>{switch(C.type){case"show":(a===e.id&&e.type==="interstitial"||a===(r==null?void 0:r.id)&&r.type==="interstitial")&&(t==null||t());break;case"failedToShow":t==null||t(),x();break;case"dismissed":o==null||o(),x();break;case"userEarnedReward":t==null||t();break}},onError:()=>{t==null||t(),x()}})},[n,a,e,r,t,o,x]);return G(()=>{a||y()},[a,y]),G(()=>()=>x(),[]),{initialized:i,adLoaded:n,showAd:ae}};import{useQuery as ve}from"@tanstack/react-query";import{createContext as Me,useContext as Fe,useMemo as Ve}from"react";import{jsx as Se}from"react/jsx-runtime";var A=Me({isPreparing:!0,isLoggedIn:!1,retry:()=>Promise.resolve()}),q=({children:e})=>{let{data:r,isFetching:t,refetch:o}=ve({queryKey:["/my/user"]}),i=Ve(()=>{var s;return{isPreparing:t,isLoggedIn:!!((s=r==null?void 0:r.user)!=null&&s.id),retry:o}},[r,t,o]);return Se(A.Provider,{value:i,children:e})},F=()=>Fe(A);import{appLogin as Qe,Storage as Ae}from"@apps-in-toss/framework";import{Storage as Ie}from"@apps-in-toss/framework";import{camelCase as Re}from"es-toolkit/string";import{createContext as Oe,useCallback as ke,useContext as be,useEffect as Ne,useState as H}from"react";import{jsx as we}from"react/jsx-runtime";var We="@auth/token",$=Oe({fetcher:fetch,setToken:()=>null}),I=e=>Array.isArray(e)?e.map(I):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,t])=>[Re(r),I(t)])):e,U=({baseUrl:e,children:r})=>{let{appName:t,apiEndpoint:o}=m(),[i,s]=H(null),[n,p]=H(!1),a=ke((l,c)=>fetch(`${e!=null?e:o}/${t}${l}`,k(_({},c),{headers:_(_({"Content-Type":"application/json"},c==null?void 0:c.headers),i?{Authorization:`Bearer ${i}`}:{})})).then(u=>u.json()).then(u=>I(u)),[t,o,i,e]);return Ne(()=>{Ie.getItem(We).then(s).finally(()=>p(!0))},[]),we($.Provider,{value:{fetcher:a,setToken:s},children:n?r:null})},g=()=>be($);import{createElement as Ke,memo as D}from"react";var V=(e,r,t)=>{let{displayName:o}=t!=null?t:{},i=D(r),s=D(n=>Ke(i,e(n)));return s.ViewComponent=i,o&&(s.displayName=o,s.ViewComponent.displayName=`${o}View`),s};import{QueryClientProvider as Ye}from"@tanstack/react-query";import{QueryClient as Le}from"@tanstack/react-query";import{useMemo as ze}from"react";var J=({children:e})=>{let{fetcher:r}=g();return{queryClient:ze(()=>new Le({defaultOptions:{queries:{queryFn:({queryKey:o})=>r(o[0])}}}),[r]),children:e}};import{jsx as Ge}from"react/jsx-runtime";var j=V(J,({queryClient:e,children:r})=>Ge(Ye,{client:e,children:r}));import{useMutation as qe}from"@tanstack/react-query";import{useCallback as He}from"react";var $e="@auth/token",B=({onSuccess:e})=>{let{retry:r}=F(),{fetcher:t,setToken:o}=g(),i=qe({mutationFn:n=>f(null,null,function*(){return t("/my/sessions",{method:"POST",body:JSON.stringify(n)})}),onSuccess:n=>f(null,null,function*(){o(n.token),yield Ae.setItem($e,n.token),yield r(),e==null||e()})});return{signInWithToss:He(()=>f(null,null,function*(){let{authorizationCode:n,referrer:p}=yield Qe();i.mutate({authorizationCode:n,referrer:p})}),[i]),isLoading:i.isPending}};var X=e=>Math.floor((e+324e5)/864e5);var Z=e=>(e+3)%7;var ee=e=>Math.floor((e+324e5)%864e5/36e5);var te=e=>Math.floor((e+324e5)%36e5/6e4);var re=e=>Math.floor((e+3)/7);import{Storage as oe}from"@apps-in-toss/framework";import{useCallback as Ue,useEffect as De,useState as ne}from"react";import{DeviceEventEmitter as ie}from"react-native";var se=e=>{let[r,t]=ne(),[o,i]=ne(!0),s=Ue(n=>(t(n),ie.emit(e,n),oe.setItem(e,JSON.stringify({value:n}))),[e]);return De(()=>{i(!0),oe.getItem(e).then(p=>{try{t(p===null?void 0:JSON.parse(p).value)}catch(a){t(void 0)}finally{i(!1)}});let n=ie.addListener(e,t);return()=>n.remove()},[e]),[r,s,o]};export{z as AdGroupProvider,q as AuthStateProvider,W as ConfigProvider,U as FetcherProvider,j as QueryProvider,V as bind,X as calculateDay,Z as calculateDayOfWeek,ee as calculateHour,te as calculateMinute,re as calculateWeek,Y as useAdGroup,Q as useAdvertisement,F as useAuthState,m as useConfig,g as useFetcher,B as useSignInWithToss,se as useStorage};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intoss/shared",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",