@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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,5 +1,10 @@
1
- import { BOOKING_SOURCE, IRoomBooking } from '../../interfaces';
1
+ import { Moment } from 'moment';
2
+ import { BOOKING_SOURCE, IRoomBooking, IRoomTypePricePlanPricingInformation, IRoomTypePricePlanPricingRules } from '../../interfaces';
2
3
  export declare const getBreakfastCost: (roomBooking: IRoomBooking) => number;
3
4
  export declare const getLengthOfStayRoomBooking: (roomBooking: IRoomBooking) => number;
4
- export declare const getDiscountOrIncreaseAmount: (roomBooking: IRoomBooking, bookingSource?: BOOKING_SOURCE) => number;
5
5
  export declare const getChildrenCost: (roomBooking: IRoomBooking) => number;
6
+ export declare const getTotalCostForRoomBooking: (roomBooking: IRoomBooking & {
7
+ price?: number;
8
+ pricingRules?: IRoomTypePricePlanPricingRules;
9
+ pricingInformation?: Partial<IRoomTypePricePlanPricingInformation>;
10
+ }, checkinDate: Moment, checkoutDate: Moment, applyDiscount?: boolean, bookingSource?: BOOKING_SOURCE) => number;
@@ -1,37 +1,14 @@
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getChildrenCost = exports.getDiscountOrIncreaseAmount = exports.getLengthOfStayRoomBooking = exports.getBreakfastCost = void 0;
6
+ exports.getTotalCostForRoomBooking = exports.getChildrenCost = exports.getLengthOfStayRoomBooking = exports.getBreakfastCost = void 0;
30
7
  var moment_1 = __importDefault(require("moment"));
31
8
  var interfaces_1 = require("../../interfaces");
32
9
  var dateService_1 = require("../dateService/dateService");
33
10
  var bookingsService_1 = require("../bookingService/bookingsService");
