{"version":3,"sources":["jsdelivr-header.js","/npm/fp-future@1.0.1/index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,aCCA,SAAgB,SACd,IAAI,EACA,EAEJ,MAAM,EAAe,IAAI,SAAQ,CAAC,EAAI,KACpC,EAAY,IACV,EAAG,GACH,EAAQ,WAAY,CAAK,EAE3B,EAAY,IACV,EAAI,GACJ,EAAQ,WAAY,CAAK,CAC1B,IACA,OAAM,GAAK,QAAQ,OAAO,KAc7B,OAZA,EAAQ,QAAU,EAClB,EAAQ,OAAS,EAEX,YAAa,IACjB,EAAQ,QAAU,IAChB,EAAQ,KAAK,GACb,EAAQ,MAAM,EAAG,GAIrB,EAAQ,WAAY,EAEb,CACT,C,uDA5BA,QAAA,cA8BA,QAAA,QAAe","file":"/npm/fp-future@1.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/fp-future@1.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","export type IFuture<T> = Promise<T> & {\n  resolve: (x: T) => void;\n  reject: (x: Error) => void;\n  finally: (fn: () => void) => void;\n  isPending: boolean;\n};\n\nexport function future<T = any>(): IFuture<T> {\n  let resolver: (x: T) => void;\n  let rejecter: (x: Error) => void;\n\n  const promise: any = new Promise((ok, err) => {\n    resolver = (x: T) => {\n      ok(x);\n      promise.isPending = false;\n    };\n    rejecter = (x: Error) => {\n      err(x);\n      promise.isPending = false;\n    };\n  }).catch(e => Promise.reject(e));\n\n  promise.resolve = resolver;\n  promise.reject = rejecter;\n\n  if (!(\"finally\" in promise)) {\n    promise.finally = fn => {\n      promise.then(fn);\n      promise.catch(fn);\n    };\n  }\n\n  promise.isPending = true;\n\n  return promise as IFuture<T>;\n}\n\nexport default future;\n"]}