New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

swagger-router

Package Overview
Dependencies
Maintainers
3
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

swagger-router - npm Package Compare versions

Comparing version 0.4.2 to 0.4.3

46

lib/reqTemplate.js

@@ -8,2 +8,3 @@ "use strict";

var expressionCompiler = require('template-expression-compiler');
var utils = require('./utils');

@@ -99,2 +100,47 @@ var compilerOptions = {

/**
* Formats a date in a requested format
*
* @param date date to format
* @param [format] optional format, defaults to RFC 822 format
*/
date: function(date, format) {
function isValidDate(d) {
if (d.constructor !== Date) {
return false;
}
return !isNaN(d.getTime());
}
format = format || 'rfc822';
if (!isValidDate(date)) {
var origDate = date;
if (typeof date === 'string') {
// It's a string, but may be it's just a stringified timestamp.
// Check if it actually is.
var tempNumDate = parseInt(date);
if (!Number.isNaN(tempNumDate)) {
date = tempNumDate;
}
}
date = new Date(date);
if (!isValidDate(date)) {
throw new Error('Invalid date: ' + origDate);
}
}
switch (format) {
case 'rfc822':
return utils.toRFC822Date(date);
case 'iso':
return date.toISOString();
default:
throw new Error('Unsupported date format: ' + format);
}
},
// Private helpers

@@ -101,0 +147,0 @@ _optionalPath: function(element) {

23

lib/utils.js

@@ -113,2 +113,23 @@ "use strict";

module.exports = utils;
utils.toRFC822Date = function(date) {
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
function numpad(x, digits) {
var result = Math.floor(x).toString();
while (result.length < digits) {
result = '0' + result;
}
return result;
}
return days[date.getUTCDay()] + ", "
+ numpad(date.getUTCDate(), 2) + " "
+ months[date.getUTCMonth()] + " "
+ date.getUTCFullYear() + " "
+ numpad(date.getUTCHours(), 2) + ":"
+ numpad(date.getUTCMinutes(), 2) + ":"
+ numpad(date.getUTCSeconds(), 2) + " +0000";
};
module.exports = utils;

2

package.json
{
"name": "swagger-router",
"version": "0.4.2",
"version": "0.4.3",
"description": "An efficient swagger 2 based router with support for multiple APIs. For use in RESTBase.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -550,2 +550,24 @@ "use strict";

});
it('should support date formats', function() {
var template = new Template({
body: {
date_iso: '{{date(request.body.date, "iso")}}',
date_rfc822: '{{date(request.body.date)}}'
}
});
var result = template.expand({
request: {
body: {
date: '1234'
}
}
});
assert.deepEqual(result, {
body: {
date_iso: '1970-01-01T00:00:01.234Z',
date_rfc822: 'Thu, 01 Jan 1970 00:00:01 +0000'
}
});
});
});
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