You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
634 B
27 lines
634 B
'use strict'; |
|
|
|
var fs = require('fs'); |
|
var dependencies = require('./lib/dependencies.js'); |
|
var internals = require('./lib/internals.js'); |
|
var sources = require('./lib/sources.js'); |
|
|
|
module.exports = build; |
|
|
|
function build(functions) { |
|
var fns = []; |
|
functions = functions.filter(function(fn) { |
|
return !internals[fn]; |
|
}); |
|
for (var i = 0; i < functions.length; i++) { |
|
if (fns.indexOf(functions[i]) === -1) { |
|
fns.push(functions[i]); |
|
functions.push.apply(functions, dependencies[functions[i]]); |
|
} |
|
} |
|
return fns |
|
.sort() |
|
.map(function(name) { |
|
return sources[name]; |
|
}) |
|
.join('\n'); |
|
}
|
|
|