diff options
Diffstat (limited to 'lib/book.js')
-rw-r--r-- | lib/book.js | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/lib/book.js b/lib/book.js index 91dfa02..77539ce 100644 --- a/lib/book.js +++ b/lib/book.js @@ -1,5 +1,4 @@ var _ = require('lodash'); -var Q = require('q'); var path = require('path'); var Ignore = require('ignore'); var parsers = require('gitbook-parsers'); @@ -12,6 +11,7 @@ var Summary = require('./backbone/summary'); var Langs = require('./backbone/langs'); var Page = require('./backbone/page'); var pathUtil = require('./utils/path'); +var Promise = require('./utils/promise'); function Book(opts) { if (!(this instanceof Book)) return new Book(opts); @@ -106,25 +106,23 @@ Book.prototype.resolve = function() { Book.prototype.parseIgnoreRules = function() { var that = this; - return _.reduce([ + return Promise.series([ '.ignore', '.gitignore', '.bookignore' - ], function(prev, filename) { - return prev.then(function() { - return that.readFile(filename); - }) + ], function(filename) { + return that.readFile(filename) .then(function(content) { that.ignore.addPattern(content.toString().split(/\r?\n/)); }); - }, Q()); + }); }; // Parse the whole book Book.prototype.parse = function() { var that = this; - return Q() + return Promise() .then(this.prepareConfig) .then(this.parseIgnoreRules) @@ -139,7 +137,7 @@ Book.prototype.parse = function() { return; } - return Q() + return Promise() .then(that.readme.load) .then(function() { if (that.readme.exists()) return; @@ -185,7 +183,7 @@ Book.prototype.isFileIgnored = function(filename) { // Read a file in the book, throw error if ignored Book.prototype.readFile = function(filename) { - if (this.isFileIgnored(filename)) return Q.reject(new Error('File "'+filename+'" is ignored')); + if (this.isFileIgnored(filename)) return Promise.reject(new Error('File "'+filename+'" is ignored')); return this.fs.readAsString(this.resolve(filename)); }; @@ -217,7 +215,7 @@ Book.prototype.findParsableFile = function(filename) { }; }); }); - }, Q(null)); + }, Promise(null)); }; // Return true if book is associated to a language |