chat-bet-parse
Version:
TypeScript package for parsing sports betting contract text into structured data types compatible with SQL Server stored procedures
80 lines (78 loc) • 2.39 kB
JavaScript
// src/types/index.ts
var leagueSportMap = {
MLB: "Baseball",
WNBA: "Basketball",
CBK: "Basketball",
CBB: "Basketball",
NBA: "Basketball",
CFL: "Football",
CFB: "Football",
NFL: "Football",
UFL: "Football",
FCS: "Football",
LPGA: "Golf",
PGA: "Golf",
NHL: "Hockey",
UFC: "MMA",
WTA: "Tennis",
ATP: "Tennis"
};
var knownLeagues = new Set(Object.keys(leagueSportMap));
var knownSports = new Set(Object.values(leagueSportMap));
function isOrder(result) {
return result.chatType === "order";
}
function isFill(result) {
return result.chatType === "fill";
}
function isStraight(result) {
return result.betType === "straight";
}
function isParlay(result) {
return result.betType === "parlay";
}
function isRoundRobin(result) {
return result.betType === "roundRobin";
}
function isTotalPoints(contract) {
return "ContractSportCompetitionMatchType" in contract && contract.ContractSportCompetitionMatchType === "TotalPoints" && !contract.HasContestant;
}
function isTotalPointsContestant(contract) {
return "ContractSportCompetitionMatchType" in contract && contract.ContractSportCompetitionMatchType === "TotalPoints" && contract.HasContestant;
}
function isHandicapML(contract) {
return "ContractSportCompetitionMatchType" in contract && contract.ContractSportCompetitionMatchType === "Handicap" && contract.HasContestant && !contract.HasLine;
}
function isHandicapLine(contract) {
return "ContractSportCompetitionMatchType" in contract && contract.ContractSportCompetitionMatchType === "Handicap" && contract.HasContestant && contract.HasLine;
}
function isPropOU(contract) {
return "ContractSportCompetitionMatchType" in contract && contract.ContractSportCompetitionMatchType === "Prop" && contract.HasContestant && contract.HasLine;
}
function isPropYN(contract) {
return "ContractSportCompetitionMatchType" in contract && contract.ContractSportCompetitionMatchType === "Prop" && contract.HasContestant && !contract.HasLine;
}
function isSeries(contract) {
return "SeriesLength" in contract;
}
function isWritein(contract) {
return "EventDate" in contract && "Description" in contract;
}
export {
leagueSportMap,
knownLeagues,
knownSports,
isOrder,
isFill,
isStraight,
isParlay,
isRoundRobin,
isTotalPoints,
isTotalPointsContestant,
isHandicapML,
isHandicapLine,
isPropOU,
isPropYN,
isSeries,
isWritein
};