'use strict' const slugg = require('slugg') // todo: are p.number and p.line ever different? const createParseLine = (profile, operators) => { const parseLine = (p) => { if (!p) return null // todo: handle this upstream const res = { type: 'line', id: null, name: p.line || p.name, public: true } // todo: what is p.prodCtx && p.prodCtx.num? // This is terrible, but FPTF demands an ID. Let's pray for VBB to expose an ID. // todo: find a better way else if (p.line) res.id = slugg(p.line.trim()) else if (p.name) res.id = slugg(p.name.trim()) if (p.cls) res.class = p.cls if (p.prodCtx && p.prodCtx.catCode !== undefined) { res.productCode = +p.prodCtx.catCode } // todo: parse mode, remove from profiles if ('number' === typeof p.oprX) { res.operator = operators[p.oprX] || null } return res } return parseLine } module.exports = createParseLine