@final-commerce/common 2.0.3 → 2.0.5-beta.1
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/index.d.mts +37 -3
- package/dist/index.d.ts +37 -3
- package/dist/index.js +31 -27
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +29 -26
- package/dist/index.mjs.map +1 -1
- package/dist/pos-types/index.d.mts +9 -3
- package/dist/pos-types/index.d.ts +9 -3
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -199,6 +199,7 @@ var Platform = /* @__PURE__ */ ((Platform2) => {
|
|
|
199
199
|
var OrderPlatform = /* @__PURE__ */ ((OrderPlatform2) => {
|
|
200
200
|
OrderPlatform2["POS"] = "in-store";
|
|
201
201
|
OrderPlatform2["WOO_COMMERCE"] = "woo-commerce";
|
|
202
|
+
OrderPlatform2["PUBLIC_API"] = "public-api";
|
|
202
203
|
return OrderPlatform2;
|
|
203
204
|
})(OrderPlatform || {});
|
|
204
205
|
var CustomerPlatform = /* @__PURE__ */ ((CustomerPlatform2) => {
|
|
@@ -996,10 +997,7 @@ function negateAtPaths(value, path, paths) {
|
|
|
996
997
|
function padHex(value, length) {
|
|
997
998
|
return value.toString(16).padStart(length, "0");
|
|
998
999
|
}
|
|
999
|
-
var PROCESS_RANDOM = Array.from(
|
|
1000
|
-
{ length: 5 },
|
|
1001
|
-
() => padHex(Math.floor(Math.random() * 256), 2)
|
|
1002
|
-
).join("");
|
|
1000
|
+
var PROCESS_RANDOM = Array.from({ length: 5 }, () => padHex(Math.floor(Math.random() * 256), 2)).join("");
|
|
1003
1001
|
var objectIdCounter = Math.floor(Math.random() * 16777215);
|
|
1004
1002
|
function generateMongoID() {
|
|
1005
1003
|
const timestamp = padHex(Math.floor(Date.now() / 1e3), 8);
|
|
@@ -1217,12 +1215,8 @@ var DEFAULT_CROSS_AXIS_RULES = [
|
|
|
1217
1215
|
|
|
1218
1216
|
// order-state-machine/default-config.ts
|
|
1219
1217
|
var DEFAULT_EPOCH = /* @__PURE__ */ new Date(0);
|
|
1220
|
-
var PAYMENT_LABELS = new Map(
|
|
1221
|
-
|
|
1222
|
-
);
|
|
1223
|
-
var FULFILLMENT_LABELS = new Map(
|
|
1224
|
-
baseFulfillmentDefinitions().map((d) => [d.id, d.label])
|
|
1225
|
-
);
|
|
1218
|
+
var PAYMENT_LABELS = new Map(basePaymentDefinitions().map((d) => [d.id, d.label]));
|
|
1219
|
+
var FULFILLMENT_LABELS = new Map(baseFulfillmentDefinitions().map((d) => [d.id, d.label]));
|
|
1226
1220
|
var TERMINAL_PAYMENT_STATES = new Set(
|
|
1227
1221
|
basePaymentDefinitions().filter((d) => d.isTerminal).map((d) => d.id)
|
|
1228
1222
|
);
|
|
@@ -1266,7 +1260,7 @@ var DEFAULT_CONFIG = {
|
|
|
1266
1260
|
fulfillmentPaths: [],
|
|
1267
1261
|
paymentPathMode: "permissive",
|
|
1268
1262
|
fulfillmentPathMode: "permissive",
|
|
1269
|
-
crossAxisRules: [
|
|
1263
|
+
crossAxisRules: [],
|
|
1270
1264
|
transitionConditions: [],
|
|
1271
1265
|
validInitialStates: [{ payment: "unpaid", fulfillment: "draft" }],
|
|
1272
1266
|
displayStateMap: [...DEFAULT_DISPLAY_STATE_MAP],
|
|
@@ -1283,19 +1277,6 @@ function buildResolvedConfig(config) {
|
|
|
1283
1277
|
var DEFAULT_RESOLVED_CONFIG = buildResolvedConfig(DEFAULT_CONFIG);
|
|
1284
1278
|
|
|
1285
1279
|
// order-state-machine/pos-preset.ts
|
|
1286
|
-
var POS_CROSS_AXIS_RULES = [
|
|
1287
|
-
{
|
|
1288
|
-
id: "pos-pay-requires-open-fulfillment",
|
|
1289
|
-
label: "Payments only on open fulfillment states",
|
|
1290
|
-
description: "POS payments are only valid on orders whose fulfillment is open (draft / pending / on_hold) or auto-fulfilled in lock-step (fulfilled). Returned / cancelled / in-progress fulfillment must use refund flows instead.",
|
|
1291
|
-
enabled: true,
|
|
1292
|
-
trigger: { axis: "payment", to: ["payment_pending", "paid", "partially_paid"] },
|
|
1293
|
-
requires: {
|
|
1294
|
-
axis: "fulfillment",
|
|
1295
|
-
states: ["draft", "pending", "on_hold", "fulfilled"]
|
|
1296
|
-
}
|
|
1297
|
-
}
|
|
1298
|
-
];
|
|
1299
1280
|
var POS_VALID_INITIAL_STATES = [
|
|
1300
1281
|
{ payment: "unpaid", fulfillment: "draft" },
|
|
1301
1282
|
{ payment: "unpaid", fulfillment: "on_hold" },
|
|
@@ -1310,7 +1291,7 @@ function buildPosPresetConfig(companyId) {
|
|
|
1310
1291
|
_id: "pos-preset",
|
|
1311
1292
|
companyId: companyId ?? DEFAULT_CONFIG.companyId,
|
|
1312
1293
|
name: "POS Preset",
|
|
1313
|
-
crossAxisRules: [
|
|
1294
|
+
crossAxisRules: [],
|
|
1314
1295
|
validInitialStates: [...POS_VALID_INITIAL_STATES],
|
|
1315
1296
|
displayStateMap: [...DEFAULT_DISPLAY_STATE_MAP]
|
|
1316
1297
|
};
|
|
@@ -2147,6 +2128,27 @@ function inferStatesFromLegacyStatus(order) {
|
|
|
2147
2128
|
return { payment: "unpaid", fulfillment: "pending" };
|
|
2148
2129
|
}
|
|
2149
2130
|
|
|
2131
|
+
// order-state-machine/write-strategy.ts
|
|
2132
|
+
var LegacyWriteStrategy = class {
|
|
2133
|
+
applyState(_order) {
|
|
2134
|
+
}
|
|
2135
|
+
};
|
|
2136
|
+
var DualWriteStrategy = class {
|
|
2137
|
+
constructor(config) {
|
|
2138
|
+
this.config = config;
|
|
2139
|
+
}
|
|
2140
|
+
applyState(order) {
|
|
2141
|
+
if (order.paymentState && order.fulfillmentState) {
|
|
2142
|
+
setOrderState(order, order.paymentState, order.fulfillmentState, this.config);
|
|
2143
|
+
return;
|
|
2144
|
+
}
|
|
2145
|
+
if (order.status) {
|
|
2146
|
+
const inferred = inferStatesFromLegacyStatus(order);
|
|
2147
|
+
setOrderState(order, inferred.payment, inferred.fulfillment, this.config);
|
|
2148
|
+
}
|
|
2149
|
+
}
|
|
2150
|
+
};
|
|
2151
|
+
|
|
2150
2152
|
// order-state-machine/resolve-template.ts
|
|
2151
2153
|
function resolveTemplate(templateJson, params, values = {}) {
|
|
2152
2154
|
const resolvedValues = {};
|
|
@@ -2461,6 +2463,7 @@ export {
|
|
|
2461
2463
|
DEFAULT_CROSS_AXIS_RULES,
|
|
2462
2464
|
DEFAULT_DISPLAY_STATE_MAP,
|
|
2463
2465
|
DEFAULT_RESOLVED_CONFIG,
|
|
2466
|
+
DualWriteStrategy,
|
|
2464
2467
|
EUFixedRates,
|
|
2465
2468
|
EUROPE,
|
|
2466
2469
|
ExtensionCategory,
|
|
@@ -2470,6 +2473,7 @@ export {
|
|
|
2470
2473
|
InventoryBaseActionEnum,
|
|
2471
2474
|
InventorySpecificActionType,
|
|
2472
2475
|
InvoiceStatus,
|
|
2476
|
+
LegacyWriteStrategy,
|
|
2473
2477
|
LibraryItemType,
|
|
2474
2478
|
MenuProject,
|
|
2475
2479
|
NAFixedRates,
|
|
@@ -2483,7 +2487,6 @@ export {
|
|
|
2483
2487
|
OwnerType,
|
|
2484
2488
|
PATH_MODES,
|
|
2485
2489
|
PAYMENT_STATES,
|
|
2486
|
-
POS_CROSS_AXIS_RULES,
|
|
2487
2490
|
POS_VALID_INITIAL_STATES,
|
|
2488
2491
|
PaymentMethod,
|
|
2489
2492
|
Platform,
|