Refactor, units, tests

This commit is contained in:
Bán Dénes 2021-01-01 00:50:04 +01:00
parent 519c34bc60
commit cd90705ba1
24 changed files with 1221 additions and 1222 deletions

View file

@ -1,8 +1,54 @@
const prepare = require('./prepare')
const points_lib = require('./points')
const outlines_lib = require('./outlines')
const cases_lib = require('./cases')
const pcbs_lib = require('./pcbs')
const noop = () => {}
module.exports = {
utils: require('./utils'),
points: require('./points'),
outlines: require('./outlines'),
cases: require('./cases'),
pcbs: require('./pcbs'),
version: '__ergogen_version'
version: '__ergogen_version',
process: (config, debug=false, logger=noop) => {
logger('Preparing input...')
config = prepare.unnest(config)
config = prepare.inherit(config)
const results = {}
logger('Parsing points...')
const [points, units] = points_lib.parse(config.points)
if (debug) {
results.points = {
demo: points_lib.visualize(points),
data: points,
units: units
}
}
logger('Generating outlines...')
const outlines = outlines_lib.parse(config.outlines || {}, points, units)
results.outlines = {}
for (const [name, outline] of Object.entries(outlines)) {
if (!debug && name.startsWith('_')) continue
results.outlines[name] = outline
}
// logger('Extruding cases...')
// const cases = cases_lib.parse(config.cases || {}, outlines, units)
// results.cases = {}
// for (const [case_name, case_text] of Object.entries(cases)) {
// if (!debug && case_name.startsWith('_')) continue
// results.cases[case_name] = case_text
// }
// logger('Scaffolding PCBs...')
// const pcbs = pcbs_lib.parse(config.pcbs || {}, points, outlines, units)
// results.pcbs = {}
// for (const [pcb_name, pcb_text] of Object.entries(pcbs)) {
// if (!debug && pcb_name.startsWith('_')) continue
// results.cases[pcb_name] = pcb_text
// }
return results
}
}