@hyper.software/common-helpers 2.1.3 → 2.1.5

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 (300) 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 +2 -1
  198. package/lib/interfaces.js +1 -0
  199. package/lib/interfaces.js.map +1 -1
  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/__tests__/bookingInvoiceService.getAdultAndChildrenCount.test.d.ts +0 -0
  213. package/lib/services/bookingService/__tests__/bookingInvoiceService.getAdultAndChildrenCount.test.js +0 -0
  214. package/lib/services/bookingService/__tests__/bookingInvoiceService.getAdultAndChildrenCount.test.js.map +0 -0
  215. package/lib/services/bookingService/__tests__/bookingInvoiceService.test.d.ts +0 -0
  216. package/lib/services/bookingService/__tests__/bookingInvoiceService.test.js +0 -0
  217. package/lib/services/bookingService/__tests__/bookingInvoiceService.test.js.map +0 -0
  218. package/lib/services/bookingService/__tests__/bookingService.initialiseProducts.test.d.ts +0 -0
  219. package/lib/services/bookingService/__tests__/bookingService.initialiseProducts.test.js +0 -0
  220. package/lib/services/bookingService/__tests__/bookingService.initialiseProducts.test.js.map +0 -0
  221. package/lib/services/bookingService/__tests__/bookingServicesService.getBookingServiceTotalCost.test.d.ts +0 -0
  222. package/lib/services/bookingService/__tests__/bookingServicesService.getBookingServiceTotalCost.test.js +0 -0
  223. package/lib/services/bookingService/__tests__/bookingServicesService.getBookingServiceTotalCost.test.js.map +0 -0
  224. package/lib/services/bookingService/__tests__/bookingsService.getAccommodationCost.test.d.ts +0 -0
  225. package/lib/services/bookingService/__tests__/bookingsService.getAccommodationCost.test.js +0 -0
  226. package/lib/services/bookingService/__tests__/bookingsService.getAccommodationCost.test.js.map +0 -0
  227. package/lib/services/bookingService/__tests__/bookingsService.getBookingServiceQuantity.test.d.ts +0 -0
  228. package/lib/services/bookingService/__tests__/bookingsService.getBookingServiceQuantity.test.js +0 -0
  229. package/lib/services/bookingService/__tests__/bookingsService.getBookingServiceQuantity.test.js.map +0 -0
  230. package/lib/services/bookingService/__tests__/bookingsService.getChildrenCost.test.d.ts +0 -0
  231. package/lib/services/bookingService/__tests__/bookingsService.getChildrenCost.test.js +0 -0
  232. package/lib/services/bookingService/__tests__/bookingsService.getChildrenCost.test.js.map +0 -0
  233. package/lib/services/bookingService/__tests__/bookingsService.getLengthOfStay.test.d.ts +0 -0
  234. package/lib/services/bookingService/__tests__/bookingsService.getLengthOfStay.test.js +0 -0
  235. package/lib/services/bookingService/__tests__/bookingsService.getLengthOfStay.test.js.map +0 -0
  236. package/lib/services/bookingService/__tests__/bookingsService.getSeasonalNights.test.d.ts +0 -0
  237. package/lib/services/bookingService/__tests__/bookingsService.getSeasonalNights.test.js +0 -0
  238. package/lib/services/bookingService/__tests__/bookingsService.getSeasonalNights.test.js.map +0 -0
  239. package/lib/services/bookingService/__tests__/bookingsService.getServicesCost.test.d.ts +0 -0
  240. package/lib/services/bookingService/__tests__/bookingsService.getServicesCost.test.js +0 -0
  241. package/lib/services/bookingService/__tests__/bookingsService.getServicesCost.test.js.map +0 -0
  242. package/lib/services/bookingService/__tests__/bookingsService.getTotalCost.test.d.ts +0 -0
  243. package/lib/services/bookingService/__tests__/bookingsService.getTotalCost.test.js +0 -0
  244. package/lib/services/bookingService/__tests__/bookingsService.getTotalCost.test.js.map +0 -0
  245. package/lib/services/bookingService/__tests__/bookingsService.manualComputeTotalCost.test.d.ts +0 -0
  246. package/lib/services/bookingService/__tests__/bookingsService.manualComputeTotalCost.test.js +18 -0
  247. package/lib/services/bookingService/__tests__/bookingsService.manualComputeTotalCost.test.js.map +1 -1
  248. package/lib/services/bookingService/bookingInvoiceService.d.ts +0 -0
  249. package/lib/services/bookingService/bookingInvoiceService.js +11 -11
  250. package/lib/services/bookingService/bookingInvoiceService.js.map +1 -1
  251. package/lib/services/bookingService/bookingServicesService.d.ts +0 -0
  252. package/lib/services/bookingService/bookingServicesService.js +2 -2
  253. package/lib/services/bookingService/bookingServicesService.js.map +1 -1
  254. package/lib/services/bookingService/bookingsService.d.ts +0 -0
  255. package/lib/services/bookingService/bookingsService.js +2 -2
  256. package/lib/services/bookingService/bookingsService.js.map +1 -1
  257. package/lib/services/cookieService/cookieService.d.ts +0 -0
  258. package/lib/services/cookieService/cookieService.js +0 -0
  259. package/lib/services/cookieService/cookieService.js.map +0 -0
  260. package/lib/services/dateService/dateService.d.ts +0 -0
  261. package/lib/services/dateService/dateService.js +0 -0
  262. package/lib/services/dateService/dateService.js.map +0 -0
  263. package/lib/services/googleAnalyticsService/googleAnalyticsService.d.ts +0 -0
  264. package/lib/services/googleAnalyticsService/googleAnalyticsService.js +0 -0
  265. package/lib/services/googleAnalyticsService/googleAnalyticsService.js.map +0 -0
  266. package/lib/services/imageService/imageService.d.ts +0 -0
  267. package/lib/services/imageService/imageService.js +0 -0
  268. package/lib/services/imageService/imageService.js.map +0 -0
  269. package/lib/services/index.d.ts +2 -2
  270. package/lib/services/index.js +3 -3
  271. package/lib/services/index.js.map +1 -1
  272. package/lib/services/languageService/languageService.d.ts +0 -0
  273. package/lib/services/languageService/languageService.js +0 -0
  274. package/lib/services/languageService/languageService.js.map +0 -0
  275. package/lib/services/localstorageService/localstorageService.d.ts +0 -0
  276. package/lib/services/localstorageService/localstorageService.js +0 -0
  277. package/lib/services/localstorageService/localstorageService.js.map +0 -0
  278. package/lib/services/roomBookingService/__tests__/roomBookingService.distributeGuests.test.d.ts +1 -0
  279. package/lib/services/roomBookingService/__tests__/roomBookingService.distributeGuests.test.js +63 -0
  280. package/lib/services/roomBookingService/__tests__/roomBookingService.distributeGuests.test.js.map +1 -0
  281. package/lib/services/{roomBookingServices → roomBookingService}/index.d.ts +1 -0
  282. package/lib/services/{roomBookingServices → roomBookingService}/index.js +63 -1
  283. package/lib/services/roomBookingService/index.js.map +1 -0
  284. package/lib/services/sessionStorageService/index.d.ts +0 -0
  285. package/lib/services/sessionStorageService/index.js +0 -0
  286. package/lib/services/sessionStorageService/index.js.map +0 -0
  287. package/lib/testingData/bookingData.d.ts +4704 -0
  288. package/lib/testingData/bookingData.js +29 -29
  289. package/lib/testingData/bookingData.js.map +1 -1
  290. package/lib/testingData/companyData.d.ts +0 -0
  291. package/lib/testingData/companyData.js +0 -0
  292. package/lib/testingData/companyData.js.map +0 -0
  293. package/lib/testingData/roomsData.d.ts +0 -0
  294. package/lib/testingData/roomsData.js +0 -0
  295. package/lib/testingData/roomsData.js.map +0 -0
  296. package/lib/translations/getAllTranslations.d.ts +0 -0
  297. package/lib/translations/getAllTranslations.js +0 -0
  298. package/lib/translations/getAllTranslations.js.map +0 -0
  299. package/package.json +2 -2
  300. package/lib/services/roomBookingServices/index.js.map +0 -1
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var __1 = require("..");
4
+ describe('distributeGuests', function () {
5
+ it('should distribute guests evenly when rooms have equal capacity', function () {
6
+ var roomBookings = [{ roomType: { maxNumberOfGuests: 2 } }, { roomType: { maxNumberOfGuests: 2 } }];
7
+ var result = (0, __1.distributeGuests)(roomBookings, 2, 2, [{ age: 5 }, { age: 6 }]);
8
+ expect(result).toEqual([
9
+ { numberOfAdults: 1, numberOfChildren: 1, childrenAges: [{ age: 5 }], roomType: { maxNumberOfGuests: 2 } },
10
+ { numberOfAdults: 1, numberOfChildren: 1, childrenAges: [{ age: 6 }], roomType: { maxNumberOfGuests: 2 } },
11
+ ]);
12
+ });
13
+ it('should prioritize adults over children when space is limited', function () {
14
+ var roomBookings = [{ roomType: { maxNumberOfGuests: 2 } }, { roomType: { maxNumberOfGuests: 1 } }];
15
+ var result = (0, __1.distributeGuests)(roomBookings, 2, 2, [{ age: 5 }, { age: 6 }]);
16
+ expect(result).toEqual([
17
+ { numberOfAdults: 1, numberOfChildren: 2, childrenAges: [{ age: 5 }, { age: 6 }], roomType: { maxNumberOfGuests: 2 } },
18
+ { numberOfAdults: 1, numberOfChildren: 0, childrenAges: [], roomType: { maxNumberOfGuests: 1 } },
19
+ ]);
20
+ });
21
+ it('should handle case when there are more guests than capacity', function () {
22
+ var roomBookings = [{ roomType: { maxNumberOfGuests: 2 } }, { roomType: { maxNumberOfGuests: 2 } }];
23
+ var result = (0, __1.distributeGuests)(roomBookings, 5, 2, [{ age: 5 }, { age: 6 }]);
24
+ expect(result).toEqual([
25
+ { numberOfAdults: 3, numberOfChildren: 1, childrenAges: [{ age: 5 }], roomType: { maxNumberOfGuests: 2 } },
26
+ { numberOfAdults: 2, numberOfChildren: 1, childrenAges: [{ age: 6 }], roomType: { maxNumberOfGuests: 2 } },
27
+ ]);
28
+ });
29
+ it('should handle empty room bookings', function () {
30
+ var roomBookings = [];
31
+ var result = (0, __1.distributeGuests)(roomBookings, 2, 1, [{ age: 5 }]);
32
+ expect(result).toEqual([]);
33
+ });
34
+ it('should handle zero guests', function () {
35
+ var roomBookings = [{ roomType: { maxNumberOfGuests: 2 } }, { roomType: { maxNumberOfGuests: 2 } }];
36
+ var result = (0, __1.distributeGuests)(roomBookings, 0, 0, []);
37
+ expect(result).toEqual([
38
+ { numberOfAdults: 0, numberOfChildren: 0, childrenAges: [], roomType: { maxNumberOfGuests: 2 } },
39
+ { numberOfAdults: 0, numberOfChildren: 0, childrenAges: [], roomType: { maxNumberOfGuests: 2 } },
40
+ ]);
41
+ });
42
+ it('should handle rooms with different capacities', function () {
43
+ var roomBookings = [
44
+ { roomType: { maxNumberOfGuests: 3 } },
45
+ { roomType: { maxNumberOfGuests: 2 } },
46
+ { roomType: { maxNumberOfGuests: 1 } },
47
+ ];
48
+ var result = (0, __1.distributeGuests)(roomBookings, 4, 2, [{ age: 5 }, { age: 6 }]);
49
+ expect(result).toEqual([
50
+ { numberOfAdults: 2, numberOfChildren: 1, childrenAges: [{ age: 5 }], roomType: { maxNumberOfGuests: 3 } },
51
+ { numberOfAdults: 1, numberOfChildren: 1, childrenAges: [{ age: 6 }], roomType: { maxNumberOfGuests: 2 } },
52
+ { numberOfAdults: 1, numberOfChildren: 0, childrenAges: [], roomType: { maxNumberOfGuests: 1 } },
53
+ ]);
54
+ });
55
+ it('should not exceed maximum guests per room', function () {
56
+ var roomBookings = [{ roomType: { maxNumberOfGuests: 2 } }];
57
+ var result = (0, __1.distributeGuests)(roomBookings, 3, 2, [{ age: 5 }, { age: 6 }]);
58
+ expect(result).toEqual([
59
+ { numberOfAdults: 3, numberOfChildren: 2, childrenAges: [{ age: 5 }, { age: 6 }], roomType: { maxNumberOfGuests: 2 } },
60
+ ]);
61
+ });
62
+ });
63
+ //# sourceMappingURL=roomBookingService.distributeGuests.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roomBookingService.distributeGuests.test.js","sourceRoot":"","sources":["../../../../src/services/roomBookingService/__tests__/roomBookingService.distributeGuests.test.ts"],"names":[],"mappings":"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"}
@@ -12,3 +12,4 @@ export declare const getEarliestCheckinDate: (roomBookings: IRoomBooking[]) => i
12
12
  export declare const getLatestCheckoutDate: (roomBookings: IRoomBooking[]) => import("../../interfaces").DateOrString;
