@silexpert/core 1.1.409 → 1.2.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 (239) hide show
  1. package/dist/cjs/api/resources/BalanceSheet.d.ts +0 -1
  2. package/dist/cjs/api/resources/BalanceSheet.d.ts.map +1 -1
  3. package/dist/cjs/api/resources/Checklist.d.ts +1 -2
  4. package/dist/cjs/api/resources/Checklist.d.ts.map +1 -1
  5. package/dist/cjs/api/resources/CommercialDocument.d.ts +0 -1
  6. package/dist/cjs/api/resources/CommercialDocument.d.ts.map +1 -1
  7. package/dist/cjs/api/resources/FIle.d.ts +0 -1
  8. package/dist/cjs/api/resources/FIle.d.ts.map +1 -1
  9. package/dist/cjs/api/resources/Fusion.d.ts +1 -4
  10. package/dist/cjs/api/resources/Fusion.d.ts.map +1 -1
  11. package/dist/cjs/api/resources/GeneralLedger.d.ts +0 -1
  12. package/dist/cjs/api/resources/GeneralLedger.d.ts.map +1 -1
  13. package/dist/cjs/api/resources/Immobilization.d.ts +0 -1
  14. package/dist/cjs/api/resources/Immobilization.d.ts.map +1 -1
  15. package/dist/cjs/api/resources/IncomeStatement.d.ts +0 -1
  16. package/dist/cjs/api/resources/IncomeStatement.d.ts.map +1 -1
  17. package/dist/cjs/api/resources/IntermediateManagementRebate.d.ts +0 -1
  18. package/dist/cjs/api/resources/IntermediateManagementRebate.d.ts.map +1 -1
  19. package/dist/cjs/api/resources/InternalInvoicing.d.ts +0 -1
  20. package/dist/cjs/api/resources/InternalInvoicing.d.ts.map +1 -1
  21. package/dist/cjs/api/resources/Journal.d.ts +0 -1
  22. package/dist/cjs/api/resources/Journal.d.ts.map +1 -1
  23. package/dist/cjs/api/resources/KilometricAllowance.d.ts +0 -1
  24. package/dist/cjs/api/resources/KilometricAllowance.d.ts.map +1 -1
  25. package/dist/cjs/api/resources/LeadsToPartners.d.ts +0 -1
  26. package/dist/cjs/api/resources/LeadsToPartners.d.ts.map +1 -1
  27. package/dist/cjs/api/resources/Library.d.ts +0 -1
  28. package/dist/cjs/api/resources/Library.d.ts.map +1 -1
  29. package/dist/cjs/api/resources/Loan.d.ts +0 -1
  30. package/dist/cjs/api/resources/Loan.d.ts.map +1 -1
  31. package/dist/cjs/api/resources/Product.d.ts +0 -1
  32. package/dist/cjs/api/resources/Product.d.ts.map +1 -1
  33. package/dist/cjs/api/resources/Project.d.ts +0 -1
  34. package/dist/cjs/api/resources/Project.d.ts.map +1 -1
  35. package/dist/cjs/api/resources/Qonto.d.ts +0 -1
  36. package/dist/cjs/api/resources/Qonto.d.ts.map +1 -1
  37. package/dist/cjs/api/resources/Registration.d.ts +0 -1
  38. package/dist/cjs/api/resources/Registration.d.ts.map +1 -1
  39. package/dist/cjs/api/resources/Revision.d.ts +0 -1
  40. package/dist/cjs/api/resources/Revision.d.ts.map +1 -1
  41. package/dist/cjs/api/resources/Society.d.ts +0 -1
  42. package/dist/cjs/api/resources/Society.d.ts.map +1 -1
  43. package/dist/cjs/api/resources/Subscription.d.ts +0 -259
  44. package/dist/cjs/api/resources/Subscription.d.ts.map +1 -1
  45. package/dist/cjs/api/resources/Transaction.d.ts +0 -1
  46. package/dist/cjs/api/resources/Transaction.d.ts.map +1 -1
  47. package/dist/cjs/api/resources/User.d.ts +0 -1
  48. package/dist/cjs/api/resources/User.d.ts.map +1 -1
  49. package/dist/cjs/api/resources/WorkingSchedule.d.ts +0 -1
  50. package/dist/cjs/api/resources/WorkingSchedule.d.ts.map +1 -1
  51. package/dist/cjs/types/Enum/Card.d.ts.map +1 -1
  52. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.d.ts +4 -4
  53. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.d.ts.map +1 -1
  54. package/dist/cjs/types/Enum/TimeSlot.js +1 -1
  55. package/dist/cjs/types/Enum/TimeSlot.js.map +1 -1
  56. package/dist/cjs/types/Interface/api/aspone/Util.d.ts +0 -1
  57. package/dist/cjs/types/Interface/api/aspone/Util.d.ts.map +1 -1
  58. package/dist/cjs/types/Interface/api/file/TFile.d.ts +0 -1
  59. package/dist/cjs/types/Interface/api/file/TFile.d.ts.map +1 -1
  60. package/dist/cjs/types/Interface/api/jeDeclare/UtilCFONB.js +2 -2
  61. package/dist/cjs/types/Interface/api/jeDeclare/UtilCFONB.js.map +1 -1
  62. package/dist/cjs/types/Interface/api/rating/QueryRatingPaginated.d.ts +1 -0
  63. package/dist/cjs/types/Interface/api/rating/QueryRatingPaginated.d.ts.map +1 -1
  64. package/dist/cjs/types/Interface/api/rating/QueryRatingPaginated.js +6 -0
  65. package/dist/cjs/types/Interface/api/rating/QueryRatingPaginated.js.map +1 -1
  66. package/dist/cjs/types/Interface/api/society/Export.d.ts +0 -1
  67. package/dist/cjs/types/Interface/api/society/Export.d.ts.map +1 -1
  68. package/dist/cjs/types/Interface/api/survey/QuerySurvey.js +1 -1
  69. package/dist/cjs/types/Interface/api/survey/QuerySurvey.js.map +1 -1
  70. package/dist/cjs/types/Interface/api/toDoExpress/Query.d.ts +1 -1
  71. package/dist/cjs/types/Interface/api/toDoExpress/Query.d.ts.map +1 -1
  72. package/dist/cjs/types/Interface/api/toDoExpress/Query.js +1 -2
  73. package/dist/cjs/types/Interface/api/toDoExpress/Query.js.map +1 -1
  74. package/dist/cjs/utils/amount.js +3 -4
  75. package/dist/cjs/utils/amount.js.map +1 -1
  76. package/dist/cjs/utils/balanceSheetModule.js +1 -2
  77. package/dist/cjs/utils/balanceSheetModule.js.map +1 -1
  78. package/dist/cjs/utils/bankAccount.js +1 -2
  79. package/dist/cjs/utils/bankAccount.js.map +1 -1
  80. package/dist/cjs/utils/brands.d.ts +1 -1
  81. package/dist/cjs/utils/brands.d.ts.map +1 -1
  82. package/dist/cjs/utils/brands.js +2 -2
  83. package/dist/cjs/utils/brands.js.map +1 -1
  84. package/dist/cjs/utils/cerfa.js +3 -3
  85. package/dist/cjs/utils/cerfa.js.map +1 -1
  86. package/dist/cjs/utils/checklist.js +1 -2
  87. package/dist/cjs/utils/checklist.js.map +1 -1
  88. package/dist/cjs/utils/commercialManagement/document.js +2 -3
  89. package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
  90. package/dist/cjs/utils/commercialManagement/product.js +3 -4
  91. package/dist/cjs/utils/commercialManagement/product.js.map +1 -1
  92. package/dist/cjs/utils/commercialManagement/recovery.js +3 -3
  93. package/dist/cjs/utils/commercialManagement/recovery.js.map +1 -1
  94. package/dist/cjs/utils/commercialManagement/recurrence.js +1 -2
  95. package/dist/cjs/utils/commercialManagement/recurrence.js.map +1 -1
  96. package/dist/cjs/utils/commercialManagement/thirdParty.js +1 -2
  97. package/dist/cjs/utils/commercialManagement/thirdParty.js.map +1 -1
  98. package/dist/cjs/utils/commercialManagement/vat.js +3 -4
  99. package/dist/cjs/utils/commercialManagement/vat.js.map +1 -1
  100. package/dist/cjs/utils/date.js +2 -3
  101. package/dist/cjs/utils/date.js.map +1 -1
  102. package/dist/cjs/utils/email.js +2 -3
  103. package/dist/cjs/utils/email.js.map +1 -1
  104. package/dist/cjs/utils/isHtml.js +1 -2
  105. package/dist/cjs/utils/isHtml.js.map +1 -1
  106. package/dist/cjs/utils/isUrl.js +1 -2
  107. package/dist/cjs/utils/isUrl.js.map +1 -1
  108. package/dist/cjs/utils/noLodash.d.ts +1 -5
  109. package/dist/cjs/utils/noLodash.d.ts.map +1 -1
  110. package/dist/cjs/utils/noLodash.js +4 -4
  111. package/dist/cjs/utils/noLodash.js.map +1 -1
  112. package/dist/cjs/utils/objectUtils/flattenObject.js +1 -2
  113. package/dist/cjs/utils/objectUtils/flattenObject.js.map +1 -1
  114. package/dist/cjs/utils/objectUtils/fullFlattenObject.js +1 -2
  115. package/dist/cjs/utils/objectUtils/fullFlattenObject.js.map +1 -1
  116. package/dist/cjs/utils/objectUtils/isValidObject.js +1 -2
  117. package/dist/cjs/utils/objectUtils/isValidObject.js.map +1 -1
  118. package/dist/cjs/utils/objectUtils/unflattenObject.js +1 -2
  119. package/dist/cjs/utils/objectUtils/unflattenObject.js.map +1 -1
  120. package/dist/cjs/utils/payment.d.ts +1 -1
  121. package/dist/cjs/utils/phone.js +5 -6
  122. package/dist/cjs/utils/phone.js.map +1 -1
  123. package/dist/cjs/utils/quotation.js +3 -4
  124. package/dist/cjs/utils/quotation.js.map +1 -1
  125. package/dist/cjs/utils/siretValidation.js +4 -5
  126. package/dist/cjs/utils/siretValidation.js.map +1 -1
  127. package/dist/cjs/utils/social.js +1 -2
  128. package/dist/cjs/utils/social.js.map +1 -1
  129. package/dist/cjs/utils/statutsGeneration.d.ts.map +1 -1
  130. package/dist/cjs/utils/stringUtils/clean.js +2 -2
  131. package/dist/cjs/utils/stringUtils/clean.js.map +1 -1
  132. package/dist/cjs/utils/subscription.js +2 -2
  133. package/dist/cjs/utils/subscription.js.map +1 -1
  134. package/dist/cjs/utils/tests/payment.spec.js +11 -11
  135. package/dist/cjs/utils/validators/formattedDateString.validator.js +1 -2
  136. package/dist/cjs/utils/validators/formattedDateString.validator.js.map +1 -1
  137. package/dist/cjs/utils/validators/objectId.validator.js +1 -2
  138. package/dist/cjs/utils/validators/objectId.validator.js.map +1 -1
  139. package/dist/cjs/utils/vat/3310/century23.js +3 -3
  140. package/dist/cjs/utils/vat/3310/century23.js.map +1 -1
  141. package/dist/cjs/utils/vat/3514/century22.js +2 -2
  142. package/dist/cjs/utils/vat/3514/century22.js.map +1 -1
  143. package/dist/cjs/utils/vat/3514/century23.js +1 -2
  144. package/dist/cjs/utils/vat/3514/century23.js.map +1 -1
  145. package/dist/cjs/utils/vat/3517/century23.js +4 -4
  146. package/dist/cjs/utils/vat/3517/century23.js.map +1 -1
  147. package/dist/cjs/utils/vat/3519/century17.js +2 -2
  148. package/dist/cjs/utils/vat/3519/century17.js.map +1 -1
  149. package/dist/cjs/utils/vat/3519/century23.js +1 -2
  150. package/dist/cjs/utils/vat/3519/century23.js.map +1 -1
  151. package/dist/cjs/utils/vat/registration.js +2 -3
  152. package/dist/cjs/utils/vat/registration.js.map +1 -1
  153. package/dist/cjs/utils/vat/utils.js +10 -11
  154. package/dist/cjs/utils/vat/utils.js.map +1 -1
  155. package/dist/mjs/api/resources/BalanceSheet.d.ts +0 -1
  156. package/dist/mjs/api/resources/BalanceSheet.d.ts.map +1 -1
  157. package/dist/mjs/api/resources/Checklist.d.ts +1 -2
  158. package/dist/mjs/api/resources/Checklist.d.ts.map +1 -1
  159. package/dist/mjs/api/resources/CommercialDocument.d.ts +0 -1
  160. package/dist/mjs/api/resources/CommercialDocument.d.ts.map +1 -1
  161. package/dist/mjs/api/resources/FIle.d.ts +0 -1
  162. package/dist/mjs/api/resources/FIle.d.ts.map +1 -1
  163. package/dist/mjs/api/resources/Fusion.d.ts +1 -4
  164. package/dist/mjs/api/resources/Fusion.d.ts.map +1 -1
  165. package/dist/mjs/api/resources/GeneralLedger.d.ts +0 -1
  166. package/dist/mjs/api/resources/GeneralLedger.d.ts.map +1 -1
  167. package/dist/mjs/api/resources/Immobilization.d.ts +0 -1
  168. package/dist/mjs/api/resources/Immobilization.d.ts.map +1 -1
  169. package/dist/mjs/api/resources/IncomeStatement.d.ts +0 -1
  170. package/dist/mjs/api/resources/IncomeStatement.d.ts.map +1 -1
  171. package/dist/mjs/api/resources/IntermediateManagementRebate.d.ts +0 -1
  172. package/dist/mjs/api/resources/IntermediateManagementRebate.d.ts.map +1 -1
  173. package/dist/mjs/api/resources/InternalInvoicing.d.ts +0 -1
  174. package/dist/mjs/api/resources/InternalInvoicing.d.ts.map +1 -1
  175. package/dist/mjs/api/resources/Journal.d.ts +0 -1
  176. package/dist/mjs/api/resources/Journal.d.ts.map +1 -1
  177. package/dist/mjs/api/resources/KilometricAllowance.d.ts +0 -1
  178. package/dist/mjs/api/resources/KilometricAllowance.d.ts.map +1 -1
  179. package/dist/mjs/api/resources/LeadsToPartners.d.ts +0 -1
  180. package/dist/mjs/api/resources/LeadsToPartners.d.ts.map +1 -1
  181. package/dist/mjs/api/resources/Library.d.ts +0 -1
  182. package/dist/mjs/api/resources/Library.d.ts.map +1 -1
  183. package/dist/mjs/api/resources/Loan.d.ts +0 -1
  184. package/dist/mjs/api/resources/Loan.d.ts.map +1 -1
  185. package/dist/mjs/api/resources/Product.d.ts +0 -1
  186. package/dist/mjs/api/resources/Product.d.ts.map +1 -1
  187. package/dist/mjs/api/resources/Project.d.ts +0 -1
  188. package/dist/mjs/api/resources/Project.d.ts.map +1 -1
  189. package/dist/mjs/api/resources/Qonto.d.ts +0 -1
  190. package/dist/mjs/api/resources/Qonto.d.ts.map +1 -1
  191. package/dist/mjs/api/resources/Registration.d.ts +0 -1
  192. package/dist/mjs/api/resources/Registration.d.ts.map +1 -1
  193. package/dist/mjs/api/resources/Revision.d.ts +0 -1
  194. package/dist/mjs/api/resources/Revision.d.ts.map +1 -1
  195. package/dist/mjs/api/resources/Society.d.ts +0 -1
  196. package/dist/mjs/api/resources/Society.d.ts.map +1 -1
  197. package/dist/mjs/api/resources/Subscription.d.ts +0 -259
  198. package/dist/mjs/api/resources/Subscription.d.ts.map +1 -1
  199. package/dist/mjs/api/resources/Transaction.d.ts +0 -1
  200. package/dist/mjs/api/resources/Transaction.d.ts.map +1 -1
  201. package/dist/mjs/api/resources/User.d.ts +0 -1
  202. package/dist/mjs/api/resources/User.d.ts.map +1 -1
  203. package/dist/mjs/api/resources/WorkingSchedule.d.ts +0 -1
  204. package/dist/mjs/api/resources/WorkingSchedule.d.ts.map +1 -1
  205. package/dist/mjs/types/Enum/Card.d.ts.map +1 -1
  206. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.d.ts +4 -4
  207. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.d.ts.map +1 -1
  208. package/dist/mjs/types/Enum/TimeSlot.js +1 -1
  209. package/dist/mjs/types/Enum/TimeSlot.js.map +1 -1
  210. package/dist/mjs/types/Interface/api/aspone/Util.d.ts +0 -1
  211. package/dist/mjs/types/Interface/api/aspone/Util.d.ts.map +1 -1
  212. package/dist/mjs/types/Interface/api/file/TFile.d.ts +0 -1
  213. package/dist/mjs/types/Interface/api/file/TFile.d.ts.map +1 -1
  214. package/dist/mjs/types/Interface/api/rating/QueryRatingPaginated.d.ts +1 -0
  215. package/dist/mjs/types/Interface/api/rating/QueryRatingPaginated.d.ts.map +1 -1
  216. package/dist/mjs/types/Interface/api/rating/QueryRatingPaginated.js +7 -0
  217. package/dist/mjs/types/Interface/api/rating/QueryRatingPaginated.js.map +1 -1
  218. package/dist/mjs/types/Interface/api/society/Export.d.ts +0 -1
  219. package/dist/mjs/types/Interface/api/society/Export.d.ts.map +1 -1
  220. package/dist/mjs/types/Interface/api/survey/QuerySurvey.js +1 -1
  221. package/dist/mjs/types/Interface/api/survey/QuerySurvey.js.map +1 -1
  222. package/dist/mjs/types/Interface/api/toDoExpress/Query.d.ts +1 -1
  223. package/dist/mjs/types/Interface/api/toDoExpress/Query.d.ts.map +1 -1
  224. package/dist/mjs/types/Interface/api/toDoExpress/Query.js +1 -2
  225. package/dist/mjs/types/Interface/api/toDoExpress/Query.js.map +1 -1
  226. package/dist/mjs/utils/brands.d.ts +1 -1
  227. package/dist/mjs/utils/brands.d.ts.map +1 -1
  228. package/dist/mjs/utils/noLodash.d.ts +1 -5
  229. package/dist/mjs/utils/noLodash.d.ts.map +1 -1
  230. package/dist/mjs/utils/payment.d.ts +1 -1
  231. package/dist/mjs/utils/statutsGeneration.d.ts.map +1 -1
  232. package/dist/mjs/utils/vat/utils.js +2 -2
  233. package/dist/mjs/utils/vat/utils.js.map +1 -1
  234. package/package.json +10 -10
  235. package/ts/types/Enum/TimeSlot.ts +1 -1
  236. package/ts/types/Interface/api/rating/QueryRatingPaginated.ts +5 -0
  237. package/ts/types/Interface/api/survey/QuerySurvey.ts +1 -1
  238. package/ts/types/Interface/api/toDoExpress/Query.ts +1 -2
  239. package/ts/utils/vat/utils.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq, round as _round,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing, ReadVatEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport {\n AccountingCategoryList, FontIds, fontList,\n InvoiceLanguage,\n} from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString, integerToFormattedAmountObject } from '../amount';\nimport { CommercialDocumentCommonHTML, CommercialDocumentMailHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport {\n CreateInvoiceDocument, CreateMailHeader, CreatePreSaleDocument, ReadCommercialMailTemplate,\n} from '../../types';\nimport { thirdPartyToReadThirdPartyEditing } from './thirdParty';\nimport { getBrandConfig } from '../brands';\nimport { internationalizationChoices } from './internationalization/choices';\n\nconst ejs = require('ejs');\nrequire('dayjs/locale/fr');\n\ntype brandColorType = {\n primary: string,\n primary50: string,\n primary100: string,\n primary300: string,\n primary500: string,\n primary700: string\n};\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n const thirdParty = thirdPartyToReadThirdPartyEditing(payload.thirdParty);\n\n let forcedVats: ReadVatEditing[] | undefined = undefined;\n\n if (payload.advanceProducts?.length) {\n const advanceVats = Object.values(_groupBy(payload.advanceProducts, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value').filter((v) => v.id !== Vat.MARGE.id);\n \n forcedVats = vats.map(v => {\n const base = v.base - (advanceVats.find(a => a.id === v.id)?.base ?? 0);\n const toPay = v.toPay - (advanceVats.find(a => a.id === v.id)?.toPay ?? 0);\n return {\n ...v,\n baseFormatted: integerToFormattedAmountString(base),\n amountFormatted: integerToFormattedAmountString(toPay),\n };\n });\n }\n\n const totalTaxIncluded = _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount');\n\n const locale = payload.language ?? InvoiceLanguage.FR;\n const languageOption = internationalizationChoices[locale];\n\n\n const data: ReadDocumentEditing & { brandColors: brandColorType, brandName: string, shouldHideBrandName: boolean } = {\n ...payload,\n thirdParty,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n title: payload.title ?? null,\n penalties: payload.penalties ?? null,\n compensation: payload.compensation ?? null,\n discount: payload.discount ?? null,\n vatMention: payload.vatMention ?? null,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded'),\n totalTaxIncluded:_round(totalTaxIncluded),\n totalTaxAndDiscountIncluded: _round(totalTaxIncluded),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(totalTaxIncluded),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(totalTaxIncluded - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n id: payload.settings?.idFont ?? FontIds.CIRCULAR_STD,\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital\n ? `${payload.capital}`.split('')\n .reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '')\n .trim()\n : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find(\n (p) => p.discount2 && p.discount2 > 0,\n ),\n // @ts-ignore\n marginVats: _uniq(\n products\n .filter((p) => p.marginVatFormatted !== null)\n .map((p) => p.marginVatFormatted),\n ),\n accountingCategoryFormatted:\n AccountingCategoryList.find((a) => a.id === payload.accountingCategory)\n ?.label ?? null,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv })}`,\n shouldHideBrandName,\n paymentType: payload.paymentType,\n languageTemplate: languageOption,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [\n EstimateInvoiceType.DEVIS,\n EstimateInvoiceType.BON,\n ].includes(idEstimateInvoiceType)\n ? payload?.settings?.freeEstimateText\n : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, {\n ...data,\n comment:\n data.comment && typeof data.comment === 'string'\n ? data.comment?.replace(/\\n/g, '<br/>')\n : null,\n products: data.products.map((p) => ({\n ...p,\n comment:\n p.comment && typeof p.comment === 'string'\n ? p.comment?.replace(/\\n/g, '<br/>')\n : null,\n })),\n vats: forcedVats ?? vats,\n }),\n footer: ejs.render(commonTemplate.footer, {\n ...data,\n freeText: documentFreeText ?? null,\n }),\n data,\n };\n}\n\nexport function generateMailHeader(params: CreateMailHeader, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialMailTemplate {\n const locale = params.payload.language ?? InvoiceLanguage.FR;\n const languageOption = internationalizationChoices[locale];\n dayjs.locale('fr');\n const data = {\n ...params.payload,\n totalTaxExcludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxExcluded),\n totalTaxIncludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded),\n totalVatFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded - params.payload.totalTaxExcluded),\n dueDateFormatted: params.payload.dueDate ? dayjs(params.payload.dueDate).format('DD MMMM YYYY') : null,\n hasVat: params.hasVat,\n hostS3: params.hostS3,\n logoUrl: params.logoUrl,\n companyName: params.companyName,\n fileUrl: params.fileUrl,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n shouldHideBrandName,\n languageMail: languageOption,\n };\n\n const mailTemplate = new CommercialDocumentMailHTML();\n\n return {\n header: ejs.render(mailTemplate.header, data),\n };\n}"]}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq, round as _round,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing, ReadVatEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport {\n AccountingCategoryList, FontIds, fontList,\n InvoiceLanguage,\n} from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString, integerToFormattedAmountObject } from '../amount';\nimport { CommercialDocumentCommonHTML, CommercialDocumentMailHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport {\n CreateInvoiceDocument, CreateMailHeader, CreatePreSaleDocument, ReadCommercialMailTemplate,\n} from '../../types';\nimport { thirdPartyToReadThirdPartyEditing } from './thirdParty';\nimport { getBrandConfig } from '../brands';\nimport { internationalizationChoices } from './internationalization/choices';\n\nconst ejs = require('ejs');\nrequire('dayjs/locale/fr');\n\ntype brandColorType = {\n primary: string,\n primary50: string,\n primary100: string,\n primary300: string,\n primary500: string,\n primary700: string\n};\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n const thirdParty = thirdPartyToReadThirdPartyEditing(payload.thirdParty);\n\n let forcedVats: ReadVatEditing[] | undefined = undefined;\n\n if (payload.advanceProducts?.length) {\n const advanceVats = Object.values(_groupBy(payload.advanceProducts, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value').filter((v) => v.id !== Vat.MARGE.id);\n \n forcedVats = vats.map(v => {\n const base = v.base - (advanceVats.find(a => a.id === v.id)?.base ?? 0);\n const toPay = v.toPay - (advanceVats.find(a => a.id === v.id)?.toPay ?? 0);\n return {\n ...v,\n baseFormatted: integerToFormattedAmountString(base),\n amountFormatted: integerToFormattedAmountString(toPay),\n };\n });\n }\n\n const totalTaxIncluded = _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount');\n\n const locale = payload.language ?? InvoiceLanguage.FR;\n const languageOption = internationalizationChoices[locale];\n\n\n const data: ReadDocumentEditing & { brandColors: brandColorType, brandName: string, shouldHideBrandName: boolean } = {\n ...payload,\n thirdParty,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n title: payload.title ?? null,\n penalties: payload.penalties ?? null,\n compensation: payload.compensation ?? null,\n discount: payload.discount ?? null,\n vatMention: payload.vatMention ?? null,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded'),\n totalTaxIncluded:_round(totalTaxIncluded),\n totalTaxAndDiscountIncluded: _round(totalTaxIncluded),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(totalTaxIncluded),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(totalTaxIncluded - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n id: payload.settings?.idFont ?? FontIds.CIRCULAR_STD,\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital\n ? `${payload.capital}`.split('')\n .reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '')\n .trim()\n : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find(\n (p) => p.discount2 && p.discount2 > 0,\n ),\n // @ts-ignore\n marginVats: _uniq(\n products\n .filter((p) => p.marginVatFormatted !== null)\n .map((p) => p.marginVatFormatted),\n ),\n accountingCategoryFormatted:\n AccountingCategoryList.find((a) => a.id === payload.accountingCategory)\n ?.label ?? null,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n brandName: `${getBrandConfig({ objectWaited: 'name', nodeEnv })}`,\n shouldHideBrandName,\n paymentType: payload.paymentType,\n languageTemplate: languageOption,\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n const documentFreeText = [\n EstimateInvoiceType.DEVIS,\n EstimateInvoiceType.BON,\n ].includes(idEstimateInvoiceType)\n ? payload?.settings?.freeEstimateText\n : payload?.settings?.freeInvoiceText;\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, {\n ...data,\n comment:\n data.comment && typeof data.comment === 'string'\n ? data.comment?.replace(/\\n/g, '<br/>')\n : null,\n products: data.products.map((p) => ({\n ...p,\n comment:\n p.comment && typeof p.comment === 'string'\n ? p.comment?.replace(/\\n/g, '<br/>')\n : null,\n })),\n vats: forcedVats ?? vats,\n }),\n footer: ejs.render(commonTemplate.footer, {\n ...data,\n freeText: documentFreeText ?? null,\n }),\n data,\n };\n}\n\nexport function generateMailHeader(params: CreateMailHeader, shouldHideBrandName = false, nodeEnv: string | undefined = undefined): ReadCommercialMailTemplate {\n const locale = params.payload.language ?? InvoiceLanguage.FR;\n const languageOption = internationalizationChoices[locale];\n dayjs.locale('fr');\n const data = {\n ...params.payload,\n totalTaxExcludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxExcluded),\n totalTaxIncludedFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded),\n totalVatFormatted: integerToFormattedAmountObject(params.payload.totalTaxIncluded - params.payload.totalTaxExcluded),\n dueDateFormatted: params.payload.dueDate ? dayjs(params.payload.dueDate).format('DD MMMM YYYY') : null,\n hasVat: params.hasVat,\n hostS3: params.hostS3,\n logoUrl: params.logoUrl,\n companyName: params.companyName,\n fileUrl: params.fileUrl,\n // @ts-ignore\n brandColors: getBrandConfig({ objectWaited: 'colors', nodeEnv }) as brandColorType,\n shouldHideBrandName,\n languageMail: languageOption,\n };\n\n const mailTemplate = new CommercialDocumentMailHTML();\n\n return {\n header: ejs.render(mailTemplate.header, data),\n };\n}"]}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.productToReadProductEditing = exports.getTotalTaxExcluded = exports.getDiscount = void 0;
3
+ exports.getDiscount = getDiscount;
4
+ exports.getTotalTaxExcluded = getTotalTaxExcluded;
5
+ exports.productToReadProductEditing = productToReadProductEditing;
4
6
  const class_validator_1 = require("class-validator");
5
7
  const Unit_1 = require("../../types/Enum/Unit");
6
8
  const CommercialManagement_1 = require("../../types/Enum/CommercialManagement");
@@ -18,16 +20,13 @@ function getDiscount(product) {
18
20
  }
19
21
  return 0;
20
22
  }
