diff --git a/src/Property.js b/src/Property.js index 27f1d3d9a97fede44b620f958d9663a4823c3df2..0959d5a7a8f0a660e950d6e146dda751ef64198e 100644 --- a/src/Property.js +++ b/src/Property.js @@ -70,9 +70,13 @@ export class Property { return this.wrappedProperty.getId(); } + getUnit() { + return this.wrappedProperty.getUnit(); + } + getValue() { const wrappedValue = this.wrappedProperty.getValue(); - if (value === undefined) { + if (wrappedValue === undefined) { // Empty values are undefined regardless of data type return undefined; } @@ -84,11 +88,21 @@ export class Property { case dtypeCases.ATOMIC_DATA_TYPE: return _getScalarValue(wrappedValue.getScalarValue()); case dtypeCases.LIST_DATA_TYPE: - return _getListValue(wrappedDataType.getListDataTypeCase(), wrappedValue.getListValues().getValuesList()); + return _getListValue(wrappedDataType.getListDataType(), wrappedValue.getListValues().getValuesList()); case dtypeCases.REFERENCE_DATA_TYPE: return _getScalarValue(wrappedValue.getScalarValue()); default: - throw `Unkown data type ${wrappedDataType.getDataTypeCase()}.`; + throw `Unknown data type ${wrappedDataType.getDataTypeCase()}.`; } } + + isReference() { + const wrappedDataType = this.wrappedProperty.getDataType() + const dtypeCase = wrappedDataType.getDataTypeCase(); + return ( + (dtypeCase === api.v1.DataType.DataTypeCase.REFERENCE_DATA_TYPE) || + (dtypeCase === api.v1.DataType.DataTypeCase.LIST_DATA_TYPE && + wrappedDataType.getListDataType().getListDataTypeCase() === api.v1.ListDataType.ListDataTypeCase.REFERENCE_DATA_TYPE) + ); + } }