UNPKG

@wbg-mde/model

Version:

Metadata Editor Model Definitions

170 lines (169 loc) 5.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class Variable { constructor(variable) { this.uniqueId = variable.uniqueId; this.ID = variable.ID; this.internalName = variable.name; this.name = variable.name; this.files = variable.files; this.dcml = variable.dcml; this.intrvl = variable.intrvl; this.labl = variable.labl; this.number = variable.number; if (variable.location) this.location = new VariableLocation(variable.location); this.imputation = variable.imputation; this.security = variable.security; this.respUnit = variable.respUnit; this.qstn = variable.qstn; this.concept = variable.concept; if (variable.valrng) this.valrng = new RangeValidation(variable.valrng); if (variable.invalrng) this.invalrng = new InvalidRange(variable.invalrng); this.universe = variable.universe; this.notes = variable.notes; this.txt = variable.txt; this.codInstr = variable.codInstr; this.concept = variable.concept; if (variable.sumStat && variable.sumStat instanceof Array) { this.sumStat = []; for (let sumstat of variable.sumStat) { this.sumStat.push(new SummaryStatus(sumstat)); } } if (variable.catgry && variable.catgry instanceof Array) { this.catgry = []; for (let catgry of variable.catgry) { this.catgry.push(new VariableCategory(catgry)); } } if (variable.varFormat) { this.varFormat = new VariableFormat(variable.varFormat); } this.isTimeVariable = variable.isTimeVariable; this.implicitDecimal = variable.implicitDecimal; this.stringLength = variable.stringLength; this.measure = variable.measure; if (variable.missingData) { this.missingData = new MissingData(variable.missingData); } else { this.missingData = { "formula": [], "string": "" }; } this.varType = variable.varType; } } exports.Variable = Variable; class VariableLocation { constructor(location) { this.StartPos = location.StartPos; this.EndPos = location.EndPos; this.width = location.width; this.RecSegNo = location.RecSegNo; } } exports.VariableLocation = VariableLocation; class RangeValidation { constructor(valrange) { if (valrange.range) { this.range = new Range(valrange.range); } } } exports.RangeValidation = RangeValidation; class InvalidRange { constructor(invalrange) { if (invalrange.range) { this.range = []; if (invalrange.range instanceof Array) { for (let rng of invalrange.range) { this.range.push(new Range(rng)); } } else { this.range.push(new Range(invalrange.range)); } } if (invalrange.item) { this.item = []; if (invalrange.item instanceof Array) { for (let itm of invalrange.item) { this.item.push(new Item(itm)); } } else { this.item.push(new Item(invalrange.item)); } } } } exports.InvalidRange = InvalidRange; class Range { constructor(validation) { this.UNITS = validation.UNITS; this.min = validation.min; this.max = validation.max; this.mean = validation.mean; this.stdev = validation.stdev; } } exports.Range = Range; class Item { constructor(item) { this.UNITS = item.UNITS; this.value = item.value; } } exports.Item = Item; class SummaryStatus { constructor(sumstatus) { this.wgtd = sumstatus.wgtd; this.type = sumstatus.type; this.text = sumstatus.text; } } exports.SummaryStatus = SummaryStatus; class VariableCategory { constructor(category) { this.catValu = category.catValu; this.labl = category.labl; this.txt = category.txt; this.labelled = category.labelled; this.missing = category.missing; this.catStat = category.catStat; } } exports.VariableCategory = VariableCategory; class VariableFormat { constructor(varFormat) { this.type = varFormat.type; this.schema = varFormat.schema; this.format = varFormat.format; } } exports.VariableFormat = VariableFormat; class MissingData { constructor(missingData) { this.formula = missingData.formula; this.string = missingData.string; } } exports.MissingData = MissingData; class VariableGroup { constructor(variableGroup) { this.ID = variableGroup.id; this.type = variableGroup.type || ''; this.label = variableGroup.label; this.universe = variableGroup.universe || ''; this.notes = variableGroup.notes || ''; this.txt = variableGroup.txt || ''; this.definition = variableGroup.definition || ''; this.variables = variableGroup.variables || ''; } } exports.VariableGroup = VariableGroup;