21
- exports.getDiscount = getDiscount;
22
23
  function getTotalTaxExcluded(product) {
23
24
  var _a, _b;
24
25
  const discount = product.discount2 && product.discount2 > 0 ? getDiscount(product) : 0;
25
26
  return (((_a = product.priceTaxExcluded) !== null && _a !== void 0 ? _a : 0) - discount) * ((_b = product.quantity) !== null && _b !== void 0 ? _b : 1);
26
27
  }
27
- exports.getTotalTaxExcluded = getTotalTaxExcluded;
28
28
  function productToReadProductEditing(payload) {
29
29
  var _a, _b, _c, _d, _e, _f;
30
30
  return Object.assign(Object.assign({}, payload), { totalTaxExcluded: getTotalTaxExcluded(payload), unitFormatted: (_b = (_a = Object.values(Unit_1.Unit).find((unit) => unit.id === payload.unit)) === null || _a === void 0 ? void 0 : _a.shortName) !== null && _b !== void 0 ? _b : '', vatFormatted: (_d = (_c = (0, vat_1.getById)(payload.idVat)) === null || _c === void 0 ? void 0 : _c.saleName) !== null && _d !== void 0 ? _d : '', priceTaxExcludedFormatted: (0, class_validator_1.isDefined)(payload.priceTaxExcluded) ? (0, amount_1.integerToFormattedAmountString)(payload.priceTaxExcluded) : null, totalTaxExcludedFormatted: (0, class_validator_1.isDefined)(payload.priceTaxExcluded) ? (0, amount_1.integerToFormattedAmountString)(getTotalTaxExcluded(payload)) : null, discountFormatted: payload.discount2 && payload.discount2 > 0 ? (0, amount_1.integerToFormattedAmountString)(getDiscount(payload)) : null, discountTypeFormatted: payload.discount2 && payload.discount2 > 0 ? payload.discountType === CommercialManagement_1.DiscountType.PERCENT ? `${(payload.discount2 / 100).toFixed(2)}%` : `${(0, amount_1.integerToFormattedAmountString)(payload.discount2)}€` : null, marginVatFormatted: payload.marginVatType ? (_f = (_e = CommercialManagement_1.VatMarginCategyList.find((c) => c.id === payload.marginVatType)) === null || _e === void 0 ? void 0 : _e.label) !== null && _f !== void 0 ? _f : null : null });
31
31
  }
