merchi_cart 0.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 (307) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +99 -0
  3. package/lib/Cart.js +62 -0
  4. package/lib/CartAlert.js +43 -0
  5. package/lib/CartHeader.js +28 -0
  6. package/lib/CartProvider.js +304 -0
  7. package/lib/CartTotals.js +99 -0
  8. package/lib/MerchiSDK/constants/auto_assign_production_on_actions.js +8 -0
  9. package/lib/MerchiSDK/constants/call_to_actions.js +16 -0
  10. package/lib/MerchiSDK/constants/call_to_actions.test.js +5 -0
  11. package/lib/MerchiSDK/constants/discount_types.js +5 -0
  12. package/lib/MerchiSDK/constants/discount_types.test.js +5 -0
  13. package/lib/MerchiSDK/constants/domain_types.js +14 -0
  14. package/lib/MerchiSDK/constants/domain_types.test.js +5 -0
  15. package/lib/MerchiSDK/constants/errors.js +33 -0
  16. package/lib/MerchiSDK/constants/event_types.js +7 -0
  17. package/lib/MerchiSDK/constants/event_types.test.js +5 -0
  18. package/lib/MerchiSDK/constants/field_types.js +15 -0
  19. package/lib/MerchiSDK/constants/field_types.test.js +5 -0
  20. package/lib/MerchiSDK/constants/input_types.js +15 -0
  21. package/lib/MerchiSDK/constants/input_types.test.js +5 -0
  22. package/lib/MerchiSDK/constants/inventory_status.test.js +5 -0
  23. package/lib/MerchiSDK/constants/inventory_statuses.js +8 -0
  24. package/lib/MerchiSDK/constants/invoice_types.js +7 -0
  25. package/lib/MerchiSDK/constants/invoice_types.test.js +5 -0
  26. package/lib/MerchiSDK/constants/item_types.js +7 -0
  27. package/lib/MerchiSDK/constants/item_types.test.js +5 -0
  28. package/lib/MerchiSDK/constants/job/drafting_status.js +9 -0
  29. package/lib/MerchiSDK/constants/job/drafting_status.test.js +5 -0
  30. package/lib/MerchiSDK/constants/job/payment_status.js +9 -0
  31. package/lib/MerchiSDK/constants/job/payment_status.test.js +5 -0
  32. package/lib/MerchiSDK/constants/job/production_status.js +14 -0
  33. package/lib/MerchiSDK/constants/job/production_status.test.js +5 -0
  34. package/lib/MerchiSDK/constants/job/shipment_status.js +13 -0
  35. package/lib/MerchiSDK/constants/job/shipment_status.test.js +5 -0
  36. package/lib/MerchiSDK/constants/job/supply_chain_request_status.js +8 -0
  37. package/lib/MerchiSDK/constants/job/supply_chain_request_status.test.js +5 -0
  38. package/lib/MerchiSDK/constants/job_priorities.js +8 -0
  39. package/lib/MerchiSDK/constants/job_priorities.test.js +5 -0
  40. package/lib/MerchiSDK/constants/job_status.js +51 -0
  41. package/lib/MerchiSDK/constants/job_status.test.js +5 -0
  42. package/lib/MerchiSDK/constants/job_types.js +17 -0
  43. package/lib/MerchiSDK/constants/job_types.test.js +5 -0
  44. package/lib/MerchiSDK/constants/notification_sections.js +15 -0
  45. package/lib/MerchiSDK/constants/notification_sections.test.js +5 -0
  46. package/lib/MerchiSDK/constants/notification_types.js +99 -0
  47. package/lib/MerchiSDK/constants/notification_types.test.js +5 -0
  48. package/lib/MerchiSDK/constants/notification_urgencies.js +8 -0
  49. package/lib/MerchiSDK/constants/notification_urgencies.test.js +5 -0
  50. package/lib/MerchiSDK/constants/payment_types.js +12 -0
  51. package/lib/MerchiSDK/constants/payment_types.test.js +5 -0
  52. package/lib/MerchiSDK/constants/platform.js +6 -0
  53. package/lib/MerchiSDK/constants/platform.test.js +9 -0
  54. package/lib/MerchiSDK/constants/product_types.js +27 -0
  55. package/lib/MerchiSDK/constants/product_types.test.js +5 -0
  56. package/lib/MerchiSDK/constants/rights.js +7 -0
  57. package/lib/MerchiSDK/constants/rights.test.js +5 -0
  58. package/lib/MerchiSDK/constants/robots_meta_directives.js +2 -0
  59. package/lib/MerchiSDK/constants/robots_meta_directives.test.js +5 -0
  60. package/lib/MerchiSDK/constants/roles.js +26 -0
  61. package/lib/MerchiSDK/constants/roles.test.js +5 -0
  62. package/lib/MerchiSDK/constants/shipment_companies.js +20 -0
  63. package/lib/MerchiSDK/constants/shipment_companies.test.js +5 -0
  64. package/lib/MerchiSDK/constants/shipment_services.js +5 -0
  65. package/lib/MerchiSDK/constants/shipment_services.test.js +5 -0
  66. package/lib/MerchiSDK/constants/system_roles.js +5 -0
  67. package/lib/MerchiSDK/constants/system_roles.test.js +5 -0
  68. package/lib/MerchiSDK/constants/theme_foundations.js +8 -0
  69. package/lib/MerchiSDK/constants/theme_foundations.test.js +5 -0
  70. package/lib/MerchiSDK/constants/theme_status.js +7 -0
  71. package/lib/MerchiSDK/constants/theme_status.test.js +5 -0
  72. package/lib/MerchiSDK/constants/user_types.js +19 -0
  73. package/lib/MerchiSDK/constants/user_types.test.js +5 -0
  74. package/lib/MerchiSDK/constants/white_label_accessibilities.js +7 -0
  75. package/lib/MerchiSDK/constants/white_label_accessibilities.test.js +5 -0
  76. package/lib/MerchiSDK/cookie.js +17 -0
  77. package/lib/MerchiSDK/cookie.test.js +13 -0
  78. package/lib/MerchiSDK/entities/address.js +166 -0
  79. package/lib/MerchiSDK/entities/address.test.js +7 -0
  80. package/lib/MerchiSDK/entities/assignment.js +185 -0
  81. package/lib/MerchiSDK/entities/assignment.test.js +39 -0
  82. package/lib/MerchiSDK/entities/automatic_payment_relationship.js +77 -0
  83. package/lib/MerchiSDK/entities/automatic_payment_relationship.test.js +7 -0
  84. package/lib/MerchiSDK/entities/backup.js +44 -0
  85. package/lib/MerchiSDK/entities/backup.test.js +7 -0
  86. package/lib/MerchiSDK/entities/bank.js +116 -0
  87. package/lib/MerchiSDK/entities/bank.test.js +7 -0
  88. package/lib/MerchiSDK/entities/cart.js +203 -0
  89. package/lib/MerchiSDK/entities/cart.test.js +53 -0
  90. package/lib/MerchiSDK/entities/cart_item.js +153 -0
  91. package/lib/MerchiSDK/entities/cart_item.test.js +35 -0
  92. package/lib/MerchiSDK/entities/cart_shipment_group.js +62 -0
  93. package/lib/MerchiSDK/entities/cart_shipment_quote.js +85 -0
  94. package/lib/MerchiSDK/entities/category.js +92 -0
  95. package/lib/MerchiSDK/entities/category.test.js +53 -0
  96. package/lib/MerchiSDK/entities/company.js +648 -0
  97. package/lib/MerchiSDK/entities/company.test.js +7 -0
  98. package/lib/MerchiSDK/entities/company_invitation.js +82 -0
  99. package/lib/MerchiSDK/entities/company_invitation.test.js +7 -0
  100. package/lib/MerchiSDK/entities/component.js +209 -0
  101. package/lib/MerchiSDK/entities/component.test.js +13 -0
  102. package/lib/MerchiSDK/entities/component_tag.js +50 -0
  103. package/lib/MerchiSDK/entities/component_tag.test.js +7 -0
  104. package/lib/MerchiSDK/entities/component_version.js +80 -0
  105. package/lib/MerchiSDK/entities/component_version.test.js +7 -0
  106. package/lib/MerchiSDK/entities/country_tax.js +110 -0
  107. package/lib/MerchiSDK/entities/country_tax.test.js +12 -0
  108. package/lib/MerchiSDK/entities/discount.js +77 -0
  109. package/lib/MerchiSDK/entities/discount.test.js +21 -0
  110. package/lib/MerchiSDK/entities/discount_group.js +74 -0
  111. package/lib/MerchiSDK/entities/discount_group.test.js +7 -0
  112. package/lib/MerchiSDK/entities/domain.js +535 -0
  113. package/lib/MerchiSDK/entities/domain.test.js +76 -0
  114. package/lib/MerchiSDK/entities/domain_invitation.js +90 -0
  115. package/lib/MerchiSDK/entities/domain_invitation.test.js +7 -0
  116. package/lib/MerchiSDK/entities/domain_tag.js +100 -0
  117. package/lib/MerchiSDK/entities/domain_tag.test.js +7 -0
  118. package/lib/MerchiSDK/entities/draft.js +180 -0
  119. package/lib/MerchiSDK/entities/draft.test.js +40 -0
  120. package/lib/MerchiSDK/entities/draft_comment.js +132 -0
  121. package/lib/MerchiSDK/entities/draft_comment.test.js +7 -0
  122. package/lib/MerchiSDK/entities/draft_template.js +105 -0
  123. package/lib/MerchiSDK/entities/draft_template.test.js +7 -0
  124. package/lib/MerchiSDK/entities/email_address.js +68 -0
  125. package/lib/MerchiSDK/entities/email_address.test.js +7 -0
  126. package/lib/MerchiSDK/entities/email_counter.js +56 -0
  127. package/lib/MerchiSDK/entities/email_counter.test.js +7 -0
  128. package/lib/MerchiSDK/entities/enrolled_domain.js +85 -0
  129. package/lib/MerchiSDK/entities/enrolled_domain.test.js +7 -0
  130. package/lib/MerchiSDK/entities/exchange_rate.js +62 -0
  131. package/lib/MerchiSDK/entities/exchange_rate.test.js +7 -0
  132. package/lib/MerchiSDK/entities/file.js +384 -0
  133. package/lib/MerchiSDK/entities/file.test.js +39 -0
  134. package/lib/MerchiSDK/entities/internal_tag.js +120 -0
  135. package/lib/MerchiSDK/entities/internal_tag.test.js +7 -0
  136. package/lib/MerchiSDK/entities/inventory.js +120 -0
  137. package/lib/MerchiSDK/entities/inventory.test.js +27 -0
  138. package/lib/MerchiSDK/entities/inventory_unit_variation.js +64 -0
  139. package/lib/MerchiSDK/entities/inventory_unit_variation.test.js +7 -0
  140. package/lib/MerchiSDK/entities/invoice.js +420 -0
  141. package/lib/MerchiSDK/entities/invoice.test.js +40 -0
  142. package/lib/MerchiSDK/entities/item.js +102 -0
  143. package/lib/MerchiSDK/entities/item.test.js +18 -0
  144. package/lib/MerchiSDK/entities/job.js +744 -0
  145. package/lib/MerchiSDK/entities/job.test.js +104 -0
  146. package/lib/MerchiSDK/entities/job_comment.js +120 -0
  147. package/lib/MerchiSDK/entities/job_comment.test.js +7 -0
  148. package/lib/MerchiSDK/entities/matching_inventory.js +77 -0
  149. package/lib/MerchiSDK/entities/menu.js +78 -0
  150. package/lib/MerchiSDK/entities/menu.test.js +7 -0
  151. package/lib/MerchiSDK/entities/menu_item.js +76 -0
  152. package/lib/MerchiSDK/entities/menu_item.test.js +7 -0
  153. package/lib/MerchiSDK/entities/notification.js +234 -0
  154. package/lib/MerchiSDK/entities/notification.test.js +7 -0
  155. package/lib/MerchiSDK/entities/page.js +84 -0
  156. package/lib/MerchiSDK/entities/page.test.js +7 -0
  157. package/lib/MerchiSDK/entities/payment.js +141 -0
  158. package/lib/MerchiSDK/entities/payment.test.js +19 -0
  159. package/lib/MerchiSDK/entities/payment_device.js +87 -0
  160. package/lib/MerchiSDK/entities/payment_device.test.js +7 -0
  161. package/lib/MerchiSDK/entities/phone_number.js +98 -0
  162. package/lib/MerchiSDK/entities/phone_number.test.js +7 -0
  163. package/lib/MerchiSDK/entities/product.js +806 -0
  164. package/lib/MerchiSDK/entities/product.test.js +812 -0
  165. package/lib/MerchiSDK/entities/production_comment.js +120 -0
  166. package/lib/MerchiSDK/entities/production_comment.test.js +7 -0
  167. package/lib/MerchiSDK/entities/quote.js +208 -0
  168. package/lib/MerchiSDK/entities/quote.test.js +108 -0
  169. package/lib/MerchiSDK/entities/quote_item.js +121 -0
  170. package/lib/MerchiSDK/entities/quote_item.test.js +57 -0
  171. package/lib/MerchiSDK/entities/seo_domain_page.js +82 -0
  172. package/lib/MerchiSDK/entities/seo_domain_page.test.js +7 -0
  173. package/lib/MerchiSDK/entities/session.js +77 -0
  174. package/lib/MerchiSDK/entities/session.test.js +7 -0
  175. package/lib/MerchiSDK/entities/shipment.js +401 -0
  176. package/lib/MerchiSDK/entities/shipment.test.js +29 -0
  177. package/lib/MerchiSDK/entities/shipment_item.js +49 -0
  178. package/lib/MerchiSDK/entities/shipment_item.test.js +7 -0
  179. package/lib/MerchiSDK/entities/shipment_item_fulfillment.js +48 -0
  180. package/lib/MerchiSDK/entities/shipment_item_fulfillment.test.js +7 -0
  181. package/lib/MerchiSDK/entities/shipment_method.js +146 -0
  182. package/lib/MerchiSDK/entities/shipment_method.test.js +7 -0
  183. package/lib/MerchiSDK/entities/shipment_method_variation.js +104 -0
  184. package/lib/MerchiSDK/entities/shipment_method_variation.test.js +7 -0
  185. package/lib/MerchiSDK/entities/short_url.js +95 -0
  186. package/lib/MerchiSDK/entities/short_url.test.js +7 -0
  187. package/lib/MerchiSDK/entities/subscription_plan.js +172 -0
  188. package/lib/MerchiSDK/entities/subscription_plan.test.js +7 -0
  189. package/lib/MerchiSDK/entities/supply_domain.js +73 -0
  190. package/lib/MerchiSDK/entities/supply_domain.test.js +7 -0
  191. package/lib/MerchiSDK/entities/system_role.js +50 -0
  192. package/lib/MerchiSDK/entities/system_role.test.js +7 -0
  193. package/lib/MerchiSDK/entities/theme.js +614 -0
  194. package/lib/MerchiSDK/entities/theme.test.js +40 -0
  195. package/lib/MerchiSDK/entities/theme_css_setting.js +67 -0
  196. package/lib/MerchiSDK/entities/theme_css_setting.test.js +7 -0
  197. package/lib/MerchiSDK/entities/user.js +749 -0
  198. package/lib/MerchiSDK/entities/user.test.js +158 -0
  199. package/lib/MerchiSDK/entities/user_company.js +78 -0
  200. package/lib/MerchiSDK/entities/user_company.test.js +7 -0
  201. package/lib/MerchiSDK/entities/variation.js +147 -0
  202. package/lib/MerchiSDK/entities/variation.test.js +7 -0
  203. package/lib/MerchiSDK/entities/variation_field.js +313 -0
  204. package/lib/MerchiSDK/entities/variation_field.test.js +70 -0
  205. package/lib/MerchiSDK/entities/variation_fields_option.js +190 -0
  206. package/lib/MerchiSDK/entities/variation_fields_option.test.js +48 -0
  207. package/lib/MerchiSDK/entities/variation_option.js +129 -0
  208. package/lib/MerchiSDK/entities/variation_option.test.js +7 -0
  209. package/lib/MerchiSDK/entities/variations_group.js +111 -0
  210. package/lib/MerchiSDK/entities/variations_group.test.js +7 -0
  211. package/lib/MerchiSDK/entity.js +896 -0
  212. package/lib/MerchiSDK/merchi.js +332 -0
  213. package/lib/MerchiSDK/merchi.test.js +36 -0
  214. package/lib/MerchiSDK/request.js +137 -0
  215. package/lib/MerchiSDK/request.test.js +47 -0
  216. package/lib/MerchiSDK/test_util.js +20 -0
  217. package/lib/MerchiSDK/toasts.js +28 -0
  218. package/lib/MerchiSDK/toasts.test.js +47 -0
  219. package/lib/MerchiSDK/util/float.js +25 -0
  220. package/lib/MerchiSDK/util/query_string.js +12 -0
  221. package/lib/MerchiSDK/util/query_string.test.js +7 -0
  222. package/lib/MerchiSDK/util/validation.js +4 -0
  223. package/lib/MerchiSDK/util/validation.test.js +13 -0
  224. package/lib/MerchiSDK/uuid.js +9 -0
  225. package/lib/MerchiSDK/uuid.test.js +14 -0
  226. package/lib/assets/merchi-swipe-outline.png +0 -0
  227. package/lib/assets/product-not-found.png +0 -0
  228. package/lib/buttons/Button.js +24 -0
  229. package/lib/buttons/ButtonBack.js +38 -0
  230. package/lib/buttons/ButtonClearCart.js +19 -0
  231. package/lib/buttons/ButtonInvoiceDownload.js +96 -0
  232. package/lib/buttons/ButtonNext.js +45 -0
  233. package/lib/buttons/ButtonNextDynamic.js +23 -0
  234. package/lib/buttons/ButtonPay.js +28 -0
  235. package/lib/buttons/ButtonShipmentTabNext.js +33 -0
  236. package/lib/buttons/index.js +8 -0
  237. package/lib/components/Alert.js +27 -0
  238. package/lib/components/CartBody.js +15 -0
  239. package/lib/components/CartClient.js +52 -0
  240. package/lib/components/CartFooter.js +13 -0
  241. package/lib/components/CartItemRow.js +133 -0
  242. package/lib/components/CartPaymentSettingsInvalid.js +15 -0
  243. package/lib/components/CartShipment.js +57 -0
  244. package/lib/components/CartTabContent.js +13 -0
  245. package/lib/components/CartTabPanel.js +26 -0
  246. package/lib/components/CartTableContainer.js +13 -0
  247. package/lib/components/Collapse.js +33 -0
  248. package/lib/components/LoadingTemplate.js +25 -0
  249. package/lib/components/NoCartItems.js +18 -0
  250. package/lib/components/ShipmentGroupCard.js +132 -0
  251. package/lib/components/Table.js +12 -0
  252. package/lib/components/Title.js +28 -0
  253. package/lib/components/containers.js +32 -0
  254. package/lib/components/index.js +15 -0
  255. package/lib/forms/FormNewCustomer.js +157 -0
  256. package/lib/forms/FormReturningCustomer.js +93 -0
  257. package/lib/forms/FormShipmentAddressAndNotes.js +118 -0
  258. package/lib/forms/FormSquarePayment.js +17 -0
  259. package/lib/forms/FormStripePayment.js +17 -0
  260. package/lib/forms/InputAcceptUserTermsAndConditions.js +38 -0
  261. package/lib/forms/InputError.js +17 -0
  262. package/lib/forms/InputSelect.js +52 -0
  263. package/lib/forms/InputText.js +59 -0
  264. package/lib/forms/InputsAddress.js +226 -0
  265. package/lib/index.js +5 -0
  266. package/lib/panels/PanelCartItems.js +59 -0
  267. package/lib/panels/PanelCartShipment.js +74 -0
  268. package/lib/panels/PanelClearCart.js +49 -0
  269. package/lib/panels/PanelClientCheckout.js +80 -0
  270. package/lib/panels/PanelEditCartItem.js +63 -0
  271. package/lib/panels/PanelPaymentSuccess.js +70 -0
  272. package/lib/panels/index.js +8 -0
  273. package/lib/slices/sliceCart.js +178 -0
  274. package/lib/slices/sliceCartAlert.js +35 -0
  275. package/lib/slices/sliceCartItem.js +30 -0
  276. package/lib/slices/sliceCartPayment.js +47 -0
  277. package/lib/slices/sliceCartShipment.js +72 -0
  278. package/lib/slices/sliceFormReturningCustomer.js +24 -0
  279. package/lib/slices/sliceNewCustomerForm.js +23 -0
  280. package/lib/square/SquareCard.js +52 -0
  281. package/lib/square/actions.js +53 -0
  282. package/lib/square/slices/reducersSquare.js +8 -0
  283. package/lib/square/slices/sliceSquareAlerts.js +34 -0
  284. package/lib/square/slices/sliceSquareForm.js +30 -0
  285. package/lib/store.js +704 -0
  286. package/lib/stripe/StripeCardFields.js +131 -0
  287. package/lib/stripe/StripeCardForm.js +149 -0
  288. package/lib/stripe/StripePaymentButtons.js +99 -0
  289. package/lib/stripe/actions.js +203 -0
  290. package/lib/stripe/slices/sliceStripeAlerts.js +34 -0
  291. package/lib/stripe/slices/sliceStripeCardForm.js +8 -0
  292. package/lib/stripe/slices/sliceStripeForm.js +57 -0
  293. package/lib/stripe/utils.js +20 -0
  294. package/lib/styles/globals.scss +179 -0
  295. package/lib/tabs/CartNav.js +33 -0
  296. package/lib/tabs/NavTab.js +38 -0
  297. package/lib/utilities/address.js +343 -0
  298. package/lib/utilities/cart.js +91 -0
  299. package/lib/utilities/company.js +7 -0
  300. package/lib/utilities/cookie.js +135 -0
  301. package/lib/utilities/currency.js +220 -0
  302. package/lib/utilities/helpers.js +224 -0
  303. package/lib/utilities/invoice.js +120 -0
  304. package/lib/utilities/product.js +6 -0
  305. package/lib/utilities/user.js +77 -0
  306. package/lib/utilities/variations.js +48 -0
  307. package/package.json +90 -0
