@kalamba/sdk 0.16.0 → 0.23.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/encoders-BDr7fjKQ.js +13 -0
- package/dist/encoders-DVHzIpWT.cjs +5 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +35 -8
- package/dist/index.js +93 -94
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.d.ts +50 -10
- package/dist/plugins.js +1378 -1054
- package/dist/v4-BfzDHJEo.js +49 -0
- package/dist/v4-CoqWKwnX.cjs +5 -0
- package/dist/wrapper.cjs +1 -1
- package/dist/wrapper.d.ts +34 -9
- package/dist/wrapper.js +974 -952
- package/package.json +12 -14
- package/dist/v4-BL_nLifx.js +0 -45
- package/dist/v4-C9_uc0A9.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 A=m=>{throw TypeError(m)};var N=(m,i,t)=>i.has(m)||A("Cannot "+t);var r=(m,i,t)=>(N(m,i,"read from private field"),t?t.call(m):i.get(m)),e=(m,i,t)=>i.has(m)?A("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(m):i.set(m,t),u=(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");function I(m){const i=Object.prototype.toString.call(m);return m instanceof Date||typeof m=="object"&&i==="[object Date]"?new m.constructor(+m):typeof m=="number"||i==="[object Number]"||typeof m=="string"||i==="[object String]"?new Date(m):new Date(NaN)}function L(m){const i=I(m);return i.setHours(23,59,59,999),i}function H(){return L(Date.now())}function U(m){const i=I(m);return i.setHours(0,0,0,0),i}function k(){return U(Date.now())}const $=3e4;var F,S;class K{constructor(i){e(this,F);e(this,S,$);u(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 b={limit:100,page:0};var s,f;class O{constructor({config:i}){e(this,s);e(this,f);u(this,s,i),u(this,f,new K({apiUrl:i.api.gameHistoryUrl}))}async getRound(i,{pagination:t=b}={}){return r(this,f).getRound(i,{gameCode:r(this,s).api.game,operatorCode:r(this,s).api.brand,username:r(this,s).api.user,...t})}async getLastRound(){return r(this,s).api.lastRoundId?this.getRound(r(this,s).api.lastRoundId):null}async getRounds({searchPeriod:i={fromDateTime:k(),toDateTime:H()},pagination:t=b}={}){const n=r(this,s).api.user.replace(/^user_/,"").replace(new RegExp(`_${r(this,s).api.integration}$`),"");return r(this,f).getRounds({gameCode:r(this,s).api.game,operatorCode:r(this,s).api.integration,username:n,fromDataTime:i.fromDateTime.toISOString(),toDateTime:i.toDateTime.toISOString(),...t})}}s=new WeakMap,f=new WeakMap;function _(m,i){return m*i/100}function P(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 w="XTS";var y=(m=>(m.Currency="Currency",m.Number="Number",m))(y||{}),l=(m=>(m.Coins="Coins",m.Money="Money",m))(l||{});const T={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},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},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 G(m){return m in T}function X(m){return G(m)?{...T[m],currency:w}:{currency:m}}function j(m,i,t){const n=i.format(+m);return G(t)?n.replace(w,T[t].displayAs??t):n}function q(m,i,t){const{maximumFractionDigits:n,minimumFractionDigits:a}=t.resolvedOptions();return P(m,i,{maximumFractionDigits:n,minimumFractionDigits:a})}function V(m,i,{as:t}={as:"Currency"}){const{canShowCurrency:n,currency:a}=m;return t==="Number"||!n?`${i}`:`${i} ${a}`}function W(m,i,{as:t,from:n}={as:"Currency",from:"Money"},a){if(!["string","number"].includes(typeof i))return"NaN";const{canShowCurrency:o=!0,coinValueInCents:g,currency:h,locales:R}=m;n==="Coins"&&(i=_(+i,g));try{const B=X(h),E=new Intl.NumberFormat(R,{...B,...a,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return t==="Number"||!o?q(m,i,E):j(i,E,h)}catch{return V(m,i,{as:t})}}var c;class M{constructor({config:i}){e(this,c);u(this,c,i)}formatNumber(i,t){const n={locales:[r(this,c).ui.language]};return P(n,i,t)}formatCurrency(i,t={as:y.Currency,from:l.Money},n){const a=r(this,c).ui.feature.showCurrency,o=r(this,c).api.coinValueInCents,g=r(this,c).api.currency||w,h=[r(this,c).ui.language];return W({canShowCurrency:a,coinValueInCents:o,currency:g,locales:h},i,t,n)}formatCoins(i,t){return this.formatCurrency(i,{as:y.Number,from:l.Coins},t)}formatCoinsWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:l.Coins},t)}formatMoney(i,t){return this.formatCurrency(i,{as:y.Number,from:l.Money},t)}formatMoneyWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:l.Money},t)}}c=new WeakMap;const v=()=>{};var x,C,d,p;class z{constructor({messagePort:i}){e(this,x);e(this,C);e(this,d);e(this,p);u(this,p,i),this.on("configured",t=>{u(this,x,t),u(this,d,new M({config:t})),u(this,C,new O({config:t}))}),this.on("playResponse",t=>{this.config.api.lastRoundId=t.contract.roundId})}get config(){if(!r(this,x))throw new Error("config is not initialized, you must open game first");return r(this,x)}get history(){if(!r(this,C))throw new Error("config is not initialized, you must open game first");return r(this,C)}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`,a=>n({type:"response",response:a}),{once:!0}),this.on(`${i}Error`,a=>n({type:"error",error:a}),{once:!0}),this.send(i,t)})}on(i,t,n){const a=function o(g){g.data.message===`kalamba:wrapper:${i}`&&(v("on",g.data.message.replace(/^kalamba:/,""),g.data.payload),t(g.data.payload),n!=null&&n.once&&window.removeEventListener("message",o))};window.addEventListener("message",a)}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 a={contract:i,extra:t,actionType:n},o=await this.request("play",a);if(o.type==="response")return o.response;throw o.error.type==="timeout"?new D.TimeoutError:new D.RgsError(o.error.data)}}x=new WeakMap,C=new WeakMap,d=new WeakMap,p=new WeakMap;exports.RgsError=D.RgsError;exports.RgsErrorCode=D.RgsErrorCode;exports.TimeoutError=D.TimeoutError;exports.History=O;exports.I18n=M;exports.KalambaSdk=z;
|
|
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;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { CurrencyFormat } from '@kalamba/common/src/utils/format/currency';
|
|
2
2
|
import { CurrencyNumber } from '@kalamba/common/src/utils/format/currency';
|
|
3
3
|
import { FormatCurrencyOptions } from '@kalamba/common/src/utils/format/currency';
|
|
4
|
+
import { OpenGameResponse as OpenGameResponse_2 } from '../types';
|
|
5
|
+
import { PlayResponse as PlayResponse_2 } from '../types';
|
|
4
6
|
|
|
5
7
|
declare interface AddEventListenerOptions_2 {
|
|
6
8
|
once: boolean;
|
|
@@ -38,12 +40,13 @@ export declare type CasinoOnlyMessagePayloadMap = {
|
|
|
38
40
|
};
|
|
39
41
|
close: never;
|
|
40
42
|
freeze: never;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
getBalance: never;
|
|
44
|
+
help?: {
|
|
45
|
+
show: boolean;
|
|
43
46
|
};
|
|
44
47
|
history: History_3;
|
|
45
|
-
paytable
|
|
46
|
-
show
|
|
48
|
+
paytable?: {
|
|
49
|
+
show: boolean;
|
|
47
50
|
};
|
|
48
51
|
play: PlayRequest;
|
|
49
52
|
resume: never;
|
|
@@ -62,6 +65,14 @@ export { CurrencyFormat }
|
|
|
62
65
|
|
|
63
66
|
export { CurrencyNumber }
|
|
64
67
|
|
|
68
|
+
export declare type Decoder = (data: any) => unknown;
|
|
69
|
+
|
|
70
|
+
export declare type Decoders = keyof typeof decoders;
|
|
71
|
+
|
|
72
|
+
export declare const decoders: {
|
|
73
|
+
json: (text: string, reviver?: (this: any, key: string, value: any) => any) => any;
|
|
74
|
+
};
|
|
75
|
+
|
|
65
76
|
export declare type DomainAllowedPayloadMap<P extends DomainPrefix> = DomainToMessagePayloadMap[P];
|
|
66
77
|
|
|
67
78
|
export declare type DomainMessage<P extends DomainPrefix> = keyof DomainAllowedPayloadMap<P>;
|
|
@@ -83,6 +94,17 @@ export declare type DomainToMessagePayloadMap = {
|
|
|
83
94
|
telemetry: TelemetryOnlyMessagePayloadMap;
|
|
84
95
|
};
|
|
85
96
|
|
|
97
|
+
export declare type Encoder = (data: any) => unknown;
|
|
98
|
+
|
|
99
|
+
export declare type Encoders = keyof typeof encoders;
|
|
100
|
+
|
|
101
|
+
export declare const encoders: {
|
|
102
|
+
json: {
|
|
103
|
+
(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
|
|
104
|
+
(value: any, replacer?: (number | string)[] | null, space?: string | number): string;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
|
|
86
108
|
export { FormatCurrencyOptions }
|
|
87
109
|
|
|
88
110
|
export declare type ForwardToPluginsMessage<P extends PluginDomain> = keyof ForwardToPluginsMessageMap<'sdk'>[P] | keyof ForwardToPluginsMessageMap<'rgs'>[P] | keyof ForwardToPluginsMessageMap<'casino'>[P] | keyof ForwardToPluginsMessageMap<'telemetry'>[P];
|
|
@@ -174,10 +196,10 @@ export declare class KalambaSdk {
|
|
|
174
196
|
get i18n(): I18n;
|
|
175
197
|
protected request<M extends DomainMessage<'sdk'>>(message: M, ...[payload]: DomainMessagePayload<'sdk', M> extends never ? [] : [payload: DomainMessagePayload<'sdk', M>]): Promise<RgsResponse<M>>;
|
|
176
198
|
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;
|
|
177
|
-
send<M extends DomainMessage<'sdk'>>(message: M, ...[payload]: DomainMessagePayload<'sdk', M> extends never ? [] : [DomainMessagePayload<'sdk', M>]): void;
|
|
199
|
+
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;
|
|
178
200
|
configure(payload: DomainMessagePayload<'sdk', 'configure'>): void;
|
|
179
|
-
openGame(): Promise<
|
|
180
|
-
play(contract: ContractPlayPayload, extra?: unknown, actionType?: string): Promise<
|
|
201
|
+
openGame(): Promise<OpenGameResponse_2>;
|
|
202
|
+
play(contract: ContractPlayPayload, extra?: unknown, actionType?: string): Promise<PlayResponse_2>;
|
|
181
203
|
}
|
|
182
204
|
|
|
183
205
|
export declare type Message = keyof MessageMap;
|
|
@@ -373,6 +395,9 @@ export declare type RgsOnlyMessagePayloadMap = {
|
|
|
373
395
|
sumBetAmount: number;
|
|
374
396
|
sumWinAmount: number;
|
|
375
397
|
};
|
|
398
|
+
balance: {
|
|
399
|
+
balance: number;
|
|
400
|
+
};
|
|
376
401
|
};
|
|
377
402
|
|
|
378
403
|
export declare type RgsResponse<M extends DomainMessage<'sdk'>> = {
|
|
@@ -548,7 +573,7 @@ export declare type ToCasinoPluginsForwardedMessageMap = {
|
|
|
548
573
|
|
|
549
574
|
export declare type ToRgsPluginsForwardedMessageMap = {
|
|
550
575
|
sdk: Pick<SdkOnlyMessagePayloadMap, 'history' | 'openGame' | 'play'>;
|
|
551
|
-
casino: Pick<CasinoOnlyMessagePayloadMap, 'play' | 'cashier' | 'close' | 'history'>;
|
|
576
|
+
casino: Pick<CasinoOnlyMessagePayloadMap, 'play' | 'cashier' | 'close' | 'history' | 'getBalance'>;
|
|
552
577
|
rgs: undefined;
|
|
553
578
|
telemetry: undefined;
|
|
554
579
|
wrapper: undefined;
|
|
@@ -565,6 +590,8 @@ export declare type ToTelemetryPluginsForwardedMessageMap = {
|
|
|
565
590
|
};
|
|
566
591
|
|
|
567
592
|
export declare type WrapperConfig = {
|
|
593
|
+
dataDecoder?: Decoders;
|
|
594
|
+
dataEncoder?: Encoders;
|
|
568
595
|
gameName: string;
|
|
569
596
|
gameVersion: string;
|
|
570
597
|
gameHistoryUrl?: string;
|
package/dist/index.js
CHANGED
|
@@ -2,38 +2,21 @@
|
|
|
2
2
|
* BSD 3-Clause License
|
|
3
3
|
* Copyright (c) 2025, Kalamba Games Limited
|
|
4
4
|
*/
|
|
5
|
-
var
|
|
5
|
+
var R = (m) => {
|
|
6
6
|
throw TypeError(m);
|
|
7
7
|
};
|
|
8
|
-
var
|
|
9
|
-
var r = (m, i, t) => (
|
|
10
|
-
import { T as
|
|
11
|
-
import { a as
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return m instanceof Date || typeof m == "object" && i === "[object Date]" ? new m.constructor(+m) : typeof m == "number" || i === "[object Number]" || typeof m == "string" || i === "[object String]" ? new Date(m) : /* @__PURE__ */ new Date(NaN);
|
|
15
|
-
}
|
|
16
|
-
function L(m) {
|
|
17
|
-
const i = O(m);
|
|
18
|
-
return i.setHours(23, 59, 59, 999), i;
|
|
19
|
-
}
|
|
20
|
-
function M() {
|
|
21
|
-
return L(Date.now());
|
|
22
|
-
}
|
|
23
|
-
function U(m) {
|
|
24
|
-
const i = O(m);
|
|
25
|
-
return i.setHours(0, 0, 0, 0), i;
|
|
26
|
-
}
|
|
27
|
-
function H() {
|
|
28
|
-
return U(Date.now());
|
|
29
|
-
}
|
|
30
|
-
const k = 3e4;
|
|
8
|
+
var E = (m, i, t) => i.has(m) || R("Cannot " + t);
|
|
9
|
+
var r = (m, i, t) => (E(m, i, "read from private field"), t ? t.call(m) : i.get(m)), u = (m, i, t) => i.has(m) ? R("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(m) : i.set(m, t), e = (m, i, t, n) => (E(m, i, "write to private field"), n ? n.call(m, t) : i.set(m, t), t);
|
|
10
|
+
import { T as N, R as G } from "./errors-NnLrKjTz.js";
|
|
11
|
+
import { a as ni } from "./errors-NnLrKjTz.js";
|
|
12
|
+
import { d as ai, e as si } from "./encoders-BDr7fjKQ.js";
|
|
13
|
+
const M = 3e4;
|
|
31
14
|
var D, h;
|
|
32
|
-
class
|
|
15
|
+
class U {
|
|
33
16
|
constructor(i) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
17
|
+
u(this, D);
|
|
18
|
+
u(this, h, M);
|
|
19
|
+
e(this, D, i);
|
|
37
20
|
}
|
|
38
21
|
buildHeaders() {
|
|
39
22
|
const i = {};
|
|
@@ -56,25 +39,37 @@ class $ {
|
|
|
56
39
|
}
|
|
57
40
|
}
|
|
58
41
|
D = new WeakMap(), h = new WeakMap();
|
|
59
|
-
const I =
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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());
|
|
62
|
+
}
|
|
63
|
+
const O = { limit: 100, page: 0 };
|
|
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 }));
|
|
73
70
|
}
|
|
74
|
-
async getRound(i, {
|
|
75
|
-
|
|
76
|
-
} = {}) {
|
|
77
|
-
return r(this, f).getRound(i, {
|
|
71
|
+
async getRound(i, { pagination: t = O } = {}) {
|
|
72
|
+
return r(this, C).getRound(i, {
|
|
78
73
|
gameCode: r(this, s).api.game,
|
|
79
74
|
operatorCode: r(this, s).api.brand,
|
|
80
75
|
username: r(this, s).api.user,
|
|
@@ -85,14 +80,11 @@ class K {
|
|
|
85
80
|
return r(this, s).api.lastRoundId ? this.getRound(r(this, s).api.lastRoundId) : null;
|
|
86
81
|
}
|
|
87
82
|
async getRounds({
|
|
88
|
-
searchPeriod: i = {
|
|
89
|
-
|
|
90
|
-
toDateTime: M()
|
|
91
|
-
},
|
|
92
|
-
pagination: t = I
|
|
83
|
+
searchPeriod: i = { fromDateTime: X(), toDateTime: $() },
|
|
84
|
+
pagination: t = O
|
|
93
85
|
} = {}) {
|
|
94
86
|
const n = r(this, s).api.user.replace(/^user_/, "").replace(new RegExp(`_${r(this, s).api.integration}$`), "");
|
|
95
|
-
return r(this,
|
|
87
|
+
return r(this, C).getRounds({
|
|
96
88
|
gameCode: r(this, s).api.game,
|
|
97
89
|
operatorCode: r(this, s).api.integration,
|
|
98
90
|
username: n,
|
|
@@ -102,11 +94,11 @@ class K {
|
|
|
102
94
|
});
|
|
103
95
|
}
|
|
104
96
|
}
|
|
105
|
-
s = new WeakMap(),
|
|
106
|
-
function
|
|
97
|
+
s = new WeakMap(), C = new WeakMap();
|
|
98
|
+
function V(m, i) {
|
|
107
99
|
return m * i / 100;
|
|
108
100
|
}
|
|
109
|
-
function
|
|
101
|
+
function L(m, i, t) {
|
|
110
102
|
if (!["string", "number"].includes(typeof i))
|
|
111
103
|
return "NaN";
|
|
112
104
|
const { locales: n } = m;
|
|
@@ -213,6 +205,8 @@ const w = {
|
|
|
213
205
|
GCLC: { displayAs: "GC.", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
214
206
|
SWPC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
215
207
|
LUKC: { displayAs: "LC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
208
|
+
TTSC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
209
|
+
TTGC: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
216
210
|
// Silvercash
|
|
217
211
|
SVC: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
218
212
|
// Polkadot
|
|
@@ -243,6 +237,9 @@ const w = {
|
|
|
243
237
|
// Softswiss
|
|
244
238
|
EEGP: { displayAs: "EP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
245
239
|
EPGP: { displayAs: "PP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
240
|
+
LUCK: { displayAs: "LUCK", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
241
|
+
CXCO: { displayAs: "CC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
242
|
+
GZCO: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
246
243
|
// https://kalamba.atlassian.net/browse/FRAM-1829
|
|
247
244
|
// Myanmar Kyat
|
|
248
245
|
MMK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
@@ -283,7 +280,7 @@ const w = {
|
|
|
283
280
|
function P(m) {
|
|
284
281
|
return m in w;
|
|
285
282
|
}
|
|
286
|
-
function
|
|
283
|
+
function q(m) {
|
|
287
284
|
return P(m) ? {
|
|
288
285
|
...w[m],
|
|
289
286
|
currency: S
|
|
@@ -291,22 +288,22 @@ function X(m) {
|
|
|
291
288
|
currency: m
|
|
292
289
|
};
|
|
293
290
|
}
|
|
294
|
-
function
|
|
291
|
+
function W(m, i, t) {
|
|
295
292
|
const n = i.format(+m);
|
|
296
293
|
return P(t) ? n.replace(S, w[t].displayAs ?? t) : n;
|
|
297
294
|
}
|
|
298
|
-
function
|
|
295
|
+
function z(m, i, t) {
|
|
299
296
|
const { maximumFractionDigits: n, minimumFractionDigits: a } = t.resolvedOptions();
|
|
300
|
-
return
|
|
297
|
+
return L(m, i, { maximumFractionDigits: n, minimumFractionDigits: a });
|
|
301
298
|
}
|
|
302
|
-
function
|
|
299
|
+
function J(m, i, { as: t } = {
|
|
303
300
|
as: "Currency"
|
|
304
301
|
/* Currency */
|
|
305
302
|
}) {
|
|
306
303
|
const { canShowCurrency: n, currency: a } = m;
|
|
307
304
|
return t === "Number" || !n ? `${i}` : `${i} ${a}`;
|
|
308
305
|
}
|
|
309
|
-
function
|
|
306
|
+
function j(m, i, { as: t, from: n } = {
|
|
310
307
|
as: "Currency",
|
|
311
308
|
from: "Money"
|
|
312
309
|
/* Money */
|
|
@@ -314,9 +311,9 @@ function W(m, i, { as: t, from: n } = {
|
|
|
314
311
|
if (!["string", "number"].includes(typeof i))
|
|
315
312
|
return "NaN";
|
|
316
313
|
const { canShowCurrency: o = !0, coinValueInCents: g, currency: d, locales: T } = m;
|
|
317
|
-
n === "Coins" && (i =
|
|
314
|
+
n === "Coins" && (i = V(+i, g));
|
|
318
315
|
try {
|
|
319
|
-
const B =
|
|
316
|
+
const B = q(d), A = new Intl.NumberFormat(T, {
|
|
320
317
|
...B,
|
|
321
318
|
...a,
|
|
322
319
|
currencyDisplay: "symbol",
|
|
@@ -325,24 +322,24 @@ function W(m, i, { as: t, from: n } = {
|
|
|
325
322
|
numberingSystem: "latn",
|
|
326
323
|
style: "currency"
|
|
327
324
|
});
|
|
328
|
-
return t === "Number" || !o ?
|
|
325
|
+
return t === "Number" || !o ? z(m, i, A) : W(i, A, d);
|
|
329
326
|
} catch {
|
|
330
|
-
return
|
|
327
|
+
return J(m, i, { as: t });
|
|
331
328
|
}
|
|
332
329
|
}
|
|
333
330
|
var c;
|
|
334
|
-
class
|
|
331
|
+
class Y {
|
|
335
332
|
constructor({ config: i }) {
|
|
336
|
-
|
|
337
|
-
|
|
333
|
+
u(this, c);
|
|
334
|
+
e(this, c, i);
|
|
338
335
|
}
|
|
339
336
|
formatNumber(i, t) {
|
|
340
337
|
const n = { locales: [r(this, c).ui.language] };
|
|
341
|
-
return
|
|
338
|
+
return L(n, i, t);
|
|
342
339
|
}
|
|
343
340
|
formatCurrency(i, t = { as: F.Currency, from: y.Money }, n) {
|
|
344
341
|
const a = r(this, c).ui.feature.showCurrency, o = r(this, c).api.coinValueInCents, g = r(this, c).api.currency || S, d = [r(this, c).ui.language];
|
|
345
|
-
return
|
|
342
|
+
return j({
|
|
346
343
|
canShowCurrency: a,
|
|
347
344
|
coinValueInCents: o,
|
|
348
345
|
currency: g,
|
|
@@ -363,17 +360,17 @@ class v {
|
|
|
363
360
|
}
|
|
364
361
|
}
|
|
365
362
|
c = new WeakMap();
|
|
366
|
-
const
|
|
363
|
+
const v = () => {
|
|
367
364
|
};
|
|
368
|
-
var x,
|
|
369
|
-
class
|
|
365
|
+
var x, f, p, l;
|
|
366
|
+
class ii {
|
|
370
367
|
constructor({ messagePort: i }) {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
368
|
+
u(this, x);
|
|
369
|
+
u(this, f);
|
|
370
|
+
u(this, p);
|
|
371
|
+
u(this, l);
|
|
372
|
+
e(this, l, i), this.on("configured", (t) => {
|
|
373
|
+
e(this, x, t), e(this, p, new Y({ config: t })), e(this, f, new _({ config: t }));
|
|
377
374
|
}), this.on("playResponse", (t) => {
|
|
378
375
|
this.config.api.lastRoundId = t.contract.roundId;
|
|
379
376
|
});
|
|
@@ -384,14 +381,14 @@ class Q {
|
|
|
384
381
|
return r(this, x);
|
|
385
382
|
}
|
|
386
383
|
get history() {
|
|
387
|
-
if (!r(this,
|
|
384
|
+
if (!r(this, f))
|
|
388
385
|
throw new Error("config is not initialized, you must open game first");
|
|
389
|
-
return r(this,
|
|
386
|
+
return r(this, f);
|
|
390
387
|
}
|
|
391
388
|
get i18n() {
|
|
392
|
-
if (!r(this,
|
|
389
|
+
if (!r(this, p))
|
|
393
390
|
throw new Error("i18n is not initialized, you must open game first");
|
|
394
|
-
return r(this,
|
|
391
|
+
return r(this, p);
|
|
395
392
|
}
|
|
396
393
|
request(i, ...[t]) {
|
|
397
394
|
return new Promise((n) => {
|
|
@@ -402,13 +399,13 @@ class Q {
|
|
|
402
399
|
}
|
|
403
400
|
on(i, t, n) {
|
|
404
401
|
const a = function o(g) {
|
|
405
|
-
g.data.message === `kalamba:wrapper:${i}` && (
|
|
402
|
+
g.data.message === `kalamba:wrapper:${i}` && (v("on", g.data.message.replace(/^kalamba:/, ""), g.data.payload), t(g.data.payload), n != null && n.once && window.removeEventListener("message", o));
|
|
406
403
|
};
|
|
407
404
|
window.addEventListener("message", a);
|
|
408
405
|
}
|
|
409
406
|
// TODO error messages
|
|
410
407
|
send(i, ...[t]) {
|
|
411
|
-
r(this,
|
|
408
|
+
r(this, l).postMessage(
|
|
412
409
|
{
|
|
413
410
|
message: `kalamba:sdk:${i}`,
|
|
414
411
|
payload: t
|
|
@@ -423,21 +420,23 @@ class Q {
|
|
|
423
420
|
const i = new Promise((n) => this.on("configured", n, { once: !0 })), t = await this.request("openGame");
|
|
424
421
|
if (t.type === "response")
|
|
425
422
|
return await i, t.response;
|
|
426
|
-
throw t.error.type === "timeout" ? new
|
|
423
|
+
throw t.error.type === "timeout" ? new N() : new G(t.error.data);
|
|
427
424
|
}
|
|
428
425
|
async play(i, t, n = "SPIN") {
|
|
429
426
|
const a = { contract: i, extra: t, actionType: n }, o = await this.request("play", a);
|
|
430
427
|
if (o.type === "response")
|
|
431
428
|
return o.response;
|
|
432
|
-
throw o.error.type === "timeout" ? new
|
|
429
|
+
throw o.error.type === "timeout" ? new N() : new G(o.error.data);
|
|
433
430
|
}
|
|
434
431
|
}
|
|
435
|
-
x = new WeakMap(),
|
|
432
|
+
x = new WeakMap(), f = new WeakMap(), p = new WeakMap(), l = new WeakMap();
|
|
436
433
|
export {
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
434
|
+
_ as History,
|
|
435
|
+
Y as I18n,
|
|
436
|
+
ii as KalambaSdk,
|
|
437
|
+
G as RgsError,
|
|
438
|
+
ni as RgsErrorCode,
|
|
439
|
+
N as TimeoutError,
|
|
440
|
+
ai as decoders,
|
|
441
|
+
si as encoders
|
|
443
442
|
};
|