2
0
mirror of https://github.com/iconify/iconify.git synced 2024-10-24 01:22:04 +00:00
iconify/packages/utils/src/customisations/bool.ts
2021-10-13 10:03:34 +03:00

31 lines
477 B
TypeScript

/**
* Get boolean customisation value from attribute
*/
export function toBoolean(
name: string,
value: unknown,
defaultValue: boolean
): boolean {
switch (typeof value) {
case 'boolean':
return value;
case 'number':
return !!value;
case 'string':
switch (value.toLowerCase()) {
case '1':
case 'true':
case name.toLowerCase():
return true;
case '0':
case 'false':
case '':
return false;
}
}
return defaultValue;
}