{"version":3,"file":"index.cjs","sources":["../../../../src/libs/ownable/index.ts"],"sourcesContent":["export type Ownable<T extends Disposable> =\n  | Owned<T>\n  | Unowned<T>\n\nexport class Owned<T extends Disposable> {\n\n  constructor(\n    readonly value: T\n  ) { }\n\n  [Symbol.dispose]() {\n    this.value[Symbol.dispose]()\n  }\n\n  get() {\n    return this.value\n  }\n\n}\n\nexport class Unowned<T extends Disposable> {\n\n  constructor(\n    readonly value: T\n  ) { }\n\n  [Symbol.dispose]() {\n    // NOOP\n  }\n\n  get() {\n    return this.value\n  }\n\n}"],"names":[],"mappings":";;MAIa,KAAK,CAAA;AAGL,IAAA,KAAA;AADX,IAAA,WAAA,CACW,KAAQ,EAAA;QAAR,IAAA,CAAA,KAAK,GAAL,KAAK;IACZ;IAEJ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAA;QACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;IAC9B;IAEA,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,KAAK;IACnB;AAED;MAEY,OAAO,CAAA;AAGP,IAAA,KAAA;AADX,IAAA,WAAA,CACW,KAAQ,EAAA;QAAR,IAAA,CAAA,KAAK,GAAL,KAAK;IACZ;IAEJ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAA;;IAEhB;IAEA,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,KAAK;IACnB;AAED;;;;;"}