@aglyn/plugins-commerce 1.0.0-beta.230 → 1.0.0-beta.232

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 (609) hide show
  1. package/package.json +13 -13
  2. package/src/index.d.ts +0 -1
  3. package/src/index.js +0 -1
  4. package/src/index.js.map +1 -1
  5. package/src/lib/barcode/barcode-decode.d.ts +71 -0
  6. package/src/lib/barcode/barcode-decode.js +498 -0
  7. package/src/lib/barcode/barcode-decode.js.map +1 -0
  8. package/src/lib/barcode/barcode-encode.d.ts +44 -0
  9. package/src/lib/barcode/barcode-encode.js +138 -0
  10. package/src/lib/barcode/barcode-encode.js.map +1 -0
  11. package/src/lib/barcode/barcode-scanner.component.d.ts +23 -0
  12. package/src/lib/barcode/barcode-scanner.component.js +260 -0
  13. package/src/lib/barcode/barcode-scanner.component.js.map +1 -0
  14. package/src/lib/barcode/scan-button.component.d.ts +10 -0
  15. package/src/lib/barcode/scan-button.component.js +62 -0
  16. package/src/lib/barcode/scan-button.component.js.map +1 -0
  17. package/src/lib/barcode/scanner-wedge.d.ts +35 -0
  18. package/src/lib/barcode/scanner-wedge.js +108 -0
  19. package/src/lib/barcode/scanner-wedge.js.map +1 -0
  20. package/src/lib/components/account.js +10 -1
  21. package/src/lib/components/account.js.map +1 -1
  22. package/src/lib/components/cart-extras.d.ts +45 -0
  23. package/src/lib/components/cart-extras.js +127 -0
  24. package/src/lib/components/cart-extras.js.map +1 -0
  25. package/src/lib/components/cart.js +82 -15
  26. package/src/lib/components/cart.js.map +1 -1
  27. package/src/lib/components/checkout-return-notice.d.ts +26 -0
  28. package/src/lib/components/checkout-return-notice.js +48 -0
  29. package/src/lib/components/checkout-return-notice.js.map +1 -0
  30. package/src/lib/components/commerce-console-page.js +124 -0
  31. package/src/lib/components/commerce-console-page.js.map +1 -1
  32. package/src/lib/components/commerce-console-sections.d.ts +1 -1
  33. package/src/lib/components/commerce-console-sections.js +4 -0
  34. package/src/lib/components/commerce-console-sections.js.map +1 -1
  35. package/src/lib/components/console/bulk-fulfill.d.ts +44 -0
  36. package/src/lib/components/console/bulk-fulfill.js +84 -0
  37. package/src/lib/components/console/bulk-fulfill.js.map +1 -0
  38. package/src/lib/components/console/catalog-organization-card.component.js +1 -0
  39. package/src/lib/components/console/catalog-organization-card.component.js.map +1 -1
  40. package/src/lib/components/console/customer-notifications-card.component.d.ts +19 -0
  41. package/src/lib/components/console/customer-notifications-card.component.js +149 -0
  42. package/src/lib/components/console/customer-notifications-card.component.js.map +1 -0
  43. package/src/lib/components/console/host-orders-card.component.js +88 -6
  44. package/src/lib/components/console/host-orders-card.component.js.map +1 -1
  45. package/src/lib/components/console/locations-card.component.js +164 -57
  46. package/src/lib/components/console/locations-card.component.js.map +1 -1
  47. package/src/lib/components/console/order-detail-dialog.component.js +209 -61
  48. package/src/lib/components/console/order-detail-dialog.component.js.map +1 -1
  49. package/src/lib/components/console/order-fulfillment-panel.component.d.ts +48 -0
  50. package/src/lib/components/console/order-fulfillment-panel.component.js +542 -0
  51. package/src/lib/components/console/order-fulfillment-panel.component.js.map +1 -0
  52. package/src/lib/components/console/order-invoice.component.d.ts +33 -0
  53. package/src/lib/components/console/order-invoice.component.js +81 -0
  54. package/src/lib/components/console/order-invoice.component.js.map +1 -0
  55. package/src/lib/components/console/order-receipt-resend.component.d.ts +21 -0
  56. package/src/lib/components/console/order-receipt-resend.component.js +203 -0
  57. package/src/lib/components/console/order-receipt-resend.component.js.map +1 -0
  58. package/src/lib/components/console/order-returns.component.d.ts +36 -0
  59. package/src/lib/components/console/order-returns.component.js +142 -0
  60. package/src/lib/components/console/order-returns.component.js.map +1 -0
  61. package/src/lib/components/console/order-shipping-actions.component.d.ts +54 -0
  62. package/src/lib/components/console/order-shipping-actions.component.js +149 -0
  63. package/src/lib/components/console/order-shipping-actions.component.js.map +1 -0
  64. package/src/lib/components/console/order-webhooks-card.component.d.ts +50 -0
  65. package/src/lib/components/console/order-webhooks-card.component.js +623 -0
  66. package/src/lib/components/console/order-webhooks-card.component.js.map +1 -0
  67. package/src/lib/components/console/order-zones.d.ts +155 -0
  68. package/src/lib/components/console/order-zones.js +40 -0
  69. package/src/lib/components/console/order-zones.js.map +1 -0
  70. package/src/lib/components/console/payment-methods-card.component.d.ts +67 -0
  71. package/src/lib/components/console/payment-methods-card.component.js +395 -0
  72. package/src/lib/components/console/payment-methods-card.component.js.map +1 -0
  73. package/src/lib/components/console/pos/pos-api.d.ts +124 -0
  74. package/src/lib/components/console/pos/pos-api.js +101 -0
  75. package/src/lib/components/console/pos/pos-api.js.map +1 -0
  76. package/src/lib/components/console/pos/pos-cart-panel.component.d.ts +36 -0
  77. package/src/lib/components/console/pos/pos-cart-panel.component.js +160 -0
  78. package/src/lib/components/console/pos/pos-cart-panel.component.js.map +1 -0
  79. package/src/lib/components/console/pos/pos-item-dialog.component.d.ts +39 -0
  80. package/src/lib/components/console/pos/pos-item-dialog.component.js +352 -0
  81. package/src/lib/components/console/pos/pos-item-dialog.component.js.map +1 -0
  82. package/src/lib/components/console/pos/pos-product-grid.component.d.ts +47 -0
  83. package/src/lib/components/console/pos/pos-product-grid.component.js +272 -0
  84. package/src/lib/components/console/pos/pos-product-grid.component.js.map +1 -0
  85. package/src/lib/components/console/pos/pos-receipt-panel.component.d.ts +27 -0
  86. package/src/lib/components/console/pos/pos-receipt-panel.component.js +282 -0
  87. package/src/lib/components/console/pos/pos-receipt-panel.component.js.map +1 -0
  88. package/src/lib/components/console/pos/pos-tender-dialogs.component.d.ts +53 -0
  89. package/src/lib/components/console/pos/pos-tender-dialogs.component.js +445 -0
  90. package/src/lib/components/console/pos/pos-tender-dialogs.component.js.map +1 -0
  91. package/src/lib/components/console/pos/pos-tender-panel.component.d.ts +31 -0
  92. package/src/lib/components/console/pos/pos-tender-panel.component.js +640 -0
  93. package/src/lib/components/console/pos/pos-tender-panel.component.js.map +1 -0
  94. package/src/lib/components/console/pos/use-pos-display.d.ts +43 -0
  95. package/src/lib/components/console/pos/use-pos-display.js +161 -0
  96. package/src/lib/components/console/pos/use-pos-display.js.map +1 -0
  97. package/src/lib/components/console/pos-devices-card.component.d.ts +14 -0
  98. package/src/lib/components/console/pos-devices-card.component.js +546 -0
  99. package/src/lib/components/console/pos-devices-card.component.js.map +1 -0
  100. package/src/lib/components/console/pos-display/brand-screen.d.ts +33 -0
  101. package/src/lib/components/console/pos-display/brand-screen.js +85 -0
  102. package/src/lib/components/console/pos-display/brand-screen.js.map +1 -0
  103. package/src/lib/components/console/pos-display/cart-screen.d.ts +29 -0
  104. package/src/lib/components/console/pos-display/cart-screen.js +166 -0
  105. package/src/lib/components/console/pos-display/cart-screen.js.map +1 -0
  106. package/src/lib/components/console/pos-display/pairing-screen.d.ts +24 -0
  107. package/src/lib/components/console/pos-display/pairing-screen.js +127 -0
  108. package/src/lib/components/console/pos-display/pairing-screen.js.map +1 -0
  109. package/src/lib/components/console/pos-display/pos-display-api.d.ts +90 -0
  110. package/src/lib/components/console/pos-display/pos-display-api.js +140 -0
  111. package/src/lib/components/console/pos-display/pos-display-api.js.map +1 -0
  112. package/src/lib/components/console/pos-display/receipt-screen.d.ts +35 -0
  113. package/src/lib/components/console/pos-display/receipt-screen.js +200 -0
  114. package/src/lib/components/console/pos-display/receipt-screen.js.map +1 -0
  115. package/src/lib/components/console/pos-display/tip-screen.d.ts +36 -0
  116. package/src/lib/components/console/pos-display/tip-screen.js +211 -0
  117. package/src/lib/components/console/pos-display/tip-screen.js.map +1 -0
  118. package/src/lib/components/console/pos-display-page.component.d.ts +16 -0
  119. package/src/lib/components/console/pos-display-page.component.js +407 -0
  120. package/src/lib/components/console/pos-display-page.component.js.map +1 -0
  121. package/src/lib/components/console/pos-ops/pos-customer-lookup.component.d.ts +40 -0
  122. package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js +289 -0
  123. package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js.map +1 -0
  124. package/src/lib/components/console/pos-ops/pos-last-receipt.component.d.ts +34 -0
  125. package/src/lib/components/console/pos-ops/pos-last-receipt.component.js +61 -0
  126. package/src/lib/components/console/pos-ops/pos-last-receipt.component.js.map +1 -0
  127. package/src/lib/components/console/pos-ops/pos-operations-bar.component.d.ts +38 -0
  128. package/src/lib/components/console/pos-ops/pos-operations-bar.component.js +129 -0
  129. package/src/lib/components/console/pos-ops/pos-operations-bar.component.js.map +1 -0
  130. package/src/lib/components/console/pos-ops/pos-ops-api.d.ts +37 -0
  131. package/src/lib/components/console/pos-ops/pos-ops-api.js +60 -0
  132. package/src/lib/components/console/pos-ops/pos-ops-api.js.map +1 -0
  133. package/src/lib/components/console/pos-ops/pos-pin-pad.component.d.ts +48 -0
  134. package/src/lib/components/console/pos-ops/pos-pin-pad.component.js +220 -0
  135. package/src/lib/components/console/pos-ops/pos-pin-pad.component.js.map +1 -0
  136. package/src/lib/components/console/pos-ops/pos-receipt-actions.component.d.ts +63 -0
  137. package/src/lib/components/console/pos-ops/pos-receipt-actions.component.js +186 -0
  138. package/src/lib/components/console/pos-ops/pos-receipt-actions.component.js.map +1 -0
  139. package/src/lib/components/console/pos-ops/pos-receipt.d.ts +39 -0
  140. package/src/lib/components/console/pos-ops/pos-receipt.js +182 -0
  141. package/src/lib/components/console/pos-ops/pos-receipt.js.map +1 -0
  142. package/src/lib/components/console/pos-ops/pos-return-dialog.component.d.ts +40 -0
  143. package/src/lib/components/console/pos-ops/pos-return-dialog.component.js +465 -0
  144. package/src/lib/components/console/pos-ops/pos-return-dialog.component.js.map +1 -0
  145. package/src/lib/components/console/pos-ops/pos-shift-history-card.component.d.ts +29 -0
  146. package/src/lib/components/console/pos-ops/pos-shift-history-card.component.js +253 -0
  147. package/src/lib/components/console/pos-ops/pos-shift-history-card.component.js.map +1 -0
  148. package/src/lib/components/console/pos-ops/pos-shift-panel.component.d.ts +34 -0
  149. package/src/lib/components/console/pos-ops/pos-shift-panel.component.js +494 -0
  150. package/src/lib/components/console/pos-ops/pos-shift-panel.component.js.map +1 -0
  151. package/src/lib/components/console/pos-ops/pos-shift-report.component.d.ts +37 -0
  152. package/src/lib/components/console/pos-ops/pos-shift-report.component.js +102 -0
  153. package/src/lib/components/console/pos-ops/pos-shift-report.component.js.map +1 -0
  154. package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.d.ts +30 -0
  155. package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.js +277 -0
  156. package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.js.map +1 -0
  157. package/src/lib/components/console/pos-ops/register-ops.d.ts +28 -0
  158. package/src/lib/components/console/pos-ops/register-ops.js +28 -0
  159. package/src/lib/components/console/pos-ops/register-ops.js.map +1 -0
  160. package/src/lib/components/console/pos-ops/use-pos-cashier.d.ts +46 -0
  161. package/src/lib/components/console/pos-ops/use-pos-cashier.js +128 -0
  162. package/src/lib/components/console/pos-ops/use-pos-cashier.js.map +1 -0
  163. package/src/lib/components/console/pos-ops/use-pos-sale-receipt.d.ts +36 -0
  164. package/src/lib/components/console/pos-ops/use-pos-sale-receipt.js +64 -0
  165. package/src/lib/components/console/pos-ops/use-pos-sale-receipt.js.map +1 -0
  166. package/src/lib/components/console/pos-page.component.d.ts +13 -5
  167. package/src/lib/components/console/pos-page.component.js +756 -654
  168. package/src/lib/components/console/pos-page.component.js.map +1 -1
  169. package/src/lib/components/console/pos-zones.d.ts +23 -0
  170. package/src/lib/components/console/pos-zones.js +31 -0
  171. package/src/lib/components/console/pos-zones.js.map +1 -0
  172. package/src/lib/components/console/product-editor-dialog.component.js +61 -71
  173. package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
  174. package/src/lib/components/console/product-labels-dialog.component.d.ts +13 -0
  175. package/src/lib/components/console/product-labels-dialog.component.js +197 -0
  176. package/src/lib/components/console/product-labels-dialog.component.js.map +1 -0
  177. package/src/lib/components/console/product-register-fields.component.d.ts +19 -0
  178. package/src/lib/components/console/product-register-fields.component.js +241 -0
  179. package/src/lib/components/console/product-register-fields.component.js.map +1 -0
  180. package/src/lib/components/console/product-zones.d.ts +44 -0
  181. package/src/lib/components/console/product-zones.js.map +1 -1
  182. package/src/lib/components/console/products-hub-card.component.js +23 -20
  183. package/src/lib/components/console/products-hub-card.component.js.map +1 -1
  184. package/src/lib/components/console/register-hardware-card.component.d.ts +33 -0
  185. package/src/lib/components/console/register-hardware-card.component.js +826 -0
  186. package/src/lib/components/console/register-hardware-card.component.js.map +1 -0
  187. package/src/lib/components/console/registers-card.component.js +24 -5
  188. package/src/lib/components/console/registers-card.component.js.map +1 -1
  189. package/src/lib/components/console/return-actions.d.ts +38 -0
  190. package/src/lib/components/console/return-actions.js +76 -0
  191. package/src/lib/components/console/return-actions.js.map +1 -0
  192. package/src/lib/components/console/return-detail-dialog.component.d.ts +34 -0
  193. package/src/lib/components/console/return-detail-dialog.component.js +718 -0
  194. package/src/lib/components/console/return-detail-dialog.component.js.map +1 -0
  195. package/src/lib/components/console/return-settings-card.component.d.ts +34 -0
  196. package/src/lib/components/console/return-settings-card.component.js +195 -0
  197. package/src/lib/components/console/return-settings-card.component.js.map +1 -0
  198. package/src/lib/components/console/return-zones.d.ts +87 -0
  199. package/src/lib/components/console/return-zones.js +31 -0
  200. package/src/lib/components/console/return-zones.js.map +1 -0
  201. package/src/lib/components/console/returns-card.component.d.ts +45 -0
  202. package/src/lib/components/console/returns-card.component.js +159 -0
  203. package/src/lib/components/console/returns-card.component.js.map +1 -0
  204. package/src/lib/components/console/shipping-settings-card.component.js +161 -5
  205. package/src/lib/components/console/shipping-settings-card.component.js.map +1 -1
  206. package/src/lib/components/console/shippingeasy-card.component.d.ts +59 -0
  207. package/src/lib/components/console/shippingeasy-card.component.js +378 -0
  208. package/src/lib/components/console/shippingeasy-card.component.js.map +1 -0
  209. package/src/lib/components/console/shipstation-card.component.d.ts +35 -0
  210. package/src/lib/components/console/shipstation-card.component.js +345 -0
  211. package/src/lib/components/console/shipstation-card.component.js.map +1 -0
  212. package/src/lib/components/console/start-return-dialog.component.d.ts +40 -0
  213. package/src/lib/components/console/start-return-dialog.component.js +243 -0
  214. package/src/lib/components/console/start-return-dialog.component.js.map +1 -0
  215. package/src/lib/components/console/stock-movements-card.component.js +2 -1
  216. package/src/lib/components/console/stock-movements-card.component.js.map +1 -1
  217. package/src/lib/components/console/store-settings-card.component.js +2 -66
  218. package/src/lib/components/console/store-settings-card.component.js.map +1 -1
  219. package/src/lib/components/console/store-zones.d.ts +42 -0
  220. package/src/lib/components/console/store-zones.js +39 -0
  221. package/src/lib/components/console/store-zones.js.map +1 -0
  222. package/src/lib/components/console/storefront-tax-summary-card.component.js +1 -0
  223. package/src/lib/components/console/storefront-tax-summary-card.component.js.map +1 -1
  224. package/src/lib/components/order-status.d.ts +36 -0
  225. package/src/lib/components/order-status.js +502 -0
  226. package/src/lib/components/order-status.js.map +1 -0
  227. package/src/lib/components/product-detail.js +41 -2
  228. package/src/lib/components/product-detail.js.map +1 -1
  229. package/src/lib/components/return-request.d.ts +32 -0
  230. package/src/lib/components/return-request.js +576 -0
  231. package/src/lib/components/return-request.js.map +1 -0
  232. package/src/lib/components/storefront-payment-appearance.d.ts +32 -0
  233. package/src/lib/components/storefront-payment-appearance.js +114 -0
  234. package/src/lib/components/storefront-payment-appearance.js.map +1 -0
  235. package/src/lib/components/storefront-payment-element.d.ts +57 -1
  236. package/src/lib/components/storefront-payment-element.js +332 -33
  237. package/src/lib/components/storefront-payment-element.js.map +1 -1
  238. package/src/lib/constants/order-status.d.ts +22 -0
  239. package/src/lib/constants/order-status.js +22 -0
  240. package/src/lib/constants/order-status.js.map +1 -0
  241. package/src/lib/constants/return-request.d.ts +27 -0
  242. package/src/lib/constants/return-request.js +32 -0
  243. package/src/lib/constants/return-request.js.map +1 -0
  244. package/src/lib/constants/stock-movement-query.js +2 -1
  245. package/src/lib/constants/stock-movement-query.js.map +1 -1
  246. package/src/lib/declarations.console-server.js +9 -0
  247. package/src/lib/declarations.console-server.js.map +1 -1
  248. package/src/lib/declarations.server.d.ts +2 -1
  249. package/src/lib/declarations.server.js +68 -1
  250. package/src/lib/declarations.server.js.map +1 -1
  251. package/src/lib/model/buyer-notifications.d.ts +59 -0
  252. package/src/lib/model/buyer-notifications.js +97 -0
  253. package/src/lib/model/buyer-notifications.js.map +1 -0
  254. package/src/lib/model/commerce-orders.d.ts +171 -2
  255. package/src/lib/model/commerce-orders.js +26 -16
  256. package/src/lib/model/commerce-orders.js.map +1 -1
  257. package/src/lib/model/commerce-payment-methods.d.ts +146 -0
  258. package/src/lib/model/commerce-payment-methods.js +247 -0
  259. package/src/lib/model/commerce-payment-methods.js.map +1 -0
  260. package/src/lib/model/commerce-pos-ops.d.ts +437 -0
  261. package/src/lib/model/commerce-pos-ops.js +721 -0
  262. package/src/lib/model/commerce-pos-ops.js.map +1 -0
  263. package/src/lib/model/commerce-pos.d.ts +263 -0
  264. package/src/lib/model/commerce-pos.js +375 -0
  265. package/src/lib/model/commerce-pos.js.map +1 -0
  266. package/src/lib/model/commerce-printers.d.ts +211 -0
  267. package/src/lib/model/commerce-printers.js +181 -0
  268. package/src/lib/model/commerce-printers.js.map +1 -0
  269. package/src/lib/model/commerce-receipt.d.ts +97 -0
  270. package/src/lib/model/commerce-receipt.js +180 -0
  271. package/src/lib/model/commerce-receipt.js.map +1 -0
  272. package/src/lib/model/commerce-returns.d.ts +207 -0
  273. package/src/lib/model/commerce-returns.js +300 -0
  274. package/src/lib/model/commerce-returns.js.map +1 -0
  275. package/src/lib/model/commerce-shipping.d.ts +44 -1
  276. package/src/lib/model/commerce-shipping.js +53 -9
  277. package/src/lib/model/commerce-shipping.js.map +1 -1
  278. package/src/lib/model/commerce-tax-engine.d.ts +90 -0
  279. package/src/lib/model/commerce-tax-engine.js +129 -0
  280. package/src/lib/model/commerce-tax-engine.js.map +1 -0
  281. package/src/lib/model/commerce.d.ts +91 -2
  282. package/src/lib/model/commerce.js +89 -1
  283. package/src/lib/model/commerce.js.map +1 -1
  284. package/src/lib/model/index.d.ts +16 -0
  285. package/src/lib/model/index.js +16 -0
  286. package/src/lib/model/index.js.map +1 -1
  287. package/src/lib/model/order-events.d.ts +154 -0
  288. package/src/lib/model/order-events.js +153 -0
  289. package/src/lib/model/order-events.js.map +1 -0
  290. package/src/lib/model/order-fulfillment.d.ts +117 -0
  291. package/src/lib/model/order-fulfillment.js +217 -0
  292. package/src/lib/model/order-fulfillment.js.map +1 -0
  293. package/src/lib/model/order-history.d.ts +58 -0
  294. package/src/lib/model/order-history.js +22 -0
  295. package/src/lib/model/order-history.js.map +1 -0
  296. package/src/lib/model/order-list-fields.d.ts +9 -1
  297. package/src/lib/model/order-list-fields.js +7 -1
  298. package/src/lib/model/order-list-fields.js.map +1 -1
  299. package/src/lib/model/order-shipping-export.d.ts +91 -0
  300. package/src/lib/model/order-shipping-export.js +192 -0
  301. package/src/lib/model/order-shipping-export.js.map +1 -0
  302. package/src/lib/model/order-status-view.d.ts +103 -0
  303. package/src/lib/model/order-status-view.js +156 -0
  304. package/src/lib/model/order-status-view.js.map +1 -0
  305. package/src/lib/model/order-webhooks.d.ts +142 -0
  306. package/src/lib/model/order-webhooks.js +91 -0
  307. package/src/lib/model/order-webhooks.js.map +1 -0
  308. package/src/lib/model/product-channel.d.ts +56 -0
  309. package/src/lib/model/product-channel.js +86 -0
  310. package/src/lib/model/product-channel.js.map +1 -0
  311. package/src/lib/model/product-modifiers.d.ts +80 -0
  312. package/src/lib/model/product-modifiers.js +140 -0
  313. package/src/lib/model/product-modifiers.js.map +1 -0
  314. package/src/lib/model/product-write.d.ts +186 -0
  315. package/src/lib/model/product-write.js +116 -0
  316. package/src/lib/model/product-write.js.map +1 -0
  317. package/src/lib/model/shippingeasy.d.ts +94 -0
  318. package/src/lib/model/shippingeasy.js +267 -0
  319. package/src/lib/model/shippingeasy.js.map +1 -0
  320. package/src/lib/model/shipstation.d.ts +125 -0
  321. package/src/lib/model/shipstation.js +399 -0
  322. package/src/lib/model/shipstation.js.map +1 -0
  323. package/src/lib/model/smart-collection-reads.d.ts +32 -0
  324. package/src/lib/model/smart-collection-reads.js +63 -0
  325. package/src/lib/model/smart-collection-reads.js.map +1 -0
  326. package/src/lib/model/tracking-url.d.ts +74 -0
  327. package/src/lib/model/tracking-url.js +159 -0
  328. package/src/lib/model/tracking-url.js.map +1 -0
  329. package/src/lib/plugin-config.d.ts +13 -0
  330. package/src/lib/plugin-config.js +77 -5
  331. package/src/lib/plugin-config.js.map +1 -1
  332. package/src/lib/plugin.js +26 -0
  333. package/src/lib/plugin.js.map +1 -1
  334. package/src/lib/pos-ops-config.d.ts +39 -0
  335. package/src/lib/pos-ops-config.js +88 -0
  336. package/src/lib/pos-ops-config.js.map +1 -0
  337. package/src/lib/printing/print-document.d.ts +106 -0
  338. package/src/lib/printing/print-document.js +464 -0
  339. package/src/lib/printing/print-document.js.map +1 -0
  340. package/src/lib/printing/product-labels.d.ts +58 -0
  341. package/src/lib/printing/product-labels.js +116 -0
  342. package/src/lib/printing/product-labels.js.map +1 -0
  343. package/src/lib/printing/render-epson.d.ts +57 -0
  344. package/src/lib/printing/render-epson.js +135 -0
  345. package/src/lib/printing/render-epson.js.map +1 -0
  346. package/src/lib/printing/render-star.d.ts +45 -0
  347. package/src/lib/printing/render-star.js +100 -0
  348. package/src/lib/printing/render-star.js.map +1 -0
  349. package/src/lib/printing/render-text.d.ts +25 -0
  350. package/src/lib/printing/render-text.js +53 -0
  351. package/src/lib/printing/render-text.js.map +1 -0
  352. package/src/lib/server/api-v1/openapi.js +27 -4
  353. package/src/lib/server/api-v1/openapi.js.map +1 -1
  354. package/src/lib/server/api-v1/order-view.d.ts +67 -0
  355. package/src/lib/server/api-v1/order-view.js +120 -0
  356. package/src/lib/server/api-v1/order-view.js.map +1 -0
  357. package/src/lib/server/api-v1/orders-and-products.js +58 -65
  358. package/src/lib/server/api-v1/orders-and-products.js.map +1 -1
  359. package/src/lib/server/billing-webhook.js +135 -28
  360. package/src/lib/server/billing-webhook.js.map +1 -1
  361. package/src/lib/server/cancel-order.js +29 -0
  362. package/src/lib/server/cancel-order.js.map +1 -1
  363. package/src/lib/server/carrier-rates-availability.d.ts +26 -0
  364. package/src/lib/server/carrier-rates-availability.js +76 -0
  365. package/src/lib/server/carrier-rates-availability.js.map +1 -0
  366. package/src/lib/server/carrier-shipping.d.ts +84 -0
  367. package/src/lib/server/carrier-shipping.js +135 -0
  368. package/src/lib/server/carrier-shipping.js.map +1 -0
  369. package/src/lib/server/cart-checkout.d.ts +2 -0
  370. package/src/lib/server/cart-checkout.js +226 -22
  371. package/src/lib/server/cart-checkout.js.map +1 -1
  372. package/src/lib/server/channel-order-updates.d.ts +50 -0
  373. package/src/lib/server/channel-order-updates.js +290 -0
  374. package/src/lib/server/channel-order-updates.js.map +1 -0
  375. package/src/lib/server/channel-orders.d.ts +85 -0
  376. package/src/lib/server/channel-orders.js +543 -0
  377. package/src/lib/server/channel-orders.js.map +1 -0
  378. package/src/lib/server/checkout-extras.d.ts +64 -0
  379. package/src/lib/server/checkout-extras.js +157 -0
  380. package/src/lib/server/checkout-extras.js.map +1 -0
  381. package/src/lib/server/{feed.d.ts → checkout-status.d.ts} +2 -7
  382. package/src/lib/server/checkout-status.js +111 -0
  383. package/src/lib/server/checkout-status.js.map +1 -0
  384. package/src/lib/server/checkout.js +86 -9
  385. package/src/lib/server/checkout.js.map +1 -1
  386. package/src/lib/server/draft-order.js +34 -5
  387. package/src/lib/server/draft-order.js.map +1 -1
  388. package/src/lib/server/fulfill-order.d.ts +127 -10
  389. package/src/lib/server/fulfill-order.js +451 -49
  390. package/src/lib/server/fulfill-order.js.map +1 -1
  391. package/src/lib/server/legacy-feed.d.ts +28 -0
  392. package/src/lib/server/legacy-feed.js +52 -0
  393. package/src/lib/server/legacy-feed.js.map +1 -0
  394. package/src/lib/server/native-checkout.d.ts +34 -15
  395. package/src/lib/server/native-checkout.js +32 -17
  396. package/src/lib/server/native-checkout.js.map +1 -1
  397. package/src/lib/server/order-event-host-emit.d.ts +23 -0
  398. package/src/lib/server/order-event-host-emit.js +30 -0
  399. package/src/lib/server/order-event-host-emit.js.map +1 -0
  400. package/src/lib/server/order-event-triggers.d.ts +37 -0
  401. package/src/lib/server/order-event-triggers.js +119 -0
  402. package/src/lib/server/order-event-triggers.js.map +1 -0
  403. package/src/lib/server/order-events.d.ts +62 -0
  404. package/src/lib/server/order-events.js +109 -0
  405. package/src/lib/server/order-events.js.map +1 -0
  406. package/src/lib/server/order-history.d.ts +23 -0
  407. package/src/lib/server/order-history.js +65 -0
  408. package/src/lib/server/order-history.js.map +1 -0
  409. package/src/lib/server/order-notifications.d.ts +185 -0
  410. package/src/lib/server/order-notifications.js +567 -0
  411. package/src/lib/server/order-notifications.js.map +1 -0
  412. package/src/lib/server/order-receipt-send.d.ts +39 -0
  413. package/src/lib/server/order-receipt-send.js +151 -0
  414. package/src/lib/server/order-receipt-send.js.map +1 -0
  415. package/src/lib/server/order-status-token.d.ts +31 -0
  416. package/src/lib/server/order-status-token.js +75 -0
  417. package/src/lib/server/order-status-token.js.map +1 -0
  418. package/src/lib/server/order-status.d.ts +58 -0
  419. package/src/lib/server/order-status.js +141 -0
  420. package/src/lib/server/order-status.js.map +1 -0
  421. package/src/lib/server/order-webhooks.d.ts +108 -0
  422. package/src/lib/server/order-webhooks.js +622 -0
  423. package/src/lib/server/order-webhooks.js.map +1 -0
  424. package/src/lib/server/orders-shipping-prepare.d.ts +26 -0
  425. package/src/lib/server/orders-shipping-prepare.js +121 -0
  426. package/src/lib/server/orders-shipping-prepare.js.map +1 -0
  427. package/src/lib/server/payment-method-domains.d.ts +209 -0
  428. package/src/lib/server/payment-method-domains.js +444 -0
  429. package/src/lib/server/payment-method-domains.js.map +1 -0
  430. package/src/lib/server/payment-methods.d.ts +77 -0
  431. package/src/lib/server/payment-methods.js +284 -0
  432. package/src/lib/server/payment-methods.js.map +1 -0
  433. package/src/lib/server/pos-auth.d.ts +50 -0
  434. package/src/lib/server/pos-auth.js +121 -0
  435. package/src/lib/server/pos-auth.js.map +1 -0
  436. package/src/lib/server/pos-customer.d.ts +49 -0
  437. package/src/lib/server/pos-customer.js +257 -0
  438. package/src/lib/server/pos-customer.js.map +1 -0
  439. package/src/lib/server/pos-display.d.ts +57 -0
  440. package/src/lib/server/pos-display.js +419 -0
  441. package/src/lib/server/pos-display.js.map +1 -0
  442. package/src/lib/server/pos-fee-month.d.ts +34 -0
  443. package/src/lib/server/pos-fee-month.js +36 -0
  444. package/src/lib/server/pos-fee-month.js.map +1 -0
  445. package/src/lib/server/pos-ops-gate.d.ts +161 -0
  446. package/src/lib/server/pos-ops-gate.js +295 -0
  447. package/src/lib/server/pos-ops-gate.js.map +1 -0
  448. package/src/lib/server/pos-ops-routes.d.ts +22 -0
  449. package/src/lib/server/pos-ops-routes.js +36 -0
  450. package/src/lib/server/pos-ops-routes.js.map +1 -0
  451. package/src/lib/server/pos-order.d.ts +1 -18
  452. package/src/lib/server/pos-order.js +222 -42
  453. package/src/lib/server/pos-order.js.map +1 -1
  454. package/src/lib/server/pos-payment.d.ts +39 -0
  455. package/src/lib/server/pos-payment.js +922 -0
  456. package/src/lib/server/pos-payment.js.map +1 -0
  457. package/src/lib/server/pos-print.d.ts +82 -0
  458. package/src/lib/server/pos-print.js +193 -0
  459. package/src/lib/server/pos-print.js.map +1 -0
  460. package/src/lib/server/pos-readers.d.ts +27 -0
  461. package/src/lib/server/pos-readers.js +276 -0
  462. package/src/lib/server/pos-readers.js.map +1 -0
  463. package/src/lib/server/pos-refund-authority.d.ts +60 -0
  464. package/src/lib/server/pos-refund-authority.js +72 -0
  465. package/src/lib/server/pos-refund-authority.js.map +1 -0
  466. package/src/lib/server/pos-return.d.ts +58 -0
  467. package/src/lib/server/pos-return.js +891 -0
  468. package/src/lib/server/pos-return.js.map +1 -0
  469. package/src/lib/server/pos-sale-stamp.d.ts +66 -0
  470. package/src/lib/server/pos-sale-stamp.js +84 -0
  471. package/src/lib/server/pos-sale-stamp.js.map +1 -0
  472. package/src/lib/server/pos-sale.d.ts +170 -0
  473. package/src/lib/server/pos-sale.js +461 -0
  474. package/src/lib/server/pos-sale.js.map +1 -0
  475. package/src/lib/server/pos-shift.d.ts +45 -0
  476. package/src/lib/server/pos-shift.js +484 -0
  477. package/src/lib/server/pos-shift.js.map +1 -0
  478. package/src/lib/server/pos-staff-pin.d.ts +26 -0
  479. package/src/lib/server/pos-staff-pin.js +339 -0
  480. package/src/lib/server/pos-staff-pin.js.map +1 -0
  481. package/src/lib/server/pos-stripe.d.ts +91 -0
  482. package/src/lib/server/pos-stripe.js +129 -0
  483. package/src/lib/server/pos-stripe.js.map +1 -0
  484. package/src/lib/server/pos-terminal-connection-token.d.ts +48 -0
  485. package/src/lib/server/pos-terminal-connection-token.js +166 -0
  486. package/src/lib/server/pos-terminal-connection-token.js.map +1 -0
  487. package/src/lib/server/pos-terminal.d.ts +218 -0
  488. package/src/lib/server/pos-terminal.js +1014 -0
  489. package/src/lib/server/pos-terminal.js.map +1 -0
  490. package/src/lib/server/print-queue.d.ts +124 -0
  491. package/src/lib/server/print-queue.js +301 -0
  492. package/src/lib/server/print-queue.js.map +1 -0
  493. package/src/lib/server/printer-poll.d.ts +75 -0
  494. package/src/lib/server/printer-poll.js +325 -0
  495. package/src/lib/server/printer-poll.js.map +1 -0
  496. package/src/lib/server/printer-secret.d.ts +39 -0
  497. package/src/lib/server/printer-secret.js +56 -0
  498. package/src/lib/server/printer-secret.js.map +1 -0
  499. package/src/lib/server/printers.d.ts +114 -0
  500. package/src/lib/server/printers.js +546 -0
  501. package/src/lib/server/printers.js.map +1 -0
  502. package/src/lib/server/product-catalog.d.ts +42 -0
  503. package/src/lib/server/product-catalog.js +309 -0
  504. package/src/lib/server/product-catalog.js.map +1 -0
  505. package/src/lib/server/product-drafts.d.ts +5 -1
  506. package/src/lib/server/product-drafts.js +3 -3
  507. package/src/lib/server/product-drafts.js.map +1 -1
  508. package/src/lib/server/product-writer.d.ts +19 -0
  509. package/src/lib/server/product-writer.js +261 -0
  510. package/src/lib/server/product-writer.js.map +1 -0
  511. package/src/lib/server/products-write.d.ts +61 -0
  512. package/src/lib/server/products-write.js +375 -0
  513. package/src/lib/server/products-write.js.map +1 -0
  514. package/src/lib/server/refund.js +110 -45
  515. package/src/lib/server/refund.js.map +1 -1
  516. package/src/lib/server/reserve.js +2 -0
  517. package/src/lib/server/reserve.js.map +1 -1
  518. package/src/lib/server/return-status-action.d.ts +37 -0
  519. package/src/lib/server/return-status-action.js +57 -0
  520. package/src/lib/server/return-status-action.js.map +1 -0
  521. package/src/lib/server/returns.d.ts +119 -0
  522. package/src/lib/server/returns.js +938 -0
  523. package/src/lib/server/returns.js.map +1 -0
  524. package/src/lib/server/shipment-records.d.ts +36 -0
  525. package/src/lib/server/shipment-records.js +289 -0
  526. package/src/lib/server/shipment-records.js.map +1 -0
  527. package/src/lib/server/shipping-connector-gates.d.ts +40 -0
  528. package/src/lib/server/shipping-connector-gates.js +97 -0
  529. package/src/lib/server/shipping-connector-gates.js.map +1 -0
  530. package/src/lib/server/shipping-connectors.d.ts +29 -0
  531. package/src/lib/server/shipping-connectors.js +236 -0
  532. package/src/lib/server/shipping-connectors.js.map +1 -0
  533. package/src/lib/server/shippingeasy.d.ts +238 -0
  534. package/src/lib/server/shippingeasy.js +787 -0
  535. package/src/lib/server/shippingeasy.js.map +1 -0
  536. package/src/lib/server/shipstation.d.ts +129 -0
  537. package/src/lib/server/shipstation.js +483 -0
  538. package/src/lib/server/shipstation.js.map +1 -0
  539. package/src/lib/server/site-page-resolver.d.ts +5 -0
  540. package/src/lib/server/site-page-resolver.js +156 -1
  541. package/src/lib/server/site-page-resolver.js.map +1 -1
  542. package/src/lib/server/stock-levels.d.ts +21 -0
  543. package/src/lib/server/stock-levels.js +263 -0
  544. package/src/lib/server/stock-levels.js.map +1 -0
  545. package/src/lib/server/stripe-refund.d.ts +47 -0
  546. package/src/lib/server/stripe-refund.js +87 -0
  547. package/src/lib/server/stripe-refund.js.map +1 -0
  548. package/src/lib/server/supplier-update.js +46 -5
  549. package/src/lib/server/supplier-update.js.map +1 -1
  550. package/src/lib/server/tax-engine-quote.d.ts +47 -0
  551. package/src/lib/server/tax-engine-quote.js +105 -0
  552. package/src/lib/server/tax-engine-quote.js.map +1 -0
  553. package/src/lib/server.js +143 -2
  554. package/src/lib/server.js.map +1 -1
  555. package/src/lib/site.js +12 -0
  556. package/src/lib/site.js.map +1 -1
  557. package/src/lib/subprocessors.d.ts +26 -0
  558. package/src/lib/subprocessors.js +50 -0
  559. package/src/lib/subprocessors.js.map +1 -0
  560. package/src/lib/tenant-emails.js +461 -3
  561. package/src/lib/tenant-emails.js.map +1 -1
  562. package/src/lib/testing/fake-firestore.d.ts +45 -0
  563. package/src/lib/testing/fake-firestore.js +189 -0
  564. package/src/lib/testing/fake-firestore.js.map +1 -0
  565. package/src/lib/testing/memory-firestore.d.ts +136 -0
  566. package/src/lib/testing/memory-firestore.js +282 -0
  567. package/src/lib/testing/memory-firestore.js.map +1 -0
  568. package/src/lib/testing/pos-ops-harness.d.ts +50 -0
  569. package/src/lib/testing/pos-ops-harness.js +184 -0
  570. package/src/lib/testing/pos-ops-harness.js.map +1 -0
  571. package/src/lib/testing/pos-ops-memory-firestore.d.ts +55 -0
  572. package/src/lib/testing/pos-ops-memory-firestore.js +376 -0
  573. package/src/lib/testing/pos-ops-memory-firestore.js.map +1 -0
  574. package/src/lib/transfer/products.server.d.ts +5 -0
  575. package/src/lib/transfer/products.server.js +2 -2
  576. package/src/lib/transfer/products.server.js.map +1 -1
  577. package/src/lib/transfer/records-transfer.d.ts +11 -1
  578. package/src/lib/transfer/records-transfer.js +127 -5
  579. package/src/lib/transfer/records-transfer.js.map +1 -1
  580. package/src/lib/transfer/records.server.d.ts +9 -2
  581. package/src/lib/transfer/records.server.js +58 -7
  582. package/src/lib/transfer/records.server.js.map +1 -1
  583. package/src/lib/transfer/register-transfer-resources.js +40 -1
  584. package/src/lib/transfer/register-transfer-resources.js.map +1 -1
  585. package/src/lib/transfer/register-transfer-ui.js +4 -1
  586. package/src/lib/transfer/register-transfer-ui.js.map +1 -1
  587. package/src/lib/transfer/shipping-presets.d.ts +23 -0
  588. package/src/lib/transfer/shipping-presets.js +156 -0
  589. package/src/lib/transfer/shipping-presets.js.map +1 -0
  590. package/src/lib/transfer/tracking-transfer.d.ts +101 -0
  591. package/src/lib/transfer/tracking-transfer.js +546 -0
  592. package/src/lib/transfer/tracking-transfer.js.map +1 -0
  593. package/src/lib/transfer/tracking.server.d.ts +37 -0
  594. package/src/lib/transfer/tracking.server.js +393 -0
  595. package/src/lib/transfer/tracking.server.js.map +1 -0
  596. package/src/lib/transfer/transfer-keys.d.ts +2 -1
  597. package/src/lib/transfer/transfer-keys.js +6 -2
  598. package/src/lib/transfer/transfer-keys.js.map +1 -1
  599. package/src/lib/utils/code128.d.ts +37 -0
  600. package/src/lib/utils/code128.js +199 -0
  601. package/src/lib/utils/code128.js.map +1 -0
  602. package/src/lib/utils/order-invoice.d.ts +55 -0
  603. package/src/lib/utils/order-invoice.js +127 -0
  604. package/src/lib/utils/order-invoice.js.map +1 -0
  605. package/src/lib/utils/use-checkout-return-notice.d.ts +34 -0
  606. package/src/lib/utils/use-checkout-return-notice.js +78 -0
  607. package/src/lib/utils/use-checkout-return-notice.js.map +1 -0
  608. package/src/lib/server/feed.js +0 -69
  609. package/src/lib/server/feed.js.map +0 -1
