tenniscommon 1.0.1

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.
Files changed (207) hide show
  1. package/README.md +40 -0
  2. package/dist/cjs/common/general/generalInterfaces.d.ts +16 -0
  3. package/dist/cjs/common/general/generalInterfaces.js +2 -0
  4. package/dist/cjs/common/general/generalUtils.d.ts +88 -0
  5. package/dist/cjs/common/general/generalUtils.js +148 -0
  6. package/dist/cjs/common/general/index.d.ts +2 -0
  7. package/dist/cjs/common/general/index.js +18 -0
  8. package/dist/cjs/common/matchplay/index.d.ts +4 -0
  9. package/dist/cjs/common/matchplay/index.js +20 -0
  10. package/dist/cjs/common/matchplay/initialData.d.ts +3 -0
  11. package/dist/cjs/common/matchplay/initialData.js +65 -0
  12. package/dist/cjs/common/matchplay/initialStats.d.ts +7 -0
  13. package/dist/cjs/common/matchplay/initialStats.js +105 -0
  14. package/dist/cjs/common/matchplay/initialTotals.d.ts +4 -0
  15. package/dist/cjs/common/matchplay/initialTotals.js +72 -0
  16. package/dist/cjs/common/matchplay/interfaces.d.ts +184 -0
  17. package/dist/cjs/common/matchplay/interfaces.js +106 -0
  18. package/dist/cjs/common/matchplay/validation.d.ts +783 -0
  19. package/dist/cjs/common/matchplay/validation.js +108 -0
  20. package/dist/cjs/common/opponent/index.d.ts +3 -0
  21. package/dist/cjs/common/opponent/index.js +19 -0
  22. package/dist/cjs/common/opponent/initialData.d.ts +3 -0
  23. package/dist/cjs/common/opponent/initialData.js +25 -0
  24. package/dist/cjs/common/opponent/interfaces.d.ts +22 -0
  25. package/dist/cjs/common/opponent/interfaces.js +8 -0
  26. package/dist/cjs/common/opponent/validation.d.ts +23 -0
  27. package/dist/cjs/common/opponent/validation.js +13 -0
  28. package/dist/cjs/common/performance/index.d.ts +3 -0
  29. package/dist/cjs/common/performance/index.js +19 -0
  30. package/dist/cjs/common/performance/initialData.d.ts +2 -0
  31. package/dist/cjs/common/performance/initialData.js +13 -0
  32. package/dist/cjs/common/performance/interfaces.d.ts +68 -0
  33. package/dist/cjs/common/performance/interfaces.js +37 -0
  34. package/dist/cjs/common/performance/validation.d.ts +17 -0
  35. package/dist/cjs/common/performance/validation.js +11 -0
  36. package/dist/cjs/common/player/index.d.ts +3 -0
  37. package/dist/cjs/common/player/index.js +19 -0
  38. package/dist/cjs/common/player/initialData.d.ts +37 -0
  39. package/dist/cjs/common/player/initialData.js +60 -0
  40. package/dist/cjs/common/player/interfaces.d.ts +28 -0
  41. package/dist/cjs/common/player/interfaces.js +2 -0
  42. package/dist/cjs/common/player/validation.d.ts +204 -0
  43. package/dist/cjs/common/player/validation.js +38 -0
  44. package/dist/cjs/common/spending/index.d.ts +4 -0
  45. package/dist/cjs/common/spending/index.js +20 -0
  46. package/dist/cjs/common/spending/initialData.d.ts +2 -0
  47. package/dist/cjs/common/spending/initialData.js +15 -0
  48. package/dist/cjs/common/spending/initialStats.d.ts +2 -0
  49. package/dist/cjs/common/spending/initialStats.js +29 -0
  50. package/dist/cjs/common/spending/initialTotals.d.ts +2 -0
  51. package/dist/cjs/common/spending/initialTotals.js +29 -0
  52. package/dist/cjs/common/spending/interfaces.d.ts +61 -0
  53. package/dist/cjs/common/spending/interfaces.js +41 -0
  54. package/dist/cjs/common/spending/validation.d.ts +39 -0
  55. package/dist/cjs/common/spending/validation.js +22 -0
  56. package/dist/cjs/common/tournament/index.d.ts +3 -0
  57. package/dist/cjs/common/tournament/index.js +19 -0
  58. package/dist/cjs/common/tournament/initialData.d.ts +3 -0
  59. package/dist/cjs/common/tournament/initialData.js +27 -0
  60. package/dist/cjs/common/tournament/interfaces.d.ts +43 -0
  61. package/dist/cjs/common/tournament/interfaces.js +27 -0
  62. package/dist/cjs/common/tournament/validation.d.ts +49 -0
  63. package/dist/cjs/common/tournament/validation.js +25 -0
  64. package/dist/cjs/common/training/index.d.ts +4 -0
  65. package/dist/cjs/common/training/index.js +20 -0
  66. package/dist/cjs/common/training/initialData.d.ts +2 -0
  67. package/dist/cjs/common/training/initialData.js +14 -0
  68. package/dist/cjs/common/training/initialStats.d.ts +2 -0
  69. package/dist/cjs/common/training/initialStats.js +27 -0
  70. package/dist/cjs/common/training/initialTotals.d.ts +2 -0
  71. package/dist/cjs/common/training/initialTotals.js +27 -0
  72. package/dist/cjs/common/training/interfaces.d.ts +40 -0
  73. package/dist/cjs/common/training/interfaces.js +17 -0
  74. package/dist/cjs/common/training/validation.d.ts +20 -0
  75. package/dist/cjs/common/training/validation.js +11 -0
  76. package/dist/cjs/common/trainingWeekly/index.d.ts +3 -0
  77. package/dist/cjs/common/trainingWeekly/index.js +19 -0
  78. package/dist/cjs/common/trainingWeekly/initialData.d.ts +2 -0
  79. package/dist/cjs/common/trainingWeekly/initialData.js +17 -0
  80. package/dist/cjs/common/trainingWeekly/interfaces.d.ts +12 -0
  81. package/dist/cjs/common/trainingWeekly/interfaces.js +2 -0
  82. package/dist/cjs/common/trainingWeekly/validation.d.ts +23 -0
  83. package/dist/cjs/common/trainingWeekly/validation.js +12 -0
  84. package/dist/esm/common/general/generalInterfaces.d.ts +16 -0
  85. package/dist/esm/common/general/generalInterfaces.js +1 -0
  86. package/dist/esm/common/general/generalUtils.d.ts +88 -0
  87. package/dist/esm/common/general/generalUtils.js +133 -0
  88. package/dist/esm/common/general/index.d.ts +2 -0
  89. package/dist/esm/common/general/index.js +2 -0
  90. package/dist/esm/common/matchplay/index.d.ts +4 -0
  91. package/dist/esm/common/matchplay/index.js +4 -0
  92. package/dist/esm/common/matchplay/initialData.d.ts +3 -0
  93. package/dist/esm/common/matchplay/initialData.js +61 -0
  94. package/dist/esm/common/matchplay/initialStats.d.ts +7 -0
  95. package/dist/esm/common/matchplay/initialStats.js +96 -0
  96. package/dist/esm/common/matchplay/initialTotals.d.ts +4 -0
  97. package/dist/esm/common/matchplay/initialTotals.js +66 -0
  98. package/dist/esm/common/matchplay/interfaces.d.ts +184 -0
  99. package/dist/esm/common/matchplay/interfaces.js +103 -0
  100. package/dist/esm/common/matchplay/validation.d.ts +783 -0
  101. package/dist/esm/common/matchplay/validation.js +105 -0
  102. package/dist/esm/common/opponent/index.d.ts +3 -0
  103. package/dist/esm/common/opponent/index.js +3 -0
  104. package/dist/esm/common/opponent/initialData.d.ts +3 -0
  105. package/dist/esm/common/opponent/initialData.js +21 -0
  106. package/dist/esm/common/opponent/interfaces.d.ts +22 -0
  107. package/dist/esm/common/opponent/interfaces.js +5 -0
  108. package/dist/esm/common/opponent/validation.d.ts +23 -0
  109. package/dist/esm/common/opponent/validation.js +10 -0
  110. package/dist/esm/common/performance/index.d.ts +3 -0
  111. package/dist/esm/common/performance/index.js +3 -0
  112. package/dist/esm/common/performance/initialData.d.ts +2 -0
  113. package/dist/esm/common/performance/initialData.js +10 -0
  114. package/dist/esm/common/performance/interfaces.d.ts +68 -0
  115. package/dist/esm/common/performance/interfaces.js +34 -0
  116. package/dist/esm/common/performance/validation.d.ts +17 -0
  117. package/dist/esm/common/performance/validation.js +8 -0
  118. package/dist/esm/common/player/index.d.ts +3 -0
  119. package/dist/esm/common/player/index.js +3 -0
  120. package/dist/esm/common/player/initialData.d.ts +37 -0
  121. package/dist/esm/common/player/initialData.js +55 -0
  122. package/dist/esm/common/player/interfaces.d.ts +28 -0
  123. package/dist/esm/common/player/interfaces.js +1 -0
  124. package/dist/esm/common/player/validation.d.ts +204 -0
  125. package/dist/esm/common/player/validation.js +35 -0
  126. package/dist/esm/common/spending/index.d.ts +4 -0
  127. package/dist/esm/common/spending/index.js +4 -0
  128. package/dist/esm/common/spending/initialData.d.ts +2 -0
  129. package/dist/esm/common/spending/initialData.js +12 -0
  130. package/dist/esm/common/spending/initialStats.d.ts +2 -0
  131. package/dist/esm/common/spending/initialStats.js +25 -0
  132. package/dist/esm/common/spending/initialTotals.d.ts +2 -0
  133. package/dist/esm/common/spending/initialTotals.js +25 -0
  134. package/dist/esm/common/spending/interfaces.d.ts +61 -0
  135. package/dist/esm/common/spending/interfaces.js +37 -0
  136. package/dist/esm/common/spending/validation.d.ts +39 -0
  137. package/dist/esm/common/spending/validation.js +19 -0
  138. package/dist/esm/common/tournament/index.d.ts +3 -0
  139. package/dist/esm/common/tournament/index.js +3 -0
  140. package/dist/esm/common/tournament/initialData.d.ts +3 -0
  141. package/dist/esm/common/tournament/initialData.js +23 -0
  142. package/dist/esm/common/tournament/interfaces.d.ts +43 -0
  143. package/dist/esm/common/tournament/interfaces.js +24 -0
  144. package/dist/esm/common/tournament/validation.d.ts +49 -0
  145. package/dist/esm/common/tournament/validation.js +22 -0
  146. package/dist/esm/common/training/index.d.ts +4 -0
  147. package/dist/esm/common/training/index.js +4 -0
  148. package/dist/esm/common/training/initialData.d.ts +2 -0
  149. package/dist/esm/common/training/initialData.js +11 -0
  150. package/dist/esm/common/training/initialStats.d.ts +2 -0
  151. package/dist/esm/common/training/initialStats.js +23 -0
  152. package/dist/esm/common/training/initialTotals.d.ts +2 -0
  153. package/dist/esm/common/training/initialTotals.js +23 -0
  154. package/dist/esm/common/training/interfaces.d.ts +40 -0
  155. package/dist/esm/common/training/interfaces.js +14 -0
  156. package/dist/esm/common/training/validation.d.ts +20 -0
  157. package/dist/esm/common/training/validation.js +8 -0
  158. package/dist/esm/common/trainingWeekly/index.d.ts +3 -0
  159. package/dist/esm/common/trainingWeekly/index.js +3 -0
  160. package/dist/esm/common/trainingWeekly/initialData.d.ts +2 -0
  161. package/dist/esm/common/trainingWeekly/initialData.js +14 -0
  162. package/dist/esm/common/trainingWeekly/interfaces.d.ts +12 -0
  163. package/dist/esm/common/trainingWeekly/interfaces.js +1 -0
  164. package/dist/esm/common/trainingWeekly/validation.d.ts +23 -0
  165. package/dist/esm/common/trainingWeekly/validation.js +9 -0
  166. package/dist/types/common/general/generalInterfaces.d.ts +16 -0
  167. package/dist/types/common/general/generalUtils.d.ts +88 -0
  168. package/dist/types/common/general/index.d.ts +2 -0
  169. package/dist/types/common/matchplay/index.d.ts +4 -0
  170. package/dist/types/common/matchplay/initialData.d.ts +3 -0
  171. package/dist/types/common/matchplay/initialStats.d.ts +7 -0
  172. package/dist/types/common/matchplay/initialTotals.d.ts +4 -0
  173. package/dist/types/common/matchplay/interfaces.d.ts +184 -0
  174. package/dist/types/common/matchplay/validation.d.ts +783 -0
  175. package/dist/types/common/opponent/index.d.ts +3 -0
  176. package/dist/types/common/opponent/initialData.d.ts +3 -0
  177. package/dist/types/common/opponent/interfaces.d.ts +22 -0
  178. package/dist/types/common/opponent/validation.d.ts +23 -0
  179. package/dist/types/common/performance/index.d.ts +3 -0
  180. package/dist/types/common/performance/initialData.d.ts +2 -0
  181. package/dist/types/common/performance/interfaces.d.ts +68 -0
  182. package/dist/types/common/performance/validation.d.ts +17 -0
  183. package/dist/types/common/player/index.d.ts +3 -0
  184. package/dist/types/common/player/initialData.d.ts +37 -0
  185. package/dist/types/common/player/interfaces.d.ts +28 -0
  186. package/dist/types/common/player/validation.d.ts +204 -0
  187. package/dist/types/common/spending/index.d.ts +4 -0
  188. package/dist/types/common/spending/initialData.d.ts +2 -0
  189. package/dist/types/common/spending/initialStats.d.ts +2 -0
  190. package/dist/types/common/spending/initialTotals.d.ts +2 -0
  191. package/dist/types/common/spending/interfaces.d.ts +61 -0
  192. package/dist/types/common/spending/validation.d.ts +39 -0
  193. package/dist/types/common/tournament/index.d.ts +3 -0
  194. package/dist/types/common/tournament/initialData.d.ts +3 -0
  195. package/dist/types/common/tournament/interfaces.d.ts +43 -0
  196. package/dist/types/common/tournament/validation.d.ts +49 -0
  197. package/dist/types/common/training/index.d.ts +4 -0
  198. package/dist/types/common/training/initialData.d.ts +2 -0
  199. package/dist/types/common/training/initialStats.d.ts +2 -0
  200. package/dist/types/common/training/initialTotals.d.ts +2 -0
  201. package/dist/types/common/training/interfaces.d.ts +40 -0
  202. package/dist/types/common/training/validation.d.ts +20 -0
  203. package/dist/types/common/trainingWeekly/index.d.ts +3 -0
  204. package/dist/types/common/trainingWeekly/initialData.d.ts +2 -0
  205. package/dist/types/common/trainingWeekly/interfaces.d.ts +12 -0
  206. package/dist/types/common/trainingWeekly/validation.d.ts +23 -0
  207. package/package.json +95 -0
