1. /**
  2. * Merges datasets of HTTP requests with default values.
  3. *
  4. * @param {Array<Object>} requests - An array of HTTP request objects.
  5. * @param {Object} defaults - An object containing default values.
  6. * @returns {Array<Object>} - A new array of merged HTTP request objects.
  7. */
  8. function mergeRequestsWithDefaults(requests, defaults) {
  9. if (!Array.isArray(requests)) {
  10. return []; // Return empty array if input is not an array
  11. }
  12. const mergedRequests = requests.map(request => {
  13. const merged = { ...request }; // Create a copy to avoid modifying the original
  14. for (const key in defaults) {
  15. if (defaults.hasOwnProperty(key) && !merged.hasOwnProperty(key)) {
  16. merged[key] = defaults[key]; // Add default value if not present
  17. }
  18. }
  19. return merged;
  20. });
  21. return mergedRequests;
  22. }

Add your comment