black-diamond-shared 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js DELETED
@@ -1,645 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
23
- API_FOOTBALL_URL_FIXTURES: () => API_FOOTBALL_URL_FIXTURES,
24
- API_FOOTBALL_URL_LEAGUES: () => API_FOOTBALL_URL_LEAGUES,
25
- API_FOOTBALL_URL_ODDS: () => API_FOOTBALL_URL_ODDS,
26
- API_FOOTBALL_URL_PREDICTIONS: () => API_FOOTBALL_URL_PREDICTIONS,
27
- API_FOOTBALL_URL_STANDINGS: () => API_FOOTBALL_URL_STANDINGS,
28
- API_FOOTBALL_URL_TEAMS: () => API_FOOTBALL_URL_TEAMS,
29
- API_FOOTBALL_URL_TEAM_STATS: () => API_FOOTBALL_URL_TEAM_STATS,
30
- LEAGUE_ID_LIST: () => LEAGUE_ID_LIST,
31
- fixtureSchema: () => fixtureSchema,
32
- getMeanModeMedian: () => getMeanModeMedian,
33
- leagueSchema: () => leagueSchema,
34
- teamSchema: () => teamSchema,
35
- teamStatSchema: () => teamStatSchema,
36
- toPercent: () => toPercent,
37
- toTwoDecimalPlaces: () => toTwoDecimalPlaces
38
- });
39
- module.exports = __toCommonJS(src_exports);
40
-
41
- // src/data/league/schema/index.ts
42
- var import_mongoose = require("mongoose");
43
- var leagueSchema = new import_mongoose.Schema(
44
- {
45
- id: {
46
- type: Number,
47
- required: true
48
- },
49
- name: {
50
- type: String
51
- },
52
- logo: {
53
- type: String
54
- },
55
- country: {
56
- name: {
57
- type: String
58
- },
59
- code: {
60
- type: String
61
- },
62
- flag: {
63
- type: String
64
- }
65
- },
66
- stats: {
67
- type: import_mongoose.Schema.Types.Mixed
68
- },
69
- currentSeason: {
70
- type: Number
71
- }
72
- },
73
- { timestamps: true }
74
- );
75
-
76
- // src/data/league/data/index.ts
77
- var LEAGUE_ID_LIST = [
78
- 39,
79
- // premier league
80
- 78,
81
- //Bundesliga 1
82
- 140,
83
- // La Liga
84
- 135,
85
- // Serie A
86
- 61,
87
- // Ligue 1,
88
- 188,
89
- // A league australia
90
- 40,
91
- // Championship
92
- 41,
93
- // League One
94
- 42,
95
- // League Two
96
- 43,
97
- //National League
98
- 141,
99
- // Segunda Division
100
- 79,
101
- //Bundesliga 2
102
- 136,
103
- // Serie B
104
- 62,
105
- // Ligue 2
106
- 179,
107
- // Scotland Premiership
108
- 180,
109
- // Scotland Championship,
110
- 113,
111
- // Sweden Allsvenskan
112
- 103,
113
- // Norway Eliteserien
114
- 94,
115
- // Primeira Liga portugal
116
- 71,
117
- // Serie A Brazil
118
- 72,
119
- // Serie B Brazil
120
- 253,
121
- // Major League Soccer
122
- 197,
123
- // Greece Super League
124
- 88,
125
- // Eredivisie Holland
126
- 144,
127
- // Belgium 1st div A
128
- 345,
129
- // Czech Liga
130
- 207,
131
- // Switz super league
132
- 98,
133
- // J1 League Japan
134
- 292,
135
- // K League 1
136
- 333,
137
- // Ukraine premier league
138
- 128,
139
- // Argentine Primera División
140
- 169,
141
- // China super league
142
- 233,
143
- // Egypt premier leaguye
144
- 262,
145
- // Liga MX Mexico
146
- 244,
147
- // Veikkausliiga finland
148
- 164,
149
- // Iceland
150
- 281,
151
- // Peru Primera División
152
- 203,
153
- // Turkey Süper Lig
154
- 365,
155
- // Virsliga Latvia
156
- 357
157
- // Ireland Premier division
158
- ];
159
-
160
- // src/data/team/schema/index.ts
161
- var import_mongoose2 = require("mongoose");
162
- var teamSchema = new import_mongoose2.Schema(
163
- {
164
- id: {
165
- type: Number,
166
- required: true
167
- },
168
- name: {
169
- type: String,
170
- required: true
171
- },
172
- logo: {
173
- type: String,
174
- required: true
175
- },
176
- league: {
177
- type: import_mongoose2.Schema.Types.ObjectId,
178
- ref: "League"
179
- },
180
- stats: {
181
- type: import_mongoose2.Schema.Types.ObjectId,
182
- ref: "TeamStat"
183
- },
184
- currentSeason: {
185
- type: Number
186
- },
187
- fixtures: [
188
- {
189
- type: import_mongoose2.Schema.Types.ObjectId,
190
- ref: "Fixture"
191
- }
192
- ]
193
- },
194
- { timestamps: true }
195
- );
196
-
197
- // src/data/fixture/schema/index.ts
198
- var import_mongoose3 = require("mongoose");
199
- var fixtureSchema = new import_mongoose3.Schema(
200
- {
201
- fixture: {
202
- type: import_mongoose3.Schema.Types.Mixed
203
- },
204
- league: {
205
- type: import_mongoose3.Schema.Types.Mixed
206
- },
207
- teams: {
208
- type: import_mongoose3.Schema.Types.Mixed
209
- },
210
- goals: {
211
- type: import_mongoose3.Schema.Types.Mixed
212
- },
213
- score: {
214
- type: import_mongoose3.Schema.Types.Mixed
215
- },
216
- odds: {
217
- type: import_mongoose3.Schema.Types.Mixed
218
- },
219
- apiPredictions: {
220
- type: import_mongoose3.Schema.Types.Mixed
221
- },
222
- teamStats: {
223
- type: import_mongoose3.Schema.Types.Mixed
224
- }
225
- // refs: {
226
- // refHomeTeamStat: {
227
- // type: Schema.Types.ObjectId,
228
- // ref: "Stat",
229
- // },
230
- // refAwayTeamStat: {
231
- // type: Schema.Types.ObjectId,
232
- // ref: "Stat",
233
- // },
234
- // refHomeTeam: {
235
- // type: Schema.Types.ObjectId,
236
- // ref: "Team",
237
- // },
238
- // refAwayTeam: {
239
- // type: Schema.Types.ObjectId,
240
- // ref: "Team",
241
- // },
242
- // },
243
- // odds: {
244
- // type: Schema.Types.Mixed,
245
- // },
246
- // prevFixtures: {
247
- // home: [
248
- // {
249
- // type: Schema.Types.ObjectId,
250
- // ref: "Fixture",
251
- // },
252
- // ],
253
- // away: [
254
- // {
255
- // type: Schema.Types.ObjectId,
256
- // ref: "Fixture",
257
- // },
258
- // ],
259
- // },
260
- // apiPredictions: {
261
- // type: Schema.Types.Mixed,
262
- // },
263
- // predictions: {
264
- // type: Schema.Types.Mixed,
265
- // },
266
- // topBets: {
267
- // type: Schema.Types.Mixed,
268
- // },
269
- // keyStats: {
270
- // type: Schema.Types.Mixed,
271
- // },
272
- // info: {
273
- // type: Schema.Types.Mixed,
274
- // },
275
- },
276
- { timestamps: true }
277
- );
278
-
279
- // src/data/teamStat/schema/index.ts
280
- var import_mongoose4 = require("mongoose");
281
- var teamStatSchema = new import_mongoose4.Schema(
282
- {
283
- leaguePosition: { type: Number },
284
- team: {
285
- id: { type: Number, required: true },
286
- name: { type: String, required: true },
287
- logo: { type: String, required: true }
288
- },
289
- biggest: {
290
- streak: {
291
- wins: { type: Number },
292
- draws: { type: Number },
293
- loses: { type: Number }
294
- },
295
- wins: {
296
- home: { type: String },
297
- away: { type: String }
298
- },
299
- loses: {
300
- home: { type: String },
301
- away: { type: String }
302
- },
303
- goals: {
304
- for: {
305
- home: { type: Number },
306
- away: { type: Number }
307
- },
308
- against: {
309
- home: { type: Number },
310
- away: { type: Number }
311
- }
312
- }
313
- },
314
- cards: {
315
- yellow: {
316
- "0-15": {
317
- total: { type: Number },
318
- percentage: { type: String }
319
- },
320
- "16-30": {
321
- total: { type: Number },
322
- percentage: { type: String }
323
- },
324
- "31-45": {
325
- total: { type: Number },
326
- percentage: { type: String }
327
- },
328
- "46-60": {
329
- total: { type: Number },
330
- percentage: { type: String }
331
- },
332
- "61-75": {
333
- total: { type: Number },
334
- percentage: { type: String }
335
- },
336
- "76-90": {
337
- total: { type: Number },
338
- percentage: { type: String }
339
- },
340
- "91-105": {
341
- total: { type: Number },
342
- percentage: { type: String }
343
- },
344
- "106-120": {
345
- total: { type: Number },
346
- percentage: { type: String }
347
- }
348
- },
349
- red: {
350
- "0-15": {
351
- total: { type: Number },
352
- percentage: { type: String }
353
- },
354
- "16-30": {
355
- total: { type: Number },
356
- percentage: { type: String }
357
- },
358
- "31-45": {
359
- total: { type: Number },
360
- percentage: { type: String }
361
- },
362
- "46-60": {
363
- total: { type: Number },
364
- percentage: { type: String }
365
- },
366
- "61-75": {
367
- total: { type: Number },
368
- percentage: { type: String }
369
- },
370
- "76-90": {
371
- total: { type: Number },
372
- percentage: { type: String }
373
- },
374
- "91-105": {
375
- total: { type: Number },
376
- percentage: { type: String }
377
- },
378
- "106-120": {
379
- total: { type: Number },
380
- percentage: { type: String }
381
- }
382
- }
383
- },
384
- clean_sheet: {
385
- home: { type: Number },
386
- away: { type: Number },
387
- total: { type: Number }
388
- },
389
- createdAt: { type: Date, default: Date.now },
390
- failed_to_score: {
391
- home: { type: Number },
392
- away: { type: Number },
393
- total: { type: Number }
394
- },
395
- fixtures: {
396
- played: {
397
- home: { type: Number },
398
- away: { type: Number },
399
- total: { type: Number }
400
- },
401
- wins: {
402
- home: { type: Number },
403
- away: { type: Number },
404
- total: { type: Number }
405
- },
406
- draws: {
407
- home: { type: Number },
408
- away: { type: Number },
409
- total: { type: Number }
410
- },
411
- loses: {
412
- home: { type: Number },
413
- away: { type: Number },
414
- total: { type: Number }
415
- }
416
- },
417
- form: { type: String },
418
- goals: {
419
- for: {
420
- total: {
421
- home: { type: Number },
422
- away: { type: Number },
423
- total: { type: Number }
424
- },
425
- average: {
426
- home: { type: String },
427
- away: { type: String },
428
- total: { type: String }
429
- },
430
- minute: {
431
- "0-15": {
432
- total: { type: Number },
433
- percentage: { type: String }
434
- },
435
- "16-30": {
436
- total: { type: Number },
437
- percentage: { type: String }
438
- },
439
- "31-45": {
440
- total: { type: Number },
441
- percentage: { type: String }
442
- },
443
- "46-60": {
444
- total: { type: Number },
445
- percentage: { type: String }
446
- },
447
- "61-75": {
448
- total: { type: Number },
449
- percentage: { type: String }
450
- },
451
- "76-90": {
452
- total: { type: Number },
453
- percentage: { type: String }
454
- },
455
- "91-105": {
456
- total: { type: Number },
457
- percentage: { type: String }
458
- },
459
- "106-120": {
460
- total: { type: Number },
461
- percentage: { type: String }
462
- }
463
- },
464
- under_over: {
465
- "0.5": {
466
- over: { type: Number },
467
- under: { type: Number }
468
- },
469
- "1.5": {
470
- over: { type: Number },
471
- under: { type: Number }
472
- },
473
- "2.5": {
474
- over: { type: Number },
475
- under: { type: Number }
476
- },
477
- "3.5": {
478
- over: { type: Number },
479
- under: { type: Number }
480
- },
481
- "4.5": {
482
- over: { type: Number },
483
- under: { type: Number }
484
- }
485
- }
486
- },
487
- against: {
488
- total: {
489
- home: { type: Number },
490
- away: { type: Number },
491
- total: { type: Number }
492
- },
493
- average: {
494
- home: { type: String },
495
- away: { type: String },
496
- total: { type: String }
497
- },
498
- minute: {
499
- "0-15": {
500
- total: { type: Number },
501
- percentage: { type: String }
502
- },
503
- "16-30": {
504
- total: { type: Number },
505
- percentage: { type: String }
506
- },
507
- "31-45": {
508
- total: { type: Number },
509
- percentage: { type: String }
510
- },
511
- "46-60": {
512
- total: { type: Number },
513
- percentage: { type: String }
514
- },
515
- "61-75": {
516
- total: { type: Number },
517
- percentage: { type: String }
518
- },
519
- "76-90": {
520
- total: { type: Number },
521
- percentage: { type: String }
522
- },
523
- "91-105": {
524
- total: { type: Number },
525
- percentage: { type: String }
526
- },
527
- "106-120": {
528
- total: { type: Number },
529
- percentage: { type: String }
530
- }
531
- },
532
- under_over: {
533
- "0.5": {
534
- over: { type: Number },
535
- under: { type: Number }
536
- },
537
- "1.5": {
538
- over: { type: Number },
539
- under: { type: Number }
540
- },
541
- "2.5": {
542
- over: { type: Number },
543
- under: { type: Number }
544
- },
545
- "3.5": {
546
- over: { type: Number },
547
- under: { type: Number }
548
- },
549
- "4.5": {
550
- over: { type: Number },
551
- under: { type: Number }
552
- }
553
- }
554
- }
555
- },
556
- league: {
557
- id: { type: Number, required: true },
558
- name: { type: String, required: true },
559
- country: { type: String, required: true },
560
- logo: { type: String, required: true },
561
- flag: { type: String, required: true },
562
- season: { type: Number, required: true }
563
- },
564
- lineups: [
565
- {
566
- formation: { type: String },
567
- played: { type: Number }
568
- }
569
- ],
570
- penalty: {
571
- scored: {
572
- total: { type: Number },
573
- percentage: { type: String }
574
- },
575
- missed: {
576
- total: { type: Number },
577
- percentage: { type: String }
578
- },
579
- total: { type: Number }
580
- }
581
- },
582
- { timestamps: true }
583
- );
584
-
585
- // src/utils/apiFootball/data/index.ts
586
- var API_FOOTBALL_URL = `https://v3.football.api-sports.io`;
587
- var API_FOOTBALL_URL_LEAGUES = `${API_FOOTBALL_URL}/leagues`;
588
- var API_FOOTBALL_URL_TEAMS = `${API_FOOTBALL_URL}/teams`;
589
- var API_FOOTBALL_URL_FIXTURES = `${API_FOOTBALL_URL}/fixtures`;
590
- var API_FOOTBALL_URL_TEAM_STATS = `${API_FOOTBALL_URL}/teams/statistics`;
591
- var API_FOOTBALL_URL_ODDS = `${API_FOOTBALL_URL}/odds`;
592
- var API_FOOTBALL_URL_STANDINGS = `${API_FOOTBALL_URL}/standings`;
593
- var API_FOOTBALL_URL_PREDICTIONS = `${API_FOOTBALL_URL}/predictions`;
594
-
595
- // src/utils/numbers/toTwoDecimalPlaces.ts
596
- function toTwoDecimalPlaces(num) {
597
- return parseFloat(num.toFixed(2));
598
- }
599
-
600
- // src/utils/numbers/toPercent.ts
601
- function toPercent(value, total) {
602
- if (total === 0) {
603
- return 0;
604
- }
605
- return value * 100 / total;
606
- }
607
-
608
- // src/utils/numbers/getMeanModeMedian.ts
609
- var getMeanModeMedian = (numbers) => {
610
- if (numbers.length === 0) return { mean: 0, median: 0, mode: 0 };
611
- const mean = numbers.reduce((acc, val) => acc + val, 0) / numbers.length;
612
- const sortedNumbers = [...numbers].sort((a, b) => a - b);
613
- const mid = Math.floor(sortedNumbers.length / 2);
614
- const median = sortedNumbers.length % 2 !== 0 ? sortedNumbers[mid] : (sortedNumbers[mid - 1] + sortedNumbers[mid]) / 2;
615
- const frequency = {};
616
- let maxFreq = 0;
617
- let mode = numbers[0];
618
- numbers.forEach((num) => {
619
- frequency[num] = (frequency[num] || 0) + 1;
620
- if (frequency[num] > maxFreq) {
621
- maxFreq = frequency[num];
622
- mode = num;
623
- }
624
- });
625
- return { mean, median, mode };
626
- };
627
- // Annotate the CommonJS export names for ESM import in node:
628
- 0 && (module.exports = {
629
- API_FOOTBALL_URL_FIXTURES,
630
- API_FOOTBALL_URL_LEAGUES,
631
- API_FOOTBALL_URL_ODDS,
632
- API_FOOTBALL_URL_PREDICTIONS,
633
- API_FOOTBALL_URL_STANDINGS,
634
- API_FOOTBALL_URL_TEAMS,
635
- API_FOOTBALL_URL_TEAM_STATS,
636
- LEAGUE_ID_LIST,
637
- fixtureSchema,
638
- getMeanModeMedian,
639
- leagueSchema,
640
- teamSchema,
641
- teamStatSchema,
642
- toPercent,
643
- toTwoDecimalPlaces
644
- });
645
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
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];\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"]}