UNPKG

@firestone-hs/replay-parser

Version:

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

37 lines 6.12 kB
import { GameTag } from '@firestone-hs/reference-data'; import { Entity } from './entity'; export class PlayerEntity extends Entity { static create(base, newAttributes) { // Merge tags const newTags = newAttributes && newAttributes.tags ? newAttributes.tags : {}; const tags = base.tags ? { ...base.tags, ...newTags } : newTags; const newEntity = Object.assign(new PlayerEntity(), base, newAttributes, { tags }); return newEntity; } update(definition) { const newAttributes = {}; if (definition.cardID) { newAttributes.cardID = definition.cardID; } if (definition.name) { newAttributes.name = definition.name; } if (definition.tags) { newAttributes.tags = definition.tags; if (newAttributes.tags.PLAYSTATE === 8) { newAttributes.tags.CONCEDED = 1; } } return PlayerEntity.create(this, newAttributes); } updateDamage(damage) { const base = this; return Object.assign(new PlayerEntity(), base, { damageForThisAction: damage }); } updateTag(tag, value) { const newTags = { ...this.tags, [GameTag[tag]]: value }; const base = this; return Object.assign(new PlayerEntity(), base, { tags: newTags }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWVyLWVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcGxheS1wYXJzZXIvc3JjL2xpYi9tb2RlbHMvZ2FtZS9wbGF5ZXItZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDLE1BQU0sT0FBTyxZQUFhLFNBQVEsTUFBTTtJQU9oQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQWtCLEVBQUUsYUFBZ0M7UUFDeEUsYUFBYTtRQUNiLE1BQU0sT0FBTyxHQUFrQyxhQUFhLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdHLE1BQU0sSUFBSSxHQUFrQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDL0YsTUFBTSxTQUFTLEdBQWlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNqRyxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQTRCO1FBQ3pDLE1BQU0sYUFBYSxHQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsYUFBYSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3BCLGFBQWEsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztTQUNyQztRQUNELElBQUksVUFBVSxDQUFDLElBQUksRUFBRTtZQUNwQixhQUFhLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDckMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3ZDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQzthQUNoQztTQUNEO1FBQ0QsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQWM7UUFDakMsTUFBTSxJQUFJLEdBQWlCLElBQUksQ0FBQztRQUNoQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFTSxTQUFTLENBQUMsR0FBWSxFQUFFLEtBQWE7UUFDM0MsTUFBTSxPQUFPLEdBQWtDLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDdkYsTUFBTSxJQUFJLEdBQWlCLElBQUksQ0FBQztRQUNoQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW1lVGFnIH0gZnJvbSAnQGZpcmVzdG9uZS1ocy9yZWZlcmVuY2UtZGF0YSc7XHJcbmltcG9ydCB7IEVudGl0eURlZmluaXRpb24gfSBmcm9tICcuLi9wYXJzZXIvZW50aXR5LWRlZmluaXRpb24nO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuL2VudGl0eSc7XHJcblxyXG5leHBvcnQgY2xhc3MgUGxheWVyRW50aXR5IGV4dGVuZHMgRW50aXR5IHtcclxuXHRyZWFkb25seSBwbGF5ZXJJZDogbnVtYmVyO1xyXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuXHRyZWFkb25seSBhY2NvdW50SGk6IHN0cmluZztcclxuXHRyZWFkb25seSBhY2NvdW50TG86IHN0cmluZztcclxuXHRyZWFkb25seSBpc01haW5QbGF5ZXI6IGJvb2xlYW47XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgY3JlYXRlKGJhc2U6IFBsYXllckVudGl0eSwgbmV3QXR0cmlidXRlcz86IEVudGl0eURlZmluaXRpb24pOiBQbGF5ZXJFbnRpdHkge1xyXG5cdFx0Ly8gTWVyZ2UgdGFnc1xyXG5cdFx0Y29uc3QgbmV3VGFnczogeyBbdGFnTmFtZTogc3RyaW5nXTogbnVtYmVyIH0gPSBuZXdBdHRyaWJ1dGVzICYmIG5ld0F0dHJpYnV0ZXMudGFncyA/IG5ld0F0dHJpYnV0ZXMudGFncyA6IHt9O1xyXG5cdFx0Y29uc3QgdGFnczogeyBbdGFnTmFtZTogc3RyaW5nXTogbnVtYmVyIH0gPSBiYXNlLnRhZ3MgPyB7IC4uLmJhc2UudGFncywgLi4ubmV3VGFncyB9IDogbmV3VGFncztcclxuXHRcdGNvbnN0IG5ld0VudGl0eTogUGxheWVyRW50aXR5ID0gT2JqZWN0LmFzc2lnbihuZXcgUGxheWVyRW50aXR5KCksIGJhc2UsIG5ld0F0dHJpYnV0ZXMsIHsgdGFncyB9KTtcclxuXHRcdHJldHVybiBuZXdFbnRpdHk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgdXBkYXRlKGRlZmluaXRpb246IEVudGl0eURlZmluaXRpb24pOiBQbGF5ZXJFbnRpdHkge1xyXG5cdFx0Y29uc3QgbmV3QXR0cmlidXRlczogYW55ID0ge307XHJcblx0XHRpZiAoZGVmaW5pdGlvbi5jYXJkSUQpIHtcclxuXHRcdFx0bmV3QXR0cmlidXRlcy5jYXJkSUQgPSBkZWZpbml0aW9uLmNhcmRJRDtcclxuXHRcdH1cclxuXHRcdGlmIChkZWZpbml0aW9uLm5hbWUpIHtcclxuXHRcdFx0bmV3QXR0cmlidXRlcy5uYW1lID0gZGVmaW5pdGlvbi5uYW1lO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGRlZmluaXRpb24udGFncykge1xyXG5cdFx0XHRuZXdBdHRyaWJ1dGVzLnRhZ3MgPSBkZWZpbml0aW9uLnRhZ3M7XHJcblx0XHRcdGlmIChuZXdBdHRyaWJ1dGVzLnRhZ3MuUExBWVNUQVRFID09PSA4KSB7XHJcblx0XHRcdFx0bmV3QXR0cmlidXRlcy50YWdzLkNPTkNFREVEID0gMTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIFBsYXllckVudGl0eS5jcmVhdGUodGhpcywgbmV3QXR0cmlidXRlcyk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgdXBkYXRlRGFtYWdlKGRhbWFnZTogbnVtYmVyKTogUGxheWVyRW50aXR5IHtcclxuXHRcdGNvbnN0IGJhc2U6IFBsYXllckVudGl0eSA9IHRoaXM7XHJcblx0XHRyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgUGxheWVyRW50aXR5KCksIGJhc2UsIHsgZGFtYWdlRm9yVGhpc0FjdGlvbjogZGFtYWdlIH0pO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHVwZGF0ZVRhZyh0YWc6IEdhbWVUYWcsIHZhbHVlOiBudW1iZXIpOiBQbGF5ZXJFbnRpdHkge1xyXG5cdFx0Y29uc3QgbmV3VGFnczogeyBbdGFnTmFtZTogc3RyaW5nXTogbnVtYmVyIH0gPSB7IC4uLnRoaXMudGFncywgW0dhbWVUYWdbdGFnXV06IHZhbHVlIH07XHJcblx0XHRjb25zdCBiYXNlOiBQbGF5ZXJFbnRpdHkgPSB0aGlzO1xyXG5cdFx0cmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFBsYXllckVudGl0eSgpLCBiYXNlLCB7IHRhZ3M6IG5ld1RhZ3MgfSk7XHJcblx0fVxyXG59XHJcbiJdfQ==