{"version":3,"file":"isPathFolder.mjs","sources":["../../../../../src/providers/s3/utils/isPathFolder.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 { listObjectsV2 } from './client/s3data';\nimport { getStorageUserAgentValue } from './userAgent';\n/**\n * Determines if a given S3 key represents a folder by checking if objects exist with that prefix.\n *\n * @param params - Configuration object for the folder check\n * @returns Promise that resolves to true if the key represents a folder, false otherwise\n */\nexport const isPathFolder = async (params) => {\n    const { s3Config, bucket, key, expectedBucketOwner } = params;\n    try {\n        const prefix = key.endsWith('/') ? key : `${key}/`;\n        const result = await listObjectsV2({\n            ...s3Config,\n            userAgentValue: getStorageUserAgentValue(StorageAction.Remove),\n        }, {\n            Bucket: bucket,\n            Prefix: prefix,\n            MaxKeys: 1,\n            ExpectedBucketOwner: expectedBucketOwner,\n        });\n        const isFolder = !!(result.Contents && result.Contents.length > 0) ||\n            !!(result.CommonPrefixes && result.CommonPrefixes.length > 0);\n        return isFolder;\n    }\n    catch (error) {\n        return false;\n    }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,YAAY,GAAG,OAAO,MAAM,KAAK;AAC9C,IAAI,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,GAAG,MAAM;AACjE,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1D,QAAQ,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;AAC3C,YAAY,GAAG,QAAQ;AACvB,YAAY,cAAc,EAAE,wBAAwB,CAAC,aAAa,CAAC,MAAM,CAAC;AAC1E,SAAS,EAAE;AACX,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,OAAO,EAAE,CAAC;AACtB,YAAY,mBAAmB,EAAE,mBAAmB;AACpD,SAAS,CAAC;AACV,QAAQ,MAAM,QAAQ,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1E,YAAY,CAAC,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;AACzE,QAAQ,OAAO,QAAQ;AACvB,IAAI;AACJ,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ;;;;"}