@shopfront/bridge 2.0.0 → 2.0.2

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 (244) hide show
  1. package/.idea/codeStyles/Project.xml +10 -0
  2. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  3. package/.idea/git_toolbox_blame.xml +6 -0
  4. package/.idea/git_toolbox_prj.xml +15 -0
  5. package/.idea/inspectionProfiles/Project_Default.xml +5 -0
  6. package/.idea/jsLinters/eslint.xml +6 -0
  7. package/.idea/modules.xml +1 -1
  8. package/.idea/php.xml +15 -0
  9. package/lib/APIs/Database/BaseDatabase.d.ts +28 -0
  10. package/lib/APIs/Database/BaseDatabase.js +5 -0
  11. package/lib/APIs/Database/Database.d.ts +19 -7
  12. package/lib/APIs/Database/Database.js +22 -12
  13. package/lib/APIs/Database/types/BaseBarcodeTemplateRepository.d.ts +8 -0
  14. package/lib/APIs/Database/types/BaseBarcodeTemplateRepository.js +1 -0
  15. package/lib/APIs/Database/types/BaseClassificationRepository.d.ts +11 -0
  16. package/lib/APIs/Database/types/BaseClassificationRepository.js +1 -0
  17. package/lib/APIs/Database/types/BaseCustomerDisplayRepository.d.ts +10 -0
  18. package/lib/APIs/Database/types/BaseCustomerDisplayRepository.js +1 -0
  19. package/lib/APIs/Database/types/BaseCustomerGroupRepository.d.ts +24 -0
  20. package/lib/APIs/Database/types/BaseCustomerGroupRepository.js +1 -0
  21. package/lib/APIs/Database/types/BaseCustomerRepository.d.ts +76 -0
  22. package/lib/APIs/Database/types/BaseCustomerRepository.js +1 -0
  23. package/lib/APIs/Database/types/BaseEnterpriseRepository.d.ts +8 -0
  24. package/lib/APIs/Database/types/BaseEnterpriseRepository.js +1 -0
  25. package/lib/APIs/Database/types/BaseGiftCardRepository.d.ts +18 -0
  26. package/lib/APIs/Database/types/BaseGiftCardRepository.js +1 -0
  27. package/lib/APIs/Database/types/BaseKitchenOrderRepository.d.ts +41 -0
  28. package/lib/APIs/Database/types/BaseKitchenOrderRepository.js +1 -0
  29. package/lib/APIs/Database/types/BaseKitchenScreenRepository.d.ts +16 -0
  30. package/lib/APIs/Database/types/BaseKitchenScreenRepository.js +1 -0
  31. package/lib/APIs/Database/types/BaseLockedResourceRepository.d.ts +12 -0
  32. package/lib/APIs/Database/types/BaseLockedResourceRepository.js +1 -0
  33. package/lib/APIs/Database/types/BaseLoyaltyRepository.d.ts +16 -0
  34. package/lib/APIs/Database/types/BaseLoyaltyRepository.js +1 -0
  35. package/lib/APIs/Database/types/BaseMovementRepository.d.ts +16 -0
  36. package/lib/APIs/Database/types/BaseMovementRepository.js +1 -0
  37. package/lib/APIs/Database/types/BaseOutletRepository.d.ts +19 -0
  38. package/lib/APIs/Database/types/BaseOutletRepository.js +1 -0
  39. package/lib/APIs/Database/types/BasePaymentMethodRepository.d.ts +27 -0
  40. package/lib/APIs/Database/types/BasePaymentMethodRepository.js +1 -0
  41. package/lib/APIs/Database/types/BasePriceListRepository.d.ts +40 -0
  42. package/lib/APIs/Database/types/BasePriceListRepository.js +1 -0
  43. package/lib/APIs/Database/types/BasePriceSetRepository.d.ts +6 -0
  44. package/lib/APIs/Database/types/BasePriceSetRepository.js +1 -0
  45. package/lib/APIs/Database/types/BaseProductRepository.d.ts +160 -0
  46. package/lib/APIs/Database/types/BaseProductRepository.js +1 -0
  47. package/lib/APIs/Database/types/BasePromotionCategoryRepository.d.ts +10 -0
  48. package/lib/APIs/Database/types/BasePromotionCategoryRepository.js +1 -0
  49. package/lib/APIs/Database/types/BasePromotionRepository.d.ts +72 -0
  50. package/lib/APIs/Database/types/BasePromotionRepository.js +1 -0
  51. package/lib/APIs/Database/types/BaseReceiptRepository.d.ts +31 -0
  52. package/lib/APIs/Database/types/BaseReceiptRepository.js +1 -0
  53. package/lib/APIs/Database/types/BaseRegisterRepository.d.ts +56 -0
  54. package/lib/APIs/Database/types/BaseRegisterRepository.js +1 -0
  55. package/lib/APIs/Database/types/BaseRepository.d.ts +41 -0
  56. package/lib/APIs/Database/types/BaseRepository.js +1 -0
  57. package/lib/APIs/Database/types/BaseSalesKeyRepository.d.ts +37 -0
  58. package/lib/APIs/Database/types/BaseSalesKeyRepository.js +1 -0
  59. package/lib/APIs/Database/types/BaseSalesRepository.d.ts +123 -0
  60. package/lib/APIs/Database/types/BaseSalesRepository.js +1 -0
  61. package/lib/APIs/Database/types/BaseSearchableRepository.d.ts +8 -0
  62. package/lib/APIs/Database/types/BaseSearchableRepository.js +1 -0
  63. package/lib/APIs/Database/types/BaseStocktakeAccumulatedRepository.d.ts +16 -0
  64. package/lib/APIs/Database/types/BaseStocktakeAccumulatedRepository.js +1 -0
  65. package/lib/APIs/Database/types/BaseStocktakeRepository.d.ts +8 -0
  66. package/lib/APIs/Database/types/BaseStocktakeRepository.js +1 -0
  67. package/lib/APIs/Database/types/BaseStocktakeScannedRepository.d.ts +24 -0
  68. package/lib/APIs/Database/types/BaseStocktakeScannedRepository.js +1 -0
  69. package/lib/APIs/Database/types/BaseSupplierRepository.d.ts +35 -0
  70. package/lib/APIs/Database/types/BaseSupplierRepository.js +1 -0
  71. package/lib/APIs/Database/types/BaseTakingsRepository.d.ts +13 -0
  72. package/lib/APIs/Database/types/BaseTakingsRepository.js +1 -0
  73. package/lib/APIs/Database/types/BaseTaxRateRepository.d.ts +9 -0
  74. package/lib/APIs/Database/types/BaseTaxRateRepository.js +1 -0
  75. package/lib/APIs/Database/types/BaseTransfereeRepository.d.ts +12 -0
  76. package/lib/APIs/Database/types/BaseTransfereeRepository.js +1 -0
  77. package/lib/APIs/Database/types/BaseVendorConnectionRepository.d.ts +7 -0
  78. package/lib/APIs/Database/types/BaseVendorConnectionRepository.js +1 -0
  79. package/lib/APIs/Database/types/DataSourceTables.d.ts +61 -0
  80. package/lib/APIs/Database/types/DataSourceTables.js +1 -0
  81. package/lib/APIs/Fulfilment/FulfilmentTypes.d.ts +2 -2
  82. package/lib/APIs/Fulfilment/FulfilmentTypes.js +1 -2
  83. package/lib/APIs/InternalMessages/InternalMessageSource.d.ts +6 -3
  84. package/lib/APIs/InternalMessages/InternalMessageSource.js +6 -7
  85. package/lib/APIs/Sale/BaseCurrentSale.d.ts +83 -0
  86. package/lib/APIs/Sale/BaseCurrentSale.js +13 -0
  87. package/lib/APIs/Sale/BaseSale.d.ts +3 -38
  88. package/lib/APIs/Sale/BaseSale.js +1 -40
  89. package/lib/APIs/Sale/CurrentSale.d.ts +19 -84
  90. package/lib/APIs/Sale/CurrentSale.js +32 -102
  91. package/lib/APIs/Sale/Exceptions.d.ts +3 -0
  92. package/lib/APIs/Sale/Exceptions.js +7 -7
  93. package/lib/APIs/Sale/Sale.d.ts +39 -7
  94. package/lib/APIs/Sale/Sale.js +41 -13
  95. package/lib/APIs/Sale/SaleCustomer.d.ts +0 -2
  96. package/lib/APIs/Sale/SaleCustomer.js +1 -7
  97. package/lib/APIs/Sale/SalePayment.d.ts +3 -22
  98. package/lib/APIs/Sale/SalePayment.js +7 -33
  99. package/lib/APIs/Sale/SaleProduct.d.ts +6 -46
  100. package/lib/APIs/Sale/SaleProduct.js +6 -53
  101. package/lib/APIs/Sale/ShopfrontSaleState.d.ts +7 -9
  102. package/lib/APIs/Sale/ShopfrontSaleState.js +1 -2
  103. package/lib/APIs/Sale/index.d.ts +9 -9
  104. package/lib/APIs/Sale/index.js +7 -39
  105. package/lib/Actions/BaseAction.d.ts +21 -5
  106. package/lib/Actions/BaseAction.js +155 -97
  107. package/lib/Actions/Button.d.ts +2 -2
  108. package/lib/Actions/Button.js +3 -7
  109. package/lib/Actions/CustomerListOption.d.ts +2 -2
  110. package/lib/Actions/CustomerListOption.js +2 -6
  111. package/lib/Actions/Dialog.d.ts +4 -4
  112. package/lib/Actions/Dialog.js +2 -6
  113. package/lib/Actions/Redirect.d.ts +2 -2
  114. package/lib/Actions/Redirect.js +7 -9
  115. package/lib/Actions/SaleKey.d.ts +2 -2
  116. package/lib/Actions/SaleKey.js +3 -7
  117. package/lib/Actions/SaleUpdate.d.ts +3 -3
  118. package/lib/Actions/SaleUpdate.js +3 -7
  119. package/lib/Actions/Toast.d.ts +3 -3
  120. package/lib/Actions/Toast.js +2 -6
  121. package/lib/Application.d.ts +114 -78
  122. package/lib/Application.js +207 -160
  123. package/lib/ApplicationEvents.d.ts +66 -53
  124. package/lib/ApplicationEvents.js +10 -6
  125. package/lib/BaseApplication.d.ts +169 -0
  126. package/lib/BaseApplication.js +40 -0
  127. package/lib/BaseBridge.d.ts +33 -0
  128. package/lib/BaseBridge.js +16 -0
  129. package/lib/Bridge.d.ts +46 -9
  130. package/lib/Bridge.js +42 -54
  131. package/lib/Common/EventEmitter.d.ts +10 -1
  132. package/lib/Common/EventEmitter.js +10 -5
  133. package/lib/Common/Serializable.d.ts +8 -6
  134. package/lib/Common/Serializable.js +1 -2
  135. package/lib/EmitableEvents/BaseEmitableEvent.d.ts +7 -1
  136. package/lib/EmitableEvents/BaseEmitableEvent.js +7 -5
  137. package/lib/EmitableEvents/Fulfilment/Options.d.ts +1 -1
  138. package/lib/EmitableEvents/Fulfilment/Options.js +4 -8
  139. package/lib/EmitableEvents/Fulfilment/OrderCancel.d.ts +1 -1
  140. package/lib/EmitableEvents/Fulfilment/OrderCancel.js +4 -8
  141. package/lib/EmitableEvents/Fulfilment/OrderCreate.d.ts +2 -2
  142. package/lib/EmitableEvents/Fulfilment/OrderCreate.js +4 -8
  143. package/lib/EmitableEvents/Fulfilment/OrderUpdate.d.ts +2 -2
  144. package/lib/EmitableEvents/Fulfilment/OrderUpdate.js +4 -8
  145. package/lib/EmitableEvents/Fulfilment/OrdersSync.d.ts +2 -2
  146. package/lib/EmitableEvents/Fulfilment/OrdersSync.js +4 -8
  147. package/lib/EmitableEvents/Fulfilment/RegisterIntent.d.ts +2 -2
  148. package/lib/EmitableEvents/Fulfilment/RegisterIntent.js +4 -8
  149. package/lib/EmitableEvents/Fulfilment/index.d.ts +7 -7
  150. package/lib/EmitableEvents/Fulfilment/index.js +6 -15
  151. package/lib/EmitableEvents/InternalMessage.d.ts +2 -2
  152. package/lib/EmitableEvents/InternalMessage.js +4 -8
  153. package/lib/EmitableEvents/SellScreenOption.d.ts +2 -2
  154. package/lib/EmitableEvents/SellScreenOption.js +7 -11
  155. package/lib/EmitableEvents/SellScreenPromotionApplicable.d.ts +1 -1
  156. package/lib/EmitableEvents/SellScreenPromotionApplicable.js +4 -8
  157. package/lib/EmitableEvents/TableUpdate.d.ts +2 -2
  158. package/lib/EmitableEvents/TableUpdate.js +4 -8
  159. package/lib/Events/AudioPermissionChange.d.ts +5 -2
  160. package/lib/Events/AudioPermissionChange.js +6 -7
  161. package/lib/Events/AudioReady.d.ts +5 -2
  162. package/lib/Events/AudioReady.js +6 -7
  163. package/lib/Events/BaseEvent.d.ts +8 -3
  164. package/lib/Events/BaseEvent.js +1 -6
  165. package/lib/Events/Callback.d.ts +5 -2
  166. package/lib/Events/Callback.js +5 -6
  167. package/lib/Events/FormatIntegratedProduct.d.ts +27 -32
  168. package/lib/Events/FormatIntegratedProduct.js +12 -9
  169. package/lib/Events/FulfilmentCollectOrder.d.ts +5 -2
  170. package/lib/Events/FulfilmentCollectOrder.js +5 -6
  171. package/lib/Events/FulfilmentCompleteOrder.d.ts +5 -2
  172. package/lib/Events/FulfilmentCompleteOrder.js +5 -6
  173. package/lib/Events/FulfilmentGetOrder.d.ts +12 -6
  174. package/lib/Events/FulfilmentGetOrder.js +10 -8
  175. package/lib/Events/FulfilmentOrderApproval.d.ts +5 -2
  176. package/lib/Events/FulfilmentOrderApproval.js +5 -6
  177. package/lib/Events/FulfilmentProcessOrder.d.ts +12 -10
  178. package/lib/Events/FulfilmentProcessOrder.js +7 -8
  179. package/lib/Events/FulfilmentVoidOrder.d.ts +5 -2
  180. package/lib/Events/FulfilmentVoidOrder.js +5 -6
  181. package/lib/Events/GiftCardCodeCheck.d.ts +19 -0
  182. package/lib/Events/GiftCardCodeCheck.js +23 -0
  183. package/lib/Events/InternalPageMessage.d.ts +10 -4
  184. package/lib/Events/InternalPageMessage.js +12 -10
  185. package/lib/Events/PaymentMethodsEnabled.d.ts +16 -11
  186. package/lib/Events/PaymentMethodsEnabled.js +10 -8
  187. package/lib/Events/Ready.d.ts +12 -7
  188. package/lib/Events/Ready.js +5 -6
  189. package/lib/Events/RegisterChanged.d.ts +12 -6
  190. package/lib/Events/RegisterChanged.js +6 -7
  191. package/lib/Events/RequestButtons.d.ts +17 -12
  192. package/lib/Events/RequestButtons.js +13 -11
  193. package/lib/Events/RequestCustomerListOptions.d.ts +11 -5
  194. package/lib/Events/RequestCustomerListOptions.js +12 -11
  195. package/lib/Events/RequestSaleKeys.d.ts +12 -6
  196. package/lib/Events/RequestSaleKeys.js +13 -11
  197. package/lib/Events/RequestSellScreenOptions.d.ts +18 -5
  198. package/lib/Events/RequestSellScreenOptions.js +17 -9
  199. package/lib/Events/RequestSettings.d.ts +11 -5
  200. package/lib/Events/RequestSettings.js +12 -10
  201. package/lib/Events/RequestTableColumns.d.ts +16 -11
  202. package/lib/Events/RequestTableColumns.js +12 -9
  203. package/lib/Events/SaleComplete.d.ts +15 -18
  204. package/lib/Events/SaleComplete.js +6 -7
  205. package/lib/Events/UIPipeline.d.ts +17 -5
  206. package/lib/Events/UIPipeline.js +17 -10
  207. package/lib/Mocks/APIs/Sale/MockCurrentSale.d.ts +99 -0
  208. package/lib/Mocks/APIs/Sale/MockCurrentSale.js +326 -0
  209. package/lib/Mocks/Database/MockDatabase.d.ts +96 -0
  210. package/lib/Mocks/Database/MockDatabase.js +89 -0
  211. package/lib/Mocks/MockApplication.d.ts +154 -0
  212. package/lib/Mocks/MockApplication.js +481 -0
  213. package/lib/Mocks/MockBridge.d.ts +31 -0
  214. package/lib/Mocks/MockBridge.js +77 -0
  215. package/lib/Mocks/index.d.ts +7 -0
  216. package/lib/Mocks/index.js +15 -0
  217. package/lib/Utilities/ActionEventRegistrar.d.ts +19 -4
  218. package/lib/Utilities/ActionEventRegistrar.js +19 -3
  219. package/lib/Utilities/MiscTypes.d.ts +6 -4
  220. package/lib/Utilities/MiscTypes.js +1 -2
  221. package/lib/Utilities/SaleCreate.d.ts +6 -2
  222. package/lib/Utilities/SaleCreate.js +10 -6
  223. package/lib/Utilities/Static.d.ts +3 -0
  224. package/lib/Utilities/Static.js +5 -7
  225. package/lib/Utilities/UUID.d.ts +9 -3
  226. package/lib/Utilities/UUID.js +10 -7
  227. package/lib/index.d.ts +16 -14
  228. package/lib/index.js +14 -49
  229. package/package.json +3 -2
  230. package/lib/APIs/CurrentSale/Exceptions.d.ts +0 -6
  231. package/lib/APIs/CurrentSale/Exceptions.js +0 -15
  232. package/lib/APIs/CurrentSale/Sale.d.ts +0 -182
  233. package/lib/APIs/CurrentSale/Sale.js +0 -290
  234. package/lib/APIs/CurrentSale/SaleCustomer.d.ts +0 -10
  235. package/lib/APIs/CurrentSale/SaleCustomer.js +0 -17
  236. package/lib/APIs/CurrentSale/SalePayment.d.ts +0 -68
  237. package/lib/APIs/CurrentSale/SalePayment.js +0 -99
  238. package/lib/APIs/CurrentSale/SaleProduct.d.ts +0 -121
  239. package/lib/APIs/CurrentSale/SaleProduct.js +0 -167
  240. package/lib/APIs/CurrentSale/ShopfrontSaleState.d.ts +0 -53
  241. package/lib/APIs/CurrentSale/ShopfrontSaleState.js +0 -2
  242. package/lib/APIs/CurrentSale/index.d.ts +0 -6
  243. package/lib/APIs/CurrentSale/index.js +0 -37
  244. /package/.idea/{embedded-bridge.iml → shopfront-embedded-bridge.iml} +0 -0