32
- exports.productToReadProductEditing = productToReadProductEditing;
33
32
  //# sourceMappingURL=product.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/product.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined } from 'class-validator';\nimport { IProductInvoice, ReadProductEditing } from '../../types';\nimport { Unit } from '../../types/Enum/Unit';\nimport { DiscountType, VatMarginCategyList } from '../../types/Enum/CommercialManagement';\nimport { getById } from './vat';\nimport { integerToFormattedAmountString } from '../amount';\n\nexport function getDiscount(product: IProductInvoice): number {\n if (product.discount2 === null || product.discount2 === undefined || product.discount2 <= 0) return 0;\n\n if (product.discountType === DiscountType.PERCENT) {\n return ((product.priceTaxExcluded ?? 0) * ((product.discount2 ?? 0) / 100)) / 100;\n } if (product.discountType === DiscountType.AMOUNT) {\n return (product.discount2 ?? 0);\n }\n\n return 0;\n}\n\nexport function getTotalTaxExcluded(product: IProductInvoice): number {\n const discount = product.discount2 && product.discount2 > 0 ? getDiscount(product) : 0;\n return ((product.priceTaxExcluded ?? 0) - discount) * (product.quantity ?? 1);\n}\n\nexport function productToReadProductEditing(payload: IProductInvoice): ReadProductEditing {\n return {\n ...payload,\n totalTaxExcluded: getTotalTaxExcluded(payload),\n unitFormatted: Object.values(Unit).find((unit) => unit.id === payload.unit)?.shortName ?? '',\n vatFormatted: getById(payload.idVat)?.saleName ?? '',\n priceTaxExcludedFormatted: isDefined(payload.priceTaxExcluded) ? integerToFormattedAmountString(payload.priceTaxExcluded) : null,\n totalTaxExcludedFormatted: isDefined(payload.priceTaxExcluded) ? integerToFormattedAmountString(getTotalTaxExcluded(payload)) : null,\n discountFormatted: payload.discount2 && payload.discount2 > 0 ? integerToFormattedAmountString(getDiscount(payload)) : null,\n discountTypeFormatted: payload.discount2 && payload.discount2 > 0 ? payload.discountType === DiscountType.PERCENT ? `${(payload.discount2 / 100).toFixed(2)}%` : `${integerToFormattedAmountString(payload.discount2)}€` : null,\n marginVatFormatted: payload.marginVatType ? VatMarginCategyList.find((c) => c.id === payload.marginVatType)?.label ?? null : null,\n };\n}"]}
1
+ {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/product.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined } from 'class-validator';\nimport { IProductInvoice, ReadProductEditing } from '../../types';\nimport { Unit } from '../../types/Enum/Unit';\nimport { DiscountType, VatMarginCategyList } from '../../types/Enum/CommercialManagement';\nimport { getById } from './vat';\nimport { integerToFormattedAmountString } from '../amount';\n\nexport function getDiscount(product: IProductInvoice): number {\n if (product.discount2 === null || product.discount2 === undefined || product.discount2 <= 0) return 0;\n\n if (product.discountType === DiscountType.PERCENT) {\n return ((product.priceTaxExcluded ?? 0) * ((product.discount2 ?? 0) / 100)) / 100;\n } if (product.discountType === DiscountType.AMOUNT) {\n return (product.discount2 ?? 0);\n }\n\n return 0;\n}\n\nexport function getTotalTaxExcluded(product: IProductInvoice): number {\n const discount = product.discount2 && product.discount2 > 0 ? getDiscount(product) : 0;\n return ((product.priceTaxExcluded ?? 0) - discount) * (product.quantity ?? 1);\n}\n\nexport function productToReadProductEditing(payload: IProductInvoice): ReadProductEditing {\n return {\n ...payload,\n totalTaxExcluded: getTotalTaxExcluded(payload),\n unitFormatted: Object.values(Unit).find((unit) => unit.id === payload.unit)?.shortName ?? '',\n vatFormatted: getById(payload.idVat)?.saleName ?? '',\n priceTaxExcludedFormatted: isDefined(payload.priceTaxExcluded) ? integerToFormattedAmountString(payload.priceTaxExcluded) : null,\n totalTaxExcludedFormatted: isDefined(payload.priceTaxExcluded) ? integerToFormattedAmountString(getTotalTaxExcluded(payload)) : null,\n discountFormatted: payload.discount2 && payload.discount2 > 0 ? integerToFormattedAmountString(getDiscount(payload)) : null,\n discountTypeFormatted: payload.discount2 && payload.discount2 > 0 ? payload.discountType === DiscountType.PERCENT ? `${(payload.discount2 / 100).toFixed(2)}%` : `${integerToFormattedAmountString(payload.discount2)}€` : null,\n marginVatFormatted: payload.marginVatType ? VatMarginCategyList.find((c) => c.id === payload.marginVatType)?.label ?? null : null,\n };\n}"]}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getStatusGroup = exports.getRecoveryFeesFromAmountTotalTaxIncluded = exports.CAARL_NOT_RECOVERED_STATUS = exports.CAARL_RECOVERED_STATUS = exports.CAARL_WAITING_STATUS = void 0;
3
+ exports.CAARL_NOT_RECOVERED_STATUS = exports.CAARL_RECOVERED_STATUS = exports.CAARL_WAITING_STATUS = void 0;
4
+ exports.getRecoveryFeesFromAmountTotalTaxIncluded = getRecoveryFeesFromAmountTotalTaxIncluded;
5
+ exports.getStatusGroup = getStatusGroup;
4
6
  const types_1 = require("../../types");
5
7
  const CARL_RECOVERY_FEES_PERCENTAGE = 15;
6
8
  const CARL_RECOVERY_REDUCED_FEES_PERCENTAGE = 10;
@@ -14,7 +16,6 @@ function getRecoveryFeesFromAmountTotalTaxIncluded(amount) {
14
16
  const feesTax = feesTaxExcluded * (types_1.Vat.TX_20.value / 100);
15
17
  return feesTaxExcluded + feesTax;
16
18
  }
