black-diamond-shared 1.0.88 → 1.0.89

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.d.mts CHANGED
@@ -1995,34 +1995,41 @@ interface BetStat {
1995
1995
  betWins: {
1996
1996
  overall: {
1997
1997
  count: number;
1998
- percent: number;
1999
- odds: number;
1998
+ winPercent: number;
1999
+ averageOdds: number;
2000
2000
  };
2001
2001
  at_odds: [
2002
2002
  {
2003
2003
  odds: number;
2004
2004
  games: number;
2005
2005
  wins: number;
2006
- percentWins: number;
2006
+ winPercent: number;
2007
2007
  expectedOdds: number;
2008
+ resetTacticBalance: number;
2009
+ resetTacticPot: number;
2010
+ resetTacticBalanceOverOdds: number;
2011
+ resetTacticPotOverOdds: number;
2008
2012
  }
2009
2013
  ];
2010
2014
  per_league: [
2011
2015
  {
2012
2016
  league: League$1;
2013
- percent: number;
2017
+ winPercent: number;
2018
+ averageOdds: number;
2019
+ resetTacticBalance: number;
2020
+ resetTacticPot: number;
2014
2021
  }
2015
2022
  ];
2016
2023
  based_on_prev: [
2017
2024
  {
2018
2025
  name: string;
2019
- percent: number;
2026
+ winPercent: number;
2020
2027
  }
2021
2028
  ];
2022
2029
  based_on_team_pos: [
2023
2030
  {
2024
2031
  name: string;
2025
- percent: number;
2032
+ winPercent: number;
2026
2033
  }
2027
2034
  ];
2028
2035
  };
@@ -2039,8 +2046,8 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2039
2046
  at_odds: mongoose.Types.DocumentArray<{
2040
2047
  wins?: number | null | undefined;
2041
2048
  odds?: number | null | undefined;
2049
+ winPercent?: number | null | undefined;
2042
2050
  games?: number | null | undefined;
2043
- percentWins?: number | null | undefined;
2044
2051
  expectedOdds?: number | null | undefined;
2045
2052
  resetTacticBalance?: number | null | undefined;
2046
2053
  resetTacticPot?: number | null | undefined;
@@ -2049,23 +2056,23 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2049
2056
  }>;
2050
2057
  per_league: mongoose.Types.DocumentArray<{
2051
2058
  league?: mongoose.Types.ObjectId | null | undefined;
2052
- percent?: number | null | undefined;
2059
+ winPercent?: number | null | undefined;
2060
+ averageOdds?: number | null | undefined;
2053
2061
  resetTacticBalance?: number | null | undefined;
2054
2062
  resetTacticPot?: number | null | undefined;
2055
- averageOdds?: number | null | undefined;
2056
2063
  }>;
2057
2064
  based_on_prev: mongoose.Types.DocumentArray<{
2058
2065
  name?: string | null | undefined;
2059
- percent?: number | null | undefined;
2066
+ winPercent?: number | null | undefined;
2060
2067
  }>;
2061
2068
  based_on_team_pos: mongoose.Types.DocumentArray<{
2062
2069
  name?: string | null | undefined;
2063
- percent?: number | null | undefined;
2070
+ winPercent?: number | null | undefined;
2064
2071
  }>;
2065
2072
  overall?: {
2066
- odds?: number | null | undefined;
2067
2073
  count?: number | null | undefined;
2068
- percent?: number | null | undefined;
2074
+ winPercent?: number | null | undefined;
2075
+ averageOdds?: number | null | undefined;
2069
2076
  } | null | undefined;
2070
2077
  } | null | undefined;
2071
2078
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
@@ -2077,8 +2084,8 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2077
2084
  at_odds: mongoose.Types.DocumentArray<{
2078
2085
  wins?: number | null | undefined;
2079
2086
  odds?: number | null | undefined;
2087
+ winPercent?: number | null | undefined;
2080
2088
  games?: number | null | undefined;
2081
- percentWins?: number | null | undefined;
2082
2089
  expectedOdds?: number | null | undefined;
2083
2090
  resetTacticBalance?: number | null | undefined;
2084
2091
  resetTacticPot?: number | null | undefined;
@@ -2087,23 +2094,23 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2087
2094
  }>;