@@ -1,108 +1,166 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- var BaseAction_1;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.BaseAction = void 0;
14
- const EventEmitter_1 = require("../Common/EventEmitter");
15
- const Static_1 = require("../Utilities/Static");
16
- const ActionEventRegistrar_1 = __importDefault(require("../Utilities/ActionEventRegistrar"));
17
- let BaseAction = BaseAction_1 = class BaseAction extends EventEmitter_1.EventEmitter {
18
- constructor(serialized, type) {
19
- if (new.target === BaseAction_1) {
20
- throw new TypeError("You cannot construct BaseAction instances directly");
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
21
19
  }
22
- super();
23
- this.target = serialized.type;
24
- this.events = [];
25
- this.properties = serialized.properties;
26
- // Ensure that we are registered in the registry
27
- BaseAction_1.serializedRegistry[this.target] = type;
28
- }
29
- serialize() {
30
- const events = {};
31
- for (let i = 0, l = this.events.length; i < l; i++) {
32
- if (typeof events[this.events[i].type] === "undefined") {
33
- events[this.events[i].type] = [];
34
- }
35
- events[this.events[i].type].push(this.events[i].id);
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
36
23
  }
37
- return {
38
- properties: this.serializeProperties(this.properties),
39
- events: events,
40
- type: this.target,
41
- };
42
24
  }
43
- serializeProperties(properties) {
44
- const results = [];
45
- // Loop through current layer of properties
46
- for (let i = 0, l = properties.length; i < l; i++) {
47
- const property = properties[i];
48
- if (Array.isArray(property)) {
49
- // Prepare to recurse through next layer of properties
50
- results.push(this.serializeProperties(property));
51
- }
52
- else if (property instanceof BaseAction_1) {
53
- // Serialize property
54
- results.push(property.serialize());
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
36
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
37
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
38
+ };
39
+ import { EventEmitter } from "../Common/EventEmitter.js";
40
+ import ActionEventRegistrar from "../Utilities/ActionEventRegistrar.js";
41
+ import { staticImplements } from "../Utilities/Static.js";
42
+ let BaseAction = (() => {
43
+ let _classDecorators = [staticImplements()];
44
+ let _classDescriptor;
45
+ let _classExtraInitializers = [];
46
+ let _classThis;
47
+ let _classSuper = EventEmitter;
48
+ var BaseAction = _classThis = class extends _classSuper {
49
+ constructor(serialized, type) {
50
+ if (new.target === BaseAction) {
51
+ throw new TypeError("You cannot construct BaseAction instances directly");
55
52
  }
56
- else {
57
- // Assume that the property is already serializable
58
- results.push(property);
53
+ super();
54
+ this.target = serialized.type;
55
+ this.events = [];
56
+ this.properties = serialized.properties;
57
+ // Ensure that we are registered in the registry
58
+ BaseAction.serializedRegistry[this.target] = type;
59
+ }
60
+ /**
61
+ * Serializes the registered action event data (excluding callbacks) and properties
62
+ */
63
+ serialize() {
64
+ const events = {};
65
+ for (let i = 0, l = this.events.length; i < l; i++) {
66
+ if (typeof events[this.events[i].type] === "undefined") {
67
+ events[this.events[i].type] = [];
68
+ }
69
+ events[this.events[i].type].push(this.events[i].id);
59
70
  }
71
+ return {
72
+ properties: this.serializeProperties(this.properties),
73
+ events: events,
74
+ type: this.target,
75
+ };
60
76
  }
61
- return results;
62
- }
63
- static deserialize(serialized) {
64
- return new BaseAction_1.serializedRegistry[serialized.type](serialized);
65
- }
66
- addEventListener(event, callback) {
67
- super.addEventListener(event, callback);
68
- const id = `${Date.now()}-${event}-${Math.random()}`;
69
- ActionEventRegistrar_1.default.add(id, this);
70
- this.events.push({
71
- id,
72
- callback,
73
- type: event,
74
- });
75
- }
76
- removeEventListener(event, callback) {
77
- super.removeEventListener(event, callback);
78
- for (let i = 0, l = this.events.length; i < l; i++) {
79
- if (this.events[i].type !== event) {
80
- continue;
77
+ /**
78
+ * Recursively serializes the action properties
79
+ */
80
+ serializeProperties(properties) {
81
+ const results = [];
82
+ // Loop through current layer of properties
83
+ for (let i = 0, l = properties.length; i < l; i++) {
84
+ const property = properties[i];
85
+ if (Array.isArray(property)) {
86
+ // Prepare to recurse through next layer of properties
87
+ results.push(this.serializeProperties(property));
88
+ }
89
+ else if (property instanceof BaseAction) {
90
+ // Serialize property
91
+ results.push(property.serialize());
92
+ }
93
+ else {
94
+ // Assume that the property is already serializable
95
+ results.push(property);
96
+ }
81
97
  }
82
- if (this.events[i].callback !== callback) {
83
- continue;
98
+ return results;
99
+ }
100
+ /**
101
+ * Deserializes the action data
102
+ */
103
+ static deserialize(serialized) {
104
+ return new BaseAction.serializedRegistry[serialized.type](serialized);
105
+ }
106
+ /**
107
+ * Registers an action event listener
108
+ */
109
+ addEventListener(event, callback) {
110
+ super.addEventListener(event, callback);
111
+ const id = `${Date.now()}-${event}-${Math.random()}`;
112
+ ActionEventRegistrar.add(id, this);
113
+ this.events.push({
114
+ id,
115
+ callback,
116
+ type: event,
117
+ });
118
+ }
119
+ /**
120
+ * Unregisters an action event listener
121
+ */
122
+ removeEventListener(event, callback) {
123
+ super.removeEventListener(event, callback);
124
+ for (let i = 0, l = this.events.length; i < l; i++) {
125
+ if (this.events[i].type !== event) {
126
+ continue;
127
+ }
128
+ if (this.events[i].callback !== callback) {
129
+ continue;
130
+ }
131
+ const id = this.events[i].id;
132
+ ActionEventRegistrar.remove(id);
133
+ this.events = [
134
+ ...this.events.slice(0, i),
135
+ ...this.events.slice(i + 1),
136
+ ];
137
+ break;
84
138
  }
85
- const id = this.events[i].id;
86
- ActionEventRegistrar_1.default.remove(id);
87
- this.events = [
88
- ...this.events.slice(0, i),
89
- ...this.events.slice(i + 1),
90
- ];
91
- break;
92
139
  }
93
- }
94
- handleRegistrarEvent(id, data) {
95
- for (let i = 0, l = this.events.length; i < l; i++) {
96
- if (this.events[i].id !== id) {
97
- continue;
140
+ /**
141
+ * Fires the callback for the registered action event
142
+ */
143
+ handleRegistrarEvent(id, data) {
144
+ for (let i = 0, l = this.events.length; i < l; i++) {
145
+ if (this.events[i].id !== id) {
146
+ continue;
147
+ }
148
+ this.events[i].callback(data);
149
+ break;
98
150
  }
99
- this.events[i].callback(data);
100
- break;
101
151
  }
102
- }
103
- };
104
- BaseAction.serializedRegistry = {};
105
- BaseAction = BaseAction_1 = __decorate([
106
- (0, Static_1.staticImplements)()
107
- ], BaseAction);
108
- exports.BaseAction = BaseAction;
152
+ };
153
+ __setFunctionName(_classThis, "BaseAction");
154
+ (() => {
155
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
156
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
157
+ BaseAction = _classThis = _classDescriptor.value;
158
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
159
+ })();
160
+ _classThis.serializedRegistry = {};
161
+ (() => {
162
+ __runInitializers(_classThis, _classExtraInitializers);
163
+ })();
164
+ return BaseAction = _classThis;
165
+ })();
166
+ export { BaseAction };
@@ -1,5 +1,5 @@
1
- import { BaseAction } from "./BaseAction";
2
- import { Serialized } from "../Common/Serializable";
1
+ import { Serialized } from "../Common/Serializable.js";
2
+ import { BaseAction } from "./BaseAction.js";
3
3
  export declare class Button extends BaseAction<Button> {
4
4
  protected supportedEvents: string[];
5
5
  protected label: string;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Button = void 0;
4
- const BaseAction_1 = require("./BaseAction");
5
- class Button extends BaseAction_1.BaseAction {
1
+ import { BaseAction } from "./BaseAction.js";
2
+ export class Button extends BaseAction {
6
3
  constructor(label, icon) {
7
4
  // https://github.com/Microsoft/TypeScript/issues/8277
8
5
  super((() => {
@@ -10,7 +7,7 @@ class Button extends BaseAction_1.BaseAction {
10
7
  return {
11
8
  properties: [label, icon],
12
9
  events: {},
13
- type: "Button"
10
+ type: "Button",
14
11
  };
15
12
  }
16
13
  else {
@@ -33,4 +30,3 @@ class Button extends BaseAction_1.BaseAction {
33
30
  }
34
31
  }
35
32
  }
36
- exports.Button = Button;
@@ -1,5 +1,5 @@
1
- import { BaseAction } from "./BaseAction";
2
- import { Serialized } from "../Common/Serializable";
1
+ import { Serialized } from "../Common/Serializable.js";
2
+ import { BaseAction } from "./BaseAction.js";
3
3
  export declare class CustomerListOption extends BaseAction<CustomerListOption> {
4
4
  protected supportedEvents: string[];
5
5
  protected contents: string;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CustomerListOption = void 0;
4
- const BaseAction_1 = require("./BaseAction");
5
- class CustomerListOption extends BaseAction_1.BaseAction {
1
+ import { BaseAction } from "./BaseAction.js";
2
+ export class CustomerListOption extends BaseAction {
6
3
  constructor(contents) {
7
4
  super((() => {
8
5
  if (typeof contents === "string") {
@@ -23,4 +20,3 @@ class CustomerListOption extends BaseAction_1.BaseAction {
23
20
  }
24
21
  }
25
22
  }
26
- exports.CustomerListOption = CustomerListOption;
@@ -1,7 +1,7 @@
1
- import { BaseAction } from "./BaseAction";
2
- import { Serialized } from "../Common/Serializable";
3
- import { Button } from "./Button";
4
- declare type DialogType = "success" | "information" | "question" | "danger" | "warning" | "error" | "edit" | "frame";
1
+ import { Serialized } from "../Common/Serializable.js";
2
+ import { BaseAction } from "./BaseAction.js";
3
+ import { Button } from "./Button.js";
4
+ type DialogType = "success" | "information" | "question" | "danger" | "warning" | "error" | "edit" | "frame";
5
5
  export declare class Dialog extends BaseAction<Dialog> {
6
6
  protected supportedEvents: string[];
7
7
  protected type: DialogType;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Dialog = void 0;
4
- const BaseAction_1 = require("./BaseAction");
5
- class Dialog extends BaseAction_1.BaseAction {
1
+ import { BaseAction } from "./BaseAction.js";
2
+ export class Dialog extends BaseAction {
6
3
  constructor(type, closeable, header, content, buttons) {
7
4
  // https://github.com/Microsoft/TypeScript/issues/8277
8
5
  super((() => {
@@ -35,4 +32,3 @@ class Dialog extends BaseAction_1.BaseAction {
35
32
  }
36
33
  }
37
34
  }
38
- exports.Dialog = Dialog;
@@ -1,5 +1,5 @@
1
- import { BaseAction } from "./BaseAction";
2
- import { Serialized } from "../Common/Serializable";
1
+ import { Serialized } from "../Common/Serializable.js";
2
+ import { BaseAction } from "./BaseAction.js";
3
3
  declare class InternalRedirect extends BaseAction<InternalRedirect> {
4
4
  protected supportedEvents: string[];
5
5
  protected to: string;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Redirect = void 0;
4
- const BaseAction_1 = require("./BaseAction");
5
- class InternalRedirect extends BaseAction_1.BaseAction {
1
+ import { BaseAction } from "./BaseAction.js";
2
+ class InternalRedirect extends BaseAction {
6
3
  constructor(to) {
7
4
  // https://github.com/Microsoft/TypeScript/issues/8277
8
5
  super((() => {
@@ -10,7 +7,7 @@ class InternalRedirect extends BaseAction_1.BaseAction {
10
7
  return {
11
8
  properties: [to],
12
9
  events: {},
13
- type: "InternalRedirect"
10
+ type: "InternalRedirect",
14
11
  };
15
12
  }
16
13
  else {
@@ -26,7 +23,7 @@ class InternalRedirect extends BaseAction_1.BaseAction {
26
23
  }
27
24
  }
28
25
  }
29
- class ExternalRedirect extends BaseAction_1.BaseAction {
26
+ class ExternalRedirect extends BaseAction {
30
27
  constructor(to) {
31
28
  // https://github.com/Microsoft/TypeScript/issues/8277
32
29
  super((() => {
@@ -50,7 +47,8 @@ class ExternalRedirect extends BaseAction_1.BaseAction {
50
47
  }
51
48
  }
52
49
  }
53
- exports.Redirect = {
50
+ // eslint-disable-next-line @typescript-eslint/naming-convention
51
+ export const Redirect = {
54
52
  InternalRedirect,
55
- ExternalRedirect
53
+ ExternalRedirect,
56
54
  };
@@ -1,5 +1,5 @@
1
- import { BaseAction } from "./BaseAction";
2
- import { Serialized } from "../Common/Serializable";
1
+ import { Serialized } from "../Common/Serializable.js";
2
+ import { BaseAction } from "./BaseAction.js";
3
3
  export declare class SaleKey extends BaseAction<SaleKey> {
4
4
  protected supportedEvents: string[];
5
5
  protected id: string;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SaleKey = void 0;
4
- const BaseAction_1 = require("./BaseAction");
5
- class SaleKey extends BaseAction_1.BaseAction {
1
+ import { BaseAction } from "./BaseAction.js";
2
+ export class SaleKey extends BaseAction {
6
3
  constructor(id, name) {
7
4
  // https://github.com/Microsoft/TypeScript/issues/8277
8
5
  super((() => {
@@ -10,7 +7,7 @@ class SaleKey extends BaseAction_1.BaseAction {
10
7
  return {
11
8
  properties: [id, name],
12
9
  events: {},
13
- type: "Button"
10
+ type: "Button",
14
11
  };
15
12
  }
16
13
  else {
@@ -33,4 +30,3 @@ class SaleKey extends BaseAction_1.BaseAction {
33
30
  }
34
31
  }
35
32
  }
36
- exports.SaleKey = SaleKey;
@@ -1,6 +1,6 @@
1
- import { BaseAction } from "./BaseAction";
2
- import { Serialized } from "../Common/Serializable";
3
- import { ShopfrontSalePaymentStatus } from "../APIs/Sale";
1
+ import { ShopfrontSalePaymentStatus } from "../APIs/Sale/index.js";
2
+ import { Serialized } from "../Common/Serializable.js";
3
+ import { BaseAction } from "./BaseAction.js";
4
4
  export interface SaleUpdateChanges {
5
5
  PRODUCT_ADD: {
6
6
  id: string;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SaleUpdate = void 0;
4
- const BaseAction_1 = require("./BaseAction");
5
- class SaleUpdate extends BaseAction_1.BaseAction {
1
+ import { BaseAction } from "./BaseAction.js";
2
+ export class SaleUpdate extends BaseAction {
6
3
  constructor(type, data) {
7
4
  // https://github.com/Microsoft/TypeScript/issues/8277
8
5
  super((() => {
@@ -10,7 +7,7 @@ class SaleUpdate extends BaseAction_1.BaseAction {
10
7
  return {
11
8
  properties: [type, data],
12
9
  events: {},
13
- type: "SaleUpdate"
10
+ type: "SaleUpdate",
14
11
  };
15
12
  }
16
13
  else {
@@ -33,4 +30,3 @@ class SaleUpdate extends BaseAction_1.BaseAction {
33
30
  }
34
31
  }
35
32
  }
36
- exports.SaleUpdate = SaleUpdate;
@@ -1,6 +1,6 @@
1
- import { BaseAction } from "./BaseAction";
2
- import { Serialized } from "../Common/Serializable";
3
- export declare type ToastType = "success" | "error" | "information" | "warning";
1
+ import { Serialized } from "../Common/Serializable.js";
2
+ import { BaseAction } from "./BaseAction.js";
3
+ export type ToastType = "success" | "error" | "information" | "warning";
4
4
  export declare class Toast extends BaseAction<Toast> {
5
5
  protected supportedEvents: string[];
6
6
  protected type: ToastType;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Toast = void 0;
4
- const BaseAction_1 = require("./BaseAction");
5
- class Toast extends BaseAction_1.BaseAction {
1
+ import { BaseAction } from "./BaseAction.js";
2
+ export class Toast extends BaseAction {
6
3
  constructor(type, message) {
7
4
  // https://github.com/Microsoft/TypeScript/issues/8277
8
5
  super((() => {
@@ -29,4 +26,3 @@ class Toast extends BaseAction_1.BaseAction {
29
26
  }
30
27
  }
31
28
  }
32
- exports.Toast = Toast;