isBooleanable.ts 478 B

1234567891011121314151617181920
  1. const isBooleanable = function (value: any): boolean {
  2. switch (Object.prototype.toString.call(value)) {
  3. case '[object String]':
  4. return [
  5. 'true', 't', 'yes', 'y', 'on', '1',
  6. 'false', 'f', 'no', 'n', 'off', '0'
  7. ].includes(value.trim().toLowerCase());
  8. case '[object Number]':
  9. return [ 0, 1 ].includes(value.valueOf());
  10. case '[object Boolean]':
  11. return true;
  12. default:
  13. return false;
  14. }
  15. };
  16. export { isBooleanable };