{"version":3,"file":"remove.mjs","sources":["../../../../../../src/providers/s3/apis/internal/remove.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { StorageAction } from '@aws-amplify/core/internals/utils';\nimport { deleteFolderContents, isPathFolder, resolveFinalKey, resolveS3ConfigAndInput, validateBucketOwnerID, validateRemovePath, validateStorageOperationInput, } from '../../utils';\nimport { deleteObject } from '../../utils/client/s3data';\nimport { getStorageUserAgentValue } from '../../utils/userAgent';\nimport { STORAGE_INPUT_KEY } from '../../utils/constants';\nimport { createAbortableTask } from '../../utils/createAbortableTask';\nimport { CanceledError } from '../../../../errors/CanceledError';\nexport function remove(amplify, input) {\n    return createAbortableTask(executeRemove(amplify, input));\n}\nconst executeRemove = (amplify, input) => async (abortController) => {\n    try {\n        const { s3Config, keyPrefix, bucket, identityId } = await resolveS3ConfigAndInput(amplify, input);\n        const { inputType, objectKey } = validateStorageOperationInput(input, identityId);\n        validateBucketOwnerID(input.options?.expectedBucketOwner);\n        const finalKey = resolveFinalKey(inputType, objectKey, keyPrefix);\n        validateRemovePath(finalKey);\n        const isFolder = finalKey.endsWith('/') ||\n            (await isPathFolder({\n                s3Config,\n                bucket,\n                key: finalKey,\n                expectedBucketOwner: input.options?.expectedBucketOwner,\n            }));\n        if (isFolder) {\n            return deleteFolderContents({\n                s3Config,\n                bucket,\n                folderKey: finalKey,\n                expectedBucketOwner: input.options?.expectedBucketOwner,\n                onProgress: input.options?.onProgress,\n                abortSignal: abortController.signal,\n            });\n        }\n        else {\n            if (abortController.signal.aborted) {\n                throw new CanceledError({ message: 'Operation was cancelled' });\n            }\n            await deleteObject({\n                ...s3Config,\n                userAgentValue: getStorageUserAgentValue(StorageAction.Remove),\n                abortSignal: abortController.signal,\n            }, {\n                Bucket: bucket,\n                Key: finalKey,\n                ExpectedBucketOwner: input.options?.expectedBucketOwner,\n            });\n            const result = inputType === STORAGE_INPUT_KEY\n                ? { key: objectKey }\n                : { path: objectKey };\n            return result;\n        }\n    }\n    catch (error) {\n        if (abortController.signal.aborted) {\n            throw new CanceledError({ message: 'Operation was cancelled' });\n        }\n        throw error;\n    }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAQO,SAAS,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;AACvC,IAAI,OAAO,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7D;AACA,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,eAAe,KAAK;AACrE,IAAI,IAAI;AACR,QAAQ,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC;AACzG,QAAQ,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,6BAA6B,CAAC,KAAK,EAAE,UAAU,CAAC;AACzF,QAAQ,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC;AACjE,QAAQ,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AACzE,QAAQ,kBAAkB,CAAC,QAAQ,CAAC;AACpC,QAAQ,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC/C,aAAa,MAAM,YAAY,CAAC;AAChC,gBAAgB,QAAQ;AACxB,gBAAgB,MAAM;AACtB,gBAAgB,GAAG,EAAE,QAAQ;AAC7B,gBAAgB,mBAAmB,EAAE,KAAK,CAAC,OAAO,EAAE,mBAAmB;AACvE,aAAa,CAAC,CAAC;AACf,QAAQ,IAAI,QAAQ,EAAE;AACtB,YAAY,OAAO,oBAAoB,CAAC;AACxC,gBAAgB,QAAQ;AACxB,gBAAgB,MAAM;AACtB,gBAAgB,SAAS,EAAE,QAAQ;AACnC,gBAAgB,mBAAmB,EAAE,KAAK,CAAC,OAAO,EAAE,mBAAmB;AACvE,gBAAgB,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU;AACrD,gBAAgB,WAAW,EAAE,eAAe,CAAC,MAAM;AACnD,aAAa,CAAC;AACd,QAAQ;AACR,aAAa;AACb,YAAY,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE;AAChD,gBAAgB,MAAM,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAC/E,YAAY;AACZ,YAAY,MAAM,YAAY,CAAC;AAC/B,gBAAgB,GAAG,QAAQ;AAC3B,gBAAgB,cAAc,EAAE,wBAAwB,CAAC,aAAa,CAAC,MAAM,CAAC;AAC9E,gBAAgB,WAAW,EAAE,eAAe,CAAC,MAAM;AACnD,aAAa,EAAE;AACf,gBAAgB,MAAM,EAAE,MAAM;AAC9B,gBAAgB,GAAG,EAAE,QAAQ;AAC7B,gBAAgB,mBAAmB,EAAE,KAAK,CAAC,OAAO,EAAE,mBAAmB;AACvE,aAAa,CAAC;AACd,YAAY,MAAM,MAAM,GAAG,SAAS,KAAK;AACzC,kBAAkB,EAAE,GAAG,EAAE,SAAS;AAClC,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;AACrC,YAAY,OAAO,MAAM;AACzB,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE;AAC5C,YAAY,MAAM,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAC3E,QAAQ;AACR,QAAQ,MAAM,KAAK;AACnB,IAAI;AACJ,CAAC;;;;"}