@hyper.software/common-helpers 1.2.4 → 1.2.6

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 (248) hide show
  1. package/README.md +0 -0
  2. package/lib/errors/CriticalError.d.ts +0 -0
  3. package/lib/errors/CriticalError.js +0 -0
  4. package/lib/errors/CriticalError.js.map +0 -0
  5. package/lib/errors/ValidationError.d.ts +0 -0
  6. package/lib/errors/ValidationError.js +0 -0
  7. package/lib/errors/ValidationError.js.map +0 -0
  8. package/lib/errors/ValidationErrorSilent.d.ts +0 -0
  9. package/lib/errors/ValidationErrorSilent.js +0 -0
  10. package/lib/errors/ValidationErrorSilent.js.map +0 -0
  11. package/lib/errors/ValidationErrorWithStatus.d.ts +0 -0
  12. package/lib/errors/ValidationErrorWithStatus.js +0 -0
  13. package/lib/errors/ValidationErrorWithStatus.js.map +0 -0
  14. package/lib/errors/ValidationErrorWithStatusSilent.d.ts +0 -0
  15. package/lib/errors/ValidationErrorWithStatusSilent.js +0 -0
  16. package/lib/errors/ValidationErrorWithStatusSilent.js.map +0 -0
  17. package/lib/errors/__mocks__/errors.mock.d.ts +0 -0
  18. package/lib/errors/__mocks__/errors.mock.js +0 -0
  19. package/lib/errors/__mocks__/errors.mock.js.map +0 -0
  20. package/lib/errors/__tests__/errorMappers.test.d.ts +0 -0
  21. package/lib/errors/__tests__/errorMappers.test.js +0 -0
  22. package/lib/errors/__tests__/errorMappers.test.js.map +0 -0
  23. package/lib/errors/__tests__/errors.test.d.ts +0 -0
  24. package/lib/errors/__tests__/errors.test.js +0 -0
  25. package/lib/errors/__tests__/errors.test.js.map +0 -0
  26. package/lib/errors/errorMappers.d.ts +0 -0
  27. package/lib/errors/errorMappers.js +0 -0
  28. package/lib/errors/errorMappers.js.map +0 -0
  29. package/lib/errors/errors.types.d.ts +0 -0
  30. package/lib/errors/errors.types.js +0 -0
  31. package/lib/errors/errors.types.js.map +0 -0
  32. package/lib/errors/index.d.ts +0 -0
  33. package/lib/errors/index.js +0 -0
  34. package/lib/errors/index.js.map +0 -0
  35. package/lib/express/__tests__/swaggerHelpers.test.d.ts +0 -0
  36. package/lib/express/__tests__/swaggerHelpers.test.js +0 -0
  37. package/lib/express/__tests__/swaggerHelpers.test.js.map +0 -0
  38. package/lib/express/middleware/aliveMiddleware/index.d.ts +0 -0
  39. package/lib/express/middleware/aliveMiddleware/index.js +0 -0
  40. package/lib/express/middleware/aliveMiddleware/index.js.map +0 -0
  41. package/lib/express/middleware/companyMiddleware/company.d.ts +0 -0
  42. package/lib/express/middleware/companyMiddleware/company.js +0 -0
  43. package/lib/express/middleware/companyMiddleware/company.js.map +0 -0
  44. package/lib/express/middleware/companyMiddleware/companyApiRequest.d.ts +0 -0
  45. package/lib/express/middleware/companyMiddleware/companyApiRequest.js +0 -0
  46. package/lib/express/middleware/companyMiddleware/companyApiRequest.js.map +0 -0
  47. package/lib/express/middleware/companyMiddleware/index.d.ts +0 -0
  48. package/lib/express/middleware/companyMiddleware/index.js +0 -0
  49. package/lib/express/middleware/companyMiddleware/index.js.map +0 -0
  50. package/lib/express/middleware/companyMiddleware/index.types.d.ts +0 -0
  51. package/lib/express/middleware/companyMiddleware/index.types.js +0 -0
  52. package/lib/express/middleware/companyMiddleware/index.types.js.map +0 -0
  53. package/lib/express/middleware/expressErrorHandlerMiddleware/__tests__/expressErrorHandlerMiddleware.test.d.ts +0 -0
  54. package/lib/express/middleware/expressErrorHandlerMiddleware/__tests__/expressErrorHandlerMiddleware.test.js +0 -0
  55. package/lib/express/middleware/expressErrorHandlerMiddleware/__tests__/expressErrorHandlerMiddleware.test.js.map +0 -0
  56. package/lib/express/middleware/expressErrorHandlerMiddleware/index.d.ts +0 -0
  57. package/lib/express/middleware/expressErrorHandlerMiddleware/index.js +0 -0
  58. package/lib/express/middleware/expressErrorHandlerMiddleware/index.js.map +0 -0
  59. package/lib/express/middleware/index.d.ts +0 -0
  60. package/lib/express/middleware/index.js +0 -0
  61. package/lib/express/middleware/index.js.map +0 -0
  62. package/lib/express/middleware/languageMiddleware/index.d.ts +0 -0
  63. package/lib/express/middleware/languageMiddleware/index.js +0 -0
  64. package/lib/express/middleware/languageMiddleware/index.js.map +0 -0
  65. package/lib/express/middleware/partnerMiddleware/index.d.ts +0 -0
  66. package/lib/express/middleware/partnerMiddleware/index.js +0 -0
  67. package/lib/express/middleware/partnerMiddleware/index.js.map +0 -0
  68. package/lib/express/middleware/partnerMiddleware/index.types.d.ts +0 -0
  69. package/lib/express/middleware/partnerMiddleware/index.types.js +0 -0
  70. package/lib/express/middleware/partnerMiddleware/index.types.js.map +0 -0
  71. package/lib/express/middleware/partnerMiddleware/partner.d.ts +0 -0
  72. package/lib/express/middleware/partnerMiddleware/partner.js +0 -0
  73. package/lib/express/middleware/partnerMiddleware/partner.js.map +0 -0
  74. package/lib/express/middleware/partnerMiddleware/partnerServiceRequest.d.ts +0 -0
  75. package/lib/express/middleware/partnerMiddleware/partnerServiceRequest.js +0 -0
  76. package/lib/express/middleware/partnerMiddleware/partnerServiceRequest.js.map +0 -0
  77. package/lib/express/middleware/responseHelpersMiddleware/index.d.ts +0 -0
  78. package/lib/express/middleware/responseHelpersMiddleware/index.js +0 -0
  79. package/lib/express/middleware/responseHelpersMiddleware/index.js.map +0 -0
  80. package/lib/express/middleware/responseHelpersMiddleware/types.d.ts +0 -0
  81. package/lib/express/middleware/responseHelpersMiddleware/types.js +0 -0
  82. package/lib/express/middleware/responseHelpersMiddleware/types.js.map +0 -0
  83. package/lib/express/middleware/translationsMiddleware/index.d.ts +0 -0
  84. package/lib/express/middleware/translationsMiddleware/index.js +0 -0
  85. package/lib/express/middleware/translationsMiddleware/index.js.map +0 -0
  86. package/lib/express/swaggerControllersConfig.d.ts +0 -0
  87. package/lib/express/swaggerControllersConfig.js +0 -0
  88. package/lib/express/swaggerControllersConfig.js.map +0 -0
  89. package/lib/express/swaggerHelpers.d.ts +0 -0
  90. package/lib/express/swaggerHelpers.js +0 -0
  91. package/lib/express/swaggerHelpers.js.map +0 -0
  92. package/lib/express/swaggerUiController.d.ts +0 -0
  93. package/lib/express/swaggerUiController.js +0 -0
  94. package/lib/express/swaggerUiController.js.map +0 -0
  95. package/lib/express/swaggerUiTemplate.d.ts +0 -0
  96. package/lib/express/swaggerUiTemplate.js +0 -0
  97. package/lib/express/swaggerUiTemplate.js.map +0 -0
  98. package/lib/helpers/ExecuteOnce.d.ts +0 -0
  99. package/lib/helpers/ExecuteOnce.js +0 -0
  100. package/lib/helpers/ExecuteOnce.js.map +0 -0
  101. package/lib/helpers/UniversalConfig.d.ts +0 -0
  102. package/lib/helpers/UniversalConfig.js +0 -0
  103. package/lib/helpers/UniversalConfig.js.map +0 -0
  104. package/lib/helpers/__tests__/arrays.test.d.ts +0 -0
  105. package/lib/helpers/__tests__/arrays.test.js +0 -0
  106. package/lib/helpers/__tests__/arrays.test.js.map +0 -0
  107. package/lib/helpers/__tests__/emptyValues.test.d.ts +0 -0
  108. package/lib/helpers/__tests__/emptyValues.test.js +0 -0
  109. package/lib/helpers/__tests__/emptyValues.test.js.map +0 -0
  110. package/lib/helpers/__tests__/formatters.formatCurrency.test.d.ts +0 -0
  111. package/lib/helpers/__tests__/formatters.formatCurrency.test.js +0 -0
  112. package/lib/helpers/__tests__/formatters.formatCurrency.test.js.map +0 -0
  113. package/lib/helpers/__tests__/formatters.formatDate.test.d.ts +0 -0
  114. package/lib/helpers/__tests__/formatters.formatDate.test.js +0 -0
  115. package/lib/helpers/__tests__/formatters.formatDate.test.js.map +0 -0
  116. package/lib/helpers/__tests__/formatters.formatDouble.test.d.ts +0 -0
  117. package/lib/helpers/__tests__/formatters.formatDouble.test.js +0 -0
  118. package/lib/helpers/__tests__/formatters.formatDouble.test.js.map +0 -0
  119. package/lib/helpers/__tests__/navigation.test.d.ts +0 -0
  120. package/lib/helpers/__tests__/navigation.test.js +0 -0
  121. package/lib/helpers/__tests__/navigation.test.js.map +0 -0
  122. package/lib/helpers/__tests__/strings.test.d.ts +0 -0
  123. package/lib/helpers/__tests__/strings.test.js +0 -0
  124. package/lib/helpers/__tests__/strings.test.js.map +0 -0
  125. package/lib/helpers/__tests__/validation.test.d.ts +0 -0
  126. package/lib/helpers/__tests__/validation.test.js +0 -0
  127. package/lib/helpers/__tests__/validation.test.js.map +0 -0
  128. package/lib/helpers/arrays.d.ts +0 -0
  129. package/lib/helpers/arrays.js +0 -0
  130. package/lib/helpers/arrays.js.map +0 -0
  131. package/lib/helpers/clientLogger.d.ts +0 -0
  132. package/lib/helpers/clientLogger.js +0 -0
  133. package/lib/helpers/clientLogger.js.map +0 -0
  134. package/lib/helpers/constants/common.d.ts +0 -0
  135. package/lib/helpers/constants/common.js +0 -0
  136. package/lib/helpers/constants/common.js.map +0 -0
  137. package/lib/helpers/constants/fileUploads.d.ts +0 -0
  138. package/lib/helpers/constants/fileUploads.js +0 -0
  139. package/lib/helpers/constants/fileUploads.js.map +0 -0
  140. package/lib/helpers/constants/index.d.ts +0 -0
  141. package/lib/helpers/constants/index.js +0 -0
  142. package/lib/helpers/constants/index.js.map +0 -0
  143. package/lib/helpers/constants/integrations.d.ts +0 -0
  144. package/lib/helpers/constants/integrations.js +0 -0
  145. package/lib/helpers/constants/integrations.js.map +0 -0
  146. package/lib/helpers/constants/language.d.ts +0 -0
  147. package/lib/helpers/constants/language.js +0 -0
  148. package/lib/helpers/constants/language.js.map +0 -0
  149. package/lib/helpers/constants/swagger.d.ts +0 -0
  150. package/lib/helpers/constants/swagger.js +0 -0
  151. package/lib/helpers/constants/swagger.js.map +0 -0
  152. package/lib/helpers/constants/urls.d.ts +0 -0
  153. package/lib/helpers/constants/urls.js +0 -0
  154. package/lib/helpers/constants/urls.js.map +0 -0
  155. package/lib/helpers/constants/user.d.ts +0 -0
  156. package/lib/helpers/constants/user.js +0 -0
  157. package/lib/helpers/constants/user.js.map +0 -0
  158. package/lib/helpers/constants/validators.d.ts +0 -0
  159. package/lib/helpers/constants/validators.js +0 -0
  160. package/lib/helpers/constants/validators.js.map +0 -0
  161. package/lib/helpers/emptyValues.d.ts +0 -0
  162. package/lib/helpers/emptyValues.js +0 -0
  163. package/lib/helpers/emptyValues.js.map +0 -0
  164. package/lib/helpers/formatters.d.ts +0 -0
  165. package/lib/helpers/formatters.js +0 -0
  166. package/lib/helpers/formatters.js.map +0 -0
  167. package/lib/helpers/guards.d.ts +0 -0
  168. package/lib/helpers/guards.js +0 -0
  169. package/lib/helpers/guards.js.map +0 -0
  170. package/lib/helpers/index.d.ts +0 -0
  171. package/lib/helpers/index.js +0 -0
  172. package/lib/helpers/index.js.map +0 -0
  173. package/lib/helpers/isBrowser.d.ts +0 -0
  174. package/lib/helpers/isBrowser.js +0 -0
  175. package/lib/helpers/isBrowser.js.map +0 -0
  176. package/lib/helpers/math.d.ts +0 -0
  177. package/lib/helpers/math.js +0 -0
  178. package/lib/helpers/math.js.map +0 -0
  179. package/lib/helpers/moment.d.ts +0 -0
  180. package/lib/helpers/moment.js +0 -0
  181. package/lib/helpers/moment.js.map +0 -0
  182. package/lib/helpers/navigation.d.ts +0 -0
  183. package/lib/helpers/navigation.js +0 -0
  184. package/lib/helpers/navigation.js.map +0 -0
  185. package/lib/helpers/stringifySafe.d.ts +0 -0
  186. package/lib/helpers/stringifySafe.js +0 -0
  187. package/lib/helpers/stringifySafe.js.map +0 -0
  188. package/lib/helpers/strings.d.ts +0 -0
  189. package/lib/helpers/strings.js +0 -0
  190. package/lib/helpers/strings.js.map +0 -0
  191. package/lib/helpers/validation.d.ts +0 -0
  192. package/lib/helpers/validation.js +0 -0
  193. package/lib/helpers/validation.js.map +0 -0
  194. package/lib/index.d.ts +0 -0
  195. package/lib/index.js +0 -0
  196. package/lib/index.js.map +0 -0
  197. package/lib/interfaces.d.ts +0 -0
  198. package/lib/interfaces.js +0 -0
  199. package/lib/interfaces.js.map +0 -0
  200. package/lib/redux/analyticsMiddleware.d.ts +0 -0
  201. package/lib/redux/analyticsMiddleware.js +0 -0
  202. package/lib/redux/analyticsMiddleware.js.map +0 -0
  203. package/lib/redux/clientMiddleware.d.ts +0 -0
  204. package/lib/redux/clientMiddleware.js +0 -0
  205. package/lib/redux/clientMiddleware.js.map +0 -0
  206. package/lib/redux/emptyMiddleware.d.ts +0 -0
  207. package/lib/redux/emptyMiddleware.js +0 -0
  208. package/lib/redux/emptyMiddleware.js.map +0 -0
  209. package/lib/redux/index.d.ts +0 -0
  210. package/lib/redux/index.js +0 -0
  211. package/lib/redux/index.js.map +0 -0
  212. package/lib/services/bookingService/bookingsService.d.ts +4 -25
  213. package/lib/services/bookingService/bookingsService.js +119 -113
  214. package/lib/services/bookingService/bookingsService.js.map +1 -1
  215. package/lib/services/bookingService/bookingsService.test.d.ts +0 -0
  216. package/lib/services/bookingService/bookingsService.test.js +140 -77
  217. package/lib/services/bookingService/bookingsService.test.js.map +1 -1
  218. package/lib/services/cookieService/cookieService.d.ts +0 -0
  219. package/lib/services/cookieService/cookieService.js +0 -0
  220. package/lib/services/cookieService/cookieService.js.map +0 -0
  221. package/lib/services/dateService/dateService.d.ts +0 -0
  222. package/lib/services/dateService/dateService.js +0 -0
  223. package/lib/services/dateService/dateService.js.map +0 -0
  224. package/lib/services/googleAnalyticsService/googleAnalyticsService.d.ts +0 -0
  225. package/lib/services/googleAnalyticsService/googleAnalyticsService.js +0 -0
  226. package/lib/services/googleAnalyticsService/googleAnalyticsService.js.map +0 -0
  227. package/lib/services/imageService/imageService.d.ts +0 -0
  228. package/lib/services/imageService/imageService.js +0 -0
  229. package/lib/services/imageService/imageService.js.map +0 -0
  230. package/lib/services/index.d.ts +0 -0
  231. package/lib/services/index.js +0 -0
  232. package/lib/services/index.js.map +0 -0
  233. package/lib/services/languageService/languageService.d.ts +0 -0
  234. package/lib/services/languageService/languageService.js +0 -0
  235. package/lib/services/languageService/languageService.js.map +0 -0
  236. package/lib/services/localstorageService/localstorageService.d.ts +0 -0
  237. package/lib/services/localstorageService/localstorageService.js +0 -0
  238. package/lib/services/localstorageService/localstorageService.js.map +0 -0
  239. package/lib/services/roomBookingServices/index.d.ts +7 -2
  240. package/lib/services/roomBookingServices/index.js +34 -50
  241. package/lib/services/roomBookingServices/index.js.map +1 -1
  242. package/lib/services/sessionStorageService/index.d.ts +0 -0
  243. package/lib/services/sessionStorageService/index.js +0 -0
  244. package/lib/services/sessionStorageService/index.js.map +0 -0
  245. package/lib/translations/getAllTranslations.d.ts +0 -0
  246. package/lib/translations/getAllTranslations.js +0 -0
  247. package/lib/translations/getAllTranslations.js.map +0 -0
  248. package/package.json +2 -2
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -46,15 +35,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
46
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
47
36
  };