2088
2095
  per_league: mongoose.Types.DocumentArray<{
2089
2096
  league?: mongoose.Types.ObjectId | null | undefined;
2090
- percent?: number | null | undefined;
2097
+ winPercent?: number | null | undefined;
2098
+ averageOdds?: number | null | undefined;
2091
2099
  resetTacticBalance?: number | null | undefined;
2092
2100
  resetTacticPot?: number | null | undefined;
2093
- averageOdds?: number | null | undefined;
2094
2101
  }>;
2095
2102
  based_on_prev: mongoose.Types.DocumentArray<{
2096
2103
  name?: string | null | undefined;
2097
- percent?: number | null | undefined;
2104
+ winPercent?: number | null | undefined;
2098
2105
  }>;
2099
2106
  based_on_team_pos: mongoose.Types.DocumentArray<{
2100
2107
  name?: string | null | undefined;
2101
- percent?: number | null | undefined;
2108
+ winPercent?: number | null | undefined;
2102
2109
  }>;
2103
2110
  overall?: {
2104
- odds?: number | null | undefined;
2105
2111
  count?: number | null | undefined;
2106
- percent?: number | null | undefined;
2112
+ winPercent?: number | null | undefined;
2113
+ averageOdds?: number | null | undefined;
2107
2114
  } | null | undefined;
2108
2115
  } | null | undefined;
2109
2116
  }>> & mongoose.FlatRecord<{
@@ -2115,8 +2122,8 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2115
2122
  at_odds: mongoose.Types.DocumentArray<{
2116
2123
  wins?: number | null | undefined;
2117
2124
  odds?: number | null | undefined;
2125
+ winPercent?: number | null | undefined;
2118
2126
  games?: number | null | undefined;
2119
- percentWins?: number | null | undefined;
2120
2127
  expectedOdds?: number | null | undefined;
2121
2128
  resetTacticBalance?: number | null | undefined;
2122
2129
  resetTacticPot?: number | null | undefined;
@@ -2125,23 +2132,23 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2125
2132
  }>;
2126
2133
  per_league: mongoose.Types.DocumentArray<{
2127
2134
  league?: mongoose.Types.ObjectId | null | undefined;
2128
- percent?: number | null | undefined;
2135
+ winPercent?: number | null | undefined;
2136
+ averageOdds?: number | null | undefined;
2129
2137
  resetTacticBalance?: number | null | undefined;
2130
2138
  resetTacticPot?: number | null | undefined;
2131
- averageOdds?: number | null | undefined;
2132
2139
  }>;
2133
2140
  based_on_prev: mongoose.Types.DocumentArray<{
2134
2141
  name?: string | null | undefined;
2135
- percent?: number | null | undefined;
2142
+ winPercent?: number | null | undefined;
2136
2143
  }>;
2137
2144
  based_on_team_pos: mongoose.Types.DocumentArray<{
2138
2145
  name?: string | null | undefined;
2139
- percent?: number | null | undefined;
2146
+ winPercent?: number | null | undefined;
2140
2147
  }>;
2141
2148
  overall?: {
2142
- odds?: number | null | undefined;
2143
2149
  count?: number | null | undefined;
2144
- percent?: number | null | undefined;
2150
+ winPercent?: number | null | undefined;
2151
+ averageOdds?: number | null | undefined;
2145
2152
  } | null | undefined;
2146
2153
  } | null | undefined;
