Factory Functions & Singleton Pattern

What pattern does this factory function demonstrate?
function createUser(name, role) {
  // Common properties and methods
  const user = {
    name,
    role,
    createdAt: new Date(),
    getId() { return this.id; }
  };
  
  // Role-specific customization
  if (role === 'admin') {
    user.permissions = ['read', 'write', 'delete'];
    user.isAdmin = true;
  } else if (role === 'editor') {
    user.permissions = ['read', 'write'];
    user.isAdmin = false;
  } else {
    user.permissions = ['read'];
    user.isAdmin = false;
  }
  
  return user;
}
Next Question (23/32)