meemup-library 1.0.0

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 (250) hide show
  1. package/README.md +1 -0
  2. package/lib/cjs/controllers/ApiController.d.ts +19 -0
  3. package/lib/cjs/controllers/ApiController.js +98 -0
  4. package/lib/cjs/controllers/DashboardController.d.ts +20 -0
  5. package/lib/cjs/controllers/DashboardController.js +155 -0
  6. package/lib/cjs/controllers/DateTimeController.d.ts +20 -0
  7. package/lib/cjs/controllers/DateTimeController.js +303 -0
  8. package/lib/cjs/controllers/LogController.d.ts +14 -0
  9. package/lib/cjs/controllers/LogController.js +105 -0
  10. package/lib/cjs/controllers/LogScreenController.d.ts +10 -0
  11. package/lib/cjs/controllers/LogScreenController.js +68 -0
  12. package/lib/cjs/controllers/MoneyController.d.ts +10 -0
  13. package/lib/cjs/controllers/MoneyController.js +42 -0
  14. package/lib/cjs/controllers/OrderScreenController.d.ts +14 -0
  15. package/lib/cjs/controllers/OrderScreenController.js +72 -0
  16. package/lib/cjs/controllers/PhoneController.d.ts +6 -0
  17. package/lib/cjs/controllers/PhoneController.js +37 -0
  18. package/lib/cjs/controllers/PrintContentController.d.ts +25 -0
  19. package/lib/cjs/controllers/PrintContentController.js +515 -0
  20. package/lib/cjs/controllers/ProductModalController.d.ts +36 -0
  21. package/lib/cjs/controllers/ProductModalController.js +445 -0
  22. package/lib/cjs/controllers/ToolController.d.ts +6 -0
  23. package/lib/cjs/controllers/ToolController.js +24 -0
  24. package/lib/cjs/controllers/ZoneController.d.ts +13 -0
  25. package/lib/cjs/controllers/ZoneController.js +24 -0
  26. package/lib/cjs/enums/EnumBasketStep.d.ts +5 -0
  27. package/lib/cjs/enums/EnumBasketStep.js +8 -0
  28. package/lib/cjs/enums/EnumCategoryAvailableIn.d.ts +7 -0
  29. package/lib/cjs/enums/EnumCategoryAvailableIn.js +10 -0
  30. package/lib/cjs/enums/EnumChannels.d.ts +9 -0
  31. package/lib/cjs/enums/EnumChannels.js +12 -0
  32. package/lib/cjs/enums/EnumDashboardSort.d.ts +7 -0
  33. package/lib/cjs/enums/EnumDashboardSort.js +10 -0
  34. package/lib/cjs/enums/EnumDiscountType.d.ts +6 -0
  35. package/lib/cjs/enums/EnumDiscountType.js +9 -0
  36. package/lib/cjs/enums/EnumFeeCalculationMode.d.ts +7 -0
  37. package/lib/cjs/enums/EnumFeeCalculationMode.js +10 -0
  38. package/lib/cjs/enums/EnumFeeType.d.ts +5 -0
  39. package/lib/cjs/enums/EnumFeeType.js +8 -0
  40. package/lib/cjs/enums/EnumGender.d.ts +6 -0
  41. package/lib/cjs/enums/EnumGender.js +9 -0
  42. package/lib/cjs/enums/EnumLogType.d.ts +7 -0
  43. package/lib/cjs/enums/EnumLogType.js +10 -0
  44. package/lib/cjs/enums/EnumNewOrderWarning.d.ts +6 -0
  45. package/lib/cjs/enums/EnumNewOrderWarning.js +9 -0
  46. package/lib/cjs/enums/EnumOpenCashDrawer.d.ts +5 -0
  47. package/lib/cjs/enums/EnumOpenCashDrawer.js +8 -0
  48. package/lib/cjs/enums/EnumOrderScreenTab.d.ts +6 -0
  49. package/lib/cjs/enums/EnumOrderScreenTab.js +9 -0
  50. package/lib/cjs/enums/EnumOrderState.d.ts +12 -0
  51. package/lib/cjs/enums/EnumOrderState.js +15 -0
  52. package/lib/cjs/enums/EnumOrderType.d.ts +6 -0
  53. package/lib/cjs/enums/EnumOrderType.js +9 -0
  54. package/lib/cjs/enums/EnumPaymentState.d.ts +6 -0
  55. package/lib/cjs/enums/EnumPaymentState.js +9 -0
  56. package/lib/cjs/enums/EnumPaymentType.d.ts +12 -0
  57. package/lib/cjs/enums/EnumPaymentType.js +15 -0
  58. package/lib/cjs/enums/EnumPizzaSide.d.ts +7 -0
  59. package/lib/cjs/enums/EnumPizzaSide.js +10 -0
  60. package/lib/cjs/enums/EnumPriceMidpointRounding.d.ts +13 -0
  61. package/lib/cjs/enums/EnumPriceMidpointRounding.js +58 -0
  62. package/lib/cjs/enums/EnumPrintCommand.d.ts +6 -0
  63. package/lib/cjs/enums/EnumPrintCommand.js +9 -0
  64. package/lib/cjs/enums/EnumProductAvailableMode.d.ts +8 -0
  65. package/lib/cjs/enums/EnumProductAvailableMode.js +11 -0
  66. package/lib/cjs/enums/EnumShowOrderMode.d.ts +6 -0
  67. package/lib/cjs/enums/EnumShowOrderMode.js +9 -0
  68. package/lib/cjs/enums/EnumSortMode.d.ts +5 -0
  69. package/lib/cjs/enums/EnumSortMode.js +8 -0
  70. package/lib/cjs/enums/EnumTipType.d.ts +6 -0
  71. package/lib/cjs/enums/EnumTipType.js +9 -0
  72. package/lib/cjs/interfaces/IAccount.d.ts +12 -0
  73. package/lib/cjs/interfaces/IAccount.js +13 -0
  74. package/lib/cjs/interfaces/IAction.d.ts +6 -0
  75. package/lib/cjs/interfaces/IAction.js +2 -0
  76. package/lib/cjs/interfaces/IAllergicStuffs.d.ts +7 -0
  77. package/lib/cjs/interfaces/IAllergicStuffs.js +2 -0
  78. package/lib/cjs/interfaces/IAnswer.d.ts +9 -0
  79. package/lib/cjs/interfaces/IAnswer.js +10 -0
  80. package/lib/cjs/interfaces/IApiAllOrder.d.ts +7 -0
  81. package/lib/cjs/interfaces/IApiAllOrder.js +7 -0
  82. package/lib/cjs/interfaces/IApiEstimatedTimeBody.d.ts +6 -0
  83. package/lib/cjs/interfaces/IApiEstimatedTimeBody.js +2 -0
  84. package/lib/cjs/interfaces/IApiPayOnTerminalBody.d.ts +7 -0
  85. package/lib/cjs/interfaces/IApiPayOnTerminalBody.js +8 -0
  86. package/lib/cjs/interfaces/IApiShop.d.ts +31 -0
  87. package/lib/cjs/interfaces/IApiShop.js +25 -0
  88. package/lib/cjs/interfaces/ICalculateFeeResult.d.ts +6 -0
  89. package/lib/cjs/interfaces/ICalculateFeeResult.js +2 -0
  90. package/lib/cjs/interfaces/ICard.d.ts +9 -0
  91. package/lib/cjs/interfaces/ICard.js +2 -0
  92. package/lib/cjs/interfaces/ICategory.d.ts +31 -0
  93. package/lib/cjs/interfaces/ICategory.js +31 -0
  94. package/lib/cjs/interfaces/ICheckoutOption.d.ts +39 -0
  95. package/lib/cjs/interfaces/ICheckoutOption.js +39 -0
  96. package/lib/cjs/interfaces/ICompanyFee.d.ts +21 -0
  97. package/lib/cjs/interfaces/ICompanyFee.js +2 -0
  98. package/lib/cjs/interfaces/ICompanyInvoiceDetail.d.ts +14 -0
  99. package/lib/cjs/interfaces/ICompanyInvoiceDetail.js +2 -0
  100. package/lib/cjs/interfaces/IConfigTodayReport.d.ts +11 -0
  101. package/lib/cjs/interfaces/IConfigTodayReport.js +12 -0
  102. package/lib/cjs/interfaces/ICustomer.d.ts +12 -0
  103. package/lib/cjs/interfaces/ICustomer.js +16 -0
  104. package/lib/cjs/interfaces/ICustomerAddress.d.ts +17 -0
  105. package/lib/cjs/interfaces/ICustomerAddress.js +2 -0
  106. package/lib/cjs/interfaces/IDailyReportOtherData.d.ts +16 -0
  107. package/lib/cjs/interfaces/IDailyReportOtherData.js +2 -0
  108. package/lib/cjs/interfaces/IDashboardScreenState.d.ts +6 -0
  109. package/lib/cjs/interfaces/IDashboardScreenState.js +13 -0
  110. package/lib/cjs/interfaces/IExtra.d.ts +29 -0
  111. package/lib/cjs/interfaces/IExtra.js +2 -0
  112. package/lib/cjs/interfaces/IExtraItem.d.ts +18 -0
  113. package/lib/cjs/interfaces/IExtraItem.js +19 -0
  114. package/lib/cjs/interfaces/IGeneralInformation.d.ts +33 -0
  115. package/lib/cjs/interfaces/IGeneralInformation.js +46 -0
  116. package/lib/cjs/interfaces/IGeneralItems.d.ts +36 -0
  117. package/lib/cjs/interfaces/IGeneralItems.js +37 -0
  118. package/lib/cjs/interfaces/IKitchenScreenSetting.d.ts +8 -0
  119. package/lib/cjs/interfaces/IKitchenScreenSetting.js +9 -0
  120. package/lib/cjs/interfaces/ILocalSetting.d.ts +18 -0
  121. package/lib/cjs/interfaces/ILocalSetting.js +22 -0
  122. package/lib/cjs/interfaces/ILocation.d.ts +6 -0
  123. package/lib/cjs/interfaces/ILocation.js +7 -0
  124. package/lib/cjs/interfaces/ILog.d.ts +11 -0
  125. package/lib/cjs/interfaces/ILog.js +15 -0
  126. package/lib/cjs/interfaces/ILogin.d.ts +5 -0
  127. package/lib/cjs/interfaces/ILogin.js +2 -0
  128. package/lib/cjs/interfaces/IOnlineOrderItem.d.ts +33 -0
  129. package/lib/cjs/interfaces/IOnlineOrderItem.js +2 -0
  130. package/lib/cjs/interfaces/IOrderDetailOrderItem.d.ts +6 -0
  131. package/lib/cjs/interfaces/IOrderDetailOrderItem.js +2 -0
  132. package/lib/cjs/interfaces/IOrderScreenState.d.ts +11 -0
  133. package/lib/cjs/interfaces/IOrderScreenState.js +15 -0
  134. package/lib/cjs/interfaces/IOrderState.d.ts +6 -0
  135. package/lib/cjs/interfaces/IOrderState.js +2 -0
  136. package/lib/cjs/interfaces/IOrderTypeModal.d.ts +19 -0
  137. package/lib/cjs/interfaces/IOrderTypeModal.js +2 -0
  138. package/lib/cjs/interfaces/IPaymentStatusChanged.d.ts +8 -0
  139. package/lib/cjs/interfaces/IPaymentStatusChanged.js +8 -0
  140. package/lib/cjs/interfaces/IPreviuosOrder.d.ts +30 -0
  141. package/lib/cjs/interfaces/IPreviuosOrder.js +2 -0
  142. package/lib/cjs/interfaces/IPrintTemplate.d.ts +54 -0
  143. package/lib/cjs/interfaces/IPrintTemplate.js +56 -0
  144. package/lib/cjs/interfaces/IPrinterAndPrintCount.d.ts +5 -0
  145. package/lib/cjs/interfaces/IPrinterAndPrintCount.js +2 -0
  146. package/lib/cjs/interfaces/IProduct.d.ts +47 -0
  147. package/lib/cjs/interfaces/IProduct.js +2 -0
  148. package/lib/cjs/interfaces/IProductExtra.d.ts +16 -0
  149. package/lib/cjs/interfaces/IProductExtra.js +2 -0
  150. package/lib/cjs/interfaces/IProductModalState.d.ts +14 -0
  151. package/lib/cjs/interfaces/IProductModalState.js +13 -0
  152. package/lib/cjs/interfaces/ISaveOrder.d.ts +74 -0
  153. package/lib/cjs/interfaces/ISaveOrder.js +2 -0
  154. package/lib/cjs/interfaces/ISearchAddressDetail.d.ts +11 -0
  155. package/lib/cjs/interfaces/ISearchAddressDetail.js +2 -0
  156. package/lib/cjs/interfaces/ISelectedExtraItem.d.ts +7 -0
  157. package/lib/cjs/interfaces/ISelectedExtraItem.js +7 -0
  158. package/lib/cjs/interfaces/ISelectedProductExtra.d.ts +7 -0
  159. package/lib/cjs/interfaces/ISelectedProductExtra.js +7 -0
  160. package/lib/cjs/interfaces/ISetting.d.ts +31 -0
  161. package/lib/cjs/interfaces/ISetting.js +37 -0
  162. package/lib/cjs/interfaces/ISignalOrderChanged.d.ts +5 -0
  163. package/lib/cjs/interfaces/ISignalOrderChanged.js +2 -0
  164. package/lib/cjs/interfaces/ISpecificPayment.d.ts +8 -0
  165. package/lib/cjs/interfaces/ISpecificPayment.js +9 -0
  166. package/lib/cjs/interfaces/IStarMicronicPrintTask.d.ts +11 -0
  167. package/lib/cjs/interfaces/IStarMicronicPrintTask.js +2 -0
  168. package/lib/cjs/interfaces/IStarMicronicPrinter.d.ts +6 -0
  169. package/lib/cjs/interfaces/IStarMicronicPrinter.js +0 -0
  170. package/lib/cjs/interfaces/IStorageControler.d.ts +6 -0
  171. package/lib/cjs/interfaces/IStorageControler.js +2 -0
  172. package/lib/cjs/interfaces/IStore.d.ts +53 -0
  173. package/lib/cjs/interfaces/IStore.js +2 -0
  174. package/lib/cjs/interfaces/ISystem.d.ts +64 -0
  175. package/lib/cjs/interfaces/ISystem.js +61 -0
  176. package/lib/cjs/interfaces/ITask.d.ts +8 -0
  177. package/lib/cjs/interfaces/ITask.js +9 -0
  178. package/lib/cjs/interfaces/ITextValue.d.ts +5 -0
  179. package/lib/cjs/interfaces/ITextValue.js +2 -0
  180. package/lib/cjs/interfaces/ITodayOrderCount.d.ts +5 -0
  181. package/lib/cjs/interfaces/ITodayOrderCount.js +2 -0
  182. package/lib/cjs/interfaces/IUdpPacket.d.ts +7 -0
  183. package/lib/cjs/interfaces/IUdpPacket.js +8 -0
  184. package/lib/cjs/interfaces/IWebMessage.d.ts +5 -0
  185. package/lib/cjs/interfaces/IWebMessage.js +2 -0
  186. package/lib/cjs/interfaces/IWorkScreen.d.ts +10 -0
  187. package/lib/cjs/interfaces/IWorkScreen.js +10 -0
  188. package/lib/cjs/interfaces/IZone.d.ts +13 -0
  189. package/lib/cjs/interfaces/IZone.js +2 -0
  190. package/lib/cjs/interfaces/IZoneCost.d.ts +6 -0
  191. package/lib/cjs/interfaces/IZoneCost.js +2 -0
  192. package/lib/cjs/interfaces/agent/IPrintOrder.d.ts +10 -0
  193. package/lib/cjs/interfaces/agent/IPrintOrder.js +0 -0
  194. package/lib/cjs/interfaces/database/IDExtra.d.ts +14 -0
  195. package/lib/cjs/interfaces/database/IDExtra.js +2 -0
  196. package/lib/cjs/interfaces/database/IDExtraItem.d.ts +17 -0
  197. package/lib/cjs/interfaces/database/IDExtraItem.js +2 -0
  198. package/lib/cjs/interfaces/database/IDProduct.d.ts +48 -0
  199. package/lib/cjs/interfaces/database/IDProduct.js +2 -0
  200. package/lib/cjs/interfaces/database/IDProductDefaultExtra.d.ts +6 -0
  201. package/lib/cjs/interfaces/database/IDProductDefaultExtra.js +2 -0
  202. package/lib/cjs/interfaces/database/IDProductDefaultExtraItem.d.ts +7 -0
  203. package/lib/cjs/interfaces/database/IDProductDefaultExtraItem.js +2 -0
  204. package/lib/cjs/interfaces/database/IDProductExtra.d.ts +12 -0
  205. package/lib/cjs/interfaces/database/IDProductExtra.js +13 -0
  206. package/lib/cjs/interfaces/order/IOrder.d.ts +75 -0
  207. package/lib/cjs/interfaces/order/IOrder.js +88 -0
  208. package/lib/cjs/interfaces/order/IOrderExtraItem.d.ts +14 -0
  209. package/lib/cjs/interfaces/order/IOrderExtraItem.js +2 -0
  210. package/lib/cjs/interfaces/order/IOrderItem.d.ts +22 -0
  211. package/lib/cjs/interfaces/order/IOrderItem.js +2 -0
  212. package/lib/cjs/interfaces/print/IModifiedDetails.d.ts +7 -0
  213. package/lib/cjs/interfaces/print/IModifiedDetails.js +2 -0
  214. package/lib/cjs/interfaces/print/IModifiedDetailsItem.d.ts +6 -0
  215. package/lib/cjs/interfaces/print/IModifiedDetailsItem.js +2 -0
  216. package/lib/cjs/interfaces/print/IOrderDetailCustomer.d.ts +16 -0
  217. package/lib/cjs/interfaces/print/IOrderDetailCustomer.js +17 -0
  218. package/lib/cjs/interfaces/print/IOrderDetailDriver.d.ts +4 -0
  219. package/lib/cjs/interfaces/print/IOrderDetailDriver.js +2 -0
  220. package/lib/cjs/interfaces/print/IOrderDetailOrder.d.ts +50 -0
  221. package/lib/cjs/interfaces/print/IOrderDetailOrder.js +55 -0
  222. package/lib/cjs/interfaces/print/IOrderDetailPaymentInfo.d.ts +7 -0
  223. package/lib/cjs/interfaces/print/IOrderDetailPaymentInfo.js +2 -0
  224. package/lib/cjs/interfaces/print/IOrderDetailProduct.d.ts +17 -0
  225. package/lib/cjs/interfaces/print/IOrderDetailProduct.js +2 -0
  226. package/lib/cjs/interfaces/print/IOrderDetailProductsExtra.d.ts +14 -0
  227. package/lib/cjs/interfaces/print/IOrderDetailProductsExtra.js +2 -0
  228. package/lib/cjs/interfaces/print/IOrderDetails.d.ts +22 -0
  229. package/lib/cjs/interfaces/print/IOrderDetails.js +18 -0
  230. package/lib/cjs/regx/CreditCardRegx.d.ts +2 -0
  231. package/lib/cjs/regx/CreditCardRegx.js +5 -0
  232. package/lib/cjs/regx/DomainRegx.d.ts +2 -0
  233. package/lib/cjs/regx/DomainRegx.js +4 -0
  234. package/lib/cjs/regx/EmailRegx.d.ts +2 -0
  235. package/lib/cjs/regx/EmailRegx.js +4 -0
  236. package/lib/cjs/regx/MoneyRegx.d.ts +2 -0
  237. package/lib/cjs/regx/MoneyRegx.js +4 -0
  238. package/lib/cjs/regx/PhoneRegx.d.ts +2 -0
  239. package/lib/cjs/regx/PhoneRegx.js +5 -0
  240. package/lib/cjs/regx/PostalCodeRegx.d.ts +2 -0
  241. package/lib/cjs/regx/PostalCodeRegx.js +4 -0
  242. package/lib/cjs/statics.d.ts +6 -0
  243. package/lib/cjs/statics.js +11 -0
  244. package/lib/cjs/types/IOrderPayStatus.d.ts +1 -0
  245. package/lib/cjs/types/IOrderPayStatus.js +2 -0
  246. package/lib/cjs/types/TAnswer.d.ts +2 -0
  247. package/lib/cjs/types/TAnswer.js +2 -0
  248. package/lib/cjs/types/TBaseExtra.d.ts +3 -0
  249. package/lib/cjs/types/TBaseExtra.js +2 -0
  250. package/package.json +28 -0
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # meemup-library
@@ -0,0 +1,19 @@
1
+ import { AxiosError, AxiosInstance, AxiosResponse } from "axios";
2
+ import IAccount from "../interfaces/IAccount";
3
+ import IAnswer from "../interfaces/IAnswer";
4
+ export default class ApiController {
5
+ account: IAccount;
6
+ constructor(account: IAccount);
7
+ defaultHeader(authorization?: boolean): Promise<{
8
+ Authorization?: string | undefined;
9
+ companyId: string;
10
+ }>;
11
+ createInstance(header?: object, authorization?: boolean, timeout?: number): Promise<AxiosInstance>;
12
+ fetchSuccess(response: AxiosResponse, init?: any): IAnswer;
13
+ fetchError(error: AxiosError, initMessage?: null): IAnswer;
14
+ postWithAuth(url: string, body?: any, header?: any): Promise<IAnswer>;
15
+ putWithAuth(url: string, body: any, header?: any): Promise<IAnswer>;
16
+ getWithAuth(url: string, header?: any): Promise<IAnswer>;
17
+ get(url: string, header?: any): Promise<IAnswer>;
18
+ deleteWithAuth(url: string, header?: any): Promise<IAnswer>;
19
+ }
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const axios_1 = __importDefault(require("axios"));
16
+ class ApiController {
17
+ constructor(account) {
18
+ this.account = account;
19
+ }
20
+ defaultHeader(authorization = true) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ return Object.assign({ companyId: this.account.companyId + "" }, authorization ? { Authorization: "Bearer " + this.account.token } : {});
23
+ });
24
+ }
25
+ createInstance(header = {}, authorization = true, timeout = 15000) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ let data = yield this.defaultHeader(authorization);
28
+ return axios_1.default.create({
29
+ withCredentials: true,
30
+ timeout: timeout,
31
+ headers: Object.assign(Object.assign({}, data), header)
32
+ });
33
+ });
34
+ }
35
+ fetchSuccess(response, init = {}) {
36
+ if (response.status === 200) {
37
+ if (response.data.success === true) {
38
+ return response.data;
39
+ }
40
+ if (response.data.message === "company not found") {
41
+ //TODO need fix
42
+ return response.data;
43
+ }
44
+ }
45
+ else if (response.status === 401) {
46
+ //TODO need fix
47
+ return response.data;
48
+ // window.location.replace(rootPath.signIn);
49
+ }
50
+ return Object.assign(Object.assign({}, response.data), { data: init });
51
+ }
52
+ fetchError(error, initMessage = null) {
53
+ // console.log("error : ", error);
54
+ const message = error.message === "Network Error" ? "Please check your internet connection!" : error.message;
55
+ return {
56
+ success: false,
57
+ data: null,
58
+ exception: initMessage ? initMessage : message,
59
+ message: initMessage ? initMessage : message
60
+ };
61
+ }
62
+ postWithAuth(url, body = {}, header = {}) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ // console.log("POST");
65
+ const ax = yield this.createInstance(header, true);
66
+ return ax.post(url, body).then(this.fetchSuccess).catch(this.fetchError);
67
+ });
68
+ }
69
+ putWithAuth(url, body, header = {}) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ // console.log("PUT");
72
+ const ax = yield this.createInstance(header, true, 8000);
73
+ return ax.put(url, body).then(this.fetchSuccess).catch(this.fetchError);
74
+ });
75
+ }
76
+ getWithAuth(url, header = {}) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ // console.log("GET");
79
+ const ax = yield this.createInstance(header, true);
80
+ return ax.get(url).then(this.fetchSuccess).catch(this.fetchError);
81
+ });
82
+ }
83
+ get(url, header = {}) {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ // console.log("GET");
86
+ const ax = yield this.createInstance(header, false);
87
+ return ax.get(url).then(this.fetchSuccess).catch(this.fetchError);
88
+ });
89
+ }
90
+ deleteWithAuth(url, header = {}) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ // console.log("DELETE");
93
+ const ax = yield this.createInstance(header, true);
94
+ return ax.delete(url).then(this.fetchSuccess).catch(this.fetchError);
95
+ });
96
+ }
97
+ }
98
+ exports.default = ApiController;
@@ -0,0 +1,20 @@
1
+ import IOnlineOrderItem from "../interfaces/IOnlineOrderItem";
2
+ import EnumDashboardSort from "../enums/EnumDashboardSort";
3
+ import EnumShowOrderMode from "../enums/EnumShowOrderMode";
4
+ import IOrder from "../interfaces/order/IOrder";
5
+ declare const _default: {
6
+ showOrderModeText(mode: EnumShowOrderMode): string;
7
+ getSortTypeText(sort: EnumDashboardSort): string;
8
+ todayPosMoney(orders: IOrder[]): number;
9
+ todayOnlineMoney(orders: IOnlineOrderItem[]): number;
10
+ todayMoney(localOrders: IOrder[], onlineOrders: IOnlineOrderItem[], mode: EnumShowOrderMode): number;
11
+ todayOrderCount(localOrders: IOrder[], onlineOrders: IOnlineOrderItem[], mode: EnumShowOrderMode): number;
12
+ customer(order: IOnlineOrderItem): string;
13
+ customerForDashboardComponent(order: IOnlineOrderItem): string;
14
+ sortOrders(orders: IOnlineOrderItem[], mode: EnumDashboardSort): IOnlineOrderItem[];
15
+ distinctAllOrders(localOrders: IOrder[], onlineOrders: IOnlineOrderItem[]): IOnlineOrderItem[];
16
+ createOrderList(localOrders: IOrder[], onlineOrders: IOnlineOrderItem[], mode: EnumShowOrderMode, sort: EnumDashboardSort): IOnlineOrderItem[];
17
+ orderModelToOnlineOrderItem(order: IOrder): IOnlineOrderItem;
18
+ getViaIcon(data: IOnlineOrderItem): "store" | "web" | undefined;
19
+ };
20
+ export default _default;
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const EnumDashboardSort_1 = __importDefault(require("../enums/EnumDashboardSort"));
7
+ const EnumShowOrderMode_1 = __importDefault(require("../enums/EnumShowOrderMode"));
8
+ exports.default = new class DashboardController {
9
+ showOrderModeText(mode) {
10
+ switch (mode) {
11
+ case EnumShowOrderMode_1.default.onlyPos:
12
+ return "Pos orders";
13
+ case EnumShowOrderMode_1.default.onlyWebShop:
14
+ return "Web Shop orders";
15
+ case EnumShowOrderMode_1.default.all:
16
+ return "Show all orders";
17
+ default:
18
+ return "";
19
+ }
20
+ }
21
+ getSortTypeText(sort) {
22
+ switch (sort) {
23
+ case EnumDashboardSort_1.default.amount:
24
+ return "Sort by amount";
25
+ case EnumDashboardSort_1.default.date:
26
+ return "Sort by date";
27
+ case EnumDashboardSort_1.default.discount:
28
+ return "Sort by discount";
29
+ case EnumDashboardSort_1.default.tip:
30
+ return "Sort by tip";
31
+ default:
32
+ return "";
33
+ }
34
+ }
35
+ todayPosMoney(orders) {
36
+ if (orders.length > 0) {
37
+ return orders.map(i => i.displayTotalAmount).reduce((a, b) => a + b);
38
+ }
39
+ return 0;
40
+ }
41
+ todayOnlineMoney(orders) {
42
+ if (orders.length > 0) {
43
+ return orders.map(i => i.amount).reduce((a, b) => a + b);
44
+ }
45
+ return 0;
46
+ }
47
+ todayMoney(localOrders, onlineOrders, mode) {
48
+ switch (mode) {
49
+ case EnumShowOrderMode_1.default.all:
50
+ return this.todayOnlineMoney(this.distinctAllOrders(localOrders, onlineOrders));
51
+ case EnumShowOrderMode_1.default.onlyPos:
52
+ return this.todayPosMoney(localOrders);
53
+ case EnumShowOrderMode_1.default.onlyWebShop:
54
+ return this.todayOnlineMoney(onlineOrders);
55
+ default:
56
+ return 0;
57
+ }
58
+ }
59
+ todayOrderCount(localOrders, onlineOrders, mode) {
60
+ switch (mode) {
61
+ case EnumShowOrderMode_1.default.all:
62
+ return this.distinctAllOrders(localOrders, onlineOrders).length;
63
+ case EnumShowOrderMode_1.default.onlyPos:
64
+ return localOrders.length;
65
+ case EnumShowOrderMode_1.default.onlyWebShop:
66
+ return onlineOrders.length;
67
+ default:
68
+ return 0;
69
+ }
70
+ }
71
+ customer(order) {
72
+ return order.customer.trim() === "" ? "GUEST" : order.customer;
73
+ }
74
+ customerForDashboardComponent(order) {
75
+ let text = order.customer.trim() === "" ? "GUEST" : order.customer;
76
+ if (text.length > 28)
77
+ text = text.substring(0, 25).trim() + "...";
78
+ return text;
79
+ }
80
+ sortOrders(orders, mode) {
81
+ switch (mode) {
82
+ case EnumDashboardSort_1.default.date:
83
+ return orders.sort((a, b) => a.registrationDate < b.registrationDate ? 1 : -1);
84
+ case EnumDashboardSort_1.default.amount:
85
+ return orders.sort((a, b) => a.amount < b.amount ? 1 : -1);
86
+ // case EnumDashboardSort.discount:
87
+ // return orders.sort((a: IOnlineOrderItem, b: IOnlineOrderItem) => a.displayDiscount >= b.displayDiscount ? 1 : -1);
88
+ // case EnumDashboardSort.tip:
89
+ // return orders.sort((a: IOrder, b: IOrder) => a.displayTip >= b.displayTip ? 1 : -1);
90
+ default:
91
+ return orders;
92
+ }
93
+ }
94
+ distinctAllOrders(localOrders, onlineOrders) {
95
+ let locals = localOrders.map(i => this.orderModelToOnlineOrderItem(i));
96
+ let localsIdList = locals.map(i => i.id);
97
+ let onLocals = onlineOrders.filter(i => !localsIdList.includes(i.id));
98
+ return [...locals, ...onLocals];
99
+ }
100
+ createOrderList(localOrders, onlineOrders, mode, sort) {
101
+ switch (mode) {
102
+ case EnumShowOrderMode_1.default.all:
103
+ return this.sortOrders(this.distinctAllOrders(localOrders, onlineOrders), sort);
104
+ case EnumShowOrderMode_1.default.onlyPos:
105
+ return this.sortOrders(this.distinctAllOrders(localOrders, onlineOrders.filter(i => i.via === "POS")), sort);
106
+ case EnumShowOrderMode_1.default.onlyWebShop:
107
+ return this.sortOrders(onlineOrders.filter(i => i.via !== "POS"), sort);
108
+ default:
109
+ return [];
110
+ }
111
+ }
112
+ orderModelToOnlineOrderItem(order) {
113
+ return {
114
+ amount: order.displayTotalAmount,
115
+ id: order.id,
116
+ orderType: order.orderType,
117
+ asSoonAsPossible: order.asSoonAsPossible,
118
+ companyId: 0,
119
+ customer: `${order.firstName} ${order.lastName}`,
120
+ customerId: 0,
121
+ desiredDateTime: "",
122
+ distance: 0,
123
+ driverFullName: order.driverName + "",
124
+ driverId: order.driverId ? order.driverId : -1,
125
+ duration: 0,
126
+ orderNumber: order.number,
127
+ orderTypeString: "",
128
+ haveDeliveryInstructionsRemarks: order.remark !== "",
129
+ paymentState: 1,
130
+ paymentStateString: "Paid",
131
+ state: 1,
132
+ paymentType: order.paymentType,
133
+ paymentTypeString: "",
134
+ preparationTime: "",
135
+ stateString: "POS",
136
+ registrationDate: order.registrationDate.toString(),
137
+ via: "POS",
138
+ remarks: order.remark !== "",
139
+ tip: 0,
140
+ deliveryCost: 0,
141
+ channel: 1,
142
+ discount: 0
143
+ };
144
+ }
145
+ getViaIcon(data) {
146
+ switch (data.via) {
147
+ case "POS":
148
+ return "store";
149
+ case "Web shop":
150
+ return "web";
151
+ default:
152
+ return undefined;
153
+ }
154
+ }
155
+ }();
@@ -0,0 +1,20 @@
1
+ import ITextValue from "../interfaces/ITextValue";
2
+ declare const _default: {
3
+ toDateString(date: Date): string;
4
+ strDateToStringShortDate(date: string): string;
5
+ showDesiredDate(date: string): string;
6
+ showDesiredTime(date: string): string;
7
+ showEstimateTime(time: string | null): string;
8
+ estimateToMinute(time: string | null): number;
9
+ minuteToEstimate(minute?: number): string;
10
+ dateBoxOptions(minimumDate?: string, maximumDate?: string): ITextValue[];
11
+ timeBoxOptions(): ITextValue[];
12
+ nearestTime(): string;
13
+ firstBiggerThanSecond(first: Date, second: Date): boolean;
14
+ mixDateAndTimeForTimeModal(date: string | null, time: string | null): Date;
15
+ dateToNumber(date: Date): string;
16
+ convertTimeStringToDateByT(data?: Date | string | null): Date | string | null;
17
+ formatAMPMDate(date: Date | string | null): string;
18
+ formatDateTime(dateTime: string, mode?: string): string;
19
+ };
20
+ export default _default;
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = new class DateTimeController {
4
+ toDateString(date) {
5
+ let parts = new Intl.DateTimeFormat("en-GB", {
6
+ day: "2-digit",
7
+ month: "2-digit",
8
+ year: "numeric"
9
+ }).format(date).split("/");
10
+ return `${parts[2]}-${parts[1]}-${parts[0]}`;
11
+ }
12
+ strDateToStringShortDate(date) {
13
+ try {
14
+ return date.split("T")[0];
15
+ }
16
+ catch (e) {
17
+ return date;
18
+ }
19
+ }
20
+ showDesiredDate(date) {
21
+ try {
22
+ let dt = new Date(Date.parse(date));
23
+ let hours = dt.getHours();
24
+ let minutes = dt.getMinutes();
25
+ let ampm = hours >= 12 ? "PM" : "AM";
26
+ hours = hours % 12;
27
+ hours = hours ? hours : 12; // the hour '0' should be "12"
28
+ minutes = minutes < 10 ? "0" + minutes : minutes;
29
+ let time = (hours < 10 ? "0" + hours : hours) + ":" + minutes + " " + ampm;
30
+ let dtString = new Intl.DateTimeFormat("en-CA", {
31
+ weekday: "short",
32
+ month: "short",
33
+ day: "2-digit"
34
+ }).format(dt ? dt : Date.now());
35
+ return (`${dtString} ${time}`);
36
+ }
37
+ catch (e) {
38
+ return date;
39
+ }
40
+ }
41
+ showDesiredTime(date) {
42
+ try {
43
+ return date.split("T")[1].substring(0, 5);
44
+ }
45
+ catch (e) {
46
+ return date;
47
+ }
48
+ }
49
+ showEstimateTime(time) {
50
+ return time !== null ? time : "00:00";
51
+ }
52
+ estimateToMinute(time) {
53
+ if (time === null)
54
+ return 0;
55
+ let parts = time.split(":");
56
+ return (+parts[0] * 60) + (+parts[1]);
57
+ }
58
+ minuteToEstimate(minute = 0) {
59
+ let hour = parseInt((minute / 60) + "");
60
+ let min = parseInt(((minute % 60) + "").substring(0, 2));
61
+ return (hour < 10 ? "0" : "") + hour + ":" + (min < 10 ? "0" : "") + min;
62
+ }
63
+ dateBoxOptions(minimumDate = "2023-03-08T00:00:00", maximumDate = "2023-04-08T00:00:00") {
64
+ let arr = [];
65
+ let date = new Date(minimumDate);
66
+ const max = new Date(maximumDate).toDateString();
67
+ do {
68
+ arr.push({
69
+ text: date.toDateString(),
70
+ value: date.toLocaleDateString("en-CA", {
71
+ year: "numeric",
72
+ month: "2-digit",
73
+ day: "2-digit"
74
+ })
75
+ });
76
+ // add a day
77
+ date.setDate(date.getDate() + 1);
78
+ } while (date.toDateString() !== max);
79
+ if (arr.length > 0) {
80
+ // arr[0].label = `Today ${arr[0].label}`;
81
+ arr[0].text = "Today";
82
+ }
83
+ if (arr.length > 1) {
84
+ // arr[1].label = `Tomorrow ${arr[1].label}`;
85
+ arr[1].text = "Tomorrow";
86
+ }
87
+ return arr;
88
+ }
89
+ timeBoxOptions() {
90
+ return [
91
+ { text: "12:00 AM", value: "00:00" },
92
+ { text: "12:15 AM", value: "00:15" },
93
+ { text: "12:30 AM", value: "00:30" },
94
+ { text: "12:45 AM", value: "00:45" },
95
+ { text: "01:00 AM", value: "01:00" },
96
+ { text: "01:15 AM", value: "01:15" },
97
+ { text: "01:30 AM", value: "01:30" },
98
+ { text: "01:45 AM", value: "01:45" },
99
+ { text: "02:00 AM", value: "02:00" },
100
+ { text: "02:15 AM", value: "02:15" },
101
+ { text: "02:30 AM", value: "02:30" },
102
+ { text: "02:45 AM", value: "02:45" },
103
+ { text: "03:00 AM", value: "03:00" },
104
+ { text: "03:15 AM", value: "03:15" },
105
+ { text: "03:30 AM", value: "03:30" },
106
+ { text: "03:45 AM", value: "03:45" },
107
+ { text: "04:00 AM", value: "04:00" },
108
+ { text: "04:15 AM", value: "04:15" },
109
+ { text: "04:30 AM", value: "04:30" },
110
+ { text: "04:45 AM", value: "04:45" },
111
+ { text: "05:00 AM", value: "05:00" },
112
+ { text: "05:15 AM", value: "05:15" },
113
+ { text: "05:30 AM", value: "05:30" },
114
+ { text: "05:45 AM", value: "05:45" },
115
+ { text: "06:00 AM", value: "06:00" },
116
+ { text: "06:15 AM", value: "06:15" },
117
+ { text: "06:30 AM", value: "06:30" },
118
+ { text: "06:45 AM", value: "06:45" },
119
+ { text: "07:00 AM", value: "07:00" },
120
+ { text: "07:15 AM", value: "07:15" },
121
+ { text: "07:30 AM", value: "07:30" },
122
+ { text: "07:45 AM", value: "07:45" },
123
+ { text: "08:00 AM", value: "08:00" },
124
+ { text: "08:15 AM", value: "08:15" },
125
+ { text: "08:30 AM", value: "08:30" },
126
+ { text: "08:45 AM", value: "08:45" },
127
+ { text: "09:00 AM", value: "09:00" },
128
+ { text: "09:15 AM", value: "09:15" },
129
+ { text: "09:30 AM", value: "09:30" },
130
+ { text: "09:45 AM", value: "09:45" },
131
+ { text: "10:00 AM", value: "10:00" },
132
+ { text: "10:15 AM", value: "10:15" },
133
+ { text: "10:30 AM", value: "10:30" },
134
+ { text: "10:45 AM", value: "10:45" },
135
+ { text: "11:00 AM", value: "11:00" },
136
+ { text: "11:15 AM", value: "11:15" },
137
+ { text: "11:30 AM", value: "11:30" },
138
+ { text: "11:45 AM", value: "11:45" },
139
+ { text: "12:00 PM", value: "12:00" },
140
+ { text: "12:15 PM", value: "12:15" },
141
+ { text: "12:30 PM", value: "12:30" },
142
+ { text: "12:45 PM", value: "12:45" },
143
+ { text: "01:00 PM", value: "13:00" },
144
+ { text: "01:15 PM", value: "13:15" },
145
+ { text: "01:30 PM", value: "13:30" },
146
+ { text: "01:45 PM", value: "13:45" },
147
+ { text: "02:00 PM", value: "14:00" },
148
+ { text: "02:15 PM", value: "14:15" },
149
+ { text: "02:30 PM", value: "14:30" },
150
+ { text: "02:45 PM", value: "14:45" },
151
+ { text: "03:00 PM", value: "15:00" },
152
+ { text: "03:15 PM", value: "15:15" },
153
+ { text: "03:30 PM", value: "15:30" },
154
+ { text: "03:45 PM", value: "15:45" },
155
+ { text: "04:00 PM", value: "16:00" },
156
+ { text: "04:15 PM", value: "16:15" },
157
+ { text: "04:30 PM", value: "16:30" },
158
+ { text: "04:45 PM", value: "16:45" },
159
+ { text: "05:00 PM", value: "17:00" },
160
+ { text: "05:15 PM", value: "17:15" },
161
+ { text: "05:30 PM", value: "17:30" },
162
+ { text: "05:45 PM", value: "17:45" },
163
+ { text: "06:00 PM", value: "18:00" },
164
+ { text: "06:15 PM", value: "18:15" },
165
+ { text: "06:30 PM", value: "18:30" },
166
+ { text: "06:45 PM", value: "18:45" },
167
+ { text: "07:00 PM", value: "19:00" },
168
+ { text: "07:15 PM", value: "19:15" },
169
+ { text: "07:30 PM", value: "19:30" },
170
+ { text: "07:45 PM", value: "19:45" },
171
+ { text: "08:00 PM", value: "20:00" },
172
+ { text: "08:15 PM", value: "20:15" },
173
+ { text: "08:30 PM", value: "20:30" },
174
+ { text: "08:45 PM", value: "20:45" },
175
+ { text: "09:00 PM", value: "21:00" },
176
+ { text: "09:15 PM", value: "21:15" },
177
+ { text: "09:30 PM", value: "21:30" },
178
+ { text: "09:45 PM", value: "21:45" },
179
+ { text: "10:00 PM", value: "22:00" },
180
+ { text: "10:15 PM", value: "22:15" },
181
+ { text: "10:30 PM", value: "22:30" },
182
+ { text: "10:45 PM", value: "22:45" },
183
+ { text: "11:00 PM", value: "23:00" },
184
+ { text: "11:15 PM", value: "23:15" },
185
+ { text: "11:30 PM", value: "23:30" },
186
+ { text: "11:45 PM", value: "23:45" }
187
+ ];
188
+ }
189
+ nearestTime() {
190
+ let dt = new Date();
191
+ let hours = dt.getHours();
192
+ let minutes = dt.getMinutes();
193
+ hours = hours < 10 ? "0" + hours : hours;
194
+ minutes = minutes < 10 ? "0" + minutes : minutes;
195
+ let time = `${hours}:${minutes}`;
196
+ let result = this.timeBoxOptions().find(i => i.value >= time);
197
+ if (!result)
198
+ return "00:00";
199
+ return result.value;
200
+ }
201
+ // isBetweenTowDate(start: Date, end: Date, date: Date) {
202
+ // return date.getTime() >= start.getTime() && date.getTime() <= end.getTime();
203
+ // }
204
+ firstBiggerThanSecond(first, second) {
205
+ return first.getTime() >= second.getTime();
206
+ }
207
+ mixDateAndTimeForTimeModal(date, time) {
208
+ let dt = new Date();
209
+ if (date) {
210
+ dt.setFullYear(+date.split("-")[0]);
211
+ dt.setMonth(+date.split("-")[1] - 1);
212
+ dt.setDate(+date.split("-")[2]);
213
+ }
214
+ if (time) {
215
+ dt.setHours(+time.split(":")[0]);
216
+ dt.setMinutes(+time.split(":")[1]);
217
+ dt.setSeconds(0);
218
+ dt.setMilliseconds(0);
219
+ }
220
+ return dt;
221
+ }
222
+ dateToNumber(date) {
223
+ let year = date.getFullYear();
224
+ let month = date.getMonth();
225
+ if (month < 10)
226
+ month = "0" + month;
227
+ let day = date.getDate();
228
+ if (day < 10)
229
+ day = "0" + day;
230
+ let hours = date.getHours();
231
+ if (hours < 10)
232
+ hours = "0" + hours;
233
+ let minutes = date.getMinutes();
234
+ if (minutes < 10)
235
+ minutes = "0" + minutes;
236
+ let second = date.getSeconds();
237
+ if (second < 10)
238
+ second = "0" + second;
239
+ let milliSecond = date.getMilliseconds() + "";
240
+ while (milliSecond.length < 3)
241
+ milliSecond = "0" + milliSecond;
242
+ return `${year}${month}${day}${hours}${minutes}${second}${milliSecond}`;
243
+ }
244
+ convertTimeStringToDateByT(data = null) {
245
+ if (data instanceof Date) {
246
+ return data;
247
+ }
248
+ else if (typeof data === "string" && data.length > 0) {
249
+ try {
250
+ const time_ = data.split("T");
251
+ const parts = time_[1].split(":");
252
+ let dd = new Date();
253
+ dd.setHours(isNaN(Number(parts[0])) ? 0 : Number(parts[0]));
254
+ dd.setMinutes(isNaN(Number(parts[1])) ? 0 : Number(parts[1]));
255
+ dd.setSeconds(isNaN(Number(parts[2])) ? 0 : Number(parts[2]));
256
+ return dd;
257
+ }
258
+ catch (e) {
259
+ return null;
260
+ }
261
+ }
262
+ else {
263
+ return null;
264
+ }
265
+ }
266
+ formatAMPMDate(date) {
267
+ let datetime = this.convertTimeStringToDateByT(date);
268
+ if (datetime instanceof Date) {
269
+ let hours = datetime.getHours();
270
+ let minutes = datetime.getMinutes();
271
+ let ampm = hours >= 12 ? "PM" : "AM";
272
+ hours = hours % 12;
273
+ hours = hours ? hours : 12;
274
+ minutes = minutes < 10 ? "0" + minutes : minutes;
275
+ return (hours < 10 ? "0" + hours : hours) + ":" + minutes + " " + ampm;
276
+ }
277
+ else {
278
+ return "";
279
+ }
280
+ }
281
+ formatDateTime(dateTime, mode = "full") {
282
+ try {
283
+ let dt = Date.parse(dateTime);
284
+ let time_ = this.formatAMPMDate(dateTime);
285
+ if (mode !== "full") {
286
+ return time_;
287
+ }
288
+ return (new Intl.DateTimeFormat("en-GB", {
289
+ weekday: "short",
290
+ year: "2-digit",
291
+ month: "short",
292
+ day: "2-digit"
293
+ // hour: "2-digit",
294
+ // minute: "2-digit"
295
+ }).format(dt ? dt : Date.now()) +
296
+ " " +
297
+ time_);
298
+ }
299
+ catch (e) {
300
+ return dateTime;
301
+ }
302
+ }
303
+ }();
@@ -0,0 +1,14 @@
1
+ import IStorageControler from "../interfaces/IStorageControler";
2
+ export default class LogController {
3
+ active: boolean;
4
+ label: string;
5
+ storage: IStorageControler;
6
+ constructor(pre_label: string, storageController: IStorageControler, state: boolean);
7
+ console(data: any): void;
8
+ description(title: string, description?: any): void;
9
+ error(title: string, description?: any): void;
10
+ info(title: string, description?: any): void;
11
+ log(title: string, description?: any): void;
12
+ private createLogDescription;
13
+ private _log;
14
+ }