agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
46 lines (40 loc) • 1.45 kB
JavaScript
/**
* @file User management utilities
* @description Provides functions for user validation and processing
* @author Developer
* @since 1.0.0
*/
/**
* Validates user input data
* @param {Object} user - The user object to validate
* @param {string} user.name - The user's name
* @param {string} user.email - The user's email address
* @returns {boolean} True if user is valid, false otherwise
* @throws {Error} When user object is null or undefined
* @example
* const isValid = validateUser({ name: 'John', email: 'john@example.com' });
*/
function validateUser(user) {
if (!user) {
throw new Error('User object is required');
}
// Check if name is provided and valid
if (!user.name || typeof user.name !== 'string') {
return false;
}
// Validate email format using regex
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(user.email);
}
/**
* Processes user data for storage
* @param {Object} user - Raw user data
* @returns {Object} Processed user data ready for database
*/
function processUser(user) {
return {
name: user.name.trim(),
email: user.email.toLowerCase(),
createdAt: new Date()
};
}