UNPKG

typed-utilities

Version:
26 lines (21 loc) 1.13 kB
"use strict"; var _ = require(".."); test(`Deferred`, async () => { const deferredNull = _.Deferred.defer(); expect(_.AsyncResult.is.pending(deferredNull.state())).toEqual(true); (0, _.sleep)(1000).then(() => deferredNull.resolve(null)); expect(_.AsyncResult.is.pending(deferredNull.state())).toEqual(true); expect(await deferredNull.await()).toEqual(null); expect(_.AsyncResult.is.resolved(deferredNull.state())).toEqual(true); expect(() => deferredNull.resolve(null)).toThrow(); expect(() => deferredNull.reject(new Error())).toThrow(); const deferredError = _.Deferred.defer(); expect(_.AsyncResult.is.pending(deferredError.state())).toEqual(true); (0, _.sleep)(1000).then(() => deferredError.reject(new Error())); expect(_.AsyncResult.is.pending(deferredError.state())).toEqual(true); await expect(async () => await deferredError.await()).rejects.toBeTruthy(); expect(_.AsyncResult.is.rejected(deferredError.state())).toEqual(true); expect(() => deferredError.resolve(null)).toThrow(); expect(() => deferredError.reject(new Error())).toThrow(); }); //# sourceMappingURL=Deferred.test.js.map