@wbg-mde/model
Version:
Metadata Editor Model Definitions
170 lines (169 loc) • 5.52 kB
JavaScript
"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;