gemi 0.35.0 → 0.35.1
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 +2 -272
- package/dist/app/index.js.map +4 -6
- package/dist/app/prismaExtension.d.ts +1 -5
- package/dist/app/prismaExtension.d.ts.map +1 -1
- package/dist/bin/gemi.js +119 -72
- package/dist/bin/gemi.js.map +6 -6
- package/dist/broadcasting/index.js +1 -1
- package/dist/{chunk-h9jhxz2x.js → chunk-07keqpsw.js} +2 -2
- package/dist/{chunk-h9jhxz2x.js.map → chunk-07keqpsw.js.map} +1 -1
- package/dist/{chunk-3nxfa642.js → chunk-0p9jcm4w.js} +51 -51
- package/dist/{chunk-3nxfa642.js.map → chunk-0p9jcm4w.js.map} +17 -17
- package/dist/{chunk-mcxe6c90.js → chunk-1fs08n6j.js} +2 -2
- package/dist/{chunk-mcxe6c90.js.map → chunk-1fs08n6j.js.map} +3 -3
- package/dist/chunk-5bh1vy2a.js +4 -0
- package/dist/chunk-5bh1vy2a.js.map +19 -0
- package/dist/{chunk-767rmjwk.js → chunk-61tk6d6h.js} +1 -1
- package/dist/{chunk-av2gtbbe.js → chunk-6mgdr9jm.js} +2 -2
- package/dist/{chunk-av2gtbbe.js.map → chunk-6mgdr9jm.js.map} +1 -1
- package/dist/chunk-74zbp6jx.js +4 -0
- package/dist/chunk-74zbp6jx.js.map +18 -0
- package/dist/chunk-8fvf22sv.js +5 -0
- package/dist/{chunk-ssvnwn8n.js.map → chunk-8fvf22sv.js.map} +4 -4
- package/dist/{chunk-2xy7v0g8.js → chunk-8ty8fefr.js} +2 -2
- package/dist/{chunk-2xy7v0g8.js.map → chunk-8ty8fefr.js.map} +1 -1
- package/dist/{chunk-r0830s5q.js → chunk-9p1z3vnt.js} +2 -2
- package/dist/{chunk-r0830s5q.js.map → chunk-9p1z3vnt.js.map} +1 -1
- package/dist/{chunk-wdhx2g1k.js → chunk-c97bw1re.js} +2 -2
- package/dist/{chunk-wdhx2g1k.js.map → chunk-c97bw1re.js.map} +2 -2
- package/dist/chunk-cbzr2eg7.js +5 -0
- package/dist/chunk-cbzr2eg7.js.map +11 -0
- package/dist/{chunk-ak88bhtn.js → chunk-cpvmftfy.js} +3 -3
- package/dist/{chunk-ak88bhtn.js.map → chunk-cpvmftfy.js.map} +2 -2
- package/dist/{chunk-b6bzvtq4.js → chunk-dwsazw95.js} +2 -2
- package/dist/{chunk-9n86xysb.js.map → chunk-dwsazw95.js.map} +1 -1
- package/dist/{chunk-hpdz0h4c.js → chunk-e1v59k8r.js} +2 -2
- package/dist/{chunk-hpdz0h4c.js.map → chunk-e1v59k8r.js.map} +2 -2
- package/dist/{chunk-qpyzybek.js → chunk-e2713ftx.js} +2 -2
- package/dist/{chunk-qpyzybek.js.map → chunk-e2713ftx.js.map} +1 -1
- package/dist/chunk-e2k5akxp.js +32 -0
- package/dist/chunk-e2k5akxp.js.map +43 -0
- package/dist/{chunk-ve14d93s.js → chunk-e4vawn5g.js} +2 -2
- package/dist/{chunk-ve14d93s.js.map → chunk-e4vawn5g.js.map} +1 -1
- package/dist/{chunk-v98329xf.js → chunk-g5q7a8zt.js} +1 -1
- package/dist/{chunk-xzg1b2z7.js → chunk-gychaaxb.js} +2 -2
- package/dist/{chunk-xzg1b2z7.js.map → chunk-gychaaxb.js.map} +2 -2
- package/dist/{chunk-myee2gs0.js → chunk-hpjqg060.js} +3 -3
- package/dist/{chunk-myee2gs0.js.map → chunk-hpjqg060.js.map} +2 -2
- package/dist/{chunk-zz9bxhhv.js → chunk-hzbeqg40.js} +3 -3
- package/dist/{chunk-zz9bxhhv.js.map → chunk-hzbeqg40.js.map} +1 -1
- package/dist/{chunk-nypaxg5s.js → chunk-m5g0mh9n.js} +3 -3
- package/dist/{chunk-nypaxg5s.js.map → chunk-m5g0mh9n.js.map} +1 -1
- package/dist/{chunk-36rsqj4c.js → chunk-mjaervnt.js} +2 -2
- package/dist/chunk-mjaervnt.js.map +13 -0
- package/dist/chunk-n0wwc7rb.js +4 -0
- package/dist/{chunk-nrx04seh.js.map → chunk-n0wwc7rb.js.map} +4 -4
- package/dist/{chunk-k47r0hsx.js → chunk-nxybcsrs.js} +2 -2
- package/dist/{chunk-k47r0hsx.js.map → chunk-nxybcsrs.js.map} +3 -3
- package/dist/chunk-q2h6t84y.js +5 -0
- package/dist/{chunk-nmnvzhbg.js.map → chunk-q2h6t84y.js.map} +3 -3
- package/dist/chunk-qh9pbhfd.js +21 -0
- package/dist/chunk-qh9pbhfd.js.map +43 -0
- package/dist/chunk-rvp6vtqh.js +5 -0
- package/dist/chunk-rvp6vtqh.js.map +10 -0
- package/dist/chunk-tcn3gykx.js +4 -0
- package/dist/chunk-tcn3gykx.js.map +18 -0
- package/dist/{chunk-rasyrk0x.js → chunk-v4871k17.js} +3 -3
- package/dist/{chunk-rasyrk0x.js.map → chunk-v4871k17.js.map} +1 -1
- package/dist/chunk-v85jqkwg.js +4 -0
- package/dist/chunk-v85jqkwg.js.map +22 -0
- package/dist/chunk-w4p9g023.js +5 -0
- package/dist/{chunk-b6bzvtq4.js.map → chunk-w4p9g023.js.map} +1 -1
- package/dist/{chunk-qr0d4b5g.js → chunk-wvjzg5z2.js} +2 -2
- package/dist/{chunk-qr0d4b5g.js.map → chunk-wvjzg5z2.js.map} +3 -3
- package/dist/{chunk-a9pdqf5t.js → chunk-wzba9wy7.js} +2 -2
- package/dist/{chunk-a9pdqf5t.js.map → chunk-wzba9wy7.js.map} +2 -2
- package/dist/chunk-y5h3n5t8.js +5 -0
- package/dist/{chunk-k78w4dqh.js.map → chunk-y5h3n5t8.js.map} +1 -1
- package/dist/{chunk-th2hknhb.js → chunk-yj6yh651.js} +6 -6
- package/dist/{chunk-th2hknhb.js.map → chunk-yj6yh651.js.map} +4 -4
- package/dist/{chunk-ap5svqgk.js → chunk-ykn3pyw0.js} +2 -2
- package/dist/{chunk-ap5svqgk.js.map → chunk-ykn3pyw0.js.map} +2 -2
- package/dist/client/index.js +10208 -7659
- package/dist/client/index.js.map +1 -1
- package/dist/email/index.js +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +3 -3
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/services/index.js +2 -2
- package/dist/services/index.js.map +1 -1
- package/dist/vite/{index-DIJejLN8.mjs → index-3fSp4NVF.mjs} +1 -1
- package/dist/vite/index.mjs +1 -1
- package/dist/vite/{typescript-CM73P_uJ.mjs → typescript-1ZdUKbbC.mjs} +15 -5
- package/package.json +1 -2
- package/dist/chunk-11yk2z9x.js +0 -32
- package/dist/chunk-11yk2z9x.js.map +0 -43
- package/dist/chunk-36rsqj4c.js.map +0 -13
- package/dist/chunk-3kssr2vd.js +0 -4
- package/dist/chunk-3kssr2vd.js.map +0 -15
- package/dist/chunk-5sjb8aqm.js +0 -4
- package/dist/chunk-5sjb8aqm.js.map +0 -22
- package/dist/chunk-60w3jw47.js +0 -4
- package/dist/chunk-60w3jw47.js.map +0 -15
- package/dist/chunk-95b92a6a.js +0 -5
- package/dist/chunk-95b92a6a.js.map +0 -12
- package/dist/chunk-9n86xysb.js +0 -5
- package/dist/chunk-a11m65k0.js +0 -4
- package/dist/chunk-a11m65k0.js.map +0 -19
- package/dist/chunk-bqm0qsyv.js +0 -21
- package/dist/chunk-bqm0qsyv.js.map +0 -42
- package/dist/chunk-k78w4dqh.js +0 -5
- package/dist/chunk-nmnvzhbg.js +0 -5
- package/dist/chunk-nrx04seh.js +0 -4
- package/dist/chunk-ssvnwn8n.js +0 -5
- /package/dist/{chunk-767rmjwk.js.map → chunk-61tk6d6h.js.map} +0 -0
- /package/dist/{chunk-v98329xf.js.map → chunk-g5q7a8zt.js.map} +0 -0
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../node_modules/.bun/@smithy+util-middleware@4.2.8/node_modules/@smithy/util-middleware/dist-cjs/index.js", "../../../node_modules/.bun/@smithy+core@3.20.5/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js", "../../../node_modules/.bun/@smithy+middleware-stack@4.2.8/node_modules/@smithy/middleware-stack/dist-cjs/index.js", "../../../node_modules/.bun/@smithy+util-base64@4.3.0/node_modules/@smithy/util-base64/dist-cjs/fromBase64.js", "../../../node_modules/.bun/@smithy+util-base64@4.3.0/node_modules/@smithy/util-base64/dist-cjs/toBase64.js", "../../../node_modules/.bun/@smithy+util-base64@4.3.0/node_modules/@smithy/util-base64/dist-cjs/index.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/stream-type-check.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.browser.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.browser.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/ByteArrayCollector.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadableStream.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadable.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.browser.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/headStream.browser.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/headStream.js", "../../../node_modules/.bun/@smithy+util-uri-escape@4.2.0/node_modules/@smithy/util-uri-escape/dist-cjs/index.js", "../../../node_modules/.bun/@smithy+querystring-builder@4.2.8/node_modules/@smithy/querystring-builder/dist-cjs/index.js", "../../../node_modules/.bun/@smithy+node-http-handler@4.4.8/node_modules/@smithy/node-http-handler/dist-cjs/index.js", "../../../node_modules/.bun/@smithy+fetch-http-handler@5.3.9/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js", "../../../node_modules/.bun/@smithy+util-hex-encoding@4.2.0/node_modules/@smithy/util-hex-encoding/dist-cjs/index.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.browser.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/splitStream.browser.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/splitStream.js", "../../../node_modules/.bun/@smithy+util-stream@4.5.10/node_modules/@smithy/util-stream/dist-cjs/index.js", "../../../node_modules/.bun/@smithy+uuid@1.1.0/node_modules/@smithy/uuid/dist-cjs/randomUUID.js", "../../../node_modules/.bun/@smithy+uuid@1.1.0/node_modules/@smithy/uuid/dist-cjs/index.js", "../../../node_modules/.bun/@smithy+core@3.20.5/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js", "../../../node_modules/.bun/@smithy+core@3.20.5/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js", "../../../node_modules/.bun/@smithy+smithy-client@4.10.7/node_modules/@smithy/smithy-client/dist-cjs/index.js"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"'use strict';\n\nvar types = require('@smithy/types');\n\nconst getSmithyContext = (context) => context[types.SMITHY_CONTEXT_KEY] || (context[types.SMITHY_CONTEXT_KEY] = {});\n\nconst normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n\nexports.getSmithyContext = getSmithyContext;\nexports.normalizeProvider = normalizeProvider;\n",
|
|
6
|
-
"'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\nvar utilMiddleware = require('@smithy/util-middleware');\n\nconst deref = (schemaRef) => {\n if (typeof schemaRef === \"function\") {\n return schemaRef();\n }\n return schemaRef;\n};\n\nconst operation = (namespace, name, traits, input, output) => ({\n name,\n namespace,\n traits,\n input,\n output,\n});\n\nconst schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {\n const { response } = await next(args);\n const { operationSchema } = utilMiddleware.getSmithyContext(context);\n const [, ns, n, t, i, o] = operationSchema ?? [];\n try {\n const parsed = await config.protocol.deserializeResponse(operation(ns, n, t, i, o), {\n ...config,\n ...context,\n }, response);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n enumerable: false,\n writable: false,\n configurable: false,\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 }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\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 try {\n if (protocolHttp.HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 0])[1];\n};\n\nconst schemaSerializationMiddleware = (config) => (next, context) => async (args) => {\n const { operationSchema } = utilMiddleware.getSmithyContext(context);\n const [, ns, n, t, i, o] = operationSchema ?? [];\n const endpoint = context.endpointV2?.url && config.urlParser\n ? async () => config.urlParser(context.endpointV2.url)\n : config.endpoint;\n const request = await config.protocol.serializeRequest(operation(ns, n, t, i, o), args.input, {\n ...config,\n ...context,\n endpoint,\n });\n return next({\n ...args,\n request,\n });\n};\n\nconst deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nconst serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nfunction getSchemaSerdePlugin(config) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(schemaSerializationMiddleware(config), serializerMiddlewareOption);\n commandStack.add(schemaDeserializationMiddleware(config), deserializerMiddlewareOption);\n config.protocol.setSerdeContext(config);\n },\n };\n}\n\nclass Schema {\n name;\n namespace;\n traits;\n static assign(instance, values) {\n const schema = Object.assign(instance, values);\n return schema;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const list = lhs;\n return list.symbol === this.symbol;\n }\n return isPrototype;\n }\n getName() {\n return this.namespace + \"#\" + this.name;\n }\n}\n\nclass ListSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/lis\");\n name;\n traits;\n valueSchema;\n symbol = ListSchema.symbol;\n}\nconst list = (namespace, name, traits, valueSchema) => Schema.assign(new ListSchema(), {\n name,\n namespace,\n traits,\n valueSchema,\n});\n\nclass MapSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/map\");\n name;\n traits;\n keySchema;\n valueSchema;\n symbol = MapSchema.symbol;\n}\nconst map = (namespace, name, traits, keySchema, valueSchema) => Schema.assign(new MapSchema(), {\n name,\n namespace,\n traits,\n keySchema,\n valueSchema,\n});\n\nclass OperationSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/ope\");\n name;\n traits;\n input;\n output;\n symbol = OperationSchema.symbol;\n}\nconst op = (namespace, name, traits, input, output) => Schema.assign(new OperationSchema(), {\n name,\n namespace,\n traits,\n input,\n output,\n});\n\nclass StructureSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/str\");\n name;\n traits;\n memberNames;\n memberList;\n symbol = StructureSchema.symbol;\n}\nconst struct = (namespace, name, traits, memberNames, memberList) => Schema.assign(new StructureSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n});\n\nclass ErrorSchema extends StructureSchema {\n static symbol = Symbol.for(\"@smithy/err\");\n ctor;\n symbol = ErrorSchema.symbol;\n}\nconst error = (namespace, name, traits, memberNames, memberList, ctor) => Schema.assign(new ErrorSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n ctor: null,\n});\n\nfunction translateTraits(indicator) {\n if (typeof indicator === \"object\") {\n return indicator;\n }\n indicator = indicator | 0;\n const traits = {};\n let i = 0;\n for (const trait of [\n \"httpLabel\",\n \"idempotent\",\n \"idempotencyToken\",\n \"sensitive\",\n \"httpPayload\",\n \"httpResponseCode\",\n \"httpQueryParams\",\n ]) {\n if (((indicator >> i++) & 1) === 1) {\n traits[trait] = 1;\n }\n }\n return traits;\n}\n\nclass NormalizedSchema {\n ref;\n memberName;\n static symbol = Symbol.for(\"@smithy/nor\");\n symbol = NormalizedSchema.symbol;\n name;\n schema;\n _isMemberSchema;\n traits;\n memberTraits;\n normalizedTraits;\n constructor(ref, memberName) {\n this.ref = ref;\n this.memberName = memberName;\n const traitStack = [];\n let _ref = ref;\n let schema = ref;\n this._isMemberSchema = false;\n while (isMemberSchema(_ref)) {\n traitStack.push(_ref[1]);\n _ref = _ref[0];\n schema = deref(_ref);\n this._isMemberSchema = true;\n }\n if (traitStack.length > 0) {\n this.memberTraits = {};\n for (let i = traitStack.length - 1; i >= 0; --i) {\n const traitSet = traitStack[i];\n Object.assign(this.memberTraits, translateTraits(traitSet));\n }\n }\n else {\n this.memberTraits = 0;\n }\n if (schema instanceof NormalizedSchema) {\n const computedMemberTraits = this.memberTraits;\n Object.assign(this, schema);\n this.memberTraits = Object.assign({}, computedMemberTraits, schema.getMemberTraits(), this.getMemberTraits());\n this.normalizedTraits = void 0;\n this.memberName = memberName ?? schema.memberName;\n return;\n }\n this.schema = deref(schema);\n if (isStaticSchema(this.schema)) {\n this.name = `${this.schema[1]}#${this.schema[2]}`;\n this.traits = this.schema[3];\n }\n else {\n this.name = this.memberName ?? String(schema);\n this.traits = 0;\n }\n if (this._isMemberSchema && !memberName) {\n throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`);\n }\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const ns = lhs;\n return ns.symbol === this.symbol;\n }\n return isPrototype;\n }\n static of(ref) {\n const sc = deref(ref);\n if (sc instanceof NormalizedSchema) {\n return sc;\n }\n if (isMemberSchema(sc)) {\n const [ns, traits] = sc;\n if (ns instanceof NormalizedSchema) {\n Object.assign(ns.getMergedTraits(), translateTraits(traits));\n return ns;\n }\n throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`);\n }\n return new NormalizedSchema(sc);\n }\n getSchema() {\n const sc = this.schema;\n if (sc[0] === 0) {\n return sc[4];\n }\n return sc;\n }\n getName(withNamespace = false) {\n const { name } = this;\n const short = !withNamespace && name && name.includes(\"#\");\n return short ? name.split(\"#\")[1] : name || undefined;\n }\n getMemberName() {\n return this.memberName;\n }\n isMemberSchema() {\n return this._isMemberSchema;\n }\n isListSchema() {\n const sc = this.getSchema();\n return typeof sc === \"number\"\n ? sc >= 64 && sc < 128\n : sc[0] === 1;\n }\n isMapSchema() {\n const sc = this.getSchema();\n return typeof sc === \"number\"\n ? sc >= 128 && sc <= 0b1111_1111\n : sc[0] === 2;\n }\n isStructSchema() {\n const sc = this.getSchema();\n const id = sc[0];\n return (id === 3 ||\n id === -3 ||\n id === 4);\n }\n isUnionSchema() {\n const sc = this.getSchema();\n return sc[0] === 4;\n }\n isBlobSchema() {\n const sc = this.getSchema();\n return sc === 21 || sc === 42;\n }\n isTimestampSchema() {\n const sc = this.getSchema();\n return (typeof sc === \"number\" &&\n sc >= 4 &&\n sc <= 7);\n }\n isUnitSchema() {\n return this.getSchema() === \"unit\";\n }\n isDocumentSchema() {\n return this.getSchema() === 15;\n }\n isStringSchema() {\n return this.getSchema() === 0;\n }\n isBooleanSchema() {\n return this.getSchema() === 2;\n }\n isNumericSchema() {\n return this.getSchema() === 1;\n }\n isBigIntegerSchema() {\n return this.getSchema() === 17;\n }\n isBigDecimalSchema() {\n return this.getSchema() === 19;\n }\n isStreaming() {\n const { streaming } = this.getMergedTraits();\n return !!streaming || this.getSchema() === 42;\n }\n isIdempotencyToken() {\n const match = (traits) => (traits & 0b0100) === 0b0100 ||\n !!traits?.idempotencyToken;\n const { normalizedTraits, traits, memberTraits } = this;\n return match(normalizedTraits) || match(traits) || match(memberTraits);\n }\n getMergedTraits() {\n return (this.normalizedTraits ??\n (this.normalizedTraits = {\n ...this.getOwnTraits(),\n ...this.getMemberTraits(),\n }));\n }\n getMemberTraits() {\n return translateTraits(this.memberTraits);\n }\n getOwnTraits() {\n return translateTraits(this.traits);\n }\n getKeySchema() {\n const [isDoc, isMap] = [this.isDocumentSchema(), this.isMapSchema()];\n if (!isDoc && !isMap) {\n throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`);\n }\n const schema = this.getSchema();\n const memberSchema = isDoc\n ? 15\n : schema[4] ?? 0;\n return member([memberSchema, 0], \"key\");\n }\n getValueSchema() {\n const sc = this.getSchema();\n const [isDoc, isMap, isList] = [this.isDocumentSchema(), this.isMapSchema(), this.isListSchema()];\n const memberSchema = typeof sc === \"number\"\n ? 0b0011_1111 & sc\n : sc && typeof sc === \"object\" && (isMap || isList)\n ? sc[3 + sc[0]]\n : isDoc\n ? 15\n : void 0;\n if (memberSchema != null) {\n return member([memberSchema, 0], isMap ? \"value\" : \"member\");\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`);\n }\n getMemberSchema(memberName) {\n const struct = this.getSchema();\n if (this.isStructSchema() && struct[4].includes(memberName)) {\n const i = struct[4].indexOf(memberName);\n const memberSchema = struct[5][i];\n return member(isMemberSchema(memberSchema) ? memberSchema : [memberSchema, 0], memberName);\n }\n if (this.isDocumentSchema()) {\n return member([15, 0], memberName);\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no no member=${memberName}.`);\n }\n getMemberSchemas() {\n const buffer = {};\n try {\n for (const [k, v] of this.structIterator()) {\n buffer[k] = v;\n }\n }\n catch (ignored) { }\n return buffer;\n }\n getEventStreamMember() {\n if (this.isStructSchema()) {\n for (const [memberName, memberSchema] of this.structIterator()) {\n if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {\n return memberName;\n }\n }\n }\n return \"\";\n }\n *structIterator() {\n if (this.isUnitSchema()) {\n return;\n }\n if (!this.isStructSchema()) {\n throw new Error(\"@smithy/core/schema - cannot iterate non-struct schema.\");\n }\n const struct = this.getSchema();\n for (let i = 0; i < struct[4].length; ++i) {\n yield [struct[4][i], member([struct[5][i], 0], struct[4][i])];\n }\n }\n}\nfunction member(memberSchema, memberName) {\n if (memberSchema instanceof NormalizedSchema) {\n return Object.assign(memberSchema, {\n memberName,\n _isMemberSchema: true,\n });\n }\n const internalCtorAccess = NormalizedSchema;\n return new internalCtorAccess(memberSchema, memberName);\n}\nconst isMemberSchema = (sc) => Array.isArray(sc) && sc.length === 2;\nconst isStaticSchema = (sc) => Array.isArray(sc) && sc.length >= 5;\n\nclass SimpleSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/sim\");\n name;\n schemaRef;\n traits;\n symbol = SimpleSchema.symbol;\n}\nconst sim = (namespace, name, schemaRef, traits) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\nconst simAdapter = (namespace, name, traits, schemaRef) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\n\nconst SCHEMA = {\n BLOB: 0b0001_0101,\n STREAMING_BLOB: 0b0010_1010,\n BOOLEAN: 0b0000_0010,\n STRING: 0b0000_0000,\n NUMERIC: 0b0000_0001,\n BIG_INTEGER: 0b0001_0001,\n BIG_DECIMAL: 0b0001_0011,\n DOCUMENT: 0b0000_1111,\n TIMESTAMP_DEFAULT: 0b0000_0100,\n TIMESTAMP_DATE_TIME: 0b0000_0101,\n TIMESTAMP_HTTP_DATE: 0b0000_0110,\n TIMESTAMP_EPOCH_SECONDS: 0b0000_0111,\n LIST_MODIFIER: 0b0100_0000,\n MAP_MODIFIER: 0b1000_0000,\n};\n\nclass TypeRegistry {\n namespace;\n schemas;\n exceptions;\n static registries = new Map();\n constructor(namespace, schemas = new Map(), exceptions = new Map()) {\n this.namespace = namespace;\n this.schemas = schemas;\n this.exceptions = exceptions;\n }\n static for(namespace) {\n if (!TypeRegistry.registries.has(namespace)) {\n TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));\n }\n return TypeRegistry.registries.get(namespace);\n }\n register(shapeId, schema) {\n const qualifiedName = this.normalizeShapeId(shapeId);\n const registry = TypeRegistry.for(qualifiedName.split(\"#\")[0]);\n registry.schemas.set(qualifiedName, schema);\n }\n getSchema(shapeId) {\n const id = this.normalizeShapeId(shapeId);\n if (!this.schemas.has(id)) {\n throw new Error(`@smithy/core/schema - schema not found for ${id}`);\n }\n return this.schemas.get(id);\n }\n registerError(es, ctor) {\n const $error = es;\n const registry = TypeRegistry.for($error[1]);\n registry.schemas.set($error[1] + \"#\" + $error[2], $error);\n registry.exceptions.set($error, ctor);\n }\n getErrorCtor(es) {\n const $error = es;\n const registry = TypeRegistry.for($error[1]);\n return registry.exceptions.get($error);\n }\n getBaseException() {\n for (const exceptionKey of this.exceptions.keys()) {\n if (Array.isArray(exceptionKey)) {\n const [, ns, name] = exceptionKey;\n const id = ns + \"#\" + name;\n if (id.startsWith(\"smithy.ts.sdk.synthetic.\") && id.endsWith(\"ServiceException\")) {\n return exceptionKey;\n }\n }\n }\n return undefined;\n }\n find(predicate) {\n return [...this.schemas.values()].find(predicate);\n }\n clear() {\n this.schemas.clear();\n this.exceptions.clear();\n }\n normalizeShapeId(shapeId) {\n if (shapeId.includes(\"#\")) {\n return shapeId;\n }\n return this.namespace + \"#\" + shapeId;\n }\n}\n\nexports.ErrorSchema = ErrorSchema;\nexports.ListSchema = ListSchema;\nexports.MapSchema = MapSchema;\nexports.NormalizedSchema = NormalizedSchema;\nexports.OperationSchema = OperationSchema;\nexports.SCHEMA = SCHEMA;\nexports.Schema = Schema;\nexports.SimpleSchema = SimpleSchema;\nexports.StructureSchema = StructureSchema;\nexports.TypeRegistry = TypeRegistry;\nexports.deref = deref;\nexports.deserializerMiddlewareOption = deserializerMiddlewareOption;\nexports.error = error;\nexports.getSchemaSerdePlugin = getSchemaSerdePlugin;\nexports.isStaticSchema = isStaticSchema;\nexports.list = list;\nexports.map = map;\nexports.op = op;\nexports.operation = operation;\nexports.serializerMiddlewareOption = serializerMiddlewareOption;\nexports.sim = sim;\nexports.simAdapter = simAdapter;\nexports.struct = struct;\nexports.translateTraits = translateTraits;\n",
|
|
7
|
-
"'use strict';\n\nconst getAllAliases = (name, aliases) => {\n const _aliases = [];\n if (name) {\n _aliases.push(name);\n }\n if (aliases) {\n for (const alias of aliases) {\n _aliases.push(alias);\n }\n }\n return _aliases;\n};\nconst getMiddlewareNameWithAliases = (name, aliases) => {\n return `${name || \"anonymous\"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(\",\")})` : \"\"}`;\n};\nconst constructStack = () => {\n let absoluteEntries = [];\n let relativeEntries = [];\n let identifyOnResolve = false;\n const entriesNameSet = new Set();\n const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]);\n const removeByName = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const aliases = getAllAliases(entry.name, entry.aliases);\n if (aliases.includes(toRemove)) {\n isRemoved = true;\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const removeByReference = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n for (const alias of getAllAliases(entry.name, entry.aliases)) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const cloneTo = (toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n toStack.identifyOnResolve?.(stack.identifyOnResolve());\n return toStack;\n };\n const expandRelativeMiddlewareList = (from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n const getMiddlewareList = (debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n if (debug) {\n return;\n }\n throw new Error(`${entry.toMiddleware} is not found when adding ` +\n `${getMiddlewareNameWithAliases(entry.name, entry.aliases)} ` +\n `middleware ${entry.relation} ${entry.toMiddleware}`);\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expandedMiddlewareList) => {\n wholeList.push(...expandedMiddlewareList);\n return wholeList;\n }, []);\n return mainChain;\n };\n const stack = {\n add: (middleware, options = {}) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware with ` +\n `${toOverride.priority} priority in ${toOverride.step} step cannot ` +\n `be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware with ` +\n `${entry.priority} priority in ${entry.step} step.`);\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: (middleware, options) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware ` +\n `${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware ${entry.relation} ` +\n `\"${entry.toMiddleware}\" middleware.`);\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n relativeEntries.push(entry);\n },\n clone: () => cloneTo(constructStack()),\n use: (plugin) => {\n plugin.applyToStack(stack);\n },\n remove: (toRemove) => {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const { tags, name, aliases: _aliases } = entry;\n if (tags && tags.includes(toRemove)) {\n const aliases = getAllAliases(name, _aliases);\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: (from) => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n cloned.identifyOnResolve(identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false));\n return cloned;\n },\n applyToStack: cloneTo,\n identify: () => {\n return getMiddlewareList(true).map((mw) => {\n const step = mw.step ??\n mw.relation +\n \" \" +\n mw.toMiddleware;\n return getMiddlewareNameWithAliases(mw.name, mw.aliases) + \" - \" + step;\n });\n },\n identifyOnResolve(toggle) {\n if (typeof toggle === \"boolean\")\n identifyOnResolve = toggle;\n return identifyOnResolve;\n },\n resolve: (handler, context) => {\n for (const middleware of getMiddlewareList()\n .map((entry) => entry.middleware)\n .reverse()) {\n handler = middleware(handler, context);\n }\n if (identifyOnResolve) {\n console.log(stack.identify());\n }\n return handler;\n },\n };\n return stack;\n};\nconst stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nconst priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n\nexports.constructStack = constructStack;\n",
|
|
8
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromBase64 = void 0;\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nconst fromBase64 = (input) => {\n if ((input.length * 3) % 4 !== 0) {\n throw new TypeError(`Incorrect padding on base64 string.`);\n }\n if (!BASE64_REGEX.exec(input)) {\n throw new TypeError(`Invalid base64 string.`);\n }\n const buffer = (0, util_buffer_from_1.fromString)(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\nexports.fromBase64 = fromBase64;\n",
|
|
9
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = void 0;\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst toBase64 = (_input) => {\n let input;\n if (typeof _input === \"string\") {\n input = (0, util_utf8_1.fromUtf8)(_input);\n }\n else {\n input = _input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n return (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\n};\nexports.toBase64 = toBase64;\n",
|
|
10
|
-
"'use strict';\n\nvar fromBase64 = require('./fromBase64');\nvar toBase64 = require('./toBase64');\n\n\n\nObject.keys(fromBase64).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return fromBase64[k]; }\n\t});\n});\nObject.keys(toBase64).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return toBase64[k]; }\n\t});\n});\n",
|
|
11
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStream = void 0;\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst stream_1 = require(\"stream\");\nclass ChecksumStream extends stream_1.Duplex {\n expectedChecksum;\n checksumSourceLocation;\n checksum;\n source;\n base64Encoder;\n constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) {\n super();\n if (typeof source.pipe === \"function\") {\n this.source = source;\n }\n else {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n this.base64Encoder = base64Encoder ?? util_base64_1.toBase64;\n this.expectedChecksum = expectedChecksum;\n this.checksum = checksum;\n this.checksumSourceLocation = checksumSourceLocation;\n this.source.pipe(this);\n }\n _read(size) { }\n _write(chunk, encoding, callback) {\n try {\n this.checksum.update(chunk);\n this.push(chunk);\n }\n catch (e) {\n return callback(e);\n }\n return callback();\n }\n async _final(callback) {\n try {\n const digest = await this.checksum.digest();\n const received = this.base64Encoder(digest);\n if (this.expectedChecksum !== received) {\n return callback(new Error(`Checksum mismatch: expected \"${this.expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${this.checksumSourceLocation}\".`));\n }\n }\n catch (e) {\n return callback(e);\n }\n this.push(null);\n return callback();\n }\n}\nexports.ChecksumStream = ChecksumStream;\n",
|
|
12
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBlob = exports.isReadableStream = void 0;\nconst isReadableStream = (stream) => typeof ReadableStream === \"function\" &&\n (stream?.constructor?.name === ReadableStream.name || stream instanceof ReadableStream);\nexports.isReadableStream = isReadableStream;\nconst isBlob = (blob) => {\n return typeof Blob === \"function\" && (blob?.constructor?.name === Blob.name || blob instanceof Blob);\n};\nexports.isBlob = isBlob;\n",
|
|
13
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStream = void 0;\nconst ReadableStreamRef = typeof ReadableStream === \"function\" ? ReadableStream : function () { };\nclass ChecksumStream extends ReadableStreamRef {\n}\nexports.ChecksumStream = ChecksumStream;\n",
|
|
14
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChecksumStream = void 0;\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst stream_type_check_1 = require(\"../stream-type-check\");\nconst ChecksumStream_browser_1 = require(\"./ChecksumStream.browser\");\nconst createChecksumStream = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) => {\n if (!(0, stream_type_check_1.isReadableStream)(source)) {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n const encoder = base64Encoder ?? util_base64_1.toBase64;\n if (typeof TransformStream !== \"function\") {\n throw new Error(\"@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.\");\n }\n const transform = new TransformStream({\n start() { },\n async transform(chunk, controller) {\n checksum.update(chunk);\n controller.enqueue(chunk);\n },\n async flush(controller) {\n const digest = await checksum.digest();\n const received = encoder(digest);\n if (expectedChecksum !== received) {\n const error = new Error(`Checksum mismatch: expected \"${expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${checksumSourceLocation}\".`);\n controller.error(error);\n }\n else {\n controller.terminate();\n }\n },\n });\n source.pipeThrough(transform);\n const readable = transform.readable;\n Object.setPrototypeOf(readable, ChecksumStream_browser_1.ChecksumStream.prototype);\n return readable;\n};\nexports.createChecksumStream = createChecksumStream;\n",
|
|
15
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChecksumStream = createChecksumStream;\nconst stream_type_check_1 = require(\"../stream-type-check\");\nconst ChecksumStream_1 = require(\"./ChecksumStream\");\nconst createChecksumStream_browser_1 = require(\"./createChecksumStream.browser\");\nfunction createChecksumStream(init) {\n if (typeof ReadableStream === \"function\" && (0, stream_type_check_1.isReadableStream)(init.source)) {\n return (0, createChecksumStream_browser_1.createChecksumStream)(init);\n }\n return new ChecksumStream_1.ChecksumStream(init);\n}\n",
|
|
16
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ByteArrayCollector = void 0;\nclass ByteArrayCollector {\n allocByteArray;\n byteLength = 0;\n byteArrays = [];\n constructor(allocByteArray) {\n this.allocByteArray = allocByteArray;\n }\n push(byteArray) {\n this.byteArrays.push(byteArray);\n this.byteLength += byteArray.byteLength;\n }\n flush() {\n if (this.byteArrays.length === 1) {\n const bytes = this.byteArrays[0];\n this.reset();\n return bytes;\n }\n const aggregation = this.allocByteArray(this.byteLength);\n let cursor = 0;\n for (let i = 0; i < this.byteArrays.length; ++i) {\n const bytes = this.byteArrays[i];\n aggregation.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n this.reset();\n return aggregation;\n }\n reset() {\n this.byteArrays = [];\n this.byteLength = 0;\n }\n}\nexports.ByteArrayCollector = ByteArrayCollector;\n",
|
|
17
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBufferedReadable = void 0;\nexports.createBufferedReadableStream = createBufferedReadableStream;\nexports.merge = merge;\nexports.flush = flush;\nexports.sizeOf = sizeOf;\nexports.modeOf = modeOf;\nconst ByteArrayCollector_1 = require(\"./ByteArrayCollector\");\nfunction createBufferedReadableStream(upstream, size, logger) {\n const reader = upstream.getReader();\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\"\", new ByteArrayCollector_1.ByteArrayCollector((size) => new Uint8Array(size))];\n let mode = -1;\n const pull = async (controller) => {\n const { value, done } = await reader.read();\n const chunk = value;\n if (done) {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n controller.enqueue(remainder);\n }\n }\n controller.close();\n }\n else {\n const chunkMode = modeOf(chunk, false);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n controller.enqueue(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n controller.enqueue(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n controller.enqueue(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n controller.enqueue(flush(buffers, mode));\n }\n else {\n await pull(controller);\n }\n }\n }\n };\n return new ReadableStream({\n pull,\n });\n}\nexports.createBufferedReadable = createBufferedReadableStream;\nfunction merge(buffers, mode, chunk) {\n switch (mode) {\n case 0:\n buffers[0] += chunk;\n return sizeOf(buffers[0]);\n case 1:\n case 2:\n buffers[mode].push(chunk);\n return sizeOf(buffers[mode]);\n }\n}\nfunction flush(buffers, mode) {\n switch (mode) {\n case 0:\n const s = buffers[0];\n buffers[0] = \"\";\n return s;\n case 1:\n case 2:\n return buffers[mode].flush();\n }\n throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);\n}\nfunction sizeOf(chunk) {\n return chunk?.byteLength ?? chunk?.length ?? 0;\n}\nfunction modeOf(chunk, allowBuffer = true) {\n if (allowBuffer && typeof Buffer !== \"undefined\" && chunk instanceof Buffer) {\n return 2;\n }\n if (chunk instanceof Uint8Array) {\n return 1;\n }\n if (typeof chunk === \"string\") {\n return 0;\n }\n return -1;\n}\n",
|
|
18
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBufferedReadable = createBufferedReadable;\nconst node_stream_1 = require(\"node:stream\");\nconst ByteArrayCollector_1 = require(\"./ByteArrayCollector\");\nconst createBufferedReadableStream_1 = require(\"./createBufferedReadableStream\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nfunction createBufferedReadable(upstream, size, logger) {\n if ((0, stream_type_check_1.isReadableStream)(upstream)) {\n return (0, createBufferedReadableStream_1.createBufferedReadableStream)(upstream, size, logger);\n }\n const downstream = new node_stream_1.Readable({ read() { } });\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\n \"\",\n new ByteArrayCollector_1.ByteArrayCollector((size) => new Uint8Array(size)),\n new ByteArrayCollector_1.ByteArrayCollector((size) => Buffer.from(new Uint8Array(size))),\n ];\n let mode = -1;\n upstream.on(\"data\", (chunk) => {\n const chunkMode = (0, createBufferedReadableStream_1.modeOf)(chunk, true);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n downstream.push(chunk);\n return;\n }\n const chunkSize = (0, createBufferedReadableStream_1.sizeOf)(chunk);\n bytesSeen += chunkSize;\n const bufferSize = (0, createBufferedReadableStream_1.sizeOf)(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n downstream.push(chunk);\n }\n else {\n const newSize = (0, createBufferedReadableStream_1.merge)(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));\n }\n }\n });\n upstream.on(\"end\", () => {\n if (mode !== -1) {\n const remainder = (0, createBufferedReadableStream_1.flush)(buffers, mode);\n if ((0, createBufferedReadableStream_1.sizeOf)(remainder) > 0) {\n downstream.push(remainder);\n }\n }\n downstream.push(null);\n });\n return downstream;\n}\n",
|
|
19
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAwsChunkedEncodingStream = void 0;\nconst getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n bodyLengthChecker !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const reader = readableStream.getReader();\n return new ReadableStream({\n async pull(controller) {\n const { value, done } = await reader.read();\n if (done) {\n controller.enqueue(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n controller.enqueue(`${checksumLocationName}:${checksum}\\r\\n`);\n controller.enqueue(`\\r\\n`);\n }\n controller.close();\n }\n else {\n controller.enqueue(`${(bodyLengthChecker(value) || 0).toString(16)}\\r\\n${value}\\r\\n`);\n }\n },\n });\n};\nexports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;\n",
|
|
20
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;\nconst node_stream_1 = require(\"node:stream\");\nconst getAwsChunkedEncodingStream_browser_1 = require(\"./getAwsChunkedEncodingStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nfunction getAwsChunkedEncodingStream(stream, options) {\n const readable = stream;\n const readableStream = stream;\n if ((0, stream_type_check_1.isReadableStream)(readableStream)) {\n return (0, getAwsChunkedEncodingStream_browser_1.getAwsChunkedEncodingStream)(readableStream, options);\n }\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readable) : undefined;\n const awsChunkedEncodingStream = new node_stream_1.Readable({\n read: () => { },\n });\n readable.on(\"data\", (data) => {\n const length = bodyLengthChecker(data) || 0;\n if (length === 0) {\n return;\n }\n awsChunkedEncodingStream.push(`${length.toString(16)}\\r\\n`);\n awsChunkedEncodingStream.push(data);\n awsChunkedEncodingStream.push(\"\\r\\n\");\n });\n readable.on(\"end\", async () => {\n awsChunkedEncodingStream.push(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\\r\\n`);\n awsChunkedEncodingStream.push(`\\r\\n`);\n }\n awsChunkedEncodingStream.push(null);\n });\n return awsChunkedEncodingStream;\n}\n",
|
|
21
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.headStream = headStream;\nasync function headStream(stream, bytes) {\n let byteLengthCounter = 0;\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n byteLengthCounter += value?.byteLength ?? 0;\n }\n if (byteLengthCounter >= bytes) {\n break;\n }\n isDone = done;\n }\n reader.releaseLock();\n const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));\n let offset = 0;\n for (const chunk of chunks) {\n if (chunk.byteLength > collected.byteLength - offset) {\n collected.set(chunk.subarray(0, collected.byteLength - offset), offset);\n break;\n }\n else {\n collected.set(chunk, offset);\n }\n offset += chunk.length;\n }\n return collected;\n}\n",
|
|
22
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.headStream = void 0;\nconst stream_1 = require(\"stream\");\nconst headStream_browser_1 = require(\"./headStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nconst headStream = (stream, bytes) => {\n if ((0, stream_type_check_1.isReadableStream)(stream)) {\n return (0, headStream_browser_1.headStream)(stream, bytes);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n collector.limit = bytes;\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.buffers));\n resolve(bytes);\n });\n });\n};\nexports.headStream = headStream;\nclass Collector extends stream_1.Writable {\n buffers = [];\n limit = Infinity;\n bytesBuffered = 0;\n _write(chunk, encoding, callback) {\n this.buffers.push(chunk);\n this.bytesBuffered += chunk.byteLength ?? 0;\n if (this.bytesBuffered >= this.limit) {\n const excess = this.bytesBuffered - this.limit;\n const tailBuffer = this.buffers[this.buffers.length - 1];\n this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess);\n this.emit(\"finish\");\n }\n callback();\n }\n}\n",
|
|
23
|
-
"'use strict';\n\nconst escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n\nconst escapeUriPath = (uri) => uri.split(\"/\").map(escapeUri).join(\"/\");\n\nexports.escapeUri = escapeUri;\nexports.escapeUriPath = escapeUriPath;\n",
|
|
24
|
-
"'use strict';\n\nvar utilUriEscape = require('@smithy/util-uri-escape');\n\nfunction buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = utilUriEscape.escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${utilUriEscape.escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${utilUriEscape.escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n\nexports.buildQueryString = buildQueryString;\n",
|
|
25
|
-
"'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\nvar querystringBuilder = require('@smithy/querystring-builder');\nvar http = require('http');\nvar https = require('https');\nvar stream = require('stream');\nvar http2 = require('http2');\n\nconst NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n\nconst getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name of Object.keys(headers)) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\n\nconst timing = {\n setTimeout: (cb, ms) => setTimeout(cb, ms),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n};\n\nconst DEFER_EVENT_LISTENER_TIME$2 = 1000;\nconst setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = (offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs - offset);\n const doWithSocket = (socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n }\n else {\n timing.clearTimeout(timeoutId);\n }\n };\n if (request.socket) {\n doWithSocket(request.socket);\n }\n else {\n request.on(\"socket\", doWithSocket);\n }\n };\n if (timeoutInMs < 2000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME$2), DEFER_EVENT_LISTENER_TIME$2);\n};\n\nconst setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => {\n if (timeoutInMs) {\n return timing.setTimeout(() => {\n let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? \"ERROR\" : \"WARN\"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;\n if (throwOnRequestTimeout) {\n const error = Object.assign(new Error(msg), {\n name: \"TimeoutError\",\n code: \"ETIMEDOUT\",\n });\n req.destroy(error);\n reject(error);\n }\n else {\n msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;\n logger?.warn?.(msg);\n }\n }, timeoutInMs);\n }\n return -1;\n};\n\nconst DEFER_EVENT_LISTENER_TIME$1 = 3000;\nconst setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME$1) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = () => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n }\n else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n };\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n};\n\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nconst setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n const registerTimeout = (offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = () => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: \"TimeoutError\" }));\n };\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n }\n else {\n request.setTimeout(timeout, onTimeout);\n }\n };\n if (0 < timeoutInMs && timeoutInMs < 6000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n\nconst MIN_WAIT_TIME = 6_000;\nasync function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {\n const headers = request.headers ?? {};\n const expect = headers.Expect || headers.expect;\n let timeoutId = -1;\n let sendBody = true;\n if (!externalAgent && expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n }),\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\nfunction writeBody(httpRequest, body) {\n if (body instanceof stream.Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n if (Buffer.isBuffer(body) || typeof body === \"string\") {\n httpRequest.end(body);\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" &&\n uint8.buffer &&\n typeof uint8.byteOffset === \"number\" &&\n typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n\nconst DEFAULT_REQUEST_TIMEOUT = 0;\nclass NodeHttpHandler {\n config;\n configProvider;\n socketWarningTimestamp = 0;\n externalAgent = false;\n metadata = { handlerProtocol: \"http/1.1\" };\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttpHandler(instanceOrOptions);\n }\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15_000;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout,\n socketTimeout,\n socketAcquisitionWarningTimeout,\n throwOnRequestTimeout,\n httpAgent: (() => {\n if (httpAgent instanceof http.Agent || typeof httpAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpAgent;\n }\n return new http.Agent({ keepAlive, maxSockets, ...httpAgent });\n })(),\n httpsAgent: (() => {\n if (httpsAgent instanceof https.Agent || typeof httpsAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpsAgent;\n }\n return new https.Agent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger: console,\n };\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n return new Promise((_resolve, _reject) => {\n const config = this.config;\n let writeRequestBodyPromise = undefined;\n const timeouts = [];\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const isSSL = request.protocol === \"https:\";\n const headers = request.headers ?? {};\n const expectContinue = (headers.Expect ?? headers.expect) === \"100-continue\";\n let agent = isSSL ? config.httpsAgent : config.httpAgent;\n if (expectContinue && !this.externalAgent) {\n agent = new (isSSL ? https.Agent : http.Agent)({\n keepAlive: false,\n maxSockets: Infinity,\n });\n }\n timeouts.push(timing.setTimeout(() => {\n this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, config.logger);\n }, config.socketAcquisitionWarningTimeout ?? (config.requestTimeout ?? 2000) + (config.connectionTimeout ?? 1000)));\n const queryString = querystringBuilder.buildQueryString(request.query || {});\n let auth = undefined;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n }\n else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth,\n };\n const requestFunc = isSSL ? https.request : http.request;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new protocolHttp.HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = () => {\n req.destroy();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? config.requestTimeout;\n timeouts.push(setConnectionTimeout(req, reject, config.connectionTimeout));\n timeouts.push(setRequestTimeout(req, reject, effectiveRequestTimeout, config.throwOnRequestTimeout, config.logger ?? console));\n timeouts.push(setSocketTimeout(req, reject, config.socketTimeout));\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n timeouts.push(setSocketKeepAlive(req, {\n keepAlive: httpAgent.keepAlive,\n keepAliveMsecs: httpAgent.keepAliveMsecs,\n }));\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout, this.externalAgent).catch((e) => {\n timeouts.forEach(timing.clearTimeout);\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\n\nclass NodeHttp2ConnectionPool {\n sessions = [];\n constructor(sessions) {\n this.sessions = sessions ?? [];\n }\n poll() {\n if (this.sessions.length > 0) {\n return this.sessions.shift();\n }\n }\n offerLast(session) {\n this.sessions.push(session);\n }\n contains(session) {\n return this.sessions.includes(session);\n }\n remove(session) {\n this.sessions = this.sessions.filter((s) => s !== session);\n }\n [Symbol.iterator]() {\n return this.sessions[Symbol.iterator]();\n }\n destroy(connection) {\n for (const session of this.sessions) {\n if (session === connection) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n }\n }\n}\n\nclass NodeHttp2ConnectionManager {\n constructor(config) {\n this.config = config;\n if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {\n throw new RangeError(\"maxConcurrency must be greater than zero.\");\n }\n }\n config;\n sessionCache = new Map();\n lease(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const existingPool = this.sessionCache.get(url);\n if (existingPool) {\n const existingSession = existingPool.poll();\n if (existingSession && !this.config.disableConcurrency) {\n return existingSession;\n }\n }\n const session = http2.connect(url);\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\"Fail to set maxConcurrentStreams to \" +\n this.config.maxConcurrency +\n \"when creating new session for \" +\n requestContext.destination.toString());\n }\n });\n }\n session.unref();\n const destroySessionCb = () => {\n session.destroy();\n this.deleteSession(url, session);\n };\n session.on(\"goaway\", destroySessionCb);\n session.on(\"error\", destroySessionCb);\n session.on(\"frameError\", destroySessionCb);\n session.on(\"close\", () => this.deleteSession(url, session));\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb);\n }\n const connectionPool = this.sessionCache.get(url) || new NodeHttp2ConnectionPool();\n connectionPool.offerLast(session);\n this.sessionCache.set(url, connectionPool);\n return session;\n }\n deleteSession(authority, session) {\n const existingConnectionPool = this.sessionCache.get(authority);\n if (!existingConnectionPool) {\n return;\n }\n if (!existingConnectionPool.contains(session)) {\n return;\n }\n existingConnectionPool.remove(session);\n this.sessionCache.set(authority, existingConnectionPool);\n }\n release(requestContext, session) {\n const cacheKey = this.getUrlString(requestContext);\n this.sessionCache.get(cacheKey)?.offerLast(session);\n }\n destroy() {\n for (const [key, connectionPool] of this.sessionCache) {\n for (const session of connectionPool) {\n if (!session.destroyed) {\n session.destroy();\n }\n connectionPool.remove(session);\n }\n this.sessionCache.delete(key);\n }\n }\n setMaxConcurrentStreams(maxConcurrentStreams) {\n if (maxConcurrentStreams && maxConcurrentStreams <= 0) {\n throw new RangeError(\"maxConcurrentStreams must be greater than zero.\");\n }\n this.config.maxConcurrency = maxConcurrentStreams;\n }\n setDisableConcurrentStreams(disableConcurrentStreams) {\n this.config.disableConcurrency = disableConcurrentStreams;\n }\n getUrlString(request) {\n return request.destination.toString();\n }\n}\n\nclass NodeHttp2Handler {\n config;\n configProvider;\n metadata = { handlerProtocol: \"h2\" };\n connectionManager = new NodeHttp2ConnectionManager({});\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttp2Handler(instanceOrOptions);\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false);\n if (this.config.maxConcurrentStreams) {\n this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams);\n }\n }\n const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;\n const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = undefined;\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n fulfilled = true;\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const { hostname, method, port, protocol, query } = request;\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : \"\"}`;\n const requestContext = { destination: new URL(authority) };\n const session = this.connectionManager.lease(requestContext, {\n requestTimeout: this.config?.sessionTimeout,\n disableConcurrentStreams: disableConcurrentStreams || false,\n });\n const rejectWithDestroy = (err) => {\n if (disableConcurrentStreams) {\n this.destroySession(session);\n }\n fulfilled = true;\n reject(err);\n };\n const queryString = querystringBuilder.buildQueryString(query || {});\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n const req = session.request({\n ...request.headers,\n [http2.constants.HTTP2_HEADER_PATH]: path,\n [http2.constants.HTTP2_HEADER_METHOD]: method,\n });\n session.ref();\n req.on(\"response\", (headers) => {\n const httpResponse = new protocolHttp.HttpResponse({\n statusCode: headers[\":status\"] || -1,\n headers: getTransformedHeaders(headers),\n body: req,\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (disableConcurrentStreams) {\n session.close();\n this.connectionManager.deleteSession(authority, session);\n }\n });\n if (effectiveRequestTimeout) {\n req.setTimeout(effectiveRequestTimeout, () => {\n req.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n const onAbort = () => {\n req.close();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n rejectWithDestroy(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n req.on(\"frameError\", (type, code, id) => {\n rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n req.on(\"error\", rejectWithDestroy);\n req.on(\"aborted\", () => {\n rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`));\n });\n req.on(\"close\", () => {\n session.unref();\n if (disableConcurrentStreams) {\n session.destroy();\n }\n if (!fulfilled) {\n rejectWithDestroy(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n destroySession(session) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n}\n\nclass Collector extends stream.Writable {\n bufferedBytes = [];\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n}\n\nconst streamCollector = (stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n};\nconst isReadableStreamInstance = (stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream;\nasync function collectReadableStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n\nexports.DEFAULT_REQUEST_TIMEOUT = DEFAULT_REQUEST_TIMEOUT;\nexports.NodeHttp2Handler = NodeHttp2Handler;\nexports.NodeHttpHandler = NodeHttpHandler;\nexports.streamCollector = streamCollector;\n",
|
|
26
|
-
"'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\nvar querystringBuilder = require('@smithy/querystring-builder');\nvar utilBase64 = require('@smithy/util-base64');\n\nfunction createRequest(url, requestOptions) {\n return new Request(url, requestOptions);\n}\n\nfunction requestTimeout(timeoutInMs = 0) {\n return new Promise((resolve, reject) => {\n if (timeoutInMs) {\n setTimeout(() => {\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n\nconst keepAliveSupport = {\n supported: undefined,\n};\nclass FetchHttpHandler {\n config;\n configProvider;\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new FetchHttpHandler(instanceOrOptions);\n }\n constructor(options) {\n if (typeof options === \"function\") {\n this.configProvider = options().then((opts) => opts || {});\n }\n else {\n this.config = options ?? {};\n this.configProvider = Promise.resolve(this.config);\n }\n if (keepAliveSupport.supported === undefined) {\n keepAliveSupport.supported = Boolean(typeof Request !== \"undefined\" && \"keepalive\" in createRequest(\"https://[::1]\"));\n }\n }\n destroy() {\n }\n async handle(request, { abortSignal, requestTimeout: requestTimeout$1 } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = requestTimeout$1 ?? this.config.requestTimeout;\n const keepAlive = this.config.keepAlive === true;\n const credentials = this.config.credentials;\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return Promise.reject(abortError);\n }\n let path = request.path;\n const queryString = querystringBuilder.buildQueryString(request.query || {});\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const { port, method } = request;\n const url = `${request.protocol}//${auth}${request.hostname}${port ? `:${port}` : \"\"}${path}`;\n const body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n const requestOptions = {\n body,\n headers: new Headers(request.headers),\n method: method,\n credentials,\n };\n if (this.config?.cache) {\n requestOptions.cache = this.config.cache;\n }\n if (body) {\n requestOptions.duplex = \"half\";\n }\n if (typeof AbortController !== \"undefined\") {\n requestOptions.signal = abortSignal;\n }\n if (keepAliveSupport.supported) {\n requestOptions.keepalive = keepAlive;\n }\n if (typeof this.config.requestInit === \"function\") {\n Object.assign(requestOptions, this.config.requestInit(request));\n }\n let removeSignalEventListener = () => { };\n const fetchRequest = createRequest(url, requestOptions);\n const raceOfPromises = [\n fetch(fetchRequest).then((response) => {\n const fetchHeaders = response.headers;\n const transformedHeaders = {};\n for (const pair of fetchHeaders.entries()) {\n transformedHeaders[pair[0]] = pair[1];\n }\n const hasReadableStream = response.body != undefined;\n if (!hasReadableStream) {\n return response.blob().then((body) => ({\n response: new protocolHttp.HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body,\n }),\n }));\n }\n return {\n response: new protocolHttp.HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body: response.body,\n }),\n };\n }),\n requestTimeout(requestTimeoutInMs),\n ];\n if (abortSignal) {\n raceOfPromises.push(new Promise((resolve, reject) => {\n const onAbort = () => {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n removeSignalEventListener = () => signal.removeEventListener(\"abort\", onAbort);\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }));\n }\n return Promise.race(raceOfPromises).finally(removeSignalEventListener);\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n config[key] = value;\n return config;\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\n\nconst streamCollector = async (stream) => {\n if ((typeof Blob === \"function\" && stream instanceof Blob) || stream.constructor?.name === \"Blob\") {\n if (Blob.prototype.arrayBuffer !== undefined) {\n return new Uint8Array(await stream.arrayBuffer());\n }\n return collectBlob(stream);\n }\n return collectStream(stream);\n};\nasync function collectBlob(blob) {\n const base64 = await readToBase64(blob);\n const arrayBuffer = utilBase64.fromBase64(base64);\n return new Uint8Array(arrayBuffer);\n}\nasync function collectStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\nfunction readToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n const result = (reader.result ?? \"\");\n const commaIndex = result.indexOf(\",\");\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = () => reject(new Error(\"Read aborted\"));\n reader.onerror = () => reject(reader.error);\n reader.readAsDataURL(blob);\n });\n}\n\nexports.FetchHttpHandler = FetchHttpHandler;\nexports.keepAliveSupport = keepAliveSupport;\nexports.streamCollector = streamCollector;\n",
|
|
27
|
-
"'use strict';\n\nconst SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nfunction fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nfunction toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n\nexports.fromHex = fromHex;\nexports.toHex = toHex;\n",
|
|
28
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst fetch_http_handler_1 = require(\"@smithy/fetch-http-handler\");\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst util_hex_encoding_1 = require(\"@smithy/util-hex-encoding\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n if (!isBlobInstance(stream) && !(0, stream_type_check_1.isReadableStream)(stream)) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, fetch_http_handler_1.streamCollector)(stream);\n };\n const blobToWebStream = (blob) => {\n if (typeof blob.stream !== \"function\") {\n throw new Error(\"Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\\n\" +\n \"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body\");\n }\n return blob.stream();\n };\n return Object.assign(stream, {\n transformToByteArray: transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === \"base64\") {\n return (0, util_base64_1.toBase64)(buf);\n }\n else if (encoding === \"hex\") {\n return (0, util_hex_encoding_1.toHex)(buf);\n }\n else if (encoding === undefined || encoding === \"utf8\" || encoding === \"utf-8\") {\n return (0, util_utf8_1.toUtf8)(buf);\n }\n else if (typeof TextDecoder === \"function\") {\n return new TextDecoder(encoding).decode(buf);\n }\n else {\n throw new Error(\"TextDecoder is not available, please make sure polyfill is provided.\");\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n if (isBlobInstance(stream)) {\n return blobToWebStream(stream);\n }\n else if ((0, stream_type_check_1.isReadableStream)(stream)) {\n return stream;\n }\n else {\n throw new Error(`Cannot transform payload to web stream, got ${stream}`);\n }\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\nconst isBlobInstance = (stream) => typeof Blob === \"function\" && stream instanceof Blob;\n",
|
|
29
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst node_http_handler_1 = require(\"@smithy/node-http-handler\");\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst stream_1 = require(\"stream\");\nconst sdk_stream_mixin_browser_1 = require(\"./sdk-stream-mixin.browser\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n if (!(stream instanceof stream_1.Readable)) {\n try {\n return (0, sdk_stream_mixin_browser_1.sdkStreamMixin)(stream);\n }\n catch (e) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);\n }\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, node_http_handler_1.streamCollector)(stream);\n };\n return Object.assign(stream, {\n transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === undefined || Buffer.isEncoding(encoding)) {\n return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);\n }\n else {\n const decoder = new TextDecoder(encoding);\n return decoder.decode(buf);\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n if (stream.readableFlowing !== null) {\n throw new Error(\"The stream has been consumed by other callbacks.\");\n }\n if (typeof stream_1.Readable.toWeb !== \"function\") {\n throw new Error(\"Readable.toWeb() is not supported. Please ensure a polyfill is available.\");\n }\n transformed = true;\n return stream_1.Readable.toWeb(stream);\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\n",
|
|
30
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStream = splitStream;\nasync function splitStream(stream) {\n if (typeof stream.stream === \"function\") {\n stream = stream.stream();\n }\n const readableStream = stream;\n return readableStream.tee();\n}\n",
|
|
31
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStream = splitStream;\nconst stream_1 = require(\"stream\");\nconst splitStream_browser_1 = require(\"./splitStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nasync function splitStream(stream) {\n if ((0, stream_type_check_1.isReadableStream)(stream) || (0, stream_type_check_1.isBlob)(stream)) {\n return (0, splitStream_browser_1.splitStream)(stream);\n }\n const stream1 = new stream_1.PassThrough();\n const stream2 = new stream_1.PassThrough();\n stream.pipe(stream1);\n stream.pipe(stream2);\n return [stream1, stream2];\n}\n",
|
|
32
|
-
"'use strict';\n\nvar utilBase64 = require('@smithy/util-base64');\nvar utilUtf8 = require('@smithy/util-utf8');\nvar ChecksumStream = require('./checksum/ChecksumStream');\nvar createChecksumStream = require('./checksum/createChecksumStream');\nvar createBufferedReadable = require('./createBufferedReadable');\nvar getAwsChunkedEncodingStream = require('./getAwsChunkedEncodingStream');\nvar headStream = require('./headStream');\nvar sdkStreamMixin = require('./sdk-stream-mixin');\nvar splitStream = require('./splitStream');\nvar streamTypeCheck = require('./stream-type-check');\n\nclass Uint8ArrayBlobAdapter extends Uint8Array {\n static fromString(source, encoding = \"utf-8\") {\n if (typeof source === \"string\") {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate(utilBase64.fromBase64(source));\n }\n return Uint8ArrayBlobAdapter.mutate(utilUtf8.fromUtf8(source));\n }\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\n }\n static mutate(source) {\n Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n transformToString(encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return utilBase64.toBase64(this);\n }\n return utilUtf8.toUtf8(this);\n }\n}\n\nObject.defineProperty(exports, \"isBlob\", {\n enumerable: true,\n get: function () { return streamTypeCheck.isBlob; }\n});\nObject.defineProperty(exports, \"isReadableStream\", {\n enumerable: true,\n get: function () { return streamTypeCheck.isReadableStream; }\n});\nexports.Uint8ArrayBlobAdapter = Uint8ArrayBlobAdapter;\nObject.keys(ChecksumStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return ChecksumStream[k]; }\n });\n});\nObject.keys(createChecksumStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return createChecksumStream[k]; }\n });\n});\nObject.keys(createBufferedReadable).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return createBufferedReadable[k]; }\n });\n});\nObject.keys(getAwsChunkedEncodingStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return getAwsChunkedEncodingStream[k]; }\n });\n});\nObject.keys(headStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return headStream[k]; }\n });\n});\nObject.keys(sdkStreamMixin).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return sdkStreamMixin[k]; }\n });\n});\nObject.keys(splitStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return splitStream[k]; }\n });\n});\n",
|
|
33
|
-
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.randomUUID = void 0;\nconst tslib_1 = require(\"tslib\");\nconst crypto_1 = tslib_1.__importDefault(require(\"crypto\"));\nexports.randomUUID = crypto_1.default.randomUUID.bind(crypto_1.default);\n",
|
|
34
|
-
"'use strict';\n\nvar randomUUID = require('./randomUUID');\n\nconst decimalToHex = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, \"0\"));\nconst v4 = () => {\n if (randomUUID.randomUUID) {\n return randomUUID.randomUUID();\n }\n const rnds = new Uint8Array(16);\n crypto.getRandomValues(rnds);\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n return (decimalToHex[rnds[0]] +\n decimalToHex[rnds[1]] +\n decimalToHex[rnds[2]] +\n decimalToHex[rnds[3]] +\n \"-\" +\n decimalToHex[rnds[4]] +\n decimalToHex[rnds[5]] +\n \"-\" +\n decimalToHex[rnds[6]] +\n decimalToHex[rnds[7]] +\n \"-\" +\n decimalToHex[rnds[8]] +\n decimalToHex[rnds[9]] +\n \"-\" +\n decimalToHex[rnds[10]] +\n decimalToHex[rnds[11]] +\n decimalToHex[rnds[12]] +\n decimalToHex[rnds[13]] +\n decimalToHex[rnds[14]] +\n decimalToHex[rnds[15]]);\n};\n\nexports.v4 = v4;\n",
|
|
35
|
-
"'use strict';\n\nvar uuid = require('@smithy/uuid');\n\nconst copyDocumentWithTransform = (source, schemaRef, transform = (_) => _) => source;\n\nconst parseBoolean = (value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n};\nconst expectBoolean = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n};\nconst expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nconst expectFloat32 = (value) => {\n const expected = expectNumber(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n};\nconst expectLong = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n};\nconst expectInt = expectLong;\nconst expectInt32 = (value) => expectSizedInt(value, 32);\nconst expectShort = (value) => expectSizedInt(value, 16);\nconst expectByte = (value) => expectSizedInt(value, 8);\nconst expectSizedInt = (value, size) => {\n const expected = expectLong(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nconst expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nconst expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nconst expectString = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nconst expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = expectObject(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n};\nconst strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n};\nconst strictParseFloat = strictParseDouble;\nconst strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n};\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n};\nconst limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n};\nconst handleFloat = limitedParseDouble;\nconst limitedParseFloat = limitedParseDouble;\nconst limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n};\nconst parseFloatString = (value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n};\nconst strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n};\nconst strictParseInt = strictParseLong;\nconst strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n};\nconst strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n};\nconst strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n};\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nconst logger = {\n warn: console.warn,\n};\n\nconst DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nfunction dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\nconst RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nconst parseRfc3339DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n};\nconst RFC3339_WITH_OFFSET$1 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/);\nconst parseRfc3339DateTimeWithOffset = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET$1.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n};\nconst IMF_FIXDATE$1 = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst RFC_850_DATE$1 = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst ASC_TIME$1 = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nconst parseRfc7231DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE$1.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n match = RFC_850_DATE$1.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds,\n }));\n }\n match = ASC_TIME$1.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nconst parseEpochTimestamp = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = strictParseDouble(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n valueAsDouble = value.value;\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nconst buildDate = (year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nconst parseTwoDigitYear = (value) => {\n const thisYear = new Date().getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nconst adjustRfc850Year = (input) => {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nconst parseMonthByShortName = (value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n};\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst validateDayOfMonth = (year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n};\nconst isLeapYear = (year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nconst parseDateValue = (value, type, lower, upper) => {\n const dateVal = strictParseByte(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n};\nconst parseMilliseconds = (value) => {\n if (value === null || value === undefined) {\n return 0;\n }\n return strictParseFloat32(\"0.\" + value) * 1000;\n};\nconst parseOffsetToMilliseconds = (value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n }\n else if (directionStr == \"-\") {\n direction = -1;\n }\n else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1000;\n};\nconst stripLeadingZeroes = (value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n\nconst LazyJsonString = function LazyJsonString(val) {\n const str = Object.assign(new String(val), {\n deserializeJSON() {\n return JSON.parse(String(val));\n },\n toString() {\n return String(val);\n },\n toJSON() {\n return String(val);\n },\n });\n return str;\n};\nLazyJsonString.from = (object) => {\n if (object && typeof object === \"object\" && (object instanceof LazyJsonString || \"deserializeJSON\" in object)) {\n return object;\n }\n else if (typeof object === \"string\" || Object.getPrototypeOf(object) === String.prototype) {\n return LazyJsonString(String(object));\n }\n return LazyJsonString(JSON.stringify(object));\n};\nLazyJsonString.fromObject = LazyJsonString.from;\n\nfunction quoteHeader(part) {\n if (part.includes(\",\") || part.includes('\"')) {\n part = `\"${part.replace(/\"/g, '\\\\\"')}\"`;\n }\n return part;\n}\n\nconst ddd = `(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`;\nconst mmm = `(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`;\nconst time = `(\\\\d?\\\\d):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d+))?`;\nconst date = `(\\\\d?\\\\d)`;\nconst year = `(\\\\d{4})`;\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d\\d)-(\\d\\d)[tT](\\d\\d):(\\d\\d):(\\d\\d)(\\.(\\d+))?(([-+]\\d\\d:\\d\\d)|[zZ])$/);\nconst IMF_FIXDATE = new RegExp(`^${ddd}, ${date} ${mmm} ${year} ${time} GMT$`);\nconst RFC_850_DATE = new RegExp(`^${ddd}, ${date}-${mmm}-(\\\\d\\\\d) ${time} GMT$`);\nconst ASC_TIME = new RegExp(`^${ddd} ${mmm} ( [1-9]|\\\\d\\\\d) ${time} ${year}$`);\nconst months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nconst _parseEpochTimestamp = (value) => {\n if (value == null) {\n return void 0;\n }\n let num = NaN;\n if (typeof value === \"number\") {\n num = value;\n }\n else if (typeof value === \"string\") {\n if (!/^-?\\d*\\.?\\d+$/.test(value)) {\n throw new TypeError(`parseEpochTimestamp - numeric string invalid.`);\n }\n num = Number.parseFloat(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n num = value.value;\n }\n if (isNaN(num) || Math.abs(num) === Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid finite numbers.\");\n }\n return new Date(Math.round(num * 1000));\n};\nconst _parseRfc3339DateTimeWithOffset = (value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC3339 timestamps must be strings\");\n }\n const matches = RFC3339_WITH_OFFSET.exec(value);\n if (!matches) {\n throw new TypeError(`Invalid RFC3339 timestamp format ${value}`);\n }\n const [, yearStr, monthStr, dayStr, hours, minutes, seconds, , ms, offsetStr] = matches;\n range(monthStr, 1, 12);\n range(dayStr, 1, 31);\n range(hours, 0, 23);\n range(minutes, 0, 59);\n range(seconds, 0, 60);\n const date = new Date(Date.UTC(Number(yearStr), Number(monthStr) - 1, Number(dayStr), Number(hours), Number(minutes), Number(seconds), Number(ms) ? Math.round(parseFloat(`0.${ms}`) * 1000) : 0));\n date.setUTCFullYear(Number(yearStr));\n if (offsetStr.toUpperCase() != \"Z\") {\n const [, sign, offsetH, offsetM] = /([+-])(\\d\\d):(\\d\\d)/.exec(offsetStr) || [void 0, \"+\", 0, 0];\n const scalar = sign === \"-\" ? 1 : -1;\n date.setTime(date.getTime() + scalar * (Number(offsetH) * 60 * 60 * 1000 + Number(offsetM) * 60 * 1000));\n }\n return date;\n};\nconst _parseRfc7231DateTime = (value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC7231 timestamps must be strings.\");\n }\n let day;\n let month;\n let year;\n let hour;\n let minute;\n let second;\n let fraction;\n let matches;\n if ((matches = IMF_FIXDATE.exec(value))) {\n [, day, month, year, hour, minute, second, fraction] = matches;\n }\n else if ((matches = RFC_850_DATE.exec(value))) {\n [, day, month, year, hour, minute, second, fraction] = matches;\n year = (Number(year) + 1900).toString();\n }\n else if ((matches = ASC_TIME.exec(value))) {\n [, month, day, hour, minute, second, fraction, year] = matches;\n }\n if (year && second) {\n const timestamp = Date.UTC(Number(year), months.indexOf(month), Number(day), Number(hour), Number(minute), Number(second), fraction ? Math.round(parseFloat(`0.${fraction}`) * 1000) : 0);\n range(day, 1, 31);\n range(hour, 0, 23);\n range(minute, 0, 59);\n range(second, 0, 60);\n const date = new Date(timestamp);\n date.setUTCFullYear(Number(year));\n return date;\n }\n throw new TypeError(`Invalid RFC7231 date-time value ${value}.`);\n};\nfunction range(v, min, max) {\n const _v = Number(v);\n if (_v < min || _v > max) {\n throw new Error(`Value ${_v} out of range [${min}, ${max}]`);\n }\n}\n\nfunction splitEvery(value, delimiter, numDelimiters) {\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n const segments = value.split(delimiter);\n if (numDelimiters === 1) {\n return segments;\n }\n const compoundSegments = [];\n let currentSegment = \"\";\n for (let i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n currentSegment = segments[i];\n }\n else {\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n compoundSegments.push(currentSegment);\n currentSegment = \"\";\n }\n }\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\n\nconst splitHeader = (value) => {\n const z = value.length;\n const values = [];\n let withinQuotes = false;\n let prevChar = undefined;\n let anchor = 0;\n for (let i = 0; i < z; ++i) {\n const char = value[i];\n switch (char) {\n case `\"`:\n if (prevChar !== \"\\\\\") {\n withinQuotes = !withinQuotes;\n }\n break;\n case \",\":\n if (!withinQuotes) {\n values.push(value.slice(anchor, i));\n anchor = i + 1;\n }\n break;\n }\n prevChar = char;\n }\n values.push(value.slice(anchor));\n return values.map((v) => {\n v = v.trim();\n const z = v.length;\n if (z < 2) {\n return v;\n }\n if (v[0] === `\"` && v[z - 1] === `\"`) {\n v = v.slice(1, z - 1);\n }\n return v.replace(/\\\\\"/g, '\"');\n });\n};\n\nconst format = /^-?\\d*(\\.\\d+)?$/;\nclass NumericValue {\n string;\n type;\n constructor(string, type) {\n this.string = string;\n this.type = type;\n if (!format.test(string)) {\n throw new Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point \".\", and an optional negation prefix \"-\".`);\n }\n }\n toString() {\n return this.string;\n }\n static [Symbol.hasInstance](object) {\n if (!object || typeof object !== \"object\") {\n return false;\n }\n const _nv = object;\n return NumericValue.prototype.isPrototypeOf(object) || (_nv.type === \"bigDecimal\" && format.test(_nv.string));\n }\n}\nfunction nv(input) {\n return new NumericValue(String(input), \"bigDecimal\");\n}\n\nObject.defineProperty(exports, \"generateIdempotencyToken\", {\n enumerable: true,\n get: function () { return uuid.v4; }\n});\nexports.LazyJsonString = LazyJsonString;\nexports.NumericValue = NumericValue;\nexports._parseEpochTimestamp = _parseEpochTimestamp;\nexports._parseRfc3339DateTimeWithOffset = _parseRfc3339DateTimeWithOffset;\nexports._parseRfc7231DateTime = _parseRfc7231DateTime;\nexports.copyDocumentWithTransform = copyDocumentWithTransform;\nexports.dateToUtcString = dateToUtcString;\nexports.expectBoolean = expectBoolean;\nexports.expectByte = expectByte;\nexports.expectFloat32 = expectFloat32;\nexports.expectInt = expectInt;\nexports.expectInt32 = expectInt32;\nexports.expectLong = expectLong;\nexports.expectNonNull = expectNonNull;\nexports.expectNumber = expectNumber;\nexports.expectObject = expectObject;\nexports.expectShort = expectShort;\nexports.expectString = expectString;\nexports.expectUnion = expectUnion;\nexports.handleFloat = handleFloat;\nexports.limitedParseDouble = limitedParseDouble;\nexports.limitedParseFloat = limitedParseFloat;\nexports.limitedParseFloat32 = limitedParseFloat32;\nexports.logger = logger;\nexports.nv = nv;\nexports.parseBoolean = parseBoolean;\nexports.parseEpochTimestamp = parseEpochTimestamp;\nexports.parseRfc3339DateTime = parseRfc3339DateTime;\nexports.parseRfc3339DateTimeWithOffset = parseRfc3339DateTimeWithOffset;\nexports.parseRfc7231DateTime = parseRfc7231DateTime;\nexports.quoteHeader = quoteHeader;\nexports.splitEvery = splitEvery;\nexports.splitHeader = splitHeader;\nexports.strictParseByte = strictParseByte;\nexports.strictParseDouble = strictParseDouble;\nexports.strictParseFloat = strictParseFloat;\nexports.strictParseFloat32 = strictParseFloat32;\nexports.strictParseInt = strictParseInt;\nexports.strictParseInt32 = strictParseInt32;\nexports.strictParseLong = strictParseLong;\nexports.strictParseShort = strictParseShort;\n",
|
|
36
|
-
"'use strict';\n\nvar utilStream = require('@smithy/util-stream');\nvar schema = require('@smithy/core/schema');\nvar serde = require('@smithy/core/serde');\nvar protocolHttp = require('@smithy/protocol-http');\nvar utilBase64 = require('@smithy/util-base64');\nvar utilUtf8 = require('@smithy/util-utf8');\n\nconst collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return utilStream.Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return utilStream.Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return utilStream.Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n\nfunction extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n\nclass SerdeContext {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n\nclass HttpProtocol extends SerdeContext {\n options;\n constructor(options) {\n super();\n this.options = options;\n }\n getRequestType() {\n return protocolHttp.HttpRequest;\n }\n getResponseType() {\n return protocolHttp.HttpResponse;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n if (this.getPayloadCodec()) {\n this.getPayloadCodec().setSerdeContext(serdeContext);\n }\n }\n updateServiceEndpoint(request, endpoint) {\n if (\"url\" in endpoint) {\n request.protocol = endpoint.url.protocol;\n request.hostname = endpoint.url.hostname;\n request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;\n request.path = endpoint.url.pathname;\n request.fragment = endpoint.url.hash || void 0;\n request.username = endpoint.url.username || void 0;\n request.password = endpoint.url.password || void 0;\n if (!request.query) {\n request.query = {};\n }\n for (const [k, v] of endpoint.url.searchParams.entries()) {\n request.query[k] = v;\n }\n return request;\n }\n else {\n request.protocol = endpoint.protocol;\n request.hostname = endpoint.hostname;\n request.port = endpoint.port ? Number(endpoint.port) : undefined;\n request.path = endpoint.path;\n request.query = {\n ...endpoint.query,\n };\n return request;\n }\n }\n setHostPrefix(request, operationSchema, input) {\n if (this.serdeContext?.disableHostPrefix) {\n return;\n }\n const inputNs = schema.NormalizedSchema.of(operationSchema.input);\n const opTraits = schema.translateTraits(operationSchema.traits ?? {});\n if (opTraits.endpoint) {\n let hostPrefix = opTraits.endpoint?.[0];\n if (typeof hostPrefix === \"string\") {\n const hostLabelInputs = [...inputNs.structIterator()].filter(([, member]) => member.getMergedTraits().hostLabel);\n for (const [name] of hostLabelInputs) {\n const replacement = input[name];\n if (typeof replacement !== \"string\") {\n throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);\n }\n hostPrefix = hostPrefix.replace(`{${name}}`, replacement);\n }\n request.hostname = hostPrefix + request.hostname;\n }\n }\n }\n deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n };\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.serializeEventStream({\n eventStream,\n requestSchema,\n initialRequest,\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.deserializeEventStream({\n response,\n responseSchema,\n initialResponseContainer,\n });\n }\n async loadEventStreamCapability() {\n const { EventStreamSerde } = await import('@smithy/core/event-streams');\n return new EventStreamSerde({\n marshaller: this.getEventStreamMarshaller(),\n serializer: this.serializer,\n deserializer: this.deserializer,\n serdeContext: this.serdeContext,\n defaultContentType: this.getDefaultContentType(),\n });\n }\n getDefaultContentType() {\n throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n return [];\n }\n getEventStreamMarshaller() {\n const context = this.serdeContext;\n if (!context.eventStreamMarshaller) {\n throw new Error(\"@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.\");\n }\n return context.eventStreamMarshaller;\n }\n}\n\nclass HttpBindingProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const input = {\n ...(_input ?? {}),\n };\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = schema.NormalizedSchema.of(operationSchema?.input);\n const schema$1 = ns.getSchema();\n let hasNonHttpBindingMember = false;\n let payload;\n const request = new protocolHttp.HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n const opTraits = schema.translateTraits(operationSchema.traits);\n if (opTraits.http) {\n request.method = opTraits.http[0];\n const [path, search] = opTraits.http[1].split(\"?\");\n if (request.path == \"/\") {\n request.path = path;\n }\n else {\n request.path += path;\n }\n const traitSearchParams = new URLSearchParams(search ?? \"\");\n Object.assign(query, Object.fromEntries(traitSearchParams));\n }\n }\n for (const [memberName, memberNs] of ns.structIterator()) {\n const memberTraits = memberNs.getMergedTraits() ?? {};\n const inputMemberValue = input[memberName];\n if (inputMemberValue == null && !memberNs.isIdempotencyToken()) {\n continue;\n }\n if (memberTraits.httpPayload) {\n const isStreaming = memberNs.isStreaming();\n if (isStreaming) {\n const isEventStream = memberNs.isStructSchema();\n if (isEventStream) {\n if (input[memberName]) {\n payload = await this.serializeEventStream({\n eventStream: input[memberName],\n requestSchema: ns,\n });\n }\n }\n else {\n payload = inputMemberValue;\n }\n }\n else {\n serializer.write(memberNs, inputMemberValue);\n payload = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpLabel) {\n serializer.write(memberNs, inputMemberValue);\n const replacement = serializer.flush();\n if (request.path.includes(`{${memberName}+}`)) {\n request.path = request.path.replace(`{${memberName}+}`, replacement.split(\"/\").map(extendedEncodeURIComponent).join(\"/\"));\n }\n else if (request.path.includes(`{${memberName}}`)) {\n request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));\n }\n delete input[memberName];\n }\n else if (memberTraits.httpHeader) {\n serializer.write(memberNs, inputMemberValue);\n headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());\n delete input[memberName];\n }\n else if (typeof memberTraits.httpPrefixHeaders === \"string\") {\n for (const [key, val] of Object.entries(inputMemberValue)) {\n const amalgam = memberTraits.httpPrefixHeaders + key;\n serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);\n headers[amalgam.toLowerCase()] = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {\n this.serializeQuery(memberNs, inputMemberValue, query);\n delete input[memberName];\n }\n else {\n hasNonHttpBindingMember = true;\n }\n }\n if (hasNonHttpBindingMember && input) {\n serializer.write(schema$1, input);\n payload = serializer.flush();\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n return request;\n }\n serializeQuery(ns, data, query) {\n const serializer = this.serializer;\n const traits = ns.getMergedTraits();\n if (traits.httpQueryParams) {\n for (const [key, val] of Object.entries(data)) {\n if (!(key in query)) {\n const valueSchema = ns.getValueSchema();\n Object.assign(valueSchema.getMergedTraits(), {\n ...traits,\n httpQuery: key,\n httpQueryParams: undefined,\n });\n this.serializeQuery(valueSchema, val, query);\n }\n }\n return;\n }\n if (ns.isListSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const buffer = [];\n for (const item of data) {\n serializer.write([ns.getValueSchema(), traits], item);\n const serializable = serializer.flush();\n if (sparse || serializable !== undefined) {\n buffer.push(serializable);\n }\n }\n query[traits.httpQuery] = buffer;\n }\n else {\n serializer.write([ns, traits], data);\n query[traits.httpQuery] = serializer.flush();\n }\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = schema.NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - HTTP Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);\n if (nonHttpBindingMembers.length) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n const dataFromBody = await deserializer.read(ns, bytes);\n for (const member of nonHttpBindingMembers) {\n dataObject[member] = dataFromBody[member];\n }\n }\n }\n else if (nonHttpBindingMembers.discardResponseBody) {\n await collectBody(response.body, context);\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n async deserializeHttpMessage(schema$1, context, response, arg4, arg5) {\n let dataObject;\n if (arg4 instanceof Set) {\n dataObject = arg5;\n }\n else {\n dataObject = arg4;\n }\n let discardResponseBody = true;\n const deserializer = this.deserializer;\n const ns = schema.NormalizedSchema.of(schema$1);\n const nonHttpBindingMembers = [];\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMemberTraits();\n if (memberTraits.httpPayload) {\n discardResponseBody = false;\n const isStreaming = memberSchema.isStreaming();\n if (isStreaming) {\n const isEventStream = memberSchema.isStructSchema();\n if (isEventStream) {\n dataObject[memberName] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n });\n }\n else {\n dataObject[memberName] = utilStream.sdkStreamMixin(response.body);\n }\n }\n else if (response.body) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n dataObject[memberName] = await deserializer.read(memberSchema, bytes);\n }\n }\n }\n else if (memberTraits.httpHeader) {\n const key = String(memberTraits.httpHeader).toLowerCase();\n const value = response.headers[key];\n if (null != value) {\n if (memberSchema.isListSchema()) {\n const headerListValueSchema = memberSchema.getValueSchema();\n headerListValueSchema.getMergedTraits().httpHeader = key;\n let sections;\n if (headerListValueSchema.isTimestampSchema() &&\n headerListValueSchema.getSchema() === 4) {\n sections = serde.splitEvery(value, \",\", 2);\n }\n else {\n sections = serde.splitHeader(value);\n }\n const list = [];\n for (const section of sections) {\n list.push(await deserializer.read(headerListValueSchema, section.trim()));\n }\n dataObject[memberName] = list;\n }\n else {\n dataObject[memberName] = await deserializer.read(memberSchema, value);\n }\n }\n }\n else if (memberTraits.httpPrefixHeaders !== undefined) {\n dataObject[memberName] = {};\n for (const [header, value] of Object.entries(response.headers)) {\n if (header.startsWith(memberTraits.httpPrefixHeaders)) {\n const valueSchema = memberSchema.getValueSchema();\n valueSchema.getMergedTraits().httpHeader = header;\n dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);\n }\n }\n }\n else if (memberTraits.httpResponseCode) {\n dataObject[memberName] = response.statusCode;\n }\n else {\n nonHttpBindingMembers.push(memberName);\n }\n }\n nonHttpBindingMembers.discardResponseBody = discardResponseBody;\n return nonHttpBindingMembers;\n }\n}\n\nclass RpcProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, input, context) {\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = schema.NormalizedSchema.of(operationSchema?.input);\n const schema$1 = ns.getSchema();\n let payload;\n const request = new protocolHttp.HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"/\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n }\n const _input = {\n ...input,\n };\n if (input) {\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n if (_input[eventStreamMember]) {\n const initialRequest = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n if (memberName !== eventStreamMember && _input[memberName]) {\n serializer.write(memberSchema, _input[memberName]);\n initialRequest[memberName] = serializer.flush();\n }\n }\n payload = await this.serializeEventStream({\n eventStream: _input[eventStreamMember],\n requestSchema: ns,\n initialRequest,\n });\n }\n }\n else {\n serializer.write(schema$1, _input);\n payload = serializer.flush();\n }\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n request.method = \"POST\";\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = schema.NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - RPC Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n dataObject[eventStreamMember] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n initialResponseContainer: dataObject,\n });\n }\n else {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes));\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n}\n\nconst resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => extendedEncodeURIComponent(segment))\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n\nfunction requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nclass RequestBuilder {\n input;\n context;\n query = {};\n method = \"\";\n headers = {};\n path = \"\";\n body = null;\n hostname = \"\";\n resolvePathStack = [];\n constructor(input, context) {\n this.input = input;\n this.context = context;\n }\n async build() {\n const { hostname, protocol = \"https\", port, path: basePath } = await this.context.endpoint();\n this.path = basePath;\n for (const resolvePath of this.resolvePathStack) {\n resolvePath(this.path);\n }\n return new protocolHttp.HttpRequest({\n protocol,\n hostname: this.hostname || hostname,\n port,\n method: this.method,\n path: this.path,\n query: this.query,\n body: this.body,\n headers: this.headers,\n });\n }\n hn(hostname) {\n this.hostname = hostname;\n return this;\n }\n bp(uriLabel) {\n this.resolvePathStack.push((basePath) => {\n this.path = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + uriLabel;\n });\n return this;\n }\n p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n this.resolvePathStack.push((path) => {\n this.path = resolvedPath(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);\n });\n return this;\n }\n h(headers) {\n this.headers = headers;\n return this;\n }\n q(query) {\n this.query = query;\n return this;\n }\n b(body) {\n this.body = body;\n return this;\n }\n m(method) {\n this.method = method;\n return this;\n }\n}\n\nfunction determineTimestampFormat(ns, settings) {\n if (settings.timestampFormat.useTrait) {\n if (ns.isTimestampSchema() &&\n (ns.getSchema() === 5 ||\n ns.getSchema() === 6 ||\n ns.getSchema() === 7)) {\n return ns.getSchema();\n }\n }\n const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();\n const bindingFormat = settings.httpBindings\n ? typeof httpPrefixHeaders === \"string\" || Boolean(httpHeader)\n ? 6\n : Boolean(httpQuery) || Boolean(httpLabel)\n ? 5\n : undefined\n : undefined;\n return bindingFormat ?? settings.timestampFormat.default;\n}\n\nclass FromStringShapeDeserializer extends SerdeContext {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n read(_schema, data) {\n const ns = schema.NormalizedSchema.of(_schema);\n if (ns.isListSchema()) {\n return serde.splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));\n }\n if (ns.isBlobSchema()) {\n return (this.serdeContext?.base64Decoder ?? utilBase64.fromBase64)(data);\n }\n if (ns.isTimestampSchema()) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return serde._parseRfc3339DateTimeWithOffset(data);\n case 6:\n return serde._parseRfc7231DateTime(data);\n case 7:\n return serde._parseEpochTimestamp(data);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", data);\n return new Date(data);\n }\n }\n if (ns.isStringSchema()) {\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = data;\n if (mediaType) {\n if (ns.getMergedTraits().httpHeader) {\n intermediateValue = this.base64ToUtf8(intermediateValue);\n }\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = serde.LazyJsonString.from(intermediateValue);\n }\n return intermediateValue;\n }\n }\n if (ns.isNumericSchema()) {\n return Number(data);\n }\n if (ns.isBigIntegerSchema()) {\n return BigInt(data);\n }\n if (ns.isBigDecimalSchema()) {\n return new serde.NumericValue(data, \"bigDecimal\");\n }\n if (ns.isBooleanSchema()) {\n return String(data).toLowerCase() === \"true\";\n }\n return data;\n }\n base64ToUtf8(base64String) {\n return (this.serdeContext?.utf8Encoder ?? utilUtf8.toUtf8)((this.serdeContext?.base64Decoder ?? utilBase64.fromBase64)(base64String));\n }\n}\n\nclass HttpInterceptingShapeDeserializer extends SerdeContext {\n codecDeserializer;\n stringDeserializer;\n constructor(codecDeserializer, codecSettings) {\n super();\n this.codecDeserializer = codecDeserializer;\n this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);\n }\n setSerdeContext(serdeContext) {\n this.stringDeserializer.setSerdeContext(serdeContext);\n this.codecDeserializer.setSerdeContext(serdeContext);\n this.serdeContext = serdeContext;\n }\n read(schema$1, data) {\n const ns = schema.NormalizedSchema.of(schema$1);\n const traits = ns.getMergedTraits();\n const toString = this.serdeContext?.utf8Encoder ?? utilUtf8.toUtf8;\n if (traits.httpHeader || traits.httpResponseCode) {\n return this.stringDeserializer.read(ns, toString(data));\n }\n if (traits.httpPayload) {\n if (ns.isBlobSchema()) {\n const toBytes = this.serdeContext?.utf8Decoder ?? utilUtf8.fromUtf8;\n if (typeof data === \"string\") {\n return toBytes(data);\n }\n return data;\n }\n else if (ns.isStringSchema()) {\n if (\"byteLength\" in data) {\n return toString(data);\n }\n return data;\n }\n }\n return this.codecDeserializer.read(ns, data);\n }\n}\n\nclass ToStringShapeSerializer extends SerdeContext {\n settings;\n stringBuffer = \"\";\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema$1, value) {\n const ns = schema.NormalizedSchema.of(schema$1);\n switch (typeof value) {\n case \"object\":\n if (value === null) {\n this.stringBuffer = \"null\";\n return;\n }\n if (ns.isTimestampSchema()) {\n if (!(value instanceof Date)) {\n throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);\n }\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.stringBuffer = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n this.stringBuffer = serde.dateToUtcString(value);\n break;\n case 7:\n this.stringBuffer = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n this.stringBuffer = String(value.getTime() / 1000);\n }\n return;\n }\n if (ns.isBlobSchema() && \"byteLength\" in value) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? utilBase64.toBase64)(value);\n return;\n }\n if (ns.isListSchema() && Array.isArray(value)) {\n let buffer = \"\";\n for (const item of value) {\n this.write([ns.getValueSchema(), ns.getMergedTraits()], item);\n const headerItem = this.flush();\n const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : serde.quoteHeader(headerItem);\n if (buffer !== \"\") {\n buffer += \", \";\n }\n buffer += serialized;\n }\n this.stringBuffer = buffer;\n return;\n }\n this.stringBuffer = JSON.stringify(value, null, 2);\n break;\n case \"string\":\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = value;\n if (mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = serde.LazyJsonString.from(intermediateValue);\n }\n if (ns.getMergedTraits().httpHeader) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? utilBase64.toBase64)(intermediateValue.toString());\n return;\n }\n }\n this.stringBuffer = value;\n break;\n default:\n if (ns.isIdempotencyToken()) {\n this.stringBuffer = serde.generateIdempotencyToken();\n }\n else {\n this.stringBuffer = String(value);\n }\n }\n }\n flush() {\n const buffer = this.stringBuffer;\n this.stringBuffer = \"\";\n return buffer;\n }\n}\n\nclass HttpInterceptingShapeSerializer {\n codecSerializer;\n stringSerializer;\n buffer;\n constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {\n this.codecSerializer = codecSerializer;\n this.stringSerializer = stringSerializer;\n }\n setSerdeContext(serdeContext) {\n this.codecSerializer.setSerdeContext(serdeContext);\n this.stringSerializer.setSerdeContext(serdeContext);\n }\n write(schema$1, value) {\n const ns = schema.NormalizedSchema.of(schema$1);\n const traits = ns.getMergedTraits();\n if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {\n this.stringSerializer.write(ns, value);\n this.buffer = this.stringSerializer.flush();\n return;\n }\n return this.codecSerializer.write(ns, value);\n }\n flush() {\n if (this.buffer !== undefined) {\n const buffer = this.buffer;\n this.buffer = undefined;\n return buffer;\n }\n return this.codecSerializer.flush();\n }\n}\n\nexports.FromStringShapeDeserializer = FromStringShapeDeserializer;\nexports.HttpBindingProtocol = HttpBindingProtocol;\nexports.HttpInterceptingShapeDeserializer = HttpInterceptingShapeDeserializer;\nexports.HttpInterceptingShapeSerializer = HttpInterceptingShapeSerializer;\nexports.HttpProtocol = HttpProtocol;\nexports.RequestBuilder = RequestBuilder;\nexports.RpcProtocol = RpcProtocol;\nexports.SerdeContext = SerdeContext;\nexports.ToStringShapeSerializer = ToStringShapeSerializer;\nexports.collectBody = collectBody;\nexports.determineTimestampFormat = determineTimestampFormat;\nexports.extendedEncodeURIComponent = extendedEncodeURIComponent;\nexports.requestBuilder = requestBuilder;\nexports.resolvedPath = resolvedPath;\n",
|
|
37
|
-
"'use strict';\n\nvar middlewareStack = require('@smithy/middleware-stack');\nvar protocols = require('@smithy/core/protocols');\nvar types = require('@smithy/types');\nvar schema = require('@smithy/core/schema');\nvar serde = require('@smithy/core/serde');\n\nclass Client {\n config;\n middlewareStack = middlewareStack.constructStack();\n initConfig;\n handlers;\n constructor(config) {\n this.config = config;\n const { protocol, protocolSettings } = config;\n if (protocolSettings) {\n if (typeof protocol === \"function\") {\n config.protocol = new protocol(protocolSettings);\n }\n }\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const useHandlerCache = options === undefined && this.config.cacheMiddleware === true;\n let handler;\n if (useHandlerCache) {\n if (!this.handlers) {\n this.handlers = new WeakMap();\n }\n const handlers = this.handlers;\n if (handlers.has(command.constructor)) {\n handler = handlers.get(command.constructor);\n }\n else {\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n handlers.set(command.constructor, handler);\n }\n }\n else {\n delete this.handlers;\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n }\n if (callback) {\n handler(command)\n .then((result) => callback(null, result.output), (err) => callback(err))\n .catch(() => { });\n }\n else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n this.config?.requestHandler?.destroy?.();\n delete this.handlers;\n }\n}\n\nconst SENSITIVE_STRING$1 = \"***SensitiveInformation***\";\nfunction schemaLogFilter(schema$1, data) {\n if (data == null) {\n return data;\n }\n const ns = schema.NormalizedSchema.of(schema$1);\n if (ns.getMergedTraits().sensitive) {\n return SENSITIVE_STRING$1;\n }\n if (ns.isListSchema()) {\n const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING$1;\n }\n }\n else if (ns.isMapSchema()) {\n const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING$1;\n }\n }\n else if (ns.isStructSchema() && typeof data === \"object\") {\n const object = data;\n const newObject = {};\n for (const [member, memberNs] of ns.structIterator()) {\n if (object[member] != null) {\n newObject[member] = schemaLogFilter(memberNs, object[member]);\n }\n }\n return newObject;\n }\n return data;\n}\n\nclass Command {\n middlewareStack = middlewareStack.constructStack();\n schema;\n static classBuilder() {\n return new ClassBuilder();\n }\n resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor, }) {\n for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {\n this.middlewareStack.use(mw);\n }\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n [types.SMITHY_CONTEXT_KEY]: {\n commandInstance: this,\n ...smithyContext,\n },\n ...additionalContext,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n}\nclass ClassBuilder {\n _init = () => { };\n _ep = {};\n _middlewareFn = () => [];\n _commandName = \"\";\n _clientName = \"\";\n _additionalContext = {};\n _smithyContext = {};\n _inputFilterSensitiveLog = undefined;\n _outputFilterSensitiveLog = undefined;\n _serializer = null;\n _deserializer = null;\n _operationSchema;\n init(cb) {\n this._init = cb;\n }\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext,\n };\n return this;\n }\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n sc(operation) {\n this._operationSchema = operation;\n this._smithyContext.operationSchema = operation;\n return this;\n }\n build() {\n const closure = this;\n let CommandRef;\n return (CommandRef = class extends Command {\n input;\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n constructor(...[input]) {\n super();\n this.input = input ?? {};\n closure._init(this);\n this.schema = closure._operationSchema;\n }\n resolveMiddleware(stack, configuration, options) {\n const op = closure._operationSchema;\n const input = op?.[4] ?? op?.input;\n const output = op?.[5] ?? op?.output;\n return this.resolveMiddlewareWithContext(stack, configuration, options, {\n CommandCtor: CommandRef,\n middlewareFn: closure._middlewareFn,\n clientName: closure._clientName,\n commandName: closure._commandName,\n inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, input) : (_) => _),\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, output) : (_) => _),\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n serialize = closure._serializer;\n deserialize = closure._deserializer;\n });\n }\n}\n\nconst SENSITIVE_STRING = \"***SensitiveInformation***\";\n\nconst createAggregatedClient = (commands, Client) => {\n for (const command of Object.keys(commands)) {\n const CommandCtor = commands[command];\n const methodImpl = async function (args, optionsOrCb, cb) {\n const command = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n };\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client.prototype[methodName] = methodImpl;\n }\n};\n\nclass ServiceException extends Error {\n $fault;\n $response;\n $retryable;\n $metadata;\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n static isInstance(value) {\n if (!value)\n return false;\n const candidate = value;\n return (ServiceException.prototype.isPrototypeOf(candidate) ||\n (Boolean(candidate.$fault) &&\n Boolean(candidate.$metadata) &&\n (candidate.$fault === \"client\" || candidate.$fault === \"server\")));\n }\n static [Symbol.hasInstance](instance) {\n if (!instance)\n return false;\n const candidate = instance;\n if (this === ServiceException) {\n return ServiceException.isInstance(instance);\n }\n if (ServiceException.isInstance(instance)) {\n if (candidate.name && this.name) {\n return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;\n }\n return this.prototype.isPrototypeOf(instance);\n }\n return false;\n }\n}\nconst decorateServiceException = (exception, additions = {}) => {\n Object.entries(additions)\n .filter(([, v]) => v !== undefined)\n .forEach(([k, v]) => {\n if (exception[k] == undefined || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n};\n\nconst throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\n const response = new exceptionCtor({\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata,\n });\n throw decorateServiceException(response, parsedBody);\n};\nconst withBaseException = (ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\n\nconst loadConfigsForDefaultMode = (mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100,\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 30000,\n };\n default:\n return {};\n }\n};\n\nlet warningEmitted = false;\nconst emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n }\n};\n\nconst getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in types.AlgorithmId) {\n const algorithmId = types.AlgorithmId[id];\n if (runtimeConfig[algorithmId] === undefined) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: () => algorithmId,\n checksumConstructor: () => runtimeConfig[algorithmId],\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n },\n };\n};\nconst resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n};\n\nconst getRetryConfiguration = (runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.retryStrategy;\n },\n };\n};\nconst resolveRetryRuntimeConfig = (retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n};\n\nconst getDefaultExtensionConfiguration = (runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n};\nconst getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nconst resolveDefaultRuntimeConfig = (config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\n};\n\nconst getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n\nconst getValueFromTextNode = (obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n\nconst isSerializableHeaderValue = (value) => {\n return value != null;\n};\n\nclass NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\n\nfunction map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\n else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n applyInstruction(target, null, instructions, key);\n }\n return target;\n}\nconst convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nconst take = (source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n};\nconst mapWithFilter = (target, filter, instructions) => {\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\nconst applyInstruction = (target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if ((typeof filter === \"function\" && filter(source[sourceKey])) || (typeof filter !== \"function\" && !!filter)) {\n target[targetKey] = valueFn(source[sourceKey]);\n }\n return;\n }\n let [filter, value] = instructions[targetKey];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === undefined && (_value = value()) != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(void 0)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n }\n else if (customFilterPassed) {\n target[targetKey] = value();\n }\n }\n else {\n const defaultFilterPassed = filter === undefined && value != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(value)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed || customFilterPassed) {\n target[targetKey] = value;\n }\n }\n};\nconst nonNullish = (_) => _ != null;\nconst pass = (_) => _;\n\nconst serializeFloat = (value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n};\nconst serializeDateTime = (date) => date.toISOString().replace(\".000Z\", \"Z\");\n\nconst _json = (obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n};\n\nObject.defineProperty(exports, \"collectBody\", {\n enumerable: true,\n get: function () { return protocols.collectBody; }\n});\nObject.defineProperty(exports, \"extendedEncodeURIComponent\", {\n enumerable: true,\n get: function () { return protocols.extendedEncodeURIComponent; }\n});\nObject.defineProperty(exports, \"resolvedPath\", {\n enumerable: true,\n get: function () { return protocols.resolvedPath; }\n});\nexports.Client = Client;\nexports.Command = Command;\nexports.NoOpLogger = NoOpLogger;\nexports.SENSITIVE_STRING = SENSITIVE_STRING;\nexports.ServiceException = ServiceException;\nexports._json = _json;\nexports.convertMap = convertMap;\nexports.createAggregatedClient = createAggregatedClient;\nexports.decorateServiceException = decorateServiceException;\nexports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;\nexports.getArrayIfSingleItem = getArrayIfSingleItem;\nexports.getDefaultClientConfiguration = getDefaultClientConfiguration;\nexports.getDefaultExtensionConfiguration = getDefaultExtensionConfiguration;\nexports.getValueFromTextNode = getValueFromTextNode;\nexports.isSerializableHeaderValue = isSerializableHeaderValue;\nexports.loadConfigsForDefaultMode = loadConfigsForDefaultMode;\nexports.map = map;\nexports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig;\nexports.serializeDateTime = serializeDateTime;\nexports.serializeFloat = serializeFloat;\nexports.take = take;\nexports.throwDefaultError = throwDefaultError;\nexports.withBaseException = withBaseException;\nObject.keys(serde).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return serde[k]; }\n });\n});\n"
|
|
38
|
-
],
|
|
39
|
-
"mappings": "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",
|
|
40
|
-
"debugId": "F81F08B3D3B162AF64756E2164756E21",
|
|
41
|
-
"names": []
|
|
42
|
-
}
|