@smithy/smithy-client
Advanced tools
Comparing version 2.2.1 to 2.3.0
@@ -1,28 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Client = void 0; | ||
const middleware_stack_1 = require("@smithy/middleware-stack"); | ||
class Client { | ||
constructor(config) { | ||
this.middlewareStack = (0, middleware_stack_1.constructStack)(); | ||
this.config = config; | ||
} | ||
send(command, optionsOrCb, cb) { | ||
const options = typeof optionsOrCb !== "function" ? optionsOrCb : undefined; | ||
const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb; | ||
const handler = command.resolveMiddleware(this.middlewareStack, this.config, options); | ||
if (callback) { | ||
handler(command) | ||
.then((result) => callback(null, result.output), (err) => callback(err)) | ||
.catch(() => { }); | ||
} | ||
else { | ||
return handler(command).then((result) => result.output); | ||
} | ||
} | ||
destroy() { | ||
if (this.config.requestHandler.destroy) | ||
this.config.requestHandler.destroy(); | ||
} | ||
} | ||
exports.Client = Client; | ||
module.exports = require("./index.js"); |
@@ -1,15 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.collectBody = void 0; | ||
const util_stream_1 = require("@smithy/util-stream"); | ||
const collectBody = async (streamBody = new Uint8Array(), context) => { | ||
if (streamBody instanceof Uint8Array) { | ||
return util_stream_1.Uint8ArrayBlobAdapter.mutate(streamBody); | ||
} | ||
if (!streamBody) { | ||
return util_stream_1.Uint8ArrayBlobAdapter.mutate(new Uint8Array()); | ||
} | ||
const fromContext = context.streamCollector(streamBody); | ||
return util_stream_1.Uint8ArrayBlobAdapter.mutate(await fromContext); | ||
}; | ||
exports.collectBody = collectBody; | ||
module.exports = require("./index.js"); |
@@ -1,118 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Command = void 0; | ||
const middleware_stack_1 = require("@smithy/middleware-stack"); | ||
const types_1 = require("@smithy/types"); | ||
class Command { | ||
constructor() { | ||
this.middlewareStack = (0, middleware_stack_1.constructStack)(); | ||
} | ||
static classBuilder() { | ||
return new ClassBuilder(); | ||
} | ||
resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor, }) { | ||
for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) { | ||
this.middlewareStack.use(mw); | ||
} | ||
const stack = clientStack.concat(this.middlewareStack); | ||
const { logger } = configuration; | ||
const handlerExecutionContext = { | ||
logger, | ||
clientName, | ||
commandName, | ||
inputFilterSensitiveLog, | ||
outputFilterSensitiveLog, | ||
[types_1.SMITHY_CONTEXT_KEY]: { | ||
...smithyContext, | ||
}, | ||
...additionalContext, | ||
}; | ||
const { requestHandler } = configuration; | ||
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext); | ||
} | ||
} | ||
exports.Command = Command; | ||
class ClassBuilder { | ||
constructor() { | ||
this._init = () => { }; | ||
this._ep = {}; | ||
this._middlewareFn = () => []; | ||
this._commandName = ""; | ||
this._clientName = ""; | ||
this._additionalContext = {}; | ||
this._smithyContext = {}; | ||
this._inputFilterSensitiveLog = (_) => _; | ||
this._outputFilterSensitiveLog = (_) => _; | ||
this._serializer = null; | ||
this._deserializer = null; | ||
} | ||
init(cb) { | ||
this._init = cb; | ||
} | ||
ep(endpointParameterInstructions) { | ||
this._ep = endpointParameterInstructions; | ||
return this; | ||
} | ||
m(middlewareSupplier) { | ||
this._middlewareFn = middlewareSupplier; | ||
return this; | ||
} | ||
s(service, operation, smithyContext = {}) { | ||
this._smithyContext = { | ||
service, | ||
operation, | ||
...smithyContext, | ||
}; | ||
return this; | ||
} | ||
c(additionalContext = {}) { | ||
this._additionalContext = additionalContext; | ||
return this; | ||
} | ||
n(clientName, commandName) { | ||
this._clientName = clientName; | ||
this._commandName = commandName; | ||
return this; | ||
} | ||
f(inputFilter = (_) => _, outputFilter = (_) => _) { | ||
this._inputFilterSensitiveLog = inputFilter; | ||
this._outputFilterSensitiveLog = outputFilter; | ||
return this; | ||
} | ||
ser(serializer) { | ||
this._serializer = serializer; | ||
return this; | ||
} | ||
de(deserializer) { | ||
this._deserializer = deserializer; | ||
return this; | ||
} | ||
build() { | ||
const closure = this; | ||
let CommandRef; | ||
return (CommandRef = class extends Command { | ||
static getEndpointParameterInstructions() { | ||
return closure._ep; | ||
} | ||
constructor(input) { | ||
super(); | ||
this.input = input; | ||
this.serialize = closure._serializer; | ||
this.deserialize = closure._deserializer; | ||
closure._init(this); | ||
} | ||
resolveMiddleware(stack, configuration, options) { | ||
return this.resolveMiddlewareWithContext(stack, configuration, options, { | ||
CommandCtor: CommandRef, | ||
middlewareFn: closure._middlewareFn, | ||
clientName: closure._clientName, | ||
commandName: closure._commandName, | ||
inputFilterSensitiveLog: closure._inputFilterSensitiveLog, | ||
outputFilterSensitiveLog: closure._outputFilterSensitiveLog, | ||
smithyContext: closure._smithyContext, | ||
additionalContext: closure._additionalContext, | ||
}); | ||
} | ||
}); | ||
} | ||
} | ||
module.exports = require("./index.js"); |
@@ -1,4 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.SENSITIVE_STRING = void 0; | ||
exports.SENSITIVE_STRING = "***SensitiveInformation***"; | ||
module.exports = require("./index.js"); |
@@ -1,25 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createAggregatedClient = void 0; | ||
const createAggregatedClient = (commands, Client) => { | ||
for (const command of Object.keys(commands)) { | ||
const CommandCtor = commands[command]; | ||
const methodImpl = async function (args, optionsOrCb, cb) { | ||
const command = new CommandCtor(args); | ||
if (typeof optionsOrCb === "function") { | ||
this.send(command, optionsOrCb); | ||
} | ||
else if (typeof cb === "function") { | ||
if (typeof optionsOrCb !== "object") | ||
throw new Error(`Expected http options but got ${typeof optionsOrCb}`); | ||
this.send(command, optionsOrCb || {}, cb); | ||
} | ||
else { | ||
return this.send(command, optionsOrCb); | ||
} | ||
}; | ||
const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, ""); | ||
Client.prototype[methodName] = methodImpl; | ||
} | ||
}; | ||
exports.createAggregatedClient = createAggregatedClient; | ||
module.exports = require("./index.js"); |
@@ -1,195 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.parseEpochTimestamp = exports.parseRfc7231DateTime = exports.parseRfc3339DateTimeWithOffset = exports.parseRfc3339DateTime = exports.dateToUtcString = void 0; | ||
const parse_utils_1 = require("./parse-utils"); | ||
const DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; | ||
const MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; | ||
function dateToUtcString(date) { | ||
const year = date.getUTCFullYear(); | ||
const month = date.getUTCMonth(); | ||
const dayOfWeek = date.getUTCDay(); | ||
const dayOfMonthInt = date.getUTCDate(); | ||
const hoursInt = date.getUTCHours(); | ||
const minutesInt = date.getUTCMinutes(); | ||
const secondsInt = date.getUTCSeconds(); | ||
const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`; | ||
const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`; | ||
const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`; | ||
const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`; | ||
return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`; | ||
} | ||
exports.dateToUtcString = dateToUtcString; | ||
const RFC3339 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/); | ||
const parseRfc3339DateTime = (value) => { | ||
if (value === null || value === undefined) { | ||
return undefined; | ||
} | ||
if (typeof value !== "string") { | ||
throw new TypeError("RFC-3339 date-times must be expressed as strings"); | ||
} | ||
const match = RFC3339.exec(value); | ||
if (!match) { | ||
throw new TypeError("Invalid RFC-3339 date-time value"); | ||
} | ||
const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match; | ||
const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)); | ||
const month = parseDateValue(monthStr, "month", 1, 12); | ||
const day = parseDateValue(dayStr, "day", 1, 31); | ||
return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds }); | ||
}; | ||
exports.parseRfc3339DateTime = parseRfc3339DateTime; | ||
const RFC3339_WITH_OFFSET = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/); | ||
const parseRfc3339DateTimeWithOffset = (value) => { | ||
if (value === null || value === undefined) { | ||
return undefined; | ||
} | ||
if (typeof value !== "string") { | ||
throw new TypeError("RFC-3339 date-times must be expressed as strings"); | ||
} | ||
const match = RFC3339_WITH_OFFSET.exec(value); | ||
if (!match) { | ||
throw new TypeError("Invalid RFC-3339 date-time value"); | ||
} | ||
const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match; | ||
const year = (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)); | ||
const month = parseDateValue(monthStr, "month", 1, 12); | ||
const day = parseDateValue(dayStr, "day", 1, 31); | ||
const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds }); | ||
if (offsetStr.toUpperCase() != "Z") { | ||
date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr)); | ||
} | ||
return date; | ||
}; | ||
exports.parseRfc3339DateTimeWithOffset = parseRfc3339DateTimeWithOffset; | ||
const IMF_FIXDATE = 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$/); | ||
const RFC_850_DATE = 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$/); | ||
const ASC_TIME = 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})$/); | ||
const parseRfc7231DateTime = (value) => { | ||
if (value === null || value === undefined) { | ||
return undefined; | ||
} | ||
if (typeof value !== "string") { | ||
throw new TypeError("RFC-7231 date-times must be expressed as strings"); | ||
} | ||
let match = IMF_FIXDATE.exec(value); | ||
if (match) { | ||
const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; | ||
return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds }); | ||
} | ||
match = RFC_850_DATE.exec(value); | ||
if (match) { | ||
const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; | ||
return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { | ||
hours, | ||
minutes, | ||
seconds, | ||
fractionalMilliseconds, | ||
})); | ||
} | ||
match = ASC_TIME.exec(value); | ||
if (match) { | ||
const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match; | ||
return buildDate((0, parse_utils_1.strictParseShort)(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds }); | ||
} | ||
throw new TypeError("Invalid RFC-7231 date-time value"); | ||
}; | ||
exports.parseRfc7231DateTime = parseRfc7231DateTime; | ||
const parseEpochTimestamp = (value) => { | ||
if (value === null || value === undefined) { | ||
return undefined; | ||
} | ||
let valueAsDouble; | ||
if (typeof value === "number") { | ||
valueAsDouble = value; | ||
} | ||
else if (typeof value === "string") { | ||
valueAsDouble = (0, parse_utils_1.strictParseDouble)(value); | ||
} | ||
else { | ||
throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation"); | ||
} | ||
if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) { | ||
throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics"); | ||
} | ||
return new Date(Math.round(valueAsDouble * 1000)); | ||
}; | ||
exports.parseEpochTimestamp = parseEpochTimestamp; | ||
const buildDate = (year, month, day, time) => { | ||
const adjustedMonth = month - 1; | ||
validateDayOfMonth(year, adjustedMonth, day); | ||
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))); | ||
}; | ||
const parseTwoDigitYear = (value) => { | ||
const thisYear = new Date().getUTCFullYear(); | ||
const valueInThisCentury = Math.floor(thisYear / 100) * 100 + (0, parse_utils_1.strictParseShort)(stripLeadingZeroes(value)); | ||
if (valueInThisCentury < thisYear) { | ||
return valueInThisCentury + 100; | ||
} | ||
return valueInThisCentury; | ||
}; | ||
const FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000; | ||
const adjustRfc850Year = (input) => { | ||
if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) { | ||
return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds())); | ||
} | ||
return input; | ||
}; | ||
const parseMonthByShortName = (value) => { | ||
const monthIdx = MONTHS.indexOf(value); | ||
if (monthIdx < 0) { | ||
throw new TypeError(`Invalid month: ${value}`); | ||
} | ||
return monthIdx + 1; | ||
}; | ||
const DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; | ||
const validateDayOfMonth = (year, month, day) => { | ||
let maxDays = DAYS_IN_MONTH[month]; | ||
if (month === 1 && isLeapYear(year)) { | ||
maxDays = 29; | ||
} | ||
if (day > maxDays) { | ||
throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`); | ||
} | ||
}; | ||
const isLeapYear = (year) => { | ||
return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); | ||
}; | ||
const parseDateValue = (value, type, lower, upper) => { | ||
const dateVal = (0, parse_utils_1.strictParseByte)(stripLeadingZeroes(value)); | ||
if (dateVal < lower || dateVal > upper) { | ||
throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`); | ||
} | ||
return dateVal; | ||
}; | ||
const parseMilliseconds = (value) => { | ||
if (value === null || value === undefined) { | ||
return 0; | ||
} | ||
return (0, parse_utils_1.strictParseFloat32)("0." + value) * 1000; | ||
}; | ||
const parseOffsetToMilliseconds = (value) => { | ||
const directionStr = value[0]; | ||
let direction = 1; | ||
if (directionStr == "+") { | ||
direction = 1; | ||
} | ||
else if (directionStr == "-") { | ||
direction = -1; | ||
} | ||
else { | ||
throw new TypeError(`Offset direction, ${directionStr}, must be "+" or "-"`); | ||
} | ||
const hour = Number(value.substring(1, 3)); | ||
const minute = Number(value.substring(4, 6)); | ||
return direction * (hour * 60 + minute) * 60 * 1000; | ||
}; | ||
const stripLeadingZeroes = (value) => { | ||
let idx = 0; | ||
while (idx < value.length - 1 && value.charAt(idx) === "0") { | ||
idx++; | ||
} | ||
if (idx === 0) { | ||
return value; | ||
} | ||
return value.slice(idx); | ||
}; | ||
module.exports = require("./index.js"); |
@@ -1,30 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.withBaseException = exports.throwDefaultError = void 0; | ||
const exceptions_1 = require("./exceptions"); | ||
const throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => { | ||
const $metadata = deserializeMetadata(output); | ||
const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + "" : undefined; | ||
const response = new exceptionCtor({ | ||
name: (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.code) || (parsedBody === null || parsedBody === void 0 ? void 0 : parsedBody.Code) || errorCode || statusCode || "UnknownError", | ||
$fault: "client", | ||
$metadata, | ||
}); | ||
throw (0, exceptions_1.decorateServiceException)(response, parsedBody); | ||
}; | ||
exports.throwDefaultError = throwDefaultError; | ||
const withBaseException = (ExceptionCtor) => { | ||
return ({ output, parsedBody, errorCode }) => { | ||
(0, exports.throwDefaultError)({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode }); | ||
}; | ||
}; | ||
exports.withBaseException = withBaseException; | ||
const deserializeMetadata = (output) => { | ||
var _a, _b; | ||
return ({ | ||
httpStatusCode: output.statusCode, | ||
requestId: (_b = (_a = output.headers["x-amzn-requestid"]) !== null && _a !== void 0 ? _a : output.headers["x-amzn-request-id"]) !== null && _b !== void 0 ? _b : output.headers["x-amz-request-id"], | ||
extendedRequestId: output.headers["x-amz-id-2"], | ||
cfId: output.headers["x-amz-cf-id"], | ||
}); | ||
}; | ||
module.exports = require("./index.js"); |
@@ -1,30 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.loadConfigsForDefaultMode = void 0; | ||
const loadConfigsForDefaultMode = (mode) => { | ||
switch (mode) { | ||
case "standard": | ||
return { | ||
retryMode: "standard", | ||
connectionTimeout: 3100, | ||
}; | ||
case "in-region": | ||
return { | ||
retryMode: "standard", | ||
connectionTimeout: 1100, | ||
}; | ||
case "cross-region": | ||
return { | ||
retryMode: "standard", | ||
connectionTimeout: 3100, | ||
}; | ||
case "mobile": | ||
return { | ||
retryMode: "standard", | ||
connectionTimeout: 30000, | ||
}; | ||
default: | ||
return {}; | ||
} | ||
}; | ||
exports.loadConfigsForDefaultMode = loadConfigsForDefaultMode; | ||
module.exports = require("./index.js"); |
@@ -1,10 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.emitWarningIfUnsupportedVersion = void 0; | ||
let warningEmitted = false; | ||
const emitWarningIfUnsupportedVersion = (version) => { | ||
if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf("."))) < 14) { | ||
warningEmitted = true; | ||
} | ||
}; | ||
exports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion; | ||
module.exports = require("./index.js"); |
@@ -1,27 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.decorateServiceException = exports.ServiceException = void 0; | ||
class ServiceException extends Error { | ||
constructor(options) { | ||
super(options.message); | ||
Object.setPrototypeOf(this, ServiceException.prototype); | ||
this.name = options.name; | ||
this.$fault = options.$fault; | ||
this.$metadata = options.$metadata; | ||
} | ||
} | ||
exports.ServiceException = ServiceException; | ||
const decorateServiceException = (exception, additions = {}) => { | ||
Object.entries(additions) | ||
.filter(([, v]) => v !== undefined) | ||
.forEach(([k, v]) => { | ||
if (exception[k] == undefined || exception[k] === "") { | ||
exception[k] = v; | ||
} | ||
}); | ||
const message = exception.message || exception.Message || "UnknownError"; | ||
exception.message = message; | ||
delete exception.Message; | ||
return exception; | ||
}; | ||
exports.decorateServiceException = decorateServiceException; | ||
module.exports = require("./index.js"); |
@@ -1,9 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.extendedEncodeURIComponent = void 0; | ||
function extendedEncodeURIComponent(str) { | ||
return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { | ||
return "%" + c.charCodeAt(0).toString(16).toUpperCase(); | ||
}); | ||
} | ||
exports.extendedEncodeURIComponent = extendedEncodeURIComponent; | ||
module.exports = require("./index.js"); |
@@ -1,36 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.resolveChecksumRuntimeConfig = exports.getChecksumConfiguration = exports.AlgorithmId = void 0; | ||
const types_1 = require("@smithy/types"); | ||
Object.defineProperty(exports, "AlgorithmId", { enumerable: true, get: function () { return types_1.AlgorithmId; } }); | ||
const getChecksumConfiguration = (runtimeConfig) => { | ||
const checksumAlgorithms = []; | ||
for (const id in types_1.AlgorithmId) { | ||
const algorithmId = types_1.AlgorithmId[id]; | ||
if (runtimeConfig[algorithmId] === undefined) { | ||
continue; | ||
} | ||
checksumAlgorithms.push({ | ||
algorithmId: () => algorithmId, | ||
checksumConstructor: () => runtimeConfig[algorithmId], | ||
}); | ||
} | ||
return { | ||
_checksumAlgorithms: checksumAlgorithms, | ||
addChecksumAlgorithm(algo) { | ||
this._checksumAlgorithms.push(algo); | ||
}, | ||
checksumAlgorithms() { | ||
return this._checksumAlgorithms; | ||
}, | ||
}; | ||
}; | ||
exports.getChecksumConfiguration = getChecksumConfiguration; | ||
const resolveChecksumRuntimeConfig = (clientConfig) => { | ||
const runtimeConfig = {}; | ||
clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => { | ||
runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor(); | ||
}); | ||
return runtimeConfig; | ||
}; | ||
exports.resolveChecksumRuntimeConfig = resolveChecksumRuntimeConfig; | ||
module.exports = require("../index.js"); |
@@ -1,20 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.resolveDefaultRuntimeConfig = exports.getDefaultClientConfiguration = exports.getDefaultExtensionConfiguration = void 0; | ||
const checksum_1 = require("./checksum"); | ||
const retry_1 = require("./retry"); | ||
const getDefaultExtensionConfiguration = (runtimeConfig) => { | ||
return { | ||
...(0, checksum_1.getChecksumConfiguration)(runtimeConfig), | ||
...(0, retry_1.getRetryConfiguration)(runtimeConfig), | ||
}; | ||
}; | ||
exports.getDefaultExtensionConfiguration = getDefaultExtensionConfiguration; | ||
exports.getDefaultClientConfiguration = exports.getDefaultExtensionConfiguration; | ||
const resolveDefaultRuntimeConfig = (config) => { | ||
return { | ||
...(0, checksum_1.resolveChecksumRuntimeConfig)(config), | ||
...(0, retry_1.resolveRetryRuntimeConfig)(config), | ||
}; | ||
}; | ||
exports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig; | ||
module.exports = require("../index.js"); |
@@ -1,4 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const tslib_1 = require("tslib"); | ||
tslib_1.__exportStar(require("./defaultExtensionConfiguration"), exports); | ||
module.exports = require("../index.js"); |
@@ -1,21 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.resolveRetryRuntimeConfig = exports.getRetryConfiguration = void 0; | ||
const getRetryConfiguration = (runtimeConfig) => { | ||
let _retryStrategy = runtimeConfig.retryStrategy; | ||
return { | ||
setRetryStrategy(retryStrategy) { | ||
_retryStrategy = retryStrategy; | ||
}, | ||
retryStrategy() { | ||
return _retryStrategy; | ||
}, | ||
}; | ||
}; | ||
exports.getRetryConfiguration = getRetryConfiguration; | ||
const resolveRetryRuntimeConfig = (retryStrategyConfiguration) => { | ||
const runtimeConfig = {}; | ||
runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy(); | ||
return runtimeConfig; | ||
}; | ||
exports.resolveRetryRuntimeConfig = resolveRetryRuntimeConfig; | ||
module.exports = require("../index.js"); |
@@ -1,5 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getArrayIfSingleItem = void 0; | ||
const getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray]; | ||
exports.getArrayIfSingleItem = getArrayIfSingleItem; | ||
module.exports = require("./index.js"); |
@@ -1,16 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getValueFromTextNode = void 0; | ||
const getValueFromTextNode = (obj) => { | ||
const textNodeName = "#text"; | ||
for (const key in obj) { | ||
if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) { | ||
obj[key] = obj[key][textNodeName]; | ||
} | ||
else if (typeof obj[key] === "object" && obj[key] !== null) { | ||
obj[key] = (0, exports.getValueFromTextNode)(obj[key]); | ||
} | ||
} | ||
return obj; | ||
}; | ||
exports.getValueFromTextNode = getValueFromTextNode; | ||
module.exports = require("./index.js"); |
@@ -1,25 +0,1254 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const tslib_1 = require("tslib"); | ||
tslib_1.__exportStar(require("./NoOpLogger"), exports); | ||
tslib_1.__exportStar(require("./client"), exports); | ||
tslib_1.__exportStar(require("./collect-stream-body"), exports); | ||
tslib_1.__exportStar(require("./command"), exports); | ||
tslib_1.__exportStar(require("./constants"), exports); | ||
tslib_1.__exportStar(require("./create-aggregated-client"), exports); | ||
tslib_1.__exportStar(require("./date-utils"), exports); | ||
tslib_1.__exportStar(require("./default-error-handler"), exports); | ||
tslib_1.__exportStar(require("./defaults-mode"), exports); | ||
tslib_1.__exportStar(require("./emitWarningIfUnsupportedVersion"), exports); | ||
tslib_1.__exportStar(require("./extensions"), exports); | ||
tslib_1.__exportStar(require("./exceptions"), exports); | ||
tslib_1.__exportStar(require("./extended-encode-uri-component"), exports); | ||
tslib_1.__exportStar(require("./get-array-if-single-item"), exports); | ||
tslib_1.__exportStar(require("./get-value-from-text-node"), exports); | ||
tslib_1.__exportStar(require("./lazy-json"), exports); | ||
tslib_1.__exportStar(require("./object-mapping"), exports); | ||
tslib_1.__exportStar(require("./parse-utils"), exports); | ||
tslib_1.__exportStar(require("./resolve-path"), exports); | ||
tslib_1.__exportStar(require("./ser-utils"), exports); | ||
tslib_1.__exportStar(require("./serde-json"), exports); | ||
tslib_1.__exportStar(require("./split-every"), exports); | ||
var __defProp = Object.defineProperty; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); | ||
var __export = (target, all) => { | ||
for (var name in all) | ||
__defProp(target, name, { get: all[name], enumerable: true }); | ||
}; | ||
var __copyProps = (to, from, except, desc) => { | ||
if (from && typeof from === "object" || typeof from === "function") { | ||
for (let key of __getOwnPropNames(from)) | ||
if (!__hasOwnProp.call(to, key) && key !== except) | ||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
} | ||
return to; | ||
}; | ||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
// src/index.ts | ||
var src_exports = {}; | ||
__export(src_exports, { | ||
Client: () => Client, | ||
Command: () => Command, | ||
LazyJsonString: () => LazyJsonString, | ||
NoOpLogger: () => NoOpLogger, | ||
SENSITIVE_STRING: () => SENSITIVE_STRING, | ||
ServiceException: () => ServiceException, | ||
StringWrapper: () => StringWrapper, | ||
_json: () => _json, | ||
collectBody: () => collectBody, | ||
convertMap: () => convertMap, | ||
createAggregatedClient: () => createAggregatedClient, | ||
dateToUtcString: () => dateToUtcString, | ||
decorateServiceException: () => decorateServiceException, | ||
emitWarningIfUnsupportedVersion: () => emitWarningIfUnsupportedVersion, | ||
expectBoolean: () => expectBoolean, | ||
expectByte: () => expectByte, | ||
expectFloat32: () => expectFloat32, | ||
expectInt: () => expectInt, | ||
expectInt32: () => expectInt32, | ||
expectLong: () => expectLong, | ||
expectNonNull: () => expectNonNull, | ||
expectNumber: () => expectNumber, | ||
expectObject: () => expectObject, | ||
expectShort: () => expectShort, | ||
expectString: () => expectString, | ||
expectUnion: () => expectUnion, | ||
extendedEncodeURIComponent: () => extendedEncodeURIComponent, | ||
getArrayIfSingleItem: () => getArrayIfSingleItem, | ||
getDefaultClientConfiguration: () => getDefaultClientConfiguration, | ||
getDefaultExtensionConfiguration: () => getDefaultExtensionConfiguration, | ||
getValueFromTextNode: () => getValueFromTextNode, | ||
handleFloat: () => handleFloat, | ||
limitedParseDouble: () => limitedParseDouble, | ||
limitedParseFloat: () => limitedParseFloat, | ||
limitedParseFloat32: () => limitedParseFloat32, | ||
loadConfigsForDefaultMode: () => loadConfigsForDefaultMode, | ||
logger: () => logger, | ||
map: () => map, | ||
parseBoolean: () => parseBoolean, | ||
parseEpochTimestamp: () => parseEpochTimestamp, | ||
parseRfc3339DateTime: () => parseRfc3339DateTime, | ||
parseRfc3339DateTimeWithOffset: () => parseRfc3339DateTimeWithOffset, | ||
parseRfc7231DateTime: () => parseRfc7231DateTime, | ||
resolveDefaultRuntimeConfig: () => resolveDefaultRuntimeConfig, | ||
resolvedPath: () => resolvedPath, | ||
serializeFloat: () => serializeFloat, | ||
splitEvery: () => splitEvery, | ||
strictParseByte: () => strictParseByte, | ||
strictParseDouble: () => strictParseDouble, | ||
strictParseFloat: () => strictParseFloat, | ||
strictParseFloat32: () => strictParseFloat32, | ||
strictParseInt: () => strictParseInt, | ||
strictParseInt32: () => strictParseInt32, | ||
strictParseLong: () => strictParseLong, | ||
strictParseShort: () => strictParseShort, | ||
take: () => take, | ||
throwDefaultError: () => throwDefaultError, | ||
withBaseException: () => withBaseException | ||
}); | ||
module.exports = __toCommonJS(src_exports); | ||
// src/NoOpLogger.ts | ||
var _NoOpLogger = class _NoOpLogger { | ||
trace() { | ||
} | ||
debug() { | ||
} | ||
info() { | ||
} | ||
warn() { | ||
} | ||
error() { | ||
} | ||
}; | ||
__name(_NoOpLogger, "NoOpLogger"); | ||
var NoOpLogger = _NoOpLogger; | ||
// src/client.ts | ||
var import_middleware_stack = require("@smithy/middleware-stack"); | ||
var _Client = class _Client { | ||
constructor(config) { | ||
this.middlewareStack = (0, import_middleware_stack.constructStack)(); | ||
this.config = config; | ||
} | ||
send(command, optionsOrCb, cb) { | ||
const options = typeof optionsOrCb !== "function" ? optionsOrCb : void 0; | ||
const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb; | ||
const handler = command.resolveMiddleware(this.middlewareStack, this.config, options); | ||
if (callback) { | ||
handler(command).then( | ||
(result) => callback(null, result.output), | ||
(err) => callback(err) | ||
).catch( | ||
// prevent any errors thrown in the callback from triggering an | ||
// unhandled promise rejection | ||
() => { | ||
} | ||
); | ||
} else { | ||
return handler(command).then((result) => result.output); | ||
} | ||
} | ||
destroy() { | ||
if (this.config.requestHandler.destroy) | ||
this.config.requestHandler.destroy(); | ||
} | ||
}; | ||
__name(_Client, "Client"); | ||
var Client = _Client; | ||
// src/collect-stream-body.ts | ||
var import_util_stream = require("@smithy/util-stream"); | ||
var collectBody = /* @__PURE__ */ __name(async (streamBody = new Uint8Array(), context) => { | ||
if (streamBody instanceof Uint8Array) { | ||
return import_util_stream.Uint8ArrayBlobAdapter.mutate(streamBody); | ||
} | ||
if (!streamBody) { | ||
return import_util_stream.Uint8ArrayBlobAdapter.mutate(new Uint8Array()); | ||
} | ||
const fromContext = context.streamCollector(streamBody); | ||
return import_util_stream.Uint8ArrayBlobAdapter.mutate(await fromContext); | ||
}, "collectBody"); | ||
// src/command.ts | ||
var import_types = require("@smithy/types"); | ||
var _Command = class _Command { | ||
constructor() { | ||
this.middlewareStack = (0, import_middleware_stack.constructStack)(); | ||
} | ||
/** | ||
* Factory for Command ClassBuilder. | ||
* @internal | ||
*/ | ||
static classBuilder() { | ||
return new ClassBuilder(); | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
resolveMiddlewareWithContext(clientStack, configuration, options, { | ||
middlewareFn, | ||
clientName, | ||
commandName, | ||
inputFilterSensitiveLog, | ||
outputFilterSensitiveLog, | ||
smithyContext, | ||
additionalContext, | ||
CommandCtor | ||
}) { | ||
for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) { | ||
this.middlewareStack.use(mw); | ||
} | ||
const stack = clientStack.concat(this.middlewareStack); | ||
const { logger: logger2 } = configuration; | ||
const handlerExecutionContext = { | ||
logger: logger2, | ||
clientName, | ||
commandName, | ||
inputFilterSensitiveLog, | ||
outputFilterSensitiveLog, | ||
[import_types.SMITHY_CONTEXT_KEY]: { | ||
...smithyContext | ||
}, | ||
...additionalContext | ||
}; | ||
const { requestHandler } = configuration; | ||
return stack.resolve( | ||
(request) => requestHandler.handle(request.request, options || {}), | ||
handlerExecutionContext | ||
); | ||
} | ||
}; | ||
__name(_Command, "Command"); | ||
var Command = _Command; | ||
var _ClassBuilder = class _ClassBuilder { | ||
constructor() { | ||
this._init = () => { | ||
}; | ||
this._ep = {}; | ||
this._middlewareFn = () => []; | ||
this._commandName = ""; | ||
this._clientName = ""; | ||
this._additionalContext = {}; | ||
this._smithyContext = {}; | ||
this._inputFilterSensitiveLog = (_) => _; | ||
this._outputFilterSensitiveLog = (_) => _; | ||
this._serializer = null; | ||
this._deserializer = null; | ||
} | ||
/** | ||
* Optional init callback. | ||
*/ | ||
init(cb) { | ||
this._init = cb; | ||
} | ||
/** | ||
* Set the endpoint parameter instructions. | ||
*/ | ||
ep(endpointParameterInstructions) { | ||
this._ep = endpointParameterInstructions; | ||
return this; | ||
} | ||
/** | ||
* Add any number of middleware. | ||
*/ | ||
m(middlewareSupplier) { | ||
this._middlewareFn = middlewareSupplier; | ||
return this; | ||
} | ||
/** | ||
* Set the initial handler execution context Smithy field. | ||
*/ | ||
s(service, operation, smithyContext = {}) { | ||
this._smithyContext = { | ||
service, | ||
operation, | ||
...smithyContext | ||
}; | ||
return this; | ||
} | ||
/** | ||
* Set the initial handler execution context. | ||
*/ | ||
c(additionalContext = {}) { | ||
this._additionalContext = additionalContext; | ||
return this; | ||
} | ||
/** | ||
* Set constant string identifiers for the operation. | ||
*/ | ||
n(clientName, commandName) { | ||
this._clientName = clientName; | ||
this._commandName = commandName; | ||
return this; | ||
} | ||
/** | ||
* Set the input and output sensistive log filters. | ||
*/ | ||
f(inputFilter = (_) => _, outputFilter = (_) => _) { | ||
this._inputFilterSensitiveLog = inputFilter; | ||
this._outputFilterSensitiveLog = outputFilter; | ||
return this; | ||
} | ||
/** | ||
* Sets the serializer. | ||
*/ | ||
ser(serializer) { | ||
this._serializer = serializer; | ||
return this; | ||
} | ||
/** | ||
* Sets the deserializer. | ||
*/ | ||
de(deserializer) { | ||
this._deserializer = deserializer; | ||
return this; | ||
} | ||
/** | ||
* @returns a Command class with the classBuilder properties. | ||
*/ | ||
build() { | ||
var _a; | ||
const closure = this; | ||
let CommandRef; | ||
return CommandRef = (_a = class extends Command { | ||
/** | ||
* @public | ||
*/ | ||
constructor(input) { | ||
super(); | ||
this.input = input; | ||
/** | ||
* @internal | ||
*/ | ||
// @ts-ignore used in middlewareFn closure. | ||
this.serialize = closure._serializer; | ||
/** | ||
* @internal | ||
*/ | ||
// @ts-ignore used in middlewareFn closure. | ||
this.deserialize = closure._deserializer; | ||
closure._init(this); | ||
} | ||
/** | ||
* @public | ||
*/ | ||
static getEndpointParameterInstructions() { | ||
return closure._ep; | ||
} | ||
/** | ||
* @internal | ||
*/ | ||
resolveMiddleware(stack, configuration, options) { | ||
return this.resolveMiddlewareWithContext(stack, configuration, options, { | ||
CommandCtor: CommandRef, | ||
middlewareFn: closure._middlewareFn, | ||
clientName: closure._clientName, | ||
commandName: closure._commandName, | ||
inputFilterSensitiveLog: closure._inputFilterSensitiveLog, | ||
outputFilterSensitiveLog: closure._outputFilterSensitiveLog, | ||
smithyContext: closure._smithyContext, | ||
additionalContext: closure._additionalContext | ||
}); | ||
} | ||
}, __name(_a, "CommandRef"), _a); | ||
} | ||
}; | ||
__name(_ClassBuilder, "ClassBuilder"); | ||
var ClassBuilder = _ClassBuilder; | ||
// src/constants.ts | ||
var SENSITIVE_STRING = "***SensitiveInformation***"; | ||
// src/create-aggregated-client.ts | ||
var createAggregatedClient = /* @__PURE__ */ __name((commands, Client2) => { | ||
for (const command of Object.keys(commands)) { | ||
const CommandCtor = commands[command]; | ||
const methodImpl = /* @__PURE__ */ __name(async function(args, optionsOrCb, cb) { | ||
const command2 = new CommandCtor(args); | ||
if (typeof optionsOrCb === "function") { | ||
this.send(command2, optionsOrCb); | ||
} else if (typeof cb === "function") { | ||
if (typeof optionsOrCb !== "object") | ||
throw new Error(`Expected http options but got ${typeof optionsOrCb}`); | ||
this.send(command2, optionsOrCb || {}, cb); | ||
} else { | ||
return this.send(command2, optionsOrCb); | ||
} | ||
}, "methodImpl"); | ||
const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, ""); | ||
Client2.prototype[methodName] = methodImpl; | ||
} | ||
}, "createAggregatedClient"); | ||
// src/parse-utils.ts | ||
var parseBoolean = /* @__PURE__ */ __name((value) => { | ||
switch (value) { | ||
case "true": | ||
return true; | ||
case "false": | ||
return false; | ||
default: | ||
throw new Error(`Unable to parse boolean value "${value}"`); | ||
} | ||
}, "parseBoolean"); | ||
var expectBoolean = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return void 0; | ||
} | ||
if (typeof value === "number") { | ||
if (value === 0 || value === 1) { | ||
logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); | ||
} | ||
if (value === 0) { | ||
return false; | ||
} | ||
if (value === 1) { | ||
return true; | ||
} | ||
} | ||
if (typeof value === "string") { | ||
const lower = value.toLowerCase(); | ||
if (lower === "false" || lower === "true") { | ||
logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); | ||
} | ||
if (lower === "false") { | ||
return false; | ||
} | ||
if (lower === "true") { | ||
return true; | ||
} | ||
} | ||
if (typeof value === "boolean") { | ||
return value; | ||
} | ||
throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`); | ||
}, "expectBoolean"); | ||
var expectNumber = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return void 0; | ||
} | ||
if (typeof value === "string") { | ||
const parsed = parseFloat(value); | ||
if (!Number.isNaN(parsed)) { | ||
if (String(parsed) !== String(value)) { | ||
logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`)); | ||
} | ||
return parsed; | ||
} | ||
} | ||
if (typeof value === "number") { | ||
return value; | ||
} | ||
throw new TypeError(`Expected number, got ${typeof value}: ${value}`); | ||
}, "expectNumber"); | ||
var MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23)); | ||
var expectFloat32 = /* @__PURE__ */ __name((value) => { | ||
const expected = expectNumber(value); | ||
if (expected !== void 0 && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) { | ||
if (Math.abs(expected) > MAX_FLOAT) { | ||
throw new TypeError(`Expected 32-bit float, got ${value}`); | ||
} | ||
} | ||
return expected; | ||
}, "expectFloat32"); | ||
var expectLong = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return void 0; | ||
} | ||
if (Number.isInteger(value) && !Number.isNaN(value)) { | ||
return value; | ||
} | ||
throw new TypeError(`Expected integer, got ${typeof value}: ${value}`); | ||
}, "expectLong"); | ||
var expectInt = expectLong; | ||
var expectInt32 = /* @__PURE__ */ __name((value) => expectSizedInt(value, 32), "expectInt32"); | ||
var expectShort = /* @__PURE__ */ __name((value) => expectSizedInt(value, 16), "expectShort"); | ||
var expectByte = /* @__PURE__ */ __name((value) => expectSizedInt(value, 8), "expectByte"); | ||
var expectSizedInt = /* @__PURE__ */ __name((value, size) => { | ||
const expected = expectLong(value); | ||
if (expected !== void 0 && castInt(expected, size) !== expected) { | ||
throw new TypeError(`Expected ${size}-bit integer, got ${value}`); | ||
} | ||
return expected; | ||
}, "expectSizedInt"); | ||
var castInt = /* @__PURE__ */ __name((value, size) => { | ||
switch (size) { | ||
case 32: | ||
return Int32Array.of(value)[0]; | ||
case 16: | ||
return Int16Array.of(value)[0]; | ||
case 8: | ||
return Int8Array.of(value)[0]; | ||
} | ||
}, "castInt"); | ||
var expectNonNull = /* @__PURE__ */ __name((value, location) => { | ||
if (value === null || value === void 0) { | ||
if (location) { | ||
throw new TypeError(`Expected a non-null value for ${location}`); | ||
} | ||
throw new TypeError("Expected a non-null value"); | ||
} | ||
return value; | ||
}, "expectNonNull"); | ||
var expectObject = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return void 0; | ||
} | ||
if (typeof value === "object" && !Array.isArray(value)) { | ||
return value; | ||
} | ||
const receivedType = Array.isArray(value) ? "array" : typeof value; | ||
throw new TypeError(`Expected object, got ${receivedType}: ${value}`); | ||
}, "expectObject"); | ||
var expectString = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return void 0; | ||
} | ||
if (typeof value === "string") { | ||
return value; | ||
} | ||
if (["boolean", "number", "bigint"].includes(typeof value)) { | ||
logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`)); | ||
return String(value); | ||
} | ||
throw new TypeError(`Expected string, got ${typeof value}: ${value}`); | ||
}, "expectString"); | ||
var expectUnion = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return void 0; | ||
} | ||
const asObject = expectObject(value); | ||
const setKeys = Object.entries(asObject).filter(([, v]) => v != null).map(([k]) => k); | ||
if (setKeys.length === 0) { | ||
throw new TypeError(`Unions must have exactly one non-null member. None were found.`); | ||
} | ||
if (setKeys.length > 1) { | ||
throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`); | ||
} | ||
return asObject; | ||
}, "expectUnion"); | ||
var strictParseDouble = /* @__PURE__ */ __name((value) => { | ||
if (typeof value == "string") { | ||
return expectNumber(parseNumber(value)); | ||
} | ||
return expectNumber(value); | ||
}, "strictParseDouble"); | ||
var strictParseFloat = strictParseDouble; | ||
var strictParseFloat32 = /* @__PURE__ */ __name((value) => { | ||
if (typeof value == "string") { | ||
return expectFloat32(parseNumber(value)); | ||
} | ||
return expectFloat32(value); | ||
}, "strictParseFloat32"); | ||
var NUMBER_REGEX = /(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g; | ||
var parseNumber = /* @__PURE__ */ __name((value) => { | ||
const matches = value.match(NUMBER_REGEX); | ||
if (matches === null || matches[0].length !== value.length) { | ||
throw new TypeError(`Expected real number, got implicit NaN`); | ||
} | ||
return parseFloat(value); | ||
}, "parseNumber"); | ||
var limitedParseDouble = /* @__PURE__ */ __name((value) => { | ||
if (typeof value == "string") { | ||
return parseFloatString(value); | ||
} | ||
return expectNumber(value); | ||
}, "limitedParseDouble"); | ||
var handleFloat = limitedParseDouble; | ||
var limitedParseFloat = limitedParseDouble; | ||
var limitedParseFloat32 = /* @__PURE__ */ __name((value) => { | ||
if (typeof value == "string") { | ||
return parseFloatString(value); | ||
} | ||
return expectFloat32(value); | ||
}, "limitedParseFloat32"); | ||
var parseFloatString = /* @__PURE__ */ __name((value) => { | ||
switch (value) { | ||
case "NaN": | ||
return NaN; | ||
case "Infinity": | ||
return Infinity; | ||
case "-Infinity": | ||
return -Infinity; | ||
default: | ||
throw new Error(`Unable to parse float value: ${value}`); | ||
} | ||
}, "parseFloatString"); | ||
var strictParseLong = /* @__PURE__ */ __name((value) => { | ||
if (typeof value === "string") { | ||
return expectLong(parseNumber(value)); | ||
} | ||
return expectLong(value); | ||
}, "strictParseLong"); | ||
var strictParseInt = strictParseLong; | ||
var strictParseInt32 = /* @__PURE__ */ __name((value) => { | ||
if (typeof value === "string") { | ||
return expectInt32(parseNumber(value)); | ||
} | ||
return expectInt32(value); | ||
}, "strictParseInt32"); | ||
var strictParseShort = /* @__PURE__ */ __name((value) => { | ||
if (typeof value === "string") { | ||
return expectShort(parseNumber(value)); | ||
} | ||
return expectShort(value); | ||
}, "strictParseShort"); | ||
var strictParseByte = /* @__PURE__ */ __name((value) => { | ||
if (typeof value === "string") { | ||
return expectByte(parseNumber(value)); | ||
} | ||
return expectByte(value); | ||
}, "strictParseByte"); | ||
var stackTraceWarning = /* @__PURE__ */ __name((message) => { | ||
return String(new TypeError(message).stack || message).split("\n").slice(0, 5).filter((s) => !s.includes("stackTraceWarning")).join("\n"); | ||
}, "stackTraceWarning"); | ||
var logger = { | ||
warn: console.warn | ||
}; | ||
// src/date-utils.ts | ||
var DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; | ||
var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; | ||
function dateToUtcString(date) { | ||
const year = date.getUTCFullYear(); | ||
const month = date.getUTCMonth(); | ||
const dayOfWeek = date.getUTCDay(); | ||
const dayOfMonthInt = date.getUTCDate(); | ||
const hoursInt = date.getUTCHours(); | ||
const minutesInt = date.getUTCMinutes(); | ||
const secondsInt = date.getUTCSeconds(); | ||
const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`; | ||
const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`; | ||
const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`; | ||
const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`; | ||
return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`; | ||
} | ||
__name(dateToUtcString, "dateToUtcString"); | ||
var RFC3339 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/); | ||
var parseRfc3339DateTime = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return void 0; | ||
} | ||
if (typeof value !== "string") { | ||
throw new TypeError("RFC-3339 date-times must be expressed as strings"); | ||
} | ||
const match = RFC3339.exec(value); | ||
if (!match) { | ||
throw new TypeError("Invalid RFC-3339 date-time value"); | ||
} | ||
const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match; | ||
const year = strictParseShort(stripLeadingZeroes(yearStr)); | ||
const month = parseDateValue(monthStr, "month", 1, 12); | ||
const day = parseDateValue(dayStr, "day", 1, 31); | ||
return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds }); | ||
}, "parseRfc3339DateTime"); | ||
var RFC3339_WITH_OFFSET = new RegExp( | ||
/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/ | ||
); | ||
var parseRfc3339DateTimeWithOffset = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return void 0; | ||
} | ||
if (typeof value !== "string") { | ||
throw new TypeError("RFC-3339 date-times must be expressed as strings"); | ||
} | ||
const match = RFC3339_WITH_OFFSET.exec(value); | ||
if (!match) { | ||
throw new TypeError("Invalid RFC-3339 date-time value"); | ||
} | ||
const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match; | ||
const year = strictParseShort(stripLeadingZeroes(yearStr)); | ||
const month = parseDateValue(monthStr, "month", 1, 12); | ||
const day = parseDateValue(dayStr, "day", 1, 31); | ||
const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds }); | ||
if (offsetStr.toUpperCase() != "Z") { | ||
date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr)); | ||
} | ||
return date; | ||
}, "parseRfc3339DateTimeWithOffset"); | ||
var IMF_FIXDATE = 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$/ | ||
); | ||
var RFC_850_DATE = 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$/ | ||
); | ||
var ASC_TIME = 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})$/ | ||
); | ||
var parseRfc7231DateTime = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return void 0; | ||
} | ||
if (typeof value !== "string") { | ||
throw new TypeError("RFC-7231 date-times must be expressed as strings"); | ||
} | ||
let match = IMF_FIXDATE.exec(value); | ||
if (match) { | ||
const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; | ||
return buildDate( | ||
strictParseShort(stripLeadingZeroes(yearStr)), | ||
parseMonthByShortName(monthStr), | ||
parseDateValue(dayStr, "day", 1, 31), | ||
{ hours, minutes, seconds, fractionalMilliseconds } | ||
); | ||
} | ||
match = RFC_850_DATE.exec(value); | ||
if (match) { | ||
const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match; | ||
return adjustRfc850Year( | ||
buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { | ||
hours, | ||
minutes, | ||
seconds, | ||
fractionalMilliseconds | ||
}) | ||
); | ||
} | ||
match = ASC_TIME.exec(value); | ||
if (match) { | ||
const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match; | ||
return buildDate( | ||
strictParseShort(stripLeadingZeroes(yearStr)), | ||
parseMonthByShortName(monthStr), | ||
parseDateValue(dayStr.trimLeft(), "day", 1, 31), | ||
{ hours, minutes, seconds, fractionalMilliseconds } | ||
); | ||
} | ||
throw new TypeError("Invalid RFC-7231 date-time value"); | ||
}, "parseRfc7231DateTime"); | ||
var parseEpochTimestamp = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return void 0; | ||
} | ||
let valueAsDouble; | ||
if (typeof value === "number") { | ||
valueAsDouble = value; | ||
} else if (typeof value === "string") { | ||
valueAsDouble = strictParseDouble(value); | ||
} else { | ||
throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation"); | ||
} | ||
if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) { | ||
throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics"); | ||
} | ||
return new Date(Math.round(valueAsDouble * 1e3)); | ||
}, "parseEpochTimestamp"); | ||
var buildDate = /* @__PURE__ */ __name((year, month, day, time) => { | ||
const adjustedMonth = month - 1; | ||
validateDayOfMonth(year, adjustedMonth, day); | ||
return new Date( | ||
Date.UTC( | ||
year, | ||
adjustedMonth, | ||
day, | ||
parseDateValue(time.hours, "hour", 0, 23), | ||
parseDateValue(time.minutes, "minute", 0, 59), | ||
// seconds can go up to 60 for leap seconds | ||
parseDateValue(time.seconds, "seconds", 0, 60), | ||
parseMilliseconds(time.fractionalMilliseconds) | ||
) | ||
); | ||
}, "buildDate"); | ||
var parseTwoDigitYear = /* @__PURE__ */ __name((value) => { | ||
const thisYear = (/* @__PURE__ */ new Date()).getUTCFullYear(); | ||
const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value)); | ||
if (valueInThisCentury < thisYear) { | ||
return valueInThisCentury + 100; | ||
} | ||
return valueInThisCentury; | ||
}, "parseTwoDigitYear"); | ||
var FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1e3; | ||
var adjustRfc850Year = /* @__PURE__ */ __name((input) => { | ||
if (input.getTime() - (/* @__PURE__ */ new Date()).getTime() > FIFTY_YEARS_IN_MILLIS) { | ||
return new Date( | ||
Date.UTC( | ||
input.getUTCFullYear() - 100, | ||
input.getUTCMonth(), | ||
input.getUTCDate(), | ||
input.getUTCHours(), | ||
input.getUTCMinutes(), | ||
input.getUTCSeconds(), | ||
input.getUTCMilliseconds() | ||
) | ||
); | ||
} | ||
return input; | ||
}, "adjustRfc850Year"); | ||
var parseMonthByShortName = /* @__PURE__ */ __name((value) => { | ||
const monthIdx = MONTHS.indexOf(value); | ||
if (monthIdx < 0) { | ||
throw new TypeError(`Invalid month: ${value}`); | ||
} | ||
return monthIdx + 1; | ||
}, "parseMonthByShortName"); | ||
var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; | ||
var validateDayOfMonth = /* @__PURE__ */ __name((year, month, day) => { | ||
let maxDays = DAYS_IN_MONTH[month]; | ||
if (month === 1 && isLeapYear(year)) { | ||
maxDays = 29; | ||
} | ||
if (day > maxDays) { | ||
throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`); | ||
} | ||
}, "validateDayOfMonth"); | ||
var isLeapYear = /* @__PURE__ */ __name((year) => { | ||
return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); | ||
}, "isLeapYear"); | ||
var parseDateValue = /* @__PURE__ */ __name((value, type, lower, upper) => { | ||
const dateVal = strictParseByte(stripLeadingZeroes(value)); | ||
if (dateVal < lower || dateVal > upper) { | ||
throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`); | ||
} | ||
return dateVal; | ||
}, "parseDateValue"); | ||
var parseMilliseconds = /* @__PURE__ */ __name((value) => { | ||
if (value === null || value === void 0) { | ||
return 0; | ||
} | ||
return strictParseFloat32("0." + value) * 1e3; | ||
}, "parseMilliseconds"); | ||
var parseOffsetToMilliseconds = /* @__PURE__ */ __name((value) => { | ||
const directionStr = value[0]; | ||
let direction = 1; | ||
if (directionStr == "+") { | ||
direction = 1; | ||
} else if (directionStr == "-") { | ||
direction = -1; | ||
} else { | ||
throw new TypeError(`Offset direction, ${directionStr}, must be "+" or "-"`); | ||
} | ||
const hour = Number(value.substring(1, 3)); | ||
const minute = Number(value.substring(4, 6)); | ||
return direction * (hour * 60 + minute) * 60 * 1e3; | ||
}, "parseOffsetToMilliseconds"); | ||
var stripLeadingZeroes = /* @__PURE__ */ __name((value) => { | ||
let idx = 0; | ||
while (idx < value.length - 1 && value.charAt(idx) === "0") { | ||
idx++; | ||
} | ||
if (idx === 0) { | ||
return value; | ||
} | ||
return value.slice(idx); | ||
}, "stripLeadingZeroes"); | ||
// src/exceptions.ts | ||
var _ServiceException = class _ServiceException extends Error { | ||
constructor(options) { | ||
super(options.message); | ||
Object.setPrototypeOf(this, _ServiceException.prototype); | ||
this.name = options.name; | ||
this.$fault = options.$fault; | ||
this.$metadata = options.$metadata; | ||
} | ||
}; | ||
__name(_ServiceException, "ServiceException"); | ||
var ServiceException = _ServiceException; | ||
var decorateServiceException = /* @__PURE__ */ __name((exception, additions = {}) => { | ||
Object.entries(additions).filter(([, v]) => v !== void 0).forEach(([k, v]) => { | ||
if (exception[k] == void 0 || exception[k] === "") { | ||
exception[k] = v; | ||
} | ||
}); | ||
const message = exception.message || exception.Message || "UnknownError"; | ||
exception.message = message; | ||
delete exception.Message; | ||
return exception; | ||
}, "decorateServiceException"); | ||
// src/default-error-handler.ts | ||
var throwDefaultError = /* @__PURE__ */ __name(({ output, parsedBody, exceptionCtor, errorCode }) => { | ||
const $metadata = deserializeMetadata(output); | ||
const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + "" : void 0; | ||
const response = new exceptionCtor({ | ||
name: (parsedBody == null ? void 0 : parsedBody.code) || (parsedBody == null ? void 0 : parsedBody.Code) || errorCode || statusCode || "UnknownError", | ||
$fault: "client", | ||
$metadata | ||
}); | ||
throw decorateServiceException(response, parsedBody); | ||
}, "throwDefaultError"); | ||
var withBaseException = /* @__PURE__ */ __name((ExceptionCtor) => { | ||
return ({ output, parsedBody, errorCode }) => { | ||
throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode }); | ||
}; | ||
}, "withBaseException"); | ||
var deserializeMetadata = /* @__PURE__ */ __name((output) => ({ | ||
httpStatusCode: output.statusCode, | ||
requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"], | ||
extendedRequestId: output.headers["x-amz-id-2"], | ||
cfId: output.headers["x-amz-cf-id"] | ||
}), "deserializeMetadata"); | ||
// src/defaults-mode.ts | ||
var loadConfigsForDefaultMode = /* @__PURE__ */ __name((mode) => { | ||
switch (mode) { | ||
case "standard": | ||
return { | ||
retryMode: "standard", | ||
connectionTimeout: 3100 | ||
}; | ||
case "in-region": | ||
return { | ||
retryMode: "standard", | ||
connectionTimeout: 1100 | ||
}; | ||
case "cross-region": | ||
return { | ||
retryMode: "standard", | ||
connectionTimeout: 3100 | ||
}; | ||
case "mobile": | ||
return { | ||
retryMode: "standard", | ||
connectionTimeout: 3e4 | ||
}; | ||
default: | ||
return {}; | ||
} | ||
}, "loadConfigsForDefaultMode"); | ||
// src/emitWarningIfUnsupportedVersion.ts | ||
var warningEmitted = false; | ||
var emitWarningIfUnsupportedVersion = /* @__PURE__ */ __name((version) => { | ||
if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf("."))) < 14) { | ||
warningEmitted = true; | ||
} | ||
}, "emitWarningIfUnsupportedVersion"); | ||
// src/extensions/checksum.ts | ||
var getChecksumConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { | ||
const checksumAlgorithms = []; | ||
for (const id in import_types.AlgorithmId) { | ||
const algorithmId = import_types.AlgorithmId[id]; | ||
if (runtimeConfig[algorithmId] === void 0) { | ||
continue; | ||
} | ||
checksumAlgorithms.push({ | ||
algorithmId: () => algorithmId, | ||
checksumConstructor: () => runtimeConfig[algorithmId] | ||
}); | ||
} | ||
return { | ||
_checksumAlgorithms: checksumAlgorithms, | ||
addChecksumAlgorithm(algo) { | ||
this._checksumAlgorithms.push(algo); | ||
}, | ||
checksumAlgorithms() { | ||
return this._checksumAlgorithms; | ||
} | ||
}; | ||
}, "getChecksumConfiguration"); | ||
var resolveChecksumRuntimeConfig = /* @__PURE__ */ __name((clientConfig) => { | ||
const runtimeConfig = {}; | ||
clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => { | ||
runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor(); | ||
}); | ||
return runtimeConfig; | ||
}, "resolveChecksumRuntimeConfig"); | ||
// src/extensions/retry.ts | ||
var getRetryConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { | ||
let _retryStrategy = runtimeConfig.retryStrategy; | ||
return { | ||
setRetryStrategy(retryStrategy) { | ||
_retryStrategy = retryStrategy; | ||
}, | ||
retryStrategy() { | ||
return _retryStrategy; | ||
} | ||
}; | ||
}, "getRetryConfiguration"); | ||
var resolveRetryRuntimeConfig = /* @__PURE__ */ __name((retryStrategyConfiguration) => { | ||
const runtimeConfig = {}; | ||
runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy(); | ||
return runtimeConfig; | ||
}, "resolveRetryRuntimeConfig"); | ||
// src/extensions/defaultExtensionConfiguration.ts | ||
var getDefaultExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => { | ||
return { | ||
...getChecksumConfiguration(runtimeConfig), | ||
...getRetryConfiguration(runtimeConfig) | ||
}; | ||
}, "getDefaultExtensionConfiguration"); | ||
var getDefaultClientConfiguration = getDefaultExtensionConfiguration; | ||
var resolveDefaultRuntimeConfig = /* @__PURE__ */ __name((config) => { | ||
return { | ||
...resolveChecksumRuntimeConfig(config), | ||
...resolveRetryRuntimeConfig(config) | ||
}; | ||
}, "resolveDefaultRuntimeConfig"); | ||
// src/extended-encode-uri-component.ts | ||
function extendedEncodeURIComponent(str) { | ||
return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { | ||
return "%" + c.charCodeAt(0).toString(16).toUpperCase(); | ||
}); | ||
} | ||
__name(extendedEncodeURIComponent, "extendedEncodeURIComponent"); | ||
// src/get-array-if-single-item.ts | ||
var getArrayIfSingleItem = /* @__PURE__ */ __name((mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray], "getArrayIfSingleItem"); | ||
// src/get-value-from-text-node.ts | ||
var getValueFromTextNode = /* @__PURE__ */ __name((obj) => { | ||
const textNodeName = "#text"; | ||
for (const key in obj) { | ||
if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== void 0) { | ||
obj[key] = obj[key][textNodeName]; | ||
} else if (typeof obj[key] === "object" && obj[key] !== null) { | ||
obj[key] = getValueFromTextNode(obj[key]); | ||
} | ||
} | ||
return obj; | ||
}, "getValueFromTextNode"); | ||
// src/lazy-json.ts | ||
var StringWrapper = /* @__PURE__ */ __name(function() { | ||
const Class = Object.getPrototypeOf(this).constructor; | ||
const Constructor = Function.bind.apply(String, [null, ...arguments]); | ||
const instance = new Constructor(); | ||
Object.setPrototypeOf(instance, Class.prototype); | ||
return instance; | ||
}, "StringWrapper"); | ||
StringWrapper.prototype = Object.create(String.prototype, { | ||
constructor: { | ||
value: StringWrapper, | ||
enumerable: false, | ||
writable: true, | ||
configurable: true | ||
} | ||
}); | ||
Object.setPrototypeOf(StringWrapper, String); | ||
var _LazyJsonString = class _LazyJsonString extends StringWrapper { | ||
deserializeJSON() { | ||
return JSON.parse(super.toString()); | ||
} | ||
toJSON() { | ||
return super.toString(); | ||
} | ||
static fromObject(object) { | ||
if (object instanceof _LazyJsonString) { | ||
return object; | ||
} else if (object instanceof String || typeof object === "string") { | ||
return new _LazyJsonString(object); | ||
} | ||
return new _LazyJsonString(JSON.stringify(object)); | ||
} | ||
}; | ||
__name(_LazyJsonString, "LazyJsonString"); | ||
var LazyJsonString = _LazyJsonString; | ||
// src/object-mapping.ts | ||
function map(arg0, arg1, arg2) { | ||
let target; | ||
let filter; | ||
let instructions; | ||
if (typeof arg1 === "undefined" && typeof arg2 === "undefined") { | ||
target = {}; | ||
instructions = arg0; | ||
} else { | ||
target = arg0; | ||
if (typeof arg1 === "function") { | ||
filter = arg1; | ||
instructions = arg2; | ||
return mapWithFilter(target, filter, instructions); | ||
} else { | ||
instructions = arg1; | ||
} | ||
} | ||
for (const key of Object.keys(instructions)) { | ||
if (!Array.isArray(instructions[key])) { | ||
target[key] = instructions[key]; | ||
continue; | ||
} | ||
applyInstruction(target, null, instructions, key); | ||
} | ||
return target; | ||
} | ||
__name(map, "map"); | ||
var convertMap = /* @__PURE__ */ __name((target) => { | ||
const output = {}; | ||
for (const [k, v] of Object.entries(target || {})) { | ||
output[k] = [, v]; | ||
} | ||
return output; | ||
}, "convertMap"); | ||
var take = /* @__PURE__ */ __name((source, instructions) => { | ||
const out = {}; | ||
for (const key in instructions) { | ||
applyInstruction(out, source, instructions, key); | ||
} | ||
return out; | ||
}, "take"); | ||
var mapWithFilter = /* @__PURE__ */ __name((target, filter, instructions) => { | ||
return map( | ||
target, | ||
Object.entries(instructions).reduce( | ||
(_instructions, [key, value]) => { | ||
if (Array.isArray(value)) { | ||
_instructions[key] = value; | ||
} else { | ||
if (typeof value === "function") { | ||
_instructions[key] = [filter, value()]; | ||
} else { | ||
_instructions[key] = [filter, value]; | ||
} | ||
} | ||
return _instructions; | ||
}, | ||
{} | ||
) | ||
); | ||
}, "mapWithFilter"); | ||
var applyInstruction = /* @__PURE__ */ __name((target, source, instructions, targetKey) => { | ||
if (source !== null) { | ||
let instruction = instructions[targetKey]; | ||
if (typeof instruction === "function") { | ||
instruction = [, instruction]; | ||
} | ||
const [filter2 = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction; | ||
if (typeof filter2 === "function" && filter2(source[sourceKey]) || typeof filter2 !== "function" && !!filter2) { | ||
target[targetKey] = valueFn(source[sourceKey]); | ||
} | ||
return; | ||
} | ||
let [filter, value] = instructions[targetKey]; | ||
if (typeof value === "function") { | ||
let _value; | ||
const defaultFilterPassed = filter === void 0 && (_value = value()) != null; | ||
const customFilterPassed = typeof filter === "function" && !!filter(void 0) || typeof filter !== "function" && !!filter; | ||
if (defaultFilterPassed) { | ||
target[targetKey] = _value; | ||
} else if (customFilterPassed) { | ||
target[targetKey] = value(); | ||
} | ||
} else { | ||
const defaultFilterPassed = filter === void 0 && value != null; | ||
const customFilterPassed = typeof filter === "function" && !!filter(value) || typeof filter !== "function" && !!filter; | ||
if (defaultFilterPassed || customFilterPassed) { | ||
target[targetKey] = value; | ||
} | ||
} | ||
}, "applyInstruction"); | ||
var nonNullish = /* @__PURE__ */ __name((_) => _ != null, "nonNullish"); | ||
var pass = /* @__PURE__ */ __name((_) => _, "pass"); | ||
// src/resolve-path.ts | ||
var resolvedPath = /* @__PURE__ */ __name((resolvedPath2, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => { | ||
if (input != null && input[memberName] !== void 0) { | ||
const labelValue = labelValueProvider(); | ||
if (labelValue.length <= 0) { | ||
throw new Error("Empty value provided for input HTTP label: " + memberName + "."); | ||
} | ||
resolvedPath2 = resolvedPath2.replace( | ||
uriLabel, | ||
isGreedyLabel ? labelValue.split("/").map((segment) => extendedEncodeURIComponent(segment)).join("/") : extendedEncodeURIComponent(labelValue) | ||
); | ||
} else { | ||
throw new Error("No value provided for input HTTP label: " + memberName + "."); | ||
} | ||
return resolvedPath2; | ||
}, "resolvedPath"); | ||
// src/ser-utils.ts | ||
var serializeFloat = /* @__PURE__ */ __name((value) => { | ||
if (value !== value) { | ||
return "NaN"; | ||
} | ||
switch (value) { | ||
case Infinity: | ||
return "Infinity"; | ||
case -Infinity: | ||
return "-Infinity"; | ||
default: | ||
return value; | ||
} | ||
}, "serializeFloat"); | ||
// src/serde-json.ts | ||
var _json = /* @__PURE__ */ __name((obj) => { | ||
if (obj == null) { | ||
return {}; | ||
} | ||
if (Array.isArray(obj)) { | ||
return obj.filter((_) => _ != null).map(_json); | ||
} | ||
if (typeof obj === "object") { | ||
const target = {}; | ||
for (const key of Object.keys(obj)) { | ||
if (obj[key] == null) { | ||
continue; | ||
} | ||
target[key] = _json(obj[key]); | ||
} | ||
return target; | ||
} | ||
return obj; | ||
}, "_json"); | ||
// src/split-every.ts | ||
function splitEvery(value, delimiter, numDelimiters) { | ||
if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) { | ||
throw new Error("Invalid number of delimiters (" + numDelimiters + ") for splitEvery."); | ||
} | ||
const segments = value.split(delimiter); | ||
if (numDelimiters === 1) { | ||
return segments; | ||
} | ||
const compoundSegments = []; | ||
let currentSegment = ""; | ||
for (let i = 0; i < segments.length; i++) { | ||
if (currentSegment === "") { | ||
currentSegment = segments[i]; | ||
} else { | ||
currentSegment += delimiter + segments[i]; | ||
} | ||
if ((i + 1) % numDelimiters === 0) { | ||
compoundSegments.push(currentSegment); | ||
currentSegment = ""; | ||
} | ||
} | ||
if (currentSegment !== "") { | ||
compoundSegments.push(currentSegment); | ||
} | ||
return compoundSegments; | ||
} | ||
__name(splitEvery, "splitEvery"); | ||
// Annotate the CommonJS export names for ESM import in node: | ||
0 && (module.exports = { | ||
Client, | ||
Command, | ||
LazyJsonString, | ||
NoOpLogger, | ||
SENSITIVE_STRING, | ||
ServiceException, | ||
StringWrapper, | ||
_json, | ||
collectBody, | ||
convertMap, | ||
createAggregatedClient, | ||
dateToUtcString, | ||
decorateServiceException, | ||
emitWarningIfUnsupportedVersion, | ||
expectBoolean, | ||
expectByte, | ||
expectFloat32, | ||
expectInt, | ||
expectInt32, | ||
expectLong, | ||
expectNonNull, | ||
expectNumber, | ||
expectObject, | ||
expectShort, | ||
expectString, | ||
expectUnion, | ||
extendedEncodeURIComponent, | ||
getArrayIfSingleItem, | ||
getDefaultClientConfiguration, | ||
getDefaultExtensionConfiguration, | ||
getValueFromTextNode, | ||
handleFloat, | ||
limitedParseDouble, | ||
limitedParseFloat, | ||
limitedParseFloat32, | ||
loadConfigsForDefaultMode, | ||
logger, | ||
map, | ||
parseBoolean, | ||
parseEpochTimestamp, | ||
parseRfc3339DateTime, | ||
parseRfc3339DateTimeWithOffset, | ||
parseRfc7231DateTime, | ||
resolveDefaultRuntimeConfig, | ||
resolvedPath, | ||
serializeFloat, | ||
splitEvery, | ||
strictParseByte, | ||
strictParseDouble, | ||
strictParseFloat, | ||
strictParseFloat32, | ||
strictParseInt, | ||
strictParseInt32, | ||
strictParseLong, | ||
strictParseShort, | ||
take, | ||
throwDefaultError, | ||
withBaseException | ||
}); |
@@ -1,38 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.LazyJsonString = exports.StringWrapper = void 0; | ||
const StringWrapper = function () { | ||
const Class = Object.getPrototypeOf(this).constructor; | ||
const Constructor = Function.bind.apply(String, [null, ...arguments]); | ||
const instance = new Constructor(); | ||
Object.setPrototypeOf(instance, Class.prototype); | ||
return instance; | ||
}; | ||
exports.StringWrapper = StringWrapper; | ||
exports.StringWrapper.prototype = Object.create(String.prototype, { | ||
constructor: { | ||
value: exports.StringWrapper, | ||
enumerable: false, | ||
writable: true, | ||
configurable: true, | ||
}, | ||
}); | ||
Object.setPrototypeOf(exports.StringWrapper, String); | ||
class LazyJsonString extends exports.StringWrapper { | ||
deserializeJSON() { | ||
return JSON.parse(super.toString()); | ||
} | ||
toJSON() { | ||
return super.toString(); | ||
} | ||
static fromObject(object) { | ||
if (object instanceof LazyJsonString) { | ||
return object; | ||
} | ||
else if (object instanceof String || typeof object === "string") { | ||
return new LazyJsonString(object); | ||
} | ||
return new LazyJsonString(JSON.stringify(object)); | ||
} | ||
} | ||
exports.LazyJsonString = LazyJsonString; | ||
module.exports = require("./index.js"); |
@@ -1,11 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.NoOpLogger = void 0; | ||
class NoOpLogger { | ||
trace() { } | ||
debug() { } | ||
info() { } | ||
warn() { } | ||
error() { } | ||
} | ||
exports.NoOpLogger = NoOpLogger; | ||
module.exports = require("./index.js"); |
@@ -1,98 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.take = exports.convertMap = exports.map = void 0; | ||
function map(arg0, arg1, arg2) { | ||
let target; | ||
let filter; | ||
let instructions; | ||
if (typeof arg1 === "undefined" && typeof arg2 === "undefined") { | ||
target = {}; | ||
instructions = arg0; | ||
} | ||
else { | ||
target = arg0; | ||
if (typeof arg1 === "function") { | ||
filter = arg1; | ||
instructions = arg2; | ||
return mapWithFilter(target, filter, instructions); | ||
} | ||
else { | ||
instructions = arg1; | ||
} | ||
} | ||
for (const key of Object.keys(instructions)) { | ||
if (!Array.isArray(instructions[key])) { | ||
target[key] = instructions[key]; | ||
continue; | ||
} | ||
applyInstruction(target, null, instructions, key); | ||
} | ||
return target; | ||
} | ||
exports.map = map; | ||
const convertMap = (target) => { | ||
const output = {}; | ||
for (const [k, v] of Object.entries(target || {})) { | ||
output[k] = [, v]; | ||
} | ||
return output; | ||
}; | ||
exports.convertMap = convertMap; | ||
const take = (source, instructions) => { | ||
const out = {}; | ||
for (const key in instructions) { | ||
applyInstruction(out, source, instructions, key); | ||
} | ||
return out; | ||
}; | ||
exports.take = take; | ||
const mapWithFilter = (target, filter, instructions) => { | ||
return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => { | ||
if (Array.isArray(value)) { | ||
_instructions[key] = value; | ||
} | ||
else { | ||
if (typeof value === "function") { | ||
_instructions[key] = [filter, value()]; | ||
} | ||
else { | ||
_instructions[key] = [filter, value]; | ||
} | ||
} | ||
return _instructions; | ||
}, {})); | ||
}; | ||
const applyInstruction = (target, source, instructions, targetKey) => { | ||
if (source !== null) { | ||
let instruction = instructions[targetKey]; | ||
if (typeof instruction === "function") { | ||
instruction = [, instruction]; | ||
} | ||
const [filter = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction; | ||
if ((typeof filter === "function" && filter(source[sourceKey])) || (typeof filter !== "function" && !!filter)) { | ||
target[targetKey] = valueFn(source[sourceKey]); | ||
} | ||
return; | ||
} | ||
let [filter, value] = instructions[targetKey]; | ||
if (typeof value === "function") { | ||
let _value; | ||
const defaultFilterPassed = filter === undefined && (_value = value()) != null; | ||
const customFilterPassed = (typeof filter === "function" && !!filter(void 0)) || (typeof filter !== "function" && !!filter); | ||
if (defaultFilterPassed) { | ||
target[targetKey] = _value; | ||
} | ||
else if (customFilterPassed) { | ||
target[targetKey] = value(); | ||
} | ||
} | ||
else { | ||
const defaultFilterPassed = filter === undefined && value != null; | ||
const customFilterPassed = (typeof filter === "function" && !!filter(value)) || (typeof filter !== "function" && !!filter); | ||
if (defaultFilterPassed || customFilterPassed) { | ||
target[targetKey] = value; | ||
} | ||
} | ||
}; | ||
const nonNullish = (_) => _ != null; | ||
const pass = (_) => _; | ||
module.exports = require("./index.js"); |
@@ -1,253 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.logger = exports.strictParseByte = exports.strictParseShort = exports.strictParseInt32 = exports.strictParseInt = exports.strictParseLong = exports.limitedParseFloat32 = exports.limitedParseFloat = exports.handleFloat = exports.limitedParseDouble = exports.strictParseFloat32 = exports.strictParseFloat = exports.strictParseDouble = exports.expectUnion = exports.expectString = exports.expectObject = exports.expectNonNull = exports.expectByte = exports.expectShort = exports.expectInt32 = exports.expectInt = exports.expectLong = exports.expectFloat32 = exports.expectNumber = exports.expectBoolean = exports.parseBoolean = void 0; | ||
const parseBoolean = (value) => { | ||
switch (value) { | ||
case "true": | ||
return true; | ||
case "false": | ||
return false; | ||
default: | ||
throw new Error(`Unable to parse boolean value "${value}"`); | ||
} | ||
}; | ||
exports.parseBoolean = parseBoolean; | ||
const expectBoolean = (value) => { | ||
if (value === null || value === undefined) { | ||
return undefined; | ||
} | ||
if (typeof value === "number") { | ||
if (value === 0 || value === 1) { | ||
exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); | ||
} | ||
if (value === 0) { | ||
return false; | ||
} | ||
if (value === 1) { | ||
return true; | ||
} | ||
} | ||
if (typeof value === "string") { | ||
const lower = value.toLowerCase(); | ||
if (lower === "false" || lower === "true") { | ||
exports.logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`)); | ||
} | ||
if (lower === "false") { | ||
return false; | ||
} | ||
if (lower === "true") { | ||
return true; | ||
} | ||
} | ||
if (typeof value === "boolean") { | ||
return value; | ||
} | ||
throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`); | ||
}; | ||
exports.expectBoolean = expectBoolean; | ||
const expectNumber = (value) => { | ||
if (value === null || value === undefined) { | ||
return undefined; | ||
} | ||
if (typeof value === "string") { | ||
const parsed = parseFloat(value); | ||
if (!Number.isNaN(parsed)) { | ||
if (String(parsed) !== String(value)) { | ||
exports.logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`)); | ||
} | ||
return parsed; | ||
} | ||
} | ||
if (typeof value === "number") { | ||
return value; | ||
} | ||
throw new TypeError(`Expected number, got ${typeof value}: ${value}`); | ||
}; | ||
exports.expectNumber = expectNumber; | ||
const MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23)); | ||
const expectFloat32 = (value) => { | ||
const expected = (0, exports.expectNumber)(value); | ||
if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) { | ||
if (Math.abs(expected) > MAX_FLOAT) { | ||
throw new TypeError(`Expected 32-bit float, got ${value}`); | ||
} | ||
} | ||
return expected; | ||
}; | ||
exports.expectFloat32 = expectFloat32; | ||
const expectLong = (value) => { | ||
if (value === null || value === undefined) { | ||
return undefined; | ||
} | ||
if (Number.isInteger(value) && !Number.isNaN(value)) { | ||
return value; | ||
} | ||
throw new TypeError(`Expected integer, got ${typeof value}: ${value}`); | ||
}; | ||
exports.expectLong = expectLong; | ||
exports.expectInt = exports.expectLong; | ||
const expectInt32 = (value) => expectSizedInt(value, 32); | ||
exports.expectInt32 = expectInt32; | ||
const expectShort = (value) => expectSizedInt(value, 16); | ||
exports.expectShort = expectShort; | ||
const expectByte = (value) => expectSizedInt(value, 8); | ||
exports.expectByte = expectByte; | ||
const expectSizedInt = (value, size) => { | ||
const expected = (0, exports.expectLong)(value); | ||
if (expected !== undefined && castInt(expected, size) !== expected) { | ||
throw new TypeError(`Expected ${size}-bit integer, got ${value}`); | ||
} | ||
return expected; | ||
}; | ||
const castInt = (value, size) => { | ||
switch (size) { | ||
case 32: | ||
return Int32Array.of(value)[0]; | ||
case 16: | ||
return Int16Array.of(value)[0]; | ||
case 8: | ||
return Int8Array.of(value)[0]; | ||
} | ||
}; | ||
const expectNonNull = (value, location) => { | ||
if (value === null || value === undefined) { | ||
if (location) { | ||
throw new TypeError(`Expected a non-null value for ${location}`); | ||
} | ||
throw new TypeError("Expected a non-null value"); | ||
} | ||
return value; | ||
}; | ||
exports.expectNonNull = expectNonNull; | ||
const expectObject = (value) => { | ||
if (value === null || value === undefined) { | ||
return undefined; | ||
} | ||
if (typeof value === "object" && !Array.isArray(value)) { | ||
return value; | ||
} | ||
const receivedType = Array.isArray(value) ? "array" : typeof value; | ||
throw new TypeError(`Expected object, got ${receivedType}: ${value}`); | ||
}; | ||
exports.expectObject = expectObject; | ||
const expectString = (value) => { | ||
if (value === null || value === undefined) { | ||
return undefined; | ||
} | ||
if (typeof value === "string") { | ||
return value; | ||
} | ||
if (["boolean", "number", "bigint"].includes(typeof value)) { | ||
exports.logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`)); | ||
return String(value); | ||
} | ||
throw new TypeError(`Expected string, got ${typeof value}: ${value}`); | ||
}; | ||
exports.expectString = expectString; | ||
const expectUnion = (value) => { | ||
if (value === null || value === undefined) { | ||
return undefined; | ||
} | ||
const asObject = (0, exports.expectObject)(value); | ||
const setKeys = Object.entries(asObject) | ||
.filter(([, v]) => v != null) | ||
.map(([k]) => k); | ||
if (setKeys.length === 0) { | ||
throw new TypeError(`Unions must have exactly one non-null member. None were found.`); | ||
} | ||
if (setKeys.length > 1) { | ||
throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`); | ||
} | ||
return asObject; | ||
}; | ||
exports.expectUnion = expectUnion; | ||
const strictParseDouble = (value) => { | ||
if (typeof value == "string") { | ||
return (0, exports.expectNumber)(parseNumber(value)); | ||
} | ||
return (0, exports.expectNumber)(value); | ||
}; | ||
exports.strictParseDouble = strictParseDouble; | ||
exports.strictParseFloat = exports.strictParseDouble; | ||
const strictParseFloat32 = (value) => { | ||
if (typeof value == "string") { | ||
return (0, exports.expectFloat32)(parseNumber(value)); | ||
} | ||
return (0, exports.expectFloat32)(value); | ||
}; | ||
exports.strictParseFloat32 = strictParseFloat32; | ||
const NUMBER_REGEX = /(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g; | ||
const parseNumber = (value) => { | ||
const matches = value.match(NUMBER_REGEX); | ||
if (matches === null || matches[0].length !== value.length) { | ||
throw new TypeError(`Expected real number, got implicit NaN`); | ||
} | ||
return parseFloat(value); | ||
}; | ||
const limitedParseDouble = (value) => { | ||
if (typeof value == "string") { | ||
return parseFloatString(value); | ||
} | ||
return (0, exports.expectNumber)(value); | ||
}; | ||
exports.limitedParseDouble = limitedParseDouble; | ||
exports.handleFloat = exports.limitedParseDouble; | ||
exports.limitedParseFloat = exports.limitedParseDouble; | ||
const limitedParseFloat32 = (value) => { | ||
if (typeof value == "string") { | ||
return parseFloatString(value); | ||
} | ||
return (0, exports.expectFloat32)(value); | ||
}; | ||
exports.limitedParseFloat32 = limitedParseFloat32; | ||
const parseFloatString = (value) => { | ||
switch (value) { | ||
case "NaN": | ||
return NaN; | ||
case "Infinity": | ||
return Infinity; | ||
case "-Infinity": | ||
return -Infinity; | ||
default: | ||
throw new Error(`Unable to parse float value: ${value}`); | ||
} | ||
}; | ||
const strictParseLong = (value) => { | ||
if (typeof value === "string") { | ||
return (0, exports.expectLong)(parseNumber(value)); | ||
} | ||
return (0, exports.expectLong)(value); | ||
}; | ||
exports.strictParseLong = strictParseLong; | ||
exports.strictParseInt = exports.strictParseLong; | ||
const strictParseInt32 = (value) => { | ||
if (typeof value === "string") { | ||
return (0, exports.expectInt32)(parseNumber(value)); | ||
} | ||
return (0, exports.expectInt32)(value); | ||
}; | ||
exports.strictParseInt32 = strictParseInt32; | ||
const strictParseShort = (value) => { | ||
if (typeof value === "string") { | ||
return (0, exports.expectShort)(parseNumber(value)); | ||
} | ||
return (0, exports.expectShort)(value); | ||
}; | ||
exports.strictParseShort = strictParseShort; | ||
const strictParseByte = (value) => { | ||
if (typeof value === "string") { | ||
return (0, exports.expectByte)(parseNumber(value)); | ||
} | ||
return (0, exports.expectByte)(value); | ||
}; | ||
exports.strictParseByte = strictParseByte; | ||
const stackTraceWarning = (message) => { | ||
return String(new TypeError(message).stack || message) | ||
.split("\n") | ||
.slice(0, 5) | ||
.filter((s) => !s.includes("stackTraceWarning")) | ||
.join("\n"); | ||
}; | ||
exports.logger = { | ||
warn: console.warn, | ||
}; | ||
module.exports = require("./index.js"); |
@@ -1,23 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.resolvedPath = void 0; | ||
const extended_encode_uri_component_1 = require("./extended-encode-uri-component"); | ||
const resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => { | ||
if (input != null && input[memberName] !== undefined) { | ||
const labelValue = labelValueProvider(); | ||
if (labelValue.length <= 0) { | ||
throw new Error("Empty value provided for input HTTP label: " + memberName + "."); | ||
} | ||
resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel | ||
? labelValue | ||
.split("/") | ||
.map((segment) => (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(segment)) | ||
.join("/") | ||
: (0, extended_encode_uri_component_1.extendedEncodeURIComponent)(labelValue)); | ||
} | ||
else { | ||
throw new Error("No value provided for input HTTP label: " + memberName + "."); | ||
} | ||
return resolvedPath; | ||
}; | ||
exports.resolvedPath = resolvedPath; | ||
module.exports = require("./index.js"); |
@@ -1,17 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.serializeFloat = void 0; | ||
const serializeFloat = (value) => { | ||
if (value !== value) { | ||
return "NaN"; | ||
} | ||
switch (value) { | ||
case Infinity: | ||
return "Infinity"; | ||
case -Infinity: | ||
return "-Infinity"; | ||
default: | ||
return value; | ||
} | ||
}; | ||
exports.serializeFloat = serializeFloat; | ||
module.exports = require("./index.js"); |
@@ -1,23 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports._json = void 0; | ||
const _json = (obj) => { | ||
if (obj == null) { | ||
return {}; | ||
} | ||
if (Array.isArray(obj)) { | ||
return obj.filter((_) => _ != null).map(exports._json); | ||
} | ||
if (typeof obj === "object") { | ||
const target = {}; | ||
for (const key of Object.keys(obj)) { | ||
if (obj[key] == null) { | ||
continue; | ||
} | ||
target[key] = (0, exports._json)(obj[key]); | ||
} | ||
return target; | ||
} | ||
return obj; | ||
}; | ||
exports._json = _json; | ||
module.exports = require("./index.js"); |
@@ -1,31 +0,1 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.splitEvery = void 0; | ||
function splitEvery(value, delimiter, numDelimiters) { | ||
if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) { | ||
throw new Error("Invalid number of delimiters (" + numDelimiters + ") for splitEvery."); | ||
} | ||
const segments = value.split(delimiter); | ||
if (numDelimiters === 1) { | ||
return segments; | ||
} | ||
const compoundSegments = []; | ||
let currentSegment = ""; | ||
for (let i = 0; i < segments.length; i++) { | ||
if (currentSegment === "") { | ||
currentSegment = segments[i]; | ||
} | ||
else { | ||
currentSegment += delimiter + segments[i]; | ||
} | ||
if ((i + 1) % numDelimiters === 0) { | ||
compoundSegments.push(currentSegment); | ||
currentSegment = ""; | ||
} | ||
} | ||
if (currentSegment !== "") { | ||
compoundSegments.push(currentSegment); | ||
} | ||
return compoundSegments; | ||
} | ||
exports.splitEvery = splitEvery; | ||
module.exports = require("./index.js"); |
{ | ||
"name": "@smithy/smithy-client", | ||
"version": "2.2.1", | ||
"version": "2.3.0", | ||
"scripts": { | ||
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'", | ||
"build:cjs": "yarn g:tsc -p tsconfig.cjs.json", | ||
"build:cjs": "node ../../scripts/inline smithy-client", | ||
"build:es": "yarn g:tsc -p tsconfig.es.json", | ||
@@ -26,7 +26,7 @@ "build:types": "yarn g:tsc -p tsconfig.types.json", | ||
"dependencies": { | ||
"@smithy/middleware-endpoint": "^2.3.0", | ||
"@smithy/middleware-stack": "^2.0.10", | ||
"@smithy/protocol-http": "^3.0.12", | ||
"@smithy/types": "^2.8.0", | ||
"@smithy/util-stream": "^2.0.24", | ||
"@smithy/middleware-endpoint": "^2.4.0", | ||
"@smithy/middleware-stack": "^2.1.0", | ||
"@smithy/protocol-http": "^3.1.0", | ||
"@smithy/types": "^2.9.0", | ||
"@smithy/util-stream": "^2.1.0", | ||
"tslib": "^2.5.0" | ||
@@ -33,0 +33,0 @@ }, |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
4118
166946
Updated@smithy/protocol-http@^3.1.0
Updated@smithy/types@^2.9.0
Updated@smithy/util-stream@^2.1.0