normalize-user.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /**
  2. * Module dependencies
  3. */
  4. var util = require('util');
  5. var assert = require('assert');
  6. var _ = require('@sailshq/lodash');
  7. var flaverr = require('flaverr');
  8. /**
  9. * normalizeUser()
  10. *
  11. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  12. * @param {Ref} user
  13. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  14. * @returns {String}
  15. * The normalized value.
  16. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  17. * @throws {E_BAD_CONFIG} If cannot be normalized.
  18. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  19. */
  20. module.exports = function normalizeUser (user) {
  21. assert(!_.isUndefined(user), 'Should be defined');
  22. if (_.isNumber(user)) {
  23. user = ''+user;
  24. }//>-
  25. if (!_.isString(user)) {
  26. throw flaverr('E_BAD_CONFIG', new Error('Invalid user (`'+util.inspect(user)+'`). Must be a string.'));
  27. }
  28. return user;
  29. };