trucoshi 0.0.2 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/.prettierrc.json +4 -0
  2. package/LICENSE +674 -0
  3. package/README.md +37 -0
  4. package/build/lib/classes/Deck.d.ts +2 -0
  5. package/build/lib/classes/Deck.js +27 -0
  6. package/build/lib/classes/Hand.d.ts +2 -0
  7. package/build/lib/classes/Hand.js +233 -0
  8. package/build/lib/classes/Match.d.ts +2 -0
  9. package/build/lib/classes/Match.js +115 -0
  10. package/build/lib/classes/Play.d.ts +2 -0
  11. package/build/lib/classes/Play.js +39 -0
  12. package/build/lib/classes/Player.d.ts +2 -0
  13. package/build/lib/classes/Player.js +38 -0
  14. package/build/lib/classes/Round.d.ts +2 -0
  15. package/build/lib/classes/Round.js +33 -0
  16. package/build/lib/classes/Table.d.ts +2 -0
  17. package/build/lib/classes/Table.js +30 -0
  18. package/build/lib/classes/Team.d.ts +2 -0
  19. package/build/lib/classes/Team.js +42 -0
  20. package/build/lib/classes/Truco.d.ts +2 -0
  21. package/build/lib/classes/Truco.js +110 -0
  22. package/build/lib/constants.d.ts +36 -28
  23. package/build/lib/constants.js +97 -12
  24. package/build/lib/index.d.ts +18 -0
  25. package/build/lib/index.js +161 -0
  26. package/build/lib/types.d.ts +121 -30
  27. package/build/lib/types.js +24 -12
  28. package/build/lib/utils.d.ts +3 -3
  29. package/build/lib/utils.js +11 -18
  30. package/build/server/index.js +13 -5
  31. package/build/server/match.d.ts +0 -0
  32. package/build/server/match.js +1 -0
  33. package/build/server/types.d.ts +11 -0
  34. package/build/server/types.js +15 -0
  35. package/build/test/autoplay.js +52 -31
  36. package/build/test/play.js +146 -81
  37. package/package.json +5 -4
  38. package/src/lib/classes/Deck.ts +25 -0
  39. package/src/lib/classes/Hand.ts +207 -0
  40. package/src/lib/classes/Match.ts +79 -0
  41. package/src/lib/classes/Play.ts +40 -0
  42. package/src/lib/classes/Player.ts +37 -0
  43. package/src/lib/classes/Round.ts +30 -0
  44. package/src/lib/classes/Table.ts +32 -0
  45. package/src/lib/classes/Team.ts +41 -0
  46. package/src/lib/classes/Truco.ts +72 -0
  47. package/src/lib/constants.ts +105 -11
  48. package/src/lib/index.ts +135 -0
  49. package/src/lib/types.ts +186 -80
  50. package/src/lib/utils.ts +50 -53
  51. package/src/server/index.ts +34 -22
  52. package/src/server/match.ts +0 -0
  53. package/src/server/types.ts +12 -0
  54. package/src/test/autoplay.ts +57 -41
  55. package/src/test/play.ts +122 -70
  56. package/build/lib/trucoshi.d.ts +0 -10
  57. package/build/lib/trucoshi.js +0 -363
  58. package/build/test/legacy.d.ts +0 -1
  59. package/build/test/legacy.js +0 -146
  60. package/src/lib/trucoshi.ts +0 -342
  61. package/src/test/legacy.ts +0 -68
