UNPKG

@firestone-hs/replay-parser

Version:

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

29 lines 4.63 kB
import { GameTag, Zone } from '@firestone-hs/reference-data'; import { TradeAction } from '../../models/action/trade-action'; import { TagChangeHistoryItem } from '../../models/history/tag-change-history-item'; export class TradeParser { constructor(allCards) { this.allCards = allCards; } applies(item) { return item instanceof TagChangeHistoryItem && item.tag.tag === GameTag.IS_USING_TRADE_OPTION; } parse(item, currentTurn, entitiesBeforeAction, history) { const entity = entitiesBeforeAction.get(item.tag.entity); // Damage is reset to 0 after an entity dies, and we don't want to show this if (!entity || entity.getTag(GameTag.ZONE) !== Zone.HAND) { return []; } return [ TradeAction.create({ timestamp: item.timestamp, index: item.index, originId: item.tag.entity, }, this.allCards), ]; } reduce(actions) { return actions; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZGUtcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwbGF5LXBhcnNlci9zcmMvbGliL3NlcnZpY2VzL2FjdGlvbi90cmFkZS1wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFJcEYsTUFBTSxPQUFPLFdBQVc7SUFDdkIsWUFBb0IsUUFBeUI7UUFBekIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7SUFBRyxDQUFDO0lBRTFDLE9BQU8sQ0FBQyxJQUFpQjtRQUMvQixPQUFPLElBQUksWUFBWSxvQkFBb0IsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUMscUJBQXFCLENBQUM7SUFDL0YsQ0FBQztJQUVNLEtBQUssQ0FDWCxJQUEwQixFQUMxQixXQUFtQixFQUNuQixvQkFBeUMsRUFDekMsT0FBK0I7UUFFL0IsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsNEVBQTRFO1FBQzVFLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6RCxPQUFPLEVBQUUsQ0FBQztTQUNWO1FBRUQsT0FBTztZQUNOLFdBQVcsQ0FBQyxNQUFNLENBQ2pCO2dCQUNDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNO2FBQ2YsRUFDWCxJQUFJLENBQUMsUUFBUSxDQUNiO1NBQ0QsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsT0FBMEI7UUFDdkMsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FtZVRhZywgWm9uZSB9IGZyb20gJ0BmaXJlc3RvbmUtaHMvcmVmZXJlbmNlLWRhdGEnO1xyXG5pbXBvcnQgeyBNYXAgfSBmcm9tICdpbW11dGFibGUnO1xyXG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWN0aW9uL2FjdGlvbic7XHJcbmltcG9ydCB7IFRyYWRlQWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjdGlvbi90cmFkZS1hY3Rpb24nO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2FtZS9lbnRpdHknO1xyXG5pbXBvcnQgeyBIaXN0b3J5SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9oaXN0b3J5L2hpc3RvcnktaXRlbSc7XHJcbmltcG9ydCB7IFRhZ0NoYW5nZUhpc3RvcnlJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpc3RvcnkvdGFnLWNoYW5nZS1oaXN0b3J5LWl0ZW0nO1xyXG5pbXBvcnQgeyBBbGxDYXJkc1NlcnZpY2UgfSBmcm9tICcuLi9hbGwtY2FyZHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhcnNlciB9IGZyb20gJy4vcGFyc2VyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcmFkZVBhcnNlciBpbXBsZW1lbnRzIFBhcnNlciB7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBhbGxDYXJkczogQWxsQ2FyZHNTZXJ2aWNlKSB7fVxyXG5cclxuXHRwdWJsaWMgYXBwbGllcyhpdGVtOiBIaXN0b3J5SXRlbSk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIGl0ZW0gaW5zdGFuY2VvZiBUYWdDaGFuZ2VIaXN0b3J5SXRlbSAmJiBpdGVtLnRhZy50YWcgPT09IEdhbWVUYWcuSVNfVVNJTkdfVFJBREVfT1BUSU9OO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHBhcnNlKFxyXG5cdFx0aXRlbTogVGFnQ2hhbmdlSGlzdG9yeUl0ZW0sXHJcblx0XHRjdXJyZW50VHVybjogbnVtYmVyLFxyXG5cdFx0ZW50aXRpZXNCZWZvcmVBY3Rpb246IE1hcDxudW1iZXIsIEVudGl0eT4sXHJcblx0XHRoaXN0b3J5OiByZWFkb25seSBIaXN0b3J5SXRlbVtdLFxyXG5cdCk6IEFjdGlvbltdIHtcclxuXHRcdGNvbnN0IGVudGl0eSA9IGVudGl0aWVzQmVmb3JlQWN0aW9uLmdldChpdGVtLnRhZy5lbnRpdHkpO1xyXG5cdFx0Ly8gRGFtYWdlIGlzIHJlc2V0IHRvIDAgYWZ0ZXIgYW4gZW50aXR5IGRpZXMsIGFuZCB3ZSBkb24ndCB3YW50IHRvIHNob3cgdGhpc1xyXG5cdFx0aWYgKCFlbnRpdHkgfHwgZW50aXR5LmdldFRhZyhHYW1lVGFnLlpPTkUpICE9PSBab25lLkhBTkQpIHtcclxuXHRcdFx0cmV0dXJuIFtdO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBbXHJcblx0XHRcdFRyYWRlQWN0aW9uLmNyZWF0ZShcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHR0aW1lc3RhbXA6IGl0ZW0udGltZXN0YW1wLFxyXG5cdFx0XHRcdFx0aW5kZXg6IGl0ZW0uaW5kZXgsXHJcblx0XHRcdFx0XHRvcmlnaW5JZDogaXRlbS50YWcuZW50aXR5LFxyXG5cdFx0XHRcdH0gYXMgQWN0aW9uLFxyXG5cdFx0XHRcdHRoaXMuYWxsQ2FyZHMsXHJcblx0XHRcdCksXHJcblx0XHRdO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHJlZHVjZShhY3Rpb25zOiByZWFkb25seSBBY3Rpb25bXSk6IHJlYWRvbmx5IEFjdGlvbltdIHtcclxuXHRcdHJldHVybiBhY3Rpb25zO1xyXG5cdH1cclxufVxyXG4iXX0=