export class Progress{setTotalWork(totalWork){} setTitle(title){} setWorked(worked,title){} worked(worked){} done(){} isCanceled(){return false;}} export class CompositeProgress{constructor(parent){this._parent=parent;this._children=[];this._childrenDone=0;this._parent.setTotalWork(1);this._parent.setWorked(0);} _childDone(){if(++this._childrenDone!==this._children.length){return;} this._parent.done();} createSubProgress(weight){const child=new SubProgress(this,weight);this._children.push(child);return child;} _update(){let totalWeights=0;let done=0;for(let i=0;i