UNPKG

test-bed-time-service

Version:

A time service for the test-bed, producing messages with real time, fictive time and scenario duration.

47 lines 2.19 kB
"use strict"; 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_started_state_1 = require("./time-service-started-state"); const time_service_idle_state_1 = require("./time-service-idle-state"); class Initialized extends time_service_states_1.TimeServiceBaseState { get name() { return node_test_bed_adapter_1.TimeState.Initialized; } transition(controlMsg) { switch (controlMsg.command) { case node_test_bed_adapter_1.TimeCommand.Start: { if (!controlMsg.trialTimeSpeed) { this.log.info('Received Start command but no TrialTimeSpeed was provided. Will default to 1.0.'); this.timeService.trialTimeSpeed = 1.0; } else { this.timeService.trialTimeSpeed = controlMsg.trialTimeSpeed; } this.log.info('Received command ' + controlMsg.command + '. Transitioning to Started.'); this.timeService.startScenario(); return new time_service_started_state_1.Started(this.timeService); } case node_test_bed_adapter_1.TimeCommand.Reset: { this.log.info('Received command ' + controlMsg.command + '. Transitioning to Idle.'); return new time_service_idle_state_1.Idle(this.timeService); } default: { this.log.warn('Received command ' + controlMsg.command + ' while in Initialized state. Doing nothing!'); return this; } } } createTimeMessage() { const timeMsg = { updatedAt: Date.now(), trialTime: this.timeService.trialTime, timeElapsed: 0, trialTimeSpeed: this.timeService.trialTimeSpeed, state: node_test_bed_adapter_1.TimeState.Initialized }; return timeMsg; } } exports.Initialized = Initialized; //# sourceMappingURL=time-service-initialized-state.js.map