17
- exports.getRecoveryFeesFromAmountTotalTaxIncluded = getRecoveryFeesFromAmountTotalTaxIncluded;
18
19
  function getStatusGroup(status) {
19
20
  if (exports.CAARL_WAITING_STATUS.includes(status)) {
20
21
  return types_1.PaymentRecoveryTag.WAITING;
@@ -27,5 +28,4 @@ function getStatusGroup(status) {
27
28
  }
28
29
  return types_1.PaymentRecoveryTag.WAITING;
29
30
  }
30
- exports.getStatusGroup = getStatusGroup;
31
31
  //# sourceMappingURL=recovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/recovery.ts"],"names":[],"mappings":";;;AAAA,uCAA6E;AAE7E,MAAM,6BAA6B,GAAG,EAAE,CAAC;AACzC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AACjD,MAAM,qCAAqC,GAAG,IAAI,CAAC;AAEtC,QAAA,oBAAoB,GAA4B,CAAC,6BAAqB,CAAC,MAAM,EAAE,6BAAqB,CAAC,gBAAgB,EAAE,6BAAqB,CAAC,mBAAmB,EAAE,6BAAqB,CAAC,aAAa,EAAE,6BAAqB,CAAC,SAAS,EAAE,6BAAqB,CAAC,qBAAqB,EAAE,6BAAqB,CAAC,KAAK,EAAE,6BAAqB,CAAC,YAAY,EAAE,6BAAqB,CAAC,gBAAgB,EAAE,6BAAqB,CAAC,mBAAmB,CAAC,CAAC;AACza,QAAA,sBAAsB,GAA4B,CAAC,6BAAqB,CAAC,YAAY,CAAC,CAAC;AACvF,QAAA,0BAA0B,GAA4B,CAAC,6BAAqB,CAAC,cAAc,EAAE,6BAAqB,CAAC,aAAa,EAAE,6BAAqB,CAAC,SAAS,EAAE,6BAAqB,CAAC,SAAS,EAAE,6BAAqB,CAAC,YAAY,EAAE,6BAAqB,CAAC,MAAM,CAAC,CAAC;AAEnR,SAAgB,yCAAyC,CAAC,MAAc;IAEtE,MAAM,IAAI,GAAG,MAAM,IAAI,qCAAqC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,6BAA6B,CAAC;IAErI,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,eAAe,GAAG,CAAC,WAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAE1D,OAAO,eAAe,GAAG,OAAO,CAAC;AACnC,CAAC;AARD,8FAQC;AAED,SAAgB,cAAc,CAAC,MAA6B;IAC1D,IAAI,4BAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,OAAO,CAAC;IAAC,CAAC;IACjF,IAAI,8BAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,SAAS,CAAC;IAAC,CAAC;IACrF,IAAI,kCAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,aAAa,CAAC;IAAC,CAAC;IAC7F,OAAO,0BAAkB,CAAC,OAAO,CAAC;AACpC,CAAC;AALD,wCAKC","sourcesContent":["import { PaymentRecoveryStatus, PaymentRecoveryTag, Vat } from '../../types';\n\nconst CARL_RECOVERY_FEES_PERCENTAGE = 15;\nconst CARL_RECOVERY_REDUCED_FEES_PERCENTAGE = 10;\nconst CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES = 5000;\n\nexport const CAARL_WAITING_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.OPENED, PaymentRecoveryStatus.SENT_TO_AMICABLE, PaymentRecoveryStatus.AMICABLE_SETTLEMENT, PaymentRecoveryStatus.SENT_TO_COURT, PaymentRecoveryStatus.FEES_PAID, PaymentRecoveryStatus.IP_SUBMITTED_TO_COURT, PaymentRecoveryStatus.IP_OK, PaymentRecoveryStatus.IP_SIGNIFIED, PaymentRecoveryStatus.CUSTOM_RECOVERED, PaymentRecoveryStatus.CUSTOM_CANCELLATION];\nexport const CAARL_RECOVERED_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.CLOSED_PAYED];\nexport const CAARL_NOT_RECOVERED_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.CLOSED_DISPUTE, PaymentRecoveryStatus.CLOSED_FAILED, PaymentRecoveryStatus.CLOSED_RJ, PaymentRecoveryStatus.CLOSED_LJ, PaymentRecoveryStatus.CLOSED_IP_KO, PaymentRecoveryStatus.CLOSED];\n\nexport function getRecoveryFeesFromAmountTotalTaxIncluded(amount: number): number {\n\n const rate = amount >= CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES ? CARL_RECOVERY_REDUCED_FEES_PERCENTAGE : CARL_RECOVERY_FEES_PERCENTAGE;\n\n const feesTaxExcluded = amount * (rate / 100);\n const feesTax = feesTaxExcluded * (Vat.TX_20.value / 100);\n\n return feesTaxExcluded + feesTax;\n}\n\nexport function getStatusGroup(status: PaymentRecoveryStatus): PaymentRecoveryTag {\n if (CAARL_WAITING_STATUS.includes(status)) { return PaymentRecoveryTag.WAITING; }\n if (CAARL_RECOVERED_STATUS.includes(status)) { return PaymentRecoveryTag.RECOVERED; }\n if (CAARL_NOT_RECOVERED_STATUS.includes(status)) { return PaymentRecoveryTag.NOT_RECOVERED; }\n return PaymentRecoveryTag.WAITING;\n}"]}
1
+ {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/recovery.ts"],"names":[],"mappings":";;;AAUA,8FAQC;AAED,wCAKC;AAzBD,uCAA6E;AAE7E,MAAM,6BAA6B,GAAG,EAAE,CAAC;AACzC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AACjD,MAAM,qCAAqC,GAAG,IAAI,CAAC;AAEtC,QAAA,oBAAoB,GAA4B,CAAC,6BAAqB,CAAC,MAAM,EAAE,6BAAqB,CAAC,gBAAgB,EAAE,6BAAqB,CAAC,mBAAmB,EAAE,6BAAqB,CAAC,aAAa,EAAE,6BAAqB,CAAC,SAAS,EAAE,6BAAqB,CAAC,qBAAqB,EAAE,6BAAqB,CAAC,KAAK,EAAE,6BAAqB,CAAC,YAAY,EAAE,6BAAqB,CAAC,gBAAgB,EAAE,6BAAqB,CAAC,mBAAmB,CAAC,CAAC;AACza,QAAA,sBAAsB,GAA4B,CAAC,6BAAqB,CAAC,YAAY,CAAC,CAAC;AACvF,QAAA,0BAA0B,GAA4B,CAAC,6BAAqB,CAAC,cAAc,EAAE,6BAAqB,CAAC,aAAa,EAAE,6BAAqB,CAAC,SAAS,EAAE,6BAAqB,CAAC,SAAS,EAAE,6BAAqB,CAAC,YAAY,EAAE,6BAAqB,CAAC,MAAM,CAAC,CAAC;AAEnR,SAAgB,yCAAyC,CAAC,MAAc;IAEtE,MAAM,IAAI,GAAG,MAAM,IAAI,qCAAqC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,6BAA6B,CAAC;IAErI,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,eAAe,GAAG,CAAC,WAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IAE1D,OAAO,eAAe,GAAG,OAAO,CAAC;AACnC,CAAC;AAED,SAAgB,cAAc,CAAC,MAA6B;IAC1D,IAAI,4BAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,OAAO,CAAC;IAAC,CAAC;IACjF,IAAI,8BAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,SAAS,CAAC;IAAC,CAAC;IACrF,IAAI,kCAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,0BAAkB,CAAC,aAAa,CAAC;IAAC,CAAC;IAC7F,OAAO,0BAAkB,CAAC,OAAO,CAAC;AACpC,CAAC","sourcesContent":["import { PaymentRecoveryStatus, PaymentRecoveryTag, Vat } from '../../types';\n\nconst CARL_RECOVERY_FEES_PERCENTAGE = 15;\nconst CARL_RECOVERY_REDUCED_FEES_PERCENTAGE = 10;\nconst CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES = 5000;\n\nexport const CAARL_WAITING_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.OPENED, PaymentRecoveryStatus.SENT_TO_AMICABLE, PaymentRecoveryStatus.AMICABLE_SETTLEMENT, PaymentRecoveryStatus.SENT_TO_COURT, PaymentRecoveryStatus.FEES_PAID, PaymentRecoveryStatus.IP_SUBMITTED_TO_COURT, PaymentRecoveryStatus.IP_OK, PaymentRecoveryStatus.IP_SIGNIFIED, PaymentRecoveryStatus.CUSTOM_RECOVERED, PaymentRecoveryStatus.CUSTOM_CANCELLATION];\nexport const CAARL_RECOVERED_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.CLOSED_PAYED];\nexport const CAARL_NOT_RECOVERED_STATUS: PaymentRecoveryStatus[] = [PaymentRecoveryStatus.CLOSED_DISPUTE, PaymentRecoveryStatus.CLOSED_FAILED, PaymentRecoveryStatus.CLOSED_RJ, PaymentRecoveryStatus.CLOSED_LJ, PaymentRecoveryStatus.CLOSED_IP_KO, PaymentRecoveryStatus.CLOSED];\n\nexport function getRecoveryFeesFromAmountTotalTaxIncluded(amount: number): number {\n\n const rate = amount >= CAARL_MINIMUM_AMOUNT_FOR_REDUCED_FEES ? CARL_RECOVERY_REDUCED_FEES_PERCENTAGE : CARL_RECOVERY_FEES_PERCENTAGE;\n\n const feesTaxExcluded = amount * (rate / 100);\n const feesTax = feesTaxExcluded * (Vat.TX_20.value / 100);\n\n return feesTaxExcluded + feesTax;\n}\n\nexport function getStatusGroup(status: PaymentRecoveryStatus): PaymentRecoveryTag {\n if (CAARL_WAITING_STATUS.includes(status)) { return PaymentRecoveryTag.WAITING; }\n if (CAARL_RECOVERED_STATUS.includes(status)) { return PaymentRecoveryTag.RECOVERED; }\n if (CAARL_NOT_RECOVERED_STATUS.includes(status)) { return PaymentRecoveryTag.NOT_RECOVERED; }\n return PaymentRecoveryTag.WAITING;\n}"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAllRecurrences = void 0;
3
+ exports.getAllRecurrences = getAllRecurrences;
4
4
  const dayjs = require("dayjs");
5
5
  const RecurrenceType_1 = require("../../types/Enum/RecurrenceType");
6
6
  const isSameOrBefore = require('dayjs/plugin/isSameOrBefore');
@@ -31,5 +31,4 @@ function getAllRecurrences(params) {
31
31
  }
32
32
  return nextInvoices;
33
33
  }
34
- exports.getAllRecurrences = getAllRecurrences;
35
34
  //# sourceMappingURL=recurrence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recurrence.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/recurrence.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,oEAAiE;AAEjE,MAAM,cAAc,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAE5D,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC5B,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAE7B,SAAgB,iBAAiB,CAAC,MAIjC;;IACC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,YAAY,CAAC;IAE/C,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,IAAI,UAAU,GAAyB,OAAO,CAAC;IAE/C,IAAI,IAAI,KAAK,+BAAc,CAAC,MAAM;QAAE,UAAU,GAAG,OAAO,CAAC;IACzD,aAAa;SACR,IAAI,IAAI,KAAK,+BAAc,CAAC,SAAS;QAAE,UAAU,GAAG,SAAS,CAAC;SAC9D,IAAI,IAAI,KAAK,+BAAc,CAAC,MAAM;QAAE,UAAU,GAAG,MAAM,CAAC;SACxD,IAAI,IAAI,KAAK,+BAAc,CAAC,MAAM;QAAE,UAAU,GAAG,MAAM,CAAC;IAE7D,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,aAAa;IACb,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AA5BD,8CA4BC","sourcesContent":["import * as dayjs from 'dayjs';\nimport { RecurrenceType } from '../../types/Enum/RecurrenceType';\n\nconst isSameOrBefore = require('dayjs/plugin/isSameOrBefore');\nconst quarterOfYear = require('dayjs/plugin/quarterOfYear');\n\ndayjs.extend(quarterOfYear);\ndayjs.extend(isSameOrBefore);\n\nexport function getAllRecurrences(params: {\n startDate: string;\n endDate: string | null;\n type: RecurrenceType;\n}): string[] {\n const { startDate, type } = params;\n const endDate = params.endDate ?? '2100-01-01';\n\n let loop = 0;\n\n let recurrency: dayjs.ManipulateType = 'month';\n\n if (type === RecurrenceType.MONHLY) recurrency = 'month';\n // @ts-ignore\n else if (type === RecurrenceType.QUARTERLY) recurrency = 'quarter';\n else if (type === RecurrenceType.WEEKLY) recurrency = 'week';\n else if (type === RecurrenceType.YEARLY) recurrency = 'year';\n\n const nextInvoices: string[] = [];\n\n // @ts-ignore\n while (dayjs(startDate).add(loop, recurrency).isSameOrBefore(endDate)) {\n const currentDate = dayjs(startDate).add(loop, recurrency);\n nextInvoices.push(currentDate.format('YYYY-MM-DD'));\n loop += 1;\n }\n\n return nextInvoices;\n}"]}
