black-diamond-shared 1.0.122 → 1.0.123
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.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/data/league/schema/index.ts","../src/data/league/data/index.ts","../src/data/team/schema/index.ts","../src/data/fixture/schema/index.ts","../src/data/teamStat/schema/index.ts","../src/data/bet/schema/index.ts","../src/data/bet/data/index.ts","../src/data/bet/utils/index.ts","../src/data/betStat/schema/index.ts","../src/data/account/schema/index.ts","../src/utils/apiFootball/data/index.ts","../src/utils/numbers/toTwoDecimalPlaces.ts","../src/utils/numbers/toPercent.ts","../src/utils/numbers/getMeanModeMedian.ts","../src/utils/numbers/calculateWinAfterCommission.ts","../src/utils/numbers/percentToOdds.ts"],"sourcesContent":["export * from \"./data/league\";\nexport * from \"./data/team\";\nexport * from \"./data/fixture\";\nexport * from \"./data/teamStat\";\nexport * from \"./data/bet\";\nexport * from \"./data/betStat\";\nexport * from \"./data/account\";\n\nexport * from \"./utils/\";\n","import { League } from \"../types\";\nimport { Schema } from \"mongoose\";\n\nexport const leagueSchema = new Schema<League>(\n {\n id: {\n type: Number,\n required: true,\n },\n name: {\n type: String,\n },\n logo: {\n type: String,\n },\n country: {\n name: {\n type: String,\n },\n code: {\n type: String,\n },\n flag: {\n type: String,\n },\n },\n stats: {\n type: Schema.Types.Mixed,\n },\n prevStats: {\n type: [Schema.Types.Mixed],\n },\n currentSeason: {\n type: Number,\n },\n },\n { timestamps: true }\n);\n","export const LEAGUE_ID_LIST = [\n 39, // premier league\n 78, //Bundesliga 1\n 140, // La Liga\n 135, // Serie A\n 61, // Ligue 1,\n 188, // A league australia\n 40, // Championship\n 41, // League One\n 42, // League Two\n 43, //National League\n 141, // Segunda Division\n 79, //Bundesliga 2\n 136, // Serie B\n 62, // Ligue 2\n 179, // Scotland Premiership\n 180, // Scotland Championship,\n 113, // Sweden Allsvenskan\n 103, // Norway Eliteserien\n 94, // Primeira Liga portugal\n 71, // Serie A Brazil\n 72, // Serie B Brazil\n 253, // Major League Soccer\n 197, // Greece Super League\n 88, // Eredivisie Holland\n 144, // Belgium 1st div A\n 345, // Czech Liga\n 207, // Switz super league\n 98, // J1 League Japan\n 292, // K League 1\n //333, // Ukraine premier league\n 128, // Liga Profesional Argentina\n 169, // China super league\n 233, // Egypt premier leaguye\n 262, // Liga MX Mexico\n 244, // Veikkausliiga finland\n 164, // Iceland\n 281, // Peru Primera División/ Liga 1\n 203, // Turkey Süper Lig\n 365, // Virsliga Latvia\n 357, // Ireland Premier division\n 106, // Polish Ekstraklasa\n 283, // Romania Liga 1\n 218, // Austria Bundesliga\n 119, // Denmark Superliga\n 344, // Bolivia Primera División\n 323, // Indian Super League\n 274, // Indonesia Liga 1\n 274, // Algeria Ligue 1\n 368, // singapore premier league\n 307, // saudi pro league\n 210, // HNL Croatian Football League\n 186, // Algeria Ligue 1\n 411, // Cameroon Elite One\n 259, // Canadian Championship\n 239, // Primera A Colombia\n 95, // Segunda Liga portugal\n 2, // UEFA Champions League\n 3, // UEFA Europa League\n 1, //World Cup\n 4, // EURO Championship\n 8, //World Cup - Women\n 5, // UEFA Nations League\n 848, // UEFA Europa Conference League\n 45, // FA Cup\n 48, // League Cup (Caribo Cup)\n 15, // FIFA Club World Cup\n 531, // UEFA Super Cup\n 10, // World Freindlies\n 32, // World Cup - Qualification Europe\n 30, // World Cup - Qualification Asia\n 29, // World Cup - Qualification Africa\n 34, //World Cup - Qualification South America\n 33, // World Cup - Qualification Oceania\n 31, // World Cup - Qualification CONCACAF\n 525, // UEFA Champions League Women\n 743, // UEFA Championship - Women (Euros)\n 698, // FA Women's Cup\n];\n","import { Schema } from \"mongoose\";\n\nexport const teamSchema = new Schema(\n {\n id: {\n type: Number,\n required: true,\n },\n name: {\n type: String,\n required: true,\n },\n logo: {\n type: String,\n required: true,\n },\n league: {\n type: Schema.Types.ObjectId,\n ref: \"League\",\n },\n stats: {\n type: Schema.Types.ObjectId,\n ref: \"TeamStat\",\n },\n currentSeason: {\n type: Number,\n },\n fixtures: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const fixtureSchema = new Schema(\n {\n fixture: {\n type: Schema.Types.Mixed,\n },\n league: {\n type: Schema.Types.Mixed,\n },\n teams: {\n type: Schema.Types.Mixed,\n },\n goals: {\n type: Schema.Types.Mixed,\n },\n score: {\n type: Schema.Types.Mixed,\n },\n odds: {\n type: Schema.Types.Mixed,\n },\n apiPredictions: {\n type: Schema.Types.Mixed,\n },\n teamStats: {\n type: Schema.Types.Mixed,\n },\n prevFixtures: {\n homeTeam: {\n home: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n awayTeam: {\n away: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n },\n // refs: {\n // refHomeTeamStat: {\n // type: Schema.Types.ObjectId,\n // ref: \"Stat\",\n // },\n // refAwayTeamStat: {\n // type: Schema.Types.ObjectId,\n // ref: \"Stat\",\n // },\n // refHomeTeam: {\n // type: Schema.Types.ObjectId,\n // ref: \"Team\",\n // },\n // refAwayTeam: {\n // type: Schema.Types.ObjectId,\n // ref: \"Team\",\n // },\n // },\n // odds: {\n // type: Schema.Types.Mixed,\n // },\n // prevFixtures: {\n // home: [\n // {\n // type: Schema.Types.ObjectId,\n // ref: \"Fixture\",\n // },\n // ],\n // away: [\n // {\n // type: Schema.Types.ObjectId,\n // ref: \"Fixture\",\n // },\n // ],\n // },\n // apiPredictions: {\n // type: Schema.Types.Mixed,\n // },\n // predictions: {\n // type: Schema.Types.Mixed,\n // },\n // topBets: {\n // type: Schema.Types.Mixed,\n // },\n // keyStats: {\n // type: Schema.Types.Mixed,\n // },\n // info: {\n // type: Schema.Types.Mixed,\n // },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const teamStatSchema = new Schema(\n {\n leagueTeams: { type: Number },\n leaguePosition: { type: Number },\n leaguePoints: { type: Number },\n team: {\n id: { type: Number, required: true },\n name: { type: String, required: true },\n logo: { type: String, required: true },\n },\n biggest: {\n streak: {\n wins: { type: Number },\n draws: { type: Number },\n loses: { type: Number },\n },\n wins: {\n home: { type: String },\n away: { type: String },\n },\n loses: {\n home: { type: String },\n away: { type: String },\n },\n goals: {\n for: {\n home: { type: Number },\n away: { type: Number },\n },\n against: {\n home: { type: Number },\n away: { type: Number },\n },\n },\n },\n cards: {\n yellow: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n red: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n },\n clean_sheet: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n createdAt: { type: Date, default: Date.now },\n failed_to_score: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n fixtures: {\n played: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n wins: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n draws: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n loses: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n },\n form: { type: String },\n formHome: { type: String },\n formAway: { type: String },\n goals: {\n for: {\n total: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n average: {\n home: { type: String },\n away: { type: String },\n total: { type: String },\n },\n minute: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n under_over: {\n \"0.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"1.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"2.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"3.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"4.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n },\n },\n against: {\n total: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n average: {\n home: { type: String },\n away: { type: String },\n total: { type: String },\n },\n minute: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n under_over: {\n \"0.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"1.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"2.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"3.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"4.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n },\n },\n },\n league: {\n id: { type: Number, required: true },\n name: { type: String, required: true },\n country: { type: String, required: true },\n logo: { type: String, required: true },\n flag: { type: String, required: true },\n season: { type: Number, required: true },\n },\n lineups: [\n {\n formation: { type: String },\n played: { type: Number },\n },\n ],\n penalty: {\n scored: {\n total: { type: Number },\n percentage: { type: String },\n },\n missed: {\n total: { type: Number },\n percentage: { type: String },\n },\n total: { type: Number },\n },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const betSchema = new Schema(\n {\n selections: {\n type: [\n {\n _id: false,\n betType: {\n type: String,\n required: true,\n },\n fixture: {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n odds: {\n type: Number,\n required: true,\n },\n winner: {\n type: Boolean,\n },\n },\n ],\n required: true,\n },\n stake: {\n type: Number,\n required: true,\n },\n unmatched: {\n type: Boolean,\n },\n odds: {\n type: Number,\n required: true,\n },\n winner: {\n type: Boolean,\n },\n winAmount: {\n type: Number,\n },\n commissionAmount: {\n type: Number,\n },\n settled: {\n type: Boolean,\n },\n cashout: {\n type: Boolean,\n },\n cashoutAmount: {\n type: Number,\n },\n },\n { timestamps: true }\n);\n","export const betTypesInfo = {\n homeWin: {\n shortName: \"H\",\n nameWithTitle: \"H\",\n label: \"Home Win\",\n },\n awayWin: {\n shortName: \"Away\",\n nameWithTitle: \"A\",\n label: \"Away Win\",\n },\n draw: {\n shortName: \"Draw\",\n nameWithTitle: \"D\",\n label: \"Draw\",\n },\n homeDrawDoubleChance: {\n shortName: \"1X\",\n nameWithTitle: \"1X\",\n label: \"Home/Draw Double Chance\",\n },\n awayDrawDoubleChance: {\n shortName: \"2X\",\n nameWithTitle: \"2X\",\n label: \"Away/Draw Double Chance\",\n },\n homeAwayDoubleChance: {\n shortName: \"12\",\n nameWithTitle: \"12\",\n label: \"Home/Away Double Chance\",\n },\n over0_5: {\n shortName: \"Over 0.5\",\n nameWithTitle: \"0.5\",\n label: \"Over 0.5\",\n },\n under0_5: {\n shortName: \"Under 0.5\",\n nameWithTitle: \"0.5\",\n label: \"Under 0.5\",\n },\n over1_5: {\n shortName: \"Over 1.5\",\n nameWithTitle: \"1.5\",\n label: \"Over 1.5\",\n },\n under1_5: {\n shortName: \"Under 1.5\",\n nameWithTitle: \"1.5\",\n label: \"Under 1.5\",\n },\n over2_5: {\n shortName: \"Over 2.5\",\n nameWithTitle: \"2.5\",\n label: \"Over 2.5\",\n },\n under2_5: {\n shortName: \"Under 2.5\",\n nameWithTitle: \"2.5\",\n label: \"Under 2.5\",\n },\n over3_5: {\n shortName: \"Over 3.5\",\n nameWithTitle: \"3.5\",\n label: \"Over 3.5\",\n },\n under3_5: {\n shortName: \"Under 3.5\",\n nameWithTitle: \"3.5\",\n label: \"Under 3.5\",\n },\n over4_5: {\n shortName: \"Over 4.5\",\n nameWithTitle: \"4.5\",\n label: \"Over 4.5\",\n },\n under4_5: {\n shortName: \"Under 4.5\",\n nameWithTitle: \"4.5\",\n label: \"Under 4.5\",\n },\n over5_5: {\n shortName: \"Over 5.5\",\n nameWithTitle: \"5.5\",\n label: \"Over 5.5\",\n },\n under5_5: {\n shortName: \"Under 5.5\",\n nameWithTitle: \"5.5\",\n label: \"Under 5.5\",\n },\n over6_5: {\n shortName: \"Over 6.5\",\n nameWithTitle: \"6.5\",\n label: \"Over 6.5\",\n },\n under6_5: {\n shortName: \"Under 6.5\",\n nameWithTitle: \"6.5\",\n label: \"Under 6.5\",\n },\n BTTS: {\n shortName: \"BTTS\",\n nameWithTitle: \"BTTS\",\n label: \"BTTS\",\n },\n BTNTS: {\n shortName: \"BTNTS\",\n nameWithTitle: \"BTNTS\",\n label: \"BTNTS\",\n },\n};\n","import { Fixture } from \"../../fixture\";\nimport { BetTypes } from \"../types\";\n\nexport const checkBetWin = (betType: BetTypes, fixture: Fixture) => {\n if (betType === \"homeWin\") {\n return fixture.score.fulltime.home > fixture.score.fulltime.away;\n }\n\n if (betType === \"awayWin\") {\n return fixture.score.fulltime.home < fixture.score.fulltime.away;\n }\n\n if (betType === \"draw\") {\n return fixture.score.fulltime.home === fixture.score.fulltime.away;\n }\n\n if (betType === \"homeDrawDoubleChance\") {\n return (\n fixture.score.fulltime.home > fixture.score.fulltime.away ||\n fixture.score.fulltime.home === fixture.score.fulltime.away\n );\n }\n\n if (betType === \"awayDrawDoubleChance\") {\n return (\n fixture.score.fulltime.home < fixture.score.fulltime.away ||\n fixture.score.fulltime.home === fixture.score.fulltime.away\n );\n }\n\n if (betType === \"homeAwayDoubleChance\") {\n return fixture.score.fulltime.home !== fixture.score.fulltime.away;\n }\n\n if (betType === \"under0_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 1;\n }\n\n if (betType === \"under1_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 2;\n }\n\n if (betType === \"under2_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 3;\n }\n\n if (betType === \"under3_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 4;\n }\n\n if (betType === \"under4_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 5;\n }\n\n if (betType === \"under5_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 6;\n }\n\n if (betType === \"under6_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 7;\n }\n\n if (betType === \"over0_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 0;\n }\n\n if (betType === \"over1_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 1;\n }\n\n if (betType === \"over2_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 2;\n }\n\n if (betType === \"over3_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 3;\n }\n\n if (betType === \"over4_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 4;\n }\n\n if (betType === \"over5_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 5;\n }\n\n if (betType === \"over6_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 6;\n }\n\n if (betType === \"BTTS\") {\n return fixture.score.fulltime.home > 0 && fixture.score.fulltime.away > 0;\n }\n\n if (betType === \"BTNTS\") {\n return (\n fixture.score.fulltime.home === 0 || fixture.score.fulltime.away === 0\n );\n }\n\n return undefined;\n};\n","import { Schema } from \"mongoose\";\nimport { av } from \"vitest/dist/chunks/reporters.D7Jzd9GS\";\n\nexport const betStatSchema = new Schema(\n {\n betType: { type: String },\n betWins: {\n overall: {\n count: { type: Number },\n winPercent: { type: Number },\n averageOdds: { type: Number },\n },\n at_odds: [\n {\n odds: { type: Number },\n games: { type: Number },\n wins: { type: Number },\n winPercent: { type: Number },\n expectedOdds: { type: Number },\n resetTacticBalance2x: { type: Number },\n resetTacticPot2x: { type: Number },\n resetTacticBalanceOverOdds2x: { type: Number },\n resetTacticPotOverOdds2x: { type: Number },\n resetTacticBalance1_5x: { type: Number },\n resetTacticPot1_5x: { type: Number },\n resetTacticBalanceOverOdds1_5x: { type: Number },\n resetTacticPotOverOdds1_5x: { type: Number },\n resetTacticBalance1_3x: { type: Number },\n resetTacticPot1_3x: { type: Number },\n resetTacticBalanceOverOdds1_3x: { type: Number },\n resetTacticPotOverOdds1_3x: { type: Number },\n\n placingEveryBet: { type: Number },\n },\n ],\n per_league: [\n {\n league: {\n type: Schema.Types.ObjectId,\n ref: \"League\",\n },\n winPercent: { type: Number },\n resetTacticBalance: { type: Number },\n resetTacticPot: { type: Number },\n averageOdds: { type: Number },\n },\n ],\n betting_on_odds_higher_league_percent: [\n {\n games: { type: Number },\n wins: { type: Number },\n winPercent: { type: Number },\n oddsHigherLeagueResetTacticBalance2x: { type: Number },\n oddsHigherLeagueResetTacticPot2x: { type: Number },\n oddsHigherLeagueResetTacticBalance1_5x: { type: Number },\n oddsHigherLeagueResetTacticPot1_5x: { type: Number },\n oddsHigherLeagueResetTacticBalance1_3x: { type: Number },\n oddsHigherLeagueResetTacticPot1_3x: { type: Number },\n date: { type: Date },\n matchIds: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n ],\n based_on_prev: [\n {\n name: { type: String },\n winPercent: { type: Number },\n },\n ],\n based_on_team_pos: [\n {\n name: { type: String },\n winPercent: { type: Number },\n },\n ],\n },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const accountSchema = new Schema(\n {\n email: {\n type: String,\n required: true,\n },\n password: {\n type: String,\n required: true,\n },\n balance: {\n type: Number,\n },\n outstandingBets: {\n type: Number,\n },\n depositTotal: {\n type: Number,\n },\n deposits: {\n type: Array,\n },\n expenseTotal: {\n type: Number,\n },\n expenses: {\n type: Array,\n },\n balanceHistoryDay: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n balanceHistoryWeek: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n balanceHistoryMonth: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n },\n { timestamps: true }\n);\n","const API_FOOTBALL_URL = `https://v3.football.api-sports.io`;\nexport const API_FOOTBALL_URL_LEAGUES = `${API_FOOTBALL_URL}/leagues`;\nexport const API_FOOTBALL_URL_TEAMS = `${API_FOOTBALL_URL}/teams`;\nexport const API_FOOTBALL_URL_FIXTURES = `${API_FOOTBALL_URL}/fixtures`;\nexport const API_FOOTBALL_URL_TEAM_STATS = `${API_FOOTBALL_URL}/teams/statistics`;\nexport const API_FOOTBALL_URL_ODDS = `${API_FOOTBALL_URL}/odds`;\nexport const API_FOOTBALL_URL_STANDINGS = `${API_FOOTBALL_URL}/standings`;\nexport const API_FOOTBALL_URL_PREDICTIONS = `${API_FOOTBALL_URL}/predictions`;\n","export function toTwoDecimalPlaces(num: number): number {\n return parseFloat(num.toFixed(2));\n}\n","export function toPercent(value: number, total: number): number {\n if (total === 0) {\n return 0;\n }\n return (value * 100) / total;\n}\n","// The four averages are the mean, median, mode, and range.\n// The mean is what you typically think as the average - found by summing all values and dividing the sum by the number of values.\n// The median is the middle value of the set (or the average of the two middle values if the set is even).\n// The mode is the piece of data that occurs the most\n// The range is the difference between the highest and lowest values.\n\nexport const getMeanModeMedian = (numbers: number[]) => {\n if (numbers.length === 0) return { mean: 0, median: 0, mode: 0 };\n\n // Mean\n const mean = numbers.reduce((acc, val) => acc + val, 0) / numbers.length;\n\n // Median\n const sortedNumbers = [...numbers].sort((a, b) => a - b);\n const mid = Math.floor(sortedNumbers.length / 2);\n const median =\n sortedNumbers.length % 2 !== 0\n ? sortedNumbers[mid]\n : (sortedNumbers[mid - 1] + sortedNumbers[mid]) / 2;\n\n // Mode\n const frequency: { [key: number]: number } = {};\n let maxFreq = 0;\n let mode = numbers[0];\n\n numbers.forEach((num) => {\n frequency[num] = (frequency[num] || 0) + 1;\n if (frequency[num] > maxFreq) {\n maxFreq = frequency[num];\n mode = num;\n }\n });\n\n return { mean, median, mode };\n};\n","import { toTwoDecimalPlaces } from \"./toTwoDecimalPlaces\";\n\nexport function calculateWinAfterCommission(amount: number): {\n commission: number;\n totalLeft: number;\n} {\n if (amount <= 0) {\n return { commission: 0, totalLeft: amount };\n }\n const commission = toTwoDecimalPlaces(amount * 0.02);\n const totalLeft = toTwoDecimalPlaces(amount - commission);\n return { commission, totalLeft };\n}\n","export const percentToOdds = (p: number) => {\n let perc = p;\n\n if (perc == 0) perc = 99;\n\n // 1 divided by (the percentage divided by 100) e.g. a probability of 50% = 1 / (50 / 100) = 2.\n return parseFloat((1 / (perc / 100)).toFixed(2));\n};\n"],"mappings":"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","names":["import_mongoose","import_mongoose","import_mongoose","import_mongoose","import_mongoose","import_mongoose"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/data/league/schema/index.ts","../src/data/league/data/index.ts","../src/data/team/schema/index.ts","../src/data/fixture/schema/index.ts","../src/data/teamStat/schema/index.ts","../src/data/bet/schema/index.ts","../src/data/bet/data/index.ts","../src/data/bet/utils/index.ts","../src/data/betStat/schema/index.ts","../src/data/account/schema/index.ts","../src/utils/apiFootball/data/index.ts","../src/utils/numbers/toTwoDecimalPlaces.ts","../src/utils/numbers/toPercent.ts","../src/utils/numbers/getMeanModeMedian.ts","../src/utils/numbers/calculateWinAfterCommission.ts","../src/utils/numbers/percentToOdds.ts"],"sourcesContent":["export * from \"./data/league\";\nexport * from \"./data/team\";\nexport * from \"./data/fixture\";\nexport * from \"./data/teamStat\";\nexport * from \"./data/bet\";\nexport * from \"./data/betStat\";\nexport * from \"./data/account\";\n\nexport * from \"./utils/\";\n","import { League } from \"../types\";\nimport { Schema } from \"mongoose\";\n\nexport const leagueSchema = new Schema<League>(\n {\n id: {\n type: Number,\n required: true,\n },\n name: {\n type: String,\n },\n logo: {\n type: String,\n },\n country: {\n name: {\n type: String,\n },\n code: {\n type: String,\n },\n flag: {\n type: String,\n },\n },\n stats: {\n type: Schema.Types.Mixed,\n },\n prevStats: {\n type: [Schema.Types.Mixed],\n },\n currentSeason: {\n type: Number,\n },\n },\n { timestamps: true }\n);\n","export const LEAGUE_ID_LIST = [\n 39, // premier league\n 78, //Bundesliga 1\n 140, // La Liga\n 135, // Serie A\n 61, // Ligue 1,\n 188, // A league australia\n 40, // Championship\n 41, // League One\n 42, // League Two\n 43, //National League\n 141, // Segunda Division\n 79, //Bundesliga 2\n 136, // Serie B\n 62, // Ligue 2\n 179, // Scotland Premiership\n 180, // Scotland Championship,\n 113, // Sweden Allsvenskan\n 103, // Norway Eliteserien\n 94, // Primeira Liga portugal\n 71, // Serie A Brazil\n 72, // Serie B Brazil\n 253, // Major League Soccer\n 197, // Greece Super League\n 88, // Eredivisie Holland\n 144, // Belgium 1st div A\n 345, // Czech Liga\n 207, // Switz super league\n 98, // J1 League Japan\n 292, // K League 1\n //333, // Ukraine premier league\n 128, // Liga Profesional Argentina\n 169, // China super league\n 233, // Egypt premier leaguye\n 262, // Liga MX Mexico\n 244, // Veikkausliiga finland\n 164, // Iceland\n 281, // Peru Primera División/ Liga 1\n 203, // Turkey Süper Lig\n 365, // Virsliga Latvia\n 357, // Ireland Premier division\n 106, // Polish Ekstraklasa\n 283, // Romania Liga 1\n 218, // Austria Bundesliga\n 119, // Denmark Superliga\n 344, // Bolivia Primera División\n 323, // Indian Super League\n 274, // Indonesia Liga 1\n 274, // Algeria Ligue 1\n 368, // singapore premier league\n 307, // saudi pro league\n 210, // HNL Croatian Football League\n 186, // Algeria Ligue 1\n 411, // Cameroon Elite One\n 259, // Canadian Championship\n 239, // Primera A Colombia\n 95, // Segunda Liga portugal\n 99, // J2 League Japan\n\n 2, // UEFA Champions League\n 3, // UEFA Europa League\n 1, //World Cup\n 4, // EURO Championship\n 8, //World Cup - Women\n 5, // UEFA Nations League\n 848, // UEFA Europa Conference League\n 45, // FA Cup\n 48, // League Cup (Caribo Cup)\n 15, // FIFA Club World Cup\n 531, // UEFA Super Cup\n 10, // World Freindlies\n 32, // World Cup - Qualification Europe\n 30, // World Cup - Qualification Asia\n 29, // World Cup - Qualification Africa\n 34, //World Cup - Qualification South America\n 33, // World Cup - Qualification Oceania\n 31, // World Cup - Qualification CONCACAF\n 525, // UEFA Champions League Women\n 743, // UEFA Championship - Women (Euros)\n 698, // FA Women's Cup\n];\n","import { Schema } from \"mongoose\";\n\nexport const teamSchema = new Schema(\n {\n id: {\n type: Number,\n required: true,\n },\n name: {\n type: String,\n required: true,\n },\n logo: {\n type: String,\n required: true,\n },\n league: {\n type: Schema.Types.ObjectId,\n ref: \"League\",\n },\n stats: {\n type: Schema.Types.ObjectId,\n ref: \"TeamStat\",\n },\n currentSeason: {\n type: Number,\n },\n fixtures: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const fixtureSchema = new Schema(\n {\n fixture: {\n type: Schema.Types.Mixed,\n },\n league: {\n type: Schema.Types.Mixed,\n },\n teams: {\n type: Schema.Types.Mixed,\n },\n goals: {\n type: Schema.Types.Mixed,\n },\n score: {\n type: Schema.Types.Mixed,\n },\n odds: {\n type: Schema.Types.Mixed,\n },\n apiPredictions: {\n type: Schema.Types.Mixed,\n },\n teamStats: {\n type: Schema.Types.Mixed,\n },\n prevFixtures: {\n homeTeam: {\n home: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n awayTeam: {\n away: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n },\n // refs: {\n // refHomeTeamStat: {\n // type: Schema.Types.ObjectId,\n // ref: \"Stat\",\n // },\n // refAwayTeamStat: {\n // type: Schema.Types.ObjectId,\n // ref: \"Stat\",\n // },\n // refHomeTeam: {\n // type: Schema.Types.ObjectId,\n // ref: \"Team\",\n // },\n // refAwayTeam: {\n // type: Schema.Types.ObjectId,\n // ref: \"Team\",\n // },\n // },\n // odds: {\n // type: Schema.Types.Mixed,\n // },\n // prevFixtures: {\n // home: [\n // {\n // type: Schema.Types.ObjectId,\n // ref: \"Fixture\",\n // },\n // ],\n // away: [\n // {\n // type: Schema.Types.ObjectId,\n // ref: \"Fixture\",\n // },\n // ],\n // },\n // apiPredictions: {\n // type: Schema.Types.Mixed,\n // },\n // predictions: {\n // type: Schema.Types.Mixed,\n // },\n // topBets: {\n // type: Schema.Types.Mixed,\n // },\n // keyStats: {\n // type: Schema.Types.Mixed,\n // },\n // info: {\n // type: Schema.Types.Mixed,\n // },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const teamStatSchema = new Schema(\n {\n leagueTeams: { type: Number },\n leaguePosition: { type: Number },\n leaguePoints: { type: Number },\n team: {\n id: { type: Number, required: true },\n name: { type: String, required: true },\n logo: { type: String, required: true },\n },\n biggest: {\n streak: {\n wins: { type: Number },\n draws: { type: Number },\n loses: { type: Number },\n },\n wins: {\n home: { type: String },\n away: { type: String },\n },\n loses: {\n home: { type: String },\n away: { type: String },\n },\n goals: {\n for: {\n home: { type: Number },\n away: { type: Number },\n },\n against: {\n home: { type: Number },\n away: { type: Number },\n },\n },\n },\n cards: {\n yellow: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n red: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n },\n clean_sheet: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n createdAt: { type: Date, default: Date.now },\n failed_to_score: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n fixtures: {\n played: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n wins: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n draws: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n loses: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n },\n form: { type: String },\n formHome: { type: String },\n formAway: { type: String },\n goals: {\n for: {\n total: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n average: {\n home: { type: String },\n away: { type: String },\n total: { type: String },\n },\n minute: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n under_over: {\n \"0.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"1.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"2.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"3.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"4.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n },\n },\n against: {\n total: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n average: {\n home: { type: String },\n away: { type: String },\n total: { type: String },\n },\n minute: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n under_over: {\n \"0.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"1.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"2.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"3.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"4.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n },\n },\n },\n league: {\n id: { type: Number, required: true },\n name: { type: String, required: true },\n country: { type: String, required: true },\n logo: { type: String, required: true },\n flag: { type: String, required: true },\n season: { type: Number, required: true },\n },\n lineups: [\n {\n formation: { type: String },\n played: { type: Number },\n },\n ],\n penalty: {\n scored: {\n total: { type: Number },\n percentage: { type: String },\n },\n missed: {\n total: { type: Number },\n percentage: { type: String },\n },\n total: { type: Number },\n },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const betSchema = new Schema(\n {\n selections: {\n type: [\n {\n _id: false,\n betType: {\n type: String,\n required: true,\n },\n fixture: {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n odds: {\n type: Number,\n required: true,\n },\n winner: {\n type: Boolean,\n },\n },\n ],\n required: true,\n },\n stake: {\n type: Number,\n required: true,\n },\n unmatched: {\n type: Boolean,\n },\n odds: {\n type: Number,\n required: true,\n },\n winner: {\n type: Boolean,\n },\n winAmount: {\n type: Number,\n },\n commissionAmount: {\n type: Number,\n },\n settled: {\n type: Boolean,\n },\n cashout: {\n type: Boolean,\n },\n cashoutAmount: {\n type: Number,\n },\n },\n { timestamps: true }\n);\n","export const betTypesInfo = {\n homeWin: {\n shortName: \"H\",\n nameWithTitle: \"H\",\n label: \"Home Win\",\n },\n awayWin: {\n shortName: \"Away\",\n nameWithTitle: \"A\",\n label: \"Away Win\",\n },\n draw: {\n shortName: \"Draw\",\n nameWithTitle: \"D\",\n label: \"Draw\",\n },\n homeDrawDoubleChance: {\n shortName: \"1X\",\n nameWithTitle: \"1X\",\n label: \"Home/Draw Double Chance\",\n },\n awayDrawDoubleChance: {\n shortName: \"2X\",\n nameWithTitle: \"2X\",\n label: \"Away/Draw Double Chance\",\n },\n homeAwayDoubleChance: {\n shortName: \"12\",\n nameWithTitle: \"12\",\n label: \"Home/Away Double Chance\",\n },\n over0_5: {\n shortName: \"Over 0.5\",\n nameWithTitle: \"0.5\",\n label: \"Over 0.5\",\n },\n under0_5: {\n shortName: \"Under 0.5\",\n nameWithTitle: \"0.5\",\n label: \"Under 0.5\",\n },\n over1_5: {\n shortName: \"Over 1.5\",\n nameWithTitle: \"1.5\",\n label: \"Over 1.5\",\n },\n under1_5: {\n shortName: \"Under 1.5\",\n nameWithTitle: \"1.5\",\n label: \"Under 1.5\",\n },\n over2_5: {\n shortName: \"Over 2.5\",\n nameWithTitle: \"2.5\",\n label: \"Over 2.5\",\n },\n under2_5: {\n shortName: \"Under 2.5\",\n nameWithTitle: \"2.5\",\n label: \"Under 2.5\",\n },\n over3_5: {\n shortName: \"Over 3.5\",\n nameWithTitle: \"3.5\",\n label: \"Over 3.5\",\n },\n under3_5: {\n shortName: \"Under 3.5\",\n nameWithTitle: \"3.5\",\n label: \"Under 3.5\",\n },\n over4_5: {\n shortName: \"Over 4.5\",\n nameWithTitle: \"4.5\",\n label: \"Over 4.5\",\n },\n under4_5: {\n shortName: \"Under 4.5\",\n nameWithTitle: \"4.5\",\n label: \"Under 4.5\",\n },\n over5_5: {\n shortName: \"Over 5.5\",\n nameWithTitle: \"5.5\",\n label: \"Over 5.5\",\n },\n under5_5: {\n shortName: \"Under 5.5\",\n nameWithTitle: \"5.5\",\n label: \"Under 5.5\",\n },\n over6_5: {\n shortName: \"Over 6.5\",\n nameWithTitle: \"6.5\",\n label: \"Over 6.5\",\n },\n under6_5: {\n shortName: \"Under 6.5\",\n nameWithTitle: \"6.5\",\n label: \"Under 6.5\",\n },\n BTTS: {\n shortName: \"BTTS\",\n nameWithTitle: \"BTTS\",\n label: \"BTTS\",\n },\n BTNTS: {\n shortName: \"BTNTS\",\n nameWithTitle: \"BTNTS\",\n label: \"BTNTS\",\n },\n};\n","import { Fixture } from \"../../fixture\";\nimport { BetTypes } from \"../types\";\n\nexport const checkBetWin = (betType: BetTypes, fixture: Fixture) => {\n if (betType === \"homeWin\") {\n return fixture.score.fulltime.home > fixture.score.fulltime.away;\n }\n\n if (betType === \"awayWin\") {\n return fixture.score.fulltime.home < fixture.score.fulltime.away;\n }\n\n if (betType === \"draw\") {\n return fixture.score.fulltime.home === fixture.score.fulltime.away;\n }\n\n if (betType === \"homeDrawDoubleChance\") {\n return (\n fixture.score.fulltime.home > fixture.score.fulltime.away ||\n fixture.score.fulltime.home === fixture.score.fulltime.away\n );\n }\n\n if (betType === \"awayDrawDoubleChance\") {\n return (\n fixture.score.fulltime.home < fixture.score.fulltime.away ||\n fixture.score.fulltime.home === fixture.score.fulltime.away\n );\n }\n\n if (betType === \"homeAwayDoubleChance\") {\n return fixture.score.fulltime.home !== fixture.score.fulltime.away;\n }\n\n if (betType === \"under0_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 1;\n }\n\n if (betType === \"under1_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 2;\n }\n\n if (betType === \"under2_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 3;\n }\n\n if (betType === \"under3_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 4;\n }\n\n if (betType === \"under4_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 5;\n }\n\n if (betType === \"under5_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 6;\n }\n\n if (betType === \"under6_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 7;\n }\n\n if (betType === \"over0_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 0;\n }\n\n if (betType === \"over1_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 1;\n }\n\n if (betType === \"over2_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 2;\n }\n\n if (betType === \"over3_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 3;\n }\n\n if (betType === \"over4_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 4;\n }\n\n if (betType === \"over5_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 5;\n }\n\n if (betType === \"over6_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 6;\n }\n\n if (betType === \"BTTS\") {\n return fixture.score.fulltime.home > 0 && fixture.score.fulltime.away > 0;\n }\n\n if (betType === \"BTNTS\") {\n return (\n fixture.score.fulltime.home === 0 || fixture.score.fulltime.away === 0\n );\n }\n\n return undefined;\n};\n","import { Schema } from \"mongoose\";\nimport { av } from \"vitest/dist/chunks/reporters.D7Jzd9GS\";\n\nexport const betStatSchema = new Schema(\n {\n betType: { type: String },\n betWins: {\n overall: {\n count: { type: Number },\n winPercent: { type: Number },\n averageOdds: { type: Number },\n },\n at_odds: [\n {\n odds: { type: Number },\n games: { type: Number },\n wins: { type: Number },\n winPercent: { type: Number },\n expectedOdds: { type: Number },\n resetTacticBalance2x: { type: Number },\n resetTacticPot2x: { type: Number },\n resetTacticBalanceOverOdds2x: { type: Number },\n resetTacticPotOverOdds2x: { type: Number },\n resetTacticBalance1_5x: { type: Number },\n resetTacticPot1_5x: { type: Number },\n resetTacticBalanceOverOdds1_5x: { type: Number },\n resetTacticPotOverOdds1_5x: { type: Number },\n resetTacticBalance1_3x: { type: Number },\n resetTacticPot1_3x: { type: Number },\n resetTacticBalanceOverOdds1_3x: { type: Number },\n resetTacticPotOverOdds1_3x: { type: Number },\n\n placingEveryBet: { type: Number },\n },\n ],\n per_league: [\n {\n league: {\n type: Schema.Types.ObjectId,\n ref: \"League\",\n },\n winPercent: { type: Number },\n resetTacticBalance: { type: Number },\n resetTacticPot: { type: Number },\n averageOdds: { type: Number },\n },\n ],\n betting_on_odds_higher_league_percent: [\n {\n games: { type: Number },\n wins: { type: Number },\n winPercent: { type: Number },\n oddsHigherLeagueResetTacticBalance2x: { type: Number },\n oddsHigherLeagueResetTacticPot2x: { type: Number },\n oddsHigherLeagueResetTacticBalance1_5x: { type: Number },\n oddsHigherLeagueResetTacticPot1_5x: { type: Number },\n oddsHigherLeagueResetTacticBalance1_3x: { type: Number },\n oddsHigherLeagueResetTacticPot1_3x: { type: Number },\n date: { type: Date },\n matchIds: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n ],\n based_on_prev: [\n {\n name: { type: String },\n winPercent: { type: Number },\n },\n ],\n based_on_team_pos: [\n {\n name: { type: String },\n winPercent: { type: Number },\n },\n ],\n },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const accountSchema = new Schema(\n {\n email: {\n type: String,\n required: true,\n },\n password: {\n type: String,\n required: true,\n },\n balance: {\n type: Number,\n },\n outstandingBets: {\n type: Number,\n },\n depositTotal: {\n type: Number,\n },\n deposits: {\n type: Array,\n },\n expenseTotal: {\n type: Number,\n },\n expenses: {\n type: Array,\n },\n balanceHistoryDay: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n balanceHistoryWeek: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n balanceHistoryMonth: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n },\n { timestamps: true }\n);\n","const API_FOOTBALL_URL = `https://v3.football.api-sports.io`;\nexport const API_FOOTBALL_URL_LEAGUES = `${API_FOOTBALL_URL}/leagues`;\nexport const API_FOOTBALL_URL_TEAMS = `${API_FOOTBALL_URL}/teams`;\nexport const API_FOOTBALL_URL_FIXTURES = `${API_FOOTBALL_URL}/fixtures`;\nexport const API_FOOTBALL_URL_TEAM_STATS = `${API_FOOTBALL_URL}/teams/statistics`;\nexport const API_FOOTBALL_URL_ODDS = `${API_FOOTBALL_URL}/odds`;\nexport const API_FOOTBALL_URL_STANDINGS = `${API_FOOTBALL_URL}/standings`;\nexport const API_FOOTBALL_URL_PREDICTIONS = `${API_FOOTBALL_URL}/predictions`;\n","export function toTwoDecimalPlaces(num: number): number {\n return parseFloat(num.toFixed(2));\n}\n","export function toPercent(value: number, total: number): number {\n if (total === 0) {\n return 0;\n }\n return (value * 100) / total;\n}\n","// The four averages are the mean, median, mode, and range.\n// The mean is what you typically think as the average - found by summing all values and dividing the sum by the number of values.\n// The median is the middle value of the set (or the average of the two middle values if the set is even).\n// The mode is the piece of data that occurs the most\n// The range is the difference between the highest and lowest values.\n\nexport const getMeanModeMedian = (numbers: number[]) => {\n if (numbers.length === 0) return { mean: 0, median: 0, mode: 0 };\n\n // Mean\n const mean = numbers.reduce((acc, val) => acc + val, 0) / numbers.length;\n\n // Median\n const sortedNumbers = [...numbers].sort((a, b) => a - b);\n const mid = Math.floor(sortedNumbers.length / 2);\n const median =\n sortedNumbers.length % 2 !== 0\n ? sortedNumbers[mid]\n : (sortedNumbers[mid - 1] + sortedNumbers[mid]) / 2;\n\n // Mode\n const frequency: { [key: number]: number } = {};\n let maxFreq = 0;\n let mode = numbers[0];\n\n numbers.forEach((num) => {\n frequency[num] = (frequency[num] || 0) + 1;\n if (frequency[num] > maxFreq) {\n maxFreq = frequency[num];\n mode = num;\n }\n });\n\n return { mean, median, mode };\n};\n","import { toTwoDecimalPlaces } from \"./toTwoDecimalPlaces\";\n\nexport function calculateWinAfterCommission(amount: number): {\n commission: number;\n totalLeft: number;\n} {\n if (amount <= 0) {\n return { commission: 0, totalLeft: amount };\n }\n const commission = toTwoDecimalPlaces(amount * 0.02);\n const totalLeft = toTwoDecimalPlaces(amount - commission);\n return { commission, totalLeft };\n}\n","export const percentToOdds = (p: number) => {\n let perc = p;\n\n if (perc == 0) perc = 99;\n\n // 1 divided by (the percentage divided by 100) e.g. a probability of 50% = 1 / (50 / 100) = 2.\n return parseFloat((1 / (perc / 100)).toFixed(2));\n};\n"],"mappings":"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","names":["import_mongoose","import_mongoose","import_mongoose","import_mongoose","import_mongoose","import_mongoose"]}
|
package/dist/index.mjs
CHANGED
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/league/schema/index.ts","../src/data/league/data/index.ts","../src/data/team/schema/index.ts","../src/data/fixture/schema/index.ts","../src/data/teamStat/schema/index.ts","../src/data/bet/schema/index.ts","../src/data/bet/data/index.ts","../src/data/bet/utils/index.ts","../src/data/betStat/schema/index.ts","../src/data/account/schema/index.ts","../src/utils/apiFootball/data/index.ts","../src/utils/numbers/toTwoDecimalPlaces.ts","../src/utils/numbers/toPercent.ts","../src/utils/numbers/getMeanModeMedian.ts","../src/utils/numbers/calculateWinAfterCommission.ts","../src/utils/numbers/percentToOdds.ts"],"sourcesContent":["import { League } from \"../types\";\nimport { Schema } from \"mongoose\";\n\nexport const leagueSchema = new Schema<League>(\n {\n id: {\n type: Number,\n required: true,\n },\n name: {\n type: String,\n },\n logo: {\n type: String,\n },\n country: {\n name: {\n type: String,\n },\n code: {\n type: String,\n },\n flag: {\n type: String,\n },\n },\n stats: {\n type: Schema.Types.Mixed,\n },\n prevStats: {\n type: [Schema.Types.Mixed],\n },\n currentSeason: {\n type: Number,\n },\n },\n { timestamps: true }\n);\n","export const LEAGUE_ID_LIST = [\n 39, // premier league\n 78, //Bundesliga 1\n 140, // La Liga\n 135, // Serie A\n 61, // Ligue 1,\n 188, // A league australia\n 40, // Championship\n 41, // League One\n 42, // League Two\n 43, //National League\n 141, // Segunda Division\n 79, //Bundesliga 2\n 136, // Serie B\n 62, // Ligue 2\n 179, // Scotland Premiership\n 180, // Scotland Championship,\n 113, // Sweden Allsvenskan\n 103, // Norway Eliteserien\n 94, // Primeira Liga portugal\n 71, // Serie A Brazil\n 72, // Serie B Brazil\n 253, // Major League Soccer\n 197, // Greece Super League\n 88, // Eredivisie Holland\n 144, // Belgium 1st div A\n 345, // Czech Liga\n 207, // Switz super league\n 98, // J1 League Japan\n 292, // K League 1\n //333, // Ukraine premier league\n 128, // Liga Profesional Argentina\n 169, // China super league\n 233, // Egypt premier leaguye\n 262, // Liga MX Mexico\n 244, // Veikkausliiga finland\n 164, // Iceland\n 281, // Peru Primera División/ Liga 1\n 203, // Turkey Süper Lig\n 365, // Virsliga Latvia\n 357, // Ireland Premier division\n 106, // Polish Ekstraklasa\n 283, // Romania Liga 1\n 218, // Austria Bundesliga\n 119, // Denmark Superliga\n 344, // Bolivia Primera División\n 323, // Indian Super League\n 274, // Indonesia Liga 1\n 274, // Algeria Ligue 1\n 368, // singapore premier league\n 307, // saudi pro league\n 210, // HNL Croatian Football League\n 186, // Algeria Ligue 1\n 411, // Cameroon Elite One\n 259, // Canadian Championship\n 239, // Primera A Colombia\n 95, // Segunda Liga portugal\n 2, // UEFA Champions League\n 3, // UEFA Europa League\n 1, //World Cup\n 4, // EURO Championship\n 8, //World Cup - Women\n 5, // UEFA Nations League\n 848, // UEFA Europa Conference League\n 45, // FA Cup\n 48, // League Cup (Caribo Cup)\n 15, // FIFA Club World Cup\n 531, // UEFA Super Cup\n 10, // World Freindlies\n 32, // World Cup - Qualification Europe\n 30, // World Cup - Qualification Asia\n 29, // World Cup - Qualification Africa\n 34, //World Cup - Qualification South America\n 33, // World Cup - Qualification Oceania\n 31, // World Cup - Qualification CONCACAF\n 525, // UEFA Champions League Women\n 743, // UEFA Championship - Women (Euros)\n 698, // FA Women's Cup\n];\n","import { Schema } from \"mongoose\";\n\nexport const teamSchema = new Schema(\n {\n id: {\n type: Number,\n required: true,\n },\n name: {\n type: String,\n required: true,\n },\n logo: {\n type: String,\n required: true,\n },\n league: {\n type: Schema.Types.ObjectId,\n ref: \"League\",\n },\n stats: {\n type: Schema.Types.ObjectId,\n ref: \"TeamStat\",\n },\n currentSeason: {\n type: Number,\n },\n fixtures: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const fixtureSchema = new Schema(\n {\n fixture: {\n type: Schema.Types.Mixed,\n },\n league: {\n type: Schema.Types.Mixed,\n },\n teams: {\n type: Schema.Types.Mixed,\n },\n goals: {\n type: Schema.Types.Mixed,\n },\n score: {\n type: Schema.Types.Mixed,\n },\n odds: {\n type: Schema.Types.Mixed,\n },\n apiPredictions: {\n type: Schema.Types.Mixed,\n },\n teamStats: {\n type: Schema.Types.Mixed,\n },\n prevFixtures: {\n homeTeam: {\n home: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n awayTeam: {\n away: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n },\n // refs: {\n // refHomeTeamStat: {\n // type: Schema.Types.ObjectId,\n // ref: \"Stat\",\n // },\n // refAwayTeamStat: {\n // type: Schema.Types.ObjectId,\n // ref: \"Stat\",\n // },\n // refHomeTeam: {\n // type: Schema.Types.ObjectId,\n // ref: \"Team\",\n // },\n // refAwayTeam: {\n // type: Schema.Types.ObjectId,\n // ref: \"Team\",\n // },\n // },\n // odds: {\n // type: Schema.Types.Mixed,\n // },\n // prevFixtures: {\n // home: [\n // {\n // type: Schema.Types.ObjectId,\n // ref: \"Fixture\",\n // },\n // ],\n // away: [\n // {\n // type: Schema.Types.ObjectId,\n // ref: \"Fixture\",\n // },\n // ],\n // },\n // apiPredictions: {\n // type: Schema.Types.Mixed,\n // },\n // predictions: {\n // type: Schema.Types.Mixed,\n // },\n // topBets: {\n // type: Schema.Types.Mixed,\n // },\n // keyStats: {\n // type: Schema.Types.Mixed,\n // },\n // info: {\n // type: Schema.Types.Mixed,\n // },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const teamStatSchema = new Schema(\n {\n leagueTeams: { type: Number },\n leaguePosition: { type: Number },\n leaguePoints: { type: Number },\n team: {\n id: { type: Number, required: true },\n name: { type: String, required: true },\n logo: { type: String, required: true },\n },\n biggest: {\n streak: {\n wins: { type: Number },\n draws: { type: Number },\n loses: { type: Number },\n },\n wins: {\n home: { type: String },\n away: { type: String },\n },\n loses: {\n home: { type: String },\n away: { type: String },\n },\n goals: {\n for: {\n home: { type: Number },\n away: { type: Number },\n },\n against: {\n home: { type: Number },\n away: { type: Number },\n },\n },\n },\n cards: {\n yellow: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n red: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n },\n clean_sheet: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n createdAt: { type: Date, default: Date.now },\n failed_to_score: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n fixtures: {\n played: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n wins: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n draws: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n loses: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n },\n form: { type: String },\n formHome: { type: String },\n formAway: { type: String },\n goals: {\n for: {\n total: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n average: {\n home: { type: String },\n away: { type: String },\n total: { type: String },\n },\n minute: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n under_over: {\n \"0.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"1.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"2.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"3.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"4.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n },\n },\n against: {\n total: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n average: {\n home: { type: String },\n away: { type: String },\n total: { type: String },\n },\n minute: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n under_over: {\n \"0.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"1.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"2.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"3.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"4.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n },\n },\n },\n league: {\n id: { type: Number, required: true },\n name: { type: String, required: true },\n country: { type: String, required: true },\n logo: { type: String, required: true },\n flag: { type: String, required: true },\n season: { type: Number, required: true },\n },\n lineups: [\n {\n formation: { type: String },\n played: { type: Number },\n },\n ],\n penalty: {\n scored: {\n total: { type: Number },\n percentage: { type: String },\n },\n missed: {\n total: { type: Number },\n percentage: { type: String },\n },\n total: { type: Number },\n },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const betSchema = new Schema(\n {\n selections: {\n type: [\n {\n _id: false,\n betType: {\n type: String,\n required: true,\n },\n fixture: {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n odds: {\n type: Number,\n required: true,\n },\n winner: {\n type: Boolean,\n },\n },\n ],\n required: true,\n },\n stake: {\n type: Number,\n required: true,\n },\n unmatched: {\n type: Boolean,\n },\n odds: {\n type: Number,\n required: true,\n },\n winner: {\n type: Boolean,\n },\n winAmount: {\n type: Number,\n },\n commissionAmount: {\n type: Number,\n },\n settled: {\n type: Boolean,\n },\n cashout: {\n type: Boolean,\n },\n cashoutAmount: {\n type: Number,\n },\n },\n { timestamps: true }\n);\n","export const betTypesInfo = {\n homeWin: {\n shortName: \"H\",\n nameWithTitle: \"H\",\n label: \"Home Win\",\n },\n awayWin: {\n shortName: \"Away\",\n nameWithTitle: \"A\",\n label: \"Away Win\",\n },\n draw: {\n shortName: \"Draw\",\n nameWithTitle: \"D\",\n label: \"Draw\",\n },\n homeDrawDoubleChance: {\n shortName: \"1X\",\n nameWithTitle: \"1X\",\n label: \"Home/Draw Double Chance\",\n },\n awayDrawDoubleChance: {\n shortName: \"2X\",\n nameWithTitle: \"2X\",\n label: \"Away/Draw Double Chance\",\n },\n homeAwayDoubleChance: {\n shortName: \"12\",\n nameWithTitle: \"12\",\n label: \"Home/Away Double Chance\",\n },\n over0_5: {\n shortName: \"Over 0.5\",\n nameWithTitle: \"0.5\",\n label: \"Over 0.5\",\n },\n under0_5: {\n shortName: \"Under 0.5\",\n nameWithTitle: \"0.5\",\n label: \"Under 0.5\",\n },\n over1_5: {\n shortName: \"Over 1.5\",\n nameWithTitle: \"1.5\",\n label: \"Over 1.5\",\n },\n under1_5: {\n shortName: \"Under 1.5\",\n nameWithTitle: \"1.5\",\n label: \"Under 1.5\",\n },\n over2_5: {\n shortName: \"Over 2.5\",\n nameWithTitle: \"2.5\",\n label: \"Over 2.5\",\n },\n under2_5: {\n shortName: \"Under 2.5\",\n nameWithTitle: \"2.5\",\n label: \"Under 2.5\",\n },\n over3_5: {\n shortName: \"Over 3.5\",\n nameWithTitle: \"3.5\",\n label: \"Over 3.5\",\n },\n under3_5: {\n shortName: \"Under 3.5\",\n nameWithTitle: \"3.5\",\n label: \"Under 3.5\",\n },\n over4_5: {\n shortName: \"Over 4.5\",\n nameWithTitle: \"4.5\",\n label: \"Over 4.5\",\n },\n under4_5: {\n shortName: \"Under 4.5\",\n nameWithTitle: \"4.5\",\n label: \"Under 4.5\",\n },\n over5_5: {\n shortName: \"Over 5.5\",\n nameWithTitle: \"5.5\",\n label: \"Over 5.5\",\n },\n under5_5: {\n shortName: \"Under 5.5\",\n nameWithTitle: \"5.5\",\n label: \"Under 5.5\",\n },\n over6_5: {\n shortName: \"Over 6.5\",\n nameWithTitle: \"6.5\",\n label: \"Over 6.5\",\n },\n under6_5: {\n shortName: \"Under 6.5\",\n nameWithTitle: \"6.5\",\n label: \"Under 6.5\",\n },\n BTTS: {\n shortName: \"BTTS\",\n nameWithTitle: \"BTTS\",\n label: \"BTTS\",\n },\n BTNTS: {\n shortName: \"BTNTS\",\n nameWithTitle: \"BTNTS\",\n label: \"BTNTS\",\n },\n};\n","import { Fixture } from \"../../fixture\";\nimport { BetTypes } from \"../types\";\n\nexport const checkBetWin = (betType: BetTypes, fixture: Fixture) => {\n if (betType === \"homeWin\") {\n return fixture.score.fulltime.home > fixture.score.fulltime.away;\n }\n\n if (betType === \"awayWin\") {\n return fixture.score.fulltime.home < fixture.score.fulltime.away;\n }\n\n if (betType === \"draw\") {\n return fixture.score.fulltime.home === fixture.score.fulltime.away;\n }\n\n if (betType === \"homeDrawDoubleChance\") {\n return (\n fixture.score.fulltime.home > fixture.score.fulltime.away ||\n fixture.score.fulltime.home === fixture.score.fulltime.away\n );\n }\n\n if (betType === \"awayDrawDoubleChance\") {\n return (\n fixture.score.fulltime.home < fixture.score.fulltime.away ||\n fixture.score.fulltime.home === fixture.score.fulltime.away\n );\n }\n\n if (betType === \"homeAwayDoubleChance\") {\n return fixture.score.fulltime.home !== fixture.score.fulltime.away;\n }\n\n if (betType === \"under0_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 1;\n }\n\n if (betType === \"under1_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 2;\n }\n\n if (betType === \"under2_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 3;\n }\n\n if (betType === \"under3_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 4;\n }\n\n if (betType === \"under4_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 5;\n }\n\n if (betType === \"under5_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 6;\n }\n\n if (betType === \"under6_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 7;\n }\n\n if (betType === \"over0_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 0;\n }\n\n if (betType === \"over1_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 1;\n }\n\n if (betType === \"over2_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 2;\n }\n\n if (betType === \"over3_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 3;\n }\n\n if (betType === \"over4_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 4;\n }\n\n if (betType === \"over5_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 5;\n }\n\n if (betType === \"over6_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 6;\n }\n\n if (betType === \"BTTS\") {\n return fixture.score.fulltime.home > 0 && fixture.score.fulltime.away > 0;\n }\n\n if (betType === \"BTNTS\") {\n return (\n fixture.score.fulltime.home === 0 || fixture.score.fulltime.away === 0\n );\n }\n\n return undefined;\n};\n","import { Schema } from \"mongoose\";\nimport { av } from \"vitest/dist/chunks/reporters.D7Jzd9GS\";\n\nexport const betStatSchema = new Schema(\n {\n betType: { type: String },\n betWins: {\n overall: {\n count: { type: Number },\n winPercent: { type: Number },\n averageOdds: { type: Number },\n },\n at_odds: [\n {\n odds: { type: Number },\n games: { type: Number },\n wins: { type: Number },\n winPercent: { type: Number },\n expectedOdds: { type: Number },\n resetTacticBalance2x: { type: Number },\n resetTacticPot2x: { type: Number },\n resetTacticBalanceOverOdds2x: { type: Number },\n resetTacticPotOverOdds2x: { type: Number },\n resetTacticBalance1_5x: { type: Number },\n resetTacticPot1_5x: { type: Number },\n resetTacticBalanceOverOdds1_5x: { type: Number },\n resetTacticPotOverOdds1_5x: { type: Number },\n resetTacticBalance1_3x: { type: Number },\n resetTacticPot1_3x: { type: Number },\n resetTacticBalanceOverOdds1_3x: { type: Number },\n resetTacticPotOverOdds1_3x: { type: Number },\n\n placingEveryBet: { type: Number },\n },\n ],\n per_league: [\n {\n league: {\n type: Schema.Types.ObjectId,\n ref: \"League\",\n },\n winPercent: { type: Number },\n resetTacticBalance: { type: Number },\n resetTacticPot: { type: Number },\n averageOdds: { type: Number },\n },\n ],\n betting_on_odds_higher_league_percent: [\n {\n games: { type: Number },\n wins: { type: Number },\n winPercent: { type: Number },\n oddsHigherLeagueResetTacticBalance2x: { type: Number },\n oddsHigherLeagueResetTacticPot2x: { type: Number },\n oddsHigherLeagueResetTacticBalance1_5x: { type: Number },\n oddsHigherLeagueResetTacticPot1_5x: { type: Number },\n oddsHigherLeagueResetTacticBalance1_3x: { type: Number },\n oddsHigherLeagueResetTacticPot1_3x: { type: Number },\n date: { type: Date },\n matchIds: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n ],\n based_on_prev: [\n {\n name: { type: String },\n winPercent: { type: Number },\n },\n ],\n based_on_team_pos: [\n {\n name: { type: String },\n winPercent: { type: Number },\n },\n ],\n },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const accountSchema = new Schema(\n {\n email: {\n type: String,\n required: true,\n },\n password: {\n type: String,\n required: true,\n },\n balance: {\n type: Number,\n },\n outstandingBets: {\n type: Number,\n },\n depositTotal: {\n type: Number,\n },\n deposits: {\n type: Array,\n },\n expenseTotal: {\n type: Number,\n },\n expenses: {\n type: Array,\n },\n balanceHistoryDay: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n balanceHistoryWeek: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n balanceHistoryMonth: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n },\n { timestamps: true }\n);\n","const API_FOOTBALL_URL = `https://v3.football.api-sports.io`;\nexport const API_FOOTBALL_URL_LEAGUES = `${API_FOOTBALL_URL}/leagues`;\nexport const API_FOOTBALL_URL_TEAMS = `${API_FOOTBALL_URL}/teams`;\nexport const API_FOOTBALL_URL_FIXTURES = `${API_FOOTBALL_URL}/fixtures`;\nexport const API_FOOTBALL_URL_TEAM_STATS = `${API_FOOTBALL_URL}/teams/statistics`;\nexport const API_FOOTBALL_URL_ODDS = `${API_FOOTBALL_URL}/odds`;\nexport const API_FOOTBALL_URL_STANDINGS = `${API_FOOTBALL_URL}/standings`;\nexport const API_FOOTBALL_URL_PREDICTIONS = `${API_FOOTBALL_URL}/predictions`;\n","export function toTwoDecimalPlaces(num: number): number {\n return parseFloat(num.toFixed(2));\n}\n","export function toPercent(value: number, total: number): number {\n if (total === 0) {\n return 0;\n }\n return (value * 100) / total;\n}\n","// The four averages are the mean, median, mode, and range.\n// The mean is what you typically think as the average - found by summing all values and dividing the sum by the number of values.\n// The median is the middle value of the set (or the average of the two middle values if the set is even).\n// The mode is the piece of data that occurs the most\n// The range is the difference between the highest and lowest values.\n\nexport const getMeanModeMedian = (numbers: number[]) => {\n if (numbers.length === 0) return { mean: 0, median: 0, mode: 0 };\n\n // Mean\n const mean = numbers.reduce((acc, val) => acc + val, 0) / numbers.length;\n\n // Median\n const sortedNumbers = [...numbers].sort((a, b) => a - b);\n const mid = Math.floor(sortedNumbers.length / 2);\n const median =\n sortedNumbers.length % 2 !== 0\n ? sortedNumbers[mid]\n : (sortedNumbers[mid - 1] + sortedNumbers[mid]) / 2;\n\n // Mode\n const frequency: { [key: number]: number } = {};\n let maxFreq = 0;\n let mode = numbers[0];\n\n numbers.forEach((num) => {\n frequency[num] = (frequency[num] || 0) + 1;\n if (frequency[num] > maxFreq) {\n maxFreq = frequency[num];\n mode = num;\n }\n });\n\n return { mean, median, mode };\n};\n","import { toTwoDecimalPlaces } from \"./toTwoDecimalPlaces\";\n\nexport function calculateWinAfterCommission(amount: number): {\n commission: number;\n totalLeft: number;\n} {\n if (amount <= 0) {\n return { commission: 0, totalLeft: amount };\n }\n const commission = toTwoDecimalPlaces(amount * 0.02);\n const totalLeft = toTwoDecimalPlaces(amount - commission);\n return { commission, totalLeft };\n}\n","export const percentToOdds = (p: number) => {\n let perc = p;\n\n if (perc == 0) perc = 99;\n\n // 1 divided by (the percentage divided by 100) e.g. a probability of 50% = 1 / (50 / 100) = 2.\n return parseFloat((1 / (perc / 100)).toFixed(2));\n};\n"],"mappings":"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","names":["Schema","Schema","Schema","Schema","Schema","Schema"]}
|
|
1
|
+
{"version":3,"sources":["../src/data/league/schema/index.ts","../src/data/league/data/index.ts","../src/data/team/schema/index.ts","../src/data/fixture/schema/index.ts","../src/data/teamStat/schema/index.ts","../src/data/bet/schema/index.ts","../src/data/bet/data/index.ts","../src/data/bet/utils/index.ts","../src/data/betStat/schema/index.ts","../src/data/account/schema/index.ts","../src/utils/apiFootball/data/index.ts","../src/utils/numbers/toTwoDecimalPlaces.ts","../src/utils/numbers/toPercent.ts","../src/utils/numbers/getMeanModeMedian.ts","../src/utils/numbers/calculateWinAfterCommission.ts","../src/utils/numbers/percentToOdds.ts"],"sourcesContent":["import { League } from \"../types\";\nimport { Schema } from \"mongoose\";\n\nexport const leagueSchema = new Schema<League>(\n {\n id: {\n type: Number,\n required: true,\n },\n name: {\n type: String,\n },\n logo: {\n type: String,\n },\n country: {\n name: {\n type: String,\n },\n code: {\n type: String,\n },\n flag: {\n type: String,\n },\n },\n stats: {\n type: Schema.Types.Mixed,\n },\n prevStats: {\n type: [Schema.Types.Mixed],\n },\n currentSeason: {\n type: Number,\n },\n },\n { timestamps: true }\n);\n","export const LEAGUE_ID_LIST = [\n 39, // premier league\n 78, //Bundesliga 1\n 140, // La Liga\n 135, // Serie A\n 61, // Ligue 1,\n 188, // A league australia\n 40, // Championship\n 41, // League One\n 42, // League Two\n 43, //National League\n 141, // Segunda Division\n 79, //Bundesliga 2\n 136, // Serie B\n 62, // Ligue 2\n 179, // Scotland Premiership\n 180, // Scotland Championship,\n 113, // Sweden Allsvenskan\n 103, // Norway Eliteserien\n 94, // Primeira Liga portugal\n 71, // Serie A Brazil\n 72, // Serie B Brazil\n 253, // Major League Soccer\n 197, // Greece Super League\n 88, // Eredivisie Holland\n 144, // Belgium 1st div A\n 345, // Czech Liga\n 207, // Switz super league\n 98, // J1 League Japan\n 292, // K League 1\n //333, // Ukraine premier league\n 128, // Liga Profesional Argentina\n 169, // China super league\n 233, // Egypt premier leaguye\n 262, // Liga MX Mexico\n 244, // Veikkausliiga finland\n 164, // Iceland\n 281, // Peru Primera División/ Liga 1\n 203, // Turkey Süper Lig\n 365, // Virsliga Latvia\n 357, // Ireland Premier division\n 106, // Polish Ekstraklasa\n 283, // Romania Liga 1\n 218, // Austria Bundesliga\n 119, // Denmark Superliga\n 344, // Bolivia Primera División\n 323, // Indian Super League\n 274, // Indonesia Liga 1\n 274, // Algeria Ligue 1\n 368, // singapore premier league\n 307, // saudi pro league\n 210, // HNL Croatian Football League\n 186, // Algeria Ligue 1\n 411, // Cameroon Elite One\n 259, // Canadian Championship\n 239, // Primera A Colombia\n 95, // Segunda Liga portugal\n 99, // J2 League Japan\n\n 2, // UEFA Champions League\n 3, // UEFA Europa League\n 1, //World Cup\n 4, // EURO Championship\n 8, //World Cup - Women\n 5, // UEFA Nations League\n 848, // UEFA Europa Conference League\n 45, // FA Cup\n 48, // League Cup (Caribo Cup)\n 15, // FIFA Club World Cup\n 531, // UEFA Super Cup\n 10, // World Freindlies\n 32, // World Cup - Qualification Europe\n 30, // World Cup - Qualification Asia\n 29, // World Cup - Qualification Africa\n 34, //World Cup - Qualification South America\n 33, // World Cup - Qualification Oceania\n 31, // World Cup - Qualification CONCACAF\n 525, // UEFA Champions League Women\n 743, // UEFA Championship - Women (Euros)\n 698, // FA Women's Cup\n];\n","import { Schema } from \"mongoose\";\n\nexport const teamSchema = new Schema(\n {\n id: {\n type: Number,\n required: true,\n },\n name: {\n type: String,\n required: true,\n },\n logo: {\n type: String,\n required: true,\n },\n league: {\n type: Schema.Types.ObjectId,\n ref: \"League\",\n },\n stats: {\n type: Schema.Types.ObjectId,\n ref: \"TeamStat\",\n },\n currentSeason: {\n type: Number,\n },\n fixtures: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const fixtureSchema = new Schema(\n {\n fixture: {\n type: Schema.Types.Mixed,\n },\n league: {\n type: Schema.Types.Mixed,\n },\n teams: {\n type: Schema.Types.Mixed,\n },\n goals: {\n type: Schema.Types.Mixed,\n },\n score: {\n type: Schema.Types.Mixed,\n },\n odds: {\n type: Schema.Types.Mixed,\n },\n apiPredictions: {\n type: Schema.Types.Mixed,\n },\n teamStats: {\n type: Schema.Types.Mixed,\n },\n prevFixtures: {\n homeTeam: {\n home: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n awayTeam: {\n away: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n },\n // refs: {\n // refHomeTeamStat: {\n // type: Schema.Types.ObjectId,\n // ref: \"Stat\",\n // },\n // refAwayTeamStat: {\n // type: Schema.Types.ObjectId,\n // ref: \"Stat\",\n // },\n // refHomeTeam: {\n // type: Schema.Types.ObjectId,\n // ref: \"Team\",\n // },\n // refAwayTeam: {\n // type: Schema.Types.ObjectId,\n // ref: \"Team\",\n // },\n // },\n // odds: {\n // type: Schema.Types.Mixed,\n // },\n // prevFixtures: {\n // home: [\n // {\n // type: Schema.Types.ObjectId,\n // ref: \"Fixture\",\n // },\n // ],\n // away: [\n // {\n // type: Schema.Types.ObjectId,\n // ref: \"Fixture\",\n // },\n // ],\n // },\n // apiPredictions: {\n // type: Schema.Types.Mixed,\n // },\n // predictions: {\n // type: Schema.Types.Mixed,\n // },\n // topBets: {\n // type: Schema.Types.Mixed,\n // },\n // keyStats: {\n // type: Schema.Types.Mixed,\n // },\n // info: {\n // type: Schema.Types.Mixed,\n // },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const teamStatSchema = new Schema(\n {\n leagueTeams: { type: Number },\n leaguePosition: { type: Number },\n leaguePoints: { type: Number },\n team: {\n id: { type: Number, required: true },\n name: { type: String, required: true },\n logo: { type: String, required: true },\n },\n biggest: {\n streak: {\n wins: { type: Number },\n draws: { type: Number },\n loses: { type: Number },\n },\n wins: {\n home: { type: String },\n away: { type: String },\n },\n loses: {\n home: { type: String },\n away: { type: String },\n },\n goals: {\n for: {\n home: { type: Number },\n away: { type: Number },\n },\n against: {\n home: { type: Number },\n away: { type: Number },\n },\n },\n },\n cards: {\n yellow: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n red: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n },\n clean_sheet: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n createdAt: { type: Date, default: Date.now },\n failed_to_score: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n fixtures: {\n played: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n wins: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n draws: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n loses: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n },\n form: { type: String },\n formHome: { type: String },\n formAway: { type: String },\n goals: {\n for: {\n total: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n average: {\n home: { type: String },\n away: { type: String },\n total: { type: String },\n },\n minute: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n under_over: {\n \"0.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"1.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"2.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"3.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"4.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n },\n },\n against: {\n total: {\n home: { type: Number },\n away: { type: Number },\n total: { type: Number },\n },\n average: {\n home: { type: String },\n away: { type: String },\n total: { type: String },\n },\n minute: {\n \"0-15\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"16-30\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"31-45\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"46-60\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"61-75\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"76-90\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"91-105\": {\n total: { type: Number },\n percentage: { type: String },\n },\n \"106-120\": {\n total: { type: Number },\n percentage: { type: String },\n },\n },\n under_over: {\n \"0.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"1.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"2.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"3.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n \"4.5\": {\n over: { type: Number },\n under: { type: Number },\n },\n },\n },\n },\n league: {\n id: { type: Number, required: true },\n name: { type: String, required: true },\n country: { type: String, required: true },\n logo: { type: String, required: true },\n flag: { type: String, required: true },\n season: { type: Number, required: true },\n },\n lineups: [\n {\n formation: { type: String },\n played: { type: Number },\n },\n ],\n penalty: {\n scored: {\n total: { type: Number },\n percentage: { type: String },\n },\n missed: {\n total: { type: Number },\n percentage: { type: String },\n },\n total: { type: Number },\n },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const betSchema = new Schema(\n {\n selections: {\n type: [\n {\n _id: false,\n betType: {\n type: String,\n required: true,\n },\n fixture: {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n odds: {\n type: Number,\n required: true,\n },\n winner: {\n type: Boolean,\n },\n },\n ],\n required: true,\n },\n stake: {\n type: Number,\n required: true,\n },\n unmatched: {\n type: Boolean,\n },\n odds: {\n type: Number,\n required: true,\n },\n winner: {\n type: Boolean,\n },\n winAmount: {\n type: Number,\n },\n commissionAmount: {\n type: Number,\n },\n settled: {\n type: Boolean,\n },\n cashout: {\n type: Boolean,\n },\n cashoutAmount: {\n type: Number,\n },\n },\n { timestamps: true }\n);\n","export const betTypesInfo = {\n homeWin: {\n shortName: \"H\",\n nameWithTitle: \"H\",\n label: \"Home Win\",\n },\n awayWin: {\n shortName: \"Away\",\n nameWithTitle: \"A\",\n label: \"Away Win\",\n },\n draw: {\n shortName: \"Draw\",\n nameWithTitle: \"D\",\n label: \"Draw\",\n },\n homeDrawDoubleChance: {\n shortName: \"1X\",\n nameWithTitle: \"1X\",\n label: \"Home/Draw Double Chance\",\n },\n awayDrawDoubleChance: {\n shortName: \"2X\",\n nameWithTitle: \"2X\",\n label: \"Away/Draw Double Chance\",\n },\n homeAwayDoubleChance: {\n shortName: \"12\",\n nameWithTitle: \"12\",\n label: \"Home/Away Double Chance\",\n },\n over0_5: {\n shortName: \"Over 0.5\",\n nameWithTitle: \"0.5\",\n label: \"Over 0.5\",\n },\n under0_5: {\n shortName: \"Under 0.5\",\n nameWithTitle: \"0.5\",\n label: \"Under 0.5\",\n },\n over1_5: {\n shortName: \"Over 1.5\",\n nameWithTitle: \"1.5\",\n label: \"Over 1.5\",\n },\n under1_5: {\n shortName: \"Under 1.5\",\n nameWithTitle: \"1.5\",\n label: \"Under 1.5\",\n },\n over2_5: {\n shortName: \"Over 2.5\",\n nameWithTitle: \"2.5\",\n label: \"Over 2.5\",\n },\n under2_5: {\n shortName: \"Under 2.5\",\n nameWithTitle: \"2.5\",\n label: \"Under 2.5\",\n },\n over3_5: {\n shortName: \"Over 3.5\",\n nameWithTitle: \"3.5\",\n label: \"Over 3.5\",\n },\n under3_5: {\n shortName: \"Under 3.5\",\n nameWithTitle: \"3.5\",\n label: \"Under 3.5\",\n },\n over4_5: {\n shortName: \"Over 4.5\",\n nameWithTitle: \"4.5\",\n label: \"Over 4.5\",\n },\n under4_5: {\n shortName: \"Under 4.5\",\n nameWithTitle: \"4.5\",\n label: \"Under 4.5\",\n },\n over5_5: {\n shortName: \"Over 5.5\",\n nameWithTitle: \"5.5\",\n label: \"Over 5.5\",\n },\n under5_5: {\n shortName: \"Under 5.5\",\n nameWithTitle: \"5.5\",\n label: \"Under 5.5\",\n },\n over6_5: {\n shortName: \"Over 6.5\",\n nameWithTitle: \"6.5\",\n label: \"Over 6.5\",\n },\n under6_5: {\n shortName: \"Under 6.5\",\n nameWithTitle: \"6.5\",\n label: \"Under 6.5\",\n },\n BTTS: {\n shortName: \"BTTS\",\n nameWithTitle: \"BTTS\",\n label: \"BTTS\",\n },\n BTNTS: {\n shortName: \"BTNTS\",\n nameWithTitle: \"BTNTS\",\n label: \"BTNTS\",\n },\n};\n","import { Fixture } from \"../../fixture\";\nimport { BetTypes } from \"../types\";\n\nexport const checkBetWin = (betType: BetTypes, fixture: Fixture) => {\n if (betType === \"homeWin\") {\n return fixture.score.fulltime.home > fixture.score.fulltime.away;\n }\n\n if (betType === \"awayWin\") {\n return fixture.score.fulltime.home < fixture.score.fulltime.away;\n }\n\n if (betType === \"draw\") {\n return fixture.score.fulltime.home === fixture.score.fulltime.away;\n }\n\n if (betType === \"homeDrawDoubleChance\") {\n return (\n fixture.score.fulltime.home > fixture.score.fulltime.away ||\n fixture.score.fulltime.home === fixture.score.fulltime.away\n );\n }\n\n if (betType === \"awayDrawDoubleChance\") {\n return (\n fixture.score.fulltime.home < fixture.score.fulltime.away ||\n fixture.score.fulltime.home === fixture.score.fulltime.away\n );\n }\n\n if (betType === \"homeAwayDoubleChance\") {\n return fixture.score.fulltime.home !== fixture.score.fulltime.away;\n }\n\n if (betType === \"under0_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 1;\n }\n\n if (betType === \"under1_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 2;\n }\n\n if (betType === \"under2_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 3;\n }\n\n if (betType === \"under3_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 4;\n }\n\n if (betType === \"under4_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 5;\n }\n\n if (betType === \"under5_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 6;\n }\n\n if (betType === \"under6_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away < 7;\n }\n\n if (betType === \"over0_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 0;\n }\n\n if (betType === \"over1_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 1;\n }\n\n if (betType === \"over2_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 2;\n }\n\n if (betType === \"over3_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 3;\n }\n\n if (betType === \"over4_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 4;\n }\n\n if (betType === \"over5_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 5;\n }\n\n if (betType === \"over6_5\") {\n return fixture.score.fulltime.home + fixture.score.fulltime.away > 6;\n }\n\n if (betType === \"BTTS\") {\n return fixture.score.fulltime.home > 0 && fixture.score.fulltime.away > 0;\n }\n\n if (betType === \"BTNTS\") {\n return (\n fixture.score.fulltime.home === 0 || fixture.score.fulltime.away === 0\n );\n }\n\n return undefined;\n};\n","import { Schema } from \"mongoose\";\nimport { av } from \"vitest/dist/chunks/reporters.D7Jzd9GS\";\n\nexport const betStatSchema = new Schema(\n {\n betType: { type: String },\n betWins: {\n overall: {\n count: { type: Number },\n winPercent: { type: Number },\n averageOdds: { type: Number },\n },\n at_odds: [\n {\n odds: { type: Number },\n games: { type: Number },\n wins: { type: Number },\n winPercent: { type: Number },\n expectedOdds: { type: Number },\n resetTacticBalance2x: { type: Number },\n resetTacticPot2x: { type: Number },\n resetTacticBalanceOverOdds2x: { type: Number },\n resetTacticPotOverOdds2x: { type: Number },\n resetTacticBalance1_5x: { type: Number },\n resetTacticPot1_5x: { type: Number },\n resetTacticBalanceOverOdds1_5x: { type: Number },\n resetTacticPotOverOdds1_5x: { type: Number },\n resetTacticBalance1_3x: { type: Number },\n resetTacticPot1_3x: { type: Number },\n resetTacticBalanceOverOdds1_3x: { type: Number },\n resetTacticPotOverOdds1_3x: { type: Number },\n\n placingEveryBet: { type: Number },\n },\n ],\n per_league: [\n {\n league: {\n type: Schema.Types.ObjectId,\n ref: \"League\",\n },\n winPercent: { type: Number },\n resetTacticBalance: { type: Number },\n resetTacticPot: { type: Number },\n averageOdds: { type: Number },\n },\n ],\n betting_on_odds_higher_league_percent: [\n {\n games: { type: Number },\n wins: { type: Number },\n winPercent: { type: Number },\n oddsHigherLeagueResetTacticBalance2x: { type: Number },\n oddsHigherLeagueResetTacticPot2x: { type: Number },\n oddsHigherLeagueResetTacticBalance1_5x: { type: Number },\n oddsHigherLeagueResetTacticPot1_5x: { type: Number },\n oddsHigherLeagueResetTacticBalance1_3x: { type: Number },\n oddsHigherLeagueResetTacticPot1_3x: { type: Number },\n date: { type: Date },\n matchIds: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\n },\n ],\n based_on_prev: [\n {\n name: { type: String },\n winPercent: { type: Number },\n },\n ],\n based_on_team_pos: [\n {\n name: { type: String },\n winPercent: { type: Number },\n },\n ],\n },\n },\n { timestamps: true }\n);\n","import { Schema } from \"mongoose\";\n\nexport const accountSchema = new Schema(\n {\n email: {\n type: String,\n required: true,\n },\n password: {\n type: String,\n required: true,\n },\n balance: {\n type: Number,\n },\n outstandingBets: {\n type: Number,\n },\n depositTotal: {\n type: Number,\n },\n deposits: {\n type: Array,\n },\n expenseTotal: {\n type: Number,\n },\n expenses: {\n type: Array,\n },\n balanceHistoryDay: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n balanceHistoryWeek: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n balanceHistoryMonth: [\n {\n date: {\n type: Date,\n required: true,\n },\n balance: {\n type: Number,\n required: true,\n },\n },\n ],\n },\n { timestamps: true }\n);\n","const API_FOOTBALL_URL = `https://v3.football.api-sports.io`;\nexport const API_FOOTBALL_URL_LEAGUES = `${API_FOOTBALL_URL}/leagues`;\nexport const API_FOOTBALL_URL_TEAMS = `${API_FOOTBALL_URL}/teams`;\nexport const API_FOOTBALL_URL_FIXTURES = `${API_FOOTBALL_URL}/fixtures`;\nexport const API_FOOTBALL_URL_TEAM_STATS = `${API_FOOTBALL_URL}/teams/statistics`;\nexport const API_FOOTBALL_URL_ODDS = `${API_FOOTBALL_URL}/odds`;\nexport const API_FOOTBALL_URL_STANDINGS = `${API_FOOTBALL_URL}/standings`;\nexport const API_FOOTBALL_URL_PREDICTIONS = `${API_FOOTBALL_URL}/predictions`;\n","export function toTwoDecimalPlaces(num: number): number {\n return parseFloat(num.toFixed(2));\n}\n","export function toPercent(value: number, total: number): number {\n if (total === 0) {\n return 0;\n }\n return (value * 100) / total;\n}\n","// The four averages are the mean, median, mode, and range.\n// The mean is what you typically think as the average - found by summing all values and dividing the sum by the number of values.\n// The median is the middle value of the set (or the average of the two middle values if the set is even).\n// The mode is the piece of data that occurs the most\n// The range is the difference between the highest and lowest values.\n\nexport const getMeanModeMedian = (numbers: number[]) => {\n if (numbers.length === 0) return { mean: 0, median: 0, mode: 0 };\n\n // Mean\n const mean = numbers.reduce((acc, val) => acc + val, 0) / numbers.length;\n\n // Median\n const sortedNumbers = [...numbers].sort((a, b) => a - b);\n const mid = Math.floor(sortedNumbers.length / 2);\n const median =\n sortedNumbers.length % 2 !== 0\n ? sortedNumbers[mid]\n : (sortedNumbers[mid - 1] + sortedNumbers[mid]) / 2;\n\n // Mode\n const frequency: { [key: number]: number } = {};\n let maxFreq = 0;\n let mode = numbers[0];\n\n numbers.forEach((num) => {\n frequency[num] = (frequency[num] || 0) + 1;\n if (frequency[num] > maxFreq) {\n maxFreq = frequency[num];\n mode = num;\n }\n });\n\n return { mean, median, mode };\n};\n","import { toTwoDecimalPlaces } from \"./toTwoDecimalPlaces\";\n\nexport function calculateWinAfterCommission(amount: number): {\n commission: number;\n totalLeft: number;\n} {\n if (amount <= 0) {\n return { commission: 0, totalLeft: amount };\n }\n const commission = toTwoDecimalPlaces(amount * 0.02);\n const totalLeft = toTwoDecimalPlaces(amount - commission);\n return { commission, totalLeft };\n}\n","export const percentToOdds = (p: number) => {\n let perc = p;\n\n if (perc == 0) perc = 99;\n\n // 1 divided by (the percentage divided by 100) e.g. a probability of 50% = 1 / (50 / 100) = 2.\n return parseFloat((1 / (perc / 100)).toFixed(2));\n};\n"],"mappings":"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","names":["Schema","Schema","Schema","Schema","Schema","Schema"]}
|