@silexpert/core 1.0.11 → 1.0.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAuB,MAAM,qDAAqD,CAAC;AAE1H,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAI3E,wBAAgB,0BAA0B,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,8BAA8B,CAmD7K;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,GAAG,8BAA8B,CAyCtG"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,8BAA8B,EAAuB,MAAM,qDAAqD,CAAC;AAE1H,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAS3E,wBAAgB,0BAA0B,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,8BAA8B,CAmD7K;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,GAAG,8BAA8B,CAyCtG"}
@@ -8,7 +8,11 @@ import { CommercialDocumentCommonHTML } from './templates/common';
8
8
  import { bodyTemplate } from './templates/body';
9
9
  import { productToReadProductEditing } from './product';
10
10
  import { vatToReadVatEditing } from './vat';
11
- const ejs = require('ejs');
11
+ let ejs = null;
12
+ if (process.version) {
13
+ // eslint-disable-next-line global-require
14
+ ejs = require('ejs');
15
+ }
12
16
  export function generateCommercialDocument(idEstimateInvoiceType, payload) {
13
17
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
14
18
  const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));
@@ -49,9 +53,9 @@ export function generateAdvanceDocument(payload) {
49
53
  marginVats: _uniq(((_h = payload.assetMarginVatIds) !== null && _h !== void 0 ? _h : []).map((m) => { var _a, _b; return (_b = (_a = VatMarginCategyList.find((c) => c.id === m)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : null; })) });
50
54
  const commonTemplate = new CommercialDocumentCommonHTML();
51
55
  return {
52
- header: ejs.render(commonTemplate.header, data),
53
- body: ejs.render(bodyTemplate, data),
54
- footer: ejs.render(commonTemplate.footer, Object.assign(Object.assign({}, data), { freeText: (_k = (_j = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _j === void 0 ? void 0 : _j.freeInvoiceText) !== null && _k !== void 0 ? _k : null })),
56
+ header: ejs === null || ejs === void 0 ? void 0 : ejs.render(commonTemplate.header, data),
57
+ body: ejs === null || ejs === void 0 ? void 0 : ejs.render(bodyTemplate, data),
58
+ footer: ejs === null || ejs === void 0 ? void 0 : ejs.render(commonTemplate.footer, Object.assign(Object.assign({}, data), { freeText: (_k = (_j = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _j === void 0 ? void 0 : _j.freeInvoiceText) !== null && _k !== void 0 ? _k : null })),
55
59
  data,
56
60
  };
57
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport { fontList, VatMarginCategyList } from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString } from '../amount';\nimport { CommercialDocumentCommonHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport { CreateInvoiceDocument, CreatePreSaleDocument } from '../../types';\n\nconst ejs = require('ejs');\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded'),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.deposit ?? 0)),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),\n // @ts-ignore\n marginVats: _uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n let documentFreeText: string | null | undefined;\n\n // A GERER EN FONCTION DU DOCUMENT\n if ([EstimateInvoiceType.DEVIS, EstimateInvoiceType.BON].includes(idEstimateInvoiceType)) {\n documentFreeText = payload?.settings?.freeEstimateText;\n } else {\n documentFreeText = payload?.settings?.freeInvoiceText;\n }\n //\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, data),\n footer: ejs.render(commonTemplate.footer, { ...data, freeText: documentFreeText ?? null }),\n data,\n };\n}\n\nexport function generateAdvanceDocument(payload: CreateInvoiceDocument): ReadCommercialDocumentTemplate {\n if (!payload.deposit) throw new Error('Aucun acompte défini');\n\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType: EstimateInvoiceType.ACOMPTE,\n phoneContact: payload.settings?.phoneContact ?? null,\n products: [],\n vats: [],\n totalTaxExcluded: payload.deposit,\n totalTaxIncluded: payload.deposit,\n totalTaxAndDiscountIncluded: payload.deposit,\n generalDiscountFormatted: null,\n depositFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxExcludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalVatAmountFormatted: integerToFormattedAmountString(0),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: false,\n disableVat: true,\n // @ts-ignore\n marginVats: _uniq((payload.assetMarginVatIds ?? []).map((m) => VatMarginCategyList.find((c) => c.id === m)?.label ?? null)),\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, data),\n footer: ejs.render(commonTemplate.footer, { ...data, freeText: payload?.settings?.freeInvoiceText ?? null }),\n data,\n };\n}"]}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport { fontList, VatMarginCategyList } from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString } from '../amount';\nimport { CommercialDocumentCommonHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport { CreateInvoiceDocument, CreatePreSaleDocument } from '../../types';\n\nlet ejs: any = null;\n\nif (process.version) {\n // eslint-disable-next-line global-require\n ejs = require('ejs');\n}\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded'),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.deposit ?? 0)),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),\n // @ts-ignore\n marginVats: _uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n let documentFreeText: string | null | undefined;\n\n // A GERER EN FONCTION DU DOCUMENT\n if ([EstimateInvoiceType.DEVIS, EstimateInvoiceType.BON].includes(idEstimateInvoiceType)) {\n documentFreeText = payload?.settings?.freeEstimateText;\n } else {\n documentFreeText = payload?.settings?.freeInvoiceText;\n }\n //\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, data),\n footer: ejs.render(commonTemplate.footer, { ...data, freeText: documentFreeText ?? null }),\n data,\n };\n}\n\nexport function generateAdvanceDocument(payload: CreateInvoiceDocument): ReadCommercialDocumentTemplate {\n if (!payload.deposit) throw new Error('Aucun acompte défini');\n\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType: EstimateInvoiceType.ACOMPTE,\n phoneContact: payload.settings?.phoneContact ?? null,\n products: [],\n vats: [],\n totalTaxExcluded: payload.deposit,\n totalTaxIncluded: payload.deposit,\n totalTaxAndDiscountIncluded: payload.deposit,\n generalDiscountFormatted: null,\n depositFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxExcludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalVatAmountFormatted: integerToFormattedAmountString(0),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: false,\n disableVat: true,\n // @ts-ignore\n marginVats: _uniq((payload.assetMarginVatIds ?? []).map((m) => VatMarginCategyList.find((c) => c.id === m)?.label ?? null)),\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n return {\n header: ejs?.render(commonTemplate.header, data),\n body: ejs?.render(bodyTemplate, data),\n footer: ejs?.render(commonTemplate.footer, { ...data, freeText: payload?.settings?.freeInvoiceText ?? null }),\n data,\n };\n}"]}
@@ -32,7 +32,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
32
32
 