@@ -1,363 +0,0 @@
1
- "use strict";
2
- var __generator = (this && this.__generator) || function (thisArg, body) {
3
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
- function verb(n) { return function (v) { return step([n, v]); }; }
6
- function step(op) {
7
- if (f) throw new TypeError("Generator is already executing.");
8
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
9
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10
- if (y = 0, t) op = [op[0] & 2, t.value];
11
- switch (op[0]) {
12
- case 0: case 1: t = op; break;
13
- case 4: _.label++; return { value: op[1], done: false };
14
- case 5: _.label++; y = op[1]; op = [0]; continue;
15
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
- default:
17
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
- if (t[2]) _.ops.pop();
22
- _.trys.pop(); continue;
23
- }
24
- op = body.call(thisArg, _);
25
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
- }
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.Team = exports.Player = exports.Match = void 0;
31
- var constants_1 = require("./constants");
32
- var utils_1 = require("./utils");
33
- function Deck() {
34
- var _deck = {
35
- cards: Object.keys(constants_1.CARDS),
36
- usedCards: [],
37
- takeCard: function () {
38
- var card = _deck.cards.shift();
39
- _deck.usedCards.push(card);
40
- return card;
41
- },
42
- shuffle: function () {
43
- _deck.cards = _deck.cards.concat(_deck.usedCards);
44
- _deck.usedCards = [];
45
- _deck.cards = (0, utils_1.shuffleArray)(_deck.cards);
46
- if (_deck.cards.length !== 40) {
47
- throw new Error("This is not good");
48
- }
49
- return _deck;
50
- }
51
- };
52
- return _deck;
53
- }
54
- function Table(teams, size) {
55
- var _table = {
56
- players: [],
57
- cards: [],
58
- forehandIdx: 0,
59
- nextTurn: function () {
60
- if (_table.forehandIdx < (size * 2) - 1) {
61
- _table.forehandIdx++;
62
- }
63
- else {
64
- _table.forehandIdx = 0;
65
- }
66
- return _table.player();
67
- },
68
- getPlayerPosition: function (id) {
69
- return _table.players.findIndex(function (p) { return p.id === id; });
70
- },
71
- player: function (idx) {
72
- if (idx !== undefined) {
73
- return _table.players[idx];
74
- }
75
- return _table.players[_table.forehandIdx];
76
- }
77
- };
78
- if (teams[0].players.length != size || teams[1].players.length != size) {
79
- throw new Error("Unexpected team size");
80
- }
81
- for (var i = 0; i < size; i++) {
82
- _table.players.push(teams[0].players[i]);
83
- _table.players.push(teams[1].players[i]);
84
- }
85
- return _table;
86
- }
87
- function Round() {
88
- var _round = {
89
- highest: -1,
90
- winner: null,
91
- cards: [],
92
- tie: false,
93
- play: function (_a) {
94
- var card = _a.card, player = _a.player;
95
- var value = (0, utils_1.getCardValue)(card);
96
- if (_round.highest > -1 && value === _round.highest) {
97
- _round.tie = true;
98
- }
99
- if (value > _round.highest) {
100
- _round.tie = false;
101
- _round.highest = value;
102
- _round.winner = player;
103
- }
104
- _round.cards.push({ card: card, player: player });
105
- return card;
106
- }
107
- };
108
- return _round;
109
- }
110
- function Match(teams, matchPoint) {
111
- if (teams === void 0) { teams = []; }
112
- if (matchPoint === void 0) { matchPoint = 9; }
113
- var deck = Deck().shuffle();
114
- var size = teams[0].players.length;
115
- if (size !== teams[1].players.length) {
116
- throw new Error("Team size mismatch");
117
- }
118
- function handsGeneratorSequence() {
119
- var hand, value, hasWinner;
120
- return __generator(this, function (_a) {
121
- switch (_a.label) {
122
- case 0:
123
- if (!!_match.winner) return [3 /*break*/, 4];
124
- deck.shuffle();
125
- hand = _match.setCurrentHand(Hand(_match, deck, _match.hands.length + 1));
126
- _match.pushHand(hand);
127
- _a.label = 1;
128
- case 1:
129
- if (!!hand.finished) return [3 /*break*/, 3];
130
- value = hand.getNextPlayer().value;
131
- if (value && value.finished) {
132
- return [3 /*break*/, 1];
133
- }
134
- _match.setCurrentHand(value);
135
- return [4 /*yield*/, _match];
136
- case 2:
137
- _a.sent();
138
- return [3 /*break*/, 1];
139
- case 3:
140
- _match.addPoints(hand.points);
141
- _match.setCurrentHand(null);
142
- hasWinner = (0, utils_1.checkMatchWinner)(teams, matchPoint);
143
- if (hasWinner !== null) {
144
- _match.setWinner(hasWinner);
145
- _match.setCurrentHand(null);
146
- }
147
- _match.table.nextTurn();
148
- return [3 /*break*/, 0];
149
- case 4: return [4 /*yield*/, _match];
150
- case 5:
151
- _a.sent();
152
- return [2 /*return*/];
153
- }
154
- });
155
- }
156
- var handsGenerator = handsGeneratorSequence();
157
- var _match = {
158
- winner: null,
159
- teams: teams,
160
- hands: [],
161
- table: Table(teams, size),
162
- currentHand: null,
163
- play: function () {
164
- _match.getNextTurn();
165
- if (!_match.currentHand) {
166
- return;
167
- }
168
- return _match.currentHand.play();
169
- },
170
- addPoints: function (points) {
171
- _match.teams[0].addPoints(points[0]);
172
- _match.teams[1].addPoints(points[1]);
173
- },
174
- pushHand: function (hand) {
175
- _match.hands.push(hand);
176
- },
177
- setCurrentHand: function (hand) {
178
- _match.currentHand = hand;
179
- return _match.currentHand;
180
- },
181
- setWinner: function (winner) {
182
- _match.winner = winner;
183
- },
184
- getNextTurn: function () {
185
- return handsGenerator.next();
186
- }
187
- };
188
- return _match;
189
- }
190
- exports.Match = Match;
191
- function PlayInstance(hand) {
192
- var _instance = {
193
- handIdx: hand.idx,
194
- roundIdx: hand.rounds.length,
195
- player: hand.currentPlayer,
196
- commands: [],
197
- rounds: hand.rounds,
198
- use: function (idx) {
199
- var player = hand.currentPlayer;
200
- var round = hand.currentRound;
201
- if (!player || !round) {
202
- return null;
203
- }
204
- var card = player.useCard(idx);
205
- if (card) {
206
- return round.play({ player: player, card: card });
207
- }
208
- return null;
209
- },
210
- say: function (command) {
211
- if (!hand.currentPlayer) {
212
- return null;
213
- }
214
- return hand;
215
- }
216
- };
217
- return _instance;
218
- }
219
- function Hand(match, deck, idx) {
220
- var truco = 1;
221
- match.teams.forEach(function (team) {
222
- team.players.forEach(function (player) {
223
- var playerHand = [deck.takeCard(), deck.takeCard(), deck.takeCard()];
224
- player.setHand(playerHand);
225
- // player.setHand(["5c", "4c", "6c"])
226
- });
227
- });
228
- function roundsGeneratorSequence() {
229
- var currentRoundIdx, forehandTeamIdx, i, round, previousRound, newTurn, teamIdx;
230
- return __generator(this, function (_a) {
231
- switch (_a.label) {
232
- case 0:
233
- currentRoundIdx = 0;
234
- forehandTeamIdx = match.table.player(_hand.turn).teamIdx;
235
- _a.label = 1;
236
- case 1:
237
- if (!(currentRoundIdx < 3 && !_hand.finished)) return [3 /*break*/, 5];
238
- i = 0;
239
- round = Round();
240
- _hand.setCurrentRound(round);
241
- _hand.pushRound(round);
242
- previousRound = _hand.rounds[currentRoundIdx - 1];
243
- // Put previous round winner as forehand
244
- if (previousRound && previousRound.winner && !previousRound.tie) {
245
- newTurn = match.table.getPlayerPosition(previousRound.winner.id);
246
- if (newTurn !== -1) {
247
- _hand.setTurn(newTurn);
248
- }
249
- }
250
- _a.label = 2;
251
- case 2:
252
- if (!(i < match.table.players.length)) return [3 /*break*/, 4];
253
- _hand.setCurrentPlayer(match.table.player(_hand.turn));
254
- if (_hand.turn >= match.table.players.length - 1) {
255
- _hand.setTurn(0);
256
- }
257
- else {
258
- _hand.setTurn(_hand.turn + 1);
259
- }
260
- i++;
261
- return [4 /*yield*/, _hand];
262
- case 3:
263
- _a.sent();
264
- return [3 /*break*/, 2];
265
- case 4:
266
- teamIdx = (0, utils_1.checkHandWinner)(_hand.rounds, forehandTeamIdx);
267
- if (teamIdx !== null) {
268
- _hand.addPoints(teamIdx, truco);
269
- _hand.setFinished(true);
270
- }
271
- currentRoundIdx++;
272
- return [3 /*break*/, 1];
273
- case 5: return [4 /*yield*/, _hand];
274
- case 6:
275
- _a.sent();
276
- return [2 /*return*/];
277
- }
278
- });
279
- }
280
- var roundsGenerator = roundsGeneratorSequence();
281
- var _hand = {
282
- idx: idx,
283
- turn: Number(match.table.forehandIdx),
284
- rounds: [],
285
- finished: false,
286
- points: {
287
- 0: 0,
288
- 1: 0
289
- },
290
- currentRound: null,
291
- currentPlayer: null,
292
- play: function () {
293
- return PlayInstance(_hand);
294
- },
295
- pushRound: function (round) {
296
- _hand.rounds.push(round);
297
- return round;
298
- },
299
- setTurn: function (turn) {
300
- _hand.turn = turn;
301
- return match.table.player(_hand.turn);
302
- },
303
- addPoints: function (team, points) {
304
- _hand.points[team] = _hand.points[team] + points;
305
- },
306
- setCurrentRound: function (round) {
307
- _hand.currentRound = round;
308
- return _hand.currentRound;
309
- },
310
- setCurrentPlayer: function (player) {
311
- _hand.currentPlayer = player;
312
- return _hand.currentPlayer;
313
- },
314
- setFinished: function (finshed) {
315
- _hand.finished = finshed;
316
- return _hand.finished;
317
- },
318
- getNextPlayer: function () {
319
- return roundsGenerator.next();
320
- },
321
- };
322
- return _hand;
323
- }
324
- function Player(id, teamIdx) {
325
- var _player = {
326
- id: id,
327
- teamIdx: teamIdx,
328
- hand: [],
329
- usedHand: [],
330
- setHand: function (hand) {
331
- _player.hand = hand;
332
- _player.usedHand = [];
333
- return hand;
334
- },
335
- useCard: function (idx) {
336
- if (_player.hand[idx]) {
337
- var card = _player.hand.splice(idx, 1)[0];
338
- _player.usedHand.push(card);
339
- return card;
340
- }
341
- return null;
342
- }
343
- };
344
- return _player;
345
- }
346
- exports.Player = Player;
347
- function Team(color, players) {
348
- var _team = {
349
- _players: new Map(),
350
- get players() {
351
- return Array.from(_team._players.values());
352
- },
353
- color: color,
354
- points: 0,
355
- addPoints: function (points) {
356
- _team.points += points;
357
- return _team.points;
358
- },
359
- };
360
- players.forEach(function (player) { return _team._players.set(player.id, player); });
361
- return _team;
362
- }
363
- exports.Team = Team;
@@ -1 +0,0 @@
1
- export {};
@@ -1,146 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- var readline = __importStar(require("readline"));
63
- var constants_1 = require("../lib/constants");
64
- var trucoshi_1 = require("../lib/trucoshi");
65
- (function () { return __awaiter(void 0, void 0, void 0, function () {
66
- var player1, player2, player3, player4, team1, team2, match, _loop_1;
67
- var _a;
68
- return __generator(this, function (_b) {
69
- switch (_b.label) {
70
- case 0:
71
- player1 = (0, trucoshi_1.Player)('lukini', 0);
72
- player2 = (0, trucoshi_1.Player)('guada', 0);
73
- player3 = (0, trucoshi_1.Player)('denoph', 1);
74
- player4 = (0, trucoshi_1.Player)('juli', 1);
75
- team1 = (0, trucoshi_1.Team)(constants_1.COLORS[0], [player1, player2]);
76
- team2 = (0, trucoshi_1.Team)(constants_1.COLORS[1], [player3, player4]);
77
- match = (0, trucoshi_1.Match)([team1, team2], 9);
78
- _loop_1 = function () {
79
- var value, prom_1;
80
- return __generator(this, function (_c) {
81
- switch (_c.label) {
82
- case 0:
83
- if ((_a = match.currentHand) === null || _a === void 0 ? void 0 : _a.finished) {
84
- console.log(match.currentHand && match.currentHand.rounds.length ? (match.currentHand.rounds.map(function (round) { return round.cards.length ? round.cards.map(function (c) { return [c.player.id, c.card]; }) : ''; })) : '');
85
- }
86
- value = match.getNextTurn().value;
87
- if (!(value && value.currentHand && value.currentHand.currentPlayer)) return [3 /*break*/, 2];
88
- prom_1 = function () { return new Promise(function (resolve) {
89
- var _a, _b, _c, _d;
90
- // process.stdout.write('\u001B[2J\u001B[0;0f');
91
- var rl = readline.createInterface(process.stdin, process.stdout);
92
- var currentHand = value.currentHand;
93
- var name = (_b = (_a = value.currentHand) === null || _a === void 0 ? void 0 : _a.currentPlayer) === null || _b === void 0 ? void 0 : _b.id.toUpperCase();
94
- console.log("=== Mano ".concat(currentHand.idx + 1, " === Ronda ").concat(currentHand.rounds.length, " === Turno de ").concat(name, " ===\n"));
95
- match.teams.map(function (team, id) { return console.log("=== Team ".concat(id, " = ").concat(team.points, " Puntos ===\n")); });
96
- console.log(currentHand && currentHand.rounds.length ? (currentHand.rounds.map(function (round) { return round.cards.length ? round.cards.map(function (c) { return [c.player.id, c.card]; }) : ''; })) : '');
97
- rl.setPrompt("\n".concat(name, " elije una carta [1, 2, 3]: ").concat(JSON.stringify((_d = (_c = value.currentHand) === null || _c === void 0 ? void 0 : _c.currentPlayer) === null || _d === void 0 ? void 0 : _d.hand), "\n"));
98
- rl.prompt();
99
- rl.on('line', function (idx) {
100
- var _a, _b, _c, _d, _e;
101
- var index = Number(idx) - 1;
102
- var playedCard = null;
103
- if (index >= 0 && index < 3) {
104
- playedCard = (_b = (_a = value.currentHand) === null || _a === void 0 ? void 0 : _a.currentPlayer) === null || _b === void 0 ? void 0 : _b.useCard(index);
105
- }
106
- if (!playedCard) {
107
- rl.close();
108
- return (function () { return __awaiter(void 0, void 0, void 0, function () {
109
- return __generator(this, function (_a) {
110
- switch (_a.label) {
111
- case 0: return [4 /*yield*/, prom_1()];
112
- case 1:
113
- _a.sent();
114
- resolve();
115
- return [2 /*return*/];
116
- }
117
- });
118
- }); })();
119
- }
120
- (_d = (_c = value.currentHand) === null || _c === void 0 ? void 0 : _c.currentRound) === null || _d === void 0 ? void 0 : _d.play({ player: (_e = value.currentHand) === null || _e === void 0 ? void 0 : _e.currentPlayer, card: playedCard });
121
- console.log(currentHand && currentHand.rounds.length ? (currentHand.rounds.map(function (round) { return round.cards.length ? round.cards.map(function (c) { return [c.player.id, c.card]; }) : ''; })) : '');
122
- rl.close();
123
- resolve();
124
- });
125
- }); };
126
- return [4 /*yield*/, prom_1()];
127
- case 1:
128
- _c.sent();
129
- _c.label = 2;
130
- case 2: return [2 /*return*/];
131
- }
132
- });
133
- };
134
- _b.label = 1;
135
- case 1:
136
- if (!!match.winner) return [3 /*break*/, 3];
137
- return [5 /*yield**/, _loop_1()];
138
- case 2:
139
- _b.sent();
140
- return [3 /*break*/, 1];
141
- case 3:
142
- console.log(match.teams.map(function (t) { return [t.points, t.players[0].id]; }));
143
- return [2 /*return*/];
144
- }
145
- });
146
- }); })();