48
37
  Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.getTotalChildrenCost = exports.getTotalGuestCount = exports.getTotalCost = exports.isOtaBooking = exports.ensureValueIsNumber = exports.getAccommodationCost = exports.getBaseAccommodationCost = exports.getLengthOfStayDiscount = exports.getServicesCost = exports.getTotalCostForRoomBooking = exports.getBreakfastCost = exports.getApplicablePricingRules = exports.getRoomTypePricePlanByType = exports.getDefaultRoomTypePricePlan = void 0;
38
+ exports.getTotalChildrenCost = exports.getTotalGuestCount = exports.isOtaBooking = exports.ensureValueIsNumber = exports.getAccommodationCost = exports.getLengthOfStayDiscount = exports.getOccupancyBasedPricingDiscount = exports.getServicesCost = exports.getBreakfastCost = exports.getApplicablePricingRules = exports.getRoomTypePricePlanByType = exports.getDefaultRoomTypePricePlan = void 0;
50
39
  var moment_1 = __importDefault(require("moment"));
51
40
  var helpers_1 = require("../../helpers");
52
41
  var dateService = __importStar(require("../dateService/dateService"));
53
42
  var roomBookingsService = __importStar(require("../roomBookingServices"));
54
43
  var interfaces_1 = require("../../interfaces");
