@open3cl/engine 1.11.2 → 1.11.4
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/10_besoin_fr.spec.js +1 -1
- package/10_clim.js +1 -1
- package/10_clim.spec.js +5 -9
- package/11_besoin_ecs.spec.js +1 -1
- package/11_ecs.js +2 -1
- package/11_ecs.spec.js +2 -2
- package/11_nadeq.js +1 -0
- package/11_nadeq.spec.js +1 -1
- package/11_rdim_ecs_individuelle_unique.js +78 -0
- package/11_rdim_ecs_individuelle_unique.spec.js +136 -0
- package/12.4_pac.js +5 -3
- package/12.4_pac.spec.js +10 -18
- package/13.2_generateur_combustion.js +19 -16
- package/13.2_generateur_combustion.spec.js +10 -10
- package/13.2_generateur_combustion_bouilleur.js +5 -2
- package/13.2_generateur_combustion_bouilleur.spec.js +1 -1
- package/13.2_generateur_combustion_ch.js +8 -7
- package/13.2_generateur_combustion_ch.spec.js +7 -7
- package/13.2_generateur_combustion_chaudiere.js +5 -2
- package/13.2_generateur_combustion_chaudiere.spec.js +2 -2
- package/13.2_generateur_combustion_pdim.js +6 -6
- package/13.2_generateur_combustion_pdim.spec.js +1 -1
- package/13.2_generateur_combustion_pn.spec.js +1 -1
- package/13.2_generateur_pac.js +4 -1
- package/13.2_generateur_pac.spec.js +1 -1
- package/13_rendement_distribution_ecs.spec.js +1 -1
- package/14_generateur_ecs.js +2 -1
- package/14_generateur_ecs.spec.js +4 -4
- package/15_conso_aux.js +19 -17
- package/15_conso_aux.spec.js +8 -8
- package/16.2_production_enr.js +4 -3
- package/16.2_production_enr.spec.js +1 -1
- package/16_conso_eclairage.spec.js +1 -1
- package/2021_04_13_confort_ete.spec.js +1 -1
- package/2021_04_13_qualite_isolation.js +1 -1
- package/2021_04_13_qualite_isolation.spec.js +2 -2
- package/3.1_b.spec.js +1 -1
- package/3.2.1_mur.js +10 -9
- package/3.2.1_mur.spec.js +11 -19
- package/3.2.2_plancher_bas.js +4 -3
- package/3.2.2_plancher_bas.spec.js +10 -20
- package/3.2.3_plancher_haut.js +1 -1
- package/3.2.3_plancher_haut.spec.js +2 -2
- package/3.3.1.4_porte.js +1 -1
- package/3.3.1.4_porte.spec.js +2 -2
- package/3.3_baie_vitree.js +2 -2
- package/3.3_baie_vitree.spec.js +3 -3
- package/3.4_pont_thermique.js +6 -4
- package/3.4_pont_thermique.spec.js +7 -7
- package/3_deperdition.js +1 -0
- package/3_deperdition.spec.js +3 -3
- package/4_ventilation.js +2 -2
- package/4_ventilation.spec.js +1 -1
- package/5_conso_ventilation.spec.js +1 -1
- package/6.1_apport_gratuit.spec.js +2 -2
- package/6.2_surface_sud_equivalente.js +12 -9
- package/6.2_surface_sud_equivalente.spec.js +3 -3
- package/7_inertie.js +7 -4
- package/7_inertie.spec.js +1 -1
- package/8_intermittence.spec.js +1 -1
- package/9_besoin_ch.js +5 -3
- package/9_besoin_ch.spec.js +3 -3
- package/9_chauffage.js +12 -11
- package/9_chauffage.spec.js +7 -7
- package/9_conso_ch.spec.js +3 -3
- package/9_emetteur_ch.js +5 -5
- package/9_emetteur_ch.spec.js +1 -1
- package/9_generateur_ch.js +16 -13
- package/9_generateur_ch.spec.js +6 -6
- package/README.md +19 -19
- package/apport_et_besoin.spec.js +1 -1
- package/conso.js +18 -14
- package/conso.spec.js +3 -3
- package/core/assets/domain/synchronize-assets.js +2 -0
- package/core/assets/domain/synchronize-c1-tables.js +2 -0
- package/core/assets/domain/synchronize-dpe-ges-limit-values-tables.js +2 -0
- package/core/assets/domain/synchronize-enum-tables.js +2 -0
- package/core/assets/domain/synchronize-solicitations-tables.js +2 -0
- package/core/assets/domain/synchronize-valeur-tables.js +6 -0
- package/core/file/infrastructure/adapter/csv-parser.store.js +2 -1
- package/dpe-sanitizer.service.js +1 -0
- package/engine.js +11 -2
- package/engine.spec.js +23 -2
- package/enums.d.ts +1257 -0
- package/features/dpe/domain/models/baie-ets.model.ts +8 -11
- package/features/dpe/domain/models/baie-vitree.model.ts +28 -96
- package/features/dpe/domain/models/climatisation.model.ts +13 -23
- package/features/dpe/domain/models/dpe-xsd.generated.ts +2797 -0
- package/features/dpe/domain/models/dpe.model.ts +105 -181
- package/features/dpe/domain/models/ets.model.ts +10 -18
- package/features/dpe/domain/models/installation-chauffage.model.ts +92 -99
- package/features/dpe/domain/models/installation-ecs.model.ts +45 -77
- package/features/dpe/domain/models/mur.model.ts +10 -38
- package/features/dpe/domain/models/plancher.model.ts +22 -63
- package/features/dpe/domain/models/pont-thermique.model.ts +10 -20
- package/features/dpe/domain/models/porte.model.ts +10 -30
- package/features/dpe/domain/models/production-elec-enr.model.ts +13 -27
- package/features/dpe/domain/models/sortie.model.ts +32 -176
- package/features/dpe/domain/models/type-generateur.model.js +4 -3
- package/features/dpe/domain/models/type-habitation.model.js +8 -6
- package/features/dpe/domain/models/type-stockage.model.js +4 -3
- package/features/dpe/domain/models/type-ventilation.model.js +4 -3
- package/features/dpe/domain/models/ventilation.model.ts +15 -25
- package/features/dpe/infrastructure/ch/chTv.store.js +2 -2
- package/features/dpe/infrastructure/ecs/ecsTv.store.js +3 -3
- package/features/dpe/infrastructure/enveloppe/baieVitreeTv.store.js +1 -1
- package/features/dpe/infrastructure/froid/frTv.store.js +3 -3
- package/features/dpe/infrastructure/froid/frTv.store.spec.js +1 -1
- package/features/dpe/infrastructure/tv.store.js +1 -1
- package/features/engine/domain/apport_et_besoin/apport-et-besoin.service.js +3 -0
- package/features/engine/domain/apport_et_besoin/apport_gratuit/apport-gratuit.service.js +3 -1
- package/features/engine/domain/apport_et_besoin/ch/besoin-ch.service.js +3 -1
- package/features/engine/domain/apport_et_besoin/ch/perte-ch-recup.service.js +9 -3
- package/features/engine/domain/apport_et_besoin/ch/perte-ch-recup.service.spec.js +1 -1
- package/features/engine/domain/apport_et_besoin/ecs/besoin-ecs.service.js +2 -1
- package/features/engine/domain/apport_et_besoin/ecs/perte-ecs-recup.service.js +4 -1
- package/features/engine/domain/apport_et_besoin/froid/besoin-froid.service.js +3 -1
- package/features/engine/domain/apport_et_besoin/surface-sud-equivalente.service.js +7 -2
- package/features/engine/domain/apport_et_besoin/surface-sud-equivalente.service.spec.js +1 -1
- package/features/engine/domain/ch/emetteur-ch.service.js +3 -1
- package/features/engine/domain/ch/emetteur-ch.service.spec.js +1 -1
- package/features/engine/domain/ch/generateur-ch.service.js +4 -1
- package/features/engine/domain/ch/generateur-ch.service.spec.js +3 -3
- package/features/engine/domain/ch/installation-ch.service.js +2 -0
- package/features/engine/domain/conso/conso.service.js +2 -0
- package/features/engine/domain/conso/froid/conso-froid.service.js +5 -1
- package/features/engine/domain/contexte.builder.js +2 -0
- package/features/engine/domain/ecs/generateur-ecs.service.js +1 -0
- package/features/engine/domain/ecs/installation-ecs.service.js +3 -0
- package/features/engine/domain/engine.service.js +1 -0
- package/features/engine/domain/enveloppe/baie_vitree/deperdition-baie-vitree.service.js +4 -1
- package/features/engine/domain/enveloppe/deperdition-enveloppe.service.js +3 -0
- package/features/engine/domain/enveloppe/deperdition.service.js +8 -4
- package/features/engine/domain/enveloppe/espace_tampon/espace-tampon.service.js +4 -1
- package/features/engine/domain/enveloppe/mur/deperdition-mur.service.js +3 -1
- package/features/engine/domain/enveloppe/plancher_bas/deperdition-plancher-bas.service.js +3 -1
- package/features/engine/domain/enveloppe/plancher_bas/deperdition-plancher-bas.service.spec.js +2 -2
- package/features/engine/domain/enveloppe/plancher_haut/deperdition-plancher-haut.service.js +4 -2
- package/features/engine/domain/enveloppe/pont_thermique/deperdition-pont-thermique.service.js +9 -1
- package/features/engine/domain/enveloppe/pont_thermique/deperdition-pont-thermique.service.spec.js +1 -1
- package/features/engine/domain/enveloppe/porte/deperdition-porte.service.js +3 -1
- package/features/engine/domain/enveloppe/ventilation/deperdition-ventilation.service.js +3 -1
- package/features/engine/domain/enveloppe/ventilation/deperdition-ventilation.service.spec.js +1 -1
- package/features/engine/domain/logement/nadeq.service.js +1 -1
- package/features/engine/domain/logement/nadeq.service.spec.js +1 -1
- package/features/engine/domain/models/contexte.model.ts +2 -2
- package/features/normalizer/domain/dpe-normalizer.service.js +1 -0
- package/ficheTechnique.js +4 -2
- package/globals.d.ts +14 -0
- package/package.json +3 -2
- package/preprocessor/index.js +1 -0
- package/tv.d.ts +759 -0
- package/tvs.d.ts +2 -7
- package/utils.js +8 -6
package/features/engine/domain/enveloppe/pont_thermique/deperdition-pont-thermique.service.spec.js
CHANGED
|
@@ -6,7 +6,7 @@ import { DeperditionPontThermiqueService } from './deperdition-pont-thermique.se
|
|
|
6
6
|
*
|
|
7
7
|
* Le store des tables de valeurs et les services de déperdition des parois sont remplacés par des
|
|
8
8
|
* doubles de test : seule la logique propre au service (exclusions de ponts thermiques) est vérifiée.
|
|
9
|
-
* @see
|
|
9
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §3.4
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
let tvStore;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { PorteDE, PorteDI } from '../../../../dpe/domain/models/porte.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
3
|
import { inject } from 'dioma';
|
|
2
4
|
import { DeperditionService } from '../deperdition.service.js';
|
|
3
5
|
import { TvStore } from '../../../../dpe/infrastructure/tv.store.js';
|
|
@@ -8,7 +10,7 @@ import { TvStore } from '../../../../dpe/infrastructure/tv.store.js';
|
|
|
8
10
|
*
|
|
9
11
|
* Méthode de calcul 3CL-DPE 2021
|
|
10
12
|
* Octobre 2021
|
|
11
|
-
* @see
|
|
13
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
12
14
|
*
|
|
13
15
|
* Si le coefficient U des portes est connu et justifié, le saisir directement. Sinon, prendre les valeurs tabulées
|
|
14
16
|
*/
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { VentilationDE, VentilationDI } from '../../../../dpe/domain/models/ventilation.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
3
|
import { DeperditionService } from '../deperdition.service.js';
|
|
2
4
|
|
|
3
5
|
import { logger } from '../../../../../core/util/logger/log-service.js';
|
|
@@ -11,7 +13,7 @@ import { TypeVentilation } from '../../../../dpe/domain/models/type-ventilation.
|
|
|
11
13
|
*
|
|
12
14
|
* Méthode de calcul 3CL-DPE 2021
|
|
13
15
|
* Octobre 2021
|
|
14
|
-
* @see
|
|
16
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
15
17
|
*/
|
|
16
18
|
export class DeperditionVentilationService extends DeperditionService {
|
|
17
19
|
/**
|
package/features/engine/domain/enveloppe/ventilation/deperdition-ventilation.service.spec.js
CHANGED
|
@@ -18,7 +18,7 @@ const { DeperditionVentilationService } = await import('./deperdition-ventilatio
|
|
|
18
18
|
* Tests unitaires isolés du calcul de Q4Paconv (`DeperditionVentilationService.q4paConv`).
|
|
19
19
|
* Le store des tables de valeurs est remplacé par un double de test.
|
|
20
20
|
*
|
|
21
|
-
* @see
|
|
21
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §4
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
/** @type {DeperditionVentilationService} */
|
|
@@ -6,7 +6,7 @@ import { TypeDpe } from '../../../dpe/domain/models/type-habitation.model.js';
|
|
|
6
6
|
*
|
|
7
7
|
* Methode_de_calcul_3CL_DPE_2021 - Page 70
|
|
8
8
|
* Octobre 2021
|
|
9
|
-
* @see
|
|
9
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
10
10
|
*/
|
|
11
11
|
export class NadeqService {
|
|
12
12
|
/**
|
|
@@ -4,7 +4,7 @@ import { TypeDpe } from '../../../dpe/domain/models/type-habitation.model.js';
|
|
|
4
4
|
|
|
5
5
|
describe('Nadeq unit tests', () => {
|
|
6
6
|
/**
|
|
7
|
-
* @see
|
|
7
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf Page 70
|
|
8
8
|
*/
|
|
9
9
|
const service = new NadeqService();
|
|
10
10
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { TypeDpe, TypeHabitation } from '../../../dpe/domain/models/
|
|
1
|
+
import type { TypeDpe, TypeHabitation } from '../../../dpe/domain/models/type-habitation.model.js';
|
|
2
2
|
|
|
3
3
|
export interface Contexte {
|
|
4
4
|
typeHabitation: TypeHabitation;
|
|
5
5
|
typeDpe: TypeDpe;
|
|
6
|
-
enumPeriodeConstructionId:
|
|
6
|
+
enumPeriodeConstructionId: string;
|
|
7
7
|
anneeConstruction: number;
|
|
8
8
|
surfaceHabitable: number;
|
|
9
9
|
hauteurSousPlafond: number;
|
package/ficheTechnique.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { XsdFicheTechnique } from './features/dpe/domain/models/dpe-xsd.generated.js' */
|
|
2
|
+
/** @import { FullDpe } from './features/dpe/domain/models/dpe.model.js' */
|
|
1
3
|
/**
|
|
2
4
|
* Recherche dans les fiches techniques d'un DPE.
|
|
3
5
|
*
|
|
@@ -29,7 +31,7 @@ const indexParDpe = new WeakMap();
|
|
|
29
31
|
function indexerFichesTechniques(dpe) {
|
|
30
32
|
const parCategorie = new Map();
|
|
31
33
|
|
|
32
|
-
/** @type {
|
|
34
|
+
/** @type {XsdFicheTechnique[]} */
|
|
33
35
|
let fichesTechniques = dpe.fiche_technique_collection?.fiche_technique || [];
|
|
34
36
|
if (!Array.isArray(fichesTechniques)) {
|
|
35
37
|
fichesTechniques = [fichesTechniques];
|
|
@@ -87,7 +89,7 @@ function champEnMinuscules(groupe, field) {
|
|
|
87
89
|
* @param dpe {FullDpe}
|
|
88
90
|
* @param categoryFicheTechiqueId {string}
|
|
89
91
|
* @param description {string}
|
|
90
|
-
* @param classifications {[
|
|
92
|
+
* @param classifications {string[]}
|
|
91
93
|
* @param field {'description' | 'valeur'}
|
|
92
94
|
*/
|
|
93
95
|
export default function getFicheTechnique(
|
package/globals.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compléments aux typings globaux de TypeScript.
|
|
3
|
+
*
|
|
4
|
+
* `parseInt` / `parseFloat` sont appelés dans le moteur avec des nombres (conversion implicite
|
|
5
|
+
* en chaîne, comportement JS standard) : on déclare ces surcharges plutôt que de modifier
|
|
6
|
+
* chaque appel.
|
|
7
|
+
*/
|
|
8
|
+
declare function parseInt(value: string | number, radix?: number): number;
|
|
9
|
+
declare function parseFloat(value: string | number): number;
|
|
10
|
+
|
|
11
|
+
interface NumberConstructor {
|
|
12
|
+
parseInt(value: string | number, radix?: number): number;
|
|
13
|
+
parseFloat(value: string | number): number;
|
|
14
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open3cl/engine",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.4",
|
|
4
4
|
"description": "Open Source 3CL-DPE engine",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"directories": {
|
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"release": "semantic-release",
|
|
28
28
|
"release:dry": "semantic-release --dry-run",
|
|
29
29
|
"prepare": "husky",
|
|
30
|
-
"
|
|
30
|
+
"types:generate": "node scripts/generate_types_from_xsd.js && node scripts/generate_tables_types.js && prettier --write src/features/dpe/domain/models/dpe-xsd.generated.ts src/enums.d.ts src/tv.d.ts",
|
|
31
|
+
"assets:sync": "node scripts/synchronize_assets.js && node scripts/generate_tables_types.js && prettier --write src/enums.d.ts src/tv.d.ts",
|
|
31
32
|
"version:update": "node scripts/update_version.js",
|
|
32
33
|
"reports:preview": "npm run http-server dist/reports/corpus -o",
|
|
33
34
|
"reports:clean": "node scripts/clean_corpus_reports.js",
|
package/preprocessor/index.js
CHANGED