UNPKG

pragma-views2

Version:

1 lines 543 B
export class ObjectStore{constructor(){this.store=[]}dispose(){this._clear()}_clear(){for(let t of this.store)null!=t.dispose&&t.dispose();this.store=null}createObjectCallback(){}finilizeCallback(t){return t}getItem(){if(this.store.length>0)return this.store.pop();return this.createObjectCallback()}async initStore(t){for(let e=0;e<t;e++)this.store.push(this.createObjectCallback())}recycleCallback(t){return t}async returnItem(t,e){t=this.recycleCallback(t),null!=e&&e(t),this.finilizeCallback(t),this.store.push(t)}async returnItems(t,e){}}