@stamhoofd/structures 2.83.5 → 2.84.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/dist/index.d.ts +11 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +11 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/AppliedRegistrationDiscount.d.ts +15 -0
  6. package/dist/src/AppliedRegistrationDiscount.d.ts.map +1 -0
  7. package/dist/src/AppliedRegistrationDiscount.js +24 -0
  8. package/dist/src/AppliedRegistrationDiscount.js.map +1 -0
  9. package/dist/src/BalanceItem.d.ts +13 -4
  10. package/dist/src/BalanceItem.d.ts.map +1 -1
  11. package/dist/src/BalanceItem.js +68 -22
  12. package/dist/src/BalanceItem.js.map +1 -1
  13. package/dist/src/BalanceItemDetailed.d.ts +2 -2
  14. package/dist/src/BalanceItemDetailed.d.ts.map +1 -1
  15. package/dist/src/BalanceItemDetailed.js +2 -2
  16. package/dist/src/BalanceItemDetailed.js.map +1 -1
  17. package/dist/src/BundleDiscount.d.ts +79 -0
  18. package/dist/src/BundleDiscount.d.ts.map +1 -0
  19. package/dist/src/BundleDiscount.js +379 -0
  20. package/dist/src/BundleDiscount.js.map +1 -0
  21. package/dist/src/BundleDiscountGroupPriceSettings.d.ts +15 -0
  22. package/dist/src/BundleDiscountGroupPriceSettings.d.ts.map +1 -0
  23. package/dist/src/BundleDiscountGroupPriceSettings.js +29 -0
  24. package/dist/src/BundleDiscountGroupPriceSettings.js.map +1 -0
  25. package/dist/src/Group.d.ts +2 -0
  26. package/dist/src/Group.d.ts.map +1 -1
  27. package/dist/src/Group.js +10 -0
  28. package/dist/src/Group.js.map +1 -1
  29. package/dist/src/GroupPriceDiscount.d.ts +14 -0
  30. package/dist/src/GroupPriceDiscount.d.ts.map +1 -0
  31. package/dist/src/GroupPriceDiscount.js +39 -0
  32. package/dist/src/GroupPriceDiscount.js.map +1 -0
  33. package/dist/src/GroupSettings.d.ts +7 -8
  34. package/dist/src/GroupSettings.d.ts.map +1 -1
  35. package/dist/src/GroupSettings.js +15 -29
  36. package/dist/src/GroupSettings.js.map +1 -1
  37. package/dist/src/Organization.d.ts +1 -1
  38. package/dist/src/Organization.d.ts.map +1 -1
  39. package/dist/src/Organization.js +15 -2
  40. package/dist/src/Organization.js.map +1 -1
  41. package/dist/src/Permissions.d.ts.map +1 -1
  42. package/dist/src/Permissions.js +1 -1
  43. package/dist/src/Permissions.js.map +1 -1
  44. package/dist/src/Platform.d.ts +1 -1
  45. package/dist/src/Platform.d.ts.map +1 -1
  46. package/dist/src/Platform.js +3 -3
  47. package/dist/src/Platform.js.map +1 -1
  48. package/dist/src/ReduceablePrice.d.ts +9 -0
  49. package/dist/src/ReduceablePrice.d.ts.map +1 -0
  50. package/dist/src/ReduceablePrice.js +29 -0
  51. package/dist/src/ReduceablePrice.js.map +1 -0
  52. package/dist/src/RegistrationPeriod.d.ts +2 -0
  53. package/dist/src/RegistrationPeriod.d.ts.map +1 -1
  54. package/dist/src/RegistrationPeriod.js +5 -0
  55. package/dist/src/RegistrationPeriod.js.map +1 -1
  56. package/dist/src/Token.d.ts.map +1 -1
  57. package/dist/src/Token.js +7 -4
  58. package/dist/src/Token.js.map +1 -1
  59. package/dist/src/Version.d.ts +1 -1
  60. package/dist/src/Version.js +1 -1
  61. package/dist/src/email/Email.d.ts +5 -3
  62. package/dist/src/email/Email.d.ts.map +1 -1
  63. package/dist/src/email/Email.js +3 -0
  64. package/dist/src/email/Email.js.map +1 -1
  65. package/dist/src/endpoints/RegisterResponse.d.ts +2 -2
  66. package/dist/src/endpoints/RegisterResponse.d.ts.map +1 -1
  67. package/dist/src/endpoints/RegisterResponse.js +2 -2
  68. package/dist/src/endpoints/RegisterResponse.js.map +1 -1
  69. package/dist/src/filters/ExcelExportRequest.d.ts +1 -0
  70. package/dist/src/filters/ExcelExportRequest.d.ts.map +1 -1
  71. package/dist/src/filters/ExcelExportRequest.js +1 -0
  72. package/dist/src/filters/ExcelExportRequest.js.map +1 -1
  73. package/dist/src/filters/FilterCompilers.d.ts +18 -0
  74. package/dist/src/filters/FilterCompilers.d.ts.map +1 -0
  75. package/dist/src/filters/FilterCompilers.js +110 -0
  76. package/dist/src/filters/FilterCompilers.js.map +1 -0
  77. package/dist/src/filters/InMemoryFilter.d.ts +5 -3
  78. package/dist/src/filters/InMemoryFilter.d.ts.map +1 -1
  79. package/dist/src/filters/InMemoryFilter.js +20 -75
  80. package/dist/src/filters/InMemoryFilter.js.map +1 -1
  81. package/dist/src/filters/InMemoryFilter.test.d.ts +2 -0
  82. package/dist/src/filters/InMemoryFilter.test.d.ts.map +1 -0
  83. package/dist/src/filters/InMemoryFilter.test.js +293 -0
  84. package/dist/src/filters/InMemoryFilter.test.js.map +1 -0
  85. package/dist/src/helpers/MemberPlatformMembershipHelper.d.ts +12 -0
  86. package/dist/src/helpers/MemberPlatformMembershipHelper.d.ts.map +1 -0
  87. package/dist/src/helpers/MemberPlatformMembershipHelper.js +74 -0
  88. package/dist/src/helpers/MemberPlatformMembershipHelper.js.map +1 -0
  89. package/dist/src/members/Member.d.ts +1 -0
  90. package/dist/src/members/Member.d.ts.map +1 -1
  91. package/dist/src/members/Member.js +3 -0
  92. package/dist/src/members/Member.js.map +1 -1
  93. package/dist/src/members/MembershipStatus.d.ts +13 -0
  94. package/dist/src/members/MembershipStatus.d.ts.map +1 -0
  95. package/dist/src/members/MembershipStatus.js +18 -0
  96. package/dist/src/members/MembershipStatus.js.map +1 -0
  97. package/dist/src/members/PaymentGeneral.js +1 -1
  98. package/dist/src/members/PaymentGeneral.js.map +1 -1
  99. package/dist/src/members/PaymentWithRegistrations.d.ts +2 -2
  100. package/dist/src/members/PaymentWithRegistrations.d.ts.map +1 -1
  101. package/dist/src/members/PaymentWithRegistrations.js +2 -2
  102. package/dist/src/members/PaymentWithRegistrations.js.map +1 -1
  103. package/dist/src/members/PlatformMember.d.ts +24 -14
  104. package/dist/src/members/PlatformMember.d.ts.map +1 -1
  105. package/dist/src/members/PlatformMember.js +93 -116
  106. package/dist/src/members/PlatformMember.js.map +1 -1
  107. package/dist/src/members/PlatformMember.test.js +4 -7
  108. package/dist/src/members/PlatformMember.test.js.map +1 -1
  109. package/dist/src/members/Registration.d.ts +37 -0
  110. package/dist/src/members/Registration.d.ts.map +1 -1
  111. package/dist/src/members/Registration.js +48 -0
  112. package/dist/src/members/Registration.js.map +1 -1
  113. package/dist/src/members/RegistrationWithMember.d.ts +15 -3
  114. package/dist/src/members/RegistrationWithMember.d.ts.map +1 -1
  115. package/dist/src/members/RegistrationWithMember.js +32 -2
  116. package/dist/src/members/RegistrationWithMember.js.map +1 -1
  117. package/dist/src/members/RegistrationWithMemberBlob.d.ts +6 -0
  118. package/dist/src/members/RegistrationWithMemberBlob.d.ts.map +1 -0
  119. package/dist/src/members/RegistrationWithMemberBlob.js +14 -0
  120. package/dist/src/members/RegistrationWithMemberBlob.js.map +1 -0
  121. package/{esm/dist/src/members/RegistrationWithMember.d.ts → dist/src/members/RegistrationWithTinyMember.d.ts} +3 -3
  122. package/dist/src/members/RegistrationWithTinyMember.d.ts.map +1 -0
  123. package/dist/src/members/RegistrationWithTinyMember.js +20 -0
  124. package/dist/src/members/RegistrationWithTinyMember.js.map +1 -0
  125. package/dist/src/members/RegistrationsBlob.d.ts +8 -0
  126. package/dist/src/members/RegistrationsBlob.d.ts.map +1 -0
  127. package/dist/src/{endpoints/GroupsWithOrganizations.js → members/RegistrationsBlob.js} +9 -9
  128. package/dist/src/members/RegistrationsBlob.js.map +1 -0
  129. package/dist/src/members/checkout/RegisterCart.d.ts +18 -2
  130. package/dist/src/members/checkout/RegisterCart.d.ts.map +1 -1
  131. package/dist/src/members/checkout/RegisterCart.js +51 -2
  132. package/dist/src/members/checkout/RegisterCart.js.map +1 -1
  133. package/dist/src/members/checkout/RegisterCart.test.d.ts +2 -0
  134. package/dist/src/members/checkout/RegisterCart.test.d.ts.map +1 -0
  135. package/dist/src/members/checkout/RegisterCart.test.js +1384 -0
  136. package/dist/src/members/checkout/RegisterCart.test.js.map +1 -0
  137. package/dist/src/members/checkout/RegisterCheckout.d.ts +23 -3
  138. package/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  139. package/dist/src/members/checkout/RegisterCheckout.js +108 -11
  140. package/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  141. package/dist/src/members/checkout/RegisterItem.d.ts +7 -13
  142. package/dist/src/members/checkout/RegisterItem.d.ts.map +1 -1
  143. package/dist/src/members/checkout/RegisterItem.js +50 -23
  144. package/dist/src/members/checkout/RegisterItem.js.map +1 -1
  145. package/dist/src/members/checkout/RegistrationWithPlatformMember.d.ts +13 -0
  146. package/dist/src/members/checkout/RegistrationWithPlatformMember.d.ts.map +1 -0
  147. package/dist/src/members/checkout/RegistrationWithPlatformMember.js +21 -0
  148. package/dist/src/members/checkout/RegistrationWithPlatformMember.js.map +1 -0
  149. package/dist/src/members/records/RecordCategory.d.ts +1 -0
  150. package/dist/src/members/records/RecordCategory.d.ts.map +1 -1
  151. package/dist/src/members/records/RecordCategory.js +10 -0
  152. package/dist/src/members/records/RecordCategory.js.map +1 -1
  153. package/dist/src/webshops/Webshop.d.ts +1 -0
  154. package/dist/src/webshops/Webshop.d.ts.map +1 -1
  155. package/dist/src/webshops/Webshop.js +4 -1
  156. package/dist/src/webshops/Webshop.js.map +1 -1
  157. package/dist/src/webshops/WebshopMetaData.d.ts +1 -0
  158. package/dist/src/webshops/WebshopMetaData.d.ts.map +1 -1
  159. package/dist/src/webshops/WebshopMetaData.js +4 -0
  160. package/dist/src/webshops/WebshopMetaData.js.map +1 -1
  161. package/esm/dist/index.d.ts +11 -2
  162. package/esm/dist/index.d.ts.map +1 -1
  163. package/esm/dist/index.js +11 -2
  164. package/esm/dist/index.js.map +1 -1
  165. package/esm/dist/src/AppliedRegistrationDiscount.d.ts +15 -0
  166. package/esm/dist/src/AppliedRegistrationDiscount.d.ts.map +1 -0
  167. package/esm/dist/src/AppliedRegistrationDiscount.js +20 -0
  168. package/esm/dist/src/AppliedRegistrationDiscount.js.map +1 -0
  169. package/esm/dist/src/BalanceItem.d.ts +13 -4
  170. package/esm/dist/src/BalanceItem.d.ts.map +1 -1
  171. package/esm/dist/src/BalanceItem.js +68 -22
  172. package/esm/dist/src/BalanceItem.js.map +1 -1
  173. package/esm/dist/src/BalanceItemDetailed.d.ts +2 -2
  174. package/esm/dist/src/BalanceItemDetailed.d.ts.map +1 -1
  175. package/esm/dist/src/BalanceItemDetailed.js +2 -2
  176. package/esm/dist/src/BalanceItemDetailed.js.map +1 -1
  177. package/esm/dist/src/BundleDiscount.d.ts +79 -0
  178. package/esm/dist/src/BundleDiscount.d.ts.map +1 -0
  179. package/esm/dist/src/BundleDiscount.js +374 -0
  180. package/esm/dist/src/BundleDiscount.js.map +1 -0
  181. package/esm/dist/src/BundleDiscountGroupPriceSettings.d.ts +15 -0
  182. package/esm/dist/src/BundleDiscountGroupPriceSettings.d.ts.map +1 -0
  183. package/esm/dist/src/BundleDiscountGroupPriceSettings.js +25 -0
  184. package/esm/dist/src/BundleDiscountGroupPriceSettings.js.map +1 -0
  185. package/esm/dist/src/Group.d.ts +2 -0
  186. package/esm/dist/src/Group.d.ts.map +1 -1
  187. package/esm/dist/src/Group.js +10 -0
  188. package/esm/dist/src/Group.js.map +1 -1
  189. package/esm/dist/src/GroupPriceDiscount.d.ts +14 -0
  190. package/esm/dist/src/GroupPriceDiscount.d.ts.map +1 -0
  191. package/esm/dist/src/GroupPriceDiscount.js +35 -0
  192. package/esm/dist/src/GroupPriceDiscount.js.map +1 -0
  193. package/esm/dist/src/GroupSettings.d.ts +7 -8
  194. package/esm/dist/src/GroupSettings.d.ts.map +1 -1
  195. package/esm/dist/src/GroupSettings.js +10 -23
  196. package/esm/dist/src/GroupSettings.js.map +1 -1
  197. package/esm/dist/src/Organization.d.ts +1 -1
  198. package/esm/dist/src/Organization.d.ts.map +1 -1
  199. package/esm/dist/src/Organization.js +14 -1
  200. package/esm/dist/src/Organization.js.map +1 -1
  201. package/esm/dist/src/Permissions.d.ts.map +1 -1
  202. package/esm/dist/src/Permissions.js +1 -1
  203. package/esm/dist/src/Permissions.js.map +1 -1
  204. package/esm/dist/src/Platform.d.ts +1 -1
  205. package/esm/dist/src/Platform.d.ts.map +1 -1
  206. package/esm/dist/src/Platform.js +1 -1
  207. package/esm/dist/src/Platform.js.map +1 -1
  208. package/esm/dist/src/ReduceablePrice.d.ts +9 -0
  209. package/esm/dist/src/ReduceablePrice.d.ts.map +1 -0
  210. package/esm/dist/src/ReduceablePrice.js +25 -0
  211. package/esm/dist/src/ReduceablePrice.js.map +1 -0
  212. package/esm/dist/src/RegistrationPeriod.d.ts +2 -0
  213. package/esm/dist/src/RegistrationPeriod.d.ts.map +1 -1
  214. package/esm/dist/src/RegistrationPeriod.js +5 -0
  215. package/esm/dist/src/RegistrationPeriod.js.map +1 -1
  216. package/esm/dist/src/Token.d.ts.map +1 -1
  217. package/esm/dist/src/Token.js +7 -4
  218. package/esm/dist/src/Token.js.map +1 -1
  219. package/esm/dist/src/Version.d.ts +1 -1
  220. package/esm/dist/src/Version.js +1 -1
  221. package/esm/dist/src/email/Email.d.ts +5 -3
  222. package/esm/dist/src/email/Email.d.ts.map +1 -1
  223. package/esm/dist/src/email/Email.js +3 -0
  224. package/esm/dist/src/email/Email.js.map +1 -1
  225. package/esm/dist/src/endpoints/RegisterResponse.d.ts +2 -2
  226. package/esm/dist/src/endpoints/RegisterResponse.d.ts.map +1 -1
  227. package/esm/dist/src/endpoints/RegisterResponse.js +2 -2
  228. package/esm/dist/src/endpoints/RegisterResponse.js.map +1 -1
  229. package/esm/dist/src/filters/ExcelExportRequest.d.ts +1 -0
  230. package/esm/dist/src/filters/ExcelExportRequest.d.ts.map +1 -1
  231. package/esm/dist/src/filters/ExcelExportRequest.js +1 -0
  232. package/esm/dist/src/filters/ExcelExportRequest.js.map +1 -1
  233. package/esm/dist/src/filters/FilterCompilers.d.ts +18 -0
  234. package/esm/dist/src/filters/FilterCompilers.d.ts.map +1 -0
  235. package/esm/dist/src/filters/FilterCompilers.js +104 -0
  236. package/esm/dist/src/filters/FilterCompilers.js.map +1 -0
  237. package/esm/dist/src/filters/InMemoryFilter.d.ts +5 -3
  238. package/esm/dist/src/filters/InMemoryFilter.d.ts.map +1 -1
  239. package/esm/dist/src/filters/InMemoryFilter.js +19 -74
  240. package/esm/dist/src/filters/InMemoryFilter.js.map +1 -1
  241. package/esm/dist/src/helpers/MemberPlatformMembershipHelper.d.ts +12 -0
  242. package/esm/dist/src/helpers/MemberPlatformMembershipHelper.d.ts.map +1 -0
  243. package/esm/dist/src/helpers/MemberPlatformMembershipHelper.js +70 -0
  244. package/esm/dist/src/helpers/MemberPlatformMembershipHelper.js.map +1 -0
  245. package/esm/dist/src/members/Member.d.ts +1 -0
  246. package/esm/dist/src/members/Member.d.ts.map +1 -1
  247. package/esm/dist/src/members/Member.js +3 -0
  248. package/esm/dist/src/members/Member.js.map +1 -1
  249. package/esm/dist/src/members/MembershipStatus.d.ts +13 -0
  250. package/esm/dist/src/members/MembershipStatus.d.ts.map +1 -0
  251. package/esm/dist/src/members/MembershipStatus.js +15 -0
  252. package/esm/dist/src/members/MembershipStatus.js.map +1 -0
  253. package/esm/dist/src/members/PaymentGeneral.js +1 -1
  254. package/esm/dist/src/members/PaymentGeneral.js.map +1 -1
  255. package/esm/dist/src/members/PaymentWithRegistrations.d.ts +2 -2
  256. package/esm/dist/src/members/PaymentWithRegistrations.d.ts.map +1 -1
  257. package/esm/dist/src/members/PaymentWithRegistrations.js +2 -2
  258. package/esm/dist/src/members/PaymentWithRegistrations.js.map +1 -1
  259. package/esm/dist/src/members/PlatformMember.d.ts +24 -14
  260. package/esm/dist/src/members/PlatformMember.d.ts.map +1 -1
  261. package/esm/dist/src/members/PlatformMember.js +91 -115
  262. package/esm/dist/src/members/PlatformMember.js.map +1 -1
  263. package/esm/dist/src/members/Registration.d.ts +37 -0
  264. package/esm/dist/src/members/Registration.d.ts.map +1 -1
  265. package/esm/dist/src/members/Registration.js +48 -0
  266. package/esm/dist/src/members/Registration.js.map +1 -1
  267. package/esm/dist/src/members/RegistrationWithMemberBlob.d.ts +6 -0
  268. package/esm/dist/src/members/RegistrationWithMemberBlob.d.ts.map +1 -0
  269. package/esm/dist/src/members/RegistrationWithMemberBlob.js +10 -0
  270. package/esm/dist/src/members/RegistrationWithMemberBlob.js.map +1 -0
  271. package/esm/dist/src/members/RegistrationWithTinyMember.d.ts +7 -0
  272. package/esm/dist/src/members/RegistrationWithTinyMember.d.ts.map +1 -0
  273. package/esm/dist/src/members/{RegistrationWithMember.js → RegistrationWithTinyMember.js} +4 -4
  274. package/esm/dist/src/members/RegistrationWithTinyMember.js.map +1 -0
  275. package/esm/dist/src/members/RegistrationsBlob.d.ts +8 -0
  276. package/esm/dist/src/members/RegistrationsBlob.d.ts.map +1 -0
  277. package/esm/dist/src/members/RegistrationsBlob.js +18 -0
  278. package/esm/dist/src/members/RegistrationsBlob.js.map +1 -0
  279. package/esm/dist/src/members/checkout/RegisterCart.d.ts +18 -2
  280. package/esm/dist/src/members/checkout/RegisterCart.d.ts.map +1 -1
  281. package/esm/dist/src/members/checkout/RegisterCart.js +51 -2
  282. package/esm/dist/src/members/checkout/RegisterCart.js.map +1 -1
  283. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts +23 -3
  284. package/esm/dist/src/members/checkout/RegisterCheckout.d.ts.map +1 -1
  285. package/esm/dist/src/members/checkout/RegisterCheckout.js +108 -11
  286. package/esm/dist/src/members/checkout/RegisterCheckout.js.map +1 -1
  287. package/esm/dist/src/members/checkout/RegisterItem.d.ts +7 -13
  288. package/esm/dist/src/members/checkout/RegisterItem.d.ts.map +1 -1
  289. package/esm/dist/src/members/checkout/RegisterItem.js +48 -20
  290. package/esm/dist/src/members/checkout/RegisterItem.js.map +1 -1
  291. package/esm/dist/src/members/checkout/RegistrationWithPlatformMember.d.ts +13 -0
  292. package/esm/dist/src/members/checkout/RegistrationWithPlatformMember.d.ts.map +1 -0
  293. package/esm/dist/src/members/checkout/RegistrationWithPlatformMember.js +17 -0
  294. package/esm/dist/src/members/checkout/RegistrationWithPlatformMember.js.map +1 -0
  295. package/esm/dist/src/members/records/RecordCategory.d.ts +1 -0
  296. package/esm/dist/src/members/records/RecordCategory.d.ts.map +1 -1
  297. package/esm/dist/src/members/records/RecordCategory.js +11 -1
  298. package/esm/dist/src/members/records/RecordCategory.js.map +1 -1
  299. package/esm/dist/src/webshops/Webshop.d.ts +1 -0
  300. package/esm/dist/src/webshops/Webshop.d.ts.map +1 -1
  301. package/esm/dist/src/webshops/Webshop.js +4 -1
  302. package/esm/dist/src/webshops/Webshop.js.map +1 -1
  303. package/esm/dist/src/webshops/WebshopMetaData.d.ts +1 -0
  304. package/esm/dist/src/webshops/WebshopMetaData.d.ts.map +1 -1
  305. package/esm/dist/src/webshops/WebshopMetaData.js +4 -0
  306. package/esm/dist/src/webshops/WebshopMetaData.js.map +1 -1
  307. package/package.json +2 -2
  308. package/dist/src/endpoints/GroupsWithOrganizations.d.ts +0 -8
  309. package/dist/src/endpoints/GroupsWithOrganizations.d.ts.map +0 -1
  310. package/dist/src/endpoints/GroupsWithOrganizations.js.map +0 -1
  311. package/esm/dist/src/endpoints/GroupsWithOrganizations.d.ts +0 -8
  312. package/esm/dist/src/endpoints/GroupsWithOrganizations.d.ts.map +0 -1
  313. package/esm/dist/src/endpoints/GroupsWithOrganizations.js +0 -18
  314. package/esm/dist/src/endpoints/GroupsWithOrganizations.js.map +0 -1
  315. package/esm/dist/src/members/RegistrationWithMember.d.ts.map +0 -1
  316. package/esm/dist/src/members/RegistrationWithMember.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceItem.js","sourceRoot":"","sources":["../../src/BalanceItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BalanceItem.js","sourceRoot":"","sources":["../../src/BalanceItem.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { BalanceItem, BalanceItemPayment } from './BalanceItem.js';
