{"version":3,"file":"createAbortableTask.mjs","sources":["../../../../../src/providers/s3/utils/createAbortableTask.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function createAbortableTask(executor) {\n    const abortController = new AbortController();\n    let state = 'IN_PROGRESS';\n    const resultPromise = executor(abortController);\n    const wrappedPromise = resultPromise\n        .then(result => {\n        state = 'SUCCESS';\n        return result;\n    })\n        .catch(error => {\n        state = abortController.signal.aborted ? 'CANCELED' : 'ERROR';\n        throw error;\n    });\n    const operation = {\n        result: wrappedPromise,\n        cancel: () => {\n            abortController.abort();\n            state = 'CANCELED';\n        },\n        get state() {\n            return state;\n        },\n        then: wrappedPromise.then.bind(wrappedPromise),\n        catch: wrappedPromise.catch.bind(wrappedPromise),\n        finally: wrappedPromise.finally.bind(wrappedPromise),\n    };\n    return operation;\n}\n"],"names":[],"mappings":"AAAA;AACA;AACO,SAAS,mBAAmB,CAAC,QAAQ,EAAE;AAC9C,IAAI,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE;AACjD,IAAI,IAAI,KAAK,GAAG,aAAa;AAC7B,IAAI,MAAM,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC;AACnD,IAAI,MAAM,cAAc,GAAG;AAC3B,SAAS,IAAI,CAAC,MAAM,IAAI;AACxB,QAAQ,KAAK,GAAG,SAAS;AACzB,QAAQ,OAAO,MAAM;AACrB,IAAI,CAAC;AACL,SAAS,KAAK,CAAC,KAAK,IAAI;AACxB,QAAQ,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,GAAG,UAAU,GAAG,OAAO;AACrE,QAAQ,MAAM,KAAK;AACnB,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,MAAM,EAAE,cAAc;AAC9B,QAAQ,MAAM,EAAE,MAAM;AACtB,YAAY,eAAe,CAAC,KAAK,EAAE;AACnC,YAAY,KAAK,GAAG,UAAU;AAC9B,QAAQ,CAAC;AACT,QAAQ,IAAI,KAAK,GAAG;AACpB,YAAY,OAAO,KAAK;AACxB,QAAQ,CAAC;AACT,QAAQ,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;AACtD,QAAQ,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;AACxD,QAAQ,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;AAC5D,KAAK;AACL,IAAI,OAAO,SAAS;AACpB;;;;"}