Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Service.prototype.queryNamespaces = function(params)
- {
- var self = this;
- var namespacesDir = path.join('.cologic', 'namespaces');
- return q.nfcall(fs.readdir, namespacesDir).then(function(filenames) {
- var deferred = q.defer();
- var fileStatPromises = filenames.map(function(filename) {
- return q.nfcall(fs.stat, path.join(namespacesDir, filename, 'namespace.json')).then(function(stats) {
- if (stats.isFile()) {
- return filename;
- } else {
- return null;
- }
- }, function() {
- return null;
- });
- });
- q.all(fileStatPromises).then(function(validNames) {
- var metaPromises = validNames.filter(function(name) {
- return name !== null;
- }).map(function(name) {
- return self.getNamespaceMeta({id: name});
- });
- return q.all(metaPromises);
- }).then(function(metas) {
- deferred.resolve(metas);
- }).catch(function(error) {
- deferred.reject(error);
- }).done();
- return deferred.promise;
- });
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement