pg-require-sql
Version:
Requires sql files and export functions for querying via pg
34 lines (31 loc) • 821 B
JavaScript
var camelize = require('camelize')
var fs = require('fs')
var path = require('path')
var R = require('ramda')
module.exports = R.pipe(
function (directory) {
var files = fs.readdirSync(directory)
return R.map(
function (filename) {
var ext = path.extname(filename)
return {
ext: ext,
absolutePath: path.join(directory, filename),
basename: path.basename(filename, ext)
}
},
files
)
},
R.filter(function (filename) {
return filename.ext === '.sql'
}),
R.reduce(function (acc, filename) {
acc[camelize(filename.basename)] = fs.readFileSync(filename.absolutePath, 'utf8')
return acc
}, {}),
R.mapObj(function (sql) {
return R.curry(function (params, query) { return query(sql, params) })
})
)