@hazae41/box
Version:
Rust-like Box and similar objects for TypeScript
1 lines • 1.48 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../../../../../src/mods/deferred/index.ts"],"sourcesContent":["export class Deferred {\n\n constructor(\n readonly value: () => void\n ) { }\n\n static void() {\n return new Deferred(() => { })\n }\n\n [Symbol.dispose]() {\n this.value()\n }\n\n async [Symbol.asyncDispose]() {\n this[Symbol.dispose]()\n }\n\n get() {\n return this.value\n }\n\n}\n\nexport class AsyncDeferred {\n\n constructor(\n readonly value: () => PromiseLike<void>\n ) { }\n\n static void() {\n return new AsyncDeferred(async () => { })\n }\n\n async [Symbol.asyncDispose]() {\n await this.value()\n }\n\n get() {\n return this.value\n }\n\n}"],"names":[],"mappings":";;MAAa,QAAQ,CAAA;AAGR,IAAA,KAAA,CAAA;AADX,IAAA,WAAA,CACW,KAAiB,EAAA;QAAjB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;KACvB;AAEL,IAAA,OAAO,IAAI,GAAA;QACT,OAAO,IAAI,QAAQ,CAAC,MAAQ,GAAC,CAAC,CAAA;KAC/B;IAED,CAAC,MAAM,CAAC,OAAO,CAAC,GAAA;QACd,IAAI,CAAC,KAAK,EAAE,CAAA;KACb;AAED,IAAA,OAAO,MAAM,CAAC,YAAY,CAAC,GAAA;AACzB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;KACvB;IAED,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAA;KAClB;AAEF,CAAA;MAEY,aAAa,CAAA;AAGb,IAAA,KAAA,CAAA;AADX,IAAA,WAAA,CACW,KAA8B,EAAA;QAA9B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAyB;KACpC;AAEL,IAAA,OAAO,IAAI,GAAA;QACT,OAAO,IAAI,aAAa,CAAC,YAAW,GAAI,CAAC,CAAA;KAC1C;AAED,IAAA,OAAO,MAAM,CAAC,YAAY,CAAC,GAAA;AACzB,QAAA,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;KACnB;IAED,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAA;KAClB;AAEF;;;;;"}