@silexpert/core 1.2.26 → 1.2.28
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.
- package/dist/cjs/api/index.d.ts.map +1 -1
- package/dist/cjs/api/index.js +8 -3
- package/dist/cjs/api/index.js.map +1 -1
- package/dist/cjs/api/resources/Employee.d.ts.map +1 -1
- package/dist/cjs/api/resources/Employee.js +1 -0
- package/dist/cjs/api/resources/Employee.js.map +1 -1
- package/dist/cjs/api/resources/RegistrationForm.d.ts +3 -2
- package/dist/cjs/api/resources/RegistrationForm.d.ts.map +1 -1
- package/dist/cjs/api/resources/RegistrationForm.js +4 -1
- package/dist/cjs/api/resources/RegistrationForm.js.map +1 -1
- package/dist/cjs/api/resources/Task.d.ts.map +1 -1
- package/dist/cjs/api/resources/Task.js +1 -0
- package/dist/cjs/api/resources/Task.js.map +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/Enum/Aspone.d.ts +57 -0
- package/dist/cjs/types/Enum/Aspone.d.ts.map +1 -1
- package/dist/cjs/types/Enum/Aspone.js +94 -1
- package/dist/cjs/types/Enum/Aspone.js.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheet.js +1 -1
- package/dist/cjs/types/Enum/BalanceSheet.js.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheetQuestion.d.ts.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheetQuestion.js +2 -0
- package/dist/cjs/types/Enum/BalanceSheetQuestion.js.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js +1 -0
- package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
- package/dist/cjs/types/Enum/CerfaType.d.ts +2 -1
- package/dist/cjs/types/Enum/CerfaType.d.ts.map +1 -1
- package/dist/cjs/types/Enum/CerfaType.js +1 -0
- package/dist/cjs/types/Enum/CerfaType.js.map +1 -1
- package/dist/cjs/types/Enum/CommercialManagement.d.ts +28 -0
- package/dist/cjs/types/Enum/CommercialManagement.d.ts.map +1 -1
- package/dist/cjs/types/Enum/CommercialManagement.js +137 -1
- package/dist/cjs/types/Enum/CommercialManagement.js.map +1 -1
- package/dist/cjs/types/Enum/RevisionGuide.d.ts.map +1 -1
- package/dist/cjs/types/Enum/RevisionGuide.js +5 -0
- package/dist/cjs/types/Enum/RevisionGuide.js.map +1 -1
- package/dist/cjs/types/Enum/Role.d.ts.map +1 -1
- package/dist/cjs/types/Enum/Role.js +1 -0
- package/dist/cjs/types/Enum/Role.js.map +1 -1
- package/dist/cjs/types/Enum/SalesContractBrandClementine.js +4 -4
- package/dist/cjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
- package/dist/cjs/types/Enum/SalesContractBrandPourcentage.d.ts +1 -26
- package/dist/cjs/types/Enum/SalesContractBrandPourcentage.d.ts.map +1 -1
- package/dist/cjs/types/Enum/SalesContractBrandPourcentage.js +6 -6
- package/dist/cjs/types/Enum/SalesContractBrandPourcentage.js.map +1 -1
- package/dist/cjs/types/Enum/TransactionKind.d.ts.map +1 -1
- package/dist/cjs/types/Enum/TransactionKind.js.map +1 -1
- package/dist/cjs/types/Enum/TransactionStatus.d.ts.map +1 -1
- package/dist/cjs/types/Enum/TransactionStatus.js.map +1 -1
- package/dist/cjs/types/Enum/TypePayment.d.ts.map +1 -1
- package/dist/cjs/types/Enum/TypePayment.js +1 -0
- package/dist/cjs/types/Enum/TypePayment.js.map +1 -1
- package/dist/cjs/types/Interface/api/accountingFiles/Ocr.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/accountingFiles/Ocr.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2573.d.ts +91 -0
- package/dist/cjs/types/Interface/api/cerfa/2573.d.ts.map +1 -0
- package/dist/cjs/types/Interface/api/cerfa/2573.js +3 -0
- package/dist/cjs/types/Interface/api/cerfa/2573.js.map +1 -0
- package/dist/cjs/types/Interface/api/cerfa/CreateCerfa.d.ts +1 -0
- package/dist/cjs/types/Interface/api/cerfa/CreateCerfa.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/CreateCerfa.js +1 -0
- package/dist/cjs/types/Interface/api/cerfa/CreateCerfa.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/ReadCerfa.d.ts +2 -1
- package/dist/cjs/types/Interface/api/cerfa/ReadCerfa.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/ReadCerfa.js.map +1 -1
- package/dist/cjs/types/Interface/api/checklist/Read.d.ts +1 -0
- package/dist/cjs/types/Interface/api/checklist/Read.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/checklist/Read.js.map +1 -1
- package/dist/cjs/types/Interface/api/commercialManagement/Create.d.ts +15 -0
- package/dist/cjs/types/Interface/api/commercialManagement/Create.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/commercialManagement/Create.js +70 -1
- package/dist/cjs/types/Interface/api/commercialManagement/Create.js.map +1 -1
- package/dist/cjs/types/Interface/api/commercialManagement/Read.d.ts +4 -0
- package/dist/cjs/types/Interface/api/commercialManagement/Read.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/commercialManagement/Read.js.map +1 -1
- package/dist/cjs/types/Interface/api/config/ConfigType.d.ts +282 -0
- package/dist/cjs/types/Interface/api/config/ConfigType.d.ts.map +1 -0
- package/dist/cjs/types/Interface/api/config/ConfigType.js +3 -0
- package/dist/cjs/types/Interface/api/config/ConfigType.js.map +1 -0
- package/dist/cjs/types/Interface/api/crisp/GetCrisp.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/crisp/GetCrisp.js.map +1 -1
- package/dist/cjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js +3 -1
- package/dist/cjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js.map +1 -1
- package/dist/cjs/types/Interface/api/journal/Journals.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/journal/Journals.js.map +1 -1
- package/dist/cjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js +3 -1
- package/dist/cjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js.map +1 -1
- package/dist/cjs/types/Interface/api/notion/NotionResponse.d.ts +4 -4
- package/dist/cjs/types/Interface/api/notion/NotionResponse.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/notion/NotionResponse.js.map +1 -1
- package/dist/cjs/types/Interface/api/pappers/QueryPappers.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/pappers/QueryPappers.js.map +1 -1
- package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js +3 -1
- package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js.map +1 -1
- package/dist/cjs/types/Interface/api/promoCode/ReadDefaultPromotion.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/promoCode/ReadDefaultPromotion.js.map +1 -1
- package/dist/cjs/types/Interface/api/registration/CreateRegistration.d.ts +2 -0
- package/dist/cjs/types/Interface/api/registration/CreateRegistration.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/registration/CreateRegistration.js.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/ShopifyFinancialStatus.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/ShopifyFinancialStatus.js.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/ShopifyOrder.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/ShopifyOrder.js.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/discount_code.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/discount_code.js.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/shipping_line.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/shipping_line.js.map +1 -1
- package/dist/cjs/types/Interface/models/IBalanceSheetQuestion.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IBalanceSheetQuestion.js.map +1 -1
- package/dist/cjs/types/Interface/models/IFecFile.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IFecFile.js.map +1 -1
- package/dist/cjs/types/Interface/models/IRegistration.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IRegistration.js.map +1 -1
- package/dist/cjs/types/Interface/models/ISaleEmail.d.ts +15 -0
- package/dist/cjs/types/Interface/models/ISaleEmail.d.ts.map +1 -0
- package/dist/cjs/types/Interface/models/ISaleEmail.js +3 -0
- package/dist/cjs/types/Interface/models/ISaleEmail.js.map +1 -0
- package/dist/cjs/types/Interface/models/IUser.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IUser.js.map +1 -1
- package/dist/cjs/types/index.d.ts +2 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +2 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/utils/brands.d.ts.map +1 -1
- package/dist/cjs/utils/brands.js +5 -0
- package/dist/cjs/utils/brands.js.map +1 -1
- package/dist/cjs/utils/checkup.d.ts.map +1 -1
- package/dist/cjs/utils/checkup.js +5 -0
- package/dist/cjs/utils/checkup.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/document.d.ts.map +1 -1
- package/dist/cjs/utils/commercialManagement/document.js +6 -5
- package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/recurrence.js +2 -2
- package/dist/cjs/utils/commercialManagement/recurrence.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/saleEmail.d.ts +10 -0
- package/dist/cjs/utils/commercialManagement/saleEmail.d.ts.map +1 -0
- package/dist/cjs/utils/commercialManagement/saleEmail.js +34 -0
- package/dist/cjs/utils/commercialManagement/saleEmail.js.map +1 -0
- package/dist/cjs/utils/commercialManagement/vat.d.ts.map +1 -1
- package/dist/cjs/utils/commercialManagement/vat.js +1 -0
- package/dist/cjs/utils/commercialManagement/vat.js.map +1 -1
- package/dist/cjs/utils/date.d.ts.map +1 -1
- package/dist/cjs/utils/date.js +9 -0
- package/dist/cjs/utils/date.js.map +1 -1
- package/dist/cjs/utils/decorators.d.ts.map +1 -1
- package/dist/cjs/utils/decorators.js +3 -4
- package/dist/cjs/utils/decorators.js.map +1 -1
- package/dist/cjs/utils/email.d.ts.map +1 -1
- package/dist/cjs/utils/email.js +22 -0
- package/dist/cjs/utils/email.js.map +1 -1
- package/dist/cjs/utils/isUrl.d.ts.map +1 -1
- package/dist/cjs/utils/isUrl.js +1 -2
- package/dist/cjs/utils/isUrl.js.map +1 -1
- package/dist/cjs/utils/noLodash.d.ts.map +1 -1
- package/dist/cjs/utils/noLodash.js +10 -2
- package/dist/cjs/utils/noLodash.js.map +1 -1
- package/dist/cjs/utils/objectUtils/flattenObject.d.ts.map +1 -1
- package/dist/cjs/utils/objectUtils/flattenObject.js +1 -0
- package/dist/cjs/utils/objectUtils/flattenObject.js.map +1 -1
- package/dist/cjs/utils/objectUtils/fullFlattenObject.d.ts.map +1 -1
- package/dist/cjs/utils/objectUtils/fullFlattenObject.js +1 -0
- package/dist/cjs/utils/objectUtils/fullFlattenObject.js.map +1 -1
- package/dist/cjs/utils/objectUtils/unflattenObject.d.ts.map +1 -1
- package/dist/cjs/utils/objectUtils/unflattenObject.js +0 -1
- package/dist/cjs/utils/objectUtils/unflattenObject.js.map +1 -1
- package/dist/cjs/utils/payment.d.ts.map +1 -1
- package/dist/cjs/utils/payment.js +6 -1
- package/dist/cjs/utils/payment.js.map +1 -1
- package/dist/cjs/utils/phone.d.ts.map +1 -1
- package/dist/cjs/utils/phone.js +1 -0
- package/dist/cjs/utils/phone.js.map +1 -1
- package/dist/cjs/utils/quotation.js +2 -2
- package/dist/cjs/utils/quotation.js.map +1 -1
- package/dist/cjs/utils/social.js +0 -1
- package/dist/cjs/utils/social.js.map +1 -1
- package/dist/cjs/utils/statutsGeneration.js +2 -2
- package/dist/cjs/utils/statutsGeneration.js.map +1 -1
- package/dist/cjs/utils/tests/payment.spec.js +30 -39
- package/dist/cjs/utils/tests/payment.spec.js.map +1 -1
- package/dist/cjs/utils/transforms/boolean.transform.d.ts.map +1 -1
- package/dist/cjs/utils/transforms/boolean.transform.js +3 -1
- package/dist/cjs/utils/transforms/boolean.transform.js.map +1 -1
- package/dist/cjs/utils/vat/3310/century23.d.ts.map +1 -1
- package/dist/cjs/utils/vat/3310/century23.js +23 -0
- package/dist/cjs/utils/vat/3310/century23.js.map +1 -1
- package/dist/cjs/utils/vat/3310/century24.d.ts.map +1 -1
- package/dist/cjs/utils/vat/3310/century24.js +23 -0
- package/dist/cjs/utils/vat/3310/century24.js.map +1 -1
- package/dist/cjs/utils/vat/3517/century23.d.ts.map +1 -1
- package/dist/cjs/utils/vat/3517/century23.js +4 -0
- package/dist/cjs/utils/vat/3517/century23.js.map +1 -1
- package/dist/cjs/utils/vat/registration.d.ts.map +1 -1
- package/dist/cjs/utils/vat/registration.js +0 -1
- package/dist/cjs/utils/vat/registration.js.map +1 -1
- package/dist/mjs/api/index.d.ts.map +1 -1
- package/dist/mjs/api/index.js +7 -1
- package/dist/mjs/api/index.js.map +1 -1
- package/dist/mjs/api/resources/Employee.d.ts.map +1 -1
- package/dist/mjs/api/resources/Employee.js +1 -0
- package/dist/mjs/api/resources/Employee.js.map +1 -1
- package/dist/mjs/api/resources/RegistrationForm.d.ts +3 -2
- package/dist/mjs/api/resources/RegistrationForm.d.ts.map +1 -1
- package/dist/mjs/api/resources/RegistrationForm.js +4 -1
- package/dist/mjs/api/resources/RegistrationForm.js.map +1 -1
- package/dist/mjs/api/resources/Task.d.ts.map +1 -1
- package/dist/mjs/api/resources/Task.js +1 -0
- package/dist/mjs/api/resources/Task.js.map +1 -1
- package/dist/mjs/index.d.ts.map +1 -1
- package/dist/mjs/index.js +0 -1
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/types/Enum/Aspone.d.ts +57 -0
- package/dist/mjs/types/Enum/Aspone.d.ts.map +1 -1
- package/dist/mjs/types/Enum/Aspone.js +93 -0
- package/dist/mjs/types/Enum/Aspone.js.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheet.js +1 -1
- package/dist/mjs/types/Enum/BalanceSheet.js.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheetQuestion.d.ts.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheetQuestion.js +2 -0
- package/dist/mjs/types/Enum/BalanceSheetQuestion.js.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js +1 -0
- package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
- package/dist/mjs/types/Enum/CerfaType.d.ts +2 -1
- package/dist/mjs/types/Enum/CerfaType.d.ts.map +1 -1
- package/dist/mjs/types/Enum/CerfaType.js +1 -0
- package/dist/mjs/types/Enum/CerfaType.js.map +1 -1
- package/dist/mjs/types/Enum/CommercialManagement.d.ts +28 -0
- package/dist/mjs/types/Enum/CommercialManagement.d.ts.map +1 -1
- package/dist/mjs/types/Enum/CommercialManagement.js +136 -0
- package/dist/mjs/types/Enum/CommercialManagement.js.map +1 -1
- package/dist/mjs/types/Enum/RevisionGuide.d.ts.map +1 -1
- package/dist/mjs/types/Enum/RevisionGuide.js +5 -0
- package/dist/mjs/types/Enum/RevisionGuide.js.map +1 -1
- package/dist/mjs/types/Enum/Role.d.ts.map +1 -1
- package/dist/mjs/types/Enum/Role.js +1 -0
- package/dist/mjs/types/Enum/Role.js.map +1 -1
- package/dist/mjs/types/Enum/SalesContractBrandClementine.js +4 -4
- package/dist/mjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
- package/dist/mjs/types/Enum/SalesContractBrandPourcentage.d.ts +1 -26
- package/dist/mjs/types/Enum/SalesContractBrandPourcentage.d.ts.map +1 -1
- package/dist/mjs/types/Enum/SalesContractBrandPourcentage.js +6 -6
- package/dist/mjs/types/Enum/SalesContractBrandPourcentage.js.map +1 -1
- package/dist/mjs/types/Enum/TransactionKind.d.ts.map +1 -1
- package/dist/mjs/types/Enum/TransactionKind.js.map +1 -1
- package/dist/mjs/types/Enum/TransactionStatus.d.ts.map +1 -1
- package/dist/mjs/types/Enum/TransactionStatus.js.map +1 -1
- package/dist/mjs/types/Enum/TypePayment.d.ts.map +1 -1
- package/dist/mjs/types/Enum/TypePayment.js +1 -0
- package/dist/mjs/types/Enum/TypePayment.js.map +1 -1
- package/dist/mjs/types/Interface/api/accountingFiles/Ocr.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/accountingFiles/Ocr.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2573.d.ts +91 -0
- package/dist/mjs/types/Interface/api/cerfa/2573.d.ts.map +1 -0
- package/dist/mjs/types/Interface/api/cerfa/2573.js +2 -0
- package/dist/mjs/types/Interface/api/cerfa/2573.js.map +1 -0
- package/dist/mjs/types/Interface/api/cerfa/CreateCerfa.d.ts +1 -0
- package/dist/mjs/types/Interface/api/cerfa/CreateCerfa.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/CreateCerfa.js +1 -0
- package/dist/mjs/types/Interface/api/cerfa/CreateCerfa.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/ReadCerfa.d.ts +2 -1
- package/dist/mjs/types/Interface/api/cerfa/ReadCerfa.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/ReadCerfa.js.map +1 -1
- package/dist/mjs/types/Interface/api/checklist/Read.d.ts +1 -0
- package/dist/mjs/types/Interface/api/checklist/Read.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/checklist/Read.js.map +1 -1
- package/dist/mjs/types/Interface/api/commercialManagement/Create.d.ts +15 -0
- package/dist/mjs/types/Interface/api/commercialManagement/Create.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/commercialManagement/Create.js +79 -1
- package/dist/mjs/types/Interface/api/commercialManagement/Create.js.map +1 -1
- package/dist/mjs/types/Interface/api/commercialManagement/Read.d.ts +4 -0
- package/dist/mjs/types/Interface/api/commercialManagement/Read.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/commercialManagement/Read.js.map +1 -1
- package/dist/mjs/types/Interface/api/config/ConfigType.d.ts +282 -0
- package/dist/mjs/types/Interface/api/config/ConfigType.d.ts.map +1 -0
- package/dist/mjs/types/Interface/api/config/ConfigType.js +2 -0
- package/dist/mjs/types/Interface/api/config/ConfigType.js.map +1 -0
- package/dist/mjs/types/Interface/api/crisp/GetCrisp.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/crisp/GetCrisp.js.map +1 -1
- package/dist/mjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js +3 -1
- package/dist/mjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js.map +1 -1
- package/dist/mjs/types/Interface/api/journal/Journals.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/journal/Journals.js.map +1 -1
- package/dist/mjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js +3 -1
- package/dist/mjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js.map +1 -1
- package/dist/mjs/types/Interface/api/notion/NotionResponse.d.ts +4 -4
- package/dist/mjs/types/Interface/api/notion/NotionResponse.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/notion/NotionResponse.js.map +1 -1
- package/dist/mjs/types/Interface/api/pappers/QueryPappers.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/pappers/QueryPappers.js +3 -0
- package/dist/mjs/types/Interface/api/pappers/QueryPappers.js.map +1 -1
- package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js +4 -1
- package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js.map +1 -1
- package/dist/mjs/types/Interface/api/promoCode/ReadDefaultPromotion.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/promoCode/ReadDefaultPromotion.js.map +1 -1
- package/dist/mjs/types/Interface/api/registration/CreateRegistration.d.ts +2 -0
- package/dist/mjs/types/Interface/api/registration/CreateRegistration.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/registration/CreateRegistration.js.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/ShopifyFinancialStatus.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/ShopifyFinancialStatus.js.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/ShopifyOrder.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/ShopifyOrder.js.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/discount_code.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/discount_code.js.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/shipping_line.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/shipping_line.js.map +1 -1
- package/dist/mjs/types/Interface/models/IBalanceSheetQuestion.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IBalanceSheetQuestion.js.map +1 -1
- package/dist/mjs/types/Interface/models/IFecFile.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IFecFile.js.map +1 -1
- package/dist/mjs/types/Interface/models/IRegistration.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IRegistration.js.map +1 -1
- package/dist/mjs/types/Interface/models/ISaleEmail.d.ts +15 -0
- package/dist/mjs/types/Interface/models/ISaleEmail.d.ts.map +1 -0
- package/dist/mjs/types/Interface/models/ISaleEmail.js +2 -0
- package/dist/mjs/types/Interface/models/ISaleEmail.js.map +1 -0
- package/dist/mjs/types/Interface/models/IUser.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IUser.js.map +1 -1
- package/dist/mjs/types/index.d.ts +2 -0
- package/dist/mjs/types/index.d.ts.map +1 -1
- package/dist/mjs/types/index.js +2 -0
- package/dist/mjs/types/index.js.map +1 -1
- package/dist/mjs/utils/brands.d.ts.map +1 -1
- package/dist/mjs/utils/brands.js +5 -0
- package/dist/mjs/utils/brands.js.map +1 -1
- package/dist/mjs/utils/checkup.d.ts.map +1 -1
- package/dist/mjs/utils/checkup.js +5 -0
- package/dist/mjs/utils/checkup.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/document.d.ts.map +1 -1
- package/dist/mjs/utils/commercialManagement/document.js +2 -1
- package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/recurrence.js +2 -2
- package/dist/mjs/utils/commercialManagement/recurrence.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/saleEmail.d.ts +10 -0
- package/dist/mjs/utils/commercialManagement/saleEmail.d.ts.map +1 -0
- package/dist/mjs/utils/commercialManagement/saleEmail.js +30 -0
- package/dist/mjs/utils/commercialManagement/saleEmail.js.map +1 -0
- package/dist/mjs/utils/commercialManagement/vat.d.ts.map +1 -1
- package/dist/mjs/utils/commercialManagement/vat.js +1 -0
- package/dist/mjs/utils/commercialManagement/vat.js.map +1 -1
- package/dist/mjs/utils/date.d.ts.map +1 -1
- package/dist/mjs/utils/date.js +9 -0
- package/dist/mjs/utils/date.js.map +1 -1
- package/dist/mjs/utils/decorators.d.ts.map +1 -1
- package/dist/mjs/utils/decorators.js +3 -4
- package/dist/mjs/utils/decorators.js.map +1 -1
- package/dist/mjs/utils/email.d.ts.map +1 -1
- package/dist/mjs/utils/email.js +22 -0
- package/dist/mjs/utils/email.js.map +1 -1
- package/dist/mjs/utils/isUrl.d.ts.map +1 -1
- package/dist/mjs/utils/isUrl.js +1 -2
- package/dist/mjs/utils/isUrl.js.map +1 -1
- package/dist/mjs/utils/noLodash.d.ts.map +1 -1
- package/dist/mjs/utils/noLodash.js +8 -1
- package/dist/mjs/utils/noLodash.js.map +1 -1
- package/dist/mjs/utils/objectUtils/flattenObject.d.ts.map +1 -1
- package/dist/mjs/utils/objectUtils/flattenObject.js +1 -0
- package/dist/mjs/utils/objectUtils/flattenObject.js.map +1 -1
- package/dist/mjs/utils/objectUtils/fullFlattenObject.d.ts.map +1 -1
- package/dist/mjs/utils/objectUtils/fullFlattenObject.js +1 -0
- package/dist/mjs/utils/objectUtils/fullFlattenObject.js.map +1 -1
- package/dist/mjs/utils/objectUtils/unflattenObject.d.ts.map +1 -1
- package/dist/mjs/utils/objectUtils/unflattenObject.js +0 -1
- package/dist/mjs/utils/objectUtils/unflattenObject.js.map +1 -1
- package/dist/mjs/utils/payment.d.ts.map +1 -1
- package/dist/mjs/utils/payment.js +6 -1
- package/dist/mjs/utils/payment.js.map +1 -1
- package/dist/mjs/utils/phone.d.ts.map +1 -1
- package/dist/mjs/utils/phone.js +1 -0
- package/dist/mjs/utils/phone.js.map +1 -1
- package/dist/mjs/utils/quotation.js +1 -1
- package/dist/mjs/utils/quotation.js.map +1 -1
- package/dist/mjs/utils/social.js +0 -1
- package/dist/mjs/utils/social.js.map +1 -1
- package/dist/mjs/utils/statutsGeneration.js +2 -2
- package/dist/mjs/utils/statutsGeneration.js.map +1 -1
- package/dist/mjs/utils/tests/payment.spec.js +15 -15
- package/dist/mjs/utils/tests/payment.spec.js.map +1 -1
- package/dist/mjs/utils/transforms/boolean.transform.d.ts.map +1 -1
- package/dist/mjs/utils/transforms/boolean.transform.js +3 -1
- package/dist/mjs/utils/transforms/boolean.transform.js.map +1 -1
- package/dist/mjs/utils/vat/3310/century23.d.ts.map +1 -1
- package/dist/mjs/utils/vat/3310/century23.js +23 -0
- package/dist/mjs/utils/vat/3310/century23.js.map +1 -1
- package/dist/mjs/utils/vat/3310/century24.d.ts.map +1 -1
- package/dist/mjs/utils/vat/3310/century24.js +23 -0
- package/dist/mjs/utils/vat/3310/century24.js.map +1 -1
- package/dist/mjs/utils/vat/3517/century23.d.ts.map +1 -1
- package/dist/mjs/utils/vat/3517/century23.js +4 -0
- package/dist/mjs/utils/vat/3517/century23.js.map +1 -1
- package/dist/mjs/utils/vat/registration.d.ts.map +1 -1
- package/dist/mjs/utils/vat/registration.js +0 -1
- package/dist/mjs/utils/vat/registration.js.map +1 -1
- package/eslint.config.mjs +47 -0
- package/package.json +7 -10
- package/ts/api/index.ts +9 -2
- package/ts/api/resources/Employee.ts +1 -0
- package/ts/api/resources/RegistrationForm.ts +8 -2
- package/ts/api/resources/Task.ts +1 -0
- package/ts/index.ts +0 -1
- package/ts/types/Enum/Aspone.ts +98 -1
- package/ts/types/Enum/BalanceSheet.ts +1 -1
- package/ts/types/Enum/BalanceSheetQuestion.ts +2 -0
- package/ts/types/Enum/BalanceSheetQuestionWording.ts +1 -0
- package/ts/types/Enum/CerfaType.ts +1 -0
- package/ts/types/Enum/CommercialManagement.ts +143 -1
- package/ts/types/Enum/RevisionGuide.ts +5 -0
- package/ts/types/Enum/Role.ts +1 -0
- package/ts/types/Enum/SalesContractBrandClementine.ts +4 -4
- package/ts/types/Enum/SalesContractBrandPourcentage.ts +7 -7
- package/ts/types/Enum/TransactionKind.ts +1 -0
- package/ts/types/Enum/TransactionStatus.ts +1 -0
- package/ts/types/Enum/TypePayment.ts +1 -0
- package/ts/types/Interface/api/accountingFiles/Ocr.ts +1 -0
- package/ts/types/Interface/api/cerfa/2573.ts +88 -0
- package/ts/types/Interface/api/cerfa/CreateCerfa.ts +1 -0
- package/ts/types/Interface/api/cerfa/ReadCerfa.ts +2 -0
- package/ts/types/Interface/api/checklist/Read.ts +1 -0
- package/ts/types/Interface/api/commercialManagement/Create.ts +58 -2
- package/ts/types/Interface/api/commercialManagement/Read.ts +5 -0
- package/ts/types/Interface/api/config/ConfigType.ts +325 -0
- package/ts/types/Interface/api/crisp/GetCrisp.ts +2 -0
- package/ts/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.ts +1 -0
- package/ts/types/Interface/api/journal/Journals.ts +0 -1
- package/ts/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.ts +1 -0
- package/ts/types/Interface/api/notion/NotionResponse.ts +2 -4
- package/ts/types/Interface/api/pappers/QueryPappers.ts +9 -0
- package/ts/types/Interface/api/promoCode/CreateDefaultPromoCode.ts +1 -0
- package/ts/types/Interface/api/promoCode/ReadDefaultPromotion.ts +1 -0
- package/ts/types/Interface/api/registration/CreateRegistration.ts +2 -0
- package/ts/types/Interface/api/shopify/ShopifyFinancialStatus.ts +1 -0
- package/ts/types/Interface/api/shopify/ShopifyOrder.ts +2 -0
- package/ts/types/Interface/api/shopify/discount_code.ts +1 -0
- package/ts/types/Interface/api/shopify/shipping_line.ts +2 -0
- package/ts/types/Interface/models/IBalanceSheetQuestion.ts +1 -0
- package/ts/types/Interface/models/IFecFile.ts +1 -0
- package/ts/types/Interface/models/IRegistration.ts +1 -0
- package/ts/types/Interface/models/ISaleEmail.ts +18 -0
- package/ts/types/Interface/models/IUser.ts +1 -0
- package/ts/types/index.ts +2 -0
- package/ts/utils/brands.ts +5 -0
- package/ts/utils/checkup.ts +5 -0
- package/ts/utils/commercialManagement/document.ts +3 -2
- package/ts/utils/commercialManagement/recurrence.ts +2 -2
- package/ts/utils/commercialManagement/saleEmail.ts +43 -0
- package/ts/utils/commercialManagement/vat.ts +1 -0
- package/ts/utils/date.ts +9 -0
- package/ts/utils/decorators.ts +5 -4
- package/ts/utils/email.ts +22 -1
- package/ts/utils/isUrl.ts +1 -2
- package/ts/utils/noLodash.ts +7 -1
- package/ts/utils/objectUtils/flattenObject.ts +1 -0
- package/ts/utils/objectUtils/fullFlattenObject.ts +1 -0
- package/ts/utils/objectUtils/unflattenObject.ts +0 -1
- package/ts/utils/payment.ts +8 -3
- package/ts/utils/phone.ts +1 -0
- package/ts/utils/quotation.ts +1 -1
- package/ts/utils/social.ts +1 -1
- package/ts/utils/statutsGeneration.ts +4 -4
- package/ts/utils/tests/payment.spec.ts +15 -15
- package/ts/utils/transforms/boolean.transform.ts +1 -0
- package/ts/utils/vat/3310/century23.ts +24 -0
- package/ts/utils/vat/3310/century24.ts +23 -0
- package/ts/utils/vat/3517/century23.ts +4 -0
- package/ts/utils/vat/registration.ts +0 -1
- package/tsconfig-base.json +1 -2
|
@@ -6,6 +6,7 @@ export function getAmount(amount, vatValue) {
|
|
|
6
6
|
return _amount * (vatValue / 100);
|
|
7
7
|
}
|
|
8
8
|
export function getById(id) {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
9
10
|
return Object.values(Vat).find((vat) => vat.id === id);
|
|
10
11
|
}
|
|
11
12
|
export function vatToReadVatEditing(products) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vat.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/vat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,GAAG,EAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAG3D,MAAM,UAAU,SAAS,CAAC,MAAqB,EAAE,QAAgB;IAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC;IAC5B,OAAO,OAAO,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAA8B;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO;QACL,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,IAAI,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAC1F,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC;QACjC,aAAa,EAAE,8BAA8B,CAAC,MAAM,CAAC,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,8BAA8B,CAAC,CAAC,MAAM,CAAC,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,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACjK,KAAK,EAAE,CAAC,MAAM,CAAC,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,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;QACvH,IAAI,EAAE,MAAM,CAAC,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
|
+
{"version":3,"file":"vat.js","sourceRoot":"","sources":["../../../../ts/utils/commercialManagement/vat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,GAAG,EAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAG3D,MAAM,UAAU,SAAS,CAAC,MAAqB,EAAE,QAAgB;IAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC;IAC5B,OAAO,OAAO,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,+DAA+D;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAA8B;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO;QACL,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,IAAI,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAC1F,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC;QACjC,aAAa,EAAE,8BAA8B,CAAC,MAAM,CAAC,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,8BAA8B,CAAC,CAAC,MAAM,CAAC,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,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACjK,KAAK,EAAE,CAAC,MAAM,CAAC,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,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;QACvH,IAAI,EAAE,MAAM,CAAC,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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../ts/utils/date.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,YAAY,EAAE,YAAY,EAC3B,MAAM,UAAU,CAAC;AAMlB,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,EAAC,YAAY,EAAE,GAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../ts/utils/date.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,YAAY,EAAE,YAAY,EAC3B,MAAM,UAAU,CAAC;AAMlB,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,EAAC,YAAY,EAAE,GAAE,YAAY,CAgElH;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAC,IAAI,GAAE,MAAM,CA0BjE"}
|
package/dist/mjs/utils/date.js
CHANGED
|
@@ -10,9 +10,12 @@ export function putIntervalBetweenOtherInterval(customPayload, listHours) {
|
|
|
10
10
|
const hoursObject = listHours;
|
|
11
11
|
const textDate = `${new Date(dateToCompareStart).getFullYear()}-${new Date(dateToCompareStart).getMonth() + 1}-${new Date(dateToCompareStart).getDate()}`;
|
|
12
12
|
// on cherche la bonne specialhour pour comparer les horaires
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
13
14
|
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)));
|
|
14
15
|
if (hoursOfPeriod?.length > 0 && hoursOfPeriod[0].startTime && hoursOfPeriod[0].endTime) {
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
15
17
|
const dateStart = new Date(`${textDate} ${hoursOfPeriod[0].startTime}`).getTime();
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
16
19
|
const dateEnd = new Date(`${textDate} ${hoursOfPeriod[0].endTime}`).getTime();
|
|
17
20
|
// 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é
|
|
18
21
|
res.dateStart = !((dateToCompareStart - dateStart) >= 0 && (dateToCompareStart - dateEnd) <= 0) ? new Date(dateStart) : new Date(dateToCompareStart);
|
|
@@ -27,6 +30,7 @@ export function putIntervalBetweenOtherInterval(customPayload, listHours) {
|
|
|
27
30
|
id: i,
|
|
28
31
|
start: true,
|
|
29
32
|
end: false,
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
30
34
|
diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].startTime}`).getTime()),
|
|
31
35
|
});
|
|
32
36
|
// ajout de la différence entre la date de début de notre événement et la date de fin de notre période
|
|
@@ -34,6 +38,7 @@ export function putIntervalBetweenOtherInterval(customPayload, listHours) {
|
|
|
34
38
|
id: i,
|
|
35
39
|
start: false,
|
|
36
40
|
end: true,
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
37
42
|
diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].endTime}`).getTime()),
|
|
38
43
|
});
|
|
39
44
|
}
|
|
@@ -43,14 +48,18 @@ export function putIntervalBetweenOtherInterval(customPayload, listHours) {
|
|
|
43
48
|
// date de début event = date de début période
|
|
44
49
|
// date de fin event = date de début période + 1 heure
|
|
45
50
|
if (hoursDiff[0].start) {
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
46
52
|
res.dateStart = new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`);
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
47
54
|
res.dateEnd = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`).getTime() + 3600000);
|
|
48
55
|
// si proche de la date de fin :
|
|
49
56
|
// date de début event = date de fin période - 1 heure
|
|
50
57
|
// date de fin event = date de fin période
|
|
51
58
|
}
|
|
52
59
|
else if (hoursDiff[0].end) {
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
53
61
|
res.dateStart = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`).getTime() - 3600000);
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
54
63
|
res.dateEnd = new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`);
|
|
55
64
|
}
|
|
56
65
|
}
|
|
@@ -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 // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\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 // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n const dateStart = new Date(`${textDate} ${hoursOfPeriod[0].startTime}`).getTime();\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\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 // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\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 // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\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 // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n res.dateStart = new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`);\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\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 // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n res.dateStart = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`).getTime() - 3600000);\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../ts/utils/decorators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../ts/utils/decorators.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,mBAAmB,KAA4D,CAAC;AAC7F,eAAO,MAAM,WAAW,KAAoD,CAAC;;;;;AAG7E,wBAAoD"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
1
3
|
import { isNode } from 'browser-or-node';
|
|
2
4
|
var Library;
|
|
3
5
|
(function (Library) {
|
|
4
6
|
Library["SWAGGER"] = "node_modules/@nestjs/swagger/index.js";
|
|
5
7
|
Library["CLASS_TRANSFORMER"] = "node_modules/class-transformer/cjs/index.js";
|
|
6
8
|
})(Library || (Library = {}));
|
|
7
|
-
// eslint-disable-next-line global-require
|
|
8
9
|
const retrieveDecorator = (library, name) => {
|
|
9
10
|
if (!isNode) {
|
|
10
11
|
return (target, key) => { };
|
|
11
12
|
}
|
|
12
13
|
try {
|
|
13
|
-
// eslint-disable-next-line global-require
|
|
14
14
|
const path = require('path');
|
|
15
|
-
// eslint-disable-next-line global-require,import/no-dynamic-require
|
|
16
15
|
return require(path.resolve(process.cwd(), library))[name];
|
|
17
16
|
}
|
|
18
|
-
catch
|
|
17
|
+
catch {
|
|
19
18
|
return (target, key) => { };
|
|
20
19
|
}
|
|
21
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../ts/utils/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,IAAK,OAGJ;AAHD,WAAK,OAAO;IACV,4DAAiD,CAAA;IACjD,4EAAiE,CAAA;AACnE,CAAC,EAHI,OAAO,KAAP,OAAO,QAGX;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../ts/utils/decorators.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,wDAAwD;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,IAAK,OAGJ;AAHD,WAAK,OAAO;IACV,4DAAiD,CAAA;IACjD,4EAAiE,CAAA;AACnE,CAAC,EAHI,OAAO,KAAP,OAAO,QAGX;AAGD,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,IAAoD,EAAE,EAAE;IACnG,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,MAAW,EAAE,GAAW,EAAE,EAAE,GAAE,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC;QAEH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAO,CAAC;QACR,OAAO,CAAC,MAAW,EAAE,GAAW,EAAE,EAAE,GAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC7E,4EAA4E;AAE5E,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-require-imports */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { isNode } from 'browser-or-node';\n\nenum Library {\n SWAGGER = 'node_modules/@nestjs/swagger/index.js',\n CLASS_TRANSFORMER = 'node_modules/class-transformer/cjs/index.js',\n}\n\n \nconst retrieveDecorator = (library: Library, name: 'ApiPropertyOptional' | 'ApiProperty' | 'Type') => {\n if (!isNode) {\n return (target: any, key: string) => {};\n }\n try {\n \n const path = require('path');\n return require(path.resolve(process.cwd(), library))[name];\n } catch {\n return (target: any, key: string) => {};\n }\n};\nexport const ApiPropertyOptional = retrieveDecorator(Library.SWAGGER, 'ApiPropertyOptional');\nexport const ApiProperty = retrieveDecorator(Library.SWAGGER, 'ApiProperty');\n// export const Type = retrieveDecorator(Library.CLASS_TRANSFORMER, 'Type');\n\nexport default { ApiPropertyOptional, ApiProperty };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../ts/utils/email.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../ts/utils/email.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAqFxD,wBAAgB,WAAW,CAAC,IAAI,EAAC,KAAK,2EA4CrC;AAyBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAmLrD"}
|
package/dist/mjs/utils/email.js
CHANGED
|
@@ -6,24 +6,41 @@ import { TimeSlot } from '../types/Enum/TimeSlot';
|
|
|
6
6
|
import { getBrandConfig, isItThisEnv } from './brands';
|
|
7
7
|
import { signatureTemplate } from './email/templates/signature';
|
|
8
8
|
import { intersection } from './noLodash';
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
9
10
|
const ejs = require('ejs');
|
|
10
11
|
function getRoleSignature(user) {
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
11
13
|
if (user.positionLabel)
|
|
12
14
|
return user.positionLabel;
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
13
16
|
const isStagiaireOrAlternant = user.roles.map((r) => r.id).includes(Role.INTERN) || user.roles.map((r) => r.id).includes(Role.ALTERNATE);
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
14
18
|
const isManager = user.roles.map((r) => r.id).includes(Role.MANAGER);
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
15
20
|
const isSocial = user.roles.map((r) => r.id).includes(Role.SOCIAL);
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
16
22
|
const isJuridic = user.roles.map((r) => r.id).includes(Role.JURIDIC);
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
17
24
|
const isFacturation = user.roles.map((r) => r.id).includes(Role.FACTURATION);
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
18
26
|
const isExpert = user.roles.map((r) => r.id).includes(Role.EXPERT_ACCOUNTANT);
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
19
28
|
const isCS = user.roles.map((r) => r.id).includes(Role.CUSTOMER_SUCCESS);
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
20
30
|
const isOnBoarder = user.roles.map((r) => r.id).includes(Role.ON_BOARDER);
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
21
32
|
const isTermination = user.roles.map((r) => r.id).includes(Role.TERMINATION);
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
22
34
|
const isLitige = user.roles.map((r) => r.id).includes(Role.LITIGE);
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
23
36
|
const isDataOfficer = user.roles.map((r) => r.id).includes(Role.DATA_OFFICER);
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
24
38
|
const isSales = user.roles.map((r) => r.id).includes(Role.COMMERCIAL);
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
25
40
|
const isAdmin = user.roles.map((r) => r.id).includes(Role.ADMIN);
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
26
42
|
const isTechnicalAdvisor = user.roles.map((r) => r.id).includes(Role.TECHNICAL_ADVISOR);
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
27
44
|
const isFront = !!intersection(user.roles.map((r) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]).length;
|
|
28
45
|
if (isSales && isManager) {
|
|
29
46
|
return 'Responsable commercial';
|
|
@@ -151,14 +168,17 @@ function getMailSignature(user, idTypeBrand) {
|
|
|
151
168
|
...(idTypeBrand ? { idTypeBrand } : {}),
|
|
152
169
|
objectWaited: 'listMails.bonjour',
|
|
153
170
|
});
|
|
171
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
154
172
|
if (user.roles.map((r) => r.id).includes(Role.ADMIN)) {
|
|
155
173
|
return informatiqueMail;
|
|
156
174
|
}
|
|
175
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
157
176
|
if (user && !!intersection(user.roles.map((r) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR]).length)
|
|
158
177
|
return user.email;
|
|
159
178
|
return bonjourMail;
|
|
160
179
|
}
|
|
161
180
|
function getPhoneSignature(user) {
|
|
181
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
162
182
|
if (user.phone !== '0383931414') {
|
|
163
183
|
return user.phone.replace(/\B(?=(\d{2})+(?!\d))/g, ' ');
|
|
164
184
|
}
|
|
@@ -247,6 +267,7 @@ export function generateSignature(params) {
|
|
|
247
267
|
};
|
|
248
268
|
mailSignature = dataOfficerMail;
|
|
249
269
|
roleSignature = '';
|
|
270
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
250
271
|
}
|
|
251
272
|
else if (intersection((user?.roles ?? []).map((r) => r.id), [Role.FRONT_OFFICE, Role.SENIOR]).length === 2) { // Signature front senior
|
|
252
273
|
user = {
|
|
@@ -320,6 +341,7 @@ export function generateSignature(params) {
|
|
|
320
341
|
const urlApp = getBrandConfig({ objectWaited: 'urlApp' });
|
|
321
342
|
user.calendlyUrl = `${urlApp}/appointment?uuid=${society?.externalId ? society.externalId : ''}&idType=${idType}`;
|
|
322
343
|
}
|
|
344
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
323
345
|
return ejs.render(signatureTemplate, {
|
|
324
346
|
forceRole,
|
|
325
347
|
isFacturation: user.roles ? user.roles.some((r) => r.id === Role.FACTURATION) : false,
|
|
@@ -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, ' '); }\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, ' ') : null,\n standardPhoneSignature: standardPhoneSignature.replace(/\\s+/gm, ' '),\n horaires,\n primaryColor,\n supportMail,\n });\n}"]}
|
|
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\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst ejs = require('ejs');\n\nfunction getRoleSignature(user:any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.positionLabel) return user.positionLabel;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isStagiaireOrAlternant = user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n// eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isTermination = user.roles.map((r: any) => r.id).includes(Role.TERMINATION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isLitige = user.roles.map((r: any) => r.id).includes(Role.LITIGE);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isTechnicalAdvisor = user.roles.map((r: any) => r.id).includes(Role.TECHNICAL_ADVISOR);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) { return informatiqueMail; }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.phone !== '0383931414') { return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ' '); }\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\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, ' ') : null,\n standardPhoneSignature: standardPhoneSignature.replace(/\\s+/gm, ' '),\n horaires,\n primaryColor,\n supportMail,\n });\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isUrl.d.ts","sourceRoot":"","sources":["../../../ts/utils/isUrl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"isUrl.d.ts","sourceRoot":"","sources":["../../../ts/utils/isUrl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAO5C"}
|
package/dist/mjs/utils/isUrl.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isUrl.js","sourceRoot":"","sources":["../../../ts/utils/isUrl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"isUrl.js","sourceRoot":"","sources":["../../../ts/utils/isUrl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,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 new URL(value);\n return true;\n } catch {\n return false;\n }\n}"]}
|
|
@@ -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;
|
|
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;AAGD,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,EAWnD,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,UAG/C,GAAG,MAAM,GAAG,QAEzB,CAAC;AAGF,eAAO,MAAM,UAAU,QAAS,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,UAGlD,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,CAWvC"}
|
|
@@ -18,10 +18,12 @@ export function intersection(arr1, arr2) {
|
|
|
18
18
|
// Utilisation de l'opérateur spread (...) pour convertir le Set en tableau
|
|
19
19
|
return [...set1].filter((element) => set2.has(element));
|
|
20
20
|
}
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
21
22
|
export const difference = (arr1, arr2) => arr1.filter((x) => !arr2.includes(x));
|
|
22
23
|
export const uniqBy = (arr, key) => {
|
|
23
24
|
return Object.values(arr.reduce((map, item) => ({
|
|
24
25
|
...map,
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-base-to-string
|
|
25
27
|
[`${item[key]}`]: item,
|
|
26
28
|
}), {}));
|
|
27
29
|
};
|
|
@@ -32,6 +34,7 @@ export const sumBy = (list, key) => {
|
|
|
32
34
|
export const sortBy = (key, cb) => {
|
|
33
35
|
if (!cb)
|
|
34
36
|
cb = () => 0;
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
35
38
|
return (a, b) => (a[key] > b[key]) ? 1
|
|
36
39
|
: ((b[key] > a[key]) ? -1 : cb(a, b));
|
|
37
40
|
};
|
|
@@ -39,6 +42,7 @@ export const sortBy = (key, cb) => {
|
|
|
39
42
|
export const sortByDesc = (key, cb) => {
|
|
40
43
|
if (!cb)
|
|
41
44
|
cb = () => 0;
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
42
46
|
return (b, a) => (a[key] > b[key]) ? 1
|
|
43
47
|
: ((b[key] > a[key]) ? -1 : cb(b, a));
|
|
44
48
|
};
|
|
@@ -65,7 +69,10 @@ export function getValue(data, path, defaultValue) {
|
|
|
65
69
|
const value = path
|
|
66
70
|
.split(/[.[\]]/)
|
|
67
71
|
.filter(Boolean)
|
|
68
|
-
.reduce(
|
|
72
|
+
.reduce(
|
|
73
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
74
|
+
(v, key) => v?.[key], data);
|
|
75
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
69
76
|
return value !== undefined ? value : defaultValue;
|
|
70
77
|
}
|
|
71
78
|
//# sourceMappingURL=noLodash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noLodash.js","sourceRoot":"","sources":["../../../ts/utils/noLodash.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"noLodash.js","sourceRoot":"","sources":["../../../ts/utils/noLodash.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAI,GAAQ,EAAE,EAAoB;IACvD,OAAO,GAAG,CAAC,MAAM,CAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACpD,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAI,IAAS,EAAE,IAAS;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAE3B,2EAA2E;IAC3E,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAW,EAAE,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,GAAQ,EAAE,GAAY,EAAO,EAAE;IACvD,OAAO,MAAM,CAAC,MAAM,CAClB,GAAG,CAAC,MAAM,CACR,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,GAAG,GAAG;QACN,kHAAkH;QAClH,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI;KACvB,CAAC,EACF,EAAE,CACH,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,IAAiE,EACjE,GAAM,EACN,EAAE;IACF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,cAAc;AACd,MAAM,CAAC,MAAM,MAAM,GAAI,CAAC,GAAQ,EAAE,EAA2B,EAAE,EAAE;IAC/D,IAAI,CAAC,EAAE;QAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IACtB,+DAA+D;IAC/D,OAAO,CAAC,CAAO,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,cAAc;AACd,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,EAA2B,EAAE,EAAE;IAClE,IAAI,CAAC,EAAE;QAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IACtB,+DAA+D;IAC/D,OAAO,CAAC,CAAO,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,cAAc;AACd,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAW,EAAE,MAAa,EAAE,EAAE;IACpD,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IACjB,IAAI,CAAC,OAAO,EAAE,CAAC;IACf,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnB,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,GAAG,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAWF,MAAM,UAAU,QAAQ,CAKtB,IAAW,EACX,IAAW,EACX,YAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI;SACf,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,OAAO,CAAC;SACf,MAAM;IACP,+DAA+D;IAC/D,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAE,CAAS,EAAE,CAAC,GAAG,CAAC,EAC7B,IAAW,CACZ,CAAC;IACF,+DAA+D;IAC/D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,YAAoB,CAAC;AAC7D,CAAC","sourcesContent":["export function groupBy<T>(arr: T[], fn: (item: T) => any) {\n return arr.reduce<Record<string, T[]>>((prev, curr) => {\n const groupKey = fn(curr);\n const group = prev[groupKey] || [];\n group.push(curr);\n return { ...prev, [groupKey]: group };\n }, {});\n}\n\n/**\n * Compare 2 arrays of elements and returns an array of common elements\n * @param arr1 first array to compare\n * @param arr2 second array to compare\n * @returns an array which contains commun elements between 2 arrays\n */\nexport function intersection<T>(arr1: T[], arr2: T[]): T[] {\n const set1 = new Set(arr1);\n const set2 = new Set(arr2);\n\n // Utilisation de l'opérateur spread (...) pour convertir le Set en tableau\n return [...set1].filter((element) => set2.has(element));\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-return\nexport const difference = (arr1: any[], arr2: any[]) => arr1.filter((x) => !arr2.includes(x));\n\nexport const uniqBy = <T>(arr: T[], key: keyof T): T[] => {\n return Object.values(\n arr.reduce(\n (map, item) => ({\n ...map,\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-base-to-string\n [`${item[key]}`]: item,\n }),\n {},\n ),\n );\n};\n\nexport const sumBy = <T extends PropertyKey>(\n list: ({ [K in T]: number } & { [K in PropertyKey]?: unknown })[],\n key: T,\n) => {\n return list.reduce((sum, item) => sum + item[key], 0);\n};\n\n// À contrôler\nexport const sortBy = (key: any, cb: (a: any, b: any) => any) => {\n if (!cb) cb = () => 0;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return (a?: any, b?: any) => (a[key] > b[key]) ? 1\n : ((b[key] > a[key]) ? -1 : cb(a, b));\n};\n \n// À contrôler\nexport const sortByDesc = (key: any, cb: (a: any, b: any) => any) => {\n if (!cb) cb = () => 0;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return (b?: any, a?: any) => (a[key] > b[key]) ? 1\n : ((b[key] > a[key]) ? -1 : cb(b, a));\n};\n \n// À contrôler\nexport const orderBy = (keys: any[], orders: any[]) => {\n let cb = () => 0;\n keys.reverse();\n orders.reverse();\n for (const [i, key] of keys.entries()) {\n const order = orders[i];\n if (order == 'asc') {\n cb = sortBy(key, cb);\n } else if (order == 'desc') {\n cb = sortByDesc(key, cb);\n } else {\n throw new Error(`Unsupported order \"${order}\"`);\n }\n }\n return cb;\n};\n\n// _.get() replacement\nexport type GetFieldType<Obj, Path> =\n Path extends `${infer Left}.${infer Right}`\n ? Left extends keyof Obj\n ? GetFieldType<Obj[Left], Right>\n : undefined\n : Path extends keyof Obj\n ? Obj[Path]\n : undefined;\nexport function getValue<\n TData,\n TPath extends string,\n TDefault = GetFieldType<TData, TPath>,\n>(\n data: TData,\n path: TPath,\n defaultValue?: TDefault,\n): GetFieldType<TData, TPath> | TDefault {\n const value = path\n .split(/[.[\\]]/)\n .filter(Boolean)\n .reduce<GetFieldType<TData, TPath>>(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n (v, key) => (v as any)?.[key],\n data as any,\n );\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return value !== undefined ? value : (defaultValue as any);\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/flattenObject.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,SAAM,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"flattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/flattenObject.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,SAAM,GAAG,GAAG,CAO/D"}
|
|
@@ -8,6 +8,7 @@ import { isValidObject } from './isValidObject';
|
|
|
8
8
|
* @param separator the string used to separate paths in keys
|
|
9
9
|
*/
|
|
10
10
|
export function flattenObject(object, separator = '.') {
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
11
12
|
const walker = (child, path = []) => Object.assign({}, ...Object.keys(child).map((key) => (isValidObject(child[key])
|
|
12
13
|
? walker(child[key], path.concat([key]))
|
|
13
14
|
: { [path.concat([key]).join(separator)]: child[key] })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/flattenObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAW,EAAE,SAAS,GAAG,GAAG;IACxD,MAAM,MAAM,GAAG,CAAC,KAA6B,EAAE,OAAsB,EAAE,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9J,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["import { isValidObject } from './isValidObject';\n\n/**\n * Flattens an object to a one-level deep Object.\n *\n * The keys of the newly created object correspond to the original \"path\" in the `object`.\n * Can be unflattened using the [[ unflattenObject ]] function.\n * @param object the object to flatten\n * @param separator the string used to separate paths in keys\n */\nexport function flattenObject(object: any, separator = '.'): any {\n const walker = (child: { [key: string]: any }, path: Array<string> = []): any => Object.assign({}, ...Object.keys(child).map((key) => (isValidObject(child[key])\n ? walker(child[key], path.concat([key]))\n : { [path.concat([key]).join(separator)]: child[key] })));\n\n return { ...walker(object) };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"flattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/flattenObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAW,EAAE,SAAS,GAAG,GAAG;IACxD,+DAA+D;IAC/D,MAAM,MAAM,GAAG,CAAC,KAA6B,EAAE,OAAsB,EAAE,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9J,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["import { isValidObject } from './isValidObject';\n\n/**\n * Flattens an object to a one-level deep Object.\n *\n * The keys of the newly created object correspond to the original \"path\" in the `object`.\n * Can be unflattened using the [[ unflattenObject ]] function.\n * @param object the object to flatten\n * @param separator the string used to separate paths in keys\n */\nexport function flattenObject(object: any, separator = '.'): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const walker = (child: { [key: string]: any }, path: Array<string> = []): any => Object.assign({}, ...Object.keys(child).map((key) => (isValidObject(child[key])\n ? walker(child[key], path.concat([key]))\n : { [path.concat([key]).join(separator)]: child[key] })));\n\n return { ...walker(object) };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullFlattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/fullFlattenObject.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"fullFlattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/fullFlattenObject.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAMlD"}
|
|
@@ -4,6 +4,7 @@ import { isValidObject } from './isValidObject';
|
|
|
4
4
|
* @param object the object to full flatten
|
|
5
5
|
*/
|
|
6
6
|
export function fullFlattenObject(object) {
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
7
8
|
const walker = (child) => Object.assign({}, ...Object.keys(child).map((key) => (isValidObject(child[key])
|
|
8
9
|
? walker(child[key]) : { [key]: child[key] })));
|
|
9
10
|
return { ...walker(object) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullFlattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/fullFlattenObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAW;IAC3C,MAAM,MAAM,GAAG,CAAC,KAA6B,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5I,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAElD,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["import { isValidObject } from './isValidObject';\n\n/**\n * Like flattenObject, but instead of keeping the path in the new key, replace it.\n * @param object the object to full flatten\n */\nexport function fullFlattenObject(object: any): any {\n const walker = (child: { [key: string]: any }): any => Object.assign({}, ...Object.keys(child).map((key: string) => (isValidObject(child[key])\n ? walker(child[key]) : { [key]: child[key] })));\n\n return { ...walker(object) };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"fullFlattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/fullFlattenObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAW;IAC3C,+DAA+D;IAC/D,MAAM,MAAM,GAAG,CAAC,KAA6B,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5I,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAElD,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["import { isValidObject } from './isValidObject';\n\n/**\n * Like flattenObject, but instead of keeping the path in the new key, replace it.\n * @param object the object to full flatten\n */\nexport function fullFlattenObject(object: any): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const walker = (child: { [key: string]: any }): any => Object.assign({}, ...Object.keys(child).map((key: string) => (isValidObject(child[key])\n ? walker(child[key]) : { [key]: child[key] })));\n\n return { ...walker(object) };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unflattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/unflattenObject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unflattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/unflattenObject.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,SAAS,SAAM,GAAG,GAAG,CAUpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unflattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/unflattenObject.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"unflattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/unflattenObject.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAA8B,EAAE,SAAS,GAAG,GAAG;IAC7E,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAyB,EAAE,CAAS,EAAE,CAAS,EAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9G,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/**\n * Unflattens a flattened `object`.\n * @param object the flattened object with \"pathed\" keys.\n * @param separator the string on which to separate paths in keys\n */\nexport function unflattenObject(object: { [key: string]: any }, separator = '.'): any {\n const result = {};\n for (const i in object) {\n const keys = i.split(separator);\n keys.reduce((r: { [key: string]: any }, e: string, j: number): any => r[e] || (r[e] = isNaN(Number(keys[j + 1]))\n ? (keys.length - 1 == j ? object[i] : {})\n : []), result);\n }\n\n return result;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAA0B,MAAM,UAAU,CAAC;AAK5H,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,QAAQ,EAAE,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,aAAc,QAAQ,EAAE,UAAS,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KAA2D,gBAAgB,EAoCrM,CAAC;AAoBF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,qBAAqB,WAAY,qBAAqB,KAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAA0B,MAAM,UAAU,CAAC;AAK5H,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,QAAQ,EAAE,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,aAAc,QAAQ,EAAE,UAAS,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KAA2D,gBAAgB,EAoCrM,CAAC;AAoBF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,qBAAqB,WAAY,qBAAqB,KAAE,WAAW,EAwRxE,CAAC;AAEF,OAAO,EACL,0BAA0B,EAAE,qBAAqB,GAClD,CAAC"}
|