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.
- package/dist/app/index.js +25 -25
- package/dist/app/index.js.map +2 -2
- package/dist/bin/gemi.js +1 -1
- package/dist/bin/gemi.js.map +2 -2
- package/dist/broadcasting/index.js +1 -1
- package/dist/chunk-0nqce2y1.js +4 -0
- package/dist/{chunk-gx3h2xts.js.map → chunk-0nqce2y1.js.map} +6 -6
- package/dist/chunk-2ad1cqtt.js +5 -0
- package/dist/{chunk-ebcx322z.js.map → chunk-2ad1cqtt.js.map} +1 -1
- package/dist/chunk-33p2e7s6.js +5 -0
- package/dist/{chunk-k6kx9bhz.js.map → chunk-33p2e7s6.js.map} +2 -2
- package/dist/chunk-34cyjp05.js +4 -0
- package/dist/{chunk-9f0dmc0v.js.map → chunk-34cyjp05.js.map} +2 -2
- package/dist/{chunk-v6hawzhm.js → chunk-3td0xhnw.js} +4 -3
- package/dist/{chunk-v6hawzhm.js.map → chunk-3td0xhnw.js.map} +2 -2
- package/dist/chunk-697va9vj.js +15 -0
- package/dist/chunk-697va9vj.js.map +40 -0
- package/dist/chunk-882vm90z.js +5 -0
- package/dist/{chunk-47xbr7nj.js.map → chunk-882vm90z.js.map} +2 -2
- package/dist/chunk-8rtdf2cd.js +5 -0
- package/dist/chunk-8rtdf2cd.js.map +10 -0
- package/dist/{chunk-ta6hb843.js → chunk-9rxwxky2.js} +3 -2
- package/dist/{chunk-ta6hb843.js.map → chunk-9rxwxky2.js.map} +2 -2
- package/dist/chunk-bv0fq16n.js +5 -0
- package/dist/{chunk-cp81a2ga.js.map → chunk-bv0fq16n.js.map} +6 -6
- package/dist/chunk-c94tyv0f.js +4 -0
- package/dist/{chunk-nyqj9vzt.js.map → chunk-c94tyv0f.js.map} +2 -2
- package/dist/{chunk-ebcx322z.js → chunk-cbdnkfkw.js} +3 -2
- package/dist/chunk-cbdnkfkw.js.map +9 -0
- package/dist/chunk-egaxg13a.js +5 -0
- package/dist/{chunk-3pw4hcep.js.map → chunk-egaxg13a.js.map} +2 -2
- package/dist/chunk-f2qwngan.js +5 -0
- package/dist/chunk-f2qwngan.js.map +11 -0
- package/dist/{chunk-kbm8egme.js → chunk-fnc2mrgk.js} +4 -3
- package/dist/{chunk-kbm8egme.js.map → chunk-fnc2mrgk.js.map} +2 -2
- package/dist/chunk-g0qf8xfk.js +5 -0
- package/dist/chunk-g0qf8xfk.js.map +10 -0
- package/dist/chunk-h5nygx4m.js +26 -0
- package/dist/chunk-h5nygx4m.js.map +65 -0
- package/dist/chunk-jb8gvdve.js +7 -0
- package/dist/{chunk-c3s0zqhy.js.map → chunk-jb8gvdve.js.map} +2 -2
- package/dist/{chunk-hj1wc760.js → chunk-m06xgv2s.js} +4 -3
- package/dist/{chunk-hj1wc760.js.map → chunk-m06xgv2s.js.map} +2 -2
- package/dist/chunk-pmff7dr2.js +4 -0
- package/dist/{chunk-z1kwrnv5.js.map → chunk-pmff7dr2.js.map} +2 -2
- package/dist/chunk-q47rsdp4.js +4 -0
- package/dist/{chunk-5d9ccndf.js.map → chunk-q47rsdp4.js.map} +5 -5
- package/dist/chunk-sz5stqah.js +11 -0
- package/dist/{chunk-8ctxajfc.js.map → chunk-sz5stqah.js.map} +2 -2
- package/dist/chunk-tm1sbeqy.js +4 -0
- package/dist/{chunk-nnrnn2qp.js.map → chunk-tm1sbeqy.js.map} +8 -8
- package/dist/chunk-tqbe1gyc.js +8 -0
- package/dist/{chunk-xpp9rt2p.js.map → chunk-tqbe1gyc.js.map} +2 -2
- package/dist/chunk-ve22ma60.js +5 -0
- package/dist/chunk-ve22ma60.js.map +14 -0
- package/dist/chunk-wt5ayarp.js +6 -0
- package/dist/chunk-wt5ayarp.js.map +13 -0
- package/dist/{chunk-r5tsj9vp.js → chunk-x6ntsv3z.js} +4 -3
- package/dist/{chunk-r5tsj9vp.js.map → chunk-x6ntsv3z.js.map} +2 -2
- package/dist/chunk-z7q23s4c.js +4 -0
- package/dist/{chunk-x71srja2.js.map → chunk-z7q23s4c.js.map} +2 -2
- package/dist/chunk-zf3gtmrt.js +5 -0
- package/dist/{chunk-aj408pdc.js.map → chunk-zf3gtmrt.js.map} +2 -2
- package/dist/client/QueryResource.d.ts.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +61 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/useMutate.d.ts +15 -0
- package/dist/client/useMutate.d.ts.map +1 -0
- package/dist/client/useQuery.d.ts +1 -0
- package/dist/client/useQuery.d.ts.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +2 -2
- package/dist/facades/index.js +31 -31
- package/dist/facades/index.js.map +7 -7
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +3 -3
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +2 -2
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +2 -2
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +2 -2
- package/dist/services/index.js +63 -74
- package/dist/services/index.js.map +15 -25
- package/dist/services/logging/LoggingServiceContainer.d.ts +1 -1
- package/dist/services/logging/LoggingServiceContainer.d.ts.map +1 -1
- package/dist/services/queue/QueueServiceProvider.d.ts +1 -1
- package/dist/services/queue/QueueServiceProvider.d.ts.map +1 -1
- package/dist/services/router/createFlatViewRoutes.d.ts +1 -1
- package/dist/services/router/createFlatViewRoutes.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-05v9wdf8.js +0 -4
- package/dist/chunk-05v9wdf8.js.map +0 -16
- package/dist/chunk-2g4nt8nz.js +0 -27
- package/dist/chunk-2g4nt8nz.js.map +0 -47
- package/dist/chunk-3pw4hcep.js +0 -4
- package/dist/chunk-3tn8zz3h.js +0 -3
- package/dist/chunk-3tn8zz3h.js.map +0 -23
- package/dist/chunk-47xbr7nj.js +0 -4
- package/dist/chunk-5d9ccndf.js +0 -4
- package/dist/chunk-5yz4jjwj.js +0 -4
- package/dist/chunk-5yz4jjwj.js.map +0 -10
- package/dist/chunk-7prh8fq1.js +0 -4
- package/dist/chunk-7prh8fq1.js.map +0 -100
- package/dist/chunk-7tcvk149.js +0 -3
- package/dist/chunk-7tcvk149.js.map +0 -15
- package/dist/chunk-8ctxajfc.js +0 -11
- package/dist/chunk-9f0dmc0v.js +0 -4
- package/dist/chunk-aj408pdc.js +0 -4
- package/dist/chunk-c3s0zqhy.js +0 -6
- package/dist/chunk-cp81a2ga.js +0 -5
- package/dist/chunk-cqgt4nb9.js +0 -5
- package/dist/chunk-cqgt4nb9.js.map +0 -23
- package/dist/chunk-egd5q5dg.js +0 -12
- package/dist/chunk-egd5q5dg.js.map +0 -38
- package/dist/chunk-g1pmzbbw.js +0 -5
- package/dist/chunk-g1pmzbbw.js.map +0 -11
- package/dist/chunk-gx3h2xts.js +0 -4
- package/dist/chunk-k6kx9bhz.js +0 -4
- package/dist/chunk-nnrnn2qp.js +0 -4
- package/dist/chunk-nyqj9vzt.js +0 -4
- package/dist/chunk-q2rgbdh1.js +0 -5
- package/dist/chunk-q2rgbdh1.js.map +0 -39
- package/dist/chunk-trs56wy5.js +0 -9
- package/dist/chunk-trs56wy5.js.map +0 -25
- package/dist/chunk-x71srja2.js +0 -4
- package/dist/chunk-xpp9rt2p.js +0 -8
- package/dist/chunk-z09sd6xp.js +0 -7
- package/dist/chunk-z09sd6xp.js.map +0 -56
- package/dist/chunk-z1kwrnv5.js +0 -4
|
@@ -0,0 +1,65 @@
|
|
|
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/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/@aws-sdk/middleware-host-header/dist-cjs/index.js", "../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js", "../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js", "../../../node_modules/@smithy/util-endpoints/dist-cjs/index.js", "../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js", "../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js", "../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js", "../../../node_modules/@smithy/config-resolver/dist-cjs/index.js", "../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js", "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointUrlConfig.js", "../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromConfig.js", "../../../node_modules/@smithy/middleware-endpoint/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", "../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js", "../../../node_modules/@smithy/util-retry/dist-cjs/index.js", "../../../node_modules/@smithy/middleware-retry/dist-cjs/isStreamingPayload/isStreamingPayload.js", "../../../node_modules/@smithy/middleware-retry/dist-cjs/index.js", "../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js", "../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js", "../../../node_modules/@smithy/hash-node/dist-cjs/index.js", "../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js", "../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/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 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",
|
|
9
|
+
"\"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",
|
|
10
|
+
"'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",
|
|
11
|
+
"'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",
|
|
12
|
+
"\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;",
|
|
13
|
+
"'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;",
|
|
14
|
+
"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",
|
|
15
|
+
"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;",
|
|
16
|
+
"'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",
|
|
17
|
+
"'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",
|
|
18
|
+
"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 '
'\")\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;",
|
|
19
|
+
"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",
|
|
20
|
+
"'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: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\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",
|
|
21
|
+
"'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}",
|
|
22
|
+
"\"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",
|
|
23
|
+
"\"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",
|
|
24
|
+
"\"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/index.ts\nvar index_exports = {};\n__export(index_exports, {\n getHostHeaderPlugin: () => getHostHeaderPlugin,\n hostHeaderMiddleware: () => hostHeaderMiddleware,\n hostHeaderMiddlewareOptions: () => hostHeaderMiddlewareOptions,\n resolveHostHeaderConfig: () => resolveHostHeaderConfig\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nfunction resolveHostHeaderConfig(input) {\n return input;\n}\n__name(resolveHostHeaderConfig, \"resolveHostHeaderConfig\");\nvar hostHeaderMiddleware = /* @__PURE__ */ __name((options) => (next) => async (args) => {\n if (!import_protocol_http.HttpRequest.isInstance(args.request)) return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = request.hostname + (request.port ? \":\" + request.port : \"\");\n } else if (!request.headers[\"host\"]) {\n let host = request.hostname;\n if (request.port != null) host += `:${request.port}`;\n request.headers[\"host\"] = host;\n }\n return next(args);\n}, \"hostHeaderMiddleware\");\nvar hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true\n};\nvar getHostHeaderPlugin = /* @__PURE__ */ __name((options) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getHostHeaderPlugin\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n resolveHostHeaderConfig,\n hostHeaderMiddleware,\n hostHeaderMiddlewareOptions,\n getHostHeaderPlugin\n});\n\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/index.ts\nvar index_exports = {};\n__export(index_exports, {\n getLoggerPlugin: () => getLoggerPlugin,\n loggerMiddleware: () => loggerMiddleware,\n loggerMiddlewareOptions: () => loggerMiddlewareOptions\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/loggerMiddleware.ts\nvar loggerMiddleware = /* @__PURE__ */ __name(() => (next, context) => async (args) => {\n try {\n const response = await next(args);\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger?.info?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata\n });\n return response;\n } catch (error) {\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n logger?.error?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n error,\n metadata: error.$metadata\n });\n throw error;\n }\n}, \"loggerMiddleware\");\nvar loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true\n};\nvar getLoggerPlugin = /* @__PURE__ */ __name((options) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getLoggerPlugin\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n loggerMiddleware,\n loggerMiddlewareOptions,\n getLoggerPlugin\n});\n\n",
|
|
26
|
+
"\"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/index.ts\nvar index_exports = {};\n__export(index_exports, {\n addRecursionDetectionMiddlewareOptions: () => addRecursionDetectionMiddlewareOptions,\n getRecursionDetectionPlugin: () => getRecursionDetectionPlugin,\n recursionDetectionMiddleware: () => recursionDetectionMiddleware\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar TRACE_ID_HEADER_NAME = \"X-Amzn-Trace-Id\";\nvar ENV_LAMBDA_FUNCTION_NAME = \"AWS_LAMBDA_FUNCTION_NAME\";\nvar ENV_TRACE_ID = \"_X_AMZN_TRACE_ID\";\nvar recursionDetectionMiddleware = /* @__PURE__ */ __name((options) => (next) => async (args) => {\n const { request } = args;\n if (!import_protocol_http.HttpRequest.isInstance(request) || options.runtime !== \"node\") {\n return next(args);\n }\n const traceIdHeader = Object.keys(request.headers ?? {}).find((h) => h.toLowerCase() === TRACE_ID_HEADER_NAME.toLowerCase()) ?? TRACE_ID_HEADER_NAME;\n if (request.headers.hasOwnProperty(traceIdHeader)) {\n return next(args);\n }\n const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];\n const traceId = process.env[ENV_TRACE_ID];\n const nonEmptyString = /* @__PURE__ */ __name((str) => typeof str === \"string\" && str.length > 0, \"nonEmptyString\");\n if (nonEmptyString(functionName) && nonEmptyString(traceId)) {\n request.headers[TRACE_ID_HEADER_NAME] = traceId;\n }\n return next({\n ...args,\n request\n });\n}, \"recursionDetectionMiddleware\");\nvar addRecursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\"\n};\nvar getRecursionDetectionPlugin = /* @__PURE__ */ __name((options) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(recursionDetectionMiddleware(options), addRecursionDetectionMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getRecursionDetectionPlugin\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n recursionDetectionMiddleware,\n addRecursionDetectionMiddlewareOptions,\n getRecursionDetectionPlugin\n});\n\n",
|
|
27
|
+
"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 EndpointCache: () => EndpointCache,\n EndpointError: () => EndpointError,\n customEndpointFunctions: () => customEndpointFunctions,\n isIpAddress: () => isIpAddress,\n isValidHostLabel: () => isValidHostLabel,\n resolveEndpoint: () => resolveEndpoint\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/cache/EndpointCache.ts\nvar EndpointCache = class {\n /**\n * @param [size] - desired average maximum capacity. A buffer of 10 additional keys will be allowed\n * before keys are dropped.\n * @param [params] - list of params to consider as part of the cache key.\n *\n * If the params list is not populated, no caching will happen.\n * This may be out of order depending on how the object is created and arrives to this class.\n */\n constructor({ size, params }) {\n this.data = /* @__PURE__ */ new Map();\n this.parameters = [];\n this.capacity = size ?? 50;\n if (params) {\n this.parameters = params;\n }\n }\n static {\n __name(this, \"EndpointCache\");\n }\n /**\n * @param endpointParams - query for endpoint.\n * @param resolver - provider of the value if not present.\n * @returns endpoint corresponding to the query.\n */\n get(endpointParams, resolver) {\n const key = this.hash(endpointParams);\n if (key === false) {\n return resolver();\n }\n if (!this.data.has(key)) {\n if (this.data.size > this.capacity + 10) {\n const keys = this.data.keys();\n let i = 0;\n while (true) {\n const { value, done } = keys.next();\n this.data.delete(value);\n if (done || ++i > 10) {\n break;\n }\n }\n }\n this.data.set(key, resolver());\n }\n return this.data.get(key);\n }\n size() {\n return this.data.size;\n }\n /**\n * @returns cache key or false if not cachable.\n */\n hash(endpointParams) {\n let buffer = \"\";\n const { parameters } = this;\n if (parameters.length === 0) {\n return false;\n }\n for (const param of parameters) {\n const val = String(endpointParams[param] ?? \"\");\n if (val.includes(\"|;\")) {\n return false;\n }\n buffer += val + \"|;\";\n }\n return buffer;\n }\n};\n\n// src/lib/isIpAddress.ts\nvar IP_V4_REGEX = new RegExp(\n `^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$`\n);\nvar isIpAddress = /* @__PURE__ */ __name((value) => IP_V4_REGEX.test(value) || value.startsWith(\"[\") && value.endsWith(\"]\"), \"isIpAddress\");\n\n// src/lib/isValidHostLabel.ts\nvar VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\nvar isValidHostLabel = /* @__PURE__ */ __name((value, allowSubDomains = false) => {\n if (!allowSubDomains) {\n return VALID_HOST_LABEL_REGEX.test(value);\n }\n const labels = value.split(\".\");\n for (const label of labels) {\n if (!isValidHostLabel(label)) {\n return false;\n }\n }\n return true;\n}, \"isValidHostLabel\");\n\n// src/utils/customEndpointFunctions.ts\nvar customEndpointFunctions = {};\n\n// src/debug/debugId.ts\nvar debugId = \"endpoints\";\n\n// src/debug/toDebugString.ts\nfunction toDebugString(input) {\n if (typeof input !== \"object\" || input == null) {\n return input;\n }\n if (\"ref\" in input) {\n return `$${toDebugString(input.ref)}`;\n }\n if (\"fn\" in input) {\n return `${input.fn}(${(input.argv || []).map(toDebugString).join(\", \")})`;\n }\n return JSON.stringify(input, null, 2);\n}\n__name(toDebugString, \"toDebugString\");\n\n// src/types/EndpointError.ts\nvar EndpointError = class extends Error {\n static {\n __name(this, \"EndpointError\");\n }\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n};\n\n// src/lib/booleanEquals.ts\nvar booleanEquals = /* @__PURE__ */ __name((value1, value2) => value1 === value2, \"booleanEquals\");\n\n// src/lib/getAttrPathList.ts\nvar getAttrPathList = /* @__PURE__ */ __name((path) => {\n const parts = path.split(\".\");\n const pathList = [];\n for (const part of parts) {\n const squareBracketIndex = part.indexOf(\"[\");\n if (squareBracketIndex !== -1) {\n if (part.indexOf(\"]\") !== part.length - 1) {\n throw new EndpointError(`Path: '${path}' does not end with ']'`);\n }\n const arrayIndex = part.slice(squareBracketIndex + 1, -1);\n if (Number.isNaN(parseInt(arrayIndex))) {\n throw new EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);\n }\n if (squareBracketIndex !== 0) {\n pathList.push(part.slice(0, squareBracketIndex));\n }\n pathList.push(arrayIndex);\n } else {\n pathList.push(part);\n }\n }\n return pathList;\n}, \"getAttrPathList\");\n\n// src/lib/getAttr.ts\nvar getAttr = /* @__PURE__ */ __name((value, path) => getAttrPathList(path).reduce((acc, index) => {\n if (typeof acc !== \"object\") {\n throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);\n } else if (Array.isArray(acc)) {\n return acc[parseInt(index)];\n }\n return acc[index];\n}, value), \"getAttr\");\n\n// src/lib/isSet.ts\nvar isSet = /* @__PURE__ */ __name((value) => value != null, \"isSet\");\n\n// src/lib/not.ts\nvar not = /* @__PURE__ */ __name((value) => !value, \"not\");\n\n// src/lib/parseURL.ts\nvar import_types3 = require(\"@smithy/types\");\nvar DEFAULT_PORTS = {\n [import_types3.EndpointURLScheme.HTTP]: 80,\n [import_types3.EndpointURLScheme.HTTPS]: 443\n};\nvar parseURL = /* @__PURE__ */ __name((value) => {\n const whatwgURL = (() => {\n try {\n if (value instanceof URL) {\n return value;\n }\n if (typeof value === \"object\" && \"hostname\" in value) {\n const { hostname: hostname2, port, protocol: protocol2 = \"\", path = \"\", query = {} } = value;\n const url = new URL(`${protocol2}//${hostname2}${port ? `:${port}` : \"\"}${path}`);\n url.search = Object.entries(query).map(([k, v]) => `${k}=${v}`).join(\"&\");\n return url;\n }\n return new URL(value);\n } catch (error) {\n return null;\n }\n })();\n if (!whatwgURL) {\n console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);\n return null;\n }\n const urlString = whatwgURL.href;\n const { host, hostname, pathname, protocol, search } = whatwgURL;\n if (search) {\n return null;\n }\n const scheme = protocol.slice(0, -1);\n if (!Object.values(import_types3.EndpointURLScheme).includes(scheme)) {\n return null;\n }\n const isIp = isIpAddress(hostname);\n const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) || typeof value === \"string\" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`);\n const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;\n return {\n scheme,\n authority,\n path: pathname,\n normalizedPath: pathname.endsWith(\"/\") ? pathname : `${pathname}/`,\n isIp\n };\n}, \"parseURL\");\n\n// src/lib/stringEquals.ts\nvar stringEquals = /* @__PURE__ */ __name((value1, value2) => value1 === value2, \"stringEquals\");\n\n// src/lib/substring.ts\nvar substring = /* @__PURE__ */ __name((input, start, stop, reverse) => {\n if (start >= stop || input.length < stop) {\n return null;\n }\n if (!reverse) {\n return input.substring(start, stop);\n }\n return input.substring(input.length - stop, input.length - start);\n}, \"substring\");\n\n// src/lib/uriEncode.ts\nvar uriEncode = /* @__PURE__ */ __name((value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`), \"uriEncode\");\n\n// src/utils/endpointFunctions.ts\nvar endpointFunctions = {\n booleanEquals,\n getAttr,\n isSet,\n isValidHostLabel,\n not,\n parseURL,\n stringEquals,\n substring,\n uriEncode\n};\n\n// src/utils/evaluateTemplate.ts\nvar evaluateTemplate = /* @__PURE__ */ __name((template, options) => {\n const evaluatedTemplateArr = [];\n const templateContext = {\n ...options.endpointParams,\n ...options.referenceRecord\n };\n let currentIndex = 0;\n while (currentIndex < template.length) {\n const openingBraceIndex = template.indexOf(\"{\", currentIndex);\n if (openingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(currentIndex));\n break;\n }\n evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));\n const closingBraceIndex = template.indexOf(\"}\", openingBraceIndex);\n if (closingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex));\n break;\n }\n if (template[openingBraceIndex + 1] === \"{\" && template[closingBraceIndex + 1] === \"}\") {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));\n currentIndex = closingBraceIndex + 2;\n }\n const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);\n if (parameterName.includes(\"#\")) {\n const [refName, attrName] = parameterName.split(\"#\");\n evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName));\n } else {\n evaluatedTemplateArr.push(templateContext[parameterName]);\n }\n currentIndex = closingBraceIndex + 1;\n }\n return evaluatedTemplateArr.join(\"\");\n}, \"evaluateTemplate\");\n\n// src/utils/getReferenceValue.ts\nvar getReferenceValue = /* @__PURE__ */ __name(({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord\n };\n return referenceRecord[ref];\n}, \"getReferenceValue\");\n\n// src/utils/evaluateExpression.ts\nvar evaluateExpression = /* @__PURE__ */ __name((obj, keyName, options) => {\n if (typeof obj === \"string\") {\n return evaluateTemplate(obj, options);\n } else if (obj[\"fn\"]) {\n return callFunction(obj, options);\n } else if (obj[\"ref\"]) {\n return getReferenceValue(obj, options);\n }\n throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);\n}, \"evaluateExpression\");\n\n// src/utils/callFunction.ts\nvar callFunction = /* @__PURE__ */ __name(({ fn, argv }, options) => {\n const evaluatedArgs = argv.map(\n (arg) => [\"boolean\", \"number\"].includes(typeof arg) ? arg : evaluateExpression(arg, \"arg\", options)\n );\n const fnSegments = fn.split(\".\");\n if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) {\n return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs);\n }\n return endpointFunctions[fn](...evaluatedArgs);\n}, \"callFunction\");\n\n// src/utils/evaluateCondition.ts\nvar evaluateCondition = /* @__PURE__ */ __name(({ assign, ...fnArgs }, options) => {\n if (assign && assign in options.referenceRecord) {\n throw new EndpointError(`'${assign}' is already defined in Reference Record.`);\n }\n const value = callFunction(fnArgs, options);\n options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`);\n return {\n result: value === \"\" ? true : !!value,\n ...assign != null && { toAssign: { name: assign, value } }\n };\n}, \"evaluateCondition\");\n\n// src/utils/evaluateConditions.ts\nvar evaluateConditions = /* @__PURE__ */ __name((conditions = [], options) => {\n const conditionsReferenceRecord = {};\n for (const condition of conditions) {\n const { result, toAssign } = evaluateCondition(condition, {\n ...options,\n referenceRecord: {\n ...options.referenceRecord,\n ...conditionsReferenceRecord\n }\n });\n if (!result) {\n return { result };\n }\n if (toAssign) {\n conditionsReferenceRecord[toAssign.name] = toAssign.value;\n options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);\n }\n }\n return { result: true, referenceRecord: conditionsReferenceRecord };\n}, \"evaluateConditions\");\n\n// src/utils/getEndpointHeaders.ts\nvar getEndpointHeaders = /* @__PURE__ */ __name((headers, options) => Object.entries(headers).reduce(\n (acc, [headerKey, headerVal]) => ({\n ...acc,\n [headerKey]: headerVal.map((headerValEntry) => {\n const processedExpr = evaluateExpression(headerValEntry, \"Header value entry\", options);\n if (typeof processedExpr !== \"string\") {\n throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);\n }\n return processedExpr;\n })\n }),\n {}\n), \"getEndpointHeaders\");\n\n// src/utils/getEndpointProperty.ts\nvar getEndpointProperty = /* @__PURE__ */ __name((property, options) => {\n if (Array.isArray(property)) {\n return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));\n }\n switch (typeof property) {\n case \"string\":\n return evaluateTemplate(property, options);\n case \"object\":\n if (property === null) {\n throw new EndpointError(`Unexpected endpoint property: ${property}`);\n }\n return getEndpointProperties(property, options);\n case \"boolean\":\n return property;\n default:\n throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`);\n }\n}, \"getEndpointProperty\");\n\n// src/utils/getEndpointProperties.ts\nvar getEndpointProperties = /* @__PURE__ */ __name((properties, options) => Object.entries(properties).reduce(\n (acc, [propertyKey, propertyVal]) => ({\n ...acc,\n [propertyKey]: getEndpointProperty(propertyVal, options)\n }),\n {}\n), \"getEndpointProperties\");\n\n// src/utils/getEndpointUrl.ts\nvar getEndpointUrl = /* @__PURE__ */ __name((endpointUrl, options) => {\n const expression = evaluateExpression(endpointUrl, \"Endpoint URL\", options);\n if (typeof expression === \"string\") {\n try {\n return new URL(expression);\n } catch (error) {\n console.error(`Failed to construct URL with ${expression}`, error);\n throw error;\n }\n }\n throw new EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);\n}, \"getEndpointUrl\");\n\n// src/utils/evaluateEndpointRule.ts\nvar evaluateEndpointRule = /* @__PURE__ */ __name((endpointRule, options) => {\n const { conditions, endpoint } = endpointRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n const endpointRuleOptions = {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord }\n };\n const { url, properties, headers } = endpoint;\n options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);\n return {\n ...headers != void 0 && {\n headers: getEndpointHeaders(headers, endpointRuleOptions)\n },\n ...properties != void 0 && {\n properties: getEndpointProperties(properties, endpointRuleOptions)\n },\n url: getEndpointUrl(url, endpointRuleOptions)\n };\n}, \"evaluateEndpointRule\");\n\n// src/utils/evaluateErrorRule.ts\nvar evaluateErrorRule = /* @__PURE__ */ __name((errorRule, options) => {\n const { conditions, error } = errorRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n throw new EndpointError(\n evaluateExpression(error, \"Error\", {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord }\n })\n );\n}, \"evaluateErrorRule\");\n\n// src/utils/evaluateTreeRule.ts\nvar evaluateTreeRule = /* @__PURE__ */ __name((treeRule, options) => {\n const { conditions, rules } = treeRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n return evaluateRules(rules, {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord }\n });\n}, \"evaluateTreeRule\");\n\n// src/utils/evaluateRules.ts\nvar evaluateRules = /* @__PURE__ */ __name((rules, options) => {\n for (const rule of rules) {\n if (rule.type === \"endpoint\") {\n const endpointOrUndefined = evaluateEndpointRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n } else if (rule.type === \"error\") {\n evaluateErrorRule(rule, options);\n } else if (rule.type === \"tree\") {\n const endpointOrUndefined = evaluateTreeRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n } else {\n throw new EndpointError(`Unknown endpoint rule: ${rule}`);\n }\n }\n throw new EndpointError(`Rules evaluation failed`);\n}, \"evaluateRules\");\n\n// src/resolveEndpoint.ts\nvar resolveEndpoint = /* @__PURE__ */ __name((ruleSetObject, options) => {\n const { endpointParams, logger } = options;\n const { parameters, rules } = ruleSetObject;\n options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);\n const paramsWithDefault = Object.entries(parameters).filter(([, v]) => v.default != null).map(([k, v]) => [k, v.default]);\n if (paramsWithDefault.length > 0) {\n for (const [paramKey, paramDefaultValue] of paramsWithDefault) {\n endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;\n }\n }\n const requiredParams = Object.entries(parameters).filter(([, v]) => v.required).map(([k]) => k);\n for (const requiredParam of requiredParams) {\n if (endpointParams[requiredParam] == null) {\n throw new EndpointError(`Missing required parameter: '${requiredParam}'`);\n }\n }\n const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} });\n options.logger?.debug?.(`${debugId} Resolved endpoint: ${toDebugString(endpoint)}`);\n return endpoint;\n}, \"resolveEndpoint\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n EndpointCache,\n isIpAddress,\n isValidHostLabel,\n customEndpointFunctions,\n resolveEndpoint,\n EndpointError\n});\n\n",
|
|
28
|
+
"\"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/index.ts\nvar index_exports = {};\n__export(index_exports, {\n ConditionObject: () => import_util_endpoints.ConditionObject,\n DeprecatedObject: () => import_util_endpoints.DeprecatedObject,\n EndpointError: () => import_util_endpoints.EndpointError,\n EndpointObject: () => import_util_endpoints.EndpointObject,\n EndpointObjectHeaders: () => import_util_endpoints.EndpointObjectHeaders,\n EndpointObjectProperties: () => import_util_endpoints.EndpointObjectProperties,\n EndpointParams: () => import_util_endpoints.EndpointParams,\n EndpointResolverOptions: () => import_util_endpoints.EndpointResolverOptions,\n EndpointRuleObject: () => import_util_endpoints.EndpointRuleObject,\n ErrorRuleObject: () => import_util_endpoints.ErrorRuleObject,\n EvaluateOptions: () => import_util_endpoints.EvaluateOptions,\n Expression: () => import_util_endpoints.Expression,\n FunctionArgv: () => import_util_endpoints.FunctionArgv,\n FunctionObject: () => import_util_endpoints.FunctionObject,\n FunctionReturn: () => import_util_endpoints.FunctionReturn,\n ParameterObject: () => import_util_endpoints.ParameterObject,\n ReferenceObject: () => import_util_endpoints.ReferenceObject,\n ReferenceRecord: () => import_util_endpoints.ReferenceRecord,\n RuleSetObject: () => import_util_endpoints.RuleSetObject,\n RuleSetRules: () => import_util_endpoints.RuleSetRules,\n TreeRuleObject: () => import_util_endpoints.TreeRuleObject,\n awsEndpointFunctions: () => awsEndpointFunctions,\n getUserAgentPrefix: () => getUserAgentPrefix,\n isIpAddress: () => import_util_endpoints.isIpAddress,\n partition: () => partition,\n resolveEndpoint: () => import_util_endpoints.resolveEndpoint,\n setPartitionInfo: () => setPartitionInfo,\n useDefaultPartitionInfo: () => useDefaultPartitionInfo\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/aws.ts\n\n\n// src/lib/aws/isVirtualHostableS3Bucket.ts\n\n\n// src/lib/isIpAddress.ts\nvar import_util_endpoints = require(\"@smithy/util-endpoints\");\n\n// src/lib/aws/isVirtualHostableS3Bucket.ts\nvar isVirtualHostableS3Bucket = /* @__PURE__ */ __name((value, allowSubDomains = false) => {\n if (allowSubDomains) {\n for (const label of value.split(\".\")) {\n if (!isVirtualHostableS3Bucket(label)) {\n return false;\n }\n }\n return true;\n }\n if (!(0, import_util_endpoints.isValidHostLabel)(value)) {\n return false;\n }\n if (value.length < 3 || value.length > 63) {\n return false;\n }\n if (value !== value.toLowerCase()) {\n return false;\n }\n if ((0, import_util_endpoints.isIpAddress)(value)) {\n return false;\n }\n return true;\n}, \"isVirtualHostableS3Bucket\");\n\n// src/lib/aws/parseArn.ts\nvar ARN_DELIMITER = \":\";\nvar RESOURCE_DELIMITER = \"/\";\nvar parseArn = /* @__PURE__ */ __name((value) => {\n const segments = value.split(ARN_DELIMITER);\n if (segments.length < 6) return null;\n const [arn, partition2, service, region, accountId, ...resourcePath] = segments;\n if (arn !== \"arn\" || partition2 === \"\" || service === \"\" || resourcePath.join(ARN_DELIMITER) === \"\") return null;\n const resourceId = resourcePath.map((resource) => resource.split(RESOURCE_DELIMITER)).flat();\n return {\n partition: partition2,\n service,\n region,\n accountId,\n resourceId\n };\n}, \"parseArn\");\n\n// src/lib/aws/partitions.json\nvar partitions_default = {\n partitions: [{\n id: \"aws\",\n outputs: {\n dnsSuffix: \"amazonaws.com\",\n dualStackDnsSuffix: \"api.aws\",\n implicitGlobalRegion: \"us-east-1\",\n name: \"aws\",\n supportsDualStack: true,\n supportsFIPS: true\n },\n regionRegex: \"^(us|eu|ap|sa|ca|me|af|il|mx)\\\\-\\\\w+\\\\-\\\\d+$\",\n regions: {\n \"af-south-1\": {\n description: \"Africa (Cape Town)\"\n },\n \"ap-east-1\": {\n description: \"Asia Pacific (Hong Kong)\"\n },\n \"ap-northeast-1\": {\n description: \"Asia Pacific (Tokyo)\"\n },\n \"ap-northeast-2\": {\n description: \"Asia Pacific (Seoul)\"\n },\n \"ap-northeast-3\": {\n description: \"Asia Pacific (Osaka)\"\n },\n \"ap-south-1\": {\n description: \"Asia Pacific (Mumbai)\"\n },\n \"ap-south-2\": {\n description: \"Asia Pacific (Hyderabad)\"\n },\n \"ap-southeast-1\": {\n description: \"Asia Pacific (Singapore)\"\n },\n \"ap-southeast-2\": {\n description: \"Asia Pacific (Sydney)\"\n },\n \"ap-southeast-3\": {\n description: \"Asia Pacific (Jakarta)\"\n },\n \"ap-southeast-4\": {\n description: \"Asia Pacific (Melbourne)\"\n },\n \"ap-southeast-5\": {\n description: \"Asia Pacific (Malaysia)\"\n },\n \"ap-southeast-7\": {\n description: \"Asia Pacific (Thailand)\"\n },\n \"aws-global\": {\n description: \"AWS Standard global region\"\n },\n \"ca-central-1\": {\n description: \"Canada (Central)\"\n },\n \"ca-west-1\": {\n description: \"Canada West (Calgary)\"\n },\n \"eu-central-1\": {\n description: \"Europe (Frankfurt)\"\n },\n \"eu-central-2\": {\n description: \"Europe (Zurich)\"\n },\n \"eu-north-1\": {\n description: \"Europe (Stockholm)\"\n },\n \"eu-south-1\": {\n description: \"Europe (Milan)\"\n },\n \"eu-south-2\": {\n description: \"Europe (Spain)\"\n },\n \"eu-west-1\": {\n description: \"Europe (Ireland)\"\n },\n \"eu-west-2\": {\n description: \"Europe (London)\"\n },\n \"eu-west-3\": {\n description: \"Europe (Paris)\"\n },\n \"il-central-1\": {\n description: \"Israel (Tel Aviv)\"\n },\n \"me-central-1\": {\n description: \"Middle East (UAE)\"\n },\n \"me-south-1\": {\n description: \"Middle East (Bahrain)\"\n },\n \"mx-central-1\": {\n description: \"Mexico (Central)\"\n },\n \"sa-east-1\": {\n description: \"South America (Sao Paulo)\"\n },\n \"us-east-1\": {\n description: \"US East (N. Virginia)\"\n },\n \"us-east-2\": {\n description: \"US East (Ohio)\"\n },\n \"us-west-1\": {\n description: \"US West (N. California)\"\n },\n \"us-west-2\": {\n description: \"US West (Oregon)\"\n }\n }\n }, {\n id: \"aws-cn\",\n outputs: {\n dnsSuffix: \"amazonaws.com.cn\",\n dualStackDnsSuffix: \"api.amazonwebservices.com.cn\",\n implicitGlobalRegion: \"cn-northwest-1\",\n name: \"aws-cn\",\n supportsDualStack: true,\n supportsFIPS: true\n },\n regionRegex: \"^cn\\\\-\\\\w+\\\\-\\\\d+$\",\n regions: {\n \"aws-cn-global\": {\n description: \"AWS China global region\"\n },\n \"cn-north-1\": {\n description: \"China (Beijing)\"\n },\n \"cn-northwest-1\": {\n description: \"China (Ningxia)\"\n }\n }\n }, {\n id: \"aws-us-gov\",\n outputs: {\n dnsSuffix: \"amazonaws.com\",\n dualStackDnsSuffix: \"api.aws\",\n implicitGlobalRegion: \"us-gov-west-1\",\n name: \"aws-us-gov\",\n supportsDualStack: true,\n supportsFIPS: true\n },\n regionRegex: \"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$\",\n regions: {\n \"aws-us-gov-global\": {\n description: \"AWS GovCloud (US) global region\"\n },\n \"us-gov-east-1\": {\n description: \"AWS GovCloud (US-East)\"\n },\n \"us-gov-west-1\": {\n description: \"AWS GovCloud (US-West)\"\n }\n }\n }, {\n id: \"aws-iso\",\n outputs: {\n dnsSuffix: \"c2s.ic.gov\",\n dualStackDnsSuffix: \"c2s.ic.gov\",\n implicitGlobalRegion: \"us-iso-east-1\",\n name: \"aws-iso\",\n supportsDualStack: false,\n supportsFIPS: true\n },\n regionRegex: \"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$\",\n regions: {\n \"aws-iso-global\": {\n description: \"AWS ISO (US) global region\"\n },\n \"us-iso-east-1\": {\n description: \"US ISO East\"\n },\n \"us-iso-west-1\": {\n description: \"US ISO WEST\"\n }\n }\n }, {\n id: \"aws-iso-b\",\n outputs: {\n dnsSuffix: \"sc2s.sgov.gov\",\n dualStackDnsSuffix: \"sc2s.sgov.gov\",\n implicitGlobalRegion: \"us-isob-east-1\",\n name: \"aws-iso-b\",\n supportsDualStack: false,\n supportsFIPS: true\n },\n regionRegex: \"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$\",\n regions: {\n \"aws-iso-b-global\": {\n description: \"AWS ISOB (US) global region\"\n },\n \"us-isob-east-1\": {\n description: \"US ISOB East (Ohio)\"\n }\n }\n }, {\n id: \"aws-iso-e\",\n outputs: {\n dnsSuffix: \"cloud.adc-e.uk\",\n dualStackDnsSuffix: \"cloud.adc-e.uk\",\n implicitGlobalRegion: \"eu-isoe-west-1\",\n name: \"aws-iso-e\",\n supportsDualStack: false,\n supportsFIPS: true\n },\n regionRegex: \"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$\",\n regions: {\n \"aws-iso-e-global\": {\n description: \"AWS ISOE (Europe) global region\"\n },\n \"eu-isoe-west-1\": {\n description: \"EU ISOE West\"\n }\n }\n }, {\n id: \"aws-iso-f\",\n outputs: {\n dnsSuffix: \"csp.hci.ic.gov\",\n dualStackDnsSuffix: \"csp.hci.ic.gov\",\n implicitGlobalRegion: \"us-isof-south-1\",\n name: \"aws-iso-f\",\n supportsDualStack: false,\n supportsFIPS: true\n },\n regionRegex: \"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$\",\n regions: {\n \"aws-iso-f-global\": {\n description: \"AWS ISOF global region\"\n },\n \"us-isof-east-1\": {\n description: \"US ISOF EAST\"\n },\n \"us-isof-south-1\": {\n description: \"US ISOF SOUTH\"\n }\n }\n }, {\n id: \"aws-eusc\",\n outputs: {\n dnsSuffix: \"amazonaws.eu\",\n dualStackDnsSuffix: \"amazonaws.eu\",\n implicitGlobalRegion: \"eusc-de-east-1\",\n name: \"aws-eusc\",\n supportsDualStack: false,\n supportsFIPS: true\n },\n regionRegex: \"^eusc\\\\-(de)\\\\-\\\\w+\\\\-\\\\d+$\",\n regions: {\n \"eusc-de-east-1\": {\n description: \"EU (Germany)\"\n }\n }\n }],\n version: \"1.1\"\n};\n\n// src/lib/aws/partition.ts\nvar selectedPartitionsInfo = partitions_default;\nvar selectedUserAgentPrefix = \"\";\nvar partition = /* @__PURE__ */ __name((value) => {\n const { partitions } = selectedPartitionsInfo;\n for (const partition2 of partitions) {\n const { regions, outputs } = partition2;\n for (const [region, regionData] of Object.entries(regions)) {\n if (region === value) {\n return {\n ...outputs,\n ...regionData\n };\n }\n }\n }\n for (const partition2 of partitions) {\n const { regionRegex, outputs } = partition2;\n if (new RegExp(regionRegex).test(value)) {\n return {\n ...outputs\n };\n }\n }\n const DEFAULT_PARTITION = partitions.find((partition2) => partition2.id === \"aws\");\n if (!DEFAULT_PARTITION) {\n throw new Error(\n \"Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.\"\n );\n }\n return {\n ...DEFAULT_PARTITION.outputs\n };\n}, \"partition\");\nvar setPartitionInfo = /* @__PURE__ */ __name((partitionsInfo, userAgentPrefix = \"\") => {\n selectedPartitionsInfo = partitionsInfo;\n selectedUserAgentPrefix = userAgentPrefix;\n}, \"setPartitionInfo\");\nvar useDefaultPartitionInfo = /* @__PURE__ */ __name(() => {\n setPartitionInfo(partitions_default, \"\");\n}, \"useDefaultPartitionInfo\");\nvar getUserAgentPrefix = /* @__PURE__ */ __name(() => selectedUserAgentPrefix, \"getUserAgentPrefix\");\n\n// src/aws.ts\nvar awsEndpointFunctions = {\n isVirtualHostableS3Bucket,\n parseArn,\n partition\n};\nimport_util_endpoints.customEndpointFunctions.aws = awsEndpointFunctions;\n\n// src/resolveEndpoint.ts\n\n\n// src/types/EndpointError.ts\n\n\n// src/types/EndpointRuleObject.ts\n\n\n// src/types/ErrorRuleObject.ts\n\n\n// src/types/RuleSetObject.ts\n\n\n// src/types/TreeRuleObject.ts\n\n\n// src/types/shared.ts\n\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n awsEndpointFunctions,\n partition,\n setPartitionInfo,\n useDefaultPartitionInfo,\n getUserAgentPrefix,\n isIpAddress,\n resolveEndpoint,\n EndpointError\n});\n\n",
|
|
29
|
+
"\"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/index.ts\nvar index_exports = {};\n__export(index_exports, {\n DEFAULT_UA_APP_ID: () => DEFAULT_UA_APP_ID,\n getUserAgentMiddlewareOptions: () => getUserAgentMiddlewareOptions,\n getUserAgentPlugin: () => getUserAgentPlugin,\n resolveUserAgentConfig: () => resolveUserAgentConfig,\n userAgentMiddleware: () => userAgentMiddleware\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/configurations.ts\nvar import_core = require(\"@smithy/core\");\nvar DEFAULT_UA_APP_ID = void 0;\nfunction isValidUserAgentAppId(appId) {\n if (appId === void 0) {\n return true;\n }\n return typeof appId === \"string\" && appId.length <= 50;\n}\n__name(isValidUserAgentAppId, \"isValidUserAgentAppId\");\nfunction resolveUserAgentConfig(input) {\n const normalizedAppIdProvider = (0, import_core.normalizeProvider)(input.userAgentAppId ?? DEFAULT_UA_APP_ID);\n const { customUserAgent } = input;\n return Object.assign(input, {\n customUserAgent: typeof customUserAgent === \"string\" ? [[customUserAgent]] : customUserAgent,\n userAgentAppId: /* @__PURE__ */ __name(async () => {\n const appId = await normalizedAppIdProvider();\n if (!isValidUserAgentAppId(appId)) {\n const logger = input.logger?.constructor?.name === \"NoOpLogger\" || !input.logger ? console : input.logger;\n if (typeof appId !== \"string\") {\n logger?.warn(\"userAgentAppId must be a string or undefined.\");\n } else if (appId.length > 50) {\n logger?.warn(\"The provided userAgentAppId exceeds the maximum length of 50 characters.\");\n }\n }\n return appId;\n }, \"userAgentAppId\")\n });\n}\n__name(resolveUserAgentConfig, \"resolveUserAgentConfig\");\n\n// src/user-agent-middleware.ts\nvar import_util_endpoints = require(\"@aws-sdk/util-endpoints\");\nvar import_protocol_http = require(\"@smithy/protocol-http\");\n\n// src/check-features.ts\nvar import_core2 = require(\"@aws-sdk/core\");\nvar ACCOUNT_ID_ENDPOINT_REGEX = /\\d{12}\\.ddb/;\nasync function checkFeatures(context, config, args) {\n const request = args.request;\n if (request?.headers?.[\"smithy-protocol\"] === \"rpc-v2-cbor\") {\n (0, import_core2.setFeature)(context, \"PROTOCOL_RPC_V2_CBOR\", \"M\");\n }\n if (typeof config.retryStrategy === \"function\") {\n const retryStrategy = await config.retryStrategy();\n if (typeof retryStrategy.acquireInitialRetryToken === \"function\") {\n if (retryStrategy.constructor?.name?.includes(\"Adaptive\")) {\n (0, import_core2.setFeature)(context, \"RETRY_MODE_ADAPTIVE\", \"F\");\n } else {\n (0, import_core2.setFeature)(context, \"RETRY_MODE_STANDARD\", \"E\");\n }\n } else {\n (0, import_core2.setFeature)(context, \"RETRY_MODE_LEGACY\", \"D\");\n }\n }\n if (typeof config.accountIdEndpointMode === \"function\") {\n const endpointV2 = context.endpointV2;\n if (String(endpointV2?.url?.hostname).match(ACCOUNT_ID_ENDPOINT_REGEX)) {\n (0, import_core2.setFeature)(context, \"ACCOUNT_ID_ENDPOINT\", \"O\");\n }\n switch (await config.accountIdEndpointMode?.()) {\n case \"disabled\":\n (0, import_core2.setFeature)(context, \"ACCOUNT_ID_MODE_DISABLED\", \"Q\");\n break;\n case \"preferred\":\n (0, import_core2.setFeature)(context, \"ACCOUNT_ID_MODE_PREFERRED\", \"P\");\n break;\n case \"required\":\n (0, import_core2.setFeature)(context, \"ACCOUNT_ID_MODE_REQUIRED\", \"R\");\n break;\n }\n }\n const identity = context.__smithy_context?.selectedHttpAuthScheme?.identity;\n if (identity?.$source) {\n const credentials = identity;\n if (credentials.accountId) {\n (0, import_core2.setFeature)(context, \"RESOLVED_ACCOUNT_ID\", \"T\");\n }\n for (const [key, value] of Object.entries(credentials.$source ?? {})) {\n (0, import_core2.setFeature)(context, key, value);\n }\n }\n}\n__name(checkFeatures, \"checkFeatures\");\n\n// src/constants.ts\nvar USER_AGENT = \"user-agent\";\nvar X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nvar SPACE = \" \";\nvar UA_NAME_SEPARATOR = \"/\";\nvar UA_NAME_ESCAPE_REGEX = /[^\\!\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\nvar UA_VALUE_ESCAPE_REGEX = /[^\\!\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w\\#]/g;\nvar UA_ESCAPE_CHAR = \"-\";\n\n// src/encode-features.ts\nvar BYTE_LIMIT = 1024;\nfunction encodeFeatures(features) {\n let buffer = \"\";\n for (const key in features) {\n const val = features[key];\n if (buffer.length + val.length + 1 <= BYTE_LIMIT) {\n if (buffer.length) {\n buffer += \",\" + val;\n } else {\n buffer += val;\n }\n continue;\n }\n break;\n }\n return buffer;\n}\n__name(encodeFeatures, \"encodeFeatures\");\n\n// src/user-agent-middleware.ts\nvar userAgentMiddleware = /* @__PURE__ */ __name((options) => (next, context) => async (args) => {\n const { request } = args;\n if (!import_protocol_http.HttpRequest.isInstance(request)) {\n return next(args);\n }\n const { headers } = request;\n const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n await checkFeatures(context, options, args);\n const awsContext = context;\n defaultUserAgent.push(\n `m/${encodeFeatures(\n Object.assign({}, context.__smithy_context?.features, awsContext.__aws_sdk_context?.features)\n )}`\n );\n const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\n const appId = await options.userAgentAppId();\n if (appId) {\n defaultUserAgent.push(escapeUserAgent([`app/${appId}`]));\n }\n const prefix = (0, import_util_endpoints.getUserAgentPrefix)();\n const sdkUserAgentValue = (prefix ? [prefix] : []).concat([...defaultUserAgent, ...userAgent, ...customUserAgent]).join(SPACE);\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent\n ].join(SPACE);\n if (options.runtime !== \"browser\") {\n if (normalUAValue) {\n headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT] ? `${headers[USER_AGENT]} ${normalUAValue}` : normalUAValue;\n }\n headers[USER_AGENT] = sdkUserAgentValue;\n } else {\n headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;\n }\n return next({\n ...args,\n request\n });\n}, \"userAgentMiddleware\");\nvar escapeUserAgent = /* @__PURE__ */ __name((userAgentPair) => {\n const name = userAgentPair[0].split(UA_NAME_SEPARATOR).map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR)).join(UA_NAME_SEPARATOR);\n const version = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR);\n const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR);\n const prefix = name.substring(0, prefixSeparatorIndex);\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version].filter((item) => item && item.length > 0).reduce((acc, item, index) => {\n switch (index) {\n case 0:\n return item;\n case 1:\n return `${acc}/${item}`;\n default:\n return `${acc}#${item}`;\n }\n }, \"\");\n}, \"escapeUserAgent\");\nvar getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true\n};\nvar getUserAgentPlugin = /* @__PURE__ */ __name((config) => ({\n applyToStack: /* @__PURE__ */ __name((clientStack) => {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n }, \"applyToStack\")\n}), \"getUserAgentPlugin\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n DEFAULT_UA_APP_ID,\n resolveUserAgentConfig,\n userAgentMiddleware,\n getUserAgentMiddlewareOptions,\n getUserAgentPlugin\n});\n\n",
|
|
30
|
+
"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 SelectorType: () => SelectorType,\n booleanSelector: () => booleanSelector,\n numberSelector: () => numberSelector\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/booleanSelector.ts\nvar booleanSelector = /* @__PURE__ */ __name((obj, key, type) => {\n if (!(key in obj))\n return void 0;\n if (obj[key] === \"true\")\n return true;\n if (obj[key] === \"false\")\n return false;\n throw new Error(`Cannot load ${type} \"${key}\". Expected \"true\" or \"false\", got ${obj[key]}.`);\n}, \"booleanSelector\");\n\n// src/numberSelector.ts\nvar numberSelector = /* @__PURE__ */ __name((obj, key, type) => {\n if (!(key in obj))\n return void 0;\n const numberValue = parseInt(obj[key], 10);\n if (Number.isNaN(numberValue)) {\n throw new TypeError(`Cannot load ${type} '${key}'. Expected number, got '${obj[key]}'.`);\n }\n return numberValue;\n}, \"numberSelector\");\n\n// src/types.ts\nvar SelectorType = /* @__PURE__ */ ((SelectorType2) => {\n SelectorType2[\"ENV\"] = \"env\";\n SelectorType2[\"CONFIG\"] = \"shared config entry\";\n return SelectorType2;\n})(SelectorType || {});\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n booleanSelector,\n numberSelector,\n SelectorType\n});\n\n",
|
|
31
|
+
"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 CONFIG_USE_DUALSTACK_ENDPOINT: () => CONFIG_USE_DUALSTACK_ENDPOINT,\n CONFIG_USE_FIPS_ENDPOINT: () => CONFIG_USE_FIPS_ENDPOINT,\n DEFAULT_USE_DUALSTACK_ENDPOINT: () => DEFAULT_USE_DUALSTACK_ENDPOINT,\n DEFAULT_USE_FIPS_ENDPOINT: () => DEFAULT_USE_FIPS_ENDPOINT,\n ENV_USE_DUALSTACK_ENDPOINT: () => ENV_USE_DUALSTACK_ENDPOINT,\n ENV_USE_FIPS_ENDPOINT: () => ENV_USE_FIPS_ENDPOINT,\n NODE_REGION_CONFIG_FILE_OPTIONS: () => NODE_REGION_CONFIG_FILE_OPTIONS,\n NODE_REGION_CONFIG_OPTIONS: () => NODE_REGION_CONFIG_OPTIONS,\n NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS: () => NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,\n NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS: () => NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,\n REGION_ENV_NAME: () => REGION_ENV_NAME,\n REGION_INI_NAME: () => REGION_INI_NAME,\n getRegionInfo: () => getRegionInfo,\n resolveCustomEndpointsConfig: () => resolveCustomEndpointsConfig,\n resolveEndpointsConfig: () => resolveEndpointsConfig,\n resolveRegionConfig: () => resolveRegionConfig\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/endpointsConfig/NodeUseDualstackEndpointConfigOptions.ts\nvar import_util_config_provider = require(\"@smithy/util-config-provider\");\nvar ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nvar CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nvar DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nvar NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => (0, import_util_config_provider.booleanSelector)(env, ENV_USE_DUALSTACK_ENDPOINT, import_util_config_provider.SelectorType.ENV),\n configFileSelector: (profile) => (0, import_util_config_provider.booleanSelector)(profile, CONFIG_USE_DUALSTACK_ENDPOINT, import_util_config_provider.SelectorType.CONFIG),\n default: false\n};\n\n// src/endpointsConfig/NodeUseFipsEndpointConfigOptions.ts\n\nvar ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nvar CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nvar DEFAULT_USE_FIPS_ENDPOINT = false;\nvar NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => (0, import_util_config_provider.booleanSelector)(env, ENV_USE_FIPS_ENDPOINT, import_util_config_provider.SelectorType.ENV),\n configFileSelector: (profile) => (0, import_util_config_provider.booleanSelector)(profile, CONFIG_USE_FIPS_ENDPOINT, import_util_config_provider.SelectorType.CONFIG),\n default: false\n};\n\n// src/endpointsConfig/resolveCustomEndpointsConfig.ts\nvar import_util_middleware = require(\"@smithy/util-middleware\");\nvar resolveCustomEndpointsConfig = /* @__PURE__ */ __name((input) => {\n const { tls, endpoint, urlParser, useDualstackEndpoint } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: (0, import_util_middleware.normalizeProvider)(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint),\n isCustomEndpoint: true,\n useDualstackEndpoint: (0, import_util_middleware.normalizeProvider)(useDualstackEndpoint ?? false)\n });\n}, \"resolveCustomEndpointsConfig\");\n\n// src/endpointsConfig/resolveEndpointsConfig.ts\n\n\n// src/endpointsConfig/utils/getEndpointFromRegion.ts\nvar getEndpointFromRegion = /* @__PURE__ */ __name(async (input) => {\n const { tls = true } = input;\n const region = await input.region();\n const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(region)) {\n throw new Error(\"Invalid region in client config\");\n }\n const useDualstackEndpoint = await input.useDualstackEndpoint();\n const useFipsEndpoint = await input.useFipsEndpoint();\n const { hostname } = await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint }) ?? {};\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n return input.urlParser(`${tls ? \"https:\" : \"http:\"}//${hostname}`);\n}, \"getEndpointFromRegion\");\n\n// src/endpointsConfig/resolveEndpointsConfig.ts\nvar resolveEndpointsConfig = /* @__PURE__ */ __name((input) => {\n const useDualstackEndpoint = (0, import_util_middleware.normalizeProvider)(input.useDualstackEndpoint ?? false);\n const { endpoint, useFipsEndpoint, urlParser, tls } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: endpoint ? (0, import_util_middleware.normalizeProvider)(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint) : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),\n isCustomEndpoint: !!endpoint,\n useDualstackEndpoint\n });\n}, \"resolveEndpointsConfig\");\n\n// src/regionConfig/config.ts\nvar REGION_ENV_NAME = \"AWS_REGION\";\nvar REGION_INI_NAME = \"region\";\nvar NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[REGION_ENV_NAME],\n configFileSelector: (profile) => profile[REGION_INI_NAME],\n default: () => {\n throw new Error(\"Region is missing\");\n }\n};\nvar NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\"\n};\n\n// src/regionConfig/isFipsRegion.ts\nvar isFipsRegion = /* @__PURE__ */ __name((region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\")), \"isFipsRegion\");\n\n// src/regionConfig/getRealRegion.ts\nvar getRealRegion = /* @__PURE__ */ __name((region) => isFipsRegion(region) ? [\"fips-aws-global\", \"aws-fips\"].includes(region) ? \"us-east-1\" : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\") : region, \"getRealRegion\");\n\n// src/regionConfig/resolveRegionConfig.ts\nvar resolveRegionConfig = /* @__PURE__ */ __name((input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return Object.assign(input, {\n region: async () => {\n if (typeof region === \"string\") {\n return getRealRegion(region);\n }\n const providedRegion = await region();\n return getRealRegion(providedRegion);\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n }\n });\n}, \"resolveRegionConfig\");\n\n// src/regionInfo/getHostnameFromVariants.ts\nvar getHostnameFromVariants = /* @__PURE__ */ __name((variants = [], { useFipsEndpoint, useDualstackEndpoint }) => variants.find(\n ({ tags }) => useFipsEndpoint === tags.includes(\"fips\") && useDualstackEndpoint === tags.includes(\"dualstack\")\n)?.hostname, \"getHostnameFromVariants\");\n\n// src/regionInfo/getResolvedHostname.ts\nvar getResolvedHostname = /* @__PURE__ */ __name((resolvedRegion, { regionHostname, partitionHostname }) => regionHostname ? regionHostname : partitionHostname ? partitionHostname.replace(\"{region}\", resolvedRegion) : void 0, \"getResolvedHostname\");\n\n// src/regionInfo/getResolvedPartition.ts\nvar getResolvedPartition = /* @__PURE__ */ __name((region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? \"aws\", \"getResolvedPartition\");\n\n// src/regionInfo/getResolvedSigningRegion.ts\nvar getResolvedSigningRegion = /* @__PURE__ */ __name((hostname, { signingRegion, regionRegex, useFipsEndpoint }) => {\n if (signingRegion) {\n return signingRegion;\n } else if (useFipsEndpoint) {\n const regionRegexJs = regionRegex.replace(\"\\\\\\\\\", \"\\\\\").replace(/^\\^/g, \"\\\\.\").replace(/\\$$/g, \"\\\\.\");\n const regionRegexmatchArray = hostname.match(regionRegexJs);\n if (regionRegexmatchArray) {\n return regionRegexmatchArray[0].slice(1, -1);\n }\n }\n}, \"getResolvedSigningRegion\");\n\n// src/regionInfo/getRegionInfo.ts\nvar getRegionInfo = /* @__PURE__ */ __name((region, {\n useFipsEndpoint = false,\n useDualstackEndpoint = false,\n signingService,\n regionHash,\n partitionHash\n}) => {\n const partition = getResolvedPartition(region, { partitionHash });\n const resolvedRegion = region in regionHash ? region : partitionHash[partition]?.endpoint ?? region;\n const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };\n const regionHostname = getHostnameFromVariants(regionHash[resolvedRegion]?.variants, hostnameOptions);\n const partitionHostname = getHostnameFromVariants(partitionHash[partition]?.variants, hostnameOptions);\n const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname });\n if (hostname === void 0) {\n throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);\n }\n const signingRegion = getResolvedSigningRegion(hostname, {\n signingRegion: regionHash[resolvedRegion]?.signingRegion,\n regionRegex: partitionHash[partition].regionRegex,\n useFipsEndpoint\n });\n return {\n partition,\n signingService,\n hostname,\n ...signingRegion && { signingRegion },\n ...regionHash[resolvedRegion]?.signingService && {\n signingService: regionHash[resolvedRegion].signingService\n }\n };\n}, \"getRegionInfo\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n ENV_USE_DUALSTACK_ENDPOINT,\n CONFIG_USE_DUALSTACK_ENDPOINT,\n DEFAULT_USE_DUALSTACK_ENDPOINT,\n NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,\n ENV_USE_FIPS_ENDPOINT,\n CONFIG_USE_FIPS_ENDPOINT,\n DEFAULT_USE_FIPS_ENDPOINT,\n NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,\n resolveCustomEndpointsConfig,\n resolveEndpointsConfig,\n REGION_ENV_NAME,\n REGION_INI_NAME,\n NODE_REGION_CONFIG_OPTIONS,\n NODE_REGION_CONFIG_FILE_OPTIONS,\n resolveRegionConfig,\n getRegionInfo\n});\n\n",
|
|
32
|
+
"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 contentLengthMiddleware: () => contentLengthMiddleware,\n contentLengthMiddlewareOptions: () => contentLengthMiddlewareOptions,\n getContentLengthPlugin: () => getContentLengthPlugin\n});\nmodule.exports = __toCommonJS(src_exports);\nvar import_protocol_http = require(\"@smithy/protocol-http\");\nvar CONTENT_LENGTH_HEADER = \"content-length\";\nfunction contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (import_protocol_http.HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length)\n };\n } catch (error) {\n }\n }\n }\n return next({\n ...args,\n request\n });\n };\n}\n__name(contentLengthMiddleware, \"contentLengthMiddleware\");\nvar contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true\n};\nvar getContentLengthPlugin = /* @__PURE__ */ __name((options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n }\n}), \"getContentLengthPlugin\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n contentLengthMiddleware,\n contentLengthMiddlewareOptions,\n getContentLengthPlugin\n});\n\n",
|
|
33
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointUrlConfig = void 0;\nconst shared_ini_file_loader_1 = require(\"@smithy/shared-ini-file-loader\");\nconst ENV_ENDPOINT_URL = \"AWS_ENDPOINT_URL\";\nconst CONFIG_ENDPOINT_URL = \"endpoint_url\";\nconst getEndpointUrlConfig = (serviceId) => ({\n environmentVariableSelector: (env) => {\n const serviceSuffixParts = serviceId.split(\" \").map((w) => w.toUpperCase());\n const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join(\"_\")];\n if (serviceEndpointUrl)\n return serviceEndpointUrl;\n const endpointUrl = env[ENV_ENDPOINT_URL];\n if (endpointUrl)\n return endpointUrl;\n return undefined;\n },\n configFileSelector: (profile, config) => {\n if (config && profile.services) {\n const servicesSection = config[[\"services\", profile.services].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];\n if (servicesSection) {\n const servicePrefixParts = serviceId.split(\" \").map((w) => w.toLowerCase());\n const endpointUrl = servicesSection[[servicePrefixParts.join(\"_\"), CONFIG_ENDPOINT_URL].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];\n if (endpointUrl)\n return endpointUrl;\n }\n }\n const endpointUrl = profile[CONFIG_ENDPOINT_URL];\n if (endpointUrl)\n return endpointUrl;\n return undefined;\n },\n default: undefined,\n});\nexports.getEndpointUrlConfig = getEndpointUrlConfig;\n",
|
|
34
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointFromConfig = void 0;\nconst node_config_provider_1 = require(\"@smithy/node-config-provider\");\nconst getEndpointUrlConfig_1 = require(\"./getEndpointUrlConfig\");\nconst getEndpointFromConfig = async (serviceId) => (0, node_config_provider_1.loadConfig)((0, getEndpointUrlConfig_1.getEndpointUrlConfig)(serviceId !== null && serviceId !== void 0 ? serviceId : \"\"))();\nexports.getEndpointFromConfig = getEndpointFromConfig;\n",
|
|
35
|
+
"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 endpointMiddleware: () => endpointMiddleware,\n endpointMiddlewareOptions: () => endpointMiddlewareOptions,\n getEndpointFromInstructions: () => getEndpointFromInstructions,\n getEndpointPlugin: () => getEndpointPlugin,\n resolveEndpointConfig: () => resolveEndpointConfig,\n resolveParams: () => resolveParams,\n toEndpointV1: () => toEndpointV1\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/service-customizations/s3.ts\nvar resolveParamsForS3 = /* @__PURE__ */ __name(async (endpointParams) => {\n const bucket = endpointParams?.Bucket || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if (isArnBucketName(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n } else if (!isDnsCompatibleBucketName(bucket) || bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\") || bucket.toLowerCase() !== bucket || bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n}, \"resolveParamsForS3\");\nvar DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nvar IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nvar DOTS_PATTERN = /\\.\\./;\nvar isDnsCompatibleBucketName = /* @__PURE__ */ __name((bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName), \"isDnsCompatibleBucketName\");\nvar isArnBucketName = /* @__PURE__ */ __name((bucketName) => {\n const [arn, partition, service, , , bucket] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = Boolean(isArn && partition && service && bucket);\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return isValidArn;\n}, \"isArnBucketName\");\n\n// src/adaptors/createConfigValueProvider.ts\nvar createConfigValueProvider = /* @__PURE__ */ __name((configKey, canonicalEndpointParamKey, config) => {\n const configProvider = /* @__PURE__ */ __name(async () => {\n const configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n }, \"configProvider\");\n if (configKey === \"credentialScope\" || canonicalEndpointParamKey === \"CredentialScope\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;\n return configValue;\n };\n }\n if (configKey === \"accountId\" || canonicalEndpointParamKey === \"AccountId\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.accountId ?? credentials?.AccountId;\n return configValue;\n };\n }\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n}, \"createConfigValueProvider\");\n\n// src/adaptors/getEndpointFromInstructions.ts\nvar import_getEndpointFromConfig = require(\"./adaptors/getEndpointFromConfig\");\n\n// src/adaptors/toEndpointV1.ts\nvar import_url_parser = require(\"@smithy/url-parser\");\nvar toEndpointV1 = /* @__PURE__ */ __name((endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return (0, import_url_parser.parseUrl)(endpoint.url);\n }\n return endpoint;\n }\n return (0, import_url_parser.parseUrl)(endpoint);\n}, \"toEndpointV1\");\n\n// src/adaptors/getEndpointFromInstructions.ts\nvar getEndpointFromInstructions = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.endpoint) {\n let endpointFromConfig;\n if (clientConfig.serviceConfiguredEndpoint) {\n endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();\n } else {\n endpointFromConfig = await (0, import_getEndpointFromConfig.getEndpointFromConfig)(clientConfig.serviceId);\n }\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\n }\n }\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n return endpoint;\n}, \"getEndpointFromInstructions\");\nvar resolveParams = /* @__PURE__ */ __name(async (commandInput, instructionsSupplier, clientConfig) => {\n const endpointParams = {};\n const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig)();\n break;\n case \"operationContextParams\":\n endpointParams[name] = instruction.get(commandInput);\n break;\n default:\n throw new Error(\"Unrecognized endpoint parameter instruction: \" + JSON.stringify(instruction));\n }\n }\n if (Object.keys(instructions).length === 0) {\n Object.assign(endpointParams, clientConfig);\n }\n if (String(clientConfig.serviceId).toLowerCase() === \"s3\") {\n await resolveParamsForS3(endpointParams);\n }\n return endpointParams;\n}, \"resolveParams\");\n\n// src/endpointMiddleware.ts\nvar import_core = require(\"@smithy/core\");\nvar import_util_middleware = require(\"@smithy/util-middleware\");\nvar endpointMiddleware = /* @__PURE__ */ __name(({\n config,\n instructions\n}) => {\n return (next, context) => async (args) => {\n if (config.endpoint) {\n (0, import_core.setFeature)(context, \"ENDPOINT_OVERRIDE\", \"N\");\n }\n const endpoint = await getEndpointFromInstructions(\n args.input,\n {\n getEndpointParameterInstructions() {\n return instructions;\n }\n },\n { ...config },\n context\n );\n context.endpointV2 = endpoint;\n context.authSchemes = endpoint.properties?.authSchemes;\n const authScheme = context.authSchemes?.[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n const smithyContext = (0, import_util_middleware.getSmithyContext)(context);\n const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;\n if (httpAuthOption) {\n httpAuthOption.signingProperties = Object.assign(\n httpAuthOption.signingProperties || {},\n {\n signing_region: authScheme.signingRegion,\n signingRegion: authScheme.signingRegion,\n signing_service: authScheme.signingName,\n signingName: authScheme.signingName,\n signingRegionSet: authScheme.signingRegionSet\n },\n authScheme.properties\n );\n }\n }\n return next({\n ...args\n });\n };\n}, \"endpointMiddleware\");\n\n// src/getEndpointPlugin.ts\nvar import_middleware_serde = require(\"@smithy/middleware-serde\");\nvar endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: import_middleware_serde.serializerMiddlewareOption.name\n};\nvar getEndpointPlugin = /* @__PURE__ */ __name((config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(\n endpointMiddleware({\n config,\n instructions\n }),\n endpointMiddlewareOptions\n );\n }\n}), \"getEndpointPlugin\");\n\n// src/resolveEndpointConfig.ts\n\nvar import_getEndpointFromConfig2 = require(\"./adaptors/getEndpointFromConfig\");\nvar resolveEndpointConfig = /* @__PURE__ */ __name((input) => {\n const tls = input.tls ?? true;\n const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await (0, import_util_middleware.normalizeProvider)(endpoint)()) : void 0;\n const isCustomEndpoint = !!endpoint;\n const resolvedConfig = Object.assign(input, {\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: (0, import_util_middleware.normalizeProvider)(useDualstackEndpoint ?? false),\n useFipsEndpoint: (0, import_util_middleware.normalizeProvider)(useFipsEndpoint ?? false)\n });\n let configuredEndpointPromise = void 0;\n resolvedConfig.serviceConfiguredEndpoint = async () => {\n if (input.serviceId && !configuredEndpointPromise) {\n configuredEndpointPromise = (0, import_getEndpointFromConfig2.getEndpointFromConfig)(input.serviceId);\n }\n return configuredEndpointPromise;\n };\n return resolvedConfig;\n}, \"resolveEndpointConfig\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getEndpointFromInstructions,\n resolveParams,\n toEndpointV1,\n endpointMiddleware,\n endpointMiddlewareOptions,\n getEndpointPlugin,\n resolveEndpointConfig\n});\n\n",
|
|
36
|
+
"\"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}",
|
|
37
|
+
"\"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;",
|
|
38
|
+
"\"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;",
|
|
39
|
+
"\"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;",
|
|
40
|
+
"\"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;",
|
|
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 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;",
|
|
42
|
+
"\"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}",
|
|
43
|
+
"\"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;",
|
|
44
|
+
"\"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;",
|
|
45
|
+
"\"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;",
|
|
46
|
+
"\"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;",
|
|
47
|
+
"\"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;",
|
|
48
|
+
"\"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;",
|
|
49
|
+
"\"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;",
|
|
50
|
+
"\"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;",
|
|
51
|
+
"\"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 }; }",
|
|
52
|
+
"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 isClockSkewCorrectedError: () => isClockSkewCorrectedError,\n isClockSkewError: () => isClockSkewError,\n isRetryableByTrait: () => isRetryableByTrait,\n isServerError: () => isServerError,\n isThrottlingError: () => isThrottlingError,\n isTransientError: () => isTransientError\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/constants.ts\nvar CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\"\n];\nvar THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\"\n // DynamoDB\n];\nvar TRANSIENT_ERROR_CODES = [\"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nvar TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nvar NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"ECONNREFUSED\", \"EPIPE\", \"ETIMEDOUT\"];\n\n// src/index.ts\nvar isRetryableByTrait = /* @__PURE__ */ __name((error) => error.$retryable !== void 0, \"isRetryableByTrait\");\nvar isClockSkewError = /* @__PURE__ */ __name((error) => CLOCK_SKEW_ERROR_CODES.includes(error.name), \"isClockSkewError\");\nvar isClockSkewCorrectedError = /* @__PURE__ */ __name((error) => error.$metadata?.clockSkewCorrected, \"isClockSkewCorrectedError\");\nvar isThrottlingError = /* @__PURE__ */ __name((error) => error.$metadata?.httpStatusCode === 429 || THROTTLING_ERROR_CODES.includes(error.name) || error.$retryable?.throttling == true, \"isThrottlingError\");\nvar isTransientError = /* @__PURE__ */ __name((error, depth = 0) => isClockSkewCorrectedError(error) || TRANSIENT_ERROR_CODES.includes(error.name) || NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || \"\") || TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0) || error.cause !== void 0 && depth <= 10 && isTransientError(error.cause, depth + 1), \"isTransientError\");\nvar isServerError = /* @__PURE__ */ __name((error) => {\n if (error.$metadata?.httpStatusCode !== void 0) {\n const statusCode = error.$metadata.httpStatusCode;\n if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) {\n return true;\n }\n return false;\n }\n return false;\n}, \"isServerError\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n isRetryableByTrait,\n isClockSkewError,\n isClockSkewCorrectedError,\n isThrottlingError,\n isTransientError,\n isServerError\n});\n\n",
|
|
53
|
+
"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 AdaptiveRetryStrategy: () => AdaptiveRetryStrategy,\n ConfiguredRetryStrategy: () => ConfiguredRetryStrategy,\n DEFAULT_MAX_ATTEMPTS: () => DEFAULT_MAX_ATTEMPTS,\n DEFAULT_RETRY_DELAY_BASE: () => DEFAULT_RETRY_DELAY_BASE,\n DEFAULT_RETRY_MODE: () => DEFAULT_RETRY_MODE,\n DefaultRateLimiter: () => DefaultRateLimiter,\n INITIAL_RETRY_TOKENS: () => INITIAL_RETRY_TOKENS,\n INVOCATION_ID_HEADER: () => INVOCATION_ID_HEADER,\n MAXIMUM_RETRY_DELAY: () => MAXIMUM_RETRY_DELAY,\n NO_RETRY_INCREMENT: () => NO_RETRY_INCREMENT,\n REQUEST_HEADER: () => REQUEST_HEADER,\n RETRY_COST: () => RETRY_COST,\n RETRY_MODES: () => RETRY_MODES,\n StandardRetryStrategy: () => StandardRetryStrategy,\n THROTTLING_RETRY_DELAY_BASE: () => THROTTLING_RETRY_DELAY_BASE,\n TIMEOUT_RETRY_COST: () => TIMEOUT_RETRY_COST\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/config.ts\nvar RETRY_MODES = /* @__PURE__ */ ((RETRY_MODES2) => {\n RETRY_MODES2[\"STANDARD\"] = \"standard\";\n RETRY_MODES2[\"ADAPTIVE\"] = \"adaptive\";\n return RETRY_MODES2;\n})(RETRY_MODES || {});\nvar DEFAULT_MAX_ATTEMPTS = 3;\nvar DEFAULT_RETRY_MODE = \"standard\" /* STANDARD */;\n\n// src/DefaultRateLimiter.ts\nvar import_service_error_classification = require(\"@smithy/service-error-classification\");\nvar DefaultRateLimiter = class _DefaultRateLimiter {\n constructor(options) {\n // Pre-set state variables\n this.currentCapacity = 0;\n this.enabled = false;\n this.lastMaxRate = 0;\n this.measuredTxRate = 0;\n this.requestCount = 0;\n this.lastTimestamp = 0;\n this.timeWindow = 0;\n this.beta = options?.beta ?? 0.7;\n this.minCapacity = options?.minCapacity ?? 1;\n this.minFillRate = options?.minFillRate ?? 0.5;\n this.scaleConstant = options?.scaleConstant ?? 0.4;\n this.smooth = options?.smooth ?? 0.8;\n const currentTimeInSeconds = this.getCurrentTimeInSeconds();\n this.lastThrottleTime = currentTimeInSeconds;\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\n this.fillRate = this.minFillRate;\n this.maxCapacity = this.minCapacity;\n }\n static {\n __name(this, \"DefaultRateLimiter\");\n }\n static {\n /**\n * Only used in testing.\n */\n this.setTimeoutFn = setTimeout;\n }\n getCurrentTimeInSeconds() {\n return Date.now() / 1e3;\n }\n async getSendToken() {\n return this.acquireTokenBucket(1);\n }\n async acquireTokenBucket(amount) {\n if (!this.enabled) {\n return;\n }\n this.refillTokenBucket();\n if (amount > this.currentCapacity) {\n const delay = (amount - this.currentCapacity) / this.fillRate * 1e3;\n await new Promise((resolve) => _DefaultRateLimiter.setTimeoutFn(resolve, delay));\n }\n this.currentCapacity = this.currentCapacity - amount;\n }\n refillTokenBucket() {\n const timestamp = this.getCurrentTimeInSeconds();\n if (!this.lastTimestamp) {\n this.lastTimestamp = timestamp;\n return;\n }\n const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\n this.lastTimestamp = timestamp;\n }\n updateClientSendingRate(response) {\n let calculatedRate;\n this.updateMeasuredRate();\n if ((0, import_service_error_classification.isThrottlingError)(response)) {\n const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\n this.lastMaxRate = rateToUse;\n this.calculateTimeWindow();\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\n calculatedRate = this.cubicThrottle(rateToUse);\n this.enableTokenBucket();\n } else {\n this.calculateTimeWindow();\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\n }\n const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\n this.updateTokenBucketRate(newRate);\n }\n calculateTimeWindow() {\n this.timeWindow = this.getPrecise(Math.pow(this.lastMaxRate * (1 - this.beta) / this.scaleConstant, 1 / 3));\n }\n cubicThrottle(rateToUse) {\n return this.getPrecise(rateToUse * this.beta);\n }\n cubicSuccess(timestamp) {\n return this.getPrecise(\n this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate\n );\n }\n enableTokenBucket() {\n this.enabled = true;\n }\n updateTokenBucketRate(newRate) {\n this.refillTokenBucket();\n this.fillRate = Math.max(newRate, this.minFillRate);\n this.maxCapacity = Math.max(newRate, this.minCapacity);\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\n }\n updateMeasuredRate() {\n const t = this.getCurrentTimeInSeconds();\n const timeBucket = Math.floor(t * 2) / 2;\n this.requestCount++;\n if (timeBucket > this.lastTxRateBucket) {\n const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\n this.requestCount = 0;\n this.lastTxRateBucket = timeBucket;\n }\n }\n getPrecise(num) {\n return parseFloat(num.toFixed(8));\n }\n};\n\n// src/constants.ts\nvar DEFAULT_RETRY_DELAY_BASE = 100;\nvar MAXIMUM_RETRY_DELAY = 20 * 1e3;\nvar THROTTLING_RETRY_DELAY_BASE = 500;\nvar INITIAL_RETRY_TOKENS = 500;\nvar RETRY_COST = 5;\nvar TIMEOUT_RETRY_COST = 10;\nvar NO_RETRY_INCREMENT = 1;\nvar INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nvar REQUEST_HEADER = \"amz-sdk-request\";\n\n// src/defaultRetryBackoffStrategy.ts\nvar getDefaultRetryBackoffStrategy = /* @__PURE__ */ __name(() => {\n let delayBase = DEFAULT_RETRY_DELAY_BASE;\n const computeNextBackoffDelay = /* @__PURE__ */ __name((attempts) => {\n return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n }, \"computeNextBackoffDelay\");\n const setDelayBase = /* @__PURE__ */ __name((delay) => {\n delayBase = delay;\n }, \"setDelayBase\");\n return {\n computeNextBackoffDelay,\n setDelayBase\n };\n}, \"getDefaultRetryBackoffStrategy\");\n\n// src/defaultRetryToken.ts\nvar createDefaultRetryToken = /* @__PURE__ */ __name(({\n retryDelay,\n retryCount,\n retryCost\n}) => {\n const getRetryCount = /* @__PURE__ */ __name(() => retryCount, \"getRetryCount\");\n const getRetryDelay = /* @__PURE__ */ __name(() => Math.min(MAXIMUM_RETRY_DELAY, retryDelay), \"getRetryDelay\");\n const getRetryCost = /* @__PURE__ */ __name(() => retryCost, \"getRetryCost\");\n return {\n getRetryCount,\n getRetryDelay,\n getRetryCost\n };\n}, \"createDefaultRetryToken\");\n\n// src/StandardRetryStrategy.ts\nvar StandardRetryStrategy = class {\n constructor(maxAttempts) {\n this.maxAttempts = maxAttempts;\n this.mode = \"standard\" /* STANDARD */;\n this.capacity = INITIAL_RETRY_TOKENS;\n this.retryBackoffStrategy = getDefaultRetryBackoffStrategy();\n this.maxAttemptsProvider = typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts;\n }\n static {\n __name(this, \"StandardRetryStrategy\");\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async acquireInitialRetryToken(retryTokenScope) {\n return createDefaultRetryToken({\n retryDelay: DEFAULT_RETRY_DELAY_BASE,\n retryCount: 0\n });\n }\n async refreshRetryTokenForRetry(token, errorInfo) {\n const maxAttempts = await this.getMaxAttempts();\n if (this.shouldRetry(token, errorInfo, maxAttempts)) {\n const errorType = errorInfo.errorType;\n this.retryBackoffStrategy.setDelayBase(\n errorType === \"THROTTLING\" ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE\n );\n const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());\n const retryDelay = errorInfo.retryAfterHint ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType) : delayFromErrorType;\n const capacityCost = this.getCapacityCost(errorType);\n this.capacity -= capacityCost;\n return createDefaultRetryToken({\n retryDelay,\n retryCount: token.getRetryCount() + 1,\n retryCost: capacityCost\n });\n }\n throw new Error(\"No retry token available\");\n }\n recordSuccess(token) {\n this.capacity = Math.max(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT));\n }\n /**\n * @returns the current available retry capacity.\n *\n * This number decreases when retries are executed and refills when requests or retries succeed.\n */\n getCapacity() {\n return this.capacity;\n }\n async getMaxAttempts() {\n try {\n return await this.maxAttemptsProvider();\n } catch (error) {\n console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`);\n return DEFAULT_MAX_ATTEMPTS;\n }\n }\n shouldRetry(tokenToRenew, errorInfo, maxAttempts) {\n const attempts = tokenToRenew.getRetryCount() + 1;\n return attempts < maxAttempts && this.capacity >= this.getCapacityCost(errorInfo.errorType) && this.isRetryableError(errorInfo.errorType);\n }\n getCapacityCost(errorType) {\n return errorType === \"TRANSIENT\" ? TIMEOUT_RETRY_COST : RETRY_COST;\n }\n isRetryableError(errorType) {\n return errorType === \"THROTTLING\" || errorType === \"TRANSIENT\";\n }\n};\n\n// src/AdaptiveRetryStrategy.ts\nvar AdaptiveRetryStrategy = class {\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = \"adaptive\" /* ADAPTIVE */;\n const { rateLimiter } = options ?? {};\n this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();\n this.standardRetryStrategy = new StandardRetryStrategy(maxAttemptsProvider);\n }\n static {\n __name(this, \"AdaptiveRetryStrategy\");\n }\n async acquireInitialRetryToken(retryTokenScope) {\n await this.rateLimiter.getSendToken();\n return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n this.rateLimiter.updateClientSendingRate(errorInfo);\n return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n }\n recordSuccess(token) {\n this.rateLimiter.updateClientSendingRate({});\n this.standardRetryStrategy.recordSuccess(token);\n }\n};\n\n// src/ConfiguredRetryStrategy.ts\nvar ConfiguredRetryStrategy = class extends StandardRetryStrategy {\n static {\n __name(this, \"ConfiguredRetryStrategy\");\n }\n /**\n * @param maxAttempts - the maximum number of retry attempts allowed.\n * e.g., if set to 3, then 4 total requests are possible.\n * @param computeNextBackoffDelay - a millisecond delay for each retry or a function that takes the retry attempt\n * and returns the delay.\n *\n * @example exponential backoff.\n * ```js\n * new Client({\n * retryStrategy: new ConfiguredRetryStrategy(3, (attempt) => attempt ** 2)\n * });\n * ```\n * @example constant delay.\n * ```js\n * new Client({\n * retryStrategy: new ConfiguredRetryStrategy(3, 2000)\n * });\n * ```\n */\n constructor(maxAttempts, computeNextBackoffDelay = DEFAULT_RETRY_DELAY_BASE) {\n super(typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts);\n if (typeof computeNextBackoffDelay === \"number\") {\n this.computeNextBackoffDelay = () => computeNextBackoffDelay;\n } else {\n this.computeNextBackoffDelay = computeNextBackoffDelay;\n }\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount());\n return token;\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n AdaptiveRetryStrategy,\n ConfiguredRetryStrategy,\n DefaultRateLimiter,\n StandardRetryStrategy,\n RETRY_MODES,\n DEFAULT_MAX_ATTEMPTS,\n DEFAULT_RETRY_MODE,\n DEFAULT_RETRY_DELAY_BASE,\n MAXIMUM_RETRY_DELAY,\n THROTTLING_RETRY_DELAY_BASE,\n INITIAL_RETRY_TOKENS,\n RETRY_COST,\n TIMEOUT_RETRY_COST,\n NO_RETRY_INCREMENT,\n INVOCATION_ID_HEADER,\n REQUEST_HEADER\n});\n\n",
|
|
54
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isStreamingPayload = void 0;\nconst stream_1 = require(\"stream\");\nconst isStreamingPayload = (request) => (request === null || request === void 0 ? void 0 : request.body) instanceof stream_1.Readable ||\n (typeof ReadableStream !== \"undefined\" && (request === null || request === void 0 ? void 0 : request.body) instanceof ReadableStream);\nexports.isStreamingPayload = isStreamingPayload;\n",
|
|
55
|
+
"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 AdaptiveRetryStrategy: () => AdaptiveRetryStrategy,\n CONFIG_MAX_ATTEMPTS: () => CONFIG_MAX_ATTEMPTS,\n CONFIG_RETRY_MODE: () => CONFIG_RETRY_MODE,\n ENV_MAX_ATTEMPTS: () => ENV_MAX_ATTEMPTS,\n ENV_RETRY_MODE: () => ENV_RETRY_MODE,\n NODE_MAX_ATTEMPT_CONFIG_OPTIONS: () => NODE_MAX_ATTEMPT_CONFIG_OPTIONS,\n NODE_RETRY_MODE_CONFIG_OPTIONS: () => NODE_RETRY_MODE_CONFIG_OPTIONS,\n StandardRetryStrategy: () => StandardRetryStrategy,\n defaultDelayDecider: () => defaultDelayDecider,\n defaultRetryDecider: () => defaultRetryDecider,\n getOmitRetryHeadersPlugin: () => getOmitRetryHeadersPlugin,\n getRetryAfterHint: () => getRetryAfterHint,\n getRetryPlugin: () => getRetryPlugin,\n omitRetryHeadersMiddleware: () => omitRetryHeadersMiddleware,\n omitRetryHeadersMiddlewareOptions: () => omitRetryHeadersMiddlewareOptions,\n resolveRetryConfig: () => resolveRetryConfig,\n retryMiddleware: () => retryMiddleware,\n retryMiddlewareOptions: () => retryMiddlewareOptions\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/AdaptiveRetryStrategy.ts\n\n\n// src/StandardRetryStrategy.ts\nvar import_protocol_http = require(\"@smithy/protocol-http\");\n\n\nvar import_uuid = require(\"uuid\");\n\n// src/defaultRetryQuota.ts\nvar import_util_retry = require(\"@smithy/util-retry\");\nvar getDefaultRetryQuota = /* @__PURE__ */ __name((initialRetryTokens, options) => {\n const MAX_CAPACITY = initialRetryTokens;\n const noRetryIncrement = options?.noRetryIncrement ?? import_util_retry.NO_RETRY_INCREMENT;\n const retryCost = options?.retryCost ?? import_util_retry.RETRY_COST;\n const timeoutRetryCost = options?.timeoutRetryCost ?? import_util_retry.TIMEOUT_RETRY_COST;\n let availableCapacity = initialRetryTokens;\n const getCapacityAmount = /* @__PURE__ */ __name((error) => error.name === \"TimeoutError\" ? timeoutRetryCost : retryCost, \"getCapacityAmount\");\n const hasRetryTokens = /* @__PURE__ */ __name((error) => getCapacityAmount(error) <= availableCapacity, \"hasRetryTokens\");\n const retrieveRetryTokens = /* @__PURE__ */ __name((error) => {\n if (!hasRetryTokens(error)) {\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n }, \"retrieveRetryTokens\");\n const releaseRetryTokens = /* @__PURE__ */ __name((capacityReleaseAmount) => {\n availableCapacity += capacityReleaseAmount ?? noRetryIncrement;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n }, \"releaseRetryTokens\");\n return Object.freeze({\n hasRetryTokens,\n retrieveRetryTokens,\n releaseRetryTokens\n });\n}, \"getDefaultRetryQuota\");\n\n// src/delayDecider.ts\n\nvar defaultDelayDecider = /* @__PURE__ */ __name((delayBase, attempts) => Math.floor(Math.min(import_util_retry.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase)), \"defaultDelayDecider\");\n\n// src/retryDecider.ts\nvar import_service_error_classification = require(\"@smithy/service-error-classification\");\nvar defaultRetryDecider = /* @__PURE__ */ __name((error) => {\n if (!error) {\n return false;\n }\n return (0, import_service_error_classification.isRetryableByTrait)(error) || (0, import_service_error_classification.isClockSkewError)(error) || (0, import_service_error_classification.isThrottlingError)(error) || (0, import_service_error_classification.isTransientError)(error);\n}, \"defaultRetryDecider\");\n\n// src/util.ts\nvar asSdkError = /* @__PURE__ */ __name((error) => {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(`AWS SDK error wrapper for ${error}`);\n}, \"asSdkError\");\n\n// src/StandardRetryStrategy.ts\nvar StandardRetryStrategy = class {\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = import_util_retry.RETRY_MODES.STANDARD;\n this.retryDecider = options?.retryDecider ?? defaultRetryDecider;\n this.delayDecider = options?.delayDecider ?? defaultDelayDecider;\n this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(import_util_retry.INITIAL_RETRY_TOKENS);\n }\n static {\n __name(this, \"StandardRetryStrategy\");\n }\n shouldRetry(error, attempts, maxAttempts) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n }\n async getMaxAttempts() {\n let maxAttempts;\n try {\n maxAttempts = await this.maxAttemptsProvider();\n } catch (error) {\n maxAttempts = import_util_retry.DEFAULT_MAX_ATTEMPTS;\n }\n return maxAttempts;\n }\n async retry(next, args, options) {\n let retryTokenAmount;\n let attempts = 0;\n let totalDelay = 0;\n const maxAttempts = await this.getMaxAttempts();\n const { request } = args;\n if (import_protocol_http.HttpRequest.isInstance(request)) {\n request.headers[import_util_retry.INVOCATION_ID_HEADER] = (0, import_uuid.v4)();\n }\n while (true) {\n try {\n if (import_protocol_http.HttpRequest.isInstance(request)) {\n request.headers[import_util_retry.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n if (options?.beforeRequest) {\n await options.beforeRequest();\n }\n const { response, output } = await next(args);\n if (options?.afterRequest) {\n options.afterRequest(response);\n }\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return { response, output };\n } catch (e) {\n const err = asSdkError(e);\n attempts++;\n if (this.shouldRetry(err, attempts, maxAttempts)) {\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\n const delayFromDecider = this.delayDecider(\n (0, import_service_error_classification.isThrottlingError)(err) ? import_util_retry.THROTTLING_RETRY_DELAY_BASE : import_util_retry.DEFAULT_RETRY_DELAY_BASE,\n attempts\n );\n const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);\n const delay = Math.max(delayFromResponse || 0, delayFromDecider);\n totalDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n continue;\n }\n if (!err.$metadata) {\n err.$metadata = {};\n }\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n }\n }\n }\n};\nvar getDelayFromRetryAfterHeader = /* @__PURE__ */ __name((response) => {\n if (!import_protocol_http.HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return retryAfterSeconds * 1e3;\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate.getTime() - Date.now();\n}, \"getDelayFromRetryAfterHeader\");\n\n// src/AdaptiveRetryStrategy.ts\nvar AdaptiveRetryStrategy = class extends StandardRetryStrategy {\n static {\n __name(this, \"AdaptiveRetryStrategy\");\n }\n constructor(maxAttemptsProvider, options) {\n const { rateLimiter, ...superOptions } = options ?? {};\n super(maxAttemptsProvider, superOptions);\n this.rateLimiter = rateLimiter ?? new import_util_retry.DefaultRateLimiter();\n this.mode = import_util_retry.RETRY_MODES.ADAPTIVE;\n }\n async retry(next, args) {\n return super.retry(next, args, {\n beforeRequest: async () => {\n return this.rateLimiter.getSendToken();\n },\n afterRequest: (response) => {\n this.rateLimiter.updateClientSendingRate(response);\n }\n });\n }\n};\n\n// src/configurations.ts\nvar import_util_middleware = require(\"@smithy/util-middleware\");\n\nvar ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nvar CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nvar NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n const value = env[ENV_MAX_ATTEMPTS];\n if (!value)\n return void 0;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value)\n return void 0;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: import_util_retry.DEFAULT_MAX_ATTEMPTS\n};\nvar resolveRetryConfig = /* @__PURE__ */ __name((input) => {\n const { retryStrategy, retryMode: _retryMode, maxAttempts: _maxAttempts } = input;\n const maxAttempts = (0, import_util_middleware.normalizeProvider)(_maxAttempts ?? import_util_retry.DEFAULT_MAX_ATTEMPTS);\n return Object.assign(input, {\n maxAttempts,\n retryStrategy: async () => {\n if (retryStrategy) {\n return retryStrategy;\n }\n const retryMode = await (0, import_util_middleware.normalizeProvider)(_retryMode)();\n if (retryMode === import_util_retry.RETRY_MODES.ADAPTIVE) {\n return new import_util_retry.AdaptiveRetryStrategy(maxAttempts);\n }\n return new import_util_retry.StandardRetryStrategy(maxAttempts);\n }\n });\n}, \"resolveRetryConfig\");\nvar ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nvar CONFIG_RETRY_MODE = \"retry_mode\";\nvar NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: import_util_retry.DEFAULT_RETRY_MODE\n};\n\n// src/omitRetryHeadersMiddleware.ts\n\n\nvar omitRetryHeadersMiddleware = /* @__PURE__ */ __name(() => (next) => async (args) => {\n const { request } = args;\n if (import_protocol_http.HttpRequest.isInstance(request)) {\n delete request.headers[import_util_retry.INVOCATION_ID_HEADER];\n delete request.headers[import_util_retry.REQUEST_HEADER];\n }\n return next(args);\n}, \"omitRetryHeadersMiddleware\");\nvar omitRetryHeadersMiddlewareOptions = {\n name: \"omitRetryHeadersMiddleware\",\n tags: [\"RETRY\", \"HEADERS\", \"OMIT_RETRY_HEADERS\"],\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true\n};\nvar getOmitRetryHeadersPlugin = /* @__PURE__ */ __name((options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions);\n }\n}), \"getOmitRetryHeadersPlugin\");\n\n// src/retryMiddleware.ts\n\n\nvar import_smithy_client = require(\"@smithy/smithy-client\");\n\n\nvar import_isStreamingPayload = require(\"./isStreamingPayload/isStreamingPayload\");\nvar retryMiddleware = /* @__PURE__ */ __name((options) => (next, context) => async (args) => {\n let retryStrategy = await options.retryStrategy();\n const maxAttempts = await options.maxAttempts();\n if (isRetryStrategyV2(retryStrategy)) {\n retryStrategy = retryStrategy;\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\"partition_id\"]);\n let lastError = new Error();\n let attempts = 0;\n let totalRetryDelay = 0;\n const { request } = args;\n const isRequest = import_protocol_http.HttpRequest.isInstance(request);\n if (isRequest) {\n request.headers[import_util_retry.INVOCATION_ID_HEADER] = (0, import_uuid.v4)();\n }\n while (true) {\n try {\n if (isRequest) {\n request.headers[import_util_retry.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n retryStrategy.recordSuccess(retryToken);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalRetryDelay;\n return { response, output };\n } catch (e) {\n const retryErrorInfo = getRetryErrorInfo(e);\n lastError = asSdkError(e);\n if (isRequest && (0, import_isStreamingPayload.isStreamingPayload)(request)) {\n (context.logger instanceof import_smithy_client.NoOpLogger ? console : context.logger)?.warn(\n \"An error was encountered in a non-retryable streaming request.\"\n );\n throw lastError;\n }\n try {\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\n } catch (refreshError) {\n if (!lastError.$metadata) {\n lastError.$metadata = {};\n }\n lastError.$metadata.attempts = attempts + 1;\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\n throw lastError;\n }\n attempts = retryToken.getRetryCount();\n const delay = retryToken.getRetryDelay();\n totalRetryDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n } else {\n retryStrategy = retryStrategy;\n if (retryStrategy?.mode)\n context.userAgent = [...context.userAgent || [], [\"cfg/retry-mode\", retryStrategy.mode]];\n return retryStrategy.retry(next, args);\n }\n}, \"retryMiddleware\");\nvar isRetryStrategyV2 = /* @__PURE__ */ __name((retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \"undefined\" && typeof retryStrategy.refreshRetryTokenForRetry !== \"undefined\" && typeof retryStrategy.recordSuccess !== \"undefined\", \"isRetryStrategyV2\");\nvar getRetryErrorInfo = /* @__PURE__ */ __name((error) => {\n const errorInfo = {\n error,\n errorType: getRetryErrorType(error)\n };\n const retryAfterHint = getRetryAfterHint(error.$response);\n if (retryAfterHint) {\n errorInfo.retryAfterHint = retryAfterHint;\n }\n return errorInfo;\n}, \"getRetryErrorInfo\");\nvar getRetryErrorType = /* @__PURE__ */ __name((error) => {\n if ((0, import_service_error_classification.isThrottlingError)(error))\n return \"THROTTLING\";\n if ((0, import_service_error_classification.isTransientError)(error))\n return \"TRANSIENT\";\n if ((0, import_service_error_classification.isServerError)(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n}, \"getRetryErrorType\");\nvar retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true\n};\nvar getRetryPlugin = /* @__PURE__ */ __name((options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n }\n}), \"getRetryPlugin\");\nvar getRetryAfterHint = /* @__PURE__ */ __name((response) => {\n if (!import_protocol_http.HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return new Date(retryAfterSeconds * 1e3);\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate;\n}, \"getRetryAfterHint\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n AdaptiveRetryStrategy,\n StandardRetryStrategy,\n ENV_MAX_ATTEMPTS,\n CONFIG_MAX_ATTEMPTS,\n NODE_MAX_ATTEMPT_CONFIG_OPTIONS,\n resolveRetryConfig,\n ENV_RETRY_MODE,\n CONFIG_RETRY_MODE,\n NODE_RETRY_MODE_CONFIG_OPTIONS,\n defaultDelayDecider,\n omitRetryHeadersMiddleware,\n omitRetryHeadersMiddlewareOptions,\n getOmitRetryHeadersPlugin,\n defaultRetryDecider,\n retryMiddleware,\n retryMiddlewareOptions,\n getRetryPlugin,\n getRetryAfterHint\n});\n\n",
|
|
56
|
+
"\"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/index.ts\nvar index_exports = {};\n__export(index_exports, {\n NODE_REGION_CONFIG_FILE_OPTIONS: () => NODE_REGION_CONFIG_FILE_OPTIONS,\n NODE_REGION_CONFIG_OPTIONS: () => NODE_REGION_CONFIG_OPTIONS,\n REGION_ENV_NAME: () => REGION_ENV_NAME,\n REGION_INI_NAME: () => REGION_INI_NAME,\n getAwsRegionExtensionConfiguration: () => getAwsRegionExtensionConfiguration,\n resolveAwsRegionExtensionConfiguration: () => resolveAwsRegionExtensionConfiguration,\n resolveRegionConfig: () => resolveRegionConfig\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/extensions/index.ts\nvar getAwsRegionExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {\n return {\n setRegion(region) {\n runtimeConfig.region = region;\n },\n region() {\n return runtimeConfig.region;\n }\n };\n}, \"getAwsRegionExtensionConfiguration\");\nvar resolveAwsRegionExtensionConfiguration = /* @__PURE__ */ __name((awsRegionExtensionConfiguration) => {\n return {\n region: awsRegionExtensionConfiguration.region()\n };\n}, \"resolveAwsRegionExtensionConfiguration\");\n\n// src/regionConfig/config.ts\nvar REGION_ENV_NAME = \"AWS_REGION\";\nvar REGION_INI_NAME = \"region\";\nvar NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: /* @__PURE__ */ __name((env) => env[REGION_ENV_NAME], \"environmentVariableSelector\"),\n configFileSelector: /* @__PURE__ */ __name((profile) => profile[REGION_INI_NAME], \"configFileSelector\"),\n default: /* @__PURE__ */ __name(() => {\n throw new Error(\"Region is missing\");\n }, \"default\")\n};\nvar NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\"\n};\n\n// src/regionConfig/isFipsRegion.ts\nvar isFipsRegion = /* @__PURE__ */ __name((region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\")), \"isFipsRegion\");\n\n// src/regionConfig/getRealRegion.ts\nvar getRealRegion = /* @__PURE__ */ __name((region) => isFipsRegion(region) ? [\"fips-aws-global\", \"aws-fips\"].includes(region) ? \"us-east-1\" : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\") : region, \"getRealRegion\");\n\n// src/regionConfig/resolveRegionConfig.ts\nvar resolveRegionConfig = /* @__PURE__ */ __name((input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return Object.assign(input, {\n region: /* @__PURE__ */ __name(async () => {\n if (typeof region === \"string\") {\n return getRealRegion(region);\n }\n const providedRegion = await region();\n return getRealRegion(providedRegion);\n }, \"region\"),\n useFipsEndpoint: /* @__PURE__ */ __name(async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n }, \"useFipsEndpoint\")\n });\n}, \"resolveRegionConfig\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n getAwsRegionExtensionConfiguration,\n resolveAwsRegionExtensionConfiguration,\n REGION_ENV_NAME,\n REGION_INI_NAME,\n NODE_REGION_CONFIG_OPTIONS,\n NODE_REGION_CONFIG_FILE_OPTIONS,\n resolveRegionConfig\n});\n\n",
|
|
57
|
+
"\"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/index.ts\nvar index_exports = {};\n__export(index_exports, {\n NODE_APP_ID_CONFIG_OPTIONS: () => NODE_APP_ID_CONFIG_OPTIONS,\n UA_APP_ID_ENV_NAME: () => UA_APP_ID_ENV_NAME,\n UA_APP_ID_INI_NAME: () => UA_APP_ID_INI_NAME,\n createDefaultUserAgentProvider: () => createDefaultUserAgentProvider,\n crtAvailability: () => crtAvailability,\n defaultUserAgent: () => defaultUserAgent\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/defaultUserAgent.ts\nvar import_os = require(\"os\");\nvar import_process = require(\"process\");\n\n// src/crt-availability.ts\nvar crtAvailability = {\n isCrtAvailable: false\n};\n\n// src/is-crt-available.ts\nvar isCrtAvailable = /* @__PURE__ */ __name(() => {\n if (crtAvailability.isCrtAvailable) {\n return [\"md/crt-avail\"];\n }\n return null;\n}, \"isCrtAvailable\");\n\n// src/defaultUserAgent.ts\nvar createDefaultUserAgentProvider = /* @__PURE__ */ __name(({ serviceId, clientVersion }) => {\n return async (config) => {\n const sections = [\n // sdk-metadata\n [\"aws-sdk-js\", clientVersion],\n // ua-metadata\n [\"ua\", \"2.1\"],\n // os-metadata\n [`os/${(0, import_os.platform)()}`, (0, import_os.release)()],\n // language-metadata\n // ECMAScript edition doesn't matter in JS, so no version needed.\n [\"lang/js\"],\n [\"md/nodejs\", `${import_process.versions.node}`]\n ];\n const crtAvailable = isCrtAvailable();\n if (crtAvailable) {\n sections.push(crtAvailable);\n }\n if (serviceId) {\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n if (import_process.env.AWS_EXECUTION_ENV) {\n sections.push([`exec-env/${import_process.env.AWS_EXECUTION_ENV}`]);\n }\n const appId = await config?.userAgentAppId?.();\n const resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections];\n return resolvedUserAgent;\n };\n}, \"createDefaultUserAgentProvider\");\nvar defaultUserAgent = createDefaultUserAgentProvider;\n\n// src/nodeAppIdConfigOptions.ts\nvar import_middleware_user_agent = require(\"@aws-sdk/middleware-user-agent\");\nvar UA_APP_ID_ENV_NAME = \"AWS_SDK_UA_APP_ID\";\nvar UA_APP_ID_INI_NAME = \"sdk_ua_app_id\";\nvar UA_APP_ID_INI_NAME_DEPRECATED = \"sdk-ua-app-id\";\nvar NODE_APP_ID_CONFIG_OPTIONS = {\n environmentVariableSelector: /* @__PURE__ */ __name((env2) => env2[UA_APP_ID_ENV_NAME], \"environmentVariableSelector\"),\n configFileSelector: /* @__PURE__ */ __name((profile) => profile[UA_APP_ID_INI_NAME] ?? profile[UA_APP_ID_INI_NAME_DEPRECATED], \"configFileSelector\"),\n default: import_middleware_user_agent.DEFAULT_UA_APP_ID\n};\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n crtAvailability,\n createDefaultUserAgentProvider,\n defaultUserAgent,\n UA_APP_ID_ENV_NAME,\n UA_APP_ID_INI_NAME,\n NODE_APP_ID_CONFIG_OPTIONS\n});\n\n",
|
|
58
|
+
"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 Hash: () => Hash\n});\nmodule.exports = __toCommonJS(src_exports);\nvar import_util_buffer_from = require(\"@smithy/util-buffer-from\");\nvar import_util_utf8 = require(\"@smithy/util-utf8\");\nvar import_buffer = require(\"buffer\");\nvar import_crypto = require(\"crypto\");\nvar Hash = class {\n static {\n __name(this, \"Hash\");\n }\n constructor(algorithmIdentifier, secret) {\n this.algorithmIdentifier = algorithmIdentifier;\n this.secret = secret;\n this.reset();\n }\n update(toHash, encoding) {\n this.hash.update((0, import_util_utf8.toUint8Array)(castSourceData(toHash, encoding)));\n }\n digest() {\n return Promise.resolve(this.hash.digest());\n }\n reset() {\n this.hash = this.secret ? (0, import_crypto.createHmac)(this.algorithmIdentifier, castSourceData(this.secret)) : (0, import_crypto.createHash)(this.algorithmIdentifier);\n }\n};\nfunction castSourceData(toCast, encoding) {\n if (import_buffer.Buffer.isBuffer(toCast)) {\n return toCast;\n }\n if (typeof toCast === \"string\") {\n return (0, import_util_buffer_from.fromString)(toCast, encoding);\n }\n if (ArrayBuffer.isView(toCast)) {\n return (0, import_util_buffer_from.fromArrayBuffer)(toCast.buffer, toCast.byteOffset, toCast.byteLength);\n }\n return (0, import_util_buffer_from.fromArrayBuffer)(toCast);\n}\n__name(castSourceData, \"castSourceData\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n Hash\n});\n\n",
|
|
59
|
+
"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 calculateBodyLength: () => calculateBodyLength\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/calculateBodyLength.ts\nvar import_fs = require(\"fs\");\nvar calculateBodyLength = /* @__PURE__ */ __name((body) => {\n if (!body) {\n return 0;\n }\n if (typeof body === \"string\") {\n return Buffer.byteLength(body);\n } else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n } else if (typeof body.size === \"number\") {\n return body.size;\n } else if (typeof body.start === \"number\" && typeof body.end === \"number\") {\n return body.end + 1 - body.start;\n } else if (typeof body.path === \"string\" || Buffer.isBuffer(body.path)) {\n return (0, import_fs.lstatSync)(body.path).size;\n } else if (typeof body.fd === \"number\") {\n return (0, import_fs.fstatSync)(body.fd).size;\n }\n throw new Error(`Body Length computation failed for ${body}`);\n}, \"calculateBodyLength\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n calculateBodyLength\n});\n\n",
|
|
60
|
+
"var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n resolveDefaultsModeConfig: () => resolveDefaultsModeConfig\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/resolveDefaultsModeConfig.ts\nvar import_config_resolver = require(\"@smithy/config-resolver\");\nvar import_node_config_provider = require(\"@smithy/node-config-provider\");\nvar import_property_provider = require(\"@smithy/property-provider\");\n\n// src/constants.ts\nvar AWS_EXECUTION_ENV = \"AWS_EXECUTION_ENV\";\nvar AWS_REGION_ENV = \"AWS_REGION\";\nvar AWS_DEFAULT_REGION_ENV = \"AWS_DEFAULT_REGION\";\nvar ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nvar DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\nvar IMDS_REGION_PATH = \"/latest/meta-data/placement/region\";\n\n// src/defaultsModeConfig.ts\nvar AWS_DEFAULTS_MODE_ENV = \"AWS_DEFAULTS_MODE\";\nvar AWS_DEFAULTS_MODE_CONFIG = \"defaults_mode\";\nvar NODE_DEFAULTS_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n return env[AWS_DEFAULTS_MODE_ENV];\n },\n configFileSelector: (profile) => {\n return profile[AWS_DEFAULTS_MODE_CONFIG];\n },\n default: \"legacy\"\n};\n\n// src/resolveDefaultsModeConfig.ts\nvar resolveDefaultsModeConfig = /* @__PURE__ */ __name(({\n region = (0, import_node_config_provider.loadConfig)(import_config_resolver.NODE_REGION_CONFIG_OPTIONS),\n defaultsMode = (0, import_node_config_provider.loadConfig)(NODE_DEFAULTS_MODE_CONFIG_OPTIONS)\n} = {}) => (0, import_property_provider.memoize)(async () => {\n const mode = typeof defaultsMode === \"function\" ? await defaultsMode() : defaultsMode;\n switch (mode?.toLowerCase()) {\n case \"auto\":\n return resolveNodeDefaultsModeAuto(region);\n case \"in-region\":\n case \"cross-region\":\n case \"mobile\":\n case \"standard\":\n case \"legacy\":\n return Promise.resolve(mode?.toLocaleLowerCase());\n case void 0:\n return Promise.resolve(\"legacy\");\n default:\n throw new Error(\n `Invalid parameter for \"defaultsMode\", expect ${DEFAULTS_MODE_OPTIONS.join(\", \")}, got ${mode}`\n );\n }\n}), \"resolveDefaultsModeConfig\");\nvar resolveNodeDefaultsModeAuto = /* @__PURE__ */ __name(async (clientRegion) => {\n if (clientRegion) {\n const resolvedRegion = typeof clientRegion === \"function\" ? await clientRegion() : clientRegion;\n const inferredRegion = await inferPhysicalRegion();\n if (!inferredRegion) {\n return \"standard\";\n }\n if (resolvedRegion === inferredRegion) {\n return \"in-region\";\n } else {\n return \"cross-region\";\n }\n }\n return \"standard\";\n}, \"resolveNodeDefaultsModeAuto\");\nvar inferPhysicalRegion = /* @__PURE__ */ __name(async () => {\n if (process.env[AWS_EXECUTION_ENV] && (process.env[AWS_REGION_ENV] || process.env[AWS_DEFAULT_REGION_ENV])) {\n return process.env[AWS_REGION_ENV] ?? process.env[AWS_DEFAULT_REGION_ENV];\n }\n if (!process.env[ENV_IMDS_DISABLED]) {\n try {\n const { getInstanceMetadataEndpoint, httpRequest } = await Promise.resolve().then(() => __toESM(require(\"@smithy/credential-provider-imds\")));\n const endpoint = await getInstanceMetadataEndpoint();\n return (await httpRequest({ ...endpoint, path: IMDS_REGION_PATH })).toString();\n } catch (e) {\n }\n }\n}, \"inferPhysicalRegion\");\n// Annotate the CommonJS export names for ESM import in node:\n\n0 && (module.exports = {\n resolveDefaultsModeConfig\n});\n\n"
|
|
61
|
+
],
|
|
62
|
+
"mappings": "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,YACA,YACF,GACC,UAAU,EAGT,GAAqB,CACvB,WAAY,CAAC,CACX,GAAI,MACJ,QAAS,CACP,UAAW,gBACX,mBAAoB,UACpB,qBAAsB,YACtB,KAAM,MACN,kBAAmB,GACnB,aAAc,EAChB,EACA,YAAa,+CACb,QAAS,CACP,aAAc,CACZ,YAAa,oBACf,EACA,YAAa,CACX,YAAa,0BACf,EACA,iBAAkB,CAChB,YAAa,sBACf,EACA,iBAAkB,CAChB,YAAa,sBACf,EACA,iBAAkB,CAChB,YAAa,sBACf,EACA,aAAc,CACZ,YAAa,uBACf,EACA,aAAc,CACZ,YAAa,0BACf,EACA,iBAAkB,CAChB,YAAa,0BACf,EACA,iBAAkB,CAChB,YAAa,uBACf,EACA,iBAAkB,CAChB,YAAa,wBACf,EACA,iBAAkB,CAChB,YAAa,0BACf,EACA,iBAAkB,CAChB,YAAa,yBACf,EACA,iBAAkB,CAChB,YAAa,yBACf,EACA,aAAc,CACZ,YAAa,4BACf,EACA,eAAgB,CACd,YAAa,kBACf,EACA,YAAa,CACX,YAAa,uBACf,EACA,eAAgB,CACd,YAAa,oBACf,EACA,eAAgB,CACd,YAAa,iBACf,EACA,aAAc,CACZ,YAAa,oBACf,EACA,aAAc,CACZ,YAAa,gBACf,EACA,aAAc,CACZ,YAAa,gBACf,EACA,YAAa,CACX,YAAa,kBACf,EACA,YAAa,CACX,YAAa,iBACf,EACA,YAAa,CACX,YAAa,gBACf,EACA,eAAgB,CACd,YAAa,mBACf,EACA,eAAgB,CACd,YAAa,mBACf,EACA,aAAc,CACZ,YAAa,uBACf,EACA,eAAgB,CACd,YAAa,kBACf,EACA,YAAa,CACX,YAAa,2BACf,EACA,YAAa,CACX,YAAa,uBACf,EACA,YAAa,CACX,YAAa,gBACf,EACA,YAAa,CACX,YAAa,yBACf,EACA,YAAa,CACX,YAAa,kBACf,CACF,CACF,EAAG,CACD,GAAI,SACJ,QAAS,CACP,UAAW,mBACX,mBAAoB,+BACpB,qBAAsB,iBACtB,KAAM,SACN,kBAAmB,GACnB,aAAc,EAChB,EACA,YAAa,qBACb,QAAS,CACP,gBAAiB,CACf,YAAa,yBACf,EACA,aAAc,CACZ,YAAa,iBACf,EACA,iBAAkB,CAChB,YAAa,iBACf,CACF,CACF,EAAG,CACD,GAAI,aACJ,QAAS,CACP,UAAW,gBACX,mBAAoB,UACpB,qBAAsB,gBACtB,KAAM,aACN,kBAAmB,GACnB,aAAc,EAChB,EACA,YAAa,2BACb,QAAS,CACP,oBAAqB,CACnB,YAAa,iCACf,EACA,gBAAiB,CACf,YAAa,wBACf,EACA,gBAAiB,CACf,YAAa,wBACf,CACF,CACF,EAAG,CACD,GAAI,UACJ,QAAS,CACP,UAAW,aACX,mBAAoB,aACpB,qBAAsB,gBACtB,KAAM,UACN,kBAAmB,GACnB,aAAc,EAChB,EACA,YAAa,2BACb,QAAS,CACP,iBAAkB,CAChB,YAAa,4BACf,EACA,gBAAiB,CACf,YAAa,aACf,EACA,gBAAiB,CACf,YAAa,aACf,CACF,CACF,EAAG,CACD,GAAI,YACJ,QAAS,CACP,UAAW,gBACX,mBAAoB,gBACpB,qBAAsB,iBACtB,KAAM,YACN,kBAAmB,GACnB,aAAc,EAChB,EACA,YAAa,4BACb,QAAS,CACP,mBAAoB,CAClB,YAAa,6BACf,EACA,iBAAkB,CAChB,YAAa,qBACf,CACF,CACF,EAAG,CACD,GAAI,YACJ,QAAS,CACP,UAAW,iBACX,mBAAoB,iBACpB,qBAAsB,iBACtB,KAAM,YACN,kBAAmB,GACnB,aAAc,EAChB,EACA,YAAa,4BACb,QAAS,CACP,mBAAoB,CAClB,YAAa,iCACf,EACA,iBAAkB,CAChB,YAAa,cACf,CACF,CACF,EAAG,CACD,GAAI,YACJ,QAAS,CACP,UAAW,iBACX,mBAAoB,iBACpB,qBAAsB,kBACtB,KAAM,YACN,kBAAmB,GACnB,aAAc,EAChB,EACA,YAAa,4BACb,QAAS,CACP,mBAAoB,CAClB,YAAa,wBACf,EACA,iBAAkB,CAChB,YAAa,cACf,EACA,kBAAmB,CACjB,YAAa,eACf,CACF,CACF,EAAG,CACD,GAAI,WACJ,QAAS,CACP,UAAW,eACX,mBAAoB,eACpB,qBAAsB,iBACtB,KAAM,WACN,kBAAm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",
|
|
63
|
+
"debugId": "FA21032A4597D39264756E2164756E21",
|
|
64
|
+
"names": []
|
|
65
|
+
}
|