@minofrk/msf-pretty-print
Version:
An opinionated pretty-printer for MSF format.
27 lines • 1.1 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var Option_1 = require("fp-ts/lib/Option");
var codecs_1 = require("./codecs");
var board_to_string_1 = __importDefault(require("./board-to-string"));
function format(key, value) {
if (typeof value === 'string' && /^\$\d+$/.test(value)) {
return Option_1.some(value);
}
if (key === 'ele' && codecs_1.Board.is(value)) {
return Option_1.some(board_to_string_1["default"](value));
}
if ((key === 'i' || key === 'a') &&
codecs_1.Position.is(value) &&
Object.keys(value).length === 2) {
return Option_1.some("{ \"alsia\": " + value.alsia + ", \"soom\": " + value.soom + " }");
}
if ((key === 'txifol' || key === 'korol') && codecs_1.StringArray.is(value)) {
return Option_1.some('[' + value.map(function (x) { return "\"" + x + "\""; }).join(', ') + ']');
}
return Option_1.none;
}
exports["default"] = format;
//# sourceMappingURL=index.js.map