1
+ {"version":3,"file":"recurrence.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/recurrence.ts"],"names":[],"mappings":";;AASA,8CA4BC;AArCD,+BAA+B;AAC/B,oEAAiE;AAEjE,MAAM,cAAc,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAE5D,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC5B,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAE7B,SAAgB,iBAAiB,CAAC,MAIjC;;IACC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,YAAY,CAAC;IAE/C,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,IAAI,UAAU,GAAyB,OAAO,CAAC;IAE/C,IAAI,IAAI,KAAK,+BAAc,CAAC,MAAM;QAAE,UAAU,GAAG,OAAO,CAAC;IACzD,aAAa;SACR,IAAI,IAAI,KAAK,+BAAc,CAAC,SAAS;QAAE,UAAU,GAAG,SAAS,CAAC;SAC9D,IAAI,IAAI,KAAK,+BAAc,CAAC,MAAM;QAAE,UAAU,GAAG,MAAM,CAAC;SACxD,IAAI,IAAI,KAAK,+BAAc,CAAC,MAAM;QAAE,UAAU,GAAG,MAAM,CAAC;IAE7D,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,aAAa;IACb,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3D,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["import * as dayjs from 'dayjs';\nimport { RecurrenceType } from '../../types/Enum/RecurrenceType';\n\nconst isSameOrBefore = require('dayjs/plugin/isSameOrBefore');\nconst quarterOfYear = require('dayjs/plugin/quarterOfYear');\n\ndayjs.extend(quarterOfYear);\ndayjs.extend(isSameOrBefore);\n\nexport function getAllRecurrences(params: {\n startDate: string;\n endDate: string | null;\n type: RecurrenceType;\n}): string[] {\n const { startDate, type } = params;\n const endDate = params.endDate ?? '2100-01-01';\n\n let loop = 0;\n\n let recurrency: dayjs.ManipulateType = 'month';\n\n if (type === RecurrenceType.MONHLY) recurrency = 'month';\n // @ts-ignore\n else if (type === RecurrenceType.QUARTERLY) recurrency = 'quarter';\n else if (type === RecurrenceType.WEEKLY) recurrency = 'week';\n else if (type === RecurrenceType.YEARLY) recurrency = 'year';\n\n const nextInvoices: string[] = [];\n\n // @ts-ignore\n while (dayjs(startDate).add(loop, recurrency).isSameOrBefore(endDate)) {\n const currentDate = dayjs(startDate).add(loop, recurrency);\n nextInvoices.push(currentDate.format('YYYY-MM-DD'));\n loop += 1;\n }\n\n return nextInvoices;\n}"]}
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.thirdPartyToReadThirdPartyEditing = void 0;
3
+ exports.thirdPartyToReadThirdPartyEditing = thirdPartyToReadThirdPartyEditing;
4
4
  const class_validator_1 = require("class-validator");
5
5
  const Country_1 = require("../../types/Enum/Country");
6
6
  function thirdPartyToReadThirdPartyEditing(payload) {
7
7
  var _a, _b, _c, _d, _e, _f;
8
8
  return Object.assign(Object.assign({}, payload), { country: (0, class_validator_1.isDefined)(payload === null || payload === void 0 ? void 0 : payload.idCountry) ? (_c = (_b = (_a = Country_1.CountryList.find((c) => c.id === payload.idCountry)) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toUpperCase()) !== null && _c !== void 0 ? _c : null : null, deliveryCountry: (0, class_validator_1.isDefined)(payload === null || payload === void 0 ? void 0 : payload.deliveryIdCountry) ? (_f = (_e = (_d = Country_1.CountryList.find((c) => c.id === payload.deliveryIdCountry)) === null || _d === void 0 ? void 0 : _d.name) === null || _e === void 0 ? void 0 : _e.toUpperCase()) !== null && _f !== void 0 ? _f : null : null });
9
9
  }
10
- exports.thirdPartyToReadThirdPartyEditing = thirdPartyToReadThirdPartyEditing;
11
10
  //# sourceMappingURL=thirdParty.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thirdParty.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/thirdParty.ts"],"names":[],"mappings":";;;AAAA,qDAA4C;AAE5C,sDAAuD;AAEvD,SAAgB,iCAAiC,CAAC,OAAoB;;IACpE,uCACK,OAAO,KACV,OAAO,EAAE,IAAA,2BAAS,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAA,MAAA,MAAA,qBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,0CAAE,IAAI,0CAAE,WAAW,EAAE,mCAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAChI,eAAe,EAAE,IAAA,2BAAS,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAA,MAAA,MAAA,qBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,iBAAiB,CAAC,0CAAE,IAAI,0CAAE,WAAW,EAAE,mCAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IACxJ;AACJ,CAAC;AAND,8EAMC","sourcesContent":["import { isDefined } from 'class-validator';\nimport { IThirdParty, ReadThirdPartyEditing } from '../../types';\nimport { CountryList } from '../../types/Enum/Country';\n\nexport function thirdPartyToReadThirdPartyEditing(payload: IThirdParty): ReadThirdPartyEditing {\n return {\n ...payload,\n country: isDefined(payload?.idCountry) ? CountryList.find((c) => c.id === payload.idCountry)?.name?.toUpperCase() ?? null : null,\n deliveryCountry: isDefined(payload?.deliveryIdCountry) ? CountryList.find((c) => c.id === payload.deliveryIdCountry)?.name?.toUpperCase() ?? null : null,\n };\n}"]}
1
+ {"version":3,"file":"thirdParty.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/thirdParty.ts"],"names":[],"mappings":";;AAIA,8EAMC;AAVD,qDAA4C;AAE5C,sDAAuD;AAEvD,SAAgB,iCAAiC,CAAC,OAAoB;;IACpE,uCACK,OAAO,KACV,OAAO,EAAE,IAAA,2BAAS,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAA,MAAA,MAAA,qBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,0CAAE,IAAI,0CAAE,WAAW,EAAE,mCAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAChI,eAAe,EAAE,IAAA,2BAAS,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAA,MAAA,MAAA,qBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,iBAAiB,CAAC,0CAAE,IAAI,0CAAE,WAAW,EAAE,mCAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IACxJ;AACJ,CAAC","sourcesContent":["import { isDefined } from 'class-validator';\nimport { IThirdParty, ReadThirdPartyEditing } from '../../types';\nimport { CountryList } from '../../types/Enum/Country';\n\nexport function thirdPartyToReadThirdPartyEditing(payload: IThirdParty): ReadThirdPartyEditing {\n return {\n ...payload,\n country: isDefined(payload?.idCountry) ? CountryList.find((c) => c.id === payload.idCountry)?.name?.toUpperCase() ?? null : null,\n deliveryCountry: isDefined(payload?.deliveryIdCountry) ? CountryList.find((c) => c.id === payload.deliveryIdCountry)?.name?.toUpperCase() ?? null : null,\n };\n}"]}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.vatToReadVatEditing = exports.getById = exports.getAmount = void 0;
3
+ exports.getAmount = getAmount;
4
+ exports.getById = getById;
5
+ exports.vatToReadVatEditing = vatToReadVatEditing;
4
6
  const lodash_1 = require("lodash");
5
7
  const Vat_1 = require("../../types/Enum/Vat");
6
8
  const amount_1 = require("../amount");
@@ -8,11 +10,9 @@ function getAmount(amount, vatValue) {
8
10
  const _amount = amount !== null && amount !== void 0 ? amount : 0;
9
11
  return _amount * (vatValue / 100);
10
12
  }
11
- exports.getAmount = getAmount;
12
13
  function getById(id) {
13
14
  return Object.values(Vat_1.Vat).find((vat) => vat.id === id);
14
15
  }
15
- exports.getById = getById;
16
16
  function vatToReadVatEditing(products) {
17
17
  var _a, _b, _c, _d, _e, _f, _g, _h;
18
18
  const { idVat } = products[0];
@@ -27,5 +27,4 @@ function vatToReadVatEditing(products) {
27
27
  base: (0, lodash_1.sumBy)(products, (p) => (p.totalTaxExcluded ? +p.totalTaxExcluded : 0)),
28
28
  };
29
29
  }
30
- exports.vatToReadVatEditing = vatToReadVatEditing;
31
30
  //# sourceMappingURL=vat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vat.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/vat.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AACzC,8CAAoD;AACpD,sCAA2D;AAG3D,SAAgB,SAAS,CAAC,MAAqB,EAAE,QAAgB;IAC/D,MAAM,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,CAAC;IAC5B,OAAO,OAAO,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;AACpC,CAAC;AAHD,8BAGC;AAED,SAAgB,OAAO,CAAC,EAAU;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAFD,0BAEC;AAED,SAAgB,mBAAmB,CAAC,QAA8B;;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO;QACL,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,QAAQ,mCAAI,EAAE;QACpC,MAAM,EAAE,IAAA,cAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,SAAS,CAAC,CAAC,CAAC,gBAAgB,EAAE,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC;QAC1F,KAAK,EAAE,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,CAAC;QACjC,aAAa,EAAE,IAAA,uCAA8B,EAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtH,eAAe,EAAE,IAAA,uCAA8B,EAAC,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACjK,KAAK,EAAE,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;QACvH,IAAI,EAAE,IAAA,cAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9E,CAAC;AACJ,CAAC;AAZD,kDAYC","sourcesContent":["import { sumBy as _sumBy } from 'lodash';\nimport { Vat, VatType } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString } from '../amount';\nimport { ReadProductEditing, ReadVatEditing } from '../../types';\n\nexport function getAmount(amount: number | null, vatValue: number): number {\n const _amount = amount ?? 0;\n return _amount * (vatValue / 100);\n}\n\nexport function getById(id: number): VatType | undefined {\n return Object.values(Vat).find((vat) => vat.id === id);\n}\n\nexport function vatToReadVatEditing(products: ReadProductEditing[]): ReadVatEditing {\n const { idVat } = products[0];\n return {\n id: idVat,\n name: getById(idVat)?.saleName ?? '',\n amount: _sumBy(products, (p) => getAmount(p.totalTaxExcluded, getById(idVat)?.value ?? 0)),\n value: getById(idVat)?.value ?? 0,\n baseFormatted: integerToFormattedAmountString(_sumBy(products, (p) => (p.totalTaxExcluded ? +p.totalTaxExcluded : 0))),\n amountFormatted: integerToFormattedAmountString((_sumBy(products, (p) => (p.totalTaxExcluded ? +p.totalTaxExcluded : 0)) * ((getById(idVat)?.value ?? 0))) / 100),\n toPay: (_sumBy(products, (p) => (p.totalTaxExcluded ? +p.totalTaxExcluded : 0)) * ((getById(idVat)?.value ?? 0))) / 100,\n base: _sumBy(products, (p) => (p.totalTaxExcluded ? +p.totalTaxExcluded : 0)),\n };\n}"]}
1
+ {"version":3,"file":"vat.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/vat.ts"],"names":[],"mappings":";;AAKA,8BAGC;AAED,0BAEC;AAED,kDAYC;AA1BD,mCAAyC;AACzC,8CAAoD;AACpD,sCAA2D;AAG3D,SAAgB,SAAS,CAAC,MAAqB,EAAE,QAAgB;IAC/D,MAAM,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,CAAC;IAC5B,OAAO,OAAO,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,OAAO,CAAC,EAAU;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,mBAAmB,CAAC,QAA8B;;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO;QACL,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,QAAQ,mCAAI,EAAE;QACpC,MAAM,EAAE,IAAA,cAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,SAAS,CAAC,CAAC,CAAC,gBAAgB,EAAE,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC;QAC1F,KAAK,EAAE,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,CAAC;QACjC,aAAa,EAAE,IAAA,uCAA8B,EAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtH,eAAe,EAAE,IAAA,uCAA8B,EAAC,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACjK,KAAK,EAAE,CAAC,IAAA,cAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAA,MAAA,OAAO,CAAC,KAAK,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;QACvH,IAAI,EAAE,IAAA,cAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9E,CAAC;AACJ,CAAC","sourcesContent":["import { sumBy as _sumBy } from 'lodash';\nimport { Vat, VatType } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString } from '../amount';\nimport { ReadProductEditing, ReadVatEditing } from '../../types';\n\nexport function getAmount(amount: number | null, vatValue: number): number {\n const _amount = amount ?? 0;\n return _amount * (vatValue / 100);\n}\n\nexport function getById(id: number): VatType | undefined {\n return Object.values(Vat).find((vat) => vat.id === id);\n}\n\nexport function vatToReadVatEditing(products: ReadProductEditing[]): ReadVatEditing {\n const { idVat } = products[0];\n return {\n id: idVat,\n name: getById(idVat)?.saleName ?? '',\n amount: _sumBy(products, (p) => getAmount(p.totalTaxExcluded, getById(idVat)?.value ?? 0)),\n value: getById(idVat)?.value ?? 0,\n baseFormatted: integerToFormattedAmountString(_sumBy(products, (p) => (p.totalTaxExcluded ? +p.totalTaxExcluded : 0))),\n amountFormatted: integerToFormattedAmountString((_sumBy(products, (p) => (p.totalTaxExcluded ? +p.totalTaxExcluded : 0)) * ((getById(idVat)?.value ?? 0))) / 100),\n toPay: (_sumBy(products, (p) => (p.totalTaxExcluded ? +p.totalTaxExcluded : 0)) * ((getById(idVat)?.value ?? 0))) / 100,\n base: _sumBy(products, (p) => (p.totalTaxExcluded ? +p.totalTaxExcluded : 0)),\n };\n}"]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUtcOffsetDiffWithNow = exports.putIntervalBetweenOtherInterval = void 0;
3
+ exports.putIntervalBetweenOtherInterval = putIntervalBetweenOtherInterval;
4
+ exports.getUtcOffsetDiffWithNow = getUtcOffsetDiffWithNow;
4
5
  const dayjs = require("dayjs");
5
6
  const timezone = require("dayjs/plugin/timezone");
6
7
  dayjs.extend(timezone);
@@ -60,7 +61,6 @@ function putIntervalBetweenOtherInterval(customPayload, listHours) {
60
61
  }
61
62
  return res;
62
63
  }
