1. /**
  2. * Parses data for short-lived tasks, supporting older JavaScript versions.
  3. *
  4. * @param {string} dataString The string containing the task data. Assumes a simple
  5. * key-value pair format separated by a delimiter (e.g., '&').
  6. * @param {string} delimiter The delimiter separating key-value pairs. Defaults to '&'.
  7. * @returns {object} An object containing the parsed task data. Returns an empty object
  8. * if the input data is invalid.
  9. */
  10. function parseTaskData(dataString, delimiter = '&') {
  11. if (typeof dataString !== 'string' || dataString.trim() === '') {
  12. return {}; // Handle invalid input
  13. }
  14. const data = {};
  15. const pairs = dataString.split(delimiter);
  16. for (const pair of pairs) {
  17. if (pair.trim() !== '') {
  18. const [key, value] = pair.split('=');
  19. if (key && value) {
  20. data[key.trim()] = value.trim();
  21. }
  22. }
  23. }
  24. return data;
  25. }

Add your comment