Skip to content

Commit 60272ab

Browse files
committed
BREAKING CHANGE: List valueId values array becomes an Object value: valueString
1 parent db3e197 commit 60272ab

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,5 @@ node_modules
1212
.idea
1313
.tags
1414
.vscode
15+
16+
ozwcache_*.xml

src/utils.cc

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -128,14 +128,25 @@ void setValObj(Local<Object> &valobj, OpenZWave::ValueID &value)
128128
}
129129
case OpenZWave::ValueID::ValueType_List:
130130
{
131-
::std::string val;
132-
::std::vector<::std::string> items;
131+
int32 val;
132+
::std::vector <::std::string > items;
133+
::std::vector <int32> itemsvalues;
134+
v8::Local<v8::Object> values = Nan::New<v8::Object>();
135+
133136
// populate array of all available items in the list
134-
OZWManager(GetValueListItems, value, &items);
135-
AddArrayOfStringProp(valobj, values, items);
137+
OZWManager( GetValueListItems, value, &items);
138+
OZWManager( GetValueListValues, value, &itemsvalues);
139+
140+
// popolate the object value: item
141+
for (int i = 0; (unsigned)i < items.size(); i++) {
142+
Nan::Set(values, Nan::New<v8::String>(::std::to_string(itemsvalues[i])).ToLocalChecked(), Nan::New<v8::String>(items[i].c_str()).ToLocalChecked());
143+
}
144+
145+
Nan::Set(valobj, Nan::New<v8::String>("values").ToLocalChecked(), values);
136146
// populated selected element
137-
OZWManager(GetValueListSelection, value, &val);
138-
AddStringProp(valobj, value, val.c_str()) break;
147+
OZWManager( GetValueListSelection, value, &val);
148+
AddIntegerProp(valobj, value, val);
149+
break;
139150
}
140151
case OpenZWave::ValueID::ValueType_Short:
141152
{

0 commit comments

Comments
 (0)