class ContextCache { constructor(context) { this.context = context; this.promise = Promise.resolve(); this.result = undefined; } clear() { this.result = undefined; } async rebuild() { const promise = (this.promise = this.context.rebuild()); const result = (this.result = await promise); return result; } isBuilt() { return ( this.result && this.result.outputFiles && this.result.outputFiles.length > 0 ); } } export default ContextCache;