aws-fanout
Advanced tools
Comparing version 1.0.1 to 1.0.2
@@ -13,8 +13,4 @@ 'use strict'; | ||
var _bluebird = require('bluebird'); | ||
var _ramda = require('ramda'); | ||
var _bluebird2 = _interopRequireDefault(_bluebird); | ||
var snsCache = {}; | ||
/** | ||
@@ -26,17 +22,9 @@ * Gets an SNS Arn | ||
*/ | ||
var getSnsArn = function getSnsArn(credentials, readableName) { | ||
var cachedArn = snsCache[readableName]; | ||
if (cachedArn) { | ||
return _bluebird2['default'].resolve(cachedArn); | ||
} | ||
var getSnsArn = (0, _ramda.memoize)(function (credentials, readableName) { | ||
return (0, _snsCreateTopic2['default'])(credentials, readableName).then(function (res) { | ||
snsCache[readableName] = res.TopicArn; | ||
return res.TopicArn; | ||
}); | ||
}; | ||
}); | ||
exports['default'] = getSnsArn; | ||
module.exports = exports['default']; |
'use strict'; | ||
var _extends = require('babel-runtime/helpers/extends')['default']; | ||
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; | ||
@@ -17,8 +19,4 @@ | ||
var _bluebird = require('bluebird'); | ||
var _ramda = require('ramda'); | ||
var _bluebird2 = _interopRequireDefault(_bluebird); | ||
var sqsCache = {}; | ||
/** | ||
@@ -30,16 +28,7 @@ * Gets a queue URL | ||
*/ | ||
var getSqsUrl = function getSqsUrl(credentials, readableName) { | ||
var cachedInfo = sqsCache[readableName]; | ||
if (cachedInfo && cachedInfo.url) { | ||
return _bluebird2['default'].resolve(cachedInfo.url); | ||
} | ||
var getSqsUrl = (0, _ramda.memoize)(function (credentials, readableName) { | ||
return (0, _createQueue2['default'])(credentials, readableName).then(function (res) { | ||
sqsCache[readableName] = cachedInfo || {}; | ||
sqsCache[readableName].url = res.QueueUrl; | ||
return res.QueueUrl; | ||
}); | ||
}; | ||
}); | ||
/** | ||
@@ -51,14 +40,9 @@ * Gets the ARN for a queue | ||
*/ | ||
var getSqsArn = function getSqsArn(credentials, readableName) { | ||
var getSqsArn = (0, _ramda.memoize)(function (credentials, readableName) { | ||
return getSqsUrl(credentials, readableName).then(function (url) { | ||
return (0, _getQueueAttributes2['default'])(credentials, url); | ||
}).then(function (res) { | ||
var arn = res.Attributes.QueueArn; | ||
sqsCache[readableName] = sqsCache[readableName] || {}; | ||
sqsCache[readableName].arn = arn; | ||
return arn; | ||
return res.Attributes.QueueArn; | ||
}); | ||
}; | ||
}); | ||
@@ -71,7 +55,14 @@ /** | ||
*/ | ||
var getAllSqsInfo = function getAllSqsInfo(credentials, readableName) { | ||
var getAllSqsInfo = (0, _ramda.memoize)(function (credentials, readableName) { | ||
var scope = {}; | ||
return getSqsArn(credentials, readableName).then(function (arn) { | ||
return sqsCache[readableName]; | ||
scope.arn = arn; | ||
return getSqsUrl(credentials, readableName); | ||
}).then(function (url) { | ||
return _extends({}, scope, { | ||
url: url | ||
}); | ||
}); | ||
}; | ||
}); | ||
@@ -78,0 +69,0 @@ exports.getAllSqsInfo = getAllSqsInfo; |
import createTopic from '../sns/createTopic' | ||
import Promise from 'bluebird' | ||
import { memoize } from 'ramda' | ||
let snsCache = {} | ||
/** | ||
@@ -12,17 +10,7 @@ * Gets an SNS Arn | ||
*/ | ||
const getSnsArn = (credentials, readableName) => { | ||
const cachedArn = snsCache[readableName] | ||
const getSnsArn = memoize((credentials, readableName) => ( | ||
createTopic(credentials, readableName) | ||
.then(res => res.TopicArn) | ||
)) | ||
if (cachedArn) { | ||
return Promise.resolve(cachedArn) | ||
} | ||
return createTopic(credentials, readableName) | ||
.then(res => { | ||
snsCache[readableName] = res.TopicArn | ||
return res.TopicArn | ||
}) | ||
} | ||
export default getSnsArn |
import createQueue from './createQueue' | ||
import getQueueAttributes from './getQueueAttributes' | ||
import Promise from 'bluebird' | ||
import { memoize } from 'ramda' | ||
let sqsCache = {} | ||
/** | ||
@@ -13,17 +11,6 @@ * Gets a queue URL | ||
*/ | ||
const getSqsUrl = (credentials, readableName) => { | ||
let cachedInfo = sqsCache[readableName] | ||
if (cachedInfo && cachedInfo.url) { | ||
return Promise.resolve(cachedInfo.url) | ||
} | ||
return createQueue(credentials, readableName) | ||
.then(res => { | ||
sqsCache[readableName] = cachedInfo || {} | ||
sqsCache[readableName].url = res.QueueUrl | ||
return res.QueueUrl | ||
}) | ||
} | ||
const getSqsUrl = memoize((credentials, readableName) => ( | ||
createQueue(credentials, readableName) | ||
.then(res => res.QueueUrl) | ||
)) | ||
/** | ||
@@ -35,15 +22,8 @@ * Gets the ARN for a queue | ||
*/ | ||
const getSqsArn = (credentials, readableName) => { | ||
return getSqsUrl(credentials, readableName) | ||
const getSqsArn = memoize((credentials, readableName) => ( | ||
getSqsUrl(credentials, readableName) | ||
.then(url => getQueueAttributes(credentials, url)) | ||
.then(res => { | ||
const arn = res.Attributes.QueueArn | ||
.then(res => res.Attributes.QueueArn) | ||
)) | ||
sqsCache[readableName] = sqsCache[readableName] || {} | ||
sqsCache[readableName].arn = arn | ||
return arn | ||
}) | ||
} | ||
/** | ||
@@ -55,6 +35,15 @@ * Gets the ARN and the URL for a queue | ||
*/ | ||
const getAllSqsInfo = (credentials, readableName) => { | ||
const getAllSqsInfo = memoize((credentials, readableName) => { | ||
let scope = {} | ||
return getSqsArn(credentials, readableName) | ||
.then(arn => sqsCache[readableName]) | ||
} | ||
.then(arn => { | ||
scope.arn = arn | ||
return getSqsUrl(credentials, readableName) | ||
}) | ||
.then(url => ({ | ||
...scope, | ||
url | ||
})) | ||
}) | ||
@@ -61,0 +50,0 @@ export { |
{ | ||
"name": "aws-fanout", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A library wrapping SNS and SQS to allow for human readable names when using a fanout technique", | ||
@@ -29,3 +29,2 @@ "main": "dist/index.js", | ||
"standard": "^5.1.1", | ||
"winston": "^1.0.0", | ||
"sinon": "^1.16.1" | ||
@@ -32,0 +31,0 @@ }, |
7
27749
693