switch(true)

Dans la série des petites astuces, j’aime bien utiliser l’instruction switch(true), ca évite parfois des if ... else if ... else if ... else lorsqu’il ne s’agit pas uniquement de comparer le contenu d’une variable.

Un exemple pour tester les arguments passé en ligne de commande à un script NodeJS:

const cliArgs = process.argv.slice(2);
let arg: string | undefined;
while ((arg = args.shift())) {
	switch (true) {
    	// argument avec une valeur, j'utilise .startsWith
		case arg.startsWith('--type='):
        	types = arg.split('=').pop()?.split(',');
            // faites en ce que vous voulez
			break;

		case arg.startsWith('--company='):
			companyFilter = arg.split('=').pop()?.split(',');
			break;

        // argument booléen, j'utilise ===
		case arg === '--init':
			readOptions.init = true;
			break;
		case arg === '--mockup':
			mockup = true;
			break;
	}
}

Voilà, voilà 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.