55
- var getApplyDiscount = function (booking) {
56
- return !(0, exports.isOtaBooking)(booking) && (booking === null || booking === void 0 ? void 0 : booking.bookingSource) !== interfaces_1.BOOKING_SOURCE.IMPORT;
57
- };
44
+ // const getApplyDiscount = (booking: IBooking) => {
45
+ // return !isOtaBooking(booking) && booking?.bookingSource !== BOOKING_SOURCE.IMPORT
46
+ // }
58
47
  var getDefaultRoomTypePricePlan = function (rTPricePlans) {
59
48
  if (!Array.isArray(rTPricePlans)) {
60
49
  return null;
@@ -88,47 +77,18 @@ var getBreakfastCost = function (booking) {
88
77
  return booking.roomBookings.reduce(function (preVal, currVal) { return preVal + roomBookingsService.getBreakfastCost(currVal); }, 0);
89
78
  };
90
79
  exports.getBreakfastCost = getBreakfastCost;
91
- var getTotalCostForRoomBooking = function (roomBooking, checkinDate, checkoutDate, applyDiscount, bookingSource) {
92
- var _a, _b, _c, _d, _e, _f;
93
- if (!roomBooking) {
94
- return 0;
95
- }
96
- var totalCost = 0;
97
- var maxNumberOfAdults = ((_b = (_a = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.maxNumberOfAdults) || ((_c = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.roomType) === null || _c === void 0 ? void 0 : _c.maxNumberOfAdults);
98
- var actualNumberOfAdults = roomBooking.numberOfAdults || 1;
99
- var shouldIncreasePrice = actualNumberOfAdults > maxNumberOfAdults;
100
- var adjustmentFactor = shouldIncreasePrice ? 1 : -1;
101
- var applicablePricingRules = (0, exports.getApplicablePricingRules)(roomBooking, bookingSource).sort(function (a, b) { return a.numberOfAdults - b.numberOfAdults; });
102
- var discountOrIncrease = applicablePricingRules.find(function (rule) { return rule.numberOfAdults >= actualNumberOfAdults; }) ||
103
- applicablePricingRules[applicablePricingRules.length - 1] ||
104
- null;
105
- var pricingInfo = roomBooking.pricingInformation ||
106
- ((_f = (0, exports.getRoomTypePricePlanByType)((_e = (_d = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _d === void 0 ? void 0 : _d.roomType) === null || _e === void 0 ? void 0 : _e.rTPricePlans, bookingSource)) === null || _f === void 0 ? void 0 : _f.pricing) ||
107
- {};
108
- var dateKey = checkinDate.format(helpers_1.DATE_FORMATS.YYYY_MM_DD);
109
- var cost = roomBooking.pricePerNight || (0, exports.ensureValueIsNumber)(pricingInfo[dateKey]);
110
- var calculation = !applyDiscount || actualNumberOfAdults === maxNumberOfAdults || !(discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.value)
111
- ? cost
112
- : (discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.type) === interfaces_1.DISCOUNT_TYPE.PERCENTAGE
113
- ? ((100 + (discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.value) * adjustmentFactor) / 100) * cost || 0
114
- : cost + (discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.value) * adjustmentFactor;
115
- while (checkoutDate.diff(checkinDate, 'days') > 0) {
116
- totalCost += calculation;
117
- checkinDate.add(1, 'days');
118
- }
119
- return totalCost;
120
- };
121
- exports.getTotalCostForRoomBooking = getTotalCostForRoomBooking;
122
- var getServicesCost = function (booking) {
123
- var _a;
80
+ var getServicesCost = function (booking, company) {
81
+ var _a, _b;
124
82
  if (!(booking === null || booking === void 0 ? void 0 : booking.bookingServices)) {
125
83
  return 0;
126
84
  }
127
85
  var servicesCost = 0;
128
- var numberOfNights = (0, moment_1.default)(dateService.normalizeDate(booking === null || booking === void 0 ? void 0 : booking.checkoutDate)).diff((0, moment_1.default)(dateService.normalizeDate(booking === null || booking === void 0 ? void 0 : booking.checkinDate)), 'days');
129
- var _b = (0, exports.getTotalGuestCount)(booking), numberOfAdults = _b.numberOfAdults, numberOfChildren = _b.numberOfChildren;
86
+ var numberOfNights = roomBookingsService.getLengthOfStayRoomBooking(booking);
87
+ var tourismTaxRate = ((_a = company === null || company === void 0 ? void 0 : company.receipts) === null || _a === void 0 ? void 0 : _a.tourismTax) || 0;
88
+ var _c = (0, exports.getTotalGuestCount)(booking), numberOfAdults = _c.numberOfAdults, numberOfChildren = _c.numberOfChildren;
130
89
  var numberOfPersons = numberOfAdults + numberOfChildren || 1;
131
- (_a = booking.bookingServices) === null || _a === void 0 ? void 0 : _a.forEach(function (bookingService) {
90
+ var totalCostTourismTax = numberOfPersons * numberOfNights * tourismTaxRate;
91
+ (_b = booking.bookingServices) === null || _b === void 0 ? void 0 : _b.forEach(function (bookingService) {
132
92
  var _a, _b, _c, _d;
133
93
  if (!bookingService.isActive)
134
94
  return;
@@ -153,22 +113,38 @@ var getServicesCost = function (booking) {
153
113
  }
154
114
  }
155
115
  });
156
- return servicesCost;
116
+ return servicesCost + totalCostTourismTax;
157
117
  };
158
118
  exports.getServicesCost = getServicesCost;
159
- var calculateTourismTaxCost = function (booking, company) {
160
- var _a;
161
- var tourismTaxRate = ((_a = company === null || company === void 0 ? void 0 : company.receipts) === null || _a === void 0 ? void 0 : _a.tourismTax) || 0;
162
- var numberOfAdults = (0, exports.getTotalGuestCount)(booking).numberOfAdults;
163
- var lengthOfStay = (0, moment_1.default)(dateService.normalizeDate(booking === null || booking === void 0 ? void 0 : booking.checkoutDate)).diff((0, moment_1.default)(dateService.normalizeDate(booking === null || booking === void 0 ? void 0 : booking.checkinDate)));
164
- return tourismTaxRate * numberOfAdults * lengthOfStay;
119
+ var getOccupancyBasedPricingDiscount = function (booking) {
120
+ return booking.roomBookings.reduce(function (accumulator, roomBooking) {
121
+ var _a, _b;
122
+ var applicablePricingRules = (0, exports.getApplicablePricingRules)(roomBooking, booking.bookingSource);
123
+ var sortedRules = applicablePricingRules.sort(function (a, b) { return a.numberOfAdults - b.numberOfAdults; });
124
+ var discountOrIncrease = sortedRules.find(function (rule) { return rule.active && rule.numberOfAdults >= roomBooking.numberOfAdults; });
125
+ if (!discountOrIncrease) {
126
+ discountOrIncrease = sortedRules[sortedRules.length - 1];
127
+ }
128
+ if (!discountOrIncrease || discountOrIncrease.value === undefined) {
129
+ return 0;
130
+ }
131
+ var basePrice = (0, exports.getAccommodationCost)(booking) / roomBookingsService.getLengthOfStayRoomBooking(roomBooking);
132
+ if (basePrice === 0)
133
+ return roomBooking.pricePerNight || 0;
134
+ var discountAmount = discountOrIncrease.type === interfaces_1.DISCOUNT_TYPE.PERCENTAGE
135
+ ? basePrice * (discountOrIncrease.value / 100)
136
+ : discountOrIncrease.value;
137
+ var isDiscount = roomBooking.numberOfAdults < ((_b = (_a = roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.maxNumberOfAdults);
138
+ return (isDiscount ? -discountAmount : discountAmount) + accumulator;
139
+ }, 0);
165
140
  };
141
+ exports.getOccupancyBasedPricingDiscount = getOccupancyBasedPricingDiscount;
166
142
  var getLengthOfStayDiscount = function (booking, company) {
167
143
  if (!(company === null || company === void 0 ? void 0 : company.owDiscountRules)) {
168
- return (booking === null || booking === void 0 ? void 0 : booking.totalCost) || 0;
144
+ return 0;
169
145
  }
170
146
  var lengthOfStay = roomBookingsService.getLengthOfStayRoomBooking(booking);
171
- var totalCost = (booking === null || booking === void 0 ? void 0 : booking.totalCost) || 0;
147
+ var totalCost = 0;
172
148
  var owDiscountRule = __spreadArray([], ((company === null || company === void 0 ? void 0 : company.owDiscountRules) || []), true).sort(function (rule1, rule2) { return rule2.lengthOfStay - rule1.lengthOfStay; })
173
149
  .find(function (rule) { return rule.lengthOfStay <= lengthOfStay; });
174
150
  if (owDiscountRule) {
@@ -180,52 +156,71 @@ var getLengthOfStayDiscount = function (booking, company) {
180
156
  return totalCost;
181
157
  };
182
158
  exports.getLengthOfStayDiscount = getLengthOfStayDiscount;
183
- var getBaseAccommodationCost = function (roomBookings, checkinDate, checkoutDate, bookingSource) {
184
- if (!checkinDate || !checkoutDate) {
159
+ var getAccommodationCost = function (booking) {
160
+ var _checkinDate = booking.checkinDate, _checkoutDate = booking.checkoutDate, roomBookings = booking.roomBookings, bookingSource = booking.bookingSource;
161
+ if (!_checkinDate || !_checkoutDate) {
185
162
  return 0;
186
163
  }
187
- var checkinDateNormalized = (0, moment_1.default)(dateService.normalizeDate(checkinDate));
188
- var checkoutDateNormalized = (0, moment_1.default)(dateService.normalizeDate(checkoutDate));
164
+ var checkinDate = (0, moment_1.default)(dateService.normalizeDate(_checkinDate)).startOf('day');
165
+ var checkoutDate = (0, moment_1.default)(dateService.normalizeDate(_checkoutDate)).startOf('day');
189
166
  return roomBookings.reduce(function (totalCost, roomBooking) {
190
- var _a, _b, _c, _d, _e;
167
+ var _a, _b, _c;
191
168
  var roomCost = 0;
192
- var currentDate = (0, moment_1.default)(checkinDateNormalized);
193
- while (currentDate.isBefore(checkoutDateNormalized)) {
194
- var pricingInfo = roomBooking.pricingInformation ||
195
- ((_c = (0, exports.getRoomTypePricePlanByType)((_b = (_a = roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.rTPricePlans, bookingSource)) === null || _c === void 0 ? void 0 : _c.pricing) ||
196
- {};
169
+ var currentDate = (0, moment_1.default)(checkinDate);
170
+ // @TODO de vazut in toate proiectele unde se paseaza acest pricingInformation sa se paseze de fapt roomBooking.room?.roomType?.rTPricePlans DEFAULT | BOOKING
171
+ while (currentDate.isBefore(checkoutDate)) {
172
+ var pricingInformation = ((_c = (0, exports.getRoomTypePricePlanByType)((_b = (_a = roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.rTPricePlans, bookingSource)) === null || _c === void 0 ? void 0 : _c.pricing) || {};
197
173
  var dateKey = currentDate.format(helpers_1.DATE_FORMATS.YYYY_MM_DD);
198
- var basePrice = pricingInfo[dateKey] || ((_e = (_d = roomBooking.room) === null || _d === void 0 ? void 0 : _d.roomType) === null || _e === void 0 ? void 0 : _e.defaultPrice) || 0;
174
+ var basePrice = pricingInformation[dateKey] || 0;
199
175
  roomCost += basePrice;
200
176
  currentDate.add(1, 'days');
201
177
  }
202
178
  return totalCost + roomCost;
203
179
  }, 0);
204
180
  };
205
- exports.getBaseAccommodationCost = getBaseAccommodationCost;
206
- var getAccommodationCost = function (roomBookings, _checkinDate, _checkoutDate, booking, company, _applyDiscount) {
207
- if (!_checkinDate || !_checkoutDate) {
208
- return null;
209
- }
210
- var checkinDate = (0, moment_1.default)(dateService.normalizeDate(_checkinDate));
211
- var checkoutDate = (0, moment_1.default)(dateService.normalizeDate(_checkoutDate));
212
- var totalCost = 0;
213
- var applyDiscount = _applyDiscount !== null && _applyDiscount !== void 0 ? _applyDiscount : getApplyDiscount(booking);
214
- for (var _i = 0, roomBookings_1 = roomBookings; _i < roomBookings_1.length; _i++) {
215
- var roomBooking = roomBookings_1[_i];
216
- var costForRoomBooking = (0, exports.getTotalCostForRoomBooking)(roomBooking, (0, moment_1.default)(checkinDate.toISOString()), (0, moment_1.default)(checkoutDate.toISOString()), applyDiscount, booking.bookingSource);
217
- totalCost += costForRoomBooking;
218
- }
219
- if (company && applyDiscount) {
220
- var bookingWithTotalCost = __assign(__assign({}, booking), { totalCost: totalCost });
221
- totalCost = (0, exports.getLengthOfStayDiscount)(bookingWithTotalCost, company);
222
- }
223
- if (booking && company && applyDiscount) {
224
- totalCost += calculateTourismTaxCost(booking, company);
225
- }
226
- return totalCost;
227
- };
228
181
  exports.getAccommodationCost = getAccommodationCost;
182
+ // export const getAccommodationCost = (
183
+ // roomBookings: Array<{
184
+ // roomId?: string
185
+ // breakfastIncluded?: boolean
186
+ // pricingInformation?: Partial<IRoomTypePricePlanPricingInformation>
187
+ // pricingRules?: IRoomTypePricePlanPricingRules
188
+ // numberOfAdults?: number
189
+ // numberOfChildren?: number
190
+ // room?: IRoom
191
+ // }>,
192
+ // _checkinDate: Moment,
193
+ // _checkoutDate: Moment,
194
+ // booking: IBooking,
195
+ // company: any,
196
+ // _applyDiscount?: boolean,
197
+ // ) => {
198
+ // if (!_checkinDate || !_checkoutDate) {
199
+ // return null
200
+ // }
201
+ // const checkinDate: moment.Moment = moment(dateService.normalizeDate(_checkinDate))
202
+ // const checkoutDate: moment.Moment = moment(dateService.normalizeDate(_checkoutDate))
203
+ // let totalCost = 0
204
+ // const applyDiscount = _applyDiscount ?? getApplyDiscount(booking)
205
+ // for (const roomBooking of roomBookings) {
206
+ // const costForRoomBooking = getTotalCostForRoomBooking(
207
+ // roomBooking,
208
+ // moment(checkinDate.toISOString()),
209
+ // moment(checkoutDate.toISOString()),
210
+ // applyDiscount,
211
+ // booking.bookingSource,
212
+ // )
213
+ // totalCost += costForRoomBooking
214
+ // }
215
+ // if (company && applyDiscount) {
216
+ // const bookingWithTotalCost = { ...booking, totalCost }
217
+ // totalCost = getLengthOfStayDiscount(bookingWithTotalCost, company)
218
+ // }
219
+ // if (booking && company && applyDiscount) {
220
+ // totalCost += calculateTourismTaxCost(booking, company)
221
+ // }
222
+ // return totalCost
223
+ // }
229
224
  var ensureValueIsNumber = function (value, isDouble) {
230
225
  if (isDouble === void 0) { isDouble = true; }
231
226
  if ((0, helpers_1.isEmpty)(value)) {
@@ -263,25 +258,36 @@ var isOtaBooking = function (booking) {
263
258
  (booking === null || booking === void 0 ? void 0 : booking.bookingSource) !== interfaces_1.BOOKING_SOURCE.IMPORT);
264
259
  };
265
260
  exports.isOtaBooking = isOtaBooking;
266
- var getTotalCost = function (booking, company, applyDiscount) {
267
- if (!booking || !booking.roomBookings || booking.roomBookings.length === 0) {
268
- return 0;
269
- }
270
- var totalAccommodationCost = booking.roomBookings.reduce(function (totalCost, roomBooking) {
271
- var _a, _b, _c, _d, _e;
272
- var roomTypePricePlan = (0, exports.getRoomTypePricePlanByType)((_b = (_a = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.rTPricePlans, booking.bookingSource);
273
- var roomCost = (0, exports.getAccommodationCost)([
274
- __assign(__assign({}, roomBooking), { pricingInformation: (roomTypePricePlan === null || roomTypePricePlan === void 0 ? void 0 : roomTypePricePlan.pricing) || {}, pricingRules: (roomTypePricePlan === null || roomTypePricePlan === void 0 ? void 0 : roomTypePricePlan.pricingRules) || [] }),
275
- ], (0, moment_1.default)(roomBooking.checkinDate), (0, moment_1.default)(roomBooking.checkoutDate), booking, company, applyDiscount);
276
- var breakfastCost = ((_e = (_d = (_c = roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.room) === null || _c === void 0 ? void 0 : _c.roomType) === null || _d === void 0 ? void 0 : _d.breakfastInformation) === null || _e === void 0 ? void 0 : _e.type) !== interfaces_1.ROOM_TYPE_BREAKFAST_INFORMATION_TYPE.INCLUDED_IN_ROOM_PRICE
277
- ? (0, exports.getBreakfastCost)(booking)
278
- : 0;
279
- return totalCost + (roomCost || 0) + breakfastCost;
280
- }, 0);
281
- var totalServicesCost = (0, exports.getServicesCost)(booking);
282
- return totalAccommodationCost + totalServicesCost;
283
- };
284
- exports.getTotalCost = getTotalCost;
261
+ // @TODO Stage II check all the projects and remove getTotalCost() replacing it with the component parts
262
+ // export const getTotalCost = (booking: IBooking, company: any, applyDiscount?: boolean): number => {
263
+ // if (!booking || !booking.roomBookings || booking.roomBookings.length === 0) {
264
+ // return 0
265
+ // }
266
+ // const totalAccommodationCost = booking.roomBookings.reduce((totalCost, roomBooking) => {
267
+ // const roomTypePricePlan = getRoomTypePricePlanByType(roomBooking?.room?.roomType?.rTPricePlans, booking.bookingSource)
268
+ // const roomCost = getAccommodationCost(
269
+ // [
270
+ // {
271
+ // ...roomBooking,
272
+ // pricingInformation: roomTypePricePlan?.pricing || {},
273
+ // pricingRules: roomTypePricePlan?.pricingRules || [],
274
+ // },
275
+ // ],
276
+ // moment(roomBooking.checkinDate),
277
+ // moment(roomBooking.checkoutDate),
278
+ // booking,
279
+ // company,
280
+ // applyDiscount,
281
+ // )
282
+ // const breakfastCost =
283
+ // roomBooking?.room?.roomType?.breakfastInformation?.type !== ROOM_TYPE_BREAKFAST_INFORMATION_TYPE.INCLUDED_IN_ROOM_PRICE
284
+ // ? getBreakfastCost(booking)
285
+ // : 0
286
+ // return totalCost + (roomCost || 0) + breakfastCost
287
+ // }, 0)
288
+ // const totalServicesCost = getServicesCost(booking)
289
+ // return totalAccommodationCost + totalServicesCost
290
+ // }
285
291
  var getTotalGuestCount = function (booking) {
286
292
  return booking.roomBookings.reduce(function (total, roomBooking) { return ({
287
293
  numberOfAdults: total.numberOfAdults + (roomBooking.numberOfAdults || 0),
@@ -1 +1 @@
1
- {"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2B;AAC3B,yCAAqD;AACrD,sEAAyD;AACzD,0EAA6D;AAC7D,+CASyB;AAEzB,oDAAoD;AACpD,sFAAsF;AACtF,IAAI;AAEG,IAAM,2BAA2B,GAAG,UAAC,YAAkC;IAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,YAAY,CAAC,IAAI,CAAC,UAAC,iBAAiB,IAAK,OAAA,iBAAiB,CAAC,IAAI,KAAK,yBAAY,CAAC,OAAO,EAA/C,CAA+C,CAAC;QACzF,YAAY,CAAC,IAAI,CAAC,UAAC,iBAAiB,IAAK,OAAA,iBAAiB,CAAC,IAAI,KAAK,yBAAY,CAAC,OAAO,EAA/C,CAA+C,CAAC,CAC1F,CAAA;AACH,CAAC,CAAA;AATY,QAAA,2BAA2B,+BASvC;AAEM,IAAM,0BAA0B,GAAG,UAAC,YAAkC,EAAE,aAA6B;IAC1G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAM,iBAAiB,GACrB,YAAY,CAAC,IAAI,CAAC,UAAC,iBAAiB,IAAK,OAAA,iBAAiB,CAAC,IAAI,KAAM,aAAqB,EAAjD,CAAiD,CAAC;QAC3F,IAAA,mCAA2B,EAAC,YAAY,CAAC,CAAA;IAE3C,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AAVY,QAAA,0BAA0B,8BAUtC;AAEM,IAAM,yBAAyB,GAAG,UACvC,WAAyB,EACzB,aAA8B;;IAE9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,0CAAE,YAAY,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAM,iBAAiB,GAAG,IAAA,kCAA0B,EAAC,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,0CAAE,YAAY,EAAE,aAAa,CAAC,CAAA;IAE9G,OAAO,CAAC,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,YAAY,KAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAC,WAAW,IAAK,OAAA,WAAW,CAAC,MAAM,EAAlB,CAAkB,CAAC,CAAA;AAC5F,CAAC,CAAA;AAXY,QAAA,yBAAyB,6BAWrC;AAEM,IAAM,gBAAgB,GAAG,UAAC,OAAiB;IAChD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,OAAO,IAAK,OAAA,MAAM,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAtD,CAAsD,EAAE,CAAC,CAAC,CAAA;AACpH,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B;AAEM,IAAM,eAAe,GAAG,UAAC,OAAiB,EAAE,OAAY;;IAC7D,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAA,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,YAAY,GAAW,CAAC,CAAA;IAC5B,IAAM,cAAc,GAAG,mBAAmB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAC9E,IAAM,cAAc,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,UAAU,KAAI,CAAC,CAAA;IACnD,IAAA,KAAuC,IAAA,0BAAkB,EAAC,OAAO,CAAC,EAAhE,cAAc,oBAAA,EAAE,gBAAgB,sBAAgC,CAAA;IACxE,IAAM,eAAe,GAAG,cAAc,GAAG,gBAAgB,IAAI,CAAC,CAAA;IAC9D,IAAM,mBAAmB,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,CAAA;IAE7E,MAAA,OAAO,CAAC,eAAe,0CAAE,OAAO,CAAC,UAAC,cAAc;;QAC9C,IAAI,CAAC,cAAc,CAAC,QAAQ;YAAE,OAAM;QAEpC,IAAM,MAAM,GAAG,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,0CAAE,MAAM,MAAI,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,MAAM,CAAA,CAAA;QAC9E,IAAM,WAAW,GAAG,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,0CAAE,WAAW,MAAI,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,WAAW,CAAA,CAAA;QAE7F,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;YAC1B,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,WAAW;oBACd,YAAY,IAAI,MAAM,GAAG,cAAc,CAAA;oBACvC,MAAK;gBACP,KAAK,YAAY;oBACf,YAAY,IAAI,MAAM,GAAG,eAAe,CAAA;oBACxC,MAAK;gBACP,KAAK,UAAU;oBACb,YAAY,IAAI,MAAM,CAAA;oBACtB,MAAK;gBACP,KAAK,sBAAsB;oBACzB,YAAY,IAAI,MAAM,GAAG,eAAe,GAAG,cAAc,CAAA;oBACzD,MAAK;gBACP;oBACE,MAAK;YACT,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,YAAY,GAAG,mBAAmB,CAAA;AAC3C,CAAC,CAAA;AAvCY,QAAA,eAAe,mBAuC3B;AAEM,IAAM,gCAAgC,GAAG,UAAC,OAAiB;IAChE,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,WAAW,EAAE,WAAW;;QAC1D,IAAM,sBAAsB,GAAG,IAAA,iCAAyB,EAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;QAC5F,IAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,EAAnC,CAAmC,CAAC,CAAA;QAC9F,IAAI,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc,EAAhE,CAAgE,CAAC,CAAA;QAErH,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC1D,CAAC;QAED,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClE,OAAO,CAAC,CAAA;QACV,CAAC;QAED,IAAM,SAAS,GAAG,IAAA,4BAAoB,EAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAA;QAE7G,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC,aAAa,IAAI,CAAC,CAAA;QAE1D,IAAM,cAAc,GAClB,kBAAkB,CAAC,IAAI,KAAK,0BAAa,CAAC,UAAU;YAClD,CAAC,CAAC,SAAS,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,GAAG,CAAC;YAC9C,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAA;QAE9B,IAAM,UAAU,GAAG,WAAW,CAAC,cAAc,IAAG,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,iBAAiB,CAAA,CAAA;QAE7F,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,WAAW,CAAA;IACtE,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AA3BY,QAAA,gCAAgC,oCA2B5C;AAEM,IAAM,uBAAuB,GAAG,UAAC,OAAiB,EAAE,OAAY;IACrE,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAA,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAM,YAAY,GAAG,mBAAmB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAC5E,IAAM,SAAS,GAAW,CAAC,CAAA;IAE3B,IAAM,cAAc,GAAG,kBAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,EAAE,CAAC,QACxD,IAAI,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAvC,CAAuC,CAAC;SAC/D,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,YAAY,IAAI,YAAY,EAAjC,CAAiC,CAAC,CAAA;IAEpD,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,cAAc,CAAC,IAAI,KAAK,0BAAa,CAAC,UAAU,EAAE,CAAC;YACrD,OAAO,SAAS,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;QACrD,CAAC;QAED,OAAO,SAAS,GAAG,cAAc,CAAC,KAAK,GAAG,YAAY,CAAA;IACxD,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AArBY,QAAA,uBAAuB,2BAqBnC;AAEM,IAAM,oBAAoB,GAAG,UAAC,OAAiB;IAC5C,IAAa,YAAY,GAA+D,OAAO,YAAtE,EAAgB,aAAa,GAAkC,OAAO,aAAzC,EAAE,YAAY,GAAoB,OAAO,aAA3B,EAAE,aAAa,GAAK,OAAO,cAAZ,CAAY;IAEvG,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAM,WAAW,GAAkB,IAAA,gBAAM,EAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACjG,IAAM,YAAY,GAAkB,IAAA,gBAAM,EAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAEnG,OAAO,YAAY,CAAC,MAAM,CAAC,UAAC,SAAiB,EAAE,WAAW;;QACxD,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAM,WAAW,GAAG,IAAA,gBAAM,EAAC,WAAW,CAAC,CAAA;QAEvC,8JAA8J;QAC9J,OAAO,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,IAAM,kBAAkB,GACtB,CAAA,MAAA,IAAA,kCAA0B,EAAC,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,QAAQ,0CAAE,YAAY,EAAE,aAAa,CAAC,0CAAE,OAAO,KAAI,EAAE,CAAA;YACpG,IAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,sBAAY,CAAC,UAAU,CAAC,CAAA;YAC3D,IAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAElD,QAAQ,IAAI,SAAS,CAAA;YACrB,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC5B,CAAC;QAED,OAAO,SAAS,GAAG,QAAQ,CAAA;IAC7B,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AA3BY,QAAA,oBAAoB,wBA2BhC;AAED,wCAAwC;AACxC,0BAA0B;AAC1B,sBAAsB;AACtB,kCAAkC;AAClC,yEAAyE;AACzE,oDAAoD;AACpD,8BAA8B;AAC9B,gCAAgC;AAChC,mBAAmB;AACnB,QAAQ;AACR,0BAA0B;AAC1B,2BAA2B;AAC3B,uBAAuB;AACvB,kBAAkB;AAClB,8BAA8B;AAC9B,SAAS;AACT,2CAA2C;AAC3C,kBAAkB;AAClB,MAAM;AAEN,uFAAuF;AACvF,yFAAyF;AAEzF,sBAAsB;AACtB,sEAAsE;AAEtE,8CAA8C;AAC9C,6DAA6D;AAC7D,qBAAqB;AACrB,2CAA2C;AAC3C,4CAA4C;AAC5C,uBAAuB;AACvB,+BAA+B;AAC/B,QAAQ;AAER,sCAAsC;AACtC,MAAM;AAEN,oCAAoC;AACpC,6DAA6D;AAC7D,yEAAyE;AACzE,MAAM;AAEN,+CAA+C;AAC/C,6DAA6D;AAC7D,MAAM;AAEN,qBAAqB;AACrB,IAAI;AAEG,IAAM,mBAAmB,GAAG,UAAC,KAAsB,EAAE,QAAe;IAAf,yBAAA,EAAA,eAAe;IACzE,IAAI,IAAA,iBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAlBY,QAAA,mBAAmB,uBAkB/B;AAED,IAAM,uBAAuB,GAAG,UAAC,KAAa,EAAE,QAAiB;IAC/D,IAAM,qBAAqB,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;SACxC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAErB,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA;AAEM,IAAM,YAAY,GAAG,UAAC,OAAiB;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,CACL,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,2BAAc,CAAC,MAAM;QAChD,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,2BAAc,CAAC,UAAU;QACpD,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,2BAAc,CAAC,OAAO;QACjD,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,2BAAc,CAAC,MAAM,CACjD,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,YAAY,gBAWxB;AAED,wGAAwG;AAExG,sGAAsG;AACtG,kFAAkF;AAClF,eAAe;AACf,MAAM;AAEN,6FAA6F;AAC7F,6HAA6H;AAE7H,6CAA6C;AAC7C,UAAU;AACV,YAAY;AACZ,4BAA4B;AAC5B,kEAAkE;AAClE,iEAAiE;AACjE,aAAa;AACb,WAAW;AACX,yCAAyC;AACzC,0CAA0C;AAC1C,iBAAiB;AACjB,iBAAiB;AACjB,uBAAuB;AACvB,QAAQ;AAER,4BAA4B;AAC5B,gIAAgI;AAChI,sCAAsC;AACtC,cAAc;AAEd,yDAAyD;AACzD,UAAU;AAEV,uDAAuD;AAEvD,sDAAsD;AACtD,IAAI;AAEG,IAAM,kBAAkB,GAAG,UAAC,OAAiB;IAClD,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAChC,UAAC,KAAK,EAAE,WAAW,IAAK,OAAA,CAAC;QACvB,cAAc,EAAE,KAAK,CAAC,cAAc,GAAG,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,CAAC;QACxE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,GAAG,CAAC,WAAW,CAAC,gBAAgB,IAAI,CAAC,CAAC;KAC/E,CAAC,EAHsB,CAGtB,EACF,EAAE,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAC3C,CAAA;AACH,CAAC,CAAA;AARY,QAAA,kBAAkB,sBAQ9B;AAEM,IAAM,oBAAoB,GAAG,UAAC,OAAiB;IACpD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,WAAyB;QAClE,OAAO,KAAK,GAAG,mBAAmB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;IACjE,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AARY,QAAA,oBAAoB,wBAQhC"}