[Time Conductor] Parse negative values

...in example telemetry
This commit is contained in:
Victor Woeltjen
2015-10-27 12:35:15 -07:00
parent 9723c65016
commit 6b805183b0

View File

@@ -27,7 +27,7 @@ define(
"use strict"; "use strict";
var START_TIME = SinewaveConstants.START_TIME, var START_TIME = SinewaveConstants.START_TIME,
NUMBER_REGEX = /^\d+$/, FORMAT_REGEX = /^-?\d+:\d+:\d+$/,
SECOND = 1000, SECOND = 1000,
MINUTE = SECOND * 60, MINUTE = SECOND * 60,
HOUR = MINUTE * 60; HOUR = MINUTE * 60;
@@ -50,19 +50,17 @@ define(
}; };
SinewaveDeltaFormat.prototype.validate = function (text) { SinewaveDeltaFormat.prototype.validate = function (text) {
var parts = text.split(":"); return FORMAT_REGEX.test(text);
return parts.length === 3 && parts.every(function (part) {
return NUMBER_REGEX.test(part);
});
}; };
SinewaveDeltaFormat.prototype.parse = function (text) { SinewaveDeltaFormat.prototype.parse = function (text) {
var parts = text.split(":"); var negative = text[0] === "-",
parts = text.replace("-", "").split(":");
return [ HOUR, MINUTE, SECOND ].map(function (sz, i) { return [ HOUR, MINUTE, SECOND ].map(function (sz, i) {
return parseInt(parts[i], 10) * sz; return parseInt(parts[i], 10) * sz;
}).reduce(function (a, b) { }).reduce(function (a, b) {
return a + b; return a + b;
}, SinewaveConstants.START_TIME); }, 0) * (negative ? -1 : 1) + START_TIME;
}; };
return SinewaveDeltaFormat; return SinewaveDeltaFormat;