{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAEnB;;OAEG;IACH,OAAO,CAAiB;IAExB;;OAEG;IACH,MAAM,CAAoB;IAE1B;;OAEG;IACH,OAAO,GAAe,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF;;;OAGG;IACH,MAAM,KAAK,QAAQ;QACjB,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,eAAe,QAAQ,CAAA","sourcesContent":["/**\n * A handle around a Promise, so it may be resolved or\n * rejected from outside the Promise constructor.\n */\nexport class Deferred<T = unknown> {\n\n  /**\n   * Resolve the promise\n   */\n  resolve!: (v: T) => void\n\n  /**\n   * Reject the promise\n   */\n  reject!: (er: any) => void\n\n  /**\n   * The promise that gets resolved or rejected\n   */\n  promise: Promise<T> = new Promise((res, rej) => {\n    this.resolve = res\n    this.reject = rej\n  })\n\n  /**\n   * static reference to the class, so that\n   * require('trivial-deferred').Deferred works\n   */\n  static get Deferred() {\n    return Deferred\n  }\n}\n\nexport default Deferred\n"]}