UNPKG

@aws-amplify/storage

Version:

Storage category of aws-amplify

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