UNPKG

@firestone-hs/replay-parser

Version:

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

42 lines 6.57 kB
import { Injectable } from '@angular/core'; import { Map } from 'immutable'; import { Game } from '../../models/game/game'; import * as i0 from "@angular/core"; export class NarratorService { constructor() { } populateActionTextForLastTurn(game) { let turnsWithActions = game.turns; const numberOfTurns = turnsWithActions.size; // // // console.log('getting turn', i, game.turns.toJS()); const turn = game.turns.get(numberOfTurns - 1); let allEntitiesSoFar = Map(); const enrichedActions = turn.actions.map(action => { try { allEntitiesSoFar = allEntitiesSoFar.merge(action.entities); return action.enrichWithText(allEntitiesSoFar); } catch (e) { console.warn('Could not enrich action with text', e, action); return action; } }); const enrichedTurn = turn.update({ actions: enrichedActions }); turnsWithActions = turnsWithActions.set(numberOfTurns - 1, enrichedTurn); return Game.createGame(game, { turns: turnsWithActions }); } createGameStoryForLastTurn(game) { const allActionsInLastTurn = game.turns.last().actions; const fullStoryRawForLastTurn = allActionsInLastTurn.map(action => action.textRaw).join('\n'); // // // console.log('[narrator] full story', fullStoryRaw); return Game.createGame(game, { fullStoryRaw: game.fullStoryRaw + '\n' + fullStoryRawForLastTurn }); } } NarratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: NarratorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); NarratorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: NarratorService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: NarratorService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFycmF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcGxheS1wYXJzZXIvc3JjL2xpYi9zZXJ2aWNlcy9nYW1lcGlwZWxpbmUvbmFycmF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUs5QyxNQUFNLE9BQU8sZUFBZTtJQUMzQixnQkFBZSxDQUFDO0lBRVQsNkJBQTZCLENBQUMsSUFBVTtRQUM5QyxJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDbEMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1FBQzVDLDJEQUEyRDtRQUMzRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxnQkFBZ0IsR0FBd0IsR0FBRyxFQUFFLENBQUM7UUFDbEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakQsSUFBSTtnQkFDSCxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMzRCxPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUMvQztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RCxPQUFPLE1BQU0sQ0FBQzthQUNkO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDL0QsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDekUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBVSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLDBCQUEwQixDQUFDLElBQVU7UUFDM0MsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUN2RCxNQUFNLHVCQUF1QixHQUFXLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEcsNERBQTREO1FBQzVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsdUJBQXVCLEVBQVUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7OzRHQTVCVyxlQUFlO2dIQUFmLGVBQWUsY0FGZixNQUFNOzJGQUVOLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXAgfSBmcm9tICdpbW11dGFibGUnO1xyXG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2FtZS9lbnRpdHknO1xyXG5pbXBvcnQgeyBHYW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dhbWUvZ2FtZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmFycmF0b3JTZXJ2aWNlIHtcclxuXHRjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG5cdHB1YmxpYyBwb3B1bGF0ZUFjdGlvblRleHRGb3JMYXN0VHVybihnYW1lOiBHYW1lKSB7XHJcblx0XHRsZXQgdHVybnNXaXRoQWN0aW9ucyA9IGdhbWUudHVybnM7XHJcblx0XHRjb25zdCBudW1iZXJPZlR1cm5zID0gdHVybnNXaXRoQWN0aW9ucy5zaXplO1xyXG5cdFx0Ly8gLy8gLy8gY29uc29sZS5sb2coJ2dldHRpbmcgdHVybicsIGksIGdhbWUudHVybnMudG9KUygpKTtcclxuXHRcdGNvbnN0IHR1cm4gPSBnYW1lLnR1cm5zLmdldChudW1iZXJPZlR1cm5zIC0gMSk7XHJcblx0XHRsZXQgYWxsRW50aXRpZXNTb0ZhcjogTWFwPG51bWJlciwgRW50aXR5PiA9IE1hcCgpO1xyXG5cdFx0Y29uc3QgZW5yaWNoZWRBY3Rpb25zID0gdHVybi5hY3Rpb25zLm1hcChhY3Rpb24gPT4ge1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdGFsbEVudGl0aWVzU29GYXIgPSBhbGxFbnRpdGllc1NvRmFyLm1lcmdlKGFjdGlvbi5lbnRpdGllcyk7XHJcblx0XHRcdFx0cmV0dXJuIGFjdGlvbi5lbnJpY2hXaXRoVGV4dChhbGxFbnRpdGllc1NvRmFyKTtcclxuXHRcdFx0fSBjYXRjaCAoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUud2FybignQ291bGQgbm90IGVucmljaCBhY3Rpb24gd2l0aCB0ZXh0JywgZSwgYWN0aW9uKTtcclxuXHRcdFx0XHRyZXR1cm4gYWN0aW9uO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHRcdGNvbnN0IGVucmljaGVkVHVybiA9IHR1cm4udXBkYXRlKHsgYWN0aW9uczogZW5yaWNoZWRBY3Rpb25zIH0pO1xyXG5cdFx0dHVybnNXaXRoQWN0aW9ucyA9IHR1cm5zV2l0aEFjdGlvbnMuc2V0KG51bWJlck9mVHVybnMgLSAxLCBlbnJpY2hlZFR1cm4pO1xyXG5cdFx0cmV0dXJuIEdhbWUuY3JlYXRlR2FtZShnYW1lLCB7IHR1cm5zOiB0dXJuc1dpdGhBY3Rpb25zIH0gYXMgR2FtZSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgY3JlYXRlR2FtZVN0b3J5Rm9yTGFzdFR1cm4oZ2FtZTogR2FtZSk6IEdhbWUge1xyXG5cdFx0Y29uc3QgYWxsQWN0aW9uc0luTGFzdFR1cm4gPSBnYW1lLnR1cm5zLmxhc3QoKS5hY3Rpb25zO1xyXG5cdFx0Y29uc3QgZnVsbFN0b3J5UmF3Rm9yTGFzdFR1cm46IHN0cmluZyA9IGFsbEFjdGlvbnNJbkxhc3RUdXJuLm1hcChhY3Rpb24gPT4gYWN0aW9uLnRleHRSYXcpLmpvaW4oJ1xcbicpO1xyXG5cdFx0Ly8gLy8gLy8gY29uc29sZS5sb2coJ1tuYXJyYXRvcl0gZnVsbCBzdG9yeScsIGZ1bGxTdG9yeVJhdyk7XHJcblx0XHRyZXR1cm4gR2FtZS5jcmVhdGVHYW1lKGdhbWUsIHsgZnVsbFN0b3J5UmF3OiBnYW1lLmZ1bGxTdG9yeVJhdyArICdcXG4nICsgZnVsbFN0b3J5UmF3Rm9yTGFzdFR1cm4gfSBhcyBHYW1lKTtcclxuXHR9XHJcbn1cclxuIl19