Refactor, units, tests
This commit is contained in:
parent
519c34bc60
commit
cd90705ba1
24 changed files with 1221 additions and 1222 deletions
|
@ -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
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue