@canboat/canboatjs
Version:
Native javascript version of canboat
59 lines (58 loc) • 1.88 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const minimist_1 = __importDefault(require("minimist"));
const readline_1 = __importDefault(require("readline"));
const index_1 = require("../index");
const utils_1 = require("./utils");
const argv = (0, minimist_1.default)(process.argv.slice(2), {
string: ['format'],
alias: { h: 'help' }
});
(0, utils_1.printVersion)(argv);
if (argv['help']) {
console.error(`Usage: ${process.argv[0]} [options]
Options:
--format <format> actisense, actisensen2kascii, ikconvert, ydgw, yd-full, pcdin, mxpgn
-h, --help output usage information`);
process.exit(1);
}
const formatters = {
actisense: index_1.pgnToActisenseSerialFormat,
n2kascii: index_1.pgnToActisenseN2KAsciiFormat,
ikconvert: index_1.pgnToiKonvertSerialFormat,
ydgw: index_1.pgnToYdgwRawFormat,
pcdin: index_1.pgnToPCDIN,
mxpgn: index_1.pgnToMXPGN,
'yd-full': index_1.pgnToYdgwFullRawFormat
};
const format = argv['format'] || 'actisense';
const formatter = formatters[format];
if (!formatter) {
console.error(`unknown format: ${argv['format']}`);
process.exit(1);
}
const rl = readline_1.default.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
rl.on('line', function (line) {
const msg = JSON.parse(line);
const res = formatter(msg);
if (Array.isArray(res)) {
res.forEach((m) => {
console.log(m);
});
}
else {
console.log(res);
}
//console.log(pgnToActisenseSerialFormat(msg))
//console.log(pgnToiKonvertSerialFormat(pgn))
//console.log(pgnToYdgwRawFormat(msg))
});
//# sourceMappingURL=to-pgn.js.map