@@ -0,0 +1,120 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _class2;
3
+ function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
4
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
5
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
10
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
11
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
12
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
13
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
15
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
16
+ function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
17
+ function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }
18
+ import { Entity } from '../entity';
19
+ export var ProductionComment = (_dec = ProductionComment.property({
20
+ type: Date
21
+ }), _dec2 = ProductionComment.property(), _dec3 = ProductionComment.property({
22
+ type: Date
23
+ }), _dec4 = ProductionComment.property(), _dec5 = ProductionComment.property(), _dec6 = ProductionComment.property(), _dec7 = ProductionComment.property(), _dec8 = ProductionComment.property(), _dec9 = ProductionComment.property({
24
+ arrayType: "MerchiFile"
25
+ }), _dec10 = ProductionComment.property(), _dec11 = ProductionComment.property({
26
+ arrayType: 'User'
27
+ }), _dec12 = ProductionComment.property({
28
+ arrayType: 'Notification'
29
+ }), _dec13 = ProductionComment.property(), (_class = (_class2 = /*#__PURE__*/function (_Entity) {
30
+ _inherits(ProductionComment, _Entity);
31
+ function ProductionComment() {
32
+ var _this;
33
+ _classCallCheck(this, ProductionComment);
34
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
35
+ args[_key] = arguments[_key];
36
+ }
37
+ _this = _callSuper(this, ProductionComment, [].concat(args));
38
+ _initializerDefineProperty(_this, "archived", _descriptor, _assertThisInitialized(_this));
39
+ _initializerDefineProperty(_this, "id", _descriptor2, _assertThisInitialized(_this));
40
+ _initializerDefineProperty(_this, "date", _descriptor3, _assertThisInitialized(_this));
41
+ _initializerDefineProperty(_this, "urgency", _descriptor4, _assertThisInitialized(_this));
42
+ _initializerDefineProperty(_this, "text", _descriptor5, _assertThisInitialized(_this));
43
+ _initializerDefineProperty(_this, "isUrgentQuestion", _descriptor6, _assertThisInitialized(_this));
44
+ _initializerDefineProperty(_this, "sendSms", _descriptor7, _assertThisInitialized(_this));
45
+ _initializerDefineProperty(_this, "sendEmail", _descriptor8, _assertThisInitialized(_this));
46
+ _initializerDefineProperty(_this, "files", _descriptor9, _assertThisInitialized(_this));
47
+ _initializerDefineProperty(_this, "user", _descriptor10, _assertThisInitialized(_this));
48
+ _initializerDefineProperty(_this, "forwards", _descriptor11, _assertThisInitialized(_this));
49
+ _initializerDefineProperty(_this, "notifications", _descriptor12, _assertThisInitialized(_this));
50
+ _initializerDefineProperty(_this, "assignment", _descriptor13, _assertThisInitialized(_this));
51
+ return _this;
52
+ }
53
+ return _createClass(ProductionComment);
54
+ }(Entity), _class2.resourceName = 'production_comments', _class2.singularName = 'productionComment', _class2.pluralName = 'productionComments', _class2), (_descriptor = _applyDecoratedDescriptor(_class.prototype, "archived", [_dec], {
55
+ configurable: true,
56
+ enumerable: true,
57
+ writable: true,
58
+ initializer: null
59
+ }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "id", [_dec2], {
60
+ configurable: true,
61
+ enumerable: true,
62
+ writable: true,
63
+ initializer: null
64
+ }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "date", [_dec3], {
65
+ configurable: true,
66
+ enumerable: true,
67
+ writable: true,
68
+ initializer: null
69
+ }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "urgency", [_dec4], {
70
+ configurable: true,
71
+ enumerable: true,
72
+ writable: true,
73
+ initializer: null
74
+ }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, "text", [_dec5], {
75
+ configurable: true,
76
+ enumerable: true,
77
+ writable: true,
78
+ initializer: null
79
+ }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, "isUrgentQuestion", [_dec6], {
80
+ configurable: true,
81
+ enumerable: true,
82
+ writable: true,
83
+ initializer: null
84
+ }), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, "sendSms", [_dec7], {
85
+ configurable: true,
86
+ enumerable: true,
87
+ writable: true,
88
+ initializer: null
89
+ }), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, "sendEmail", [_dec8], {
90
+ configurable: true,
91
+ enumerable: true,
92
+ writable: true,
93
+ initializer: null
94
+ }), _descriptor9 = _applyDecoratedDescriptor(_class.prototype, "files", [_dec9], {
95
+ configurable: true,
96
+ enumerable: true,
97
+ writable: true,
98
+ initializer: null
99
+ }), _descriptor10 = _applyDecoratedDescriptor(_class.prototype, "user", [_dec10], {
100
+ configurable: true,
101
+ enumerable: true,
102
+ writable: true,
103
+ initializer: null
104
+ }), _descriptor11 = _applyDecoratedDescriptor(_class.prototype, "forwards", [_dec11], {
105
+ configurable: true,
106
+ enumerable: true,
107
+ writable: true,
108
+ initializer: null
109
+ }), _descriptor12 = _applyDecoratedDescriptor(_class.prototype, "notifications", [_dec12], {
110
+ configurable: true,
111
+ enumerable: true,
112
+ writable: true,
113
+ initializer: null
114
+ }), _descriptor13 = _applyDecoratedDescriptor(_class.prototype, "assignment", [_dec13], {
115
+ configurable: true,
116
+ enumerable: true,
117
+ writable: true,
118
+ initializer: null
119
+ })), _class));
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbnRpdHkiLCJQcm9kdWN0aW9uQ29tbWVudCIsIl9kZWMiLCJwcm9wZXJ0eSIsInR5cGUiLCJEYXRlIiwiX2RlYzIiLCJfZGVjMyIsIl9kZWM0IiwiX2RlYzUiLCJfZGVjNiIsIl9kZWM3IiwiX2RlYzgiLCJfZGVjOSIsImFycmF5VHlwZSIsIl9kZWMxMCIsIl9kZWMxMSIsIl9kZWMxMiIsIl9kZWMxMyIsIl9jbGFzcyIsIl9jbGFzczIiLCJfRW50aXR5IiwiX2luaGVyaXRzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsIl9jYWxsU3VwZXIiLCJjb25jYXQiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9kZXNjcmlwdG9yOSIsIl9kZXNjcmlwdG9yMTAiLCJfZGVzY3JpcHRvcjExIiwiX2Rlc2NyaXB0b3IxMiIsIl9kZXNjcmlwdG9yMTMiLCJfY3JlYXRlQ2xhc3MiLCJyZXNvdXJjZU5hbWUiLCJzaW5ndWxhck5hbWUiLCJwbHVyYWxOYW1lIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsInByb3RvdHlwZSIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL01lcmNoaVNESy9lbnRpdGllcy9wcm9kdWN0aW9uX2NvbW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzaWdubWVudCB9IGZyb20gJy4vYXNzaWdubWVudCc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbnRpdHknO1xuaW1wb3J0IHsgTWVyY2hpRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcblxuZXhwb3J0IGNsYXNzIFByb2R1Y3Rpb25Db21tZW50IGV4dGVuZHMgRW50aXR5IHtcbiAgcHJvdGVjdGVkIHN0YXRpYyByZXNvdXJjZU5hbWUgPSAncHJvZHVjdGlvbl9jb21tZW50cyc7XG4gIHByb3RlY3RlZCBzdGF0aWMgc2luZ3VsYXJOYW1lID0gJ3Byb2R1Y3Rpb25Db21tZW50JztcbiAgcHJvdGVjdGVkIHN0YXRpYyBwbHVyYWxOYW1lID0gJ3Byb2R1Y3Rpb25Db21tZW50cyc7XG5cbiAgQFByb2R1Y3Rpb25Db21tZW50LnByb3BlcnR5KHt0eXBlOiBEYXRlfSlcbiAgcHVibGljIGFyY2hpdmVkPzogRGF0ZSB8IG51bGw7XG5cbiAgQFByb2R1Y3Rpb25Db21tZW50LnByb3BlcnR5KClcbiAgcHVibGljIGlkPzogbnVtYmVyO1xuXG4gIEBQcm9kdWN0aW9uQ29tbWVudC5wcm9wZXJ0eSh7dHlwZTogRGF0ZX0pXG4gIHB1YmxpYyBkYXRlPzogRGF0ZSB8IG51bGw7XG5cbiAgQFByb2R1Y3Rpb25Db21tZW50LnByb3BlcnR5KClcbiAgcHVibGljIHVyZ2VuY3k/OiBudW1iZXI7XG5cbiAgQFByb2R1Y3Rpb25Db21tZW50LnByb3BlcnR5KClcbiAgcHVibGljIHRleHQ/OiBzdHJpbmc7XG5cbiAgQFByb2R1Y3Rpb25Db21tZW50LnByb3BlcnR5KClcbiAgcHVibGljIGlzVXJnZW50UXVlc3Rpb24/OiBib29sZWFuO1xuXG4gIEBQcm9kdWN0aW9uQ29tbWVudC5wcm9wZXJ0eSgpXG4gIHB1YmxpYyBzZW5kU21zPzogYm9vbGVhbjtcblxuICBAUHJvZHVjdGlvbkNvbW1lbnQucHJvcGVydHkoKVxuICBwdWJsaWMgc2VuZEVtYWlsPzogYm9vbGVhbjtcblxuICBAUHJvZHVjdGlvbkNvbW1lbnQucHJvcGVydHkoe2FycmF5VHlwZTogXCJNZXJjaGlGaWxlXCJ9KVxuICBwdWJsaWMgZmlsZXM/OiBNZXJjaGlGaWxlW107XG5cbiAgQFByb2R1Y3Rpb25Db21tZW50LnByb3BlcnR5KClcbiAgcHVibGljIHVzZXI/OiBVc2VyO1xuXG4gIEBQcm9kdWN0aW9uQ29tbWVudC5wcm9wZXJ0eSh7YXJyYXlUeXBlOiAnVXNlcid9KVxuICBwdWJsaWMgZm9yd2FyZHM/OiBVc2VyW107XG5cbiAgQFByb2R1Y3Rpb25Db21tZW50LnByb3BlcnR5KHthcnJheVR5cGU6ICdOb3RpZmljYXRpb24nfSlcbiAgcHVibGljIG5vdGlmaWNhdGlvbnM/OiBOb3RpZmljYXRpb25bXTtcblxuICBAUHJvZHVjdGlvbkNvbW1lbnQucHJvcGVydHkoKVxuICBwdWJsaWMgYXNzaWdubWVudD86IEFzc2lnbm1lbnQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsU0FBU0EsTUFBTSxRQUFRLFdBQVc7QUFLbEMsV0FBYUMsaUJBQWlCLElBQUFDLElBQUEsR0FLM0JELGlCQUFpQixDQUFDRSxRQUFRLENBQUM7RUFBQ0MsSUFBSSxFQUFFQztBQUFJLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBR3hDTCxpQkFBaUIsQ0FBQ0UsUUFBUSxDQUFDLENBQUMsRUFBQUksS0FBQSxHQUc1Qk4saUJBQWlCLENBQUNFLFFBQVEsQ0FBQztFQUFDQyxJQUFJLEVBQUVDO0FBQUksQ0FBQyxDQUFDLEVBQUFHLEtBQUEsR0FHeENQLGlCQUFpQixDQUFDRSxRQUFRLENBQUMsQ0FBQyxFQUFBTSxLQUFBLEdBRzVCUixpQkFBaUIsQ0FBQ0UsUUFBUSxDQUFDLENBQUMsRUFBQU8sS0FBQSxHQUc1QlQsaUJBQWlCLENBQUNFLFFBQVEsQ0FBQyxDQUFDLEVBQUFRLEtBQUEsR0FHNUJWLGlCQUFpQixDQUFDRSxRQUFRLENBQUMsQ0FBQyxFQUFBUyxLQUFBLEdBRzVCWCxpQkFBaUIsQ0FBQ0UsUUFBUSxDQUFDLENBQUMsRUFB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
@@ -0,0 +1,7 @@
1
+ import { Merchi } from '../merchi';
2
+ test('can make ProductionComment', function () {
3
+ var merchi = new Merchi();
4
+ var productionComment = new merchi.ProductionComment();
5
+ expect(productionComment).toBeTruthy();
6
+ });
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXJjaGkiLCJ0ZXN0IiwibWVyY2hpIiwicHJvZHVjdGlvbkNvbW1lbnQiLCJQcm9kdWN0aW9uQ29tbWVudCIsImV4cGVjdCIsInRvQmVUcnV0aHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTWVyY2hpU0RLL2VudGl0aWVzL3Byb2R1Y3Rpb25fY29tbWVudC50ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lcmNoaSB9IGZyb20gJy4uL21lcmNoaSc7XG5cbnRlc3QoJ2NhbiBtYWtlIFByb2R1Y3Rpb25Db21tZW50JywgKCkgPT4ge1xuICBjb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG4gIGNvbnN0IHByb2R1Y3Rpb25Db21tZW50ID0gbmV3IG1lcmNoaS5Qcm9kdWN0aW9uQ29tbWVudCgpO1xuICBleHBlY3QocHJvZHVjdGlvbkNvbW1lbnQpLnRvQmVUcnV0aHkoKTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxNQUFNLFFBQVEsV0FBVztBQUVsQ0MsSUFBSSxDQUFDLDRCQUE0QixFQUFFLFlBQU07RUFDdkMsSUFBTUMsTUFBTSxHQUFHLElBQUlGLE1BQU0sQ0FBQyxDQUFDO0VBQzNCLElBQU1HLGlCQUFpQixHQUFHLElBQUlELE1BQU0sQ0FBQ0UsaUJBQWlCLENBQUMsQ0FBQztFQUN4REMsTUFBTSxDQUFDRixpQkFBaUIsQ0FBQyxDQUFDRyxVQUFVLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMifQ==
@@ -0,0 +1,208 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _class2;
3
+ function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
4
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
5
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
10
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
11
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
12
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
13
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
15
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
16
+ function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
17
+ function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }
18
+ import { Invoice } from './invoice';
19
+ import { Entity } from '../entity';
20
+ import { kahanSum } from '../util/float';
21
+ export var Quote = (_dec = Quote.property({
22
+ type: Date
23
+ }), _dec2 = Quote.property(), _dec3 = Quote.property(), _dec4 = Quote.property({
24
+ type: Date
25
+ }), _dec5 = Quote.property({
26
+ arrayType: 'Shipment'
27
+ }), _dec6 = Quote.property({
28
+ arrayType: 'QuoteItem'
29
+ }), _dec7 = Quote.property({
30
+ arrayType: 'Assignment'
31
+ }), _dec8 = Quote.property({
32
+ type: Invoice
33
+ }), (_class = (_class2 = /*#__PURE__*/function (_Entity) {
34
+ _inherits(Quote, _Entity);
35
+ function Quote() {
36
+ var _this;
37
+ _classCallCheck(this, Quote);
38
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
39
+ args[_key] = arguments[_key];
40
+ }
41
+ _this = _callSuper(this, Quote, [].concat(args));
42
+ _initializerDefineProperty(_this, "archived", _descriptor, _assertThisInitialized(_this));
43
+ _initializerDefineProperty(_this, "currency", _descriptor2, _assertThisInitialized(_this));
44
+ _initializerDefineProperty(_this, "id", _descriptor3, _assertThisInitialized(_this));
45
+ _initializerDefineProperty(_this, "agreedDeadline", _descriptor4, _assertThisInitialized(_this));
46
+ _initializerDefineProperty(_this, "shipments", _descriptor5, _assertThisInitialized(_this));
47
+ _initializerDefineProperty(_this, "quoteItems", _descriptor6, _assertThisInitialized(_this));
48
+ _initializerDefineProperty(_this, "assignments", _descriptor7, _assertThisInitialized(_this));
49
+ _initializerDefineProperty(_this, "invoice", _descriptor8, _assertThisInitialized(_this));
50
+ _this.quoteTotal = function (options) {
51
+ var _ref = options ? options : {},
52
+ _ref$strictEmbed = _ref.strictEmbed,
53
+ strictEmbed = _ref$strictEmbed === void 0 ? true : _ref$strictEmbed;
54
+ var _assertThisInitialize = _assertThisInitialized(_this),
55
+ _assertThisInitialize2 = _assertThisInitialize.quoteItems,
56
+ quoteItems = _assertThisInitialize2 === void 0 ? [] : _assertThisInitialize2,
57
+ _assertThisInitialize3 = _assertThisInitialize.shipments,
58
+ shipments = _assertThisInitialize3 === void 0 ? [] : _assertThisInitialize3;
59
+ if (strictEmbed && _this.quoteItems === undefined) {
60
+ throw new Error('quoteItems is undefined, did you forget to embed it?');
61
+ }
62
+ if (strictEmbed && _this.shipments === undefined) {
63
+ throw new Error('shipments is undefined, did you forget to embed it?');
64
+ }
65
+ var quoteItemsTotal = kahanSum(quoteItems.map(function (qI) {
66
+ return parseFloat(qI.calculateTotal(options));
67
+ })).toFixed(3);
68
+ var shipmentItemsTotal = kahanSum(shipments.map(function (s) {
69
+ return parseFloat(s.calculateTotal(options));
70
+ })).toFixed(3);
71
+ return (parseFloat(quoteItemsTotal) + parseFloat(shipmentItemsTotal)).toFixed(3);
72
+ };
73
+ _this.calculateTotal = _this.quoteTotal;
74
+ _this.calculateSubTotal = function (options) {
75
+ var _ref2 = options ? options : {},
76
+ _ref2$strictEmbed = _ref2.strictEmbed,
77
+ strictEmbed = _ref2$strictEmbed === void 0 ? true : _ref2$strictEmbed;
78
+ var _assertThisInitialize4 = _assertThisInitialized(_this),
79
+ _assertThisInitialize5 = _assertThisInitialize4.quoteItems,
80
+ quoteItems = _assertThisInitialize5 === void 0 ? [] : _assertThisInitialize5,
81
+ _assertThisInitialize6 = _assertThisInitialize4.shipments,
82
+ shipments = _assertThisInitialize6 === void 0 ? [] : _assertThisInitialize6;
83
+ if (strictEmbed && _this.quoteItems === undefined) {
84
+ throw new Error('quoteItems is undefined, did you forget to embed it?');
85
+ }
86
+ if (strictEmbed && _this.shipments === undefined) {
87
+ throw new Error('shipments is undefined, did you forget to embed it?');
88
+ }
89
+ var quoteItemsTotal = kahanSum(quoteItems.map(function (qI) {
90
+ return parseFloat(qI.calculateSubTotal(options));
91
+ }));
92
+ var shipmentItemsTotal = kahanSum(shipments.map(function (s) {
93
+ return parseFloat(s.calculateSubTotal(options));
94
+ }));
95
+ return (quoteItemsTotal + shipmentItemsTotal).toFixed(3);
96
+ };
97
+ _this.calculateTaxAmount = function (options) {
98
+ var _ref3 = options ? options : {},
99
+ _ref3$strictEmbed = _ref3.strictEmbed,
100
+ strictEmbed = _ref3$strictEmbed === void 0 ? true : _ref3$strictEmbed;
101
+ var _assertThisInitialize7 = _assertThisInitialized(_this),
102
+ _assertThisInitialize8 = _assertThisInitialize7.quoteItems,
103
+ quoteItems = _assertThisInitialize8 === void 0 ? [] : _assertThisInitialize8,
104
+ _assertThisInitialize9 = _assertThisInitialize7.shipments,
105
+ shipments = _assertThisInitialize9 === void 0 ? [] : _assertThisInitialize9;
106
+ if (strictEmbed && _this.quoteItems === undefined) {
107
+ throw new Error('quoteItems is undefined, did you forget to embed it?');
108
+ }
109
+ if (strictEmbed && _this.shipments === undefined) {
110
+ throw new Error('shipments is undefined, did you forget to embed it?');
111
+ }
112
+ var quoteItemsTotal = kahanSum(quoteItems.map(function (qI) {
113
+ return parseFloat(qI.calculateTaxAmount(options));
114
+ }));
115
+ var shipmentItemsTotal = kahanSum(shipments.map(function (s) {
116
+ return parseFloat(s.calculateTaxAmount(options));
117
+ }));
118
+ return (quoteItemsTotal + shipmentItemsTotal).toFixed(3);
119
+ };
120
+ _this.findQuoteItemIndex = function (quoteItemId) {
121
+ if (_this.quoteItems === undefined) {
122
+ throw new Error('quoteItems is undefined, did you forget to embed it?');
123
+ }
124
+ function checkEqualId(quoteItem) {
125
+ return quoteItem.id === quoteItemId;
126
+ }
127
+ return _this.quoteItems.findIndex(checkEqualId);
128
+ };
129
+ _this.removeQuoteItem = function (quoteItem) {
130
+ if (_this.quoteItems === undefined) {
131
+ throw new Error('quoteItems is undefined, did you forget to embed it?');
132
+ }
133
+ if (quoteItem.id === undefined) {
134
+ throw new Error('quoteItem.id is undefined, did you forget to embed it?');
135
+ }
136
+ var index = _this.findQuoteItemIndex(quoteItem.id);
137
+ if (index > -1) {
138
+ _this.quoteItems.splice(index, 1);
139
+ }
140
+ };
141
+ _this.deadlineTimeDifference = function () {
142
+ if (_this.agreedDeadline === undefined) {
143
+ var err = 'agreedDeadline is undefined, did you forget to embed it?';
144
+ throw new Error(err);
145
+ }
146
+ if (_this.assignments === undefined) {
147
+ var _err = 'assignments is undefiend, did you forget to embed it?';
148
+ throw new Error(_err);
149
+ }
150
+ if (_this.assignments.length < 1) {
151
+ return null;
152
+ }
153
+ if (_this.agreedDeadline === null) {
154
+ return null;
155
+ }
156
+ var assignment = _this.assignments[0];
157
+ if (assignment.productionDeadline === undefined) {
158
+ var _err2 = 'productionDeadline is undefined, did you forget to embed' + 'it?';
159
+ throw new Error(_err2);
160
+ }
161
+ var productionDeadline = assignment.productionDeadline;
162
+ return productionDeadline.valueOf() - _this.agreedDeadline.valueOf();
163
+ };
164
+ return _this;
165
+ }
166
+ return _createClass(Quote);
167
+ }(Entity), _class2.resourceName = 'quotes', _class2.singularName = 'quote', _class2.pluralName = 'quotes', _class2), (_descriptor = _applyDecoratedDescriptor(_class.prototype, "archived", [_dec], {
168
+ configurable: true,
169
+ enumerable: true,
170
+ writable: true,
171
+ initializer: null
172
+ }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "currency", [_dec2], {
173
+ configurable: true,
174
+ enumerable: true,
175
+ writable: true,
176
+ initializer: null
177
+ }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "id", [_dec3], {
178
+ configurable: true,
179
+ enumerable: true,
180
+ writable: true,
181
+ initializer: null
182
+ }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "agreedDeadline", [_dec4], {
183
+ configurable: true,
184
+ enumerable: true,
185
+ writable: true,
186
+ initializer: null
187
+ }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, "shipments", [_dec5], {
188
+ configurable: true,
189
+ enumerable: true,
190
+ writable: true,
191
+ initializer: null
192
+ }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, "quoteItems", [_dec6], {
193
+ configurable: true,
194
+ enumerable: true,
195
+ writable: true,
196
+ initializer: null
197
+ }), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, "assignments", [_dec7], {
198
+ configurable: true,
199
+ enumerable: true,
200
+ writable: true,
201
+ initializer: null
202
+ }), _descriptor8 = _applyDecoratedDescriptor(_class.prototype, "invoice", [_dec8], {
203
+ configurable: true,
204
+ enumerable: true,
205
+ writable: true,
206
+ initializer: null
207
+ })), _class));
208
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbnZvaWNlIiwiRW50aXR5Iiwia2FoYW5TdW0iLCJRdW90ZSIsIl9kZWMiLCJwcm9wZXJ0eSIsInR5cGUiLCJEYXRlIiwiX2RlYzIiLCJfZGVjMyIsIl9kZWM0IiwiX2RlYzUiLCJhcnJheVR5cGUiLCJfZGVjNiIsIl9kZWM3IiwiX2RlYzgiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0VudGl0eSIsIl9pbmhlcml0cyIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJfY2FsbFN1cGVyIiwiY29uY2F0IiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJxdW90ZVRvdGFsIiwib3B0aW9ucyIsIl9yZWYiLCJfcmVmJHN0cmljdEVtYmVkIiwic3RyaWN0RW1iZWQiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemUiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemUyIiwicXVvdGVJdGVtcyIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZTMiLCJzaGlwbWVudHMiLCJ1bmRlZmluZWQiLCJFcnJvciIsInF1b3RlSXRlbXNUb3RhbCIsIm1hcCIsInFJIiwicGFyc2VGbG9hdCIsImNhbGN1bGF0ZVRvdGFsIiwidG9GaXhlZCIsInNoaXBtZW50SXRlbXNUb3RhbCIsInMiLCJjYWxjdWxhdGVTdWJUb3RhbCIsIl9yZWYyIiwiX3JlZjIkc3RyaWN0RW1iZWQiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemU0IiwiX2Fzc2VydFRoaXNJbml0aWFsaXplNSIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZTYiLCJjYWxjdWxhdGVUYXhBbW91bnQiLCJfcmVmMyIsIl9yZWYzJHN0cmljdEVtYmVkIiwiX2Fzc2VydFRoaXNJbml0aWFsaXplNyIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZTgiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemU5IiwiZmluZFF1b3RlSXRlbUluZGV4IiwicXVvdGVJdGVtSWQiLCJjaGVja0VxdWFsSWQiLCJxdW90ZUl0ZW0iLCJpZCIsImZpbmRJbmRleCIsInJlbW92ZVF1b3RlSXRlbSIsImluZGV4Iiwic3BsaWNlIiwiZGVhZGxpbmVUaW1lRGlmZmVyZW5jZSIsImFncmVlZERlYWRsaW5lIiwiZXJyIiwiYXNzaWdubWVudHMiLCJhc3NpZ25tZW50IiwicHJvZHVjdGlvbkRlYWRsaW5lIiwidmFsdWVPZiIsIl9jcmVhdGVDbGFzcyIsInJlc291cmNlTmFtZSIsInNpbmd1bGFyTmFtZSIsInBsdXJhbE5hbWUiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTWVyY2hpU0RLL2VudGl0aWVzL3F1b3RlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzc2lnbm1lbnQgfSBmcm9tICcuL2Fzc2lnbm1lbnQnO1xuaW1wb3J0IHsgUXVvdGVJdGVtIH0gZnJvbSAnLi9xdW90ZV9pdGVtJztcbmltcG9ydCB7IFNoaXBtZW50IH0gZnJvbSAnLi9zaGlwbWVudCc7XG5pbXBvcnQgeyBJbnZvaWNlIH0gZnJvbSAnLi9pbnZvaWNlJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uL2VudGl0eSc7XG5pbXBvcnQgeyBrYWhhblN1bSB9IGZyb20gJy4uL3V0aWwvZmxvYXQnO1xuXG5pbnRlcmZhY2UgQ2FsY3VsYXRlT3B0aW9ucyB7XG4gIHN0cmljdEVtYmVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFF1b3RlIGV4dGVuZHMgRW50aXR5IHtcbiAgcHJvdGVjdGVkIHN0YXRpYyByZXNvdXJjZU5hbWUgPSAncXVvdGVzJztcbiAgcHJvdGVjdGVkIHN0YXRpYyBzaW5ndWxhck5hbWUgPSAncXVvdGUnO1xuICBwcm90ZWN0ZWQgc3RhdGljIHBsdXJhbE5hbWUgPSAncXVvdGVzJztcblxuICBAUXVvdGUucHJvcGVydHkoe3R5cGU6IERhdGV9KVxuICBwdWJsaWMgYXJjaGl2ZWQ/OiBEYXRlIHwgbnVsbDtcblxuICBAUXVvdGUucHJvcGVydHkoKVxuICBwdWJsaWMgY3VycmVuY3k/OiBzdHJpbmc7XG5cbiAgQFF1b3RlLnByb3BlcnR5KClcbiAgcHVibGljIGlkPzogbnVtYmVyO1xuXG4gIEBRdW90ZS5wcm9wZXJ0eSh7dHlwZTogRGF0ZX0pXG4gIHB1YmxpYyBhZ3JlZWREZWFkbGluZT86IERhdGUgfCBudWxsO1xuXG4gIEBRdW90ZS5wcm9wZXJ0eSh7YXJyYXlUeXBlOiAnU2hpcG1lbnQnfSlcbiAgcHVibGljIHNoaXBtZW50cz86IFNoaXBtZW50W107XG5cbiAgQFF1b3RlLnByb3BlcnR5KHthcnJheVR5cGU6ICdRdW90ZUl0ZW0nfSlcbiAgcHVibGljIHF1b3RlSXRlbXM/OiBRdW90ZUl0ZW1bXTtcblxuICBAUXVvdGUucHJvcGVydHkoe2FycmF5VHlwZTogJ0Fzc2lnbm1lbnQnfSlcbiAgcHVibGljIGFzc2lnbm1lbnRzPzogQXNzaWdubWVudFtdO1xuXG4gIEBRdW90ZS5wcm9wZXJ0eSh7dHlwZTogSW52b2ljZX0pXG4gIHB1YmxpYyBpbnZvaWNlPzogSW52b2ljZSB8IG51bGw7XG5cbiAgcHVibGljIHF1b3RlVG90YWwgPSAob3B0aW9ucz86IENhbGN1bGF0ZU9wdGlvbnMpID0+IHtcbiAgICBjb25zdCB7IHN0cmljdEVtYmVkID0gdHJ1ZSB9ID0gb3B0aW9ucyA/IG9wdGlvbnMgOiB7fTtcbiAgICBjb25zdCB7IHF1b3RlSXRlbXMgPSBbXSwgc2hpcG1lbnRzID0gW10gfSA9IHRoaXM7XG4gICAgaWYgKHN0cmljdEVtYmVkICYmIHRoaXMucXVvdGVJdGVtcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3F1b3RlSXRlbXMgaXMgdW5kZWZpbmVkLCBkaWQgeW91IGZvcmdldCB0byBlbWJlZCBpdD8nKTtcbiAgICB9XG4gICAgaWYgKHN0cmljdEVtYmVkICYmIHRoaXMuc2hpcG1lbnRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2hpcG1lbnRzIGlzIHVuZGVmaW5lZCwgZGlkIHlvdSBmb3JnZXQgdG8gZW1iZWQgaXQ/Jyk7XG4gICAgfVxuICAgIGNvbnN0IHF1b3RlSXRlbXNUb3RhbCA9IGthaGFuU3VtKHF1b3RlSXRlbXMubWFwKChxSTogUXVvdGVJdGVtKSA9PlxuICAgICAgcGFyc2VGbG9hdChxSS5jYWxjdWxhdGVUb3RhbChvcHRpb25zKSkpKS50b0ZpeGVkKDMpO1xuICAgIGNvbnN0IHNoaXBtZW50SXRlbXNUb3RhbCA9IGthaGFuU3VtKHNoaXBtZW50cy5tYXAoKHM6IFNoaXBtZW50KSA9PlxuICAgICAgcGFyc2VGbG9hdChzLmNhbGN1bGF0ZVRvdGFsKG9wdGlvbnMpKSkpLnRvRml4ZWQoMyk7XG4gICAgcmV0dXJuIChcbiAgICAgIHBhcnNlRmxvYXQocXVvdGVJdGVtc1RvdGFsKSArIHBhcnNlRmxvYXQoc2hpcG1lbnRJdGVtc1RvdGFsKVxuICAgICkudG9GaXhlZCgzKTtcbiAgfTtcblxuICBwdWJsaWMgY2FsY3VsYXRlVG90YWwgPSB0aGlzLnF1b3RlVG90YWw7XG5cbiAgcHVibGljIGNhbGN1bGF0ZVN1YlRvdGFsID0gKG9wdGlvbnM/OiBDYWxjdWxhdGVPcHRpb25zKSA9PiB7XG4gICAgY29uc3QgeyBzdHJpY3RFbWJlZCA9IHRydWUgfSA9IG9wdGlvbnMgPyBvcHRpb25zIDoge307XG4gICAgY29uc3QgeyBxdW90ZUl0ZW1zID0gW10sIHNoaXBtZW50cyA9IFtdIH0gPSB0aGlzO1xuICAgIGlmIChzdHJpY3RFbWJlZCAmJiB0aGlzLnF1b3RlSXRlbXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdxdW90ZUl0ZW1zIGlzIHVuZGVmaW5lZCwgZGlkIHlvdSBmb3JnZXQgdG8gZW1iZWQgaXQ/Jyk7XG4gICAgfVxuICAgIGlmIChzdHJpY3RFbWJlZCAmJiB0aGlzLnNoaXBtZW50cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NoaXBtZW50cyBpcyB1bmRlZmluZWQsIGRpZCB5b3UgZm9yZ2V0IHRvIGVtYmVkIGl0PycpO1xuICAgIH1cbiAgICBjb25zdCBxdW90ZUl0ZW1zVG90YWwgPSBrYWhhblN1bShxdW90ZUl0ZW1zLm1hcCgocUk6IFF1b3RlSXRlbSkgPT5cbiAgICAgIHBhcnNlRmxvYXQocUkuY2FsY3VsYXRlU3ViVG90YWwob3B0aW9ucykpKSk7XG4gICAgY29uc3Qgc2hpcG1lbnRJdGVtc1RvdGFsID0ga2FoYW5TdW0oc2hpcG1lbnRzLm1hcCgoczogU2hpcG1lbnQpID0+XG4gICAgICBwYXJzZUZsb2F0KHMuY2FsY3VsYXRlU3ViVG90YWwob3B0aW9ucykpKSk7XG4gICAgcmV0dXJuIChxdW90ZUl0ZW1zVG90YWwgKyBzaGlwbWVudEl0ZW1zVG90YWwpLnRvRml4ZWQoMyk7XG4gIH07XG5cbiAgcHVibGljIGNhbGN1bGF0ZVRheEFtb3VudCA9IChvcHRpb25zPzogQ2FsY3VsYXRlT3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHsgc3RyaWN0RW1iZWQgPSB0cnVlIH0gPSBvcHRpb25zID8gb3B0aW9ucyA6IHt9O1xuICAgIGNvbnN0IHsgcXVvdGVJdGVtcyA9IFtdLCBzaGlwbWVudHMgPSBbXSB9ID0gdGhpcztcbiAgICBpZiAoc3RyaWN0RW1iZWQgJiYgdGhpcy5xdW90ZUl0ZW1zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncXVvdGVJdGVtcyBpcyB1bmRlZmluZWQsIGRpZCB5b3UgZm9yZ2V0IHRvIGVtYmVkIGl0PycpO1xuICAgIH1cbiAgICBpZiAoc3RyaWN0RW1iZWQgJiYgdGhpcy5zaGlwbWVudHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzaGlwbWVudHMgaXMgdW5kZWZpbmVkLCBkaWQgeW91IGZvcmdldCB0byBlbWJlZCBpdD8nKTtcbiAgICB9XG4gICAgY29uc3QgcXVvdGVJdGVtc1RvdGFsID0ga2FoYW5TdW0ocXVvdGVJdGVtcy5tYXAoKHFJOiBRdW90ZUl0ZW0pID0+XG4gICAgICBwYXJzZUZsb2F0KHFJLmNhbGN1bGF0ZVRheEFtb3VudChvcHRpb25zKSkpKTtcbiAgICBjb25zdCBzaGlwbWVudEl0ZW1zVG90YWwgPSBrYWhhblN1bShzaGlwbWVudHMubWFwKChzOiBTaGlwbWVudCkgPT5cbiAgICAgIHBhcnNlRmxvYXQocy5jYWxjdWxhdGVUYXhBbW91bnQob3B0aW9ucykpKSk7XG4gICAgcmV0dXJuIChxdW90ZUl0ZW1zVG90YWwgKyBzaGlwbWVudEl0ZW1zVG90YWwpLnRvRml4ZWQoMyk7XG4gIH07XG5cbiAgcHVibGljIGZpbmRRdW90ZUl0ZW1JbmRleCA9IChxdW90ZUl0ZW1JZDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKHRoaXMucXVvdGVJdGVtcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3F1b3RlSXRlbXMgaXMgdW5kZWZpbmVkLCBkaWQgeW91IGZvcmdldCB0byBlbWJlZCBpdD8nKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY2hlY2tFcXVhbElkKHF1b3RlSXRlbTogUXVvdGVJdGVtKSB7XG4gICAgICByZXR1cm4gcXVvdGVJdGVtLmlkID09PSBxdW90ZUl0ZW1JZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucXVvdGVJdGVtcy5maW5kSW5kZXgoY2hlY2tFcXVhbElkKTtcbiAgfTtcblxuICBwdWJsaWMgcmVtb3ZlUXVvdGVJdGVtID0gKHF1b3RlSXRlbTogUXVvdGVJdGVtKSA9PiB7XG4gICAgaWYgKHRoaXMucXVvdGVJdGVtcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3F1b3RlSXRlbXMgaXMgdW5kZWZpbmVkLCBkaWQgeW91IGZvcmdldCB0byBlbWJlZCBpdD8nKTtcbiAgICB9XG4gICAgaWYgKHF1b3RlSXRlbS5pZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3F1b3RlSXRlbS5pZCBpcyB1bmRlZmluZWQsIGRpZCB5b3UgZm9yZ2V0IHRvIGVtYmVkIGl0PycpO1xuICAgIH1cbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZmluZFF1b3RlSXRlbUluZGV4KHF1b3RlSXRlbS5pZCk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMucXVvdGVJdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgZGVhZGxpbmVUaW1lRGlmZmVyZW5jZSA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5hZ3JlZWREZWFkbGluZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBlcnIgPSAnYWdyZWVkRGVhZGxpbmUgaXMgdW5kZWZpbmVkLCBkaWQgeW91IGZvcmdldCB0byBlbWJlZCBpdD8nO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGVycik7XG4gICAgfVxuICAgIGlmICh0aGlzLmFzc2lnbm1lbnRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGVyciA9ICdhc3NpZ25tZW50cyBpcyB1bmRlZmllbmQsIGRpZCB5b3UgZm9yZ2V0IHRvIGVtYmVkIGl0Pyc7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYXNzaWdubWVudHMubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0aGlzLmFncmVlZERlYWRsaW5lID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgYXNzaWdubWVudCA9IHRoaXMuYXNzaWdubWVudHNbMF07XG4gICAgaWYgKGFzc2lnbm1lbnQucHJvZHVjdGlvbkRlYWRsaW5lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGVyciA9ICdwcm9kdWN0aW9uRGVhZGxpbmUgaXMgdW5kZWZpbmVkLCBkaWQgeW91IGZvcmdldCB0byBlbWJlZCcgK1xuICAgICAgICAnaXQ/JztcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnIpO1xuICAgIH1cbiAgICBjb25zdCBwcm9kdWN0aW9uRGVhZGxpbmUgPSBhc3NpZ25tZW50LnByb2R1Y3Rpb25EZWFkbGluZTtcbiAgICByZXR1cm4gcHJvZHVjdGlvbkRlYWRsaW5lLnZhbHVlT2YoKSAtIHRoaXMuYWdyZWVkRGVhZGxpbmUudmFsdWVPZigpO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLFNBQVNBLE9BQU8sUUFBUSxXQUFXO0FBQ25DLFNBQVNDLE1BQU0sUUFBUSxXQUFXO0FBQ2xDLFNBQVNDLFFBQVEsUUFBUSxlQUFlO0FBTXhDLFdBQWFDLEtBQUssSUFBQUMsSUFBQSxHQUtmRCxLQUFLLENBQUNFLFFBQVEsQ0FBQztFQUFDQyxJQUFJLEVBQUVDO0FBQUksQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHNUJMLEtBQUssQ0FBQ0UsUUFBUSxDQUFDLENBQUMsRUFBQUksS0FBQSxHQUdoQk4sS0FBSyxDQUFDRSxRQUFRLENBQUMsQ0FBQyxFQUFBSyxLQUFBLEdBR2hCUCxLQUFLLENBQUNFLFFBQVEsQ0FBQztFQUFDQyxJQUFJLEVBQUVDO0FBQUksQ0FBQyxDQUFDLEVBQUFJLEtBQUEsR0FHNUJSLEtBQUssQ0FBQ0UsUUFBUSxDQUFDO0VBQUNPLFNBQVMsRUFBRTtBQUFVLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBR3ZDVixLQUFLLENBQUNFLFFBQVEsQ0FBQztFQUFDTyxTQUFTLEVBQUU7QUFBVyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQUd4Q1gsS0FBSyxDQUFDRSxRQUFRLENBQUM7RUFBQ08sU0FBUyxFQUFFO0FBQVksQ0FBQyxDQUFDLEVBQUFHLEtBQUEsR0FHekNaLEtBQUssQ0FBQ0Us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
@@ -0,0 +1,108 @@
1
+ import { Merchi } from '../merchi';
2
+ test('can make Quote', function () {
3
+ var merchi = new Merchi();
4
+ var quote = new merchi.Quote();
5
+ expect(quote).toBeTruthy();
6
+ });
7
+ test('calculation', function () {
8
+ var merchi = new Merchi();
9
+ var quote = new merchi.Quote();
10
+ var gst = new merchi.CountryTax();
11
+ gst.taxName = 'GST';
12
+ gst.taxPercent = 10;
13
+ var noTax = merchi.CountryTax.getNoTax();
14
+
15
+ // quote items did not filled before calculation seems like a embed issue
16
+ expect(quote.quoteTotal).toThrow();
17
+ expect(quote.calculateSubTotal).toThrow();
18
+ expect(quote.calculateTaxAmount).toThrow();
19
+ quote.quoteItems = [new merchi.QuoteItem(), new merchi.QuoteItem()];
20
+ quote.quoteItems[0].unitPrice = 400;
21
+ quote.quoteItems[0].quantity = 2;
22
+ quote.quoteItems[0].taxType = gst;
23
+ quote.quoteItems[1].unitPrice = 25;
24
+ quote.quoteItems[1].quantity = 2;
25
+ quote.quoteItems[1].taxType = noTax;
26
+
27
+ // shipments did not filled before calculation seems like a embed issue
28
+ expect(quote.quoteTotal).toThrow();
29
+ expect(quote.calculateSubTotal).toThrow();
30
+ expect(quote.calculateTaxAmount).toThrow();
31
+ quote.shipments = [new merchi.Shipment()];
32
+ quote.shipments[0].cost = 100;
33
+ quote.shipments[0].taxType = gst;
34
+
35
+ // 800 * 1.1 + 25 * 2 + 100 * 1.1 = 1040
36
+ expect(quote.quoteTotal()).toBe('1040.000');
37
+ expect(quote.quoteTotal({
38
+ 'strictEmbed': false
39
+ })).toBe('1040.000');
40
+ expect(quote.calculateTotal()).toBe('1040.000');
41
+ expect(quote.calculateTotal({
42
+ 'strictEmbed': false
43
+ })).toBe('1040.000');
44
+
45
+ // 800 + 25 * 2 + 100
46
+ expect(quote.calculateSubTotal()).toBe('950.000');
47
+ expect(quote.calculateSubTotal({
48
+ 'strictEmbed': false
49
+ })).toBe('950.000');
50
+
51
+ // 800 * 0.1 + 100 * 0.1
52
+ expect(quote.calculateTaxAmount()).toBe('90.000');
53
+ expect(quote.calculateTaxAmount({
54
+ 'strictEmbed': false
55
+ })).toBe('90.000');
56
+ });
57
+ test('findQuoteItemIndex', function () {
58
+ var merchi = new Merchi();
59
+ var quote = new merchi.Quote();
60
+ expect(function () {
61
+ return quote.findQuoteItemIndex(43);
62
+ }).toThrow();
63
+ quote.quoteItems = [];
64
+ expect(quote.findQuoteItemIndex(43)).toEqual(-1);
65
+ quote.quoteItems = [new merchi.QuoteItem()];
66
+ quote.quoteItems[0].id = 43;
67
+ expect(quote.findQuoteItemIndex(43)).toEqual(0);
68
+ });
69
+ test('removeQuoteItem', function () {
70
+ var merchi = new Merchi();
71
+ var quote = new merchi.Quote();
72
+ var quoteItem = new merchi.QuoteItem();
73
+ quoteItem.id = 43;
74
+ expect(function () {
75
+ return quote.removeQuoteItem(quoteItem);
76
+ }).toThrow();
77
+ quoteItem.id = undefined;
78
+ expect(function () {
79
+ return quote.removeQuoteItem(quoteItem);
80
+ }).toThrow();
81
+ quoteItem.id = 43;
82
+ quote.quoteItems = [];
83
+ expect(quote.removeQuoteItem(quoteItem)).toBe(undefined);
84
+ expect(quote.quoteItems).toEqual([]);
85
+ quote.quoteItems = [quoteItem];
86
+ expect(quote.removeQuoteItem(quoteItem)).toBe(undefined);
87
+ expect(quote.quoteItems).toEqual([]);
88
+ quoteItem.id = undefined;
89
+ expect(function () {
90
+ return quote.removeQuoteItem(quoteItem);
91
+ }).toThrow();
92
+ });
93
+ test('deadlineTimeDifference', function () {
94
+ var merchi = new Merchi();
95
+ var quote = new merchi.Quote();
96
+ expect(quote.deadlineTimeDifference).toThrow();
97
+ quote.agreedDeadline = null;
98
+ expect(quote.deadlineTimeDifference).toThrow();
99
+ quote.assignments = [];
100
+ expect(quote.deadlineTimeDifference()).toBe(null);
101
+ quote.assignments = [new merchi.Assignment()];
102
+ expect(quote.deadlineTimeDifference()).toBe(null);
103
+ quote.agreedDeadline = new Date(1);
104
+ expect(quote.deadlineTimeDifference).toThrow();
105
+ quote.assignments[0].productionDeadline = new Date(2);
106
+ expect(quote.deadlineTimeDifference()).toEqual(1);
107
+ });
108
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNZXJjaGkiLCJ0ZXN0IiwibWVyY2hpIiwicXVvdGUiLCJRdW90ZSIsImV4cGVjdCIsInRvQmVUcnV0aHkiLCJnc3QiLCJDb3VudHJ5VGF4IiwidGF4TmFtZSIsInRheFBlcmNlbnQiLCJub1RheCIsImdldE5vVGF4IiwicXVvdGVUb3RhbCIsInRvVGhyb3ciLCJjYWxjdWxhdGVTdWJUb3RhbCIsImNhbGN1bGF0ZVRheEFtb3VudCIsInF1b3RlSXRlbXMiLCJRdW90ZUl0ZW0iLCJ1bml0UHJpY2UiLCJxdWFudGl0eSIsInRheFR5cGUiLCJzaGlwbWVudHMiLCJTaGlwbWVudCIsImNvc3QiLCJ0b0JlIiwiY2FsY3VsYXRlVG90YWwiLCJmaW5kUXVvdGVJdGVtSW5kZXgiLCJ0b0VxdWFsIiwiaWQiLCJxdW90ZUl0ZW0iLCJyZW1vdmVRdW90ZUl0ZW0iLCJ1bmRlZmluZWQiLCJkZWFkbGluZVRpbWVEaWZmZXJlbmNlIiwiYWdyZWVkRGVhZGxpbmUiLCJhc3NpZ25tZW50cyIsIkFzc2lnbm1lbnQiLCJEYXRlIiwicHJvZHVjdGlvbkRlYWRsaW5lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL01lcmNoaVNESy9lbnRpdGllcy9xdW90ZS50ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lcmNoaSB9IGZyb20gJy4uL21lcmNoaSc7XG5cbnRlc3QoJ2NhbiBtYWtlIFF1b3RlJywgKCkgPT4ge1xuICBjb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG4gIGNvbnN0IHF1b3RlID0gbmV3IG1lcmNoaS5RdW90ZSgpO1xuICBleHBlY3QocXVvdGUpLnRvQmVUcnV0aHkoKTtcbn0pO1xuXG50ZXN0KCdjYWxjdWxhdGlvbicsICgpID0+IHtcbiAgY29uc3QgbWVyY2hpID0gbmV3IE1lcmNoaSgpO1xuICBjb25zdCBxdW90ZSA9IG5ldyBtZXJjaGkuUXVvdGUoKTtcbiAgY29uc3QgZ3N0ID0gbmV3IG1lcmNoaS5Db3VudHJ5VGF4KCk7XG4gIGdzdC50YXhOYW1lID0gJ0dTVCc7XG4gIGdzdC50YXhQZXJjZW50ID0gMTA7XG4gIGNvbnN0IG5vVGF4ID0gbWVyY2hpLkNvdW50cnlUYXguZ2V0Tm9UYXgoKTtcblxuICAvLyBxdW90ZSBpdGVtcyBkaWQgbm90IGZpbGxlZCBiZWZvcmUgY2FsY3VsYXRpb24gc2VlbXMgbGlrZSBhIGVtYmVkIGlzc3VlXG4gIGV4cGVjdChxdW90ZS5xdW90ZVRvdGFsKS50b1Rocm93KCk7XG4gIGV4cGVjdChxdW90ZS5jYWxjdWxhdGVTdWJUb3RhbCkudG9UaHJvdygpO1xuICBleHBlY3QocXVvdGUuY2FsY3VsYXRlVGF4QW1vdW50KS50b1Rocm93KCk7XG5cbiAgcXVvdGUucXVvdGVJdGVtcyA9IFtuZXcgbWVyY2hpLlF1b3RlSXRlbSgpLCBuZXcgbWVyY2hpLlF1b3RlSXRlbSgpXTtcbiAgcXVvdGUucXVvdGVJdGVtc1swXS51bml0UHJpY2UgPSA0MDA7XG4gIHF1b3RlLnF1b3RlSXRlbXNbMF0ucXVhbnRpdHkgPSAyO1xuICBxdW90ZS5xdW90ZUl0ZW1zWzBdLnRheFR5cGUgPSBnc3Q7XG4gIHF1b3RlLnF1b3RlSXRlbXNbMV0udW5pdFByaWNlID0gMjU7XG4gIHF1b3RlLnF1b3RlSXRlbXNbMV0ucXVhbnRpdHkgPSAyO1xuICBxdW90ZS5xdW90ZUl0ZW1zWzFdLnRheFR5cGUgPSBub1RheDtcblxuICAvLyBzaGlwbWVudHMgZGlkIG5vdCBmaWxsZWQgYmVmb3JlIGNhbGN1bGF0aW9uIHNlZW1zIGxpa2UgYSBlbWJlZCBpc3N1ZVxuICBleHBlY3QocXVvdGUucXVvdGVUb3RhbCkudG9UaHJvdygpO1xuICBleHBlY3QocXVvdGUuY2FsY3VsYXRlU3ViVG90YWwpLnRvVGhyb3coKTtcbiAgZXhwZWN0KHF1b3RlLmNhbGN1bGF0ZVRheEFtb3VudCkudG9UaHJvdygpO1xuXG4gIHF1b3RlLnNoaXBtZW50cyA9IFtuZXcgbWVyY2hpLlNoaXBtZW50KCldO1xuICBxdW90ZS5zaGlwbWVudHNbMF0uY29zdCA9IDEwMDtcbiAgcXVvdGUuc2hpcG1lbnRzWzBdLnRheFR5cGUgPSBnc3Q7XG5cbiAgLy8gODAwICogMS4xICsgMjUgKiAyICsgMTAwICogMS4xID0gMTA0MFxuICBleHBlY3QocXVvdGUucXVvdGVUb3RhbCgpKS50b0JlKCcxMDQwLjAwMCcpO1xuICBleHBlY3QocXVvdGUucXVvdGVUb3RhbCh7J3N0cmljdEVtYmVkJzogZmFsc2V9KSkudG9CZSgnMTA0MC4wMDAnKTtcbiAgZXhwZWN0KHF1b3RlLmNhbGN1bGF0ZVRvdGFsKCkpLnRvQmUoJzEwNDAuMDAwJyk7XG4gIGV4cGVjdChxdW90ZS5jYWxjdWxhdGVUb3RhbCh7J3N0cmljdEVtYmVkJzogZmFsc2V9KSkudG9CZSgnMTA0MC4wMDAnKTtcblxuICAvLyA4MDAgKyAyNSAqIDIgKyAxMDBcbiAgZXhwZWN0KHF1b3RlLmNhbGN1bGF0ZVN1YlRvdGFsKCkpLnRvQmUoJzk1MC4wMDAnKTtcbiAgZXhwZWN0KHF1b3RlLmNhbGN1bGF0ZVN1YlRvdGFsKHsnc3RyaWN0RW1iZWQnOiBmYWxzZX0pKS50b0JlKCc5NTAuMDAwJyk7XG5cbiAgLy8gODAwICogMC4xICsgMTAwICogMC4xXG4gIGV4cGVjdChxdW90ZS5jYWxjdWxhdGVUYXhBbW91bnQoKSkudG9CZSgnOTAuMDAwJyk7XG4gIGV4cGVjdChxdW90ZS5jYWxjdWxhdGVUYXhBbW91bnQoeydzdHJpY3RFbWJlZCc6IGZhbHNlfSkpLnRvQmUoJzkwLjAwMCcpO1xufSk7XG5cbnRlc3QoJ2ZpbmRRdW90ZUl0ZW1JbmRleCcsICgpID0+IHtcbiAgY29uc3QgbWVyY2hpID0gbmV3IE1lcmNoaSgpO1xuICBjb25zdCBxdW90ZSA9IG5ldyBtZXJjaGkuUXVvdGUoKTtcbiAgZXhwZWN0KCgpID0+IHF1b3RlLmZpbmRRdW90ZUl0ZW1JbmRleCg0MykpLnRvVGhyb3coKTtcbiAgcXVvdGUucXVvdGVJdGVtcyA9IFtdO1xuICBleHBlY3QocXVvdGUuZmluZFF1b3RlSXRlbUluZGV4KDQzKSkudG9FcXVhbCgtMSk7XG4gIHF1b3RlLnF1b3RlSXRlbXMgPSBbbmV3IG1lcmNoaS5RdW90ZUl0ZW0oKV07XG4gIHF1b3RlLnF1b3RlSXRlbXNbMF0uaWQgPSA0MztcbiAgZXhwZWN0KHF1b3RlLmZpbmRRdW90ZUl0ZW1JbmRleCg0MykpLnRvRXF1YWwoMCk7XG59KTtcblxudGVzdCgncmVtb3ZlUXVvdGVJdGVtJywgKCkgPT4ge1xuICBjb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG4gIGNvbnN0IHF1b3RlID0gbmV3IG1lcmNoaS5RdW90ZSgpO1xuICBjb25zdCBxdW90ZUl0ZW0gPSBuZXcgbWVyY2hpLlF1b3RlSXRlbSgpO1xuICBxdW90ZUl0ZW0uaWQgPSA0MztcbiAgZXhwZWN0KCgpID0+IHF1b3RlLnJlbW92ZVF1b3RlSXRlbShxdW90ZUl0ZW0pKS50b1Rocm93KCk7XG4gIHF1b3RlSXRlbS5pZCA9IHVuZGVmaW5lZDtcbiAgZXhwZWN0KCgpID0+IHF1b3RlLnJlbW92ZVF1b3RlSXRlbShxdW90ZUl0ZW0pKS50b1Rocm93KCk7XG4gIHF1b3RlSXRlbS5pZCA9IDQzO1xuICBxdW90ZS5xdW90ZUl0ZW1zID0gW107XG4gIGV4cGVjdChxdW90ZS5yZW1vdmVRdW90ZUl0ZW0ocXVvdGVJdGVtKSkudG9CZSh1bmRlZmluZWQpO1xuICBleHBlY3QocXVvdGUucXVvdGVJdGVtcykudG9FcXVhbChbXSk7XG4gIHF1b3RlLnF1b3RlSXRlbXMgPSBbcXVvdGVJdGVtXTtcbiAgZXhwZWN0KHF1b3RlLnJlbW92ZVF1b3RlSXRlbShxdW90ZUl0ZW0pKS50b0JlKHVuZGVmaW5lZCk7XG4gIGV4cGVjdChxdW90ZS5xdW90ZUl0ZW1zKS50b0VxdWFsKFtdKTtcbiAgcXVvdGVJdGVtLmlkID0gdW5kZWZpbmVkO1xuICBleHBlY3QoKCkgPT4gcXVvdGUucmVtb3ZlUXVvdGVJdGVtKHF1b3RlSXRlbSkpLnRvVGhyb3coKTtcbn0pO1xuXG50ZXN0KCdkZWFkbGluZVRpbWVEaWZmZXJlbmNlJywgKCkgPT4ge1xuICBjb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKCk7XG4gIGNvbnN0IHF1b3RlID0gbmV3IG1lcmNoaS5RdW90ZSgpO1xuICBleHBlY3QocXVvdGUuZGVhZGxpbmVUaW1lRGlmZmVyZW5jZSkudG9UaHJvdygpO1xuICBxdW90ZS5hZ3JlZWREZWFkbGluZSA9IG51bGw7XG4gIGV4cGVjdChxdW90ZS5kZWFkbGluZVRpbWVEaWZmZXJlbmNlKS50b1Rocm93KCk7XG4gIHF1b3RlLmFzc2lnbm1lbnRzID0gW107XG4gIGV4cGVjdChxdW90ZS5kZWFkbGluZVRpbWVEaWZmZXJlbmNlKCkpLnRvQmUobnVsbCk7XG4gIHF1b3RlLmFzc2lnbm1lbnRzID0gW25ldyBtZXJjaGkuQXNzaWdubWVudCgpXTtcbiAgZXhwZWN0KHF1b3RlLmRlYWRsaW5lVGltZURpZmZlcmVuY2UoKSkudG9CZShudWxsKTtcbiAgcXVvdGUuYWdyZWVkRGVhZGxpbmUgPSBuZXcgRGF0ZSgxKTtcbiAgZXhwZWN0KHF1b3RlLmRlYWRsaW5lVGltZURpZmZlcmVuY2UpLnRvVGhyb3coKTtcbiAgcXVvdGUuYXNzaWdubWVudHNbMF0ucHJvZHVjdGlvbkRlYWRsaW5lID0gbmV3IERhdGUoMik7XG4gIGV4cGVjdChxdW90ZS5kZWFkbGluZVRpbWVEaWZmZXJlbmNlKCkpLnRvRXF1YWwoMSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFRLFdBQVc7QUFFbENDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFNO0VBQzNCLElBQU1DLE1BQU0sR0FBRyxJQUFJRixNQUFNLENBQUMsQ0FBQztFQUMzQixJQUFNRyxLQUFLLEdBQUcsSUFBSUQsTUFBTSxDQUFDRSxLQUFLLENBQUMsQ0FBQztFQUNoQ0MsTUFBTSxDQUFDRixLQUFLLENBQUMsQ0FBQ0csVUFBVSxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDO0FBRUZMLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBTTtFQUN4QixJQUFNQyxNQUFNLEdBQUcsSUFBSUYsTUFBTSxDQUFDLENBQUM7RUFDM0IsSUFBTUcsS0FBSyxHQUFHLElB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