{ "version": 3, "sources": ["../../../node_modules/@segment/analytics-core/src/callback/index.ts"], "sourcesContent": ["import { CoreContext } from '../context'\nimport type { Callback } from '../events'\n\nexport function pTimeout(promise: Promise, timeout: number): Promise {\n return new Promise((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n reject(Error('Promise timed out'))\n }, timeout)\n\n promise\n .then((val) => {\n clearTimeout(timeoutId)\n return resolve(val)\n })\n .catch(reject)\n })\n}\n\nexport function sleep(timeoutInMs: number): Promise {\n return new Promise((resolve) => setTimeout(resolve, timeoutInMs))\n}\n\n/**\n * @param ctx\n * @param callback - the function to invoke\n * @param delay - aka \"timeout\". The amount of time in ms to wait before invoking the callback.\n */\nexport function invokeCallback(\n ctx: Ctx,\n callback: Callback,\n delay: number\n): Promise {\n const cb = () => {\n try {\n return Promise.resolve(callback(ctx))\n } catch (err) {\n return Promise.reject(err)\n }\n }\n\n return (\n sleep(delay)\n // pTimeout ensures that the callback can't cause the context to hang\n .then(() => pTimeout(cb(), 1000))\n .catch((err) => {\n ctx?.log('warn', 'Callback Error', { error: err })\n ctx?.stats.increment('callback_error')\n })\n .then(() => ctx)\n )\n}\n"], "mappings": ";AAGM,SAAU,SAAY,SAAqB,SAAe;AAC9D,SAAO,IAAI,QAAQ,SAAC,SAAS,QAAM;AACjC,QAAM,YAAY,WAAW,WAAA;AAC3B,aAAO,MAAM,mBAAmB,CAAC;IACnC,GAAG,OAAO;AAEV,YACG,KAAK,SAAC,KAAG;AACR,mBAAa,SAAS;AACtB,aAAO,QAAQ,GAAG;IACpB,CAAC,EACA,MAAM,MAAM;EACjB,CAAC;AACH;AAEM,SAAU,MAAM,aAAmB;AACvC,SAAO,IAAI,QAAQ,SAAC,SAAO;AAAK,WAAA,WAAW,SAAS,WAAW;EAA/B,CAAgC;AAClE;AAOM,SAAU,eACd,KACA,UACA,OAAa;AAEb,MAAM,KAAK,WAAA;AACT,QAAI;AACF,aAAO,QAAQ,QAAQ,SAAS,GAAG,CAAC;aAC7B,KAAK;AACZ,aAAO,QAAQ,OAAO,GAAG;;EAE7B;AAEA,SACE,MAAM,KAAK,EAER,KAAK,WAAA;AAAM,WAAA,SAAS,GAAE,GAAI,GAAI;EAAnB,CAAoB,EAC/B,MAAM,SAAC,KAAG;AACT,YAAG,QAAH,QAAG,SAAA,SAAH,IAAK,IAAI,QAAQ,kBAAkB,EAAE,OAAO,IAAG,CAAE;AACjD,YAAG,QAAH,QAAG,SAAA,SAAH,IAAK,MAAM,UAAU,gBAAgB;EACvC,CAAC,EACA,KAAK,WAAA;AAAM,WAAA;EAAA,CAAG;AAErB;", "names": [] }