@kalamba/sdk 0.16.0 → 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/index.cjs +1 -1
- package/dist/index.d.ts +25 -2
- package/dist/index.js +87 -93
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.d.ts +21 -2
- package/dist/plugins.js +1143 -922
- 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 +20 -1
- package/dist/wrapper.js +70 -67
- package/package.json +12 -14
- package/dist/v4-BL_nLifx.js +0 -45
- package/dist/v4-C9_uc0A9.cjs +0 -5
package/dist/index.cjs
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* BSD 3-Clause License
|
|
3
3
|
* Copyright (c) 2025, Kalamba Games Limited
|
|
4
4
|
*/
|
|
5
|
-
"use strict";var A=m=>{throw TypeError(m)};var N=(m,i,t)=>i.has(m)||A("Cannot "+t);var r=(m,i,t)=>(N(m,i,"read from private field"),t?t.call(m):i.get(m)),e=(m,i,t)=>i.has(m)?A("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(m):i.set(m,t),u=(m,i,t,n)=>(N(m,i,"write to private field"),n?n.call(m,t):i.set(m,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./errors-BXO3dlhS.cjs");function I(m){const i=Object.prototype.toString.call(m);return m instanceof Date||typeof m=="object"&&i==="[object Date]"?new m.constructor(+m):typeof m=="number"||i==="[object Number]"||typeof m=="string"||i==="[object String]"?new Date(m):new Date(NaN)}function L(m){const i=I(m);return i.setHours(23,59,59,999),i}function H(){return L(Date.now())}function U(m){const i=I(m);return i.setHours(0,0,0,0),i}function k(){return U(Date.now())}const $=3e4;var F,S;class K{constructor(i){e(this,F);e(this,S,$);u(this,F,i)}buildHeaders(){const i={};return r(this,F).token&&(i.Authorization=`Bearer ${r(this,F).token}`),i}async request(i,t){const n=new URL(i,r(this,F).apiUrl??window.location.origin);return n.search=new URLSearchParams({...t}).toString(),await(await fetch(n,{signal:AbortSignal.timeout(r(this,S)),headers:this.buildHeaders()})).json()}async getRounds(i){return this.request("/rounds",i)}async getRound(i,t){return this.request(`/rounds/${i}`,t)}}F=new WeakMap,S=new WeakMap;const b={limit:100,page:0};var s,f;class O{constructor({config:i}){e(this,s);e(this,f);u(this,s,i),u(this,f,new K({apiUrl:i.api.gameHistoryUrl}))}async getRound(i,{pagination:t=b}={}){return r(this,f).getRound(i,{gameCode:r(this,s).api.game,operatorCode:r(this,s).api.brand,username:r(this,s).api.user,...t})}async getLastRound(){return r(this,s).api.lastRoundId?this.getRound(r(this,s).api.lastRoundId):null}async getRounds({searchPeriod:i={fromDateTime:k(),toDateTime:H()},pagination:t=b}={}){const n=r(this,s).api.user.replace(/^user_/,"").replace(new RegExp(`_${r(this,s).api.integration}$`),"");return r(this,f).getRounds({gameCode:r(this,s).api.game,operatorCode:r(this,s).api.integration,username:n,fromDataTime:i.fromDateTime.toISOString(),toDateTime:i.toDateTime.toISOString(),...t})}}s=new WeakMap,f=new WeakMap;function _(m,i){return m*i/100}function P(m,i,t){if(!["string","number"].includes(typeof i))return"NaN";const{locales:n}=m;try{return new Intl.NumberFormat(n,{...t,numberingSystem:"latn",style:"decimal"}).format(+i)}catch{return`${i}`}}const w="XTS";var y=(m=>(m.Currency="Currency",m.Number="Number",m))(y||{}),l=(m=>(m.Coins="Coins",m.Money="Money",m))(l||{});const T={ARSB:{displayAs:"ARS",maximumFractionDigits:2,minimumFractionDigits:2},CHIPS:{maximumFractionDigits:0,minimumFractionDigits:0},BNB:{maximumFractionDigits:6,minimumFractionDigits:6},BUSD:{maximumFractionDigits:4,minimumFractionDigits:4},BTC:{maximumFractionDigits:8,minimumFractionDigits:2},mBTC:{maximumFractionDigits:5,minimumFractionDigits:2},uBTC:{maximumFractionDigits:2,minimumFractionDigits:2},BCH:{maximumFractionDigits:8,minimumFractionDigits:2},mBCH:{maximumFractionDigits:2,minimumFractionDigits:2},ETH:{maximumFractionDigits:8,minimumFractionDigits:2},mETH:{maximumFractionDigits:5,minimumFractionDigits:2},uETH:{maximumFractionDigits:2,minimumFractionDigits:2},SOC:{maximumFractionDigits:8,minimumFractionDigits:2},LTC:{maximumFractionDigits:8,minimumFractionDigits:2},mLTC:{maximumFractionDigits:5,minimumFractionDigits:2},uLTC:{maximumFractionDigits:2,minimumFractionDigits:2},DOG:{maximumFractionDigits:4,minimumFractionDigits:2},USDC:{maximumFractionDigits:4,minimumFractionDigits:4},USDT:{maximumFractionDigits:4,minimumFractionDigits:2},TRX:{maximumFractionDigits:2,minimumFractionDigits:2},TUSD:{maximumFractionDigits:2,minimumFractionDigits:2},DAI:{maximumFractionDigits:2,minimumFractionDigits:2},XMR:{maximumFractionDigits:4,minimumFractionDigits:4},CBET:{maximumFractionDigits:0,minimumFractionDigits:0},kCBET:{maximumFractionDigits:2,minimumFractionDigits:2},SHIB:{maximumFractionDigits:0,minimumFractionDigits:0},kSHIB:{maximumFractionDigits:4,minimumFractionDigits:2},NEO:{maximumFractionDigits:4,minimumFractionDigits:4},BSV:{maximumFractionDigits:4,minimumFractionDigits:4},EOS:{maximumFractionDigits:4,minimumFractionDigits:4},DASH:{maximumFractionDigits:4,minimumFractionDigits:4},XLM:{maximumFractionDigits:2,minimumFractionDigits:2},KRW:{maximumFractionDigits:2,minimumFractionDigits:2},kVND:{maximumFractionDigits:4,minimumFractionDigits:2},kIDR:{maximumFractionDigits:4,minimumFractionDigits:2},RSD:{maximumFractionDigits:2,minimumFractionDigits:2},STAKEGC:{displayAs:"GC",maximumFractionDigits:0,minimumFractionDigits:0},STAKESC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},"BK.":{maximumFractionDigits:2,minimumFractionDigits:2},"BT.":{maximumFractionDigits:2,minimumFractionDigits:2},"FC.":{maximumFractionDigits:2,minimumFractionDigits:2},"GC.":{maximumFractionDigits:2,minimumFractionDigits:2},"SC.":{maximumFractionDigits:2,minimumFractionDigits:2},GC:{maximumFractionDigits:2,minimumFractionDigits:2},SC:{maximumFractionDigits:2,minimumFractionDigits:2},GLD:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SS1:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},SWEP:{displayAs:"SC.",maximumFractionDigits:2,minimumFractionDigits:2},GCLC:{displayAs:"GC.",maximumFractionDigits:2,minimumFractionDigits:2},SWPC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},LUKC:{displayAs:"LC",maximumFractionDigits:2,minimumFractionDigits:2},SVC:{maximumFractionDigits:2,minimumFractionDigits:2},DOT:{maximumFractionDigits:4,minimumFractionDigits:4},SOL:{maximumFractionDigits:4,minimumFractionDigits:4},XRP:{maximumFractionDigits:2,minimumFractionDigits:2},ADA:{maximumFractionDigits:2,minimumFractionDigits:2},TON:{maximumFractionDigits:4,minimumFractionDigits:4},FTN:{maximumFractionDigits:4,minimumFractionDigits:4},OMR:{maximumFractionDigits:2,minimumFractionDigits:2},JOD:{maximumFractionDigits:2,minimumFractionDigits:2},BHD:{maximumFractionDigits:2,minimumFractionDigits:2},KWD:{maximumFractionDigits:2,minimumFractionDigits:2},BNS:{maximumFractionDigits:2,minimumFractionDigits:2},GRSC:{displayAs:"SC",maximumFractionDigits:2,minimumFractionDigits:2},GRGC:{displayAs:"GC",maximumFractionDigits:2,minimumFractionDigits:2},EEGP:{displayAs:"EP",maximumFractionDigits:2,minimumFractionDigits:2},EPGP:{displayAs:"PP",maximumFractionDigits:2,minimumFractionDigits:2},MMK:{maximumFractionDigits:2,minimumFractionDigits:2},XOF:{maximumFractionDigits:2,minimumFractionDigits:2},VND:{maximumFractionDigits:2,minimumFractionDigits:2},BIF:{maximumFractionDigits:2,minimumFractionDigits:2},CLP:{maximumFractionDigits:2,minimumFractionDigits:2},GNF:{maximumFractionDigits:2,minimumFractionDigits:2},IQD:{maximumFractionDigits:2,minimumFractionDigits:2},ISK:{maximumFractionDigits:2,minimumFractionDigits:2},PYG:{maximumFractionDigits:2,minimumFractionDigits:2},XAF:{maximumFractionDigits:2,minimumFractionDigits:2},LAK:{maximumFractionDigits:2,minimumFractionDigits:2},LBP:{maximumFractionDigits:2,minimumFractionDigits:2},MGA:{maximumFractionDigits:2,minimumFractionDigits:2},SOS:{maximumFractionDigits:2,minimumFractionDigits:2},UGX:{maximumFractionDigits:2,minimumFractionDigits:2},ALL:{maximumFractionDigits:2,minimumFractionDigits:2},IRR:{maximumFractionDigits:2,minimumFractionDigits:2}};function G(m){return m in T}function X(m){return G(m)?{...T[m],currency:w}:{currency:m}}function j(m,i,t){const n=i.format(+m);return G(t)?n.replace(w,T[t].displayAs??t):n}function q(m,i,t){const{maximumFractionDigits:n,minimumFractionDigits:a}=t.resolvedOptions();return P(m,i,{maximumFractionDigits:n,minimumFractionDigits:a})}function V(m,i,{as:t}={as:"Currency"}){const{canShowCurrency:n,currency:a}=m;return t==="Number"||!n?`${i}`:`${i} ${a}`}function W(m,i,{as:t,from:n}={as:"Currency",from:"Money"},a){if(!["string","number"].includes(typeof i))return"NaN";const{canShowCurrency:o=!0,coinValueInCents:g,currency:h,locales:R}=m;n==="Coins"&&(i=_(+i,g));try{const B=X(h),E=new Intl.NumberFormat(R,{...B,...a,currencyDisplay:"symbol",numberingSystem:"latn",style:"currency"});return t==="Number"||!o?q(m,i,E):j(i,E,h)}catch{return V(m,i,{as:t})}}var c;class M{constructor({config:i}){e(this,c);u(this,c,i)}formatNumber(i,t){const n={locales:[r(this,c).ui.language]};return P(n,i,t)}formatCurrency(i,t={as:y.Currency,from:l.Money},n){const a=r(this,c).ui.feature.showCurrency,o=r(this,c).api.coinValueInCents,g=r(this,c).api.currency||w,h=[r(this,c).ui.language];return W({canShowCurrency:a,coinValueInCents:o,currency:g,locales:h},i,t,n)}formatCoins(i,t){return this.formatCurrency(i,{as:y.Number,from:l.Coins},t)}formatCoinsWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:l.Coins},t)}formatMoney(i,t){return this.formatCurrency(i,{as:y.Number,from:l.Money},t)}formatMoneyWithCurrency(i,t){return this.formatCurrency(i,{as:y.Currency,from:l.Money},t)}}c=new WeakMap;const v=()=>{};var x,C,d,p;class z{constructor({messagePort:i}){e(this,x);e(this,C);e(this,d);e(this,p);u(this,p,i),this.on("configured",t=>{u(this,x,t),u(this,d,new M({config:t})),u(this,C,new O({config:t}))}),this.on("playResponse",t=>{this.config.api.lastRoundId=t.contract.roundId})}get config(){if(!r(this,x))throw new Error("config is not initialized, you must open game first");return r(this,x)}get history(){if(!r(this,C))throw new Error("config is not initialized, you must open game first");return r(this,C)}get i18n(){if(!r(this,d))throw new Error("i18n is not initialized, you must open game first");return r(this,d)}request(i,...[t]){return new Promise(n=>{this.on(`${i}Response`,a=>n({type:"response",response:a}),{once:!0}),this.on(`${i}Error`,a=>n({type:"error",error:a}),{once:!0}),this.send(i,t)})}on(i,t,n){const a=function o(g){g.data.message===`kalamba:wrapper:${i}`&&(v("on",g.data.message.replace(/^kalamba:/,""),g.data.payload),t(g.data.payload),n!=null&&n.once&&window.removeEventListener("message",o))};window.addEventListener("message",a)}send(i,...[t]){r(this,p).postMessage({message:`kalamba:sdk:${i}`,payload:t},"*")}configure(i){this.send("configure",i)}async openGame(){const i=new Promise(n=>this.on("configured",n,{once:!0})),t=await this.request("openGame");if(t.type==="response")return await i,t.response;throw t.error.type==="timeout"?new D.TimeoutError:new D.RgsError(t.error.data)}async play(i,t,n="SPIN"){const a={contract:i,extra:t,actionType:n},o=await this.request("play",a);if(o.type==="response")return o.response;throw o.error.type==="timeout"?new D.TimeoutError:new D.RgsError(o.error.data)}}x=new WeakMap,C=new WeakMap,d=new WeakMap,p=new WeakMap;exports.RgsError=D.RgsError;exports.RgsErrorCode=D.RgsErrorCode;exports.TimeoutError=D.TimeoutError;exports.History=O;exports.I18n=M;exports.KalambaSdk=z;
|
|
5
|
+
"use strict";var 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;
|
|
@@ -565,6 +586,8 @@ export declare type ToTelemetryPluginsForwardedMessageMap = {
|
|
|
565
586
|
};
|
|
566
587
|
|
|
567
588
|
export declare type WrapperConfig = {
|
|
589
|
+
dataDecoder?: Decoders;
|
|
590
|
+
dataEncoder?: Encoders;
|
|
568
591
|
gameName: string;
|
|
569
592
|
gameVersion: string;
|
|
570
593
|
gameHistoryUrl?: string;
|
package/dist/index.js
CHANGED
|
@@ -5,35 +5,18 @@
|
|
|
5
5
|
var A = (m) => {
|
|
6
6
|
throw TypeError(m);
|
|
7
7
|
};
|
|
8
|
-
var
|
|
9
|
-
var r = (m, i, t) => (
|
|
10
|
-
import { T as
|
|
11
|
-
import { a as
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return m instanceof Date || typeof m == "object" && i === "[object Date]" ? new m.constructor(+m) : typeof m == "number" || i === "[object Number]" || typeof m == "string" || i === "[object String]" ? new Date(m) : /* @__PURE__ */ new Date(NaN);
|
|
15
|
-
}
|
|
16
|
-
function L(m) {
|
|
17
|
-
const i = O(m);
|
|
18
|
-
return i.setHours(23, 59, 59, 999), i;
|
|
19
|
-
}
|
|
20
|
-
function M() {
|
|
21
|
-
return L(Date.now());
|
|
22
|
-
}
|
|
23
|
-
function U(m) {
|
|
24
|
-
const i = O(m);
|
|
25
|
-
return i.setHours(0, 0, 0, 0), i;
|
|
26
|
-
}
|
|
27
|
-
function H() {
|
|
28
|
-
return U(Date.now());
|
|
29
|
-
}
|
|
30
|
-
const k = 3e4;
|
|
8
|
+
var E = (m, i, t) => i.has(m) || 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;
|
|
31
14
|
var D, h;
|
|
32
|
-
class
|
|
15
|
+
class U {
|
|
33
16
|
constructor(i) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
17
|
+
u(this, D);
|
|
18
|
+
u(this, h, M);
|
|
19
|
+
e(this, D, i);
|
|
37
20
|
}
|
|
38
21
|
buildHeaders() {
|
|
39
22
|
const i = {};
|
|
@@ -56,24 +39,36 @@ class $ {
|
|
|
56
39
|
}
|
|
57
40
|
}
|
|
58
41
|
D = new WeakMap(), h = new WeakMap();
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
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 };
|
|
63
64
|
var s, f;
|
|
64
|
-
class
|
|
65
|
-
constructor({
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
e(this, s);
|
|
69
|
-
e(this, f);
|
|
70
|
-
u(this, s, i), u(this, f, new $({
|
|
71
|
-
apiUrl: i.api.gameHistoryUrl
|
|
72
|
-
}));
|
|
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 }));
|
|
73
70
|
}
|
|
74
|
-
async getRound(i, {
|
|
75
|
-
pagination: t = I
|
|
76
|
-
} = {}) {
|
|
71
|
+
async getRound(i, { pagination: t = b } = {}) {
|
|
77
72
|
return r(this, f).getRound(i, {
|
|
78
73
|
gameCode: r(this, s).api.game,
|
|
79
74
|
operatorCode: r(this, s).api.brand,
|
|
@@ -85,11 +80,8 @@ class K {
|
|
|
85
80
|
return r(this, s).api.lastRoundId ? this.getRound(r(this, s).api.lastRoundId) : null;
|
|
86
81
|
}
|
|
87
82
|
async getRounds({
|
|
88
|
-
searchPeriod: i = {
|
|
89
|
-
|
|
90
|
-
toDateTime: M()
|
|
91
|
-
},
|
|
92
|
-
pagination: t = I
|
|
83
|
+
searchPeriod: i = { fromDateTime: _(), toDateTime: K() },
|
|
84
|
+
pagination: t = b
|
|
93
85
|
} = {}) {
|
|
94
86
|
const n = r(this, s).api.user.replace(/^user_/, "").replace(new RegExp(`_${r(this, s).api.integration}$`), "");
|
|
95
87
|
return r(this, f).getRounds({
|
|
@@ -103,10 +95,10 @@ class K {
|
|
|
103
95
|
}
|
|
104
96
|
}
|
|
105
97
|
s = new WeakMap(), f = new WeakMap();
|
|
106
|
-
function
|
|
98
|
+
function V(m, i) {
|
|
107
99
|
return m * i / 100;
|
|
108
100
|
}
|
|
109
|
-
function
|
|
101
|
+
function P(m, i, t) {
|
|
110
102
|
if (!["string", "number"].includes(typeof i))
|
|
111
103
|
return "NaN";
|
|
112
104
|
const { locales: n } = m;
|
|
@@ -280,33 +272,33 @@ const w = {
|
|
|
280
272
|
IRR: { maximumFractionDigits: 2, minimumFractionDigits: 2 }
|
|
281
273
|
/* eslint-enable sort-keys-fix/sort-keys-fix */
|
|
282
274
|
};
|
|
283
|
-
function
|
|
275
|
+
function B(m) {
|
|
284
276
|
return m in w;
|
|
285
277
|
}
|
|
286
|
-
function
|
|
287
|
-
return
|
|
278
|
+
function q(m) {
|
|
279
|
+
return B(m) ? {
|
|
288
280
|
...w[m],
|
|
289
281
|
currency: S
|
|
290
282
|
} : {
|
|
291
283
|
currency: m
|
|
292
284
|
};
|
|
293
285
|
}
|
|
294
|
-
function
|
|
286
|
+
function W(m, i, t) {
|
|
295
287
|
const n = i.format(+m);
|
|
296
|
-
return
|
|
288
|
+
return B(t) ? n.replace(S, w[t].displayAs ?? t) : n;
|
|
297
289
|
}
|
|
298
|
-
function
|
|
290
|
+
function z(m, i, t) {
|
|
299
291
|
const { maximumFractionDigits: n, minimumFractionDigits: a } = t.resolvedOptions();
|
|
300
|
-
return
|
|
292
|
+
return P(m, i, { maximumFractionDigits: n, minimumFractionDigits: a });
|
|
301
293
|
}
|
|
302
|
-
function
|
|
294
|
+
function J(m, i, { as: t } = {
|
|
303
295
|
as: "Currency"
|
|
304
296
|
/* Currency */
|
|
305
297
|
}) {
|
|
306
298
|
const { canShowCurrency: n, currency: a } = m;
|
|
307
299
|
return t === "Number" || !n ? `${i}` : `${i} ${a}`;
|
|
308
300
|
}
|
|
309
|
-
function
|
|
301
|
+
function j(m, i, { as: t, from: n } = {
|
|
310
302
|
as: "Currency",
|
|
311
303
|
from: "Money"
|
|
312
304
|
/* Money */
|
|
@@ -314,10 +306,10 @@ function W(m, i, { as: t, from: n } = {
|
|
|
314
306
|
if (!["string", "number"].includes(typeof i))
|
|
315
307
|
return "NaN";
|
|
316
308
|
const { canShowCurrency: o = !0, coinValueInCents: g, currency: d, locales: T } = m;
|
|
317
|
-
n === "Coins" && (i =
|
|
309
|
+
n === "Coins" && (i = V(+i, g));
|
|
318
310
|
try {
|
|
319
|
-
const
|
|
320
|
-
...
|
|
311
|
+
const L = q(d), R = new Intl.NumberFormat(T, {
|
|
312
|
+
...L,
|
|
321
313
|
...a,
|
|
322
314
|
currencyDisplay: "symbol",
|
|
323
315
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -325,24 +317,24 @@ function W(m, i, { as: t, from: n } = {
|
|
|
325
317
|
numberingSystem: "latn",
|
|
326
318
|
style: "currency"
|
|
327
319
|
});
|
|
328
|
-
return t === "Number" || !o ?
|
|
320
|
+
return t === "Number" || !o ? z(m, i, R) : W(i, R, d);
|
|
329
321
|
} catch {
|
|
330
|
-
return
|
|
322
|
+
return J(m, i, { as: t });
|
|
331
323
|
}
|
|
332
324
|
}
|
|
333
325
|
var c;
|
|
334
|
-
class
|
|
326
|
+
class Y {
|
|
335
327
|
constructor({ config: i }) {
|
|
336
|
-
|
|
337
|
-
|
|
328
|
+
u(this, c);
|
|
329
|
+
e(this, c, i);
|
|
338
330
|
}
|
|
339
331
|
formatNumber(i, t) {
|
|
340
332
|
const n = { locales: [r(this, c).ui.language] };
|
|
341
|
-
return
|
|
333
|
+
return P(n, i, t);
|
|
342
334
|
}
|
|
343
335
|
formatCurrency(i, t = { as: F.Currency, from: y.Money }, n) {
|
|
344
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];
|
|
345
|
-
return
|
|
337
|
+
return j({
|
|
346
338
|
canShowCurrency: a,
|
|
347
339
|
coinValueInCents: o,
|
|
348
340
|
currency: g,
|
|
@@ -363,17 +355,17 @@ class v {
|
|
|
363
355
|
}
|
|
364
356
|
}
|
|
365
357
|
c = new WeakMap();
|
|
366
|
-
const
|
|
358
|
+
const v = () => {
|
|
367
359
|
};
|
|
368
|
-
var x,
|
|
369
|
-
class
|
|
360
|
+
var x, C, p, l;
|
|
361
|
+
class ii {
|
|
370
362
|
constructor({ messagePort: i }) {
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
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 }));
|
|
377
369
|
}), this.on("playResponse", (t) => {
|
|
378
370
|
this.config.api.lastRoundId = t.contract.roundId;
|
|
379
371
|
});
|
|
@@ -384,14 +376,14 @@ class Q {
|
|
|
384
376
|
return r(this, x);
|
|
385
377
|
}
|
|
386
378
|
get history() {
|
|
387
|
-
if (!r(this,
|
|
379
|
+
if (!r(this, C))
|
|
388
380
|
throw new Error("config is not initialized, you must open game first");
|
|
389
|
-
return r(this,
|
|
381
|
+
return r(this, C);
|
|
390
382
|
}
|
|
391
383
|
get i18n() {
|
|
392
|
-
if (!r(this,
|
|
384
|
+
if (!r(this, p))
|
|
393
385
|
throw new Error("i18n is not initialized, you must open game first");
|
|
394
|
-
return r(this,
|
|
386
|
+
return r(this, p);
|
|
395
387
|
}
|
|
396
388
|
request(i, ...[t]) {
|
|
397
389
|
return new Promise((n) => {
|
|
@@ -402,13 +394,13 @@ class Q {
|
|
|
402
394
|
}
|
|
403
395
|
on(i, t, n) {
|
|
404
396
|
const a = function o(g) {
|
|
405
|
-
g.data.message === `kalamba:wrapper:${i}` && (
|
|
397
|
+
g.data.message === `kalamba:wrapper:${i}` && (v("on", g.data.message.replace(/^kalamba:/, ""), g.data.payload), t(g.data.payload), n != null && n.once && window.removeEventListener("message", o));
|
|
406
398
|
};
|
|
407
399
|
window.addEventListener("message", a);
|
|
408
400
|
}
|
|
409
401
|
// TODO error messages
|
|
410
402
|
send(i, ...[t]) {
|
|
411
|
-
r(this,
|
|
403
|
+
r(this, l).postMessage(
|
|
412
404
|
{
|
|
413
405
|
message: `kalamba:sdk:${i}`,
|
|
414
406
|
payload: t
|
|
@@ -423,21 +415,23 @@ class Q {
|
|
|
423
415
|
const i = new Promise((n) => this.on("configured", n, { once: !0 })), t = await this.request("openGame");
|
|
424
416
|
if (t.type === "response")
|
|
425
417
|
return await i, t.response;
|
|
426
|
-
throw t.error.type === "timeout" ? new
|
|
418
|
+
throw t.error.type === "timeout" ? new N() : new I(t.error.data);
|
|
427
419
|
}
|
|
428
420
|
async play(i, t, n = "SPIN") {
|
|
429
421
|
const a = { contract: i, extra: t, actionType: n }, o = await this.request("play", a);
|
|
430
422
|
if (o.type === "response")
|
|
431
423
|
return o.response;
|
|
432
|
-
throw o.error.type === "timeout" ? new
|
|
424
|
+
throw o.error.type === "timeout" ? new N() : new I(o.error.data);
|
|
433
425
|
}
|
|
434
426
|
}
|
|
435
|
-
x = new WeakMap(),
|
|
427
|
+
x = new WeakMap(), C = new WeakMap(), p = new WeakMap(), l = new WeakMap();
|
|
436
428
|
export {
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
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
|
|
443
437
|
};
|