@@ -0,0 +1,376 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */ /*==========================================
17
+ * AN IN-MEMORY ADMIN FIRESTORE, for the register operations' specs
18
+ * (AGL-3609) — the CRM's transfer double (AGL-3527), kept beside the
19
+ * commerce specs because one plugin's testing helpers are not another's
20
+ * to import.
21
+ *
22
+ * Documents by path; the operators the CRM's transfer hooks and the job
23
+ * engine issue — `where` (equality, ranges, `in`, the array operators),
24
+ * `orderBy` (a field or the document id), `limit`, `startAfter`, `count`,
25
+ * `getAll`, batches and read-then-write transactions — and the write
26
+ * sentinels (`delete`, `serverTimestamp`, `arrayUnion`, `arrayRemove`,
27
+ * `increment`) applied along dotted paths, as Firestore applies them.
28
+ *
29
+ * A spec mocks `firebase-admin/firestore` with {@link memoryFirestoreModule}
30
+ * so the code under test builds its sentinels from the same table.
31
+ *=========================================*/ import { _ as _extends } from "@swc/helpers/_/_extends";
32
+ const DOCUMENT_ID = {
33
+ __documentId: true
34
+ };
35
+ /** What a spec hands `jest.mock('firebase-admin/firestore', …)`. */ export const memoryFirestoreModule = {
36
+ __esModule: true,
37
+ FieldValue: {
38
+ delete: ()=>({
39
+ __sentinel: 'delete'
40
+ }),
41
+ serverTimestamp: ()=>({
42
+ __sentinel: 'serverTimestamp'
43
+ }),
44
+ arrayUnion: (...values)=>({
45
+ __sentinel: 'arrayUnion',
46
+ values
47
+ }),
48
+ arrayRemove: (...values)=>({
49
+ __sentinel: 'arrayRemove',
50
+ values
51
+ }),
52
+ increment: (by)=>({
53
+ __sentinel: 'increment',
54
+ by
55
+ })
56
+ },
57
+ FieldPath: {
58
+ documentId: ()=>DOCUMENT_ID
59
+ },
60
+ Timestamp: {
61
+ fromDate: (date)=>date.getTime()
62
+ }
63
+ };
64
+ const isSentinel = (value)=>Boolean(value && typeof value === 'object' && '__sentinel' in value);
65
+ const copy = (value)=>value === undefined ? value : JSON.parse(JSON.stringify(value));
66
+ function readPath(data, path) {
67
+ return path.split('.').reduce((node, key)=>node == null ? void 0 : node[key], data);
68
+ }
69
+ /** A fresh in-memory Firestore. */ export function memoryFirestore(clock = ()=>1800000000000) {
70
+ const docs = new Map();
71
+ /** A write counter per path, for the transaction's concurrency check. */ const versions = new Map();
72
+ const bump = (path)=>{
73
+ var _versions_get;
74
+ return versions.set(path, ((_versions_get = versions.get(path)) != null ? _versions_get : 0) + 1);
75
+ };
76
+ const resolve = (value, current)=>{
77
+ if (!isSentinel(value)) return Array.isArray(value) || value && typeof value === 'object' ? copy(value) : value;
78
+ switch(value.__sentinel){
79
+ case 'serverTimestamp':
80
+ return clock();
81
+ case 'arrayUnion':
82
+ var _value_values;
83
+ return [
84
+ ...new Set([
85
+ ...Array.isArray(current) ? current : [],
86
+ ...(_value_values = value.values) != null ? _value_values : []
87
+ ])
88
+ ];
89
+ case 'arrayRemove':
90
+ return (Array.isArray(current) ? current : []).filter((entry)=>{
91
+ var _value_values;
92
+ return !((_value_values = value.values) != null ? _value_values : []).includes(entry);
93
+ });
94
+ case 'increment':
95
+ var _value_by;
96
+ return Number(current != null ? current : 0) + Number((_value_by = value.by) != null ? _value_by : 0);
97
+ default:
98
+ return undefined;
99
+ }
100
+ };
101
+ /** Writes `value` at a dotted path, a `delete` sentinel removing the leaf. */ const writePath = (target, path, value)=>{
102
+ const keys = path.split('.');
103
+ let node = target;
104
+ for (const key of keys.slice(0, -1)){
105
+ if (!node[key] || typeof node[key] !== 'object') node[key] = {};
106
+ node = node[key];
107
+ }
108
+ const leaf = keys[keys.length - 1];
109
+ if (isSentinel(value) && value.__sentinel === 'delete') delete node[leaf];
110
+ else node[leaf] = resolve(value, node[leaf]);
111
+ };
112
+ /** Every top-level key of `data` with sentinels resolved (a `set`). */ const settle = (data, base = {})=>{
113
+ const next = copy(base);
114
+ for (const [key, value] of Object.entries(data)){
115
+ if (value === undefined) continue;
116
+ if (isSentinel(value)) writePath(next, key, value);
117
+ else if (value && typeof value === 'object' && !Array.isArray(value) && base[key] && typeof base[key] === 'object') {
118
+ next[key] = settle(value, base[key]);
119
+ } else next[key] = resolve(value, next[key]);
120
+ }
121
+ return next;
122
+ };
123
+ const snapshot = (path)=>{
124
+ const data = docs.get(path);
125
+ return {
126
+ id: path.slice(path.lastIndexOf('/') + 1),
127
+ ref: docRef(path),
128
+ exists: data !== undefined,
129
+ data: ()=>copy(data),
130
+ get: (field)=>copy(readPath(data, field))
131
+ };
132
+ };
133
+ const docRef = (path)=>({
134
+ id: path.slice(path.lastIndexOf('/') + 1),
135
+ path,
136
+ get firestore () {
137
+ return firestore;
138
+ },
139
+ get parent () {
140
+ return collectionRef(path.slice(0, path.lastIndexOf('/')));
141
+ },
142
+ collection: (name)=>collectionRef(`${path}/${name}`),
143
+ get: async ()=>snapshot(path),
144
+ set: async (data, options)=>{
145
+ var _docs_get;
146
+ docs.set(path, settle(data, (options == null ? void 0 : options.merge) ? (_docs_get = docs.get(path)) != null ? _docs_get : {} : {}));
147
+ bump(path);
148
+ },
149
+ create: async (data)=>{
150
+ if (docs.has(path)) throw Object.assign(new Error(`ALREADY_EXISTS: ${path}`), {
151
+ code: 6
152
+ });
153
+ docs.set(path, settle(data));
154
+ bump(path);
155
+ },
156
+ update: async (...args)=>{
157
+ const current = docs.get(path);
158
+ if (!current) throw Object.assign(new Error(`NOT_FOUND: ${path}`), {
159
+ code: 5
160
+ });
161
+ const patch = typeof args[0] === 'string' ? Object.fromEntries(Array.from({
162
+ length: args.length / 2
163
+ }, (_unused, at)=>[
164
+ String(args[at * 2]),
165
+ args[at * 2 + 1]
166
+ ])) : args[0];
167
+ const next = copy(current);
168
+ for (const [key, value] of Object.entries(patch))writePath(next, key, value);
169
+ docs.set(path, next);
170
+ bump(path);
171
+ },
172
+ delete: async ()=>{
173
+ docs.delete(path);
174
+ bump(path);
175
+ }
176
+ });
177
+ const fieldOf = (data, id, field)=>field === DOCUMENT_ID ? id : readPath(data, field);
178
+ const compare = (a, b)=>{
179
+ if (a === b) return 0;
180
+ if (a === undefined || a === null) return -1;
181
+ if (b === undefined || b === null) return 1;
182
+ return a < b ? -1 : 1;
183
+ };
184
+ const matches = (data, id, filter)=>{
185
+ const value = fieldOf(data, id, filter.field);
186
+ const wanted = filter.value;
187
+ switch(filter.op){
188
+ case '==':
189
+ return JSON.stringify(value) === JSON.stringify(wanted);
190
+ case '!=':
191
+ return value !== undefined && JSON.stringify(value) !== JSON.stringify(wanted);
192
+ case 'in':
193
+ return wanted.some((entry)=>JSON.stringify(entry) === JSON.stringify(value));
194
+ case 'not-in':
195
+ return value !== undefined && !wanted.some((entry)=>JSON.stringify(entry) === JSON.stringify(value));
196
+ case 'array-contains':
197
+ return Array.isArray(value) && value.includes(wanted);
198
+ case 'array-contains-any':
199
+ return Array.isArray(value) && value.some((entry)=>wanted.includes(entry));
200
+ case '<':
201
+ return value !== undefined && compare(value, wanted) < 0;
202
+ case '<=':
203
+ return value !== undefined && compare(value, wanted) <= 0;
204
+ case '>':
205
+ return value !== undefined && compare(value, wanted) > 0;
206
+ case '>=':
207
+ return value !== undefined && compare(value, wanted) >= 0;
208
+ default:
209
+ throw new Error(`memory firestore: no operator ${filter.op}`);
210
+ }
211
+ };
212
+ const run = (state)=>{
213
+ const prefix = `${state.path}/`;
214
+ let found = [
215
+ ...docs.entries()
216
+ ].filter(([path])=>path.startsWith(prefix) && !path.slice(prefix.length).includes('/')).map(([path, data])=>({
217
+ path,
218
+ id: path.slice(prefix.length),
219
+ data
220
+ })).filter((entry)=>state.filters.every((filter)=>matches(entry.data, entry.id, filter)));
221
+ const order = state.order.length ? state.order : [
222
+ {
223
+ field: DOCUMENT_ID,
224
+ direction: 'asc'
225
+ }
226
+ ];
227
+ for (const { field } of order){
228
+ if (field !== DOCUMENT_ID) found = found.filter((entry)=>readPath(entry.data, field) !== undefined);
229
+ }
230
+ found.sort((a, b)=>{
231
+ for (const { field, direction } of [
232
+ ...order,
233
+ {
234
+ field: DOCUMENT_ID,
235
+ direction: 'asc'
236
+ }
237
+ ]){
238
+ const result = compare(fieldOf(a.data, a.id, field), fieldOf(b.data, b.id, field));
239
+ if (result) return direction === 'desc' ? -result : result;
240
+ }
241
+ return 0;
242
+ });
243
+ if (state.after) {
244
+ const at = found.findIndex((entry)=>entry.id === state.after.id);
245
+ found = at >= 0 ? found.slice(at + 1) : found;
246
+ }
247
+ if (state.limit !== undefined) found = found.slice(0, state.limit);
248
+ return found.map((entry)=>snapshot(entry.path));
249
+ };
250
+ const query = (state)=>({
251
+ where: (field, op, value)=>query(_extends({}, state, {
252
+ filters: [
253
+ ...state.filters,
254
+ {
255
+ field,
256
+ op,
257
+ value
258
+ }
259
+ ]
260
+ })),
261
+ orderBy: (field, direction = 'asc')=>query(_extends({}, state, {
262
+ order: [
263
+ ...state.order,
264
+ {
265
+ field,
266
+ direction
267
+ }
268
+ ]
269
+ })),
270
+ limit: (count)=>query(_extends({}, state, {
271
+ limit: count
272
+ })),
273
+ startAfter: (after)=>query(_extends({}, state, {
274
+ after
275
+ })),
276
+ get: async ()=>{
277
+ const found = run(state);
278
+ return {
279
+ docs: found,
280
+ empty: !found.length,
281
+ size: found.length
282
+ };
283
+ },
284
+ count: ()=>({
285
+ get: async ()=>({
286
+ data: ()=>({
287
+ count: run(_extends({}, state, {
288
+ limit: undefined
289
+ })).length
290
+ })
291
+ })
292
+ })
293
+ });
294
+ const collectionRef = (path)=>_extends({
295
+ id: path.slice(path.lastIndexOf('/') + 1),
296
+ path,
297
+ get parent () {
298
+ const at = path.lastIndexOf('/');
299
+ return at > 0 ? docRef(path.slice(0, at)) : null;
300
+ },
301
+ doc: (id)=>docRef(`${path}/${id != null ? id : `auto${Math.random().toString(36).slice(2, 12)}`}`)
302
+ }, query({
303
+ path,
304
+ filters: [],
305
+ order: []
306
+ }));
307
+ const firestore = {
308
+ collection: (name)=>collectionRef(name),
309
+ getAll: async (...refs)=>refs.map((ref)=>snapshot(ref.path)),
310
+ batch: ()=>{
311
+ const staged = [];
312
+ const batch = {
313
+ set: (ref, data, options)=>(staged.push(()=>ref.set(data, options)), batch),
314
+ create: (ref, data)=>(staged.push(()=>ref.create(data)), batch),
315
+ update: (ref, ...args)=>(staged.push(()=>ref.update(...args)), batch),
316
+ delete: (ref)=>(staged.push(()=>ref.delete()), batch),
317
+ commit: async ()=>{
318
+ for (const write of staged)await write();
319
+ }
320
+ };
321
+ return batch;
322
+ },
323
+ /**
324
+ * Read-then-write with OPTIMISTIC CONCURRENCY, as the server SDK commits
325
+ * one: every document the body read is versioned, and a commit that finds
326
+ * one of them written since is thrown away and the body run again. Two
327
+ * transactions racing on one document therefore end the way they do in
328
+ * Firestore — the second re-reads the first one's write — which is the
329
+ * property a one-open-shift or a lockout counter rests on.
330
+ */ runTransaction: async (body)=>{
331
+ for(let attempt = 0; attempt < 10; attempt += 1){
332
+ const staged = [];
333
+ const seen = new Map();
334
+ const transaction = {
335
+ get: async (target)=>{
336
+ const result = await target.get();
337
+ if (typeof target.path === 'string' && !('docs' in result)) {
338
+ var _versions_get;
339
+ seen.set(target.path, (_versions_get = versions.get(target.path)) != null ? _versions_get : 0);
340
+ } else if (result == null ? void 0 : result.docs) {
341
+ var _versions_get1;
342
+ for (const doc of result.docs)seen.set(doc.ref.path, (_versions_get1 = versions.get(doc.ref.path)) != null ? _versions_get1 : 0);
343
+ }
344
+ return result;
345
+ },
346
+ set: (ref, data, options)=>(staged.push(()=>ref.set(data, options)), transaction),
347
+ create: (ref, data)=>(staged.push(()=>ref.create(data)), transaction),
348
+ update: (ref, ...args)=>(staged.push(()=>ref.update(...args)), transaction),
349
+ delete: (ref)=>(staged.push(()=>ref.delete()), transaction)
350
+ };
351
+ const result = await body(transaction);
352
+ const stale = [
353
+ ...seen
354
+ ].some(([path, version])=>{
355
+ var _versions_get;
356
+ return ((_versions_get = versions.get(path)) != null ? _versions_get : 0) !== version;
357
+ });
358
+ if (stale) continue;
359
+ // Every write starts before any is awaited, so the commit is atomic
360
+ // against another transaction checking its own reads.
361
+ await Promise.all(staged.map((write)=>write()));
362
+ return result;
363
+ }
364
+ throw new Error('memory firestore: transaction contended too many times');
365
+ }
366
+ };
367
+ return {
368
+ docs,
369
+ now: clock,
370
+ firestore: firestore,
371
+ seed: (path, data)=>docs.set(path, copy(data)),
372
+ read: (path)=>copy(docs.get(path))
373
+ };
374
+ }
375
+
376
+ //# sourceMappingURL=pos-ops-memory-firestore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../libs/plugins/commerce/src/lib/testing/pos-ops-memory-firestore.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*==========================================\n * AN IN-MEMORY ADMIN FIRESTORE, for the register operations' specs\n * (AGL-3609) — the CRM's transfer double (AGL-3527), kept beside the\n * commerce specs because one plugin's testing helpers are not another's\n * to import.\n *\n * Documents by path; the operators the CRM's transfer hooks and the job\n * engine issue — `where` (equality, ranges, `in`, the array operators),\n * `orderBy` (a field or the document id), `limit`, `startAfter`, `count`,\n * `getAll`, batches and read-then-write transactions — and the write\n * sentinels (`delete`, `serverTimestamp`, `arrayUnion`, `arrayRemove`,\n * `increment`) applied along dotted paths, as Firestore applies them.\n *\n * A spec mocks `firebase-admin/firestore` with {@link memoryFirestoreModule}\n * so the code under test builds its sentinels from the same table.\n *=========================================*/\n\ntype Data = Record<string, unknown>\n\ninterface Sentinel {\n __sentinel: 'delete' | 'serverTimestamp' | 'arrayUnion' | 'arrayRemove' | 'increment'\n values?: unknown[]\n by?: number\n}\n\nconst DOCUMENT_ID = { __documentId: true }\n\n/** What a spec hands `jest.mock('firebase-admin/firestore', …)`. */\nexport const memoryFirestoreModule = {\n __esModule: true,\n FieldValue: {\n delete: (): Sentinel => ({ __sentinel: 'delete' }),\n serverTimestamp: (): Sentinel => ({ __sentinel: 'serverTimestamp' }),\n arrayUnion: (...values: unknown[]): Sentinel => ({ __sentinel: 'arrayUnion', values }),\n arrayRemove: (...values: unknown[]): Sentinel => ({ __sentinel: 'arrayRemove', values }),\n increment: (by: number): Sentinel => ({ __sentinel: 'increment', by }),\n },\n FieldPath: { documentId: () => DOCUMENT_ID },\n Timestamp: { fromDate: (date: Date) => date.getTime() },\n}\n\nconst isSentinel = (value: unknown): value is Sentinel =>\n Boolean(value && typeof value === 'object' && '__sentinel' in (value as object))\n\nconst copy = <T>(value: T): T => (value === undefined ? value : (JSON.parse(JSON.stringify(value)) as T))\n\nfunction readPath(data: Data | undefined, path: string): unknown {\n return path.split('.').reduce<unknown>((node, key) => (node as Data | undefined)?.[key], data)\n}\n\nexport interface MemoryFirestore {\n /** Every document, by full path. */\n docs: Map<string, Data>\n /** The clock `serverTimestamp` writes. */\n now: () => number\n firestore: FirebaseFirestore.Firestore\n /** Seeds one document at its full path. */\n seed: (path: string, data: Data) => void\n /** A document's data, or `undefined`. */\n read: (path: string) => Data | undefined\n}\n\n/** A fresh in-memory Firestore. */\nexport function memoryFirestore(clock: () => number = () => 1_800_000_000_000): MemoryFirestore {\n const docs = new Map<string, Data>()\n /** A write counter per path, for the transaction's concurrency check. */\n const versions = new Map<string, number>()\n const bump = (path: string) => versions.set(path, (versions.get(path) ?? 0) + 1)\n\n const resolve = (value: unknown, current: unknown): unknown => {\n if (!isSentinel(value)) return Array.isArray(value) || (value && typeof value === 'object') ? copy(value) : value\n switch (value.__sentinel) {\n case 'serverTimestamp':\n return clock()\n case 'arrayUnion':\n return [...new Set([...(Array.isArray(current) ? current : []), ...(value.values ?? [])])]\n case 'arrayRemove':\n return (Array.isArray(current) ? current : []).filter((entry) => !(value.values ?? []).includes(entry))\n case 'increment':\n return Number(current ?? 0) + Number(value.by ?? 0)\n default:\n return undefined\n }\n }\n\n /** Writes `value` at a dotted path, a `delete` sentinel removing the leaf. */\n const writePath = (target: Data, path: string, value: unknown): void => {\n const keys = path.split('.')\n let node = target\n for (const key of keys.slice(0, -1)) {\n if (!node[key] || typeof node[key] !== 'object') node[key] = {}\n node = node[key] as Data\n }\n const leaf = keys[keys.length - 1] as string\n if (isSentinel(value) && value.__sentinel === 'delete') delete node[leaf]\n else node[leaf] = resolve(value, node[leaf])\n }\n\n /** Every top-level key of `data` with sentinels resolved (a `set`). */\n const settle = (data: Data, base: Data = {}): Data => {\n const next = copy(base)\n for (const [key, value] of Object.entries(data)) {\n if (value === undefined) continue\n if (isSentinel(value)) writePath(next, key, value)\n else if (value && typeof value === 'object' && !Array.isArray(value) && base[key] && typeof base[key] === 'object') {\n next[key] = settle(value as Data, base[key] as Data)\n } else next[key] = resolve(value, next[key])\n }\n return next\n }\n\n const snapshot = (path: string): any => {\n const data = docs.get(path)\n return {\n id: path.slice(path.lastIndexOf('/') + 1),\n ref: docRef(path),\n exists: data !== undefined,\n data: () => copy(data),\n get: (field: string) => copy(readPath(data, field)),\n }\n }\n\n const docRef = (path: string): any => ({\n id: path.slice(path.lastIndexOf('/') + 1),\n path,\n get firestore() {\n return firestore\n },\n get parent() {\n return collectionRef(path.slice(0, path.lastIndexOf('/')))\n },\n collection: (name: string) => collectionRef(`${path}/${name}`),\n get: async () => snapshot(path),\n set: async (data: Data, options?: { merge?: boolean }) => {\n docs.set(path, settle(data, options?.merge ? (docs.get(path) ?? {}) : {}))\n bump(path)\n },\n create: async (data: Data) => {\n if (docs.has(path)) throw Object.assign(new Error(`ALREADY_EXISTS: ${path}`), { code: 6 })\n docs.set(path, settle(data))\n bump(path)\n },\n update: async (...args: unknown[]) => {\n const current = docs.get(path)\n if (!current) throw Object.assign(new Error(`NOT_FOUND: ${path}`), { code: 5 })\n const patch: Data =\n typeof args[0] === 'string'\n ? Object.fromEntries(\n Array.from({ length: args.length / 2 }, (_unused, at) => [String(args[at * 2]), args[at * 2 + 1]]),\n )\n : (args[0] as Data)\n const next = copy(current)\n for (const [key, value] of Object.entries(patch)) writePath(next, key, value)\n docs.set(path, next)\n bump(path)\n },\n delete: async () => {\n docs.delete(path)\n bump(path)\n },\n })\n\n interface QueryState {\n path: string\n filters: Array<{ field: string | typeof DOCUMENT_ID; op: string; value: unknown }>\n order: Array<{ field: string | typeof DOCUMENT_ID; direction: 'asc' | 'desc' }>\n limit?: number\n after?: any\n }\n\n const fieldOf = (data: Data | undefined, id: string, field: string | typeof DOCUMENT_ID) =>\n field === DOCUMENT_ID ? id : readPath(data, field as string)\n\n const compare = (a: unknown, b: unknown): number => {\n if (a === b) return 0\n if (a === undefined || a === null) return -1\n if (b === undefined || b === null) return 1\n return (a as number) < (b as number) ? -1 : 1\n }\n\n const matches = (data: Data, id: string, filter: QueryState['filters'][number]): boolean => {\n const value = fieldOf(data, id, filter.field)\n const wanted = filter.value\n switch (filter.op) {\n case '==':\n return JSON.stringify(value) === JSON.stringify(wanted)\n case '!=':\n return value !== undefined && JSON.stringify(value) !== JSON.stringify(wanted)\n case 'in':\n return (wanted as unknown[]).some((entry) => JSON.stringify(entry) === JSON.stringify(value))\n case 'not-in':\n return value !== undefined && !(wanted as unknown[]).some((entry) => JSON.stringify(entry) === JSON.stringify(value))\n case 'array-contains':\n return Array.isArray(value) && value.includes(wanted)\n case 'array-contains-any':\n return Array.isArray(value) && value.some((entry) => (wanted as unknown[]).includes(entry))\n case '<':\n return value !== undefined && compare(value, wanted) < 0\n case '<=':\n return value !== undefined && compare(value, wanted) <= 0\n case '>':\n return value !== undefined && compare(value, wanted) > 0\n case '>=':\n return value !== undefined && compare(value, wanted) >= 0\n default:\n throw new Error(`memory firestore: no operator ${filter.op}`)\n }\n }\n\n const run = (state: QueryState): any[] => {\n const prefix = `${state.path}/`\n let found = [...docs.entries()]\n .filter(([path]) => path.startsWith(prefix) && !path.slice(prefix.length).includes('/'))\n .map(([path, data]) => ({ path, id: path.slice(prefix.length), data }))\n .filter((entry) => state.filters.every((filter) => matches(entry.data, entry.id, filter)))\n const order = state.order.length ? state.order : [{ field: DOCUMENT_ID, direction: 'asc' as const }]\n for (const { field } of order) {\n if (field !== DOCUMENT_ID) found = found.filter((entry) => readPath(entry.data, field as string) !== undefined)\n }\n found.sort((a, b) => {\n for (const { field, direction } of [...order, { field: DOCUMENT_ID, direction: 'asc' as const }]) {\n const result = compare(fieldOf(a.data, a.id, field), fieldOf(b.data, b.id, field))\n if (result) return direction === 'desc' ? -result : result\n }\n return 0\n })\n if (state.after) {\n const at = found.findIndex((entry) => entry.id === state.after.id)\n found = at >= 0 ? found.slice(at + 1) : found\n }\n if (state.limit !== undefined) found = found.slice(0, state.limit)\n return found.map((entry) => snapshot(entry.path))\n }\n\n const query = (state: QueryState): any => ({\n where: (field: string | typeof DOCUMENT_ID, op: string, value: unknown) =>\n query({ ...state, filters: [...state.filters, { field, op, value }] }),\n orderBy: (field: string | typeof DOCUMENT_ID, direction: 'asc' | 'desc' = 'asc') =>\n query({ ...state, order: [...state.order, { field, direction }] }),\n limit: (count: number) => query({ ...state, limit: count }),\n startAfter: (after: any) => query({ ...state, after }),\n get: async () => {\n const found = run(state)\n return { docs: found, empty: !found.length, size: found.length }\n },\n count: () => ({\n get: async () => ({ data: () => ({ count: run({ ...state, limit: undefined }).length }) }),\n }),\n })\n\n const collectionRef = (path: string): any => ({\n id: path.slice(path.lastIndexOf('/') + 1),\n path,\n get parent() {\n const at = path.lastIndexOf('/')\n return at > 0 ? docRef(path.slice(0, at)) : null\n },\n doc: (id?: string) => docRef(`${path}/${id ?? `auto${Math.random().toString(36).slice(2, 12)}`}`),\n ...query({ path, filters: [], order: [] }),\n })\n\n const firestore = {\n collection: (name: string) => collectionRef(name),\n getAll: async (...refs: Array<{ path: string }>) => refs.map((ref) => snapshot(ref.path)),\n batch: () => {\n const staged: Array<() => Promise<void>> = []\n const batch = {\n set: (ref: any, data: Data, options?: { merge?: boolean }) => (staged.push(() => ref.set(data, options)), batch),\n create: (ref: any, data: Data) => (staged.push(() => ref.create(data)), batch),\n update: (ref: any, ...args: unknown[]) => (staged.push(() => ref.update(...args)), batch),\n delete: (ref: any) => (staged.push(() => ref.delete()), batch),\n commit: async () => {\n for (const write of staged) await write()\n },\n }\n return batch\n },\n /**\n * Read-then-write with OPTIMISTIC CONCURRENCY, as the server SDK commits\n * one: every document the body read is versioned, and a commit that finds\n * one of them written since is thrown away and the body run again. Two\n * transactions racing on one document therefore end the way they do in\n * Firestore — the second re-reads the first one's write — which is the\n * property a one-open-shift or a lockout counter rests on.\n */\n runTransaction: async <T>(body: (transaction: any) => Promise<T>): Promise<T> => {\n for (let attempt = 0; attempt < 10; attempt += 1) {\n const staged: Array<() => Promise<void>> = []\n const seen = new Map<string, number>()\n const transaction = {\n get: async (target: any) => {\n const result = await target.get()\n if (typeof target.path === 'string' && !('docs' in result)) {\n seen.set(target.path, versions.get(target.path) ?? 0)\n } else if (result?.docs) {\n for (const doc of result.docs) seen.set(doc.ref.path, versions.get(doc.ref.path) ?? 0)\n }\n return result\n },\n set: (ref: any, data: Data, options?: { merge?: boolean }) => (staged.push(() => ref.set(data, options)), transaction),\n create: (ref: any, data: Data) => (staged.push(() => ref.create(data)), transaction),\n update: (ref: any, ...args: unknown[]) => (staged.push(() => ref.update(...args)), transaction),\n delete: (ref: any) => (staged.push(() => ref.delete()), transaction),\n }\n const result = await body(transaction)\n const stale = [...seen].some(([path, version]) => (versions.get(path) ?? 0) !== version)\n if (stale) continue\n // Every write starts before any is awaited, so the commit is atomic\n // against another transaction checking its own reads.\n await Promise.all(staged.map((write) => write()))\n return result\n }\n throw new Error('memory firestore: transaction contended too many times')\n },\n }\n\n return {\n docs,\n now: clock,\n firestore: firestore as unknown as FirebaseFirestore.Firestore,\n seed: (path, data) => docs.set(path, copy(data)),\n read: (path) => copy(docs.get(path)),\n }\n}\n"],"names":["DOCUMENT_ID","__documentId","memoryFirestoreModule","__esModule","FieldValue","delete","__sentinel","serverTimestamp","arrayUnion","values","arrayRemove","increment","by","FieldPath","documentId","Timestamp","fromDate","date","getTime","isSentinel","value","Boolean","copy","undefined","JSON","parse","stringify","readPath","data","path","split","reduce","node","key","memoryFirestore","clock","docs","Map","versions","bump","set","get","resolve","current","Array","isArray","Set","filter","entry","includes","Number","writePath","target","keys","slice","leaf","length","settle","base","next","Object","entries","snapshot","id","lastIndexOf","ref","docRef","exists","field","firestore","parent","collectionRef","collection","name","options","merge","create","has","assign","Error","code","update","args","patch","fromEntries","from","_unused","at","String","fieldOf","compare","a","b","matches","wanted","op","some","run","state","prefix","found","startsWith","map","filters","every","order","direction","sort","result","after","findIndex","limit","query","where","orderBy","count","startAfter","empty","size","doc","Math","random","toString","getAll","refs","batch","staged","push","commit","write","runTransaction","body","attempt","seen","transaction","stale","version","Promise","all","now","seed","read"],"mappings":"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"}
@@ -17,8 +17,13 @@
17
17
  import { type BuildTransferPlanInput, type MatchLookupRequest, type TransferChunk, type TransferPlan, type TransferUndoSnapshot } from '@aglyn/aglyn/data-transfer';
