@stamhoofd/structures 2.83.4 → 2.84.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 (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"}
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { field } from '@simonbackx/simple-encoding';
3
3
  import { Formatter } from '@stamhoofd/utility';
4
4
  import { BalanceItem, BalanceItemPayment } from './BalanceItem.js';
5
- import { RegistrationWithMember } from './members/RegistrationWithMember.js';
5
+ import { RegistrationWithTinyMember } from './members/RegistrationWithTinyMember.js';
6
6
  import { Order } from './webshops/Order.js';
7
7
  // Do we still need this?
8
8
  export class BalanceItemDetailed extends BalanceItem {
@@ -13,7 +13,7 @@ export class BalanceItemDetailed extends BalanceItem {
13
13
  }
14
14
  }
15
15
  __decorate([
16
- field({ decoder: RegistrationWithMember, nullable: true })
16
+ field({ decoder: RegistrationWithTinyMember, nullable: true })
17
17
  ], BalanceItemDetailed.prototype, "registration", void 0);
18
18
  __decorate([
19
19
  field({ decoder: Order, nullable: true })
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceItemDetailed.js","sourceRoot":"","sources":["../../../src/BalanceItemDetailed.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,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;AAE5C,yBAAyB;AACzB,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAApD;;QAEI,iBAAY,GAAkC,IAAI,CAAC;QAGnD,UAAK,GAAiB,IAAI,CAAC;IAC/B,CAAC;CAAA;AAJG;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;yDACR;AAGnD;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACf;AAG/B,MAAM,OAAO,0BAA2B,SAAQ,kBAAkB;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,SAAS,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;AAzCG;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;+DACP"}
1
+ {"version":3,"file":"BalanceItemDetailed.js","sourceRoot":"","sources":["../../../src/BalanceItemDetailed.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,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;AAE5C,yBAAyB;AACzB,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAApD;;QAEI,iBAAY,GAAsC,IAAI,CAAC;QAGvD,UAAK,GAAiB,IAAI,CAAC;IAC/B,CAAC;CAAA;AAJG;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;yDACR;AAGvD;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;kDACf;AAG/B,MAAM,OAAO,0BAA2B,SAAQ,kBAAkB;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,SAAS,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;AAzCG;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,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,374 @@
1
+ import { __decorate } from "tslib";
2
+ import { ArrayDecoder, AutoEncoder, BooleanDecoder, field, StringDecoder } from '@simonbackx/simple-encoding';
3
+ import { GroupPriceDiscount } from './GroupPriceDiscount.js';
4
+ import { RegisterItem } from './members/checkout/RegisterItem.js';
5
+ import { v4 as uuidv4 } from 'uuid';
6
+ import { TranslatedString } from './TranslatedString.js';
7
+ import { RegistrationWithPlatformMember } from './members/checkout/RegistrationWithPlatformMember.js';
8
+ import { Sorter } from '@stamhoofd/utility';
9
+ export class BundleDiscount extends AutoEncoder {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = new TranslatedString('');
13
+ this.discounts = []; // second, third, fourth...
14
+ /**
15
+ * Whether all registrations of the family are counted together (true), or they are all counted separately per member (false).
16
+ */
17
+ this.countWholeFamily = false;
18
+ /**
19
+ * Whether all registrations are counted together regardless the group (false), or each group is counted separately (true).
20
+ * Note: this is always false (ignored) if countWholeFamily is false. Because a member cannot register for the same group multiple times.
21
+ */
22
+ this.countPerGroup = false;
23
+ }
24
+ get humanDescription() {
25
+ if (this.countWholeFamily) {
26
+ if (this.countPerGroup) {
27
+ return $t('43c1d02d-ca64-4809-95d6-50491c712cbb');
28
+ }
29
+ return $t('d098add1-c1b8-44d1-bf96-d762db3ea3cc');
30
+ }
31
+ return $t('200b5e3d-93d1-4c1c-80be-6eb0f2f75793');
32
+ }
33
+ static discountsToText(discounts) {
34
+ if (discounts.length === 0) {
35
+ return $t('d3c259e4-4f8b-4f2f-9051-a943ef41dbd2');
36
+ }
37
+ return discounts.map((d, i) => {
38
+ if (i === discounts.length - 1) {
39
+ return $t('cb8ccc1d-7ec0-4c9d-bf02-6759109324ce', {
40
+ '5%': d.toString(),
41
+ '2': i + 2,
42
+ });
43
+ }
44
+ return $t('4eda3d41-73fe-4063-8036-ccbd7290deaf', {
45
+ '5%': d.toString(),
46
+ '2': i + 2,
47
+ });
48
+ }).join(', ');
49
+ }
50
+ get discountsText() {
51
+ return BundleDiscount.discountsToText(this.discounts);
52
+ }
53
+ calculate(cart) {
54
+ const group = new BundleDiscountCalculationGroup({
55
+ bundle: this,
56
+ });
57
+ for (const item of cart.items) {
58
+ const calculation = group.getCalculationFor(item);
59
+ calculation === null || calculation === void 0 ? void 0 : calculation.add(item);
60
+ for (const deletedRegistration of item.replaceRegistrations) {
61
+ const cc = group.getCalculationFor(deletedRegistration);
62
+ cc === null || cc === void 0 ? void 0 : cc.remove(deletedRegistration);
63
+ }
64
+ }
65
+ for (const deletedRegistration of cart.deleteRegistrations) {
66
+ const cc = group.getCalculationFor(deletedRegistration);
67
+ cc === null || cc === void 0 ? void 0 : cc.remove(deletedRegistration);
68
+ }
69
+ // Loop all existing registrations that are not deleted - if they are already in a calculation group
70
+ const loopedFamilies = new Set();
71
+ const loopedMembers = new Set();
72
+ for (const family of [
73
+ ...cart.items.map(item => item.member.family),
74
+ ...cart.deleteRegistrations.map(registration => registration.member.family),
75
+ ]) {
76
+ if (loopedFamilies.has(family)) {
77
+ continue;
78
+ }
79
+ loopedFamilies.add(family);
80
+ for (const member of family.members) {
81
+ if (loopedMembers.has(member.id)) {
82
+ continue;
83
+ }
84
+ loopedMembers.add(member.id);
85
+ for (const registration of member.filterRegistrations({})) {
86
+ const registrationWithPlatformMember = new RegistrationWithPlatformMember({
87
+ registration,
88
+ member,
89
+ });
90
+ const cc = group.getCalculationFor(registrationWithPlatformMember, {
91
+ // Only add it to the calculation if this registration is relevant for a new or removed registration that was added earlier
92
+ onlyExisting: true,
93
+ });
94
+ cc === null || cc === void 0 ? void 0 : cc.addIfNotBeingRemoved(registrationWithPlatformMember);
95
+ }
96
+ }
97
+ }
98
+ group.calculate();
99
+ return group;
100
+ }
101
+ applyableTo(item) {
102
+ const groupPrice = item instanceof RegistrationWithPlatformMember ? item.registration.updatedGroupPrice : item.groupPrice;
103
+ if (groupPrice.bundleDiscounts.has(this.id)) {
104
+ return true;
105
+ }
106
+ if (item instanceof RegistrationWithPlatformMember) {
107
+ if (item.registration.discounts.has(this.id)) {
108
+ // This registration received the discount in the past, so it is still applyable
109
+ return true;
110
+ }
111
+ }
112
+ return false;
113
+ }
114
+ }
115
+ __decorate([
116
+ field({ decoder: StringDecoder, defaultValue: () => uuidv4() })
117
+ ], BundleDiscount.prototype, "id", void 0);
118
+ __decorate([
119
+ field(TranslatedString.field({}))
120
+ ], BundleDiscount.prototype, "name", void 0);
121
+ __decorate([
122
+ field({ decoder: new ArrayDecoder(GroupPriceDiscount) })
123
+ ], BundleDiscount.prototype, "discounts", void 0);
124
+ __decorate([
125
+ field({ decoder: BooleanDecoder })
126
+ ], BundleDiscount.prototype, "countWholeFamily", void 0);
127
+ __decorate([
128
+ field({ decoder: BooleanDecoder })
129
+ ], BundleDiscount.prototype, "countPerGroup", void 0);
130
+ class BundleDiscountCalculationGroup {
131
+ constructor(options) {
132
+ this.calculations = new Map();
133
+ this.bundle = options.bundle;
134
+ }
135
+ calculate() {
136
+ for (const calculation of this.calculations.values()) {
137
+ calculation.calculate();
138
+ }
139
+ }
140
+ getCalculationFor(item, options) {
141
+ if (!this.bundle.applyableTo(item)) {
142
+ return null;
143
+ }
144
+ let groupingCode = 'family-' + item.member.family.uuid + '-';
145
+ let group = null;
146
+ let member = null;
147
+ if (this.bundle.countWholeFamily) {
148
+ if (this.bundle.countPerGroup) {
149
+ groupingCode += item.group.id;
150
+ group = item.group;
151
+ }
152
+ else {
153
+ // Group by family objects (for admins)
154
+ }
155
+ }
156
+ else {
157
+ member = item.member;
158
+ groupingCode += item.member.id;
159
+ }
160
+ const existing = this.calculations.get(groupingCode);
161
+ if (!existing) {
162
+ if (options === null || options === void 0 ? void 0 : options.onlyExisting) {
163
+ return null;
164
+ }
165
+ const n = new BundleDiscountCalculation({
166
+ bundle: this.bundle,
167
+ group,
168
+ member,
169
+ });
170
+ this.calculations.set(groupingCode, n);
171
+ return n;
172
+ }
173
+ return existing;
174
+ }
175
+ }
176
+ export class BundleDiscountCalculation {
177
+ constructor(options) {
178
+ var _a, _b;
179
+ this.bundle = options.bundle;
180
+ this.group = (_a = options.group) !== null && _a !== void 0 ? _a : null;
181
+ this.member = (_b = options.member) !== null && _b !== void 0 ? _b : null;
182
+ this.items = new Map();
183
+ this.registrations = new Map();
184
+ this.deleteRegistrations = [];
185
+ }
186
+ get name() {
187
+ const suffix = [];
188
+ if (this.group) {
189
+ suffix.push(this.group.settings.name.toString());
190
+ }
191
+ if (this.member) {
192
+ suffix.push(this.member.patchedMember.firstName);
193
+ }
194
+ return this.bundle.name + (suffix.length > 0 ? ' (' + suffix.join(', ') + ')' : '');
195
+ }
196
+ /**
197
+ The total dicount, not taking into account what has already been given in the past
198
+ */
199
+ get total() {
200
+ return [...this.items.values()].reduce((a, b) => a + b, 0)
201
+ + [...this.registrations.values()].reduce((a, b) => a + b, 0);
202
+ }
203
+ get totalAlreadyApplied() {
204
+ var _a, _b;
205
+ let c = 0;
206
+ for (const registration of this.registrations.keys()) {
207
+ c += (_b = (_a = registration.registration.discounts.get(this.bundle.id)) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : 0;
208
+ }
209
+ // Note: do not subtract the discounts on the deleted registrations
210
+ // These registrations will be deleted anyway, so their balance will be cancelled, that balance includes their discounts
211
+ // the bundle discounts only reflect the situation without all the deleted registrations
212
+ return c;
213
+ }
214
+ get netTotal() {
215
+ return this.total - this.totalAlreadyApplied;
216
+ }
217
+ get netTotalDueLater() {
218
+ let sum = 0;
219
+ for (const [item, value] of this.items) {
220
+ if (item.calculatedTrialUntil) {
221
+ // Due later
222
+ sum += value;
223
+ }
224
+ }
225
+ return sum;
226
+ }
227
+ get netTotalDueNow() {
228
+ return this.netTotal - this.netTotalDueLater;
229
+ }
230
+ getTotalFor(item) {
231
+ var _a, _b;
232
+ if (item instanceof RegisterItem) {
233
+ return (_a = this.items.get(item)) !== null && _a !== void 0 ? _a : 0;
234
+ }
235
+ else if (item instanceof RegistrationWithPlatformMember) {
236
+ return ((_b = this.registrations.get(item)) !== null && _b !== void 0 ? _b : 0);
237
+ }
238
+ return 0;
239
+ }
240
+ addIfNotBeingRemoved(item) {
241
+ // Only add if it is not being removed at the same time
242
+ if (item instanceof RegistrationWithPlatformMember) {
243
+ if (this.deleteRegistrations.find(r => r.registration.id === item.registration.id)) {
244
+ return;
245
+ }
246
+ }
247
+ this.add(item);
248
+ }
249
+ add(item) {
250
+ if (item instanceof RegistrationWithPlatformMember) {
251
+ this.registrations.set(item, 0);
252
+ }
253
+ else if (item instanceof RegisterItem) {
254
+ this.items.set(item, 0);
255
+ }
256
+ }
257
+ remove(registration) {
258
+ this.deleteRegistrations.push(registration);
259
+ }
260
+ get itemsAndRegistrations() {
261
+ // Return the items in such an order that the first ones should receive the highest discount
262
+ // The first ones that should receive the highest discount are:
263
+ // - the newest items
264
+ // - registrations or items that edit a registration, in order of the already applied discount
265
+ const itemsOrder = [...this.items.keys()].reverse();
266
+ const registrations = [...this.registrations.keys()];
267
+ const now = new Date();
268
+ const itemsWithSortingData = itemsOrder.map((item) => {
269
+ var _a, _b;
270
+ return {
271
+ item,
272
+ 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,
273
+ createdAt: item.replaceRegistrations.length >= 1 ? (item.replaceRegistrations[0].registration.createdAt) : now,
274
+ };
275
+ });
276
+ const registrationsWithSortingData = registrations.map((registration) => {
277
+ var _a, _b;
278
+ return {
279
+ item: registration,
280
+ appliedDiscount: (_b = (_a = registration.registration.discounts.get(this.bundle.id)) === null || _a === void 0 ? void 0 : _a.amount) !== null && _b !== void 0 ? _b : 0,
281
+ createdAt: registration.registration.createdAt,
282
+ };
283
+ });
284
+ const base = [
285
+ ...itemsWithSortingData,
286
+ ...registrationsWithSortingData,
287
+ ].sort((a, b) => {
288
+ return Sorter.stack(Sorter.byNumberValue(a.appliedDiscount, b.appliedDiscount), Sorter.byDateValue(a.createdAt, b.createdAt));
289
+ });
290
+ return base.map(b => b.item);
291
+ }
292
+ calculate() {
293
+ var _a, _b, _c, _d, _e;
294
+ // For each item and registration, calculate the price matrix
295
+ // Price if used as first item, second item, third item
296
+ // We'll then calculate the optimal order using the Hungarian Algorithm
297
+ const arr = this.itemsAndRegistrations;
298
+ const priceMatrix = [];
299
+ for (const item of arr) {
300
+ // We always use the group price here, because this is safer, also for registrations (in case we have deactivated registrations with cancallation fees)
301
+ const price = item instanceof RegisterItem ? (item.groupPrice.price.forMember(item.member)) : item.registration.groupPrice.price.forMember(item.member);
302
+ const discounts = item instanceof RegisterItem
303
+ ? ((_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)
304
+ : ((_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);
305
+ const row = [];
306
+ for (const [index] of arr.entries()) {
307
+ if (index === 0) {
308
+ row.push(0);
309
+ continue;
310
+ }
311
+ const discount = (_e = discounts[index - 1]) !== null && _e !== void 0 ? _e : discounts[discounts.length - 1]; // Repeat last
312
+ const calculated = discount.calculateDiscount(price, item.member);
313
+ row.push(calculated);
314
+ }
315
+ priceMatrix.push(row);
316
+ }
317
+ const solved = hungarian(priceMatrix);
318
+ for (const [index, item] of arr.entries()) {
319
+ const nth = solved[index];
320
+ const discount = priceMatrix[index][nth];
321
+ if (item instanceof RegistrationWithPlatformMember) {
322
+ this.registrations.set(item, discount);
323
+ }
324
+ else {
325
+ this.items.set(item, discount);
326
+ }
327
+ }
328
+ }
329
+ }
330
+ /**
331
+ * Optimized algorithm to maximize the total discount
332
+ * Returns an array where each index corresponds to the nth discount for each item
333
+ * @param priceMatrix A 2D array where priceMatrix[i][j] represents the discount amount for the ith item at the jth position
334
+ */
335
+ function hungarian(priceMatrix) {
336
+ // No items to process
337
+ if (priceMatrix.length === 0) {
338
+ return [];
339
+ }
340
+ const n = priceMatrix.length;
341
+ const assignment = new Array(n).fill(0);
342
+ // Pre-calculate max discounts for each item to avoid repeated calculations
343
+ const itemMaxDiscounts = [];
344
+ for (let i = 0; i < n; i++) {
345
+ // Find max discount (skip position 0)
346
+ let maxDiscount = 0;
347
+ for (let j = 1; j < priceMatrix[i].length; j++) {
348
+ maxDiscount = Math.max(maxDiscount, priceMatrix[i][j]);
349
+ }
350
+ itemMaxDiscounts.push({ index: i, maxDiscount });
351
+ }
352
+ // Sort indices by their maximum potential discount (descending)
353
+ itemMaxDiscounts.sort((a, b) => b.maxDiscount - a.maxDiscount);
354
+ // Track assigned positions
355
+ const assigned = new Set();
356
+ // For each item (in order of maximum discount potential)
357
+ for (const { index: i } of itemMaxDiscounts) {
358
+ let bestPos = 0;
359
+ let bestDiscount = priceMatrix[i][0];
360
+ // Find the best unassigned position for this item
361
+ for (let j = 1; j < priceMatrix[i].length; j++) {
362
+ if (!assigned.has(j) && priceMatrix[i][j] > bestDiscount) {
363
+ bestPos = j;
364
+ bestDiscount = priceMatrix[i][j];
365
+ }
366
+ }
367
+ assignment[i] = bestPos;
368
+ if (bestPos !== 0) {
369
+ assigned.add(bestPos);
370
+ }
371
+ }
372
+ return assignment;
373
+ }
374
+ //# sourceMappingURL=BundleDiscount.js.map