/dpe-validator

A Javascript library to validate a DPE

Primary LanguageJavaScriptMIT LicenseMIT

DPE Validator

RedFroggy

A RedFroggy project


Build with love Made with javascript
Build badge Badge semantic release

This Javascript library provide some utilities to valide a DPE

Statements Branches Functions Lines
Statements Branches Functions Lines

Why ?

  • Many DPEs do not always contain all the information necessary to establish scores and calculate losses for the affected housing units.
  • Before being able to carry out processing on the data, it is often necessary to be able to detect potential anomalies or missing data
  • 2 error levels will be reported:
    • warning for non-blocking errors allowing all or part of the DPE to be analyzed
    • error for blocking errors in data analysis (for example if no walls are present)
  • 2 versions of the same DPEs can be analyzed in order to detect anomalies by comparing the data (for example window number which changes between the 2 versions)

How to use it

  • npm install dpe-validator --save
  • A dpe can nom be analyzed based on its json :
import { DpeValidator } from 'dpe-validator';

new DpeValidator().validate({
    numero_dpe: "2344E0308327N",
    statut: "ACTIF",
    administratif: {...},
    ...
});
[
  {
    "code": "NO_MURS_COLLECTION",
    "level": "WARNING"
  }
]
  • Two dpe can be compared analyzed based on their json :
import { DpeComparator } from 'dpe-comparator';

new DpeComparator().compare(
  {
    mur_collection: [{}, {}],
    logement: {
      caracteristique_generale: {
        annee_construction: 1948
      }
    }
  },
  {
    mur_collection: [{}],
    logement: {
      caracteristique_generale: {
        annee_construction: 1970
      }
    }
  }
);
{
  "size": {
    "mur_collection": { "is": 2, "was": 1 }
  },
  "values": {
    "annee_construction": {
      "is": 1948,
      "was": 1970
    }
  }
}

Getting started

  • npm install to get node dependencies
  • npm run build to build the application

Tests

Unit tests

  • npm run test to start Jest tests with coverage
  • HTML and coverage reports are generated under the coverage and coverage/lcov-report folders.

Code quality

npm run qa:lint. Will check your code based on eslint.confi.js config file