1. /**
  2. * Logs string operations with optional flags.
  3. * @param {string} operation - The string operation to perform (e.g., "uppercase", "lowercase", "reverse").
  4. * @param {string} inputString - The string to operate on.
  5. * @param {object} flags - Optional flags to customize the operation.
  6. */
  7. function logStringOperation(operation, inputString, flags = {}) {
  8. console.log(`Performing operation: ${operation}`);
  9. console.log(`Input string: "${inputString}"`);
  10. switch (operation) {
  11. case "uppercase":
  12. const result = inputString.toUpperCase();
  13. console.log(`Result: "${result}"`);
  14. break;
  15. case "lowercase":
  16. const result = inputString.toLowerCase();
  17. console.log(`Result: "${result}"`);
  18. break;
  19. case "reverse":
  20. const result = inputString.split("").reverse().join("");
  21. console.log(`Result: "${result}"`);
  22. break;
  23. case "capitalize":
  24. const result = inputString.charAt(0).toUpperCase() + inputString.slice(1);
  25. console.log(`Result: "${result}"`);
  26. break;
  27. case "length":
  28. const result = inputString.length;
  29. console.log(`Result: ${result}`);
  30. break;
  31. default:
  32. console.log("Invalid operation.");
  33. }
  34. }

Add your comment