react-diode
Advanced tools
Comparing version 0.2.1 to 0.2.2
@@ -12,22 +12,34 @@ 'use strict'; | ||
function resolvePendingQueries(pendingQueries, response) { | ||
return pendingQueries.map(function (pendingQuery) { | ||
var callback = pendingQuery.callback; | ||
var dependencies = pendingQuery.dependencies; | ||
function resolvePendingQuery(pendingQuery, response) { | ||
var callback = pendingQuery.callback; | ||
var dependencies = pendingQuery.dependencies; | ||
var resolvedDependencies = dependencies.map(function (query) { | ||
return response[query.type]; | ||
}).filter(function (response) { | ||
return Boolean(response); | ||
}); | ||
var resolvedDependencies = dependencies.map(function (query) { | ||
return response[query.type]; | ||
}).filter(function (response) { | ||
return Boolean(response); | ||
}); | ||
if (resolvedDependencies.length === dependencies.length) { | ||
// all dependencies resolvedDependencies | ||
var queryRequestInfo = callback.apply(undefined, _toConsumableArray(resolvedDependencies)); | ||
return (0, _DiodeQueryRequest.generateQueryRequest)(pendingQuery, queryRequestInfo); | ||
} else { | ||
return pendingQuery; | ||
if (resolvedDependencies.length === dependencies.length) { | ||
// all dependencies resolvedDependencies | ||
var queryRequestInfo = callback.apply(undefined, _toConsumableArray(resolvedDependencies)); | ||
var queryRequest = (0, _DiodeQueryRequest.generateQueryRequest)(pendingQuery, queryRequestInfo); | ||
// After resolving initial query dependencies, it's possible that the query | ||
// still return pending query which can be resolved using initial response. | ||
if (queryRequest.dependencies) { | ||
return resolvePendingQuery(queryRequest, response); | ||
} | ||
return queryRequest; | ||
} else { | ||
return pendingQuery; | ||
} | ||
} | ||
function resolvePendingQueries(pendingQueries, response) { | ||
return pendingQueries.map(function (pendingQuery) { | ||
return resolvePendingQuery(pendingQuery, response); | ||
}); | ||
} |
{ | ||
"name": "react-diode", | ||
"version": "0.2.1", | ||
"version": "0.2.2", | ||
"description": "Endpoint agnostic, unidirectional data fetching for React applications", | ||
@@ -5,0 +5,0 @@ "main": "lib/DiodePublic.js", |
42949
865