@goodgamestudios/cxf-webshop 7.0.0-qa.1 → 7.0.0-qa.11
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/webshop-cxf.js +1 -1
- package/dist/webshop-cxf.js.map +4 -4
- package/esbuild.serve.webshop.js +25 -0
- package/package.json +10 -9
- package/.eslintrc.js +0 -25
- package/.prettierignore +0 -6
- package/.prettierrc.js +0 -10
- package/REFACTORING_README.md +0 -265
- package/TEST_MIGRATION.md +0 -441
- package/TYPES_REFACTORING.md +0 -308
- package/esbuild.build.js +0 -14
- package/esbuild.serve.js +0 -25
- package/src_old/@types/global.d.ts +0 -2
- package/src_old/ArgumentNullError.ts +0 -6
- package/src_old/app.ts +0 -30
- package/src_old/combineReaders.ts +0 -8
- package/src_old/common.ts +0 -35
- package/src_old/config.ts +0 -42
- package/src_old/cxf.ts +0 -32
- package/src_old/dialog.ts +0 -25
- package/src_old/env.ts +0 -127
- package/src_old/fetch.ts +0 -46
- package/src_old/handlers/eventHandlers.ts +0 -43
- package/src_old/handlers/postMessageHandlers.ts +0 -43
- package/src_old/handlers/pushHandlers.ts +0 -95
- package/src_old/handlers/reducers.ts +0 -207
- package/src_old/helpers.ts +0 -143
- package/src_old/index.ts +0 -35
- package/src_old/messages/IShopMessageBus.ts +0 -3
- package/src_old/messages/ShopMessageBus.ts +0 -10
- package/src_old/messages/TestShopMessageBus.ts +0 -8
- package/src_old/ping.ts +0 -15
- package/src_old/preFetch.ts +0 -43
- package/src_old/storage.ts +0 -32
- package/src_old/store.ts +0 -82
- package/src_old/track.ts +0 -59
- package/src_old/url.ts +0 -95
- package/src_old/utils.ts +0 -64
package/dist/webshop-cxf.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(()=>{var Xe=Object.create;var fe=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var He=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty;var Ve=(e,t)=>()=>(e&&(t=e(e=0)),t);var P=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var $e=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Be(t))!je.call(e,s)&&s!==r&&fe(e,s,{get:()=>t[s],enumerable:!(i=ze(t,s))||i.enumerable});return e};var B=(e,t,r)=>(r=e!=null?Xe(He(e)):{},$e(t||!e||!e.__esModule?fe(r,"default",{value:e,enumerable:!0}):r,e));var u,n=Ve(()=>{u={env:{BASE_URL:"https://canvas-test.goodgamestudios.com",CUSTOMIZATION_URL_TEMPLATE:"https://hotpkg.com/@lemonstand.org/config-goodgamestudios@{1}/dist/goodgamestudios-{0}.json",CUSTOMIZATION_URL:"https://hotpkg.com/@lemonstand.org/config-goodgamestudios@qa/dist/goodgamestudios-{0}.json"}}});var me=P((Pt,de)=>{n();var L=1e3,T=L*60,U=T*60,_=U*24,Ze=_*7,qe=_*365.25;de.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return We(e);if(r==="number"&&isFinite(e))return t.long?Qe(e):Ke(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function We(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),i=(t[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return r*qe;case"weeks":case"week":case"w":return r*Ze;case"days":case"day":case"d":return r*_;case"hours":case"hour":case"hrs":case"hr":case"h":return r*U;case"minutes":case"minute":case"mins":case"min":case"m":return r*T;case"seconds":case"second":case"secs":case"sec":case"s":return r*L;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Ke(e){var t=Math.abs(e);return t>=_?Math.round(e/_)+"d":t>=U?Math.round(e/U)+"h":t>=T?Math.round(e/T)+"m":t>=L?Math.round(e/L)+"s":e+"ms"}function Qe(e){var t=Math.abs(e);return t>=_?H(e,t,_,"day"):t>=U?H(e,t,U,"hour"):t>=T?H(e,t,T,"minute"):t>=L?H(e,t,L,"second"):e+" ms"}function H(e,t,r,i){var s=t>=r*1.5;return Math.round(e/r)+" "+i+(s?"s":"")}});var pe=P((Tt,le)=>{n();function Ye(e){r.debug=r,r.default=r,r.coerce=F,r.disable=S,r.enable=s,r.enabled=b,r.humanize=me(),r.destroy=y,Object.keys(e).forEach(c=>{r[c]=e[c]}),r.names=[],r.skips=[],r.formatters={};function t(c){let a=0;for(let p=0;p<c.length;p++)a=(a<<5)-a+c.charCodeAt(p),a|=0;return r.colors[Math.abs(a)%r.colors.length]}r.selectColor=t;function r(c){let a,p=null,C,O;function d(...l){if(!d.enabled)return;let v=d,x=Number(new Date),A=x-(a||x);v.diff=A,v.prev=a,v.curr=x,a=x,l[0]=r.coerce(l[0]),typeof l[0]!="string"&&l.unshift("%O");let E=0;l[0]=l[0].replace(/%([a-zA-Z%])/g,(w,Q)=>{if(w==="%%")return"%";E++;let ue=r.formatters[Q];if(typeof ue=="function"){let ke=l[E];w=ue.call(v,ke),l.splice(E,1),E--}return w}),r.formatArgs.call(v,l),(v.log||r.log).apply(v,l)}return d.namespace=c,d.useColors=r.useColors(),d.color=r.selectColor(c),d.extend=i,d.destroy=r.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(C!==r.namespaces&&(C=r.namespaces,O=r.enabled(c)),O),set:l=>{p=l}}),typeof r.init=="function"&&r.init(d),d}function i(c,a){let p=r(this.namespace+(typeof a>"u"?":":a)+c);return p.log=this.log,p}function s(c){r.save(c),r.namespaces=c,r.names=[],r.skips=[];let a=(typeof c=="string"?c:"").trim().replace(" ",",").split(",").filter(Boolean);for(let p of a)p[0]==="-"?r.skips.push(p.slice(1)):r.names.push(p)}function m(c,a){let p=0,C=0,O=-1,d=0;for(;p<c.length;)if(C<a.length&&(a[C]===c[p]||a[C]==="*"))a[C]==="*"?(O=C,d=p,C++):(p++,C++);else if(O!==-1)C=O+1,d++,p=d;else return!1;for(;C<a.length&&a[C]==="*";)C++;return C===a.length}function S(){let c=[...r.names,...r.skips.map(a=>"-"+a)].join(",");return r.enable(""),c}function b(c){for(let a of r.skips)if(m(c,a))return!1;for(let a of r.names)if(m(c,a))return!0;return!1}function F(c){return c instanceof Error?c.stack||c.message:c}function y(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}le.exports=Ye});var ge=P((h,j)=>{n();h.formatArgs=tt;h.save=rt;h.load=ot;h.useColors=et;h.storage=nt();h.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();h.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function et(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function tt(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+j.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(r++,s==="%c"&&(i=r))}),e.splice(i,0,t)}h.log=console.debug||console.log||(()=>{});function rt(e){try{e?h.storage.setItem("debug",e):h.storage.removeItem("debug")}catch{}}function ot(){let e;try{e=h.storage.getItem("debug")}catch{}return!e&&typeof u<"u"&&"env"in u&&(e=u.env.DEBUG),e}function nt(){try{return localStorage}catch{}}j.exports=pe()(h);var{formatters:it}=j.exports;it.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var oe=P((er,he)=>{"use strict";n();var V=window&&window.CXF;he.exports=new Promise(function(e,t){if(window||t(),V)return e(V);window.addEventListener("cxf.initialized",function(r){V=r.cxf,e(V)},{capture:!0,once:!0,passive:!0})})});var Ae=P((_e,ne)=>{n();(function(){var e={};function t(d,l){return s(d)||i(d,l)||r()}function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function i(d,l){var v=[],x=!0,A=!1,E=void 0;try{for(var K,w=d[Symbol.iterator]();!(x=(K=w.next()).done)&&(v.push(K.value),!l||v.length!==l);x=!0);}catch(Q){A=!0,E=Q}finally{try{x||w.return==null||w.return()}finally{if(A)throw E}}return v}function s(d){if(Array.isArray(d))return d}var m=0,S=1,b=2,F={1:["poker","poker2","poker"],12:["empire","castle","em"],15:["bigfarm","ranch","bf"],16:["empirefourkingdoms","fourkingdoms","e4k"],23:["legendsofhonor",void 0,"loh"],41:["empiremillenniumwars",void 0,"emmw"]},y=Object.entries(F).reduce(function(d,l){var v=t(l,2),x=v[0],A=v[1];return x=parseInt(x,10),d[x]=x,A.forEach(function(E){d[E]=x}),d},{}),c=function(d){d=d.toString().toLowerCase();var l=y[d];return l&&0|l},a=function(d,l){return(l=y[l])&&F[l][d]},p=a.bind(null,m),C=a.bind(null,S),O=a.bind(null,b);e={id:c,name:p,codename:C,acronym:O},typeof _e=="object"&&typeof ne<"u"?ne.exports=e:typeof define=="function"&&define.amd&&define(function(){return e})})()});var ce=P(z=>{"use strict";n();Object.defineProperty(z,"__esModule",{value:!0});z.CxfEvents=void 0;var gt;(function(e){e.Token="cxf.token",e.Login="cxf.login",e.Signup="cxf.signup",e.GameEventUpdate="cxf.gameEvent.update",e.GameEventAdd="cxf.gameEvent.add",e.GameEventRemove="cxf.gameEvent.remove",e.XpChanged="cxf.xp.changed",e.LevelChanged="cxf.level.changed",e.LegendLevelChanged="cxf.legendLevel.changed",e.Push="cxf.push",e.OpenIGS="cxf.igs.open",e.JoinTempServer="cxf.join.temp.server",e.Subscription="cxf.subscription",e.RewardedAdStart="cxf.rewardedad.start",e.RewardedAdDone="cxf.rewardedad.done"})(gt=z.CxfEvents||(z.CxfEvents={}))});n();n();n();n();n();var ye=B(ge());n();n();var I=[];for(let e=0;e<256;++e)I.push((e+256).toString(16).slice(1));function Ce(e,t=0){return(I[e[t+0]]+I[e[t+1]]+I[e[t+2]]+I[e[t+3]]+"-"+I[e[t+4]]+I[e[t+5]]+"-"+I[e[t+6]]+I[e[t+7]]+"-"+I[e[t+8]]+I[e[t+9]]+"-"+I[e[t+10]]+I[e[t+11]]+I[e[t+12]]+I[e[t+13]]+I[e[t+14]]+I[e[t+15]]).toLowerCase()}n();var Y,st=new Uint8Array(16);function ee(){if(!Y){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Y=crypto.getRandomValues.bind(crypto)}return Y(st)}n();n();var at=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),te={randomUUID:at};function ct(e,t,r){if(te.randomUUID&&!t&&!e)return te.randomUUID();e=e||{};let i=e.random??e.rng?.()??ee();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let s=0;s<16;++s)t[r+s]=i[s];return t}return Ce(i)}var re=ct;n();var N=class extends Error{constructor(t,r){super(`${t} has null value: ${r}`),this.name="ArgumentNullError"}};n();var ut=(e,t)=>{let r=setTimeout(e,t);return()=>clearTimeout(r)},Ie=(e,t)=>r=>new Promise((i,s)=>{let m=ut(()=>{s(new Error(`Timeout has exceeded ${t}`))},t);e(r).then(S=>{i(S),m()}).catch(s)}),Se=e=>{for(let t of Object.keys(e)){let r=e[t];if(r==null||Number.isNaN(r))throw new N(t,r)}};function ve(e){return Math.floor(e/1e3)}var xe=e=>{let t=e.match(/^https?:\/\/([^#/?]+)(?:[#/?]|$)/i);if(!t||!t[1])return;let r=t[1].match(/[^.]+\.[^.]+$/);if(r)return r[0]};function ft({gameId:e,networkId:t,instanceId:r,playerId:i}){return[e,t,r,i].join("-")}function be(e){return Object.entries(e).filter(([t,r])=>r!=null).map(([t,r])=>`${t}=${encodeURIComponent(r)}`).join("&")}var $=e=>{let{playerId:t,token:r,zoneId:i,language:s}=e;if(!t)throw new N("playerId",t);return{token:r,zoneId:i,locale:s,ping:ft({...e,playerId:t})}};var X=e=>(...t)=>{try{return e(...t)}catch(r){R(r),dt(r)}},dt=e=>{let t=o.getConfig();o.getCxf().emit(t.CXF_ERROR,e)};var sr=Ie(()=>oe(),1e4),mt=(0,ye.default)("CXF-WEBSHOP"),f=(e,...t)=>mt(e,...t),R=(...e)=>console.error("%c CXF-WEBSHOP:","background: #ff0000; color: #fff",...e),D=()=>re(),Ee=e=>xe(e),Fe=()=>ggsGetQueryParameters(),Oe=()=>ggsGetReferrer();n();function we(e){return{playerId:e.playerId,instanceId:e.instanceId,networkId:e.networkId,gameId:e.gameId,gameApi:e.gameApi,language:e.language,token:e.token,zoneId:e.zoneId,gameEvents:[],xp:0,level:0,legendLevel:void 0,countryCode:"",lastPurchaseTab:"",subscriptionDisabled:!1,isTempServer:!1,customizationSuffix:"",resolvedCustomizationUrl:"",sourceId:"unknown",unreadOfferNotifsCountUrl:""}}function J({legendLevel:e,level:t}){return{legendLevel:e,level:t}}var G=async()=>{let e=o.getConfig(),t=o.getStore();if(e.LEGEND_LEVEL_IS_USED&&t.legendLevel===void 0){f("Skip fetchUnreadOfferNotificationsCount due to legendLevel is undefined");return}if(f("fetchUnreadOfferNotificationsCount"),t.token&&t.unreadOfferNotifsCountUrl){let r=0,i={Authorization:`Bearer ${t.token}`},s=t.unreadOfferNotifsCountUrl.replace("{locale}",t.language||"").replace("{zoneId}",t.zoneId||"").replace("{criteria}",encodeURIComponent(JSON.stringify(J(t))));try{f("fetch",s);let m=await fetch(s,{headers:i});if(m.ok){let S=await m.json();r=Number(S?.notifCount)}}catch(m){R(`cannot fetch ${s}`,m)}f("setUnseenOffersCounter",r),t.gameApi.invokeFn("setUnseenOffersCounter",r).catch(m=>{R("setUnseenOffersCounter error:",m)})}};n();var Z=class{post(t){let r=document.querySelector("#dialog");r&&r.tagName.toLocaleLowerCase()==="iframe"&&r.contentWindow?.postMessage(t,"*")}};n();n();var Pe=B(Ae());var M=({page:e,route:t,sid:r,config:i={}})=>{let s=o.getConfig(),m=o.getStore(),{token:S,zoneId:b,locale:F}=$(m),y={token:S,zoneId:b,locale:F,sid:r||D()};Object.keys(i).length>0&&(y.config=JSON.stringify(i)),Se(y);let c=new URLSearchParams(Fe()),a={...y,"lemonstand.customization.url":m.resolvedCustomizationUrl||q(),domain:Ee(Oe()),websiteId:c.get("w"),criteria:JSON.stringify(J(m)),level:m.level},p=c.get("network");return c.get("usekeybaselogin")==="false"&&Number(p)>0&&(a.network=p),m.adStatus?.areBannersAvailable&&(a.ads=!0),`${s.BASE_URL}/?${be(a)}${e?`#${e}`:""}${t?`--${t}--${Date.now()}`:""}`},q=()=>{let e=o.getConfig(),t=o.getStore(),r=o.getCxf(),i=(0,Pe.acronym)(t.gameId),s=t.customizationSuffix?`-${t.customizationSuffix}`:"",m=`${i}${s}`;if(r.env==="test"){let S=new URLSearchParams(window.location.search).get("configGGS");if(S!==null)return e.CUSTOMIZATION_URL_TEMPLATE.replace("{0}",m).replace("{1}",S)}return e.CUSTOMIZATION_URL.replace("{0}",m)};var Le=()=>{if(typeof fetch!="function")return;let e=q(),t="";fetch(e).then(r=>{if(q()===e)return t=r.url,f("parsed customization url is "+t),o.updateStore({resolvedCustomizationUrl:t}),r.json()}).then(r=>{r&&o.updateStore({unreadOfferNotifsCountUrl:r.unreadOfferNotifsCountUrl||""})})};var ie=e=>{let t=e;return{get:()=>t,set:r=>{t=r}}},se=class{constructor(){this.config=void 0;this.cxfProvider=ie();this.dialogProvider=ie();this.storeProvider=ie();this.shopMessageBus=new Z;this.fetchUnreadOfferNotificationsCount=G;this.preResolveConfig=Le}setConfig(t){this.config=t}getConfig(){if(this.config===void 0)throw new Error("Config is not initialized");return this.config}setCxf(t){this.cxfProvider.set(t)}getCxf(){let t=this.cxfProvider.get();if(!t)throw new Error("CXF is not loaded");return t}setStore(t){this.storeProvider.set(t)}getStore(){let t=this.storeProvider.get();if(!t)throw new Error("Store is not initialized");return t}updateStore(t){let r=this.getStore();this.setStore({...r,...t})}},o=new se;n();n();var k=e=>{let t=o.getConfig();o.getCxf().emit(t.CXF_DIALOG_OPEN,e)};n();var lt=()=>{f("OnOpenSalesOffersPage");let e=D(),t=M({page:"sale-offers",sid:e});k(t)},pt=()=>{let e=o.getStore();f("onLemonstandClose",e),G()},Te=()=>({"cxf.webshop.sales.open":lt,"cxf.dialog.close":pt});n();var g=B(ce());n();n();var W=e=>{let t=o.getConfig(),r=o.getStore(),i=Date.now(),s=$(r),{zoneId:m}=s,S=e,{playerId:b,gameId:F,networkId:y,instanceId:c,sourceId:a}=r;Ct({eventId:t.WEB_SHOP_CALL_TRACK_ID,date:ve(i),unixtimeMS:i,sessionId:S,zoneId:m?Number.parseInt(m,10):void 0,playerId:Number.parseInt(b,10),gameId:Number.parseInt(F,10),networkId:Number.parseInt(y,10),instanceId:Number.parseInt(c,10),sourceId:a})},Ct=e=>{let t=o.getConfig();o.getCxf().emit(t.CXF_TRACK_MSG,e)};var Ue=(e={})=>{f("OnOpen payload:",e),e.sourceId&&o.updateStore({sourceId:e.sourceId});let t=o.getStore(),r=D();W(r);let i=M({sid:r,page:t.lastPurchaseTab,...e});k(i),setTimeout(()=>{t.gameApi.invokeFn("setUnseenOffersCounter",0)},1e3)};n();var It=e=>{f("OnReward: offerId",e.offerId,"Page",e.page);let t=M({route:encodeURIComponent(e.successUrl),...e});o.updateStore({lastPurchaseTab:e.page,sourceId:"successfulPayoutReward"}),W(e.sid),k(t)},St=({target:e,action:t,data:r})=>{o.shopMessageBus.post({eventName:"lemonstand.category.update",target:e,data:{action:t,data:r}})},vt=({notifCount:e})=>{f("onLemonstandNotificationsCreated -> notifCount:",e);let t=o.getStore();if(e>0){let r=Math.floor(Math.random()*(Number(t.networkId)<250?12e4:15e3));setTimeout(()=>{G()},r)}else t.gameApi.invokeFn("setUnseenOffersCounter",0).catch(r=>{R("setUnseenOffersCounter error:",r)})},Ne=()=>({reward:It,"lemonstand.category.update":St,"lemonstand.notifs.created":vt});var xt=()=>{let e=o.getCxf(),t=Ne();e.on(g.CxfEvents.OpenIGS,X(Ue)),e.on(g.CxfEvents.Push,X(({id:r,payload:i})=>{f("cxf.push",r,i);let s=t[r];s&&s(i)}))},ht=()=>{let e=o.getCxf();e.on(g.CxfEvents.Login,t=>{let{gameEvents:r}=o.getStore(),{gameEvents:i}=t,s=m=>S=>!m.map(b=>b.type).includes(S.type);o.updateStore({...t,gameEvents:[...r.filter(s(i)),...i]}),f(g.CxfEvents.Login,"reducer",o.getStore()),o.fetchUnreadOfferNotificationsCount()}),e.on(g.CxfEvents.GameEventUpdate,t=>{f(g.CxfEvents.GameEventUpdate,t);let r=o.getStore(),i=new Set(t.map(s=>s.type));o.updateStore({gameEvents:[...r.gameEvents.filter(s=>!i.has(s.type)),...t]}),f(g.CxfEvents.GameEventUpdate,"reducer",o.getStore())}),e.on(g.CxfEvents.GameEventAdd,t=>{f(g.CxfEvents.GameEventAdd,t);let r=o.getStore();o.updateStore({gameEvents:[...r.gameEvents,t]}),f(g.CxfEvents.GameEventAdd,"reducer",o.getStore())}),e.on(g.CxfEvents.GameEventRemove,t=>{f(g.CxfEvents.GameEventRemove,t);let r=o.getStore();o.updateStore({gameEvents:r.gameEvents.filter(({type:i})=>i!==t)}),f(g.CxfEvents.GameEventRemove,"reducer",o.getStore())}),e.on(g.CxfEvents.LevelChanged,t=>{f(g.CxfEvents.LevelChanged,t),o.updateStore({level:t}),f(g.CxfEvents.LevelChanged,"reducer",o.getStore()),o.fetchUnreadOfferNotificationsCount()}),e.on(g.CxfEvents.LegendLevelChanged,t=>{f(g.CxfEvents.LegendLevelChanged,`legendLevel: ${t}`),o.updateStore({legendLevel:t});let r=o.getStore();f(g.CxfEvents.LegendLevelChanged,"reducer",r),o.fetchUnreadOfferNotificationsCount()})},yt=()=>{o.getCxf().on("cxf.native.subscription.enable",t=>{o.updateStore({subscriptionDisabled:t===0,customizationSuffix:t===0?"no-subscription":""}),o.preResolveConfig()})},bt=()=>{o.getCxf().on("cxf.set.customization.surfix",t=>{let r=o.getStore();t!==r.customizationSuffix&&(o.updateStore({customizationSuffix:t||""}),o.preResolveConfig())})},Et=()=>{let e=o.getConfig();o.getCxf().on(e.CXF_AD_STATUS,({areBannersAvailable:r,bannersDetails:i})=>{o.updateStore({adStatus:{areBannersAvailable:r,bannersDetails:i}})})},Ft=()=>{o.getCxf().on("cxf.join.temp.server",t=>{let r=o.getStore();o.updateStore({isTempServer:!!t}),(r.customizationSuffix===""||r.customizationSuffix==="temp")&&(o.updateStore({customizationSuffix:t?"temp":""}),o.preResolveConfig())})},Re=()=>({common:xt,gameEvents:ht,receiveAdStatus:Et,tempServerContext:Ft,nativeSubscription:yt,setCustomizationSuffix:bt});var De=()=>{f("App has started");let e=Te(),t=Re();window.addEventListener("message",X(({data:r})=>{if(r){let i=e[r.name];i&&(f("POST MESSAGE",r),i(r.payload))}}));for(let r of Object.values(t))r();o.preResolveConfig()};n();var Ge=B(ce());var Ot={CUSTOMIZATION_URL:u.env.CUSTOMIZATION_URL,CUSTOMIZATION_URL_TEMPLATE:u.env.CUSTOMIZATION_URL_TEMPLATE,BASE_URL:u.env.BASE_URL,CXF_DIALOG_OPEN:"cxf.dialog.open",CXF_DIALOG_CLOSE:"cxf.dialog.close",CXF_TRACK_MSG:"cxf.tracking.message",CXF_BTN_CLICK_MSG:Ge.CxfEvents.OpenIGS,CXF_OPEN_SALES_MSG:"cxf.webshop.sales.open",WEB_SHOP_CALL_TRACK_ID:1181,CXF_ERROR:"cxf.error",CXF_PUSH:"cxf.push",CXF_AD_STATUS:"cxf.adBanner.status"},wt={12:{LEGEND_LEVEL_IS_USED:!0},15:{LEGEND_LEVEL_IS_USED:!1},16:{LEGEND_LEVEL_IS_USED:!0}},Me=e=>({...Ot,...wt[e]});localStorage.getItem("cxf_canvas")==="enabled"?f("Skip cxf-webshop loading..."):oe().then(e=>{let t=Me(e.gameId);o.setConfig(t),o.setCxf(e);let r=we(e);o.setStore(r),De()});})();
|
|
1
|
+
"use strict";(()=>{var He=Object.create;var ce=Object.defineProperty;var Be=Object.getOwnPropertyDescriptor;var Ve=Object.getOwnPropertyNames;var je=Object.getPrototypeOf,$e=Object.prototype.hasOwnProperty;var Ze=(e,t)=>()=>(e&&(t=e(e=0)),t);var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Je=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ve(t))!$e.call(e,i)&&i!==r&&ce(e,i,{get:()=>t[i],enumerable:!(n=Be(t,i))||n.enumerable});return e};var H=(e,t,r)=>(r=e!=null?He(je(e)):{},Je(t||!e||!e.__esModule?ce(r,"default",{value:e,enumerable:!0}):r,e));var u,s=Ze(()=>{u={env:{BASE_URL:"https://canvas-test.goodgamestudios.com",CANVAS_AGENT_URL:"https://app-test.canvas.stillfront.com/agent.js",CANVAS_APP_ID_BY_GAME:{"12":"81199abb-592e-465c-b926-8656628a64c7","15":{google:"25facd0c-e850-4ebf-b6c4-8c60240e4cf8",stillpay:"bec451f9-8db4-4ca1-8a5a-54494429ff5e"},"16":"18f5521d-7df2-4bb3-88a3-c162ba072d73"},CUSTOMIZATION_URL_TEMPLATE:"https://cdn.jsdelivr.net/npm/@lemonstand.org/config-goodgamestudios@{1}/dist/goodgamestudios-{0}.json",CUSTOMIZATION_URL:"https://cdn.jsdelivr.net/npm/@lemonstand.org/config-goodgamestudios@qa/dist/goodgamestudios-{0}.json"}}});var ue=T((Nt,de)=>{s();var N=1e3,L=N*60,U=L*60,P=U*24,qe=P*7,Qe=P*365.25;de.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return We(e);if(r==="number"&&isFinite(e))return t.long?et(e):Ke(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function We(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Qe;case"weeks":case"week":case"w":return r*qe;case"days":case"day":case"d":return r*P;case"hours":case"hour":case"hrs":case"hr":case"h":return r*U;case"minutes":case"minute":case"mins":case"min":case"m":return r*L;case"seconds":case"second":case"secs":case"sec":case"s":return r*N;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Ke(e){var t=Math.abs(e);return t>=P?Math.round(e/P)+"d":t>=U?Math.round(e/U)+"h":t>=L?Math.round(e/L)+"m":t>=N?Math.round(e/N)+"s":e+"ms"}function et(e){var t=Math.abs(e);return t>=P?j(e,t,P,"day"):t>=U?j(e,t,U,"hour"):t>=L?j(e,t,L,"minute"):t>=N?j(e,t,N,"second"):e+" ms"}function j(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var ge=T((Ut,le)=>{s();function tt(e){r.debug=r,r.default=r,r.coerce=x,r.disable=h,r.enable=i,r.enabled=w,r.humanize=ue(),r.destroy=E,Object.keys(e).forEach(c=>{r[c]=e[c]}),r.names=[],r.skips=[],r.formatters={};function t(c){let a=0;for(let m=0;m<c.length;m++)a=(a<<5)-a+c.charCodeAt(m),a|=0;return r.colors[Math.abs(a)%r.colors.length]}r.selectColor=t;function r(c){let a,m=null,C,v;function d(...g){if(!d.enabled)return;let I=d,S=Number(new Date),F=S-(a||S);I.diff=F,I.prev=a,I.curr=S,a=S,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let b=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(_,ee)=>{if(_==="%%")return"%";b++;let ae=r.formatters[ee];if(typeof ae=="function"){let ze=g[b];_=ae.call(I,ze),g.splice(b,1),b--}return _}),r.formatArgs.call(I,g),(I.log||r.log).apply(I,g)}return d.namespace=c,d.useColors=r.useColors(),d.color=r.selectColor(c),d.extend=n,d.destroy=r.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(C!==r.namespaces&&(C=r.namespaces,v=r.enabled(c)),v),set:g=>{m=g}}),typeof r.init=="function"&&r.init(d),d}function n(c,a){let m=r(this.namespace+(typeof a>"u"?":":a)+c);return m.log=this.log,m}function i(c){r.save(c),r.namespaces=c,r.names=[],r.skips=[];let a=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of a)m[0]==="-"?r.skips.push(m.slice(1)):r.names.push(m)}function l(c,a){let m=0,C=0,v=-1,d=0;for(;m<c.length;)if(C<a.length&&(a[C]===c[m]||a[C]==="*"))a[C]==="*"?(v=C,d=m,C++):(m++,C++);else if(v!==-1)C=v+1,d++,m=d;else return!1;for(;C<a.length&&a[C]==="*";)C++;return C===a.length}function h(){let c=[...r.names,...r.skips.map(a=>"-"+a)].join(",");return r.enable(""),c}function w(c){for(let a of r.skips)if(l(c,a))return!1;for(let a of r.names)if(l(c,a))return!0;return!1}function x(c){return c instanceof Error?c.stack||c.message:c}function E(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}le.exports=tt});var me=T((y,$)=>{s();y.formatArgs=ot;y.save=nt;y.load=st;y.useColors=rt;y.storage=it();y.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();y.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function rt(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function ot(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+$.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}y.log=console.debug||console.log||(()=>{});function nt(e){try{e?y.storage.setItem("debug",e):y.storage.removeItem("debug")}catch{}}function st(){let e;try{e=y.storage.getItem("debug")||y.storage.getItem("DEBUG")}catch{}return!e&&typeof u<"u"&&"env"in u&&(e=u.env.DEBUG),e}function it(){try{return localStorage}catch{}}$.exports=ge()(y);var{formatters:at}=$.exports;at.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var te=T((Ht,Se)=>{"use strict";s();var Z=window&&window.CXF;Se.exports=new Promise(function(e,t){if(window||t(),Z)return e(Z);window.addEventListener("cxf.initialized",function(r){Z=r.cxf,e(Z)},{capture:!0,once:!0,passive:!0})})});var Pe=T((Oe,re)=>{s();(function(){var e={};function t(d,g){return i(d)||n(d,g)||r()}function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function n(d,g){var I=[],S=!0,F=!1,b=void 0;try{for(var K,_=d[Symbol.iterator]();!(S=(K=_.next()).done)&&(I.push(K.value),!g||I.length!==g);S=!0);}catch(ee){F=!0,b=ee}finally{try{S||_.return==null||_.return()}finally{if(F)throw b}}return I}function i(d){if(Array.isArray(d))return d}var l=0,h=1,w=2,x={1:["poker","poker2","poker"],12:["empire","castle","em"],15:["bigfarm","ranch","bf"],16:["empirefourkingdoms","fourkingdoms","e4k"],23:["legendsofhonor",void 0,"loh"],41:["empiremillenniumwars",void 0,"emmw"]},E=Object.entries(x).reduce(function(d,g){var I=t(g,2),S=I[0],F=I[1];return S=parseInt(S,10),d[S]=S,F.forEach(function(b){d[b]=S}),d},{}),c=function(d){d=d.toString().toLowerCase();var g=E[d];return g&&0|g},a=function(d,g){return(g=E[g])&&x[g][d]},m=a.bind(null,l),C=a.bind(null,h),v=a.bind(null,w);e={id:c,name:m,codename:C,acronym:v},typeof Oe=="object"&&typeof re<"u"?re.exports=e:typeof define=="function"&&define.amd&&define(function(){return e})})()});var se=T(z=>{"use strict";s();Object.defineProperty(z,"__esModule",{value:!0});z.CxfEvents=void 0;var lt;(function(e){e.Token="cxf.token",e.Login="cxf.login",e.Signup="cxf.signup",e.GameEventUpdate="cxf.gameEvent.update",e.GameEventAdd="cxf.gameEvent.add",e.GameEventRemove="cxf.gameEvent.remove",e.XpChanged="cxf.xp.changed",e.LevelChanged="cxf.level.changed",e.LegendLevelChanged="cxf.legendLevel.changed",e.Push="cxf.push",e.OpenIGS="cxf.igs.open",e.JoinTempServer="cxf.join.temp.server",e.Subscription="cxf.subscription",e.RewardedAdStart="cxf.rewardedad.start",e.RewardedAdDone="cxf.rewardedad.done"})(lt=z.CxfEvents||(z.CxfEvents={}))});s();s();s();s();s();s();var O=256,V=[],B;for(;O--;)V[O]=(O+256).toString(16).substring(1);function fe(){var e=0,t,r="";if(!B||O+16>256){for(B=Array(e=256);e--;)B[e]=256*Math.random()|0;e=O=0}for(;e<16;e++)t=B[O+e],e==6?r+=V[t&15|64]:e==8?r+=V[t&63|128]:r+=V[t],e&1&&e>1&&e<11&&(r+="-");return O++,r}var he=H(me());s();var R=class extends Error{constructor(t,r){super(`${t} has null value: ${r}`),this.name="ArgumentNullError"}};s();var ct=(e,t)=>{let r=setTimeout(e,t);return()=>clearTimeout(r)},pe=(e,t)=>r=>new Promise((n,i)=>{let l=ct(()=>{i(new Error(`Timeout has exceeded ${t}`))},t);e(r).then(h=>{n(h),l()}).catch(i)}),Ce=e=>{for(let t of Object.keys(e)){let r=e[t];if(r==null||Number.isNaN(r))throw new R(t,r)}};function Ie(e){return Math.floor(e/1e3)}var ve=e=>{let t=e.match(/^https?:\/\/([^#/?]+)(?:[#/?]|$)/i);if(!t||!t[1])return;let r=t[1].match(/[^.]+\.[^.]+$/);if(r)return r[0]};function ft({gameId:e,networkId:t,instanceId:r,playerId:n}){return[e,t,r,n].join("-")}var Ee=(e="stillpay")=>{let t=navigator.userAgent.match(/(itunes)|(googleplay)|(Android)|(amazonmobile)|(facebook)|(samsung)|(huawei)/g);if(!t)return e;let r=t[0],n={itunes:"apple",Android:"google",googleplay:"google",amazonmobile:"amazon",facebook:"facebook",samsung:"samsung",huawei:"huawei"};return Object.prototype.hasOwnProperty.call(n,r)?n[r]:e};function ye(e){return Object.entries(e).filter(([t,r])=>r!=null).map(([t,r])=>`${t}=${encodeURIComponent(r)}`).join("&")}var J=e=>{let{playerId:t,token:r,zoneId:n,language:i}=e;if(!t)throw new R("playerId",t);return{token:r,zoneId:n,locale:i,ping:ft({...e,playerId:t})}};var be=e=>new Promise((t,r)=>{let n=document.createElement("script");n.type="text/javascript",n.type="module",n.async=!0,n.src=e,n.addEventListener("load",t),n.addEventListener("error",r),document.body.append(n)}),X=e=>(...t)=>{try{return e(...t)}catch(r){A(r),dt(r)}},dt=e=>{let t=o.getConfig();o.getCxf().emit(t.CXF_ERROR,e)};var Jt=pe(()=>te(),1e4),ut=(0,he.default)("CXF-WEBSHOP"),A=(...e)=>console.error("%c CXF-WEBSHOP ->","background: #ff0000; color: #fff",...e),f=(...e)=>{ut("%c CXF-WEBSHOP ->","background: pink; color: #bada55, font-size:20px",...e)},G=()=>fe(),xe=e=>ve(e),Ae=()=>ggsGetQueryParameters(),we=()=>ggsGetReferrer(),Fe=e=>e.reduce((t,r,n)=>(t.offers.push({id:r,tier:0,productIds:{googleplay:r}}),t),{category:"all",offers:[],eventName:"lemonstand.nativePrice",eventType:"bubble"});s();function _e(e){return{isCanvas:!1,playerId:e.playerId,instanceId:e.instanceId,networkId:e.networkId,gameId:e.gameId,gameApi:e.gameApi,language:e.language,token:e.token,zoneId:e.zoneId,gameEvents:[],xp:0,level:0,legendLevel:void 0,countryCode:"",lastPurchaseTab:"",subscriptionDisabled:!1,isTempServer:!1,customizationSuffix:"",resolvedCustomizationUrl:"",sourceId:"unknown",unreadOfferNotifsCountUrl:""}}function Y({legendLevel:e,level:t}){return{legendLevel:e,level:t}}var D=async()=>{let e=o.getConfig(),t=o.getStore();if(e.LEGEND_LEVEL_IS_USED&&t.legendLevel===void 0){f("Skip fetchUnreadOfferNotificationsCount due to legendLevel is undefined");return}if(f("fetchUnreadOfferNotificationsCount"),t.token&&t.unreadOfferNotifsCountUrl){let r=0,n={Authorization:`Bearer ${t.token}`},i=t.unreadOfferNotifsCountUrl.replace("{locale}",t.language||"").replace("{zoneId}",t.zoneId||"").replace("{criteria}",encodeURIComponent(JSON.stringify(Y(t))));try{f("fetch",i);let l=await fetch(i,{headers:n});if(l.ok){let h=await l.json();r=Number(h?.notifCount)}}catch(l){A(`cannot fetch ${i}`,l)}f("setUnseenOffersCounter",r),t.gameApi.invokeFn("setUnseenOffersCounter",r).catch(l=>{A("setUnseenOffersCounter error:",l)})}};s();var q=class{post(t){let r=document.querySelector("#dialog");r&&r.tagName.toLocaleLowerCase()==="iframe"&&r.contentWindow?.postMessage(t,"*")}};s();s();var Te=H(Pe());var M=({page:e,route:t,sid:r,config:n={}})=>{let i=o.getConfig(),l=o.getStore(),{token:h,zoneId:w,locale:x}=J(l),E={token:h,zoneId:w,locale:x,sid:r||G()};Object.keys(n).length>0&&(E.config=JSON.stringify(n)),Ce(E);let c=new URLSearchParams(Ae()),a={...E,"lemonstand.customization.url":l.resolvedCustomizationUrl||Q(),domain:xe(we()),websiteId:c.get("w"),criteria:JSON.stringify(Y(l)),level:l.level},m=c.get("network");return c.get("usekeybaselogin")==="false"&&Number(m)>0&&(a.network=m),l.adStatus?.areBannersAvailable&&(a.ads=!0),`${i.BASE_URL}/?${ye(a)}${e?`#${e}`:""}${t?`--${t}--${Date.now()}`:""}`},Q=()=>{let e=o.getConfig(),t=o.getStore(),r=o.getCxf(),n=(0,Te.acronym)(t.gameId),i=t.customizationSuffix?`-${t.customizationSuffix}`:"",l=`${n}${i}`;if(r.env==="test"){let h=new URLSearchParams(window.location.search).get("configGGS");if(h!==null)return e.CUSTOMIZATION_URL_TEMPLATE.replace("{0}",l).replace("{1}",h)}return e.CUSTOMIZATION_URL.replace("{0}",l)};var Ne=()=>{if(typeof fetch!="function")return;let e=Q(),t="";fetch(e).then(r=>{if(Q()===e)return t=r.url,f("parsed customization url is "+t),o.updateStore({resolvedCustomizationUrl:t}),r.json()}).then(r=>{r&&o.updateStore({unreadOfferNotifsCountUrl:r.unreadOfferNotifsCountUrl||""})})};var oe=e=>{let t=e;return{get:()=>t,set:r=>{t=r}}},ne=class{constructor(){this.config=void 0;this.cxfProvider=oe();this.dialogProvider=oe();this.storeProvider=oe();this.shopMessageBus=new q;this.fetchUnreadOfferNotificationsCount=D;this.preResolveConfig=Ne}setConfig(t){this.config=t}getConfig(){if(this.config===void 0)throw new Error("Config is not initialized");return this.config}setCxf(t){this.cxfProvider.set(t)}getCxf(){let t=this.cxfProvider.get();if(!t)throw new Error("CXF is not loaded");return t}setStore(t){this.storeProvider.set(t)}getStore(){let t=this.storeProvider.get();if(!t)throw new Error("Store is not initialized");return t}updateStore(t){let r=this.getStore();this.setStore({...r,...t})}},o=new ne;s();var p=H(se());s();var k=e=>{let t=o.getConfig();o.getCxf().emit(t.CXF_DIALOG_OPEN,e)};s();var W=e=>{let t=o.getConfig(),r=o.getStore(),n=Date.now(),i=J(r),{zoneId:l}=i,h=e,{playerId:w,gameId:x,networkId:E,instanceId:c,sourceId:a}=r;gt({eventId:t.WEB_SHOP_CALL_TRACK_ID,date:Ie(n),unixtimeMS:n,sessionId:h,zoneId:l?Number.parseInt(l,10):void 0,playerId:Number.parseInt(w,10),gameId:Number.parseInt(x,10),networkId:Number.parseInt(E,10),instanceId:Number.parseInt(c,10),sourceId:a})},gt=e=>{let t=o.getConfig();o.getCxf().emit(t.CXF_TRACK_MSG,e)};s();s();var Le=new Set([264,460,461,767,768,802,814,830,877]);s();var mt=e=>{f("OnReward: offerId",e.offerId,"Page",e.page);let t=M({route:encodeURIComponent(e.successUrl),...e});o.updateStore({lastPurchaseTab:e.page,sourceId:"successfulPayoutReward"}),W(e.sid),k(t)},pt=({target:e,action:t,data:r})=>{o.shopMessageBus.post({eventName:"lemonstand.category.update",target:e,data:{action:t,data:r}})},Ct=({notifCount:e})=>{f("onLemonstandNotificationsCreated -> notifCount:",e);let t=o.getStore();if(e>0){let r=Math.floor(Math.random()*(Number(t.networkId)<250?12e4:15e3));setTimeout(()=>{D()},r)}else t.gameApi.invokeFn("setUnseenOffersCounter",0).catch(r=>{A("setUnseenOffersCounter error:",r)})},Ue=()=>({reward:mt,"lemonstand.category.update":pt,"lemonstand.notifs.created":Ct});var Re=!1,It=(e={})=>{f(p.CxfEvents.OpenIGS,"payload:",e),e.sourceId&&o.updateStore({sourceId:e.sourceId});let{isCanvas:t,lastPurchaseTab:r,gameApi:n}=o.getStore();if(t){e.page&&window.CanvasAgent?.instance?.navigate(e.page),window.CanvasAgent?.instance?.show();return}let i=G();W(i);let l=M({sid:i,page:r,...e});k(l),setTimeout(()=>{n.invokeFn("setUnseenOffersCounter",0)},1e3)},vt=e=>{let t=Ue();e.on(p.CxfEvents.OpenIGS,X(It)),e.on(p.CxfEvents.Push,X(({id:r,payload:n})=>{f(p.CxfEvents.Push,r,n);let i=t[r];i&&i(n)}))},St=e=>{e.on(p.CxfEvents.Login,t=>{let{gameEvents:r,language:n,token:i,zoneId:l}=t;Le.has(Number(l))&&o.updateStore({isCanvas:!0});let{gameEvents:h,isCanvas:w}=o.getStore(),x=E=>c=>!E.map(a=>a.type).includes(c.type);if(o.updateStore({...t,gameEvents:[...h.filter(x(r)),...r]}),f(p.CxfEvents.Login,o.getStore()),!w){o.fetchUnreadOfferNotificationsCount();return}if(typeof window.CanvasAgent?.create=="function"){let{CANVAS_APP_ID_BY_GAME:E}=o.getConfig(),c=Ee(),a=E[e.gameId],m=typeof a=="string"?a:a?.[c],C=v=>{if(f("Canvas event received:",v),v?.eventType==="native_catalog_request"&&v?.paymentContractIds?.length>0){Re||(window.addEventListener("message",({data:g})=>{if(g?.eventName==="lemonstand.category.update"&&g?.data?.action==="nativePriceUpdate"){if(f("lemonstand.category.update event",g.data),!g.data.data)return;let I={};for(let S in g.data.data){let{priceString:F,...b}=g.data.data[S];I[S]=b}f("nativeCatalog:",I),window.CanvasAgent?.instance?.setNativeCatalog(I)}}),Re=!0);let d=Fe(v.paymentContractIds);window.postMessage(d,"*"),f("Event `lemonstand.nativePrice` sent")}};window.CanvasAgent.create({authClientId:"lemonstand",canvasAppId:m,locale:n,token:i}).then(v=>{window.CanvasAgent.instance=v,f(p.CxfEvents.Login,"Canvas created")}).catch(v=>{A("Cannot create instance of Canvas",v)})}}),e.on(p.CxfEvents.GameEventUpdate,t=>{f(p.CxfEvents.GameEventUpdate,t);let{gameEvents:r,isCanvas:n}=o.getStore(),i=new Set(t.map(l=>l.type));o.updateStore({gameEvents:[...r.filter(l=>!i.has(l.type)),...t]}),n&&window.CanvasAgent?.instance?.refresh(),f(p.CxfEvents.GameEventUpdate,"reducer",o.getStore())}),e.on(p.CxfEvents.GameEventAdd,t=>{f(p.CxfEvents.GameEventAdd,t);let{gameEvents:r,isCanvas:n}=o.getStore();o.updateStore({gameEvents:[...r,t]}),n&&window.CanvasAgent?.instance?.refresh(),f(p.CxfEvents.GameEventAdd,"reducer",o.getStore())}),e.on(p.CxfEvents.GameEventRemove,t=>{f(p.CxfEvents.GameEventRemove,t);let{gameEvents:r,isCanvas:n}=o.getStore();o.updateStore({gameEvents:r.filter(({type:i})=>i!==t)}),n&&window.CanvasAgent?.instance?.refresh(),f(p.CxfEvents.GameEventRemove,"reducer",o.getStore())}),e.on(p.CxfEvents.LevelChanged,t=>{f(p.CxfEvents.LevelChanged,t);let{isCanvas:r}=o.getStore();o.updateStore({level:t}),f(p.CxfEvents.LevelChanged,"reducer",o.getStore()),r?window.CanvasAgent?.instance?.refresh():o.fetchUnreadOfferNotificationsCount()}),e.on(p.CxfEvents.LegendLevelChanged,t=>{f(p.CxfEvents.LegendLevelChanged,`legendLevel: ${t}`),o.updateStore({legendLevel:t});let r=o.getStore();f(p.CxfEvents.LegendLevelChanged,"reducer",r),o.fetchUnreadOfferNotificationsCount()})},ht=e=>{e.on("cxf.native.subscription.enable",t=>{o.updateStore({subscriptionDisabled:t===0,customizationSuffix:t===0?"no-subscription":""}),o.preResolveConfig()})},Et=e=>{e.on("cxf.set.customization.surfix",t=>{let{customizationSuffix:r}=o.getStore();t!==r&&(o.updateStore({customizationSuffix:t||""}),o.preResolveConfig())})},yt=e=>{let t=o.getConfig();e.on(t.CXF_AD_STATUS,({areBannersAvailable:r,bannersDetails:n})=>{o.updateStore({adStatus:{areBannersAvailable:r,bannersDetails:n}})})},bt=e=>{e.on("cxf.join.temp.server",t=>{let r=o.getStore();o.updateStore({isTempServer:!!t}),(r.customizationSuffix===""||r.customizationSuffix==="temp")&&(o.updateStore({customizationSuffix:t?"temp":""}),o.preResolveConfig())})},Ge=()=>[vt,St,yt,bt,ht,Et];s();var xt=()=>{f("OnOpenSalesOffersPage");let e=G(),t=M({page:"sale-offers",sid:e});k(t)},At=()=>{let e=o.getStore();f("onLemonstandClose",e),D()},De=()=>({"cxf.webshop.sales.open":xt,"cxf.dialog.close":At});var Me=e=>{let t=De(),r=Ge();window.addEventListener("message",X(({data:n})=>{if(n){let i=t[n.name];i&&(f("POST MESSAGE",n),i(n.payload))}}));for(let n of r)n(e);o.preResolveConfig(),f("App has started")};s();var ke=H(se());var wt={CANVAS_AGENT_URL:u.env.CANVAS_AGENT_URL,CANVAS_APP_ID_BY_GAME:u.env.CANVAS_APP_ID_BY_GAME,CUSTOMIZATION_URL:u.env.CUSTOMIZATION_URL,CUSTOMIZATION_URL_TEMPLATE:u.env.CUSTOMIZATION_URL_TEMPLATE,BASE_URL:u.env.BASE_URL,CXF_DIALOG_OPEN:"cxf.dialog.open",CXF_DIALOG_CLOSE:"cxf.dialog.close",CXF_TRACK_MSG:"cxf.tracking.message",CXF_BTN_CLICK_MSG:ke.CxfEvents.OpenIGS,CXF_OPEN_SALES_MSG:"cxf.webshop.sales.open",WEB_SHOP_CALL_TRACK_ID:1181,CXF_ERROR:"cxf.error",CXF_PUSH:"cxf.push",CXF_AD_STATUS:"cxf.adBanner.status"},Ft={12:{LEGEND_LEVEL_IS_USED:!0},15:{LEGEND_LEVEL_IS_USED:!1},16:{LEGEND_LEVEL_IS_USED:!0}},Xe=e=>({...wt,...Ft[e]});te().then(e=>{let t=Xe(e.gameId);o.setConfig(t),o.setCxf(e);let r=_e(e);o.setStore(r),be(t.CANVAS_AGENT_URL).then(()=>{f(`Canvas agent loaded: ${t.CANVAS_AGENT_URL}`)}).catch(n=>{A("Canvas agent load error",n)}),Me(e)});})();
|
|
2
2
|
//# sourceMappingURL=webshop-cxf.js.map
|