@kalamba/sdk 0.13.1 → 0.16.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/errors-BXO3dlhS.cjs +5 -0
- package/dist/{errors-7cbbda8a.js → errors-NnLrKjTz.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +7 -14
- package/dist/index.js +158 -121
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.d.ts +9 -15
- package/dist/plugins.js +477 -465
- package/dist/v4-BL_nLifx.js +45 -0
- package/dist/v4-C9_uc0A9.cjs +5 -0
- package/dist/wrapper.cjs +1 -1
- package/dist/wrapper.d.ts +7 -14
- package/dist/wrapper.js +2362 -1360
- package/package.json +3 -3
- package/dist/errors-db453887.cjs +0 -5
- package/dist/v4-58efbfa1.js +0 -48
- package/dist/v4-bada56b0.cjs +0 -5
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BSD 3-Clause License
|
|
3
|
+
* Copyright (c) 2025, Kalamba Games Limited
|
|
4
|
+
*/
|
|
5
|
+
"use strict";var N=Object.defineProperty;var S=(_,E,O)=>E in _?N(_,E,{enumerable:!0,configurable:!0,writable:!0,value:O}):_[E]=O;var R=(_,E,O)=>S(_,typeof E!="symbol"?E+"":E,O);const A={CONNECTION_ERROR:"CONNECTION_ERROR",INVALID_BET_CURRENCY:"INVALID_BET_CURRENCY",INVALID_BET:"INVALID_BET",INVALID_CAGE_CODE:"INVALID_CAGE_CODE",INVALID_CLIENT_TYPE:"INVALID_CLIENT_TYPE",INVALID_MESSAGE_FORMAT:"INVALID_MESSAGE_FORMAT",INVALID_SESSION:"INVALID_SESSION",TOO_HIGH_BET_FREQUENCY:"TOO_HIGH_BET_FREQUENCY",TOO_HIGH_ACTION_FREQUENCY:"TOO_HIGH_ACTION_FREQUENCY",USER_LOCK_INVALID_PARAMS:"USER_LOCK_INVALID_PARAMS",USER_ALREADY_LOCKED:"USER_ALREADY_LOCKED",GAME_SERVER_ERROR:"GAME_SERVER_ERROR",SESSION_MANAGEMENT_ERROR:"SESSION_MANAGEMENT_ERROR",MESSAGE_SENDER_ERROR:"MESSAGE_SENDER_ERROR",FREE_ROUNDS_PROCESSING_ERROR:"FREE_ROUNDS_PROCESSING_ERROR",WEB_SESSION_NOT_OPEN:"WEB_SESSION_NOT_OPEN",GAMING_LIMITS_REACHED:"GAMING_LIMITS_REACHED",OUT_OF_MONEY:"OUT_OF_MONEY",UNFINISHED_ROUND_IN_PROGRESS:"UNFINISHED_ROUND_IN_PROGRESS",ACCESS_DENIED:"ACCESS_DENIED",CREDENTIALS_NOT_FOUND:"CREDENTIALS_NOT_FOUND",ALREADY_LOGGED_IN:"ALREADY_LOGGED_IN",GAME_UNAVAILABLE:"GAME_UNAVAILABLE",BONUS_RESTRICTION:"BONUS_RESTRICTION",TOO_MANY_OPEN_GAMES:"TOO_MANY_OPEN_GAMES",GAME_FROZEN:"GAME_FROZEN",WALLET_PROCESSING_ERROR:"WALLET_PROCESSING_ERROR",FORCED_OUTCOMES_NOT_ALLOWED:"FORCED_OUTCOMES_NOT_ALLOWED",MISSING_GAME_STATE:"MISSING_GAME_STATE",DATA_ACCESS_ERROR:"DATA_ACCESS_ERROR",UNKNOWN:"UNKNOWN"},I={CONNECTION_ERROR:"RELOAD",INVALID_BET_CURRENCY:"CLOSE",INVALID_BET:"CONTINUE",INVALID_CAGE_CODE:"CLOSE",INVALID_CLIENT_TYPE:"CLOSE",INVALID_MESSAGE_FORMAT:"CLOSE",INVALID_SESSION:"CLOSE",TOO_HIGH_BET_FREQUENCY:"CONTINUE",TOO_HIGH_ACTION_FREQUENCY:"CONTINUE",USER_LOCK_INVALID_PARAMS:"CLOSE",USER_ALREADY_LOCKED:"CLOSE",GAME_SERVER_ERROR:"RELOAD",SESSION_MANAGEMENT_ERROR:"RELOAD",MESSAGE_SENDER_ERROR:"RELOAD",FREE_ROUNDS_PROCESSING_ERROR:"RELOAD",WEB_SESSION_NOT_OPEN:"RELOAD",GAMING_LIMITS_REACHED:"CLOSE",OUT_OF_MONEY:"CONTINUE",UNFINISHED_ROUND_IN_PROGRESS:"CLOSE",ACCESS_DENIED:"CLOSE",CREDENTIALS_NOT_FOUND:"CLOSE",ALREADY_LOGGED_IN:"CLOSE",GAME_UNAVAILABLE:"CLOSE",BONUS_RESTRICTION:"CLOSE",TOO_MANY_OPEN_GAMES:"CLOSE",GAME_FROZEN:"CLOSE",WALLET_PROCESSING_ERROR:"CLOSE",FORCED_OUTCOMES_NOT_ALLOWED:"CONTINUE",MISSING_GAME_STATE:"RELOAD",DATA_ACCESS_ERROR:"RELOAD",UNKNOWN:"CLOSE"};class C extends Error{constructor(O){super();R(this,"data");this.name="RgsError",this.data=O}}class L extends Error{constructor(){super(),this.name="TimeoutError"}}exports.RgsError=C;exports.RgsErrorAction=I;exports.RgsErrorCode=A;exports.TimeoutError=L;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
var R = Object.defineProperty;
|
|
6
6
|
var S = (_, E, O) => E in _ ? R(_, E, { enumerable: !0, configurable: !0, writable: !0, value: O }) : _[E] = O;
|
|
7
|
-
var N = (_, E, O) =>
|
|
7
|
+
var N = (_, E, O) => S(_, typeof E != "symbol" ? E + "" : E, O);
|
|
8
8
|
const I = {
|
|
9
9
|
CONNECTION_ERROR: "CONNECTION_ERROR",
|
|
10
10
|
INVALID_BET_CURRENCY: "INVALID_BET_CURRENCY",
|
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 b=(r,i,t)=>{if(!i.has(r))throw TypeError("Cannot "+t)};var m=(r,i,t)=>(b(r,i,"read from private field"),t?t.call(r):i.get(r)),e=(r,i,t)=>{if(i.has(r))throw TypeError("Cannot add the same private member more than once");i instanceof WeakSet?i.add(r):i.set(r,t)},u=(r,i,t,n)=>(b(r,i,"write to private field"),n?n.call(r,t):i.set(r,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./errors-db453887.cjs");function A(r){const i=Object.prototype.toString.call(r);return r instanceof Date||typeof r=="object"&&i==="[object Date]"?new r.constructor(+r):typeof r=="number"||i==="[object Number]"||typeof r=="string"||i==="[object String]"?new Date(r):new Date(NaN)}function U(r){const i=A(r);return i.setHours(23,59,59,999),i}function L(){return U(Date.now())}function P(r){const i=A(r);return i.setHours(0,0,0,0),i}function k(){return P(Date.now())}const G=3e4;var F,S;class ${constructor(i){e(this,F,void 0);e(this,S,G);u(this,F,i)}buildHeaders(){const i={};return m(this,F).token&&(i.Authorization=`Bearer ${m(this,F).token}`),i}async request(i,t){const n=new URL(i,m(this,F).apiUrl??window.location.origin);return n.search=new URLSearchParams({...t}).toString(),await(await fetch(n,{signal:AbortSignal.timeout(m(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 N={limit:100,page:0};var s,l;class I{constructor({config:i}){e(this,s,void 0);e(this,l,void 0);u(this,s,i),u(this,l,new $({apiUrl:i.api.gameHistoryUrl}))}async getRound(i,{pagination:t=N}={}){return m(this,l).getRound(i,{gameCode:m(this,s).api.game,operatorCode:m(this,s).api.brand,username:m(this,s).api.user,...t})}async getLastRound(){return m(this,s).api.lastRoundId?this.getRound(m(this,s).api.lastRoundId):null}async getRounds({searchPeriod:i={fromDateTime:k(),toDateTime:L()},pagination:t=N}={}){const n=m(this,s).api.user.replace(/^user_/,"").replace(new RegExp(`_${m(this,s).api.integration}$`),"");return m(this,l).getRounds({gameCode:m(this,s).api.game,operatorCode:m(this,s).api.integration,username:n,fromDataTime:i.fromDateTime.toISOString(),toDateTime:i.toDateTime.toISOString(),...t})}}s=new WeakMap,l=new WeakMap;function _(r,i){return r*i/100}function O(r,i,t){if(!["string","number"].includes(typeof i))return"NaN";const{locales:n}=r;try{return new Intl.NumberFormat(n,{...t,numberingSystem:"latn",style:"decimal"}).format(+i)}catch{return`${i}`}}const w="XTS";var y=(r=>(r.Currency="Currency",r.Number="Number",r))(y||{}),f=(r=>(r.Coins="Coins",r.Money="Money",r))(f||{});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}};function B(r){return r in T}function K(r){return B(r)?{...T[r],currency:w}:{currency:r}}function j(r,i,t){const n=i.format(+r);return B(t)?n.replace(w,T[t].displayAs??t):n}function q(r,i,t){const{maximumFractionDigits:n,minimumFractionDigits:o}=t.resolvedOptions();return O(r,i,{maximumFractionDigits:n,minimumFractionDigits:o})}function V(r,i,{as:t}={as:"Currency"}){const{canShowCurrency:n,currency:o}=r;return t==="Number"||!n?`${i}`:`${i} ${o}`}function W(r,i,{as:t,from:n}={as:"Currency",from:"Money"},o){if(!["string","number"].includes(typeof i))return"NaN";const{canShowCurrency:a=!0,coinValueInCents:g,currency:x,locales:R}=r;n==="Coins"&&(i=_(+i,g));try{const H=K(x),E=new Intl.NumberFormat(R,{...H,...o,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return t==="Number"||!a?q(r,i,E):j(i,E,x)}catch{return V(r,i,{as:t})}}var c;class M{constructor({config:i}){e(this,c,void 0);u(this,c,i)}formatNumber(i,t){const n={locales:[m(this,c).ui.language]};return O(n,i,t)}formatCurrency(i,t={as:y.Currency,from:f.Money},n){const o=m(this,c).ui.feature.showCurrency,a=m(this,c).api.coinValueInCents,g=m(this,c).api.currency||w,x=[m(this,c).ui.language];return W({canShowCurrency:o,coinValueInCents:a,currency:g,locales:x},i,t,n)}formatCoins(i,t){return this.formatCurrency(i,{as:y.Number,from:f.Coins},t)}formatCoinsWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:f.Coins},t)}formatMoney(i,t){return this.formatCurrency(i,{as:y.Number,from:f.Money},t)}formatMoneyWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:f.Money},t)}}c=new WeakMap;const v=()=>{};var C,d,h,p;class X{constructor({messagePort:i}){e(this,C,void 0);e(this,d,void 0);e(this,h,void 0);e(this,p,void 0);u(this,p,i),this.on("configured",t=>{u(this,C,t),u(this,h,new M({config:t})),u(this,d,new I({config:t}))}),this.on("playResponse",t=>{this.config.api.lastRoundId=t.contract.roundId})}get config(){if(!m(this,C))throw new Error("config is not initialized, you must open game first");return m(this,C)}get history(){if(!m(this,d))throw new Error("config is not initialized, you must open game first");return m(this,d)}get i18n(){if(!m(this,h))throw new Error("i18n is not initialized, you must open game first");return m(this,h)}request(i,...[t]){return new Promise(n=>{this.on(`${i}Response`,o=>n({type:"response",response:o}),{once:!0}),this.on(`${i}Error`,o=>n({type:"error",error:o}),{once:!0}),this.send(i,t)})}on(i,t,n){const o=function a(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",a))};window.addEventListener("message",o)}send(i,...[t]){m(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 o={contract:i,extra:t,actionType:n},a=await this.request("play",o);if(a.type==="response")return a.response;throw a.error.type==="timeout"?new D.TimeoutError:new D.RgsError(a.error.data)}}C=new WeakMap,d=new WeakMap,h=new WeakMap,p=new WeakMap;exports.RgsError=D.RgsError;exports.RgsErrorCode=D.RgsErrorCode;exports.TimeoutError=D.TimeoutError;exports.History=I;exports.I18n=M;exports.KalambaSdk=X;
|
|
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;
|
package/dist/index.d.ts
CHANGED
|
@@ -395,7 +395,7 @@ export declare interface SdkConfig {
|
|
|
395
395
|
homeUrl?: string;
|
|
396
396
|
integration: string;
|
|
397
397
|
integrationData?: unknown;
|
|
398
|
-
jurisdiction: string;
|
|
398
|
+
jurisdiction: string | null;
|
|
399
399
|
playMode: 'FUN' | 'REAL';
|
|
400
400
|
user: string;
|
|
401
401
|
sessionId: string;
|
|
@@ -415,6 +415,7 @@ export declare interface SdkConfig {
|
|
|
415
415
|
feature: {
|
|
416
416
|
allowTelemetry: boolean;
|
|
417
417
|
allowFullscreen: boolean;
|
|
418
|
+
allowGamble: boolean;
|
|
418
419
|
allowQuickStop: boolean;
|
|
419
420
|
showCashier: boolean;
|
|
420
421
|
showClock: boolean;
|
|
@@ -499,22 +500,14 @@ export declare type SdkOnlyMessagePayloadMap = {
|
|
|
499
500
|
/**
|
|
500
501
|
* ```typescript
|
|
501
502
|
* {
|
|
502
|
-
*
|
|
503
|
-
*
|
|
504
|
-
*
|
|
505
|
-
*
|
|
506
|
-
* }
|
|
507
|
-
* },
|
|
508
|
-
* pl: {
|
|
509
|
-
* my_custom_error: 'Coś poszło nie tak',
|
|
510
|
-
* RgsError: {
|
|
511
|
-
* OUT_OF_MONEY: 'Nie masz już środków',
|
|
512
|
-
* }
|
|
513
|
-
* }
|
|
503
|
+
* my_custom_error: 'Something went wrong',
|
|
504
|
+
* RgsError: {
|
|
505
|
+
* OUT_OF_MONEY: 'You are out of credits',
|
|
506
|
+
* }
|
|
514
507
|
* }
|
|
515
508
|
* ```
|
|
516
509
|
*/
|
|
517
|
-
translations:
|
|
510
|
+
translations: NestedRecord<string, string>;
|
|
518
511
|
settings: Settings;
|
|
519
512
|
'telemetry.click': {
|
|
520
513
|
location: string;
|
package/dist/index.js
CHANGED
|
@@ -2,53 +2,49 @@
|
|
|
2
2
|
* BSD 3-Clause License
|
|
3
3
|
* Copyright (c) 2025, Kalamba Games Limited
|
|
4
4
|
*/
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
throw TypeError("Cannot " + t);
|
|
5
|
+
var A = (m) => {
|
|
6
|
+
throw TypeError(m);
|
|
8
7
|
};
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
function I(n) {
|
|
17
|
-
const i = Object.prototype.toString.call(n);
|
|
18
|
-
return n instanceof Date || typeof n == "object" && i === "[object Date]" ? new n.constructor(+n) : typeof n == "number" || i === "[object Number]" || typeof n == "string" || i === "[object String]" ? new Date(n) : /* @__PURE__ */ new Date(NaN);
|
|
8
|
+
var N = (m, i, t) => i.has(m) || A("Cannot " + t);
|
|
9
|
+
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);
|
|
10
|
+
import { T as E, R as b } from "./errors-NnLrKjTz.js";
|
|
11
|
+
import { a as ti } from "./errors-NnLrKjTz.js";
|
|
12
|
+
function O(m) {
|
|
13
|
+
const i = Object.prototype.toString.call(m);
|
|
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);
|
|
19
15
|
}
|
|
20
|
-
function
|
|
21
|
-
const i =
|
|
16
|
+
function L(m) {
|
|
17
|
+
const i = O(m);
|
|
22
18
|
return i.setHours(23, 59, 59, 999), i;
|
|
23
19
|
}
|
|
24
|
-
function
|
|
25
|
-
return
|
|
20
|
+
function M() {
|
|
21
|
+
return L(Date.now());
|
|
26
22
|
}
|
|
27
|
-
function
|
|
28
|
-
const i =
|
|
23
|
+
function U(m) {
|
|
24
|
+
const i = O(m);
|
|
29
25
|
return i.setHours(0, 0, 0, 0), i;
|
|
30
26
|
}
|
|
31
|
-
function
|
|
32
|
-
return
|
|
27
|
+
function H() {
|
|
28
|
+
return U(Date.now());
|
|
33
29
|
}
|
|
34
|
-
const
|
|
35
|
-
var D,
|
|
36
|
-
class
|
|
30
|
+
const k = 3e4;
|
|
31
|
+
var D, h;
|
|
32
|
+
class $ {
|
|
37
33
|
constructor(i) {
|
|
38
|
-
e(this, D
|
|
39
|
-
e(this,
|
|
34
|
+
e(this, D);
|
|
35
|
+
e(this, h, k);
|
|
40
36
|
u(this, D, i);
|
|
41
37
|
}
|
|
42
38
|
buildHeaders() {
|
|
43
39
|
const i = {};
|
|
44
|
-
return
|
|
40
|
+
return r(this, D).token && (i.Authorization = `Bearer ${r(this, D).token}`), i;
|
|
45
41
|
}
|
|
46
42
|
async request(i, t) {
|
|
47
|
-
const
|
|
48
|
-
return
|
|
43
|
+
const n = new URL(i, r(this, D).apiUrl ?? window.location.origin);
|
|
44
|
+
return n.search = new URLSearchParams({
|
|
49
45
|
...t
|
|
50
|
-
}).toString(), await (await fetch(
|
|
51
|
-
signal: AbortSignal.timeout(
|
|
46
|
+
}).toString(), await (await fetch(n, {
|
|
47
|
+
signal: AbortSignal.timeout(r(this, h)),
|
|
52
48
|
headers: this.buildHeaders()
|
|
53
49
|
})).json();
|
|
54
50
|
}
|
|
@@ -59,47 +55,47 @@ class k {
|
|
|
59
55
|
return this.request(`/rounds/${i}`, t);
|
|
60
56
|
}
|
|
61
57
|
}
|
|
62
|
-
D = new WeakMap(),
|
|
63
|
-
const
|
|
58
|
+
D = new WeakMap(), h = new WeakMap();
|
|
59
|
+
const I = {
|
|
64
60
|
limit: 100,
|
|
65
61
|
page: 0
|
|
66
62
|
};
|
|
67
63
|
var s, f;
|
|
68
|
-
class
|
|
64
|
+
class K {
|
|
69
65
|
constructor({
|
|
70
66
|
config: i
|
|
71
67
|
}) {
|
|
72
|
-
e(this, s
|
|
73
|
-
e(this, f
|
|
74
|
-
u(this, s, i), u(this, f, new
|
|
68
|
+
e(this, s);
|
|
69
|
+
e(this, f);
|
|
70
|
+
u(this, s, i), u(this, f, new $({
|
|
75
71
|
apiUrl: i.api.gameHistoryUrl
|
|
76
72
|
}));
|
|
77
73
|
}
|
|
78
74
|
async getRound(i, {
|
|
79
|
-
pagination: t =
|
|
75
|
+
pagination: t = I
|
|
80
76
|
} = {}) {
|
|
81
|
-
return
|
|
82
|
-
gameCode:
|
|
83
|
-
operatorCode:
|
|
84
|
-
username:
|
|
77
|
+
return r(this, f).getRound(i, {
|
|
78
|
+
gameCode: r(this, s).api.game,
|
|
79
|
+
operatorCode: r(this, s).api.brand,
|
|
80
|
+
username: r(this, s).api.user,
|
|
85
81
|
...t
|
|
86
82
|
});
|
|
87
83
|
}
|
|
88
84
|
async getLastRound() {
|
|
89
|
-
return
|
|
85
|
+
return r(this, s).api.lastRoundId ? this.getRound(r(this, s).api.lastRoundId) : null;
|
|
90
86
|
}
|
|
91
87
|
async getRounds({
|
|
92
88
|
searchPeriod: i = {
|
|
93
|
-
fromDateTime:
|
|
94
|
-
toDateTime:
|
|
89
|
+
fromDateTime: H(),
|
|
90
|
+
toDateTime: M()
|
|
95
91
|
},
|
|
96
|
-
pagination: t =
|
|
92
|
+
pagination: t = I
|
|
97
93
|
} = {}) {
|
|
98
|
-
const
|
|
99
|
-
return
|
|
100
|
-
gameCode:
|
|
101
|
-
operatorCode:
|
|
102
|
-
username:
|
|
94
|
+
const n = r(this, s).api.user.replace(/^user_/, "").replace(new RegExp(`_${r(this, s).api.integration}$`), "");
|
|
95
|
+
return r(this, f).getRounds({
|
|
96
|
+
gameCode: r(this, s).api.game,
|
|
97
|
+
operatorCode: r(this, s).api.integration,
|
|
98
|
+
username: n,
|
|
103
99
|
fromDataTime: i.fromDateTime.toISOString(),
|
|
104
100
|
toDateTime: i.toDateTime.toISOString(),
|
|
105
101
|
...t
|
|
@@ -107,15 +103,15 @@ class $ {
|
|
|
107
103
|
}
|
|
108
104
|
}
|
|
109
105
|
s = new WeakMap(), f = new WeakMap();
|
|
110
|
-
function _(
|
|
111
|
-
return
|
|
106
|
+
function _(m, i) {
|
|
107
|
+
return m * i / 100;
|
|
112
108
|
}
|
|
113
|
-
function
|
|
109
|
+
function G(m, i, t) {
|
|
114
110
|
if (!["string", "number"].includes(typeof i))
|
|
115
111
|
return "NaN";
|
|
116
|
-
const { locales:
|
|
112
|
+
const { locales: n } = m;
|
|
117
113
|
try {
|
|
118
|
-
return new Intl.NumberFormat(
|
|
114
|
+
return new Intl.NumberFormat(n, {
|
|
119
115
|
...t,
|
|
120
116
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
121
117
|
// @ts-ignore
|
|
@@ -127,7 +123,7 @@ function O(n, i, t) {
|
|
|
127
123
|
}
|
|
128
124
|
}
|
|
129
125
|
const S = "XTS";
|
|
130
|
-
var F = /* @__PURE__ */ ((
|
|
126
|
+
var F = /* @__PURE__ */ ((m) => (m.Currency = "Currency", m.Number = "Number", m))(F || {}), y = /* @__PURE__ */ ((m) => (m.Coins = "Coins", m.Money = "Money", m))(y || {});
|
|
131
127
|
const w = {
|
|
132
128
|
/* eslint-disable sort-keys-fix/sort-keys-fix */
|
|
133
129
|
// ARSB is the internal currency relevant for invoicing purposes, players should see it as ARS
|
|
@@ -240,47 +236,88 @@ const w = {
|
|
|
240
236
|
// Kuwaiti Dinar
|
|
241
237
|
KWD: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
242
238
|
// MicroGame
|
|
243
|
-
BNS: { maximumFractionDigits: 2, minimumFractionDigits: 2 }
|
|
239
|
+
BNS: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
240
|
+
// Quanta
|
|
241
|
+
GRSC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
242
|
+
GRGC: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
243
|
+
// Softswiss
|
|
244
|
+
EEGP: { displayAs: "EP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
245
|
+
EPGP: { displayAs: "PP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
246
|
+
// https://kalamba.atlassian.net/browse/FRAM-1829
|
|
247
|
+
// Myanmar Kyat
|
|
248
|
+
MMK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
249
|
+
// West African CFA franc
|
|
250
|
+
XOF: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
251
|
+
// Vietnamese dong
|
|
252
|
+
VND: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
253
|
+
// Burundian franc
|
|
254
|
+
BIF: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
255
|
+
// Chilean peso
|
|
256
|
+
CLP: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
257
|
+
// Guinean franc
|
|
258
|
+
GNF: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
259
|
+
// Iraqi dinar
|
|
260
|
+
IQD: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
261
|
+
// Icelandic króna
|
|
262
|
+
ISK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
263
|
+
// Paraguayan guaraní
|
|
264
|
+
PYG: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
265
|
+
// Central African CFA franc
|
|
266
|
+
XAF: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
267
|
+
// Lao kip
|
|
268
|
+
LAK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
269
|
+
// Lebanese pound
|
|
270
|
+
LBP: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
271
|
+
// Malagasy ariary
|
|
272
|
+
MGA: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
273
|
+
// Somali shilling
|
|
274
|
+
SOS: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
275
|
+
// Ugandan shilling
|
|
276
|
+
UGX: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
277
|
+
// Albanian lek
|
|
278
|
+
ALL: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
279
|
+
// Iranian rial
|
|
280
|
+
IRR: { maximumFractionDigits: 2, minimumFractionDigits: 2 }
|
|
244
281
|
/* eslint-enable sort-keys-fix/sort-keys-fix */
|
|
245
282
|
};
|
|
246
|
-
function
|
|
247
|
-
return
|
|
283
|
+
function P(m) {
|
|
284
|
+
return m in w;
|
|
248
285
|
}
|
|
249
|
-
function
|
|
250
|
-
return
|
|
251
|
-
...w[
|
|
286
|
+
function X(m) {
|
|
287
|
+
return P(m) ? {
|
|
288
|
+
...w[m],
|
|
252
289
|
currency: S
|
|
253
290
|
} : {
|
|
254
|
-
currency:
|
|
291
|
+
currency: m
|
|
255
292
|
};
|
|
256
293
|
}
|
|
257
|
-
function
|
|
258
|
-
const
|
|
259
|
-
return
|
|
294
|
+
function V(m, i, t) {
|
|
295
|
+
const n = i.format(+m);
|
|
296
|
+
return P(t) ? n.replace(S, w[t].displayAs ?? t) : n;
|
|
260
297
|
}
|
|
261
|
-
function
|
|
262
|
-
const { maximumFractionDigits:
|
|
263
|
-
return
|
|
298
|
+
function j(m, i, t) {
|
|
299
|
+
const { maximumFractionDigits: n, minimumFractionDigits: a } = t.resolvedOptions();
|
|
300
|
+
return G(m, i, { maximumFractionDigits: n, minimumFractionDigits: a });
|
|
264
301
|
}
|
|
265
|
-
function
|
|
302
|
+
function q(m, i, { as: t } = {
|
|
266
303
|
as: "Currency"
|
|
267
304
|
/* Currency */
|
|
268
305
|
}) {
|
|
269
|
-
const { canShowCurrency:
|
|
270
|
-
return t === "Number" || !
|
|
306
|
+
const { canShowCurrency: n, currency: a } = m;
|
|
307
|
+
return t === "Number" || !n ? `${i}` : `${i} ${a}`;
|
|
271
308
|
}
|
|
272
|
-
function W(
|
|
309
|
+
function W(m, i, { as: t, from: n } = {
|
|
273
310
|
as: "Currency",
|
|
274
311
|
from: "Money"
|
|
275
312
|
/* Money */
|
|
276
313
|
}, a) {
|
|
277
314
|
if (!["string", "number"].includes(typeof i))
|
|
278
315
|
return "NaN";
|
|
279
|
-
const { canShowCurrency: o = !0, coinValueInCents: g, currency:
|
|
280
|
-
|
|
316
|
+
const { canShowCurrency: o = !0, coinValueInCents: g, currency: d, locales: T } = m;
|
|
317
|
+
n === "Coins" && (i = _(+i, g));
|
|
281
318
|
try {
|
|
282
|
-
const
|
|
283
|
-
...
|
|
319
|
+
const B = X(d), R = new Intl.NumberFormat(T, {
|
|
320
|
+
...B,
|
|
284
321
|
...a,
|
|
285
322
|
currencyDisplay: "symbol",
|
|
286
323
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -288,29 +325,29 @@ function W(n, i, { as: t, from: r } = {
|
|
|
288
325
|
numberingSystem: "latn",
|
|
289
326
|
style: "currency"
|
|
290
327
|
});
|
|
291
|
-
return t === "Number" || !o ?
|
|
328
|
+
return t === "Number" || !o ? j(m, i, R) : V(i, R, d);
|
|
292
329
|
} catch {
|
|
293
|
-
return
|
|
330
|
+
return q(m, i, { as: t });
|
|
294
331
|
}
|
|
295
332
|
}
|
|
296
333
|
var c;
|
|
297
|
-
class
|
|
334
|
+
class v {
|
|
298
335
|
constructor({ config: i }) {
|
|
299
|
-
e(this, c
|
|
336
|
+
e(this, c);
|
|
300
337
|
u(this, c, i);
|
|
301
338
|
}
|
|
302
339
|
formatNumber(i, t) {
|
|
303
|
-
const
|
|
304
|
-
return
|
|
340
|
+
const n = { locales: [r(this, c).ui.language] };
|
|
341
|
+
return G(n, i, t);
|
|
305
342
|
}
|
|
306
|
-
formatCurrency(i, t = { as: F.Currency, from: y.Money },
|
|
307
|
-
const a =
|
|
343
|
+
formatCurrency(i, t = { as: F.Currency, from: y.Money }, n) {
|
|
344
|
+
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];
|
|
308
345
|
return W({
|
|
309
346
|
canShowCurrency: a,
|
|
310
347
|
coinValueInCents: o,
|
|
311
348
|
currency: g,
|
|
312
|
-
locales:
|
|
313
|
-
}, i, t,
|
|
349
|
+
locales: d
|
|
350
|
+
}, i, t, n);
|
|
314
351
|
}
|
|
315
352
|
formatCoins(i, t) {
|
|
316
353
|
return this.formatCurrency(i, { as: F.Number, from: y.Coins }, t);
|
|
@@ -326,52 +363,52 @@ class X {
|
|
|
326
363
|
}
|
|
327
364
|
}
|
|
328
365
|
c = new WeakMap();
|
|
329
|
-
const
|
|
366
|
+
const z = () => {
|
|
330
367
|
};
|
|
331
|
-
var l, C, p
|
|
332
|
-
class
|
|
368
|
+
var x, l, C, p;
|
|
369
|
+
class Q {
|
|
333
370
|
constructor({ messagePort: i }) {
|
|
334
|
-
e(this,
|
|
335
|
-
e(this,
|
|
336
|
-
e(this,
|
|
337
|
-
e(this,
|
|
338
|
-
u(this,
|
|
339
|
-
u(this,
|
|
371
|
+
e(this, x);
|
|
372
|
+
e(this, l);
|
|
373
|
+
e(this, C);
|
|
374
|
+
e(this, p);
|
|
375
|
+
u(this, p, i), this.on("configured", (t) => {
|
|
376
|
+
u(this, x, t), u(this, C, new v({ config: t })), u(this, l, new K({ config: t }));
|
|
340
377
|
}), this.on("playResponse", (t) => {
|
|
341
378
|
this.config.api.lastRoundId = t.contract.roundId;
|
|
342
379
|
});
|
|
343
380
|
}
|
|
344
381
|
get config() {
|
|
345
|
-
if (!
|
|
382
|
+
if (!r(this, x))
|
|
346
383
|
throw new Error("config is not initialized, you must open game first");
|
|
347
|
-
return
|
|
384
|
+
return r(this, x);
|
|
348
385
|
}
|
|
349
386
|
get history() {
|
|
350
|
-
if (!
|
|
387
|
+
if (!r(this, l))
|
|
351
388
|
throw new Error("config is not initialized, you must open game first");
|
|
352
|
-
return
|
|
389
|
+
return r(this, l);
|
|
353
390
|
}
|
|
354
391
|
get i18n() {
|
|
355
|
-
if (!
|
|
392
|
+
if (!r(this, C))
|
|
356
393
|
throw new Error("i18n is not initialized, you must open game first");
|
|
357
|
-
return
|
|
394
|
+
return r(this, C);
|
|
358
395
|
}
|
|
359
396
|
request(i, ...[t]) {
|
|
360
|
-
return new Promise((
|
|
361
|
-
this.on(`${i}Response`, (a) =>
|
|
397
|
+
return new Promise((n) => {
|
|
398
|
+
this.on(`${i}Response`, (a) => n({ type: "response", response: a }), {
|
|
362
399
|
once: !0
|
|
363
|
-
}), this.on(`${i}Error`, (a) =>
|
|
400
|
+
}), this.on(`${i}Error`, (a) => n({ type: "error", error: a }), { once: !0 }), this.send(i, t);
|
|
364
401
|
});
|
|
365
402
|
}
|
|
366
|
-
on(i, t,
|
|
403
|
+
on(i, t, n) {
|
|
367
404
|
const a = function o(g) {
|
|
368
|
-
g.data.message === `kalamba:wrapper:${i}` && (
|
|
405
|
+
g.data.message === `kalamba:wrapper:${i}` && (z("on", g.data.message.replace(/^kalamba:/, ""), g.data.payload), t(g.data.payload), n != null && n.once && window.removeEventListener("message", o));
|
|
369
406
|
};
|
|
370
407
|
window.addEventListener("message", a);
|
|
371
408
|
}
|
|
372
409
|
// TODO error messages
|
|
373
410
|
send(i, ...[t]) {
|
|
374
|
-
|
|
411
|
+
r(this, p).postMessage(
|
|
375
412
|
{
|
|
376
413
|
message: `kalamba:sdk:${i}`,
|
|
377
414
|
payload: t
|
|
@@ -383,24 +420,24 @@ class Y {
|
|
|
383
420
|
this.send("configure", i);
|
|
384
421
|
}
|
|
385
422
|
async openGame() {
|
|
386
|
-
const i = new Promise((
|
|
423
|
+
const i = new Promise((n) => this.on("configured", n, { once: !0 })), t = await this.request("openGame");
|
|
387
424
|
if (t.type === "response")
|
|
388
425
|
return await i, t.response;
|
|
389
|
-
throw t.error.type === "timeout" ? new
|
|
426
|
+
throw t.error.type === "timeout" ? new E() : new b(t.error.data);
|
|
390
427
|
}
|
|
391
|
-
async play(i, t,
|
|
392
|
-
const a = { contract: i, extra: t, actionType:
|
|
428
|
+
async play(i, t, n = "SPIN") {
|
|
429
|
+
const a = { contract: i, extra: t, actionType: n }, o = await this.request("play", a);
|
|
393
430
|
if (o.type === "response")
|
|
394
431
|
return o.response;
|
|
395
|
-
throw o.error.type === "timeout" ? new
|
|
432
|
+
throw o.error.type === "timeout" ? new E() : new b(o.error.data);
|
|
396
433
|
}
|
|
397
434
|
}
|
|
398
|
-
|
|
435
|
+
x = new WeakMap(), l = new WeakMap(), C = new WeakMap(), p = new WeakMap();
|
|
399
436
|
export {
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
437
|
+
K as History,
|
|
438
|
+
v as I18n,
|
|
439
|
+
Q as KalambaSdk,
|
|
440
|
+
b as RgsError,
|
|
441
|
+
ti as RgsErrorCode,
|
|
442
|
+
E as TimeoutError
|
|
406
443
|
};
|