@firestone-hs/replay-parser
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.2.9.
34 lines • 5.92 kB
JavaScript
import { ActionHelper } from '../../services/action/action-helper';
import { Action } from './action';
export class CardTargetAction extends Action {
constructor(allCards) {
super(allCards);
}
static create(newAction, allCards) {
return Object.assign(new CardTargetAction(allCards), newAction);
}
update(entities) {
return Object.assign(new CardTargetAction(this.allCards), this, {
entities,
});
}
enrichWithText(allEntitiesSoFar) {
const originCardId = ActionHelper.getCardId(this.entities, this.originId, allEntitiesSoFar);
const targetCardIds = this.targetIds.map(entityId => ActionHelper.getCardId(this.entities, entityId, allEntitiesSoFar));
const originCardName = this.allCards.getCard(originCardId).name;
const targetCardNames = targetCardIds
.map(cardId => this.allCards.getCard(cardId))
// There are some weird cases where the entity is not defined in the XML itself
.filter(card => card)
.map(card => card.name)
.join(', ');
const textRaw = `\t${originCardName} targets ${targetCardNames}`;
return Object.assign(new CardTargetAction(this.allCards), this, {
textRaw,
});
}
getInstance() {
return new CardTargetAction(this.allCards);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC10YXJnZXQtYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwbGF5LXBhcnNlci9zcmMvbGliL21vZGVscy9hY3Rpb24vY2FyZC10YXJnZXQtYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUduRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR2xDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxNQUFNO0lBSTNDLFlBQVksUUFBeUI7UUFDcEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxRQUF5QjtRQUN4RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQTZCO1FBQzFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUU7WUFDL0QsUUFBUTtTQUNSLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjLENBQUMsZ0JBQXFDO1FBQzFELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDNUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDbkQsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUNqRSxDQUFDO1FBQ0YsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hFLE1BQU0sZUFBZSxHQUFHLGFBQWE7YUFDbkMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0MsK0VBQStFO2FBQzlFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzthQUNwQixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNiLE1BQU0sT0FBTyxHQUFHLEtBQUssY0FBYyxZQUFZLGVBQWUsRUFBRSxDQUFDO1FBQ2pFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUU7WUFDL0QsT0FBTztTQUNQLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFUyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFwIH0gZnJvbSAnaW1tdXRhYmxlJztcclxuaW1wb3J0IHsgQWN0aW9uSGVscGVyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWN0aW9uL2FjdGlvbi1oZWxwZXInO1xyXG5pbXBvcnQgeyBBbGxDYXJkc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGwtY2FyZHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uL2dhbWUvZW50aXR5JztcclxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24nO1xyXG5pbXBvcnQgeyBIYXNUYXJnZXRzIH0gZnJvbSAnLi9oYXMtdGFyZ2V0cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgQ2FyZFRhcmdldEFjdGlvbiBleHRlbmRzIEFjdGlvbiBpbXBsZW1lbnRzIEhhc1RhcmdldHMge1xyXG5cdHJlYWRvbmx5IG9yaWdpbklkOiBudW1iZXI7XHJcblx0cmVhZG9ubHkgdGFyZ2V0SWRzOiByZWFkb25seSBudW1iZXJbXTtcclxuXHJcblx0Y29uc3RydWN0b3IoYWxsQ2FyZHM6IEFsbENhcmRzU2VydmljZSkge1xyXG5cdFx0c3VwZXIoYWxsQ2FyZHMpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHN0YXRpYyBjcmVhdGUobmV3QWN0aW9uLCBhbGxDYXJkczogQWxsQ2FyZHNTZXJ2aWNlKTogQ2FyZFRhcmdldEFjdGlvbiB7XHJcblx0XHRyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgQ2FyZFRhcmdldEFjdGlvbihhbGxDYXJkcyksIG5ld0FjdGlvbik7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgdXBkYXRlKGVudGl0aWVzOiBNYXA8bnVtYmVyLCBFbnRpdHk+KTogQ2FyZFRhcmdldEFjdGlvbiB7XHJcblx0XHRyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgQ2FyZFRhcmdldEFjdGlvbih0aGlzLmFsbENhcmRzKSwgdGhpcywge1xyXG5cdFx0XHRlbnRpdGllcyxcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGVucmljaFdpdGhUZXh0KGFsbEVudGl0aWVzU29GYXI6IE1hcDxudW1iZXIsIEVudGl0eT4pOiBDYXJkVGFyZ2V0QWN0aW9uIHtcclxuXHRcdGNvbnN0IG9yaWdpbkNhcmRJZCA9IEFjdGlvbkhlbHBlci5nZXRDYXJkSWQodGhpcy5lbnRpdGllcywgdGhpcy5vcmlnaW5JZCwgYWxsRW50aXRpZXNTb0Zhcik7XHJcblx0XHRjb25zdCB0YXJnZXRDYXJkSWRzID0gdGhpcy50YXJnZXRJZHMubWFwKGVudGl0eUlkID0+XHJcblx0XHRcdEFjdGlvbkhlbHBlci5nZXRDYXJkSWQodGhpcy5lbnRpdGllcywgZW50aXR5SWQsIGFsbEVudGl0aWVzU29GYXIpLFxyXG5cdFx0KTtcclxuXHRcdGNvbnN0IG9yaWdpbkNhcmROYW1lID0gdGhpcy5hbGxDYXJkcy5nZXRDYXJkKG9yaWdpbkNhcmRJZCkubmFtZTtcclxuXHRcdGNvbnN0IHRhcmdldENhcmROYW1lcyA9IHRhcmdldENhcmRJZHNcclxuXHRcdFx0Lm1hcChjYXJkSWQgPT4gdGhpcy5hbGxDYXJkcy5nZXRDYXJkKGNhcmRJZCkpXHJcblx0XHRcdC8vIFRoZXJlIGFyZSBzb21lIHdlaXJkIGNhc2VzIHdoZXJlIHRoZSBlbnRpdHkgaXMgbm90IGRlZmluZWQgaW4gdGhlIFhNTCBpdHNlbGZcclxuXHRcdFx0LmZpbHRlcihjYXJkID0+IGNhcmQpXHJcblx0XHRcdC5tYXAoY2FyZCA9PiBjYXJkLm5hbWUpXHJcblx0XHRcdC5qb2luKCcsICcpO1xyXG5cdFx0Y29uc3QgdGV4dFJhdyA9IGBcXHQke29yaWdpbkNhcmROYW1lfSB0YXJnZXRzICR7dGFyZ2V0Q2FyZE5hbWVzfWA7XHJcblx0XHRyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgQ2FyZFRhcmdldEFjdGlvbih0aGlzLmFsbENhcmRzKSwgdGhpcywge1xyXG5cdFx0XHR0ZXh0UmF3LFxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgZ2V0SW5zdGFuY2UoKTogQWN0aW9uIHtcclxuXHRcdHJldHVybiBuZXcgQ2FyZFRhcmdldEFjdGlvbih0aGlzLmFsbENhcmRzKTtcclxuXHR9XHJcbn1cclxuIl19