2147
2154
  }> & {
package/dist/index.d.ts CHANGED
@@ -1995,34 +1995,41 @@ interface BetStat {
1995
1995
  betWins: {
1996
1996
  overall: {
1997
1997
  count: number;
1998
- percent: number;
1999
- odds: number;
1998
+ winPercent: number;
1999
+ averageOdds: number;
2000
2000
  };
2001
2001
  at_odds: [
2002
2002
  {
2003
2003
  odds: number;
2004
2004
  games: number;
2005
2005
  wins: number;
2006
- percentWins: number;
2006
+ winPercent: number;
2007
2007
  expectedOdds: number;
2008
+ resetTacticBalance: number;
2009
+ resetTacticPot: number;
2010
+ resetTacticBalanceOverOdds: number;
2011
+ resetTacticPotOverOdds: number;
2008
2012
  }
2009
2013
  ];
2010
2014
  per_league: [
2011
2015
  {
2012
2016
  league: League$1;
2013
- percent: number;
2017
+ winPercent: number;
2018
+ averageOdds: number;
2019
+ resetTacticBalance: number;
2020
+ resetTacticPot: number;
2014
2021
  }
2015
2022
  ];
2016
2023
  based_on_prev: [
2017
2024
  {
2018
2025
  name: string;
2019
- percent: number;
2026
+ winPercent: number;
2020
2027
  }
2021
2028
  ];
2022
2029
  based_on_team_pos: [
2023
2030
  {
2024
2031
  name: string;
2025
- percent: number;
2032
+ winPercent: number;
2026
2033
  }
2027
2034
  ];
2028
2035
  };
@@ -2039,8 +2046,8 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2039
2046
  at_odds: mongoose.Types.DocumentArray<{
2040
2047
  wins?: number | null | undefined;
2041
2048
  odds?: number | null | undefined;
2049
+ winPercent?: number | null | undefined;
2042
2050
  games?: number | null | undefined;
2043
- percentWins?: number | null | undefined;
2044
2051
  expectedOdds?: number | null | undefined;
2045
2052
  resetTacticBalance?: number | null | undefined;
2046
2053
  resetTacticPot?: number | null | undefined;
@@ -2049,23 +2056,23 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2049
2056
  }>;
2050
2057
  per_league: mongoose.Types.DocumentArray<{
2051
2058
  league?: mongoose.Types.ObjectId | null | undefined;
2052
- percent?: number | null | undefined;
2059
+ winPercent?: number | null | undefined;
2060
+ averageOdds?: number | null | undefined;
2053
2061
  resetTacticBalance?: number | null | undefined;
2054
2062
  resetTacticPot?: number | null | undefined;
2055
- averageOdds?: number | null | undefined;
2056
2063
  }>;
2057
2064
  based_on_prev: mongoose.Types.DocumentArray<{
2058
2065
  name?: string | null | undefined;
2059
- percent?: number | null | undefined;
2066
+ winPercent?: number | null | undefined;
2060
2067
  }>;
2061
2068
  based_on_team_pos: mongoose.Types.DocumentArray<{
2062
2069
  name?: string | null | undefined;
2063
- percent?: number | null | undefined;
2070
+ winPercent?: number | null | undefined;
2064
2071
  }>;
2065
2072
  overall?: {
2066
- odds?: number | null | undefined;
2067
2073
  count?: number | null | undefined;
2068
- percent?: number | null | undefined;
2074
+ winPercent?: number | null | undefined;
2075
+ averageOdds?: number | null | undefined;
2069
2076
  } | null | undefined;
2070
2077
  } | null | undefined;
2071
2078
  }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
@@ -2077,8 +2084,8 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2077
2084
  at_odds: mongoose.Types.DocumentArray<{
2078
2085
  wins?: number | null | undefined;
2079
2086
  odds?: number | null | undefined;
2087
+ winPercent?: number | null | undefined;
2080
2088
  games?: number | null | undefined;
2081
- percentWins?: number | null | undefined;
2082
2089
  expectedOdds?: number | null | undefined;
2083
2090
  resetTacticBalance?: number | null | undefined;
2084
2091
  resetTacticPot?: number | null | undefined;
@@ -2087,23 +2094,23 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2087
2094
  }>;
