typescript-libraries
Version:
To install this library, run:
81 lines (80 loc) • 2.39 kB
TypeScript
export interface TSBSSelection {
k: string;
m: string;
o: number;
id: string;
sk?: string;
s?: string;
}
export interface TSBSEventSelection {
k: string;
e: any;
s: TSBSSelection;
}
export type TSBSCallback = (stake: number, odd: number, keys: any, group?: number | string) => {
payout: number;
stake: number;
};
export type TSBSResult = {
numberOfBets: number;
totalStake: number;
totalOdds: number;
minPayOut?: number;
maxPayOut: number;
};
export type TSBSMode = 'single' | 'multiple' | 'multiple+' | 'system';
export declare class TSBetSlip {
static get modes(): Array<TSBSMode>;
static initModes({ modes, multiplePlus }: {
modes: any;
multiplePlus: any;
}): Array<TSBSMode>;
static filterMode(modes: Array<TSBSMode> | TSBSMode): Array<TSBSMode> | TSBSMode;
static accumulator(selections: TSBSSelection[], data: any, cb?: TSBSCallback): TSBSResult;
static multiplicator(selections: TSBSSelection[], data: number, cb?: TSBSCallback): TSBSResult;
static aggregator(selections: Record<string, TSBSSelection>, data: any, cb?: TSBSCallback): TSBSResult;
static cb(stake: number, odd: number, keys: any, group?: number | string): {
payout: number;
stake: number;
};
static rules({ minBet, maxBet, maxPayout, minSelection, maxSelection }?: {
minBet?: number;
maxBet?: number;
maxPayout?: number;
minSelection?: number;
maxSelection?: number;
}, overrides?: {}): {
stake: {
min: number;
max: number;
};
payout: {
max: number;
};
selection: {
min: number;
max: number;
};
};
static isValid({ rules, selection, stake, balance, payout }: {
rules?: {
stake: {
min: number;
max: number;
};
payout: {
max: number;
};
selection: {
min: number;
max: number;
};
};
selection: any;
stake: any;
balance: any;
payout: any;
}): any[];
static validate(rules: any, data: any, prefix: (prefix: any) => string): any[];
static areDuplicate(selections: TSBSSelection[], separator?: string): boolean;
}