@intelact/driveup 1.4.37 → 1.4.39

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 (190) hide show
  1. package/lib/agent/client.model.d.ts +1 -0
  2. package/lib/agent/client.model.js +1 -0
  3. package/lib/agent/client.model.js.map +1 -1
  4. package/lib/agent/code.model.d.ts +4 -0
  5. package/lib/agent/code.model.js +4 -0
  6. package/lib/agent/code.model.js.map +1 -1
  7. package/lib/agent/earning.type.d.ts +2 -0
  8. package/lib/alert/alert.model.d.ts +1 -0
  9. package/lib/alert/alert.model.js +1 -0
  10. package/lib/alert/alert.model.js.map +1 -1
  11. package/lib/bill/bill-item.model.d.ts +19 -0
  12. package/lib/bill/bill-item.model.js +19 -0
  13. package/lib/bill/bill-item.model.js.map +1 -1
  14. package/lib/bill/bill.model.d.ts +15 -0
  15. package/lib/bill/bill.model.js +15 -0
  16. package/lib/bill/bill.model.js.map +1 -1
  17. package/lib/bill/bill.status.js +3 -0
  18. package/lib/bill/bill.status.js.map +1 -1
  19. package/lib/calendar/appointment.d.ts +40 -0
  20. package/lib/calendar/appointment.js +40 -0
  21. package/lib/calendar/appointment.js.map +1 -1
  22. package/lib/calendar/date.d.ts +7 -0
  23. package/lib/calendar/date.js +7 -0
  24. package/lib/calendar/date.js.map +1 -1
  25. package/lib/calendar/holiday.d.ts +3 -0
  26. package/lib/calendar/holiday.js +3 -0
  27. package/lib/calendar/holiday.js.map +1 -1
  28. package/lib/calendar/index.d.ts +1 -0
  29. package/lib/calendar/index.js +1 -0
  30. package/lib/calendar/index.js.map +1 -1
  31. package/lib/calendar/token.d.ts +19 -0
  32. package/lib/calendar/token.js +3 -0
  33. package/lib/calendar/token.js.map +1 -0
  34. package/lib/common/app-info.d.ts +1 -0
  35. package/lib/common/app-info.js +1 -0
  36. package/lib/common/app-info.js.map +1 -1
  37. package/lib/common/identity.d.ts +20 -0
  38. package/lib/company/company-widget.model.d.ts +4 -0
  39. package/lib/company/company-widget.model.js +4 -0
  40. package/lib/company/company-widget.model.js.map +1 -1
  41. package/lib/company/company.model.d.ts +16 -0
  42. package/lib/company/company.model.js +16 -0
  43. package/lib/company/company.model.js.map +1 -1
  44. package/lib/course/appointment.model.d.ts +4 -0
  45. package/lib/course/appointment.model.js +4 -0
  46. package/lib/course/appointment.model.js.map +1 -1
  47. package/lib/course/course.model.d.ts +12 -0
  48. package/lib/course/course.model.js +12 -0
  49. package/lib/course/course.model.js.map +1 -1
  50. package/lib/course/definition.model.d.ts +1 -0
  51. package/lib/course/definition.model.js +1 -0
  52. package/lib/course/definition.model.js.map +1 -1
  53. package/lib/course/dto.d.ts +5 -0
  54. package/lib/course/dto.js +5 -0
  55. package/lib/course/dto.js.map +1 -1
  56. package/lib/course/part.model.d.ts +5 -0
  57. package/lib/course/part.model.js +5 -0
  58. package/lib/course/part.model.js.map +1 -1
  59. package/lib/device/device.agent.d.ts +39 -0
  60. package/lib/discount/discount.model.d.ts +3 -0
  61. package/lib/discount/discount.model.js +3 -0
  62. package/lib/discount/discount.model.js.map +1 -1
  63. package/lib/driving/category/category.model.d.ts +9 -0
  64. package/lib/driving/category/category.model.js +9 -0
  65. package/lib/driving/category/category.model.js.map +1 -1
  66. package/lib/driving/lesson/topic.dto.js +2 -1
  67. package/lib/driving/lesson/topic.dto.js.map +1 -1
  68. package/lib/expense/category.model.d.ts +1 -0
  69. package/lib/expense/category.model.js +1 -0
  70. package/lib/expense/category.model.js.map +1 -1
  71. package/lib/finance/finance.dto.d.ts +1 -0
  72. package/lib/finance/finance.dto.js +1 -0
  73. package/lib/finance/finance.dto.js.map +1 -1
  74. package/lib/finance/finance.model.d.ts +5 -0
  75. package/lib/finance/finance.model.js +5 -0
  76. package/lib/finance/finance.model.js.map +1 -1
  77. package/lib/finance/finance.type.d.ts +2 -0
  78. package/lib/free-benefit/free-benefit.model.d.ts +1 -0
  79. package/lib/free-benefit/free-benefit.model.js +1 -0
  80. package/lib/free-benefit/free-benefit.model.js.map +1 -1
  81. package/lib/geo/address.dto.d.ts +3 -0
  82. package/lib/geo/address.dto.js +3 -0
  83. package/lib/geo/address.dto.js.map +1 -1
  84. package/lib/geo/address.model.d.ts +1 -0
  85. package/lib/geo/address.model.js +1 -0
  86. package/lib/geo/address.model.js.map +1 -1
  87. package/lib/giftcode/giftcode-group.model.d.ts +1 -0
  88. package/lib/giftcode/giftcode-group.model.js +1 -0
  89. package/lib/giftcode/giftcode-group.model.js.map +1 -1
  90. package/lib/giftcode/giftcode.dto.d.ts +12 -0
  91. package/lib/giftcode/giftcode.dto.js +12 -0
  92. package/lib/giftcode/giftcode.dto.js.map +1 -1
  93. package/lib/giftcode/giftcode.model.d.ts +1 -0
  94. package/lib/giftcode/giftcode.model.js +1 -0
  95. package/lib/giftcode/giftcode.model.js.map +1 -1
  96. package/lib/handover/handover.model.d.ts +1 -0
  97. package/lib/handover/handover.model.js +1 -0
  98. package/lib/handover/handover.model.js.map +1 -1
  99. package/lib/instructor/instructor.model.d.ts +8 -0
  100. package/lib/instructor/instructor.model.js +8 -0
  101. package/lib/instructor/instructor.model.js.map +1 -1
  102. package/lib/item/item.model.d.ts +42 -0
  103. package/lib/item/item.model.js +42 -0
  104. package/lib/item/item.model.js.map +1 -1
  105. package/lib/link/link.model.d.ts +40 -0
  106. package/lib/link/link.model.js +40 -0
  107. package/lib/link/link.model.js.map +1 -1
  108. package/lib/metric/metric.model.d.ts +29 -0
  109. package/lib/metric/metric.model.js +29 -0
  110. package/lib/metric/metric.model.js.map +1 -1
  111. package/lib/payment/company-payment.model.d.ts +1 -0
  112. package/lib/payment/company-payment.model.js +1 -0
  113. package/lib/payment/company-payment.model.js.map +1 -1
  114. package/lib/payment/payment-method.model.d.ts +4 -0
  115. package/lib/payment/payment-method.model.js +4 -0
  116. package/lib/payment/payment-method.model.js.map +1 -1
  117. package/lib/payment/payment.model.d.ts +3 -0
  118. package/lib/payment/payment.model.js +3 -0
  119. package/lib/payment/payment.model.js.map +1 -1
  120. package/lib/priceplan/plan.model.d.ts +6 -0
  121. package/lib/priceplan/plan.model.js +6 -0
  122. package/lib/priceplan/plan.model.js.map +1 -1
  123. package/lib/product/product.model.d.ts +1 -0
  124. package/lib/product/product.model.js +1 -0
  125. package/lib/product/product.model.js.map +1 -1
  126. package/lib/refund/refund.model.d.ts +3 -0
  127. package/lib/refund/refund.model.js +3 -0
  128. package/lib/refund/refund.model.js.map +1 -1
  129. package/lib/security/acl.d.ts +5 -0
  130. package/lib/security/acl.js +5 -0
  131. package/lib/security/acl.js.map +1 -1
  132. package/lib/security/permissions.d.ts +5 -0
  133. package/lib/security/permissions.js +5 -0
  134. package/lib/security/permissions.js.map +1 -1
  135. package/lib/security/role.types.d.ts +32 -0
  136. package/lib/security/role.types.js +32 -0
  137. package/lib/security/role.types.js.map +1 -1
  138. package/lib/security/token.d.ts +23 -0
  139. package/lib/session/driving/session.model.d.ts +2 -0
  140. package/lib/session/driving/session.model.js +2 -0
  141. package/lib/session/driving/session.model.js.map +1 -1
  142. package/lib/session/driving/session.topic.d.ts +1 -0
  143. package/lib/session/driving/session.topic.js +1 -0
  144. package/lib/session/driving/session.topic.js.map +1 -1
  145. package/lib/signature/signature.model.d.ts +2 -0
  146. package/lib/signature/signature.model.js +2 -0
  147. package/lib/signature/signature.model.js.map +1 -1
  148. package/lib/ticket/ticket.dto.d.ts +1 -0
  149. package/lib/ticket/ticket.dto.js +1 -0
  150. package/lib/ticket/ticket.dto.js.map +1 -1
  151. package/lib/ticket/ticket.model.d.ts +1 -0
  152. package/lib/ticket/ticket.model.js +1 -0
  153. package/lib/ticket/ticket.model.js.map +1 -1
  154. package/lib/training/course.model.d.ts +1 -0
  155. package/lib/training/course.model.js +1 -0
  156. package/lib/training/course.model.js.map +1 -1
  157. package/lib/training/driving.model.d.ts +2 -0
  158. package/lib/training/driving.model.js +2 -0
  159. package/lib/training/driving.model.js.map +1 -1
  160. package/lib/training/request.model.d.ts +4 -0
  161. package/lib/training/request.model.js +4 -0
  162. package/lib/training/request.model.js.map +1 -1
  163. package/lib/training/training.dto.js +2 -1
  164. package/lib/training/training.dto.js.map +1 -1
  165. package/lib/training/training.model.d.ts +37 -0
  166. package/lib/training/training.model.js +37 -0
  167. package/lib/training/training.model.js.map +1 -1
  168. package/lib/tsconfig.tsbuildinfo +1 -1
  169. package/lib/user/profile.type.d.ts +5 -0
  170. package/lib/user/profile.type.js +5 -0
  171. package/lib/user/profile.type.js.map +1 -1
  172. package/lib/user/user.model.d.ts +11 -0
  173. package/lib/user/user.model.js +11 -0
  174. package/lib/user/user.model.js.map +1 -1
  175. package/lib/utils/array.helper.d.ts +16 -0
  176. package/lib/utils/array.helper.js +16 -0
  177. package/lib/utils/array.helper.js.map +1 -1
  178. package/lib/utils/date.helper.d.ts +79 -0
  179. package/lib/utils/date.helper.js +87 -2
  180. package/lib/utils/date.helper.js.map +1 -1
  181. package/lib/utils/phone.helper.d.ts +6 -0
  182. package/lib/utils/phone.helper.js +6 -0
  183. package/lib/utils/phone.helper.js.map +1 -1
  184. package/lib/validators/compare.validator.d.ts +4 -0
  185. package/lib/validators/compare.validator.js +6 -0
  186. package/lib/validators/compare.validator.js.map +1 -1
  187. package/lib/validators/required.validator.d.ts +10 -0
  188. package/lib/validators/required.validator.js +19 -4
  189. package/lib/validators/required.validator.js.map +1 -1
  190. package/package.json +1 -1
