@kalamba/sdk 0.23.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +21 -40
- package/dist/index.js +108 -197
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.d.ts +26 -10
- package/dist/plugins.js +872 -781
- package/dist/{v4-BfzDHJEo.js → v4-85TkMtXc.js} +19 -18
- package/dist/v4-Cj9BnqmU.cjs +5 -0
- package/dist/wrapper.cjs +1 -1
- package/dist/wrapper.d.ts +22 -5
- package/dist/wrapper.js +935 -930
- package/package.json +3 -4
- package/dist/v4-CoqWKwnX.cjs +0 -5
package/dist/index.cjs
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* BSD 3-Clause License
|
|
3
3
|
* Copyright (c) 2025, Kalamba Games Limited
|
|
4
4
|
*/
|
|
5
|
-
"use strict";var E=m=>{throw TypeError(m)};var N=(m,i,t)=>i.has(m)||E("Cannot "+t);var r=(m,i,t)=>(N(m,i,"read from private field"),t?t.call(m):i.get(m)),u=(m,i,t)=>i.has(m)?E("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(m):i.set(m,t),e=(m,i,t,n)=>(N(m,i,"write to private field"),n?n.call(m,t):i.set(m,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./errors-BXO3dlhS.cjs"),O=require("./encoders-DVHzIpWT.cjs"),H=3e4;var F,S;class k{constructor(i){u(this,F);u(this,S,H);e(this,F,i)}buildHeaders(){const i={};return r(this,F).token&&(i.Authorization=`Bearer ${r(this,F).token}`),i}async request(i,t){const n=new URL(i,r(this,F).apiUrl??window.location.origin);return n.search=new URLSearchParams({...t}).toString(),await(await fetch(n,{signal:AbortSignal.timeout(r(this,S)),headers:this.buildHeaders()})).json()}async getRounds(i){return this.request("/rounds",i)}async getRound(i,t){return this.request(`/rounds/${i}`,t)}}F=new WeakMap,S=new WeakMap;const I=Symbol.for("constructDateFrom");function K(m,i){return typeof m=="function"?m(i):m&&typeof m=="object"&&I in m?m[I](i):m instanceof Date?new m.constructor(i):new Date(i)}function b(m,i){return K(m,m)}function $(m,i){const t=b(m);return t.setHours(0,0,0,0),t}function X(m,i){const t=b(m);return t.setHours(23,59,59,999),t}function _(m){return X(Date.now())}function q(m){return $(Date.now())}const G={limit:100,page:0};var a,x;class P{constructor({config:i}){u(this,a);u(this,x);e(this,a,i),e(this,x,new k({apiUrl:i.api.gameHistoryUrl}))}async getRound(i,{pagination:t=G}={}){return r(this,x).getRound(i,{gameCode:r(this,a).api.game,operatorCode:r(this,a).api.brand,username:r(this,a).api.user,...t})}async getLastRound(){return r(this,a).api.lastRoundId?this.getRound(r(this,a).api.lastRoundId):null}async getRounds({searchPeriod:i={fromDateTime:q(),toDateTime:_()},pagination:t=G}={}){const n=r(this,a).api.user.replace(/^user_/,"").replace(new RegExp(`_${r(this,a).api.integration}$`),"");return r(this,x).getRounds({gameCode:r(this,a).api.game,operatorCode:r(this,a).api.integration,username:n,fromDataTime:i.fromDateTime.toISOString(),toDateTime:i.toDateTime.toISOString(),...t})}}a=new WeakMap,x=new WeakMap;function V(m,i){return m*i/100}function L(m,i,t){if(!["string","number"].includes(typeof i))return"NaN";const{locales:n}=m;try{return new Intl.NumberFormat(n,{...t,numberingSystem:"latn",style:"decimal"}).format(+i)}catch{return`${i}`}}const T="XTS";var y=(m=>(m.Currency="Currency",m.Number="Number",m))(y||{}),C=(m=>(m.Coins="Coins",m.Money="Money",m))(C||{});const w={ARSB:{displayAs:"ARS",maximumFractionDigits:2,minimumFractionDigits:2},CHIPS:{maximumFractionDigits:0,minimumFractionDigits:0},BNB:{maximumFractionDigits:6,minimumFractionDigits:6},BUSD:{maximumFractionDigits:4,minimumFractionDigits:4},BTC:{maximumFractionDigits:8,minimumFractionDigits:2},mBTC:{maximumFractionDigits:5,minimumFractionDigits:2},uBTC:{maximumFractionDigits:2,minimumFractionDigits:2},BCH:{maximumFractionDigits:8,minimumFractionDigits:2},mBCH:{maximumFractionDigits:2,minimumFractionDigits:2},ETH:{maximumFractionDigits:8,minimumFractionDigits:2},mETH:{maximumFractionDigits:5,minimumFractionDigits:2},uETH:{maximumFractionDigits:2,minimumFractionDigits:2},SOC:{maximumFractionDigits:8,minimumFractionDigits:2},LTC:{maximumFractionDigits:8,minimumFractionDigits:2},mLTC:{maximumFractionDigits:5,minimumFractionDigits:2},uLTC:{maximumFractionDigits:2,minimumFractionDigits:2},DOG:{maximumFractionDigits:4,minimumFractionDigits:2},USDC:{maximumFractionDigits:4,minimumFractionDigits:4},USDT:{maximumFractionDigits:4,minimumFractionDigits:2},TRX:{maximumFractionDigits:2,minimumFractionDigits:2},TUSD:{maximumFractionDigits:2,minimumFractionDigits:2},DAI:{maximumFractionDigits:2,minimumFractionDigits:2},XMR:{maximumFractionDigits:4,minimumFractionDigits:4},CBET:{maximumFractionDigits:0,minimumFractionDigits:0},kCBET:{maximumFractionDigits:2,minimumFractionDigits:2},SHIB:{maximumFractionDigits:0,minimumFractionDigits:0},kSHIB:{maximumFractionDigits:4,minimumFractionDigits:2},NEO:{maximumFractionDigits:4,minimumFractionDigits:4},BSV:{maximumFractionDigits:4,minimumFractionDigits:4},EOS:{maximumFractionDigits:4,minimumFractionDigits:4},DASH:{maximumFractionDigits:4,minimumFractionDigits:4},XLM:{maximumFractionDigits:2,minimumFractionDigits:2},KRW:{maximumFractionDigits:2,minimumFractionDigits:2},kVND:{maximumFractionDigits:4,minimumFractionDigits:2},kIDR:{maximumFractionDigits:4,minimumFractionDigits:2},RSD:{maximumFractionDigits:2,minimumFractionDigits:2},STAKEGC:{displayAs:"GC",maximumFractionDigits:0,minimumFractionDigits:0},STAKESC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},"BK.":{maximumFractionDigits:2,minimumFractionDigits:2},"BT.":{maximumFractionDigits:2,minimumFractionDigits:2},"FC.":{maximumFractionDigits:2,minimumFractionDigits:2},"GC.":{maximumFractionDigits:2,minimumFractionDigits:2},"SC.":{maximumFractionDigits:2,minimumFractionDigits:2},GC:{maximumFractionDigits:2,minimumFractionDigits:2},SC:{maximumFractionDigits:2,minimumFractionDigits:2},GLD:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SS1:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},SWEP:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},GCLC:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SWPC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},LUKC:{displayAs:"LC",maximumFractionDigits:2,minimumFractionDigits:2},TTSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},TTGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},SVC:{maximumFractionDigits:2,minimumFractionDigits:2},DOT:{maximumFractionDigits:4,minimumFractionDigits:4},SOL:{maximumFractionDigits:4,minimumFractionDigits:4},XRP:{maximumFractionDigits:2,minimumFractionDigits:2},ADA:{maximumFractionDigits:2,minimumFractionDigits:2},TON:{maximumFractionDigits:4,minimumFractionDigits:4},FTN:{maximumFractionDigits:4,minimumFractionDigits:4},OMR:{maximumFractionDigits:2,minimumFractionDigits:2},JOD:{maximumFractionDigits:2,minimumFractionDigits:2},BHD:{maximumFractionDigits:2,minimumFractionDigits:2},KWD:{maximumFractionDigits:2,minimumFractionDigits:2},BNS:{maximumFractionDigits:2,minimumFractionDigits:2},GRSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},GRGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},EEGP:{displayAs:"EP",maximumFractionDigits:2,minimumFractionDigits:2},EPGP:{displayAs:"PP",maximumFractionDigits:2,minimumFractionDigits:2},LUCK:{displayAs:"LUCK",maximumFractionDigits:2,minimumFractionDigits:2},CXCO:{displayAs:"CC",maximumFractionDigits:2,minimumFractionDigits:2},GZCO:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},MMK:{maximumFractionDigits:2,minimumFractionDigits:2},XOF:{maximumFractionDigits:2,minimumFractionDigits:2},VND:{maximumFractionDigits:2,minimumFractionDigits:2},BIF:{maximumFractionDigits:2,minimumFractionDigits:2},CLP:{maximumFractionDigits:2,minimumFractionDigits:2},GNF:{maximumFractionDigits:2,minimumFractionDigits:2},IQD:{maximumFractionDigits:2,minimumFractionDigits:2},ISK:{maximumFractionDigits:2,minimumFractionDigits:2},PYG:{maximumFractionDigits:2,minimumFractionDigits:2},XAF:{maximumFractionDigits:2,minimumFractionDigits:2},LAK:{maximumFractionDigits:2,minimumFractionDigits:2},LBP:{maximumFractionDigits:2,minimumFractionDigits:2},MGA:{maximumFractionDigits:2,minimumFractionDigits:2},SOS:{maximumFractionDigits:2,minimumFractionDigits:2},UGX:{maximumFractionDigits:2,minimumFractionDigits:2},ALL:{maximumFractionDigits:2,minimumFractionDigits:2},IRR:{maximumFractionDigits:2,minimumFractionDigits:2}};function M(m){return m in w}function W(m){return M(m)?{...w[m],currency:T}:{currency:m}}function z(m,i,t){const n=i.format(+m);return M(t)?n.replace(T,w[t].displayAs??t):n}function j(m,i,t){const{maximumFractionDigits:n,minimumFractionDigits:s}=t.resolvedOptions();return L(m,i,{maximumFractionDigits:n,minimumFractionDigits:s})}function J(m,i,{as:t}={as:"Currency"}){const{canShowCurrency:n,currency:s}=m;return t==="Number"||!n?`${i}`:`${i} ${s}`}function v(m,i,{as:t,from:n}={as:"Currency",from:"Money"},s){if(!["string","number"].includes(typeof i))return"NaN";const{canShowCurrency:o=!0,coinValueInCents:g,currency:h,locales:A}=m;n==="Coins"&&(i=V(+i,g));try{const U=W(h),R=new Intl.NumberFormat(A,{...U,...s,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return t==="Number"||!o?j(m,i,R):z(i,R,h)}catch{return J(m,i,{as:t})}}var c;class B{constructor({config:i}){u(this,c);e(this,c,i)}formatNumber(i,t){const n={locales:[r(this,c).ui.language]};return L(n,i,t)}formatCurrency(i,t={as:y.Currency,from:C.Money},n){const s=r(this,c).ui.feature.showCurrency,o=r(this,c).api.coinValueInCents,g=r(this,c).api.currency||T,h=[r(this,c).ui.language];return v({canShowCurrency:s,coinValueInCents:o,currency:g,locales:h},i,t,n)}formatCoins(i,t){return this.formatCurrency(i,{as:y.Number,from:C.Coins},t)}formatCoinsWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:C.Coins},t)}formatMoney(i,t){return this.formatCurrency(i,{as:y.Number,from:C.Money},t)}formatMoneyWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:C.Money},t)}}c=new WeakMap;const Y=()=>{};var f,l,d,p;class Q{constructor({messagePort:i}){u(this,f);u(this,l);u(this,d);u(this,p);e(this,p,i),this.on("configured",t=>{e(this,f,t),e(this,d,new B({config:t})),e(this,l,new P({config:t}))}),this.on("playResponse",t=>{this.config.api.lastRoundId=t.contract.roundId})}get config(){if(!r(this,f))throw new Error("config is not initialized, you must open game first");return r(this,f)}get history(){if(!r(this,l))throw new Error("config is not initialized, you must open game first");return r(this,l)}get i18n(){if(!r(this,d))throw new Error("i18n is not initialized, you must open game first");return r(this,d)}request(i,...[t]){return new Promise(n=>{this.on(`${i}Response`,s=>n({type:"response",response:s}),{once:!0}),this.on(`${i}Error`,s=>n({type:"error",error:s}),{once:!0}),this.send(i,t)})}on(i,t,n){const s=function o(g){g.data.message===`kalamba:wrapper:${i}`&&(Y("on",g.data.message.replace(/^kalamba:/,""),g.data.payload),t(g.data.payload),n!=null&&n.once&&window.removeEventListener("message",o))};window.addEventListener("message",s)}send(i,...[t]){r(this,p).postMessage({message:`kalamba:sdk:${i}`,payload:t},"*")}configure(i){this.send("configure",i)}async openGame(){const i=new Promise(n=>this.on("configured",n,{once:!0})),t=await this.request("openGame");if(t.type==="response")return await i,t.response;throw t.error.type==="timeout"?new D.TimeoutError:new D.RgsError(t.error.data)}async play(i,t,n="SPIN"){const s={contract:i,extra:t,actionType:n},o=await this.request("play",s);if(o.type==="response")return o.response;throw o.error.type==="timeout"?new D.TimeoutError:new D.RgsError(o.error.data)}}f=new WeakMap,l=new WeakMap,d=new WeakMap,p=new WeakMap;exports.RgsError=D.RgsError;exports.RgsErrorCode=D.RgsErrorCode;exports.TimeoutError=D.TimeoutError;exports.decoders=O.decoders;exports.encoders=O.encoders;exports.History=P;exports.I18n=B;exports.KalambaSdk=Q;
|
|
5
|
+
"use strict";var h=t=>{throw TypeError(t)};var A=(t,i,m)=>i.has(t)||h("Cannot "+m);var a=(t,i,m)=>(A(t,i,"read from private field"),m?m.call(t):i.get(t)),C=(t,i,m)=>i.has(t)?h("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(t):i.set(t,m),x=(t,i,m,n)=>(A(t,i,"write to private field"),n?n.call(t,m):i.set(t,m),m);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./errors-BXO3dlhS.cjs"),E=require("./encoders-DVHzIpWT.cjs");function R(t,i){return t*i/100}function T(t,i,m){if(!["string","number"].includes(typeof i))return"NaN";const{locales:n}=t;try{return new Intl.NumberFormat(n,{...m,numberingSystem:"latn",style:"decimal"}).format(+i)}catch{return`${i}`}}const f="XTS";var c=(t=>(t.Currency="Currency",t.Number="Number",t))(c||{}),e=(t=>(t.Coins="Coins",t.Money="Money",t))(e||{});const d={ARSB:{displayAs:"ARS",maximumFractionDigits:2,minimumFractionDigits:2},CHIPS:{maximumFractionDigits:0,minimumFractionDigits:0},BNB:{maximumFractionDigits:6,minimumFractionDigits:6},BUSD:{maximumFractionDigits:4,minimumFractionDigits:4},BTC:{maximumFractionDigits:8,minimumFractionDigits:2},mBTC:{maximumFractionDigits:5,minimumFractionDigits:2},uBTC:{maximumFractionDigits:2,minimumFractionDigits:2},BCH:{maximumFractionDigits:8,minimumFractionDigits:2},mBCH:{maximumFractionDigits:2,minimumFractionDigits:2},ETH:{maximumFractionDigits:8,minimumFractionDigits:2},mETH:{maximumFractionDigits:5,minimumFractionDigits:2},uETH:{maximumFractionDigits:2,minimumFractionDigits:2},SOC:{maximumFractionDigits:8,minimumFractionDigits:2},LTC:{maximumFractionDigits:8,minimumFractionDigits:2},mLTC:{maximumFractionDigits:5,minimumFractionDigits:2},uLTC:{maximumFractionDigits:2,minimumFractionDigits:2},DOG:{maximumFractionDigits:4,minimumFractionDigits:2},USDC:{maximumFractionDigits:4,minimumFractionDigits:4},USDT:{maximumFractionDigits:4,minimumFractionDigits:2},TRX:{maximumFractionDigits:2,minimumFractionDigits:2},TUSD:{maximumFractionDigits:2,minimumFractionDigits:2},DAI:{maximumFractionDigits:2,minimumFractionDigits:2},XMR:{maximumFractionDigits:4,minimumFractionDigits:4},CBET:{maximumFractionDigits:0,minimumFractionDigits:0},kCBET:{maximumFractionDigits:2,minimumFractionDigits:2},SHIB:{maximumFractionDigits:0,minimumFractionDigits:0},kSHIB:{maximumFractionDigits:4,minimumFractionDigits:2},NEO:{maximumFractionDigits:4,minimumFractionDigits:4},BSV:{maximumFractionDigits:4,minimumFractionDigits:4},EOS:{maximumFractionDigits:4,minimumFractionDigits:4},DASH:{maximumFractionDigits:4,minimumFractionDigits:4},XLM:{maximumFractionDigits:2,minimumFractionDigits:2},KRW:{maximumFractionDigits:2,minimumFractionDigits:2},kVND:{maximumFractionDigits:4,minimumFractionDigits:2},kIDR:{maximumFractionDigits:4,minimumFractionDigits:2},RSD:{maximumFractionDigits:2,minimumFractionDigits:2},STAKEGC:{displayAs:"GC",maximumFractionDigits:0,minimumFractionDigits:0},STAKESC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},"BK.":{maximumFractionDigits:2,minimumFractionDigits:2},"BT.":{maximumFractionDigits:2,minimumFractionDigits:2},"FC.":{maximumFractionDigits:2,minimumFractionDigits:2},"GC.":{maximumFractionDigits:2,minimumFractionDigits:2},"SC.":{maximumFractionDigits:2,minimumFractionDigits:2},GC:{maximumFractionDigits:2,minimumFractionDigits:2},SC:{maximumFractionDigits:2,minimumFractionDigits:2},GLD:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SS1:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},SWEP:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},GCLC:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SWPC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},LUKC:{displayAs:"LC",maximumFractionDigits:2,minimumFractionDigits:2},TTSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},TTGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},SVC:{maximumFractionDigits:2,minimumFractionDigits:2},DOT:{maximumFractionDigits:4,minimumFractionDigits:4},SOL:{maximumFractionDigits:4,minimumFractionDigits:4},XRP:{maximumFractionDigits:2,minimumFractionDigits:2},ADA:{maximumFractionDigits:2,minimumFractionDigits:2},TON:{maximumFractionDigits:4,minimumFractionDigits:4},FTN:{maximumFractionDigits:4,minimumFractionDigits:4},OMR:{maximumFractionDigits:2,minimumFractionDigits:2},JOD:{maximumFractionDigits:2,minimumFractionDigits:2},BHD:{maximumFractionDigits:2,minimumFractionDigits:2},KWD:{maximumFractionDigits:2,minimumFractionDigits:2},BNS:{maximumFractionDigits:2,minimumFractionDigits:2},GRSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},GRGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},EEGP:{displayAs:"EP",maximumFractionDigits:2,minimumFractionDigits:2},EPGP:{displayAs:"PP",maximumFractionDigits:2,minimumFractionDigits:2},LUCK:{displayAs:"LUCK",maximumFractionDigits:2,minimumFractionDigits:2},CXCO:{displayAs:"CC",maximumFractionDigits:2,minimumFractionDigits:2},GZCO:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},FC:{displayAs:"",maximumFractionDigits:2,minimumFractionDigits:2},RC:{maximumFractionDigits:2,minimumFractionDigits:2},MWSC:{displayAs:"MC",maximumFractionDigits:2,minimumFractionDigits:2},MWGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},MMK:{maximumFractionDigits:2,minimumFractionDigits:2},XOF:{maximumFractionDigits:2,minimumFractionDigits:2},VND:{maximumFractionDigits:2,minimumFractionDigits:2},BIF:{maximumFractionDigits:2,minimumFractionDigits:2},CLP:{maximumFractionDigits:2,minimumFractionDigits:2},GNF:{maximumFractionDigits:2,minimumFractionDigits:2},IQD:{maximumFractionDigits:2,minimumFractionDigits:2},ISK:{maximumFractionDigits:2,minimumFractionDigits:2},PYG:{maximumFractionDigits:2,minimumFractionDigits:2},XAF:{maximumFractionDigits:2,minimumFractionDigits:2},LAK:{maximumFractionDigits:2,minimumFractionDigits:2},LBP:{maximumFractionDigits:2,minimumFractionDigits:2},MGA:{maximumFractionDigits:2,minimumFractionDigits:2},SOS:{maximumFractionDigits:2,minimumFractionDigits:2},UGX:{maximumFractionDigits:2,minimumFractionDigits:2},ALL:{maximumFractionDigits:2,minimumFractionDigits:2},IRR:{maximumFractionDigits:2,minimumFractionDigits:2}};function w(t){return t in d}function M(t){return w(t)?{...d[t],currency:f}:{currency:t}}function P(t,i,m){const n=i.format(+t);return w(m)?n.replace(f,d[m].displayAs??m):n}function B(t,i,m){const{maximumFractionDigits:n,minimumFractionDigits:r}=m.resolvedOptions();return T(t,i,{maximumFractionDigits:n,minimumFractionDigits:r})}function b(t,i,{as:m}={as:"Currency"}){const{canShowCurrency:n,currency:r}=t;return m==="Number"||!n?`${i}`:`${i} ${r}`}function O(t,i,{as:m,from:n}={as:"Currency",from:"Money"},r){if(!["string","number"].includes(typeof i))return"NaN";const{canShowCurrency:F=!0,coinValueInCents:o,currency:l,locales:p}=t;n==="Coins"&&(i=R(+i,o));try{const N=M(l),S=new Intl.NumberFormat(p,{...N,...r,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return m==="Number"||!F?B(t,i,S):P(i,S,l)}catch{return b(t,i,{as:m})}}var s;class G{constructor({config:i}){C(this,s);x(this,s,i)}formatNumber(i,m){const n={locales:[a(this,s).ui.language]};return T(n,i,m)}formatCurrency(i,m={as:c.Currency,from:e.Money},n){const r=a(this,s).ui.feature.showCurrency,F=a(this,s).api.coinValueInCents,o=a(this,s).api.currency||f,l=[a(this,s).ui.language];return O({canShowCurrency:r,coinValueInCents:F,currency:o,locales:l},i,m,n)}formatCoins(i,m){return this.formatCurrency(i,{as:c.Number,from:e.Coins},m)}formatCoinsWithCurrency(i,m){return this.formatCurrency(i,{as:c.Currency,from:e.Coins},m)}formatMoney(i,m){return this.formatCurrency(i,{as:c.Number,from:e.Money},m)}formatMoneyWithCurrency(i,m){return this.formatCurrency(i,{as:c.Currency,from:e.Money},m)}}s=new WeakMap;const I=()=>{};var g,D,y;class L{constructor({messagePort:i}){C(this,g);C(this,D);C(this,y);x(this,y,i),this.on("configured",m=>{x(this,g,m),x(this,D,new G({config:m}))})}get config(){if(!a(this,g))throw new Error("config is not initialized, you must open game first");return a(this,g)}get i18n(){if(!a(this,D))throw new Error("i18n is not initialized, you must open game first");return a(this,D)}request(i,...[m]){return new Promise(n=>{this.on(`${i}Response`,r=>n({type:"response",response:r}),{once:!0}),this.on(`${i}Error`,r=>n({type:"error",error:r}),{once:!0}),this.send(i,m)})}on(i,m,n){const r=function F(o){o.data.message===`kalamba:wrapper:${i}`&&(I("on",o.data.message.replace(/^kalamba:/,""),o.data.payload),m(o.data.payload),n!=null&&n.once&&window.removeEventListener("message",F))};window.addEventListener("message",r)}send(i,...[m]){a(this,y).postMessage({message:`kalamba:sdk:${i}`,payload:m},"*")}configure(i){this.send("configure",i)}async openGame(){const i=new Promise(n=>this.on("configured",n,{once:!0})),m=await this.request("openGame");if(m.type==="response")return await i,m.response;throw m.error.type==="timeout"?new u.TimeoutError:new u.RgsError(m.error.data)}async play(i,m){const n={contract:i,extra:m},r=await this.request("play",n);if(r.type==="response")return r.response;throw r.error.type==="timeout"?new u.TimeoutError:new u.RgsError(r.error.data)}}g=new WeakMap,D=new WeakMap,y=new WeakMap;exports.RgsError=u.RgsError;exports.RgsErrorCode=u.RgsErrorCode;exports.TimeoutError=u.TimeoutError;exports.decoders=E.decoders;exports.encoders=E.encoders;exports.I18n=G;exports.KalambaSdk=L;
|
package/dist/index.d.ts
CHANGED
|
@@ -44,7 +44,7 @@ export declare type CasinoOnlyMessagePayloadMap = {
|
|
|
44
44
|
help?: {
|
|
45
45
|
show: boolean;
|
|
46
46
|
};
|
|
47
|
-
history:
|
|
47
|
+
history: History_2;
|
|
48
48
|
paytable?: {
|
|
49
49
|
show: boolean;
|
|
50
50
|
};
|
|
@@ -144,34 +144,24 @@ export declare type FreeRoundsAction = {
|
|
|
144
144
|
id: string;
|
|
145
145
|
};
|
|
146
146
|
|
|
147
|
+
export declare type FreeRoundsRequest = {
|
|
148
|
+
id: string;
|
|
149
|
+
action: 'ACCEPT' | 'DECLINE' | 'SKIP';
|
|
150
|
+
};
|
|
151
|
+
|
|
147
152
|
export declare type FreeRoundsResponse = {
|
|
148
153
|
action: 'ACCEPT' | 'DECLINE' | 'SKIP';
|
|
149
154
|
id: string;
|
|
150
155
|
};
|
|
151
156
|
|
|
152
|
-
export declare
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
export declare interface GetRoundsOptions {
|
|
157
|
-
searchPeriod?: SearchPeriod;
|
|
158
|
-
pagination?: Pagination;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
declare class History_2 {
|
|
162
|
-
#private;
|
|
163
|
-
constructor({ config }: {
|
|
164
|
-
config: SdkConfig;
|
|
165
|
-
});
|
|
166
|
-
getRound(roundId: string, { pagination }?: GetRoundOptions): Promise<unknown>;
|
|
167
|
-
getLastRound(): Promise<unknown>;
|
|
168
|
-
getRounds({ searchPeriod, pagination, }?: GetRoundsOptions): Promise<unknown>;
|
|
169
|
-
}
|
|
170
|
-
export { History_2 as History }
|
|
157
|
+
export declare type GetBalanceResponse = {
|
|
158
|
+
balance: number;
|
|
159
|
+
};
|
|
171
160
|
|
|
172
|
-
declare type
|
|
161
|
+
declare type History_2 = {
|
|
173
162
|
source: 'realityCheck' | 'settings' | 'casino';
|
|
174
163
|
};
|
|
164
|
+
export { History_2 as History }
|
|
175
165
|
|
|
176
166
|
export declare class I18n {
|
|
177
167
|
#private;
|
|
@@ -192,14 +182,13 @@ export declare class KalambaSdk {
|
|
|
192
182
|
messagePort: Window;
|
|
193
183
|
});
|
|
194
184
|
get config(): SdkConfig;
|
|
195
|
-
get history(): History_2;
|
|
196
185
|
get i18n(): I18n;
|
|
197
186
|
protected request<M extends DomainMessage<'sdk'>>(message: M, ...[payload]: DomainMessagePayload<'sdk', M> extends never ? [] : [payload: DomainMessagePayload<'sdk', M>]): Promise<RgsResponse<M>>;
|
|
198
187
|
on<M extends DomainMessage<'wrapper'> | ForwardToSdkMessage>(message: M, listener: (payload: M extends DomainMessage<'wrapper'> ? DomainMessagePayload<'wrapper', M> : M extends ForwardToSdkMessage ? ForwardToSdkMessagePayload<M> : never) => void, options?: AddEventListenerOptions_2): void;
|
|
199
188
|
send<M extends DomainMessage<'sdk'>>(message: M, ...[payload]: DomainMessagePayload<'sdk', M> extends never ? [] : undefined extends DomainMessagePayload<'sdk', M> ? [] | [DomainMessagePayload<'sdk', M>] : [DomainMessagePayload<'sdk', M>]): void;
|
|
200
189
|
configure(payload: DomainMessagePayload<'sdk', 'configure'>): void;
|
|
201
190
|
openGame(): Promise<OpenGameResponse_2>;
|
|
202
|
-
play(contract: ContractPlayPayload, extra?: unknown
|
|
191
|
+
play(contract: ContractPlayPayload, extra?: unknown): Promise<PlayResponse_2>;
|
|
203
192
|
}
|
|
204
193
|
|
|
205
194
|
export declare type Message = keyof MessageMap;
|
|
@@ -261,15 +250,13 @@ export declare type OpenGameResponse = {
|
|
|
261
250
|
data: unknown;
|
|
262
251
|
};
|
|
263
252
|
|
|
264
|
-
export declare interface Pagination {
|
|
265
|
-
limit: number;
|
|
266
|
-
page: number;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
253
|
export declare type PlayRequest = {
|
|
270
254
|
contract: ContractPlayPayload;
|
|
271
255
|
extra?: unknown;
|
|
272
|
-
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
export declare type PlayRequestEnhanced = PlayRequest & {
|
|
259
|
+
payloadToInject?: Record<string, unknown>;
|
|
273
260
|
};
|
|
274
261
|
|
|
275
262
|
export declare type PlayResponse = {
|
|
@@ -425,7 +412,6 @@ export declare interface SdkConfig {
|
|
|
425
412
|
user: string;
|
|
426
413
|
sessionId: string;
|
|
427
414
|
backendSessionId?: string;
|
|
428
|
-
lastRoundId?: string;
|
|
429
415
|
};
|
|
430
416
|
ui: {
|
|
431
417
|
autoplay: {
|
|
@@ -475,6 +461,7 @@ export declare interface SdkConfig {
|
|
|
475
461
|
realityCheck: RealityCheckConfig;
|
|
476
462
|
skipInsufficientFundsCheck: boolean;
|
|
477
463
|
skipSplash: boolean;
|
|
464
|
+
cheatPanel: boolean;
|
|
478
465
|
};
|
|
479
466
|
}
|
|
480
467
|
|
|
@@ -509,7 +496,7 @@ export declare type SdkOnlyMessagePayloadMap = {
|
|
|
509
496
|
fullscreen: {
|
|
510
497
|
lock?: OrientationLockType;
|
|
511
498
|
};
|
|
512
|
-
history:
|
|
499
|
+
history: History_2;
|
|
513
500
|
loadEnd: never;
|
|
514
501
|
loadProgress: {
|
|
515
502
|
progress: number;
|
|
@@ -543,11 +530,6 @@ export declare type SdkOnlyMessagePayloadMap = {
|
|
|
543
530
|
freeRoundsPopup: never;
|
|
544
531
|
};
|
|
545
532
|
|
|
546
|
-
export declare interface SearchPeriod {
|
|
547
|
-
fromDateTime: Date;
|
|
548
|
-
toDateTime: Date;
|
|
549
|
-
}
|
|
550
|
-
|
|
551
533
|
export declare type Settings = {
|
|
552
534
|
fastPlay?: boolean;
|
|
553
535
|
fastPlaySpeed?: number;
|
|
@@ -596,6 +578,7 @@ export declare type WrapperConfig = {
|
|
|
596
578
|
gameVersion: string;
|
|
597
579
|
gameHistoryUrl?: string;
|
|
598
580
|
showFreeRounds: boolean;
|
|
581
|
+
showPromoPanel: boolean;
|
|
599
582
|
showRealityCheck: boolean;
|
|
600
583
|
showErrors: boolean;
|
|
601
584
|
showBars: boolean;
|
|
@@ -608,15 +591,13 @@ export declare type WrapperOnlyMessagePayloadMap = {
|
|
|
608
591
|
configured: SdkConfig;
|
|
609
592
|
error: SdkError;
|
|
610
593
|
freeze: never;
|
|
611
|
-
history:
|
|
594
|
+
history: History_2;
|
|
612
595
|
resume: never;
|
|
613
596
|
state: WrapperState;
|
|
614
597
|
suspend: never;
|
|
615
598
|
unfreeze: never;
|
|
616
599
|
legalBets: Record<number, number[]>;
|
|
617
|
-
play:
|
|
618
|
-
payloadToInject?: Record<string, unknown>;
|
|
619
|
-
};
|
|
600
|
+
play: PlayRequestEnhanced;
|
|
620
601
|
freeRounds: FreeRoundsAction;
|
|
621
602
|
freeRoundsOffer: FreeRound;
|
|
622
603
|
freeRoundsInfo: FreeRound;
|
package/dist/index.js
CHANGED
|
@@ -2,109 +2,24 @@
|
|
|
2
2
|
* BSD 3-Clause License
|
|
3
3
|
* Copyright (c) 2025, Kalamba Games Limited
|
|
4
4
|
*/
|
|
5
|
-
var
|
|
6
|
-
throw TypeError(
|
|
5
|
+
var S = (t) => {
|
|
6
|
+
throw TypeError(t);
|
|
7
7
|
};
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
import { T as
|
|
11
|
-
import { a as
|
|
12
|
-
import { d as
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class U {
|
|
16
|
-
constructor(i) {
|
|
17
|
-
u(this, D);
|
|
18
|
-
u(this, h, M);
|
|
19
|
-
e(this, D, i);
|
|
20
|
-
}
|
|
21
|
-
buildHeaders() {
|
|
22
|
-
const i = {};
|
|
23
|
-
return r(this, D).token && (i.Authorization = `Bearer ${r(this, D).token}`), i;
|
|
24
|
-
}
|
|
25
|
-
async request(i, t) {
|
|
26
|
-
const n = new URL(i, r(this, D).apiUrl ?? window.location.origin);
|
|
27
|
-
return n.search = new URLSearchParams({
|
|
28
|
-
...t
|
|
29
|
-
}).toString(), await (await fetch(n, {
|
|
30
|
-
signal: AbortSignal.timeout(r(this, h)),
|
|
31
|
-
headers: this.buildHeaders()
|
|
32
|
-
})).json();
|
|
33
|
-
}
|
|
34
|
-
async getRounds(i) {
|
|
35
|
-
return this.request("/rounds", i);
|
|
36
|
-
}
|
|
37
|
-
async getRound(i, t) {
|
|
38
|
-
return this.request(`/rounds/${i}`, t);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
D = new WeakMap(), h = new WeakMap();
|
|
42
|
-
const I = Symbol.for("constructDateFrom");
|
|
43
|
-
function H(m, i) {
|
|
44
|
-
return typeof m == "function" ? m(i) : m && typeof m == "object" && I in m ? m[I](i) : m instanceof Date ? new m.constructor(i) : new Date(i);
|
|
45
|
-
}
|
|
46
|
-
function b(m, i) {
|
|
47
|
-
return H(m, m);
|
|
48
|
-
}
|
|
49
|
-
function k(m, i) {
|
|
50
|
-
const t = b(m);
|
|
51
|
-
return t.setHours(0, 0, 0, 0), t;
|
|
52
|
-
}
|
|
53
|
-
function K(m, i) {
|
|
54
|
-
const t = b(m);
|
|
55
|
-
return t.setHours(23, 59, 59, 999), t;
|
|
56
|
-
}
|
|
57
|
-
function $(m) {
|
|
58
|
-
return K(Date.now());
|
|
59
|
-
}
|
|
60
|
-
function X(m) {
|
|
61
|
-
return k(Date.now());
|
|
8
|
+
var h = (t, i, m) => i.has(t) || S("Cannot " + m);
|
|
9
|
+
var a = (t, i, m) => (h(t, i, "read from private field"), m ? m.call(t) : i.get(t)), F = (t, i, m) => i.has(t) ? S("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(t) : i.set(t, m), C = (t, i, m, n) => (h(t, i, "write to private field"), n ? n.call(t, m) : i.set(t, m), m);
|
|
10
|
+
import { T as A, R as T } from "./errors-NnLrKjTz.js";
|
|
11
|
+
import { a as X } from "./errors-NnLrKjTz.js";
|
|
12
|
+
import { d as $, e as V } from "./encoders-BDr7fjKQ.js";
|
|
13
|
+
function N(t, i) {
|
|
14
|
+
return t * i / 100;
|
|
62
15
|
}
|
|
63
|
-
|
|
64
|
-
var s, C;
|
|
65
|
-
class _ {
|
|
66
|
-
constructor({ config: i }) {
|
|
67
|
-
u(this, s);
|
|
68
|
-
u(this, C);
|
|
69
|
-
e(this, s, i), e(this, C, new U({ apiUrl: i.api.gameHistoryUrl }));
|
|
70
|
-
}
|
|
71
|
-
async getRound(i, { pagination: t = O } = {}) {
|
|
72
|
-
return r(this, C).getRound(i, {
|
|
73
|
-
gameCode: r(this, s).api.game,
|
|
74
|
-
operatorCode: r(this, s).api.brand,
|
|
75
|
-
username: r(this, s).api.user,
|
|
76
|
-
...t
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
async getLastRound() {
|
|
80
|
-
return r(this, s).api.lastRoundId ? this.getRound(r(this, s).api.lastRoundId) : null;
|
|
81
|
-
}
|
|
82
|
-
async getRounds({
|
|
83
|
-
searchPeriod: i = { fromDateTime: X(), toDateTime: $() },
|
|
84
|
-
pagination: t = O
|
|
85
|
-
} = {}) {
|
|
86
|
-
const n = r(this, s).api.user.replace(/^user_/, "").replace(new RegExp(`_${r(this, s).api.integration}$`), "");
|
|
87
|
-
return r(this, C).getRounds({
|
|
88
|
-
gameCode: r(this, s).api.game,
|
|
89
|
-
operatorCode: r(this, s).api.integration,
|
|
90
|
-
username: n,
|
|
91
|
-
fromDataTime: i.fromDateTime.toISOString(),
|
|
92
|
-
toDateTime: i.toDateTime.toISOString(),
|
|
93
|
-
...t
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
s = new WeakMap(), C = new WeakMap();
|
|
98
|
-
function V(m, i) {
|
|
99
|
-
return m * i / 100;
|
|
100
|
-
}
|
|
101
|
-
function L(m, i, t) {
|
|
16
|
+
function w(t, i, m) {
|
|
102
17
|
if (!["string", "number"].includes(typeof i))
|
|
103
18
|
return "NaN";
|
|
104
|
-
const { locales: n } =
|
|
19
|
+
const { locales: n } = t;
|
|
105
20
|
try {
|
|
106
21
|
return new Intl.NumberFormat(n, {
|
|
107
|
-
...
|
|
22
|
+
...m,
|
|
108
23
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
109
24
|
// @ts-ignore
|
|
110
25
|
numberingSystem: "latn",
|
|
@@ -114,9 +29,9 @@ function L(m, i, t) {
|
|
|
114
29
|
return `${i}`;
|
|
115
30
|
}
|
|
116
31
|
}
|
|
117
|
-
const
|
|
118
|
-
var
|
|
119
|
-
const
|
|
32
|
+
const l = "XTS";
|
|
33
|
+
var u = /* @__PURE__ */ ((t) => (t.Currency = "Currency", t.Number = "Number", t))(u || {}), c = /* @__PURE__ */ ((t) => (t.Coins = "Coins", t.Money = "Money", t))(c || {});
|
|
34
|
+
const f = {
|
|
120
35
|
/* eslint-disable sort-keys-fix/sort-keys-fix */
|
|
121
36
|
// ARSB is the internal currency relevant for invoicing purposes, players should see it as ARS
|
|
122
37
|
ARSB: { displayAs: "ARS", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
@@ -240,6 +155,11 @@ const w = {
|
|
|
240
155
|
LUCK: { displayAs: "LUCK", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
241
156
|
CXCO: { displayAs: "CC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
242
157
|
GZCO: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
158
|
+
// gametech
|
|
159
|
+
FC: { displayAs: "", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
160
|
+
RC: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
161
|
+
MWSC: { displayAs: "MC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
162
|
+
MWGC: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
243
163
|
// https://kalamba.atlassian.net/browse/FRAM-1829
|
|
244
164
|
// Myanmar Kyat
|
|
245
165
|
MMK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
@@ -277,138 +197,130 @@ const w = {
|
|
|
277
197
|
IRR: { maximumFractionDigits: 2, minimumFractionDigits: 2 }
|
|
278
198
|
/* eslint-enable sort-keys-fix/sort-keys-fix */
|
|
279
199
|
};
|
|
280
|
-
function
|
|
281
|
-
return
|
|
200
|
+
function G(t) {
|
|
201
|
+
return t in f;
|
|
282
202
|
}
|
|
283
|
-
function
|
|
284
|
-
return
|
|
285
|
-
...
|
|
286
|
-
currency:
|
|
203
|
+
function M(t) {
|
|
204
|
+
return G(t) ? {
|
|
205
|
+
...f[t],
|
|
206
|
+
currency: l
|
|
287
207
|
} : {
|
|
288
|
-
currency:
|
|
208
|
+
currency: t
|
|
289
209
|
};
|
|
290
210
|
}
|
|
291
|
-
function
|
|
292
|
-
const n = i.format(+
|
|
293
|
-
return
|
|
211
|
+
function R(t, i, m) {
|
|
212
|
+
const n = i.format(+t);
|
|
213
|
+
return G(m) ? n.replace(l, f[m].displayAs ?? m) : n;
|
|
294
214
|
}
|
|
295
|
-
function
|
|
296
|
-
const { maximumFractionDigits: n, minimumFractionDigits:
|
|
297
|
-
return
|
|
215
|
+
function P(t, i, m) {
|
|
216
|
+
const { maximumFractionDigits: n, minimumFractionDigits: r } = m.resolvedOptions();
|
|
217
|
+
return w(t, i, { maximumFractionDigits: n, minimumFractionDigits: r });
|
|
298
218
|
}
|
|
299
|
-
function
|
|
219
|
+
function B(t, i, { as: m } = {
|
|
300
220
|
as: "Currency"
|
|
301
221
|
/* Currency */
|
|
302
222
|
}) {
|
|
303
|
-
const { canShowCurrency: n, currency:
|
|
304
|
-
return
|
|
223
|
+
const { canShowCurrency: n, currency: r } = t;
|
|
224
|
+
return m === "Number" || !n ? `${i}` : `${i} ${r}`;
|
|
305
225
|
}
|
|
306
|
-
function
|
|
226
|
+
function L(t, i, { as: m, from: n } = {
|
|
307
227
|
as: "Currency",
|
|
308
228
|
from: "Money"
|
|
309
229
|
/* Money */
|
|
310
|
-
},
|
|
230
|
+
}, r) {
|
|
311
231
|
if (!["string", "number"].includes(typeof i))
|
|
312
232
|
return "NaN";
|
|
313
|
-
const { canShowCurrency:
|
|
314
|
-
n === "Coins" && (i =
|
|
233
|
+
const { canShowCurrency: D = !0, coinValueInCents: o, currency: y, locales: p } = t;
|
|
234
|
+
n === "Coins" && (i = N(+i, o));
|
|
315
235
|
try {
|
|
316
|
-
const
|
|
317
|
-
...
|
|
318
|
-
...
|
|
236
|
+
const E = M(y), d = new Intl.NumberFormat(p, {
|
|
237
|
+
...E,
|
|
238
|
+
...r,
|
|
319
239
|
currencyDisplay: "symbol",
|
|
320
240
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
321
241
|
// @ts-ignore
|
|
322
242
|
numberingSystem: "latn",
|
|
323
243
|
style: "currency"
|
|
324
244
|
});
|
|
325
|
-
return
|
|
245
|
+
return m === "Number" || !D ? P(t, i, d) : R(i, d, y);
|
|
326
246
|
} catch {
|
|
327
|
-
return
|
|
247
|
+
return B(t, i, { as: m });
|
|
328
248
|
}
|
|
329
249
|
}
|
|
330
|
-
var
|
|
331
|
-
class
|
|
250
|
+
var s;
|
|
251
|
+
class O {
|
|
332
252
|
constructor({ config: i }) {
|
|
333
|
-
|
|
334
|
-
|
|
253
|
+
F(this, s);
|
|
254
|
+
C(this, s, i);
|
|
335
255
|
}
|
|
336
|
-
formatNumber(i,
|
|
337
|
-
const n = { locales: [
|
|
338
|
-
return
|
|
256
|
+
formatNumber(i, m) {
|
|
257
|
+
const n = { locales: [a(this, s).ui.language] };
|
|
258
|
+
return w(n, i, m);
|
|
339
259
|
}
|
|
340
|
-
formatCurrency(i,
|
|
341
|
-
const
|
|
342
|
-
return
|
|
343
|
-
canShowCurrency:
|
|
344
|
-
coinValueInCents:
|
|
345
|
-
currency:
|
|
346
|
-
locales:
|
|
347
|
-
}, i,
|
|
260
|
+
formatCurrency(i, m = { as: u.Currency, from: c.Money }, n) {
|
|
261
|
+
const r = a(this, s).ui.feature.showCurrency, D = a(this, s).api.coinValueInCents, o = a(this, s).api.currency || l, y = [a(this, s).ui.language];
|
|
262
|
+
return L({
|
|
263
|
+
canShowCurrency: r,
|
|
264
|
+
coinValueInCents: D,
|
|
265
|
+
currency: o,
|
|
266
|
+
locales: y
|
|
267
|
+
}, i, m, n);
|
|
348
268
|
}
|
|
349
|
-
formatCoins(i,
|
|
350
|
-
return this.formatCurrency(i, { as:
|
|
269
|
+
formatCoins(i, m) {
|
|
270
|
+
return this.formatCurrency(i, { as: u.Number, from: c.Coins }, m);
|
|
351
271
|
}
|
|
352
|
-
formatCoinsWithCurrency(i,
|
|
353
|
-
return this.formatCurrency(i, { as:
|
|
272
|
+
formatCoinsWithCurrency(i, m) {
|
|
273
|
+
return this.formatCurrency(i, { as: u.Currency, from: c.Coins }, m);
|
|
354
274
|
}
|
|
355
|
-
formatMoney(i,
|
|
356
|
-
return this.formatCurrency(i, { as:
|
|
275
|
+
formatMoney(i, m) {
|
|
276
|
+
return this.formatCurrency(i, { as: u.Number, from: c.Money }, m);
|
|
357
277
|
}
|
|
358
|
-
formatMoneyWithCurrency(i,
|
|
359
|
-
return this.formatCurrency(i, { as:
|
|
278
|
+
formatMoneyWithCurrency(i, m) {
|
|
279
|
+
return this.formatCurrency(i, { as: u.Currency, from: c.Money }, m);
|
|
360
280
|
}
|
|
361
281
|
}
|
|
362
|
-
|
|
363
|
-
const
|
|
282
|
+
s = new WeakMap();
|
|
283
|
+
const I = () => {
|
|
364
284
|
};
|
|
365
|
-
var
|
|
366
|
-
class
|
|
285
|
+
var e, g, x;
|
|
286
|
+
class U {
|
|
367
287
|
constructor({ messagePort: i }) {
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
e(this, x, t), e(this, p, new Y({ config: t })), e(this, f, new _({ config: t }));
|
|
374
|
-
}), this.on("playResponse", (t) => {
|
|
375
|
-
this.config.api.lastRoundId = t.contract.roundId;
|
|
288
|
+
F(this, e);
|
|
289
|
+
F(this, g);
|
|
290
|
+
F(this, x);
|
|
291
|
+
C(this, x, i), this.on("configured", (m) => {
|
|
292
|
+
C(this, e, m), C(this, g, new O({ config: m }));
|
|
376
293
|
});
|
|
377
294
|
}
|
|
378
295
|
get config() {
|
|
379
|
-
if (!
|
|
380
|
-
throw new Error("config is not initialized, you must open game first");
|
|
381
|
-
return r(this, x);
|
|
382
|
-
}
|
|
383
|
-
get history() {
|
|
384
|
-
if (!r(this, f))
|
|
296
|
+
if (!a(this, e))
|
|
385
297
|
throw new Error("config is not initialized, you must open game first");
|
|
386
|
-
return
|
|
298
|
+
return a(this, e);
|
|
387
299
|
}
|
|
388
300
|
get i18n() {
|
|
389
|
-
if (!
|
|
301
|
+
if (!a(this, g))
|
|
390
302
|
throw new Error("i18n is not initialized, you must open game first");
|
|
391
|
-
return
|
|
303
|
+
return a(this, g);
|
|
392
304
|
}
|
|
393
|
-
request(i, ...[
|
|
305
|
+
request(i, ...[m]) {
|
|
394
306
|
return new Promise((n) => {
|
|
395
|
-
this.on(`${i}Response`, (
|
|
307
|
+
this.on(`${i}Response`, (r) => n({ type: "response", response: r }), {
|
|
396
308
|
once: !0
|
|
397
|
-
}), this.on(`${i}Error`, (
|
|
309
|
+
}), this.on(`${i}Error`, (r) => n({ type: "error", error: r }), { once: !0 }), this.send(i, m);
|
|
398
310
|
});
|
|
399
311
|
}
|
|
400
|
-
on(i,
|
|
401
|
-
const
|
|
402
|
-
|
|
312
|
+
on(i, m, n) {
|
|
313
|
+
const r = function D(o) {
|
|
314
|
+
o.data.message === `kalamba:wrapper:${i}` && (I("on", o.data.message.replace(/^kalamba:/, ""), o.data.payload), m(o.data.payload), n != null && n.once && window.removeEventListener("message", D));
|
|
403
315
|
};
|
|
404
|
-
window.addEventListener("message",
|
|
316
|
+
window.addEventListener("message", r);
|
|
405
317
|
}
|
|
406
318
|
// TODO error messages
|
|
407
|
-
send(i, ...[
|
|
408
|
-
|
|
319
|
+
send(i, ...[m]) {
|
|
320
|
+
a(this, x).postMessage(
|
|
409
321
|
{
|
|
410
322
|
message: `kalamba:sdk:${i}`,
|
|
411
|
-
payload:
|
|
323
|
+
payload: m
|
|
412
324
|
},
|
|
413
325
|
"*"
|
|
414
326
|
);
|
|
@@ -417,26 +329,25 @@ class ii {
|
|
|
417
329
|
this.send("configure", i);
|
|
418
330
|
}
|
|
419
331
|
async openGame() {
|
|
420
|
-
const i = new Promise((n) => this.on("configured", n, { once: !0 })),
|
|
421
|
-
if (
|
|
422
|
-
return await i,
|
|
423
|
-
throw
|
|
332
|
+
const i = new Promise((n) => this.on("configured", n, { once: !0 })), m = await this.request("openGame");
|
|
333
|
+
if (m.type === "response")
|
|
334
|
+
return await i, m.response;
|
|
335
|
+
throw m.error.type === "timeout" ? new A() : new T(m.error.data);
|
|
424
336
|
}
|
|
425
|
-
async play(i,
|
|
426
|
-
const
|
|
427
|
-
if (
|
|
428
|
-
return
|
|
429
|
-
throw
|
|
337
|
+
async play(i, m) {
|
|
338
|
+
const n = { contract: i, extra: m }, r = await this.request("play", n);
|
|
339
|
+
if (r.type === "response")
|
|
340
|
+
return r.response;
|
|
341
|
+
throw r.error.type === "timeout" ? new A() : new T(r.error.data);
|
|
430
342
|
}
|
|
431
343
|
}
|
|
432
|
-
|
|
344
|
+
e = new WeakMap(), g = new WeakMap(), x = new WeakMap();
|
|
433
345
|
export {
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
si as encoders
|
|
346
|
+
O as I18n,
|
|
347
|
+
U as KalambaSdk,
|
|
348
|
+
T as RgsError,
|
|
349
|
+
X as RgsErrorCode,
|
|
350
|
+
A as TimeoutError,
|
|
351
|
+
$ as decoders,
|
|
352
|
+
V as encoders
|
|
442
353
|
};
|