@likewatt/models-front 1.104.0 → 1.106.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,122 +1,122 @@
1
- # @likewatt/models
2
-
3
- Package privé contenant les modèles TypeScript FRONTEND partagés pour les applications Likewatt.
4
-
5
- ## Installation
6
-
7
- ```bash
8
- npm install @likewatt/models-fronted
9
- ```
10
-
11
- ## Description
12
-
13
- Ce package exporte les modèles de données TypeScript utilisés dans l'écosystème Likewatt, incluant :
14
-
15
- - **Entités principales** : `Site`, `Scenario`, `User`, `License`, `CollectiveSite`, `Invitation`, `ScenarioDefaultValue`
16
- - **Entités TypeORM** : `Analysis`, `Optimization`, `WebhookOutput`, historiques (Co2, Enedis, FCR, Okwind, Pvgis, Spot, Tempo)
17
- - **Modèles internes** : Paramètres énergétiques (batteries, PV, éolien, hydrogène, stockage thermique, etc.)
18
- - **Types frontend** : Types TypeScript pour l'interface utilisateur
19
- - **Énumérations** : Types énumérés partagés
20
-
21
- ## Structure
22
-
23
- - `src/core/` : Entités principales et modèles internes
24
- - `src/frontend/` : Types TypeScript pour le frontend
25
- - `dist/` : Build compilé (CommonJS)
26
-
27
- ## Technologies
28
-
29
- - TypeScript 5.x
30
- - TypeORM 0.3.x
31
- - Mongoose 8.x
32
- - NestJS decorators (Swagger, Mongoose)
33
- - Class Validator
34
-
35
- ## Scripts disponibles
36
-
37
- ```bash
38
- npm run build # Compile le projet TypeScript
39
- npm run format # Formate le code avec Prettier
40
- npm run lint # Lint et fixe le code avec ESLint
41
- npm run lint:quick # Lint sans auto-fix
42
- npm run release # Crée une release automatique (conventional commits)
43
- npm run release:minor # Crée une release minor
44
- npm run release:major # Crée une release major
45
- ```
46
-
47
- ## Convention de commit
48
-
49
- Le projet utilise **Husky** et **Commitlint** pour enforcer les conventions de commit.
50
-
51
- ### Format requis
52
-
53
- ```
54
- <type>(<scope>): <subject>
55
-
56
- <body>
57
-
58
- <footer>
59
- ```
60
-
61
- ### Types autorisés
62
-
63
- - `feat`: Nouvelle fonctionnalité
64
- - `fix`: Correction de bug
65
- - `docs`: Documentation
66
- - `style`: Formatage, point-virgules manquants, etc.
67
- - `refactor`: Refactoring du code
68
- - `perf`: Amélioration des performances
69
- - `test`: Ajout de tests
70
- - `build`: Changements du système de build
71
- - `ci`: Changements CI/CD
72
- - `chore`: Tâches de maintenance
73
- - `revert`: Revert d'un commit précédent
74
-
75
- ### Exemples
76
-
77
- ```bash
78
- feat(user): add authentication endpoint
79
- fix(scenario): correct energy calculation
80
- docs(readme): update installation instructions
81
- refactor(battery): simplify params validation
82
- ci(pipeline): add automatic versioning
83
- ```
84
-
85
- ### Impact sur le versioning
86
-
87
- - `feat`: incrémente la version **minor** (1.0.0 → 1.1.0)
88
- - `fix`: incrémente la version **patch** (1.0.0 → 1.0.1)
89
- - `BREAKING CHANGE` dans le footer : incrémente la version **major** (1.0.0 → 2.0.0)
90
-
91
- ## Release et versioning
92
-
93
- Le package utilise `standard-version` pour le versioning sémantique basé sur les commits conventionnels.
94
-
95
- ### Release automatique
96
-
97
- Chaque push sur la branche `main` déclenche automatiquement :
98
- 1. Installation des dépendances
99
- 2. Build du projet
100
- 3. Analyse des commits pour déterminer le type de version (patch/minor/major)
101
- 4. Génération du CHANGELOG
102
- 5. Publication sur le registry NPM privé
103
-
104
- ### Release manuelle
105
-
106
- Via Bitbucket Pipelines, possibilité de forcer un type de release :
107
- - `patch` : Correctifs (1.0.0 → 1.0.1)
108
- - `minor` : Nouvelles fonctionnalités (1.0.0 → 1.1.0)
109
- - `major` : Breaking changes (1.0.0 → 2.0.0)
110
- - `prepatch`, `preminor`, `premajor`, `prerelease` : Versions de pré-release
111
-
112
- ## Configuration
113
-
114
- - **Compilation** : ES2019, CommonJS, avec decorators experimentaux
115
- - **Output** : `dist/index.js` (main), `dist/index.d.ts` (types)
116
- - **Registry** : NPM privé Likewatt
117
-
118
- ## Confidentialité
119
-
120
- Ce package est privé et ne doit pas être partagé en dehors de Likewatt.
121
-
122
-
1
+ # @likewatt/models
2
+
3
+ Package privé contenant les modèles TypeScript FRONTEND partagés pour les applications Likewatt.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @likewatt/models-fronted
9
+ ```
10
+
11
+ ## Description
12
+
13
+ Ce package exporte les modèles de données TypeScript utilisés dans l'écosystème Likewatt, incluant :
14
+
15
+ - **Entités principales** : `Site`, `Scenario`, `User`, `License`, `CollectiveSite`, `Invitation`, `ScenarioDefaultValue`
16
+ - **Entités TypeORM** : `Analysis`, `Optimization`, `WebhookOutput`, historiques (Co2, Enedis, FCR, Okwind, Pvgis, Spot, Tempo)
17
+ - **Modèles internes** : Paramètres énergétiques (batteries, PV, éolien, hydrogène, stockage thermique, etc.)
18
+ - **Types frontend** : Types TypeScript pour l'interface utilisateur
19
+ - **Énumérations** : Types énumérés partagés
20
+
21
+ ## Structure
22
+
23
+ - `src/core/` : Entités principales et modèles internes
24
+ - `src/frontend/` : Types TypeScript pour le frontend
25
+ - `dist/` : Build compilé (CommonJS)
26
+
27
+ ## Technologies
28
+
29
+ - TypeScript 5.x
30
+ - TypeORM 0.3.x
31
+ - Mongoose 8.x
32
+ - NestJS decorators (Swagger, Mongoose)
33
+ - Class Validator
34
+
35
+ ## Scripts disponibles
36
+
37
+ ```bash
38
+ npm run build # Compile le projet TypeScript
39
+ npm run format # Formate le code avec Prettier
40
+ npm run lint # Lint et fixe le code avec ESLint
41
+ npm run lint:quick # Lint sans auto-fix
42
+ npm run release # Crée une release automatique (conventional commits)
43
+ npm run release:minor # Crée une release minor
44
+ npm run release:major # Crée une release major
45
+ ```
46
+
47
+ ## Convention de commit
48
+
49
+ Le projet utilise **Husky** et **Commitlint** pour enforcer les conventions de commit.
50
+
51
+ ### Format requis
52
+
53
+ ```
54
+ <type>(<scope>): <subject>
55
+
56
+ <body>
57
+
58
+ <footer>
59
+ ```
60
+
61
+ ### Types autorisés
62
+
63
+ - `feat`: Nouvelle fonctionnalité
64
+ - `fix`: Correction de bug
65
+ - `docs`: Documentation
66
+ - `style`: Formatage, point-virgules manquants, etc.
67
+ - `refactor`: Refactoring du code
68
+ - `perf`: Amélioration des performances
69
+ - `test`: Ajout de tests
70
+ - `build`: Changements du système de build
71
+ - `ci`: Changements CI/CD
72
+ - `chore`: Tâches de maintenance
73
+ - `revert`: Revert d'un commit précédent
74
+
75
+ ### Exemples
76
+
77
+ ```bash
78
+ feat(user): add authentication endpoint
79
+ fix(scenario): correct energy calculation
80
+ docs(readme): update installation instructions
81
+ refactor(battery): simplify params validation
82
+ ci(pipeline): add automatic versioning
83
+ ```
84
+
85
+ ### Impact sur le versioning
86
+
87
+ - `feat`: incrémente la version **minor** (1.0.0 → 1.1.0)
88
+ - `fix`: incrémente la version **patch** (1.0.0 → 1.0.1)
89
+ - `BREAKING CHANGE` dans le footer : incrémente la version **major** (1.0.0 → 2.0.0)
90
+
91
+ ## Release et versioning
92
+
93
+ Le package utilise `standard-version` pour le versioning sémantique basé sur les commits conventionnels.
94
+
95
+ ### Release automatique
96
+
97
+ Chaque push sur la branche `main` déclenche automatiquement :
98
+ 1. Installation des dépendances
99
+ 2. Build du projet
100
+ 3. Analyse des commits pour déterminer le type de version (patch/minor/major)
101
+ 4. Génération du CHANGELOG
102
+ 5. Publication sur le registry NPM privé
103
+
104
+ ### Release manuelle
105
+
106
+ Via Bitbucket Pipelines, possibilité de forcer un type de release :
107
+ - `patch` : Correctifs (1.0.0 → 1.0.1)
108
+ - `minor` : Nouvelles fonctionnalités (1.0.0 → 1.1.0)
109
+ - `major` : Breaking changes (1.0.0 → 2.0.0)
110
+ - `prepatch`, `preminor`, `premajor`, `prerelease` : Versions de pré-release
111
+
112
+ ## Configuration
113
+
114
+ - **Compilation** : ES2019, CommonJS, avec decorators experimentaux
115
+ - **Output** : `dist/index.js` (main), `dist/index.d.ts` (types)
116
+ - **Registry** : NPM privé Likewatt
117
+
118
+ ## Confidentialité
119
+
120
+ Ce package est privé et ne doit pas être partagé en dehors de Likewatt.
121
+
122
+
@@ -1,15 +1,35 @@
1
+ /**
2
+ * Commentaires libres saisis par l'utilisateur, indexés par emplacement dans
3
+ * l'application.
4
+ *
5
+ * La signature d'index n'est pas une commodité : le front génère des clés
6
+ * dynamiquement, une par technologie du mix (`PV_EnergeticMix_${techName}`), et
7
+ * la liste des technologies n'est pas connue à la compilation. Le schéma
8
+ * Mongoose côté `likewatt-models` est passé en `strict: false` pour la même
9
+ * raison ; ce typage s'aligne dessus.
10
+ *
11
+ * Les clés ci-dessous sont celles effectivement utilisées aujourd'hui, gardées
12
+ * explicites à titre de documentation. Elles ne sont pas exhaustives et le
13
+ * typage ne les contraint pas : en ajouter une n'est jamais un changement
14
+ * cassant.
15
+ */
1
16
  export interface Comments {
17
+ [key: string]: string | undefined;
18
+ ConsumerEnergyBalance?: string;
2
19
  CostPerMonth?: string;
3
20
  DailyProfile?: string;
4
21
  EnergyBalance?: string;
5
22
  LineBalanceSheet?: string;
6
23
  LoadCurve?: string;
24
+ Report?: string;
7
25
  ScenarioTable?: string;
26
+ TechModeling?: string;
8
27
  TotalCost?: string;
9
28
  TotalEnergy?: string;
10
29
  Grid_EnergeticMix?: string;
11
30
  LineBalanceSheetFromPopUp?: string;
12
31
  Opex?: string;
32
+ /** Le mix global. Les mix par technologie sont sous `PV_EnergeticMix_<techName>`. */
13
33
  PV_EnergeticMix?: string;
14
34
  TechSummary?: string;
15
35
  VanFromPopUp?: string;
@@ -409,9 +409,16 @@ export declare const SiteConstants: {
409
409
  readonly HYBRID: "HYBRIDE";
410
410
  readonly STRASBOURG: "STRASBOURG";
411
411
  /**
412
- * Courbe de charge reconstituée depuis un profil de l'Open Data Enedis
413
- * (moyenne des 500 courbes fictives du secteur, mise à l'échelle). Les
414
- * détails de la récupération sont dans `Site.openDataProfile`.
412
+ * Courbe de charge reconstituée depuis l'Open Data Enedis : moyenne des
413
+ * 500 courbes fictives du secteur, re-datée sur une année civile. Aucune
414
+ * mise à l'échelle le niveau est celui du secteur.
415
+ *
416
+ * Distincte de `PROFILE`, qui reste le flux des fichiers de coefficients.
417
+ * Les deux partagent le même onglet côté front, mais surtout pas le même
418
+ * traitement : `normalizeDataSourceTab` doit mapper `OPENDATA` vers l'onglet
419
+ * `PROFILE`, sans confondre les deux valeurs stockées.
420
+ *
421
+ * Détails de la récupération dans `Site.openDataProfile`.
415
422
  */
416
423
  readonly OPENDATA: "OPENDATA";
417
424
  };
@@ -77,9 +77,16 @@ exports.SiteConstants = {
77
77
  HYBRID: 'HYBRIDE',
78
78
  STRASBOURG: 'STRASBOURG',
79
79
  /**
80
- * Courbe de charge reconstituée depuis un profil de l'Open Data Enedis
81
- * (moyenne des 500 courbes fictives du secteur, mise à l'échelle). Les
82
- * détails de la récupération sont dans `Site.openDataProfile`.
80
+ * Courbe de charge reconstituée depuis l'Open Data Enedis : moyenne des
81
+ * 500 courbes fictives du secteur, re-datée sur une année civile. Aucune
82
+ * mise à l'échelle le niveau est celui du secteur.
83
+ *
84
+ * Distincte de `PROFILE`, qui reste le flux des fichiers de coefficients.
85
+ * Les deux partagent le même onglet côté front, mais surtout pas le même
86
+ * traitement : `normalizeDataSourceTab` doit mapper `OPENDATA` vers l'onglet
87
+ * `PROFILE`, sans confondre les deux valeurs stockées.
88
+ *
89
+ * Détails de la récupération dans `Site.openDataProfile`.
83
90
  */
84
91
  OPENDATA: 'OPENDATA',
85
92
  },
@@ -25,62 +25,15 @@ export type EnedisOpenDataProfileType = 'RES1' | 'RES11' | 'RES2' | 'PRO1' | 'PR
25
25
  *
26
26
  * Union plate plutôt que produit (catégorie × segment × code) parce que le
27
27
  * catalogue Enedis est creux : `ENT1` n'a pas la tranche 50-120 kVA alors que
28
- * `ENT3` a 36-120, et les codes NAF diffèrent d'un segment à l'autre. Utiliser
29
- * `ENEDIS_OPENDATA_CATALOG` pour construire des listes en cascade sans jamais
30
- * proposer une combinaison inexistante.
31
- */
32
- export type EnedisOpenDataProfile = 'pro-naf3600' | 'pro-naf3700' | 'pro-naf5510' | 'pro-naf5610' | 'pro-naf6831' | 'pro-naf7010' | 'pro-naf8411' | 'pro-naf8413' | 'pro-naf8790' | 'ent-naf10' | 'ent-naf55' | 'ent-naf3600' | 'ent-naf4711' | 'ent-naf7010' | 'ent-naf8411' | 'res1-3-6' | 'res11-6-9' | 'res11-9-18' | 'res2-3-6' | 'res2-6-9' | 'res2-9-12' | 'pro1-0-6' | 'pro1-6-12' | 'pro1-12-sup' | 'pro2-0-6' | 'pro2-6-12' | 'pro2-12-24' | 'pro2-24-sup' | 'ent1-36-50' | 'ent1-120-250' | 'ent1-250-sup' | 'ent3-36-120' | 'ent3-120-250' | 'ent3-250-sup';
33
- /**
34
- * Catalogue réel des 34 datasets exploitables, pour bâtir des listes en cascade.
35
- *
36
- * Confronté au portail le 2026-08-19 (diff vide). Les 15 variantes `-gan` en sont
37
- * absentes : elles sont titrées « – archives » (ancien modèle GAN, remplacé par
38
- * diffusion latente).
39
- *
40
- * Noter les asymétries, qui sont la raison d'être de cette table : 5510 et 5610
41
- * n'existent qu'en `PRO`, 4711 qu'en `ENT`, et `ENT1` saute la tranche
42
- * 50-120 kVA que `ENT3` couvre.
43
- */
44
- export declare const ENEDIS_OPENDATA_CATALOG: {
45
- readonly NAF: {
46
- readonly PRO: readonly ["3600", "3700", "5510", "5610", "6831", "7010", "8411", "8413", "8790"];
47
- readonly ENT: readonly ["10", "55", "3600", "4711", "7010", "8411"];
48
- };
49
- readonly PROFILE: {
50
- readonly RES1: readonly ["3-6"];
51
- readonly RES11: readonly ["6-9", "9-18"];
52
- readonly RES2: readonly ["3-6", "6-9", "9-12"];
53
- readonly PRO1: readonly ["0-6", "6-12", "12-sup"];
54
- readonly PRO2: readonly ["0-6", "6-12", "12-24", "24-sup"];
55
- readonly ENT1: readonly ["36-50", "120-250", "250-sup"];
56
- readonly ENT3: readonly ["36-120", "120-250", "250-sup"];
57
- };
58
- };
59
- /**
60
- * Bornes réelles de chaque plage de puissance souscrite, en kVA, indexées par la
61
- * valeur `powerRange` du slug.
28
+ * `ENT3` a 36-120, et les codes NAF diffèrent d'un segment à l'autre.
62
29
  *
63
- * Nécessaire parce que trois plages sont notées `-sup` dans les slugs sans que la
64
- * borne haute y figure : le front ne peut pas la deviner. Elle est bornée, pas
65
- * infinie `12-sup` s'arrête à 36 kVA, `24-sup` à 36 également, `250-sup` à
66
- * 25 000.
67
- *
68
- * `label` reprend **verbatim** la chaîne du champ `plage_ps` d'Enedis, à titre
69
- * indicatif ; l'affichage reste libre côté front, qui dispose de `min`/`max`
70
- * pour composer le sien.
71
- *
72
- * Provenance : les 13 valeurs distinctes du champ `plage_ps` du dataset
73
- * `courbes-de-charges-fictives-caracteristiques`. Dix s'apparient directement aux
74
- * plages non-`sup` des slugs ; les trois restantes (`]12-36]`, `]24-36]`,
75
- * `]250-25000]`) s'apparient sans ambiguïté aux trois `-sup` par leur borne basse.
76
- * La borne 25 000 est corroborée par le nom du fichier source côté Enedis,
77
- * `ENT3-250-25000.csv`.
30
+ * Pour bâtir des listes en cascade, appeler `GET /profile/opendata/catalog` sur
31
+ * la gateway : elle dérive l'arbre de l'enum et reste donc la seule source de
32
+ * vérité. Ne pas en tenir une copie ici les deux paquets sont versionnés
33
+ * séparément, et une divergence se manifesterait par un secteur sélectionnable
34
+ * qui renvoie un 404 Enedis.
78
35
  */
79
- export declare const ENEDIS_OPENDATA_POWER_RANGES: Record<string, {
80
- min: number;
81
- max: number;
82
- label: string;
83
- }>;
36
+ export type EnedisOpenDataProfile = 'pro-naf3600' | 'pro-naf3700' | 'pro-naf5510' | 'pro-naf5610' | 'pro-naf6831' | 'pro-naf7010' | 'pro-naf8411' | 'pro-naf8413' | 'pro-naf8790' | 'ent-naf10' | 'ent-naf55' | 'ent-naf3600' | 'ent-naf4711' | 'ent-naf7010' | 'ent-naf8411' | 'res1-3-6' | 'res11-6-9' | 'res11-9-18' | 'res2-3-6' | 'res2-6-9' | 'res2-9-12' | 'pro1-0-6' | 'pro1-6-12' | 'pro1-12-sup' | 'pro2-0-6' | 'pro2-6-12' | 'pro2-12-24' | 'pro2-24-sup' | 'ent1-36-50' | 'ent1-120-250' | 'ent1-250-sup' | 'ent3-36-120' | 'ent3-120-250' | 'ent3-250-sup';
84
37
  /**
85
38
  * Trace de la récupération d'une courbe de charge depuis l'Open Data Enedis.
86
39
  * Écrit par le back, jamais par le front.
@@ -98,19 +51,27 @@ export interface OpenDataProfile {
98
51
  /** Slug du dataset Data Fair, clé externe immuable. */
99
52
  datasetSlug: string;
100
53
  /**
101
- * Bornes de la fenêtre réellement couverte.
54
+ * Bornes de la fenêtre réellement publiée par Enedis — 2023-11-01 → 2024-10-29.
55
+ * Traçabilité et attribution Etalab. Ce n'est **pas** la période de l'étude.
56
+ */
57
+ sourcePeriodStart?: Date | string;
58
+ sourcePeriodEnd?: Date | string;
59
+ /**
60
+ * Bornes de l'année civile servie, toujours 1er janvier → 31 décembre.
102
61
  *
103
- * À afficher : l'Open Data ne publie **pas** d'année civile, la seule fenêtre
104
- * disponible court du 2023-11-01 au 2024-10-29 (364 jours). Les composants qui
105
- * raisonnent en années civiles doivent en tenir compte.
62
+ * C'est la période de l'étude, et celle que les composants raisonnant en
63
+ * années civiles doivent utiliser. Figée à la création du projet.
106
64
  */
107
65
  periodStart?: Date | string;
108
66
  periodEnd?: Date | string;
109
67
  retrievedAt?: Date | string;
110
68
  /** Nombre de courbes agrégées pour produire la moyenne (500 nominalement). */
111
69
  curveCount?: number;
112
- /** Consommation annuelle typique du secteur, en kWh, avant mise à l'échelle. */
70
+ /**
71
+ * Consommation annuelle du secteur, en kWh. Niveau livré, non surchargeable.
72
+ * Ordre de grandeur : l'écart intra-secteur mesuré va de 1 à 24.
73
+ */
113
74
  referenceAnnualConsumptionKwh?: number;
114
- /** Consommation annuelle réellement appliquée, en kWh. */
115
- appliedAnnualConsumptionKwh?: number;
75
+ /** Puissance souscrite déduite, en kVA, arrondie au palier normalisé. */
76
+ deducedSubscribedPowerKva?: number;
116
77
  }
@@ -1,74 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ENEDIS_OPENDATA_POWER_RANGES = exports.ENEDIS_OPENDATA_CATALOG = void 0;
4
- /**
5
- * Catalogue réel des 34 datasets exploitables, pour bâtir des listes en cascade.
6
- *
7
- * Confronté au portail le 2026-08-19 (diff vide). Les 15 variantes `-gan` en sont
8
- * absentes : elles sont titrées « – archives » (ancien modèle GAN, remplacé par
9
- * diffusion latente).
10
- *
11
- * Noter les asymétries, qui sont la raison d'être de cette table : 5510 et 5610
12
- * n'existent qu'en `PRO`, 4711 qu'en `ENT`, et `ENT1` saute la tranche
13
- * 50-120 kVA que `ENT3` couvre.
14
- */
15
- exports.ENEDIS_OPENDATA_CATALOG = {
16
- NAF: {
17
- PRO: [
18
- '3600',
19
- '3700',
20
- '5510',
21
- '5610',
22
- '6831',
23
- '7010',
24
- '8411',
25
- '8413',
26
- '8790',
27
- ],
28
- ENT: ['10', '55', '3600', '4711', '7010', '8411'],
29
- },
30
- PROFILE: {
31
- RES1: ['3-6'],
32
- RES11: ['6-9', '9-18'],
33
- RES2: ['3-6', '6-9', '9-12'],
34
- PRO1: ['0-6', '6-12', '12-sup'],
35
- PRO2: ['0-6', '6-12', '12-24', '24-sup'],
36
- ENT1: ['36-50', '120-250', '250-sup'],
37
- ENT3: ['36-120', '120-250', '250-sup'],
38
- },
39
- };
40
- /**
41
- * Bornes réelles de chaque plage de puissance souscrite, en kVA, indexées par la
42
- * valeur `powerRange` du slug.
43
- *
44
- * Nécessaire parce que trois plages sont notées `-sup` dans les slugs sans que la
45
- * borne haute y figure : le front ne peut pas la deviner. Elle est bornée, pas
46
- * infinie — `12-sup` s'arrête à 36 kVA, `24-sup` à 36 également, `250-sup` à
47
- * 25 000.
48
- *
49
- * `label` reprend **verbatim** la chaîne du champ `plage_ps` d'Enedis, à titre
50
- * indicatif ; l'affichage reste libre côté front, qui dispose de `min`/`max`
51
- * pour composer le sien.
52
- *
53
- * Provenance : les 13 valeurs distinctes du champ `plage_ps` du dataset
54
- * `courbes-de-charges-fictives-caracteristiques`. Dix s'apparient directement aux
55
- * plages non-`sup` des slugs ; les trois restantes (`]12-36]`, `]24-36]`,
56
- * `]250-25000]`) s'apparient sans ambiguïté aux trois `-sup` par leur borne basse.
57
- * La borne 25 000 est corroborée par le nom du fichier source côté Enedis,
58
- * `ENT3-250-25000.csv`.
59
- */
60
- exports.ENEDIS_OPENDATA_POWER_RANGES = {
61
- '0-6': { min: 0, max: 6, label: ']0-6 kVA]' },
62
- '3-6': { min: 3, max: 6, label: ']3-6 kVA]' },
63
- '6-9': { min: 6, max: 9, label: ']6-9 kVA]' },
64
- '6-12': { min: 6, max: 12, label: ']6-12 kVA]' },
65
- '9-12': { min: 9, max: 12, label: ']9-12 kVA]' },
66
- '9-18': { min: 9, max: 18, label: ']9-18 kVA]' },
67
- '12-24': { min: 12, max: 24, label: ']12-24 kVA]' },
68
- '12-sup': { min: 12, max: 36, label: ']12-36 kVA]' },
69
- '24-sup': { min: 24, max: 36, label: ']24-36 kVA]' },
70
- '36-50': { min: 36, max: 50, label: ']36-50 kVA]' },
71
- '36-120': { min: 36, max: 120, label: ']36-120 kVA]' },
72
- '120-250': { min: 120, max: 250, label: ']120-250 kVA]' },
73
- '250-sup': { min: 250, max: 25000, label: ']250-25000 kVA]' },
74
- };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@likewatt/models-front",
3
- "version": "1.104.0",
3
+ "version": "1.106.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",