in packages/docs-site/write_sample_boilerplate.js [108:138]
function walk_examples(dir, look_for, done) {
var results = []
fs.readdir(dir, (err, list) => {
if (err) {
return done(err)
}
let pending = list.length
if (!pending) {
return done(null, results)
}
list.forEach((file) => {
file = path.resolve(dir, file)
fs.stat(file, (err, stat) => {
if (stat && stat.isDirectory()) {
walk_examples(file, look_for, (err, res) => {
results = results.concat(res)
if (!--pending) done(null, results)
})
} else {
if (file.endsWith(look_for)) {
results.push(file)
}
if (!--pending) done(null, results)
}
})
})
})
}