@aofl/resource-enumerate
Advanced tools
Comparing version 1.0.0-beta.7 to 1.0.0-beta.8
{ | ||
"name": "@aofl/resource-enumerate", | ||
"version": "1.0.0-beta.7", | ||
"version": "1.0.0-beta.8", | ||
"description": "", | ||
@@ -17,4 +17,5 @@ "main": "index.js", | ||
"@aofl/cache-manager": "^1.0.0-beta.7", | ||
"@aofl/middleware": "^1.0.0-beta.1", | ||
"@aofl/server-environment": "^1.0.0-beta.1" | ||
} | ||
} |
import {EnvironmentTypeEnumerate, ServerEnvironment} from '@aofl/server-environment'; | ||
import interpolate from '../interpolate'; | ||
import {CacheManager, CacheTypeEnumerate} from '@aofl/cache-manager'; | ||
import Middleware from '../../../../../js/RequestMiddleware'; | ||
@@ -8,3 +9,3 @@ /** | ||
*/ | ||
class ResourceEnumerate { | ||
class ResourceEnumerate extends Middleware { | ||
/** | ||
@@ -40,3 +41,2 @@ * | ||
} | ||
if (forceNew || (typeof api.invalidateCache === 'function' && api.invalidateCache.call(null))) { | ||
@@ -46,14 +46,24 @@ this.memoryCache.clear(); | ||
let re = this.memoryCache.getItem(apiNs); | ||
if (re !== null && this.environment !== EnvironmentTypeEnumerate.DEV) { | ||
return Promise.resolve(re); | ||
let request = { | ||
apiNs, | ||
cached: re !== null | ||
}; | ||
let preMw = this.__iterateMiddleware(request, 'pre'); | ||
let reResp = null; | ||
if (re !== null) { | ||
reResp = preMw.then((response) => Promise.resolve(re)); | ||
} else { | ||
reResp = fetch(api.url, api.requestOptions) | ||
.then((response) => { | ||
return response.json() | ||
.then((data) => { | ||
return data; | ||
}); | ||
}); | ||
this.memoryCache.setItem(apiNs, reResp); | ||
} | ||
return fetch(api.url, api.requestOptions) | ||
.then((response) => { | ||
return response.json() | ||
.then((data) => { | ||
this.memoryCache.setItem(apiNs, data); | ||
return data; | ||
}); | ||
}); | ||
return reResp.then((response) => this.__iterateMiddleware(request, 'post', response)); | ||
} | ||
@@ -60,0 +70,0 @@ |
4063
115
3
+ Added@aofl/middleware@1.4.1(transitive)