18
18
  import type { PicklistValue } from '@aglyn/aglyn/app-utils/picklists';
19
19
  import type { TransferApplyResult, TransferApplyWriter, TransferLookupResult, TransferPicklistList, TransferReadOptions, TransferReadPage, TransferResourceContext, TransferRevertDecisions, TransferRevertResult } from '@aglyn/aglyn/plugin-manager/plugin-transfer-resources';
20
+ import { type HostProduct, type SmartCollectionRules } from '../model/commerce';
20
21
  import { type ProductPlannedRow } from './product-transfer';
21
22
  import { type Firestore } from './server-common';
23
+ /** The smart collections a product's write answers (AGL-3321). */
24
+ export declare function readSmartCollections(firestore: Firestore, ctx: TransferResourceContext): Promise<SmartCollectionRules[]>;
25
+ /** The keys every product write derives, from the product as it will stand. */
26
+ export declare function derivedKeys(product: HostProduct, smart: readonly SmartCollectionRules[]): Record<string, unknown>;
22
27
  /** The rows of one page of products. A product is as many rows as it has variants (or images). */
23
28
  export declare function readProductsPage(ctx: TransferResourceContext, cursor: string | null, fieldIds: readonly string[], options?: TransferReadOptions, firestore?: Firestore): Promise<TransferReadPage>;
