gemi 0.24.2 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/dist/app/index.js +25 -25
  2. package/dist/app/index.js.map +2 -2
  3. package/dist/bin/gemi.js +1 -1
  4. package/dist/bin/gemi.js.map +2 -2
  5. package/dist/broadcasting/index.js +1 -1
  6. package/dist/chunk-0nqce2y1.js +4 -0
  7. package/dist/{chunk-gx3h2xts.js.map → chunk-0nqce2y1.js.map} +6 -6
  8. package/dist/chunk-2ad1cqtt.js +5 -0
  9. package/dist/{chunk-ebcx322z.js.map → chunk-2ad1cqtt.js.map} +1 -1
  10. package/dist/chunk-33p2e7s6.js +5 -0
  11. package/dist/{chunk-k6kx9bhz.js.map → chunk-33p2e7s6.js.map} +2 -2
  12. package/dist/chunk-34cyjp05.js +4 -0
  13. package/dist/{chunk-9f0dmc0v.js.map → chunk-34cyjp05.js.map} +2 -2
  14. package/dist/{chunk-v6hawzhm.js → chunk-3td0xhnw.js} +4 -3
  15. package/dist/{chunk-v6hawzhm.js.map → chunk-3td0xhnw.js.map} +2 -2
  16. package/dist/chunk-697va9vj.js +15 -0
  17. package/dist/chunk-697va9vj.js.map +40 -0
  18. package/dist/chunk-882vm90z.js +5 -0
  19. package/dist/{chunk-47xbr7nj.js.map → chunk-882vm90z.js.map} +2 -2
  20. package/dist/chunk-8rtdf2cd.js +5 -0
  21. package/dist/chunk-8rtdf2cd.js.map +10 -0
  22. package/dist/{chunk-ta6hb843.js → chunk-9rxwxky2.js} +3 -2
  23. package/dist/{chunk-ta6hb843.js.map → chunk-9rxwxky2.js.map} +2 -2
  24. package/dist/chunk-bv0fq16n.js +5 -0
  25. package/dist/{chunk-cp81a2ga.js.map → chunk-bv0fq16n.js.map} +6 -6
  26. package/dist/chunk-c94tyv0f.js +4 -0
  27. package/dist/{chunk-nyqj9vzt.js.map → chunk-c94tyv0f.js.map} +2 -2
  28. package/dist/{chunk-ebcx322z.js → chunk-cbdnkfkw.js} +3 -2
  29. package/dist/chunk-cbdnkfkw.js.map +9 -0
  30. package/dist/chunk-egaxg13a.js +5 -0
  31. package/dist/{chunk-3pw4hcep.js.map → chunk-egaxg13a.js.map} +2 -2
  32. package/dist/chunk-f2qwngan.js +5 -0
  33. package/dist/chunk-f2qwngan.js.map +11 -0
  34. package/dist/{chunk-kbm8egme.js → chunk-fnc2mrgk.js} +4 -3
  35. package/dist/{chunk-kbm8egme.js.map → chunk-fnc2mrgk.js.map} +2 -2
  36. package/dist/chunk-g0qf8xfk.js +5 -0
  37. package/dist/chunk-g0qf8xfk.js.map +10 -0
  38. package/dist/chunk-h5nygx4m.js +26 -0
  39. package/dist/chunk-h5nygx4m.js.map +65 -0
  40. package/dist/chunk-jb8gvdve.js +7 -0
  41. package/dist/{chunk-c3s0zqhy.js.map → chunk-jb8gvdve.js.map} +2 -2
  42. package/dist/{chunk-hj1wc760.js → chunk-m06xgv2s.js} +4 -3
  43. package/dist/{chunk-hj1wc760.js.map → chunk-m06xgv2s.js.map} +2 -2
  44. package/dist/chunk-pmff7dr2.js +4 -0
  45. package/dist/{chunk-z1kwrnv5.js.map → chunk-pmff7dr2.js.map} +2 -2
  46. package/dist/chunk-q47rsdp4.js +4 -0
  47. package/dist/{chunk-5d9ccndf.js.map → chunk-q47rsdp4.js.map} +5 -5
  48. package/dist/chunk-sz5stqah.js +11 -0
  49. package/dist/{chunk-8ctxajfc.js.map → chunk-sz5stqah.js.map} +2 -2
  50. package/dist/chunk-tm1sbeqy.js +4 -0
  51. package/dist/{chunk-nnrnn2qp.js.map → chunk-tm1sbeqy.js.map} +8 -8
  52. package/dist/chunk-tqbe1gyc.js +8 -0
  53. package/dist/{chunk-xpp9rt2p.js.map → chunk-tqbe1gyc.js.map} +2 -2
  54. package/dist/chunk-ve22ma60.js +5 -0
  55. package/dist/chunk-ve22ma60.js.map +14 -0
  56. package/dist/chunk-wt5ayarp.js +6 -0
  57. package/dist/chunk-wt5ayarp.js.map +13 -0
  58. package/dist/{chunk-r5tsj9vp.js → chunk-x6ntsv3z.js} +4 -3
  59. package/dist/{chunk-r5tsj9vp.js.map → chunk-x6ntsv3z.js.map} +2 -2
  60. package/dist/chunk-z7q23s4c.js +4 -0
  61. package/dist/{chunk-x71srja2.js.map → chunk-z7q23s4c.js.map} +2 -2
  62. package/dist/chunk-zf3gtmrt.js +5 -0
  63. package/dist/{chunk-aj408pdc.js.map → chunk-zf3gtmrt.js.map} +2 -2
  64. package/dist/client/QueryResource.d.ts.map +1 -1
  65. package/dist/client/index.d.ts +1 -0
  66. package/dist/client/index.d.ts.map +1 -1
  67. package/dist/client/index.js +61 -2
  68. package/dist/client/index.js.map +1 -1
  69. package/dist/client/useMutate.d.ts +15 -0
  70. package/dist/client/useMutate.d.ts.map +1 -0
  71. package/dist/client/useQuery.d.ts +1 -0
  72. package/dist/client/useQuery.d.ts.map +1 -1
  73. package/dist/email/index.js +2 -2
  74. package/dist/email/index.js.map +2 -2
  75. package/dist/facades/index.js +31 -31
  76. package/dist/facades/index.js.map +7 -7
  77. package/dist/http/index.js +2 -2
  78. package/dist/http/index.js.map +3 -3
  79. package/dist/i18n/index.js +2 -2
  80. package/dist/i18n/index.js.map +2 -2
  81. package/dist/kernel/index.js +2 -2
  82. package/dist/kernel/index.js.map +2 -2
  83. package/dist/server/index.js +2 -2
  84. package/dist/server/index.js.map +2 -2
  85. package/dist/services/index.js +63 -74
  86. package/dist/services/index.js.map +15 -25
  87. package/dist/services/logging/LoggingServiceContainer.d.ts +1 -1
  88. package/dist/services/logging/LoggingServiceContainer.d.ts.map +1 -1
  89. package/dist/services/queue/QueueServiceProvider.d.ts +1 -1
  90. package/dist/services/queue/QueueServiceProvider.d.ts.map +1 -1
  91. package/dist/services/router/createFlatViewRoutes.d.ts +1 -1
  92. package/dist/services/router/createFlatViewRoutes.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/dist/chunk-05v9wdf8.js +0 -4
  95. package/dist/chunk-05v9wdf8.js.map +0 -16
  96. package/dist/chunk-2g4nt8nz.js +0 -27
  97. package/dist/chunk-2g4nt8nz.js.map +0 -47
  98. package/dist/chunk-3pw4hcep.js +0 -4
  99. package/dist/chunk-3tn8zz3h.js +0 -3
  100. package/dist/chunk-3tn8zz3h.js.map +0 -23
  101. package/dist/chunk-47xbr7nj.js +0 -4
  102. package/dist/chunk-5d9ccndf.js +0 -4
  103. package/dist/chunk-5yz4jjwj.js +0 -4
  104. package/dist/chunk-5yz4jjwj.js.map +0 -10
  105. package/dist/chunk-7prh8fq1.js +0 -4
  106. package/dist/chunk-7prh8fq1.js.map +0 -100
  107. package/dist/chunk-7tcvk149.js +0 -3
  108. package/dist/chunk-7tcvk149.js.map +0 -15
  109. package/dist/chunk-8ctxajfc.js +0 -11
  110. package/dist/chunk-9f0dmc0v.js +0 -4
  111. package/dist/chunk-aj408pdc.js +0 -4
  112. package/dist/chunk-c3s0zqhy.js +0 -6
  113. package/dist/chunk-cp81a2ga.js +0 -5
  114. package/dist/chunk-cqgt4nb9.js +0 -5
  115. package/dist/chunk-cqgt4nb9.js.map +0 -23
  116. package/dist/chunk-egd5q5dg.js +0 -12
  117. package/dist/chunk-egd5q5dg.js.map +0 -38
  118. package/dist/chunk-g1pmzbbw.js +0 -5
  119. package/dist/chunk-g1pmzbbw.js.map +0 -11
  120. package/dist/chunk-gx3h2xts.js +0 -4
  121. package/dist/chunk-k6kx9bhz.js +0 -4
  122. package/dist/chunk-nnrnn2qp.js +0 -4
  123. package/dist/chunk-nyqj9vzt.js +0 -4
  124. package/dist/chunk-q2rgbdh1.js +0 -5
  125. package/dist/chunk-q2rgbdh1.js.map +0 -39
  126. package/dist/chunk-trs56wy5.js +0 -9
  127. package/dist/chunk-trs56wy5.js.map +0 -25
  128. package/dist/chunk-x71srja2.js +0 -4
  129. package/dist/chunk-xpp9rt2p.js +0 -8
  130. package/dist/chunk-z09sd6xp.js +0 -7
  131. package/dist/chunk-z09sd6xp.js.map +0 -56
  132. package/dist/chunk-z1kwrnv5.js +0 -4
