@firestone-hs/replay-parser
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.2.9.
28 lines • 4.06 kB
JavaScript
import { GameTag, Zone } from '@firestone-hs/reference-data';
import { GameEntity } from './game-entity';
import { PlayerEntity } from './player-entity';
// Avoid "Lambda not supported" error
// @dynamic
export class GameHepler {
constructor() { }
static getPlayerHand(entities, playerId) {
return entities
.filter((entity) => entity.getTag(GameTag.CONTROLLER) === playerId)
.filter((entity) => entity.getTag(GameTag.ZONE) === Zone.HAND)
.sortBy((entity) => entity.getTag(GameTag.ZONE_POSITION))
.valueSeq()
.toArray();
}
static isPlayerEntity(entityId, entities) {
return entities.get(entityId) instanceof PlayerEntity;
}
static getGameEntity(entities) {
return entities
? entities
.valueSeq()
.toArray()
.find(entity => entity instanceof GameEntity)
: null;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBsYXktcGFyc2VyL3NyYy9saWIvbW9kZWxzL2dhbWUvZ2FtZS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxxQ0FBcUM7QUFDckMsV0FBVztBQUNYLE1BQU0sT0FBTyxVQUFVO0lBQ3RCLGdCQUF1QixDQUFDO0lBRWpCLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBNkIsRUFBRSxRQUFnQjtRQUMxRSxPQUFPLFFBQVE7YUFDYixNQUFNLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLFFBQVEsQ0FBQzthQUMxRSxNQUFNLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDckUsTUFBTSxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNoRSxRQUFRLEVBQUU7YUFDVixPQUFPLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQWdCLEVBQUUsUUFBNkI7UUFDM0UsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxZQUFZLFlBQVksQ0FBQztJQUN2RCxDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUE2QjtRQUN4RCxPQUFPLFFBQVE7WUFDZCxDQUFDLENBQUMsUUFBUTtpQkFDUCxRQUFRLEVBQUU7aUJBQ1YsT0FBTyxFQUFFO2lCQUNULElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sWUFBWSxVQUFVLENBQUM7WUFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNULENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbWVUYWcsIFpvbmUgfSBmcm9tICdAZmlyZXN0b25lLWhzL3JlZmVyZW5jZS1kYXRhJztcclxuaW1wb3J0IHsgTWFwIH0gZnJvbSAnaW1tdXRhYmxlJztcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi9lbnRpdHknO1xyXG5pbXBvcnQgeyBHYW1lRW50aXR5IH0gZnJvbSAnLi9nYW1lLWVudGl0eSc7XHJcbmltcG9ydCB7IFBsYXllckVudGl0eSB9IGZyb20gJy4vcGxheWVyLWVudGl0eSc7XHJcblxyXG4vLyBBdm9pZCBcIkxhbWJkYSBub3Qgc3VwcG9ydGVkXCIgZXJyb3JcclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEdhbWVIZXBsZXIge1xyXG5cdHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuXHRwdWJsaWMgc3RhdGljIGdldFBsYXllckhhbmQoZW50aXRpZXM6IE1hcDxudW1iZXIsIEVudGl0eT4sIHBsYXllcklkOiBudW1iZXIpOiByZWFkb25seSBFbnRpdHlbXSB7XHJcblx0XHRyZXR1cm4gZW50aXRpZXNcclxuXHRcdFx0LmZpbHRlcigoZW50aXR5OiBFbnRpdHkpID0+IGVudGl0eS5nZXRUYWcoR2FtZVRhZy5DT05UUk9MTEVSKSA9PT0gcGxheWVySWQpXHJcblx0XHRcdC5maWx0ZXIoKGVudGl0eTogRW50aXR5KSA9PiBlbnRpdHkuZ2V0VGFnKEdhbWVUYWcuWk9ORSkgPT09IFpvbmUuSEFORClcclxuXHRcdFx0LnNvcnRCeSgoZW50aXR5OiBFbnRpdHkpID0+IGVudGl0eS5nZXRUYWcoR2FtZVRhZy5aT05FX1BPU0lUSU9OKSlcclxuXHRcdFx0LnZhbHVlU2VxKClcclxuXHRcdFx0LnRvQXJyYXkoKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgaXNQbGF5ZXJFbnRpdHkoZW50aXR5SWQ6IG51bWJlciwgZW50aXRpZXM6IE1hcDxudW1iZXIsIEVudGl0eT4pIHtcclxuXHRcdHJldHVybiBlbnRpdGllcy5nZXQoZW50aXR5SWQpIGluc3RhbmNlb2YgUGxheWVyRW50aXR5O1xyXG5cdH1cclxuXHJcblx0cHVibGljIHN0YXRpYyBnZXRHYW1lRW50aXR5KGVudGl0aWVzOiBNYXA8bnVtYmVyLCBFbnRpdHk+KTogRW50aXR5IHtcclxuXHRcdHJldHVybiBlbnRpdGllc1xyXG5cdFx0XHQ/IGVudGl0aWVzXHJcblx0XHRcdFx0XHQudmFsdWVTZXEoKVxyXG5cdFx0XHRcdFx0LnRvQXJyYXkoKVxyXG5cdFx0XHRcdFx0LmZpbmQoZW50aXR5ID0+IGVudGl0eSBpbnN0YW5jZW9mIEdhbWVFbnRpdHkpXHJcblx0XHRcdDogbnVsbDtcclxuXHR9XHJcbn1cclxuIl19