24
29
  /** How many rows the export writes: every live product's variant (or image) rows. */
@@ -66,7 +66,7 @@ const isLive = (data)=>Boolean(data) && ((data == null ? void 0 : data['deletedA
66
66
  return ids;
67
67
  };
68
68
  }
69
- /** The smart collections a product's write answers (AGL-3321). */ async function readSmartCollections(firestore, ctx) {
69
+ /** The smart collections a product's write answers (AGL-3321). */ export async function readSmartCollections(firestore, ctx) {
70
70
  const snapshot = await hostRefOf(firestore, ctx).collection('collections').where('kind', '==', 'catalog').where('mode', '==', 'smart').get();
71
71
  return snapshot.docs.map((doc)=>{
72
72
  var _doc_get;
@@ -77,7 +77,7 @@ const isLive = (data)=>Boolean(data) && ((data == null ? void 0 : data['deletedA
77
77
  };
78
78
  });
79
79
  }
80
- /** The keys every product write derives, from the product as it will stand. */ function derivedKeys(product, smart) {
80
+ /** The keys every product write derives, from the product as it will stand. */ export function derivedKeys(product, smart) {
81
81
  var _ref, _ref1;
82
82
  var _product_variants_, _product_mediaUrls;
83
83
  return _extends({}, productSearchFields(product), productStockFields(product), {