2
- import { RegistrationWithMember } from './members/RegistrationWithMember.js';
2
+ import { RegistrationWithTinyMember } from './members/RegistrationWithTinyMember.js';
3
3
  import { Order } from './webshops/Order.js';
4
4
  export declare class BalanceItemDetailed extends BalanceItem {
5
- registration: RegistrationWithMember | null;
5
+ registration: RegistrationWithTinyMember | null;
6
6
  order: Order | null;
7
7
  }
8
8
  export declare class BalanceItemPaymentDetailed extends BalanceItemPayment {
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceItemDetailed.d.ts","sourceRoot":"","sources":["../../src/BalanceItemDetailed.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,qBAAa,mBAAoB,SAAQ,WAAW;IAEhD,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IAGnD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAQ;CAC9B;AAED,qBAAa,0BAA2B,SAAQ,kBAAkB;IAE9D,WAAW,EAAE,WAAW,CAAC;IAEzB;;;;;OAKG;IACH,IAAI,MAAM,WAOT;IAED,IAAI,SAAS,WAKZ;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,eAAe,kBAElB;IAED,QAAQ;CAGX"}
1
+ {"version":3,"file":"BalanceItemDetailed.d.ts","sourceRoot":"","sources":["../../src/BalanceItemDetailed.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,qBAAa,mBAAoB,SAAQ,WAAW;IAEhD,YAAY,EAAE,0BAA0B,GAAG,IAAI,CAAQ;IAGvD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAQ;CAC9B;AAED,qBAAa,0BAA2B,SAAQ,kBAAkB;IAE9D,WAAW,EAAE,WAAW,CAAC;IAEzB;;;;;OAKG;IACH,IAAI,MAAM,WAOT;IAED,IAAI,SAAS,WAKZ;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,eAAe,kBAElB;IAED,QAAQ;CAGX"}
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const simple_encoding_1 = require("@simonbackx/simple-encoding");
6
6
  const utility_1 = require("@stamhoofd/utility");
7
7
  const BalanceItem_js_1 = require("./BalanceItem.js");
8
- const RegistrationWithMember_js_1 = require("./members/RegistrationWithMember.js");
8
+ const RegistrationWithTinyMember_js_1 = require("./members/RegistrationWithTinyMember.js");
9
9
  const Order_js_1 = require("./webshops/Order.js");
10
10
  // Do we still need this?
11
11
  class BalanceItemDetailed extends BalanceItem_js_1.BalanceItem {
@@ -17,7 +17,7 @@ class BalanceItemDetailed extends BalanceItem_js_1.BalanceItem {
17
17
  }
18
18
  exports.BalanceItemDetailed = BalanceItemDetailed;
19
19
  tslib_1.__decorate([
20
- (0, simple_encoding_1.field)({ decoder: RegistrationWithMember_js_1.RegistrationWithMember, nullable: true })
20
+ (0, simple_encoding_1.field)({ decoder: RegistrationWithTinyMember_js_1.RegistrationWithTinyMember, nullable: true })
21
21
  ], BalanceItemDetailed.prototype, "registration", void 0);
22
22
  tslib_1.__decorate([
23
23
  (0, simple_encoding_1.field)({ decoder: Order_js_1.Order, nullable: true })
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceItemDetailed.js","sourceRoot":"","sources":["../../src/BalanceItemDetailed.ts"],"names":[],"mappings":";;;;AAAA,iEAAoD;AAEpD,gDAA+C;AAC/C,qDAAmE;AACnE,mFAA6E;AAC7E,kDAA4C;AAE5C,yBAAyB;AACzB,MAAa,mBAAoB,SAAQ,4BAAW;IAApD;;QAEI,iBAAY,GAAkC,IAAI,CAAC;QAGnD,UAAK,GAAiB,IAAI,CAAC;IAC/B,CAAC;CAAA;AAND,kDAMC;AAJG;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,kDAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;yDACR;AAGnD;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,gBAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACf;AAG/B,MAAa,0BAA2B,SAAQ,mCAAkB;IAI9D;;;;;OAKG;IACH,IAAI,MAAM;QACN,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACvB,mCAAmC;YACnC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,IAAI,SAAS;QACT,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;IAC5C,CAAC;IAED,QAAQ;QACJ,OAAO,mBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClI,CAAC;CACJ;AA3CD,gEA2CC;AAzCG;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,4BAAW,EAAE,CAAC;+DACP"}
1
+ {"version":3,"file":"BalanceItemDetailed.js","sourceRoot":"","sources":["../../src/BalanceItemDetailed.ts"],"names":[],"mappings":";;;;AAAA,iEAAoD;AAEpD,gDAA+C;AAC/C,qDAAmE;AACnE,2FAAqF;AACrF,kDAA4C;AAE5C,yBAAyB;AACzB,MAAa,mBAAoB,SAAQ,4BAAW;IAApD;;QAEI,iBAAY,GAAsC,IAAI,CAAC;QAGvD,UAAK,GAAiB,IAAI,CAAC;IAC/B,CAAC;CAAA;AAND,kDAMC;AAJG;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,0DAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;yDACR;AAGvD;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,gBAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACf;AAG/B,MAAa,0BAA2B,SAAQ,mCAAkB;IAI9D;;;;;OAKG;IACH,IAAI,MAAM;QACN,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YACvB,mCAAmC;YACnC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,IAAI,SAAS;QACT,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;IAC5C,CAAC;IAED,QAAQ;QACJ,OAAO,mBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClI,CAAC;CACJ;AA3CD,gEA2CC;AAzCG;IADC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,4BAAW,EAAE,CAAC;+DACP"}
@@ -0,0 +1,79 @@
1
+ import { AutoEncoder } from '@simonbackx/simple-encoding';
2
+ import { Group } from './Group.js';
3
+ import { GroupPriceDiscount } from './GroupPriceDiscount.js';
4
+ import { type RegisterCart } from './members/checkout/RegisterCart.js';
5
+ import { RegisterItem } from './members/checkout/RegisterItem.js';
6
+ import { type PlatformMember } from './members/PlatformMember.js';
7
+ import { TranslatedString } from './TranslatedString.js';
8
+ import { RegistrationWithPlatformMember } from './members/checkout/RegistrationWithPlatformMember.js';
9
+ export declare class BundleDiscount extends AutoEncoder {
10
+ id: string;
11
+ name: TranslatedString;
12
+ discounts: GroupPriceDiscount[];
13
+ /**
14
+ * Whether all registrations of the family are counted together (true), or they are all counted separately per member (false).
15
+ */
16
+ countWholeFamily: boolean;
17
+ /**
18
+ * Whether all registrations are counted together regardless the group (false), or each group is counted separately (true).
19
+ * Note: this is always false (ignored) if countWholeFamily is false. Because a member cannot register for the same group multiple times.
20
+ */
21
+ countPerGroup: boolean;
22
+ get humanDescription(): string;
23
+ static discountsToText(discounts: GroupPriceDiscount[]): string;
24
+ get discountsText(): string;
25
+ calculate(cart: RegisterCart): BundleDiscountCalculationGroup;
26
+ applyableTo(item: RegisterItem | RegistrationWithPlatformMember): boolean;
27
+ }
28
+ declare class BundleDiscountCalculationGroup {
29
+ bundle: BundleDiscount;
30
+ calculations: Map<string, BundleDiscountCalculation>;
31
+ constructor(options: {
32
+ bundle: BundleDiscount;
33
+ });
34
+ calculate(): void;
35
+ getCalculationFor(item: RegisterItem | RegistrationWithPlatformMember, options?: {
36
+ onlyExisting?: boolean;
37
+ }): BundleDiscountCalculation | null;
38
+ }
39
+ export declare class BundleDiscountCalculation {
40
+ bundle: BundleDiscount;
41
+ member: PlatformMember | null;
42
+ group: Group | null;
43
+ /**
44
+ * Keep track of the distribution of discounts.
45
+ * This will set the 'applied discounts' for these items once their registration is created in the database
46
+ */
47
+ items: Map<RegisterItem, number>;
48
+ /**
49
+ * Existing registations that cause a discount.
50
+ * The value contains the new calculated discount for this registration
51
+ */
52
+ registrations: Map<RegistrationWithPlatformMember, number>;
53
+ /**
54
+ * Keeps track of the deleted registrations so we can exclude these registrations from the calculation
55
+ */
56
+ deleteRegistrations: RegistrationWithPlatformMember[];
57
+ constructor(options: {
58
+ bundle: BundleDiscount;
59
+ group?: Group | null;
60
+ member?: PlatformMember | null;
61
+ });
62
+ get name(): string;
63
+ /**
64
+ The total dicount, not taking into account what has already been given in the past
65
+ */
66
+ get total(): number;
67
+ get totalAlreadyApplied(): number;
68
+ get netTotal(): number;
69
+ get netTotalDueLater(): number;
70
+ get netTotalDueNow(): number;
71
+ getTotalFor(item: RegisterItem | RegistrationWithPlatformMember): number;
72
+ addIfNotBeingRemoved(item: RegisterItem | RegistrationWithPlatformMember): void;
73
+ add(item: RegisterItem | RegistrationWithPlatformMember): void;
74
+ remove(registration: RegistrationWithPlatformMember): void;
75
+ get itemsAndRegistrations(): (RegistrationWithPlatformMember | RegisterItem)[];
76
+ calculate(): void;
77
+ }
78
+ export {};
79
+ //# sourceMappingURL=BundleDiscount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BundleDiscount.d.ts","sourceRoot":"","sources":["../../src/BundleDiscount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAC9G,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sDAAsD,CAAC;AAGtG,qBAAa,cAAe,SAAQ,WAAW;IAE3C,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,mBAA4B;IAGhC,SAAS,EAAE,kBAAkB,EAAE,CAAM;IAErC;;OAEG;IAEH,gBAAgB,UAAS;IAEzB;;;OAGG;IAEH,aAAa,UAAS;IAEtB,IAAI,gBAAgB,WASnB;IAED,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,kBAAkB,EAAE;IAkBtD,IAAI,aAAa,WAEhB;IAED,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,8BAA8B;IAyD7D,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,8BAA8B;CAalE;AAED,cAAM,8BAA8B;IAChC,MAAM,EAAE,cAAc,CAAC;IAEvB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAa;gBAErD,OAAO,EAAE;QACjB,MAAM,EAAE,cAAc,CAAC;KAC1B;IAID,SAAS;IAMT,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,8BAA8B,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE;CAqC9G;AAED,qBAAa,yBAAyB;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB;;;OAGG;IACH,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEjC;;;OAGG;IACH,aAAa,EAAE,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;IAE3D;;MAEE;IACF,mBAAmB,EAAE,8BAA8B,EAAE,CAAC;gBAE1C,OAAO,EAAE;QACjB,MAAM,EAAE,cAAc,CAAC;QACvB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;KAClC;IAUD,IAAI,IAAI,WAWP;IAED;;MAEE;IACF,IAAI,KAAK,WAGR;IAED,IAAI,mBAAmB,WAUtB;IAED,IAAI,QAAQ,WAEX;IAED,IAAI,gBAAgB,WASnB;IAED,IAAI,cAAc,WAEjB;IAED,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,8BAA8B;IAU/D,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,8BAA8B;IAWxE,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,8BAA8B;IASvD,MAAM,CAAC,YAAY,EAAE,8BAA8B;IAInD,IAAI,qBAAqB,sDAqCxB;IAED,SAAS;CA4CZ"}
@@ -0,0 +1,379 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BundleDiscountCalculation = exports.BundleDiscount = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const simple_encoding_1 = require("@simonbackx/simple-encoding");
6
+ const GroupPriceDiscount_js_1 = require("./GroupPriceDiscount.js");
7
+ const RegisterItem_js_1 = require("./members/checkout/RegisterItem.js");
8
+ const uuid_1 = require("uuid");
9
+ const TranslatedString_js_1 = require("./TranslatedString.js");
10
+ const RegistrationWithPlatformMember_js_1 = require("./members/checkout/RegistrationWithPlatformMember.js");
11
+ const utility_1 = require("@stamhoofd/utility");
12
+ class BundleDiscount extends simple_encoding_1.AutoEncoder {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.name = new TranslatedString_js_1.TranslatedString('');
16
+ this.discounts = []; // second, third, fourth...
17
+ /**
18
+ * Whether all registrations of the family are counted together (true), or they are all counted separately per member (false).
19
+ */
20
+ this.countWholeFamily = false;
21
+ /**
22
+ * Whether all registrations are counted together regardless the group (false), or each group is counted separately (true).
23
+ * Note: this is always false (ignored) if countWholeFamily is false. Because a member cannot register for the same group multiple times.
24
+ */
25
+ this.countPerGroup = false;
26
+ }
27
+ get humanDescription() {
28
+ if (this.countWholeFamily) {
29
+ if (this.countPerGroup) {
30
+ return $t('43c1d02d-ca64-4809-95d6-50491c712cbb');
31
+ }
32
+ return $t('d098add1-c1b8-44d1-bf96-d762db3ea3cc');
33
+ }
34
+ return $t('200b5e3d-93d1-4c1c-80be-6eb0f2f75793');
35
+ }
36
+ static discountsToText(discounts) {
37
+ if (discounts.length === 0) {
38
+ return $t('d3c259e4-4f8b-4f2f-9051-a943ef41dbd2');
39
+ }
40
+ return discounts.map((d, i) => {
41
+ if (i === discounts.length - 1) {
42
+ return $t('cb8ccc1d-7ec0-4c9d-bf02-6759109324ce', {
43
+ '5%': d.toString(),
44
+ '2': i + 2,
45
+ });
46
+ }
47
+ return $t('4eda3d41-73fe-4063-8036-ccbd7290deaf', {
48
+ '5%': d.toString(),
49
+ '2': i + 2,
50
+ });
51
+ }).join(', ');
52
+ }
53
+ get discountsText() {
54
+ return BundleDiscount.discountsToText(this.discounts);
55
+ }
56
+ calculate(cart) {
57
+ const group = new BundleDiscountCalculationGroup({
58
+ bundle: this,
59
+ });
60
+ for (const item of cart.items) {
61
+ const calculation = group.getCalculationFor(item);
62
+ calculation === null || calculation === void 0 ? void 0 : calculation.add(item);
63
+ for (const deletedRegistration of item.replaceRegistrations) {
64
+ const cc = group.getCalculationFor(deletedRegistration);
65
+ cc === null || cc === void 0 ? void 0 : cc.remove(deletedRegistration);
66
+ }
67
+ }
68
+ for (const deletedRegistration of cart.deleteRegistrations) {
69
+ const cc = group.getCalculationFor(deletedRegistration);
70
+ cc === null || cc === void 0 ? void 0 : cc.remove(deletedRegistration);
71
+ }
72
+ // Loop all existing registrations that are not deleted - if they are already in a calculation group
73
+ const loopedFamilies = new Set();
74
+ const loopedMembers = new Set();
75
+ for (const family of [
76
+ ...cart.items.map(item => item.member.family),
77
+ ...cart.deleteRegistrations.map(registration => registration.member.family),
78
+ ]) {
79
+ if (loopedFamilies.has(family)) {
80
+ continue;
81
+ }
82
+ loopedFamilies.add(family);
83
+ for (const member of family.members) {
84
+ if (loopedMembers.has(member.id)) {
85
+ continue;
86
+ }
87
+ loopedMembers.add(member.id);
88
+ for (const registration of member.filterRegistrations({})) {
89
+ const registrationWithPlatformMember = new RegistrationWithPlatformMember_js_1.RegistrationWithPlatformMember({
90
+ registration,
91
+ member,
92
+ });
93
+ const cc = group.getCalculationFor(registrationWithPlatformMember, {
94
+ // Only add it to the calculation if this registration is relevant for a new or removed registration that was added earlier
95
+ onlyExisting: true,
96
+ });
97
+ cc === null || cc === void 0 ? void 0 : cc.addIfNotBeingRemoved(registrationWithPlatformMember);
98
+ }
99
+ }
100
+ }
101
+ group.calculate();
102
+ return group;
103
+ }
104
+ applyableTo(item) {
105
+ const groupPrice = item instanceof RegistrationWithPlatformMember_js_1.RegistrationWithPlatformMember ? item.registration.updatedGroupPrice : item.groupPrice;
106
+ if (groupPrice.bundleDiscounts.has(this.id)) {
107
+ return true;
108
+ }
109
+ if (item instanceof RegistrationWithPlatformMember_js_1.RegistrationWithPlatformMember) {
110
+ if (item.registration.discounts.has(this.id)) {
111
+ // This registration received the discount in the past, so it is still applyable
112
+ return true;
113
+ }
114
+ }
115
+ return false;
116
+ }
117
+ }
118
+ exports.BundleDiscount = BundleDiscount;
119
+ tslib_1.__decorate([
120
+ (0, simple_encoding_1.field)({ decoder: simple_encoding_1.StringDecoder, defaultValue: () => (0, uuid_1.v4)() })
121
+ ], BundleDiscount.prototype, "id", void 0);
122
+ tslib_1.__decorate([
123
+ (0, simple_encoding_1.field)(TranslatedString_js_1.TranslatedString.field({}))
124
+ ], BundleDiscount.prototype, "name", void 0);
125
+ tslib_1.__decorate([
126
+ (0, simple_encoding_1.field)({ decoder: new simple_encoding_1.ArrayDecoder(GroupPriceDiscount_js_1.GroupPriceDiscount) })
127
+ ], BundleDiscount.prototype, "discounts", void 0);
128
+ tslib_1.__decorate([
129
+ (0, simple_encoding_1.field)({ decoder: simple_encoding_1.BooleanDecoder })
130
+ ], BundleDiscount.prototype, "countWholeFamily", void 0);
131
+ tslib_1.__decorate([
132
+ (0, simple_encoding_1.field)({ decoder: simple_encoding_1.BooleanDecoder })
133
+ ], BundleDiscount.prototype, "countPerGroup", void 0);
134
+ class BundleDiscountCalculationGroup {
135
+ constructor(options) {
136
+ this.calculations = new Map();
137
+ this.bundle = options.bundle;
138
+ }
139
+ calculate() {
140
+ for (const calculation of this.calculations.values()) {
141
+ calculation.calculate();
142
+ }
143
+ }
144
+ getCalculationFor(item, options) {
145
+ if (!this.bundle.applyableTo(item)) {
146
+ return null;
147
+ }
148
+ let groupingCode = 'family-' + item.member.family.uuid + '-';
149
+ let group = null;
150
+ let member = null;
151
+ if (this.bundle.countWholeFamily) {
152
+ if (this.bundle.countPerGroup) {
153
+ groupingCode += item.group.id;
154
+ group = item.group;
155
+ }
156
+ else {
157
+ // Group by family objects (for admins)
158
+ }
159
+ }
160
+ else {
161
+ member = item.member;
162
+ groupingCode += item.member.id;
163
+ }
164
+ const existing = this.calculations.get(groupingCode);
165
+ if (!existing) {
166
+ if (options === null || options === void 0 ? void 0 : options.onlyExisting) {
167
+ return null;
168
+ }
169
+ const n = new BundleDiscountCalculation({
170
+ bundle: this.bundle,
171
+ group,
172
+ member,
173
+ });
174
+ this.calculations.set(groupingCode, n);
175
+ return n;
176
+ }
177
+ return existing;
178
+ }
179
+ }
180
+ class BundleDiscountCalculation {
181
+ constructor(options) {
182
+ var _a, _b;
183
+ this.bundle = options.bundle;
184
+ this.group = (_a = options.group) !== null && _a !== void 0 ? _a : null;
185
+ this.member = (_b = options.member) !== null && _b !== void 0 ? _b : null;
186
+ this.items = new Map();
187
+ this.registrations = new Map();
188
+ this.deleteRegistrations = [];
189
+ }
190
+ get name() {
191
+ const suffix = [];
192
+ if (this.group) {
193
+ suffix.push(this.group.settings.name.toString());
194
+ }
195
+ if (this.member) {
196
+ suffix.push(this.member.patchedMember.firstName);
197
+ }
198
+ return this.bundle.name + (suffix.length > 0 ? ' (' + suffix.join(', ') + ')' : '');
199
+ }
200
+ /**
201
+ The total dicount, not taking into account what has already been given in the past
202
+ */
203
+ get total() {
204
+ return [...this.items.values()].reduce((a, b) => a + b, 0)
205
+ + [...this.registrations.values()].reduce((a, b) => a + b, 0);
206
+ }
207
+ get totalAlreadyApplied() {
208
+ var _a, _b;
209
+ let c = 0;
210
+ for (const registration of this.registrations.keys()) {
211
+ c += (_b = (_a = registration.registration.discounts.get(this.bundle.id)) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : 0;
212
+ }
213
+ // Note: do not subtract the discounts on the deleted registrations
214
+ // These registrations will be deleted anyway, so their balance will be cancelled, that balance includes their discounts
215
+ // the bundle discounts only reflect the situation without all the deleted registrations
216
+ return c;
217
+ }
218
+ get netTotal() {
219
+ return this.total - this.totalAlreadyApplied;
220
+ }
221
+ get netTotalDueLater() {
222
+ let sum = 0;
223
+ for (const [item, value] of this.items) {
224
+ if (item.calculatedTrialUntil) {
225
+ // Due later
226
+ sum += value;
227
+ }
228
+ }
229
+ return sum;
230
+ }
231
+ get netTotalDueNow() {
232
+ return this.netTotal - this.netTotalDueLater;
233
+ }
234
+ getTotalFor(item) {
235
+ var _a, _b;
236
+ if (item instanceof RegisterItem_js_1.RegisterItem) {
237
+ return (_a = this.items.get(item)) !== null && _a !== void 0 ? _a : 0;
238
+ }
239
+ else if (item instanceof RegistrationWithPlatformMember_js_1.RegistrationWithPlatformMember) {
240
+ return ((_b = this.registrations.get(item)) !== null && _b !== void 0 ? _b : 0);
241
+ }
242
+ return 0;
243
+ }
244
+ addIfNotBeingRemoved(item) {
245
+ // Only add if it is not being removed at the same time
246
+ if (item instanceof RegistrationWithPlatformMember_js_1.RegistrationWithPlatformMember) {
247
+ if (this.deleteRegistrations.find(r => r.registration.id === item.registration.id)) {
248
+ return;
249
+ }
250
+ }
251
+ this.add(item);
252
+ }
253
+ add(item) {
254
+ if (item instanceof RegistrationWithPlatformMember_js_1.RegistrationWithPlatformMember) {
255
+ this.registrations.set(item, 0);
256
+ }
257
+ else if (item instanceof RegisterItem_js_1.RegisterItem) {
258
+ this.items.set(item, 0);
259
+ }
260
+ }
261
+ remove(registration) {
262
+ this.deleteRegistrations.push(registration);
263
+ }
264
+ get itemsAndRegistrations() {
265
+ // Return the items in such an order that the first ones should receive the highest discount
266
+ // The first ones that should receive the highest discount are:
267
+ // - the newest items
268
+ // - registrations or items that edit a registration, in order of the already applied discount
269
+ const itemsOrder = [...this.items.keys()].reverse();
270
+ const registrations = [...this.registrations.keys()];
271
+ const now = new Date();
272
+ const itemsWithSortingData = itemsOrder.map((item) => {
273
+ var _a, _b;
274
+ return {
275
+ item,
276
+ appliedDiscount: item.replaceRegistrations.length >= 1 ? ((_b = (_a = item.replaceRegistrations[0].registration.discounts.get(this.bundle.id)) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : 0) : 0,
277
+ createdAt: item.replaceRegistrations.length >= 1 ? (item.replaceRegistrations[0].registration.createdAt) : now,
278
+ };
279
+ });
280
+ const registrationsWithSortingData = registrations.map((registration) => {
281
+ var _a, _b;
282
+ return {
283
+ item: registration,
284
+ appliedDiscount: (_b = (_a = registration.registration.discounts.get(this.bundle.id)) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : 0,
285
+ createdAt: registration.registration.createdAt,
286
+ };
287
+ });
288
+ const base = [
289
+ ...itemsWithSortingData,
290
+ ...registrationsWithSortingData,
291
+ ].sort((a, b) => {
292
+ return utility_1.Sorter.stack(utility_1.Sorter.byNumberValue(a.appliedDiscount, b.appliedDiscount), utility_1.Sorter.byDateValue(a.createdAt, b.createdAt));
293
+ });
294
+ return base.map(b => b.item);
295
+ }
296
+ calculate() {
297
+ var _a, _b, _c, _d, _e;
298
+ // For each item and registration, calculate the price matrix
299
+ // Price if used as first item, second item, third item
300
+ // We'll then calculate the optimal order using the Hungarian Algorithm
301
+ const arr = this.itemsAndRegistrations;
302
+ const priceMatrix = [];
303
+ for (const item of arr) {
304
+ // We always use the group price here, because this is safer, also for registrations (in case we have deactivated registrations with cancallation fees)
305
+ const price = item instanceof RegisterItem_js_1.RegisterItem ? (item.groupPrice.price.forMember(item.member)) : item.registration.groupPrice.price.forMember(item.member);
306
+ const discounts = item instanceof RegisterItem_js_1.RegisterItem
307
+ ? ((_b = (_a = item.groupPrice.bundleDiscounts.get(this.bundle.id)) === null || _a === void 0 ? void 0 : _a.customDiscounts) !== null && _b !== void 0 ? _b : this.bundle.discounts)
308
+ : ((_d = (_c = item.registration.groupPrice.bundleDiscounts.get(this.bundle.id)) === null || _c === void 0 ? void 0 : _c.customDiscounts) !== null && _d !== void 0 ? _d : this.bundle.discounts);
309
+ const row = [];
310
+ for (const [index] of arr.entries()) {
311
+ if (index === 0) {
312
+ row.push(0);
313
+ continue;
314
+ }
315
+ const discount = (_e = discounts[index - 1]) !== null && _e !== void 0 ? _e : discounts[discounts.length - 1]; // Repeat last
316
+ const calculated = discount.calculateDiscount(price, item.member);
317
+ row.push(calculated);
318
+ }
319
+ priceMatrix.push(row);
320
+ }
321
+ const solved = hungarian(priceMatrix);
322
+ for (const [index, item] of arr.entries()) {
323
+ const nth = solved[index];
324
+ const discount = priceMatrix[index][nth];
325
+ if (item instanceof RegistrationWithPlatformMember_js_1.RegistrationWithPlatformMember) {
326
+ this.registrations.set(item, discount);
327
+ }
328
+ else {
329
+ this.items.set(item, discount);
330
+ }
331
+ }
332
+ }
333
+ }
334
+ exports.BundleDiscountCalculation = BundleDiscountCalculation;
335
+ /**
336
+ * Optimized algorithm to maximize the total discount
337
+ * Returns an array where each index corresponds to the nth discount for each item
338
+ * @param priceMatrix A 2D array where priceMatrix[i][j] represents the discount amount for the ith item at the jth position
339
+ */
340
+ function hungarian(priceMatrix) {
341
+ // No items to process
342
+ if (priceMatrix.length === 0) {
343
+ return [];
344
+ }
345
+ const n = priceMatrix.length;
346
+ const assignment = new Array(n).fill(0);
347
+ // Pre-calculate max discounts for each item to avoid repeated calculations
348
+ const itemMaxDiscounts = [];
349
+ for (let i = 0; i < n; i++) {
350
+ // Find max discount (skip position 0)
351
+ let maxDiscount = 0;
352
+ for (let j = 1; j < priceMatrix[i].length; j++) {
353
+ maxDiscount = Math.max(maxDiscount, priceMatrix[i][j]);
354
+ }
355
+ itemMaxDiscounts.push({ index: i, maxDiscount });
356
+ }
357
+ // Sort indices by their maximum potential discount (descending)
358
+ itemMaxDiscounts.sort((a, b) => b.maxDiscount - a.maxDiscount);
359
+ // Track assigned positions
360
+ const assigned = new Set();
361
+ // For each item (in order of maximum discount potential)
362
+ for (const { index: i } of itemMaxDiscounts) {
363
+ let bestPos = 0;
364
+ let bestDiscount = priceMatrix[i][0];
365
+ // Find the best unassigned position for this item
366
+ for (let j = 1; j < priceMatrix[i].length; j++) {
367
+ if (!assigned.has(j) && priceMatrix[i][j] > bestDiscount) {
368
+ bestPos = j;
369
+ bestDiscount = priceMatrix[i][j];
370
+ }
371
+ }
372
+ assignment[i] = bestPos;
373
+ if (bestPos !== 0) {
374
+ assigned.add(bestPos);
375
+ }
376
+ }
377
+ return assignment;
378
+ }
379
+ //# sourceMappingURL=BundleDiscount.js.map