@@ -9,11 +9,17 @@ import { ProfileType } from "./profile.type";
9
9
  import { Coordinate } from "../geo";
10
10
  import { UserAlert } from "../alert/alert.model";
11
11
  import { Metric } from "../metric";
12
+ /**
13
+ * Implemented for all kind of users (student, instructor, company user or agent).
14
+ * Depends on app sessions (public, mobile, admin, console).
15
+ * Some of properties can have different validaition rules.
16
+ */
12
17
  export declare class User {
13
18
  id: number;
14
19
  uid: string;
15
20
  language: Language;
16
21
  status: AccountStatus;
22
+ /******************** Personal Data ********************/
17
23
  name: string;
18
24
  phone: string;
19
25
  image: string;
@@ -23,10 +29,14 @@ export declare class User {
23
29
  zipCode: string;
24
30
  coord: Coordinate;
25
31
  timezone: string;
32
+ /************************* alerts *************************/
26
33
  alerts: UserAlert[];
34
+ /************************** activity ***************************/
27
35
  lastActivity: Date;
28
36
  overdatedActivity: boolean;
37
+ /************************* FCM tokens (for push notifications) *************************/
29
38
  fcmTokens: string[];
39
+ /************************* profiles **************************/
30
40
  selectedProfile: ProfileType;
31
41
  student: Student;
32
42
  agent: Agent;
@@ -36,6 +46,7 @@ export declare class User {
36
46
  company: Company;
37
47
  createdOn: Date;
38
48
  metrics: Metric[];
49
+ /************************* methods *************************/
39
50
  constructor(props?: Partial<User>);
40
51
  static toInstance(data: any): User[];
41
52
  isActive(): boolean;
@@ -22,11 +22,17 @@ const profile_type_1 = require("./profile.type");
22
22
  const geo_1 = require("../geo");
23
23
  const alert_model_1 = require("../alert/alert.model");
24
24
  const metric_1 = require("../metric");
25
+ /**
26
+ * Implemented for all kind of users (student, instructor, company user or agent).
27
+ * Depends on app sessions (public, mobile, admin, console).
28
+ * Some of properties can have different validaition rules.
29
+ */
25
30
  class User {
26
31
  id;
27
32
  uid;
28
33
  language;
29
34
  status;
35
+ /******************** Personal Data ********************/
30
36
  name;
31
37
  phone;
32
38
  image;
@@ -36,10 +42,14 @@ class User {
36
42
  zipCode;
37
43
  coord;
38
44
  timezone;
45
+ /************************* alerts *************************/
39
46
  alerts;
47
+ /************************** activity ***************************/
40
48
  lastActivity;
41
49
  overdatedActivity;
50
+ /************************* FCM tokens (for push notifications) *************************/
42
51
  fcmTokens;
52
+ /************************* profiles **************************/
43
53
  selectedProfile;
44
54
  student;
45
55
  agent;
@@ -49,6 +59,7 @@ class User {
49
59
  company;
50
60
  createdOn;
51
61
  metrics;
62
+ /************************* methods *************************/
52
63
  constructor(props) {
53
64
  Object.assign(this, props);
54
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../src/user/user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAkE;AAClE,sCAAqC;AACrC,0CAA2C;AAC3C,4DAAmD;AACnD,qEAA4D;AAC5D,wCAAqC;AACrC,oCAAiC;AACjC,wCAAqC;AACrC,iDAA6C;AAC7C,gCAAoC;AACpC,sDAAiD;AACjD,sCAAmC;AAQnC,MAAa,IAAI;IAIhB,EAAE,CAAS;IAGX,GAAG,CAAS;IAGZ,QAAQ,CAAW;IAGnB,MAAM,CAAgB;IAKtB,IAAI,CAAS;IAGb,KAAK,CAAS;IAGd,KAAK,CAAS;IAGd,KAAK,CAAS;IAId,QAAQ,CAAO;IAGf,OAAO,CAAS;IAGhB,OAAO,CAAS;IAIhB,KAAK,CAAa;IAGlB,QAAQ,CAAS;IAMjB,MAAM,CAAc;IAMpB,YAAY,CAAO;IAInB,iBAAiB,CAAU;IAI3B,SAAS,CAAW;IAKpB,eAAe,CAAc;IAI7B,OAAO,CAAU;IAIjB,KAAK,CAAQ;IAIb,UAAU,CAAa;IAIvB,SAAS,CAAY;IAIrB,OAAO,CAAU;IAIjB,OAAO,CAAU;IAIjB,SAAS,CAAO;IAIhB,OAAO,CAAW;IAIlB,YAAY,KAAqB;QAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAGM,AAAP,MAAM,CAAC,UAAU,CAAC,IAAS;QAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,mCAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;IAGD,QAAQ;QACP,OAAO,IAAI,CAAC,MAAM,KAAK,wBAAa,CAAC,MAAM,CAAC;IAC7C,CAAC;CACD;AAtHD,oBAsHC;AAlHA;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;gCACR;AAGX;IADC,IAAA,0BAAM,GAAE;;iCACG;AAGZ;IADC,IAAA,0BAAM,GAAE;;sCACU;AAGnB;IADC,IAAA,0BAAM,GAAE;;oCACa;AAKtB;IADC,IAAA,0BAAM,GAAE;;kCACI;AAGb;IADC,IAAA,0BAAM,GAAE;;mCACK;AAGd;IADC,IAAA,0BAAM,GAAE;;mCACK;AAGd;IADC,IAAA,0BAAM,GAAE;;mCACK;AAId;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;8BACP,IAAI;sCAAC;AAGf;IADC,IAAA,0BAAM,GAAE;;qCACO;AAGhB;IADC,IAAA,0BAAM,GAAE;;qCACO;AAIhB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,gBAAU,CAAC;8BAChB,gBAAU;mCAAC;AAGlB;IADC,IAAA,0BAAM,GAAE;;sCACQ;AAMjB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,uBAAS,CAAC;;oCACF;AAMpB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;8BACH,IAAI;0CAAC;AAInB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;+CACO;AAS3B;IADC,IAAA,0BAAM,GAAE;;6CACoB;AAI7B;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,iBAAO,CAAC;8BACX,iBAAO;qCAAC;AAIjB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,aAAK,CAAC;8BACX,aAAK;mCAAC;AAIb;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,6BAAU,CAAC;8BACX,6BAAU;wCAAC;AAIvB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,uBAAO,CAAC;;uCACC;AAIrB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,iBAAO,CAAC;8BACX,iBAAO;qCAAC;AAIjB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,uBAAO,CAAC;8BACX,uBAAO;qCAAC;AAIjB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;8BACN,IAAI;uCAAC;AAIhB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,eAAM,CAAC;;qCACD;AAclB;IADC,IAAA,0BAAM,EAAC,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;;;;oCAG7B;AAPM;IADN,IAAA,0BAAM,GAAE;;;;4BAGR"}
1
+ {"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../src/user/user.model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,21 @@
1
1
  export declare class ArrayHelper {
2
+ /**
3
+ * Get a random item from an array
4
+ * @param val Given T type array
5
+ * @returns Given T type
6
+ */
2
7
  static getRandom<T>(val: T[]): T;
8
+ /**
9
+ * Get the last item from an array
10
+ * @param val Given T type array
11
+ * @returns Given T type
12
+ */
3
13
  static getLastItem<T>(val: T[]): T;
14
+ /**
15
+ * Sum all numbers in a number array
16
+ * @param val Number[]
17
+ * @param toFixed (2)
18
+ * @returns Sum number
19
+ */
4
20
  static getSum(val: number[], toFixed?: number): number;
5
21
  }
@@ -2,13 +2,29 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ArrayHelper = void 0;
4
4
  class ArrayHelper {
5
+ /**
6
+ * Get a random item from an array
7
+ * @param val Given T type array
8
+ * @returns Given T type
9
+ */
5
10
  static getRandom(val) {
6
11
  const randomIndex = Math.floor(Math.random() * this.length);
7
12
  return val[randomIndex];
8
13
  }
14
+ /**
15
+ * Get the last item from an array
16
+ * @param val Given T type array
17
+ * @returns Given T type
18
+ */
9
19
  static getLastItem(val) {
10
20
  return val?.length ? val[this.length - 1] : undefined;
11
21
  }
22
+ /**
23
+ * Sum all numbers in a number array
24
+ * @param val Number[]
25
+ * @param toFixed (2)
26
+ * @returns Sum number
27
+ */
12
28
  static getSum(val, toFixed = 2) {
13
29
  return +val.reduce((acc, curr) => +acc + +curr, 0).toFixed(toFixed);
14
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"array.helper.js","sourceRoot":"","sources":["../../src/utils/array.helper.ts"],"names":[],"mappings":";;;AACA,MAAa,WAAW;IAOvB,MAAM,CAAC,SAAS,CAAI,GAAQ;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAOD,MAAM,CAAC,WAAW,CAAI,GAAQ;QAC7B,OAAO,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAQD,MAAM,CAAC,MAAM,CAAC,GAAa,EAAE,OAAO,GAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;CACD;AA9BD,kCA8BC"}
1
+ {"version":3,"file":"array.helper.js","sourceRoot":"","sources":["../../src/utils/array.helper.ts"],"names":[],"mappings":";;;AACA,MAAa,WAAW;IAEvB;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAI,GAAQ;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAI,GAAQ;QAC7B,OAAO,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,GAAa,EAAE,OAAO,GAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;CACD;AA9BD,kCA8BC"}
@@ -1,18 +1,97 @@
1
1
  import { DateTime, WeekdayNumbers } from 'luxon';
2
2
  import { Appointment, Period, WeekDay } from '../calendar';
3
3
  export declare class DateHelper {
4
+ /**
5
+ * Is date between start and end dates
6
+ * @param date Date
7
+ * @param start Date
8
+ * @param end Date
9
+ * @returns
10
+ */
4
11
  static isBetween(date: Date, start: Date, end: Date): boolean;
12
+ /**
13
+ * Converts a Date to a date-only string in the format "YYYY-MM-DD".
14
+ * @param date Given date
15
+ * @returns Date string
16
+ */
5
17
  static toDateOnly(date: Date): string;
18
+ /**
19
+ * Converts a Date to a time-only string in the format "HH:MM:SS.sssZ".
20
+ * @param date Given date
21
+ * @returns Time string
22
+ */
6
23
  static toTimeOnly(date: Date): string;
24
+ /**
25
+ * Get DateTime instance from Date
26
+ * @param date
27
+ * @returns DateTime
28
+ */
7
29
  static toDateTimeInstance(date: Date): DateTime;
30
+ /**
31
+ * Check if date is start of day
32
+ * @param date Given date
33
+ * @returns True if date is start of day
34
+ */
8
35
  static isStartOfDay(date: Date): boolean;
36
+ /**
37
+ * Check if date is end of day
38
+ * @param date Given date
39
+ * @returns True if date is end of day
40
+ */
9
41
  static isEndOfDay(date: Date): boolean;
42
+ /**
43
+ * Converts a number to a WeekdayNumbers enum from luxon.
44
+ * @param val
45
+ * @returns
46
+ */
10
47
  static toWeekdayNumber(val: number): WeekdayNumbers;
48
+ /**
49
+ * Converts a WeekDay enum from intelact/driveup to a WeekdayNumbers enum from luxon.
50
+ * @param Weekday - The weekday to convert
51
+ * @returns WeekdayNumbers from luxon - 1 to 7
52
+ */
11
53
  static getWeekdayNumber(weekday: WeekDay): WeekdayNumbers;
54
+ /**
55
+ * Get WeekDay from DateTime
56
+ * @param date
57
+ * @returns WeekDay
58
+ */
12
59
  static getWeekday(date: DateTime): WeekDay;
60
+ /**
61
+ * Converts a WeekDay enum from intelact/driveup to a MySQL weekday number.
62
+ * @param Weekday - The weekday to convert
63
+ * @returns number - MySQL weekday number (0 = Monday, 6 = Sunday)
64
+ */
13
65
  static getMySqlWeekday(weekday: WeekDay): number;
66
+ /**
67
+ * Merge periods
68
+ * @param Period[]
69
+ * @returns Period[] - Returns an array of merged periods
70
+ */
14
71
  static mergePeriods(periods: Period[]): Period[];
72
+ /**
73
+ * Merge appointment periods
74
+ * @param Appointment[]
75
+ * @returns Appointment[] - Returns an array of merged appointments
76
+ */
15
77
  static mergeAppointmentPeriods(appointments: Appointment[]): Appointment[];
78
+ /**
79
+ * Get a formatted date string in "DD MMM YYYY" format,
80
+ * or an empty string if the given date is invalid.
81
+ * Example: "23 Oct 2025"
82
+ * @param date string | number | Date
83
+ * @param local Default en-GB
84
+ * @returns Formatted date string
85
+ */
16
86
  static formatDate(date: string | number | Date, local?: string): string;
87
+ /**
88
+ * Get a formatted date and time string in "DD MMM YYYY - HH:MM" format,
89
+ * or an empty string if the given date is invalid.
90
+ * Example: "23 Oct 2025 - 14:30"
91
+ * @param date string | number | Date
92
+ * @param seperator Default '-'
93
+ * @param local Default en-GB
94
+ * @returns Formatted date and time string
95
+ */
17
96
  static formatDateAndTime(date: string | number | Date, seperator?: string, local?: string): string;
18
97
  }
@@ -4,33 +4,70 @@ exports.DateHelper = void 0;
4
4
  const luxon_1 = require("luxon");
5
5
  const calendar_1 = require("../calendar");
6
6
  class DateHelper {
7
+ /**
8
+ * Is date between start and end dates
9
+ * @param date Date
10
+ * @param start Date
11
+ * @param end Date
12
+ * @returns
13
+ */
7
14
  static isBetween(date, start, end) {
8
15
  return date.getTime() >= start.getTime() && date.getTime() <= end.getTime();
9
16
  }
17
+ /**
18
+ * Converts a Date to a date-only string in the format "YYYY-MM-DD".
19
+ * @param date Given date
20
+ * @returns Date string
21
+ */
10
22
  static toDateOnly(date) {
11
23
  return date.toISOString().split('T')[0];
12
24
  }
13
25
  ;
26
+ /**
27
+ * Converts a Date to a time-only string in the format "HH:MM:SS.sssZ".
28
+ * @param date Given date
29
+ * @returns Time string
30
+ */
14
31
  static toTimeOnly(date) {
15
32
  return date.toISOString().split('T')[1];
16
33
  }
17
34
  ;
35
+ /**
36
+ * Get DateTime instance from Date
37
+ * @param date
38
+ * @returns DateTime
39
+ */
18
40
  static toDateTimeInstance(date) {
19
41
  const dt = luxon_1.DateTime.fromJSDate(date);
20
42
  return dt.isValid ? dt : null;
21
43
  }
44
+ /**
45
+ * Check if date is start of day
46
+ * @param date Given date
47
+ * @returns True if date is start of day
48
+ */
22
49
  static isStartOfDay(date) {
23
50
  return (date.getHours() === 0 &&
24
51
  date.getMinutes() === 0 &&
25
52
  date.getSeconds() === 0 &&
26
53
  date.getMilliseconds() === 0);
27
54
  }
55
+ /**
56
+ * Check if date is end of day
57
+ * @param date Given date
58
+ * @returns True if date is end of day
59
+ */
28
60
  static isEndOfDay(date) {
29
61
  return (date.getHours() === 23 &&
30
62
  date.getMinutes() === 59 &&
31
63
  date.getSeconds() === 59 &&
32
64
  date.getMilliseconds() === 999);
33
65
  }
66
+ /**
67
+ * Converts a number to a WeekdayNumbers enum from luxon.
68
+ * @param val
69
+ * @returns
70
+ */
34
71
  static toWeekdayNumber(val) {
35
72
  return (val === 1 ? 1
36
73
  : val === 2 ? 2
@@ -42,6 +79,11 @@ class DateHelper {
42
79
  : undefined);
43
80
  }
44
81
  ;
82
+ /**
83
+ * Converts a WeekDay enum from intelact/driveup to a WeekdayNumbers enum from luxon.
84
+ * @param Weekday - The weekday to convert
85
+ * @returns WeekdayNumbers from luxon - 1 to 7
86
+ */
45
87
  static getWeekdayNumber(weekday) {
46
88
  return (weekday === calendar_1.WeekDay.Monday ? 1
47
89
  : weekday === calendar_1.WeekDay.Tuesday ? 2
@@ -49,8 +91,14 @@ class DateHelper {
49
91
  : weekday === calendar_1.WeekDay.Thursday ? 4
50
92
  : weekday === calendar_1.WeekDay.Friday ? 5
51
93
  : weekday === calendar_1.WeekDay.Saturday ? 6
52
- : 7);
94
+ : 7 // Sunday
95
+ );
53
96
  }
97
+ /**
98
+ * Get WeekDay from DateTime
99
+ * @param date
100
+ * @returns WeekDay
101
+ */
54
102
  static getWeekday(date) {
55
103
  const number = date.weekday;
56
104
  return (number === 1 ? calendar_1.WeekDay.Monday
@@ -61,6 +109,11 @@ class DateHelper {
61
109
  : number === 6 ? calendar_1.WeekDay.Saturday
62
110
  : calendar_1.WeekDay.Sunday);
63
111
  }
112
+ /**
113
+ * Converts a WeekDay enum from intelact/driveup to a MySQL weekday number.
114
+ * @param Weekday - The weekday to convert
115
+ * @returns number - MySQL weekday number (0 = Monday, 6 = Sunday)
116
+ */
64
117
  static getMySqlWeekday(weekday) {
65
118
  return (weekday === calendar_1.WeekDay.Monday ? 0
66
119
  : weekday === calendar_1.WeekDay.Tuesday ? 1
@@ -68,19 +121,27 @@ class DateHelper {
68
121
  : weekday === calendar_1.WeekDay.Thursday ? 3
69
122
  : weekday === calendar_1.WeekDay.Friday ? 4
70
123
  : weekday === calendar_1.WeekDay.Saturday ? 5
71
- : 6);
124
+ : 6 // Sunday
125
+ );
72
126
  }
127
+ /**
128
+ * Merge periods
129
+ * @param Period[]
130
+ * @returns Period[] - Returns an array of merged periods
131
+ */
73
132
  static mergePeriods(periods) {
74
133
  if (!periods?.length)
75
134
  return [];
76
135
  periods.sort((a, b) => a.startDate.getTime() - b.startDate.getTime());
77
136
  const merged = [];
78
137
  for (const period of periods) {
138
+ // if this is the first itteration of the loop, add the period to the reslult array
79
139
  if (!merged.length) {
80
140
  merged.push(period);
81
141
  continue;
82
142
  }
83
143
  const last = merged[merged.length - 1];
144
+ // if the period overlaps with the last one, merge them
84
145
  if (period.startDate <= last.endDate) {
85
146
  last.endDate = last.endDate > period.endDate ? last.endDate : period.endDate;
86
147
  }
@@ -90,16 +151,23 @@ class DateHelper {
90
151
  }
91
152
  return merged;
92
153
  }
154
+ /**
155
+ * Merge appointment periods
156
+ * @param Appointment[]
157
+ * @returns Appointment[] - Returns an array of merged appointments
158
+ */
93
159
  static mergeAppointmentPeriods(appointments) {
94
160
  if (!appointments?.length)
95
161
  return [];
96
162
  appointments.sort((a, b) => new Date(a.startDate).getTime() - new Date(b.startDate).getTime());
97
163
  const merged = [];
98
164
  for (const appointment of appointments) {
165
+ // if this is the first itteration of the loop, add the period to the reslult array
99
166
  if (!merged.length) {
100
167
  merged.push(appointment);
101
168
  continue;
102
169
  }
170
+ // if the period overlaps with the last period in the array, merge them
103
171
  const last = merged[merged.length - 1];
104
172
  if (new Date(appointment.startDate) <= new Date(last.endDate)) {
105
173
  last.endDate =
@@ -111,6 +179,14 @@ class DateHelper {
111
179
  }
112
180
  return merged;
113
181
  }
182
+ /**
183
+ * Get a formatted date string in "DD MMM YYYY" format,
184
+ * or an empty string if the given date is invalid.
185
+ * Example: "23 Oct 2025"
186
+ * @param date string | number | Date
187
+ * @param local Default en-GB
188
+ * @returns Formatted date string
189
+ */
114
190
  static formatDate(date, local = 'en-GB') {
115
191
  if (!date)
116
192
  return '';
@@ -120,6 +196,15 @@ class DateHelper {
120
196
  year: 'numeric'
121
197
  });
122
198
  }
199
+ /**
200
+ * Get a formatted date and time string in "DD MMM YYYY - HH:MM" format,
201
+ * or an empty string if the given date is invalid.
202
+ * Example: "23 Oct 2025 - 14:30"
203
+ * @param date string | number | Date
204
+ * @param seperator Default '-'
205
+ * @param local Default en-GB
206
+ * @returns Formatted date and time string
207
+ */
123
208
  static formatDateAndTime(date, seperator = '-', local = 'en-GB') {
124
209
  if (!date)
125
210
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"date.helper.js","sourceRoot":"","sources":["../../src/utils/date.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date.helper.js","sourceRoot":"","sources":["../../src/utils/date.helper.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
1
  export declare class PhoneHelper {
2
+ /**
3
+ * Extracts the country code from a given phone number string.
4
+ * @param phoneNumber - The phone number string to extract the country code from.
5
+ * @param prefix - The prefix to prepend to the extracted country code. Default is '+'.
6
+ * @returns The extracted country code with the specified prefix, or null if not found.
7
+ */
2
8
  static extractCountryCode(phoneNumber: string, prefix?: string): string;
3
9
  }
@@ -2,6 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PhoneHelper = void 0;
4
4
  class PhoneHelper {
5
+ /**
6
+ * Extracts the country code from a given phone number string.
7
+ * @param phoneNumber - The phone number string to extract the country code from.
8
+ * @param prefix - The prefix to prepend to the extracted country code. Default is '+'.
9
+ * @returns The extracted country code with the specified prefix, or null if not found.
10
+ */
5
11
  static extractCountryCode(phoneNumber, prefix = '+') {
6
12
  const match = /^\+(\d{1,4})/.exec(phoneNumber);
7
13
  return match ? prefix + match[1] : null;
@@ -1 +1 @@
1
- {"version":3,"file":"phone.helper.js","sourceRoot":"","sources":["../../src/utils/phone.helper.ts"],"names":[],"mappings":";;;AACA,MAAa,WAAW;IAQvB,MAAM,CAAC,kBAAkB,CAAC,WAAmB,EAAE,MAAM,GAAG,GAAG;QAC1D,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;CACD;AAZD,kCAYC"}
1
+ {"version":3,"file":"phone.helper.js","sourceRoot":"","sources":["../../src/utils/phone.helper.ts"],"names":[],"mappings":";;;AACA,MAAa,WAAW;IAEvB;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAmB,EAAE,MAAM,GAAG,GAAG;QAC1D,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;CACD;AAZD,kCAYC"}
@@ -1,4 +1,8 @@
1
1
  import { ValidationArguments, ValidatorConstraintInterface } from "class-validator";
2
+ /**
3
+ * Checks if the start date is less than or equal to the end date
4
+ * If one of the does not have a valid value, returns true
5
+ */
2
6
  export declare class CompareWithEndDate implements ValidatorConstraintInterface {
3
7
  validate(startDate: Date, args: ValidationArguments): boolean;
4
8
  defaultMessage(args?: ValidationArguments): string;
@@ -9,9 +9,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.CompareWithEndDate = void 0;
10
10
  const class_validator_1 = require("class-validator");
11
11
  const luxon_1 = require("luxon");
12
+ /**
13
+ * Checks if the start date is less than or equal to the end date
14
+ * If one of the does not have a valid value, returns true
15
+ */
12
16
  let CompareWithEndDate = class CompareWithEndDate {
17
+ // startDate must be there before the args param, if it's not there the args will be treated as the startDate and we won't have access to the object
13
18
  validate(startDate, args) {
14
19
  const dto = args.object;
20
+ // no validation is performed if either is not provided
15
21
  if (!luxon_1.DateTime.fromJSDate(dto.startDate).isValid ||
16
22
  !luxon_1.DateTime.fromJSDate(dto.endDate).isValid)
17
23
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"compare.validator.js","sourceRoot":"","sources":["../../src/validators/compare.validator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,qDAAyG;AACzG,iCAAiC;AAQ1B,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAE9B,QAAQ,CAAC,SAAe,EAAE,IAAyB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAgB,CAAC;QAGlC,IACC,CAAC,gBAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO;YAC3C,CAAC,gBAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO;YAEzC,OAAO,IAAI,CAAC;QAEb,OAAO,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,IAA0B;QACxC,OAAO,4CAA4C,CAAC;IACrD,CAAC;CACD,CAAA;AAlBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,qCAAmB,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GACrD,kBAAkB,CAkB9B"}
1
+ {"version":3,"file":"compare.validator.js","sourceRoot":"","sources":["../../src/validators/compare.validator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,qDAAyG;AACzG,iCAAiC;AAGjC;;;GAGG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC9B,oJAAoJ;IACpJ,QAAQ,CAAC,SAAe,EAAE,IAAyB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAgB,CAAC;QAElC,uDAAuD;QACvD,IACC,CAAC,gBAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO;YAC3C,CAAC,gBAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO;YAEzC,OAAO,IAAI,CAAC;QAEb,OAAO,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,IAA0B;QACxC,OAAO,4CAA4C,CAAC;IACrD,CAAC;CACD,CAAA;AAlBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,qCAAmB,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GACrD,kBAAkB,CAkB9B"}
@@ -3,9 +3,19 @@ export declare class MutuallyRequiredConstraint implements ValidatorConstraintIn
3
3
  validate(value: any, args: ValidationArguments): boolean;
4
4
  defaultMessage(args: ValidationArguments): string;
5
5
  }
6
+ /**
7
+ * Checks if the two fields are mutually empty or with value.
8
+ *
9
+ * @param relatedField the field name that needs to be checked with the field the decorator has been applied to
10
+ */
6
11
  export declare function MutuallyRequired(relatedField: string, validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
7
12
  export declare class EitherRequiredConstraint implements ValidatorConstraintInterface {
8
13
  validate(value: any, args: ValidationArguments): boolean;
9
14
  defaultMessage(args: ValidationArguments): string;
10
15
  }
16
+ /**
17
+ * Checks if the two fields are mutually empty or with value.
18
+ *
19
+ * @param relatedField the field name that needs to be checked with the field the decorator has been applied to
20
+ */
11
21
  export declare function EitherRequired(relatedField: string, validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
@@ -13,14 +13,17 @@ const class_validator_1 = require("class-validator");
13
13
  let MutuallyRequiredConstraint = class MutuallyRequiredConstraint {
14
14
  validate(value, args) {
15
15
  const dto = args.object;
16
- const relatedField = args.constraints[0];
16
+ const relatedField = args.constraints[0]; // field name passed in the decorator
17
17
  const relatedValue = dto[relatedField];
18
18
  if (!value && !relatedValue) {
19
+ // Both are empty: validation passes
19
20
  return true;
20
21
  }
21
22
  if (value && relatedValue) {
23
+ // Both fields set: validation passes
22
24
  return true;
23
25
  }
26
+ // One field has a value but the other does not. validation fails
24
27
  return false;
25
28
  }
26
29
  defaultMessage(args) {
@@ -34,13 +37,18 @@ exports.MutuallyRequiredConstraint = MutuallyRequiredConstraint = __decorate([
34
37
  async: false
35
38
  })
36
39
  ], MutuallyRequiredConstraint);
40
+ /**
41
+ * Checks if the two fields are mutually empty or with value.
42
+ *
43
+ * @param relatedField the field name that needs to be checked with the field the decorator has been applied to
44
+ */
37
45
  function MutuallyRequired(relatedField, validationOptions) {
38
46
  return function (object, propertyName) {
39
47
  (0, class_validator_1.registerDecorator)({
40
48
  target: object.constructor,
41
49
  propertyName: propertyName,
42
50
  options: validationOptions,
43
- constraints: [relatedField],
51
+ constraints: [relatedField], // This should be dynamic
44
52
  validator: MutuallyRequiredConstraint
45
53
  });
46
54
  };
@@ -48,11 +56,13 @@ function MutuallyRequired(relatedField, validationOptions) {
48
56
  let EitherRequiredConstraint = class EitherRequiredConstraint {
49
57
  validate(value, args) {
50
58
  const dto = args.object;
51
- const relatedField = args.constraints[0];
59
+ const relatedField = args.constraints[0]; // field name passed in the decorator
52
60
  const relatedValue = dto[relatedField];
53
61
  if (value || relatedValue) {
62
+ // One has value: validation passes
54
63
  return true;
55
64
  }
65
+ // Neither has value: validation fails
56
66
  return false;
57
67
  }
58
68
  defaultMessage(args) {
@@ -66,13 +76,18 @@ exports.EitherRequiredConstraint = EitherRequiredConstraint = __decorate([
66
76
  async: false
67
77
  })
68
78
  ], EitherRequiredConstraint);
79
+ /**
80
+ * Checks if the two fields are mutually empty or with value.
81
+ *
82
+ * @param relatedField the field name that needs to be checked with the field the decorator has been applied to
83
+ */
69
84
  function EitherRequired(relatedField, validationOptions) {
70
85
  return function (object, propertyName) {
71
86
  (0, class_validator_1.registerDecorator)({
72
87
  target: object.constructor,
73
88
  propertyName: propertyName,
74
89
  options: validationOptions,
75
- constraints: [relatedField],
90
+ constraints: [relatedField], // This should be dynamic
76
91
  validator: EitherRequiredConstraint
77
92
  });
78
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"required.validator.js","sourceRoot":"","sources":["../../src/validators/required.validator.ts"],"names":[],"mappings":";;;;;;;;;AA0CA,4CAaC;AA+BD,wCAaC;AAnGD,qDAMyB;AAMlB,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACtC,QAAQ,CAAC,KAAU,EAAE,IAAyB;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAA6B,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QAEvC,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAE7B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YAE3B,OAAO,IAAI,CAAC;QACb,CAAC;QAGD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CAAC,IAAyB;QACvC,OAAO,GAAG,IAAI,CAAC,QAAQ,sBAAsB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;IAChF,CAAC;CACD,CAAA;AAvBY,gEAA0B;qCAA1B,0BAA0B;IAJtC,IAAA,qCAAmB,EAAC;QACpB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,KAAK;KACZ,CAAC;GACW,0BAA0B,CAuBtC;AAOD,SAAgB,gBAAgB,CAC/B,YAAoB,EACpB,iBAAqC;IAErC,OAAO,UAAU,MAAc,EAAE,YAAoB;QACpD,IAAA,mCAAiB,EAAC;YACjB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,CAAC,YAAY,CAAC;YAC3B,SAAS,EAAE,0BAA0B;SACrC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAMM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACpC,QAAQ,CAAC,KAAU,EAAE,IAAyB;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAA6B,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QAEvC,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YAE3B,OAAO,IAAI,CAAC;QACb,CAAC;QAGD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CAAC,IAAyB;QACvC,OAAO,GAAG,IAAI,CAAC,QAAQ,uBAAuB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACnF,CAAC;CACD,CAAA;AAlBY,4DAAwB;mCAAxB,wBAAwB;IAJpC,IAAA,qCAAmB,EAAC;QACpB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,KAAK;KACZ,CAAC;GACW,wBAAwB,CAkBpC;AAOD,SAAgB,cAAc,CAC7B,YAAoB,EACpB,iBAAqC;IAErC,OAAO,UAAU,MAAc,EAAE,YAAoB;QACpD,IAAA,mCAAiB,EAAC;YACjB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,CAAC,YAAY,CAAC;YAC3B,SAAS,EAAE,wBAAwB;SACnC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"required.validator.js","sourceRoot":"","sources":["../../src/validators/required.validator.ts"],"names":[],"mappings":";;;;;;;;;AA0CA,4CAaC;AA+BD,wCAaC;AAnGD,qDAMyB;AAMlB,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACtC,QAAQ,CAAC,KAAU,EAAE,IAAyB;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAA6B,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;QAC/E,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QAEvC,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,oCAAoC;YACpC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YAC3B,qCAAqC;YACrC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,iEAAiE;QACjE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CAAC,IAAyB;QACvC,OAAO,GAAG,IAAI,CAAC,QAAQ,sBAAsB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;IAChF,CAAC;CACD,CAAA;AAvBY,gEAA0B;qCAA1B,0BAA0B;IAJtC,IAAA,qCAAmB,EAAC;QACpB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,KAAK;KACZ,CAAC;GACW,0BAA0B,CAuBtC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAC/B,YAAoB,EACpB,iBAAqC;IAErC,OAAO,UAAU,MAAc,EAAE,YAAoB;QACpD,IAAA,mCAAiB,EAAC;YACjB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,yBAAyB;YACtD,SAAS,EAAE,0BAA0B;SACrC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAMM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACpC,QAAQ,CAAC,KAAU,EAAE,IAAyB;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAA6B,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;QAC/E,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QAEvC,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YAC3B,mCAAmC;YACnC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,sCAAsC;QACtC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CAAC,IAAyB;QACvC,OAAO,GAAG,IAAI,CAAC,QAAQ,uBAAuB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACnF,CAAC;CACD,CAAA;AAlBY,4DAAwB;mCAAxB,wBAAwB;IAJpC,IAAA,qCAAmB,EAAC;QACpB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,KAAK;KACZ,CAAC;GACW,wBAAwB,CAkBpC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAC7B,YAAoB,EACpB,iBAAqC;IAErC,OAAO,UAAU,MAAc,EAAE,YAAoB;QACpD,IAAA,mCAAiB,EAAC;YACjB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,yBAAyB;YACtD,SAAS,EAAE,wBAAwB;SACnC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intelact/driveup",
3
- "version": "1.4.37",
3
+ "version": "1.4.39",
4
4
  "description": "Driveup Common",
5
5
  "author": "Intelact Solutions Ltd.",
6
6
  "main": "lib/index.js",