Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | 1x 1x 1x 1x 1x 2x 1x 1x 1x 1x | import {siStationStorageLocations} from 'sportident/lib/SiStation/BaseSiStation';
import {ShellCommandContext} from '../Shell';
import {BaseCommand, ArgType} from './BaseCommand';
import {getDirectOrRemoteStation} from './getDirectOrRemoteStation';
const allInfoNames = (
Object.keys(siStationStorageLocations) as (keyof typeof siStationStorageLocations)[]
);
export class GetInfoCommand extends BaseCommand {
getArgTypes(): ArgType[] {
return [
{
name: 'target',
choices: ['direct', 'remote'],
},
{
name: 'information name',
choices: Object.keys(siStationStorageLocations),
isOptional: true,
},
];
}
printUsage(context: ShellCommandContext): void {
super.printUsage(context);
context.putString('e.g. getInfo direct\n');
context.putString('e.g. getInfo direct code\n');
context.putString('e.g. getInfo remote mode\n');
}
run(context: ShellCommandContext): Promise<void> {
const device = context.env.device;
Iif (!device) {
return Promise.reject(new Error('No device.'));
}
const station = getDirectOrRemoteStation(context.args[1], device);
Iif (station === undefined) {
context.putString('No such station\n');
return Promise.resolve();
}
const infoNames = allInfoNames.filter((infoName) => (context.args[2]
? infoName === context.args[2]
: true
));
return station.readInfo()
.then(() => {
infoNames.sort();
// logReact((
// <table>
// {infoNames.map((infoName) => (
// <tr key={infoName}>
// <td>{infoName}</td>
// <td>:</td>
// <td>{`${station.getInfo(infoName)}`}</td>
// </tr>
// ))}
// </table>
// ));
infoNames.forEach((infoName) => {
context.putString(`${infoName}: ${station.getInfo(infoName)}\n`);
});
// selectedMainStation.getTime().then((time1) => {
// console.warn(time1 - new Date());
// selectedMainStation.setTime(new Date()).then((time2) => {
// console.warn(time2 - new Date());
// });
// });
});
}
}
|