diff --git a/scripts/App.svelte b/scripts/App.svelte
index 6068b006..4f8c7862 100644
--- a/scripts/App.svelte
+++ b/scripts/App.svelte
@@ -18,7 +18,7 @@
{id: '70'},
]
- export let espèces;
+ export let espècesProtégéesParClassification;
/** @type { DescriptionMenaceEspèce[] } */
export let descriptionMenacesEspèces;
@@ -74,7 +74,7 @@
{/each}
-
+
|
|
{#if classification === "oiseau"}
diff --git a/scripts/main.js b/scripts/main.js
index 2f9e5f1b..885d915f 100644
--- a/scripts/main.js
+++ b/scripts/main.js
@@ -1,6 +1,11 @@
-import App from './App.svelte';
+//@ts-check
+
import { dsv } from 'd3-fetch';
+import App from './App.svelte';
+
+import './types.js'
+
function getURL(selector){
const element = document.head.querySelector(selector)
@@ -28,10 +33,31 @@ data.forEach(d => {
})
console.log(dataMap)
+/** @type { {REGNE: Règne, CLASSE: Classe, CD_NOM: string }[] } */
+const listeEspècesProtégées = [...dataMap.values()]
+
+const filtreParClassification = new Map([
+ ["oiseau", ((/** @type {{REGNE: Règne, CLASSE: Classe}} */ {REGNE, CLASSE}) => {
+ return REGNE === 'Animalia' && CLASSE === 'Aves'
+ })],
+ ["faune non-oiseau", ((/** @type {{REGNE: Règne, CLASSE: Classe}} */ {REGNE, CLASSE}) => {
+ return REGNE === 'Animalia' && CLASSE !== 'Aves'
+ })],
+ ["flore", ((/** @type {{REGNE: Règne, CLASSE: Classe}} */ {REGNE}) => {
+ return REGNE === 'Plantae'
+ })]
+])
+
+const espècesProtégéesParClassification = new Map(
+ [...filtreParClassification].map(([classif, filtre]) => ([classif, listeEspècesProtégées.filter(filtre)]))
+)
+
+console.log('espècesProtégéesParClassification', espècesProtégéesParClassification)
+
const app = new App({
target: document.querySelector('.svelte-main'),
props: {
- espèces: [...dataMap.values()],
+ espècesProtégéesParClassification,
descriptionMenacesEspèces: [
{
classification: "oiseau", // Type d'espèce menacée
diff --git a/scripts/types.js b/scripts/types.js
index 4189fd8b..68fa71f6 100644
--- a/scripts/types.js
+++ b/scripts/types.js
@@ -1,5 +1,8 @@
/** @typedef { 1 | 2 | 3 | 4 | 5 | 60 | 70 } ActivitéMenançante // tous */
/** @typedef { 0 | 1 | 2 | 10 | 11 | 12 | 13 | 14 } MéthodeMenançante // tous */
+/** @typedef { 'Animalia' | 'Plantae' | 'Fungi' | 'Chromista' } Règne // incomplet */
+/** @typedef { 'Amphibia' | 'Actinopterygii' | 'Malacostraca' | 'Mammalia' | 'Aves' | 'Anthozoa' | 'Equisetopsida' | 'Gastropoda' | 'Insecta' | 'Bivalvia' | 'Petromyzonti' | 'Lecanoromycetes' | 'Ulvophyceae' | 'Holothuroidea' | 'Elasmobranchii' | 'Arachnida' | 'Charophyceae' | 'Cephalopoda' | 'Echinoidea' | 'Phaeophyceae' } Classe // incomplet */
+
/**
* @typedef {"oiseau" | "faune non-oiseau" | "flore"} ClassificationEtreVivant