@pisell/pisellos 1.0.147 → 1.0.148

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/effects/index.d.ts +2 -2
  2. package/dist/model/strategy/adapter/itemRule/type.d.ts +6 -6
  3. package/dist/model/strategy/adapter/promotion/index.js +0 -9
  4. package/dist/model/strategy/adapter/promotion/type.d.ts +5 -5
  5. package/dist/model/strategy/type.d.ts +1 -1
  6. package/dist/modules/Customer/types.d.ts +1 -1
  7. package/dist/modules/Discount/types.d.ts +1 -1
  8. package/dist/modules/Payment/types.d.ts +7 -7
  9. package/dist/modules/Product/index.d.ts +1 -1
  10. package/dist/modules/Rules/index.js +2 -1
  11. package/dist/modules/Rules/types.d.ts +1 -1
  12. package/dist/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
  13. package/dist/modules/Schedule/type.d.ts +7 -7
  14. package/dist/modules/Schedule/types.d.ts +9 -9
  15. package/dist/solution/BookingByStep/index.d.ts +1 -1
  16. package/dist/solution/BookingByStep/utils/resources.d.ts +1 -1
  17. package/dist/solution/BookingTicket/index.d.ts +1 -1
  18. package/dist/solution/ShopDiscount/types.d.ts +1 -1
  19. package/dist/solution/ShopDiscount/utils.d.ts +2 -2
  20. package/dist/types/index.d.ts +1 -1
  21. package/dist/utils/task.d.ts +2 -2
  22. package/dist/utils/watch.d.ts +2 -2
  23. package/lib/core/index.js +27 -28
  24. package/lib/effects/index.d.ts +2 -2
  25. package/lib/effects/index.js +3 -7
  26. package/lib/model/strategy/adapter/itemRule/adapter.js +7 -14
  27. package/lib/model/strategy/adapter/itemRule/evaluator.js +5 -5
  28. package/lib/model/strategy/adapter/itemRule/examples.js +12 -12
  29. package/lib/model/strategy/adapter/itemRule/type.d.ts +6 -6
  30. package/lib/model/strategy/adapter/promotion/adapter.js +2 -4
  31. package/lib/model/strategy/adapter/promotion/evaluator.js +16 -19
  32. package/lib/model/strategy/adapter/promotion/examples.js +8 -8
  33. package/lib/model/strategy/adapter/promotion/type.d.ts +5 -5
  34. package/lib/model/strategy/adapter/walletPass/evaluator.js +5 -5
  35. package/lib/model/strategy/adapter/walletPass/example.js +21 -21
  36. package/lib/model/strategy/adapter/walletPass/index.js +2 -4
  37. package/lib/model/strategy/adapter/walletPass/locales.js +18 -18
  38. package/lib/model/strategy/adapter/walletPass/utils.js +21 -42
  39. package/lib/model/strategy/engine.js +6 -8
  40. package/lib/model/strategy/strategy-example.js +19 -19
  41. package/lib/model/strategy/type.d.ts +1 -1
  42. package/lib/modules/Account/index.js +9 -10
  43. package/lib/modules/AccountList/index.js +14 -11
  44. package/lib/modules/BaseModule.js +6 -3
  45. package/lib/modules/Cart/index.js +14 -9
  46. package/lib/modules/Cart/utils/cartProduct.js +3 -6
  47. package/lib/modules/Customer/constants.js +1 -1
  48. package/lib/modules/Customer/index.js +18 -15
  49. package/lib/modules/Customer/types.d.ts +1 -1
  50. package/lib/modules/Date/index.js +10 -6
  51. package/lib/modules/Date/types.js +1 -0
  52. package/lib/modules/Discount/index.js +11 -6
  53. package/lib/modules/Discount/types.d.ts +1 -1
  54. package/lib/modules/Guests/index.js +10 -15
  55. package/lib/modules/Order/index.js +10 -7
  56. package/lib/modules/Payment/cash.js +1 -1
  57. package/lib/modules/Payment/cashRecommendationAlgorithm.js +1 -1
  58. package/lib/modules/Payment/eftpos.js +1 -1
  59. package/lib/modules/Payment/index.js +86 -73
  60. package/lib/modules/Payment/types.d.ts +7 -7
  61. package/lib/modules/Payment/utils.js +3 -6
  62. package/lib/modules/Payment/walletpass.js +33 -33
  63. package/lib/modules/Product/index.d.ts +1 -1
  64. package/lib/modules/Product/index.js +6 -5
  65. package/lib/modules/ProductList/index.js +5 -3
  66. package/lib/modules/Resource/index.js +8 -12
  67. package/lib/modules/Rules/index.js +24 -36
  68. package/lib/modules/Rules/types.d.ts +1 -1
  69. package/lib/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
  70. package/lib/modules/Schedule/index.js +8 -5
  71. package/lib/modules/Schedule/type.d.ts +7 -7
  72. package/lib/modules/Schedule/types.d.ts +9 -9
  73. package/lib/modules/Schedule/utils.js +2 -4
  74. package/lib/modules/Step/index.js +7 -4
  75. package/lib/modules/Summary/index.js +9 -4
  76. package/lib/modules/Summary/utils.js +8 -16
  77. package/lib/plugins/request.js +34 -33
  78. package/lib/plugins/window.js +101 -113
  79. package/lib/solution/BookingByStep/index.d.ts +1 -1
  80. package/lib/solution/BookingByStep/index.js +110 -177
  81. package/lib/solution/BookingByStep/utils/capacity.js +10 -15
  82. package/lib/solution/BookingByStep/utils/resources.d.ts +1 -1
  83. package/lib/solution/BookingByStep/utils/resources.js +4 -8
  84. package/lib/solution/BookingByStep/utils/stock.js +3 -6
  85. package/lib/solution/BookingByStep/utils/timeslots.js +26 -31
  86. package/lib/solution/BookingTicket/index.d.ts +1 -1
  87. package/lib/solution/BookingTicket/index.js +19 -14
  88. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +3 -3
  89. package/lib/solution/BookingTicket/utils/scan/handleScan.js +6 -6
  90. package/lib/solution/BookingTicket/utils/scan/index.js +3 -1
  91. package/lib/solution/BookingTicket/utils/scan/scanCache.js +10 -9
  92. package/lib/solution/BuyTickets/index.js +15 -15
  93. package/lib/solution/Checkout/index.js +216 -211
  94. package/lib/solution/Checkout/utils/index.js +18 -22
  95. package/lib/solution/RegisterAndLogin/config.js +2 -2
  96. package/lib/solution/RegisterAndLogin/index.js +114 -110
  97. package/lib/solution/RegisterAndLogin/utils.js +9 -9
  98. package/lib/solution/ShopDiscount/index.js +16 -13
  99. package/lib/solution/ShopDiscount/types.d.ts +1 -1
  100. package/lib/solution/ShopDiscount/utils.d.ts +2 -2
  101. package/lib/solution/ShopDiscount/utils.js +1 -2
  102. package/lib/types/index.d.ts +1 -1
  103. package/lib/utils/task.d.ts +2 -2
  104. package/lib/utils/task.js +3 -3
  105. package/lib/utils/watch.d.ts +2 -2
  106. package/lib/utils/watch.js +5 -7
  107. package/package.json +16 -17
