{"version":3,"sources":["../../../src/internals/helpers/cancellation.ts"],"names":["createAbortController","signals","controller","AbortController","registerSignals","forEach","signal","aborted","abort","reason","addEventListener","once"],"mappings":";;;;AAgBO,SAASA,yBAAyBC,OAAoC,EAAA;AAC3E,EAAMC,MAAAA,UAAAA,GAAa,IAAIC,eAAAA,EAAAA;AACvBC,EAAAA,eAAAA,CAAgBF,YAAYD,OAAAA,CAAAA;AAC5B,EAAOC,OAAAA,UAAAA;AACT;AAJgBF,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AAMT,SAASI,eAAAA,CAAgBF,YAA6BD,OAAoC,EAAA;AAC/FA,EAAQI,OAAAA,CAAAA,OAAAA,CAAQ,CAACC,MAAAA,KAAAA;AACf,IAAA,IAAIA,QAAQC,OAAS,EAAA;AACnBL,MAAWM,UAAAA,CAAAA,KAAAA,CAAMF,OAAOG,MAAM,CAAA;AAChC;AAEAH,IAAQI,MAAAA,EAAAA,gBAAAA,GACN,SACA,MAAA;AACER,MAAWM,UAAAA,CAAAA,KAAAA,CAAMF,QAAQG,MAAAA,CAAAA;KAE3B,EAAA;MACEE,IAAM,EAAA,IAAA;AACNL,MAAAA,MAAAA,EAAQJ,UAAWI,CAAAA;KACrB,CAAA;GAEJ,CAAA;AACF;AAjBgBF,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"cancellation.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function createAbortController(...signals: (AbortSignal | undefined)[]) {\n  const controller = new AbortController();\n  registerSignals(controller, signals);\n  return controller;\n}\n\nexport function registerSignals(controller: AbortController, signals: (AbortSignal | undefined)[]) {\n  signals.forEach((signal) => {\n    if (signal?.aborted) {\n      controller.abort(signal.reason);\n    }\n\n    signal?.addEventListener?.(\n      \"abort\",\n      () => {\n        controller.abort(signal?.reason);\n      },\n      {\n        once: true,\n        signal: controller.signal,\n      },\n    );\n  });\n}\n"]}