63
- exports.putIntervalBetweenOtherInterval = putIntervalBetweenOtherInterval;
64
64
  /**
65
65
  * Compare UTC between now and another date (to add or subtract 1h between winter and summer time)
66
66
  * @param dateToCompare
@@ -91,5 +91,4 @@ function getUtcOffsetDiffWithNow(dateToCompare) {
91
91
  : 1);
92
92
  return nowUtc - dateToCompareUtc;
93
93
  }
94
- exports.getUtcOffsetDiffWithNow = getUtcOffsetDiffWithNow;
95
94
  //# sourceMappingURL=date.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../ts/utils/date.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @param dateStart Date format YYYY-MM-DD HH:mm:ss\n * @param dateEnd Date format YYYY-MM-DD HH:mm:ss\n * @returns object of time (09:00-10:00, 12:00-13:00 et 14:00-17:00)\n */\nimport {\n DateInterval, TimeInterval,\n} from '../types';\nimport * as dayjs from 'dayjs';\nimport * as timezone from 'dayjs/plugin/timezone';\ndayjs.extend(timezone);\n\n// TODO:UT\nexport function putIntervalBetweenOtherInterval(customPayload: DateInterval, listHours:TimeInterval[]):DateInterval {\n const res:DateInterval = { ...customPayload };\n if (listHours.length > 0 && customPayload?.dateStart && customPayload?.dateEnd) {\n const dateToCompareStart = new Date(customPayload.dateStart).getTime();\n const dateToCompareEnd = new Date(customPayload.dateEnd).getTime();\n const hoursObject = listHours;\n const textDate = `${new Date(dateToCompareStart).getFullYear()}-${new Date(dateToCompareStart).getMonth() + 1}-${new Date(dateToCompareStart).getDate()}`;\n\n // on cherche la bonne specialhour pour comparer les horaires\n const hoursOfPeriod = hoursObject.filter((h) => (h.endTime && (dateToCompareStart - new Date(`${textDate} ${h.endTime}`).getTime() <= 0)) && (h.startTime && (dateToCompareEnd - new Date(`${textDate} ${h.startTime}`).getTime() >= 0)));\n\n if (hoursOfPeriod?.length > 0 && hoursOfPeriod[0].startTime && hoursOfPeriod[0].endTime) {\n const dateStart = new Date(`${textDate} ${hoursOfPeriod[0].startTime}`).getTime();\n const dateEnd = new Date(`${textDate} ${hoursOfPeriod[0].endTime}`).getTime();\n\n // on check si les horaires de l'event sont dans les horaires du collab sinon on les fait commencer à l'heure à laquelle il s'est connecté\n res.dateStart = !((dateToCompareStart - dateStart) >= 0 && (dateToCompareStart - dateEnd) <= 0) ? new Date(dateStart) : new Date(dateToCompareStart);\n res.dateEnd = !((dateToCompareEnd - dateStart) >= 0 && (dateToCompareEnd - dateEnd) <= 0) ? new Date(dateEnd) : new Date(dateToCompareEnd);\n } else if (!hoursOfPeriod?.length) {\n const hoursDiff = [];\n // parcours de la liste des heures de connexions\n for (let i = 0; i < listHours.length; i += 1) {\n // ajout de la différence entre la date de début de notre événement et la date de début de notre période\n hoursDiff.push({\n id: i,\n start: true,\n end: false,\n diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].startTime}`).getTime()),\n });\n // ajout de la différence entre la date de début de notre événement et la date de fin de notre période\n hoursDiff.push({\n id: i,\n start: false,\n end: true,\n diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].endTime}`).getTime()),\n });\n }\n // tri de la liste par différence\n hoursDiff.sort((a, b) => a.diff - b.diff);\n // si proche de la date de début :\n // date de début event = date de début période\n // date de fin event = date de début période + 1 heure\n if (hoursDiff[0].start) {\n res.dateStart = new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`);\n res.dateEnd = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`).getTime() + 3600000);\n // si proche de la date de fin :\n // date de début event = date de fin période - 1 heure\n // date de fin event = date de fin période\n } else if (hoursDiff[0].end) {\n res.dateStart = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`).getTime() - 3600000);\n res.dateEnd = new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`);\n }\n }\n }\n return res;\n}\n\n/**\n * Compare UTC between now and another date (to add or subtract 1h between winter and summer time)\n * @param dateToCompare \n * @returns \n */\nexport function getUtcOffsetDiffWithNow(dateToCompare:Date):number {\n const dateToCompareUtc =\n dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() /\n (dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() > 16 ||\n dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() < 16\n ? 60\n : 1);\n const nowUtc =\n dayjs()\n .tz('Europe/Paris')\n .utcOffset() /\n (dayjs()\n .tz('Europe/Paris')\n .utcOffset() > 16 ||\n dayjs()\n .tz('Europe/Paris')\n .utcOffset() < 16\n ? 60\n : 1);\n return nowUtc - dateToCompareUtc;\n}"]}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../ts/utils/date.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @param dateStart Date format YYYY-MM-DD HH:mm:ss\n * @param dateEnd Date format YYYY-MM-DD HH:mm:ss\n * @returns object of time (09:00-10:00, 12:00-13:00 et 14:00-17:00)\n */\nimport {\n DateInterval, TimeInterval,\n} from '../types';\nimport * as dayjs from 'dayjs';\nimport * as timezone from 'dayjs/plugin/timezone';\ndayjs.extend(timezone);\n\n// TODO:UT\nexport function putIntervalBetweenOtherInterval(customPayload: DateInterval, listHours:TimeInterval[]):DateInterval {\n const res:DateInterval = { ...customPayload };\n if (listHours.length > 0 && customPayload?.dateStart && customPayload?.dateEnd) {\n const dateToCompareStart = new Date(customPayload.dateStart).getTime();\n const dateToCompareEnd = new Date(customPayload.dateEnd).getTime();\n const hoursObject = listHours;\n const textDate = `${new Date(dateToCompareStart).getFullYear()}-${new Date(dateToCompareStart).getMonth() + 1}-${new Date(dateToCompareStart).getDate()}`;\n\n // on cherche la bonne specialhour pour comparer les horaires\n const hoursOfPeriod = hoursObject.filter((h) => (h.endTime && (dateToCompareStart - new Date(`${textDate} ${h.endTime}`).getTime() <= 0)) && (h.startTime && (dateToCompareEnd - new Date(`${textDate} ${h.startTime}`).getTime() >= 0)));\n\n if (hoursOfPeriod?.length > 0 && hoursOfPeriod[0].startTime && hoursOfPeriod[0].endTime) {\n const dateStart = new Date(`${textDate} ${hoursOfPeriod[0].startTime}`).getTime();\n const dateEnd = new Date(`${textDate} ${hoursOfPeriod[0].endTime}`).getTime();\n\n // on check si les horaires de l'event sont dans les horaires du collab sinon on les fait commencer à l'heure à laquelle il s'est connecté\n res.dateStart = !((dateToCompareStart - dateStart) >= 0 && (dateToCompareStart - dateEnd) <= 0) ? new Date(dateStart) : new Date(dateToCompareStart);\n res.dateEnd = !((dateToCompareEnd - dateStart) >= 0 && (dateToCompareEnd - dateEnd) <= 0) ? new Date(dateEnd) : new Date(dateToCompareEnd);\n } else if (!hoursOfPeriod?.length) {\n const hoursDiff = [];\n // parcours de la liste des heures de connexions\n for (let i = 0; i < listHours.length; i += 1) {\n // ajout de la différence entre la date de début de notre événement et la date de début de notre période\n hoursDiff.push({\n id: i,\n start: true,\n end: false,\n diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].startTime}`).getTime()),\n });\n // ajout de la différence entre la date de début de notre événement et la date de fin de notre période\n hoursDiff.push({\n id: i,\n start: false,\n end: true,\n diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].endTime}`).getTime()),\n });\n }\n // tri de la liste par différence\n hoursDiff.sort((a, b) => a.diff - b.diff);\n // si proche de la date de début :\n // date de début event = date de début période\n // date de fin event = date de début période + 1 heure\n if (hoursDiff[0].start) {\n res.dateStart = new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`);\n res.dateEnd = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`).getTime() + 3600000);\n // si proche de la date de fin :\n // date de début event = date de fin période - 1 heure\n // date de fin event = date de fin période\n } else if (hoursDiff[0].end) {\n res.dateStart = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`).getTime() - 3600000);\n res.dateEnd = new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`);\n }\n }\n }\n return res;\n}\n\n/**\n * Compare UTC between now and another date (to add or subtract 1h between winter and summer time)\n * @param dateToCompare \n * @returns \n */\nexport function getUtcOffsetDiffWithNow(dateToCompare:Date):number {\n const dateToCompareUtc =\n dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() /\n (dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() > 16 ||\n dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() < 16\n ? 60\n : 1);\n const nowUtc =\n dayjs()\n .tz('Europe/Paris')\n .utcOffset() /\n (dayjs()\n .tz('Europe/Paris')\n .utcOffset() > 16 ||\n dayjs()\n .tz('Europe/Paris')\n .utcOffset() < 16\n ? 60\n : 1);\n return nowUtc - dateToCompareUtc;\n}"]}
@@ -11,7 +11,8 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  return t;
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.generateSignature = exports.getHoraires = void 0;
14
+ exports.getHoraires = getHoraires;
15
+ exports.generateSignature = generateSignature;
15
16
  // import * as dayjs from 'dayjs';
16
17
  // import { orderBy as orderByLodash } from 'lodash';
17
18
  const EntityType_1 = require("../types/Enum/EntityType");
@@ -156,7 +157,6 @@ function getHoraires(user) {
156
157
  // });
157
158
  // return resultHoraire;
158
159
  }
