UNPKG

@firestone-hs/replay-parser

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.2.9.

33 lines 4.97 kB
import { GameTag, Mulligan } from '@firestone-hs/reference-data'; import { StartTurnAction } from '../../models/action/start-turn-action'; import { TagChangeHistoryItem } from '../../models/history/tag-change-history-item'; export class StartOfMulliganParser { constructor(allCards) { this.allCards = allCards; this.numberOfMulligansDone = 0; } applies(item) { return (item instanceof TagChangeHistoryItem && item.tag.tag === GameTag.MULLIGAN_STATE && item.tag.value === Mulligan.INPUT); } parse(item, currentTurn, entitiesBeforeAction, history) { if (this.numberOfMulligansDone > 0) { return []; } this.numberOfMulligansDone++; // // console.log('starting mulligan action', item); return [ StartTurnAction.create({ timestamp: item.timestamp, turn: currentTurn, isStartOfMulligan: true, index: item.index, }, this.allCards), ]; } reduce(actions) { return actions; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtb2YtbXVsbGlnYW4tcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwbGF5LXBhcnNlci9zcmMvbGliL3NlcnZpY2VzL2FjdGlvbi9zdGFydC1vZi1tdWxsaWdhbi1wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFJcEYsTUFBTSxPQUFPLHFCQUFxQjtJQUdqQyxZQUE2QixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUY5QywwQkFBcUIsR0FBRyxDQUFDLENBQUM7SUFFdUIsQ0FBQztJQUVuRCxPQUFPLENBQUMsSUFBaUI7UUFDL0IsT0FBTyxDQUNOLElBQUksWUFBWSxvQkFBb0I7WUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDLGNBQWM7WUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FDakMsQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLLENBQ1gsSUFBdUIsRUFDdkIsV0FBbUIsRUFDbkIsb0JBQXlDLEVBQ3pDLE9BQStCO1FBRS9CLElBQUksSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsRUFBRTtZQUNuQyxPQUFPLEVBQUUsQ0FBQztTQUNWO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0Isb0RBQW9EO1FBQ3BELE9BQU87WUFDTixlQUFlLENBQUMsTUFBTSxDQUNyQjtnQkFDQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLElBQUksRUFBRSxXQUFXO2dCQUNqQixpQkFBaUIsRUFBRSxJQUFJO2dCQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDakIsRUFDRCxJQUFJLENBQUMsUUFBUSxDQUNiO1NBQ0QsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsT0FBMEI7UUFDdkMsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FtZVRhZywgTXVsbGlnYW4gfSBmcm9tICdAZmlyZXN0b25lLWhzL3JlZmVyZW5jZS1kYXRhJztcclxuaW1wb3J0IHsgTWFwIH0gZnJvbSAnaW1tdXRhYmxlJztcclxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjdGlvbi9hY3Rpb24nO1xyXG5pbXBvcnQgeyBTdGFydFR1cm5BY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWN0aW9uL3N0YXJ0LXR1cm4tYWN0aW9uJztcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dhbWUvZW50aXR5JztcclxuaW1wb3J0IHsgQWN0aW9uSGlzdG9yeUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlzdG9yeS9hY3Rpb24taGlzdG9yeS1pdGVtJztcclxuaW1wb3J0IHsgSGlzdG9yeUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaGlzdG9yeS9oaXN0b3J5LWl0ZW0nO1xyXG5pbXBvcnQgeyBUYWdDaGFuZ2VIaXN0b3J5SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9oaXN0b3J5L3RhZy1jaGFuZ2UtaGlzdG9yeS1pdGVtJztcclxuaW1wb3J0IHsgQWxsQ2FyZHNTZXJ2aWNlIH0gZnJvbSAnLi4vYWxsLWNhcmRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tICcuL3BhcnNlcic7XHJcblxyXG5leHBvcnQgY2xhc3MgU3RhcnRPZk11bGxpZ2FuUGFyc2VyIGltcGxlbWVudHMgUGFyc2VyIHtcclxuXHRwcml2YXRlIG51bWJlck9mTXVsbGlnYW5zRG9uZSA9IDA7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWxsQ2FyZHM6IEFsbENhcmRzU2VydmljZSkge31cclxuXHJcblx0cHVibGljIGFwcGxpZXMoaXRlbTogSGlzdG9yeUl0ZW0pOiBib29sZWFuIHtcclxuXHRcdHJldHVybiAoXHJcblx0XHRcdGl0ZW0gaW5zdGFuY2VvZiBUYWdDaGFuZ2VIaXN0b3J5SXRlbSAmJlxyXG5cdFx0XHRpdGVtLnRhZy50YWcgPT09IEdhbWVUYWcuTVVMTElHQU5fU1RBVEUgJiZcclxuXHRcdFx0aXRlbS50YWcudmFsdWUgPT09IE11bGxpZ2FuLklOUFVUXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHBhcnNlKFxyXG5cdFx0aXRlbTogQWN0aW9uSGlzdG9yeUl0ZW0sXHJcblx0XHRjdXJyZW50VHVybjogbnVtYmVyLFxyXG5cdFx0ZW50aXRpZXNCZWZvcmVBY3Rpb246IE1hcDxudW1iZXIsIEVudGl0eT4sXHJcblx0XHRoaXN0b3J5OiByZWFkb25seSBIaXN0b3J5SXRlbVtdLFxyXG5cdCk6IEFjdGlvbltdIHtcclxuXHRcdGlmICh0aGlzLm51bWJlck9mTXVsbGlnYW5zRG9uZSA+IDApIHtcclxuXHRcdFx0cmV0dXJuIFtdO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5udW1iZXJPZk11bGxpZ2Fuc0RvbmUrKztcclxuXHRcdC8vIC8vIGNvbnNvbGUubG9nKCdzdGFydGluZyBtdWxsaWdhbiBhY3Rpb24nLCBpdGVtKTtcclxuXHRcdHJldHVybiBbXHJcblx0XHRcdFN0YXJ0VHVybkFjdGlvbi5jcmVhdGUoXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0dGltZXN0YW1wOiBpdGVtLnRpbWVzdGFtcCxcclxuXHRcdFx0XHRcdHR1cm46IGN1cnJlbnRUdXJuLFxyXG5cdFx0XHRcdFx0aXNTdGFydE9mTXVsbGlnYW46IHRydWUsXHJcblx0XHRcdFx0XHRpbmRleDogaXRlbS5pbmRleCxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHRoaXMuYWxsQ2FyZHMsXHJcblx0XHRcdCksXHJcblx0XHRdO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHJlZHVjZShhY3Rpb25zOiByZWFkb25seSBBY3Rpb25bXSk6IHJlYWRvbmx5IEFjdGlvbltdIHtcclxuXHRcdHJldHVybiBhY3Rpb25zO1xyXG5cdH1cclxufVxyXG4iXX0=