value-to-string.js 596 B

12345678910111213141516171819
  1. import {isClass} from './utils/index.js';
  2. /**
  3. * Value to string.
  4. *
  5. * @param {any} input
  6. * @return {string}
  7. */
  8. export function valueToString(input) {
  9. if (input == null) return String(input);
  10. if (typeof input === 'string') return `"${input}"`;
  11. if (typeof input === 'number' || typeof input === 'boolean')
  12. return String(input);
  13. if (isClass(input)) return input.name ? input.name : 'Class';
  14. if (input.constructor && input.constructor.name)
  15. return input.constructor.name;
  16. if (typeof input === 'object' && input.constructor == null) return 'Object';
  17. return String(input);
  18. }