UNPKG

@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
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