@aws-amplify/storage
Version:
Storage category of aws-amplify
38 lines (36 loc) • 1.63 kB
JavaScript
;
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
Object.defineProperty(exports, "__esModule", { value: true });
exports.copy = copy;
const core_1 = require("@aws-amplify/core");
const copy_1 = require("../../providers/s3/apis/internal/copy");
function copy(ctxOrInput, maybeInput) {
// Resolve the optional leading context. The global context is resolved at
// CALL time (never cached) so single-arg callers follow live configuration.
const [ctx, input] = (0, core_1.isAmplifyContext)(ctxOrInput)
? [ctxOrInput, maybeInput]
: [(0, core_1.getGlobalContext)(), ctxOrInput];
return (0, copy_1.copy)(ctx, {
source: {
path: input.source.path,
bucket: input.source.bucket,
eTag: input.source.eTag,
notModifiedSince: input.source.notModifiedSince,
expectedBucketOwner: input.source.expectedBucketOwner,
},
destination: {
path: input.destination.path,
bucket: input.destination.bucket,
expectedBucketOwner: input.destination.expectedBucketOwner,
},
options: {
// Advanced options
locationCredentialsProvider: input.options?.locationCredentialsProvider,
customEndpoint: input?.options?.customEndpoint,
},
// Type casting is necessary because `copyInternal` supports both Gen1 and Gen2 signatures, but here
// given in input can only be Gen2 signature, the return can only ben Gen2 signature.
});
}
//# sourceMappingURL=copy.js.map