2088
2095
  per_league: mongoose.Types.DocumentArray<{
2089
2096
  league?: mongoose.Types.ObjectId | null | undefined;
2090
- percent?: number | null | undefined;
2097
+ winPercent?: number | null | undefined;
2098
+ averageOdds?: number | null | undefined;
2091
2099
  resetTacticBalance?: number | null | undefined;
2092
2100
  resetTacticPot?: number | null | undefined;
2093
- averageOdds?: number | null | undefined;
2094
2101
  }>;
2095
2102
  based_on_prev: mongoose.Types.DocumentArray<{
2096
2103
  name?: string | null | undefined;
2097
- percent?: number | null | undefined;
2104
+ winPercent?: number | null | undefined;
2098
2105
  }>;
2099
2106
  based_on_team_pos: mongoose.Types.DocumentArray<{
2100
2107
  name?: string | null | undefined;
2101
- percent?: number | null | undefined;
2108
+ winPercent?: number | null | undefined;
2102
2109
  }>;
2103
2110
  overall?: {
2104
- odds?: number | null | undefined;
2105
2111
  count?: number | null | undefined;
2106
- percent?: number | null | undefined;
2112
+ winPercent?: number | null | undefined;
2113
+ averageOdds?: number | null | undefined;
2107
2114
  } | null | undefined;
2108
2115
  } | null | undefined;
2109
2116
  }>> & mongoose.FlatRecord<{
@@ -2115,8 +2122,8 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2115
2122
  at_odds: mongoose.Types.DocumentArray<{
2116
2123
  wins?: number | null | undefined;
2117
2124
  odds?: number | null | undefined;
2125
+ winPercent?: number | null | undefined;
2118
2126
  games?: number | null | undefined;
2119
- percentWins?: number | null | undefined;
2120
2127
  expectedOdds?: number | null | undefined;
2121
2128
  resetTacticBalance?: number | null | undefined;
2122
2129
  resetTacticPot?: number | null | undefined;
@@ -2125,23 +2132,23 @@ declare const betStatSchema: Schema<any, mongoose.Model<any, any, any, any, any,
2125
2132
  }>;
2126
2133
  per_league: mongoose.Types.DocumentArray<{
2127
2134
  league?: mongoose.Types.ObjectId | null | undefined;
2128
- percent?: number | null | undefined;
2135
+ winPercent?: number | null | undefined;
2136
+ averageOdds?: number | null | undefined;
2129
2137
  resetTacticBalance?: number | null | undefined;
2130
2138
  resetTacticPot?: number | null | undefined;
2131
- averageOdds?: number | null | undefined;
2132
2139
  }>;
2133
2140
  based_on_prev: mongoose.Types.DocumentArray<{
2134
2141
  name?: string | null | undefined;
2135
- percent?: number | null | undefined;
2142
+ winPercent?: number | null | undefined;
2136
2143
  }>;
2137
2144
  based_on_team_pos: mongoose.Types.DocumentArray<{
2138
2145
  name?: string | null | undefined;
2139
- percent?: number | null | undefined;
2146
+ winPercent?: number | null | undefined;
2140
2147
  }>;
2141
2148
  overall?: {
2142
- odds?: number | null | undefined;
2143
2149
  count?: number | null | undefined;
2144
- percent?: number | null | undefined;
2150
+ winPercent?: number | null | undefined;
2151
+ averageOdds?: number | null | undefined;
2145
2152
  } | null | undefined;
2146
2153
  } | null | undefined;
