black-diamond-shared 1.0.61 → 1.0.63
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 +20 -20
- package/dist/index.d.ts +20 -20
- package/dist/index.js +20 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +20 -20
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -128,11 +128,6 @@ declare const teamSchema: Schema<any, mongoose.Model<any, any, any, any, any, an
|
|
|
128
128
|
}>;
|
|
129
129
|
|
|
130
130
|
interface TeamStat extends MongoDocument {
|
|
131
|
-
prevFixtures: {
|
|
132
|
-
home?: string[];
|
|
133
|
-
away?: string[];
|
|
134
|
-
all: string[];
|
|
135
|
-
};
|
|
136
131
|
team: {
|
|
137
132
|
id: number;
|
|
138
133
|
name: string;
|
|
@@ -458,11 +453,6 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
458
453
|
total?: number | null | undefined;
|
|
459
454
|
} | null | undefined;
|
|
460
455
|
} | null | undefined;
|
|
461
|
-
prevFixtures?: {
|
|
462
|
-
home: mongoose.Types.ObjectId[];
|
|
463
|
-
away: mongoose.Types.ObjectId[];
|
|
464
|
-
all: mongoose.Types.ObjectId[];
|
|
465
|
-
} | null | undefined;
|
|
466
456
|
leagueTeams?: number | null | undefined;
|
|
467
457
|
leaguePosition?: number | null | undefined;
|
|
468
458
|
leaguePoints?: number | null | undefined;
|
|
@@ -767,11 +757,6 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
767
757
|
total?: number | null | undefined;
|
|
768
758
|
} | null | undefined;
|
|
769
759
|
} | null | undefined;
|
|
770
|
-
prevFixtures?: {
|
|
771
|
-
home: mongoose.Types.ObjectId[];
|
|
772
|
-
away: mongoose.Types.ObjectId[];
|
|
773
|
-
all: mongoose.Types.ObjectId[];
|
|
774
|
-
} | null | undefined;
|
|
775
760
|
leagueTeams?: number | null | undefined;
|
|
776
761
|
leaguePosition?: number | null | undefined;
|
|
777
762
|
leaguePoints?: number | null | undefined;
|
|
@@ -1076,11 +1061,6 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
1076
1061
|
total?: number | null | undefined;
|
|
1077
1062
|
} | null | undefined;
|
|
1078
1063
|
} | null | undefined;
|
|
1079
|
-
prevFixtures?: {
|
|
1080
|
-
home: mongoose.Types.ObjectId[];
|
|
1081
|
-
away: mongoose.Types.ObjectId[];
|
|
1082
|
-
all: mongoose.Types.ObjectId[];
|
|
1083
|
-
} | null | undefined;
|
|
1084
1064
|
leagueTeams?: number | null | undefined;
|
|
1085
1065
|
leaguePosition?: number | null | undefined;
|
|
1086
1066
|
leaguePoints?: number | null | undefined;
|
|
@@ -1491,6 +1471,11 @@ interface Fixture extends MongoDocument {
|
|
|
1491
1471
|
away?: TeamStat;
|
|
1492
1472
|
};
|
|
1493
1473
|
apiPredictions?: ApiPredictions;
|
|
1474
|
+
prevFixtures?: {
|
|
1475
|
+
home?: string[];
|
|
1476
|
+
away?: string[];
|
|
1477
|
+
all: string[];
|
|
1478
|
+
};
|
|
1494
1479
|
}
|
|
1495
1480
|
interface TeamLast5 {
|
|
1496
1481
|
played: number;
|
|
@@ -1733,6 +1718,11 @@ declare const fixtureSchema: Schema<any, mongoose.Model<any, any, any, any, any,
|
|
|
1733
1718
|
odds?: any;
|
|
1734
1719
|
apiPredictions?: any;
|
|
1735
1720
|
teamStats?: any;
|
|
1721
|
+
prevFixtures?: {
|
|
1722
|
+
home: mongoose.Types.ObjectId[];
|
|
1723
|
+
away: mongoose.Types.ObjectId[];
|
|
1724
|
+
all: mongoose.Types.ObjectId[];
|
|
1725
|
+
} | null | undefined;
|
|
1736
1726
|
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
1737
1727
|
createdAt: NativeDate;
|
|
1738
1728
|
updatedAt: NativeDate;
|
|
@@ -1745,6 +1735,11 @@ declare const fixtureSchema: Schema<any, mongoose.Model<any, any, any, any, any,
|
|
|
1745
1735
|
odds?: any;
|
|
1746
1736
|
apiPredictions?: any;
|
|
1747
1737
|
teamStats?: any;
|
|
1738
|
+
prevFixtures?: {
|
|
1739
|
+
home: mongoose.Types.ObjectId[];
|
|
1740
|
+
away: mongoose.Types.ObjectId[];
|
|
1741
|
+
all: mongoose.Types.ObjectId[];
|
|
1742
|
+
} | null | undefined;
|
|
1748
1743
|
}>> & mongoose.FlatRecord<{
|
|
1749
1744
|
createdAt: NativeDate;
|
|
1750
1745
|
updatedAt: NativeDate;
|
|
@@ -1757,6 +1752,11 @@ declare const fixtureSchema: Schema<any, mongoose.Model<any, any, any, any, any,
|
|
|
1757
1752
|
odds?: any;
|
|
1758
1753
|
apiPredictions?: any;
|
|
1759
1754
|
teamStats?: any;
|
|
1755
|
+
prevFixtures?: {
|
|
1756
|
+
home: mongoose.Types.ObjectId[];
|
|
1757
|
+
away: mongoose.Types.ObjectId[];
|
|
1758
|
+
all: mongoose.Types.ObjectId[];
|
|
1759
|
+
} | null | undefined;
|
|
1760
1760
|
}> & {
|
|
1761
1761
|
_id: mongoose.Types.ObjectId;
|
|
1762
1762
|
} & {
|
package/dist/index.d.ts
CHANGED
|
@@ -128,11 +128,6 @@ declare const teamSchema: Schema<any, mongoose.Model<any, any, any, any, any, an
|
|
|
128
128
|
}>;
|
|
129
129
|
|
|
130
130
|
interface TeamStat extends MongoDocument {
|
|
131
|
-
prevFixtures: {
|
|
132
|
-
home?: string[];
|
|
133
|
-
away?: string[];
|
|
134
|
-
all: string[];
|
|
135
|
-
};
|
|
136
131
|
team: {
|
|
137
132
|
id: number;
|
|
138
133
|
name: string;
|
|
@@ -458,11 +453,6 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
458
453
|
total?: number | null | undefined;
|
|
459
454
|
} | null | undefined;
|
|
460
455
|
} | null | undefined;
|
|
461
|
-
prevFixtures?: {
|
|
462
|
-
home: mongoose.Types.ObjectId[];
|
|
463
|
-
away: mongoose.Types.ObjectId[];
|
|
464
|
-
all: mongoose.Types.ObjectId[];
|
|
465
|
-
} | null | undefined;
|
|
466
456
|
leagueTeams?: number | null | undefined;
|
|
467
457
|
leaguePosition?: number | null | undefined;
|
|
468
458
|
leaguePoints?: number | null | undefined;
|
|
@@ -767,11 +757,6 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
767
757
|
total?: number | null | undefined;
|
|
768
758
|
} | null | undefined;
|
|
769
759
|
} | null | undefined;
|
|
770
|
-
prevFixtures?: {
|
|
771
|
-
home: mongoose.Types.ObjectId[];
|
|
772
|
-
away: mongoose.Types.ObjectId[];
|
|
773
|
-
all: mongoose.Types.ObjectId[];
|
|
774
|
-
} | null | undefined;
|
|
775
760
|
leagueTeams?: number | null | undefined;
|
|
776
761
|
leaguePosition?: number | null | undefined;
|
|
777
762
|
leaguePoints?: number | null | undefined;
|
|
@@ -1076,11 +1061,6 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
1076
1061
|
total?: number | null | undefined;
|
|
1077
1062
|
} | null | undefined;
|
|
1078
1063
|
} | null | undefined;
|
|
1079
|
-
prevFixtures?: {
|
|
1080
|
-
home: mongoose.Types.ObjectId[];
|
|
1081
|
-
away: mongoose.Types.ObjectId[];
|
|
1082
|
-
all: mongoose.Types.ObjectId[];
|
|
1083
|
-
} | null | undefined;
|
|
1084
1064
|
leagueTeams?: number | null | undefined;
|
|
1085
1065
|
leaguePosition?: number | null | undefined;
|
|
1086
1066
|
leaguePoints?: number | null | undefined;
|
|
@@ -1491,6 +1471,11 @@ interface Fixture extends MongoDocument {
|
|
|
1491
1471
|
away?: TeamStat;
|
|
1492
1472
|
};
|
|
1493
1473
|
apiPredictions?: ApiPredictions;
|
|
1474
|
+
prevFixtures?: {
|
|
1475
|
+
home?: string[];
|
|
1476
|
+
away?: string[];
|
|
1477
|
+
all: string[];
|
|
1478
|
+
};
|
|
1494
1479
|
}
|
|
1495
1480
|
interface TeamLast5 {
|
|
1496
1481
|
played: number;
|
|
@@ -1733,6 +1718,11 @@ declare const fixtureSchema: Schema<any, mongoose.Model<any, any, any, any, any,
|
|
|
1733
1718
|
odds?: any;
|
|
1734
1719
|
apiPredictions?: any;
|
|
1735
1720
|
teamStats?: any;
|
|
1721
|
+
prevFixtures?: {
|
|
1722
|
+
home: mongoose.Types.ObjectId[];
|
|
1723
|
+
away: mongoose.Types.ObjectId[];
|
|
1724
|
+
all: mongoose.Types.ObjectId[];
|
|
1725
|
+
} | null | undefined;
|
|
1736
1726
|
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
1737
1727
|
createdAt: NativeDate;
|
|
1738
1728
|
updatedAt: NativeDate;
|
|
@@ -1745,6 +1735,11 @@ declare const fixtureSchema: Schema<any, mongoose.Model<any, any, any, any, any,
|
|
|
1745
1735
|
odds?: any;
|
|
1746
1736
|
apiPredictions?: any;
|
|
1747
1737
|
teamStats?: any;
|
|
1738
|
+
prevFixtures?: {
|
|
1739
|
+
home: mongoose.Types.ObjectId[];
|
|
1740
|
+
away: mongoose.Types.ObjectId[];
|
|
1741
|
+
all: mongoose.Types.ObjectId[];
|
|
1742
|
+
} | null | undefined;
|
|
1748
1743
|
}>> & mongoose.FlatRecord<{
|
|
1749
1744
|
createdAt: NativeDate;
|
|
1750
1745
|
updatedAt: NativeDate;
|
|
@@ -1757,6 +1752,11 @@ declare const fixtureSchema: Schema<any, mongoose.Model<any, any, any, any, any,
|
|
|
1757
1752
|
odds?: any;
|
|
1758
1753
|
apiPredictions?: any;
|
|
1759
1754
|
teamStats?: any;
|
|
1755
|
+
prevFixtures?: {
|
|
1756
|
+
home: mongoose.Types.ObjectId[];
|
|
1757
|
+
away: mongoose.Types.ObjectId[];
|
|
1758
|
+
all: mongoose.Types.ObjectId[];
|
|
1759
|
+
} | null | undefined;
|
|
1760
1760
|
}> & {
|
|
1761
1761
|
_id: mongoose.Types.ObjectId;
|
|
1762
1762
|
} & {
|
package/dist/index.js
CHANGED
|
@@ -255,6 +255,26 @@ var fixtureSchema = new import_mongoose3.Schema(
|
|
|
255
255
|
},
|
|
256
256
|
teamStats: {
|
|
257
257
|
type: import_mongoose3.Schema.Types.Mixed
|
|
258
|
+
},
|
|
259
|
+
prevFixtures: {
|
|
260
|
+
home: [
|
|
261
|
+
{
|
|
262
|
+
type: import_mongoose3.Schema.Types.ObjectId,
|
|
263
|
+
ref: "Fixture"
|
|
264
|
+
}
|
|
265
|
+
],
|
|
266
|
+
away: [
|
|
267
|
+
{
|
|
268
|
+
type: import_mongoose3.Schema.Types.ObjectId,
|
|
269
|
+
ref: "Fixture"
|
|
270
|
+
}
|
|
271
|
+
],
|
|
272
|
+
all: [
|
|
273
|
+
{
|
|
274
|
+
type: import_mongoose3.Schema.Types.ObjectId,
|
|
275
|
+
ref: "Fixture"
|
|
276
|
+
}
|
|
277
|
+
]
|
|
258
278
|
}
|
|
259
279
|
// refs: {
|
|
260
280
|
// refHomeTeamStat: {
|
|
@@ -314,26 +334,6 @@ var fixtureSchema = new import_mongoose3.Schema(
|
|
|
314
334
|
var import_mongoose4 = require("mongoose");
|
|
315
335
|
var teamStatSchema = new import_mongoose4.Schema(
|
|
316
336
|
{
|
|
317
|
-
prevFixtures: {
|
|
318
|
-
home: [
|
|
319
|
-
{
|
|
320
|
-
type: import_mongoose4.Schema.Types.ObjectId,
|
|
321
|
-
ref: "Fixture"
|
|
322
|
-
}
|
|
323
|
-
],
|
|
324
|
-
away: [
|
|
325
|
-
{
|
|
326
|
-
type: import_mongoose4.Schema.Types.ObjectId,
|
|
327
|
-
ref: "Fixture"
|
|
328
|
-
}
|
|
329
|
-
],
|
|
330
|
-
all: [
|
|
331
|
-
{
|
|
332
|
-
type: import_mongoose4.Schema.Types.ObjectId,
|
|
333
|
-
ref: "Fixture"
|
|
334
|
-
}
|
|
335
|
-
]
|
|
336
|
-
},
|
|
337
337
|
leagueTeams: { type: Number },
|
|
338
338
|
leaguePosition: { type: Number },
|
|
339
339
|
leaguePoints: { type: Number },
|
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/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"],"sourcesContent":["export * from \"./data/league\";\nexport * from \"./data/team\";\nexport * from \"./data/fixture\";\nexport * from \"./data/teamStat\";\nexport * from \"./data/bet\";\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];\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 // 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 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 all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\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 betTypes = {\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\";\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"],"mappings":"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","names":["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/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"],"sourcesContent":["export * from \"./data/league\";\nexport * from \"./data/team\";\nexport * from \"./data/fixture\";\nexport * from \"./data/teamStat\";\nexport * from \"./data/bet\";\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];\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 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 all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\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 betTypes = {\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\";\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"],"mappings":"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","names":["import_mongoose","import_mongoose","import_mongoose","import_mongoose","import_mongoose"]}
|
package/dist/index.mjs
CHANGED
|
@@ -210,6 +210,26 @@ var fixtureSchema = new Schema3(
|
|
|
210
210
|
},
|
|
211
211
|
teamStats: {
|
|
212
212
|
type: Schema3.Types.Mixed
|
|
213
|
+
},
|
|
214
|
+
prevFixtures: {
|
|
215
|
+
home: [
|
|
216
|
+
{
|
|
217
|
+
type: Schema3.Types.ObjectId,
|
|
218
|
+
ref: "Fixture"
|
|
219
|
+
}
|
|
220
|
+
],
|
|
221
|
+
away: [
|
|
222
|
+
{
|
|
223
|
+
type: Schema3.Types.ObjectId,
|
|
224
|
+
ref: "Fixture"
|
|
225
|
+
}
|
|
226
|
+
],
|
|
227
|
+
all: [
|
|
228
|
+
{
|
|
229
|
+
type: Schema3.Types.ObjectId,
|
|
230
|
+
ref: "Fixture"
|
|
231
|
+
}
|
|
232
|
+
]
|
|
213
233
|
}
|
|
214
234
|
// refs: {
|
|
215
235
|
// refHomeTeamStat: {
|
|
@@ -269,26 +289,6 @@ var fixtureSchema = new Schema3(
|
|
|
269
289
|
import { Schema as Schema4 } from "mongoose";
|
|
270
290
|
var teamStatSchema = new Schema4(
|
|
271
291
|
{
|
|
272
|
-
prevFixtures: {
|
|
273
|
-
home: [
|
|
274
|
-
{
|
|
275
|
-
type: Schema4.Types.ObjectId,
|
|
276
|
-
ref: "Fixture"
|
|
277
|
-
}
|
|
278
|
-
],
|
|
279
|
-
away: [
|
|
280
|
-
{
|
|
281
|
-
type: Schema4.Types.ObjectId,
|
|
282
|
-
ref: "Fixture"
|
|
283
|
-
}
|
|
284
|
-
],
|
|
285
|
-
all: [
|
|
286
|
-
{
|
|
287
|
-
type: Schema4.Types.ObjectId,
|
|
288
|
-
ref: "Fixture"
|
|
289
|
-
}
|
|
290
|
-
]
|
|
291
|
-
},
|
|
292
292
|
leagueTeams: { type: Number },
|
|
293
293
|
leaguePosition: { type: Number },
|
|
294
294
|
leaguePoints: { type: Number },
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/league/schema/index.ts","../src/data/league/data/index.ts","../src/data/team/schema/index.ts","../src/data/fixture/schema/index.ts","../src/data/teamStat/schema/index.ts","../src/data/bet/schema/index.ts","../src/data/bet/data/index.ts","../src/data/bet/utils/index.ts","../src/data/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"],"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];\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 // 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 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 all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n ],\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 betTypes = {\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\";\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"],"mappings":"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","names":["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/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"],"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];\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 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 all: [\n {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\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 betTypes = {\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\";\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"],"mappings":"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","names":["Schema","Schema","Schema","Schema","Schema"]}
|