react-playmakers
Version:
React wrapper providing utilities for PlayMakers integration
1 lines • 94.5 kB
JavaScript
import{Amplify as e}from"aws-amplify";import{fetchAuthSession as r,signInWithRedirect as t,signOut as n,confirmSignIn as o,getCurrentUser as i,signIn as s}from"aws-amplify/auth";import u from"axios";import{jsx as c}from"react/jsx-runtime";import{Hub as a}from"aws-amplify/utils";import l,{useState as h,useEffect as f,useContext as m,createContext as d,useRef as v}from"react";import{CookiesProvider as P}from"react-cookie";function p(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function g(){return g=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},g.apply(null,arguments)}function w(e,r){if(null==e)return{};var t={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(r.includes(n))continue;t[n]=e[n]}return t}function y(e,r){try{var t=e()}catch(e){return r(e)}return t&&t.then?t.then(void 0,r):t}var j=function(e){var r=e.url,t=e.method,n=e.params,o=void 0===n?{}:n,i=e.files,s=void 0===i?[]:i;return Promise.resolve(I(r,t,o,e.cacheExpiration)).then(function(e){if(void 0!==e)return e;var n={params:"get"===t?o:void 0,headers:{}},i=o;return s&&s.length?(i=new FormData,Object.entries(o).forEach(function(e){i.append(e[0],e[1])}),n.headers["Content-Type"]="multipart/form-data",s.forEach(function(e){i.append("files",e)})):n.headers["Content-Type"]="application/json",Promise.resolve(b()).then(function(e){return e&&(n.headers.Authorization="Bearer "+e),y(function(){var e=u(g({data:i,method:t,url:r},n));return R(r,t,o,e),Promise.resolve(e).then(function(e){return e.data})},function(e){var r,t,n=(null==(r=e.response)?void 0:r.status)||400;throw console.error("Connection error",e.code,n),(null==(t=e.response)?void 0:t.data)||e})})})},E=function(e,r){void 0===r&&(r={});try{return Promise.resolve(b()).then(function(t){r.accessToken=t;var n=document.createElement("form");n.method="POST",n.action=e,Object.keys(r).forEach(function(e){var t=document.createElement("input");t.type="hidden",t.name=e,t.value=r[e],n.appendChild(t)}),document.body.appendChild(n),n.submit()})}catch(e){return Promise.reject(e)}},b=function(e){return void 0===e&&(e=!1),Promise.resolve(y(function(){return Promise.resolve(r({forceRefresh:e})).then(function(r){var t,n;function o(e){return n?e:null==i?void 0:i.toString()}var i=(null!=(t=r.tokens)?t:{}).accessToken;if(!i||null==i||!i.toString())return null;var s=function(r){if(!e&&null!=i&&null!=(r=i.payload)&&r.exp){var t=1e3*i.payload.exp,o=(new Date).getTime();return function(){if(t-o<3e5)return Promise.resolve(b(!0)).then(function(e){return n=1,e})}()}}();return s&&s.then?s.then(o):o(s)})},function(){return null}))},S={},I=function(e,r,t,n){void 0===r&&(r=""),void 0===t&&(t=""),void 0===n&&(n=2e3);try{var o,i=e+"("+r+"){"+JSON.stringify(t)+"}",s=S[i];"get"!==r&&(n=n<500?n:500);var u=function(){if(s&&(new Date).getTime()-s.timestamp<n)return Promise.resolve(s.response).then(function(e){return o=1,null==e?void 0:e.data})}();return Promise.resolve(u&&u.then?u.then(function(e){return o?e:void 0}):o?u:void 0)}catch(e){return Promise.reject(e)}},R=function(e,r,t,n){void 0===r&&(r=""),void 0===t&&(t="");var o=e+"("+r+"){"+JSON.stringify(t)+"}";S[o]={response:n,timestamp:(new Date).getTime()}},T=["url"],C=function(r){var t=this,n=this,o=this,i=this,s=this,u=this,c=this,a=this,l=this,h=this,f=this,m=this,d=this,v=this,P=this,p=this,y=this,E=this,b=this,S=this,I=this,R=this,C=this,U=this,A=this,N=this,O=this,k=this,Q=this,B=this,q=this,L=this,D=this,_=this,M=this,F=this,x=this,V=this,J=this,G=this,H=this,W=this,Z=this,z=this,Y=this,X=this,K=this,$=this,ee=this,re=this,te=this,ne=this,oe=this,ie=this,se=this,ue=this,ce=this,ae=this,le=this,he=this,fe=this,me=this,de=this,ve=this,Pe=this,pe=this,ge=this,we=this,ye=this,je=this,Ee=this,be=this,Se=this,Ie=this,Re=this,Te=this,Ce=this,Ue=this,Ae=this,Ne=this,Oe=this,ke=this,Qe=this,Be=this,qe=this,Le=this,De=this,_e=this,Me=this,Fe=this,xe=this,Ve=this,Je=this,Ge=this,He=this;this.baseUrl=void 0,this.cacheExpiration=void 0,this.uploadsUrl=void 0,this.projectId=void 0,this.twitterSignInUrl=void 0,this.call=function(e){var r=e.url,t=w(e,T);try{return Promise.resolve(j(g({cacheExpiration:n.cacheExpiration,url:n.baseUrl+"/"+r},t)))}catch(e){return Promise.reject(e)}},this.exports=["baristaRequest","createAsset","updateAsset","updateAssetFile","getAsset","getGlobalAssets","getProjectAssets","getSchemaAssets","deleteAsset","getCategories","getParentCategories","createCategory","deleteCategory","renameCategory","getUserComments","getSubmissionComments","getComment","createComment","updateComment","deleteComment","getProjects","getProject","createProject","updateProject","updateProjectConfig","updateProjectThumbnail","createSchema","updateSchema","deleteSchema","getSchemas","getSchemasByCategory","getSchema","updateSchemaThumbnail","createSubmission","updateSubmission","deleteSubmission","getSubmission","getSubmissions","getSubmissionsBySchema","getSubmissionsByIds","updateSubmissionsStates","signUp","signUpConfirmation","resendConfirmationCode","sendPasswordResetCode","passwordReset","getMe","getUser","getUserMetadata","getTokensFromTwitterToken","getCreators","updateAvatar","createUserParent","linkFederated","unlinkFederated","vote","downVote","upVote","cancelVote","getVote","voteBalance","getNotifications","markAllNotificationsAsRead","updateNotification","deleteNotification","getTags","redirectTwitterLogin","getSteamProfile","getQuestType","getQuestTypes","getQuestTypeCategories","getQuests","getQuest","createQuest","deleteQuest","updateQuest","getUserQuest","getUserQuests","getUserQuestsByProject","getUserQuestsByQuest","completeQuest","getRewardTypes","getRewardType","getRewardsByProject","getReward","createReward","updateReward","deleteReward","redeemReward","getUserRewards","getUserRewardsByProject","getUserRewardsByReward","getUserReward","updateUserRewardState"],this.extendSubmission=function(e){return e.zip||(e.zip=t.uploadsUrl+"/"+e.id+"/submission.zip"),e},this.baristaRequest=function(e){var r=e.schema,t=e.submission;try{return Promise.resolve(o.call({method:"post",params:{schema:r,submission:t},url:"barista"}))}catch(e){return Promise.reject(e)}},this.createAsset=function(e){try{return Promise.resolve(i.call({method:"post",params:e,url:"asset"}))}catch(e){return Promise.reject(e)}},this.updateAsset=function(e,r){try{return Promise.resolve(s.call({method:"put",params:r,url:"asset/"+e}))}catch(e){return Promise.reject(e)}},this.updateAssetFile=function(e,r){try{return Promise.resolve(u.call({files:[r],method:"put",url:"asset/"+e+"/upload"}))}catch(e){return Promise.reject(e)}},this.getAsset=function(e){try{return Promise.resolve(c.call({method:"get",url:"asset/"+e}))}catch(e){return Promise.reject(e)}},this.getGlobalAssets=function(e){try{return Promise.resolve(a.call({method:"get",params:e,url:"assets/global"}))}catch(e){return Promise.reject(e)}},this.getProjectAssets=function(e,r){try{return void 0===r&&(r=l.projectId),Promise.resolve(l.call({method:"get",params:e,url:"assets/by/project/"+r}))}catch(e){return Promise.reject(e)}},this.getSchemaAssets=function(e,r){void 0===r&&(r={});try{return Promise.resolve(h.call({method:"get",params:r,url:"assets/by/schema/"+e}))}catch(e){return Promise.reject(e)}},this.deleteAsset=function(e){try{return Promise.resolve(f.call({method:"delete",url:"asset/"+e}))}catch(e){return Promise.reject(e)}},this.getCategories=function(e,r,t){void 0===t&&(t={});try{return void 0===r&&(r=m.projectId),Promise.resolve(m.call({method:"get",params:g({categoryId:e},t),url:"categories/"+r}))}catch(e){return Promise.reject(e)}},this.getParentCategories=function(e){try{return Promise.resolve(d.call({method:"get",url:"category/"+e}))}catch(e){return Promise.reject(e)}},this.createCategory=function(e,r,t){try{return void 0===t&&(t=v.projectId),Promise.resolve(v.call({method:"post",params:{name:e,parentId:r,projectId:t},url:"category"}))}catch(e){return Promise.reject(e)}},this.deleteCategory=function(e){try{return Promise.resolve(P.call({method:"delete",url:"category/"+e}))}catch(e){return Promise.reject(e)}},this.renameCategory=function(e,r){try{return Promise.resolve(p.call({method:"put",params:{name:r},url:"category/"+e}))}catch(e){return Promise.reject(e)}},this.getUserComments=function(e,r){try{return Promise.resolve(y.call({method:"get",params:r,url:"comments/by/user/"+e}))}catch(e){return Promise.reject(e)}},this.getSubmissionComments=function(e,r){try{return Promise.resolve(E.call({method:"get",params:r,url:"comments/"+e}))}catch(e){return Promise.reject(e)}},this.getComment=function(e){try{return Promise.resolve(b.call({method:"get",url:"comment/"+e}))}catch(e){return Promise.reject(e)}},this.createComment=function(e,r,t){try{return Promise.resolve(S.call({method:"post",params:{body:r,state:t},url:"comment/"+e}))}catch(e){return Promise.reject(e)}},this.updateComment=function(e,r,t){try{return Promise.resolve(I.call({method:"put",params:{body:r,state:t},url:"comment/"+e}))}catch(e){return Promise.reject(e)}},this.deleteComment=function(e){try{return Promise.resolve(R.call({method:"delete",url:"comment/"+e}))}catch(e){return Promise.reject(e)}},this.getProjects=function(e){void 0===e&&(e={});try{return Promise.resolve(C.call({method:"get",params:e,url:"projects"}))}catch(e){return Promise.reject(e)}},this.getProject=function(e){try{return void 0===e&&(e=U.projectId),Promise.resolve(U.call({method:"get",url:"project/"+e}))}catch(e){return Promise.reject(e)}},this.createProject=function(e){try{return Promise.resolve(A.call({method:"post",params:e,url:"project"}))}catch(e){return Promise.reject(e)}},this.updateProject=function(e,r){try{return void 0===r&&(r=N.projectId),Promise.resolve(N.call({method:"put",params:e,url:"project/"+r}))}catch(e){return Promise.reject(e)}},this.updateProjectConfig=function(e,r){try{return void 0===r&&(r=O.projectId),Promise.resolve(O.call({method:"put",params:e,url:"project/"+r+"/config"}))}catch(e){return Promise.reject(e)}},this.updateProjectThumbnail=function(e,r){try{return void 0===r&&(r=k.projectId),Promise.resolve(k.call({files:[e],method:"put",url:"project/"+r+"/thumbnail"}))}catch(e){return Promise.reject(e)}},this.createSchema=function(e){try{return Promise.resolve(Q.call({method:"post",params:e,url:"schema"}))}catch(e){return Promise.reject(e)}},this.updateSchema=function(e,r){try{return Promise.resolve(B.call({method:"put",params:r,url:"schema/"+e}))}catch(e){return Promise.reject(e)}},this.getSchemas=function(e,r){void 0===r&&(r={});try{return void 0===e&&(e=q.projectId),Promise.resolve(q.call({method:"get",params:r,url:"schemas/by/project/"+e}))}catch(e){return Promise.reject(e)}},this.getSchemasByCategory=function(e){try{return Promise.resolve(L.call({method:"get",url:"schemas/by/category/"+e}))}catch(e){return Promise.reject(e)}},this.getSchema=function(e){try{return Promise.resolve(D.call({method:"get",url:"schema/"+e}))}catch(e){return Promise.reject(e)}},this.deleteSchema=function(e){try{return Promise.resolve(_.call({method:"delete",url:"schema/"+e}))}catch(e){return Promise.reject(e)}},this.updateSchemaThumbnail=function(e,r){try{return Promise.resolve(M.call({files:[r],method:"put",url:"schema/"+e+"/thumbnail"}))}catch(e){return Promise.reject(e)}},this.createSubmission=function(e,r){void 0===e&&(e={}),void 0===r&&(r=[]);try{var t=F.extendSubmission;return Promise.resolve(F.call({files:r,method:"post",params:e,url:"submission"})).then(function(e){return t.call(F,e)})}catch(e){return Promise.reject(e)}},this.updateSubmission=function(e,r,t){void 0===r&&(r={}),void 0===t&&(t=[]);try{var n=x.extendSubmission;return Promise.resolve(x.call({files:t,method:"put",params:r,url:"submission/"+e})).then(function(e){return n.call(x,e)})}catch(e){return Promise.reject(e)}},this.getSubmission=function(e){try{var r=V.extendSubmission;return Promise.resolve(V.call({method:"get",url:"submission/"+e})).then(function(e){return r.call(V,e)})}catch(e){return Promise.reject(e)}},this.deleteSubmission=function(e){try{return Promise.resolve(J.call({method:"delete",url:"submission/"+e}))}catch(e){return Promise.reject(e)}},this.getSubmissions=function(e){void 0===e&&(e={});try{return Promise.resolve(G.call({method:"get",params:e,url:"submissions"})).then(function(e){return e.map(function(e){return G.extendSubmission(e)})})}catch(e){return Promise.reject(e)}},this.getSubmissionsBySchema=function(e){try{return Promise.resolve(H.call({method:"get",params:{schemaId:e},url:"submissions/by/schema/"+e})).then(function(e){return e.map(function(e){return H.extendSubmission(e)})})}catch(e){return Promise.reject(e)}},this.getSubmissionsByIds=function(e){try{return Promise.resolve(W.call({method:"get",params:{submissionIds:e},url:"submissions/by/ids"})).then(function(e){return e.map(function(e){return W.extendSubmission(e)})})}catch(e){return Promise.reject(e)}},this.updateSubmissionsStates=function(e,r){try{return Promise.resolve(Z.call({method:"put",params:{state:r,submissionIds:e},url:"submissions/by/ids"}))}catch(e){return Promise.reject(e)}},this.signUp=function(e,r,t){try{return Promise.resolve(z.call({method:"post",params:{email:e,password:t,username:r},url:"user/auth/signup"}))}catch(e){return Promise.reject(e)}},this.resendConfirmationCode=function(e,r){try{if(!e&&!r)throw new Error("Either email or username must be provided.");var t=g({},e&&{email:e},r&&{username:r});return Promise.resolve(Y.call({method:"post",params:t,url:"user/auth/resendConfirmation"}))}catch(e){return Promise.reject(e)}},this.sendPasswordResetCode=function(e){try{return Promise.resolve(X.call({method:"post",params:{email:e},url:"user/auth/sendPasswordResetCode"}))}catch(e){return Promise.reject(e)}},this.passwordReset=function(e,r,t){try{return Promise.resolve(K.call({method:"post",params:{code:r,password:t,username:e},url:"user/auth/passwordReset"}))}catch(e){return Promise.reject(e)}},this.signUpConfirmation=function(e,r,t){try{var n=g({},t&&{email:t},e&&{username:e},{confirmationCode:r});return Promise.resolve($.call({method:"post",params:n,url:"user/auth/signupConfirmation"}))}catch(e){return Promise.reject(e)}},this.getMe=function(){try{return Promise.resolve(function(e,r){try{var t=Promise.resolve(ee.call({method:"get",url:"user/auth/me"}))}catch(e){return r()}return t&&t.then?t.then(void 0,r):t}(0,function(){throw new Error("Failed to get user info.")}))}catch(e){return Promise.reject(e)}},this.getUser=function(e){try{return Promise.resolve(re.call({method:"get",url:"user/"+e}))}catch(e){return Promise.reject(e)}},this.getUserMetadata=function(e){try{return Promise.resolve(te.call({method:"post",params:{idToken:e},url:"user/refreshMetadata"}))}catch(e){return Promise.reject(e)}},this.getTokensFromTwitterToken=function(e,r){try{return Promise.resolve(ne.call({method:"post",params:{accessToken:e,accessTokenSecret:r},url:"user/auth/exchangeTwitterToken"}))}catch(e){return Promise.reject(e)}},this.getCreators=function(){try{return Promise.resolve(oe.call({method:"get",url:"creators"}))}catch(e){return Promise.reject(e)}},this.updateAvatar=function(e){try{return Promise.resolve(ie.call({files:[e],method:"put",url:"user"}))}catch(e){return Promise.reject(e)}},this.createUserParent=function(e,r){try{return Promise.resolve(se.call({method:"post",params:{provider:r,username:e},url:"user/federated/createParent"}))}catch(e){return Promise.reject(e)}},this.linkFederated=function(e,r){try{return Promise.resolve(ue.call({method:"post",params:{accessToken:e,provider:r},url:"user/federated/linkFederated"}))}catch(e){return Promise.reject(e)}},this.unlinkFederated=function(e,r){try{return Promise.resolve(ce.call({method:"post",params:{provider:r,sourceUsername:e},url:"user/federated/unlinkFederated"}))}catch(e){return Promise.reject(e)}},this.vote=function(e,r){try{return Promise.resolve(ae.call({method:"post",url:("up"===r?"vote/up":"vote/down")+"/"+e}))}catch(e){return Promise.reject(e)}},this.downVote=function(e){try{return Promise.resolve(le.call({method:"post",url:"vote/down/"+e}))}catch(e){return Promise.reject(e)}},this.upVote=function(e){try{return Promise.resolve(he.call({method:"post",url:"vote/up/"+e}))}catch(e){return Promise.reject(e)}},this.cancelVote=function(e){try{return Promise.resolve(fe.call({method:"delete",url:"vote/cancel/"+e}))}catch(e){return Promise.reject(e)}},this.getVote=function(e){try{return Promise.resolve(me.call({method:"get",url:"vote/"+e})).then(function(e){return(null==e?void 0:e.value)||0})}catch(e){return Promise.reject(e)}},this.voteBalance=function(e){try{return Promise.resolve(de.call({method:"get",url:"vote/balance/"+e})).then(function(e){return(null==e?void 0:e.balance)||0})}catch(e){return Promise.reject(e)}},this.getNotifications=function(e){void 0===e&&(e={});try{return Promise.resolve(ve.call({method:"get",params:e,url:"notifications"}))}catch(e){return Promise.reject(e)}},this.markAllNotificationsAsRead=function(){try{return Promise.resolve(Pe.call({method:"put",url:"notifications"}))}catch(e){return Promise.reject(e)}},this.updateNotification=function(e,r){void 0===r&&(r={});try{return Promise.resolve(pe.call({method:"put",params:r,url:"notification/"+e}))}catch(e){return Promise.reject(e)}},this.deleteNotification=function(e){try{return Promise.resolve(ge.call({method:"delete",url:"notification/"+e}))}catch(e){return Promise.reject(e)}},this.getTags=function(e,r){void 0===r&&(r={});try{return void 0===e&&(e=we.projectId),Promise.resolve(we.call({method:"get",params:r,url:"tags/by/project/"+e}))}catch(e){return Promise.reject(e)}},this.redirectTwitterLogin=function(){window.location.replace(t.twitterSignInUrl)},this.getSteamProfile=function(){try{return Promise.resolve(ye.call({method:"get",url:"quest/api/fetch/steam?operation=profile"}))}catch(e){return Promise.reject(e)}},this.getQuestType=function(e){try{return Promise.resolve(je.call({method:"get",url:"questTypes/"+e}))}catch(e){return Promise.reject(e)}},this.getQuestTypes=function(e){void 0===e&&(e={});try{return Promise.resolve(Ee.call({method:"get",params:e,url:"questTypes"}))}catch(e){return Promise.reject(e)}},this.getQuestTypeCategories=function(e){void 0===e&&(e={});try{return Promise.resolve(be.call({method:"get",params:e,url:"questTypes/category"}))}catch(e){return Promise.reject(e)}},this.getQuest=function(e){try{return Promise.resolve(Se.call({method:"get",url:"quest/"+e}))}catch(e){return Promise.reject(e)}},this.getQuests=function(e,r){try{return void 0===r&&(r=Ie.projectId),Promise.resolve(Ie.call({method:"get",params:e,url:"quests/by/project/"+r}))}catch(e){return Promise.reject(e)}},this.getUserQuests=function(e,r){void 0===e&&(e={});try{return void 0===r&&(r=Re.projectId),Promise.resolve(Re.call({method:"get",params:e,url:"userQuests/by/project/"+r}))}catch(e){return Promise.reject(e)}},this.completeQuest=function(e,r){try{return Promise.resolve(Te.call({method:"post",params:r,url:"quest/"+e+"/complete"}))}catch(e){return Promise.reject(e)}},this.createQuest=function(e){try{return Promise.resolve(Ce.call({method:"post",params:e,url:"quest"}))}catch(e){return Promise.reject(e)}},this.updateQuest=function(e,r){try{return Promise.resolve(Ue.call({method:"put",params:r,url:"quest/"+e}))}catch(e){return Promise.reject(e)}},this.deleteQuest=function(e){try{return Promise.resolve(Ae.call({method:"delete",url:"quest/"+e}))}catch(e){return Promise.reject(e)}},this.getUserQuest=function(e){try{return Promise.resolve(Ne.call({method:"get",url:"userQuest/"+e}))}catch(e){return Promise.reject(e)}},this.getUserQuestsByQuest=function(e,r){void 0===e&&(e={});try{return Promise.resolve(Oe.call({method:"get",params:e,url:"userQuests/by/quest/"+r}))}catch(e){return Promise.reject(e)}},this.getUserQuestsByProject=function(e,r){void 0===e&&(e={});try{return void 0===r&&(r=ke.projectId),Promise.resolve(ke.call({method:"get",params:e,url:"userQuests/by/project/"+r}))}catch(e){return Promise.reject(e)}},this.getRewardTypes=function(e){void 0===e&&(e={});try{return Promise.resolve(Qe.call({method:"get",params:e,url:"rewardTypes"}))}catch(e){return Promise.reject(e)}},this.getRewardType=function(e){try{return Promise.resolve(Be.call({method:"get",url:"rewardType/"+e}))}catch(e){return Promise.reject(e)}},this.getRewardsByProject=function(e,r){try{return void 0===r&&(r=qe.projectId),Promise.resolve(qe.call({method:"get",params:e,url:"rewards/by/project/"+r}))}catch(e){return Promise.reject(e)}},this.getReward=function(e){try{return Promise.resolve(Le.call({method:"get",url:"reward/"+e}))}catch(e){return Promise.reject(e)}},this.redeemReward=function(e){try{return Promise.resolve(De.call({method:"post",url:"reward/"+e+"/redeem"}))}catch(e){return Promise.reject(e)}},this.createReward=function(e){try{return Promise.resolve(_e.call({method:"post",params:e,url:"reward"}))}catch(e){return Promise.reject(e)}},this.updateReward=function(e,r){try{return Promise.resolve(Me.call({method:"put",params:r,url:"reward/"+e}))}catch(e){return Promise.reject(e)}},this.deleteReward=function(e){try{return Promise.resolve(Fe.call({method:"delete",url:"reward/"+e}))}catch(e){return Promise.reject(e)}},this.getUserRewards=function(e){void 0===e&&(e={});try{return Promise.resolve(xe.call({method:"get",params:e,url:"userRewards"}))}catch(e){return Promise.reject(e)}},this.getUserRewardsByProject=function(e,r){void 0===e&&(e={});try{return void 0===r&&(r=Ve.projectId),Promise.resolve(Ve.call({method:"get",params:e,url:"userRewards/by/project/"+r}))}catch(e){return Promise.reject(e)}},this.getUserRewardsByReward=function(e,r){void 0===r&&(r={});try{return Promise.resolve(Je.call({method:"get",params:r,url:"userRewards/by/reward/"+e}))}catch(e){return Promise.reject(e)}},this.getUserReward=function(e){try{return Promise.resolve(Ge.call({method:"get",url:"userReward/"+e}))}catch(e){return Promise.reject(e)}},this.updateUserRewardState=function(e,r){try{return Promise.resolve(He.call({method:"put",params:{state:r},url:"userReward/"+e}))}catch(e){return Promise.reject(e)}},this.baseUrl=r.API_BASEURL,this.cacheExpiration=r.API_CACHE_EXPIRATION,this.uploadsUrl=r.UPLOADS_BASEURL,this.projectId=r.PROJECT_ID;var We=encodeURIComponent(r.TWITTER.CALLBACK_URL);this.twitterSignInUrl=this.baseUrl+"/auth/redirect/twitter?redirectUrl="+We,e.configure({Auth:{Cognito:{loginWith:{oauth:{domain:r.COGNITO.DOMAIN,redirectSignIn:r.COGNITO.REDIRECT_SIGNIN,redirectSignOut:r.COGNITO.REDIRECT_SIGNOUT,responseType:"code",scopes:["aws.cognito.signin.user.admin","email","profile","openid"]},username:!0},userPoolClientId:r.COGNITO.CLIENT_ID,userPoolId:r.COGNITO.POOL_ID}}})},U=["children"],A={API_BASEURL:"https://api.playmakers.co",API_CACHE_EXPIRATION:2e3,BARISTA_BASEURL:"https://barista.playmakers.co",BARISTA_VERSION:"latest",COGNITO:{CLIENT_ID:"1bkjbgkktdujdv23r62eue2elo",DOMAIN:"cognito.playmakers.co",POOL_ID:"eu-north-1_qMIFaOOnN",REDIRECT_SIGNIN:[window.location.origin+"/handle-from-federated"],REDIRECT_SIGNOUT:[window.location.origin+"/handle-signout"],REGION:"eu-north-1"},IDSERVER_BASEURL:"https://id.playmakers.co",NOTIFICATIONS_POLL_PERIOD:3e4,PROJECT_ID:void 0,SUBMISSION_UPLOAD_POLL_PERIOD:2e3,SUBMISSION_UPLOAD_TIMEOUT:9e4,TWITTER:{CALLBACK_URL:window.location.origin+"/handle-from-twitter"},UPLOADS_BASEURL:"https://file.playmakers.co"},N=/*#__PURE__*/l.createContext(A),O=function(){return l.useContext(N)},k=function(e){var r=e.children,t=w(e,U),n=g({},A,t);return n.COGNITO=g({},A.COGNITO,t.COGNITO),c(N.Provider,{value:n,children:c(P,{defaultSetOptions:{path:"/"},children:c(q,{children:c(M,{children:r})})})})},Q=/*#__PURE__*/l.createContext({}),B=function(){return l.useContext(Q)},q=function(e){for(var r,t=e.children,n=O(),o=new C(n),i={},s=function(e){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,r){if(e){if("string"==typeof e)return p(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?p(e,r):void 0}}(e))){r&&(e=r);var t=0;return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(o.exports);!(r=s()).done;){var u=r.value;i[u]=o[u],i[u].methodName=u}return c(Q.Provider,{value:i,children:t})},L={discord:{displayName:"Discord",identityProvider:{custom:"Discord"}},facebook:{displayName:"Facebook",identityProvider:"Facebook"},google:{displayName:"Google",identityProvider:"Google"},twitch:{displayName:"Twitch",identityProvider:{custom:"Twitch"}},twitter:{displayName:"X",identityProvider:"Twitter"},ultra:{displayName:"Ultra",identityProvider:{custom:"Ultra"}}};function D(e,r){try{var t=e()}catch(e){return r(e)}return t&&t.then?t.then(void 0,r):t}var _=/*#__PURE__*/d(void 0);function M(e){var u=function(){try{return Promise.resolve(n()).then(function(){window.localStorage.removeItem("amplify-authenticator-authState"),O(null)})}catch(e){return Promise.reject(e)}},l=function(e){try{return Promise.resolve(D(function(){function r(){return t||console.error("Failed to refresh local user"),t}var t,n=e?Promise.resolve(m(e)).then(function(e){t=e}):Promise.resolve(new Promise(function(e){return setTimeout(e,1e3)})).then(function(){return Promise.resolve(m()).then(function(e){t=e})});return n&&n.then?n.then(r):r()},function(e){throw console.error("Error refreshing local user",e),e}))}catch(e){return Promise.reject(e)}},m=function(e){try{var t;return Promise.resolve(D(function(){function n(){if(t)return Promise.resolve(r()).then(function(e){var r,n,o=null==e||null==(r=e.tokens)||null==(r=r.accessToken)?void 0:r.toString();o&&(t.accessToken=o);var i=null==e||null==(n=e.tokens)||null==(n=n.idToken)?void 0:n.toString();return i&&(t.idToken=i),O(t),window.localStorage.setItem("amplify-authenticator-authState","signedIn"),t})}var o=function(){if(!e)return Promise.resolve(w()).then(function(e){t=e});t=e}();return o&&o.then?o.then(n):n()},function(e){throw console.error("error getting user",e),O(null),e}))}catch(e){return Promise.reject(e)}},d=function(){try{var e;return Promise.resolve(D(function(){return Promise.resolve(i()).then(function(r){e=r;var t=function(){if(N&&!e||!N&&e||(null==N?void 0:N.username)!==e.username||N.userId!==e.userId){var r=function(){if(e)return Promise.resolve(u()).then(function(){})}();if(r&&r.then)return r.then(function(){})}}();if(t&&t.then)return t.then(function(){})})},function(r){function t(){throw r}var n=function(){if(N||e)return Promise.resolve(u()).then(function(){})}();return n&&n.then?n.then(t):t()}))}catch(e){return Promise.reject(e)}},v=e.children,P=B(),p=P.signUp,g=P.signUpConfirmation,w=P.getMe,y=P.resendConfirmationCode,j=P.sendPasswordResetCode,E=P.passwordReset,b=P.updateAvatar,S=P.createUserParent,I=P.linkFederated,R=P.unlinkFederated,T=P.redirectTwitterLogin,C=P.getUserMetadata,U=P.getSteamProfile,A=h(null),N=A[0],O=A[1],k="signedIn"===window.localStorage.getItem("amplify-authenticator-authState");return f(function(){m(),Promise.resolve()},[]),c(_.Provider,{value:{FederatedListener:function(){return f(function(){var e=a.listen("auth",function(e){switch(e.payload.event){case"signInWithRedirect":m();break;case"signInWithRedirect_failure":console.error("An error has occurred during the OAuth flow.")}});return function(){e()}},[]),null},confirmSignIn:function(e){try{return Promise.resolve(o({challengeResponse:e})).then(function(e){var r=e.isSignedIn,t=e.nextStep;return"DONE"===t.signInStep&&r&&m(),{isSignedIn:r,nextStep:t}})}catch(e){return Promise.reject(e)}},createUserParent:S,getSteamProfile:function(){try{return Promise.resolve(D(function(){return Promise.resolve(U()).then(function(e){var r=function(){if(e)return Promise.resolve(l()).then(function(){})}();return r&&r.then?r.then(function(){return e}):e})},function(e){throw console.error("Error fetching steam profile",e),new Error("Error fetching steam profile",{cause:e})}))}catch(e){return Promise.reject(e)}},getUserMetadata:function(){try{return Promise.resolve(D(function(){if(null!=N&&N.idToken)return Promise.resolve(C(N.idToken))},function(e){throw console.error("Error getting metadata",e),e}))}catch(e){return Promise.reject(e)}},isLoggedIn:k,linkFederated:I,passwordReset:function(e,r,t){try{return u(),Promise.resolve(E(e,r,t))}catch(e){return Promise.reject(e)}},providerData:L,redirectTwitterLogin:T,refreshLoggedInUser:l,resendConfirmationCode:y,sendForgotPassword:j,signIn:function(e,r){try{return Promise.resolve(D(function(){if(!e||!r)throw new Error("Missing username or password");return d(),Promise.resolve(s({password:r,username:e})).then(function(e){var r=e.isSignedIn,t=e.nextStep;function n(){return{isSignedIn:r,nextStep:t}}var o=function(){if("DONE"===t.signInStep&&r)return Promise.resolve(m()).then(function(){})}();return o&&o.then?o.then(n):n()})},function(e){throw console.error("Error signing in",e),e}))}catch(e){return Promise.reject(e)}},signInWithRedirect:function(e){try{return d(),Promise.resolve(t({provider:L[e].identityProvider})).then(function(){})}catch(e){return Promise.reject(e)}},signOut:u,signUp:p,signUpConfirmation:g,unlinkFederated:R,updateUserAvatar:function(e){try{return Promise.resolve(b(e)).then(function(e){return null!=e&&e.url&&O(function(r){return r&&(r.avatar=e.url),r}),e})}catch(e){return Promise.reject(e)}},userData:N},children:v})}function F(){var e=m(_);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e}var x={},V=function(e,r,t){try{var n=(e.name||e.methodName)+"("+JSON.stringify(r)+")";return Promise.resolve(function(e,r){void 0===r&&(r=2e3);try{var t,n=x[e],o=function(){if(n&&(new Date).getTime()-n.timestamp<r)return Promise.resolve(n.response).then(function(e){return t=1,e})}();return Promise.resolve(o&&o.then?o.then(function(e){return t?e:void 0}):t?o:void 0)}catch(e){return Promise.reject(e)}}(n,t)).then(function(t){if(void 0!==t)return t;var o=e.apply(void 0,r);return function(e,r){x[e]={response:r,timestamp:(new Date).getTime()}}(n,o),Promise.resolve(o)})}catch(e){return Promise.reject(e)}},J=function(e,r){if(e)if(r)delete x[e+"("+JSON.stringify(r)+")"];else for(var t in x)t.startsWith(e+"(")&&delete x[t];else for(var n in x)delete x[n]},G=function(e,r,t,n,o){void 0===t&&(t=!0),void 0===n&&(n=1),void 0===o&&(o=10);var i=h(n),s=i[0],u=i[1],c=function(e){return e.length<(o||10)&&r(!1),e};return{appendNextPage:function(r,n){try{if(!t)return Promise.resolve();var i=s+1;return Promise.resolve(r({limit:o,page:i})).then(function(r){var t=n?r.map(n):r;e(function(e){return e.push.apply(e,t),e}),c(t),u(i)})}catch(e){return Promise.reject(e)}},checkHasMore:c,currentPage:s,hasMore:t,refreshLastPage:function(r,t){try{return Promise.resolve(r({limit:o,page:s})).then(function(r){var n=t?r.map(t):r;e(function(e){var r=e.length%o;return e.splice(-r,r),e.push.apply(e,n),e}),c(n)})}catch(e){return Promise.reject(e)}}}};function H(e,r){try{var t=e()}catch(e){return r(e)}return t&&t.then?t.then(void 0,r):t}function W(e,r){try{var t=e()}catch(e){return r(!0,e)}return t&&t.then?t.then(r.bind(null,!1),r.bind(null,!0)):r(!1,t)}var Z=function(e){var r=B(),t=r.createAsset,n=r.getAsset,o=r.updateAsset,i=r.updateAssetFile,s=r.deleteAsset,u=e,c=h(null),a=c[0],l=c[1],m=h(!1),d=m[0],v=m[1],P=h(null),p=P[0],w=P[1],y=function(r){void 0===r&&(r=!1);try{return Promise.resolve(W(function(){return H(function(){if(!e)throw l(null),v(!1),new Error("No asset to fetch");return r||v(!1),Promise.resolve(V(n,[e],3e5)).then(function(e){return l(e),e})},function(r){throw console.error("Error fetching asset "+e,r),new Error("Error fetching asset "+e,{cause:r})})},function(e,r){if(v(!0),e)throw r;return r}))}catch(e){return Promise.reject(e)}},j=function(r){void 0===r&&(r=p);try{return u&&r&&"string"!=typeof r?Promise.resolve(H(function(){return Promise.resolve(i(u,r)).then(function(){J("getAsset",[u])})},function(r){throw console.error("Error updating file for asset '"+u+"'",r),new Error("Error updating file for asset "+e,{cause:r})})):Promise.resolve()}catch(e){return Promise.reject(e)}};return f(function(){y()},[e]),g({},a,{asset:a,delete:function(){try{return Promise.resolve(H(function(){if(!e)throw new Error("No asset to delete");return Promise.resolve(s(e)).then(function(){})},function(r){throw console.error("Error deleting asset '"+e+"'",r),new Error("Error deleting asset '"+e+"'",{cause:r})}))}catch(e){return Promise.reject(e)}},fetched:d,push:function(r){try{var n=g({},a,r);if(!n)throw new Error("No asset");var i=n.data,s=n.description,c=n.name,h=n.projectId,f=n.schemaId,m=n.tags,d=void 0===m?[]:m,v=n.type,P=n.url,w=n.newFile,y={};return void 0!==i&&(y.data=i),void 0!==s&&s&&(y.description=s),c&&(y.name=c),void 0!==d&&(y.tags=d),void 0!==P&&(y.url=P),e||(h&&(y.projectId=h),f&&(y.schemaId=f),v&&(y.type=v)),Promise.resolve(H(function(){return Promise.resolve(e?o(e,y):t(y)).then(function(e){function r(){return J("getAsset",[f]),h||f||J("getGlobalAssets"),h&&J("getProjectAssets"),J("getSchemaAssets"),l(e),e}if(!e)throw new Error("Asset not uploaded");u=null==e?void 0:e.id;var t=function(){if(w||p)return Promise.resolve(j(w||p)).then(function(){})}();return t&&t.then?t.then(r):r()})},function(r){throw console.error("Error pushing asset '"+e+"'",r),new Error("Error pushing asset '"+e+"'",{cause:r})}))}catch(e){return Promise.reject(e)}},pushFile:j,refresh:y,setAsset:l,setFile:w})},z=function(e){var r,t;void 0===e&&(e={});var n=e.schemaId,o=e.projectId,i=e.tags,s=e.type,u=e.matchTags,c=e.page,a=e.limit,l=B(),m=l.getGlobalAssets,d=l.getProjectAssets,v=l.getSchemaAssets,P=l.deleteAsset,p=h([]),w=p[0],y=p[1],j=h(!1),E=j[0],b=j[1],S=h(!0),I=S[0],R=G(y,S[1],I,null==(r=e)?void 0:r.page,null==(t=e)?void 0:t.limit),T=R.appendNextPage,C=R.refreshLastPage,U=R.checkHasMore,A=R.currentPage,N=function(e){return e.map(function(e){return g({},e,{delete:function(){return P(e.id)}})})},O=function(e){void 0===e&&(e={});try{var r,t=function(){return N(r)},l=function(){if(n)return Promise.resolve(V(v,[n,g({limit:a,matchTags:u,page:c,type:s},e)],3e5)).then(function(e){r=e});var t=o?Promise.resolve(V(d,[g({limit:a,page:c,tags:i,type:s},e),o],3e5)).then(function(e){r=e}):Promise.resolve(V(m,[g({limit:a,page:c,tags:i,type:s},e)],6e5)).then(function(e){r=e});return t&&t.then?t.then(function(){}):void 0}();return Promise.resolve(l&&l.then?l.then(t):t())}catch(e){return Promise.reject(e)}},k=function(e){void 0===e&&(e=!1);try{return Promise.resolve(W(function(){return H(function(){return e||b(!1),Promise.resolve(O()).then(function(e){var r=U(e);return y(r),r})},function(e){throw console.error("Error fetching assets",e),new Error("Error fetching assets",{cause:e})})},function(e,r){if(b(!0),e)throw r;return r}))}catch(e){return Promise.reject(e)}};return f(function(){k()},[n,o,i,s,u,c]),{assets:w,currentPage:A,fetchMore:function(e){void 0===e&&(e=!1);try{return Promise.resolve(W(function(){return H(function(){b(!1);var r=function(){if(e){var r=function(){if(n)return Promise.resolve(C(function(e){try{return Promise.resolve(v(n,g({matchTags:u,type:s},e))).then(N)}catch(e){return Promise.reject(e)}})).then(function(){});var e=o?Promise.resolve(C(function(e){try{return Promise.resolve(d(g({tags:i,type:s},e),o)).then(N)}catch(e){return Promise.reject(e)}})).then(function(){}):Promise.resolve(C(function(e){try{return Promise.resolve(m(g({tags:i,type:s},e))).then(N)}catch(e){return Promise.reject(e)}})).then(function(){});return e&&e.then?e.then(function(){}):void 0}();if(r&&r.then)return r.then(function(){})}else T(O)}();if(r&&r.then)return r.then(function(){})},function(e){throw console.error("Error fetching assets",e),new Error("Error fetching assets",{cause:e})})},function(e,r){if(b(!0),e)throw r;return r}))}catch(e){return Promise.reject(e)}},fetched:E,hasMore:I,refresh:k}},Y=function(e,r){return void 0===r&&(r={}),z(g({},r,{projectId:e}))},X=function(e,r){return void 0===r&&(r={}),z(g({},r,{schemaId:e}))},K=function(e,r){return void 0===r&&(r={}),z(g({},r,{tags:e}))},$=function(e){return void 0===e&&(e={}),z(g({},e,{type:"tutorial"}))},ee=function(e,r){return void 0===r&&(r={}),$(g({},r,{projectId:e}))},re=function(e,r){return void 0===r&&(r={}),$(g({},r,{schemaId:e}))},te=function(e,r){return void 0===r&&(r={}),$(g({},r,{tags:e}))},ne=["schemas"];function oe(e,r){try{var t=e()}catch(e){return r(e)}return t&&t.then?t.then(void 0,r):t}function ie(e,r){try{var t=e()}catch(e){return r(!0,e)}return t&&t.then?t.then(r.bind(null,!1),r.bind(null,!0)):r(!1,t)}var se=function(e){var r=B(),t=r.createSchema,n=r.getSchema,o=r.updateSchema,i=r.updateSchemaThumbnail,s=e,u=h(null),c=u[0],a=u[1],l=h(!1),m=l[0],d=l[1],v=h(null),P=v[0],p=v[1],w=function(r){void 0===r&&(r=!1);try{return Promise.resolve(oe(function(){if(!e)throw a(null),d(!1),new Error("No schema to fetch");return r||d(!1),Promise.resolve(V(n,[e],12e4)).then(function(e){return a(e),d(!0),e})},function(r){throw console.error("Error fetching schema "+e,r),new Error("Error fetching schema "+e,{cause:r})}))}catch(e){return Promise.reject(e)}},y=function(e){void 0===e&&(e=P);try{return e&&"string"!=typeof e?Promise.resolve(oe(function(){if(!s)throw new Error("No schema to push thumbnail to");return Promise.resolve(i(s,e)).then(function(){J("getSchema",[s])})},function(e){throw console.error("Error updating thumbnail for schema '"+s+"'",e),new Error("Error updating thumbnail for schema '"+s+"'",{cause:e})})):Promise.resolve()}catch(e){return Promise.reject(e)}},j=["data"];return f(function(){w()},[e]),g({},c,{displayInteractive:(null==c?void 0:c.displayInteractive)||"",displayThumbnail:(null==c?void 0:c.displayThumbnail)||"",fetched:m,push:function(r){try{var n=g({},c,r);if(!n)throw new Error("No schema to push");var i=n.newThumbnailFile;i&&delete n.newThumbnailFile;var u=null==c?void 0:c.state,l=g({},n,{description:n.description||"",displayInteractive:n.displayInteractive||"{}",displayThumbnail:n.displayThumbnail||"{}",state:n.state||"draft"});return"open"!==u&&"closed"!==u||j.forEach(function(e){return delete l[e]}),Promise.resolve(oe(function(){return Promise.resolve(e?o(e,l):t(l)).then(function(e){function r(){return J("getSchema",[s]),J("getSchemas"),a(e),e}if(!e)throw new Error("Schema not uploaded");s=null==e?void 0:e.id;var t=function(){if(i||P)return Promise.resolve(y(i||P)).then(function(){})}();return t&&t.then?t.then(r):r()})},function(r){throw console.error("Error pushing schema '"+e+"'",r),new Error("Error pushing schema '"+e+"'",{cause:r})}))}catch(e){return Promise.reject(e)}},pushThumbnail:y,refresh:w,schema:c,setSchema:a,setThumbnail:p})},ue=function(e){var r,t;void 0===e&&(e={});var n=O().PROJECT_ID,o=B(),i=o.getSchemas,s=o.updateSchema,u=o.deleteSchema,c=h([]),a=c[0],l=c[1],m=h(!1),d=m[0],v=m[1],P=h(!0),p=P[0],w=G(l,P[1],p,null==(r=e)?void 0:r.page,null==(t=e)?void 0:t.limit),y=w.appendNextPage,j=w.refreshLastPage,E=w.checkHasMore,b=w.currentPage,S=function(e){return e.map(function(e){return g({},e,{delete:function(){return T(e.id)},pushState:function(r){return R(e.id,r)}})})},I=function(r){void 0===r&&(r=!1);try{return Promise.resolve(ie(function(){return oe(function(){if(!n)throw new Error("No project ID to fetch schemas");return r||v(!1),Promise.resolve(V(i,[n,e],12e4)).then(function(e){var r=S(E(e));return l(r),r})},function(e){throw console.error("Error fetching schemas",e),new Error("Error fetching schemas",{cause:e})})},function(e,r){if(v(!0),e)throw r;return r}))}catch(e){return Promise.reject(e)}};f(function(){I()},[JSON.stringify(e),n]);var R=function(e,r){try{return Promise.resolve(oe(function(){return Promise.resolve(s(e,{state:r})).then(function(r){var t,n,o=S([r])[0];if(!o)throw new Error("Schema not uploaded");return J("getSchema",[e]),J("getSchemas"),t=e,n=o,l(function(e){return e.map(function(e){return e.id===t?g({},e,n):e})}),o})},function(r){throw console.error("Error pushing schema '"+e+"'",r),new Error("Error pushing schema '"+e+"'",{cause:r})}))}catch(e){return Promise.reject(e)}},T=function(e){try{return Promise.resolve(oe(function(){return Promise.resolve(u(e)).then(function(r){return J("getSchema",[e]),J("getSchemas"),l(function(r){return r.filter(function(r){return r.id!==e})}),r})},function(r){throw console.error("Error deleting schema '"+e+"'",r),new Error("Error deleting schema '"+e+"'",{cause:r})}))}catch(e){return Promise.reject(e)}};return{currentPage:b,fetchMore:function(r){try{return Promise.resolve(ie(function(){return oe(function(){v(!1);var t=r?Promise.resolve(j(function(r){try{return Promise.resolve(i(n,g({},e,r))).then(S)}catch(e){return Promise.reject(e)}})).then(function(){}):Promise.resolve(y(function(r){try{return Promise.resolve(V(i,[n,g({},e,r)],12e4)).then(S)}catch(e){return Promise.reject(e)}})).then(function(){});if(t&&t.then)return t.then(function(){})},function(e){throw console.error("Error fetching more schemas",e),new Error("Error fetching more schemas",{cause:e})})},function(e,r){if(v(!0),e)throw r;return r}))}catch(e){return Promise.reject(e)}},fetched:d,hasMore:p,refresh:I,schemas:a}},ce=function(e,r){var t=ue(g({state:e},r)),n=t.schemas,o=w(t,ne);return g({schemas:n.filter(function(r){return r.state===e})},o)},ae=function(){var e=O(),r=e.BARISTA_BASEURL,t=e.BARISTA_VERSION,n=B().baristaRequest,o=h(!1),i=o[0],s=o[1],u=h(!1),c=u[0],a=u[1],l=h(void 0),m=l[0],d=l[1];return f(function(){var e=r+"/"+t+"/barista_bundle.js";s(!1),a(!1);var o=function(e){"load"===e.type?(window.BARISTA.setApiBaristaRequest(n),d(window.BARISTA),s(!0)):a(!0)},i=document.querySelector('script[src="'+e+'"]');return i?window.BARISTA&&(d(window.BARISTA),s(!0)):((i=document.createElement("script")).type="application/javascript",i.src=e,i.async=!0,document.body.appendChild(i)),i.addEventListener("load",o),i.addEventListener("error",o),function(){i.removeEventListener("load",o),i.removeEventListener("error",o)}},[r,t]),{BARISTA:m,baristaLoaded:i,baristaLoadingError:c}},le=function(e,r,t){var n=function(){try{return Promise.resolve(T.convertToZip()).then(function(e){var r=URL.createObjectURL(e),t=document.createElement("a");t.href=r,t.download="submission.zip",document.body.appendChild(t),t.click(),window.URL.revokeObjectURL(r),document.body.removeChild(t)})}catch(e){return Promise.reject(e)}},o=function(e){try{return Promise.resolve(l.Submission.reconstructFromZip(e,S,!0)).then(function(e){U(e)})}catch(e){return Promise.reject(e)}},i=function(){try{return P("pending"),Promise.resolve(function(e,r){try{var t=Promise.resolve(T.computeRules(!0)).then(function(e){return A(),0===e.length?O("ok"):Promise.resolve(T.correctRules(2)).then(function(e){var r=e.notCorrected,t=e.withProposals;E({corrected:e.corrected,notCorrected:r,withProposals:t}),A(),O(0===r.length&&0===t.length?"ok":"ready")})})}catch(e){return r()}return t&&t.then?t.then(void 0,r):t}(0,function(){P("error")}))}catch(e){return Promise.reject(e)}},s=function(e,r){try{var t=function(e){return g.find(function(r){return r.id===e})}(e);return t.acceptProposal(r),O("ready"),A(),Promise.resolve()}catch(e){return Promise.reject(e)}},u=function(e,r,t){try{var n=function(){var n=function(e,r){return g.find(function(r){return r.id===e}).keys.find(function(e){return e.id===r})}(e,r);n.setValue(t),A()},o=function(){if(t instanceof File)return Promise.resolve(N(t)).then(function(e){t=e})}();return Promise.resolve(o&&o.then?o.then(n):n())}catch(e){return Promise.reject(e)}},c=se(e).schema,a=ae(),l=a.BARISTA,m=a.baristaLoaded,d=h("ready"),v=d[0],P=d[1],p=h(null),g=p[0],w=p[1],y=h(null),j=y[0],E=y[1],b=h(null),S=b[0],I=b[1],R=h(null),T=R[0],C=R[1];f(function(){m&&c&&function(){try{return Promise.resolve(l.Schema.parse(c.data)).then(function(e){function t(){I(e),U(n)}var n;I(e);var o=r?Promise.resolve(l.Submission.parse(r)).then(function(r){return n=r,Promise.resolve(n.assignSchema(e,"forceChildren")).then(function(){})}):Promise.resolve(new l.Submission(e)).then(function(e){n=e});return o&&o.then?o.then(t):t()})}catch(e){return Promise.reject(e)}}()},[c,m]);var U=function(e){C(e),w(e.toFrontEnd()),t(e.toString())},A=function(){w(T.toFrontEnd()),t(T.toString())};if(!m)return{};var N=function(e){return new Promise(function(r){var t=new FileReader;t.onload=function(e){return r(e.target.result)},t.readAsDataURL(e)})};function O(e){P(g.length>0&&g[0].hasProposals()?"actionRequired":e)}return{acceptProposal:s,baristaAcceptProposal:s,baristaComputeRules:i,baristaCorrectedRules:j,baristaDownloadAsZip:n,baristaProcessZip:o,baristaSchema:S,baristaSetSubmissionStatus:O,baristaSetValue:u,baristaSubmission:T,baristaSubmissionController:g,baristaSubmissionStatus:v,computeRules:i,correctedRules:j,downloadAsZip:n,processZip:o,setSubmissionStatus:O,setValue:u,submissionController:g,submissionStatus:v}};function he(e,r){try{var t=e()}catch(e){return r(e)}return t&&t.then?t.then(void 0,r):t}function fe(e,r){try{var t=e()}catch(e){return r(!0,e)}return t&&t.then?t.then(r.bind(null,!1),r.bind(null,!0)):r(!1,t)}var me,de=function(e){var r=B(),t=r.getParentCategories,n=r.createCategory,o=r.deleteCategory,i=r.renameCategory,s=r.getCategories,u=h(!1),c=u[0],a=u[1],l=h([]),m=l[0],d=l[1],v=h(null),P=v[0],p=v[1];return f(function(){!function(r){void 0===r&&(r=!1);try{return e?(a(r),Promise.resolve(he(function(){return Promise.resolve(V(t,[e],3e5)).then(function(r){return d(r.slice(0,-1)),Promise.resolve(V(s,[e,void 0,{}],3e5)).then(function(e){p(e),a(!0)})})},function(r){throw console.error("Error fetching category",e,r),new Error("Error fetching category '"+e+"'",{cause:r})}))):Promise.resolve()}catch(e){return Promise.reject(e)}}()},[e]),g({},P,{category:P,create:function(e,r,o){try{return Promise.resolve(fe(function(){return he(function(){return Promise.resolve(n(e,r,o)).then(function(e){return J("getCategories"),J("getParentCategories"),Promise.resolve(V(s,[e.id],3e5)).then(function(r){return p(r),Promise.resolve(V(t,[e.id],3e5)).then(function(r){return d(r.slice(0,-1)),e})})})},function(r){throw console.error("Error attempting to create category '"+e+"'",r),new Error("Error attempting to create category '"+e+"'",{cause:r})})},function(e,r){if(a(!0),e)throw r;return r}))}catch(e){return Promise.reject(e)}},delete:function(){try{return Promise.resolve(he(function(){if(null==P||!P.id)throw new Error("No category to delete");return Promise.resolve(o(null==P?void 0:P.id)).then(function(){})},function(e){throw console.error("Error attempting to delete category '"+(null==P?void 0:P.name)+"'",e),new Error("Error attempting to delete category '"+(null==P?void 0:P.name)+"'",{cause:e})}))}catch(e){return Promise.reject(e)}},fetched:c,parents:m,rename:function(r){try{return Promise.resolve(he(function(){if(null==P||!P.id)throw new Error("No category to rename");return Promise.resolve(i(null==P?void 0:P.id,r)).then(function(r){return Promise.resolve(V(s,[e],3e5)).then(function(e){return p(e),r})})},function(e){throw console.error("Error attempting to rename category '"+r+"'",e),new Error("Error attempting to rename category '"+r+"'",{cause:e})}))}catch(e){return Promise.reject(e)}}})},ve=function(e,r){var t,n,o;void 0===r&&(r={});var i=B(),s=i.getCategories,u=i.createCategory,c=h(!1),a=c[0],l=c[1],m=h([]),d=m[0],v=m[1],P=h(!0),p=P[0],g=G(v,P[1],p,null==(t=r)?void 0:t.page,null==(n=r)?void 0:n.limit),w=g.appendNextPage,y=g.refreshLastPage,j=g.checkHasMore,E=g.currentPage,b=function(r){void 0===r&&(r=!1);try{return l(r),Promise.resolve(fe(function(){return he(function(){return Promise.resolve(s(void 0,e)).then(function(e){var r=j(e);return v(r),r})},function(e){throw console.error("Error fetching categories",e),new Error("Error fetching categories",{cause:e})})},function(e,r){if(l(!0),e)throw r;return r}))}catch(e){return Promise.reject(e)}};return f(function(){b()},[e,null==(o=r)?void 0:o.page]),{categories:d,create:u,currentPage:E,fetchMore:function(r){try{return Promise.resolve(fe(function(){return he(function(){l(!1);var t=r?Promise.resolve(y(function(r){try{return Promise.resolve(s(void 0,e,r))}catch(e){return Promise.reject(e)}})).then(function(){}):Promise.resolve(w(function(r){try{return Promise.resolve(s(void 0,e,r))}catch(e){return Promise.reject(e)}})).then(function(){});if(t&&t.then)return t.then(function(){})},function(e){throw console.error("Error fetching more schemas",e),new Error("Error fetching more schemas",{cause:e})})},function(e,r){if(l(!0),e)throw r;return r}))}catch(e){return Promise.reject(e)}},fetched:a,hasMore:p,refetch:b}};function Pe(e,r){try{var t=e()}catch(e){return r(e)}return t&&t.then?t.then(void 0,r):t}function pe(e,r){try{var t=e()}catch(e){return r(!0,e)}return t&&t.then?t.then(r.bind(null,!1),r.bind(null,!0)):r(!1,t)}!function(e){e.PUBLIC="public",e.STUDIO_REJECTED="studioRejected",e.STUDIO_ACCEPTED="studioAccepted"}(me||(me={}));var ge=function(e){var r=B(),t=r.createComment,n=r.getComment,o=r.updateComment,i=r.deleteComment,s=h(null),u=s[0],c=s[1],a=h(!1),l=a[0],m=a[1],d=function(r){void 0===r&&(r=!1);try{return Promise.resolve(pe(function(){return Pe(function(){if(!e)throw new Error("No comment to fetch");return r||m(!1),Promise.resolve(V(n,[e],12e4)).then(function(e){return c(e),e})},function(r){throw console.error("Error fetching comment "+e,r),new Error("Error fetching comment "+e,{cause:r})})},function(e,r){if(m(!0),e)throw r;return r}))}catch(e){return Promise.reject(e)}},v=function(r,n,o){try{return e&&console.warn("It is not intended to create a comment if useComment() is specified with an id!"),Promise.resolve(Pe(function(){return Promise.resolve(t(r,n,o)).then(function(e){return c(e),J("getUserComments",[e.ownerId]),J("getSubmissionComments",[r]),e})},function(e){throw console.error("Error creating comment for submission "+r,e),new Error("Error creating comment for submission "+r,{cause:e})}))}catch(e){return Promise.reject(e)}};return f(function(){e&&d()},