@hyper.software/common-helpers 2.2.24 → 2.2.25

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 (311) 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.getUrlWithSubdomain.test.d.ts +0 -0
  120. package/lib/helpers/__tests__/navigation.getUrlWithSubdomain.test.js +0 -0
  121. package/lib/helpers/__tests__/navigation.getUrlWithSubdomain.test.js.map +0 -0
  122. package/lib/helpers/__tests__/navigation.test.d.ts +0 -0
  123. package/lib/helpers/__tests__/navigation.test.js +0 -0
  124. package/lib/helpers/__tests__/navigation.test.js.map +0 -0
  125. package/lib/helpers/__tests__/strings.test.d.ts +0 -0
  126. package/lib/helpers/__tests__/strings.test.js +0 -0
  127. package/lib/helpers/__tests__/strings.test.js.map +0 -0
  128. package/lib/helpers/__tests__/validation.test.d.ts +0 -0
  129. package/lib/helpers/__tests__/validation.test.js +0 -0
  130. package/lib/helpers/__tests__/validation.test.js.map +0 -0
  131. package/lib/helpers/arrays.d.ts +0 -0
  132. package/lib/helpers/arrays.js +0 -0
  133. package/lib/helpers/arrays.js.map +0 -0
  134. package/lib/helpers/clientLogger.d.ts +0 -0
  135. package/lib/helpers/clientLogger.js +0 -0
  136. package/lib/helpers/clientLogger.js.map +0 -0
  137. package/lib/helpers/constants/common.d.ts +0 -0
  138. package/lib/helpers/constants/common.js +0 -0
  139. package/lib/helpers/constants/common.js.map +0 -0
  140. package/lib/helpers/constants/fileUploads.d.ts +0 -0
  141. package/lib/helpers/constants/fileUploads.js +0 -0
  142. package/lib/helpers/constants/fileUploads.js.map +0 -0
  143. package/lib/helpers/constants/index.d.ts +0 -0
  144. package/lib/helpers/constants/index.js +0 -0
  145. package/lib/helpers/constants/index.js.map +0 -0
  146. package/lib/helpers/constants/integrations.d.ts +0 -0
  147. package/lib/helpers/constants/integrations.js +0 -0
  148. package/lib/helpers/constants/integrations.js.map +0 -0
  149. package/lib/helpers/constants/language.d.ts +0 -0
  150. package/lib/helpers/constants/language.js +0 -0
  151. package/lib/helpers/constants/language.js.map +0 -0
  152. package/lib/helpers/constants/supportUsers.d.ts +0 -0
  153. package/lib/helpers/constants/supportUsers.js +0 -0
  154. package/lib/helpers/constants/supportUsers.js.map +0 -0
  155. package/lib/helpers/constants/swagger.d.ts +0 -0
  156. package/lib/helpers/constants/swagger.js +0 -0
  157. package/lib/helpers/constants/swagger.js.map +0 -0
  158. package/lib/helpers/constants/urls.d.ts +0 -0
  159. package/lib/helpers/constants/urls.js +0 -0
  160. package/lib/helpers/constants/urls.js.map +0 -0
  161. package/lib/helpers/constants/user.d.ts +0 -0
  162. package/lib/helpers/constants/user.js +0 -0
  163. package/lib/helpers/constants/user.js.map +0 -0
  164. package/lib/helpers/constants/validators.d.ts +0 -0
  165. package/lib/helpers/constants/validators.js +0 -0
  166. package/lib/helpers/constants/validators.js.map +0 -0
  167. package/lib/helpers/emptyValues.d.ts +0 -0
  168. package/lib/helpers/emptyValues.js +0 -0
  169. package/lib/helpers/emptyValues.js.map +0 -0
  170. package/lib/helpers/formatters.d.ts +0 -0
  171. package/lib/helpers/formatters.js +0 -0
  172. package/lib/helpers/formatters.js.map +0 -0
  173. package/lib/helpers/guards.d.ts +0 -0
  174. package/lib/helpers/guards.js +0 -0
  175. package/lib/helpers/guards.js.map +0 -0
  176. package/lib/helpers/index.d.ts +0 -0
  177. package/lib/helpers/index.js +0 -0
  178. package/lib/helpers/index.js.map +0 -0
  179. package/lib/helpers/isBrowser.d.ts +0 -0
  180. package/lib/helpers/isBrowser.js +0 -0
  181. package/lib/helpers/isBrowser.js.map +0 -0
  182. package/lib/helpers/math.d.ts +0 -0
  183. package/lib/helpers/math.js +0 -0
  184. package/lib/helpers/math.js.map +0 -0
  185. package/lib/helpers/moment.d.ts +0 -0
  186. package/lib/helpers/moment.js +0 -0
  187. package/lib/helpers/moment.js.map +0 -0
  188. package/lib/helpers/navigation.d.ts +0 -0
  189. package/lib/helpers/navigation.js +0 -0
  190. package/lib/helpers/navigation.js.map +0 -0
  191. package/lib/helpers/stringifySafe.d.ts +0 -0
  192. package/lib/helpers/stringifySafe.js +0 -0
  193. package/lib/helpers/stringifySafe.js.map +0 -0
  194. package/lib/helpers/strings.d.ts +0 -0
  195. package/lib/helpers/strings.js +0 -0
  196. package/lib/helpers/strings.js.map +0 -0
  197. package/lib/helpers/validation.d.ts +0 -0
  198. package/lib/helpers/validation.js +0 -0
  199. package/lib/helpers/validation.js.map +0 -0
  200. package/lib/index.d.ts +0 -0
  201. package/lib/index.js +0 -0
  202. package/lib/index.js.map +0 -0
  203. package/lib/interfaces.d.ts +17 -0
  204. package/lib/interfaces.js +6 -1
  205. package/lib/interfaces.js.map +1 -1
  206. package/lib/redux/analyticsMiddleware.d.ts +0 -0
  207. package/lib/redux/analyticsMiddleware.js +0 -0
  208. package/lib/redux/analyticsMiddleware.js.map +0 -0
  209. package/lib/redux/clientMiddleware.d.ts +0 -0
  210. package/lib/redux/clientMiddleware.js +0 -0
  211. package/lib/redux/clientMiddleware.js.map +0 -0
  212. package/lib/redux/emptyMiddleware.d.ts +0 -0
  213. package/lib/redux/emptyMiddleware.js +0 -0
  214. package/lib/redux/emptyMiddleware.js.map +0 -0
  215. package/lib/redux/index.d.ts +0 -0
  216. package/lib/redux/index.js +0 -0
  217. package/lib/redux/index.js.map +0 -0
  218. package/lib/services/bookingService/__tests__/bookingInvoiceService.getAdultAndChildrenCount.test.d.ts +0 -0
  219. package/lib/services/bookingService/__tests__/bookingInvoiceService.getAdultAndChildrenCount.test.js +0 -0
  220. package/lib/services/bookingService/__tests__/bookingInvoiceService.getAdultAndChildrenCount.test.js.map +0 -0
  221. package/lib/services/bookingService/__tests__/bookingInvoiceService.test.d.ts +0 -0
  222. package/lib/services/bookingService/__tests__/bookingInvoiceService.test.js +0 -0
  223. package/lib/services/bookingService/__tests__/bookingInvoiceService.test.js.map +0 -0
  224. package/lib/services/bookingService/__tests__/bookingService.calculateDynamic.test.d.ts +1 -0
  225. package/lib/services/bookingService/__tests__/bookingService.calculateDynamic.test.js +280 -0
  226. package/lib/services/bookingService/__tests__/bookingService.calculateDynamic.test.js.map +1 -0
  227. package/lib/services/bookingService/__tests__/bookingService.initialiseProducts.test.d.ts +0 -0
  228. package/lib/services/bookingService/__tests__/bookingService.initialiseProducts.test.js +0 -0
  229. package/lib/services/bookingService/__tests__/bookingService.initialiseProducts.test.js.map +0 -0
  230. package/lib/services/bookingService/__tests__/bookingServicesService.getBookingServiceTotalCost.test.d.ts +0 -0
  231. package/lib/services/bookingService/__tests__/bookingServicesService.getBookingServiceTotalCost.test.js +0 -0
  232. package/lib/services/bookingService/__tests__/bookingServicesService.getBookingServiceTotalCost.test.js.map +0 -0
  233. package/lib/services/bookingService/__tests__/bookingsService.getAccommodationCost.test.d.ts +0 -0
  234. package/lib/services/bookingService/__tests__/bookingsService.getAccommodationCost.test.js +0 -0
  235. package/lib/services/bookingService/__tests__/bookingsService.getAccommodationCost.test.js.map +0 -0
  236. package/lib/services/bookingService/__tests__/bookingsService.getBookingServiceQuantity.test.d.ts +0 -0
  237. package/lib/services/bookingService/__tests__/bookingsService.getBookingServiceQuantity.test.js +0 -0
  238. package/lib/services/bookingService/__tests__/bookingsService.getBookingServiceQuantity.test.js.map +0 -0
  239. package/lib/services/bookingService/__tests__/bookingsService.getChildrenCost.test.d.ts +0 -0
  240. package/lib/services/bookingService/__tests__/bookingsService.getChildrenCost.test.js +0 -0
  241. package/lib/services/bookingService/__tests__/bookingsService.getChildrenCost.test.js.map +0 -0
  242. package/lib/services/bookingService/__tests__/bookingsService.getLengthOfStay.test.d.ts +0 -0
  243. package/lib/services/bookingService/__tests__/bookingsService.getLengthOfStay.test.js +0 -0
  244. package/lib/services/bookingService/__tests__/bookingsService.getLengthOfStay.test.js.map +0 -0
  245. package/lib/services/bookingService/__tests__/bookingsService.getSeasonalNights.test.d.ts +0 -0
  246. package/lib/services/bookingService/__tests__/bookingsService.getSeasonalNights.test.js +0 -0
  247. package/lib/services/bookingService/__tests__/bookingsService.getSeasonalNights.test.js.map +0 -0
  248. package/lib/services/bookingService/__tests__/bookingsService.getServicesCost.test.d.ts +0 -0
  249. package/lib/services/bookingService/__tests__/bookingsService.getServicesCost.test.js +0 -0
  250. package/lib/services/bookingService/__tests__/bookingsService.getServicesCost.test.js.map +0 -0
  251. package/lib/services/bookingService/__tests__/bookingsService.getTotalCost.test.d.ts +0 -0
  252. package/lib/services/bookingService/__tests__/bookingsService.getTotalCost.test.js +0 -0
  253. package/lib/services/bookingService/__tests__/bookingsService.getTotalCost.test.js.map +0 -0
  254. package/lib/services/bookingService/__tests__/bookingsService.manualComputeTotalCost.test.d.ts +0 -0
  255. package/lib/services/bookingService/__tests__/bookingsService.manualComputeTotalCost.test.js +0 -0
  256. package/lib/services/bookingService/__tests__/bookingsService.manualComputeTotalCost.test.js.map +0 -0
  257. package/lib/services/bookingService/bookingInvoiceService.d.ts +0 -0
  258. package/lib/services/bookingService/bookingInvoiceService.js +0 -0
  259. package/lib/services/bookingService/bookingInvoiceService.js.map +0 -0
  260. package/lib/services/bookingService/bookingServicesService.d.ts +0 -0
  261. package/lib/services/bookingService/bookingServicesService.js +0 -0
  262. package/lib/services/bookingService/bookingServicesService.js.map +0 -0
  263. package/lib/services/bookingService/bookingsService.d.ts +0 -0
  264. package/lib/services/bookingService/bookingsService.js +0 -0
  265. package/lib/services/bookingService/bookingsService.js.map +0 -0
  266. package/lib/services/cookieService/cookieService.d.ts +0 -0
  267. package/lib/services/cookieService/cookieService.js +0 -0
  268. package/lib/services/cookieService/cookieService.js.map +0 -0
  269. package/lib/services/dateService/dateService.d.ts +0 -0
  270. package/lib/services/dateService/dateService.js +0 -0
  271. package/lib/services/dateService/dateService.js.map +0 -0
  272. package/lib/services/dynamicPricingService/dynamicPricingService.d.ts +22 -0
  273. package/lib/services/dynamicPricingService/dynamicPricingService.js +136 -0
  274. package/lib/services/dynamicPricingService/dynamicPricingService.js.map +1 -0
  275. package/lib/services/googleAnalyticsService/googleAnalyticsService.d.ts +0 -0
  276. package/lib/services/googleAnalyticsService/googleAnalyticsService.js +0 -0
  277. package/lib/services/googleAnalyticsService/googleAnalyticsService.js.map +0 -0
  278. package/lib/services/imageService/imageService.d.ts +0 -0
  279. package/lib/services/imageService/imageService.js +0 -0
  280. package/lib/services/imageService/imageService.js.map +0 -0
  281. package/lib/services/index.d.ts +0 -0
  282. package/lib/services/index.js +0 -0
  283. package/lib/services/index.js.map +0 -0
  284. package/lib/services/languageService/languageService.d.ts +0 -0
  285. package/lib/services/languageService/languageService.js +0 -0
  286. package/lib/services/languageService/languageService.js.map +0 -0
  287. package/lib/services/localstorageService/localstorageService.d.ts +0 -0
  288. package/lib/services/localstorageService/localstorageService.js +0 -0
  289. package/lib/services/localstorageService/localstorageService.js.map +0 -0
  290. package/lib/services/roomBookingService/__tests__/roomBookingService.distributeGuests.test.d.ts +0 -0
  291. package/lib/services/roomBookingService/__tests__/roomBookingService.distributeGuests.test.js +0 -0
  292. package/lib/services/roomBookingService/__tests__/roomBookingService.distributeGuests.test.js.map +0 -0
  293. package/lib/services/roomBookingService/index.d.ts +0 -0
  294. package/lib/services/roomBookingService/index.js +0 -0
  295. package/lib/services/roomBookingService/index.js.map +0 -0
  296. package/lib/services/sessionStorageService/index.d.ts +0 -0
  297. package/lib/services/sessionStorageService/index.js +0 -0
  298. package/lib/services/sessionStorageService/index.js.map +0 -0
  299. package/lib/testingData/bookingData.d.ts +0 -0
  300. package/lib/testingData/bookingData.js +0 -0
  301. package/lib/testingData/bookingData.js.map +0 -0
  302. package/lib/testingData/companyData.d.ts +0 -0
  303. package/lib/testingData/companyData.js +0 -0
  304. package/lib/testingData/companyData.js.map +0 -0
  305. package/lib/testingData/roomsData.d.ts +0 -0
  306. package/lib/testingData/roomsData.js +0 -0
  307. package/lib/testingData/roomsData.js.map +0 -0
  308. package/lib/translations/getAllTranslations.d.ts +0 -0
  309. package/lib/translations/getAllTranslations.js +0 -0
  310. package/lib/translations/getAllTranslations.js.map +0 -0
  311. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,280 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ var moment_1 = __importDefault(require("moment"));
