UNPKG

@aws-amplify/storage

Version:

Storage category of aws-amplify

1 lines 2.02 kB
{"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;;;;"}