@real_one_chess_king/game-logic
Version:
R.O.C.K. chess game logic
18 lines • 833 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildPieceByMeta = buildPieceByMeta;
const piece_constants_1 = require("./piece.constants");
const pieces_1 = require("./pieces");
function buildPieceByMeta(meta) {
const c = mapper[meta.type];
return new c(meta.color, meta.movementRulesMeta.map((ruleMetaId) => ruleMetaId), meta.postMovementRulesMeta?.map((ruleMetaId) => ruleMetaId));
}
const mapper = {
[piece_constants_1.PieceType.Pawn]: pieces_1.Pawn,
[piece_constants_1.PieceType.Bishop]: pieces_1.Bishop,
[piece_constants_1.PieceType.Knight]: pieces_1.Knight,
[piece_constants_1.PieceType.Rook]: pieces_1.Rook,
[piece_constants_1.PieceType.Queen]: pieces_1.Queen,
[piece_constants_1.PieceType.King]: pieces_1.King,
};
//# sourceMappingURL=piece-builder.js.map