rio-de-js
Version:
Divsense Rio Lib Builder
19 lines (10 loc) • 362 B
JavaScript
const R = require('ramda')
module.exports = function(code, libScope, imports, exports) {
const flib = new Function(imports.join(','), code)
const scopeArgs = R.flatten(R.map(R.prop('functions'), libScope))
const funcs = flib.apply(null, scopeArgs)
return {
names: exports,
functions: R.map(x => funcs[x], exports)
}
}