54
+ var dynamicPricingService_1 = require("../../dynamicPricingService/dynamicPricingService");
55
+ var interfaces_1 = require("../../../interfaces");
56
+ describe('calculateDynamicPricing', function () {
57
+ var today = (0, moment_1.default)().startOf('day');
58
+ var nearDate = today.clone().add(7, 'days').format('YYYY-MM-DD');
59
+ var farDate = today.clone().add(60, 'days').format('YYYY-MM-DD');
60
+ var basePrice = 100;
61
+ var baseDynamicPricing = function (overrides) {
62
+ if (overrides === void 0) { overrides = {}; }
63
+ return (__assign({ isActive: true, basePrice: {}, startDate: today.format('YYYY-MM-DD'), endDate: farDate, type: interfaces_1.DYNAMIC_PRICING_TYPE.INCREASE, amount: 20 }, overrides));
64
+ };
65
+ var mockCompany = {
66
+ id: 'comp1',
67
+ holidays: [],
68
+ };
69
+ var mockGetRoomTypesAvailability = function (available, date) {
70
+ var _a;
71
+ return jest.fn().mockResolvedValue({
72
+ roomType1: {
73
+ availability: (_a = {},
74
+ _a[date] = available,
75
+ _a),
76
+ },
77
+ });
78
+ };
79
+ var mockGetRoomsByCompanyId = function (count) {
80
+ return jest.fn().mockResolvedValue({
81
+ list: Array(count).fill({ roomTypeId: 'roomType1' }),
82
+ });
83
+ };
84
+ it('returns base price when dynamic pricing is inactive', function () { return __awaiter(void 0, void 0, void 0, function () {
85
+ var result;
86
+ var _a, _b;
87
+ return __generator(this, function (_c) {
88
+ switch (_c.label) {
89
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
90
+ currentPricing: (_a = {}, _a[today.format('YYYY-MM-DD')] = 100, _a),
91
+ dynamicPricing: baseDynamicPricing({ isActive: false }),
92
+ existingBasePriceMap: (_b = {}, _b[today.format('YYYY-MM-DD')] = 90, _b),
93
+ company: mockCompany,
94
+ roomTypeId: 'roomType1',
95
+ companyId: 'comp1',
96
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(5, today.format('YYYY-MM-DD')),
97
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
98
+ })];
99
+ case 1:
100
+ result = _c.sent();
101
+ expect(result.updatedPricing[today.format('YYYY-MM-DD')]).toBe(90);
102
+ return [2 /*return*/];
103
+ }
104
+ });
105
+ }); });
106
+ it('applies holiday dynamic pricing if date is near holiday', function () { return __awaiter(void 0, void 0, void 0, function () {
107
+ var holidayDate, companyWithHoliday, pricing, result;
108
+ var _a;
109
+ return __generator(this, function (_b) {
110
+ switch (_b.label) {
111
+ case 0:
112
+ holidayDate = (0, moment_1.default)(today).add(1, 'day').format('YYYY-MM-DD');
113
+ companyWithHoliday = {
114
+ id: 'comp1',
115
+ holidays: [{ date: holidayDate, enableDynamicPricing: true }],
116
+ };
117
+ pricing = (_a = {},
118
+ _a[holidayDate] = 100,
119
+ _a);
120
+ return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
121
+ currentPricing: pricing,
122
+ dynamicPricing: baseDynamicPricing(),
123
+ existingBasePriceMap: {},
124
+ company: companyWithHoliday,
125
+ roomTypeId: 'roomType1',
126
+ companyId: 'comp1',
127
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(1, holidayDate),
128
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
129
+ })];
130
+ case 1:
131
+ result = _b.sent();
132
+ expect(result.updatedPricing[holidayDate]).toBeGreaterThan(100);
133
+ return [2 /*return*/];
134
+ }
135
+ });
136
+ }); });
137
+ it('uses fallback pricing if base price exists and dynamic pricing is off', function () { return __awaiter(void 0, void 0, void 0, function () {
138
+ var result;
139
+ var _a, _b;
140
+ return __generator(this, function (_c) {
141
+ switch (_c.label) {
142
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
143
+ currentPricing: (_a = {}, _a[today.format('YYYY-MM-DD')] = 100, _a),
144
+ dynamicPricing: baseDynamicPricing({ isActive: false }),
145
+ existingBasePriceMap: (_b = {}, _b[today.format('YYYY-MM-DD')] = 95, _b),
146
+ company: mockCompany,
147
+ roomTypeId: 'roomType1',
148
+ companyId: 'comp1',
149
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(3, today.format('YYYY-MM-DD')),
150
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
151
+ })];
152
+ case 1:
153
+ result = _c.sent();
154
+ expect(result.updatedPricing[today.format('YYYY-MM-DD')]).toBe(95);
155
+ return [2 /*return*/];
156
+ }
157
+ });
158
+ }); });
159
+ it('keeps price near base when availability is 100% and date is far', function () { return __awaiter(void 0, void 0, void 0, function () {
160
+ var result, price;
161
+ var _a;
162
+ return __generator(this, function (_b) {
163
+ switch (_b.label) {
164
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
165
+ currentPricing: (_a = {}, _a[farDate] = basePrice, _a),
166
+ dynamicPricing: baseDynamicPricing(),
167
+ existingBasePriceMap: {},
168
+ company: mockCompany,
169
+ roomTypeId: 'roomType1',
170
+ companyId: 'comp1',
171
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(10, farDate),
172
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
173
+ })];
174
+ case 1:
175
+ result = _b.sent();
176
+ price = result.updatedPricing[farDate];
177
+ expect(price).toBeGreaterThanOrEqual(basePrice);
178
+ expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.1));
179
+ return [2 /*return*/];
180
+ }
181
+ });
182
+ }); });
183
+ it('increases price moderately with 50% availability and date is far', function () { return __awaiter(void 0, void 0, void 0, function () {
184
+ var result, price;
185
+ var _a;
186
+ return __generator(this, function (_b) {
187
+ switch (_b.label) {
188
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
189
+ currentPricing: (_a = {}, _a[farDate] = basePrice, _a),
190
+ dynamicPricing: baseDynamicPricing(),
191
+ existingBasePriceMap: {},
192
+ company: mockCompany,
193
+ roomTypeId: 'roomType1',
194
+ companyId: 'comp1',
195
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(5, farDate),
196
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
197
+ })];
198
+ case 1:
199
+ result = _b.sent();
200
+ price = result.updatedPricing[farDate];
201
+ expect(price).toBeGreaterThanOrEqual(basePrice);
202
+ expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.4));
203
+ return [2 /*return*/];
204
+ }
205
+ });
206
+ }); });
207
+ it('maximizes price with 1 room left and date is far', function () { return __awaiter(void 0, void 0, void 0, function () {
208
+ var result, price;
209
+ var _a;
210
+ return __generator(this, function (_b) {
211
+ switch (_b.label) {
212
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
213
+ currentPricing: (_a = {}, _a[farDate] = basePrice, _a),
214
+ dynamicPricing: baseDynamicPricing(),
215
+ existingBasePriceMap: {},
216
+ company: mockCompany,
217
+ roomTypeId: 'roomType1',
218
+ companyId: 'comp1',
219
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(1, farDate),
220
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(50),
221
+ })];
222
+ case 1:
223
+ result = _b.sent();
224
+ price = result.updatedPricing[farDate];
225
+ expect(price).toBeGreaterThanOrEqual(basePrice);
226
+ expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.5));
227
+ return [2 /*return*/];
228
+ }
229
+ });
230
+ }); });
231
+ it('slightly increases price with 100% availability and date is near', function () { return __awaiter(void 0, void 0, void 0, function () {
232
+ var result, price;
233
+ var _a;
234
+ return __generator(this, function (_b) {
235
+ switch (_b.label) {
236
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
237
+ currentPricing: (_a = {}, _a[nearDate] = basePrice, _a),
238
+ dynamicPricing: baseDynamicPricing(),
239
+ existingBasePriceMap: {},
240
+ company: mockCompany,
241
+ roomTypeId: 'roomType1',
242
+ companyId: 'comp1',
243
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(10, nearDate),
244
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
245
+ })];
246
+ case 1:
247
+ result = _b.sent();
248
+ price = result.updatedPricing[nearDate];
249
+ expect(price).toBeGreaterThanOrEqual(basePrice);
250
+ expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.2));
251
+ return [2 /*return*/];
252
+ }
253
+ });
254
+ }); });
255
+ it('strongly increases price with 50% availability and date is near', function () { return __awaiter(void 0, void 0, void 0, function () {
256
+ var result, price;
257
+ var _a;
258
+ return __generator(this, function (_b) {
259
+ switch (_b.label) {
260
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
261
+ currentPricing: (_a = {}, _a[nearDate] = basePrice, _a),
262
+ dynamicPricing: baseDynamicPricing(),
263
+ existingBasePriceMap: {},
264
+ company: mockCompany,
265
+ roomTypeId: 'roomType1',
266
+ companyId: 'comp1',
267
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(5, nearDate),
268
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
269
+ })];
270
+ case 1:
271
+ result = _b.sent();
272
+ price = result.updatedPricing[nearDate];
273
+ expect(price).toBeGreaterThanOrEqual(basePrice);
274
+ expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.4));
275
+ return [2 /*return*/];
276
+ }
277
+ });
278
+ }); });
279
+ });
280
+ //# sourceMappingURL=bookingService.calculateDynamic.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bookingService.calculateDynamic.test.js","sourceRoot":"","sources":["../../../../src/services/bookingService/__tests__/bookingService.calculateDynamic.test.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
File without changes
File without changes
@@ -0,0 +1,22 @@
1
+ import { ICompany, IRoomTypePricePlanPricingInformation, IDynamicPricing } from '../../interfaces';
2
+ export declare const calculateDynamicPricing: ({ currentPricing, dynamicPricing, existingBasePriceMap, company, roomTypeId, companyId, getRoomTypesAvailability, getRoomsByCompanyId, }: {
3
+ currentPricing: IRoomTypePricePlanPricingInformation;
4
+ dynamicPricing: IDynamicPricing;
5
+ existingBasePriceMap: Record<string, number>;
6
+ company: ICompany;
7
+ roomTypeId: string;
8
+ companyId: string;
9
+ getRoomTypesAvailability: (companyId: string, roomTypeIds: string[], options: {
10
+ period: string[];
11
+ }) => Promise<any>;
12
+ getRoomsByCompanyId: (companyId: string) => Promise<{
13
+ list: any[];
14
+ }>;
15
+ }) => Promise<{
16
+ updatedPricing: IRoomTypePricePlanPricingInformation;
17
+ updatedBasePriceMap: Record<string, number>;
18
+ }>;
19
+ export declare const getDynamicMultiplier: ({ availabilityRatio, isNearFuture, }: {
20
+ availabilityRatio: number;
21
+ isNearFuture: boolean;
22
+ }) => number;