13
13
  export declare const hasChildren: (roomBooking: IRoomBooking) => boolean;
14
14
  export declare const getSeasonalNightsRoomBooking: (roomBooking: IRoomBooking, startDate: Date | string, endDate: Date | string) => number;
15
+ export declare const distributeGuests: (roomBookings: any, numberOfAdults: any, numberOfChildren: any, childrenAges: any) => any;
@@ -1,4 +1,15 @@
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
+ };
2
13
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
14
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
15
  if (ar || !(i in from)) {
@@ -12,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
24
  };
14
25
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getSeasonalNightsRoomBooking = exports.hasChildren = exports.getLatestCheckoutDate = exports.getEarliestCheckinDate = exports.getOccupancyBasedPricingDiscount = exports.getChildrenTourismTaxCost = exports.getAdultAndChildrenCount = exports.getChildrenCost = exports.getLengthOfStayRoomBooking = exports.getBreakfastCost = void 0;
26
+ exports.distributeGuests = exports.getSeasonalNightsRoomBooking = exports.hasChildren = exports.getLatestCheckoutDate = exports.getEarliestCheckinDate = exports.getOccupancyBasedPricingDiscount = exports.getChildrenTourismTaxCost = exports.getAdultAndChildrenCount = exports.getChildrenCost = exports.getLengthOfStayRoomBooking = exports.getBreakfastCost = void 0;
16
27
  var moment_1 = __importDefault(require("moment"));
