class GreetingGenerator {
generateGreeting(name: string, greetingType: 'formal' | 'casual' |'special', prefix?: string): string {
if (!['formal', 'casual','special'].includes(greetingType)) {
throw new Error('Invalid greeting type');
}
if (!prefix) {
if (greetingType === 'formal') {
prefix = name.startsWith('Mr.') || name.startsWith('Ms.')? '' : 'Ms.';
} else if (greetingType === 'casual') {
prefix = 'buddy';
} else {
prefix = 'dear';
}
}
if (greetingType === 'formal') {
return `${prefix} ${name}, how are you?`;
} else if (greetingType === 'casual') {
return `Hey ${prefix}! How's it going?`;
} else {
return `${prefix} ${name}, this is a special greeting!`;
}
}
}