@@ -1,47 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js", "../../../node_modules/@smithy/util-middleware/dist-cjs/index.js", "../../../node_modules/@smithy/core/dist-cjs/index.js", "../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js", "../../../node_modules/@smithy/smithy-client/dist-cjs/index.js", "../../../node_modules/@smithy/property-provider/dist-cjs/index.js", "../../../node_modules/@smithy/signature-v4/dist-cjs/index.js", "../../../node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js", "../../../node_modules/fast-xml-parser/src/util.js", "../../../node_modules/fast-xml-parser/src/validator.js", "../../../node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js", "../../../node_modules/fast-xml-parser/src/xmlparser/xmlNode.js", "../../../node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js", "../../../node_modules/strnum/strnum.js", "../../../node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js", "../../../node_modules/fast-xml-parser/src/xmlparser/node2json.js", "../../../node_modules/fast-xml-parser/src/xmlparser/XMLParser.js", "../../../node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js", "../../../node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js", "../../../node_modules/fast-xml-parser/src/fxp.js", "../../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js", "../../../node_modules/@aws-sdk/core/dist-cjs/index.js", "../../../node_modules/uuid/dist/rng.js", "../../../node_modules/uuid/dist/regex.js", "../../../node_modules/uuid/dist/validate.js", "../../../node_modules/uuid/dist/stringify.js", "../../../node_modules/uuid/dist/v1.js", "../../../node_modules/uuid/dist/parse.js", "../../../node_modules/uuid/dist/v35.js", "../../../node_modules/uuid/dist/md5.js", "../../../node_modules/uuid/dist/v3.js", "../../../node_modules/uuid/dist/native.js", "../../../node_modules/uuid/dist/v4.js", "../../../node_modules/uuid/dist/sha1.js", "../../../node_modules/uuid/dist/v5.js", "../../../node_modules/uuid/dist/nil.js", "../../../node_modules/uuid/dist/version.js", "../../../node_modules/uuid/dist/index.js"],
4
- "sourcesContent": [
5
- "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n deserializerMiddleware: () => deserializerMiddleware,\n deserializerMiddlewareOption: () => deserializerMiddlewareOption,\n getSerdePlugin: () => getSerdePlugin,\n serializerMiddleware: () => serializerMiddleware,\n serializerMiddlewareOption: () => serializerMiddlewareOption\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/deserializerMiddleware.ts\nvar deserializerMiddleware = /* @__PURE__ */ __name((options, deserializer) => (next, context) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed\n };\n } catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n } catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n } else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n }\n throw error;\n }\n}, \"deserializerMiddleware\");\n\n// src/serializerMiddleware.ts\nvar serializerMiddleware = /* @__PURE__ */ __name((options, serializer) => (next, context) => async (args) => {\n const endpoint = context.endpointV2?.url && options.urlParser ? async () => options.urlParser(context.endpointV2.url) : options.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request\n });\n}, \"serializerMiddleware\");\n\n// src/serdePlugin.ts\nvar deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true\n};\nvar serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true\n};\nfunction getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n }\n };\n}\n__name(getSerdePlugin, \"getSerdePlugin\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n deserializerMiddleware,\n deserializerMiddlewareOption,\n serializerMiddlewareOption,\n getSerdePlugin,\n serializerMiddleware\n});\n\n",
6
- "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n getSmithyContext: () => getSmithyContext,\n normalizeProvider: () => normalizeProvider\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/getSmithyContext.ts\nvar import_types = require(\"@smithy/types\");\nvar getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), \"getSmithyContext\");\n\n// src/normalizeProvider.ts\nvar normalizeProvider = /* @__PURE__ */ __name((input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n}, \"normalizeProvider\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getSmithyContext,\n normalizeProvider\n});\n\n",
7
- "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n DefaultIdentityProviderConfig: () => DefaultIdentityProviderConfig,\n EXPIRATION_MS: () => EXPIRATION_MS,\n HttpApiKeyAuthSigner: () => HttpApiKeyAuthSigner,\n HttpBearerAuthSigner: () => HttpBearerAuthSigner,\n NoAuthSigner: () => NoAuthSigner,\n createIsIdentityExpiredFunction: () => createIsIdentityExpiredFunction,\n createPaginator: () => createPaginator,\n doesIdentityRequireRefresh: () => doesIdentityRequireRefresh,\n getHttpAuthSchemeEndpointRuleSetPlugin: () => getHttpAuthSchemeEndpointRuleSetPlugin,\n getHttpAuthSchemePlugin: () => getHttpAuthSchemePlugin,\n getHttpSigningPlugin: () => getHttpSigningPlugin,\n getSmithyContext: () => getSmithyContext,\n httpAuthSchemeEndpointRuleSetMiddlewareOptions: () => httpAuthSchemeEndpointRuleSetMiddlewareOptions,\n httpAuthSchemeMiddleware: () => httpAuthSchemeMiddleware,\n httpAuthSchemeMiddlewareOptions: () => httpAuthSchemeMiddlewareOptions,\n httpSigningMiddleware: () => httpSigningMiddleware,\n httpSigningMiddlewareOptions: () => httpSigningMiddlewareOptions,\n isIdentityExpired: () => isIdentityExpired,\n memoizeIdentityProvider: () => memoizeIdentityProvider,\n normalizeProvider: () => normalizeProvider,\n requestBuilder: () => import_protocols.requestBuilder,\n setFeature: () => setFeature\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/getSmithyContext.ts\nvar import_types = require(\"@smithy/types\");\nvar getSmithyContext = /* @__PURE__ */ __name((context) => context[import_types.SMITHY_CONTEXT_KEY] || (context[import_types.SMITHY_CONTEXT_KEY] = {}), \"getSmithyContext\");\n\n// src/middleware-http-auth-scheme/httpAuthSchemeMiddleware.ts\nvar import_util_middleware = require(\"@smithy/util-middleware\");\nfunction convertHttpAuthSchemesToMap(httpAuthSchemes) {\n const map = /* @__PURE__ */ new Map();\n for (const scheme of httpAuthSchemes) {\n map.set(scheme.schemeId, scheme);\n }\n return map;\n}\n__name(convertHttpAuthSchemesToMap, \"convertHttpAuthSchemesToMap\");\nvar httpAuthSchemeMiddleware = /* @__PURE__ */ __name((config, mwOptions) => (next, context) => async (args) => {\n const options = config.httpAuthSchemeProvider(\n await mwOptions.httpAuthSchemeParametersProvider(config, context, args.input)\n );\n const authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = (0, import_util_middleware.getSmithyContext)(context);\n const failureReasons = [];\n for (const option of options) {\n const scheme = authSchemes.get(option.schemeId);\n if (!scheme) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` was not enabled for this service.`);\n continue;\n }\n const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config));\n if (!identityProvider) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` did not have an IdentityProvider configured.`);\n continue;\n }\n const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config, context) || {};\n option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);\n option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);\n smithyContext.selectedHttpAuthScheme = {\n httpAuthOption: option,\n identity: await identityProvider(option.identityProperties),\n signer: scheme.signer\n };\n break;\n }\n if (!smithyContext.selectedHttpAuthScheme) {\n throw new Error(failureReasons.join(\"\\n\"));\n }\n return next(args);\n}, \"httpAuthSchemeMiddleware\");\n\n// src/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.ts\nvar httpAuthSchemeEndpointRuleSetMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\"\n};\nvar getHttpAuthSchemeEndpointRuleSetPlugin = /* @__PURE__ */ __name((config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider\n}) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(\n httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider\n }),\n httpAuthSchemeEndpointRuleSetMiddlewareOptions\n );\n }\n}), \"getHttpAuthSchemeEndpointRuleSetPlugin\");\n\n// src/middleware-http-auth-scheme/getHttpAuthSchemePlugin.ts\nvar import_middleware_serde = require(\"@smithy/middleware-serde\");\nvar httpAuthSchemeMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: import_middleware_serde.serializerMiddlewareOption.name\n};\nvar getHttpAuthSchemePlugin = /* @__PURE__ */ __name((config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider\n}) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(\n httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider\n }),\n httpAuthSchemeMiddlewareOptions\n );\n }\n}), \"getHttpAuthSchemePlugin\");\n\n// src/middleware-http-signing/httpSigningMiddleware.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\n\nvar defaultErrorHandler = /* @__PURE__ */ __name((signingProperties) => (error) => {\n throw error;\n}, \"defaultErrorHandler\");\nvar defaultSuccessHandler = /* @__PURE__ */ __name((httpResponse, signingProperties) => {\n}, \"defaultSuccessHandler\");\nvar httpSigningMiddleware = /* @__PURE__ */ __name((config) => (next, context) => async (args) => {\n if (!import_protocol_http.HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = (0, import_util_middleware.getSmithyContext)(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const {\n httpAuthOption: { signingProperties = {} },\n identity,\n signer\n } = scheme;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, identity, signingProperties)\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n}, \"httpSigningMiddleware\");\n\n// src/middleware-http-signing/getHttpSigningMiddleware.ts\nvar httpSigningMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"HTTP_SIGNING\"],\n name: \"httpSigningMiddleware\",\n aliases: [\"apiKeyMiddleware\", \"tokenMiddleware\", \"awsAuthMiddleware\"],\n override: true,\n relation: \"after\",\n toMiddleware: \"retryMiddleware\"\n};\nvar getHttpSigningPlugin = /* @__PURE__ */ __name((config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);\n }\n}), \"getHttpSigningPlugin\");\n\n// src/normalizeProvider.ts\nvar normalizeProvider = /* @__PURE__ */ __name((input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n}, \"normalizeProvider\");\n\n// src/pagination/createPaginator.ts\nvar makePagedClientRequest = /* @__PURE__ */ __name(async (CommandCtor, client, input, withCommand = (_) => _, ...args) => {\n let command = new CommandCtor(input);\n command = withCommand(command) ?? command;\n return await client.send(command, ...args);\n}, \"makePagedClientRequest\");\nfunction createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {\n return /* @__PURE__ */ __name(async function* paginateOperation(config, input, ...additionalArguments) {\n const _input = input;\n let token = config.startingToken ?? _input[inputTokenName];\n let hasNext = true;\n let page;\n while (hasNext) {\n _input[inputTokenName] = token;\n if (pageSizeTokenName) {\n _input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config.pageSize;\n }\n if (config.client instanceof ClientCtor) {\n page = await makePagedClientRequest(\n CommandCtor,\n config.client,\n input,\n config.withCommand,\n ...additionalArguments\n );\n } else {\n throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);\n }\n yield page;\n const prevToken = token;\n token = get(page, outputTokenName);\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return void 0;\n }, \"paginateOperation\");\n}\n__name(createPaginator, \"createPaginator\");\nvar get = /* @__PURE__ */ __name((fromObject, path) => {\n let cursor = fromObject;\n const pathComponents = path.split(\".\");\n for (const step of pathComponents) {\n if (!cursor || typeof cursor !== \"object\") {\n return void 0;\n }\n cursor = cursor[step];\n }\n return cursor;\n}, \"get\");\n\n// src/protocols/requestBuilder.ts\nvar import_protocols = require(\"@smithy/core/protocols\");\n\n// src/setFeature.ts\nfunction setFeature(context, feature, value) {\n if (!context.__smithy_context) {\n context.__smithy_context = {\n features: {}\n };\n } else if (!context.__smithy_context.features) {\n context.__smithy_context.features = {};\n }\n context.__smithy_context.features[feature] = value;\n}\n__name(setFeature, \"setFeature\");\n\n// src/util-identity-and-auth/DefaultIdentityProviderConfig.ts\nvar DefaultIdentityProviderConfig = class {\n /**\n * Creates an IdentityProviderConfig with a record of scheme IDs to identity providers.\n *\n * @param config scheme IDs and identity providers to configure\n */\n constructor(config) {\n this.authSchemes = /* @__PURE__ */ new Map();\n for (const [key, value] of Object.entries(config)) {\n if (value !== void 0) {\n this.authSchemes.set(key, value);\n }\n }\n }\n static {\n __name(this, \"DefaultIdentityProviderConfig\");\n }\n getIdentityProvider(schemeId) {\n return this.authSchemes.get(schemeId);\n }\n};\n\n// src/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.ts\n\n\nvar HttpApiKeyAuthSigner = class {\n static {\n __name(this, \"HttpApiKeyAuthSigner\");\n }\n async sign(httpRequest, identity, signingProperties) {\n if (!signingProperties) {\n throw new Error(\n \"request could not be signed with `apiKey` since the `name` and `in` signer properties are missing\"\n );\n }\n if (!signingProperties.name) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` signer property is missing\");\n }\n if (!signingProperties.in) {\n throw new Error(\"request could not be signed with `apiKey` since the `in` signer property is missing\");\n }\n if (!identity.apiKey) {\n throw new Error(\"request could not be signed with `apiKey` since the `apiKey` is not defined\");\n }\n const clonedRequest = import_protocol_http.HttpRequest.clone(httpRequest);\n if (signingProperties.in === import_types.HttpApiKeyAuthLocation.QUERY) {\n clonedRequest.query[signingProperties.name] = identity.apiKey;\n } else if (signingProperties.in === import_types.HttpApiKeyAuthLocation.HEADER) {\n clonedRequest.headers[signingProperties.name] = signingProperties.scheme ? `${signingProperties.scheme} ${identity.apiKey}` : identity.apiKey;\n } else {\n throw new Error(\n \"request can only be signed with `apiKey` locations `query` or `header`, but found: `\" + signingProperties.in + \"`\"\n );\n }\n return clonedRequest;\n }\n};\n\n// src/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.ts\n\nvar HttpBearerAuthSigner = class {\n static {\n __name(this, \"HttpBearerAuthSigner\");\n }\n async sign(httpRequest, identity, signingProperties) {\n const clonedRequest = import_protocol_http.HttpRequest.clone(httpRequest);\n if (!identity.token) {\n throw new Error(\"request could not be signed with `token` since the `token` is not defined\");\n }\n clonedRequest.headers[\"Authorization\"] = `Bearer ${identity.token}`;\n return clonedRequest;\n }\n};\n\n// src/util-identity-and-auth/httpAuthSchemes/noAuth.ts\nvar NoAuthSigner = class {\n static {\n __name(this, \"NoAuthSigner\");\n }\n async sign(httpRequest, identity, signingProperties) {\n return httpRequest;\n }\n};\n\n// src/util-identity-and-auth/memoizeIdentityProvider.ts\nvar createIsIdentityExpiredFunction = /* @__PURE__ */ __name((expirationMs) => (identity) => doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs, \"createIsIdentityExpiredFunction\");\nvar EXPIRATION_MS = 3e5;\nvar isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);\nvar doesIdentityRequireRefresh = /* @__PURE__ */ __name((identity) => identity.expiration !== void 0, \"doesIdentityRequireRefresh\");\nvar memoizeIdentityProvider = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => {\n if (provider === void 0) {\n return void 0;\n }\n const normalizedProvider = typeof provider !== \"function\" ? async () => Promise.resolve(provider) : provider;\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = /* @__PURE__ */ __name(async (options) => {\n if (!pending) {\n pending = normalizedProvider(options);\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n } finally {\n pending = void 0;\n }\n return resolved;\n }, \"coalesceProvider\");\n if (isExpired === void 0) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n if (isConstant) {\n return resolved;\n }\n if (!requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider(options);\n return resolved;\n }\n return resolved;\n };\n}, \"memoizeIdentityProvider\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n createPaginator,\n getSmithyContext,\n httpAuthSchemeMiddleware,\n httpAuthSchemeEndpointRuleSetMiddlewareOptions,\n getHttpAuthSchemeEndpointRuleSetPlugin,\n httpAuthSchemeMiddlewareOptions,\n getHttpAuthSchemePlugin,\n httpSigningMiddleware,\n httpSigningMiddlewareOptions,\n getHttpSigningPlugin,\n normalizeProvider,\n requestBuilder,\n setFeature,\n DefaultIdentityProviderConfig,\n HttpApiKeyAuthSigner,\n HttpBearerAuthSigner,\n NoAuthSigner,\n createIsIdentityExpiredFunction,\n EXPIRATION_MS,\n isIdentityExpired,\n doesIdentityRequireRefresh,\n memoizeIdentityProvider\n});\n\n",
8
- "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n constructStack: () => constructStack\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/MiddlewareStack.ts\nvar getAllAliases = /* @__PURE__ */ __name((name, aliases) => {\n const _aliases = [];\n if (name) {\n _aliases.push(name);\n }\n if (aliases) {\n for (const alias of aliases) {\n _aliases.push(alias);\n }\n }\n return _aliases;\n}, \"getAllAliases\");\nvar getMiddlewareNameWithAliases = /* @__PURE__ */ __name((name, aliases) => {\n return `${name || \"anonymous\"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(\",\")})` : \"\"}`;\n}, \"getMiddlewareNameWithAliases\");\nvar constructStack = /* @__PURE__ */ __name(() => {\n let absoluteEntries = [];\n let relativeEntries = [];\n let identifyOnResolve = false;\n const entriesNameSet = /* @__PURE__ */ new Set();\n const sort = /* @__PURE__ */ __name((entries) => entries.sort(\n (a, b) => stepWeights[b.step] - stepWeights[a.step] || priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]\n ), \"sort\");\n const removeByName = /* @__PURE__ */ __name((toRemove) => {\n let isRemoved = false;\n const filterCb = /* @__PURE__ */ __name((entry) => {\n const aliases = getAllAliases(entry.name, entry.aliases);\n if (aliases.includes(toRemove)) {\n isRemoved = true;\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n }, \"filterCb\");\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n }, \"removeByName\");\n const removeByReference = /* @__PURE__ */ __name((toRemove) => {\n let isRemoved = false;\n const filterCb = /* @__PURE__ */ __name((entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n for (const alias of getAllAliases(entry.name, entry.aliases)) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n }, \"filterCb\");\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n }, \"removeByReference\");\n const cloneTo = /* @__PURE__ */ __name((toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n toStack.identifyOnResolve?.(stack.identifyOnResolve());\n return toStack;\n }, \"cloneTo\");\n const expandRelativeMiddlewareList = /* @__PURE__ */ __name((from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n } else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n } else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n }, \"expandRelativeMiddlewareList\");\n const getMiddlewareList = /* @__PURE__ */ __name((debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: []\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: []\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === void 0) {\n if (debug) {\n return;\n }\n throw new Error(\n `${entry.toMiddleware} is not found when adding ${getMiddlewareNameWithAliases(entry.name, entry.aliases)} middleware ${entry.relation} ${entry.toMiddleware}`\n );\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce(\n (wholeList, expandedMiddlewareList) => {\n wholeList.push(...expandedMiddlewareList);\n return wholeList;\n },\n []\n );\n return mainChain;\n }, \"getMiddlewareList\");\n const stack = {\n add: (middleware, options = {}) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = absoluteEntries.findIndex(\n (entry2) => entry2.name === alias || entry2.aliases?.some((a) => a === alias)\n );\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {\n throw new Error(\n `\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware with ${toOverride.priority} priority in ${toOverride.step} step cannot be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware with ${entry.priority} priority in ${entry.step} step.`\n );\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: (middleware, options) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n middleware,\n ...options\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = relativeEntries.findIndex(\n (entry2) => entry2.name === alias || entry2.aliases?.some((a) => a === alias)\n );\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(\n `\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware ${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware ${entry.relation} \"${entry.toMiddleware}\" middleware.`\n );\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n relativeEntries.push(entry);\n },\n clone: () => cloneTo(constructStack()),\n use: (plugin) => {\n plugin.applyToStack(stack);\n },\n remove: (toRemove) => {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: (toRemove) => {\n let isRemoved = false;\n const filterCb = /* @__PURE__ */ __name((entry) => {\n const { tags, name, aliases: _aliases } = entry;\n if (tags && tags.includes(toRemove)) {\n const aliases = getAllAliases(name, _aliases);\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n isRemoved = true;\n return false;\n }\n return true;\n }, \"filterCb\");\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: (from) => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n cloned.identifyOnResolve(\n identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false)\n );\n return cloned;\n },\n applyToStack: cloneTo,\n identify: () => {\n return getMiddlewareList(true).map((mw) => {\n const step = mw.step ?? mw.relation + \" \" + mw.toMiddleware;\n return getMiddlewareNameWithAliases(mw.name, mw.aliases) + \" - \" + step;\n });\n },\n identifyOnResolve(toggle) {\n if (typeof toggle === \"boolean\")\n identifyOnResolve = toggle;\n return identifyOnResolve;\n },\n resolve: (handler, context) => {\n for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) {\n handler = middleware(handler, context);\n }\n if (identifyOnResolve) {\n console.log(stack.identify());\n }\n return handler;\n }\n };\n return stack;\n}, \"constructStack\");\nvar stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1\n};\nvar priorityWeights = {\n high: 3,\n normal: 2,\n low: 1\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n constructStack\n});\n\n",
9
- "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n Client: () => Client,\n Command: () => Command,\n LazyJsonString: () => LazyJsonString,\n NoOpLogger: () => NoOpLogger,\n SENSITIVE_STRING: () => SENSITIVE_STRING,\n ServiceException: () => ServiceException,\n _json: () => _json,\n collectBody: () => import_protocols.collectBody,\n convertMap: () => convertMap,\n createAggregatedClient: () => createAggregatedClient,\n dateToUtcString: () => dateToUtcString,\n decorateServiceException: () => decorateServiceException,\n emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion,\n expectBoolean: () => expectBoolean,\n expectByte: () => expectByte,\n expectFloat32: () => expectFloat32,\n expectInt: () => expectInt,\n expectInt32: () => expectInt32,\n expectLong: () => expectLong,\n expectNonNull: () => expectNonNull,\n expectNumber: () => expectNumber,\n expectObject: () => expectObject,\n expectShort: () => expectShort,\n expectString: () => expectString,\n expectUnion: () => expectUnion,\n extendedEncodeURIComponent: () => import_protocols.extendedEncodeURIComponent,\n getArrayIfSingleItem: () => getArrayIfSingleItem,\n getDefaultClientConfiguration: () => getDefaultClientConfiguration,\n getDefaultExtensionConfiguration: () => getDefaultExtensionConfiguration,\n getValueFromTextNode: () => getValueFromTextNode,\n handleFloat: () => handleFloat,\n isSerializableHeaderValue: () => isSerializableHeaderValue,\n limitedParseDouble: () => limitedParseDouble,\n limitedParseFloat: () => limitedParseFloat,\n limitedParseFloat32: () => limitedParseFloat32,\n loadConfigsForDefaultMode: () => loadConfigsForDefaultMode,\n logger: () => logger,\n map: () => map,\n parseBoolean: () => parseBoolean,\n parseEpochTimestamp: () => parseEpochTimestamp,\n parseRfc3339DateTime: () => parseRfc3339DateTime,\n parseRfc3339DateTimeWithOffset: () => parseRfc3339DateTimeWithOffset,\n parseRfc7231DateTime: () => parseRfc7231DateTime,\n quoteHeader: () => quoteHeader,\n resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig,\n resolvedPath: () => import_protocols.resolvedPath,\n serializeDateTime: () => serializeDateTime,\n serializeFloat: () => serializeFloat,\n splitEvery: () => splitEvery,\n splitHeader: () => splitHeader,\n strictParseByte: () => strictParseByte,\n strictParseDouble: () => strictParseDouble,\n strictParseFloat: () => strictParseFloat,\n strictParseFloat32: () => strictParseFloat32,\n strictParseInt: () => strictParseInt,\n strictParseInt32: () => strictParseInt32,\n strictParseLong: () => strictParseLong,\n strictParseShort: () => strictParseShort,\n take: () => take,\n throwDefaultError: () => throwDefaultError,\n withBaseException: () => withBaseException\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/client.ts\nvar import_middleware_stack = require(\"@smithy/middleware-stack\");\nvar Client = class {\n constructor(config) {\n this.config = config;\n this.middlewareStack = (0, import_middleware_stack.constructStack)();\n }\n static {\n __name(this, \"Client\");\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : void 0;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const useHandlerCache = options === void 0 && this.config.cacheMiddleware === true;\n let handler;\n if (useHandlerCache) {\n if (!this.handlers) {\n this.handlers = /* @__PURE__ */ new WeakMap();\n }\n const handlers = this.handlers;\n if (handlers.has(command.constructor)) {\n handler = handlers.get(command.constructor);\n } else {\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n handlers.set(command.constructor, handler);\n }\n } else {\n delete this.handlers;\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n }\n if (callback) {\n handler(command).then(\n (result) => callback(null, result.output),\n (err) => callback(err)\n ).catch(\n // prevent any errors thrown in the callback from triggering an\n // unhandled promise rejection\n () => {\n }\n );\n } else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n this.config?.requestHandler?.destroy?.();\n delete this.handlers;\n }\n};\n\n// src/collect-stream-body.ts\nvar import_protocols = require(\"@smithy/core/protocols\");\n\n// src/command.ts\n\nvar import_types = require(\"@smithy/types\");\nvar Command = class {\n constructor() {\n this.middlewareStack = (0, import_middleware_stack.constructStack)();\n }\n static {\n __name(this, \"Command\");\n }\n /**\n * Factory for Command ClassBuilder.\n * @internal\n */\n static classBuilder() {\n return new ClassBuilder();\n }\n /**\n * @internal\n */\n resolveMiddlewareWithContext(clientStack, configuration, options, {\n middlewareFn,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n smithyContext,\n additionalContext,\n CommandCtor\n }) {\n for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {\n this.middlewareStack.use(mw);\n }\n const stack = clientStack.concat(this.middlewareStack);\n const { logger: logger2 } = configuration;\n const handlerExecutionContext = {\n logger: logger2,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n [import_types.SMITHY_CONTEXT_KEY]: {\n commandInstance: this,\n ...smithyContext\n },\n ...additionalContext\n };\n const { requestHandler } = configuration;\n return stack.resolve(\n (request) => requestHandler.handle(request.request, options || {}),\n handlerExecutionContext\n );\n }\n};\nvar ClassBuilder = class {\n constructor() {\n this._init = () => {\n };\n this._ep = {};\n this._middlewareFn = () => [];\n this._commandName = \"\";\n this._clientName = \"\";\n this._additionalContext = {};\n this._smithyContext = {};\n this._inputFilterSensitiveLog = (_) => _;\n this._outputFilterSensitiveLog = (_) => _;\n this._serializer = null;\n this._deserializer = null;\n }\n static {\n __name(this, \"ClassBuilder\");\n }\n /**\n * Optional init callback.\n */\n init(cb) {\n this._init = cb;\n }\n /**\n * Set the endpoint parameter instructions.\n */\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n /**\n * Add any number of middleware.\n */\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n /**\n * Set the initial handler execution context Smithy field.\n */\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext\n };\n return this;\n }\n /**\n * Set the initial handler execution context.\n */\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n /**\n * Set constant string identifiers for the operation.\n */\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n /**\n * Set the input and output sensistive log filters.\n */\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n /**\n * Sets the serializer.\n */\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n /**\n * Sets the deserializer.\n */\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n /**\n * @returns a Command class with the classBuilder properties.\n */\n build() {\n const closure = this;\n let CommandRef;\n return CommandRef = class extends Command {\n /**\n * @public\n */\n constructor(...[input]) {\n super();\n /**\n * @internal\n */\n // @ts-ignore used in middlewareFn closure.\n this.serialize = closure._serializer;\n /**\n * @internal\n */\n // @ts-ignore used in middlewareFn closure.\n this.deserialize = closure._deserializer;\n this.input = input ?? {};\n closure._init(this);\n }\n static {\n __name(this, \"CommandRef\");\n }\n /**\n * @public\n */\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n /**\n * @internal\n */\n resolveMiddleware(stack, configuration, options) {\n return this.resolveMiddlewareWithContext(stack, configuration, options, {\n CommandCtor: CommandRef,\n middlewareFn: closure._middlewareFn,\n clientName: closure._clientName,\n commandName: closure._commandName,\n inputFilterSensitiveLog: closure._inputFilterSensitiveLog,\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog,\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext\n });\n }\n };\n }\n};\n\n// src/constants.ts\nvar SENSITIVE_STRING = \"***SensitiveInformation***\";\n\n// src/create-aggregated-client.ts\nvar createAggregatedClient = /* @__PURE__ */ __name((commands, Client2) => {\n for (const command of Object.keys(commands)) {\n const CommandCtor = commands[command];\n const methodImpl = /* @__PURE__ */ __name(async function(args, optionsOrCb, cb) {\n const command2 = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command2, optionsOrCb);\n } else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command2, optionsOrCb || {}, cb);\n } else {\n return this.send(command2, optionsOrCb);\n }\n }, \"methodImpl\");\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client2.prototype[methodName] = methodImpl;\n }\n}, \"createAggregatedClient\");\n\n// src/parse-utils.ts\nvar parseBoolean = /* @__PURE__ */ __name((value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n}, \"parseBoolean\");\nvar expectBoolean = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return void 0;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n}, \"expectBoolean\");\nvar expectNumber = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return void 0;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n}, \"expectNumber\");\nvar MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nvar expectFloat32 = /* @__PURE__ */ __name((value) => {\n const expected = expectNumber(value);\n if (expected !== void 0 && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n}, \"expectFloat32\");\nvar expectLong = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return void 0;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n}, \"expectLong\");\nvar expectInt = expectLong;\nvar expectInt32 = /* @__PURE__ */ __name((value) => expectSizedInt(value, 32), \"expectInt32\");\nvar expectShort = /* @__PURE__ */ __name((value) => expectSizedInt(value, 16), \"expectShort\");\nvar expectByte = /* @__PURE__ */ __name((value) => expectSizedInt(value, 8), \"expectByte\");\nvar expectSizedInt = /* @__PURE__ */ __name((value, size) => {\n const expected = expectLong(value);\n if (expected !== void 0 && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n}, \"expectSizedInt\");\nvar castInt = /* @__PURE__ */ __name((value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n}, \"castInt\");\nvar expectNonNull = /* @__PURE__ */ __name((value, location) => {\n if (value === null || value === void 0) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n}, \"expectNonNull\");\nvar expectObject = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return void 0;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n}, \"expectObject\");\nvar expectString = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return void 0;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n}, \"expectString\");\nvar expectUnion = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return void 0;\n }\n const asObject = expectObject(value);\n const setKeys = Object.entries(asObject).filter(([, v]) => v != null).map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n}, \"expectUnion\");\nvar strictParseDouble = /* @__PURE__ */ __name((value) => {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n}, \"strictParseDouble\");\nvar strictParseFloat = strictParseDouble;\nvar strictParseFloat32 = /* @__PURE__ */ __name((value) => {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n}, \"strictParseFloat32\");\nvar NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nvar parseNumber = /* @__PURE__ */ __name((value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n}, \"parseNumber\");\nvar limitedParseDouble = /* @__PURE__ */ __name((value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n}, \"limitedParseDouble\");\nvar handleFloat = limitedParseDouble;\nvar limitedParseFloat = limitedParseDouble;\nvar limitedParseFloat32 = /* @__PURE__ */ __name((value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n}, \"limitedParseFloat32\");\nvar parseFloatString = /* @__PURE__ */ __name((value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n}, \"parseFloatString\");\nvar strictParseLong = /* @__PURE__ */ __name((value) => {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n}, \"strictParseLong\");\nvar strictParseInt = strictParseLong;\nvar strictParseInt32 = /* @__PURE__ */ __name((value) => {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n}, \"strictParseInt32\");\nvar strictParseShort = /* @__PURE__ */ __name((value) => {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n}, \"strictParseShort\");\nvar strictParseByte = /* @__PURE__ */ __name((value) => {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n}, \"strictParseByte\");\nvar stackTraceWarning = /* @__PURE__ */ __name((message) => {\n return String(new TypeError(message).stack || message).split(\"\\n\").slice(0, 5).filter((s) => !s.includes(\"stackTraceWarning\")).join(\"\\n\");\n}, \"stackTraceWarning\");\nvar logger = {\n warn: console.warn\n};\n\n// src/date-utils.ts\nvar DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nvar MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nfunction dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\n__name(dateToUtcString, \"dateToUtcString\");\nvar RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nvar parseRfc3339DateTime = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n}, \"parseRfc3339DateTime\");\nvar RFC3339_WITH_OFFSET = new RegExp(\n /^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/\n);\nvar parseRfc3339DateTimeWithOffset = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n}, \"parseRfc3339DateTimeWithOffset\");\nvar IMF_FIXDATE = new RegExp(\n /^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/\n);\nvar RFC_850_DATE = new RegExp(\n /^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/\n);\nvar ASC_TIME = new RegExp(\n /^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/\n);\nvar parseRfc7231DateTime = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate(\n strictParseShort(stripLeadingZeroes(yearStr)),\n parseMonthByShortName(monthStr),\n parseDateValue(dayStr, \"day\", 1, 31),\n { hours, minutes, seconds, fractionalMilliseconds }\n );\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(\n buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds\n })\n );\n }\n match = ASC_TIME.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate(\n strictParseShort(stripLeadingZeroes(yearStr)),\n parseMonthByShortName(monthStr),\n parseDateValue(dayStr.trimLeft(), \"day\", 1, 31),\n { hours, minutes, seconds, fractionalMilliseconds }\n );\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n}, \"parseRfc7231DateTime\");\nvar parseEpochTimestamp = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return void 0;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n } else if (typeof value === \"string\") {\n valueAsDouble = strictParseDouble(value);\n } else if (typeof value === \"object\" && value.tag === 1) {\n valueAsDouble = value.value;\n } else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1e3));\n}, \"parseEpochTimestamp\");\nvar buildDate = /* @__PURE__ */ __name((year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(\n Date.UTC(\n year,\n adjustedMonth,\n day,\n parseDateValue(time.hours, \"hour\", 0, 23),\n parseDateValue(time.minutes, \"minute\", 0, 59),\n // seconds can go up to 60 for leap seconds\n parseDateValue(time.seconds, \"seconds\", 0, 60),\n parseMilliseconds(time.fractionalMilliseconds)\n )\n );\n}, \"buildDate\");\nvar parseTwoDigitYear = /* @__PURE__ */ __name((value) => {\n const thisYear = (/* @__PURE__ */ new Date()).getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n}, \"parseTwoDigitYear\");\nvar FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1e3;\nvar adjustRfc850Year = /* @__PURE__ */ __name((input) => {\n if (input.getTime() - (/* @__PURE__ */ new Date()).getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(\n Date.UTC(\n input.getUTCFullYear() - 100,\n input.getUTCMonth(),\n input.getUTCDate(),\n input.getUTCHours(),\n input.getUTCMinutes(),\n input.getUTCSeconds(),\n input.getUTCMilliseconds()\n )\n );\n }\n return input;\n}, \"adjustRfc850Year\");\nvar parseMonthByShortName = /* @__PURE__ */ __name((value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n}, \"parseMonthByShortName\");\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar validateDayOfMonth = /* @__PURE__ */ __name((year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n}, \"validateDayOfMonth\");\nvar isLeapYear = /* @__PURE__ */ __name((year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}, \"isLeapYear\");\nvar parseDateValue = /* @__PURE__ */ __name((value, type, lower, upper) => {\n const dateVal = strictParseByte(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n}, \"parseDateValue\");\nvar parseMilliseconds = /* @__PURE__ */ __name((value) => {\n if (value === null || value === void 0) {\n return 0;\n }\n return strictParseFloat32(\"0.\" + value) * 1e3;\n}, \"parseMilliseconds\");\nvar parseOffsetToMilliseconds = /* @__PURE__ */ __name((value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n } else if (directionStr == \"-\") {\n direction = -1;\n } else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1e3;\n}, \"parseOffsetToMilliseconds\");\nvar stripLeadingZeroes = /* @__PURE__ */ __name((value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n}, \"stripLeadingZeroes\");\n\n// src/exceptions.ts\nvar ServiceException = class _ServiceException extends Error {\n static {\n __name(this, \"ServiceException\");\n }\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n /**\n * Checks if a value is an instance of ServiceException (duck typed)\n */\n static isInstance(value) {\n if (!value)\n return false;\n const candidate = value;\n return _ServiceException.prototype.isPrototypeOf(candidate) || Boolean(candidate.$fault) && Boolean(candidate.$metadata) && (candidate.$fault === \"client\" || candidate.$fault === \"server\");\n }\n /**\n * Custom instanceof check to support the operator for ServiceException base class\n */\n static [Symbol.hasInstance](instance) {\n if (!instance)\n return false;\n const candidate = instance;\n if (this === _ServiceException) {\n return _ServiceException.isInstance(instance);\n }\n if (_ServiceException.isInstance(instance)) {\n if (candidate.name && this.name) {\n return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;\n }\n return this.prototype.isPrototypeOf(instance);\n }\n return false;\n }\n};\nvar decorateServiceException = /* @__PURE__ */ __name((exception, additions = {}) => {\n Object.entries(additions).filter(([, v]) => v !== void 0).forEach(([k, v]) => {\n if (exception[k] == void 0 || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n}, \"decorateServiceException\");\n\n// src/default-error-handler.ts\nvar throwDefaultError = /* @__PURE__ */ __name(({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : void 0;\n const response = new exceptionCtor({\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata\n });\n throw decorateServiceException(response, parsedBody);\n}, \"throwDefaultError\");\nvar withBaseException = /* @__PURE__ */ __name((ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n}, \"withBaseException\");\nvar deserializeMetadata = /* @__PURE__ */ __name((output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"]\n}), \"deserializeMetadata\");\n\n// src/defaults-mode.ts\nvar loadConfigsForDefaultMode = /* @__PURE__ */ __name((mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3e4\n };\n default:\n return {};\n }\n}, \"loadConfigsForDefaultMode\");\n\n// src/emitWarningIfUnsupportedVersion.ts\nvar warningEmitted = false;\nvar emitWarningIfUnsupportedVersion = /* @__PURE__ */ __name((version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n }\n}, \"emitWarningIfUnsupportedVersion\");\n\n// src/extended-encode-uri-component.ts\n\n\n// src/extensions/checksum.ts\n\nvar getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in import_types.AlgorithmId) {\n const algorithmId = import_types.AlgorithmId[id];\n if (runtimeConfig[algorithmId] === void 0) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: () => algorithmId,\n checksumConstructor: () => runtimeConfig[algorithmId]\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n }\n };\n}, \"getChecksumConfiguration\");\nvar resolveChecksumRuntimeConfig = /* @__PURE__ */ __name((clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n}, \"resolveChecksumRuntimeConfig\");\n\n// src/extensions/retry.ts\nvar getRetryConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.retryStrategy;\n }\n };\n}, \"getRetryConfiguration\");\nvar resolveRetryRuntimeConfig = /* @__PURE__ */ __name((retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n}, \"resolveRetryRuntimeConfig\");\n\n// src/extensions/defaultExtensionConfiguration.ts\nvar getDefaultExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n}, \"getDefaultExtensionConfiguration\");\nvar getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nvar resolveDefaultRuntimeConfig = /* @__PURE__ */ __name((config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\n}, \"resolveDefaultRuntimeConfig\");\n\n// src/get-array-if-single-item.ts\nvar getArrayIfSingleItem = /* @__PURE__ */ __name((mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray], \"getArrayIfSingleItem\");\n\n// src/get-value-from-text-node.ts\nvar getValueFromTextNode = /* @__PURE__ */ __name((obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== void 0) {\n obj[key] = obj[key][textNodeName];\n } else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n}, \"getValueFromTextNode\");\n\n// src/is-serializable-header-value.ts\nvar isSerializableHeaderValue = /* @__PURE__ */ __name((value) => {\n return value != null;\n}, \"isSerializableHeaderValue\");\n\n// src/lazy-json.ts\nvar LazyJsonString = /* @__PURE__ */ __name(function LazyJsonString2(val) {\n const str = Object.assign(new String(val), {\n deserializeJSON() {\n return JSON.parse(String(val));\n },\n toString() {\n return String(val);\n },\n toJSON() {\n return String(val);\n }\n });\n return str;\n}, \"LazyJsonString\");\nLazyJsonString.from = (object) => {\n if (object && typeof object === \"object\" && (object instanceof LazyJsonString || \"deserializeJSON\" in object)) {\n return object;\n } else if (typeof object === \"string\" || Object.getPrototypeOf(object) === String.prototype) {\n return LazyJsonString(String(object));\n }\n return LazyJsonString(JSON.stringify(object));\n};\nLazyJsonString.fromObject = LazyJsonString.from;\n\n// src/NoOpLogger.ts\nvar NoOpLogger = class {\n static {\n __name(this, \"NoOpLogger\");\n }\n trace() {\n }\n debug() {\n }\n info() {\n }\n warn() {\n }\n error() {\n }\n};\n\n// src/object-mapping.ts\nfunction map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n } else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n } else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n applyInstruction(target, null, instructions, key);\n }\n return target;\n}\n__name(map, \"map\");\nvar convertMap = /* @__PURE__ */ __name((target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n}, \"convertMap\");\nvar take = /* @__PURE__ */ __name((source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n}, \"take\");\nvar mapWithFilter = /* @__PURE__ */ __name((target, filter, instructions) => {\n return map(\n target,\n Object.entries(instructions).reduce(\n (_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n } else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n } else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n },\n {}\n )\n );\n}, \"mapWithFilter\");\nvar applyInstruction = /* @__PURE__ */ __name((target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter2 = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if (typeof filter2 === \"function\" && filter2(source[sourceKey]) || typeof filter2 !== \"function\" && !!filter2) {\n target[targetKey] = valueFn(source[sourceKey]);\n }\n return;\n }\n let [filter, value] = instructions[targetKey];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === void 0 && (_value = value()) != null;\n const customFilterPassed = typeof filter === \"function\" && !!filter(void 0) || typeof filter !== \"function\" && !!filter;\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n } else if (customFilterPassed) {\n target[targetKey] = value();\n }\n } else {\n const defaultFilterPassed = filter === void 0 && value != null;\n const customFilterPassed = typeof filter === \"function\" && !!filter(value) || typeof filter !== \"function\" && !!filter;\n if (defaultFilterPassed || customFilterPassed) {\n target[targetKey] = value;\n }\n }\n}, \"applyInstruction\");\nvar nonNullish = /* @__PURE__ */ __name((_) => _ != null, \"nonNullish\");\nvar pass = /* @__PURE__ */ __name((_) => _, \"pass\");\n\n// src/quote-header.ts\nfunction quoteHeader(part) {\n if (part.includes(\",\") || part.includes('\"')) {\n part = `\"${part.replace(/\"/g, '\\\\\"')}\"`;\n }\n return part;\n}\n__name(quoteHeader, \"quoteHeader\");\n\n// src/resolve-path.ts\n\n\n// src/ser-utils.ts\nvar serializeFloat = /* @__PURE__ */ __name((value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n}, \"serializeFloat\");\nvar serializeDateTime = /* @__PURE__ */ __name((date) => date.toISOString().replace(\".000Z\", \"Z\"), \"serializeDateTime\");\n\n// src/serde-json.ts\nvar _json = /* @__PURE__ */ __name((obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n}, \"_json\");\n\n// src/split-every.ts\nfunction splitEvery(value, delimiter, numDelimiters) {\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n const segments = value.split(delimiter);\n if (numDelimiters === 1) {\n return segments;\n }\n const compoundSegments = [];\n let currentSegment = \"\";\n for (let i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n currentSegment = segments[i];\n } else {\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n compoundSegments.push(currentSegment);\n currentSegment = \"\";\n }\n }\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\n__name(splitEvery, \"splitEvery\");\n\n// src/split-header.ts\nvar splitHeader = /* @__PURE__ */ __name((value) => {\n const z = value.length;\n const values = [];\n let withinQuotes = false;\n let prevChar = void 0;\n let anchor = 0;\n for (let i = 0; i < z; ++i) {\n const char = value[i];\n switch (char) {\n case `\"`:\n if (prevChar !== \"\\\\\") {\n withinQuotes = !withinQuotes;\n }\n break;\n case \",\":\n if (!withinQuotes) {\n values.push(value.slice(anchor, i));\n anchor = i + 1;\n }\n break;\n default:\n }\n prevChar = char;\n }\n values.push(value.slice(anchor));\n return values.map((v) => {\n v = v.trim();\n const z2 = v.length;\n if (z2 < 2) {\n return v;\n }\n if (v[0] === `\"` && v[z2 - 1] === `\"`) {\n v = v.slice(1, z2 - 1);\n }\n return v.replace(/\\\\\"/g, '\"');\n });\n}, \"splitHeader\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n Client,\n collectBody,\n Command,\n SENSITIVE_STRING,\n createAggregatedClient,\n dateToUtcString,\n parseRfc3339DateTime,\n parseRfc3339DateTimeWithOffset,\n parseRfc7231DateTime,\n parseEpochTimestamp,\n throwDefaultError,\n withBaseException,\n loadConfigsForDefaultMode,\n emitWarningIfUnsupportedVersion,\n ServiceException,\n decorateServiceException,\n extendedEncodeURIComponent,\n getDefaultExtensionConfiguration,\n getDefaultClientConfiguration,\n resolveDefaultRuntimeConfig,\n getArrayIfSingleItem,\n getValueFromTextNode,\n isSerializableHeaderValue,\n LazyJsonString,\n NoOpLogger,\n map,\n convertMap,\n take,\n parseBoolean,\n expectBoolean,\n expectNumber,\n expectFloat32,\n expectLong,\n expectInt,\n expectInt32,\n expectShort,\n expectByte,\n expectNonNull,\n expectObject,\n expectString,\n expectUnion,\n strictParseDouble,\n strictParseFloat,\n strictParseFloat32,\n limitedParseDouble,\n handleFloat,\n limitedParseFloat,\n limitedParseFloat32,\n strictParseLong,\n strictParseInt,\n strictParseInt32,\n strictParseShort,\n strictParseByte,\n logger,\n quoteHeader,\n resolvedPath,\n serializeFloat,\n serializeDateTime,\n _json,\n splitEvery,\n splitHeader\n});\n\n",
10
- "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n CredentialsProviderError: () => CredentialsProviderError,\n ProviderError: () => ProviderError,\n TokenProviderError: () => TokenProviderError,\n chain: () => chain,\n fromStatic: () => fromStatic,\n memoize: () => memoize\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/ProviderError.ts\nvar ProviderError = class _ProviderError extends Error {\n constructor(message, options = true) {\n let logger;\n let tryNextLink = true;\n if (typeof options === \"boolean\") {\n logger = void 0;\n tryNextLink = options;\n } else if (options != null && typeof options === \"object\") {\n logger = options.logger;\n tryNextLink = options.tryNextLink ?? true;\n }\n super(message);\n this.name = \"ProviderError\";\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, _ProviderError.prototype);\n logger?.debug?.(`@smithy/property-provider ${tryNextLink ? \"->\" : \"(!)\"} ${message}`);\n }\n static {\n __name(this, \"ProviderError\");\n }\n /**\n * @deprecated use new operator.\n */\n static from(error, options = true) {\n return Object.assign(new this(error.message, options), error);\n }\n};\n\n// src/CredentialsProviderError.ts\nvar CredentialsProviderError = class _CredentialsProviderError extends ProviderError {\n /**\n * @override\n */\n constructor(message, options = true) {\n super(message, options);\n this.name = \"CredentialsProviderError\";\n Object.setPrototypeOf(this, _CredentialsProviderError.prototype);\n }\n static {\n __name(this, \"CredentialsProviderError\");\n }\n};\n\n// src/TokenProviderError.ts\nvar TokenProviderError = class _TokenProviderError extends ProviderError {\n /**\n * @override\n */\n constructor(message, options = true) {\n super(message, options);\n this.name = \"TokenProviderError\";\n Object.setPrototypeOf(this, _TokenProviderError.prototype);\n }\n static {\n __name(this, \"TokenProviderError\");\n }\n};\n\n// src/chain.ts\nvar chain = /* @__PURE__ */ __name((...providers) => async () => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\");\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n const credentials = await provider();\n return credentials;\n } catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n}, \"chain\");\n\n// src/fromStatic.ts\nvar fromStatic = /* @__PURE__ */ __name((staticValue) => () => Promise.resolve(staticValue), \"fromStatic\");\n\n// src/memoize.ts\nvar memoize = /* @__PURE__ */ __name((provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = /* @__PURE__ */ __name(async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n } finally {\n pending = void 0;\n }\n return resolved;\n }, \"coalesceProvider\");\n if (isExpired === void 0) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n}, \"memoize\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n CredentialsProviderError,\n ProviderError,\n TokenProviderError,\n chain,\n fromStatic,\n memoize\n});\n\n",
11
- "var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n ALGORITHM_IDENTIFIER: () => ALGORITHM_IDENTIFIER,\n ALGORITHM_IDENTIFIER_V4A: () => ALGORITHM_IDENTIFIER_V4A,\n ALGORITHM_QUERY_PARAM: () => ALGORITHM_QUERY_PARAM,\n ALWAYS_UNSIGNABLE_HEADERS: () => ALWAYS_UNSIGNABLE_HEADERS,\n AMZ_DATE_HEADER: () => AMZ_DATE_HEADER,\n AMZ_DATE_QUERY_PARAM: () => AMZ_DATE_QUERY_PARAM,\n AUTH_HEADER: () => AUTH_HEADER,\n CREDENTIAL_QUERY_PARAM: () => CREDENTIAL_QUERY_PARAM,\n DATE_HEADER: () => DATE_HEADER,\n EVENT_ALGORITHM_IDENTIFIER: () => EVENT_ALGORITHM_IDENTIFIER,\n EXPIRES_QUERY_PARAM: () => EXPIRES_QUERY_PARAM,\n GENERATED_HEADERS: () => GENERATED_HEADERS,\n HOST_HEADER: () => HOST_HEADER,\n KEY_TYPE_IDENTIFIER: () => KEY_TYPE_IDENTIFIER,\n MAX_CACHE_SIZE: () => MAX_CACHE_SIZE,\n MAX_PRESIGNED_TTL: () => MAX_PRESIGNED_TTL,\n PROXY_HEADER_PATTERN: () => PROXY_HEADER_PATTERN,\n REGION_SET_PARAM: () => REGION_SET_PARAM,\n SEC_HEADER_PATTERN: () => SEC_HEADER_PATTERN,\n SHA256_HEADER: () => SHA256_HEADER,\n SIGNATURE_HEADER: () => SIGNATURE_HEADER,\n SIGNATURE_QUERY_PARAM: () => SIGNATURE_QUERY_PARAM,\n SIGNED_HEADERS_QUERY_PARAM: () => SIGNED_HEADERS_QUERY_PARAM,\n SignatureV4: () => SignatureV4,\n SignatureV4Base: () => SignatureV4Base,\n TOKEN_HEADER: () => TOKEN_HEADER,\n TOKEN_QUERY_PARAM: () => TOKEN_QUERY_PARAM,\n UNSIGNABLE_PATTERNS: () => UNSIGNABLE_PATTERNS,\n UNSIGNED_PAYLOAD: () => UNSIGNED_PAYLOAD,\n clearCredentialCache: () => clearCredentialCache,\n createScope: () => createScope,\n getCanonicalHeaders: () => getCanonicalHeaders,\n getCanonicalQuery: () => getCanonicalQuery,\n getPayloadHash: () => getPayloadHash,\n getSigningKey: () => getSigningKey,\n hasHeader: () => hasHeader,\n moveHeadersToQuery: () => moveHeadersToQuery,\n prepareRequest: () => prepareRequest,\n signatureV4aContainer: () => signatureV4aContainer\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/SignatureV4.ts\n\nvar import_util_utf85 = require(\"@smithy/util-utf8\");\n\n// src/constants.ts\nvar ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nvar CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nvar AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nvar SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nvar EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nvar SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nvar TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nvar REGION_SET_PARAM = \"X-Amz-Region-Set\";\nvar AUTH_HEADER = \"authorization\";\nvar AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nvar DATE_HEADER = \"date\";\nvar GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nvar SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nvar SHA256_HEADER = \"x-amz-content-sha256\";\nvar TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nvar HOST_HEADER = \"host\";\nvar ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true\n};\nvar PROXY_HEADER_PATTERN = /^proxy-/;\nvar SEC_HEADER_PATTERN = /^sec-/;\nvar UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nvar ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nvar ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nvar EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nvar UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nvar MAX_CACHE_SIZE = 50;\nvar KEY_TYPE_IDENTIFIER = \"aws4_request\";\nvar MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n\n// src/credentialDerivation.ts\nvar import_util_hex_encoding = require(\"@smithy/util-hex-encoding\");\nvar import_util_utf8 = require(\"@smithy/util-utf8\");\nvar signingKeyCache = {};\nvar cacheQueue = [];\nvar createScope = /* @__PURE__ */ __name((shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`, \"createScope\");\nvar getSigningKey = /* @__PURE__ */ __name(async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${(0, import_util_hex_encoding.toHex)(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return signingKeyCache[cacheKey] = key;\n}, \"getSigningKey\");\nvar clearCredentialCache = /* @__PURE__ */ __name(() => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n}, \"clearCredentialCache\");\nvar hmac = /* @__PURE__ */ __name((ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update((0, import_util_utf8.toUint8Array)(data));\n return hash.digest();\n}, \"hmac\");\n\n// src/getCanonicalHeaders.ts\nvar getCanonicalHeaders = /* @__PURE__ */ __name(({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == void 0) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || unsignableHeaders?.has(canonicalHeaderName) || PROXY_HEADER_PATTERN.test(canonicalHeaderName) || SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n}, \"getCanonicalHeaders\");\n\n// src/getPayloadHash.ts\nvar import_is_array_buffer = require(\"@smithy/is-array-buffer\");\n\nvar import_util_utf82 = require(\"@smithy/util-utf8\");\nvar getPayloadHash = /* @__PURE__ */ __name(async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == void 0) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n } else if (typeof body === \"string\" || ArrayBuffer.isView(body) || (0, import_is_array_buffer.isArrayBuffer)(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update((0, import_util_utf82.toUint8Array)(body));\n return (0, import_util_hex_encoding.toHex)(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n}, \"getPayloadHash\");\n\n// src/HeaderFormatter.ts\n\nvar import_util_utf83 = require(\"@smithy/util-utf8\");\nvar HeaderFormatter = class {\n static {\n __name(this, \"HeaderFormatter\");\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = (0, import_util_utf83.fromUtf8)(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 /* boolTrue */ : 1 /* boolFalse */]);\n case \"byte\":\n return Uint8Array.from([2 /* byte */, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3 /* short */);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4 /* integer */);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5 /* long */;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6 /* byteArray */);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = (0, import_util_utf83.fromUtf8)(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7 /* string */);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8 /* timestamp */;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9 /* uuid */;\n uuidBytes.set((0, import_util_hex_encoding.fromHex)(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n};\nvar UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nvar Int64 = class _Int64 {\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static {\n __name(this, \"Int64\");\n }\n static fromNumber(number) {\n if (number > 9223372036854776e3 || number < -9223372036854776e3) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new _Int64(bytes);\n }\n /**\n * Called implicitly by infix arithmetic operators.\n */\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 128;\n if (negative) {\n negate(bytes);\n }\n return parseInt((0, import_util_hex_encoding.toHex)(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n};\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 255;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n__name(negate, \"negate\");\n\n// src/headerUtil.ts\nvar hasHeader = /* @__PURE__ */ __name((soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n}, \"hasHeader\");\n\n// src/moveHeadersToQuery.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar moveHeadersToQuery = /* @__PURE__ */ __name((request, options = {}) => {\n const { headers, query = {} } = import_protocol_http.HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if (lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname) || options.hoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query\n };\n}, \"moveHeadersToQuery\");\n\n// src/prepareRequest.ts\n\nvar prepareRequest = /* @__PURE__ */ __name((request) => {\n request = import_protocol_http.HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n}, \"prepareRequest\");\n\n// src/SignatureV4Base.ts\n\nvar import_util_middleware = require(\"@smithy/util-middleware\");\n\nvar import_util_utf84 = require(\"@smithy/util-utf8\");\n\n// src/getCanonicalQuery.ts\nvar import_util_uri_escape = require(\"@smithy/util-uri-escape\");\nvar getCanonicalQuery = /* @__PURE__ */ __name(({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query)) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n const encodedKey = (0, import_util_uri_escape.escapeUri)(key);\n keys.push(encodedKey);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[encodedKey] = `${encodedKey}=${(0, import_util_uri_escape.escapeUri)(value)}`;\n } else if (Array.isArray(value)) {\n serialized[encodedKey] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${encodedKey}=${(0, import_util_uri_escape.escapeUri)(value2)}`]), []).sort().join(\"&\");\n }\n }\n return keys.sort().map((key) => serialized[key]).filter((serialized2) => serialized2).join(\"&\");\n}, \"getCanonicalQuery\");\n\n// src/utilDate.ts\nvar iso8601 = /* @__PURE__ */ __name((time) => toDate(time).toISOString().replace(/\\.\\d{3}Z$/, \"Z\"), \"iso8601\");\nvar toDate = /* @__PURE__ */ __name((time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1e3);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1e3);\n }\n return new Date(time);\n }\n return time;\n}, \"toDate\");\n\n// src/SignatureV4Base.ts\nvar SignatureV4Base = class {\n static {\n __name(this, \"SignatureV4Base\");\n }\n constructor({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath = true\n }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = (0, import_util_middleware.normalizeProvider)(region);\n this.credentialProvider = (0, import_util_middleware.normalizeProvider)(credentials);\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {\n const hash = new this.sha256();\n hash.update((0, import_util_utf84.toUint8Array)(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${algorithmIdentifier}\n${longDate}\n${credentialScope}\n${(0, import_util_hex_encoding.toHex)(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n } else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = (0, import_util_uri_escape.escapeUri)(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" || // @ts-expect-error: Property 'accessKeyId' does not exist on type 'object'.ts(2339)\n typeof credentials.accessKeyId !== \"string\" || // @ts-expect-error: Property 'secretAccessKey' does not exist on type 'object'.ts(2339)\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n formatDate(now) {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8)\n };\n }\n getCanonicalHeaderList(headers) {\n return Object.keys(headers).sort().join(\";\");\n }\n};\n\n// src/SignatureV4.ts\nvar SignatureV4 = class extends SignatureV4Base {\n constructor({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath = true\n }) {\n super({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath\n });\n this.headerFormatter = new HeaderFormatter();\n }\n static {\n __name(this, \"SignatureV4\");\n }\n async presign(originalRequest, options = {}) {\n const {\n signingDate = /* @__PURE__ */ new Date(),\n expiresIn = 3600,\n unsignableHeaders,\n unhoistableHeaders,\n signableHeaders,\n hoistableHeaders,\n signingRegion,\n signingService\n } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? await this.regionProvider();\n const { longDate, shortDate } = this.formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\n \"Signature version 4 presigned URLs must have an expiration date less than one week in the future\"\n );\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256))\n );\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n } else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n } else if (toSign.message) {\n return this.signMessage(toSign, options);\n } else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = /* @__PURE__ */ new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion ?? await this.regionProvider();\n const { shortDate, longDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = (0, import_util_hex_encoding.toHex)(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signMessage(signableMessage, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService }) {\n const promise = this.signEvent(\n {\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body\n },\n {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature\n }\n );\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = /* @__PURE__ */ new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? await this.regionProvider();\n const { shortDate } = this.formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update((0, import_util_utf85.toUint8Array)(stringToSign));\n return (0, import_util_hex_encoding.toHex)(await hash.digest());\n }\n async signRequest(requestToSign, {\n signingDate = /* @__PURE__ */ new Date(),\n signableHeaders,\n unsignableHeaders,\n signingRegion,\n signingService\n } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? await this.regionProvider();\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(\n longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService),\n this.createCanonicalRequest(request, canonicalHeaders, payloadHash)\n );\n request.headers[AUTH_HEADER] = `${ALGORITHM_IDENTIFIER} Credential=${credentials.accessKeyId}/${scope}, SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, Signature=${signature}`;\n return request;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(\n longDate,\n credentialScope,\n canonicalRequest,\n ALGORITHM_IDENTIFIER\n );\n const hash = new this.sha256(await keyPromise);\n hash.update((0, import_util_utf85.toUint8Array)(stringToSign));\n return (0, import_util_hex_encoding.toHex)(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n};\n\n// src/signature-v4a-container.ts\nvar signatureV4aContainer = {\n SignatureV4a: null\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getCanonicalHeaders,\n getCanonicalQuery,\n getPayloadHash,\n moveHeadersToQuery,\n prepareRequest,\n SignatureV4Base,\n hasHeader,\n SignatureV4,\n ALGORITHM_QUERY_PARAM,\n CREDENTIAL_QUERY_PARAM,\n AMZ_DATE_QUERY_PARAM,\n SIGNED_HEADERS_QUERY_PARAM,\n EXPIRES_QUERY_PARAM,\n SIGNATURE_QUERY_PARAM,\n TOKEN_QUERY_PARAM,\n REGION_SET_PARAM,\n AUTH_HEADER,\n AMZ_DATE_HEADER,\n DATE_HEADER,\n GENERATED_HEADERS,\n SIGNATURE_HEADER,\n SHA256_HEADER,\n TOKEN_HEADER,\n HOST_HEADER,\n ALWAYS_UNSIGNABLE_HEADERS,\n PROXY_HEADER_PATTERN,\n SEC_HEADER_PATTERN,\n UNSIGNABLE_PATTERNS,\n ALGORITHM_IDENTIFIER,\n ALGORITHM_IDENTIFIER_V4A,\n EVENT_ALGORITHM_IDENTIFIER,\n UNSIGNED_PAYLOAD,\n MAX_CACHE_SIZE,\n KEY_TYPE_IDENTIFIER,\n MAX_PRESIGNED_TTL,\n createScope,\n getSigningKey,\n clearCredentialCache,\n signatureV4aContainer\n});\n\n",
12
- "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/submodules/httpAuthSchemes/index.ts\nvar index_exports = {};\n__export(index_exports, {\n AWSSDKSigV4Signer: () => AWSSDKSigV4Signer,\n AwsSdkSigV4ASigner: () => AwsSdkSigV4ASigner,\n AwsSdkSigV4Signer: () => AwsSdkSigV4Signer,\n NODE_SIGV4A_CONFIG_OPTIONS: () => NODE_SIGV4A_CONFIG_OPTIONS,\n resolveAWSSDKSigV4Config: () => resolveAWSSDKSigV4Config,\n resolveAwsSdkSigV4AConfig: () => resolveAwsSdkSigV4AConfig,\n resolveAwsSdkSigV4Config: () => resolveAwsSdkSigV4Config,\n validateSigningProperties: () => validateSigningProperties\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.ts\nvar import_protocol_http2 = require(\"@smithy/protocol-http\");\n\n// src/submodules/httpAuthSchemes/utils/getDateHeader.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar getDateHeader = /* @__PURE__ */ __name((response) => import_protocol_http.HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : void 0, \"getDateHeader\");\n\n// src/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.ts\nvar getSkewCorrectedDate = /* @__PURE__ */ __name((systemClockOffset) => new Date(Date.now() + systemClockOffset), \"getSkewCorrectedDate\");\n\n// src/submodules/httpAuthSchemes/utils/isClockSkewed.ts\nvar isClockSkewed = /* @__PURE__ */ __name((clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 3e5, \"isClockSkewed\");\n\n// src/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.ts\nvar getUpdatedSystemClockOffset = /* @__PURE__ */ __name((clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n}, \"getUpdatedSystemClockOffset\");\n\n// src/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.ts\nvar throwSigningPropertyError = /* @__PURE__ */ __name((name, property) => {\n if (!property) {\n throw new Error(`Property \\`${name}\\` is not resolved for AWS SDK SigV4Auth`);\n }\n return property;\n}, \"throwSigningPropertyError\");\nvar validateSigningProperties = /* @__PURE__ */ __name(async (signingProperties) => {\n const context = throwSigningPropertyError(\n \"context\",\n signingProperties.context\n );\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const authScheme = context.endpointV2?.properties?.authSchemes?.[0];\n const signerFunction = throwSigningPropertyError(\n \"signer\",\n config.signer\n );\n const signer = await signerFunction(authScheme);\n const signingRegion = signingProperties?.signingRegion;\n const signingRegionSet = signingProperties?.signingRegionSet;\n const signingName = signingProperties?.signingName;\n return {\n config,\n signer,\n signingRegion,\n signingRegionSet,\n signingName\n };\n}, \"validateSigningProperties\");\nvar AwsSdkSigV4Signer = class {\n static {\n __name(this, \"AwsSdkSigV4Signer\");\n }\n async sign(httpRequest, identity, signingProperties) {\n if (!import_protocol_http2.HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const validatedProps = await validateSigningProperties(signingProperties);\n const { config, signer } = validatedProps;\n let { signingRegion, signingName } = validatedProps;\n const handlerExecutionContext = signingProperties.context;\n if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {\n const [first, second] = handlerExecutionContext.authSchemes;\n if (first?.name === \"sigv4a\" && second?.name === \"sigv4\") {\n signingRegion = second?.signingRegion ?? signingRegion;\n signingName = second?.signingName ?? signingName;\n }\n }\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion,\n signingService: signingName\n });\n return signedRequest;\n }\n errorHandler(signingProperties) {\n return (error) => {\n const serverTime = error.ServerTime ?? getDateHeader(error.$response);\n if (serverTime) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const initialSystemClockOffset = config.systemClockOffset;\n config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);\n const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;\n if (clockSkewCorrected && error.$metadata) {\n error.$metadata.clockSkewCorrected = true;\n }\n }\n throw error;\n };\n }\n successHandler(httpResponse, signingProperties) {\n const dateHeader = getDateHeader(httpResponse);\n if (dateHeader) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);\n }\n }\n};\nvar AWSSDKSigV4Signer = AwsSdkSigV4Signer;\n\n// src/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.ts\nvar import_protocol_http3 = require(\"@smithy/protocol-http\");\nvar AwsSdkSigV4ASigner = class extends AwsSdkSigV4Signer {\n static {\n __name(this, \"AwsSdkSigV4ASigner\");\n }\n async sign(httpRequest, identity, signingProperties) {\n if (!import_protocol_http3.HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(\n signingProperties\n );\n const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();\n const multiRegionOverride = (configResolvedSigningRegionSet ?? signingRegionSet ?? [signingRegion]).join(\",\");\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: multiRegionOverride,\n signingService: signingName\n });\n return signedRequest;\n }\n};\n\n// src/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.ts\nvar import_core = require(\"@smithy/core\");\nvar import_property_provider = require(\"@smithy/property-provider\");\nvar resolveAwsSdkSigV4AConfig = /* @__PURE__ */ __name((config) => {\n config.sigv4aSigningRegionSet = (0, import_core.normalizeProvider)(config.sigv4aSigningRegionSet);\n return config;\n}, \"resolveAwsSdkSigV4AConfig\");\nvar NODE_SIGV4A_CONFIG_OPTIONS = {\n environmentVariableSelector(env) {\n if (env.AWS_SIGV4A_SIGNING_REGION_SET) {\n return env.AWS_SIGV4A_SIGNING_REGION_SET.split(\",\").map((_) => _.trim());\n }\n throw new import_property_provider.ProviderError(\"AWS_SIGV4A_SIGNING_REGION_SET not set in env.\", {\n tryNextLink: true\n });\n },\n configFileSelector(profile) {\n if (profile.sigv4a_signing_region_set) {\n return (profile.sigv4a_signing_region_set ?? \"\").split(\",\").map((_) => _.trim());\n }\n throw new import_property_provider.ProviderError(\"sigv4a_signing_region_set not set in profile.\", {\n tryNextLink: true\n });\n },\n default: void 0\n};\n\n// src/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.ts\nvar import_client = require(\"@aws-sdk/core/client\");\nvar import_core2 = require(\"@smithy/core\");\nvar import_signature_v4 = require(\"@smithy/signature-v4\");\nvar resolveAwsSdkSigV4Config = /* @__PURE__ */ __name((config) => {\n let inputCredentials = config.credentials;\n let isUserSupplied = !!config.credentials;\n let resolvedCredentials = void 0;\n Object.defineProperty(config, \"credentials\", {\n set(credentials) {\n if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {\n isUserSupplied = true;\n }\n inputCredentials = credentials;\n const memoizedProvider = normalizeCredentialProvider(config, {\n credentials: inputCredentials,\n credentialDefaultProvider: config.credentialDefaultProvider\n });\n const boundProvider = bindCallerConfig(config, memoizedProvider);\n if (isUserSupplied && !boundProvider.attributed) {\n resolvedCredentials = /* @__PURE__ */ __name(async (options) => boundProvider(options).then(\n (creds) => (0, import_client.setCredentialFeature)(creds, \"CREDENTIALS_CODE\", \"e\")\n ), \"resolvedCredentials\");\n resolvedCredentials.memoized = boundProvider.memoized;\n resolvedCredentials.configBound = boundProvider.configBound;\n resolvedCredentials.attributed = true;\n } else {\n resolvedCredentials = boundProvider;\n }\n },\n get() {\n return resolvedCredentials;\n },\n enumerable: true,\n configurable: true\n });\n config.credentials = inputCredentials;\n const {\n // Default for signingEscapePath\n signingEscapePath = true,\n // Default for systemClockOffset\n systemClockOffset = config.systemClockOffset || 0,\n // No default for sha256 since it is platform dependent\n sha256\n } = config;\n let signer;\n if (config.signer) {\n signer = (0, import_core2.normalizeProvider)(config.signer);\n } else if (config.regionInfoProvider) {\n signer = /* @__PURE__ */ __name(() => (0, import_core2.normalizeProvider)(config.region)().then(\n async (region) => [\n await config.regionInfoProvider(region, {\n useFipsEndpoint: await config.useFipsEndpoint(),\n useDualstackEndpoint: await config.useDualstackEndpoint()\n }) || {},\n region\n ]\n ).then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n config.signingRegion = config.signingRegion || signingRegion || region;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath\n };\n const SignerCtor = config.signerConstructor || import_signature_v4.SignatureV4;\n return new SignerCtor(params);\n }), \"signer\");\n } else {\n signer = /* @__PURE__ */ __name(async (authScheme) => {\n authScheme = Object.assign(\n {},\n {\n name: \"sigv4\",\n signingName: config.signingName || config.defaultSigningName,\n signingRegion: await (0, import_core2.normalizeProvider)(config.region)(),\n properties: {}\n },\n authScheme\n );\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n config.signingRegion = config.signingRegion || signingRegion;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath\n };\n const SignerCtor = config.signerConstructor || import_signature_v4.SignatureV4;\n return new SignerCtor(params);\n }, \"signer\");\n }\n const resolvedConfig = Object.assign(config, {\n systemClockOffset,\n signingEscapePath,\n signer\n });\n return resolvedConfig;\n}, \"resolveAwsSdkSigV4Config\");\nvar resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\nfunction normalizeCredentialProvider(config, {\n credentials,\n credentialDefaultProvider\n}) {\n let credentialsProvider;\n if (credentials) {\n if (!credentials?.memoized) {\n credentialsProvider = (0, import_core2.memoizeIdentityProvider)(credentials, import_core2.isIdentityExpired, import_core2.doesIdentityRequireRefresh);\n } else {\n credentialsProvider = credentials;\n }\n } else {\n if (credentialDefaultProvider) {\n credentialsProvider = (0, import_core2.normalizeProvider)(\n credentialDefaultProvider(\n Object.assign({}, config, {\n parentClientConfig: config\n })\n )\n );\n } else {\n credentialsProvider = /* @__PURE__ */ __name(async () => {\n throw new Error(\n \"@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.\"\n );\n }, \"credentialsProvider\");\n }\n }\n credentialsProvider.memoized = true;\n return credentialsProvider;\n}\n__name(normalizeCredentialProvider, \"normalizeCredentialProvider\");\nfunction bindCallerConfig(config, credentialsProvider) {\n if (credentialsProvider.configBound) {\n return credentialsProvider;\n }\n const fn = /* @__PURE__ */ __name(async (options) => credentialsProvider({ ...options, callerClientConfig: config }), \"fn\");\n fn.memoized = credentialsProvider.memoized;\n fn.configBound = true;\n return fn;\n}\n__name(bindCallerConfig, \"bindCallerConfig\");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AWSSDKSigV4Signer,\n AwsSdkSigV4ASigner,\n AwsSdkSigV4Signer,\n NODE_SIGV4A_CONFIG_OPTIONS,\n resolveAWSSDKSigV4Config,\n resolveAwsSdkSigV4AConfig,\n resolveAwsSdkSigV4Config,\n validateSigningProperties\n});\n",
13
- "'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n",
14
- "'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n",
15
- "\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;",
16
- "'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;",
17
- "const util = require('../util');\n\n//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i<xmlData.length;i++){\n if (xmlData[i] === '<' && !comment) { //Determine the tag type\n if( hasBody && isEntity(xmlData, i)){\n i += 7; \n [entityName, val,i] = readEntityExp(xmlData,i+1);\n if(val.indexOf(\"&\") === -1) //Parameter entities are not supported\n entities[ validateEntityName(entityName) ] = {\n regx : RegExp( `&${entityName};`,\"g\"),\n val: val\n };\n }\n else if( hasBody && isElement(xmlData, i)) i += 8;//Not supported\n else if( hasBody && isAttlist(xmlData, i)) i += 8;//Not supported\n else if( hasBody && isNotation(xmlData, i)) i += 9;//Not supported\n else if( isComment) comment = true;\n else throw new Error(\"Invalid DOCTYPE\");\n\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i] === '>') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nfunction readEntityExp(xmlData,i){\n //External entities are not supported\n // <!ENTITY ext SYSTEM \"http://normal-website.com\" >\n\n //Parameter entities are not supported\n // <!ENTITY entityname \"&anotherElement;\">\n\n //Internal entities are supported\n // <!ENTITY entityname \"replacement text\">\n \n //read EntityName\n let entityName = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"' ); i++) {\n // if(xmlData[i] === \" \") continue;\n // else \n entityName += xmlData[i];\n }\n entityName = entityName.trim();\n if(entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n\n //read Entity Value\n const startChar = xmlData[i++];\n let val = \"\"\n for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {\n val += xmlData[i];\n }\n return [entityName, val, i];\n}\n\nfunction isComment(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === '-' &&\n xmlData[i+3] === '-') return true\n return false\n}\nfunction isEntity(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'N' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'I' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'Y') return true\n return false\n}\nfunction isElement(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'L' &&\n xmlData[i+4] === 'E' &&\n xmlData[i+5] === 'M' &&\n xmlData[i+6] === 'E' &&\n xmlData[i+7] === 'N' &&\n xmlData[i+8] === 'T') return true\n return false\n}\n\nfunction isAttlist(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'A' &&\n xmlData[i+3] === 'T' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'L' &&\n xmlData[i+6] === 'I' &&\n xmlData[i+7] === 'S' &&\n xmlData[i+8] === 'T') return true\n return false\n}\nfunction isNotation(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'N' &&\n xmlData[i+3] === 'O' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'A' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'I' &&\n xmlData[i+8] === 'O' &&\n xmlData[i+9] === 'N') return true\n return false\n}\n\nfunction validateEntityName(name){\n if (util.isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n\nmodule.exports = readDocType;\n",
18
- "const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/;\n// const octRegex = /^0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n \nconst consider = {\n hex : true,\n // oct: false,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true,\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n \n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if(str===\"0\") return 0;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return parse_int(trimmedStr, 16);\n // }else if (options.oct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n }else if (trimmedStr.search(/[eE]/)!== -1) { //eNotation\n const notation = trimmedStr.match(/^([-\\+])?(0*)([0-9]*(\\.[0-9]*)?[eE][-\\+]?[0-9]+)$/); \n // +00.123 => [ , '+', '00', '.123', ..\n if(notation){\n // console.log(notation)\n if(options.leadingZeros){ //accept with leading zeros\n trimmedStr = (notation[1] || \"\") + notation[3];\n }else{\n if(notation[2] === \"0\" && notation[3][0]=== \".\"){ //valid number\n }else{\n return str;\n }\n }\n return options.eNotation ? Number(trimmedStr) : str;\n }else{\n return str;\n }\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n // +00.123 => [ , '+', '00', '.123', ..\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else if(options.leadingZeros && leadingZeros===str) return 0; //00\n \n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n return (numTrimmedByZeros === numStr) || (sign+numTrimmedByZeros === numStr) ? num : str\n }else {\n return (trimmedStr === numStr) || (trimmedStr === sign+numStr) ? num : str\n }\n }\n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\n\nfunction parse_int(numStr, base){\n //polyfill\n if(parseInt) return parseInt(numStr, base);\n else if(Number.parseInt) return Number.parseInt(numStr, base);\n else if(window && window.parseInt) return window.parseInt(numStr, base);\n else throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")\n}\n\nmodule.exports = toNumber;",
19
- "'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\n\n// const regx =\n// '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n// .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 16)) },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (!this.options.ignoreAttributes && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if(val == undefined) val = \"\";\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n \n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath)\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath){\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n }else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode);\n }else{\n currentNode.addChild(childNode);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n\n const rawTagName = tagName;\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n rawTagName: rawTagName,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n",
20
- "'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\nexports.prettify = prettify;\n",
21
- "const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;",
22
- "const EOL = \"\\n\";\n\n/**\n * \n * @param {array} jArray \n * @param {any} options \n * @returns \n */\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n if(tagName === undefined) continue;\n\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if(!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n",
23
- "'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \"&quot;\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if(!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node only if it is not an attribute\n if (this.isAttribute(key)) {\n val += '';\n }\n } else if (jObj[key] === null) {\n // null attribute should be ignored by the attribute list, but should not cause the tag closing\n if (this.isAttribute(key)) {\n val += '';\n } else if (key[0] === '?') {\n val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n } else {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n }\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup){\n const result = this.j2x(item, level + 1);\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr\n }\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level)\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '</' + key + this.tagEndChar;\n let piClosingChar = \"\";\n \n if(key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n \n // attrStr is an empty string in case the attribute came as undefined or null\n if ((attrStr || attrStr === '') && val.indexOf('<') === -1) {\n return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `></${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '</' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function(textValue){\n if(textValue && textValue.length > 0 && this.options.processEntities){\n for (let i=0; i<this.options.entities.length; i++) {\n const entity = this.options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\nmodule.exports = Builder;\n",
24
- "'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n XMLParser: XMLParser,\n XMLValidator: validator,\n XMLBuilder: XMLBuilder\n}",
25
- "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/submodules/protocols/index.ts\nvar index_exports = {};\n__export(index_exports, {\n _toBool: () => _toBool,\n _toNum: () => _toNum,\n _toStr: () => _toStr,\n awsExpectUnion: () => awsExpectUnion,\n loadRestJsonErrorCode: () => loadRestJsonErrorCode,\n loadRestXmlErrorCode: () => loadRestXmlErrorCode,\n parseJsonBody: () => parseJsonBody,\n parseJsonErrorBody: () => parseJsonErrorBody,\n parseXmlBody: () => parseXmlBody,\n parseXmlErrorBody: () => parseXmlErrorBody\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/submodules/protocols/coercing-serializers.ts\nvar _toStr = /* @__PURE__ */ __name((val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\" || typeof val === \"bigint\") {\n const warning = new Error(`Received number ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n if (typeof val === \"boolean\") {\n const warning = new Error(`Received boolean ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n return val;\n}, \"_toStr\");\nvar _toBool = /* @__PURE__ */ __name((val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\") {\n }\n if (typeof val === \"string\") {\n const lowercase = val.toLowerCase();\n if (val !== \"\" && lowercase !== \"false\" && lowercase !== \"true\") {\n const warning = new Error(`Received string \"${val}\" where a boolean was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n }\n return val !== \"\" && lowercase !== \"false\";\n }\n return val;\n}, \"_toBool\");\nvar _toNum = /* @__PURE__ */ __name((val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"boolean\") {\n }\n if (typeof val === \"string\") {\n const num = Number(val);\n if (num.toString() !== val) {\n const warning = new Error(`Received string \"${val}\" where a number was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return val;\n }\n return num;\n }\n return val;\n}, \"_toNum\");\n\n// src/submodules/protocols/json/awsExpectUnion.ts\nvar import_smithy_client = require(\"@smithy/smithy-client\");\nvar awsExpectUnion = /* @__PURE__ */ __name((value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value === \"object\" && \"__type\" in value) {\n delete value.__type;\n }\n return (0, import_smithy_client.expectUnion)(value);\n}, \"awsExpectUnion\");\n\n// src/submodules/protocols/common.ts\nvar import_smithy_client2 = require(\"@smithy/smithy-client\");\nvar collectBodyString = /* @__PURE__ */ __name((streamBody, context) => (0, import_smithy_client2.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)), \"collectBodyString\");\n\n// src/submodules/protocols/json/parseJsonBody.ts\nvar parseJsonBody = /* @__PURE__ */ __name((streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n try {\n return JSON.parse(encoded);\n } catch (e) {\n if (e?.name === \"SyntaxError\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded\n });\n }\n throw e;\n }\n }\n return {};\n}), \"parseJsonBody\");\nvar parseJsonErrorBody = /* @__PURE__ */ __name(async (errorBody, context) => {\n const value = await parseJsonBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n}, \"parseJsonErrorBody\");\nvar loadRestJsonErrorCode = /* @__PURE__ */ __name((output, data) => {\n const findKey = /* @__PURE__ */ __name((object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()), \"findKey\");\n const sanitizeErrorCode = /* @__PURE__ */ __name((rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n }, \"sanitizeErrorCode\");\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== void 0) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data.code !== void 0) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== void 0) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n}, \"loadRestJsonErrorCode\");\n\n// src/submodules/protocols/xml/parseXmlBody.ts\nvar import_smithy_client3 = require(\"@smithy/smithy-client\");\nvar import_fast_xml_parser = require(\"fast-xml-parser\");\nvar parseXmlBody = /* @__PURE__ */ __name((streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n const parser = new import_fast_xml_parser.XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: /* @__PURE__ */ __name((_, val) => val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : void 0, \"tagValueProcessor\")\n });\n parser.addEntity(\"#xD\", \"\\r\");\n parser.addEntity(\"#10\", \"\\n\");\n let parsedObj;\n try {\n parsedObj = parser.parse(encoded, true);\n } catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return (0, import_smithy_client3.getValueFromTextNode)(parsedObjToReturn);\n }\n return {};\n}), \"parseXmlBody\");\nvar parseXmlErrorBody = /* @__PURE__ */ __name(async (errorBody, context) => {\n const value = await parseXmlBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n}, \"parseXmlErrorBody\");\nvar loadRestXmlErrorCode = /* @__PURE__ */ __name((output, data) => {\n if (data?.Error?.Code !== void 0) {\n return data.Error.Code;\n }\n if (data?.Code !== void 0) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n}, \"loadRestXmlErrorCode\");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n _toBool,\n _toNum,\n _toStr,\n awsExpectUnion,\n loadRestJsonErrorCode,\n loadRestXmlErrorCode,\n parseJsonBody,\n parseJsonErrorBody,\n parseXmlBody,\n parseXmlErrorBody\n});\n",
26
- "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./submodules/client/index\"), exports);\ntslib_1.__exportStar(require(\"./submodules/httpAuthSchemes/index\"), exports);\ntslib_1.__exportStar(require(\"./submodules/protocols/index\"), exports);\n",
27
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\n\nfunction rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n _crypto.default.randomFillSync(rnds8Pool);\n\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}",
28
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;",
29
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;",
30
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.unsafeStringify = unsafeStringify;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nfunction unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;",
31
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.unsafeStringify)(b);\n}\n\nvar _default = v1;\nexports.default = _default;",
32
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;",
33
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.URL = exports.DNS = void 0;\nexports.default = v35;\n\nvar _stringify = require(\"./stringify.js\");\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction v35(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n var _namespace;\n\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}",
34
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('md5').update(bytes).digest();\n}\n\nvar _default = md5;\nexports.default = _default;",
35
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;",
36
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n randomUUID: _crypto.default.randomUUID\n};\nexports.default = _default;",
37
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _native = _interopRequireDefault(require(\"./native.js\"));\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = require(\"./stringify.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n if (_native.default.randomUUID && !buf && !options) {\n return _native.default.randomUUID();\n }\n\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.unsafeStringify)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;",
38
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('sha1').update(bytes).digest();\n}\n\nvar _default = sha1;\nexports.default = _default;",
39
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;",
40
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;",
41
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.slice(14, 15), 16);\n}\n\nvar _default = version;\nexports.default = _default;",
42
- "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"
43
- ],
44
- "mappings": "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",
45
- "debugId": "FD99394F793E7FF564756E2164756E21",
46
- "names": []
47
- }