@commercejs/platform 0.1.0 → 0.2.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 CommerceJS Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1 +1 @@
1
- {"version":3,"file":"cart.d.ts","sourceRoot":"","sources":["../../src/domains/cart.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAiB7D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM;kBA4DzB,OAAO,CAAC,IAAI,CAAC;oBAOX,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;sBAIpB,MAAM,QAAQ,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;2BAmBvC,MAAM,UAAU,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;2BAUxD,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;wBAMzC,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;yBAKnC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;EAKpD"}
1
+ {"version":3,"file":"cart.d.ts","sourceRoot":"","sources":["../../src/domains/cart.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAiB7D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM;kBA6DzB,OAAO,CAAC,IAAI,CAAC;oBAOX,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;sBAIpB,MAAM,QAAQ,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;2BAmBvC,MAAM,UAAU,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;2BAUxD,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;wBAMzC,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;yBAKnC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;EAKpD"}
@@ -2,7 +2,7 @@
2
2
  // Cart domain — cart CRUD and item management
3
3
  // ---------------------------------------------------------------------------
4
4
  import { createCart as dbCreateCart, findCart, findCartItems, findExistingCartItem, insertCartItem, updateCartItemQuantity, deleteCartItem, updateCart, findProductById, findVariantById, findPrimaryImage, } from '../database/index.js';
5
- import { localized, discountablePrice, priceRequired, img } from './helpers.js';
5
+ import { localized, discountablePrice, priceRequired, img, parseJsonField } from './helpers.js';
6
6
  export function createCartDomain(currency) {
7
7
  /** Build a full Cart object from cart row + items + product data */
8
8
  async function buildCart(cartId) {
@@ -25,6 +25,7 @@ export function createCartDomain(currency) {
25
25
  return {
26
26
  id: item.id,
27
27
  productId: item.productId,
28
+ productSlug: product?.slug ?? undefined,
28
29
  variantId: item.variantId ?? null,
29
30
  name: product ? localized(product.name, product.nameAr) : localized('Unknown', null),
30
31
  image: primaryImg ? img(primaryImg.url, primaryImg.altText) : null,
@@ -44,8 +45,8 @@ export function createCartDomain(currency) {
44
45
  discount: null,
45
46
  total: priceRequired(subtotal, currency),
46
47
  },
47
- shippingAddress: cartRow.shippingAddress ?? null,
48
- billingAddress: cartRow.billingAddress ?? null,
48
+ shippingAddress: parseJsonField(cartRow.shippingAddress),
49
+ billingAddress: parseJsonField(cartRow.billingAddress),
49
50
  shippingMethod: null,
50
51
  paymentMethod: null,
51
52
  couponCode: cartRow.couponCode ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"cart.js","sourceRoot":"","sources":["../../src/domains/cart.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8CAA8C;AAC9C,8EAA8E;AAG9E,OAAO,EACL,UAAU,IAAI,YAAY,EAC1B,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,UAAU,EAEV,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAE/E,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,oEAAoE;IACpE,KAAK,UAAU,SAAS,CAAC,MAAc;QACrC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAA;QACtC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAA;QAE1D,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;QAEzC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;YAChE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAEzD,IAAI,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,CAAC,CAAA;YACnC,IAAI,SAAS,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAA;YAE/C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACrD,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;oBAC3B,SAAS,GAAG,OAAO,CAAC,KAAK,CAAA;oBACzB,SAAS,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAA;gBAC5C,CAAC;YACH,CAAC;YAED,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;gBACjC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC;gBACpF,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;gBAClE,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAE;gBACzD,UAAU,EAAE,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC/D,CAAA;QACH,CAAC,CAAC,CAAC,CAAA;QAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEjF,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE;gBACN,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAC3C,QAAQ,EAAE,IAAI;gBACd,GAAG,EAAE,IAAI;gBACT,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC;aACzC;YACD,eAAe,EAAE,OAAO,CAAC,eAAsB,IAAI,IAAI;YACvD,cAAc,EAAE,OAAO,CAAC,cAAqB,IAAI,IAAI;YACrD,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACtC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACtC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAA;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,UAAU;YACd,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;YAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YACpC,MAAM,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YAC3B,OAAO,SAAS,CAAC,EAAE,CAAC,CAAA;QACtB,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,MAAc;YAC1B,OAAO,SAAS,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,IAAoB;YAClD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YAEnF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,sBAAsB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC9E,CAAC;iBAAM,CAAC;gBACN,MAAM,cAAc,CAAC;oBACnB,MAAM;oBACN,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;oBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACjE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,MAAc,EAAE,QAAgB;YACnE,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAClB,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAChD,CAAC;YACD,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACjE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,MAAc;YACjD,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;YAC5B,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACjE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAY;YAC5C,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACnF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,MAAc;YAC/B,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACnF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"cart.js","sourceRoot":"","sources":["../../src/domains/cart.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/domains/checkout.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EACL,cAAc,EACd,aAAa,EACb,OAAO,EACR,MAAM,mBAAmB,CAAA;AAc1B,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM;gCAIf,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;+BAqBnC,MAAM,WAAW,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;8BAKnE,MAAM,WAAW,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;8BAKlE,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;+BAKvC,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;6BAqBnC,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;uBAK9C,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;EAmHnD"}
1
+ {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/domains/checkout.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,IAAI,EACJ,KAAK,EACL,cAAc,EACd,aAAa,EACb,OAAO,EACR,MAAM,mBAAmB,CAAA;AAe1B,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM;gCAIf,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;+BAqBnC,MAAM,WAAW,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;8BAKnE,MAAM,WAAW,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;8BAKlE,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;+BAKvC,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;6BAqBnC,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;uBAK9C,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;EA0HnD"}
@@ -1,8 +1,8 @@
1
1
  // ---------------------------------------------------------------------------
2
2
  // Checkout domain — shipping, addresses, and order placement
3
3
  // ---------------------------------------------------------------------------
4
- import { updateCart, deleteCart, createOrder as dbCreateOrder, createOrderItem, createOrderHistory, findOrderById, findOrderItems, } from '../database/index.js';
5
- import { generateOrderNumber, localized, price, priceRequired, img } from './helpers.js';
4
+ import { findCart, updateCart, deleteCart, createOrder as dbCreateOrder, createOrderItem, createOrderHistory, findOrderById, findOrderItems, } from '../database/index.js';
5
+ import { generateOrderNumber, localized, price, priceRequired, img, parseJsonField } from './helpers.js';
6
6
  import { createCartDomain } from './cart.js';
7
7
  export function createCheckoutDomain(currency) {
8
8
  const cartDomain = createCartDomain(currency);
@@ -68,11 +68,17 @@ export function createCheckoutDomain(currency) {
68
68
  if (cart.items.length === 0) {
69
69
  throw new Error('Cannot place order with empty cart');
70
70
  }
71
+ // Look up selected shipping/payment methods by ID from cart row
72
+ const cartRow = await findCart(cartId);
73
+ const shippingMethods = await this.getShippingMethods(cartId);
74
+ const paymentMethods = await this.getPaymentMethods(cartId);
75
+ const selectedShipping = shippingMethods.find(m => m.id === cartRow?.shippingMethodId) ?? null;
76
+ const selectedPayment = paymentMethods.find(m => m.id === cartRow?.paymentMethodId) ?? null;
71
77
  const now = new Date().toISOString();
72
78
  const orderId = crypto.randomUUID();
73
79
  const orderNumber = generateOrderNumber();
74
80
  const subtotal = cart.totals.subtotal.amount;
75
- const shippingCost = cart.totals.shipping?.amount ?? 0;
81
+ const shippingCost = selectedShipping?.price.amount ?? cart.totals.shipping?.amount ?? 0;
76
82
  const tax = cart.totals.tax?.amount ?? 0;
77
83
  const discount = cart.totals.discount?.amount ?? 0;
78
84
  const total = subtotal + shippingCost + tax - discount;
@@ -89,8 +95,8 @@ export function createCheckoutDomain(currency) {
89
95
  currency,
90
96
  shippingAddress: cart.shippingAddress,
91
97
  billingAddress: cart.billingAddress,
92
- shippingMethod: cart.shippingMethod?.name ? JSON.stringify(cart.shippingMethod.name) : null,
93
- paymentMethod: cart.paymentMethod?.name ? JSON.stringify(cart.paymentMethod.name) : null,
98
+ shippingMethod: selectedShipping?.name ? JSON.stringify(selectedShipping.name) : null,
99
+ paymentMethod: selectedPayment?.name ? JSON.stringify(selectedPayment.name) : null,
94
100
  requiresShipping: true,
95
101
  createdAt: now,
96
102
  updatedAt: now,
@@ -147,13 +153,13 @@ export function createCheckoutDomain(currency) {
147
153
  discount: price(order.discount, currency),
148
154
  total: priceRequired(order.total, currency),
149
155
  },
150
- shippingAddress: order.shippingAddress ?? null,
151
- billingAddress: order.billingAddress ?? null,
156
+ shippingAddress: parseJsonField(order.shippingAddress),
157
+ billingAddress: parseJsonField(order.billingAddress),
152
158
  shippingMethod: order.shippingMethod
153
- ? { id: 'default', name: localized(order.shippingMethod, null), provider: 'custom', price: priceRequired(0, currency), estimatedDays: { min: 1, max: 7 }, cashOnDelivery: false }
159
+ ? (() => { const n = parseJsonField(order.shippingMethod); return { id: 'default', name: typeof n === 'object' ? localized(n.en, n.ar) : localized(n, null), provider: 'custom', price: priceRequired(0, currency), estimatedDays: { min: 1, max: 7 }, cashOnDelivery: false }; })()
154
160
  : null,
155
161
  paymentMethod: order.paymentMethod
156
- ? { id: 'default', type: 'card', name: localized(order.paymentMethod, null), provider: 'platform', installments: null, icon: null }
162
+ ? (() => { const n = parseJsonField(order.paymentMethod); return { id: 'default', type: 'card', name: typeof n === 'object' ? localized(n.en, n.ar) : localized(n, null), provider: 'platform', installments: null, icon: null }; })()
157
163
  : null,
158
164
  trackingNumber: order.trackingNumber ?? null,
159
165
  trackingUrl: order.trackingUrl ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/domains/checkout.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAS9E,OAAO,EACL,UAAU,EACV,UAAU,EAEV,WAAW,IAAI,aAAa,EAC5B,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE5C,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE7C,OAAO;QACL,KAAK,CAAC,kBAAkB,CAAC,OAAe;YACtC,OAAO;gBACL;oBACE,EAAE,EAAE,UAAU;oBACd,IAAI,EAAE,SAAS,CAAC,mBAAmB,EAAE,UAAU,CAAC;oBAChD,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC;oBAClC,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;oBACjC,cAAc,EAAE,KAAK;iBACtB;gBACD;oBACE,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,SAAS,CAAC,kBAAkB,EAAE,UAAU,CAAC;oBAC/C,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC;oBAClC,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;oBACjC,cAAc,EAAE,KAAK;iBACtB;aACF,CAAA;QACH,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,OAA0C;YACjF,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,OAAc,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAClG,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,OAA0C;YAChF,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,OAAc,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACjG,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,QAAgB;YACtD,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAC7F,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,OAAe;YACrC,OAAO;gBACL;oBACE,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,CAAC,qBAAqB,EAAE,cAAc,CAAC;oBACtD,QAAQ,EAAE,UAAU;oBACpB,YAAY,EAAE,IAAI;oBAClB,IAAI,EAAE,IAAI;iBACX;gBACD;oBACE,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,SAAS,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;oBACzD,QAAQ,EAAE,UAAU;oBACpB,YAAY,EAAE,IAAI;oBAClB,IAAI,EAAE,IAAI;iBACX;aACF,CAAA;QACH,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,QAAgB;YACrD,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAC5F,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,MAAc;YAC7B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE7C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;YACnC,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAA;YAEzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAA;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAA;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAA;YAClD,MAAM,KAAK,GAAG,QAAQ,GAAG,YAAY,GAAG,GAAG,GAAG,QAAQ,CAAA;YAEtD,MAAM,aAAa,CAAC;gBAClB,EAAE,EAAE,OAAO;gBACX,WAAW;gBACX,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;gBACnC,MAAM,EAAE,SAAS;gBACjB,QAAQ;gBACR,YAAY;gBACZ,GAAG;gBACH,QAAQ;gBACR,KAAK;gBACL,QAAQ;gBACR,eAAe,EAAE,IAAI,CAAC,eAAsB;gBAC5C,cAAc,EAAE,IAAI,CAAC,cAAqB;gBAC1C,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC3F,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACxF,gBAAgB,EAAE,IAAI;gBACtB,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC,CAAA;YAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,eAAe,CAAC;oBACpB,OAAO;oBACP,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;oBACjC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,IAAY,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/E,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBACxB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;oBAClC,WAAW,EAAE,UAAU;oBACvB,iBAAiB,EAAE,aAAa;iBACjC,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,kBAAkB,CAAC;gBACvB,OAAO;gBACP,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,GAAG;aACf,CAAC,CAAA;YAEF,oCAAoC;YACpC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;YAExB,6BAA6B;YAC7B,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAA;YAC1C,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAA;YACzE,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;YAE3C,OAAO;gBACL,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAa;gBAC3B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;oBAC5B,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;oBAC9B,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;oBACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC1C,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;oBACvC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC;oBACjD,iBAAiB,EAAE,CAAC,CAAC,iBAAwB;oBAC7C,WAAW,EAAE,CAAC,CAAC,WAAkB;oBACjC,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBACH,MAAM,EAAE;oBACN,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBACjD,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC;oBAC7C,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC;oBAC/B,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBACzC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC;iBAC5C;gBACD,eAAe,EAAE,KAAK,CAAC,eAAsB,IAAI,IAAI;gBACrD,cAAc,EAAE,KAAK,CAAC,cAAqB,IAAI,IAAI;gBACnD,cAAc,EAAE,KAAK,CAAC,cAAc;oBAClC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;oBACjL,CAAC,CAAC,IAAI;gBACR,aAAa,EAAE,KAAK,CAAC,aAAa;oBAChC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;oBACnI,CAAC,CAAC,IAAI;gBACR,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;gBAC5C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBACxB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;gBACpC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACjD,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,YAAY,EAAE,IAAI;gBAClB,mBAAmB,EAAE,IAAI;gBACzB,WAAW,EAAE,IAAI;gBACjB,oBAAoB,EAAE,EAAE;gBACxB,qBAAqB,EAAE,IAAI;aAC5B,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/domains/checkout.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"countries.d.ts","sourceRoot":"","sources":["../../src/domains/countries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAIhD,wBAAgB,qBAAqB;oBAEX,OAAO,CAAC,OAAO,EAAE,CAAC;EAY3C"}
1
+ {"version":3,"file":"countries.d.ts","sourceRoot":"","sources":["../../src/domains/countries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAIhD,wBAAgB,qBAAqB;oBAEX,OAAO,CAAC,OAAO,EAAE,CAAC;EAc3C"}
@@ -10,7 +10,9 @@ export function createCountriesDomain() {
10
10
  return rows.map((row) => ({
11
11
  id: row.id,
12
12
  code: row.code,
13
+ iso3: row.iso3 ?? null,
13
14
  name: localized(row.name, row.nameAr),
15
+ flag: row.flag ?? null,
14
16
  callingCode: row.callingCode ?? null,
15
17
  currency: row.currency ?? null,
16
18
  capital: row.capital ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"countries.js","sourceRoot":"","sources":["../../src/domains/countries.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,KAAK,CAAC,YAAY;YAChB,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAA;YAClC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC7B,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;gBACrC,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;gBACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;gBAC9B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;aAC7B,CAAC,CAAC,CAAA;QACL,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"countries.js","sourceRoot":"","sources":["../../src/domains/countries.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,KAAK,CAAC,YAAY;YAChB,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAA;YAClC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC;gBAC7B,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;gBACtB,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;gBACrC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;gBACtB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;gBACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;gBAC9B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;aAC7B,CAAC,CAAC,CAAA;QACL,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -9,6 +9,11 @@ export declare function priceRequired(amount: number, currency: string): Price;
9
9
  export declare function discountablePrice(amount: number | null, compareAt: number | null, currency: string): Maybe<DiscountablePrice>;
10
10
  /** Create an Image from url + altText */
11
11
  export declare function img(url: string, altText: string | null): Image;
12
+ /**
13
+ * Safely parse a JSON field from the database.
14
+ * SQLite stores JSON as text — this handles string, object, and null values.
15
+ */
16
+ export declare function parseJsonField(value: unknown): any;
12
17
  /** Generate an order number like ORD-20260211-XXXX */
13
18
  export declare function generateOrderNumber(): string;
14
19
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/domains/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEhG,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe,CAE/E;AAED,qDAAqD;AACrD,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAGvF;AAED,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAErE;AAED,wDAAwD;AACxD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,MAAM,GACf,KAAK,CAAC,iBAAiB,CAAC,CAY1B;AAED,yCAAyC;AACzC,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAK9D;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/domains/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEhG,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe,CAE/E;AAED,qDAAqD;AACrD,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAGvF;AAED,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAErE;AAED,wDAAwD;AACxD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,MAAM,GACf,KAAK,CAAC,iBAAiB,CAAC,CAY1B;AAED,yCAAyC;AACzC,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAK9D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAOlD;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C"}
@@ -37,6 +37,23 @@ export function img(url, altText) {
37
37
  alt: altText ?? '',
38
38
  };
39
39
  }
40
+ /**
41
+ * Safely parse a JSON field from the database.
42
+ * SQLite stores JSON as text — this handles string, object, and null values.
43
+ */
44
+ export function parseJsonField(value) {
45
+ if (value == null)
46
+ return null;
47
+ if (typeof value === 'string') {
48
+ try {
49
+ return JSON.parse(value);
50
+ }
51
+ catch {
52
+ return value;
53
+ }
54
+ }
55
+ return value;
56
+ }
40
57
  /** Generate an order number like ORD-20260211-XXXX */
41
58
  export function generateOrderNumber() {
42
59
  const date = new Date().toISOString().slice(0, 10).replace(/-/g, '');
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/domains/helpers.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAI9E,4DAA4D;AAC5D,MAAM,UAAU,SAAS,CAAC,EAAiB,EAAE,EAAiB;IAC5D,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAA;AACvC,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,KAAK,CAAC,MAAiC,EAAE,QAAgB;IACvE,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,QAAQ,EAAE,EAAE,CAAA;AACjE,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,QAAgB;IAC5D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,QAAQ,EAAE,EAAE,CAAA;AACjE,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,iBAAiB,CAC/B,MAAqB,EACrB,SAAwB,EACxB,QAAgB;IAEhB,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,IAAI,GAAsB;QAC9B,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,GAAG,MAAM,IAAI,QAAQ,EAAE;KACnC,CAAA;IACD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,OAAsB;IACrD,OAAO;QACL,GAAG;QACH,GAAG,EAAE,OAAO,IAAI,EAAE;KACnB,CAAA;AACH,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,mBAAmB;IACjC,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACvE,OAAO,OAAO,IAAI,IAAI,MAAM,EAAE,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/domains/helpers.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAI9E,4DAA4D;AAC5D,MAAM,UAAU,SAAS,CAAC,EAAiB,EAAE,EAAiB;IAC5D,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAA;AACvC,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,KAAK,CAAC,MAAiC,EAAE,QAAgB;IACvE,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,QAAQ,EAAE,EAAE,CAAA;AACjE,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,QAAgB;IAC5D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,QAAQ,EAAE,EAAE,CAAA;AACjE,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,iBAAiB,CAC/B,MAAqB,EACrB,SAAwB,EACxB,QAAgB;IAEhB,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,IAAI,GAAsB;QAC9B,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,GAAG,MAAM,IAAI,QAAQ,EAAE;KACnC,CAAA;IACD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,OAAsB;IACrD,OAAO;QACL,GAAG;QACH,GAAG,EAAE,OAAO,IAAI,EAAE;KACnB,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAAC,CAAC;QAChC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAA;QAAC,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,mBAAmB;IACjC,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACvE,OAAO,OAAO,IAAI,IAAI,MAAM,EAAE,CAAA;AAChC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  // Orders domain — order CRUD and status management
3
3
  // ---------------------------------------------------------------------------
4
4
  import { createOrder as dbCreateOrder, createOrderItem, createOrderHistory, findOrderById, findOrders, findOrderItems, findOrderHistory, updateOrder, } from '../database/index.js';
5
- import { generateOrderNumber, localized, price, priceRequired, img } from './helpers.js';
5
+ import { generateOrderNumber, localized, price, priceRequired, img, parseJsonField } from './helpers.js';
6
6
  export function createOrdersDomain(currency) {
7
7
  /** Map DB order row + items to unified Order type */
8
8
  async function mapOrder(row) {
@@ -32,13 +32,13 @@ export function createOrdersDomain(currency) {
32
32
  discount: price(row.discount, currency),
33
33
  total: priceRequired(row.total, currency),
34
34
  },
35
- shippingAddress: row.shippingAddress ?? null,
36
- billingAddress: row.billingAddress ?? null,
35
+ shippingAddress: parseJsonField(row.shippingAddress),
36
+ billingAddress: parseJsonField(row.billingAddress),
37
37
  shippingMethod: row.shippingMethod
38
- ? { id: 'default', name: localized(row.shippingMethod, null), provider: 'custom', price: priceRequired(0, currency), estimatedDays: { min: 1, max: 7 }, cashOnDelivery: false }
38
+ ? (() => { const n = parseJsonField(row.shippingMethod); return { id: 'default', name: typeof n === 'object' ? localized(n.en, n.ar) : localized(n, null), provider: 'custom', price: priceRequired(0, currency), estimatedDays: { min: 1, max: 7 }, cashOnDelivery: false }; })()
39
39
  : null,
40
40
  paymentMethod: row.paymentMethod
41
- ? { id: 'default', type: 'card', name: localized(row.paymentMethod, null), provider: 'platform', installments: null, icon: null }
41
+ ? (() => { const n = parseJsonField(row.paymentMethod); return { id: 'default', type: 'card', name: typeof n === 'object' ? localized(n.en, n.ar) : localized(n, null), provider: 'platform', installments: null, icon: null }; })()
42
42
  : null,
43
43
  trackingNumber: row.trackingNumber ?? null,
44
44
  trackingUrl: row.trackingUrl ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/domains/orders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/domains/orders.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercejs/platform",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Native commerce engine — own your data, implement CommerceAdapter without external platforms",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,23 +21,14 @@
21
21
  "files": [
22
22
  "dist"
23
23
  ],
24
- "scripts": {
25
- "build": "tsc",
26
- "typecheck": "tsc --noEmit",
27
- "test": "vitest run",
28
- "test:watch": "vitest",
29
- "clean": "rm -rf dist",
30
- "db:generate": "drizzle-kit generate",
31
- "db:push": "drizzle-kit push"
32
- },
33
24
  "dependencies": {
34
- "@commercejs/types": "workspace:*",
35
25
  "@prisma/adapter-better-sqlite3": "^7.3.0",
36
26
  "@prisma/adapter-pg": "^7.3.0",
37
27
  "@prisma/client": "^7.3.0",
38
28
  "bcrypt-ts": "^5.0.0",
39
29
  "better-sqlite3": "^11.7.0",
40
- "drizzle-orm": "^0.38.0"
30
+ "drizzle-orm": "^0.38.0",
31
+ "@commercejs/types": "0.2.0"
41
32
  },
42
33
  "devDependencies": {
43
34
  "@types/better-sqlite3": "^7.6.12",
@@ -45,5 +36,14 @@
45
36
  "prisma": "^7.3.0",
46
37
  "typescript": "^5.7.0",
47
38
  "vitest": "^3.0.0"
39
+ },
40
+ "scripts": {
41
+ "build": "tsc",
42
+ "typecheck": "tsc --noEmit",
43
+ "test": "vitest run",
44
+ "test:watch": "vitest",
45
+ "clean": "rm -rf dist",
46
+ "db:generate": "drizzle-kit generate",
47
+ "db:push": "drizzle-kit push"
48
48
  }
49
- }
49
+ }