159
- exports.getHoraires = getHoraires;
160
160
  function getMailSignature(user, idTypeBrand) {
161
161
  const informatiqueMail = (0, brands_1.getBrandConfig)(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listMails.informatique' }));
162
162
  const bonjourMail = (0, brands_1.getBrandConfig)(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listMails.bonjour' }));
@@ -304,5 +304,4 @@ function generateSignature(params) {
304
304
  supportMail,
305
305
  });
306
306
  }
307
- exports.generateSignature = generateSignature;
308
307
  //# sourceMappingURL=email.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../ts/utils/email.ts"],"names":[],"mappings":"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","sourcesContent":["// import * as dayjs from 'dayjs';\n// import { orderBy as orderByLodash } from 'lodash';\nimport { EntityType } from '../types/Enum/EntityType';\nimport { Role } from '../types/Enum/Role';\nimport { TimeSlot } from '../types/Enum/TimeSlot';\nimport { IUser } from '../types/Interface/models/IUser';\nimport { getBrandConfig, isItThisEnv } from './brands';\nimport { signatureTemplate } from './email/templates/signature';\nimport { intersection } from './noLodash';\n\nconst ejs = require('ejs');\n\nfunction getRoleSignature(user:any) {\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant = user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);\n const isTermination = user.roles.map((r: any) => r.id).includes(Role.TERMINATION);\n const isLitige = user.roles.map((r: any) => r.id).includes(Role.LITIGE);\n const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n const isTechnicalAdvisor = user.roles.map((r: any) => r.id).includes(Role.TECHNICAL_ADVISOR);\n const isFront = !!intersection(user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]).length;\n\n if (isSales && isManager) { return 'Responsable commercial'; }\n if (isSales) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`; }\n\n if (isCS && isManager) { return 'Responsable relations clients'; }\n if (isCS) { return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`; }\n\n if (isTechnicalAdvisor) { return `Référent${user.idCivility === 2 ? 'e' : ''} technique`; }\n\n if (isOnBoarder && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`; }\n if (isOnBoarder) { return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`; }\n\n if (isTermination && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`; }\n if (isTermination) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`; }\n\n if (isLitige && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients (Litige)`; }\n if (isLitige) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients (Litige)`; }\n\n if (isDataOfficer && isManager) { return 'Responsable aide comptable'; }\n if (isDataOfficer) { return 'Aide comptable'; }\n\n if (isFacturation && isStagiaireOrAlternant) { return 'Assistant facturation'; }\n if (isFacturation && isManager) { return 'Responsable facturation'; }\n if (isFacturation) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`; }\n\n if (isJuridic && isStagiaireOrAlternant) { return 'Assistant juridique'; }\n if (isJuridic && isManager) { return 'Responsable juridique'; }\n if (isJuridic) { return 'Juriste'; }\n\n if (isSocial && isStagiaireOrAlternant) { return 'Assistant paie'; }\n if (isSocial && isManager) { return 'Responsable paie'; }\n if (isSocial) { return 'Gestionnaire de paie'; }\n\n if (isExpert) { return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`; }\n\n if (isAdmin) { return 'Développeur web'; }\n\n if (isFront && isManager) return 'Responsable comptable';\n if (isFront && isStagiaireOrAlternant) return 'Assistant comptable';\n if (isFront) return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n}\n\nexport function getHoraires(user:IUser) { // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n if (isItThisEnv('Pourcentage') && user?.entity && [EntityType.COMPTALIB, EntityType.AMEX, EntityType.CABINET_RONCHIERI_LANDRA].includes(user.entity)) {\n return 'Du lundi au vendredi de 9h à 18h';\n }\n \n return 'Du lundi au vendredi de 9h à 19h';\n\n // if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 19h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';\n\n // let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {\n // const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;\n // if (!acc[name]) acc[name] = [index];\n // else acc[name].push(index);\n // return acc;\n // }, {});\n\n // reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);\n\n // let resultHoraire = '';\n // let startH;\n // let startM;\n // let endH;\n // let endM;\n // let firstDayOfWeek;\n // let lastDayOfWeek;\n\n // reducedSchedules.forEach((schedule: any, index: number) => {\n // startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');\n // startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');\n // endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');\n // endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');\n // firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');\n // if (!index) {\n // // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh\n // lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');\n // resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents\n // resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // }\n // });\n // return resultHoraire;\n}\n\nfunction getMailSignature(user:any, idTypeBrand:number) {\n const informatiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.informatique',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) { return informatiqueMail; }\n if (user && !!intersection(user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR]).length) return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user:any) {\n if (user.phone !== '0383931414') { return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, '&nbsp;'); }\n return null;\n}\n\nexport function generateSignature(params: any): string {\n const {\n forceRole = null, idTypeBrand = 1, society, ...otherParams\n } = params;\n let {\n user,\n } = otherParams;\n \n const hostS3 = getBrandConfig({\n idTypeBrand,\n objectWaited: 'urlS3',\n });\n\n const brandName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'name',\n }) as unknown as string;\n const brandPostalAddress = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.postalAddress',\n }) as unknown as string;\n const brandCity = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.city',\n }) as unknown as string;\n const commercialName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'commercialName',\n }) as unknown as string;\n const iban = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.IBAN',\n }) as unknown as string;\n const bic = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.BIC',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n const socialMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.social',\n }) as unknown as string;\n const dataOfficerMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.gestion',\n }) as unknown as string;\n const supportMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.support',\n }) as unknown as string;\n const juridiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.juridique',\n }) as unknown as string;\n const facturationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.facturation',\n }) as unknown as string;\n const primaryColor = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'colors.primary',\n }) as unknown as string;\n const standardPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.contact',\n }) as unknown as string;\n const juridiquePhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.juridique',\n }) as unknown as string;\n const socialPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.social',\n }) as unknown as string;\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | null;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = ['Expert-Comptable', bonjourMail, null, 'Du lundi au vendredi de 9h à 19h'];\n \n if (user?.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) { // Signature data_officer\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = dataOfficerMail;\n roleSignature = '';\n } else if (intersection((user?.roles ?? []).map((r: any) => r.id), [Role.FRONT_OFFICE, Role.SENIOR]).length === 2) { // Signature front senior\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = bonjourMail;\n roleSignature = '';\n } else if (forceRole === 'social') { // Signature social\n user = {\n firstname: 'Service social',\n isAll: true,\n };\n mailSignature = socialMail;\n roleSignature = '';\n phoneSignature = socialPhoneSignature;\n } else if (forceRole === 'support') { // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') { // Signature juridique\n user = {\n firstname: 'Service juridique',\n isAll: true,\n };\n mailSignature = juridiqueMail;\n roleSignature = null;\n phoneSignature = juridiquePhoneSignature;\n } else if (forceRole === 'facturation') { // Signature facturation\n user = {\n firstname: 'Service facturation',\n isAll: true,\n };\n mailSignature = facturationMail;\n roleSignature = null;\n phoneSignature = standardPhoneSignature;\n } else if (!user) { // Signature Clementine\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) { // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n // Si on a une société, alors on remplace le lien calendly de base par le lien calendly interne\n // on n'affiche uniquement si le collaboreatur a bien des créneaux horaires\n if (society?.id && user?.roles?.some((r: any) => [Role.FRONT_OFFICE, Role.FACTURATION, Role.JURIDIC, Role.COMMERCIAL ].includes(r.id)) && user?.usersTimeSlots?.length) {\n const isJuridic = user?.roles?.some((r: any) => [Role.JURIDIC].includes(r.id));\n const isFactu = user?.roles?.some((r: any) => [Role.FACTURATION].includes(r.id));\n const isCommercial = user?.roles?.some((r: any) => [Role.COMMERCIAL].includes(r.id));\n let idType = TimeSlot.ACCOUNTING_RDV;\n if (isJuridic) idType = TimeSlot.EDIT_SOCIETY;\n if (isFactu) idType = TimeSlot.BILLING;\n if (isCommercial) idType = TimeSlot.SALES;\n const urlApp = getBrandConfig({ objectWaited: 'urlApp' }) as unknown as string;\n user.calendlyUrl = `${urlApp}/appointment?uuid=${society?.externalId ? society.externalId : ''}&idType=${idType}`;\n }\n\n return ejs.render(signatureTemplate, {\n forceRole,\n isFacturation: user.roles ? user.roles.some((r: any) => r.id === Role.FACTURATION) : false,\n isDataOfficer: user.roles ? user.roles.some((r: any) => r.id === Role.DATA_OFFICER) : true,\n brandName,\n brandPostalAddress,\n brandCity,\n idTypeBrand,\n commercialName,\n iban,\n bic,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature: phoneSignature ? phoneSignature.replace(/\\s+/gm, '&nbsp;') : null,\n standardPhoneSignature: standardPhoneSignature.replace(/\\s+/gm, '&nbsp;'),\n horaires,\n primaryColor,\n supportMail,\n });\n}"]}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../ts/utils/email.ts"],"names":[],"mappings":";;;;;;;;;;;;;AA0EA,kCA4CC;AAsBD,8CAiLC;AA7TD,kCAAkC;AAClC,qDAAqD;AACrD,yDAAsD;AACtD,6CAA0C;AAC1C,qDAAkD;AAElD,qCAAuD;AACvD,2DAAgE;AAChE,yCAA0C;AAE1C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAE3B,SAAS,gBAAgB,CAAC,IAAQ;IAChC,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC,aAAa,CAAC;IAElD,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,SAAS,CAAC,CAAC;IACnJ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,OAAO,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,OAAO,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,WAAW,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,iBAAiB,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,UAAU,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,WAAW,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,YAAY,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,UAAU,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,CAAC,CAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,EAAE,WAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC;IAExH,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,wBAAwB,CAAC;IAAC,CAAC;IAC9D,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC;IAAC,CAAC;IAEjF,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,+BAA+B,CAAC;IAAC,CAAC;IAClE,IAAI,IAAI,EAAE,CAAC;QAAC,OAAO,WAAW,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;IAAC,CAAC;IAEjF,IAAI,kBAAkB,EAAE,CAAC;QAAC,OAAO,WAAW,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;IAAC,CAAC;IAE3F,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,qBAAqB,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAAC,CAAC;IACjH,IAAI,WAAW,EAAE,CAAC;QAAC,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAAC,CAAC;IAExF,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,qBAAqB,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC;IAAC,CAAC;IAC9H,IAAI,aAAa,EAAE,CAAC;QAAC,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC;IAAC,CAAC;IAErG,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,qBAAqB,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,sCAAsC,CAAC;IAAC,CAAC;IAClI,IAAI,QAAQ,EAAE,CAAC;QAAC,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,sCAAsC,CAAC;IAAC,CAAC;IAEzG,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,4BAA4B,CAAC;IAAC,CAAC;IACxE,IAAI,aAAa,EAAE,CAAC;QAAC,OAAO,gBAAgB,CAAC;IAAC,CAAC;IAE/C,IAAI,aAAa,IAAI,sBAAsB,EAAE,CAAC;QAAC,OAAO,uBAAuB,CAAC;IAAC,CAAC;IAChF,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,yBAAyB,CAAC;IAAC,CAAC;IACrE,IAAI,aAAa,EAAE,CAAC;QAAC,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC;IAAC,CAAC;IAEzF,IAAI,SAAS,IAAI,sBAAsB,EAAE,CAAC;QAAC,OAAO,qBAAqB,CAAC;IAAC,CAAC;IAC1E,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,uBAAuB,CAAC;IAAC,CAAC;IAC/D,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAEpC,IAAI,QAAQ,IAAI,sBAAsB,EAAE,CAAC;QAAC,OAAO,gBAAgB,CAAC;IAAC,CAAC;IACpE,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAAC,OAAO,kBAAkB,CAAC;IAAC,CAAC;IACzD,IAAI,QAAQ,EAAE,CAAC;QAAC,OAAO,sBAAsB,CAAC;IAAC,CAAC;IAEhD,IAAI,QAAQ,EAAE,CAAC;QAAC,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;IAAC,CAAC;IAE/E,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,iBAAiB,CAAC;IAAC,CAAC;IAE1C,IAAI,OAAO,IAAI,SAAS;QAAE,OAAO,uBAAuB,CAAC;IACzD,IAAI,OAAO,IAAI,sBAAsB;QAAE,OAAO,qBAAqB,CAAC;IACpE,IAAI,OAAO;QAAE,OAAO,kBAAkB,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACzE,OAAO,kBAAkB,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC9D,CAAC;AAED,SAAgB,WAAW,CAAC,IAAU;IAEpC,IAAI,IAAA,oBAAW,EAAC,aAAa,CAAC,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA,IAAI,CAAC,uBAAU,CAAC,SAAS,EAAE,uBAAU,CAAC,IAAI,EAAE,uBAAU,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrJ,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IAED,OAAO,kCAAkC,CAAC;IAE1C,4KAA4K;IAE5K,gFAAgF;IAEhF,4FAA4F;IAC5F,8IAA8I;IAC9I,yCAAyC;IACzC,gCAAgC;IAChC,gBAAgB;IAChB,UAAU;IAEV,uFAAuF;IAEvF,0BAA0B;IAC1B,cAAc;IACd,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,sBAAsB;IACtB,qBAAqB;IAErB,+DAA+D;IAC/D,mMAAmM;IACnM,qMAAqM;IACrM,4IAA4I;IAC5I,8IAA8I;IAC9I,wGAAwG;IACxG,kBAAkB;IAClB,uGAAuG;IACvG,8HAA8H;IAC9H,8IAA8I;IAC9I,2FAA2F;IAC3F,+HAA+H;IAC/H,MAAM;IACN,MAAM;IACN,wBAAwB;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAQ,EAAE,WAAkB;IACpD,MAAM,gBAAgB,GAAG,IAAA,uBAAc,kCAClC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,wBAAwB,IACjB,CAAC;IACxB,MAAM,WAAW,GAAG,IAAA,uBAAc,kCAC7B,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,mBAAmB,IACZ,CAAC;IAExB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO,gBAAgB,CAAC;IAAC,CAAC;IACvF,IAAI,IAAI,IAAI,CAAC,CAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,EAAE,WAAI,CAAC,oBAAoB,EAAE,WAAI,CAAC,YAAY,EAAE,WAAI,CAAC,UAAU,EAAE,WAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IACnM,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAQ;IACjC,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;IAAC,CAAC;IAClG,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAW;;IAC3C,MAAM,EACJ,SAAS,GAAG,IAAI,EAAE,WAAW,GAAG,CAAC,EAAE,OAAO,KACxC,MAAM,EADuC,WAAW,UACxD,MAAM,EAFJ,uCAEL,CAAS,CAAC;IACX,IAAI,EACF,IAAI,GACL,GAAG,WAAW,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC;QAC5B,WAAW;QACX,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAA,uBAAc,kCAC3B,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,MAAM,IACC,CAAC;IACxB,MAAM,kBAAkB,GAAG,IAAA,uBAAc,kCACpC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,kCAAkC,IAC3B,CAAC;IACxB,MAAM,SAAS,GAAG,IAAA,uBAAc,kCAC3B,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,yBAAyB,IAClB,CAAC;IACxB,MAAM,cAAc,GAAG,IAAA,uBAAc,kCAChC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,gBAAgB,IACT,CAAC;IACxB,MAAM,IAAI,GAAG,IAAA,uBAAc,kCACtB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,WAAW,IACJ,CAAC;IACxB,MAAM,GAAG,GAAG,IAAA,uBAAc,kCACrB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,UAAU,IACH,CAAC;IACxB,MAAM,WAAW,GAAG,IAAA,uBAAc,kCAC7B,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,mBAAmB,IACZ,CAAC;IACxB,MAAM,UAAU,GAAG,IAAA,uBAAc,kCAC5B,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,kBAAkB,IACX,CAAC;IACxB,MAAM,eAAe,GAAG,IAAA,uBAAc,kCACjC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,mBAAmB,IACZ,CAAC;IACxB,MAAM,WAAW,GAAG,IAAA,uBAAc,kCAC7B,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,mBAAmB,IACZ,CAAC;IACxB,MAAM,aAAa,GAAG,IAAA,uBAAc,kCAC/B,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,qBAAqB,IACd,CAAC;IACxB,MAAM,eAAe,GAAG,IAAA,uBAAc,kCACjC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,uBAAuB,IAChB,CAAC;IACxB,MAAM,YAAY,GAAG,IAAA,uBAAc,kCAC9B,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,gBAAgB,IACT,CAAC;IACxB,MAAM,sBAAsB,GAAG,IAAA,uBAAc,kCACxC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,oBAAoB,IACb,CAAC;IACxB,MAAM,uBAAuB,GAAG,IAAA,uBAAc,kCACzC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,sBAAsB,IACf,CAAC;IACxB,MAAM,oBAAoB,GAAG,IAAA,uBAAc,kCACtC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACvC,YAAY,EAAE,mBAAmB,IACZ,CAAC;IAExB,IAAI,aAA4B,CAAC;IACjC,IAAI,aAA4B,CAAC;IACjC,IAAI,cAA6B,CAAC;IAClC,IAAI,QAAuB,CAAC;IAC5B,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;IAEvI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,yBAAyB;QACrG,IAAI,GAAG;YACL,SAAS,EAAE,YAAY,cAAc,EAAE;YACvC,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,eAAe,CAAC;QAChC,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC;SAAM,IAAI,IAAA,uBAAY,EAAC,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAI,CAAC,YAAY,EAAE,WAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC,yBAAyB;QAC5I,IAAI,GAAG;YACL,SAAS,EAAE,YAAY,cAAc,EAAE;YACvC,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,WAAW,CAAC;QAC5B,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC,mBAAmB;QACtD,IAAI,GAAG;YACL,SAAS,EAAE,gBAAgB;YAC3B,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,UAAU,CAAC;QAC3B,aAAa,GAAG,EAAE,CAAC;QACnB,cAAc,GAAG,oBAAoB,CAAC;IACxC,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC,CAAC,oBAAoB;QACxD,IAAI,GAAG;YACL,SAAS,EAAE,iBAAiB;YAC5B,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,WAAW,CAAC;QAC5B,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;SAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC,CAAC,sBAAsB;QAC5D,IAAI,GAAG;YACL,SAAS,EAAE,mBAAmB;YAC9B,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,aAAa,CAAC;QAC9B,aAAa,GAAG,IAAI,CAAC;QACrB,cAAc,GAAG,uBAAuB,CAAC;IAC3C,CAAC;SAAM,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC,CAAC,wBAAwB;QAChE,IAAI,GAAG;YACL,SAAS,EAAE,qBAAqB;YAChC,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,eAAe,CAAC;QAChC,aAAa,GAAG,IAAI,CAAC;QACrB,cAAc,GAAG,sBAAsB,CAAC;IAC1C,CAAC;SAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,uBAAuB;QACzC,IAAI,GAAG;YACL,SAAS,EAAE,YAAY,cAAc,EAAE;YACvC,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC;SAAM,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,uBAAuB;QAC9C,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvC,aAAa,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,+FAA+F;IAC/F,2EAA2E;IAC3E,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,MAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,YAAY,EAAE,WAAI,CAAC,WAAW,EAAE,WAAI,CAAC,OAAO,EAAE,WAAI,CAAC,UAAU,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,KAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,0CAAE,MAAM,CAAA,EAAE,CAAC;QACvK,MAAM,SAAS,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrF,IAAI,MAAM,GAAG,mBAAQ,CAAC,cAAc,CAAC;QACrC,IAAI,SAAS;YAAE,MAAM,GAAG,mBAAQ,CAAC,YAAY,CAAC;QAC9C,IAAI,OAAO;YAAE,MAAM,GAAG,mBAAQ,CAAC,OAAO,CAAC;QACvC,IAAI,YAAY;YAAE,MAAM,GAAG,mBAAQ,CAAC,KAAK,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAsB,CAAC;QAC/E,IAAI,CAAC,WAAW,GAAG,GAAG,MAAM,qBAAqB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,MAAM,EAAE,CAAC;IACpH,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,CAAC,6BAAiB,EAAE;QACnC,SAAS;QACT,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK;QAC1F,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1F,SAAS;QACT,kBAAkB;QAClB,SAAS;QACT,WAAW;QACX,cAAc;QACd,IAAI;QACJ,GAAG;QACH,MAAM;QACN,IAAI;QACJ,aAAa;QACb,aAAa;QACb,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;QACjF,sBAAsB,EAAE,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;QACzE,QAAQ;QACR,YAAY;QACZ,WAAW;KACZ,CAAC,CAAC;AACL,CAAC","sourcesContent":["// import * as dayjs from 'dayjs';\n// import { orderBy as orderByLodash } from 'lodash';\nimport { EntityType } from '../types/Enum/EntityType';\nimport { Role } from '../types/Enum/Role';\nimport { TimeSlot } from '../types/Enum/TimeSlot';\nimport { IUser } from '../types/Interface/models/IUser';\nimport { getBrandConfig, isItThisEnv } from './brands';\nimport { signatureTemplate } from './email/templates/signature';\nimport { intersection } from './noLodash';\n\nconst ejs = require('ejs');\n\nfunction getRoleSignature(user:any) {\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant = user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);\n const isTermination = user.roles.map((r: any) => r.id).includes(Role.TERMINATION);\n const isLitige = user.roles.map((r: any) => r.id).includes(Role.LITIGE);\n const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n const isTechnicalAdvisor = user.roles.map((r: any) => r.id).includes(Role.TECHNICAL_ADVISOR);\n const isFront = !!intersection(user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]).length;\n\n if (isSales && isManager) { return 'Responsable commercial'; }\n if (isSales) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`; }\n\n if (isCS && isManager) { return 'Responsable relations clients'; }\n if (isCS) { return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`; }\n\n if (isTechnicalAdvisor) { return `Référent${user.idCivility === 2 ? 'e' : ''} technique`; }\n\n if (isOnBoarder && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`; }\n if (isOnBoarder) { return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`; }\n\n if (isTermination && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`; }\n if (isTermination) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`; }\n\n if (isLitige && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients (Litige)`; }\n if (isLitige) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients (Litige)`; }\n\n if (isDataOfficer && isManager) { return 'Responsable aide comptable'; }\n if (isDataOfficer) { return 'Aide comptable'; }\n\n if (isFacturation && isStagiaireOrAlternant) { return 'Assistant facturation'; }\n if (isFacturation && isManager) { return 'Responsable facturation'; }\n if (isFacturation) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`; }\n\n if (isJuridic && isStagiaireOrAlternant) { return 'Assistant juridique'; }\n if (isJuridic && isManager) { return 'Responsable juridique'; }\n if (isJuridic) { return 'Juriste'; }\n\n if (isSocial && isStagiaireOrAlternant) { return 'Assistant paie'; }\n if (isSocial && isManager) { return 'Responsable paie'; }\n if (isSocial) { return 'Gestionnaire de paie'; }\n\n if (isExpert) { return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`; }\n\n if (isAdmin) { return 'Développeur web'; }\n\n if (isFront && isManager) return 'Responsable comptable';\n if (isFront && isStagiaireOrAlternant) return 'Assistant comptable';\n if (isFront) return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n}\n\nexport function getHoraires(user:IUser) { // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n if (isItThisEnv('Pourcentage') && user?.entity && [EntityType.COMPTALIB, EntityType.AMEX, EntityType.CABINET_RONCHIERI_LANDRA].includes(user.entity)) {\n return 'Du lundi au vendredi de 9h à 18h';\n }\n \n return 'Du lundi au vendredi de 9h à 19h';\n\n // if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 19h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';\n\n // let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {\n // const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;\n // if (!acc[name]) acc[name] = [index];\n // else acc[name].push(index);\n // return acc;\n // }, {});\n\n // reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);\n\n // let resultHoraire = '';\n // let startH;\n // let startM;\n // let endH;\n // let endM;\n // let firstDayOfWeek;\n // let lastDayOfWeek;\n\n // reducedSchedules.forEach((schedule: any, index: number) => {\n // startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');\n // startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');\n // endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');\n // endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');\n // firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');\n // if (!index) {\n // // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh\n // lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');\n // resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents\n // resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // }\n // });\n // return resultHoraire;\n}\n\nfunction getMailSignature(user:any, idTypeBrand:number) {\n const informatiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.informatique',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) { return informatiqueMail; }\n if (user && !!intersection(user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR]).length) return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user:any) {\n if (user.phone !== '0383931414') { return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, '&nbsp;'); }\n return null;\n}\n\nexport function generateSignature(params: any): string {\n const {\n forceRole = null, idTypeBrand = 1, society, ...otherParams\n } = params;\n let {\n user,\n } = otherParams;\n \n const hostS3 = getBrandConfig({\n idTypeBrand,\n objectWaited: 'urlS3',\n });\n\n const brandName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'name',\n }) as unknown as string;\n const brandPostalAddress = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.postalAddress',\n }) as unknown as string;\n const brandCity = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.city',\n }) as unknown as string;\n const commercialName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'commercialName',\n }) as unknown as string;\n const iban = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.IBAN',\n }) as unknown as string;\n const bic = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.BIC',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n const socialMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.social',\n }) as unknown as string;\n const dataOfficerMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.gestion',\n }) as unknown as string;\n const supportMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.support',\n }) as unknown as string;\n const juridiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.juridique',\n }) as unknown as string;\n const facturationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.facturation',\n }) as unknown as string;\n const primaryColor = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'colors.primary',\n }) as unknown as string;\n const standardPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.contact',\n }) as unknown as string;\n const juridiquePhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.juridique',\n }) as unknown as string;\n const socialPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.social',\n }) as unknown as string;\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | null;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = ['Expert-Comptable', bonjourMail, null, 'Du lundi au vendredi de 9h à 19h'];\n \n if (user?.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) { // Signature data_officer\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = dataOfficerMail;\n roleSignature = '';\n } else if (intersection((user?.roles ?? []).map((r: any) => r.id), [Role.FRONT_OFFICE, Role.SENIOR]).length === 2) { // Signature front senior\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = bonjourMail;\n roleSignature = '';\n } else if (forceRole === 'social') { // Signature social\n user = {\n firstname: 'Service social',\n isAll: true,\n };\n mailSignature = socialMail;\n roleSignature = '';\n phoneSignature = socialPhoneSignature;\n } else if (forceRole === 'support') { // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') { // Signature juridique\n user = {\n firstname: 'Service juridique',\n isAll: true,\n };\n mailSignature = juridiqueMail;\n roleSignature = null;\n phoneSignature = juridiquePhoneSignature;\n } else if (forceRole === 'facturation') { // Signature facturation\n user = {\n firstname: 'Service facturation',\n isAll: true,\n };\n mailSignature = facturationMail;\n roleSignature = null;\n phoneSignature = standardPhoneSignature;\n } else if (!user) { // Signature Clementine\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) { // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n // Si on a une société, alors on remplace le lien calendly de base par le lien calendly interne\n // on n'affiche uniquement si le collaboreatur a bien des créneaux horaires\n if (society?.id && user?.roles?.some((r: any) => [Role.FRONT_OFFICE, Role.FACTURATION, Role.JURIDIC, Role.COMMERCIAL ].includes(r.id)) && user?.usersTimeSlots?.length) {\n const isJuridic = user?.roles?.some((r: any) => [Role.JURIDIC].includes(r.id));\n const isFactu = user?.roles?.some((r: any) => [Role.FACTURATION].includes(r.id));\n const isCommercial = user?.roles?.some((r: any) => [Role.COMMERCIAL].includes(r.id));\n let idType = TimeSlot.ACCOUNTING_RDV;\n if (isJuridic) idType = TimeSlot.EDIT_SOCIETY;\n if (isFactu) idType = TimeSlot.BILLING;\n if (isCommercial) idType = TimeSlot.SALES;\n const urlApp = getBrandConfig({ objectWaited: 'urlApp' }) as unknown as string;\n user.calendlyUrl = `${urlApp}/appointment?uuid=${society?.externalId ? society.externalId : ''}&idType=${idType}`;\n }\n\n return ejs.render(signatureTemplate, {\n forceRole,\n isFacturation: user.roles ? user.roles.some((r: any) => r.id === Role.FACTURATION) : false,\n isDataOfficer: user.roles ? user.roles.some((r: any) => r.id === Role.DATA_OFFICER) : true,\n brandName,\n brandPostalAddress,\n brandCity,\n idTypeBrand,\n commercialName,\n iban,\n bic,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature: phoneSignature ? phoneSignature.replace(/\\s+/gm, '&nbsp;') : null,\n standardPhoneSignature: standardPhoneSignature.replace(/\\s+/gm, '&nbsp;'),\n horaires,\n primaryColor,\n supportMail,\n });\n}"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isHtml = void 0;
3
+ exports.isHtml = isHtml;
4
4
  /**
5
5
  * Verify if a string is HTML or not
6
6
  * @param text - The string to verify
@@ -10,5 +10,4 @@ function isHtml(text) {
10
10
  const htmlRegex = /<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/i;
11
11
  return htmlRegex.test(text);
12
12
  }
13
- exports.isHtml = isHtml;
14
13
  //# sourceMappingURL=isHtml.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isHtml.js","sourceRoot":"","sources":["../../../ts/utils/isHtml.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,MAAM,CAAC,IAAY;IACjC,MAAM,SAAS,GAAG,6CAA6C,CAAC;IAChE,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAHD,wBAGC","sourcesContent":["/**\n * Verify if a string is HTML or not\n * @param text - The string to verify\n * @returns {boolean}\n */\nexport function isHtml(text: string): boolean {\n const htmlRegex = /<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>(.*?)<\\/\\1>/i;\n return htmlRegex.test(text);\n}"]}
1
+ {"version":3,"file":"isHtml.js","sourceRoot":"","sources":["../../../ts/utils/isHtml.ts"],"names":[],"mappings":";;AAKA,wBAGC;AARD;;;;GAIG;AACH,SAAgB,MAAM,CAAC,IAAY;IACjC,MAAM,SAAS,GAAG,6CAA6C,CAAC;IAChE,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC","sourcesContent":["/**\n * Verify if a string is HTML or not\n * @param text - The string to verify\n * @returns {boolean}\n */\nexport function isHtml(text: string): boolean {\n const htmlRegex = /<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>(.*?)<\\/\\1>/i;\n return htmlRegex.test(text);\n}"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isUrl = void 0;
3
+ exports.isUrl = isUrl;
4
4
  /**
5
5
  * Function to check if a string is a valid url
6
6
  * @param value - The string to verify
@@ -16,5 +16,4 @@ function isUrl(value) {
16
16
  return false;
17
17
  }
18
18
  }
19
- exports.isUrl = isUrl;
20
19
  //# sourceMappingURL=isUrl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isUrl.js","sourceRoot":"","sources":["../../../ts/utils/isUrl.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,KAAK,CAAC,KAAa;IACjC,IAAI,CAAC;QACH,kCAAkC;QAClC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AARD,sBAQC","sourcesContent":["/**\n * Function to check if a string is a valid url\n * @param value - The string to verify\n * @returns {boolean}\n */\nexport function isUrl(value: string): boolean {\n try {\n // eslint-disable-next-line no-new\n new URL(value);\n return true;\n } catch (_) {\n return false;\n }\n}"]}
1
+ {"version":3,"file":"isUrl.js","sourceRoot":"","sources":["../../../ts/utils/isUrl.ts"],"names":[],"mappings":";;AAKA,sBAQC;AAbD;;;;GAIG;AACH,SAAgB,KAAK,CAAC,KAAa;IACjC,IAAI,CAAC;QACH,kCAAkC;QAClC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["/**\n * Function to check if a string is a valid url\n * @param value - The string to verify\n * @returns {boolean}\n */\nexport function isUrl(value: string): boolean {\n try {\n // eslint-disable-next-line no-new\n new URL(value);\n return true;\n } catch (_) {\n return false;\n }\n}"]}
@@ -8,11 +8,7 @@ export declare function groupBy<T>(arr: T[], fn: (item: T) => any): Record<strin
8
8
  export declare function intersection<T>(arr1: T[], arr2: T[]): T[];
9
9
  export declare const difference: (arr1: any[], arr2: any[]) => any[];
10
10
  export declare const uniqBy: <T>(arr: T[], key: keyof T) => T[];
11
- export declare const sumBy: <T extends PropertyKey>(list: ({ [K in T]: number; } & {
12
- [x: string]: unknown;
13
- [x: number]: unknown;
14
- [x: symbol]: unknown;
15
- })[], key: T) => number;
11
+ export declare const sumBy: <T extends PropertyKey>(list: ({ [K in T]: number; } & { [K in PropertyKey]?: unknown; })[], key: T) => number;
16
12
  export declare const sortBy: (key: any, cb: (a: any, b: any) => any) => (a?: any, b?: any) => any;
17
13
  export declare const sortByDesc: (key: any, cb: (a: any, b: any) => any) => (b?: any, a?: any) => any;
18
14
  export declare const orderBy: (keys: any[], orders: any[]) => () => number;
@@ -1 +1 @@
1
- {"version":3,"file":"noLodash.d.ts","sourceRoot":"","sources":["../../../ts/utils/noLodash.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,uBAOxD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAMzD;AAED,eAAO,MAAM,UAAU,SAAU,GAAG,EAAE,QAAQ,GAAG,EAAE,UAA0C,CAAC;AAE9F,eAAO,MAAM,MAAM,WAAY,CAAC,EAAE,OAAO,MAAM,CAAC,KAAG,CAAC,EAUnD,CAAC;AAEF,eAAO,MAAM,KAAK;;;;WAEX,CAAC,WAGP,CAAC;AAGF,eAAO,MAAM,MAAM,QAAU,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,UAE/C,GAAG,MAAM,GAAG,QAEzB,CAAC;AAGF,eAAO,MAAM,UAAU,QAAS,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,UAElD,GAAG,MAAM,GAAG,QAEzB,CAAC;AAGF,eAAO,MAAM,OAAO,SAAU,GAAG,EAAE,UAAU,GAAG,EAAE,iBAejD,CAAC;AAGF,MAAM,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,IAChC,IAAI,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,KAAK,EAAE,GACvC,IAAI,SAAS,MAAM,GAAG,GACpB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAC9B,SAAS,GACX,IAAI,SAAS,MAAM,GAAG,GACpB,GAAG,CAAC,IAAI,CAAC,GACT,SAAS,CAAC;AAClB,wBAAgB,QAAQ,CACtB,KAAK,EACL,KAAK,SAAS,MAAM,EACpB,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAErC,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,EACX,YAAY,CAAC,EAAE,QAAQ,GACtB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,QAAQ,CASvC"}
1
+ {"version":3,"file":"noLodash.d.ts","sourceRoot":"","sources":["../../../ts/utils/noLodash.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,uBAOxD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAMzD;AAED,eAAO,MAAM,UAAU,SAAU,GAAG,EAAE,QAAQ,GAAG,EAAE,UAA0C,CAAC;AAE9F,eAAO,MAAM,MAAM,GAAI,CAAC,OAAO,CAAC,EAAE,OAAO,MAAM,CAAC,KAAG,CAAC,EAUnD,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,WAAW,QACnC,CAAC,GAAG,CAAM,IAAD,CAAC,GAAG,MAAM,GAAE,GAAG,GAAG,CAAgB,IAAX,WAAW,CAAC,CAAC,EAAE,OAAO,GAAE,CAAC,EAAE,OAC5D,CAAC,WAGP,CAAC;AAGF,eAAO,MAAM,MAAM,QAAU,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,UAE/C,GAAG,MAAM,GAAG,QAEzB,CAAC;AAGF,eAAO,MAAM,UAAU,QAAS,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,UAElD,GAAG,MAAM,GAAG,QAEzB,CAAC;AAGF,eAAO,MAAM,OAAO,SAAU,GAAG,EAAE,UAAU,GAAG,EAAE,iBAejD,CAAC;AAGF,MAAM,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,IAChC,IAAI,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,KAAK,EAAE,GACvC,IAAI,SAAS,MAAM,GAAG,GACpB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAC9B,SAAS,GACX,IAAI,SAAS,MAAM,GAAG,GACpB,GAAG,CAAC,IAAI,CAAC,GACT,SAAS,CAAC;AAClB,wBAAgB,QAAQ,CACtB,KAAK,EACL,KAAK,SAAS,MAAM,EACpB,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAErC,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,EACX,YAAY,CAAC,EAAE,QAAQ,GACtB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,QAAQ,CASvC"}