17
28
  var interfaces_1 = require("../../interfaces");
18
29
  var dateService_1 = require("../dateService/dateService");
@@ -213,4 +224,55 @@ var getSeasonalNightsRoomBooking = function (roomBooking, startDate, endDate) {
213
224
  return nightsInSeason;
214
225
  };
215
226
  exports.getSeasonalNightsRoomBooking = getSeasonalNightsRoomBooking;
227
+ var distributeGuests = function (roomBookings, numberOfAdults, numberOfChildren, childrenAges) {
228
+ var distribution = roomBookings.map(function (room) { return (__assign(__assign({}, room), { numberOfAdults: 0, numberOfChildren: 0, childrenAges: [] })); });
229
+ // Sort rooms by capacity in descending order
230
+ distribution.sort(function (a, b) { return b.roomType.maxNumberOfGuests - a.roomType.maxNumberOfGuests; });
231
+ var remainingAdults = numberOfAdults;
232
+ var remainingChildren = numberOfChildren;
233
+ var remainingAges = __spreadArray([], childrenAges, true);
234
+ // First distribute adults evenly
235
+ for (var _i = 0, distribution_1 = distribution; _i < distribution_1.length; _i++) {
236
+ var room = distribution_1[_i];
237
+ if (remainingAdults > 0) {
238
+ room.numberOfAdults = 1;
239
+ remainingAdults -= 1;
240
+ }
241
+ }
242
+ // Distribute remaining adults
243
+ for (var _a = 0, distribution_2 = distribution; _a < distribution_2.length; _a++) {
244
+ var room = distribution_2[_a];
245
+ var maxGuests = room.roomType.maxNumberOfGuests;
246
+ var availableSpace = maxGuests - room.numberOfAdults - room.numberOfChildren;
247
+ if (remainingAdults > 0 && availableSpace > 0) {
248
+ var adultsToAdd = Math.min(remainingAdults, availableSpace);
249
+ room.numberOfAdults += adultsToAdd;
250
+ remainingAdults -= adultsToAdd;
251
+ }
252
+ }
253
+ // Then distribute children in remaining space
254
+ for (var _b = 0, distribution_3 = distribution; _b < distribution_3.length; _b++) {
255
+ var room = distribution_3[_b];
256
+ var availableSpace = room.roomType.maxNumberOfGuests - (room.numberOfAdults + room.numberOfChildren);
257
+ var childrenToAdd = Math.min(remainingChildren, availableSpace);
258
+ room.numberOfChildren += childrenToAdd;
259
+ room.childrenAges = remainingAges.splice(0, childrenToAdd);
260
+ remainingChildren -= childrenToAdd;
261
+ }
262
+ var index = 0;
263
+ while (remainingAdults > 0 && distribution.length > 0) {
264
+ distribution[index % distribution.length].numberOfAdults += 1;
265
+ remainingAdults -= 1;
266
+ index++;
267
+ }
268
+ index = 0;
269
+ while (remainingChildren > 0 && distribution.length > 0) {
270
+ distribution[index % distribution.length].numberOfChildren += 1;
271
+ distribution[index % distribution.length].childrenAges.push(remainingAges.shift());
272
+ remainingChildren -= 1;
273
+ index++;
274
+ }
275
+ return distribution;
276
+ };
277
+ exports.distributeGuests = distributeGuests;
216
278
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/roomBookingService/index.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes