@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.57 kB
JavaScript
import { BlockType, GameTag } from '@firestone-hs/reference-data';
import { SecretRevealedAction } from '../../models/action/secret-revealed-action';
import { ActionHistoryItem } from '../../models/history/action-history-item';
export class SecretRevealedParser {
constructor(allCards) {
this.allCards = allCards;
}
applies(item) {
return item instanceof ActionHistoryItem && parseInt(item.node.attributes.type) === BlockType.TRIGGER;
}
parse(item, currentTurn, entitiesBeforeAction, history) {
const entity = entitiesBeforeAction.get(parseInt(item.node.attributes.entity));
if (!entity || entity.getTag(GameTag.SECRET) !== 1) {
return;
}
return [
SecretRevealedAction.create({
timestamp: item.timestamp,
index: item.index,
entityId: entity.id,
}, this.allCards),
];
}
reduce(actions) {
return actions;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LXJldmVhbGVkLXBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcGxheS1wYXJzZXIvc3JjL2xpYi9zZXJ2aWNlcy9hY3Rpb24vc2VjcmV0LXJldmVhbGVkLXBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBSzdFLE1BQU0sT0FBTyxvQkFBb0I7SUFDaEMsWUFBb0IsUUFBeUI7UUFBekIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7SUFBRyxDQUFDO0lBRTFDLE9BQU8sQ0FBQyxJQUFpQjtRQUMvQixPQUFPLElBQUksWUFBWSxpQkFBaUIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFDLE9BQU8sQ0FBQztJQUN2RyxDQUFDO0lBRU0sS0FBSyxDQUNYLElBQXVCLEVBQ3ZCLFdBQW1CLEVBQ25CLG9CQUF5QyxFQUN6QyxPQUErQjtRQUUvQixNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkQsT0FBTztTQUNQO1FBQ0QsT0FBTztZQUNOLG9CQUFvQixDQUFDLE1BQU0sQ0FDMUI7Z0JBQ0MsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTthQUNuQixFQUNELElBQUksQ0FBQyxRQUFRLENBQ2I7U0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUEwQjtRQUN2QyxPQUFPLE9BQU8sQ0FBQztJQUNoQixDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCbG9ja1R5cGUsIEdhbWVUYWcgfSBmcm9tICdAZmlyZXN0b25lLWhzL3JlZmVyZW5jZS1kYXRhJztcclxuaW1wb3J0IHsgTWFwIH0gZnJvbSAnaW1tdXRhYmxlJztcclxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjdGlvbi9hY3Rpb24nO1xyXG5pbXBvcnQgeyBTZWNyZXRSZXZlYWxlZEFjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hY3Rpb24vc2VjcmV0LXJldmVhbGVkLWFjdGlvbic7XHJcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4uLy4uL21vZGVscy9nYW1lL2VudGl0eSc7XHJcbmltcG9ydCB7IEFjdGlvbkhpc3RvcnlJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpc3RvcnkvYWN0aW9uLWhpc3RvcnktaXRlbSc7XHJcbmltcG9ydCB7IEhpc3RvcnlJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2hpc3RvcnkvaGlzdG9yeS1pdGVtJztcclxuaW1wb3J0IHsgQWxsQ2FyZHNTZXJ2aWNlIH0gZnJvbSAnLi4vYWxsLWNhcmRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tICcuL3BhcnNlcic7XHJcblxyXG5leHBvcnQgY2xhc3MgU2VjcmV0UmV2ZWFsZWRQYXJzZXIgaW1wbGVtZW50cyBQYXJzZXIge1xyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgYWxsQ2FyZHM6IEFsbENhcmRzU2VydmljZSkge31cclxuXHJcblx0cHVibGljIGFwcGxpZXMoaXRlbTogSGlzdG9yeUl0ZW0pOiBib29sZWFuIHtcclxuXHRcdHJldHVybiBpdGVtIGluc3RhbmNlb2YgQWN0aW9uSGlzdG9yeUl0ZW0gJiYgcGFyc2VJbnQoaXRlbS5ub2RlLmF0dHJpYnV0ZXMudHlwZSkgPT09IEJsb2NrVHlwZS5UUklHR0VSO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHBhcnNlKFxyXG5cdFx0aXRlbTogQWN0aW9uSGlzdG9yeUl0ZW0sXHJcblx0XHRjdXJyZW50VHVybjogbnVtYmVyLFxyXG5cdFx0ZW50aXRpZXNCZWZvcmVBY3Rpb246IE1hcDxudW1iZXIsIEVudGl0eT4sXHJcblx0XHRoaXN0b3J5OiByZWFkb25seSBIaXN0b3J5SXRlbVtdLFxyXG5cdCk6IEFjdGlvbltdIHtcclxuXHRcdGNvbnN0IGVudGl0eSA9IGVudGl0aWVzQmVmb3JlQWN0aW9uLmdldChwYXJzZUludChpdGVtLm5vZGUuYXR0cmlidXRlcy5lbnRpdHkpKTtcclxuXHRcdGlmICghZW50aXR5IHx8IGVudGl0eS5nZXRUYWcoR2FtZVRhZy5TRUNSRVQpICE9PSAxKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHJldHVybiBbXHJcblx0XHRcdFNlY3JldFJldmVhbGVkQWN0aW9uLmNyZWF0ZShcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHR0aW1lc3RhbXA6IGl0ZW0udGltZXN0YW1wLFxyXG5cdFx0XHRcdFx0aW5kZXg6IGl0ZW0uaW5kZXgsXHJcblx0XHRcdFx0XHRlbnRpdHlJZDogZW50aXR5LmlkLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0dGhpcy5hbGxDYXJkcyxcclxuXHRcdFx0KSxcclxuXHRcdF07XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgcmVkdWNlKGFjdGlvbnM6IHJlYWRvbmx5IEFjdGlvbltdKTogcmVhZG9ubHkgQWN0aW9uW10ge1xyXG5cdFx0cmV0dXJuIGFjdGlvbnM7XHJcblx0fVxyXG59XHJcbiJdfQ==