UNPKG

@web-atoms/core

Version:
25 lines (19 loc) 511 B
import { IDisposable } from "./types"; export default abstract class TransientDisposable implements IDisposable { constructor(owner?: any) { if (owner) { this.registerIn(owner); } } public abstract dispose(); public registerIn(value: any) { const v = value.disposables; if (v) { v.push(this); } else { if (value.registerDisposable) { value.registerDisposable(this); } } } }