CheckIf.js è una interessante libreria Javascript che permette di effettuare una nutrita collezione di controlli per verificare che una condizione sia vera: i cosiddetti "check". Sebbene questa funzionalità possa essere considerata intrinseca o standard, la realtà dei fatti è ben diversa: alcuni check/controlli hanno sintassi proprietarie e non sono conformi agli standard, rendendoli di fatto non cross-browser, altri utilizzano le API ECMA a cui devono essere aggiunti manualmente controlli per renderli efficaci ed intuitivi.
Vediamo su quali campi agisce Checkif.js.
If
Questo gruppo di funzioni permette di verificare che un valore sia di un determinato tipo. Appartengono all'oggetto if
del pacchetto If:
Tipo di dato | Descrizione |
---|---|
null( val ); |
Restituisce true se val è NULL |
undefined( val ); |
Restituisce true se val è undefined |
nullable( val ); |
Restituisce true se val è NULL o undefined |
nan( val ); |
Restituisce true se val non è un numero (NaN) |
array( val ); |
Restituisce true se val è un array (cross-browser) |
string( val ); |
Restituisce true se val è una stringa |
boolean( val ); |
Restituisce true se val è un booleano |
char( val ); |
Restituisce true se val è un carattere |
number( val ); |
Restituisce true se val è un numero |
regexp( val ); |
Restituisce true se val è un'espressione regolare |
date( val ); |
Restituisce true se val è una data |
object( val ); |
Restituisce true se val è oggetto |
object( val ); |
Restituisce true se val è oggetto |
E molti, molti altri ancora.
All
Questo metodo controlla che tutti gli elementi in un enumerabile (array o oggetto) corrispondano a un valore o una funzione specifica:
all({ x: 1, y: 1 }, 1); // true
let a = {};
all({ x: a, y: a }, x => x === a); // true
all({ x: 0, y: new Number(0) }, function(x){ return x === 0; }); // false
all([0, 0, 0, 0], 0);
// true
all([2, 4, 6, 8], x => x%2 === 0);
// true
all([0, 1, 2, 3], 1);
// false
Any
Questo metodo controlla che almeno un elemento in un enumerabile (array o oggetto) corrispondano a un valore o una funzione specifica:
import { any } from 'checkif.js';
any([0,1,2,3], 2); // true
any([0,1,2,3], x => x === 0); // true
any({ x : 1, y : 0}, x => x === 1); // true
any([0, 1, 2, 3], 1); // false
any({ x : 1, y : 1}, 2); // false
any([0,1,2,3], x => x === 5); //false
Questi sono solo alcuni dei moltissimi controlli che è possibile effettuare con la libreria. Nella pagina GIT del progetto è possibile vederli tutti in azione con tanto di documentazione completa.