@aws-amplify/storage
Version:
Storage category of aws-amplify
1 lines • 1.88 kB
Source Map (JSON)
{"version":3,"file":"generateDeleteObjectsXml.mjs","sources":["../../../../../src/providers/s3/utils/generateDeleteObjectsXml.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Escapes special XML characters in a string\n * @param str - String to escape\n * @returns XML-escaped string\n */\nconst escapeXml = (str) => {\n return str\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n};\n/**\n * Generates XML for S3 batch delete operations\n *\n * @param objects - Array of objects to delete with their keys\n * @param quiet - Whether to use quiet mode (default: true)\n * @returns XML string for the delete request\n */\nexport const generateDeleteObjectsXml = (objects, quiet) => {\n const objectsXml = objects\n .map(obj => `<Object><Key>${escapeXml(obj.Key)}</Key></Object>`)\n .join('');\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Delete xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\">\n\t<Quiet>${quiet ? 'true' : 'false'}</Quiet>\n\t${objectsXml}\n</Delete>`;\n};\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK;AAC3B,IAAI,OAAO;AACX,SAAS,OAAO,CAAC,IAAI,EAAE,OAAO;AAC9B,SAAS,OAAO,CAAC,IAAI,EAAE,MAAM;AAC7B,SAAS,OAAO,CAAC,IAAI,EAAE,MAAM;AAC7B,SAAS,OAAO,CAAC,IAAI,EAAE,QAAQ;AAC/B,SAAS,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;AAChC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK;AAC5D,IAAI,MAAM,UAAU,GAAG;AACvB,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC;AACvE,SAAS,IAAI,CAAC,EAAE,CAAC;AACjB,IAAI,OAAO,CAAC;AACZ;AACA,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AACnC,CAAC,EAAE,UAAU;AACb,SAAS,CAAC;AACV;;;;"}