black-diamond-shared 1.0.18 → 1.0.20
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 +85 -1
- package/dist/index.d.ts +85 -1
- package/dist/index.js +72 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +71 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -262,6 +262,7 @@ interface TeamStat {
|
|
|
262
262
|
total: number;
|
|
263
263
|
};
|
|
264
264
|
leaguePosition: number;
|
|
265
|
+
leagueTeams: number;
|
|
265
266
|
}
|
|
266
267
|
|
|
267
268
|
declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
@@ -443,6 +444,7 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
443
444
|
total?: number | null | undefined;
|
|
444
445
|
} | null | undefined;
|
|
445
446
|
} | null | undefined;
|
|
447
|
+
leagueTeams?: number | null | undefined;
|
|
446
448
|
leaguePosition?: number | null | undefined;
|
|
447
449
|
team?: {
|
|
448
450
|
id: number;
|
|
@@ -743,6 +745,7 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
743
745
|
total?: number | null | undefined;
|
|
744
746
|
} | null | undefined;
|
|
745
747
|
} | null | undefined;
|
|
748
|
+
leagueTeams?: number | null | undefined;
|
|
746
749
|
leaguePosition?: number | null | undefined;
|
|
747
750
|
team?: {
|
|
748
751
|
id: number;
|
|
@@ -1043,6 +1046,7 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
1043
1046
|
total?: number | null | undefined;
|
|
1044
1047
|
} | null | undefined;
|
|
1045
1048
|
} | null | undefined;
|
|
1049
|
+
leagueTeams?: number | null | undefined;
|
|
1046
1050
|
leaguePosition?: number | null | undefined;
|
|
1047
1051
|
team?: {
|
|
1048
1052
|
id: number;
|
|
@@ -1494,6 +1498,86 @@ declare const fixtureSchema: Schema<any, mongoose.Model<any, any, any, any, any,
|
|
|
1494
1498
|
__v: number;
|
|
1495
1499
|
}>;
|
|
1496
1500
|
|
|
1501
|
+
interface Bet {
|
|
1502
|
+
selections: {
|
|
1503
|
+
betName: string;
|
|
1504
|
+
fixture: Schema.Types.ObjectId;
|
|
1505
|
+
odds: number;
|
|
1506
|
+
winner?: boolean;
|
|
1507
|
+
}[];
|
|
1508
|
+
stake: number;
|
|
1509
|
+
winner?: boolean;
|
|
1510
|
+
winAmount?: number;
|
|
1511
|
+
commissionAmount?: number;
|
|
1512
|
+
settled?: boolean;
|
|
1513
|
+
isMatched?: boolean;
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
declare const betSchema: Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
1517
|
+
timestamps: true;
|
|
1518
|
+
}, {
|
|
1519
|
+
createdAt: NativeDate;
|
|
1520
|
+
updatedAt: NativeDate;
|
|
1521
|
+
} & {
|
|
1522
|
+
odds: number;
|
|
1523
|
+
selections: mongoose.Types.DocumentArray<{
|
|
1524
|
+
odds: number;
|
|
1525
|
+
betName: string;
|
|
1526
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1527
|
+
winner?: boolean | null | undefined;
|
|
1528
|
+
}>;
|
|
1529
|
+
betName: string;
|
|
1530
|
+
stake: number;
|
|
1531
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1532
|
+
winner?: boolean | null | undefined;
|
|
1533
|
+
isMatched?: boolean | null | undefined;
|
|
1534
|
+
winAmount?: number | null | undefined;
|
|
1535
|
+
commissionAmount?: number | null | undefined;
|
|
1536
|
+
settled?: boolean | null | undefined;
|
|
1537
|
+
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
1538
|
+
createdAt: NativeDate;
|
|
1539
|
+
updatedAt: NativeDate;
|
|
1540
|
+
} & {
|
|
1541
|
+
odds: number;
|
|
1542
|
+
selections: mongoose.Types.DocumentArray<{
|
|
1543
|
+
odds: number;
|
|
1544
|
+
betName: string;
|
|
1545
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1546
|
+
winner?: boolean | null | undefined;
|
|
1547
|
+
}>;
|
|
1548
|
+
betName: string;
|
|
1549
|
+
stake: number;
|
|
1550
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1551
|
+
winner?: boolean | null | undefined;
|
|
1552
|
+
isMatched?: boolean | null | undefined;
|
|
1553
|
+
winAmount?: number | null | undefined;
|
|
1554
|
+
commissionAmount?: number | null | undefined;
|
|
1555
|
+
settled?: boolean | null | undefined;
|
|
1556
|
+
}>> & mongoose.FlatRecord<{
|
|
1557
|
+
createdAt: NativeDate;
|
|
1558
|
+
updatedAt: NativeDate;
|
|
1559
|
+
} & {
|
|
1560
|
+
odds: number;
|
|
1561
|
+
selections: mongoose.Types.DocumentArray<{
|
|
1562
|
+
odds: number;
|
|
1563
|
+
betName: string;
|
|
1564
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1565
|
+
winner?: boolean | null | undefined;
|
|
1566
|
+
}>;
|
|
1567
|
+
betName: string;
|
|
1568
|
+
stake: number;
|
|
1569
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1570
|
+
winner?: boolean | null | undefined;
|
|
1571
|
+
isMatched?: boolean | null | undefined;
|
|
1572
|
+
winAmount?: number | null | undefined;
|
|
1573
|
+
commissionAmount?: number | null | undefined;
|
|
1574
|
+
settled?: boolean | null | undefined;
|
|
1575
|
+
}> & {
|
|
1576
|
+
_id: mongoose.Types.ObjectId;
|
|
1577
|
+
} & {
|
|
1578
|
+
__v: number;
|
|
1579
|
+
}>;
|
|
1580
|
+
|
|
1497
1581
|
declare const API_FOOTBALL_URL_LEAGUES = "https://v3.football.api-sports.io/leagues";
|
|
1498
1582
|
declare const API_FOOTBALL_URL_TEAMS = "https://v3.football.api-sports.io/teams";
|
|
1499
1583
|
declare const API_FOOTBALL_URL_FIXTURES = "https://v3.football.api-sports.io/fixtures";
|
|
@@ -1512,4 +1596,4 @@ declare const getMeanModeMedian: (numbers: number[]) => {
|
|
|
1512
1596
|
mode: number;
|
|
1513
1597
|
};
|
|
1514
1598
|
|
|
1515
|
-
export { API_FOOTBALL_URL_FIXTURES, API_FOOTBALL_URL_LEAGUES, API_FOOTBALL_URL_ODDS, API_FOOTBALL_URL_PREDICTIONS, API_FOOTBALL_URL_STANDINGS, API_FOOTBALL_URL_TEAMS, API_FOOTBALL_URL_TEAM_STATS, type Fixture, LEAGUE_ID_LIST, type League$1 as League, type Team$1 as Team, type TeamStat, fixtureSchema, getMeanModeMedian, leagueSchema, teamSchema, teamStatSchema, toPercent, toTwoDecimalPlaces };
|
|
1599
|
+
export { API_FOOTBALL_URL_FIXTURES, API_FOOTBALL_URL_LEAGUES, API_FOOTBALL_URL_ODDS, API_FOOTBALL_URL_PREDICTIONS, API_FOOTBALL_URL_STANDINGS, API_FOOTBALL_URL_TEAMS, API_FOOTBALL_URL_TEAM_STATS, type Bet, type Fixture, LEAGUE_ID_LIST, type League$1 as League, type Team$1 as Team, type TeamStat, betSchema, fixtureSchema, getMeanModeMedian, leagueSchema, teamSchema, teamStatSchema, toPercent, toTwoDecimalPlaces };
|
package/dist/index.d.ts
CHANGED
|
@@ -262,6 +262,7 @@ interface TeamStat {
|
|
|
262
262
|
total: number;
|
|
263
263
|
};
|
|
264
264
|
leaguePosition: number;
|
|
265
|
+
leagueTeams: number;
|
|
265
266
|
}
|
|
266
267
|
|
|
267
268
|
declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
@@ -443,6 +444,7 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
443
444
|
total?: number | null | undefined;
|
|
444
445
|
} | null | undefined;
|
|
445
446
|
} | null | undefined;
|
|
447
|
+
leagueTeams?: number | null | undefined;
|
|
446
448
|
leaguePosition?: number | null | undefined;
|
|
447
449
|
team?: {
|
|
448
450
|
id: number;
|
|
@@ -743,6 +745,7 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
743
745
|
total?: number | null | undefined;
|
|
744
746
|
} | null | undefined;
|
|
745
747
|
} | null | undefined;
|
|
748
|
+
leagueTeams?: number | null | undefined;
|
|
746
749
|
leaguePosition?: number | null | undefined;
|
|
747
750
|
team?: {
|
|
748
751
|
id: number;
|
|
@@ -1043,6 +1046,7 @@ declare const teamStatSchema: Schema<any, mongoose.Model<any, any, any, any, any
|
|
|
1043
1046
|
total?: number | null | undefined;
|
|
1044
1047
|
} | null | undefined;
|
|
1045
1048
|
} | null | undefined;
|
|
1049
|
+
leagueTeams?: number | null | undefined;
|
|
1046
1050
|
leaguePosition?: number | null | undefined;
|
|
1047
1051
|
team?: {
|
|
1048
1052
|
id: number;
|
|
@@ -1494,6 +1498,86 @@ declare const fixtureSchema: Schema<any, mongoose.Model<any, any, any, any, any,
|
|
|
1494
1498
|
__v: number;
|
|
1495
1499
|
}>;
|
|
1496
1500
|
|
|
1501
|
+
interface Bet {
|
|
1502
|
+
selections: {
|
|
1503
|
+
betName: string;
|
|
1504
|
+
fixture: Schema.Types.ObjectId;
|
|
1505
|
+
odds: number;
|
|
1506
|
+
winner?: boolean;
|
|
1507
|
+
}[];
|
|
1508
|
+
stake: number;
|
|
1509
|
+
winner?: boolean;
|
|
1510
|
+
winAmount?: number;
|
|
1511
|
+
commissionAmount?: number;
|
|
1512
|
+
settled?: boolean;
|
|
1513
|
+
isMatched?: boolean;
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
declare const betSchema: Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
|
|
1517
|
+
timestamps: true;
|
|
1518
|
+
}, {
|
|
1519
|
+
createdAt: NativeDate;
|
|
1520
|
+
updatedAt: NativeDate;
|
|
1521
|
+
} & {
|
|
1522
|
+
odds: number;
|
|
1523
|
+
selections: mongoose.Types.DocumentArray<{
|
|
1524
|
+
odds: number;
|
|
1525
|
+
betName: string;
|
|
1526
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1527
|
+
winner?: boolean | null | undefined;
|
|
1528
|
+
}>;
|
|
1529
|
+
betName: string;
|
|
1530
|
+
stake: number;
|
|
1531
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1532
|
+
winner?: boolean | null | undefined;
|
|
1533
|
+
isMatched?: boolean | null | undefined;
|
|
1534
|
+
winAmount?: number | null | undefined;
|
|
1535
|
+
commissionAmount?: number | null | undefined;
|
|
1536
|
+
settled?: boolean | null | undefined;
|
|
1537
|
+
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
1538
|
+
createdAt: NativeDate;
|
|
1539
|
+
updatedAt: NativeDate;
|
|
1540
|
+
} & {
|
|
1541
|
+
odds: number;
|
|
1542
|
+
selections: mongoose.Types.DocumentArray<{
|
|
1543
|
+
odds: number;
|
|
1544
|
+
betName: string;
|
|
1545
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1546
|
+
winner?: boolean | null | undefined;
|
|
1547
|
+
}>;
|
|
1548
|
+
betName: string;
|
|
1549
|
+
stake: number;
|
|
1550
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1551
|
+
winner?: boolean | null | undefined;
|
|
1552
|
+
isMatched?: boolean | null | undefined;
|
|
1553
|
+
winAmount?: number | null | undefined;
|
|
1554
|
+
commissionAmount?: number | null | undefined;
|
|
1555
|
+
settled?: boolean | null | undefined;
|
|
1556
|
+
}>> & mongoose.FlatRecord<{
|
|
1557
|
+
createdAt: NativeDate;
|
|
1558
|
+
updatedAt: NativeDate;
|
|
1559
|
+
} & {
|
|
1560
|
+
odds: number;
|
|
1561
|
+
selections: mongoose.Types.DocumentArray<{
|
|
1562
|
+
odds: number;
|
|
1563
|
+
betName: string;
|
|
1564
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1565
|
+
winner?: boolean | null | undefined;
|
|
1566
|
+
}>;
|
|
1567
|
+
betName: string;
|
|
1568
|
+
stake: number;
|
|
1569
|
+
fixture?: mongoose.Types.ObjectId | null | undefined;
|
|
1570
|
+
winner?: boolean | null | undefined;
|
|
1571
|
+
isMatched?: boolean | null | undefined;
|
|
1572
|
+
winAmount?: number | null | undefined;
|
|
1573
|
+
commissionAmount?: number | null | undefined;
|
|
1574
|
+
settled?: boolean | null | undefined;
|
|
1575
|
+
}> & {
|
|
1576
|
+
_id: mongoose.Types.ObjectId;
|
|
1577
|
+
} & {
|
|
1578
|
+
__v: number;
|
|
1579
|
+
}>;
|
|
1580
|
+
|
|
1497
1581
|
declare const API_FOOTBALL_URL_LEAGUES = "https://v3.football.api-sports.io/leagues";
|
|
1498
1582
|
declare const API_FOOTBALL_URL_TEAMS = "https://v3.football.api-sports.io/teams";
|
|
1499
1583
|
declare const API_FOOTBALL_URL_FIXTURES = "https://v3.football.api-sports.io/fixtures";
|
|
@@ -1512,4 +1596,4 @@ declare const getMeanModeMedian: (numbers: number[]) => {
|
|
|
1512
1596
|
mode: number;
|
|
1513
1597
|
};
|
|
1514
1598
|
|
|
1515
|
-
export { API_FOOTBALL_URL_FIXTURES, API_FOOTBALL_URL_LEAGUES, API_FOOTBALL_URL_ODDS, API_FOOTBALL_URL_PREDICTIONS, API_FOOTBALL_URL_STANDINGS, API_FOOTBALL_URL_TEAMS, API_FOOTBALL_URL_TEAM_STATS, type Fixture, LEAGUE_ID_LIST, type League$1 as League, type Team$1 as Team, type TeamStat, fixtureSchema, getMeanModeMedian, leagueSchema, teamSchema, teamStatSchema, toPercent, toTwoDecimalPlaces };
|
|
1599
|
+
export { API_FOOTBALL_URL_FIXTURES, API_FOOTBALL_URL_LEAGUES, API_FOOTBALL_URL_ODDS, API_FOOTBALL_URL_PREDICTIONS, API_FOOTBALL_URL_STANDINGS, API_FOOTBALL_URL_TEAMS, API_FOOTBALL_URL_TEAM_STATS, type Bet, type Fixture, LEAGUE_ID_LIST, type League$1 as League, type Team$1 as Team, type TeamStat, betSchema, fixtureSchema, getMeanModeMedian, leagueSchema, teamSchema, teamStatSchema, toPercent, toTwoDecimalPlaces };
|
package/dist/index.js
CHANGED
|
@@ -28,6 +28,7 @@ __export(src_exports, {
|
|
|
28
28
|
API_FOOTBALL_URL_TEAMS: () => API_FOOTBALL_URL_TEAMS,
|
|
29
29
|
API_FOOTBALL_URL_TEAM_STATS: () => API_FOOTBALL_URL_TEAM_STATS,
|
|
30
30
|
LEAGUE_ID_LIST: () => LEAGUE_ID_LIST,
|
|
31
|
+
betSchema: () => betSchema,
|
|
31
32
|
fixtureSchema: () => fixtureSchema,
|
|
32
33
|
getMeanModeMedian: () => getMeanModeMedian,
|
|
33
34
|
leagueSchema: () => leagueSchema,
|
|
@@ -296,6 +297,7 @@ var fixtureSchema = new import_mongoose3.Schema(
|
|
|
296
297
|
var import_mongoose4 = require("mongoose");
|
|
297
298
|
var teamStatSchema = new import_mongoose4.Schema(
|
|
298
299
|
{
|
|
300
|
+
leagueTeams: { type: Number },
|
|
299
301
|
leaguePosition: { type: Number },
|
|
300
302
|
team: {
|
|
301
303
|
id: { type: Number, required: true },
|
|
@@ -598,6 +600,75 @@ var teamStatSchema = new import_mongoose4.Schema(
|
|
|
598
600
|
{ timestamps: true }
|
|
599
601
|
);
|
|
600
602
|
|
|
603
|
+
// src/data/bet/schema/index.ts
|
|
604
|
+
var import_mongoose5 = require("mongoose");
|
|
605
|
+
var betSchema = new import_mongoose5.Schema(
|
|
606
|
+
{
|
|
607
|
+
selections: {
|
|
608
|
+
type: [
|
|
609
|
+
{
|
|
610
|
+
betName: {
|
|
611
|
+
type: String,
|
|
612
|
+
required: true
|
|
613
|
+
},
|
|
614
|
+
fixture: {
|
|
615
|
+
type: import_mongoose5.Schema.Types.ObjectId,
|
|
616
|
+
ref: "Fixture"
|
|
617
|
+
},
|
|
618
|
+
odds: {
|
|
619
|
+
type: Number,
|
|
620
|
+
required: true
|
|
621
|
+
},
|
|
622
|
+
winner: {
|
|
623
|
+
type: Boolean
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
],
|
|
627
|
+
required: true
|
|
628
|
+
},
|
|
629
|
+
betName: {
|
|
630
|
+
type: String,
|
|
631
|
+
required: true
|
|
632
|
+
},
|
|
633
|
+
// bookie: {
|
|
634
|
+
// type: String,
|
|
635
|
+
// required: true,
|
|
636
|
+
// },
|
|
637
|
+
fixture: {
|
|
638
|
+
type: import_mongoose5.Schema.Types.ObjectId,
|
|
639
|
+
ref: "Fixture"
|
|
640
|
+
},
|
|
641
|
+
stake: {
|
|
642
|
+
type: Number,
|
|
643
|
+
required: true
|
|
644
|
+
},
|
|
645
|
+
// isInPlay: {
|
|
646
|
+
// type: Boolean,
|
|
647
|
+
// required: true,
|
|
648
|
+
// },
|
|
649
|
+
isMatched: {
|
|
650
|
+
type: Boolean
|
|
651
|
+
},
|
|
652
|
+
odds: {
|
|
653
|
+
type: Number,
|
|
654
|
+
required: true
|
|
655
|
+
},
|
|
656
|
+
winner: {
|
|
657
|
+
type: Boolean
|
|
658
|
+
},
|
|
659
|
+
winAmount: {
|
|
660
|
+
type: Number
|
|
661
|
+
},
|
|
662
|
+
commissionAmount: {
|
|
663
|
+
type: Number
|
|
664
|
+
},
|
|
665
|
+
settled: {
|
|
666
|
+
type: Boolean
|
|
667
|
+
}
|
|
668
|
+
},
|
|
669
|
+
{ timestamps: true }
|
|
670
|
+
);
|
|
671
|
+
|
|
601
672
|
// src/utils/apiFootball/data/index.ts
|
|
602
673
|
var API_FOOTBALL_URL = `https://v3.football.api-sports.io`;
|
|
603
674
|
var API_FOOTBALL_URL_LEAGUES = `${API_FOOTBALL_URL}/leagues`;
|
|
@@ -650,6 +721,7 @@ var getMeanModeMedian = (numbers) => {
|
|
|
650
721
|
API_FOOTBALL_URL_TEAMS,
|
|
651
722
|
API_FOOTBALL_URL_TEAM_STATS,
|
|
652
723
|
LEAGUE_ID_LIST,
|
|
724
|
+
betSchema,
|
|
653
725
|
fixtureSchema,
|
|
654
726
|
getMeanModeMedian,
|
|
655
727
|
leagueSchema,
|
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/utils/apiFootball/data/index.ts","../src/utils/numbers/toTwoDecimalPlaces.ts","../src/utils/numbers/toPercent.ts","../src/utils/numbers/getMeanModeMedian.ts"],"sourcesContent":["export * from \"./data/league\";\nexport * from \"./data/team\";\nexport * from \"./data/fixture\";\nexport * from \"./data/teamStat\";\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];\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 leaguePosition: { 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 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","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"],"mappings":"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","names":["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/utils/apiFootball/data/index.ts","../src/utils/numbers/toTwoDecimalPlaces.ts","../src/utils/numbers/toPercent.ts","../src/utils/numbers/getMeanModeMedian.ts"],"sourcesContent":["export * from \"./data/league\";\nexport * from \"./data/team\";\nexport * from \"./data/fixture\";\nexport * from \"./data/teamStat\";\nexport * from \"./data/bet\";\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];\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 leagueTeams: { type: Number },\n leaguePosition: { 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 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 betName: {\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 betName: {\n type: String,\n required: true,\n },\n // bookie: {\n // type: String,\n // required: true,\n // },\n fixture: {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n stake: {\n type: Number,\n required: true,\n },\n // isInPlay: {\n // type: Boolean,\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 },\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"],"mappings":"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","names":["import_mongoose","import_mongoose","import_mongoose","import_mongoose"]}
|
package/dist/index.mjs
CHANGED
|
@@ -256,6 +256,7 @@ var fixtureSchema = new Schema3(
|
|
|
256
256
|
import { Schema as Schema4 } from "mongoose";
|
|
257
257
|
var teamStatSchema = new Schema4(
|
|
258
258
|
{
|
|
259
|
+
leagueTeams: { type: Number },
|
|
259
260
|
leaguePosition: { type: Number },
|
|
260
261
|
team: {
|
|
261
262
|
id: { type: Number, required: true },
|
|
@@ -558,6 +559,75 @@ var teamStatSchema = new Schema4(
|
|
|
558
559
|
{ timestamps: true }
|
|
559
560
|
);
|
|
560
561
|
|
|
562
|
+
// src/data/bet/schema/index.ts
|
|
563
|
+
import { Schema as Schema5 } from "mongoose";
|
|
564
|
+
var betSchema = new Schema5(
|
|
565
|
+
{
|
|
566
|
+
selections: {
|
|
567
|
+
type: [
|
|
568
|
+
{
|
|
569
|
+
betName: {
|
|
570
|
+
type: String,
|
|
571
|
+
required: true
|
|
572
|
+
},
|
|
573
|
+
fixture: {
|
|
574
|
+
type: Schema5.Types.ObjectId,
|
|
575
|
+
ref: "Fixture"
|
|
576
|
+
},
|
|
577
|
+
odds: {
|
|
578
|
+
type: Number,
|
|
579
|
+
required: true
|
|
580
|
+
},
|
|
581
|
+
winner: {
|
|
582
|
+
type: Boolean
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
],
|
|
586
|
+
required: true
|
|
587
|
+
},
|
|
588
|
+
betName: {
|
|
589
|
+
type: String,
|
|
590
|
+
required: true
|
|
591
|
+
},
|
|
592
|
+
// bookie: {
|
|
593
|
+
// type: String,
|
|
594
|
+
// required: true,
|
|
595
|
+
// },
|
|
596
|
+
fixture: {
|
|
597
|
+
type: Schema5.Types.ObjectId,
|
|
598
|
+
ref: "Fixture"
|
|
599
|
+
},
|
|
600
|
+
stake: {
|
|
601
|
+
type: Number,
|
|
602
|
+
required: true
|
|
603
|
+
},
|
|
604
|
+
// isInPlay: {
|
|
605
|
+
// type: Boolean,
|
|
606
|
+
// required: true,
|
|
607
|
+
// },
|
|
608
|
+
isMatched: {
|
|
609
|
+
type: Boolean
|
|
610
|
+
},
|
|
611
|
+
odds: {
|
|
612
|
+
type: Number,
|
|
613
|
+
required: true
|
|
614
|
+
},
|
|
615
|
+
winner: {
|
|
616
|
+
type: Boolean
|
|
617
|
+
},
|
|
618
|
+
winAmount: {
|
|
619
|
+
type: Number
|
|
620
|
+
},
|
|
621
|
+
commissionAmount: {
|
|
622
|
+
type: Number
|
|
623
|
+
},
|
|
624
|
+
settled: {
|
|
625
|
+
type: Boolean
|
|
626
|
+
}
|
|
627
|
+
},
|
|
628
|
+
{ timestamps: true }
|
|
629
|
+
);
|
|
630
|
+
|
|
561
631
|
// src/utils/apiFootball/data/index.ts
|
|
562
632
|
var API_FOOTBALL_URL = `https://v3.football.api-sports.io`;
|
|
563
633
|
var API_FOOTBALL_URL_LEAGUES = `${API_FOOTBALL_URL}/leagues`;
|
|
@@ -609,6 +679,7 @@ export {
|
|
|
609
679
|
API_FOOTBALL_URL_TEAMS,
|
|
610
680
|
API_FOOTBALL_URL_TEAM_STATS,
|
|
611
681
|
LEAGUE_ID_LIST,
|
|
682
|
+
betSchema,
|
|
612
683
|
fixtureSchema,
|
|
613
684
|
getMeanModeMedian,
|
|
614
685
|
leagueSchema,
|
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/utils/apiFootball/data/index.ts","../src/utils/numbers/toTwoDecimalPlaces.ts","../src/utils/numbers/toPercent.ts","../src/utils/numbers/getMeanModeMedian.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];\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 leaguePosition: { 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 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","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"],"mappings":";AACA,SAAS,cAAc;AAEhB,IAAM,eAAe,IAAI;AAAA,EAC9B;AAAA,IACE,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,MAAM,OAAO,MAAM;AAAA,IACrB;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,EAAE,YAAY,KAAK;AACrB;;;AClCO,IAAM,iBAAiB;AAAA,EAC5B;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACF;;;ACjDA,SAAS,UAAAA,eAAc;AAEhB,IAAM,aAAa,IAAIA;AAAA,EAC5B;AAAA,IACE,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,QAAQ;AAAA,MACN,MAAMA,QAAO,MAAM;AAAA,MACnB,KAAK;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACL,MAAMA,QAAO,MAAM;AAAA,MACnB,KAAK;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,MAAMA,QAAO,MAAM;AAAA,QACnB,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AAAA,EACA,EAAE,YAAY,KAAK;AACrB;;;ACnCA,SAAS,UAAAC,eAAc;AAEhB,IAAM,gBAAgB,IAAIA;AAAA,EAC/B;AAAA,IACE,SAAS;AAAA,MACP,MAAMA,QAAO,MAAM;AAAA,IACrB;AAAA,IACA,QAAQ;AAAA,MACN,MAAMA,QAAO,MAAM;AAAA,IACrB;AAAA,IACA,OAAO;AAAA,MACL,MAAMA,QAAO,MAAM;AAAA,IACrB;AAAA,IACA,OAAO;AAAA,MACL,MAAMA,QAAO,MAAM;AAAA,IACrB;AAAA,IACA,OAAO;AAAA,MACL,MAAMA,QAAO,MAAM;AAAA,IACrB;AAAA,IACA,MAAM;AAAA,MACJ,MAAMA,QAAO,MAAM;AAAA,IACrB;AAAA,IACA,gBAAgB;AAAA,MACd,MAAMA,QAAO,MAAM;AAAA,IACrB;AAAA,IACA,WAAW;AAAA,MACT,MAAMA,QAAO,MAAM;AAAA,IACrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmDF;AAAA,EACA,EAAE,YAAY,KAAK;AACrB;;;AChFA,SAAS,UAAAC,eAAc;AAEhB,IAAM,iBAAiB,IAAIA;AAAA,EAChC;AAAA,IACE,gBAAgB,EAAE,MAAM,OAAO;AAAA,IAC/B,MAAM;AAAA,MACJ,IAAI,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,MACnC,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,MACrC,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACvC;AAAA,IACA,SAAS;AAAA,MACP,QAAQ;AAAA,QACN,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,OAAO,EAAE,MAAM,OAAO;AAAA,QACtB,OAAO,EAAE,MAAM,OAAO;AAAA,MACxB;AAAA,MACA,MAAM;AAAA,QACJ,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,MAAM,EAAE,MAAM,OAAO;AAAA,MACvB;AAAA,MACA,OAAO;AAAA,QACL,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,MAAM,EAAE,MAAM,OAAO;AAAA,MACvB;AAAA,MACA,OAAO;AAAA,QACL,KAAK;AAAA,UACH,MAAM,EAAE,MAAM,OAAO;AAAA,UACrB,MAAM,EAAE,MAAM,OAAO;AAAA,QACvB;AAAA,QACA,SAAS;AAAA,UACP,MAAM,EAAE,MAAM,OAAO;AAAA,UACrB,MAAM,EAAE,MAAM,OAAO;AAAA,QACvB;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,QAAQ;AAAA,QACN,QAAQ;AAAA,UACN,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,UACP,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,UACP,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,UACP,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,UACP,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,UACP,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,UAAU;AAAA,UACR,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,WAAW;AAAA,UACT,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,MACF;AAAA,MACA,KAAK;AAAA,QACH,QAAQ;AAAA,UACN,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,UACP,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,UACP,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,UACP,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,UACP,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,SAAS;AAAA,UACP,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,UAAU;AAAA,UACR,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,QACA,WAAW;AAAA,UACT,OAAO,EAAE,MAAM,OAAO;AAAA,UACtB,YAAY,EAAE,MAAM,OAAO;AAAA,QAC7B;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,MAAM,EAAE,MAAM,OAAO;AAAA,MACrB,MAAM,EAAE,MAAM,OAAO;AAAA,MACrB,OAAO,EAAE,MAAM,OAAO;AAAA,IACxB;AAAA,IACA,WAAW,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,IAC3C,iBAAiB;AAAA,MACf,MAAM,EAAE,MAAM,OAAO;AAAA,MACrB,MAAM,EAAE,MAAM,OAAO;AAAA,MACrB,OAAO,EAAE,MAAM,OAAO;AAAA,IACxB;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,QACN,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,OAAO,EAAE,MAAM,OAAO;AAAA,MACxB;AAAA,MACA,MAAM;AAAA,QACJ,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,OAAO,EAAE,MAAM,OAAO;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,QACL,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,OAAO,EAAE,MAAM,OAAO;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,QACL,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,MAAM,EAAE,MAAM,OAAO;AAAA,QACrB,OAAO,EAAE,MAAM,OAAO;AAAA,MACxB;AAAA,IACF;AAAA,IACA,MAAM,EAAE,MAAM,OAAO;AAAA,IACrB,OAAO;AAAA,MACL,KAAK;AAAA,QACH,OAAO;AAAA,UACL,MAAM,EAAE,MAAM,OAAO;AAAA,UACrB,MAAM,EAAE,MAAM,OAAO;AAAA,UACrB,OAAO,EAAE,MAAM,OAAO;AAAA,QACxB;AAAA,QACA,SAAS;AAAA,UACP,MAAM,EAAE,MAAM,OAAO;AAAA,UACrB,MAAM,EAAE,MAAM,OAAO;AAAA,UACrB,OAAO,EAAE,MAAM,OAAO;AAAA,QACxB;AAAA,QACA,QAAQ;AAAA,UACN,QAAQ;AAAA,YACN,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,UAAU;AAAA,YACR,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,WAAW;AAAA,YACT,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV,OAAO;AAAA,YACL,MAAM,EAAE,MAAM,OAAO;AAAA,YACrB,OAAO,EAAE,MAAM,OAAO;AAAA,UACxB;AAAA,UACA,OAAO;AAAA,YACL,MAAM,EAAE,MAAM,OAAO;AAAA,YACrB,OAAO,EAAE,MAAM,OAAO;AAAA,UACxB;AAAA,UACA,OAAO;AAAA,YACL,MAAM,EAAE,MAAM,OAAO;AAAA,YACrB,OAAO,EAAE,MAAM,OAAO;AAAA,UACxB;AAAA,UACA,OAAO;AAAA,YACL,MAAM,EAAE,MAAM,OAAO;AAAA,YACrB,OAAO,EAAE,MAAM,OAAO;AAAA,UACxB;AAAA,UACA,OAAO;AAAA,YACL,MAAM,EAAE,MAAM,OAAO;AAAA,YACrB,OAAO,EAAE,MAAM,OAAO;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAAA,MACA,SAAS;AAAA,QACP,OAAO;AAAA,UACL,MAAM,EAAE,MAAM,OAAO;AAAA,UACrB,MAAM,EAAE,MAAM,OAAO;AAAA,UACrB,OAAO,EAAE,MAAM,OAAO;AAAA,QACxB;AAAA,QACA,SAAS;AAAA,UACP,MAAM,EAAE,MAAM,OAAO;AAAA,UACrB,MAAM,EAAE,MAAM,OAAO;AAAA,UACrB,OAAO,EAAE,MAAM,OAAO;AAAA,QACxB;AAAA,QACA,QAAQ;AAAA,UACN,QAAQ;AAAA,YACN,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,SAAS;AAAA,YACP,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,UAAU;AAAA,YACR,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,UACA,WAAW;AAAA,YACT,OAAO,EAAE,MAAM,OAAO;AAAA,YACtB,YAAY,EAAE,MAAM,OAAO;AAAA,UAC7B;AAAA,QACF;AAAA,QACA,YAAY;AAAA,UACV,OAAO;AAAA,YACL,MAAM,EAAE,MAAM,OAAO;AAAA,YACrB,OAAO,EAAE,MAAM,OAAO;AAAA,UACxB;AAAA,UACA,OAAO;AAAA,YACL,MAAM,EAAE,MAAM,OAAO;AAAA,YACrB,OAAO,EAAE,MAAM,OAAO;AAAA,UACxB;AAAA,UACA,OAAO;AAAA,YACL,MAAM,EAAE,MAAM,OAAO;AAAA,YACrB,OAAO,EAAE,MAAM,OAAO;AAAA,UACxB;AAAA,UACA,OAAO;AAAA,YACL,MAAM,EAAE,MAAM,OAAO;AAAA,YACrB,OAAO,EAAE,MAAM,OAAO;AAAA,UACxB;AAAA,UACA,OAAO;AAAA,YACL,MAAM,EAAE,MAAM,OAAO;AAAA,YACrB,OAAO,EAAE,MAAM,OAAO;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,IAAI,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,MACnC,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,MACrC,SAAS,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,MACxC,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,MACrC,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,MACrC,QAAQ,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACzC;AAAA,IACA,SAAS;AAAA,MACP;AAAA,QACE,WAAW,EAAE,MAAM,OAAO;AAAA,QAC1B,QAAQ,EAAE,MAAM,OAAO;AAAA,MACzB;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,QAAQ;AAAA,QACN,OAAO,EAAE,MAAM,OAAO;AAAA,QACtB,YAAY,EAAE,MAAM,OAAO;AAAA,MAC7B;AAAA,MACA,QAAQ;AAAA,QACN,OAAO,EAAE,MAAM,OAAO;AAAA,QACtB,YAAY,EAAE,MAAM,OAAO;AAAA,MAC7B;AAAA,MACA,OAAO,EAAE,MAAM,OAAO;AAAA,IACxB;AAAA,EACF;AAAA,EACA,EAAE,YAAY,KAAK;AACrB;;;AChTA,IAAM,mBAAmB;AAClB,IAAM,2BAA2B,GAAG,gBAAgB;AACpD,IAAM,yBAAyB,GAAG,gBAAgB;AAClD,IAAM,4BAA4B,GAAG,gBAAgB;AACrD,IAAM,8BAA8B,GAAG,gBAAgB;AACvD,IAAM,wBAAwB,GAAG,gBAAgB;AACjD,IAAM,6BAA6B,GAAG,gBAAgB;AACtD,IAAM,+BAA+B,GAAG,gBAAgB;;;ACPxD,SAAS,mBAAmB,KAAqB;AACtD,SAAO,WAAW,IAAI,QAAQ,CAAC,CAAC;AAClC;;;ACFO,SAAS,UAAU,OAAe,OAAuB;AAC9D,MAAI,UAAU,GAAG;AACf,WAAO;AAAA,EACT;AACA,SAAQ,QAAQ,MAAO;AACzB;;;ACCO,IAAM,oBAAoB,CAAC,YAAsB;AACtD,MAAI,QAAQ,WAAW,EAAG,QAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,EAAE;AAG/D,QAAM,OAAO,QAAQ,OAAO,CAAC,KAAK,QAAQ,MAAM,KAAK,CAAC,IAAI,QAAQ;AAGlE,QAAM,gBAAgB,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AACvD,QAAM,MAAM,KAAK,MAAM,cAAc,SAAS,CAAC;AAC/C,QAAM,SACJ,cAAc,SAAS,MAAM,IACzB,cAAc,GAAG,KAChB,cAAc,MAAM,CAAC,IAAI,cAAc,GAAG,KAAK;AAGtD,QAAM,YAAuC,CAAC;AAC9C,MAAI,UAAU;AACd,MAAI,OAAO,QAAQ,CAAC;AAEpB,UAAQ,QAAQ,CAAC,QAAQ;AACvB,cAAU,GAAG,KAAK,UAAU,GAAG,KAAK,KAAK;AACzC,QAAI,UAAU,GAAG,IAAI,SAAS;AAC5B,gBAAU,UAAU,GAAG;AACvB,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AAED,SAAO,EAAE,MAAM,QAAQ,KAAK;AAC9B;","names":["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/utils/apiFootball/data/index.ts","../src/utils/numbers/toTwoDecimalPlaces.ts","../src/utils/numbers/toPercent.ts","../src/utils/numbers/getMeanModeMedian.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];\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 leagueTeams: { type: Number },\n leaguePosition: { 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 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 betName: {\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 betName: {\n type: String,\n required: true,\n },\n // bookie: {\n // type: String,\n // required: true,\n // },\n fixture: {\n type: Schema.Types.ObjectId,\n ref: \"Fixture\",\n },\n stake: {\n type: Number,\n required: true,\n },\n // isInPlay: {\n // type: Boolean,\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 },\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"],"mappings":"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","names":["Schema","Schema","Schema","Schema"]}
|