2147
2154
  }> & {
package/dist/index.js CHANGED
@@ -909,15 +909,15 @@ var betStatSchema = new import_mongoose6.Schema(
909
909
  betWins: {
910
910
  overall: {
911
911
  count: { type: Number },
912
- percent: { type: Number },
913
- odds: { type: Number }
912
+ winPercent: { type: Number },
913
+ averageOdds: { type: Number }
914
914
  },
915
915
  at_odds: [
916
916
  {
917
917
  odds: { type: Number },
918
918
  games: { type: Number },
919
919
  wins: { type: Number },
920
- percentWins: { type: Number },
920
+ winPercent: { type: Number },
921
921
  expectedOdds: { type: Number },
922
922
  resetTacticBalance: { type: Number },
923
923
  resetTacticPot: { type: Number },
@@ -931,7 +931,7 @@ var betStatSchema = new import_mongoose6.Schema(
931
931
  type: import_mongoose6.Schema.Types.ObjectId,
932
932
  ref: "League"
933
933
  },
934
- percent: { type: Number },
934
+ winPercent: { type: Number },
935
935
  resetTacticBalance: { type: Number },
936
936
  resetTacticPot: { type: Number },
937
937
  averageOdds: { type: Number }
@@ -940,13 +940,13 @@ var betStatSchema = new import_mongoose6.Schema(
940
940
  based_on_prev: [
941
941
  {
942
942
  name: { type: String },
943
- percent: { type: Number }
943
+ winPercent: { type: Number }
944
944
  }
945
945
  ],
946
946
  based_on_team_pos: [
947
947
  {
948
948
  name: { type: String },
949
- percent: { type: Number }
949
+ winPercent: { type: Number }
950
950
  }
951
951
  ]
952
952
  }
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 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, // Argentine Primera División\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\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 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];\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 isMatched: {\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.goals.home > fixture.goals.away;\n }\n\n if (betType === \"awayWin\") {\n return fixture.goals.home < fixture.goals.away;\n }\n\n if (betType === \"draw\") {\n return fixture.goals.home === fixture.goals.away;\n }\n\n if (betType === \"homeDrawDoubleChance\") {\n return (\n fixture.goals.home > fixture.goals.away ||\n fixture.goals.home === fixture.goals.away\n );\n }\n\n if (betType === \"awayDrawDoubleChance\") {\n return (\n fixture.goals.home < fixture.goals.away ||\n fixture.goals.home === fixture.goals.away\n );\n }\n\n if (betType === \"homeAwayDoubleChance\") {\n return fixture.goals.home !== fixture.goals.away;\n }\n\n if (betType === \"under0_5\") {\n return fixture.goals.home + fixture.goals.away < 1;\n }\n\n if (betType === \"under1_5\") {\n return fixture.goals.home + fixture.goals.away < 2;\n }\n\n if (betType === \"under2_5\") {\n return fixture.goals.home + fixture.goals.away < 3;\n }\n\n if (betType === \"under3_5\") {\n return fixture.goals.home + fixture.goals.away < 4;\n }\n\n if (betType === \"under4_5\") {\n return fixture.goals.home + fixture.goals.away < 5;\n }\n\n if (betType === \"under5_5\") {\n return fixture.goals.home + fixture.goals.away < 6;\n }\n\n if (betType === \"under6_5\") {\n return fixture.goals.home + fixture.goals.away < 7;\n }\n\n if (betType === \"over0_5\") {\n return fixture.goals.home + fixture.goals.away > 0;\n }\n\n if (betType === \"over1_5\") {\n return fixture.goals.home + fixture.goals.away > 1;\n }\n\n if (betType === \"over2_5\") {\n return fixture.goals.home + fixture.goals.away > 2;\n }\n\n if (betType === \"over3_5\") {\n return fixture.goals.home + fixture.goals.away > 3;\n }\n\n if (betType === \"over4_5\") {\n return fixture.goals.home + fixture.goals.away > 4;\n }\n\n if (betType === \"over5_5\") {\n return fixture.goals.home + fixture.goals.away > 5;\n }\n\n if (betType === \"over6_5\") {\n return fixture.goals.home + fixture.goals.away > 6;\n }\n\n if (betType === \"BTTS\") {\n return fixture.goals.home > 0 && fixture.goals.away > 0;\n }\n\n if (betType === \"BTNTS\") {\n return fixture.goals.home === 0 || fixture.goals.away === 0;\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 percent: { type: Number },\n odds: { type: Number },\n },\n at_odds: [\n {\n odds: { type: Number },\n games: { type: Number },\n wins: { type: Number },\n percentWins: { type: Number },\n expectedOdds: { type: Number },\n resetTacticBalance: { type: Number },\n resetTacticPot: { type: Number },\n resetTacticBalanceOverOdds: { type: Number },\n resetTacticPotOverOdds: { type: Number },\n },\n ],\n per_league: [\n {\n league: {\n type: Schema.Types.ObjectId,\n ref: \"League\",\n },\n percent: { type: Number },\n resetTacticBalance: { type: Number },\n resetTacticPot: { type: Number },\n averageOdds: { type: Number },\n },\n ],\n based_on_prev: [\n {\n name: { type: String },\n percent: { type: Number },\n },\n ],\n based_on_team_pos: [\n {\n name: { type: String },\n percent: { 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 },\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 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, // Argentine Primera División\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\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 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];\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 isMatched: {\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.goals.home > fixture.goals.away;\n }\n\n if (betType === \"awayWin\") {\n return fixture.goals.home < fixture.goals.away;\n }\n\n if (betType === \"draw\") {\n return fixture.goals.home === fixture.goals.away;\n }\n\n if (betType === \"homeDrawDoubleChance\") {\n return (\n fixture.goals.home > fixture.goals.away ||\n fixture.goals.home === fixture.goals.away\n );\n }\n\n if (betType === \"awayDrawDoubleChance\") {\n return (\n fixture.goals.home < fixture.goals.away ||\n fixture.goals.home === fixture.goals.away\n );\n }\n\n if (betType === \"homeAwayDoubleChance\") {\n return fixture.goals.home !== fixture.goals.away;\n }\n\n if (betType === \"under0_5\") {\n return fixture.goals.home + fixture.goals.away < 1;\n }\n\n if (betType === \"under1_5\") {\n return fixture.goals.home + fixture.goals.away < 2;\n }\n\n if (betType === \"under2_5\") {\n return fixture.goals.home + fixture.goals.away < 3;\n }\n\n if (betType === \"under3_5\") {\n return fixture.goals.home + fixture.goals.away < 4;\n }\n\n if (betType === \"under4_5\") {\n return fixture.goals.home + fixture.goals.away < 5;\n }\n\n if (betType === \"under5_5\") {\n return fixture.goals.home + fixture.goals.away < 6;\n }\n\n if (betType === \"under6_5\") {\n return fixture.goals.home + fixture.goals.away < 7;\n }\n\n if (betType === \"over0_5\") {\n return fixture.goals.home + fixture.goals.away > 0;\n }\n\n if (betType === \"over1_5\") {\n return fixture.goals.home + fixture.goals.away > 1;\n }\n\n if (betType === \"over2_5\") {\n return fixture.goals.home + fixture.goals.away > 2;\n }\n\n if (betType === \"over3_5\") {\n return fixture.goals.home + fixture.goals.away > 3;\n }\n\n if (betType === \"over4_5\") {\n return fixture.goals.home + fixture.goals.away > 4;\n }\n\n if (betType === \"over5_5\") {\n return fixture.goals.home + fixture.goals.away > 5;\n }\n\n if (betType === \"over6_5\") {\n return fixture.goals.home + fixture.goals.away > 6;\n }\n\n if (betType === \"BTTS\") {\n return fixture.goals.home > 0 && fixture.goals.away > 0;\n }\n\n if (betType === \"BTNTS\") {\n return fixture.goals.home === 0 || fixture.goals.away === 0;\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 resetTacticBalance: { type: Number },\n resetTacticPot: { type: Number },\n resetTacticBalanceOverOdds: { type: Number },\n resetTacticPotOverOdds: { 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 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 },\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
@@ -862,15 +862,15 @@ var betStatSchema = new Schema6(
862
862
  betWins: {
863
863
  overall: {
864
864
  count: { type: Number },
865
- percent: { type: Number },
866
- odds: { type: Number }
865
+ winPercent: { type: Number },
866
+ averageOdds: { type: Number }
867
867
  },
868
868
  at_odds: [
869
869
  {
870
870
  odds: { type: Number },
871
871
  games: { type: Number },
872
872
  wins: { type: Number },
873
- percentWins: { type: Number },
873
+ winPercent: { type: Number },
874
874
  expectedOdds: { type: Number },
875
875
  resetTacticBalance: { type: Number },
876
876
  resetTacticPot: { type: Number },
@@ -884,7 +884,7 @@ var betStatSchema = new Schema6(
884
884
  type: Schema6.Types.ObjectId,
885
885
  ref: "League"
886
886
  },
887
- percent: { type: Number },
887
+ winPercent: { type: Number },
888
888
  resetTacticBalance: { type: Number },
889
889
  resetTacticPot: { type: Number },
890
890
  averageOdds: { type: Number }
@@ -893,13 +893,13 @@ var betStatSchema = new Schema6(
893
893
  based_on_prev: [
894
894
  {
895
895
  name: { type: String },
896
- percent: { type: Number }
896
+ winPercent: { type: Number }
897
897
  }
898
898
  ],
899
899
  based_on_team_pos: [
900
900
  {
901
901
  name: { type: String },
902
- percent: { type: Number }
902
+ winPercent: { type: Number }
903
903
  }
904
904
  ]
905
905
  }
@@ -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 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, // Argentine Primera División\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\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 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];\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 isMatched: {\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.goals.home > fixture.goals.away;\n }\n\n if (betType === \"awayWin\") {\n return fixture.goals.home < fixture.goals.away;\n }\n\n if (betType === \"draw\") {\n return fixture.goals.home === fixture.goals.away;\n }\n\n if (betType === \"homeDrawDoubleChance\") {\n return (\n fixture.goals.home > fixture.goals.away ||\n fixture.goals.home === fixture.goals.away\n );\n }\n\n if (betType === \"awayDrawDoubleChance\") {\n return (\n fixture.goals.home < fixture.goals.away ||\n fixture.goals.home === fixture.goals.away\n );\n }\n\n if (betType === \"homeAwayDoubleChance\") {\n return fixture.goals.home !== fixture.goals.away;\n }\n\n if (betType === \"under0_5\") {\n return fixture.goals.home + fixture.goals.away < 1;\n }\n\n if (betType === \"under1_5\") {\n return fixture.goals.home + fixture.goals.away < 2;\n }\n\n if (betType === \"under2_5\") {\n return fixture.goals.home + fixture.goals.away < 3;\n }\n\n if (betType === \"under3_5\") {\n return fixture.goals.home + fixture.goals.away < 4;\n }\n\n if (betType === \"under4_5\") {\n return fixture.goals.home + fixture.goals.away < 5;\n }\n\n if (betType === \"under5_5\") {\n return fixture.goals.home + fixture.goals.away < 6;\n }\n\n if (betType === \"under6_5\") {\n return fixture.goals.home + fixture.goals.away < 7;\n }\n\n if (betType === \"over0_5\") {\n return fixture.goals.home + fixture.goals.away > 0;\n }\n\n if (betType === \"over1_5\") {\n return fixture.goals.home + fixture.goals.away > 1;\n }\n\n if (betType === \"over2_5\") {\n return fixture.goals.home + fixture.goals.away > 2;\n }\n\n if (betType === \"over3_5\") {\n return fixture.goals.home + fixture.goals.away > 3;\n }\n\n if (betType === \"over4_5\") {\n return fixture.goals.home + fixture.goals.away > 4;\n }\n\n if (betType === \"over5_5\") {\n return fixture.goals.home + fixture.goals.away > 5;\n }\n\n if (betType === \"over6_5\") {\n return fixture.goals.home + fixture.goals.away > 6;\n }\n\n if (betType === \"BTTS\") {\n return fixture.goals.home > 0 && fixture.goals.away > 0;\n }\n\n if (betType === \"BTNTS\") {\n return fixture.goals.home === 0 || fixture.goals.away === 0;\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 percent: { type: Number },\n odds: { type: Number },\n },\n at_odds: [\n {\n odds: { type: Number },\n games: { type: Number },\n wins: { type: Number },\n percentWins: { type: Number },\n expectedOdds: { type: Number },\n resetTacticBalance: { type: Number },\n resetTacticPot: { type: Number },\n resetTacticBalanceOverOdds: { type: Number },\n resetTacticPotOverOdds: { type: Number },\n },\n ],\n per_league: [\n {\n league: {\n type: Schema.Types.ObjectId,\n ref: \"League\",\n },\n percent: { type: Number },\n resetTacticBalance: { type: Number },\n resetTacticPot: { type: Number },\n averageOdds: { type: Number },\n },\n ],\n based_on_prev: [\n {\n name: { type: String },\n percent: { type: Number },\n },\n ],\n based_on_team_pos: [\n {\n name: { type: String },\n percent: { 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 },\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 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, // Argentine Primera División\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\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 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];\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 isMatched: {\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.goals.home > fixture.goals.away;\n }\n\n if (betType === \"awayWin\") {\n return fixture.goals.home < fixture.goals.away;\n }\n\n if (betType === \"draw\") {\n return fixture.goals.home === fixture.goals.away;\n }\n\n if (betType === \"homeDrawDoubleChance\") {\n return (\n fixture.goals.home > fixture.goals.away ||\n fixture.goals.home === fixture.goals.away\n );\n }\n\n if (betType === \"awayDrawDoubleChance\") {\n return (\n fixture.goals.home < fixture.goals.away ||\n fixture.goals.home === fixture.goals.away\n );\n }\n\n if (betType === \"homeAwayDoubleChance\") {\n return fixture.goals.home !== fixture.goals.away;\n }\n\n if (betType === \"under0_5\") {\n return fixture.goals.home + fixture.goals.away < 1;\n }\n\n if (betType === \"under1_5\") {\n return fixture.goals.home + fixture.goals.away < 2;\n }\n\n if (betType === \"under2_5\") {\n return fixture.goals.home + fixture.goals.away < 3;\n }\n\n if (betType === \"under3_5\") {\n return fixture.goals.home + fixture.goals.away < 4;\n }\n\n if (betType === \"under4_5\") {\n return fixture.goals.home + fixture.goals.away < 5;\n }\n\n if (betType === \"under5_5\") {\n return fixture.goals.home + fixture.goals.away < 6;\n }\n\n if (betType === \"under6_5\") {\n return fixture.goals.home + fixture.goals.away < 7;\n }\n\n if (betType === \"over0_5\") {\n return fixture.goals.home + fixture.goals.away > 0;\n }\n\n if (betType === \"over1_5\") {\n return fixture.goals.home + fixture.goals.away > 1;\n }\n\n if (betType === \"over2_5\") {\n return fixture.goals.home + fixture.goals.away > 2;\n }\n\n if (betType === \"over3_5\") {\n return fixture.goals.home + fixture.goals.away > 3;\n }\n\n if (betType === \"over4_5\") {\n return fixture.goals.home + fixture.goals.away > 4;\n }\n\n if (betType === \"over5_5\") {\n return fixture.goals.home + fixture.goals.away > 5;\n }\n\n if (betType === \"over6_5\") {\n return fixture.goals.home + fixture.goals.away > 6;\n }\n\n if (betType === \"BTTS\") {\n return fixture.goals.home > 0 && fixture.goals.away > 0;\n }\n\n if (betType === \"BTNTS\") {\n return fixture.goals.home === 0 || fixture.goals.away === 0;\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 resetTacticBalance: { type: Number },\n resetTacticPot: { type: Number },\n resetTacticBalanceOverOdds: { type: Number },\n resetTacticPotOverOdds: { 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 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 },\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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "black-diamond-shared",
3
- "version": "1.0.88",
3
+ "version": "1.0.89",
4
4
  "description": "Shared code between Black Diamond repositories",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",