UNPKG

preferans-paper-js

Version:
89 lines 3.04 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); const pref_paper_entry_1 = require("./pref.paper.entry"); const pref_paper_position_1 = require("./enums/pref.paper.position"); class PrefPaperEntryRefa extends pref_paper_entry_1.default { constructor() { super(...arguments); this._left = 0; this._middle = 0; this._right = 0; } setPlayedPassed(position) { switch (position) { case pref_paper_position_1.default.LEFT: return this.setLeftPlayedPassed(); case pref_paper_position_1.default.MIDDLE: return this.setMiddlePlayedPassed(); case pref_paper_position_1.default.RIGHT: return this.setRightPlayedPassed(); } } setPlayedFailed(position) { switch (position) { case pref_paper_position_1.default.LEFT: return this.setLeftPlayedFailed(); case pref_paper_position_1.default.MIDDLE: return this.setMiddlePlayedFailed(); case pref_paper_position_1.default.RIGHT: return this.setRightPlayedFailed(); } } setLeftPlayedPassed() { if (this.leftPlayed) throw new Error('PrefPaperEntryRefa::setLeftPlayedPassed:Left already marked as played!'); this._left = 1; return this; } setLeftPlayedFailed() { if (this.leftPlayed) throw new Error('PrefPaperEntryRefa::setLeftPlayedFailed:Left already marked as played!'); this._left = -1; return this; } setMiddlePlayedPassed() { if (this.middlePlayed) throw new Error('PrefPaperEntryRefa::setMiddlePlayedPassed:Middle already marked as played!'); this._middle = 1; return this; } setMiddlePlayedFailed() { if (this.middlePlayed) throw new Error('PrefPaperEntryRefa::setMiddlePlayedFailed:Middle already marked as played!'); this._middle = -1; return this; } setRightPlayedPassed() { if (this.rightPlayed) throw new Error('PrefPaperEntryRefa::setRightPlayedPassed:Right already marked as played!'); this._right = 1; return this; } setRightPlayedFailed() { if (this.rightPlayed) throw new Error('PrefPaperEntryRefa::setRightPlayedFailed:Right already marked as played!'); this._right = -1; return this; } get leftPlayed() { return this._left !== 0; } get middlePlayed() { return this._middle !== 0; } get rightPlayed() { return this._right !== 0; } get isRefa() { return true; } get json() { return { left: this._left, middle: this._middle, right: this._right }; } } exports.default = PrefPaperEntryRefa; //# sourceMappingURL=pref.paper.entry.refa.js.map