@pisell/pisellos 0.0.569 → 0.10.2
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 +10 -6
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -3
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
- package/dist/model/strategy/adapter/walletPass/example.js +26 -3
- package/dist/model/strategy/adapter/walletPass/index.js +5 -5
- package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
- package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
- package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
- package/dist/model/strategy/strategy-example.js +19 -5
- package/dist/modules/BaseModule.d.ts +1 -1
- package/dist/modules/BaseModule.js +8 -10
- package/dist/modules/Cart/index.js +3 -0
- package/dist/modules/Cart/utils/cartProduct.js +1 -0
- package/dist/modules/Cart/utils/cartResource.js +0 -2
- package/dist/modules/Cart/utils/changePrice.js +9 -16
- package/dist/modules/Date/index.js +5 -1
- package/dist/modules/Discount/index.d.ts +0 -1
- package/dist/modules/Discount/index.js +7 -22
- package/dist/modules/Discount/types.d.ts +0 -1
- package/dist/modules/OpenData/index.js +2 -0
- package/dist/modules/Order/index.js +70 -40
- package/dist/modules/Payment/index.js +162 -97
- package/dist/modules/Payment/types.d.ts +4 -8
- package/dist/modules/Payment/walletpass.d.ts +0 -2
- package/dist/modules/Payment/walletpass.js +5 -4
- package/dist/modules/ProductList/index.d.ts +1 -1
- package/dist/modules/ProductList/index.js +3 -12
- package/dist/modules/ProductList/types.d.ts +0 -1
- package/dist/modules/Rules/index.js +126 -427
- package/dist/modules/SalesSummary/utils.js +1 -2
- package/dist/modules/Schedule/getDateIsInSchedule.js +0 -5
- package/dist/modules/Schedule/index.js +1 -0
- package/dist/modules/Schedule/utils.js +1 -0
- package/dist/modules/Step/index.js +1 -0
- package/dist/modules/Summary/utils.js +22 -43
- package/dist/plugins/request.js +4 -1
- package/dist/plugins/window.js +6 -2
- package/dist/server/index.js +129 -97
- package/dist/server/modules/menu/index.js +41 -32
- package/dist/server/modules/order/index.js +4 -2
- package/dist/server/modules/products/index.js +42 -24
- package/dist/server/modules/quotation/index.js +38 -29
- package/dist/server/modules/resource/index.js +4 -3
- package/dist/server/modules/schedule/index.js +35 -27
- package/dist/server/utils/product.js +1 -0
- package/dist/solution/BaseSales/index.js +41 -38
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- package/dist/solution/BookingByStep/index.js +60 -11
- package/dist/solution/BookingByStep/utils/capacity.js +11 -1
- package/dist/solution/BookingByStep/utils/resources.js +3 -1
- package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
- package/dist/solution/BookingTicket/index.d.ts +1 -1
- package/dist/solution/BookingTicket/index.js +2 -0
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +7 -6
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +31 -25
- package/dist/solution/BookingTicket/utils/scan/index.js +10 -6
- package/dist/solution/BuyTickets/index.js +12 -9
- package/dist/solution/Checkout/index.js +252 -177
- package/dist/solution/Checkout/utils/index.js +16 -4
- package/dist/solution/RegisterAndLogin/index.js +76 -30
- package/dist/solution/ScanOrder/index.js +60 -50
- package/dist/solution/ShopDiscount/index.js +14 -15
- package/dist/solution/ShopDiscount/types.d.ts +4 -5
- package/dist/solution/ShopDiscount/utils.d.ts +0 -9
- package/dist/solution/ShopDiscount/utils.js +0 -9
- package/dist/solution/VenueBooking/index.d.ts +3 -31
- package/dist/solution/VenueBooking/index.js +496 -651
- package/dist/solution/VenueBooking/types.d.ts +1 -3
- package/dist/solution/VenueBooking/types.js +0 -1
- package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
- package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
- package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
- package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
- package/dist/types/index.d.ts +1 -1
- package/dist/utils/task.js +18 -15
- package/dist/utils/watch.js +1 -0
- package/lib/apis/picoding.js +0 -2
- package/lib/core/index.js +132 -130
- package/lib/effects/index.js +57 -46
- package/lib/index.d.ts +0 -1
- package/lib/index.js +50 -92
- package/lib/model/index.js +21 -14
- package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
- package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
- package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
- package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
- package/lib/model/strategy/adapter/index.js +64 -100
- package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
- package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
- package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
- package/lib/model/strategy/adapter/itemRule/index.js +57 -83
- package/lib/model/strategy/adapter/itemRule/type.js +36 -97
- package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
- package/lib/model/strategy/adapter/promotion/evaluator.js +231 -381
- package/lib/model/strategy/adapter/promotion/examples.js +159 -139
- package/lib/model/strategy/adapter/promotion/index.js +49 -1
- package/lib/model/strategy/adapter/promotion/type.js +35 -199
- package/lib/model/strategy/adapter/type.js +16 -4
- package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
- package/lib/model/strategy/adapter/walletPass/example.js +190 -217
- package/lib/model/strategy/adapter/walletPass/index.js +51 -75
- package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
- package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
- package/lib/model/strategy/adapter/walletPass/type.js +16 -4
- package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
- package/lib/model/strategy/adapter/walletPass/utils.js +383 -678
- package/lib/model/strategy/engine.js +168 -270
- package/lib/model/strategy/index.js +34 -49
- package/lib/model/strategy/strategy-example.js +239 -243
- package/lib/model/strategy/type.js +40 -100
- package/lib/modules/Account/index.js +53 -39
- package/lib/modules/Account/types.js +33 -20
- package/lib/modules/AccountList/index.js +154 -116
- package/lib/modules/AccountList/types.js +31 -30
- package/lib/modules/AccountList/utils.js +30 -18
- package/lib/modules/BaseModule.d.ts +1 -1
- package/lib/modules/BaseModule.js +46 -25
- package/lib/modules/BookingContext/index.js +136 -158
- package/lib/modules/BookingContext/types.js +32 -46
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +143 -131
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +82 -75
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +150 -170
- package/lib/modules/BookingContext/utils/flexible.js +55 -38
- package/lib/modules/BookingContext/utils/formatResourceList.js +34 -19
- package/lib/modules/BookingContext/utils/index.js +41 -124
- package/lib/modules/BookingContext/utils/noResource.js +70 -58
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +41 -14
- package/lib/modules/BookingContext/utils/productExtend.js +155 -202
- package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
- package/lib/modules/BookingContext/utils/resourceSelection.js +41 -19
- package/lib/modules/BookingContext/utils/resources.js +167 -209
- package/lib/modules/BookingContext/utils/serviceTimes.js +116 -115
- package/lib/modules/BookingContext/utils/timeSlices.js +80 -70
- package/lib/modules/Cart/index.js +124 -170
- package/lib/modules/Cart/types.js +51 -46
- package/lib/modules/Cart/utils/cartAccount.js +39 -40
- package/lib/modules/Cart/utils/cartDate.js +61 -56
- package/lib/modules/Cart/utils/cartDiscount.js +33 -28
- package/lib/modules/Cart/utils/cartNote.js +32 -27
- package/lib/modules/Cart/utils/cartProduct.js +251 -321
- package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
- package/lib/modules/Cart/utils/cartResource.js +78 -72
- package/lib/modules/Cart/utils/changePrice.js +50 -28
- package/lib/modules/Cart/utils/index.js +48 -106
- package/lib/modules/Customer/constants.js +34 -13
- package/lib/modules/Customer/index.js +169 -232
- package/lib/modules/Customer/types.js +35 -38
- package/lib/modules/Date/index.js +115 -116
- package/lib/modules/Date/types.js +28 -16
- package/lib/modules/Date/utils.js +123 -174
- package/lib/modules/Discount/index.d.ts +0 -1
- package/lib/modules/Discount/index.js +128 -130
- package/lib/modules/Discount/types.d.ts +0 -1
- package/lib/modules/Discount/types.js +31 -9
- package/lib/modules/Guests/index.js +56 -30
- package/lib/modules/Guests/types.js +33 -23
- package/lib/modules/Holder/index.js +189 -209
- package/lib/modules/Holder/types.js +16 -4
- package/lib/modules/Holder/utils.js +49 -20
- package/lib/modules/OpenData/index.js +76 -69
- package/lib/modules/OpenData/types.js +16 -4
- package/lib/modules/OpenData/utils.js +78 -44
- package/lib/modules/Order/index.js +1909 -1572
- package/lib/modules/Order/types.js +35 -78
- package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
- package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
- package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
- package/lib/modules/Order/utils.js +634 -799
- package/lib/modules/Payment/cash.js +33 -20
- package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
- package/lib/modules/Payment/eftpos.js +30 -16
- package/lib/modules/Payment/index.js +378 -518
- package/lib/modules/Payment/mx51.js +0 -1
- package/lib/modules/Payment/types.d.ts +4 -8
- package/lib/modules/Payment/types.js +107 -216
- package/lib/modules/Payment/utils.js +48 -51
- package/lib/modules/Payment/walletpass.d.ts +0 -2
- package/lib/modules/Payment/walletpass.js +211 -226
- package/lib/modules/Product/index.js +46 -51
- package/lib/modules/Product/types.js +16 -4
- package/lib/modules/Product/utils.js +33 -32
- package/lib/modules/ProductList/index.d.ts +1 -1
- package/lib/modules/ProductList/index.js +117 -117
- package/lib/modules/ProductList/types.d.ts +0 -1
- package/lib/modules/ProductList/types.js +31 -9
- package/lib/modules/Quotation/index.js +100 -66
- package/lib/modules/Quotation/types.js +16 -4
- package/lib/modules/Resource/index.js +59 -27
- package/lib/modules/Resource/types.js +32 -22
- package/lib/modules/Resource/utils.js +38 -30
- package/lib/modules/ResourcePlanner/index.js +61 -60
- package/lib/modules/ResourcePlanner/planner.js +384 -346
- package/lib/modules/ResourcePlanner/types.js +16 -4
- package/lib/modules/Rules/index.js +903 -1475
- package/lib/modules/Rules/types.js +40 -17
- package/lib/modules/SalesSummary/index.js +90 -85
- package/lib/modules/SalesSummary/types.js +16 -4
- package/lib/modules/SalesSummary/utils.js +427 -351
- package/lib/modules/ScanOrderLogger/index.js +79 -59
- package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
- package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
- package/lib/modules/ScanOrderLogger/types.js +16 -4
- package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
- package/lib/modules/Schedule/index.js +114 -100
- package/lib/modules/Schedule/type.js +16 -4
- package/lib/modules/Schedule/types.js +16 -4
- package/lib/modules/Schedule/utils.js +291 -433
- package/lib/modules/Step/index.js +52 -40
- package/lib/modules/Step/tyeps.js +16 -4
- package/lib/modules/Summary/index.js +71 -66
- package/lib/modules/Summary/types.js +16 -4
- package/lib/modules/Summary/utils.js +418 -791
- package/lib/modules/SurchargeList/index.js +60 -46
- package/lib/modules/SurchargeList/types.js +16 -4
- package/lib/modules/index.js +63 -245
- package/lib/plugins/app.js +16 -4
- package/lib/plugins/index.js +25 -36
- package/lib/plugins/request.js +126 -137
- package/lib/plugins/shopStore.js +16 -4
- package/lib/plugins/user.js +16 -4
- package/lib/plugins/window.js +179 -171
- package/lib/server/index.js +2337 -2675
- package/lib/server/modules/floor-plan/index.js +123 -102
- package/lib/server/modules/floor-plan/types.js +30 -15
- package/lib/server/modules/index.js +68 -106
- package/lib/server/modules/menu/index.js +122 -146
- package/lib/server/modules/menu/types.js +31 -18
- package/lib/server/modules/order/index.js +642 -567
- package/lib/server/modules/order/types.js +32 -117
- package/lib/server/modules/order/utils/filterBookings.js +194 -219
- package/lib/server/modules/order/utils/filterOrders.js +92 -118
- package/lib/server/modules/payment/index.js +83 -59
- package/lib/server/modules/payment/types.js +16 -4
- package/lib/server/modules/products/index.js +459 -575
- package/lib/server/modules/products/types.js +34 -44
- package/lib/server/modules/quotation/index.js +172 -137
- package/lib/server/modules/quotation/types.js +31 -21
- package/lib/server/modules/resource/index.js +184 -213
- package/lib/server/modules/resource/types.js +33 -42
- package/lib/server/modules/schedule/index.js +123 -135
- package/lib/server/modules/schedule/types.js +21 -14
- package/lib/server/modules/schedule/utils.js +163 -334
- package/lib/server/types.js +16 -4
- package/lib/server/utils/index.js +23 -25
- package/lib/server/utils/product.js +139 -196
- package/lib/server/utils/schedule.js +41 -34
- package/lib/server/utils/small-ticket.js +456 -478
- package/lib/server/utils/time.js +49 -40
- package/lib/solution/BaseSales/index.js +1016 -850
- package/lib/solution/BaseSales/types.js +37 -41
- package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
- package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
- package/lib/solution/BaseSales/utils.js +140 -155
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/index.js +1340 -1530
- package/lib/solution/BookingByStep/types.js +99 -40
- package/lib/solution/BookingByStep/utils/capacity.js +160 -192
- package/lib/solution/BookingByStep/utils/products.js +52 -42
- package/lib/solution/BookingByStep/utils/resources.js +330 -527
- package/lib/solution/BookingByStep/utils/stock.js +44 -65
- package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
- package/lib/solution/BookingTicket/index.d.ts +1 -1
- package/lib/solution/BookingTicket/index.js +459 -543
- package/lib/solution/BookingTicket/types.js +77 -99
- package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
- package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
- package/lib/solution/BookingTicket/utils/cartView.js +94 -110
- package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
- package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
- package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
- package/lib/solution/BuyTickets/index.js +70 -67
- package/lib/solution/BuyTickets/types.js +38 -22
- package/lib/solution/Checkout/index.js +1158 -1451
- package/lib/solution/Checkout/types.js +61 -91
- package/lib/solution/Checkout/utils/index.js +156 -228
- package/lib/solution/PlaceOrder/index.js +0 -55
- package/lib/solution/RegisterAndLogin/config.js +460 -493
- package/lib/solution/RegisterAndLogin/index.js +630 -633
- package/lib/solution/RegisterAndLogin/types.js +76 -189
- package/lib/solution/RegisterAndLogin/utils.js +125 -183
- package/lib/solution/Sales/index.js +320 -317
- package/lib/solution/Sales/types.js +33 -27
- package/lib/solution/ScanOrder/index.js +862 -831
- package/lib/solution/ScanOrder/types.js +34 -33
- package/lib/solution/ScanOrder/utils.js +371 -406
- package/lib/solution/ShopDiscount/index.js +233 -235
- package/lib/solution/ShopDiscount/types.d.ts +4 -5
- package/lib/solution/ShopDiscount/types.js +37 -15
- package/lib/solution/ShopDiscount/utils.d.ts +0 -9
- package/lib/solution/ShopDiscount/utils.js +172 -309
- package/lib/solution/UnifiedBookingSales/index.js +405 -379
- package/lib/solution/UnifiedBookingSales/types.js +31 -12
- package/lib/solution/VenueBooking/index.d.ts +3 -31
- package/lib/solution/VenueBooking/index.js +916 -967
- package/lib/solution/VenueBooking/types.d.ts +1 -3
- package/lib/solution/VenueBooking/types.js +39 -20
- package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
- package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
- package/lib/solution/VenueBooking/utils/resource.js +54 -31
- package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
- package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
- package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
- package/lib/solution/VenueBooking/utils.js +67 -130
- package/lib/solution/index.js +41 -124
- package/lib/store/createStore.js +29 -32
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.js +16 -4
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +47 -81
- package/package.json +2 -4
- package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
- package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
- package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
- package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
|
@@ -1,44 +1,67 @@
|
|
|
1
|
-
|
|
1
|
+
var __create = Object.create;
|
|
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);
|
|
2
28
|
|
|
3
|
-
|
|
4
|
-
|
|
29
|
+
// src/solution/VenueBooking/utils/timeSlot.ts
|
|
30
|
+
var timeSlot_exports = {};
|
|
31
|
+
__export(timeSlot_exports, {
|
|
32
|
+
buildTimeSlotGrid: () => buildTimeSlotGrid,
|
|
33
|
+
collectEventsForDate: () => collectEventsForDate,
|
|
34
|
+
computeSlotStatus: () => computeSlotStatus,
|
|
35
|
+
generateTimeLabels: () => generateTimeLabels,
|
|
36
|
+
isBusinessHoursCrossDay: () => isBusinessHoursCrossDay,
|
|
37
|
+
isSlotOccupied: () => isSlotOccupied
|
|
5
38
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
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 }; }
|
|
39
|
+
module.exports = __toCommonJS(timeSlot_exports);
|
|
40
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
41
|
+
var import_decimal = __toESM(require("decimal.js"));
|
|
15
42
|
function isBusinessHoursCrossDay(config) {
|
|
16
|
-
const [startH, startM] = config.businessStartTime.split(
|
|
17
|
-
const [endH, endM] = config.businessEndTime.split(
|
|
43
|
+
const [startH, startM] = config.businessStartTime.split(":").map(Number);
|
|
44
|
+
const [endH, endM] = config.businessEndTime.split(":").map(Number);
|
|
18
45
|
return endH < startH || endH === startH && endM <= startM;
|
|
19
46
|
}
|
|
20
47
|
function generateTimeLabels(config) {
|
|
21
|
-
const {
|
|
22
|
-
slotDurationMinutes,
|
|
23
|
-
businessStartTime,
|
|
24
|
-
businessEndTime
|
|
25
|
-
} = config;
|
|
48
|
+
const { slotDurationMinutes, businessStartTime, businessEndTime } = config;
|
|
26
49
|
const labels = [];
|
|
27
|
-
const baseDate =
|
|
28
|
-
let cursor = (0,
|
|
50
|
+
const baseDate = "2000-01-01";
|
|
51
|
+
let cursor = (0, import_dayjs.default)(`${baseDate} ${businessStartTime}`);
|
|
29
52
|
const crossDay = isBusinessHoursCrossDay(config);
|
|
30
|
-
const endBase = crossDay ?
|
|
31
|
-
const end = (0,
|
|
53
|
+
const endBase = crossDay ? "2000-01-02" : baseDate;
|
|
54
|
+
const end = (0, import_dayjs.default)(`${endBase} ${businessEndTime}`);
|
|
32
55
|
while (cursor.isBefore(end)) {
|
|
33
|
-
labels.push(cursor.format(
|
|
34
|
-
cursor = cursor.add(slotDurationMinutes,
|
|
56
|
+
labels.push(cursor.format("HH:mm"));
|
|
57
|
+
cursor = cursor.add(slotDurationMinutes, "minute");
|
|
35
58
|
}
|
|
36
59
|
return labels;
|
|
37
60
|
}
|
|
38
61
|
function isSlotOccupied(slotStart, slotEnd, occupiedTimes) {
|
|
39
62
|
for (const occupied of occupiedTimes) {
|
|
40
|
-
const occStart = (0,
|
|
41
|
-
const occEnd = (0,
|
|
63
|
+
const occStart = (0, import_dayjs.default)(occupied.start_at);
|
|
64
|
+
const occEnd = (0, import_dayjs.default)(occupied.end_at);
|
|
42
65
|
if (slotStart.isBefore(occEnd) && slotEnd.isAfter(occStart)) {
|
|
43
66
|
return true;
|
|
44
67
|
}
|
|
@@ -47,19 +70,20 @@ function isSlotOccupied(slotStart, slotEnd, occupiedTimes) {
|
|
|
47
70
|
}
|
|
48
71
|
function isSlotWithinResourceTimes(slotStart, slotEnd, resourceTimes) {
|
|
49
72
|
for (const t of resourceTimes) {
|
|
50
|
-
const tStart = (0,
|
|
51
|
-
const tEnd = (0,
|
|
52
|
-
if (slotStart.isBefore(tEnd) && slotEnd.isAfter(tStart))
|
|
73
|
+
const tStart = (0, import_dayjs.default)(t.start_at);
|
|
74
|
+
const tEnd = (0, import_dayjs.default)(t.end_at);
|
|
75
|
+
if (slotStart.isBefore(tEnd) && slotEnd.isAfter(tStart))
|
|
76
|
+
return true;
|
|
53
77
|
}
|
|
54
78
|
return false;
|
|
55
79
|
}
|
|
56
80
|
function getResourceTimesForDate(resource, date, config) {
|
|
57
81
|
const crossDay = isBusinessHoursCrossDay(config);
|
|
58
|
-
const dayStart = (0,
|
|
59
|
-
const dayEnd = crossDay ? (0,
|
|
60
|
-
return resource.times.filter(t => {
|
|
61
|
-
const tStart = (0,
|
|
62
|
-
const tEnd = (0,
|
|
82
|
+
const dayStart = (0, import_dayjs.default)(`${date} ${config.businessStartTime}`);
|
|
83
|
+
const dayEnd = crossDay ? (0, import_dayjs.default)(`${date} ${config.businessEndTime}`).add(1, "day") : (0, import_dayjs.default)(`${date} ${config.businessEndTime}`);
|
|
84
|
+
return resource.times.filter((t) => {
|
|
85
|
+
const tStart = (0, import_dayjs.default)(t.start_at);
|
|
86
|
+
const tEnd = (0, import_dayjs.default)(t.end_at);
|
|
63
87
|
return tStart.isBefore(dayEnd) && tEnd.isAfter(dayStart);
|
|
64
88
|
});
|
|
65
89
|
}
|
|
@@ -80,50 +104,25 @@ function collectEventsForDate(resource, date, config) {
|
|
|
80
104
|
return events;
|
|
81
105
|
}
|
|
82
106
|
function computeSlotStatus(params) {
|
|
83
|
-
const {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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);
|
|
107
|
+
const { slotStart, slotEnd, events, resourceType, capacity } = params;
|
|
108
|
+
const overlapping = events.filter((evt) => {
|
|
109
|
+
const evtStart = (0, import_dayjs.default)(evt.start_at);
|
|
110
|
+
const evtEnd = (0, import_dayjs.default)(evt.end_at);
|
|
93
111
|
return slotStart.isBefore(evtEnd) && slotEnd.isAfter(evtStart);
|
|
94
112
|
});
|
|
95
|
-
if (resourceType ===
|
|
96
|
-
if (overlapping.length > 0)
|
|
97
|
-
status:
|
|
98
|
-
|
|
99
|
-
};
|
|
100
|
-
return {
|
|
101
|
-
status: 'available',
|
|
102
|
-
remainingCapacity: 1
|
|
103
|
-
};
|
|
113
|
+
if (resourceType === "single") {
|
|
114
|
+
if (overlapping.length > 0)
|
|
115
|
+
return { status: "occupied", remainingCapacity: 0 };
|
|
116
|
+
return { status: "available", remainingCapacity: 1 };
|
|
104
117
|
}
|
|
105
118
|
const usedCapacity = overlapping.reduce((sum, evt) => sum + evt.pax, 0);
|
|
106
119
|
const remaining = Math.max(0, capacity - usedCapacity);
|
|
107
|
-
if (remaining <= 0)
|
|
108
|
-
status:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
status: 'partially_occupied',
|
|
113
|
-
remainingCapacity: remaining
|
|
114
|
-
};
|
|
115
|
-
return {
|
|
116
|
-
status: 'available',
|
|
117
|
-
remainingCapacity: remaining
|
|
118
|
-
};
|
|
120
|
+
if (remaining <= 0)
|
|
121
|
+
return { status: "occupied", remainingCapacity: 0 };
|
|
122
|
+
if (remaining < capacity)
|
|
123
|
+
return { status: "partially_occupied", remainingCapacity: remaining };
|
|
124
|
+
return { status: "available", remainingCapacity: remaining };
|
|
119
125
|
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* 合并多个子商品的同一个时段为一个"外层 slot"。
|
|
123
|
-
* - status 取优先级最高的(available > partially_occupied > occupied > unavailable / past)
|
|
124
|
-
* - price 取非空子 slot 中最小的那个
|
|
125
|
-
* - 其它字段使用第一个参考子 slot(外层 slot 不带 productId)
|
|
126
|
-
*/
|
|
127
126
|
function mergeSubSlots(subSlots) {
|
|
128
127
|
const priority = {
|
|
129
128
|
available: 5,
|
|
@@ -134,13 +133,16 @@ function mergeSubSlots(subSlots) {
|
|
|
134
133
|
};
|
|
135
134
|
let best = subSlots[0];
|
|
136
135
|
for (const slot of subSlots) {
|
|
137
|
-
if ((priority[slot.status] ?? 0) > (priority[best.status] ?? 0))
|
|
136
|
+
if ((priority[slot.status] ?? 0) > (priority[best.status] ?? 0))
|
|
137
|
+
best = slot;
|
|
138
138
|
}
|
|
139
139
|
let minPrice = null;
|
|
140
140
|
for (const slot of subSlots) {
|
|
141
|
-
if (slot.price == null)
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
if (slot.price == null)
|
|
142
|
+
continue;
|
|
143
|
+
const decimal = new import_decimal.default(slot.price || "0");
|
|
144
|
+
if (!minPrice || decimal.lt(minPrice))
|
|
145
|
+
minPrice = decimal;
|
|
144
146
|
}
|
|
145
147
|
return {
|
|
146
148
|
startTime: best.startTime,
|
|
@@ -166,7 +168,6 @@ function buildProductSlots(params) {
|
|
|
166
168
|
now,
|
|
167
169
|
crossDay,
|
|
168
170
|
quotationPriceMap,
|
|
169
|
-
slotPriceMap,
|
|
170
171
|
childRawResources,
|
|
171
172
|
childTimesCache,
|
|
172
173
|
childEventsCache,
|
|
@@ -174,17 +175,17 @@ function buildProductSlots(params) {
|
|
|
174
175
|
} = params;
|
|
175
176
|
const slots = [];
|
|
176
177
|
for (const label of timeLabels) {
|
|
177
|
-
const [h] = label.split(
|
|
178
|
+
const [h] = label.split(":").map(Number);
|
|
178
179
|
const isNextDay = crossDay && h < config_businessStartHour;
|
|
179
|
-
const slotDate = isNextDay ? (0,
|
|
180
|
-
const slotStart = (0,
|
|
181
|
-
const slotEnd = slotStart.add(config.slotDurationMinutes,
|
|
180
|
+
const slotDate = isNextDay ? (0, import_dayjs.default)(date).add(1, "day").format("YYYY-MM-DD") : date;
|
|
181
|
+
const slotStart = (0, import_dayjs.default)(`${slotDate} ${label}`);
|
|
182
|
+
const slotEnd = slotStart.add(config.slotDurationMinutes, "minute");
|
|
182
183
|
let status;
|
|
183
184
|
let remainingCapacity = null;
|
|
184
185
|
if (slotStart.isBefore(now)) {
|
|
185
|
-
status =
|
|
186
|
+
status = "past";
|
|
186
187
|
} else if (!isSlotWithinResourceTimes(slotStart, slotEnd, timesForDate)) {
|
|
187
|
-
status =
|
|
188
|
+
status = "unavailable";
|
|
188
189
|
} else {
|
|
189
190
|
const result = computeSlotStatus({
|
|
190
191
|
slotStart,
|
|
@@ -195,17 +196,17 @@ function buildProductSlots(params) {
|
|
|
195
196
|
});
|
|
196
197
|
status = result.status;
|
|
197
198
|
remainingCapacity = result.remainingCapacity;
|
|
198
|
-
if (status !==
|
|
199
|
+
if (status !== "occupied" && childRawResources && childRawResources.length) {
|
|
199
200
|
for (let i = 0; i < childRawResources.length; i++) {
|
|
200
201
|
const child = childRawResources[i];
|
|
201
|
-
const childTimes = childTimesCache
|
|
202
|
-
const childEvents = childEventsCache
|
|
202
|
+
const childTimes = (childTimesCache == null ? void 0 : childTimesCache[i]) ?? getResourceTimesForDate(child, date, config);
|
|
203
|
+
const childEvents = (childEventsCache == null ? void 0 : childEventsCache[i]) ?? collectEventsForDate(child, date, config);
|
|
203
204
|
if (!isSlotWithinResourceTimes(slotStart, slotEnd, childTimes)) {
|
|
204
|
-
status =
|
|
205
|
+
status = "unavailable";
|
|
205
206
|
remainingCapacity = null;
|
|
206
207
|
break;
|
|
207
208
|
}
|
|
208
|
-
const childType = child.type ||
|
|
209
|
+
const childType = child.type || "single";
|
|
209
210
|
const childResult = computeSlotStatus({
|
|
210
211
|
slotStart,
|
|
211
212
|
slotEnd,
|
|
@@ -213,29 +214,31 @@ function buildProductSlots(params) {
|
|
|
213
214
|
resourceType: childType,
|
|
214
215
|
capacity: child.capacity ?? 1
|
|
215
216
|
});
|
|
216
|
-
if (childResult.status ===
|
|
217
|
-
status =
|
|
217
|
+
if (childResult.status === "occupied") {
|
|
218
|
+
status = "occupied";
|
|
218
219
|
remainingCapacity = 0;
|
|
219
220
|
break;
|
|
220
221
|
}
|
|
221
|
-
if (childResult.status ===
|
|
222
|
-
status =
|
|
223
|
-
remainingCapacity = Math.min(
|
|
222
|
+
if (childResult.status === "partially_occupied" && status === "available") {
|
|
223
|
+
status = "partially_occupied";
|
|
224
|
+
remainingCapacity = Math.min(
|
|
225
|
+
remainingCapacity ?? childResult.remainingCapacity,
|
|
226
|
+
childResult.remainingCapacity
|
|
227
|
+
);
|
|
224
228
|
}
|
|
225
229
|
}
|
|
226
230
|
}
|
|
227
231
|
}
|
|
228
|
-
const isBookable = status ===
|
|
229
|
-
const slotStartStr = slotStart.format(
|
|
230
|
-
const resolvedPriceMap = slotPriceMap ?? quotationPriceMap;
|
|
232
|
+
const isBookable = status === "available" || status === "partially_occupied";
|
|
233
|
+
const slotStartStr = slotStart.format("YYYY-MM-DD HH:mm");
|
|
231
234
|
slots.push({
|
|
232
235
|
startTime: slotStartStr,
|
|
233
|
-
endTime: slotEnd.format(
|
|
236
|
+
endTime: slotEnd.format("YYYY-MM-DD HH:mm"),
|
|
234
237
|
status,
|
|
235
|
-
price: isBookable ?
|
|
238
|
+
price: isBookable ? (quotationPriceMap == null ? void 0 : quotationPriceMap.get(`${mapping.productId}:${slotStartStr}`)) ?? mapping.price : null,
|
|
236
239
|
resourceId: resource.resourceId,
|
|
237
240
|
resourceFormId: resource.formId,
|
|
238
|
-
capacity: status ===
|
|
241
|
+
capacity: status === "past" || status === "unavailable" ? null : resCapacity,
|
|
239
242
|
remainingCapacity,
|
|
240
243
|
productId: mapping.productId
|
|
241
244
|
});
|
|
@@ -243,34 +246,28 @@ function buildProductSlots(params) {
|
|
|
243
246
|
return slots;
|
|
244
247
|
}
|
|
245
248
|
function buildTimeSlotGrid(params) {
|
|
246
|
-
const {
|
|
247
|
-
date,
|
|
248
|
-
config,
|
|
249
|
-
rawResources,
|
|
250
|
-
resourceProductMap,
|
|
251
|
-
quotationPriceMap,
|
|
252
|
-
slotPriceMap
|
|
253
|
-
} = params;
|
|
254
|
-
const resolvedPriceMap = slotPriceMap ?? quotationPriceMap;
|
|
249
|
+
const { date, config, rawResources, resourceProductMap, quotationPriceMap } = params;
|
|
255
250
|
const timeLabels = generateTimeLabels(config);
|
|
256
|
-
const now = (0,
|
|
251
|
+
const now = (0, import_dayjs.default)();
|
|
257
252
|
const crossDay = isBusinessHoursCrossDay(config);
|
|
258
|
-
const config_businessStartHour = Number(config.businessStartTime.split(
|
|
259
|
-
const rawResourceById = new Map();
|
|
260
|
-
for (const item of rawResources)
|
|
253
|
+
const config_businessStartHour = Number(config.businessStartTime.split(":")[0]);
|
|
254
|
+
const rawResourceById = /* @__PURE__ */ new Map();
|
|
255
|
+
for (const item of rawResources)
|
|
256
|
+
rawResourceById.set(item.resourceId, item);
|
|
261
257
|
const resources = [];
|
|
262
258
|
for (const resource of rawResources) {
|
|
263
259
|
const mappings = resourceProductMap.get(resource.resourceId);
|
|
264
|
-
if (!mappings || !mappings.length)
|
|
260
|
+
if (!mappings || !mappings.length)
|
|
261
|
+
continue;
|
|
265
262
|
const timesForDate = getResourceTimesForDate(resource, date, config);
|
|
266
263
|
const events = collectEventsForDate(resource, date, config);
|
|
267
264
|
const resCapacity = resource.capacity ?? 1;
|
|
268
265
|
const combined = resource.combined_resource;
|
|
269
266
|
const isCombined = !!(combined && combined.status === 1 && Array.isArray(combined.resource_ids) && combined.resource_ids.length);
|
|
270
|
-
const childRawResources = isCombined ? combined.resource_ids.map(id => rawResourceById.get(id)).filter(r => !!r) :
|
|
271
|
-
const childTimesCache = childRawResources
|
|
272
|
-
const childEventsCache = childRawResources
|
|
273
|
-
const subRows = mappings.map(mapping => {
|
|
267
|
+
const childRawResources = isCombined ? combined.resource_ids.map((id) => rawResourceById.get(id)).filter((r) => !!r) : void 0;
|
|
268
|
+
const childTimesCache = childRawResources == null ? void 0 : childRawResources.map((child) => getResourceTimesForDate(child, date, config));
|
|
269
|
+
const childEventsCache = childRawResources == null ? void 0 : childRawResources.map((child) => collectEventsForDate(child, date, config));
|
|
270
|
+
const subRows = mappings.map((mapping) => {
|
|
274
271
|
const productSlots = buildProductSlots({
|
|
275
272
|
date,
|
|
276
273
|
config,
|
|
@@ -282,8 +279,7 @@ function buildTimeSlotGrid(params) {
|
|
|
282
279
|
resCapacity,
|
|
283
280
|
now,
|
|
284
281
|
crossDay,
|
|
285
|
-
quotationPriceMap
|
|
286
|
-
slotPriceMap: resolvedPriceMap,
|
|
282
|
+
quotationPriceMap,
|
|
287
283
|
childRawResources,
|
|
288
284
|
childTimesCache,
|
|
289
285
|
childEventsCache,
|
|
@@ -301,14 +297,11 @@ function buildTimeSlotGrid(params) {
|
|
|
301
297
|
let outerSlots;
|
|
302
298
|
if (hasMultipleProducts) {
|
|
303
299
|
outerSlots = timeLabels.map((_label, slotIndex) => {
|
|
304
|
-
const group = subRows.map(
|
|
300
|
+
const group = subRows.map((row2) => row2.slots[slotIndex]);
|
|
305
301
|
return mergeSubSlots(group);
|
|
306
302
|
});
|
|
307
303
|
} else {
|
|
308
|
-
outerSlots = subRows[0].slots.map(slot => ({
|
|
309
|
-
...slot,
|
|
310
|
-
productId: undefined
|
|
311
|
-
}));
|
|
304
|
+
outerSlots = subRows[0].slots.map((slot) => ({ ...slot, productId: void 0 }));
|
|
312
305
|
}
|
|
313
306
|
const row = {
|
|
314
307
|
resourceId: resource.resourceId,
|
|
@@ -323,22 +316,24 @@ function buildTimeSlotGrid(params) {
|
|
|
323
316
|
row.hasMultipleProducts = true;
|
|
324
317
|
}
|
|
325
318
|
if (isCombined && combined) {
|
|
326
|
-
row.combinedResource = {
|
|
327
|
-
resourceIds: [...combined.resource_ids]
|
|
328
|
-
};
|
|
319
|
+
row.combinedResource = { resourceIds: [...combined.resource_ids] };
|
|
329
320
|
}
|
|
330
321
|
resources.push(row);
|
|
331
322
|
}
|
|
332
|
-
|
|
333
|
-
// 按 productId 分组排序,确保同一商品的场地连续排列
|
|
334
|
-
const productOrder = new Map();
|
|
323
|
+
const productOrder = /* @__PURE__ */ new Map();
|
|
335
324
|
for (const row of resources) {
|
|
336
|
-
if (!productOrder.has(row.productId))
|
|
325
|
+
if (!productOrder.has(row.productId))
|
|
326
|
+
productOrder.set(row.productId, productOrder.size);
|
|
337
327
|
}
|
|
338
328
|
resources.sort((a, b) => (productOrder.get(a.productId) ?? 0) - (productOrder.get(b.productId) ?? 0));
|
|
339
|
-
return {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
329
|
+
return { date, timeLabels, resources };
|
|
330
|
+
}
|
|
331
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
332
|
+
0 && (module.exports = {
|
|
333
|
+
buildTimeSlotGrid,
|
|
334
|
+
collectEventsForDate,
|
|
335
|
+
computeSlotStatus,
|
|
336
|
+
generateTimeLabels,
|
|
337
|
+
isBusinessHoursCrossDay,
|
|
338
|
+
isSlotOccupied
|
|
339
|
+
});
|
|
@@ -1,132 +1,69 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
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);
|
|
2
18
|
|
|
3
|
-
|
|
4
|
-
|
|
19
|
+
// src/solution/VenueBooking/utils.ts
|
|
20
|
+
var utils_exports = {};
|
|
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
|
|
5
69
|
});
|
|
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");
|