UNPKG

qix-faker

Version:

Generate fake Qlik Engine data in the shape of hypercubes and listobjects.

44 lines (38 loc) 993 B
const nxCell = require('./cell'); const numeric = require('./numeric'); const measure = ({ value, index, override = {}, attrDims = [], attrExps = [], isAttr = false }) => { const num = numeric(); const basicCell = rowIndex => { const v = `${value(rowIndex)}`; return isAttr ? { qText: v, qNum: num.num(v), } : { qElemNumber: index, qText: v, qNum: num.num(v), }; }; const info = () => { return { qMin: num.min(), qMax: num.max(), qFallbackTitle: `${isAttr ? 'Attr' : ''}Measure ${index}`, ...(isAttr ? {} : { qAttrDimInfo: attrDims.map(ad => ad.info()), qAttrExprInfo: attrExps.map(ad => ad.info()), }), ...override, }; }; const cell = !isAttr && (attrDims.length || attrExps.length) ? nxCell(basicCell, attrDims, attrExps) : basicCell; return { cell, info, }; }; module.exports = measure;