Advertisement
Guest User

Untitled

a guest
May 26th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. Service.prototype.queryNamespaces = function(params)
  2. {
  3. var self = this;
  4. var namespacesDir = path.join('.cologic', 'namespaces');
  5.  
  6. return q.nfcall(fs.readdir, namespacesDir).then(function(filenames) {
  7.  
  8. var deferred = q.defer();
  9.  
  10. var fileStatPromises = filenames.map(function(filename) {
  11. return q.nfcall(fs.stat, path.join(namespacesDir, filename, 'namespace.json')).then(function(stats) {
  12. if (stats.isFile()) {
  13. return filename;
  14. } else {
  15. return null;
  16. }
  17. }, function() {
  18. return null;
  19. });
  20. });
  21.  
  22. q.all(fileStatPromises).then(function(validNames) {
  23. var metaPromises = validNames.filter(function(name) {
  24. return name !== null;
  25. }).map(function(name) {
  26.  
  27. return self.getNamespaceMeta({id: name});
  28. });
  29. return q.all(metaPromises);
  30. }).then(function(metas) {
  31. deferred.resolve(metas);
  32. }).catch(function(error) {
  33. deferred.reject(error);
  34. }).done();
  35.  
  36. return deferred.promise;
  37. });
  38. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement