@kalamba/sdk 0.19.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/index.cjs +1 -1
- package/dist/index.d.ts +10 -6
- package/dist/index.js +48 -43
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.d.ts +29 -8
- package/dist/plugins.js +851 -748
- package/dist/wrapper.cjs +1 -1
- package/dist/wrapper.d.ts +14 -8
- package/dist/wrapper.js +975 -956
- package/package.json +1 -1
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"),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;
|
|
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
|
@@ -40,12 +40,13 @@ export declare type CasinoOnlyMessagePayloadMap = {
|
|
|
40
40
|
};
|
|
41
41
|
close: never;
|
|
42
42
|
freeze: never;
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
getBalance: never;
|
|
44
|
+
help?: {
|
|
45
|
+
show: boolean;
|
|
45
46
|
};
|
|
46
47
|
history: History_3;
|
|
47
|
-
paytable
|
|
48
|
-
show
|
|
48
|
+
paytable?: {
|
|
49
|
+
show: boolean;
|
|
49
50
|
};
|
|
50
51
|
play: PlayRequest;
|
|
51
52
|
resume: never;
|
|
@@ -195,7 +196,7 @@ export declare class KalambaSdk {
|
|
|
195
196
|
get i18n(): I18n;
|
|
196
197
|
protected request<M extends DomainMessage<'sdk'>>(message: M, ...[payload]: DomainMessagePayload<'sdk', M> extends never ? [] : [payload: DomainMessagePayload<'sdk', M>]): Promise<RgsResponse<M>>;
|
|
197
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;
|
|
198
|
-
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;
|
|
199
200
|
configure(payload: DomainMessagePayload<'sdk', 'configure'>): void;
|
|
200
201
|
openGame(): Promise<OpenGameResponse_2>;
|
|
201
202
|
play(contract: ContractPlayPayload, extra?: unknown, actionType?: string): Promise<PlayResponse_2>;
|
|
@@ -394,6 +395,9 @@ export declare type RgsOnlyMessagePayloadMap = {
|
|
|
394
395
|
sumBetAmount: number;
|
|
395
396
|
sumWinAmount: number;
|
|
396
397
|
};
|
|
398
|
+
balance: {
|
|
399
|
+
balance: number;
|
|
400
|
+
};
|
|
397
401
|
};
|
|
398
402
|
|
|
399
403
|
export declare type RgsResponse<M extends DomainMessage<'sdk'>> = {
|
|
@@ -569,7 +573,7 @@ export declare type ToCasinoPluginsForwardedMessageMap = {
|
|
|
569
573
|
|
|
570
574
|
export declare type ToRgsPluginsForwardedMessageMap = {
|
|
571
575
|
sdk: Pick<SdkOnlyMessagePayloadMap, 'history' | 'openGame' | 'play'>;
|
|
572
|
-
casino: Pick<CasinoOnlyMessagePayloadMap, 'play' | 'cashier' | 'close' | 'history'>;
|
|
576
|
+
casino: Pick<CasinoOnlyMessagePayloadMap, 'play' | 'cashier' | 'close' | 'history' | 'getBalance'>;
|
|
573
577
|
rgs: undefined;
|
|
574
578
|
telemetry: undefined;
|
|
575
579
|
wrapper: undefined;
|
package/dist/index.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
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 E = (m, i, t) => i.has(m) ||
|
|
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) ?
|
|
10
|
-
import { T as N, R as
|
|
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
11
|
import { a as ni } from "./errors-NnLrKjTz.js";
|
|
12
12
|
import { d as ai, e as si } from "./encoders-BDr7fjKQ.js";
|
|
13
13
|
const M = 3e4;
|
|
@@ -39,37 +39,37 @@ class U {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
D = new WeakMap(), h = new WeakMap();
|
|
42
|
-
const
|
|
42
|
+
const I = Symbol.for("constructDateFrom");
|
|
43
43
|
function H(m, i) {
|
|
44
|
-
return typeof m == "function" ? m(i) : m && typeof m == "object" &&
|
|
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
45
|
}
|
|
46
|
-
function
|
|
46
|
+
function b(m, i) {
|
|
47
47
|
return H(m, m);
|
|
48
48
|
}
|
|
49
49
|
function k(m, i) {
|
|
50
|
-
const t =
|
|
50
|
+
const t = b(m);
|
|
51
51
|
return t.setHours(0, 0, 0, 0), t;
|
|
52
52
|
}
|
|
53
|
-
function
|
|
54
|
-
const t =
|
|
53
|
+
function K(m, i) {
|
|
54
|
+
const t = b(m);
|
|
55
55
|
return t.setHours(23, 59, 59, 999), t;
|
|
56
56
|
}
|
|
57
|
-
function
|
|
58
|
-
return
|
|
57
|
+
function $(m) {
|
|
58
|
+
return K(Date.now());
|
|
59
59
|
}
|
|
60
|
-
function
|
|
60
|
+
function X(m) {
|
|
61
61
|
return k(Date.now());
|
|
62
62
|
}
|
|
63
|
-
const
|
|
64
|
-
var s,
|
|
65
|
-
class
|
|
63
|
+
const O = { limit: 100, page: 0 };
|
|
64
|
+
var s, C;
|
|
65
|
+
class _ {
|
|
66
66
|
constructor({ config: i }) {
|
|
67
67
|
u(this, s);
|
|
68
|
-
u(this,
|
|
69
|
-
e(this, s, i), e(this,
|
|
68
|
+
u(this, C);
|
|
69
|
+
e(this, s, i), e(this, C, new U({ apiUrl: i.api.gameHistoryUrl }));
|
|
70
70
|
}
|
|
71
|
-
async getRound(i, { pagination: t =
|
|
72
|
-
return r(this,
|
|
71
|
+
async getRound(i, { pagination: t = O } = {}) {
|
|
72
|
+
return r(this, C).getRound(i, {
|
|
73
73
|
gameCode: r(this, s).api.game,
|
|
74
74
|
operatorCode: r(this, s).api.brand,
|
|
75
75
|
username: r(this, s).api.user,
|
|
@@ -80,11 +80,11 @@ class X {
|
|
|
80
80
|
return r(this, s).api.lastRoundId ? this.getRound(r(this, s).api.lastRoundId) : null;
|
|
81
81
|
}
|
|
82
82
|
async getRounds({
|
|
83
|
-
searchPeriod: i = { fromDateTime:
|
|
84
|
-
pagination: t =
|
|
83
|
+
searchPeriod: i = { fromDateTime: X(), toDateTime: $() },
|
|
84
|
+
pagination: t = O
|
|
85
85
|
} = {}) {
|
|
86
86
|
const n = r(this, s).api.user.replace(/^user_/, "").replace(new RegExp(`_${r(this, s).api.integration}$`), "");
|
|
87
|
-
return r(this,
|
|
87
|
+
return r(this, C).getRounds({
|
|
88
88
|
gameCode: r(this, s).api.game,
|
|
89
89
|
operatorCode: r(this, s).api.integration,
|
|
90
90
|
username: n,
|
|
@@ -94,11 +94,11 @@ class X {
|
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
s = new WeakMap(),
|
|
97
|
+
s = new WeakMap(), C = new WeakMap();
|
|
98
98
|
function V(m, i) {
|
|
99
99
|
return m * i / 100;
|
|
100
100
|
}
|
|
101
|
-
function
|
|
101
|
+
function L(m, i, t) {
|
|
102
102
|
if (!["string", "number"].includes(typeof i))
|
|
103
103
|
return "NaN";
|
|
104
104
|
const { locales: n } = m;
|
|
@@ -205,6 +205,8 @@ const w = {
|
|
|
205
205
|
GCLC: { displayAs: "GC.", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
206
206
|
SWPC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
207
207
|
LUKC: { displayAs: "LC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
208
|
+
TTSC: { displayAs: "SC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
209
|
+
TTGC: { displayAs: "GC", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
208
210
|
// Silvercash
|
|
209
211
|
SVC: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
210
212
|
// Polkadot
|
|
@@ -235,6 +237,9 @@ const w = {
|
|
|
235
237
|
// Softswiss
|
|
236
238
|
EEGP: { displayAs: "EP", maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
237
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 },
|
|
238
243
|
// https://kalamba.atlassian.net/browse/FRAM-1829
|
|
239
244
|
// Myanmar Kyat
|
|
240
245
|
MMK: { maximumFractionDigits: 2, minimumFractionDigits: 2 },
|
|
@@ -272,11 +277,11 @@ const w = {
|
|
|
272
277
|
IRR: { maximumFractionDigits: 2, minimumFractionDigits: 2 }
|
|
273
278
|
/* eslint-enable sort-keys-fix/sort-keys-fix */
|
|
274
279
|
};
|
|
275
|
-
function
|
|
280
|
+
function P(m) {
|
|
276
281
|
return m in w;
|
|
277
282
|
}
|
|
278
283
|
function q(m) {
|
|
279
|
-
return
|
|
284
|
+
return P(m) ? {
|
|
280
285
|
...w[m],
|
|
281
286
|
currency: S
|
|
282
287
|
} : {
|
|
@@ -285,11 +290,11 @@ function q(m) {
|
|
|
285
290
|
}
|
|
286
291
|
function W(m, i, t) {
|
|
287
292
|
const n = i.format(+m);
|
|
288
|
-
return
|
|
293
|
+
return P(t) ? n.replace(S, w[t].displayAs ?? t) : n;
|
|
289
294
|
}
|
|
290
295
|
function z(m, i, t) {
|
|
291
296
|
const { maximumFractionDigits: n, minimumFractionDigits: a } = t.resolvedOptions();
|
|
292
|
-
return
|
|
297
|
+
return L(m, i, { maximumFractionDigits: n, minimumFractionDigits: a });
|
|
293
298
|
}
|
|
294
299
|
function J(m, i, { as: t } = {
|
|
295
300
|
as: "Currency"
|
|
@@ -308,8 +313,8 @@ function j(m, i, { as: t, from: n } = {
|
|
|
308
313
|
const { canShowCurrency: o = !0, coinValueInCents: g, currency: d, locales: T } = m;
|
|
309
314
|
n === "Coins" && (i = V(+i, g));
|
|
310
315
|
try {
|
|
311
|
-
const
|
|
312
|
-
...
|
|
316
|
+
const B = q(d), A = new Intl.NumberFormat(T, {
|
|
317
|
+
...B,
|
|
313
318
|
...a,
|
|
314
319
|
currencyDisplay: "symbol",
|
|
315
320
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -317,7 +322,7 @@ function j(m, i, { as: t, from: n } = {
|
|
|
317
322
|
numberingSystem: "latn",
|
|
318
323
|
style: "currency"
|
|
319
324
|
});
|
|
320
|
-
return t === "Number" || !o ? z(m, i,
|
|
325
|
+
return t === "Number" || !o ? z(m, i, A) : W(i, A, d);
|
|
321
326
|
} catch {
|
|
322
327
|
return J(m, i, { as: t });
|
|
323
328
|
}
|
|
@@ -330,7 +335,7 @@ class Y {
|
|
|
330
335
|
}
|
|
331
336
|
formatNumber(i, t) {
|
|
332
337
|
const n = { locales: [r(this, c).ui.language] };
|
|
333
|
-
return
|
|
338
|
+
return L(n, i, t);
|
|
334
339
|
}
|
|
335
340
|
formatCurrency(i, t = { as: F.Currency, from: y.Money }, n) {
|
|
336
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];
|
|
@@ -357,15 +362,15 @@ class Y {
|
|
|
357
362
|
c = new WeakMap();
|
|
358
363
|
const v = () => {
|
|
359
364
|
};
|
|
360
|
-
var x,
|
|
365
|
+
var x, f, p, l;
|
|
361
366
|
class ii {
|
|
362
367
|
constructor({ messagePort: i }) {
|
|
363
368
|
u(this, x);
|
|
364
|
-
u(this,
|
|
369
|
+
u(this, f);
|
|
365
370
|
u(this, p);
|
|
366
371
|
u(this, l);
|
|
367
372
|
e(this, l, i), this.on("configured", (t) => {
|
|
368
|
-
e(this, x, t), e(this, p, new Y({ config: t })), e(this,
|
|
373
|
+
e(this, x, t), e(this, p, new Y({ config: t })), e(this, f, new _({ config: t }));
|
|
369
374
|
}), this.on("playResponse", (t) => {
|
|
370
375
|
this.config.api.lastRoundId = t.contract.roundId;
|
|
371
376
|
});
|
|
@@ -376,9 +381,9 @@ class ii {
|
|
|
376
381
|
return r(this, x);
|
|
377
382
|
}
|
|
378
383
|
get history() {
|
|
379
|
-
if (!r(this,
|
|
384
|
+
if (!r(this, f))
|
|
380
385
|
throw new Error("config is not initialized, you must open game first");
|
|
381
|
-
return r(this,
|
|
386
|
+
return r(this, f);
|
|
382
387
|
}
|
|
383
388
|
get i18n() {
|
|
384
389
|
if (!r(this, p))
|
|
@@ -415,21 +420,21 @@ class ii {
|
|
|
415
420
|
const i = new Promise((n) => this.on("configured", n, { once: !0 })), t = await this.request("openGame");
|
|
416
421
|
if (t.type === "response")
|
|
417
422
|
return await i, t.response;
|
|
418
|
-
throw t.error.type === "timeout" ? new N() : new
|
|
423
|
+
throw t.error.type === "timeout" ? new N() : new G(t.error.data);
|
|
419
424
|
}
|
|
420
425
|
async play(i, t, n = "SPIN") {
|
|
421
426
|
const a = { contract: i, extra: t, actionType: n }, o = await this.request("play", a);
|
|
422
427
|
if (o.type === "response")
|
|
423
428
|
return o.response;
|
|
424
|
-
throw o.error.type === "timeout" ? new N() : new
|
|
429
|
+
throw o.error.type === "timeout" ? new N() : new G(o.error.data);
|
|
425
430
|
}
|
|
426
431
|
}
|
|
427
|
-
x = new WeakMap(),
|
|
432
|
+
x = new WeakMap(), f = new WeakMap(), p = new WeakMap(), l = new WeakMap();
|
|
428
433
|
export {
|
|
429
|
-
|
|
434
|
+
_ as History,
|
|
430
435
|
Y as I18n,
|
|
431
436
|
ii as KalambaSdk,
|
|
432
|
-
|
|
437
|
+
G as RgsError,
|
|
433
438
|
ni as RgsErrorCode,
|
|
434
439
|
N as TimeoutError,
|
|
435
440
|
ai as decoders,
|