test-bed-time-service
Version:
A time service for the test-bed, producing messages with real time, fictive time and scenario duration.
41 lines • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const node_test_bed_adapter_1 = require("node-test-bed-adapter");
const time_service_states_1 = require("./time-service-states");
const time_service_initialized_state_1 = require("./time-service-initialized-state");
class Idle extends time_service_states_1.TimeServiceBaseState {
get name() {
return node_test_bed_adapter_1.TimeState.Idle;
}
transition(controlMsg) {
switch (controlMsg.command) {
case node_test_bed_adapter_1.TimeCommand.Init: {
if (!controlMsg.trialTime) {
this.log.warn('Received Init command but no TrialTime was provided. Will default to current real-time.');
this.timeService.trialTime = (new Date).getTime();
}
else {
this.timeService.trialTime = controlMsg.trialTime;
this.log.info('Initialized Trial Time to UTC: ' + new Date(controlMsg.trialTime).toUTCString());
}
this.log.info('Received command ' + controlMsg.command + '. Transitioning to Initialized.');
return new time_service_initialized_state_1.Initialized(this.timeService);
}
default: {
this.log.warn('Received command ' + controlMsg.command + ' while in Idle state. Doing nothing!');
return this;
}
}
}
createTimeMessage() {
return {
updatedAt: Date.now(),
trialTime: 0,
timeElapsed: 0,
trialTimeSpeed: 0,
state: node_test_bed_adapter_1.TimeState.Idle
};
}
}
exports.Idle = Idle;
//# sourceMappingURL=time-service-idle-state.js.map