@pisell/pisellos 2.3.74 → 2.3.76
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.
- package/dist/core/index.js +6 -10
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/example.js +3 -26
- package/dist/model/strategy/strategy-example.js +5 -19
- package/dist/modules/Cart/index.js +0 -3
- package/dist/modules/Cart/utils/cartProduct.js +0 -1
- package/dist/modules/Date/index.js +1 -5
- package/dist/modules/Discount/index.js +2 -4
- package/dist/modules/OpenData/index.js +0 -2
- package/dist/modules/Order/index.d.ts +1 -1
- package/dist/modules/Order/index.js +75 -91
- package/dist/modules/Order/types.d.ts +3 -1
- package/dist/modules/Payment/index.js +97 -162
- package/dist/modules/Rules/index.js +1 -4
- package/dist/modules/Schedule/index.js +0 -1
- package/dist/modules/Schedule/utils.js +0 -1
- package/dist/modules/Step/index.js +0 -1
- package/dist/plugins/request.js +1 -4
- package/dist/plugins/window.js +2 -6
- package/dist/server/index.js +97 -129
- package/dist/server/modules/menu/index.js +32 -41
- package/dist/server/modules/order/index.js +2 -4
- package/dist/server/modules/products/index.js +24 -42
- package/dist/server/modules/quotation/index.js +29 -38
- package/dist/server/modules/resource/index.js +3 -4
- package/dist/server/modules/schedule/index.js +27 -35
- package/dist/server/utils/product.js +0 -1
- package/dist/solution/BaseSales/index.js +100 -72
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
- package/dist/solution/BaseSales/utils/cartPromotion.js +15 -6
- package/dist/solution/BookingByStep/index.js +7 -59
- package/dist/solution/BookingByStep/utils/capacity.js +1 -11
- package/dist/solution/BookingByStep/utils/resources.js +1 -3
- package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
- package/dist/solution/BookingTicket/index.js +0 -2
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +6 -7
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +25 -31
- package/dist/solution/BookingTicket/utils/scan/index.js +6 -10
- package/dist/solution/BuyTickets/index.js +9 -12
- package/dist/solution/Checkout/index.js +177 -252
- package/dist/solution/Checkout/utils/index.js +4 -16
- package/dist/solution/RegisterAndLogin/index.js +30 -76
- package/dist/solution/ScanOrder/index.js +50 -60
- package/dist/solution/ShopDiscount/index.js +2 -7
- package/dist/solution/VenueBooking/index.js +45 -55
- package/dist/utils/task.js +15 -18
- package/dist/utils/watch.js +0 -1
- package/lib/apis/picoding.js +2 -0
- package/lib/core/index.js +134 -134
- package/lib/effects/index.js +46 -57
- package/lib/index.js +82 -49
- package/lib/model/index.js +14 -21
- package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
- package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
- package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
- package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
- package/lib/model/strategy/adapter/index.js +100 -64
- package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
- package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
- package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
- package/lib/model/strategy/adapter/itemRule/index.js +83 -57
- package/lib/model/strategy/adapter/itemRule/type.js +97 -36
- package/lib/model/strategy/adapter/promotion/adapter.js +91 -69
- package/lib/model/strategy/adapter/promotion/evaluator.js +444 -310
- package/lib/model/strategy/adapter/promotion/examples.js +222 -234
- package/lib/model/strategy/adapter/promotion/index.js +1 -0
- package/lib/model/strategy/adapter/promotion/type.js +243 -36
- package/lib/model/strategy/adapter/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -150
- package/lib/model/strategy/adapter/walletPass/example.js +217 -190
- package/lib/model/strategy/adapter/walletPass/index.js +75 -51
- package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
- package/lib/model/strategy/adapter/walletPass/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/utils.js +588 -378
- package/lib/model/strategy/engine.js +270 -168
- package/lib/model/strategy/index.js +49 -34
- package/lib/model/strategy/strategy-example.js +243 -239
- package/lib/model/strategy/type.js +100 -40
- package/lib/modules/Account/index.js +39 -53
- package/lib/modules/Account/types.js +20 -33
- package/lib/modules/AccountList/index.js +116 -154
- package/lib/modules/AccountList/types.js +30 -31
- package/lib/modules/AccountList/utils.js +18 -30
- package/lib/modules/BaseModule.js +23 -42
- package/lib/modules/BookingContext/index.js +158 -136
- package/lib/modules/BookingContext/types.js +46 -32
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +138 -146
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +78 -83
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +170 -150
- package/lib/modules/BookingContext/utils/flexible.js +38 -55
- package/lib/modules/BookingContext/utils/formatResourceList.js +19 -34
- package/lib/modules/BookingContext/utils/index.js +124 -41
- package/lib/modules/BookingContext/utils/noResource.js +58 -70
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +14 -41
- package/lib/modules/BookingContext/utils/productExtend.js +202 -155
- package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
- package/lib/modules/BookingContext/utils/resourceSelection.js +19 -41
- package/lib/modules/BookingContext/utils/resources.js +209 -167
- package/lib/modules/BookingContext/utils/serviceTimes.js +115 -116
- package/lib/modules/BookingContext/utils/timeSlices.js +76 -86
- package/lib/modules/Cart/index.js +170 -124
- package/lib/modules/Cart/types.js +46 -51
- package/lib/modules/Cart/utils/cartAccount.js +40 -39
- package/lib/modules/Cart/utils/cartDate.js +56 -61
- package/lib/modules/Cart/utils/cartDiscount.js +28 -33
- package/lib/modules/Cart/utils/cartNote.js +27 -32
- package/lib/modules/Cart/utils/cartProduct.js +321 -251
- package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
- package/lib/modules/Cart/utils/cartResource.js +70 -78
- package/lib/modules/Cart/utils/changePrice.js +22 -50
- package/lib/modules/Cart/utils/index.js +106 -48
- package/lib/modules/Customer/constants.js +13 -34
- package/lib/modules/Customer/index.js +235 -172
- package/lib/modules/Customer/types.js +38 -35
- package/lib/modules/Date/index.js +116 -115
- package/lib/modules/Date/types.js +16 -28
- package/lib/modules/Date/utils.js +174 -123
- package/lib/modules/Discount/index.js +122 -127
- package/lib/modules/Discount/types.js +9 -31
- package/lib/modules/Guests/index.js +30 -56
- package/lib/modules/Guests/types.js +23 -33
- package/lib/modules/Holder/index.js +209 -189
- package/lib/modules/Holder/types.js +4 -16
- package/lib/modules/Holder/utils.js +20 -49
- package/lib/modules/OpenData/index.js +70 -76
- package/lib/modules/OpenData/types.js +4 -16
- package/lib/modules/OpenData/utils.js +44 -78
- package/lib/modules/Order/index.d.ts +1 -1
- package/lib/modules/Order/index.js +1733 -2121
- package/lib/modules/Order/payment-utils.js +77 -120
- package/lib/modules/Order/types.d.ts +3 -1
- package/lib/modules/Order/types.js +88 -35
- package/lib/modules/Order/utils/bundleDiscountHydration.js +41 -74
- package/lib/modules/Order/utils/discountProductLineIdentity.js +142 -100
- package/lib/modules/Order/utils/manualProductDiscount.js +124 -123
- package/lib/modules/Order/utils/orderCollectionIdentity.js +184 -244
- package/lib/modules/Order/utils.js +814 -647
- package/lib/modules/Payment/cash.js +20 -33
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
- package/lib/modules/Payment/eftpos.js +16 -30
- package/lib/modules/Payment/index.js +532 -399
- package/lib/modules/Payment/mx51.js +1 -0
- package/lib/modules/Payment/types.js +230 -108
- package/lib/modules/Payment/utils.js +52 -51
- package/lib/modules/Payment/walletpass.js +485 -660
- package/lib/modules/Product/index.js +51 -46
- package/lib/modules/Product/types.js +4 -16
- package/lib/modules/Product/utils.js +32 -33
- package/lib/modules/ProductList/index.js +113 -123
- package/lib/modules/ProductList/types.js +9 -31
- package/lib/modules/Quotation/index.js +81 -118
- package/lib/modules/Quotation/types.js +4 -16
- package/lib/modules/Resource/index.js +27 -59
- package/lib/modules/Resource/types.js +22 -32
- package/lib/modules/Resource/utils.js +30 -38
- package/lib/modules/ResourcePlanner/index.js +25 -23
- package/lib/modules/ResourcePlanner/localClock.js +54 -119
- package/lib/modules/ResourcePlanner/planner.js +589 -770
- package/lib/modules/ResourcePlanner/types.js +10 -29
- package/lib/modules/Rules/index.js +1218 -959
- package/lib/modules/Rules/types.js +17 -40
- package/lib/modules/SalesSummary/index.js +85 -90
- package/lib/modules/SalesSummary/types.js +4 -16
- package/lib/modules/SalesSummary/utils.js +355 -430
- package/lib/modules/ScanOrderLogger/index.js +59 -79
- package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
- package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
- package/lib/modules/ScanOrderLogger/types.js +4 -16
- package/lib/modules/Schedule/getDateIsInSchedule.js +334 -163
- package/lib/modules/Schedule/index.js +100 -114
- package/lib/modules/Schedule/type.js +4 -16
- package/lib/modules/Schedule/types.js +4 -16
- package/lib/modules/Schedule/utils.js +433 -291
- package/lib/modules/Step/index.js +40 -52
- package/lib/modules/Step/tyeps.js +4 -16
- package/lib/modules/Summary/index.js +66 -71
- package/lib/modules/Summary/types.js +4 -16
- package/lib/modules/Summary/utils.js +773 -418
- package/lib/modules/SurchargeList/index.js +46 -60
- package/lib/modules/SurchargeList/types.js +4 -16
- package/lib/modules/index.js +245 -63
- package/lib/plugins/app.js +4 -16
- package/lib/plugins/index.js +36 -25
- package/lib/plugins/request.js +137 -126
- package/lib/plugins/shopStore.js +4 -16
- package/lib/plugins/user.js +4 -16
- package/lib/plugins/window.js +171 -179
- package/lib/server/index.js +3050 -2665
- package/lib/server/modules/floor-plan/index.js +118 -134
- package/lib/server/modules/floor-plan/types.js +15 -30
- package/lib/server/modules/index.js +106 -68
- package/lib/server/modules/menu/index.js +142 -122
- package/lib/server/modules/menu/types.js +18 -31
- package/lib/server/modules/order/index.js +784 -1002
- package/lib/server/modules/order/types.js +122 -33
- package/lib/server/modules/order/utils/filterBookings.js +219 -194
- package/lib/server/modules/order/utils/filterOrders.js +118 -92
- package/lib/server/modules/payment/index.js +59 -83
- package/lib/server/modules/payment/types.js +4 -16
- package/lib/server/modules/products/index.js +583 -471
- package/lib/server/modules/products/types.js +44 -34
- package/lib/server/modules/quotation/index.js +137 -172
- package/lib/server/modules/quotation/types.js +21 -31
- package/lib/server/modules/resource/index.js +220 -186
- package/lib/server/modules/resource/types.js +42 -33
- package/lib/server/modules/schedule/index.js +135 -123
- package/lib/server/modules/schedule/types.js +14 -21
- package/lib/server/modules/schedule/utils.js +334 -163
- package/lib/server/types.js +4 -16
- package/lib/server/utils/index.js +25 -23
- package/lib/server/utils/product.js +196 -139
- package/lib/server/utils/schedule.js +34 -41
- package/lib/server/utils/small-ticket.js +479 -456
- package/lib/server/utils/time.js +40 -49
- package/lib/solution/BaseSales/index.js +1220 -1412
- package/lib/solution/BaseSales/types.js +42 -38
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +5 -0
- package/lib/solution/BaseSales/utils/cartPromotion.js +652 -498
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +85 -105
- package/lib/solution/BaseSales/utils/quotationPrice.js +56 -114
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +108 -145
- package/lib/solution/BaseSales/utils.js +158 -143
- package/lib/solution/BookingByStep/index.js +1527 -1340
- package/lib/solution/BookingByStep/types.js +40 -99
- package/lib/solution/BookingByStep/utils/capacity.js +192 -160
- package/lib/solution/BookingByStep/utils/products.js +42 -52
- package/lib/solution/BookingByStep/utils/resources.js +527 -330
- package/lib/solution/BookingByStep/utils/stock.js +65 -44
- package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
- package/lib/solution/BookingTicket/index.js +607 -522
- package/lib/solution/BookingTicket/types.js +99 -77
- package/lib/solution/BookingTicket/utils/addProductDecision.js +226 -189
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +58 -89
- package/lib/solution/BookingTicket/utils/bookingStatus.js +107 -78
- package/lib/solution/BookingTicket/utils/cartView.js +114 -99
- package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
- package/lib/solution/BookingTicket/utils/orderCustomer.js +18 -41
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +219 -86
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +168 -116
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +79 -91
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +54 -41
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -81
- package/lib/solution/BookingTicket/utils/scan/index.js +98 -104
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +52 -64
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +56 -58
- package/lib/solution/BookingTicket/utils/weighingProductSku.js +34 -48
- package/lib/solution/BuyTickets/index.js +67 -70
- package/lib/solution/BuyTickets/types.js +22 -38
- package/lib/solution/Checkout/index.js +1451 -1158
- package/lib/solution/Checkout/types.js +91 -61
- package/lib/solution/Checkout/utils/index.js +228 -156
- package/lib/solution/PlaceOrder/index.js +55 -0
- package/lib/solution/RegisterAndLogin/config.js +493 -460
- package/lib/solution/RegisterAndLogin/index.js +633 -630
- package/lib/solution/RegisterAndLogin/types.js +189 -76
- package/lib/solution/RegisterAndLogin/utils.js +183 -125
- package/lib/solution/Sales/index.js +328 -324
- package/lib/solution/Sales/types.js +27 -33
- package/lib/solution/ScanOrder/index.js +832 -864
- package/lib/solution/ScanOrder/types.js +33 -34
- package/lib/solution/ScanOrder/utils.js +409 -374
- package/lib/solution/ShopDiscount/index.js +226 -232
- package/lib/solution/ShopDiscount/types.js +15 -37
- package/lib/solution/ShopDiscount/utils.js +300 -172
- package/lib/solution/UnifiedBookingSales/index.js +1035 -1201
- package/lib/solution/UnifiedBookingSales/remoteOccupancyCache.js +99 -159
- package/lib/solution/UnifiedBookingSales/types.js +10 -32
- package/lib/solution/VenueBooking/index.js +811 -879
- package/lib/solution/VenueBooking/types.js +19 -39
- package/lib/solution/VenueBooking/utils/dateSummary.js +27 -56
- package/lib/solution/VenueBooking/utils/resource.js +31 -54
- package/lib/solution/VenueBooking/utils/slotMerge.js +94 -107
- package/lib/solution/VenueBooking/utils/timeSlot.js +132 -132
- package/lib/solution/VenueBooking/utils.js +130 -67
- package/lib/solution/index.js +124 -41
- package/lib/store/createStore.js +32 -29
- package/lib/types/index.js +4 -16
- package/lib/utils/payment-number.js +26 -46
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +81 -47
- package/package.json +2 -1
|
@@ -1,67 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
__export(timeSlot_exports, {
|
|
32
|
-
buildTimeSlotGrid: () => buildTimeSlotGrid,
|
|
33
|
-
collectEventsForDate: () => collectEventsForDate,
|
|
34
|
-
computeSlotStatus: () => computeSlotStatus,
|
|
35
|
-
generateTimeLabels: () => generateTimeLabels,
|
|
36
|
-
isBusinessHoursCrossDay: () => isBusinessHoursCrossDay,
|
|
37
|
-
isSlotOccupied: () => isSlotOccupied
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
38
5
|
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
6
|
+
exports.buildTimeSlotGrid = buildTimeSlotGrid;
|
|
7
|
+
exports.collectEventsForDate = collectEventsForDate;
|
|
8
|
+
exports.computeSlotStatus = computeSlotStatus;
|
|
9
|
+
exports.generateTimeLabels = generateTimeLabels;
|
|
10
|
+
exports.isBusinessHoursCrossDay = isBusinessHoursCrossDay;
|
|
11
|
+
exports.isSlotOccupied = isSlotOccupied;
|
|
12
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
13
|
+
var _decimal = _interopRequireDefault(require("decimal.js"));
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
42
15
|
function isBusinessHoursCrossDay(config) {
|
|
43
|
-
const [startH, startM] = config.businessStartTime.split(
|
|
44
|
-
const [endH, endM] = config.businessEndTime.split(
|
|
16
|
+
const [startH, startM] = config.businessStartTime.split(':').map(Number);
|
|
17
|
+
const [endH, endM] = config.businessEndTime.split(':').map(Number);
|
|
45
18
|
return endH < startH || endH === startH && endM <= startM;
|
|
46
19
|
}
|
|
47
20
|
function generateTimeLabels(config) {
|
|
48
|
-
const {
|
|
21
|
+
const {
|
|
22
|
+
slotDurationMinutes,
|
|
23
|
+
businessStartTime,
|
|
24
|
+
businessEndTime
|
|
25
|
+
} = config;
|
|
49
26
|
const labels = [];
|
|
50
|
-
const baseDate =
|
|
51
|
-
let cursor = (0,
|
|
27
|
+
const baseDate = '2000-01-01';
|
|
28
|
+
let cursor = (0, _dayjs.default)(`${baseDate} ${businessStartTime}`);
|
|
52
29
|
const crossDay = isBusinessHoursCrossDay(config);
|
|
53
|
-
const endBase = crossDay ?
|
|
54
|
-
const end = (0,
|
|
30
|
+
const endBase = crossDay ? '2000-01-02' : baseDate;
|
|
31
|
+
const end = (0, _dayjs.default)(`${endBase} ${businessEndTime}`);
|
|
55
32
|
while (cursor.isBefore(end)) {
|
|
56
|
-
labels.push(cursor.format(
|
|
57
|
-
cursor = cursor.add(slotDurationMinutes,
|
|
33
|
+
labels.push(cursor.format('HH:mm'));
|
|
34
|
+
cursor = cursor.add(slotDurationMinutes, 'minute');
|
|
58
35
|
}
|
|
59
36
|
return labels;
|
|
60
37
|
}
|
|
61
38
|
function isSlotOccupied(slotStart, slotEnd, occupiedTimes) {
|
|
62
39
|
for (const occupied of occupiedTimes) {
|
|
63
|
-
const occStart = (0,
|
|
64
|
-
const occEnd = (0,
|
|
40
|
+
const occStart = (0, _dayjs.default)(occupied.start_at);
|
|
41
|
+
const occEnd = (0, _dayjs.default)(occupied.end_at);
|
|
65
42
|
if (slotStart.isBefore(occEnd) && slotEnd.isAfter(occStart)) {
|
|
66
43
|
return true;
|
|
67
44
|
}
|
|
@@ -70,20 +47,19 @@ function isSlotOccupied(slotStart, slotEnd, occupiedTimes) {
|
|
|
70
47
|
}
|
|
71
48
|
function isSlotWithinResourceTimes(slotStart, slotEnd, resourceTimes) {
|
|
72
49
|
for (const t of resourceTimes) {
|
|
73
|
-
const tStart = (0,
|
|
74
|
-
const tEnd = (0,
|
|
75
|
-
if (slotStart.isBefore(tEnd) && slotEnd.isAfter(tStart))
|
|
76
|
-
return true;
|
|
50
|
+
const tStart = (0, _dayjs.default)(t.start_at);
|
|
51
|
+
const tEnd = (0, _dayjs.default)(t.end_at);
|
|
52
|
+
if (slotStart.isBefore(tEnd) && slotEnd.isAfter(tStart)) return true;
|
|
77
53
|
}
|
|
78
54
|
return false;
|
|
79
55
|
}
|
|
80
56
|
function getResourceTimesForDate(resource, date, config) {
|
|
81
57
|
const crossDay = isBusinessHoursCrossDay(config);
|
|
82
|
-
const dayStart = (0,
|
|
83
|
-
const dayEnd = crossDay ? (0,
|
|
84
|
-
return resource.times.filter(
|
|
85
|
-
const tStart = (0,
|
|
86
|
-
const tEnd = (0,
|
|
58
|
+
const dayStart = (0, _dayjs.default)(`${date} ${config.businessStartTime}`);
|
|
59
|
+
const dayEnd = crossDay ? (0, _dayjs.default)(`${date} ${config.businessEndTime}`).add(1, 'day') : (0, _dayjs.default)(`${date} ${config.businessEndTime}`);
|
|
60
|
+
return resource.times.filter(t => {
|
|
61
|
+
const tStart = (0, _dayjs.default)(t.start_at);
|
|
62
|
+
const tEnd = (0, _dayjs.default)(t.end_at);
|
|
87
63
|
return tStart.isBefore(dayEnd) && tEnd.isAfter(dayStart);
|
|
88
64
|
});
|
|
89
65
|
}
|
|
@@ -104,25 +80,50 @@ function collectEventsForDate(resource, date, config) {
|
|
|
104
80
|
return events;
|
|
105
81
|
}
|
|
106
82
|
function computeSlotStatus(params) {
|
|
107
|
-
const {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
83
|
+
const {
|
|
84
|
+
slotStart,
|
|
85
|
+
slotEnd,
|
|
86
|
+
events,
|
|
87
|
+
resourceType,
|
|
88
|
+
capacity
|
|
89
|
+
} = params;
|
|
90
|
+
const overlapping = events.filter(evt => {
|
|
91
|
+
const evtStart = (0, _dayjs.default)(evt.start_at);
|
|
92
|
+
const evtEnd = (0, _dayjs.default)(evt.end_at);
|
|
111
93
|
return slotStart.isBefore(evtEnd) && slotEnd.isAfter(evtStart);
|
|
112
94
|
});
|
|
113
|
-
if (resourceType ===
|
|
114
|
-
if (overlapping.length > 0)
|
|
115
|
-
|
|
116
|
-
|
|
95
|
+
if (resourceType === 'single') {
|
|
96
|
+
if (overlapping.length > 0) return {
|
|
97
|
+
status: 'occupied',
|
|
98
|
+
remainingCapacity: 0
|
|
99
|
+
};
|
|
100
|
+
return {
|
|
101
|
+
status: 'available',
|
|
102
|
+
remainingCapacity: 1
|
|
103
|
+
};
|
|
117
104
|
}
|
|
118
105
|
const usedCapacity = overlapping.reduce((sum, evt) => sum + evt.pax, 0);
|
|
119
106
|
const remaining = Math.max(0, capacity - usedCapacity);
|
|
120
|
-
if (remaining <= 0)
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
107
|
+
if (remaining <= 0) return {
|
|
108
|
+
status: 'occupied',
|
|
109
|
+
remainingCapacity: 0
|
|
110
|
+
};
|
|
111
|
+
if (remaining < capacity) return {
|
|
112
|
+
status: 'partially_occupied',
|
|
113
|
+
remainingCapacity: remaining
|
|
114
|
+
};
|
|
115
|
+
return {
|
|
116
|
+
status: 'available',
|
|
117
|
+
remainingCapacity: remaining
|
|
118
|
+
};
|
|
125
119
|
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* 合并多个子商品的同一个时段为一个"外层 slot"。
|
|
123
|
+
* - status 取优先级最高的(available > partially_occupied > occupied > unavailable / past)
|
|
124
|
+
* - price 取非空子 slot 中最小的那个
|
|
125
|
+
* - 其它字段使用第一个参考子 slot(外层 slot 不带 productId)
|
|
126
|
+
*/
|
|
126
127
|
function mergeSubSlots(subSlots) {
|
|
127
128
|
const priority = {
|
|
128
129
|
available: 5,
|
|
@@ -133,16 +134,13 @@ function mergeSubSlots(subSlots) {
|
|
|
133
134
|
};
|
|
134
135
|
let best = subSlots[0];
|
|
135
136
|
for (const slot of subSlots) {
|
|
136
|
-
if ((priority[slot.status] ?? 0) > (priority[best.status] ?? 0))
|
|
137
|
-
best = slot;
|
|
137
|
+
if ((priority[slot.status] ?? 0) > (priority[best.status] ?? 0)) best = slot;
|
|
138
138
|
}
|
|
139
139
|
let minPrice = null;
|
|
140
140
|
for (const slot of subSlots) {
|
|
141
|
-
if (slot.price == null)
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
if (!minPrice || decimal.lt(minPrice))
|
|
145
|
-
minPrice = decimal;
|
|
141
|
+
if (slot.price == null) continue;
|
|
142
|
+
const decimal = new _decimal.default(slot.price || '0');
|
|
143
|
+
if (!minPrice || decimal.lt(minPrice)) minPrice = decimal;
|
|
146
144
|
}
|
|
147
145
|
return {
|
|
148
146
|
startTime: best.startTime,
|
|
@@ -175,17 +173,17 @@ function buildProductSlots(params) {
|
|
|
175
173
|
} = params;
|
|
176
174
|
const slots = [];
|
|
177
175
|
for (const label of timeLabels) {
|
|
178
|
-
const [h] = label.split(
|
|
176
|
+
const [h] = label.split(':').map(Number);
|
|
179
177
|
const isNextDay = crossDay && h < config_businessStartHour;
|
|
180
|
-
const slotDate = isNextDay ? (0,
|
|
181
|
-
const slotStart = (0,
|
|
182
|
-
const slotEnd = slotStart.add(config.slotDurationMinutes,
|
|
178
|
+
const slotDate = isNextDay ? (0, _dayjs.default)(date).add(1, 'day').format('YYYY-MM-DD') : date;
|
|
179
|
+
const slotStart = (0, _dayjs.default)(`${slotDate} ${label}`);
|
|
180
|
+
const slotEnd = slotStart.add(config.slotDurationMinutes, 'minute');
|
|
183
181
|
let status;
|
|
184
182
|
let remainingCapacity = null;
|
|
185
183
|
if (slotStart.isBefore(now)) {
|
|
186
|
-
status =
|
|
184
|
+
status = 'past';
|
|
187
185
|
} else if (!isSlotWithinResourceTimes(slotStart, slotEnd, timesForDate)) {
|
|
188
|
-
status =
|
|
186
|
+
status = 'unavailable';
|
|
189
187
|
} else {
|
|
190
188
|
const result = computeSlotStatus({
|
|
191
189
|
slotStart,
|
|
@@ -196,17 +194,17 @@ function buildProductSlots(params) {
|
|
|
196
194
|
});
|
|
197
195
|
status = result.status;
|
|
198
196
|
remainingCapacity = result.remainingCapacity;
|
|
199
|
-
if (status !==
|
|
197
|
+
if (status !== 'occupied' && childRawResources && childRawResources.length) {
|
|
200
198
|
for (let i = 0; i < childRawResources.length; i++) {
|
|
201
199
|
const child = childRawResources[i];
|
|
202
|
-
const childTimes =
|
|
203
|
-
const childEvents =
|
|
200
|
+
const childTimes = childTimesCache?.[i] ?? getResourceTimesForDate(child, date, config);
|
|
201
|
+
const childEvents = childEventsCache?.[i] ?? collectEventsForDate(child, date, config);
|
|
204
202
|
if (!isSlotWithinResourceTimes(slotStart, slotEnd, childTimes)) {
|
|
205
|
-
status =
|
|
203
|
+
status = 'unavailable';
|
|
206
204
|
remainingCapacity = null;
|
|
207
205
|
break;
|
|
208
206
|
}
|
|
209
|
-
const childType = child.type ||
|
|
207
|
+
const childType = child.type || 'single';
|
|
210
208
|
const childResult = computeSlotStatus({
|
|
211
209
|
slotStart,
|
|
212
210
|
slotEnd,
|
|
@@ -214,31 +212,28 @@ function buildProductSlots(params) {
|
|
|
214
212
|
resourceType: childType,
|
|
215
213
|
capacity: child.capacity ?? 1
|
|
216
214
|
});
|
|
217
|
-
if (childResult.status ===
|
|
218
|
-
status =
|
|
215
|
+
if (childResult.status === 'occupied') {
|
|
216
|
+
status = 'occupied';
|
|
219
217
|
remainingCapacity = 0;
|
|
220
218
|
break;
|
|
221
219
|
}
|
|
222
|
-
if (childResult.status ===
|
|
223
|
-
status =
|
|
224
|
-
remainingCapacity = Math.min(
|
|
225
|
-
remainingCapacity ?? childResult.remainingCapacity,
|
|
226
|
-
childResult.remainingCapacity
|
|
227
|
-
);
|
|
220
|
+
if (childResult.status === 'partially_occupied' && status === 'available') {
|
|
221
|
+
status = 'partially_occupied';
|
|
222
|
+
remainingCapacity = Math.min(remainingCapacity ?? childResult.remainingCapacity, childResult.remainingCapacity);
|
|
228
223
|
}
|
|
229
224
|
}
|
|
230
225
|
}
|
|
231
226
|
}
|
|
232
|
-
const isBookable = status ===
|
|
233
|
-
const slotStartStr = slotStart.format(
|
|
227
|
+
const isBookable = status === 'available' || status === 'partially_occupied';
|
|
228
|
+
const slotStartStr = slotStart.format('YYYY-MM-DD HH:mm');
|
|
234
229
|
slots.push({
|
|
235
230
|
startTime: slotStartStr,
|
|
236
|
-
endTime: slotEnd.format(
|
|
231
|
+
endTime: slotEnd.format('YYYY-MM-DD HH:mm'),
|
|
237
232
|
status,
|
|
238
|
-
price: isBookable ?
|
|
233
|
+
price: isBookable ? quotationPriceMap?.get(`${mapping.productId}:${slotStartStr}`) ?? mapping.price : null,
|
|
239
234
|
resourceId: resource.resourceId,
|
|
240
235
|
resourceFormId: resource.formId,
|
|
241
|
-
capacity: status ===
|
|
236
|
+
capacity: status === 'past' || status === 'unavailable' ? null : resCapacity,
|
|
242
237
|
remainingCapacity,
|
|
243
238
|
productId: mapping.productId
|
|
244
239
|
});
|
|
@@ -246,28 +241,32 @@ function buildProductSlots(params) {
|
|
|
246
241
|
return slots;
|
|
247
242
|
}
|
|
248
243
|
function buildTimeSlotGrid(params) {
|
|
249
|
-
const {
|
|
244
|
+
const {
|
|
245
|
+
date,
|
|
246
|
+
config,
|
|
247
|
+
rawResources,
|
|
248
|
+
resourceProductMap,
|
|
249
|
+
quotationPriceMap
|
|
250
|
+
} = params;
|
|
250
251
|
const timeLabels = generateTimeLabels(config);
|
|
251
|
-
const now = (0,
|
|
252
|
+
const now = (0, _dayjs.default)();
|
|
252
253
|
const crossDay = isBusinessHoursCrossDay(config);
|
|
253
|
-
const config_businessStartHour = Number(config.businessStartTime.split(
|
|
254
|
-
const rawResourceById =
|
|
255
|
-
for (const item of rawResources)
|
|
256
|
-
rawResourceById.set(item.resourceId, item);
|
|
254
|
+
const config_businessStartHour = Number(config.businessStartTime.split(':')[0]);
|
|
255
|
+
const rawResourceById = new Map();
|
|
256
|
+
for (const item of rawResources) rawResourceById.set(item.resourceId, item);
|
|
257
257
|
const resources = [];
|
|
258
258
|
for (const resource of rawResources) {
|
|
259
259
|
const mappings = resourceProductMap.get(resource.resourceId);
|
|
260
|
-
if (!mappings || !mappings.length)
|
|
261
|
-
continue;
|
|
260
|
+
if (!mappings || !mappings.length) continue;
|
|
262
261
|
const timesForDate = getResourceTimesForDate(resource, date, config);
|
|
263
262
|
const events = collectEventsForDate(resource, date, config);
|
|
264
263
|
const resCapacity = resource.capacity ?? 1;
|
|
265
264
|
const combined = resource.combined_resource;
|
|
266
265
|
const isCombined = !!(combined && combined.status === 1 && Array.isArray(combined.resource_ids) && combined.resource_ids.length);
|
|
267
|
-
const childRawResources = isCombined ? combined.resource_ids.map(
|
|
268
|
-
const childTimesCache = childRawResources
|
|
269
|
-
const childEventsCache = childRawResources
|
|
270
|
-
const subRows = mappings.map(
|
|
266
|
+
const childRawResources = isCombined ? combined.resource_ids.map(id => rawResourceById.get(id)).filter(r => !!r) : undefined;
|
|
267
|
+
const childTimesCache = childRawResources?.map(child => getResourceTimesForDate(child, date, config));
|
|
268
|
+
const childEventsCache = childRawResources?.map(child => collectEventsForDate(child, date, config));
|
|
269
|
+
const subRows = mappings.map(mapping => {
|
|
271
270
|
const productSlots = buildProductSlots({
|
|
272
271
|
date,
|
|
273
272
|
config,
|
|
@@ -297,11 +296,14 @@ function buildTimeSlotGrid(params) {
|
|
|
297
296
|
let outerSlots;
|
|
298
297
|
if (hasMultipleProducts) {
|
|
299
298
|
outerSlots = timeLabels.map((_label, slotIndex) => {
|
|
300
|
-
const group = subRows.map(
|
|
299
|
+
const group = subRows.map(row => row.slots[slotIndex]);
|
|
301
300
|
return mergeSubSlots(group);
|
|
302
301
|
});
|
|
303
302
|
} else {
|
|
304
|
-
outerSlots = subRows[0].slots.map(
|
|
303
|
+
outerSlots = subRows[0].slots.map(slot => ({
|
|
304
|
+
...slot,
|
|
305
|
+
productId: undefined
|
|
306
|
+
}));
|
|
305
307
|
}
|
|
306
308
|
const row = {
|
|
307
309
|
resourceId: resource.resourceId,
|
|
@@ -316,24 +318,22 @@ function buildTimeSlotGrid(params) {
|
|
|
316
318
|
row.hasMultipleProducts = true;
|
|
317
319
|
}
|
|
318
320
|
if (isCombined && combined) {
|
|
319
|
-
row.combinedResource = {
|
|
321
|
+
row.combinedResource = {
|
|
322
|
+
resourceIds: [...combined.resource_ids]
|
|
323
|
+
};
|
|
320
324
|
}
|
|
321
325
|
resources.push(row);
|
|
322
326
|
}
|
|
323
|
-
|
|
327
|
+
|
|
328
|
+
// 按 productId 分组排序,确保同一商品的场地连续排列
|
|
329
|
+
const productOrder = new Map();
|
|
324
330
|
for (const row of resources) {
|
|
325
|
-
if (!productOrder.has(row.productId))
|
|
326
|
-
productOrder.set(row.productId, productOrder.size);
|
|
331
|
+
if (!productOrder.has(row.productId)) productOrder.set(row.productId, productOrder.size);
|
|
327
332
|
}
|
|
328
333
|
resources.sort((a, b) => (productOrder.get(a.productId) ?? 0) - (productOrder.get(b.productId) ?? 0));
|
|
329
|
-
return {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
computeSlotStatus,
|
|
336
|
-
generateTimeLabels,
|
|
337
|
-
isBusinessHoursCrossDay,
|
|
338
|
-
isSlotOccupied
|
|
339
|
-
});
|
|
334
|
+
return {
|
|
335
|
+
date,
|
|
336
|
+
timeLabels,
|
|
337
|
+
resources
|
|
338
|
+
};
|
|
339
|
+
}
|
|
@@ -1,69 +1,132 @@
|
|
|
1
|
-
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(utils_exports, {
|
|
22
|
-
aggregateItemRuleLimit: () => import_utils.aggregateItemRuleLimit,
|
|
23
|
-
attachItemRuleLimitsToTopLevelProducts: () => import_utils.attachItemRuleLimitsToTopLevelProducts,
|
|
24
|
-
buildItemRuleBusinessData: () => import_utils.buildItemRuleBusinessData,
|
|
25
|
-
buildProductKey: () => import_utils.buildProductKey,
|
|
26
|
-
buildQuantityLimitIndex: () => import_utils.buildQuantityLimitIndex,
|
|
27
|
-
createEmptySummary: () => import_utils.createEmptySummary,
|
|
28
|
-
extractStrategyModelIdsFromTableConfig: () => import_utils.extractStrategyModelIdsFromTableConfig,
|
|
29
|
-
getProductIdentityIndex: () => import_utils.getProductIdentityIndex,
|
|
30
|
-
getSafeProductNum: () => import_utils.getSafeProductNum,
|
|
31
|
-
getTopLevelProductId: () => import_utils.getTopLevelProductId,
|
|
32
|
-
getTopLevelVariantId: () => import_utils.getTopLevelVariantId,
|
|
33
|
-
isIdentityMatch: () => import_utils.isIdentityMatch,
|
|
34
|
-
normalizeEnabledItemRuleIds: () => import_utils.normalizeEnabledItemRuleIds,
|
|
35
|
-
normalizeItemRuleStrategies: () => import_utils.normalizeItemRuleStrategies,
|
|
36
|
-
normalizeOrderProduct: () => import_utils.normalizeOrderProduct,
|
|
37
|
-
resolveSkuMatchedQuantityLimits: () => import_utils.resolveSkuMatchedQuantityLimits,
|
|
38
|
-
toBoolean: () => import_utils.toBoolean,
|
|
39
|
-
toNonNegativeInt: () => import_utils.toNonNegativeInt,
|
|
40
|
-
toNonNegativeNumber: () => import_utils.toNonNegativeNumber,
|
|
41
|
-
toPositiveString: () => import_utils.toPositiveString,
|
|
42
|
-
toPriceString: () => import_utils.toPriceString
|
|
43
|
-
});
|
|
44
|
-
module.exports = __toCommonJS(utils_exports);
|
|
45
|
-
var import_utils = require("../ScanOrder/utils");
|
|
46
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
-
0 && (module.exports = {
|
|
48
|
-
aggregateItemRuleLimit,
|
|
49
|
-
attachItemRuleLimitsToTopLevelProducts,
|
|
50
|
-
buildItemRuleBusinessData,
|
|
51
|
-
buildProductKey,
|
|
52
|
-
buildQuantityLimitIndex,
|
|
53
|
-
createEmptySummary,
|
|
54
|
-
extractStrategyModelIdsFromTableConfig,
|
|
55
|
-
getProductIdentityIndex,
|
|
56
|
-
getSafeProductNum,
|
|
57
|
-
getTopLevelProductId,
|
|
58
|
-
getTopLevelVariantId,
|
|
59
|
-
isIdentityMatch,
|
|
60
|
-
normalizeEnabledItemRuleIds,
|
|
61
|
-
normalizeItemRuleStrategies,
|
|
62
|
-
normalizeOrderProduct,
|
|
63
|
-
resolveSkuMatchedQuantityLimits,
|
|
64
|
-
toBoolean,
|
|
65
|
-
toNonNegativeInt,
|
|
66
|
-
toNonNegativeNumber,
|
|
67
|
-
toPositiveString,
|
|
68
|
-
toPriceString
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
69
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "aggregateItemRuleLimit", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _utils.aggregateItemRuleLimit;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "attachItemRuleLimitsToTopLevelProducts", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _utils.attachItemRuleLimitsToTopLevelProducts;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "buildItemRuleBusinessData", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _utils.buildItemRuleBusinessData;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "buildProductKey", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _utils.buildProductKey;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "buildQuantityLimitIndex", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _utils.buildQuantityLimitIndex;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "createEmptySummary", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _utils.createEmptySummary;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "extractStrategyModelIdsFromTableConfig", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _utils.extractStrategyModelIdsFromTableConfig;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "getProductIdentityIndex", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _utils.getProductIdentityIndex;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "getSafeProductNum", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _utils.getSafeProductNum;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "getTopLevelProductId", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _utils.getTopLevelProductId;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "getTopLevelVariantId", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _utils.getTopLevelVariantId;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "isIdentityMatch", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () {
|
|
75
|
+
return _utils.isIdentityMatch;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "normalizeEnabledItemRuleIds", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return _utils.normalizeEnabledItemRuleIds;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(exports, "normalizeItemRuleStrategies", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () {
|
|
87
|
+
return _utils.normalizeItemRuleStrategies;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "normalizeOrderProduct", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _utils.normalizeOrderProduct;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "resolveSkuMatchedQuantityLimits", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _utils.resolveSkuMatchedQuantityLimits;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(exports, "toBoolean", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function () {
|
|
105
|
+
return _utils.toBoolean;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
Object.defineProperty(exports, "toNonNegativeInt", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function () {
|
|
111
|
+
return _utils.toNonNegativeInt;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
Object.defineProperty(exports, "toNonNegativeNumber", {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
get: function () {
|
|
117
|
+
return _utils.toNonNegativeNumber;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
Object.defineProperty(exports, "toPositiveString", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function () {
|
|
123
|
+
return _utils.toPositiveString;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(exports, "toPriceString", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function () {
|
|
129
|
+
return _utils.toPriceString;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
var _utils = require("../ScanOrder/utils");
|