@intoss/shared 0.0.8 → 0.0.9

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