let result = this.map.get(key)
if (result === undefined) {
result = {deps: [key], time: Date.now()}
- result.done = (
- async () => {
- await build_func(result)
- return result.value
- }
- )()
+ result.done = build_func(result)
this.map.set(key, result)
- let value = await result.done
+ await result.done
delete result.done
- return value
}
- if (result.done === undefined) {
+ else if (result.done === undefined) {
result.done = (
async () => {
for (let i = 0; i < result.deps.length; ++i) {
break
}
}
- return result.value
}
)()
- let value = await result.done
+ await result.done
delete result.done
- return result.value
}
- return /*await*/ result.done
+ else
+ await result.done
+ return result.value
}
module.exports = BuildCache