@@ -1,8 +1,8 @@
1
- type EffectCallback = (payload: any) => void | Promise<void | {
1
+ declare type EffectCallback = (payload: any) => void | Promise<void | {
2
2
  status: boolean;
3
3
  message?: string;
4
4
  }>;
5
- type UnsubscribeFunction = () => void;
5
+ declare type UnsubscribeFunction = () => void;
6
6
  declare class EffectsManager {
7
7
  private listeners;
8
8
  on(event: string, callback: EffectCallback): UnsubscribeFunction;
@@ -5,7 +5,7 @@ export declare const ITEM_RULE_ACTION_TYPES: {
5
5
  /** 预填购物车 */
6
6
  readonly PREFILL_CART: "PREFILL_CART";
7
7
  };
8
- export type ItemRuleActionType = (typeof ITEM_RULE_ACTION_TYPES)[keyof typeof ITEM_RULE_ACTION_TYPES];
8
+ export declare type ItemRuleActionType = (typeof ITEM_RULE_ACTION_TYPES)[keyof typeof ITEM_RULE_ACTION_TYPES];
9
9
  export declare const ITEM_RULE_TEMPLATES: {
10
10
  /** 空白规则 */
11
11
  readonly BLANK: "blank";
@@ -16,15 +16,15 @@ export declare const ITEM_RULE_TEMPLATES: {
16
16
  /** 必选商品 */
17
17
  readonly MUST_INCLUDE: "must_include";
18
18
  };
19
- export type ItemRuleTemplate = (typeof ITEM_RULE_TEMPLATES)[keyof typeof ITEM_RULE_TEMPLATES];
19
+ export declare type ItemRuleTemplate = (typeof ITEM_RULE_TEMPLATES)[keyof typeof ITEM_RULE_TEMPLATES];
20
20
  /** 数量比较类型 */
21
- export type QuantityComparison = 'minimum' | 'maximum' | 'exact' | 'must_include';
21
+ export declare type QuantityComparison = 'minimum' | 'maximum' | 'exact' | 'must_include';
22
22
  /** 数量来源 */
23
- export type QuantitySource = 'total_pax' | 'adult_pax' | 'fixed';
23
+ export declare type QuantitySource = 'total_pax' | 'adult_pax' | 'fixed';
24
24
  /** 目标类型(当前仅支持按商品) */
25
- export type TargetType = 'product';
25
+ export declare type TargetType = 'product';
26
26
  /** 作用范围 */
27
- export type RuleScope = 'each_submission' | 'first_submission_only' | 'subsequent_only' | 'cumulative';
27
+ export declare type RuleScope = 'each_submission' | 'first_submission_only' | 'subsequent_only' | 'cumulative';
28
28
  /**
29
29
  * 单条数量规则
30
30
  *
@@ -1,9 +0,0 @@
1
- // 导出评估器
2
- export { PromotionEvaluator } from "./evaluator";
3
-
4
- // 导出适配器
5
- export { PromotionAdapter } from "./adapter";
6
- export { default } from "./adapter";
7
-
8
- // 导出策略配置示例常量
9
- export { X_ITEMS_FOR_Y_PRICE_STRATEGY, BUY_X_GET_Y_FREE_STRATEGY } from "./examples";
@@ -17,7 +17,7 @@ export declare const PROMOTION_ACTION_TYPES: {
17
17
  /** 固定减价 */
18
18
  readonly DEDUCT_AMOUNT: "DEDUCT_AMOUNT";
19
19
  };
20
- export type PromotionActionType = (typeof PROMOTION_ACTION_TYPES)[keyof typeof PROMOTION_ACTION_TYPES];
20
+ export declare type PromotionActionType = (typeof PROMOTION_ACTION_TYPES)[keyof typeof PROMOTION_ACTION_TYPES];
21
21
  /**
22
22
  * X件Y元 - Action Value
23
23
  *
@@ -54,7 +54,7 @@ export interface BuyXGetYFreeValue {
54
54
  /**
55
55
  * 赠品选择模式
56
56
  */
57
- export type GiftSelectionMode = 'user_select' | 'auto' | 'cheapest';
57
+ export declare type GiftSelectionMode = 'user_select' | 'auto' | 'cheapest';
58
58
  /**
59
59
  * 买X送Y - Action Config
60
60
  */
@@ -105,7 +105,7 @@ export interface BuyXGetYFreeAction extends Omit<ActionEffect, 'type' | 'value'
105
105
  /**
106
106
  * 促销活动 Action 联合类型
107
107
  */
108
- export type PromotionAction = XItemsForYPriceAction | BuyXGetYFreeAction;
108
+ export declare type PromotionAction = XItemsForYPriceAction | BuyXGetYFreeAction;
109
109
  /**
110
110
  * 促销相关运算符
111
111
  */
@@ -135,7 +135,7 @@ export interface PromotionBusinessData {
135
135
  /** 自定义属性 */
136
136
  custom?: Record<string, any>;
137
137
  }
138
- type ProductBundleItem = {
138
+ declare type ProductBundleItem = {
139
139
  /** 主商品ID */
140
140
  product_id: number;
141
141
  /** 变体ID(0 表示无变体) */
@@ -195,7 +195,7 @@ export interface PromotionTransformResult {
195
195
  /**
196
196
  * Action 详情联合类型
197
197
  */
198
- export type PromotionActionDetail = XItemsForYPriceActionDetail | BuyXGetYFreeActionDetail;
198
+ export declare type PromotionActionDetail = XItemsForYPriceActionDetail | BuyXGetYFreeActionDetail;
199
199
  /**
200
200
  * X件Y元 Action 详情
201
201
  */
@@ -242,4 +242,4 @@ export interface EngineOptions {
242
242
  /**
243
243
  * 运算符处理器
244
244
  */
245
- export type OperatorHandler = (fieldValue: any, compareValue: any, rule: ConditionRule) => boolean;
245
+ export declare type OperatorHandler = (fieldValue: any, compareValue: any, rule: ConditionRule) => boolean;
@@ -33,7 +33,7 @@ export interface ShopCustomer extends ICustomer {
33
33
  * walletDetails.wallet: 用户所有wallet
34
34
  * latestWalletDetail.wallet: 用户最新wallet
35
35
  */
36
- type CustomerWith = 'formRecord' | 'walletDetails.wallet' | 'latestWalletDetail.wallet';
36
+ declare type CustomerWith = 'formRecord' | 'walletDetails.wallet' | 'latestWalletDetail.wallet';
37
37
  /**
38
38
  * 获取客户列表参数
39
39
  */
@@ -63,7 +63,7 @@ interface UsageCreditsValue {
63
63
  max_per_week: number;
64
64
  max_per_month: number;
65
65
  }
66
- export type DiscountFilterRejectKey = 'total_credits' | 'per_user_limit' | 'max_per_day' | 'max_per_week' | 'max_per_month';
66
+ export declare type DiscountFilterRejectKey = 'total_credits' | 'per_user_limit' | 'max_per_day' | 'max_per_week' | 'max_per_month';
67
67
  export interface DiscountWithReason {
68
68
  discountList: Discount[];
69
69
  unavailableReasonKey: DiscountFilterRejectKey | null;
@@ -581,12 +581,12 @@ export declare enum PaymentHooks {
581
581
  OnOrderAmountChanged = "payment:onOrderAmountChanged",
582
582
  OnPaymentSyncError = "payment:onPaymentSyncError",
583
583
  OnPaymentSyncSuccess = "payment:onPaymentSyncSuccess",
584
- OnWalletRecommendListUpdated = "wallet:onWalletRecommendListUpdated",
585
- OnWalletRecommendListCleared = "wallet:onWalletRecommendListCleared",
586
- OnUserIdentificationCodesUpdated = "wallet:onUserIdentificationCodesUpdated",
587
- OnUserIdentificationCodesCleared = "wallet:onUserIdentificationCodesCleared",
588
- OnWalletCacheCleared = "wallet:onWalletCacheCleared",
589
- OnSearchIdentificationCodeCompleted = "wallet:onSearchIdentificationCodeCompleted"
584
+ OnWalletRecommendListUpdated = 0,
585
+ OnWalletRecommendListCleared = 0,
586
+ OnUserIdentificationCodesUpdated = 0,
587
+ OnUserIdentificationCodesCleared = 0,
588
+ OnWalletCacheCleared = 0,
589
+ OnSearchIdentificationCodeCompleted = 0
590
590
  }
591
591
  /**
592
592
  * 钱包推荐扣款请求参数
@@ -740,7 +740,7 @@ export interface SearchIdentificationCodeResponse {
740
740
  /**
741
741
  * 搜索识别码结果类型
742
742
  */
743
- export type SearchIdentificationCodeResult = {
743
+ export declare type SearchIdentificationCodeResult = {
744
744
  type: 'walletCode';
745
745
  data: SearchIdentificationCodeItem[];
746
746
  } | {
@@ -49,5 +49,5 @@ export declare class Product extends BaseModule implements Module {
49
49
  getCategories(): ProductCategory[];
50
50
  setOtherParams(key: string, value: any): void;
51
51
  getOtherParams(): any;
52
- getProductType(): "normal" | "duration" | "session";
52
+ getProductType(): "duration" | "session" | "normal";
53
53
  }
@@ -2233,7 +2233,8 @@ export var RulesModule = /*#__PURE__*/function (_BaseModule) {
2233
2233
  // 套餐适用范围配置
2234
2234
  var packageScope = usageRules === null || usageRules === void 0 ? void 0 : usageRules.package_scope;
2235
2235
  var _ref8 = packageScope || {},
2236
- scopeType = _ref8.type,
2236
+ _ref8$type = _ref8.type,
2237
+ scopeType = _ref8$type === void 0 ? 'product_all' : _ref8$type,
2237
2238
  _ref8$exclude_bundle_ = _ref8.exclude_bundle_product_ids,
2238
2239
  exclude_bundle_product_ids = _ref8$exclude_bundle_ === void 0 ? [] : _ref8$exclude_bundle_,
2239
2240
  _ref8$include_bundle_ = _ref8.include_bundle_product_ids,
@@ -35,7 +35,7 @@ export interface RulesModuleAPI {
35
35
  isFormSubject: boolean;
36
36
  }) => DiscountResult;
37
37
  }
38
- type ProductDetail = {
38
+ declare type ProductDetail = {
39
39
  isClient?: boolean;
40
40
  isManualDiscount?: boolean;
41
41
  booking_id: any;
@@ -1,7 +1,7 @@
1
1
  import dayjs from "dayjs";
2
2
  import { ScheduleItem } from "./types";
3
3
  export declare const getDateIsInSchedule: (dateTime: string, scheduleList: ScheduleItem[]) => boolean;
4
- export type ScheduleTimeSlot = {
4
+ export declare type ScheduleTimeSlot = {
5
5
  /** 开始时间 HH:mm */
6
6
  start_time: string;
7
7
  /** 结束时间 HH:mm */
@@ -1,4 +1,4 @@
1
- export type ScheduleItem = {
1
+ export declare type ScheduleItem = {
2
2
  /** 颜色 */
3
3
  color: string;
4
4
  /** 创建时间 */
@@ -65,7 +65,7 @@ export type ScheduleItem = {
65
65
  schedule_id: number;
66
66
  }[];
67
67
  };
68
- export type ScheduleFormOtherValue = {
68
+ export declare type ScheduleFormOtherValue = {
69
69
  /** 截止模式
70
70
  * 1: 永不截止
71
71
  * 2: 按日期截止
@@ -79,11 +79,11 @@ export type ScheduleFormOtherValue = {
79
79
  includeStatus: boolean;
80
80
  type: 'standard' | 'time-slots' | 'designation';
81
81
  };
82
- export type ExcIncDate = {
82
+ export declare type ExcIncDate = {
83
83
  start: string;
84
84
  end: string;
85
85
  };
86
- export type ScheduleFormData = {
86
+ export declare type ScheduleFormData = {
87
87
  /** 颜色 */
88
88
  color: string;
89
89
  /** 日程名称 */
@@ -131,20 +131,20 @@ export type ScheduleFormData = {
131
131
  start_time: any;
132
132
  end_time: any;
133
133
  };
134
- export type CalendarDataItem = {
134
+ export declare type CalendarDataItem = {
135
135
  date: string;
136
136
  color: string[];
137
137
  isExcluded: boolean;
138
138
  schedule_ids?: number[];
139
139
  [key: string]: any;
140
140
  };
141
- export type RequestData<Data> = {
141
+ export declare type RequestData<Data> = {
142
142
  data: Data;
143
143
  status: boolean;
144
144
  message: string;
145
145
  code: number;
146
146
  };
147
- export type ResponseListData<Data> = {
147
+ export declare type ResponseListData<Data> = {
148
148
  status: boolean;
149
149
  message: string;
150
150
  code: number;
@@ -4,7 +4,7 @@ export interface ScheduleState {
4
4
  availabilityDateList: ScheduleAvailabilityDateItem[];
5
5
  otherProductsIds: number[];
6
6
  }
7
- export type ScheduleAvailabilityDateItem = {
7
+ export declare type ScheduleAvailabilityDateItem = {
8
8
  date: string;
9
9
  schedule_id: number[];
10
10
  product_ids: number[];
@@ -24,7 +24,7 @@ export interface LoadScheduleAvailableDateParams {
24
24
  }
25
25
  export interface ScheduleModuleAPI {
26
26
  }
27
- export type ScheduleItem = {
27
+ export declare type ScheduleItem = {
28
28
  /** 颜色 */
29
29
  color: string;
30
30
  /** 创建时间 */
@@ -91,7 +91,7 @@ export type ScheduleItem = {
91
91
  schedule_id: number;
92
92
  }[];
93
93
  };
94
- export type ScheduleFormOtherValue = {
94
+ export declare type ScheduleFormOtherValue = {
95
95
  /** 截止模式
96
96
  * 1: 永不截止
97
97
  * 2: 按日期截止
@@ -105,11 +105,11 @@ export type ScheduleFormOtherValue = {
105
105
  includeStatus: boolean;
106
106
  type: 'standard' | 'time-slots' | 'designation';
107
107
  };
108
- export type ExcIncDate = {
108
+ export declare type ExcIncDate = {
109
109
  start: string;
110
110
  end: string;
111
111
  };
112
- export type ScheduleFormData = {
112
+ export declare type ScheduleFormData = {
113
113
  /** 颜色 */
114
114
  color: string;
115
115
  /** 日程名称 */
@@ -157,20 +157,20 @@ export type ScheduleFormData = {
157
157
  start_time: any;
158
158
  end_time: any;
159
159
  };
160
- export type CalendarDataItem = {
160
+ export declare type CalendarDataItem = {
161
161
  date: string;
162
162
  color: string[];
163
163
  isExcluded: boolean;
164
164
  schedule_ids?: number[];
165
165
  [key: string]: any;
166
166
  };
167
- export type RequestData<Data> = {
167
+ export declare type RequestData<Data> = {
168
168
  data: Data;
169
169
  status: boolean;
170
170
  message: string;
171
171
  code: number;
172
172
  };
173
- export type ResponseListData<Data> = {
173
+ export declare type ResponseListData<Data> = {
174
174
  status: boolean;
175
175
  message: string;
176
176
  code: number;
@@ -181,7 +181,7 @@ export type ResponseListData<Data> = {
181
181
  skip: number;
182
182
  };
183
183
  };
184
- export type ScheduleAllMap = Record<string, {
184
+ export declare type ScheduleAllMap = Record<string, {
185
185
  minTime: dayjs.Dayjs | null;
186
186
  maxTime: dayjs.Dayjs | null;
187
187
  minTimeStr: string | null;
@@ -358,7 +358,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
358
358
  };
359
359
  setOtherData(key: string, value: any): void;
360
360
  getOtherData(key: string): any;
361
- getProductTypeById(id: number): Promise<"normal" | "duration" | "session">;
361
+ getProductTypeById(id: number): Promise<"duration" | "session" | "normal">;
362
362
  /**
363
363
  * 提供给 UI 的方法,减轻 UI 层的计算压力,UI 层只需要传递 cartItemId 和 resourceCode 即返回对应的 renderList
364
364
  *
@@ -6,7 +6,7 @@ import { CartItem, ProductData } from '../../../modules';
6
6
  * 3. 格式化资源相关 格式化资源列表 --> 格式化资源 --> 获取时间切片列表 --> 判断单个时间切片是否可用 formatResources
7
7
  *
8
8
  */
9
- type DateType = Dayjs;
9
+ declare type DateType = Dayjs;
10
10
  export interface TimeSliceItem {
11
11
  start_time: string;
12
12
  end_time: string;
@@ -115,7 +115,7 @@ export declare class BookingTicketImpl extends BaseModule implements Module {
115
115
  * 获取当前的客户搜索条件
116
116
  * @returns 当前搜索条件
117
117
  */
118
- getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "skip" | "num">;
118
+ getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
119
119
  /**
120
120
  * 获取客户列表状态(包含滚动加载相关状态)
121
121
  * @returns 客户状态
@@ -10,7 +10,7 @@ export declare enum ShopDiscountHooks {
10
10
  onRulesListChange = "shopDiscount:onRulesListChange",
11
11
  onLoadPrepareCalcResult = "shopDiscount:onLoadPrepareCalcResult"
12
12
  }
13
- export type Customer = {
13
+ export declare type Customer = {
14
14
  id: string | number;
15
15
  name: string;
16
16
  email: string;
@@ -12,13 +12,13 @@ export declare const isAllNormalProduct: (items: any[]) => boolean;
12
12
  * @returns
13
13
  */
14
14
  export declare const getDiscountAmount: (discount: Discount, total: number, price: number) => number;
15
- export declare const getDiscountListAmountTotal: (discount: Discount[]) => any;
15
+ export declare const getDiscountListAmountTotal: (discount: Discount[]) => Discount;
16
16
  /**
17
17
  * 获取折扣金额 计算每个折扣的金额
18
18
  * @param discount
19
19
  * @returns
20
20
  */
21
- export declare const getDiscountListAmount: (discount: Discount[]) => any;
21
+ export declare const getDiscountListAmount: (discount: Discount[]) => Discount;
22
22
  export interface ScheduleItem {
23
23
  id: number;
24
24
  name: string | {
@@ -27,7 +27,7 @@ export interface ModuleOptions {
27
27
  initialState?: Record<string, any>;
28
28
  otherParams?: Record<string, any>;
29
29
  }
30
- export type EventHandler = (data?: any) => void;
30
+ export declare type EventHandler = (data?: any) => void;
31
31
  export interface PisellCore {
32
32
  registerPlugin: (plugin: Plugin, options?: PluginOptions) => void;
33
33
  getPlugin: <T extends Plugin>(name: string) => T | null;
@@ -1,5 +1,5 @@
1
- type Action = (...args: any[]) => Promise<any>;
2
- type Task = {
1
+ declare type Action = (...args: any[]) => Promise<any>;
2
+ declare type Task = {
3
3
  uuid: string;
4
4
  type: string;
5
5
  actionParams?: Record<string, any>;
@@ -2,8 +2,8 @@
2
2
  * 监听模块
3
3
  *
4
4
  */
5
- export type WatchEventCallback = (...args: any[]) => void;
6
- export type WatchEventItem = {
5
+ export declare type WatchEventCallback = (...args: any[]) => void;
6
+ export declare type WatchEventItem = {
7
7
  key: string;
8
8
  callback: WatchEventCallback;
9
9
  };
package/lib/core/index.js CHANGED
@@ -26,13 +26,13 @@ module.exports = __toCommonJS(core_exports);
26
26
  var import_createStore = require("../store/createStore");
27
27
  var import_effects = require("../effects");
28
28
  var PisellOSCore = class {
29
+ plugins = /* @__PURE__ */ new Map();
30
+ modules = /* @__PURE__ */ new Map();
31
+ stores = /* @__PURE__ */ new Map();
32
+ effects = new import_effects.EffectsManager();
33
+ debug = false;
34
+ context = {};
29
35
  constructor(options) {
30
- this.plugins = /* @__PURE__ */ new Map();
31
- this.modules = /* @__PURE__ */ new Map();
32
- this.stores = /* @__PURE__ */ new Map();
33
- this.effects = new import_effects.EffectsManager();
34
- this.debug = false;
35
- this.context = {};
36
36
  this.debug = (options == null ? void 0 : options.debug) || false;
37
37
  this.context = (options == null ? void 0 : options.context) || {};
38
38
  this.initialize(options);
@@ -48,7 +48,7 @@ var PisellOSCore = class {
48
48
  this.registerModule(item.module, item.options);
49
49
  });
50
50
  }
51
- this.log("PisellOS 核心初始化完成");
51
+ this.log("PisellOS \u6838\u5FC3\u521D\u59CB\u5316\u5B8C\u6210");
52
52
  }
53
53
  // 日志方法
54
54
  log(message, level = "info") {
@@ -71,12 +71,12 @@ var PisellOSCore = class {
71
71
  // 插件相关方法
72
72
  registerPlugin(plugin, options) {
73
73
  if (this.plugins.has(plugin.name)) {
74
- this.log(`插件 ${plugin.name} 已经注册过,将被覆盖`, "warn");
74
+ this.log(`\u63D2\u4EF6 ${plugin.name} \u5DF2\u7ECF\u6CE8\u518C\u8FC7\uFF0C\u5C06\u88AB\u8986\u76D6`, "warn");
75
75
  }
76
76
  if (options == null ? void 0 : options.dependencies) {
77
77
  for (const dep of options.dependencies) {
78
78
  if (!this.plugins.has(dep)) {
79
- throw new Error(`注册插件 ${plugin.name} 失败:缺少依赖插件 ${dep}`);
79
+ throw new Error(`\u6CE8\u518C\u63D2\u4EF6 ${plugin.name} \u5931\u8D25\uFF1A\u7F3A\u5C11\u4F9D\u8D56\u63D2\u4EF6 ${dep}`);
80
80
  }
81
81
  }
82
82
  }
@@ -84,14 +84,14 @@ var PisellOSCore = class {
84
84
  const result = plugin.initialize();
85
85
  if (result instanceof Promise) {
86
86
  result.catch((err) => {
87
- this.log(`插件 ${plugin.name} 初始化失败: ${err.message}`, "error");
87
+ this.log(`\u63D2\u4EF6 ${plugin.name} \u521D\u59CB\u5316\u5931\u8D25: ${err.message}`, "error");
88
88
  throw err;
89
89
  });
90
90
  }
91
91
  this.plugins.set(plugin.name, plugin);
92
- this.log(`插件 ${plugin.name} v${plugin.version} 注册成功`);
92
+ this.log(`\u63D2\u4EF6 ${plugin.name} v${plugin.version} \u6CE8\u518C\u6210\u529F`);
93
93
  } catch (error) {
94
- this.log(`插件 ${plugin.name} 初始化过程中出错: ${error}`, "error");
94
+ this.log(`\u63D2\u4EF6 ${plugin.name} \u521D\u59CB\u5316\u8FC7\u7A0B\u4E2D\u51FA\u9519: ${error}`, "error");
95
95
  throw error;
96
96
  }
97
97
  }
@@ -104,12 +104,12 @@ var PisellOSCore = class {
104
104
  // 模块相关方法
105
105
  registerModule(module2, options) {
106
106
  if (this.modules.has(module2.name)) {
107
- this.log(`模块 ${module2.name} 已经注册过,将被覆盖`, "warn");
107
+ this.log(`\u6A21\u5757 ${module2.name} \u5DF2\u7ECF\u6CE8\u518C\u8FC7\uFF0C\u5C06\u88AB\u8986\u76D6`, "warn");
108
108
  }
109
109
  if (options == null ? void 0 : options.dependencies) {
110
110
  for (const dep of options.dependencies) {
111
111
  if (!this.modules.has(dep)) {
112
- throw new Error(`注册模块 ${module2.name} 失败:缺少依赖模块 ${dep}`);
112
+ throw new Error(`\u6CE8\u518C\u6A21\u5757 ${module2.name} \u5931\u8D25\uFF1A\u7F3A\u5C11\u4F9D\u8D56\u6A21\u5757 ${dep}`);
113
113
  }
114
114
  }
115
115
  }
@@ -117,7 +117,7 @@ var PisellOSCore = class {
117
117
  for (const plugin of options.plugins) {
118
118
  if (!this.plugins.has(plugin)) {
119
119
  throw new Error(
120
- `注册模块 ${module2.name} 失败:缺少依赖插件 ${plugin}`
120
+ `\u6CE8\u518C\u6A21\u5757 ${module2.name} \u5931\u8D25\uFF1A\u7F3A\u5C11\u4F9D\u8D56\u63D2\u4EF6 ${plugin}`
121
121
  );
122
122
  }
123
123
  }
@@ -126,10 +126,9 @@ var PisellOSCore = class {
126
126
  (options == null ? void 0 : options.initialState) || {},
127
127
  module2.name,
128
128
  (path, value) => {
129
- console.log("core 检测到模块值更新", module2.name, path, value);
129
+ console.log("core \u68C0\u6D4B\u5230\u6A21\u5757\u503C\u66F4\u65B0", module2.name, path, value);
130
130
  this.effects.emit(`${module2.name}:changed`, { path, value });
131
- if (module2.storeChange)
132
- module2.storeChange(path, value);
131
+ if (module2.storeChange) module2.storeChange(path, value);
133
132
  }
134
133
  );
135
134
  this.stores.set(module2.name, proxy);
@@ -137,14 +136,14 @@ var PisellOSCore = class {
137
136
  const result = module2.initialize(this, { store: proxy, ...options });
138
137
  if (result instanceof Promise) {
139
138
  result.catch((err) => {
140
- this.log(`模块 ${module2.name} 初始化失败: ${err.message}`, "error");
139
+ this.log(`\u6A21\u5757 ${module2.name} \u521D\u59CB\u5316\u5931\u8D25: ${err.message}`, "error");
141
140
  throw err;
142
141
  });
143
142
  }
144
143
  this.modules.set(module2.name, module2);
145
- this.log(`模块 ${module2.name} v${module2.version} 注册成功`);
144
+ this.log(`\u6A21\u5757 ${module2.name} v${module2.version} \u6CE8\u518C\u6210\u529F`);
146
145
  } catch (error) {
147
- this.log(`模块 ${module2.name} 初始化过程中出错: ${error}`, "error");
146
+ this.log(`\u6A21\u5757 ${module2.name} \u521D\u59CB\u5316\u8FC7\u7A0B\u4E2D\u51FA\u9519: ${error}`, "error");
148
147
  throw error;
149
148
  }
150
149
  }
@@ -168,9 +167,9 @@ var PisellOSCore = class {
168
167
  if (module2.destroy) {
169
168
  try {
170
169
  await Promise.resolve(module2.destroy());
171
- this.log(`模块 ${name} 已销毁`);
170
+ this.log(`\u6A21\u5757 ${name} \u5DF2\u9500\u6BC1`);
172
171
  } catch (error) {
173
- this.log(`销毁模块 ${name} 时出错: ${error}`, "error");
172
+ this.log(`\u9500\u6BC1\u6A21\u5757 ${name} \u65F6\u51FA\u9519: ${error}`, "error");
174
173
  }
175
174
  }
176
175
  }
@@ -179,14 +178,14 @@ var PisellOSCore = class {
179
178
  if (plugin.destroy) {
180
179
  try {
181
180
  await Promise.resolve(plugin.destroy());
182
- this.log(`插件 ${name} 已销毁`);
181
+ this.log(`\u63D2\u4EF6 ${name} \u5DF2\u9500\u6BC1`);
183
182
  } catch (error) {
184
- this.log(`销毁插件 ${name} 时出错: ${error}`, "error");
183
+ this.log(`\u9500\u6BC1\u63D2\u4EF6 ${name} \u65F6\u51FA\u9519: ${error}`, "error");
185
184
  }
186
185
  }
187
186
  }
188
187
  this.plugins.clear();
189
- this.log("PisellOS 核心已销毁");
188
+ this.log("PisellOS \u6838\u5FC3\u5DF2\u9500\u6BC1");
190
189
  }
191
190
  /**
192
191
  * 验证上下文参数
@@ -196,7 +195,7 @@ var PisellOSCore = class {
196
195
  const value = this.context[rule.name];
197
196
  if (rule.required && (value === void 0 || value === null)) {
198
197
  this.log(
199
- `模块 ${config.name} 缺少必需的上下文参数: ${rule.name}`,
198
+ `\u6A21\u5757 ${config.name} \u7F3A\u5C11\u5FC5\u9700\u7684\u4E0A\u4E0B\u6587\u53C2\u6570: ${rule.name}`,
200
199
  "error"
201
200
  );
202
201
  return false;
@@ -204,7 +203,7 @@ var PisellOSCore = class {
204
203
  if (rule.validate && value !== void 0 && value !== null) {
205
204
  if (!rule.validate(value)) {
206
205
  this.log(
207
- `模块 ${config.name} 上下文参数验证失败: ${rule.name} - ${rule.message || "验证失败"}`,
206
+ `\u6A21\u5757 ${config.name} \u4E0A\u4E0B\u6587\u53C2\u6570\u9A8C\u8BC1\u5931\u8D25: ${rule.name} - ${rule.message || "\u9A8C\u8BC1\u5931\u8D25"}`,
208
207
  "error"
209
208
  );
210
209
  return false;
@@ -1,8 +1,8 @@
1
- type EffectCallback = (payload: any) => void | Promise<void | {
1
+ declare type EffectCallback = (payload: any) => void | Promise<void | {
2
2
  status: boolean;
3
3
  message?: string;
4
4
  }>;
5
- type UnsubscribeFunction = () => void;
5
+ declare type UnsubscribeFunction = () => void;
6
6
  declare class EffectsManager {
7
7
  private listeners;
8
8
  on(event: string, callback: EffectCallback): UnsubscribeFunction;
@@ -23,13 +23,10 @@ __export(effects_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(effects_exports);
25
25
  var EffectsManager = class {
26
- constructor() {
27
- this.listeners = /* @__PURE__ */ new Map();
28
- }
26
+ listeners = /* @__PURE__ */ new Map();
29
27
  on(event, callback) {
30
28
  var _a;
31
- if (!this.listeners.has(event))
32
- this.listeners.set(event, /* @__PURE__ */ new Set());
29
+ if (!this.listeners.has(event)) this.listeners.set(event, /* @__PURE__ */ new Set());
33
30
  (_a = this.listeners.get(event)) == null ? void 0 : _a.add(callback);
34
31
  return () => {
35
32
  this.off(event, callback);
@@ -69,8 +66,7 @@ var EffectsManager = class {
69
66
  }
70
67
  async emit(event, payload) {
71
68
  const callbacks = this.listeners.get(event);
72
- if (!callbacks)
73
- return { status: true, data: [] };
69
+ if (!callbacks) return { status: true, data: [] };
74
70
  return new Promise(async (resolve) => {
75
71
  const res = [];
76
72
  for (const cb of callbacks) {