@hyper.software/common-helpers 1.0.31 → 1.0.32
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.
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import moment, { Moment } from 'moment';
|
|
2
2
|
import { IRoom, IRoomBooking, IRoomTypePricePlanPricingInformation, IRoomTypePricePlanPricingRules } from '@hyper.software/common-models/lib/interfaces';
|
|
3
|
-
export declare
|
|
3
|
+
export declare function getTotalCostForRoomBooking(roomBooking: IRoomBooking & {
|
|
4
4
|
pricingRules?: IRoomTypePricePlanPricingRules;
|
|
5
5
|
pricingInformation?: Partial<IRoomTypePricePlanPricingInformation>;
|
|
6
|
-
}, checkinDate: moment.Moment, checkoutDate: moment.Moment, numberOfAdults: any)
|
|
7
|
-
export declare
|
|
6
|
+
}, checkinDate: moment.Moment, checkoutDate: moment.Moment, numberOfAdults: any): number;
|
|
7
|
+
export declare function getTotalCost(roomBookings: Array<{
|
|
8
8
|
roomId?: string;
|
|
9
9
|
breakfastIncluded?: boolean;
|
|
10
10
|
pricingInformation?: Partial<IRoomTypePricePlanPricingInformation>;
|
|
11
11
|
pricingRules?: IRoomTypePricePlanPricingRules;
|
|
12
12
|
personsPayingBreakfast?: number;
|
|
13
13
|
room?: IRoom;
|
|
14
|
-
}>, _checkinDate: moment.Moment, _checkoutDate: moment.Moment, numberOfAdults: number)
|
|
15
|
-
export declare
|
|
16
|
-
export declare
|
|
17
|
-
export declare
|
|
14
|
+
}>, _checkinDate: moment.Moment, _checkoutDate: moment.Moment, numberOfAdults: number): number;
|
|
15
|
+
export declare function ensureValueIsNumber(value: string | number, isDouble?: boolean): number | null;
|
|
16
|
+
export declare function removeInvalidCharacters(value: string, isDouble: boolean): string;
|
|
17
|
+
export declare function normalizeDate(date: Date | Moment | string | null): Moment | null;
|
|
@@ -7,7 +7,7 @@ exports.normalizeDate = exports.removeInvalidCharacters = exports.ensureValueIsN
|
|
|
7
7
|
var moment_1 = __importDefault(require("moment"));
|
|
8
8
|
var helpers_1 = require("../../helpers");
|
|
9
9
|
var interfaces_1 = require("@hyper.software/common-models/lib/interfaces");
|
|
10
|
-
|
|
10
|
+
function getTotalCostForRoomBooking(roomBooking, checkinDate, checkoutDate, numberOfAdults) {
|
|
11
11
|
var _a, _b, _c;
|
|
12
12
|
if (!roomBooking) {
|
|
13
13
|
return 0;
|
|
@@ -30,7 +30,7 @@ var getTotalCostForRoomBooking = function (roomBooking, checkinDate, checkoutDat
|
|
|
30
30
|
: null;
|
|
31
31
|
}
|
|
32
32
|
var cost = roomBooking.pricePerNight ||
|
|
33
|
-
|
|
33
|
+
ensureValueIsNumber(roomBooking.pricingInformation[checkinDate.format(helpers_1.DATE_FORMATS.YYYY_MM_DD)]);
|
|
34
34
|
var calculation = actualNumberOfAdults === maxNumberOfAdults || !(discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.value)
|
|
35
35
|
? cost
|
|
36
36
|
: (discountOrIncrease === null || discountOrIncrease === void 0 ? void 0 : discountOrIncrease.type) === interfaces_1.DISCOUNT_TYPE.PERCENTAGE
|
|
@@ -41,24 +41,24 @@ var getTotalCostForRoomBooking = function (roomBooking, checkinDate, checkoutDat
|
|
|
41
41
|
checkinDate.add(1, 'days');
|
|
42
42
|
}
|
|
43
43
|
return totalCost;
|
|
44
|
-
}
|
|
44
|
+
}
|
|
45
45
|
exports.getTotalCostForRoomBooking = getTotalCostForRoomBooking;
|
|
46
|
-
|
|
46
|
+
function getTotalCost(roomBookings, _checkinDate, _checkoutDate, numberOfAdults) {
|
|
47
47
|
if (!_checkinDate || !_checkoutDate) {
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
|
-
var checkinDate = (0, moment_1.default)(
|
|
51
|
-
var checkoutDate = (0, moment_1.default)(
|
|
50
|
+
var checkinDate = (0, moment_1.default)(normalizeDate(_checkinDate));
|
|
51
|
+
var checkoutDate = (0, moment_1.default)(normalizeDate(_checkoutDate));
|
|
52
52
|
var totalCost = 0;
|
|
53
53
|
for (var _i = 0, roomBookings_1 = roomBookings; _i < roomBookings_1.length; _i++) {
|
|
54
54
|
var roomBooking = roomBookings_1[_i];
|
|
55
|
-
var costForRoomBooking =
|
|
55
|
+
var costForRoomBooking = getTotalCostForRoomBooking(roomBooking, (0, moment_1.default)(checkinDate.toISOString()), (0, moment_1.default)(checkoutDate.toISOString()), roomBooking.personsPayingBreakfast || numberOfAdults);
|
|
56
56
|
totalCost += costForRoomBooking;
|
|
57
57
|
}
|
|
58
58
|
return totalCost;
|
|
59
|
-
}
|
|
59
|
+
}
|
|
60
60
|
exports.getTotalCost = getTotalCost;
|
|
61
|
-
|
|
61
|
+
function ensureValueIsNumber(value, isDouble) {
|
|
62
62
|
if (isDouble === void 0) { isDouble = true; }
|
|
63
63
|
if ((0, helpers_1.isEmpty)(value)) {
|
|
64
64
|
return null;
|
|
@@ -69,13 +69,13 @@ var ensureValueIsNumber = function (value, isDouble) {
|
|
|
69
69
|
if (value === '-') {
|
|
70
70
|
return null;
|
|
71
71
|
}
|
|
72
|
-
if (!isNaN(parseFloat(
|
|
73
|
-
return parseFloat(
|
|
72
|
+
if (!isNaN(parseFloat(removeInvalidCharacters(value, isDouble)))) {
|
|
73
|
+
return parseFloat(removeInvalidCharacters(value, isDouble));
|
|
74
74
|
}
|
|
75
75
|
return null;
|
|
76
|
-
}
|
|
76
|
+
}
|
|
77
77
|
exports.ensureValueIsNumber = ensureValueIsNumber;
|
|
78
|
-
|
|
78
|
+
function removeInvalidCharacters(value, isDouble) {
|
|
79
79
|
var valWithNoInvalidChars = (value || '')
|
|
80
80
|
.replace(/[^0-9,.-]/g, '')
|
|
81
81
|
.replace(/(?!^)-/g, '')
|
|
@@ -84,9 +84,9 @@ var removeInvalidCharacters = function (value, isDouble) {
|
|
|
84
84
|
return valWithNoInvalidChars.replace(/,/g, '.');
|
|
85
85
|
}
|
|
86
86
|
return valWithNoInvalidChars.replace(/,/g, '');
|
|
87
|
-
}
|
|
87
|
+
}
|
|
88
88
|
exports.removeInvalidCharacters = removeInvalidCharacters;
|
|
89
|
-
|
|
89
|
+
function normalizeDate(date) {
|
|
90
90
|
if (!date) {
|
|
91
91
|
return null;
|
|
92
92
|
}
|
|
@@ -95,6 +95,6 @@ var normalizeDate = function (date) {
|
|
|
95
95
|
minute: 0,
|
|
96
96
|
second: 0,
|
|
97
97
|
});
|
|
98
|
-
}
|
|
98
|
+
}
|
|
99
99
|
exports.normalizeDate = normalizeDate;
|
|
100
100
|
//# sourceMappingURL=bookingsServices.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookingsServices.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsServices.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAuC;AACvC,yCAAqD;AACrD,2EAMqD;
|
|
1
|
+
{"version":3,"file":"bookingsServices.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsServices.ts"],"names":[],"mappings":"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"}
|