Implicit timestamp when declare()ing values

This commit is contained in:
Zaid Abdulla committed 2017-01-30 07:35:48 -08:00
1 parent e2fb00c38a
commit 340016813c
1 file changed
+28 -22
+28 -22
View File
@@ -141,33 +141,39 @@ function declare(path, timestamps, values) {
if (!timestamps) if (!timestamps)
timestamps = {}; timestamps = {};
if (!values)
values = {};
let parsedPath = common.parsePath(path); let parsedPath = common.parsePath(path);
let declaration = [parsedPath, 1]; let declaration = [parsedPath, 1];
let attrs = {}; let attrs = {};
if (timestamps)
for (let attrName in timestamps)
if (attrName === "path")
declaration[1] = timestamps.path;
else {
attrs[attrName] = 1;
declaration[2] = declaration[2] || {};
declaration[2][attrName] = timestamps[attrName];
}
if (values) for (let attrName in values) {
for (let attrName in values) if (!timestamps[attrName])
if (attrName === "path") timestamps[attrName] = 1;
declaration[3] = values.path;
else { if (attrName === "path")
attrs[attrName] = 1; declaration[3] = values.path;
declaration[4] = declaration[4] || {}; else {
if (attrName === "value" && !Array.isArray(values.value)) attrs[attrName] = 1;
declaration[4].value = [values.value]; declaration[4] = declaration[4] || {};
else if (attrName === "value" && !Array.isArray(values.value))
declaration[4][attrName] = values[attrName]; declaration[4].value = [values.value];
} else
declaration[4][attrName] = values[attrName];
}
}
for (let attrName in timestamps) {
if (attrName === "path")
declaration[1] = timestamps.path;
else {
attrs[attrName] = 1;
declaration[2] = declaration[2] || {};
declaration[2][attrName] = timestamps[attrName];
}
}
sandbox.declarations.push(declaration); sandbox.declarations.push(declaration);