34
- var dateService = __importStar(require("../dateService/dateService"));
11
+ var helpers_1 = require("../../helpers");
35
12
  var getBreakfastCost = function (roomBooking) {
36
13
  var _a, _b, _c;
37
14
  if (!(roomBooking === null || roomBooking === void 0 ? void 0 : roomBooking.breakfastIncluded)) {
@@ -50,30 +27,6 @@ var getLengthOfStayRoomBooking = function (roomBooking) {
50
27
  return (0, moment_1.default)((0, dateService_1.normalizeDate)(roomBooking.checkoutDate)).diff((0, moment_1.default)((0, dateService_1.normalizeDate)(roomBooking.checkinDate)), 'days');
51
28
  };
52
29
  exports.getLengthOfStayRoomBooking = getLengthOfStayRoomBooking;
53
- var getDiscountOrIncreaseAmount = function (roomBooking, bookingSource) {
54
- var _a, _b;
55
- var applicablePricingRules = (0, bookingsService_1.getApplicablePricingRules)(roomBooking, bookingSource);
56
- var sortedRules = applicablePricingRules.sort(function (a, b) { return a.numberOfAdults - b.numberOfAdults; });
57
- var discountOrIncrease = sortedRules.find(function (rule) { return rule.active && rule.numberOfAdults >= roomBooking.numberOfAdults; });
58
- if (!discountOrIncrease) {
59
- discountOrIncrease = sortedRules[sortedRules.length - 1];
60
- }
61
- if (!discountOrIncrease || discountOrIncrease.value === undefined) {
62
- return 0;
63
- }
64
- var checkinDate = (0, moment_1.default)(dateService.normalizeDate(roomBooking.checkinDate));
65
- var checkoutDate = (0, moment_1.default)(dateService.normalizeDate(roomBooking.checkoutDate));
66
- var basePrice = (0, bookingsService_1.getBaseAccommodationCost)([roomBooking], checkinDate, checkoutDate, bookingSource) /
67
- (0, exports.getLengthOfStayRoomBooking)(roomBooking);
68
- if (basePrice === 0)
69
- return roomBooking.pricePerNight || 0;
70
- var discountAmount = discountOrIncrease.type === interfaces_1.DISCOUNT_TYPE.PERCENTAGE
71
- ? basePrice * (discountOrIncrease.value / 100)
72
- : discountOrIncrease.value;
73
- var isDiscount = roomBooking.numberOfAdults < ((_b = (_a = roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.maxNumberOfAdults);
74
- return isDiscount ? -discountAmount : discountAmount;
75
- };
76
- exports.getDiscountOrIncreaseAmount = getDiscountOrIncreaseAmount;
77
30
  var getChildrenCost = function (roomBooking) {
78
31
  var _a, _b;
79
32
  if (!((_b = (_a = roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.childrenRates) || !roomBooking.numberOfChildren || roomBooking.numberOfChildren === 0) {
@@ -82,7 +35,7 @@ var getChildrenCost = function (roomBooking) {
82
35
  var roomType = roomBooking.room.roomType;
83
36
  var childrenRates = roomType.childrenRates;
84
37
  var numberOfNights = (0, exports.getLengthOfStayRoomBooking)(roomBooking);
85
- var childrenAges = roomBooking.childrenAges || [];
38
+ var childrenAges = Array.isArray(roomBooking.childrenAges) ? roomBooking.childrenAges : [];
86
39
  return childrenAges.reduce(function (total, child) {
87
40
  var _a;
88
41
  if (child.age !== null && child.age !== undefined) {
@@ -93,4 +46,35 @@ var getChildrenCost = function (roomBooking) {
93
46
  }, 0);
94
47
  };
95
48
  exports.getChildrenCost = getChildrenCost;
49
+ var getTotalCostForRoomBooking = function (roomBooking, checkinDate, checkoutDate, applyDiscount, bookingSource) {
50
+ var _a, _b, _c, _d, _e, _f;
51
+ if (!roomBooking) {
52
+ return 0;
53
+ }
54
+ var totalCost = 0;
55
+ 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);
56
+ var actualNumberOfAdults = roomBooking.numberOfAdults || 1;
57
+ var shouldIncreasePrice = actualNumberOfAdults > maxNumberOfAdults;
58
+ var adjustmentFactor = shouldIncreasePrice ? 1 : -1;
59
+ var applicablePricingRules = (0, bookingsService_1.getApplicablePricingRules)(roomBooking, bookingSource).sort(function (a, b) { return a.numberOfAdults - b.numberOfAdults; });
60
+ var discountOrIncrease = applicablePricingRules.find(function (rule) { return rule.numberOfAdults >= actualNumberOfAdults; }) ||
61
+ applicablePricingRules[applicablePricingRules.length - 1] ||
62
+ null;
63
+ var pricingInfo = roomBooking.pricingInformation ||
64
+ ((_f = (0, bookingsService_1.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) ||
65
+ {};
66
+ var dateKey = checkinDate.format(helpers_1.DATE_FORMATS.YYYY_MM_DD);
67
+ var cost = roomBooking.pricePerNight || (0, bookingsService_1.ensureValueIsNumber)(pricingInfo[dateKey]);
68
+ var calculation = !applyDiscount || actualNumberOfAdults === maxNumberOfAdults || !(discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.value)
69
+ ? cost
70
+ : (discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.type) === interfaces_1.DISCOUNT_TYPE.PERCENTAGE
71
+ ? ((100 + (discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.value) * adjustmentFactor) / 100) * cost || 0
72
+ : cost + (discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.value) * adjustmentFactor;
73
+ while (checkoutDate.diff(checkinDate, 'days') > 0) {
74
+ totalCost += calculation;
75
+ checkinDate.add(1, 'days');
76
+ }
77
+ return totalCost;
78
+ };
79
+ exports.getTotalCostForRoomBooking = getTotalCostForRoomBooking;
96
80
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/roomBookingServices/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/roomBookingServices/index.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyper.software/common-helpers",
3
- "version": "1.2.4",
3
+ "version": "1.2.6",
4
4
  "author": "Raul Tomescu <tomescu.raul+hyper@gmail.com>",
5
5
  "description": "Hyper Software Common Javascript Helpers",
6
6
  "main": "lib/index.js",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@babel/preset-env": "^7.23.3",
38
- "@hyper.software/common-models": "^2.3.4",
38
+ "@hyper.software/common-models": "^2.3.6",
39
39
  "@hyper.software/tslint-config": "^1.0.1",
40
40
  "@sentry/types": "^7.77.0",
41
41
  "@types/cookie": "^0.5.3",