33
33
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
34
34
 
35
- const ejs = require('ejs');
35
+ let ejs = null;
36
+
37
+ if (process.version) {
38
+ // eslint-disable-next-line global-require
39
+ ejs = require('ejs');
40
+ }
36
41
 
37
42
  function generateCommercialDocument(idEstimateInvoiceType, payload) {
38
43
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
@@ -144,9 +149,9 @@ function generateAdvanceDocument(payload) {
144
149
  });
145
150
  const commonTemplate = new _common.CommercialDocumentCommonHTML();
146
151
  return {
147
- header: ejs.render(commonTemplate.header, data),
148
- body: ejs.render(_body.bodyTemplate, data),
149
- footer: ejs.render(commonTemplate.footer, Object.assign(Object.assign({}, data), {
152
+ header: ejs === null || ejs === void 0 ? void 0 : ejs.render(commonTemplate.header, data),
153
+ body: ejs === null || ejs === void 0 ? void 0 : ejs.render(_body.bodyTemplate, data),
154
+ footer: ejs === null || ejs === void 0 ? void 0 : ejs.render(commonTemplate.footer, Object.assign(Object.assign({}, data), {
150
155
  freeText: (_k = (_j = payload === null || payload === void 0 ? void 0 : payload.settings) === null || _j === void 0 ? void 0 : _j.freeInvoiceText) !== null && _k !== void 0 ? _k : null
151
156
  })),
152
157
  data
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","mappings":"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","names":["generateCommercialDocument","generateAdvanceDocument","dayjs","ejs","require","idEstimateInvoiceType","payload","products","map","product","vats","Object","values","v","filter","id","Vat","MARGE","data","paymentLink","_a","phoneContact","settings","_b","_c","totalTaxExcluded","totalTaxIncluded","totalTaxAndDiscountIncluded","generalDiscount2","_d","generalDiscountFormatted","depositFormatted","deposit","totalTaxExcludedFormatted","totalTaxIncludedFormatted","_e","totalTaxAndDiscountIncludedFormatted","_f","_g","totalVatAmountFormatted","font","name","find","f","idFont","_h","_j","fontList","url","_k","link","_l","capitalFormatted","capital","split","reduceRight","acc","char","i","length","trim","dueDateFormatted","dueDate","format","expirationDateFormatted","expirationDate","emissionDateFormatted","emissionDate","shouldDisplayDiscountColumn","p","discount2","marginVats","marginVatFormatted","commonTemplate","CommercialDocumentCommonHTML","documentFreeText","EstimateInvoiceType","DEVIS","BON","includes","_m","freeEstimateText","_o","freeInvoiceText","header","render","body","bodyTemplate","footer","freeText","Error","ACOMPTE","disableVat","assetMarginVatIds","m","c","label"],"sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport { fontList, VatMarginCategyList } from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString } from '../amount';\nimport { CommercialDocumentCommonHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport { CreateInvoiceDocument, CreatePreSaleDocument } from '../../types';\n\nconst ejs = require('ejs');\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded'),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.deposit ?? 0)),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),\n // @ts-ignore\n marginVats: _uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n let documentFreeText: string | null | undefined;\n\n // A GERER EN FONCTION DU DOCUMENT\n if ([EstimateInvoiceType.DEVIS, EstimateInvoiceType.BON].includes(idEstimateInvoiceType)) {\n documentFreeText = payload?.settings?.freeEstimateText;\n } else {\n documentFreeText = payload?.settings?.freeInvoiceText;\n }\n //\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, data),\n footer: ejs.render(commonTemplate.footer, { ...data, freeText: documentFreeText ?? null }),\n data,\n };\n}\n\nexport function generateAdvanceDocument(payload: CreateInvoiceDocument): ReadCommercialDocumentTemplate {\n if (!payload.deposit) throw new Error('Aucun acompte défini');\n\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType: EstimateInvoiceType.ACOMPTE,\n phoneContact: payload.settings?.phoneContact ?? null,\n products: [],\n vats: [],\n totalTaxExcluded: payload.deposit,\n totalTaxIncluded: payload.deposit,\n totalTaxAndDiscountIncluded: payload.deposit,\n generalDiscountFormatted: null,\n depositFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxExcludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalVatAmountFormatted: integerToFormattedAmountString(0),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: false,\n disableVat: true,\n // @ts-ignore\n marginVats: _uniq((payload.assetMarginVatIds ?? []).map((m) => VatMarginCategyList.find((c) => c.id === m)?.label ?? null)),\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, data),\n footer: ejs.render(commonTemplate.footer, { ...data, freeText: payload?.settings?.freeInvoiceText ?? null }),\n data,\n };\n}"]}
1
+ {"version":3,"file":"document.js","mappings":"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","names":["generateCommercialDocument","generateAdvanceDocument","dayjs","ejs","process","version","require","idEstimateInvoiceType","payload","products","map","product","vats","Object","values","v","filter","id","Vat","MARGE","data","paymentLink","_a","phoneContact","settings","_b","_c","totalTaxExcluded","totalTaxIncluded","totalTaxAndDiscountIncluded","generalDiscount2","_d","generalDiscountFormatted","depositFormatted","deposit","totalTaxExcludedFormatted","totalTaxIncludedFormatted","_e","totalTaxAndDiscountIncludedFormatted","_f","_g","totalVatAmountFormatted","font","name","find","f","idFont","_h","_j","fontList","url","_k","link","_l","capitalFormatted","capital","split","reduceRight","acc","char","i","length","trim","dueDateFormatted","dueDate","format","expirationDateFormatted","expirationDate","emissionDateFormatted","emissionDate","shouldDisplayDiscountColumn","p","discount2","marginVats","marginVatFormatted","commonTemplate","CommercialDocumentCommonHTML","documentFreeText","EstimateInvoiceType","DEVIS","BON","includes","_m","freeEstimateText","_o","freeInvoiceText","header","render","body","bodyTemplate","footer","freeText","Error","ACOMPTE","disableVat","assetMarginVatIds","m","c","label"],"sourceRoot":"","sources":["../../../ts/utils/commercialManagement/document.ts"],"sourcesContent":["import {\n orderBy as _orderBy, groupBy as _groupBy, sumBy as _sumBy, uniq as _uniq,\n} from 'lodash';\nimport * as dayjs from 'dayjs';\nimport { ReadCommercialDocumentTemplate, ReadDocumentEditing } from '../../types/Interface/api/commercialManagement/Read';\nimport { fontList, VatMarginCategyList } from '../../types/Enum/CommercialManagement';\nimport { EstimateInvoiceType } from '../../types/Enum/EstimateInvoice';\nimport { Vat } from '../../types/Enum/Vat';\nimport { integerToFormattedAmountString } from '../amount';\nimport { CommercialDocumentCommonHTML } from './templates/common';\nimport { bodyTemplate } from './templates/body';\nimport { productToReadProductEditing } from './product';\nimport { vatToReadVatEditing } from './vat';\nimport { CreateInvoiceDocument, CreatePreSaleDocument } from '../../types';\n\nlet ejs: any = null;\n\nif (process.version) {\n // eslint-disable-next-line global-require\n ejs = require('ejs');\n}\n\nexport function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument): ReadCommercialDocumentTemplate {\n const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));\n const vats = _orderBy(Object.values(_groupBy(products, 'vatFormatted')).map((v) => (vatToReadVatEditing(v)), 'value')).filter((v) => v.id !== Vat.MARGE.id);\n\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType,\n phoneContact: payload.settings?.phoneContact ?? null,\n products,\n vats,\n totalTaxExcluded: _sumBy(products, 'totalTaxExcluded'),\n totalTaxIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount'),\n totalTaxAndDiscountIncluded: _sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0),\n generalDiscountFormatted: payload.generalDiscount2 ? integerToFormattedAmountString(payload.generalDiscount2) : null,\n depositFormatted: payload.deposit ? integerToFormattedAmountString(payload.deposit) : null,\n totalTaxExcludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded')),\n totalTaxIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.deposit ?? 0)),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(_sumBy(products, 'totalTaxExcluded') + _sumBy(vats, 'amount') - (payload.generalDiscount2 ?? 0) - (payload.deposit ?? 0)),\n totalVatAmountFormatted: integerToFormattedAmountString(_sumBy(vats, 'amount')),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: !!products.find((p) => p.discount2 && p.discount2 > 0),\n // @ts-ignore\n marginVats: _uniq(products.filter((p) => p.marginVatFormatted !== null).map((p) => p.marginVatFormatted)),\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n let documentFreeText: string | null | undefined;\n\n // A GERER EN FONCTION DU DOCUMENT\n if ([EstimateInvoiceType.DEVIS, EstimateInvoiceType.BON].includes(idEstimateInvoiceType)) {\n documentFreeText = payload?.settings?.freeEstimateText;\n } else {\n documentFreeText = payload?.settings?.freeInvoiceText;\n }\n //\n\n return {\n header: ejs.render(commonTemplate.header, data),\n body: ejs.render(bodyTemplate, data),\n footer: ejs.render(commonTemplate.footer, { ...data, freeText: documentFreeText ?? null }),\n data,\n };\n}\n\nexport function generateAdvanceDocument(payload: CreateInvoiceDocument): ReadCommercialDocumentTemplate {\n if (!payload.deposit) throw new Error('Aucun acompte défini');\n\n const data: ReadDocumentEditing = {\n ...payload,\n paymentLink: payload.paymentLink ?? '#',\n idEstimateInvoiceType: EstimateInvoiceType.ACOMPTE,\n phoneContact: payload.settings?.phoneContact ?? null,\n products: [],\n vats: [],\n totalTaxExcluded: payload.deposit,\n totalTaxIncluded: payload.deposit,\n totalTaxAndDiscountIncluded: payload.deposit,\n generalDiscountFormatted: null,\n depositFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxExcludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalTaxAndDiscountIncludedFormatted: integerToFormattedAmountString(payload.deposit),\n totalVatAmountFormatted: integerToFormattedAmountString(0),\n font: {\n name: fontList.find((f) => f.id === payload.settings?.idFont)?.name ?? fontList[0].name,\n url: fontList.find((f) => f.id === payload.settings?.idFont)?.link ?? fontList[0].link,\n },\n capitalFormatted: payload.capital ? `${payload.capital}`.split('').reduceRight((acc, char, i, { length }) => `${char}${(length - (i + 1)) % 3 === 0 ? ' ' : ''}${acc}`, '').trim() : null,\n dueDateFormatted: payload.dueDate ? dayjs(payload.dueDate).format('DD/MM/YYYY') : null,\n expirationDateFormatted: payload.expirationDate ? dayjs(payload.expirationDate).format('DD/MM/YYYY') : null,\n emissionDateFormatted: payload.emissionDate ? dayjs(payload.emissionDate).format('DD/MM/YYYY') : null,\n shouldDisplayDiscountColumn: false,\n disableVat: true,\n // @ts-ignore\n marginVats: _uniq((payload.assetMarginVatIds ?? []).map((m) => VatMarginCategyList.find((c) => c.id === m)?.label ?? null)),\n };\n\n const commonTemplate = new CommercialDocumentCommonHTML();\n\n return {\n header: ejs?.render(commonTemplate.header, data),\n body: ejs?.render(bodyTemplate, data),\n footer: ejs?.render(commonTemplate.footer, { ...data, freeText: payload?.settings?.freeInvoiceText ?? null }),\n data,\n };\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
5
5
  "homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
6
6
  "main": "js/index.js",
@@ -13,7 +13,12 @@ import { productToReadProductEditing } from './product';
13
13
  import { vatToReadVatEditing } from './vat';
14
14
  import { CreateInvoiceDocument, CreatePreSaleDocument } from '../../types';
15
15
 
16
- const ejs = require('ejs');
16
+ let ejs: any = null;
17
+
18
+ if (process.version) {
19
+ // eslint-disable-next-line global-require
20
+ ejs = require('ejs');
21
+ }
17
22
 
18
23
  export function generateCommercialDocument(idEstimateInvoiceType: EstimateInvoiceType, payload: CreateInvoiceDocument | CreatePreSaleDocument): ReadCommercialDocumentTemplate {
19
24
  const products = _orderBy(payload.products.map((product) => productToReadProductEditing(product), 'reorder'));
@@ -104,9 +109,9 @@ export function generateAdvanceDocument(payload: CreateInvoiceDocument): ReadCom
104
109
  const commonTemplate = new CommercialDocumentCommonHTML();
105
110
 
106
111
  return {
107
- header: ejs.render(commonTemplate.header, data),
108
- body: ejs.render(bodyTemplate, data),
109
- footer: ejs.render(commonTemplate.footer, { ...data, freeText: payload?.settings?.freeInvoiceText ?? null }),
112
+ header: ejs?.render(commonTemplate.header, data),
113
+ body: ejs?.render(bodyTemplate, data),
114
+ footer: ejs?.render(commonTemplate.footer, { ...data, freeText: payload?.settings?.freeInvoiceText ?? null }),
110
115
  data,
111
116
  };
112
117
  }