Skip to content

Commit

Permalink
Merge 5bc9f60 into 92d42a3
Browse files Browse the repository at this point in the history
  • Loading branch information
jgerigmeyer committed Nov 17, 2017
2 parents 92d42a3 + 5bc9f60 commit f87cbb3
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 6 deletions.
15 changes: 9 additions & 6 deletions src/parser.js
Expand Up @@ -29,16 +29,18 @@ export default class Parser {
*/
postProcess (data) {
data = sorter(data)
let promises = []

Object.keys(this.annotations.list).forEach(key => {
let annotation = this.annotations.list[key]

if (annotation.resolve) {
annotation.resolve(data)
let promise = Promise.resolve(annotation.resolve(data))
promises.push(promise)
}
})

return data
return Promise.all(promises).then(() => data)
}

/**
Expand Down Expand Up @@ -95,10 +97,11 @@ export default class Parser {
if (!this.includeUnknownContexts) {
data = data.filter(item => item.context.type !== 'unknown')
}
data = this.postProcess(data)

deferred.resolve(data)
cb()
this.postProcess(data).then(processed => {
data = processed;
deferred.resolve(data)
cb()
})
}

let filter = through.obj(transform, flush)
Expand Down
1 change: 1 addition & 0 deletions src/sassdoc.js
Expand Up @@ -266,6 +266,7 @@ async function baseDocumentize (env) {

try {
await pipeline()
await filter.promise
} catch (err) {
env.emit('error', err)
throw err
Expand Down
23 changes: 23 additions & 0 deletions test/api/parser.test.js
Expand Up @@ -73,4 +73,27 @@ describe('#parser', function () {
assert.equal(data[0].context.type, 'unknown')
})
})

it('should include data from async annotation.resolve fns', function () {
var annotation = () => ({
name: 'async',
parse: raw => raw,
resolve: data => {
return new Promise((resolve, reject) => {
setTimeout(() => {
data.foo = 'bar'
resolve()
}, 10)
})
}
})
parser = new Parser(env, [annotation])
var parseStream = parser.stream()

vs('///desc\n///@async\n@function pass(){}', { path: 'fake' }).pipe(parseStream)

return parseStream.promise.then(data => {
assert.equal(data.foo, 'bar')
})
})
})

0 comments on commit f87cbb3

Please sign in to comment.