UNPKG

rest-api-handler

Version:
29 lines (22 loc) 729 B
// processor can be instance of class /** * Resolve given processor. * * @param response - Response to process. * @param list - Array of processors. * @param request - fetch request * @param i - Index of current processor. * @returns Processed response */ async function resolveProcessors(response, list, request, i = 0) { const processor = list[i]; if (!processor) { return response; } const processedResponse = typeof processor === 'function' ? await processor(response, request) : await processor.processResponse(response, request); if (list[i + 1]) { return resolveProcessors(processedResponse, list, request, i + 1); } return processedResponse; } export { resolveProcessors as default };