1. /**
  2. * Parses user input with verbose logging.
  3. *
  4. * @param {string} userInput The user's input.
  5. * @returns {object|null} The parsed data, or null if parsing fails.
  6. */
  7. function parseUserInput(userInput) {
  8. console.log(`Parsing user input: ${userInput}`); // Log the input
  9. try {
  10. const parsedData = parseData(userInput); // Call the parsing function
  11. console.log(`Successfully parsed data: ${JSON.stringify(parsedData)}`); // Log parsed data
  12. return parsedData;
  13. } catch (error) {
  14. console.error(`Error parsing data: ${error.message}`); // Log the error
  15. return null;
  16. }
  17. }
  18. /**
  19. * Parses the input string based on a defined format.
  20. * This is a placeholder, replace with your actual parsing logic.
  21. *
  22. * @param {string} input The input string to parse.
  23. * @returns {object} The parsed data.
  24. */
  25. function parseData(input) {
  26. // Example parsing logic (replace with your own)
  27. if (input.startsWith("name=")) {
  28. const name = input.substring(5); // Extract the name
  29. return { name: name };
  30. } else if (input.startsWith("age=")) {
  31. const age = parseInt(input.substring(4), 10); // Extract age and parse as integer
  32. return { age: age };
  33. } else {
  34. throw new Error("Invalid input format."); // Throw error if input format is invalid
  35. }
  36. }
  37. // Example usage (for testing purposes)
  38. const userInput1 = "name=John Doe";
  39. const parsedData1 = parseUserInput(userInput1);
  40. console.log("Parsed data 1:", parsedData1);
  41. const userInput2 = "age=30";
  42. const parsedData2 = parseUserInput(userInput2);
  43. console.log("Parsed data 2:", parsedData2);
  44. const userInput3 = "invalid input";
  45. const parsedData3 = parseUserInput(userInput3);
  46. console.log("Parsed data 3:", parsedData3);

Add your comment