Socket
Socket
Sign inDemoInstall

@aws-sdk/smithy-client

Package Overview
Dependencies
Maintainers
7
Versions
142
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-sdk/smithy-client - npm Package Compare versions

Comparing version 3.40.0 to 3.41.0

11

CHANGELOG.md

@@ -6,2 +6,13 @@ # Change Log

# [3.41.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.40.1...v3.41.0) (2021-11-11)
### Bug Fixes
* **smithy-client:** remove capturing groups from date regex ([#3008](https://github.com/aws/aws-sdk-js-v3/issues/3008)) ([3bc91c0](https://github.com/aws/aws-sdk-js-v3/commit/3bc91c0eb21ed802a27361ad92789b936cb47803))
# [3.40.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.39.0...v3.40.0) (2021-11-05)

@@ -8,0 +19,0 @@

64

dist-cjs/date-utils.js

@@ -22,3 +22,3 @@ "use strict";

exports.dateToUtcString = dateToUtcString;
const RFC3339 = new RegExp(/^(?<Y>\d{4})-(?<M>\d{2})-(?<D>\d{2})[tT](?<H>\d{2}):(?<m>\d{2}):(?<s>\d{2})(?:\.(?<frac>\d+))?[zZ]$/);
const RFC3339 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/);
const parseRfc3339DateTime = (value) => {

@@ -32,14 +32,15 @@ if (value === null || value === undefined) {

const match = RFC3339.exec(value);
if (!match || !match.groups) {
if (!match) {
throw new TypeError("Invalid RFC-3339 date-time value");
}
const year = parse_utils_1.strictParseShort(stripLeadingZeroes(match.groups["Y"]));
const month = parseDateValue(match.groups["M"], "month", 1, 12);
const day = parseDateValue(match.groups["D"], "day", 1, 31);
return buildDate(year, month, day, match);
const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;
const year = 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 IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (?<D>\d{2}) (?<M>Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (?<Y>\d{4}) (?<H>\d{2}):(?<m>\d{2}):(?<s>\d{2})(?:\.(?<frac>\d+))? GMT$/);
const RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (?<D>\d{2})-(?<M>Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(?<Y>\d{2}) (?<H>\d{2}):(?<m>\d{2}):(?<s>\d{2})(?:\.(?<frac>\d+))? GMT$/);
const ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (?<M>Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (?<D> [1-9]|\d{2}) (?<H>\d{2}):(?<m>\d{2}):(?<s>\d{2})(?:\.(?<frac>\d+))? (?<Y>\d{4})$/);
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{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{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{2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/);
const parseRfc7231DateTime = (value) => {

@@ -52,26 +53,23 @@ if (value === null || value === undefined) {

}
let dayFn = (value) => parseDateValue(value, "day", 1, 31);
let yearFn = (value) => parse_utils_1.strictParseShort(stripLeadingZeroes(value));
let dateAdjustmentFn = (value) => value;
let match = IMF_FIXDATE.exec(value);
if (!match || !match.groups) {
match = RFC_850_DATE.exec(value);
if (match && match.groups) {
yearFn = parseTwoDigitYear;
dateAdjustmentFn = adjustRfc850Year;
}
else {
match = ASC_TIME.exec(value);
if (match && match.groups) {
dayFn = (value) => parseDateValue(value.trimLeft(), "day", 1, 31);
}
else {
throw new TypeError("Invalid RFC-7231 date-time value");
}
}
if (match) {
const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;
return buildDate(parse_utils_1.strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });
}
const year = yearFn(match.groups["Y"]);
const month = parseMonthByShortName(match.groups["M"]);
const day = dayFn(match.groups["D"]);
return dateAdjustmentFn(buildDate(year, month, day, match));
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(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");
};

@@ -99,6 +97,6 @@ exports.parseRfc7231DateTime = parseRfc7231DateTime;

exports.parseEpochTimestamp = parseEpochTimestamp;
const buildDate = (year, month, day, match) => {
const buildDate = (year, month, day, time) => {
const adjustedMonth = month - 1;
validateDayOfMonth(year, adjustedMonth, day);
return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(match.groups["H"], "hour", 0, 23), parseDateValue(match.groups["m"], "minute", 0, 59), parseDateValue(match.groups["s"], "seconds", 0, 60), parseMilliseconds(match.groups["frac"])));
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)));
};

@@ -105,0 +103,0 @@ const parseTwoDigitYear = (value) => {

@@ -0,1 +1,2 @@

import { __read } from "tslib";
import { strictParseByte, strictParseDouble, strictParseFloat32, strictParseShort } from "./parse-utils";

@@ -18,3 +19,3 @@ var DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];

}
var RFC3339 = new RegExp(/^(?<Y>\d{4})-(?<M>\d{2})-(?<D>\d{2})[tT](?<H>\d{2}):(?<m>\d{2}):(?<s>\d{2})(?:\.(?<frac>\d+))?[zZ]$/);
var RFC3339 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/);
export var parseRfc3339DateTime = function (value) {

@@ -28,13 +29,14 @@ if (value === null || value === undefined) {

var match = RFC3339.exec(value);
if (!match || !match.groups) {
if (!match) {
throw new TypeError("Invalid RFC-3339 date-time value");
}
var year = strictParseShort(stripLeadingZeroes(match.groups["Y"]));
var month = parseDateValue(match.groups["M"], "month", 1, 12);
var day = parseDateValue(match.groups["D"], "day", 1, 31);
return buildDate(year, month, day, match);
var _a = __read(match, 8), _ = _a[0], yearStr = _a[1], monthStr = _a[2], dayStr = _a[3], hours = _a[4], minutes = _a[5], seconds = _a[6], fractionalMilliseconds = _a[7];
var year = strictParseShort(stripLeadingZeroes(yearStr));
var month = parseDateValue(monthStr, "month", 1, 12);
var day = parseDateValue(dayStr, "day", 1, 31);
return buildDate(year, month, day, { hours: hours, minutes: minutes, seconds: seconds, fractionalMilliseconds: fractionalMilliseconds });
};
var IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (?<D>\d{2}) (?<M>Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (?<Y>\d{4}) (?<H>\d{2}):(?<m>\d{2}):(?<s>\d{2})(?:\.(?<frac>\d+))? GMT$/);
var RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (?<D>\d{2})-(?<M>Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(?<Y>\d{2}) (?<H>\d{2}):(?<m>\d{2}):(?<s>\d{2})(?:\.(?<frac>\d+))? GMT$/);
var ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (?<M>Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (?<D> [1-9]|\d{2}) (?<H>\d{2}):(?<m>\d{2}):(?<s>\d{2})(?:\.(?<frac>\d+))? (?<Y>\d{4})$/);
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{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{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{2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/);
export var parseRfc7231DateTime = function (value) {

@@ -47,26 +49,23 @@ if (value === null || value === undefined) {

}
var dayFn = function (value) { return parseDateValue(value, "day", 1, 31); };
var yearFn = function (value) { return strictParseShort(stripLeadingZeroes(value)); };
var dateAdjustmentFn = function (value) { return value; };
var match = IMF_FIXDATE.exec(value);
if (!match || !match.groups) {
match = RFC_850_DATE.exec(value);
if (match && match.groups) {
yearFn = parseTwoDigitYear;
dateAdjustmentFn = adjustRfc850Year;
}
else {
match = ASC_TIME.exec(value);
if (match && match.groups) {
dayFn = function (value) { return parseDateValue(value.trimLeft(), "day", 1, 31); };
}
else {
throw new TypeError("Invalid RFC-7231 date-time value");
}
}
if (match) {
var _a = __read(match, 8), _1 = _a[0], dayStr = _a[1], monthStr = _a[2], yearStr = _a[3], hours = _a[4], minutes = _a[5], seconds = _a[6], fractionalMilliseconds = _a[7];
return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { hours: hours, minutes: minutes, seconds: seconds, fractionalMilliseconds: fractionalMilliseconds });
}
var year = yearFn(match.groups["Y"]);
var month = parseMonthByShortName(match.groups["M"]);
var day = dayFn(match.groups["D"]);
return dateAdjustmentFn(buildDate(year, month, day, match));
match = RFC_850_DATE.exec(value);
if (match) {
var _b = __read(match, 8), _2 = _b[0], dayStr = _b[1], monthStr = _b[2], yearStr = _b[3], hours = _b[4], minutes = _b[5], seconds = _b[6], fractionalMilliseconds = _b[7];
return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), {
hours: hours,
minutes: minutes,
seconds: seconds,
fractionalMilliseconds: fractionalMilliseconds,
}));
}
match = ASC_TIME.exec(value);
if (match) {
var _c = __read(match, 8), _3 = _c[0], monthStr = _c[1], dayStr = _c[2], hours = _c[3], minutes = _c[4], seconds = _c[5], fractionalMilliseconds = _c[6], yearStr = _c[7];
return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), "day", 1, 31), { hours: hours, minutes: minutes, seconds: seconds, fractionalMilliseconds: fractionalMilliseconds });
}
throw new TypeError("Invalid RFC-7231 date-time value");
};

@@ -92,6 +91,6 @@ export var parseEpochTimestamp = function (value) {

};
var buildDate = function (year, month, day, match) {
var buildDate = function (year, month, day, time) {
var adjustedMonth = month - 1;
validateDayOfMonth(year, adjustedMonth, day);
return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(match.groups["H"], "hour", 0, 23), parseDateValue(match.groups["m"], "minute", 0, 59), parseDateValue(match.groups["s"], "seconds", 0, 60), parseMilliseconds(match.groups["frac"])));
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)));
};

@@ -98,0 +97,0 @@ var parseTwoDigitYear = function (value) {

{
"name": "@aws-sdk/smithy-client",
"version": "3.40.0",
"version": "3.41.0",
"scripts": {

@@ -5,0 +5,0 @@ "build": "yarn build:cjs && yarn build:es && yarn build:types",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc