UNPKG

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
// 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 };