@pisell/pisellos 0.0.566 → 0.0.568
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 -9
- package/dist/model/strategy/adapter/walletPass/evaluator.js +0 -2
- package/dist/model/strategy/adapter/walletPass/example.js +3 -26
- package/dist/model/strategy/adapter/walletPass/utils.js +0 -3
- 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 +1 -4
- package/dist/modules/OpenData/index.js +0 -2
- package/dist/modules/Order/index.d.ts +1 -1
- package/dist/modules/Order/index.js +14 -41
- package/dist/modules/Payment/index.js +142 -270
- package/dist/modules/Payment/walletpass.js +4 -5
- package/dist/modules/Rules/index.js +0 -7
- package/dist/modules/SalesSummary/utils.js +4 -2
- package/dist/modules/Schedule/utils.js +0 -1
- package/dist/modules/Step/index.js +0 -1
- package/dist/modules/Summary/utils.js +2 -2
- package/dist/plugins/request.js +1 -4
- package/dist/plugins/window.js +2 -6
- package/dist/server/index.js +88 -121
- package/dist/server/modules/menu/index.js +32 -41
- package/dist/server/modules/products/index.js +29 -49
- 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 +32 -40
- package/dist/server/utils/product.js +0 -1
- package/dist/solution/BookingByStep/index.d.ts +1 -1
- 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.d.ts +1 -1
- package/dist/solution/BookingTicket/index.js +5 -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 -246
- 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.d.ts +5 -0
- package/dist/solution/VenueBooking/index.js +364 -327
- 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 +130 -131
- package/lib/effects/index.js +46 -57
- package/lib/index.js +92 -53
- 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 +84 -63
- package/lib/model/strategy/adapter/promotion/evaluator.js +381 -231
- package/lib/model/strategy/adapter/promotion/examples.js +139 -159
- package/lib/model/strategy/adapter/promotion/index.js +1 -0
- package/lib/model/strategy/adapter/promotion/type.js +199 -35
- package/lib/model/strategy/adapter/type.js +4 -16
- package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -152
- 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 +652 -402
- 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 +22 -45
- 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 +306 -241
- package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
- package/lib/modules/Cart/utils/cartResource.js +72 -78
- package/lib/modules/Cart/utils/changePrice.js +26 -62
- package/lib/modules/Cart/utils/index.js +106 -48
- package/lib/modules/Customer/constants.js +13 -34
- package/lib/modules/Customer/index.js +216 -153
- 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 +117 -113
- 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 +63 -74
- 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 +332 -320
- package/lib/modules/Order/types.js +24 -33
- package/lib/modules/Order/utils.js +350 -284
- 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 +566 -432
- package/lib/modules/Payment/mx51.js +1 -0
- package/lib/modules/Payment/types.js +216 -107
- package/lib/modules/Payment/utils.js +50 -47
- package/lib/modules/Payment/walletpass.js +221 -203
- 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 +111 -110
- package/lib/modules/ProductList/types.js +9 -31
- package/lib/modules/Quotation/index.js +60 -82
- 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/Rules/index.js +1172 -872
- package/lib/modules/Rules/types.js +17 -40
- package/lib/modules/SalesSummary/index.js +59 -68
- package/lib/modules/SalesSummary/types.js +4 -16
- package/lib/modules/SalesSummary/utils.js +178 -193
- 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 -167
- package/lib/modules/Schedule/index.js +97 -107
- 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 -70
- package/lib/modules/Summary/types.js +4 -16
- package/lib/modules/Summary/utils.js +782 -429
- package/lib/modules/index.js +212 -57
- 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 +882 -623
- package/lib/server/modules/index.js +85 -59
- package/lib/server/modules/menu/index.js +146 -122
- package/lib/server/modules/menu/types.js +18 -31
- package/lib/server/modules/order/index.js +195 -231
- package/lib/server/modules/order/types.js +107 -32
- package/lib/server/modules/order/utils/filterBookings.js +174 -140
- package/lib/server/modules/order/utils/filterOrders.js +89 -60
- package/lib/server/modules/products/index.js +430 -335
- package/lib/server/modules/products/types.js +41 -34
- package/lib/server/modules/quotation/index.js +76 -77
- package/lib/server/modules/quotation/types.js +21 -31
- package/lib/server/modules/resource/index.js +216 -187
- package/lib/server/modules/resource/types.js +42 -33
- package/lib/server/modules/schedule/index.js +134 -119
- 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/time.js +40 -49
- package/lib/solution/BookingByStep/index.d.ts +1 -1
- package/lib/solution/BookingByStep/index.js +1530 -1343
- 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.d.ts +1 -1
- package/lib/solution/BookingTicket/index.js +147 -122
- package/lib/solution/BookingTicket/types.js +38 -64
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +64 -80
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +82 -80
- package/lib/solution/BookingTicket/utils/scan/index.js +90 -94
- package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
- 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 +227 -158
- 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 +218 -200
- package/lib/solution/Sales/types.js +27 -33
- package/lib/solution/ScanOrder/index.js +803 -840
- package/lib/solution/ScanOrder/types.js +34 -34
- package/lib/solution/ScanOrder/utils.js +372 -331
- package/lib/solution/ShopDiscount/index.js +230 -236
- package/lib/solution/ShopDiscount/types.js +15 -37
- package/lib/solution/ShopDiscount/utils.js +309 -172
- package/lib/solution/VenueBooking/index.d.ts +5 -0
- package/lib/solution/VenueBooking/index.js +886 -929
- package/lib/solution/VenueBooking/types.js +20 -40
- package/lib/solution/VenueBooking/utils/dateSummary.js +22 -54
- package/lib/solution/VenueBooking/utils/resource.js +31 -54
- package/lib/solution/VenueBooking/utils/slotMerge.js +88 -106
- package/lib/solution/VenueBooking/utils/smartPricing.js +112 -100
- package/lib/solution/VenueBooking/utils/timeSlot.js +133 -132
- package/lib/solution/VenueBooking/utils.js +130 -67
- package/lib/solution/index.js +102 -37
- package/lib/store/createStore.js +32 -29
- package/lib/types/index.js +4 -16
- package/lib/utils/task.js +36 -36
- package/lib/utils/watch.js +81 -47
- package/package.json +2 -1
package/lib/solution/index.js
CHANGED
|
@@ -1,39 +1,104 @@
|
|
|
1
|
-
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
-
for (let key of __getOwnPropNames(from))
|
|
8
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
-
}
|
|
11
|
-
return to;
|
|
12
|
-
};
|
|
13
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
15
2
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
module.exports = __toCommonJS(solution_exports);
|
|
19
|
-
__reExport(solution_exports, require("./BuyTickets"), module.exports);
|
|
20
|
-
__reExport(solution_exports, require("./BookingByStep"), module.exports);
|
|
21
|
-
__reExport(solution_exports, require("./BookingTicket"), module.exports);
|
|
22
|
-
__reExport(solution_exports, require("./ShopDiscount"), module.exports);
|
|
23
|
-
__reExport(solution_exports, require("./RegisterAndLogin"), module.exports);
|
|
24
|
-
__reExport(solution_exports, require("./Checkout"), module.exports);
|
|
25
|
-
__reExport(solution_exports, require("./Sales"), module.exports);
|
|
26
|
-
__reExport(solution_exports, require("./ScanOrder"), module.exports);
|
|
27
|
-
__reExport(solution_exports, require("./VenueBooking"), module.exports);
|
|
28
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
29
|
-
0 && (module.exports = {
|
|
30
|
-
...require("./BuyTickets"),
|
|
31
|
-
...require("./BookingByStep"),
|
|
32
|
-
...require("./BookingTicket"),
|
|
33
|
-
...require("./ShopDiscount"),
|
|
34
|
-
...require("./RegisterAndLogin"),
|
|
35
|
-
...require("./Checkout"),
|
|
36
|
-
...require("./Sales"),
|
|
37
|
-
...require("./ScanOrder"),
|
|
38
|
-
...require("./VenueBooking")
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
39
5
|
});
|
|
6
|
+
var _BuyTickets = require("./BuyTickets");
|
|
7
|
+
Object.keys(_BuyTickets).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _BuyTickets[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _BuyTickets[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _BookingByStep = require("./BookingByStep");
|
|
18
|
+
Object.keys(_BookingByStep).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _BookingByStep[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _BookingByStep[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _BookingTicket = require("./BookingTicket");
|
|
29
|
+
Object.keys(_BookingTicket).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _BookingTicket[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _BookingTicket[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _ShopDiscount = require("./ShopDiscount");
|
|
40
|
+
Object.keys(_ShopDiscount).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _ShopDiscount[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _ShopDiscount[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _RegisterAndLogin = require("./RegisterAndLogin");
|
|
51
|
+
Object.keys(_RegisterAndLogin).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _RegisterAndLogin[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _RegisterAndLogin[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var _Checkout = require("./Checkout");
|
|
62
|
+
Object.keys(_Checkout).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (key in exports && exports[key] === _Checkout[key]) return;
|
|
65
|
+
Object.defineProperty(exports, key, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () {
|
|
68
|
+
return _Checkout[key];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
var _Sales = require("./Sales");
|
|
73
|
+
Object.keys(_Sales).forEach(function (key) {
|
|
74
|
+
if (key === "default" || key === "__esModule") return;
|
|
75
|
+
if (key in exports && exports[key] === _Sales[key]) return;
|
|
76
|
+
Object.defineProperty(exports, key, {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function () {
|
|
79
|
+
return _Sales[key];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
var _ScanOrder = require("./ScanOrder");
|
|
84
|
+
Object.keys(_ScanOrder).forEach(function (key) {
|
|
85
|
+
if (key === "default" || key === "__esModule") return;
|
|
86
|
+
if (key in exports && exports[key] === _ScanOrder[key]) return;
|
|
87
|
+
Object.defineProperty(exports, key, {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function () {
|
|
90
|
+
return _ScanOrder[key];
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
var _VenueBooking = require("./VenueBooking");
|
|
95
|
+
Object.keys(_VenueBooking).forEach(function (key) {
|
|
96
|
+
if (key === "default" || key === "__esModule") return;
|
|
97
|
+
if (key in exports && exports[key] === _VenueBooking[key]) return;
|
|
98
|
+
Object.defineProperty(exports, key, {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function () {
|
|
101
|
+
return _VenueBooking[key];
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
package/lib/store/createStore.js
CHANGED
|
@@ -1,46 +1,49 @@
|
|
|
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(createStore_exports, {
|
|
22
|
-
createStore: () => createStore
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
24
|
-
|
|
6
|
+
exports.createStore = createStore;
|
|
7
|
+
// type StoreLog = {
|
|
8
|
+
// type: "get" | "set" | "delete",
|
|
9
|
+
// path: string,
|
|
10
|
+
// value?: any,
|
|
11
|
+
// timestamp: number,
|
|
12
|
+
// };
|
|
13
|
+
|
|
14
|
+
// 给各模块创建 store
|
|
25
15
|
function createStore(initialState, moduleName, onChange) {
|
|
16
|
+
// 关于logs这里先注释,后面不是这么玩的,应该是通过插件直接写
|
|
17
|
+
// const logs: StoreLog[] = [];
|
|
18
|
+
|
|
26
19
|
const handler = {
|
|
27
20
|
get(target, prop, receiver) {
|
|
28
21
|
const value = Reflect.get(target, prop, receiver);
|
|
22
|
+
// logs.push({ type: "get", path: `${moduleName}.${String(prop)}`, timestamp: Date.now() });
|
|
29
23
|
return value;
|
|
30
24
|
},
|
|
31
25
|
set(target, prop, value, receiver) {
|
|
26
|
+
// logs.push({
|
|
27
|
+
// type: "set",
|
|
28
|
+
// path: `${moduleName}.${String(prop)}`,
|
|
29
|
+
// value,
|
|
30
|
+
// timestamp: Date.now(),
|
|
31
|
+
// });
|
|
32
32
|
const result = Reflect.set(target, prop, value, receiver);
|
|
33
|
-
onChange
|
|
33
|
+
onChange?.(`${String(prop)}`, value);
|
|
34
34
|
return result;
|
|
35
35
|
},
|
|
36
36
|
deleteProperty(target, prop) {
|
|
37
|
+
// logs.push({
|
|
38
|
+
// type: "delete",
|
|
39
|
+
// path: `${moduleName}.${String(prop)}`,
|
|
40
|
+
// timestamp: Date.now(),
|
|
41
|
+
// });
|
|
37
42
|
return Reflect.deleteProperty(target, prop);
|
|
38
43
|
}
|
|
39
44
|
};
|
|
40
45
|
const proxy = new Proxy(initialState, handler);
|
|
41
|
-
return {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
createStore
|
|
46
|
-
});
|
|
46
|
+
return {
|
|
47
|
+
proxy
|
|
48
|
+
};
|
|
49
|
+
}
|
package/lib/types/index.js
CHANGED
|
@@ -1,17 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
-
for (let key of __getOwnPropNames(from))
|
|
8
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
-
}
|
|
11
|
-
return to;
|
|
12
|
-
};
|
|
13
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
14
2
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
package/lib/utils/task.js
CHANGED
|
@@ -1,36 +1,19 @@
|
|
|
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(task_exports, {
|
|
22
|
-
default: () => task_default
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
24
|
-
|
|
25
|
-
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
class Tasks {
|
|
8
|
+
actions = new Map();
|
|
9
|
+
taskQueue = [];
|
|
10
|
+
isRunning = false;
|
|
26
11
|
constructor(actions) {
|
|
27
|
-
this.actions = /* @__PURE__ */ new Map();
|
|
28
|
-
this.taskQueue = [];
|
|
29
|
-
this.isRunning = false;
|
|
30
12
|
if (actions) {
|
|
31
13
|
this.actions = actions;
|
|
32
14
|
}
|
|
33
15
|
}
|
|
16
|
+
|
|
34
17
|
/**
|
|
35
18
|
* 清空所有任务
|
|
36
19
|
*/
|
|
@@ -39,6 +22,7 @@ var Tasks = class {
|
|
|
39
22
|
this.taskQueue = [];
|
|
40
23
|
this.isRunning = false;
|
|
41
24
|
}
|
|
25
|
+
|
|
42
26
|
/**
|
|
43
27
|
* 清空任务执行队列
|
|
44
28
|
*/
|
|
@@ -46,6 +30,7 @@ var Tasks = class {
|
|
|
46
30
|
this.taskQueue = [];
|
|
47
31
|
this.isRunning = false;
|
|
48
32
|
}
|
|
33
|
+
|
|
49
34
|
/**
|
|
50
35
|
* 添加action
|
|
51
36
|
* @param name action名称
|
|
@@ -54,56 +39,71 @@ var Tasks = class {
|
|
|
54
39
|
addAction(name, action) {
|
|
55
40
|
this.actions.set(name, action);
|
|
56
41
|
}
|
|
42
|
+
|
|
57
43
|
/**
|
|
58
44
|
* 添加任务
|
|
59
45
|
* @param task 任务
|
|
60
46
|
*/
|
|
61
47
|
addTask(task) {
|
|
62
48
|
this.taskQueue.push(task);
|
|
49
|
+
// 添加后自动执行
|
|
63
50
|
this.run();
|
|
64
51
|
}
|
|
52
|
+
|
|
65
53
|
/**
|
|
66
54
|
* 执行任务
|
|
67
55
|
*/
|
|
68
56
|
async run() {
|
|
69
|
-
|
|
57
|
+
// 如果正在运行,则不执行
|
|
70
58
|
if (this.isRunning) {
|
|
71
59
|
return;
|
|
72
60
|
}
|
|
61
|
+
|
|
62
|
+
// 如果任务队列为空,则不执行
|
|
73
63
|
if (this.taskQueue.length === 0) {
|
|
74
64
|
this.isRunning = false;
|
|
75
65
|
return;
|
|
76
66
|
}
|
|
67
|
+
// 设置正在运行 加锁
|
|
77
68
|
this.isRunning = true;
|
|
69
|
+
// 遍历任务队列
|
|
78
70
|
while (this.taskQueue.length > 0) {
|
|
79
|
-
|
|
71
|
+
// 获取任务,但是不删除
|
|
72
|
+
const task = this.taskQueue?.[0];
|
|
73
|
+
// 如果没有任务则直接结束
|
|
80
74
|
if (!task) {
|
|
81
75
|
this.isRunning = false;
|
|
82
76
|
return;
|
|
83
77
|
}
|
|
78
|
+
|
|
79
|
+
// 获取任务对应的action
|
|
84
80
|
const action = this.actions.get(task.type);
|
|
81
|
+
// 如果找到对应的action,则执行
|
|
85
82
|
if (action) {
|
|
86
83
|
try {
|
|
87
|
-
await action({
|
|
88
|
-
|
|
84
|
+
await action({
|
|
85
|
+
...(task?.actionParams || {}),
|
|
86
|
+
uuid: task?.uuid
|
|
87
|
+
});
|
|
89
88
|
} catch (error) {
|
|
90
|
-
console.error(
|
|
89
|
+
console.error('task_error>>>>>>>', error);
|
|
91
90
|
} finally {
|
|
91
|
+
// 将任务删除
|
|
92
92
|
const _task = this.taskQueue.shift();
|
|
93
|
-
console.log("task_shift>>>>>>>", _task);
|
|
94
93
|
}
|
|
95
94
|
} else {
|
|
95
|
+
// 如果找不到对应的action,则删除任务
|
|
96
96
|
const _task = this.taskQueue.shift();
|
|
97
|
-
console.log("task_action_not_found>>>>>>>", _task);
|
|
98
97
|
}
|
|
99
98
|
}
|
|
100
99
|
this.isRunning = false;
|
|
101
100
|
}
|
|
101
|
+
|
|
102
102
|
/**
|
|
103
103
|
* 判定当前的任务是否依然存在
|
|
104
104
|
*/
|
|
105
105
|
isTaskExist(uuid) {
|
|
106
|
-
return this.taskQueue.some(
|
|
106
|
+
return this.taskQueue.some(task => task?.uuid === uuid);
|
|
107
107
|
}
|
|
108
|
-
}
|
|
109
|
-
var
|
|
108
|
+
}
|
|
109
|
+
var _default = exports.default = Tasks;
|
package/lib/utils/watch.js
CHANGED
|
@@ -1,34 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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);
|
|
18
|
-
|
|
19
|
-
// src/utils/watch.ts
|
|
20
|
-
var watch_exports = {};
|
|
21
|
-
__export(watch_exports, {
|
|
22
|
-
default: () => watch_default
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* 监听模块
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
class Watch {
|
|
13
|
+
// 监听列表
|
|
14
|
+
events = new Map();
|
|
15
|
+
// 启用列表 - 使用数组保持顺序
|
|
16
|
+
enableListMap = new Map();
|
|
17
|
+
|
|
32
18
|
/**
|
|
33
19
|
* 订阅事件
|
|
34
20
|
* @param event 事件名称
|
|
@@ -36,67 +22,83 @@ var Watch = class {
|
|
|
36
22
|
* @returns 订阅对象,可用于取消订阅
|
|
37
23
|
*/
|
|
38
24
|
subscribe(watchKey, event) {
|
|
25
|
+
// 如果监听列表不存在,则创建
|
|
39
26
|
if (!this.events.has(watchKey)) {
|
|
40
|
-
this.events.set(watchKey,
|
|
27
|
+
this.events.set(watchKey, new Map());
|
|
41
28
|
}
|
|
29
|
+
|
|
30
|
+
// 获取监听列表
|
|
42
31
|
const callbacks = this.events.get(watchKey);
|
|
32
|
+
// 设置事件
|
|
43
33
|
callbacks.set(event.key, event.callback);
|
|
34
|
+
|
|
35
|
+
// 启用事件
|
|
44
36
|
this.enableEvent(watchKey, event.key);
|
|
45
37
|
return {
|
|
46
38
|
// 取消订阅
|
|
47
39
|
unsubscribe: () => {
|
|
40
|
+
// 取消订阅事件
|
|
48
41
|
this.unsubscribe(watchKey, event);
|
|
49
42
|
}
|
|
50
43
|
};
|
|
51
44
|
}
|
|
45
|
+
|
|
52
46
|
/**
|
|
53
47
|
* 启用事件
|
|
54
48
|
* @param watchKey 监听的key
|
|
55
49
|
* @param event 事件名称
|
|
56
50
|
*/
|
|
57
51
|
enableEvent(watchKey, eventKey) {
|
|
52
|
+
// 获取启用列表
|
|
58
53
|
const enableList = this.enableListMap.get(watchKey);
|
|
54
|
+
// 如果启用列表存在,则添加事件
|
|
59
55
|
if (enableList) {
|
|
60
56
|
if (enableList.includes(eventKey)) {
|
|
61
57
|
return;
|
|
62
58
|
}
|
|
63
59
|
enableList.push(eventKey);
|
|
64
60
|
} else {
|
|
61
|
+
// 如果启用列表不存在,则创建启用列表
|
|
65
62
|
this.enableListMap.set(watchKey, [eventKey]);
|
|
66
63
|
}
|
|
67
64
|
}
|
|
65
|
+
|
|
68
66
|
/**
|
|
69
67
|
* 禁用某个事件
|
|
70
68
|
* @param watchKey 监听的key
|
|
71
69
|
* @param eventKey 事件名称
|
|
72
70
|
*/
|
|
73
71
|
disableEvent(watchKey, eventKey) {
|
|
72
|
+
// 获取启用列表
|
|
74
73
|
const enableList = this.enableListMap.get(watchKey);
|
|
75
74
|
if (enableList) {
|
|
75
|
+
// 找到当前事件的索引
|
|
76
76
|
const index = enableList.indexOf(eventKey);
|
|
77
77
|
if (index !== -1) {
|
|
78
|
+
// 删除当前事件以及之后的所有事件
|
|
78
79
|
enableList.splice(index);
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
}
|
|
83
|
+
|
|
82
84
|
/**
|
|
83
85
|
* 冻结某个监听下的所有事件
|
|
84
86
|
* @param watchKey 监听的key
|
|
85
87
|
*/
|
|
86
88
|
disabledAllEventByWatchKey(watchKey) {
|
|
89
|
+
// 设置启用列表为空
|
|
87
90
|
this.enableListMap.set(watchKey, []);
|
|
88
91
|
}
|
|
92
|
+
|
|
89
93
|
/**
|
|
90
94
|
* 启用某个监听下的所有事件
|
|
91
95
|
* @param watchKey 监听的key
|
|
92
96
|
*/
|
|
93
97
|
enableAllEventByWatchKey(watchKey) {
|
|
94
|
-
|
|
95
|
-
this.enableListMap.set(
|
|
96
|
-
watchKey,
|
|
97
|
-
Array.from(((_a = this.events.get(watchKey)) == null ? void 0 : _a.keys()) || [])
|
|
98
|
-
);
|
|
98
|
+
// 遍历当前监听下的所有事件, 并启用
|
|
99
|
+
this.enableListMap.set(watchKey, Array.from(this.events.get(watchKey)?.keys() || []));
|
|
99
100
|
}
|
|
101
|
+
|
|
100
102
|
/**
|
|
101
103
|
* 取消订阅事件
|
|
102
104
|
* @param event 事件名称
|
|
@@ -104,38 +106,51 @@ var Watch = class {
|
|
|
104
106
|
* @returns 是否成功取消订阅
|
|
105
107
|
*/
|
|
106
108
|
unsubscribe(watchKey, event) {
|
|
109
|
+
// 获取监听列表
|
|
107
110
|
const callbacks = this.events.get(watchKey);
|
|
111
|
+
// 如果监听列表不存在,则返回false
|
|
108
112
|
if (!callbacks) {
|
|
109
113
|
return;
|
|
110
114
|
}
|
|
115
|
+
// 禁用事件
|
|
111
116
|
this.disableEvent(watchKey, event.key);
|
|
117
|
+
// 删除事件
|
|
112
118
|
callbacks.delete(event.key);
|
|
113
119
|
return;
|
|
114
120
|
}
|
|
121
|
+
|
|
115
122
|
/**
|
|
116
123
|
* 发布事件
|
|
117
124
|
* @param event 事件名称
|
|
118
125
|
* @param args 事件参数
|
|
119
126
|
*/
|
|
120
127
|
publish(watchKey, ...args) {
|
|
121
|
-
|
|
128
|
+
// 获取监听列表
|
|
122
129
|
const callbacks = this.events.get(watchKey);
|
|
130
|
+
// 如果监听列表不存在,则返回
|
|
123
131
|
if (!callbacks) {
|
|
124
132
|
return;
|
|
125
133
|
}
|
|
134
|
+
|
|
135
|
+
// 获取启用列表
|
|
126
136
|
const enableList = this.enableListMap.get(watchKey);
|
|
137
|
+
// 如果启用列表不存在,则返回
|
|
127
138
|
if (!enableList || enableList.length === 0) {
|
|
128
139
|
return;
|
|
129
140
|
}
|
|
141
|
+
|
|
142
|
+
// 只执行最后一个事件
|
|
130
143
|
const lastCallbackKey = enableList.at(-1);
|
|
144
|
+
// 如果最后一个事件存在,则执行
|
|
131
145
|
if (lastCallbackKey) {
|
|
132
146
|
try {
|
|
133
|
-
|
|
147
|
+
callbacks.get(lastCallbackKey)?.(...args);
|
|
134
148
|
} catch (error) {
|
|
135
149
|
console.error(`执行事件"${watchKey}"的回调时出错:`, error);
|
|
136
150
|
}
|
|
137
151
|
}
|
|
138
152
|
}
|
|
153
|
+
|
|
139
154
|
/**
|
|
140
155
|
* 根据事件名称发布事件
|
|
141
156
|
* @param watchKey 监听的key
|
|
@@ -143,13 +158,13 @@ var Watch = class {
|
|
|
143
158
|
* @param args 事件参数
|
|
144
159
|
*/
|
|
145
160
|
publishByEventKey(watchKey, eventKey, ...args) {
|
|
146
|
-
var _a;
|
|
147
161
|
const callbacks = this.events.get(watchKey);
|
|
148
162
|
if (!callbacks) {
|
|
149
163
|
return;
|
|
150
164
|
}
|
|
151
|
-
|
|
165
|
+
callbacks.get(eventKey)?.(...args);
|
|
152
166
|
}
|
|
167
|
+
|
|
153
168
|
/**
|
|
154
169
|
* 获取最后一个启用的事件
|
|
155
170
|
* @param watchKey 监听的key
|
|
@@ -157,45 +172,56 @@ var Watch = class {
|
|
|
157
172
|
*/
|
|
158
173
|
getLastEnableEventKey(watchKey) {
|
|
159
174
|
const enableList = this.enableListMap.get(watchKey);
|
|
160
|
-
console.log("enableList", enableList);
|
|
161
175
|
if (!enableList) {
|
|
162
|
-
return
|
|
176
|
+
return undefined;
|
|
163
177
|
}
|
|
164
|
-
return enableList.at(-1) ||
|
|
178
|
+
return enableList.at(-1) || undefined;
|
|
165
179
|
}
|
|
180
|
+
|
|
166
181
|
/**
|
|
167
182
|
* 移除某个事件的所有订阅
|
|
168
183
|
* @param event 事件名称
|
|
169
184
|
* @returns 是否成功移除
|
|
170
185
|
*/
|
|
171
186
|
clearEvent(watchKey) {
|
|
187
|
+
// 禁用所有事件
|
|
172
188
|
this.disabledAllEventByWatchKey(watchKey);
|
|
189
|
+
// 删除监听列表
|
|
173
190
|
this.events.delete(watchKey);
|
|
174
191
|
}
|
|
192
|
+
|
|
175
193
|
/**
|
|
176
194
|
* 移除所有事件订阅
|
|
177
195
|
*/
|
|
178
196
|
clearAllEvents() {
|
|
197
|
+
// 清空监听列表
|
|
179
198
|
this.events.clear();
|
|
199
|
+
// 清空启用列表
|
|
180
200
|
this.enableListMap.clear();
|
|
181
201
|
}
|
|
202
|
+
|
|
182
203
|
/**
|
|
183
204
|
* 获取事件的订阅数量
|
|
184
205
|
* @param event 事件名称
|
|
185
206
|
* @returns 订阅数量
|
|
186
207
|
*/
|
|
187
208
|
getSubscriberCount(event) {
|
|
209
|
+
// 获取监听列表
|
|
188
210
|
const callbacks = this.events.get(event);
|
|
211
|
+
// 如果监听列表不存在,则返回0
|
|
189
212
|
return callbacks ? callbacks.size : 0;
|
|
190
213
|
}
|
|
214
|
+
|
|
191
215
|
/**
|
|
192
216
|
* 检查事件是否有订阅者
|
|
193
217
|
* @param event 事件名称
|
|
194
218
|
* @returns 是否有订阅者
|
|
195
219
|
*/
|
|
196
220
|
hasSubscribers(event) {
|
|
221
|
+
// 获取监听列表
|
|
197
222
|
return this.getSubscriberCount(event) > 0;
|
|
198
223
|
}
|
|
224
|
+
|
|
199
225
|
/**
|
|
200
226
|
* 一次性订阅事件,事件触发后自动取消订阅
|
|
201
227
|
* @param event 事件名称
|
|
@@ -203,8 +229,14 @@ var Watch = class {
|
|
|
203
229
|
* @returns 订阅对象,可用于取消订阅
|
|
204
230
|
*/
|
|
205
231
|
once(watchKey, event) {
|
|
232
|
+
// 包装回调函数
|
|
206
233
|
const wrappedCallback = (...args) => {
|
|
207
|
-
|
|
234
|
+
// 取消订阅
|
|
235
|
+
this.unsubscribe(watchKey, {
|
|
236
|
+
key: event.key,
|
|
237
|
+
callback: wrappedCallback
|
|
238
|
+
});
|
|
239
|
+
// 执行回调
|
|
208
240
|
event.callback(...args);
|
|
209
241
|
};
|
|
210
242
|
return this.subscribe(watchKey, {
|
|
@@ -212,6 +244,8 @@ var Watch = class {
|
|
|
212
244
|
callback: wrappedCallback
|
|
213
245
|
});
|
|
214
246
|
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// 创建单例实例
|
|
250
|
+
const watch = new Watch();
|
|
251
|
+
var _default = exports.default = watch;
|