UNPKG

@aws-amplify/storage

Version:

Storage category of aws-amplify

1 lines 4.24 kB
{"version":3,"file":"serializeHelpers.mjs","sources":["../../../../../../../src/providers/s3/utils/client/utils/serializeHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { extendedEncodeURIComponent } from '@aws-amplify/core/internals/aws-client-utils';\nimport { AmplifyErrorCode } from '@aws-amplify/core/internals/utils';\nimport { StorageError } from '../../../../../errors/StorageError';\n/**\n * @internal\n */\nexport const assignStringVariables = (values) => {\n const queryParams = {};\n for (const [key, value] of Object.entries(values)) {\n if (value != null) {\n queryParams[key] = value.toString();\n }\n }\n return queryParams;\n};\n/**\n * Serailize the parameters for configuring the S3 object. Currently used by\n * `putObject` and `createMultipartUpload` API.\n *\n * @internal\n */\nexport const serializeObjectConfigsToHeaders = async (input) => ({\n ...assignStringVariables({\n 'x-amz-acl': input.ACL,\n 'cache-control': input.CacheControl,\n 'content-disposition': input.ContentDisposition,\n 'content-language': input.ContentLanguage,\n 'content-encoding': input.ContentEncoding,\n 'content-type': input.ContentType,\n expires: input.Expires?.toUTCString(),\n 'x-amz-tagging': input.Tagging,\n ...serializeMetadata(input.Metadata),\n }),\n});\nconst serializeMetadata = (metadata = {}) => Object.keys(metadata).reduce((acc, suffix) => {\n acc[`x-amz-meta-${suffix.toLowerCase()}`] = metadata[suffix];\n return acc;\n}, {});\n/**\n * Serialize the object key to a URL pathname.\n * @see https://github.com/aws/aws-sdk-js-v3/blob/7ed7101dcc4e81038b6c7f581162b959e6b33a04/clients/client-s3/src/protocols/Aws_restXml.ts#L1108\n *\n * @internal\n */\nexport const serializePathnameObjectKey = (url, key) => {\n return (url.pathname.replace(/\\/$/, '') +\n `/${key.split('/').map(extendedEncodeURIComponent).join('/')}`);\n};\nexport function validateS3RequiredParameter(assertion, paramName) {\n if (!assertion) {\n throw new StorageError({\n name: AmplifyErrorCode.Unknown,\n message: 'An unknown error has occurred.',\n underlyingError: new TypeError(`Expected a non-null value for S3 parameter ${paramName}`),\n recoverySuggestion: 'This is likely to be a bug. Please reach out to library authors.',\n });\n }\n}\n"],"names":[],"mappings":";;;;AAAA;AACA;AAIA;AACA;AACA;AACY,MAAC,qBAAqB,GAAG,CAAC,MAAM,KAAK;AACjD,IAAI,MAAM,WAAW,GAAG,EAAE,CAAC;AAC3B,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACvD,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE;AAC3B,YAAY,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChD,SAAS;AACT,KAAK;AACL,IAAI,OAAO,WAAW,CAAC;AACvB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,+BAA+B,GAAG,OAAO,KAAK,MAAM;AACjE,IAAI,GAAG,qBAAqB,CAAC;AAC7B,QAAQ,WAAW,EAAE,KAAK,CAAC,GAAG;AAC9B,QAAQ,eAAe,EAAE,KAAK,CAAC,YAAY;AAC3C,QAAQ,qBAAqB,EAAE,KAAK,CAAC,kBAAkB;AACvD,QAAQ,kBAAkB,EAAE,KAAK,CAAC,eAAe;AACjD,QAAQ,kBAAkB,EAAE,KAAK,CAAC,eAAe;AACjD,QAAQ,cAAc,EAAE,KAAK,CAAC,WAAW;AACzC,QAAQ,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE;AAC7C,QAAQ,eAAe,EAAE,KAAK,CAAC,OAAO;AACtC,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC5C,KAAK,CAAC;AACN,CAAC,EAAE;AACH,MAAM,iBAAiB,GAAG,CAAC,QAAQ,GAAG,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK;AAC3F,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AACjE,IAAI,OAAO,GAAG,CAAC;AACf,CAAC,EAAE,EAAE,CAAC,CAAC;AACP;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,0BAA0B,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK;AACxD,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAC3C,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AACxE,EAAE;AACK,SAAS,2BAA2B,CAAC,SAAS,EAAE,SAAS,EAAE;AAClE,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,QAAQ,MAAM,IAAI,YAAY,CAAC;AAC/B,YAAY,IAAI,EAAE,gBAAgB,CAAC,OAAO;AAC1C,YAAY,OAAO,EAAE,gCAAgC;AACrD,YAAY,eAAe,EAAE,IAAI,SAAS,CAAC,CAAC,2CAA2C,EAAE,SAAS,CAAC,CAAC,CAAC;AACrG,YAAY,kBAAkB,EAAE,kEAAkE;AAClG,SAAS,CAAC,CAAC;AACX,KAAK;AACL;;;;"}