@pisell/pisellos 0.10.61 → 0.10.63
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/inventory/index.js
CHANGED
|
@@ -338,12 +338,21 @@ export var InventoryController = /*#__PURE__*/function () {
|
|
|
338
338
|
return _this4.availabilityForKey(key);
|
|
339
339
|
});
|
|
340
340
|
if (!states.length) return this.availabilityForKey();
|
|
341
|
-
|
|
341
|
+
// Unmapped variants are not offered by this source. Exclude even their last
|
|
342
|
+
// known quantities, while preserving errors on variants that are configured.
|
|
343
|
+
var mappedStates = states.filter(function (entry) {
|
|
344
|
+
return entry.status !== 'unmapped';
|
|
345
|
+
});
|
|
346
|
+
if (!mappedStates.length) return {
|
|
347
|
+
status: 'unmapped',
|
|
348
|
+
message: this.source.message('unmapped')
|
|
349
|
+
};
|
|
350
|
+
var quantity = mappedStates.every(function (entry) {
|
|
342
351
|
return entry.quantity !== undefined;
|
|
343
|
-
}) ?
|
|
352
|
+
}) ? mappedStates.reduce(function (sum, entry) {
|
|
344
353
|
return sum + entry.quantity;
|
|
345
354
|
}, 0) : undefined;
|
|
346
|
-
var failed =
|
|
355
|
+
var failed = mappedStates.find(function (entry) {
|
|
347
356
|
return entry.status !== 'ready';
|
|
348
357
|
});
|
|
349
358
|
if (quantity !== undefined && !Number.isSafeInteger(quantity)) return {
|
|
@@ -0,0 +1,9 @@
|
|
|
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, ITEM_REWARD_STRATEGY } from "./examples";
|
package/lib/inventory/index.js
CHANGED
|
@@ -175,8 +175,15 @@ class InventoryController {
|
|
|
175
175
|
const keys = [...new Set(this.products.get(String(id))?.values() || [])];
|
|
176
176
|
const states = keys.map(key => this.availabilityForKey(key));
|
|
177
177
|
if (!states.length) return this.availabilityForKey();
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
// Unmapped variants are not offered by this source. Exclude even their last
|
|
179
|
+
// known quantities, while preserving errors on variants that are configured.
|
|
180
|
+
const mappedStates = states.filter(entry => entry.status !== 'unmapped');
|
|
181
|
+
if (!mappedStates.length) return {
|
|
182
|
+
status: 'unmapped',
|
|
183
|
+
message: this.source.message('unmapped')
|
|
184
|
+
};
|
|
185
|
+
const quantity = mappedStates.every(entry => entry.quantity !== undefined) ? mappedStates.reduce((sum, entry) => sum + entry.quantity, 0) : undefined;
|
|
186
|
+
const failed = mappedStates.find(entry => entry.status !== 'ready');
|
|
180
187
|
if (quantity !== undefined && !Number.isSafeInteger(quantity)) return {
|
|
181
188
|
status: 'error',
|
|
182
189
|
message: this.source.message('unavailable')
|
|
@@ -1,46 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "BUY_X_GET_Y_FREE_STRATEGY", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _examples.BUY_X_GET_Y_FREE_STRATEGY;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "ITEM_REWARD_STRATEGY", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _examples.ITEM_REWARD_STRATEGY;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "PromotionAdapter", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return _adapter.PromotionAdapter;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "PromotionEvaluator", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _evaluator.PromotionEvaluator;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "X_ITEMS_FOR_Y_PRICE_STRATEGY", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _examples.X_ITEMS_FOR_Y_PRICE_STRATEGY;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "default", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function () {
|
|
39
|
-
return _adapter.default;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
var _evaluator = require("./evaluator");
|
|
43
|
-
var _adapter = _interopRequireWildcard(require("./adapter"));
|
|
44
|
-
var _examples = require("./examples");
|
|
45
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
46
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
1
|
+
"use strict";
|