@kalamba/sdk 0.13.2 → 0.19.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/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 +31 -16
- package/dist/index.js +89 -93
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.d.ts +29 -17
- package/dist/plugins.js +1158 -926
- 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 +26 -15
- package/dist/wrapper.js +2351 -1348
- package/package.json +13 -15
- 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 N=(m,i,t)=>{if(!i.has(m))throw TypeError("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)=>{if(i.has(m))throw TypeError("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-db453887.cjs");function b(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 H(m){const i=b(m);return i.setHours(23,59,59,999),i}function P(){return H(Date.now())}function U(m){const i=b(m);return i.setHours(0,0,0,0),i}function G(){return U(Date.now())}const k=3e4;var F,S;class ${constructor(i){e(this,F,void 0);e(this,S,k);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 A={limit:100,page:0};var o,l;class I{constructor({config:i}){e(this,o,void 0);e(this,l,void 0);u(this,o,i),u(this,l,new $({apiUrl:i.api.gameHistoryUrl}))}async getRound(i,{pagination:t=A}={}){return r(this,l).getRound(i,{gameCode:r(this,o).api.game,operatorCode:r(this,o).api.brand,username:r(this,o).api.user,...t})}async getLastRound(){return r(this,o).api.lastRoundId?this.getRound(r(this,o).api.lastRoundId):null}async getRounds({searchPeriod:i={fromDateTime:G(),toDateTime:P()},pagination:t=A}={}){const n=r(this,o).api.user.replace(/^user_/,"").replace(new RegExp(`_${r(this,o).api.integration}$`),"");return r(this,l).getRounds({gameCode:r(this,o).api.game,operatorCode:r(this,o).api.integration,username:n,fromDataTime:i.fromDateTime.toISOString(),toDateTime:i.toDateTime.toISOString(),...t})}}o=new WeakMap,l=new WeakMap;function K(m,i){return m*i/100}function O(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||{}),f=(m=>(m.Coins="Coins",m.Money="Money",m))(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},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 T}function _(m){return M(m)?{...T[m],currency:w}:{currency:m}}function X(m,i,t){const n=i.format(+m);return M(t)?n.replace(w,T[t].displayAs??t):n}function j(m,i,t){const{maximumFractionDigits:n,minimumFractionDigits:a}=t.resolvedOptions();return O(m,i,{maximumFractionDigits:n,minimumFractionDigits:a})}function q(m,i,{as:t}={as:"Currency"}){const{canShowCurrency:n,currency:a}=m;return t==="Number"||!n?`${i}`:`${i} ${a}`}function V(m,i,{as:t,from:n}={as:"Currency",from:"Money"},a){if(!["string","number"].includes(typeof i))return"NaN";const{canShowCurrency:s=!0,coinValueInCents:g,currency:p,locales:R}=m;n==="Coins"&&(i=K(+i,g));try{const L=_(p),E=new Intl.NumberFormat(R,{...L,...a,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return t==="Number"||!s?j(m,i,E):X(i,E,p)}catch{return q(m,i,{as:t})}}var c;class B{constructor({config:i}){e(this,c,void 0);u(this,c,i)}formatNumber(i,t){const n={locales:[r(this,c).ui.language]};return O(n,i,t)}formatCurrency(i,t={as:y.Currency,from:f.Money},n){const a=r(this,c).ui.feature.showCurrency,s=r(this,c).api.coinValueInCents,g=r(this,c).api.currency||w,p=[r(this,c).ui.language];return V({canShowCurrency:a,coinValueInCents:s,currency:g,locales:p},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 W=()=>{};var x,C,d,h;class v{constructor({messagePort:i}){e(this,x,void 0);e(this,C,void 0);e(this,d,void 0);e(this,h,void 0);u(this,h,i),this.on("configured",t=>{u(this,x,t),u(this,d,new B({config:t})),u(this,C,new I({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 s(g){g.data.message===`kalamba:wrapper:${i}`&&(W("on",g.data.message.replace(/^kalamba:/,""),g.data.payload),t(g.data.payload),n!=null&&n.once&&window.removeEventListener("message",s))};window.addEventListener("message",a)}send(i,...[t]){r(this,h).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},s=await this.request("play",a);if(s.type==="response")return s.response;throw s.error.type==="timeout"?new D.TimeoutError:new D.RgsError(s.error.data)}}x=new WeakMap,C=new WeakMap,d=new WeakMap,h=new WeakMap;exports.RgsError=D.RgsError;exports.RgsErrorCode=D.RgsErrorCode;exports.TimeoutError=D.TimeoutError;exports.History=I;exports.I18n=B;exports.KalambaSdk=v;
|
|
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"),O=require("./encoders-DVHzIpWT.cjs"),U=3e4;var F,S;class k{constructor(i){e(this,F);e(this,S,U);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 I=Symbol.for("constructDateFrom");function $(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 P(m,i){return $(m,m)}function K(m,i){const t=P(m);return t.setHours(0,0,0,0),t}function _(m,i){const t=P(m);return t.setHours(23,59,59,999),t}function q(m){return _(Date.now())}function X(m){return K(Date.now())}const b={limit:100,page:0};var s,x;class G{constructor({config:i}){e(this,s);e(this,x);u(this,s,i),u(this,x,new k({apiUrl:i.api.gameHistoryUrl}))}async getRound(i,{pagination:t=b}={}){return r(this,x).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:X(),toDateTime:q()},pagination:t=b}={}){const n=r(this,s).api.user.replace(/^user_/,"").replace(new RegExp(`_${r(this,s).api.integration}$`),"");return r(this,x).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,x=new WeakMap;function V(m,i){return m*i/100}function M(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||{}),f=(m=>(m.Coins="Coins",m.Money="Money",m))(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},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 B(m){return m in T}function W(m){return B(m)?{...T[m],currency:w}:{currency:m}}function z(m,i,t){const n=i.format(+m);return B(t)?n.replace(w,T[t].displayAs??t):n}function j(m,i,t){const{maximumFractionDigits:n,minimumFractionDigits:o}=t.resolvedOptions();return M(m,i,{maximumFractionDigits:n,minimumFractionDigits:o})}function J(m,i,{as:t}={as:"Currency"}){const{canShowCurrency:n,currency:o}=m;return t==="Number"||!n?`${i}`:`${i} ${o}`}function v(m,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:h,locales:R}=m;n==="Coins"&&(i=V(+i,g));try{const H=W(h),E=new Intl.NumberFormat(R,{...H,...o,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return t==="Number"||!a?j(m,i,E):z(i,E,h)}catch{return J(m,i,{as:t})}}var c;class L{constructor({config:i}){e(this,c);u(this,c,i)}formatNumber(i,t){const n={locales:[r(this,c).ui.language]};return M(n,i,t)}formatCurrency(i,t={as:y.Currency,from:f.Money},n){const o=r(this,c).ui.feature.showCurrency,a=r(this,c).api.coinValueInCents,g=r(this,c).api.currency||w,h=[r(this,c).ui.language];return v({canShowCurrency:o,coinValueInCents:a,currency:g,locales:h},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 Y=()=>{};var C,l,d,p;class Q{constructor({messagePort:i}){e(this,C);e(this,l);e(this,d);e(this,p);u(this,p,i),this.on("configured",t=>{u(this,C,t),u(this,d,new L({config:t})),u(this,l,new G({config:t}))}),this.on("playResponse",t=>{this.config.api.lastRoundId=t.contract.roundId})}get config(){if(!r(this,C))throw new Error("config is not initialized, you must open game first");return r(this,C)}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`,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}`&&(Y("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]){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 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,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=G;exports.I18n=L;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;
|
|
@@ -62,6 +64,14 @@ export { CurrencyFormat }
|
|
|
62
64
|
|
|
63
65
|
export { CurrencyNumber }
|
|
64
66
|
|
|
67
|
+
export declare type Decoder = (data: any) => unknown;
|
|
68
|
+
|
|
69
|
+
export declare type Decoders = keyof typeof decoders;
|
|
70
|
+
|
|
71
|
+
export declare const decoders: {
|
|
72
|
+
json: (text: string, reviver?: (this: any, key: string, value: any) => any) => any;
|
|
73
|
+
};
|
|
74
|
+
|
|
65
75
|
export declare type DomainAllowedPayloadMap<P extends DomainPrefix> = DomainToMessagePayloadMap[P];
|
|
66
76
|
|
|
67
77
|
export declare type DomainMessage<P extends DomainPrefix> = keyof DomainAllowedPayloadMap<P>;
|
|
@@ -83,6 +93,17 @@ export declare type DomainToMessagePayloadMap = {
|
|
|
83
93
|
telemetry: TelemetryOnlyMessagePayloadMap;
|
|
84
94
|
};
|
|
85
95
|
|
|
96
|
+
export declare type Encoder = (data: any) => unknown;
|
|
97
|
+
|
|
98
|
+
export declare type Encoders = keyof typeof encoders;
|
|
99
|
+
|
|
100
|
+
export declare const encoders: {
|
|
101
|
+
json: {
|
|
102
|
+
(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
|
|
103
|
+
(value: any, replacer?: (number | string)[] | null, space?: string | number): string;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
|
|
86
107
|
export { FormatCurrencyOptions }
|
|
87
108
|
|
|
88
109
|
export declare type ForwardToPluginsMessage<P extends PluginDomain> = keyof ForwardToPluginsMessageMap<'sdk'>[P] | keyof ForwardToPluginsMessageMap<'rgs'>[P] | keyof ForwardToPluginsMessageMap<'casino'>[P] | keyof ForwardToPluginsMessageMap<'telemetry'>[P];
|
|
@@ -176,8 +197,8 @@ export declare class KalambaSdk {
|
|
|
176
197
|
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
198
|
send<M extends DomainMessage<'sdk'>>(message: M, ...[payload]: DomainMessagePayload<'sdk', M> extends never ? [] : [DomainMessagePayload<'sdk', M>]): void;
|
|
178
199
|
configure(payload: DomainMessagePayload<'sdk', 'configure'>): void;
|
|
179
|
-
openGame(): Promise<
|
|
180
|
-
play(contract: ContractPlayPayload, extra?: unknown, actionType?: string): Promise<
|
|
200
|
+
openGame(): Promise<OpenGameResponse_2>;
|
|
201
|
+
play(contract: ContractPlayPayload, extra?: unknown, actionType?: string): Promise<PlayResponse_2>;
|
|
181
202
|
}
|
|
182
203
|
|
|
183
204
|
export declare type Message = keyof MessageMap;
|
|
@@ -395,7 +416,7 @@ export declare interface SdkConfig {
|
|
|
395
416
|
homeUrl?: string;
|
|
396
417
|
integration: string;
|
|
397
418
|
integrationData?: unknown;
|
|
398
|
-
jurisdiction: string;
|
|
419
|
+
jurisdiction: string | null;
|
|
399
420
|
playMode: 'FUN' | 'REAL';
|
|
400
421
|
user: string;
|
|
401
422
|
sessionId: string;
|
|
@@ -500,22 +521,14 @@ export declare type SdkOnlyMessagePayloadMap = {
|
|
|
500
521
|
/**
|
|
501
522
|
* ```typescript
|
|
502
523
|
* {
|
|
503
|
-
*
|
|
504
|
-
*
|
|
505
|
-
*
|
|
506
|
-
*
|
|
507
|
-
* }
|
|
508
|
-
* },
|
|
509
|
-
* pl: {
|
|
510
|
-
* my_custom_error: 'Coś poszło nie tak',
|
|
511
|
-
* RgsError: {
|
|
512
|
-
* OUT_OF_MONEY: 'Nie masz już środków',
|
|
513
|
-
* }
|
|
514
|
-
* }
|
|
524
|
+
* my_custom_error: 'Something went wrong',
|
|
525
|
+
* RgsError: {
|
|
526
|
+
* OUT_OF_MONEY: 'You are out of credits',
|
|
527
|
+
* }
|
|
515
528
|
* }
|
|
516
529
|
* ```
|
|
517
530
|
*/
|
|
518
|
-
translations:
|
|
531
|
+
translations: NestedRecord<string, string>;
|
|
519
532
|
settings: Settings;
|
|
520
533
|
'telemetry.click': {
|
|
521
534
|
location: string;
|
|
@@ -573,6 +586,8 @@ export declare type ToTelemetryPluginsForwardedMessageMap = {
|
|
|
573
586
|
};
|
|
574
587
|
|
|
575
588
|
export declare type WrapperConfig = {
|
|
589
|
+
dataDecoder?: Decoders;
|
|
590
|
+
dataEncoder?: Encoders;
|
|
576
591
|
gameName: string;
|
|
577
592
|
gameVersion: string;
|
|
578
593
|
gameHistoryUrl?: string;
|
package/dist/index.js
CHANGED
|
@@ -2,42 +2,21 @@
|
|
|
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
|
-
import { a as ii } from "./errors-7cbbda8a.js";
|
|
16
|
-
function I(m) {
|
|
17
|
-
const i = Object.prototype.toString.call(m);
|
|
18
|
-
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
|
-
}
|
|
20
|
-
function M(m) {
|
|
21
|
-
const i = I(m);
|
|
22
|
-
return i.setHours(23, 59, 59, 999), i;
|
|
23
|
-
}
|
|
24
|
-
function U() {
|
|
25
|
-
return M(Date.now());
|
|
26
|
-
}
|
|
27
|
-
function G(m) {
|
|
28
|
-
const i = I(m);
|
|
29
|
-
return i.setHours(0, 0, 0, 0), i;
|
|
30
|
-
}
|
|
31
|
-
function H() {
|
|
32
|
-
return G(Date.now());
|
|
33
|
-
}
|
|
34
|
-
const P = 3e4;
|
|
8
|
+
var E = (m, i, t) => i.has(m) || A("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) ? A("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 I } 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;
|
|
35
14
|
var D, h;
|
|
36
|
-
class
|
|
15
|
+
class U {
|
|
37
16
|
constructor(i) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
17
|
+
u(this, D);
|
|
18
|
+
u(this, h, M);
|
|
19
|
+
e(this, D, i);
|
|
41
20
|
}
|
|
42
21
|
buildHeaders() {
|
|
43
22
|
const i = {};
|
|
@@ -60,24 +39,36 @@ class k {
|
|
|
60
39
|
}
|
|
61
40
|
}
|
|
62
41
|
D = new WeakMap(), h = new WeakMap();
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
42
|
+
const O = Symbol.for("constructDateFrom");
|
|
43
|
+
function H(m, i) {
|
|
44
|
+
return typeof m == "function" ? m(i) : m && typeof m == "object" && O in m ? m[O](i) : m instanceof Date ? new m.constructor(i) : new Date(i);
|
|
45
|
+
}
|
|
46
|
+
function G(m, i) {
|
|
47
|
+
return H(m, m);
|
|
48
|
+
}
|
|
49
|
+
function k(m, i) {
|
|
50
|
+
const t = G(m);
|
|
51
|
+
return t.setHours(0, 0, 0, 0), t;
|
|
52
|
+
}
|
|
53
|
+
function $(m, i) {
|
|
54
|
+
const t = G(m);
|
|
55
|
+
return t.setHours(23, 59, 59, 999), t;
|
|
56
|
+
}
|
|
57
|
+
function K(m) {
|
|
58
|
+
return $(Date.now());
|
|
59
|
+
}
|
|
60
|
+
function _(m) {
|
|
61
|
+
return k(Date.now());
|
|
62
|
+
}
|
|
63
|
+
const b = { limit: 100, page: 0 };
|
|
67
64
|
var s, f;
|
|
68
|
-
class
|
|
69
|
-
constructor({
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
e(this, s,
|
|
73
|
-
e(this, f, void 0);
|
|
74
|
-
u(this, s, i), u(this, f, new k({
|
|
75
|
-
apiUrl: i.api.gameHistoryUrl
|
|
76
|
-
}));
|
|
65
|
+
class X {
|
|
66
|
+
constructor({ config: i }) {
|
|
67
|
+
u(this, s);
|
|
68
|
+
u(this, f);
|
|
69
|
+
e(this, s, i), e(this, f, new U({ apiUrl: i.api.gameHistoryUrl }));
|
|
77
70
|
}
|
|
78
|
-
async getRound(i, {
|
|
79
|
-
pagination: t = E
|
|
80
|
-
} = {}) {
|
|
71
|
+
async getRound(i, { pagination: t = b } = {}) {
|
|
81
72
|
return r(this, f).getRound(i, {
|
|
82
73
|
gameCode: r(this, s).api.game,
|
|
83
74
|
operatorCode: r(this, s).api.brand,
|
|
@@ -89,11 +80,8 @@ class $ {
|
|
|
89
80
|
return r(this, s).api.lastRoundId ? this.getRound(r(this, s).api.lastRoundId) : null;
|
|
90
81
|
}
|
|
91
82
|
async getRounds({
|
|
92
|
-
searchPeriod: i = {
|
|
93
|
-
|
|
94
|
-
toDateTime: U()
|
|
95
|
-
},
|
|
96
|
-
pagination: t = E
|
|
83
|
+
searchPeriod: i = { fromDateTime: _(), toDateTime: K() },
|
|
84
|
+
pagination: t = b
|
|
97
85
|
} = {}) {
|
|
98
86
|
const n = r(this, s).api.user.replace(/^user_/, "").replace(new RegExp(`_${r(this, s).api.integration}$`), "");
|
|
99
87
|
return r(this, f).getRounds({
|
|
@@ -107,10 +95,10 @@ class $ {
|
|
|
107
95
|
}
|
|
108
96
|
}
|
|
109
97
|
s = new WeakMap(), f = new WeakMap();
|
|
110
|
-
function
|
|
98
|
+
function V(m, i) {
|
|
111
99
|
return m * i / 100;
|
|
112
100
|
}
|
|
113
|
-
function
|
|
101
|
+
function P(m, i, t) {
|
|
114
102
|
if (!["string", "number"].includes(typeof i))
|
|
115
103
|
return "NaN";
|
|
116
104
|
const { locales: n } = m;
|
|
@@ -241,6 +229,12 @@ const w = {
|
|
|
241
229
|
KWD: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
242
230
|
// MicroGame
|
|
243
231
|
BNS: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
232
|
+
// Quanta
|
|
233
|
+
GRSC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
234
|
+
GRGC: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
235
|
+
// Softswiss
|
|
236
|
+
EEGP: { displayAs: "EP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
237
|
+
EPGP: { displayAs: "PP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
244
238
|
// https://kalamba.atlassian.net/browse/FRAM-1829
|
|
245
239
|
// Myanmar Kyat
|
|
246
240
|
MMK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
@@ -281,7 +275,7 @@ const w = {
|
|
|
281
275
|
function B(m) {
|
|
282
276
|
return m in w;
|
|
283
277
|
}
|
|
284
|
-
function
|
|
278
|
+
function q(m) {
|
|
285
279
|
return B(m) ? {
|
|
286
280
|
...w[m],
|
|
287
281
|
currency: S
|
|
@@ -289,22 +283,22 @@ function _(m) {
|
|
|
289
283
|
currency: m
|
|
290
284
|
};
|
|
291
285
|
}
|
|
292
|
-
function
|
|
286
|
+
function W(m, i, t) {
|
|
293
287
|
const n = i.format(+m);
|
|
294
288
|
return B(t) ? n.replace(S, w[t].displayAs ?? t) : n;
|
|
295
289
|
}
|
|
296
|
-
function
|
|
290
|
+
function z(m, i, t) {
|
|
297
291
|
const { maximumFractionDigits: n, minimumFractionDigits: a } = t.resolvedOptions();
|
|
298
|
-
return
|
|
292
|
+
return P(m, i, { maximumFractionDigits: n, minimumFractionDigits: a });
|
|
299
293
|
}
|
|
300
|
-
function
|
|
294
|
+
function J(m, i, { as: t } = {
|
|
301
295
|
as: "Currency"
|
|
302
296
|
/* Currency */
|
|
303
297
|
}) {
|
|
304
298
|
const { canShowCurrency: n, currency: a } = m;
|
|
305
299
|
return t === "Number" || !n ? `${i}` : `${i} ${a}`;
|
|
306
300
|
}
|
|
307
|
-
function
|
|
301
|
+
function j(m, i, { as: t, from: n } = {
|
|
308
302
|
as: "Currency",
|
|
309
303
|
from: "Money"
|
|
310
304
|
/* Money */
|
|
@@ -312,9 +306,9 @@ function q(m, i, { as: t, from: n } = {
|
|
|
312
306
|
if (!["string", "number"].includes(typeof i))
|
|
313
307
|
return "NaN";
|
|
314
308
|
const { canShowCurrency: o = !0, coinValueInCents: g, currency: d, locales: T } = m;
|
|
315
|
-
n === "Coins" && (i =
|
|
309
|
+
n === "Coins" && (i = V(+i, g));
|
|
316
310
|
try {
|
|
317
|
-
const L =
|
|
311
|
+
const L = q(d), R = new Intl.NumberFormat(T, {
|
|
318
312
|
...L,
|
|
319
313
|
...a,
|
|
320
314
|
currencyDisplay: "symbol",
|
|
@@ -323,24 +317,24 @@ function q(m, i, { as: t, from: n } = {
|
|
|
323
317
|
numberingSystem: "latn",
|
|
324
318
|
style: "currency"
|
|
325
319
|
});
|
|
326
|
-
return t === "Number" || !o ?
|
|
320
|
+
return t === "Number" || !o ? z(m, i, R) : W(i, R, d);
|
|
327
321
|
} catch {
|
|
328
|
-
return
|
|
322
|
+
return J(m, i, { as: t });
|
|
329
323
|
}
|
|
330
324
|
}
|
|
331
325
|
var c;
|
|
332
|
-
class
|
|
326
|
+
class Y {
|
|
333
327
|
constructor({ config: i }) {
|
|
334
|
-
|
|
335
|
-
|
|
328
|
+
u(this, c);
|
|
329
|
+
e(this, c, i);
|
|
336
330
|
}
|
|
337
331
|
formatNumber(i, t) {
|
|
338
332
|
const n = { locales: [r(this, c).ui.language] };
|
|
339
|
-
return
|
|
333
|
+
return P(n, i, t);
|
|
340
334
|
}
|
|
341
335
|
formatCurrency(i, t = { as: F.Currency, from: y.Money }, n) {
|
|
342
336
|
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];
|
|
343
|
-
return
|
|
337
|
+
return j({
|
|
344
338
|
canShowCurrency: a,
|
|
345
339
|
coinValueInCents: o,
|
|
346
340
|
currency: g,
|
|
@@ -363,15 +357,15 @@ class W {
|
|
|
363
357
|
c = new WeakMap();
|
|
364
358
|
const v = () => {
|
|
365
359
|
};
|
|
366
|
-
var x,
|
|
367
|
-
class
|
|
360
|
+
var x, C, p, l;
|
|
361
|
+
class ii {
|
|
368
362
|
constructor({ messagePort: i }) {
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
363
|
+
u(this, x);
|
|
364
|
+
u(this, C);
|
|
365
|
+
u(this, p);
|
|
366
|
+
u(this, l);
|
|
367
|
+
e(this, l, i), this.on("configured", (t) => {
|
|
368
|
+
e(this, x, t), e(this, p, new Y({ config: t })), e(this, C, new X({ config: t }));
|
|
375
369
|
}), this.on("playResponse", (t) => {
|
|
376
370
|
this.config.api.lastRoundId = t.contract.roundId;
|
|
377
371
|
});
|
|
@@ -382,14 +376,14 @@ class Y {
|
|
|
382
376
|
return r(this, x);
|
|
383
377
|
}
|
|
384
378
|
get history() {
|
|
385
|
-
if (!r(this,
|
|
379
|
+
if (!r(this, C))
|
|
386
380
|
throw new Error("config is not initialized, you must open game first");
|
|
387
|
-
return r(this,
|
|
381
|
+
return r(this, C);
|
|
388
382
|
}
|
|
389
383
|
get i18n() {
|
|
390
|
-
if (!r(this,
|
|
384
|
+
if (!r(this, p))
|
|
391
385
|
throw new Error("i18n is not initialized, you must open game first");
|
|
392
|
-
return r(this,
|
|
386
|
+
return r(this, p);
|
|
393
387
|
}
|
|
394
388
|
request(i, ...[t]) {
|
|
395
389
|
return new Promise((n) => {
|
|
@@ -406,7 +400,7 @@ class Y {
|
|
|
406
400
|
}
|
|
407
401
|
// TODO error messages
|
|
408
402
|
send(i, ...[t]) {
|
|
409
|
-
r(this,
|
|
403
|
+
r(this, l).postMessage(
|
|
410
404
|
{
|
|
411
405
|
message: `kalamba:sdk:${i}`,
|
|
412
406
|
payload: t
|
|
@@ -421,21 +415,23 @@ class Y {
|
|
|
421
415
|
const i = new Promise((n) => this.on("configured", n, { once: !0 })), t = await this.request("openGame");
|
|
422
416
|
if (t.type === "response")
|
|
423
417
|
return await i, t.response;
|
|
424
|
-
throw t.error.type === "timeout" ? new
|
|
418
|
+
throw t.error.type === "timeout" ? new N() : new I(t.error.data);
|
|
425
419
|
}
|
|
426
420
|
async play(i, t, n = "SPIN") {
|
|
427
421
|
const a = { contract: i, extra: t, actionType: n }, o = await this.request("play", a);
|
|
428
422
|
if (o.type === "response")
|
|
429
423
|
return o.response;
|
|
430
|
-
throw o.error.type === "timeout" ? new
|
|
424
|
+
throw o.error.type === "timeout" ? new N() : new I(o.error.data);
|
|
431
425
|
}
|
|
432
426
|
}
|
|
433
|
-
x = new WeakMap(),
|
|
427
|
+
x = new WeakMap(), C = new WeakMap(), p = new WeakMap(), l = new WeakMap();
|
|
434
428
|
export {
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
429
|
+
X as History,
|
|
430
|
+
Y as I18n,
|
|
431
|
+
ii as KalambaSdk,
|
|
432
|
+
I as RgsError,
|
|
433
|
+
ni as RgsErrorCode,
|
|
434
|
+
N as TimeoutError,
|
|
435
|
+
ai as decoders,
|
|
436
|
+
si as encoders
|
|
441
437
|
};
|