package/README.md ADDED
@@ -0,0 +1,40 @@
1
+ # Project Name
2
+
3
+ Tennis Types for my project
4
+
5
+ ## Table of Contents
6
+
7
+ - [Installation](#installation)
8
+ - [Usage](#usage)
9
+ - [Contributing](#contributing)
10
+ - [License](#license)
11
+
12
+ ## Installation
13
+
14
+ To install the dependencies, run:
15
+
16
+ ```sh
17
+ npm install
18
+ ```
19
+
20
+ ## Usage
21
+
22
+ Provide instructions and examples for using your project. Here’s an example:
23
+
24
+ ```sh
25
+ node your-script.js
26
+ ```
27
+
28
+ ```javascript
29
+ const yourPackage = require('your-package-name');
30
+
31
+ // Your code here
32
+ ```
33
+
34
+ ## Contributing
35
+
36
+ Feel free to contribute by submitting a pull request. Please make sure to update tests as appropriate.
37
+
38
+ ## License
39
+
40
+ This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
@@ -0,0 +1,16 @@
1
+ import { ZodIssue } from 'zod';
2
+ export interface FetchOptions extends RequestInit {
3
+ headers?: HeadersInit;
4
+ }
5
+ export interface FetchResponse<T, E = ZodIssue[]> {
6
+ ok: boolean;
7
+ status: number;
8
+ message: string;
9
+ body: T;
10
+ errors?: E;
11
+ }
12
+ export interface DeleteResponse {
13
+ message: string;
14
+ }
15
+ export type FilterOption<T> = T | 'all';
16
+ export type ValueOf<T> = T[keyof T];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,88 @@
1
+ import { PlayerConfig } from '../player';
2
+ import { ValueOf } from './generalInterfaces';
3
+ export declare const COMMONS: {
4
+ readonly WEEKDAY: {
5
+ readonly Monday: "Monday";
6
+ readonly Tuesday: "Tuesday";
7
+ readonly Wednesday: "Wednesday";
8
+ readonly Thursday: "Thursday";
9
+ readonly Friday: "Friday";
10
+ readonly Saturday: "Saturday";
11
+ readonly Sunday: "Sunday";
12
+ };
13
+ readonly MONTH: {
14
+ readonly January: "January";
15
+ readonly February: "February";
16
+ readonly March: "March";
17
+ readonly April: "April";
18
+ readonly May: "May";
19
+ readonly June: "June";
20
+ readonly July: "July";
21
+ readonly August: "August";
22
+ readonly September: "September";
23
+ readonly October: "October";
24
+ readonly November: "November";
25
+ readonly December: "December";
26
+ };
27
+ readonly BOOLEAN: {
28
+ readonly Yes: "Yes";
29
+ readonly No: "No";
30
+ };
31
+ };
32
+ export type keyValuePair = {
33
+ id: string;
34
+ name: string;
35
+ };
36
+ export type WEEKDAY_UNION = ValueOf<typeof COMMONS.WEEKDAY>;
37
+ export type MONTH_UNION = ValueOf<typeof COMMONS.MONTH>;
38
+ export type BOOLEAN_UNION = ValueOf<typeof COMMONS.BOOLEAN>;
39
+ export declare const COMMONS_ARRAYS: {
40
+ WEEKDAY: WEEKDAY_UNION[];
41
+ MONTH: MONTH_UNION[];
42
+ BOOLEAN: BOOLEAN_UNION[];
43
+ };
44
+ export declare const COLLECTION: {
45
+ readonly matchplaySingles: "matchplaySingles";
46
+ readonly matchplayDoubles: "matchplayDoubles";
47
+ readonly opponent: "opponent";
48
+ readonly performance: "performance";
49
+ readonly player: "player";
50
+ readonly spending: "spending";
51
+ readonly trainingWeekly: "trainingWeekly";
52
+ readonly training: "training";
53
+ readonly tournament: "tournament";
54
+ };
55
+ export declare const CurrentMonth: string;
56
+ export declare const CurrentYearMinus12: number;
57
+ export declare const getMonthNameByOffset: (offset: number) => string;
58
+ export declare function getCurrentYear(date?: Date): number;
59
+ export declare const getCurrentMonthNumber: (date?: Date) => number;
60
+ export declare const getMonthByName: (date?: string) => string;
61
+ export declare const getCurrentDateInDDMMYYYY: (date: Date) => string;
62
+ export declare const getAgeGroup: (birthYear: number) => string;
63
+ type KeyValue<T extends string, U extends string> = {
64
+ [key in T]: string;
65
+ } & {
66
+ [value in U]: number;
67
+ };
68
+ export declare const convertJsonToArray: <T extends string, U extends string>(json: {
69
+ [s: string]: number;
70
+ }, objectName: T, objectValue: U) => KeyValue<T, U>[];
71
+ export declare const normalizeKey: (key: string) => string;
72
+ type KeyValueWithTwoNumbers<T extends string, U extends string, V extends string> = {
73
+ [key in T]: string;
74
+ } & {
75
+ [key in U]: number;
76
+ } & {
77
+ [key in V]: number;
78
+ };
79
+ export declare const convertJsonToArrayWithTwoNumbers: <T extends string, U extends string, V extends string>(json: {
80
+ [s: string]: {
81
+ singles: number;
82
+ doubles: number;
83
+ };
84
+ }, objectName: T, singlesKey: U, doublesKey: V) => KeyValueWithTwoNumbers<T, U, V>[];
85
+ export declare function convertToDate(dateInput: string | Date): Date;
86
+ export declare function configDate(playerConfig: PlayerConfig): Date;
87
+ export declare function isValidPassword(password: string): boolean;
88
+ export {};
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ //Common functions
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.convertJsonToArrayWithTwoNumbers = exports.normalizeKey = exports.convertJsonToArray = exports.getAgeGroup = exports.getCurrentDateInDDMMYYYY = exports.getMonthByName = exports.getCurrentMonthNumber = exports.getMonthNameByOffset = exports.CurrentYearMinus12 = exports.CurrentMonth = exports.COLLECTION = exports.COMMONS_ARRAYS = exports.COMMONS = void 0;
5
+ exports.getCurrentYear = getCurrentYear;
6
+ exports.convertToDate = convertToDate;
7
+ exports.configDate = configDate;
8
+ exports.isValidPassword = isValidPassword;
9
+ exports.COMMONS = {
10
+ WEEKDAY: {
11
+ Monday: 'Monday',
12
+ Tuesday: 'Tuesday',
13
+ Wednesday: 'Wednesday',
14
+ Thursday: 'Thursday',
15
+ Friday: 'Friday',
16
+ Saturday: 'Saturday',
17
+ Sunday: 'Sunday',
18
+ },
19
+ MONTH: {
20
+ January: 'January',
21
+ February: 'February',
22
+ March: 'March',
23
+ April: 'April',
24
+ May: 'May',
25
+ June: 'June',
26
+ July: 'July',
27
+ August: 'August',
28
+ September: 'September',
29
+ October: 'October',
30
+ November: 'November',
31
+ December: 'December',
32
+ },
33
+ BOOLEAN: {
34
+ Yes: 'Yes',
35
+ No: 'No',
36
+ },
37
+ };
38
+ exports.COMMONS_ARRAYS = {
39
+ WEEKDAY: Object.values(exports.COMMONS.WEEKDAY),
40
+ MONTH: Object.values(exports.COMMONS.MONTH),
41
+ BOOLEAN: Object.values(exports.COMMONS.BOOLEAN),
42
+ };
43
+ exports.COLLECTION = {
44
+ matchplaySingles: "matchplaySingles",
45
+ matchplayDoubles: "matchplayDoubles",
46
+ opponent: "opponent",
47
+ performance: "performance",
48
+ player: "player",
49
+ spending: "spending",
50
+ trainingWeekly: "trainingWeekly",
51
+ training: "training",
52
+ tournament: "tournament",
53
+ };
54
+ exports.CurrentMonth = new Date().toLocaleString('default', { month: 'long' });
55
+ exports.CurrentYearMinus12 = new Date().getFullYear() - 12;
56
+ const getMonthNameByOffset = (offset) => {
57
+ // Get the current date
58
+ const date = new Date();
59
+ // Set the date to the target month, accounting for the offset
60
+ date.setMonth(date.getMonth() - offset);
61
+ // Return the name of the target month
62
+ return date.toLocaleString('default', { month: 'long' });
63
+ };
64
+ exports.getMonthNameByOffset = getMonthNameByOffset;
65
+ function getCurrentYear(date) {
66
+ const currentDate = date ? date : new Date();
67
+ return currentDate.getFullYear();
68
+ }
69
+ const getCurrentMonthNumber = (date) => {
70
+ const currentDate = date ? date : new Date();
71
+ return currentDate.getMonth() + 1;
72
+ };
73
+ exports.getCurrentMonthNumber = getCurrentMonthNumber;
74
+ const getMonthByName = (date) => {
75
+ const currentDate = date ? new Date(date) : new Date();
76
+ return exports.COMMONS_ARRAYS.MONTH[currentDate.getMonth()];
77
+ };
78
+ exports.getMonthByName = getMonthByName;
79
+ const getCurrentDateInDDMMYYYY = (date) => {
80
+ const day = String(date.getDate()).padStart(2, '0');
81
+ const month = String(date.getMonth() + 1).padStart(2, '0'); // Months are zero-based
82
+ const year = date.getFullYear();
83
+ return `${day}/${month}/${year}`;
84
+ };
85
+ exports.getCurrentDateInDDMMYYYY = getCurrentDateInDDMMYYYY;
86
+ const getAgeGroup = (birthYear) => {
87
+ const currentYear = new Date().getFullYear();
88
+ const age = currentYear - birthYear;
89
+ if (age < 11) {
90
+ return `Under ${11}`;
91
+ }
92
+ else if (age >= 11 && age < 18) {
93
+ return `Under ${age}`;
94
+ }
95
+ else {
96
+ return 'Adult';
97
+ }
98
+ };
99
+ exports.getAgeGroup = getAgeGroup;
100
+ const convertJsonToArray = (json, objectName, objectValue) => {
101
+ return Object.entries(json).map(([key, value]) => ({
102
+ [objectName]: key,
103
+ [objectValue]: value,
104
+ }));
105
+ };
106
+ exports.convertJsonToArray = convertJsonToArray;
107
+ const normalizeKey = (key) => {
108
+ return key.toLowerCase().replace(/\s+/g, '-'); // Replace spaces with dashes
109
+ };
110
+ exports.normalizeKey = normalizeKey;
111
+ const convertJsonToArrayWithTwoNumbers = (json, objectName, singlesKey, doublesKey) => {
112
+ return Object.entries(json).map(([key, value]) => ({
113
+ [objectName]: key,
114
+ [singlesKey]: value.singles,
115
+ [doublesKey]: value.doubles,
116
+ }));
117
+ };
118
+ exports.convertJsonToArrayWithTwoNumbers = convertJsonToArrayWithTwoNumbers;
119
+ function convertToDate(dateInput) {
120
+ const parsedDate = new Date(dateInput);
121
+ // Fallback to the current date if the parsed date is invalid
122
+ if (isNaN(parsedDate.getTime())) {
123
+ console.warn("Invalid date input, returning current date.");
124
+ return new Date();
125
+ }
126
+ return parsedDate;
127
+ }
128
+ function configDate(playerConfig) {
129
+ let parsedDate = new Date();
130
+ if (playerConfig.calendarUseToday === exports.COMMONS.BOOLEAN.No) {
131
+ parsedDate = new Date(playerConfig.calendarDefaultDate);
132
+ //Fallback to the current date if the parsed date is invalid
133
+ if (isNaN(parsedDate.getTime())) {
134
+ console.warn("Invalid date input, returning current date.");
135
+ return new Date();
136
+ }
137
+ }
138
+ return parsedDate;
139
+ }
140
+ function isValidPassword(password) {
141
+ const minLength = 8;
142
+ //const hasUpperCase = /[A-Z]/.test(password);
143
+ const hasLowerCase = /[a-z]/.test(password);
144
+ //const hasDigit = /\d/.test(password);
145
+ //const hasSpecialChar = /[\W_]/.test(password); // including symbols and underscores
146
+ return password.length >= minLength && hasLowerCase;
147
+ //return password.length >= minLength && hasUpperCase && hasLowerCase && hasDigit && hasSpecialChar;
148
+ }
@@ -0,0 +1,2 @@
1
+ export * from './generalInterfaces';
2
+ export * from './generalUtils';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./generalInterfaces"), exports);
18
+ __exportStar(require("./generalUtils"), exports);
@@ -0,0 +1,4 @@
1
+ export * from './interfaces';
2
+ export * from './initialData';
3
+ export * from './initialStats';
4
+ export * from './validation';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./interfaces"), exports);
18
+ __exportStar(require("./initialData"), exports);
19
+ __exportStar(require("./initialStats"), exports);
20
+ __exportStar(require("./validation"), exports);
@@ -0,0 +1,3 @@
1
+ import { MatchplayItem } from './interfaces';
2
+ export declare function createInitialMatchplaySinglesItem(playerId: string, date: Date): MatchplayItem;
3
+ export declare function createInitialMatchplayDoublesItem(playerId: string, date: Date): MatchplayItem;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createInitialMatchplaySinglesItem = createInitialMatchplaySinglesItem;
4
+ exports.createInitialMatchplayDoublesItem = createInitialMatchplayDoublesItem;
5
+ const interfaces_1 = require("./interfaces");
6
+ function createInitialMatchplaySinglesItem(playerId, date) {
7
+ return {
8
+ _id: '',
9
+ playerId: playerId,
10
+ date: date,
11
+ tournamentId: '',
12
+ tournamentYearId: '',
13
+ matchFormat: interfaces_1.MATCH.FORMAT.Singles,
14
+ matchAgeGroup: interfaces_1.MATCH.AGE_GROUP.U14,
15
+ matchRound: interfaces_1.MATCH.ROUND.QF,
16
+ matchSurface: interfaces_1.MATCH.SURFACE.Hard,
17
+ matchLocation: interfaces_1.MATCH.LOCATION.Indoor,
18
+ matchSetFormat: interfaces_1.MATCH.SET_FORMAT.Full,
19
+ matchResult: interfaces_1.MATCH.RESULT.Win,
20
+ partnerId: undefined,
21
+ opponentId: '',
22
+ opponentIdTwo: undefined,
23
+ firstSetWon: interfaces_1.MATCH.WINNER.Player,
24
+ secondSetWon: interfaces_1.MATCH.WINNER.Player,
25
+ decidingSetFormat: undefined,
26
+ decidingSetWon: undefined,
27
+ firstSet: '',
28
+ firstSetTieBreak: undefined,
29
+ secondSet: '',
30
+ secondSetTieBreak: undefined,
31
+ decidingSet: undefined,
32
+ decidingSetTieBreak: undefined,
33
+ comment: '',
34
+ };
35
+ }
36
+ function createInitialMatchplayDoublesItem(playerId, date) {
37
+ return {
38
+ _id: '',
39
+ playerId: playerId,
40
+ date: date,
41
+ tournamentId: '',
42
+ tournamentYearId: '',
43
+ matchFormat: interfaces_1.MATCH.FORMAT.Doubles,
44
+ matchAgeGroup: interfaces_1.MATCH.AGE_GROUP.U14,
45
+ matchRound: interfaces_1.MATCH.ROUND.QF,
46
+ matchSurface: interfaces_1.MATCH.SURFACE.Hard,
47
+ matchLocation: interfaces_1.MATCH.LOCATION.Indoor,
48
+ matchSetFormat: interfaces_1.MATCH.SET_FORMAT.Full,
49
+ matchResult: interfaces_1.MATCH.RESULT.Win,
50
+ partnerId: '',
51
+ opponentId: '',
52
+ opponentIdTwo: '',
53
+ firstSetWon: interfaces_1.MATCH.WINNER.Player,
54
+ secondSetWon: interfaces_1.MATCH.WINNER.Player,
55
+ decidingSetFormat: undefined,
56
+ decidingSetWon: undefined,
57
+ firstSet: '',
58
+ firstSetTieBreak: undefined,
59
+ secondSet: '',
60
+ secondSetTieBreak: undefined,
61
+ decidingSet: undefined,
62
+ decidingSetTieBreak: undefined,
63
+ comment: '',
64
+ };
65
+ }
@@ -0,0 +1,7 @@
1
+ import { MatchplayStats, EnhancedStatsPack, MatchStats, BasicStatsPack, SpecificStats, StatsPack } from './interfaces';
2
+ export declare const createMatchplayStats: () => MatchplayStats;
3
+ export declare const createStatsPack: () => StatsPack;
4
+ export declare const createBasicStatsPack: () => BasicStatsPack;
5
+ export declare const createEnhancedStatsPack: () => EnhancedStatsPack;
6
+ export declare const createMatchStats: () => MatchStats;
7
+ export declare const createSpecificStats: () => SpecificStats;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSpecificStats = exports.createMatchStats = exports.createEnhancedStatsPack = exports.createBasicStatsPack = exports.createStatsPack = exports.createMatchplayStats = void 0;
4
+ const interfaces_1 = require("./interfaces");
5
+ const createMatchplayStats = () => {
6
+ return {
7
+ Career: (0, exports.createStatsPack)(),
8
+ CareerSingles: (0, exports.createStatsPack)(),
9
+ CareerDoubles: (0, exports.createStatsPack)(),
10
+ combinedMatchesPerMonth: {},
11
+ };
12
+ };
13
+ exports.createMatchplayStats = createMatchplayStats;
14
+ const createStatsPack = () => {
15
+ const statsPack = {
16
+ basicStatsPack: (0, exports.createBasicStatsPack)(),
17
+ enhancedStatsPack: (0, exports.createEnhancedStatsPack)(),
18
+ };
19
+ return statsPack;
20
+ };
21
+ exports.createStatsPack = createStatsPack;
22
+ const createBasicStatsPack = () => {
23
+ const basicStatsPack = {
24
+ overall: (0, exports.createMatchStats)(),
25
+ firstSet: (0, exports.createSpecificStats)(),
26
+ firstSetTieBreak: (0, exports.createSpecificStats)(),
27
+ secondSet: (0, exports.createSpecificStats)(),
28
+ secondSetTieBreak: (0, exports.createSpecificStats)(),
29
+ firstAndSecondSets: (0, exports.createSpecificStats)(),
30
+ firstAndSecondSetTieBreaks: (0, exports.createSpecificStats)(),
31
+ decidingSet: (0, exports.createSpecificStats)(),
32
+ decidingSetTieBreak: (0, exports.createSpecificStats)(),
33
+ champTieBreak: (0, exports.createSpecificStats)(),
34
+ secondSetWinAfterFirstSetLoss: (0, exports.createSpecificStats)(),
35
+ games: (0, exports.createSpecificStats)(),
36
+ };
37
+ return basicStatsPack;
38
+ };
39
+ exports.createBasicStatsPack = createBasicStatsPack;
40
+ const createEnhancedStatsPack = () => {
41
+ const matchStatsPack = {
42
+ matchStats_ByFormat: {},
43
+ matchStats_ByAgeGroup: {},
44
+ matchStats_ByRound: {},
45
+ matchStats_BySurface: {},
46
+ matchStats_ByLocation: {},
47
+ matchStats_BySetFormat: {},
48
+ matchStats_ByFirstSetWin: (0, exports.createMatchStats)(),
49
+ matchStats_ByFirstSetLost: (0, exports.createMatchStats)(),
50
+ matchStats_ByFirstSetTiebreak: (0, exports.createMatchStats)(),
51
+ matchStats_BySecondSetWin: (0, exports.createMatchStats)(),
52
+ matchStats_BySecondSetLost: (0, exports.createMatchStats)(),
53
+ matchStats_BySecondSetTiebreak: (0, exports.createMatchStats)(),
54
+ matchStats_ByGoingToDecidingSet: (0, exports.createMatchStats)(),
55
+ matchStats_ByDecidingSetFormat: {},
56
+ matchStats_ByDecidingSetWin: (0, exports.createMatchStats)(),
57
+ matchStats_ByDecidingSetLost: (0, exports.createMatchStats)(),
58
+ };
59
+ // Initializing byFormat
60
+ interfaces_1.MATCH_ARRAYS.FORMAT.forEach(key => {
61
+ matchStatsPack.matchStats_ByFormat[key] = (0, exports.createMatchStats)();
62
+ });
63
+ // Initializing byAgeGroup
64
+ interfaces_1.MATCH_ARRAYS.AGE_GROUP.forEach(key => {
65
+ matchStatsPack.matchStats_ByAgeGroup[key] = (0, exports.createMatchStats)();
66
+ });
67
+ // Initializing byRound
68
+ interfaces_1.MATCH_ARRAYS.ROUND.forEach(key => {
69
+ matchStatsPack.matchStats_ByRound[key] = (0, exports.createMatchStats)();
70
+ });
71
+ // Initializing bySurface
72
+ interfaces_1.MATCH_ARRAYS.SURFACE.forEach(key => {
73
+ matchStatsPack.matchStats_BySurface[key] = (0, exports.createMatchStats)();
74
+ });
75
+ // Initializing byLocation
76
+ interfaces_1.MATCH_ARRAYS.LOCATION.forEach(key => {
77
+ matchStatsPack.matchStats_ByLocation[key] = (0, exports.createMatchStats)();
78
+ });
79
+ // Initializing bySetFormat
80
+ interfaces_1.MATCH_ARRAYS.SET_FORMAT.forEach(key => {
81
+ matchStatsPack.matchStats_BySetFormat[key] = (0, exports.createMatchStats)();
82
+ });
83
+ // Initializing byDecidingSetFormat
84
+ interfaces_1.MATCH_ARRAYS.DECIDING_SET_FORMAT.forEach(key => {
85
+ matchStatsPack.matchStats_ByDecidingSetFormat[key] = (0, exports.createMatchStats)();
86
+ });
87
+ return matchStatsPack;
88
+ };
89
+ exports.createEnhancedStatsPack = createEnhancedStatsPack;
90
+ const createMatchStats = () => ({
91
+ matches: 0,
92
+ won: 0,
93
+ lost: 0,
94
+ wonPercentage: 0,
95
+ lostPercentage: 0,
96
+ });
97
+ exports.createMatchStats = createMatchStats;
98
+ const createSpecificStats = () => ({
99
+ total: 0,
100
+ won: 0,
101
+ lost: 0,
102
+ wonPercentage: 0,
103
+ lostPercentage: 0,
104
+ });
105
+ exports.createSpecificStats = createSpecificStats;
@@ -0,0 +1,4 @@
1
+ import { ByType, MatchplayTotals, MatchStats } from './interfaces';
2
+ export declare const createDefaultMatchplayTotals: () => MatchplayTotals;
3
+ export declare const createDefaultByType: () => ByType;
4
+ export declare const createDefaultMatchStats: () => MatchStats;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDefaultMatchStats = exports.createDefaultByType = exports.createDefaultMatchplayTotals = void 0;
4
+ const interfaces_1 = require("./interfaces");
5
+ const createDefaultMatchplayTotals = () => {
6
+ return {
7
+ Career: (0, exports.createDefaultByType)(),
8
+ CareerSingles: (0, exports.createDefaultByType)(),
9
+ CareerDoubles: (0, exports.createDefaultByType)(),
10
+ singlesMatchesPerMonth: {},
11
+ doublesMatchesPerMonth: {},
12
+ matchesPerMonth: {},
13
+ };
14
+ };
15
+ exports.createDefaultMatchplayTotals = createDefaultMatchplayTotals;
16
+ const createDefaultByType = () => {
17
+ const byType = {
18
+ overall: (0, exports.createDefaultMatchStats)(),
19
+ byFormat: {},
20
+ byAgeGroup: {},
21
+ byRound: {},
22
+ bySurface: {},
23
+ byLocation: {},
24
+ bySetFormat: {},
25
+ byThirdSetFormat: {},
26
+ byGoingToThirdSet: (0, exports.createDefaultMatchStats)(),
27
+ byFirstSetLost: (0, exports.createDefaultMatchStats)(),
28
+ byFirstSetWin: (0, exports.createDefaultMatchStats)(),
29
+ byFirstSetTiebreak: (0, exports.createDefaultMatchStats)(),
30
+ bySecondSetTiebreak: (0, exports.createDefaultMatchStats)(),
31
+ justFirstSetTiebreaks: (0, exports.createDefaultMatchStats)(),
32
+ justSecondSetTiebreaks: (0, exports.createDefaultMatchStats)(),
33
+ };
34
+ // Initializing byFormat
35
+ interfaces_1.MATCH_ARRAYS.FORMAT.forEach(key => {
36
+ byType.byFormat[key] = (0, exports.createDefaultMatchStats)();
37
+ });
38
+ // Initializing byAgeGroup
39
+ interfaces_1.MATCH_ARRAYS.AGE_GROUP.forEach(key => {
40
+ byType.byAgeGroup[key] = (0, exports.createDefaultMatchStats)();
41
+ });
42
+ // Initializing byRound
43
+ interfaces_1.MATCH_ARRAYS.ROUND.forEach(key => {
44
+ byType.byRound[key] = (0, exports.createDefaultMatchStats)();
45
+ });
46
+ // Initializing bySurface
47
+ interfaces_1.MATCH_ARRAYS.SURFACE.forEach(key => {
48
+ byType.bySurface[key] = (0, exports.createDefaultMatchStats)();
49
+ });
50
+ // Initializing byLocation
51
+ interfaces_1.MATCH_ARRAYS.LOCATION.forEach(key => {
52
+ byType.byLocation[key] = (0, exports.createDefaultMatchStats)();
53
+ });
54
+ // Initializing bySetFormat
55
+ interfaces_1.MATCH_ARRAYS.SET_FORMAT.forEach(key => {
56
+ byType.bySetFormat[key] = (0, exports.createDefaultMatchStats)();
57
+ });
58
+ // Initializing byThirdSetFormat
59
+ interfaces_1.MATCH_ARRAYS.TIEBREAK.forEach(key => {
60
+ byType.byThirdSetFormat[key] = (0, exports.createDefaultMatchStats)();
61
+ });
62
+ return byType;
63
+ };
64
+ exports.createDefaultByType = createDefaultByType;
65
+ const createDefaultMatchStats = () => ({
66
+ matches: 0,
67
+ won: 0,
68
+ lost: 0,
69
+ wonPercentage: 0,
70
+ lostPercentage: 0,
71
+ });
72
+ exports.createDefaultMatchStats = createDefaultMatchStats;