trucoshi 0.2.11 → 0.2.13

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 (39) hide show
  1. package/LICENSE +674 -674
  2. package/README.md +60 -60
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.js +19 -18
  5. package/dist/lib/classes/Deck.d.ts +17 -17
  6. package/dist/lib/classes/Deck.js +41 -41
  7. package/dist/lib/classes/GameLoop.d.ts +23 -22
  8. package/dist/lib/classes/GameLoop.js +76 -74
  9. package/dist/lib/classes/Hand.d.ts +39 -38
  10. package/dist/lib/classes/Hand.js +192 -187
  11. package/dist/lib/classes/Lobby.d.ts +27 -27
  12. package/dist/lib/classes/Lobby.js +113 -113
  13. package/dist/lib/classes/Match.d.ts +20 -18
  14. package/dist/lib/classes/Match.js +87 -81
  15. package/dist/lib/classes/Play.d.ts +21 -20
  16. package/dist/lib/classes/Play.js +29 -28
  17. package/dist/lib/classes/Player.d.ts +32 -32
  18. package/dist/lib/classes/Player.js +79 -78
  19. package/dist/lib/classes/Round.d.ts +17 -17
  20. package/dist/lib/classes/Round.js +33 -33
  21. package/dist/lib/classes/Table.d.ts +12 -12
  22. package/dist/lib/classes/Table.js +30 -30
  23. package/dist/lib/classes/Team.d.ts +20 -20
  24. package/dist/lib/classes/Team.js +59 -59
  25. package/dist/lib/classes/Truco.d.ts +21 -20
  26. package/dist/lib/classes/Truco.js +131 -126
  27. package/dist/lib/classes/index.d.ts +11 -11
  28. package/dist/lib/classes/index.js +27 -27
  29. package/dist/lib/constants.d.ts +45 -45
  30. package/dist/lib/constants.js +84 -84
  31. package/dist/lib/index.d.ts +2 -2
  32. package/dist/lib/index.js +18 -18
  33. package/dist/lib/types.d.ts +50 -50
  34. package/dist/lib/types.js +34 -34
  35. package/dist/lib/utils.d.ts +5 -5
  36. package/dist/lib/utils.js +58 -58
  37. package/dist/types.d.ts +173 -167
  38. package/dist/types.js +106 -98
  39. package/package.json +13 -6
package/dist/types.js CHANGED
@@ -1,98 +1,106 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TMap = exports.ETrucoshiMatchState = exports.EServerEvent = exports.EClientEvent = exports.GAME_ERROR = exports.EHandState = exports.EEnvidoCommand = exports.ESayCommand = exports.EMatchTableState = void 0;
4
- var EMatchTableState;
5
- (function (EMatchTableState) {
6
- EMatchTableState[EMatchTableState["UNREADY"] = 0] = "UNREADY";
7
- EMatchTableState[EMatchTableState["READY"] = 1] = "READY";
8
- EMatchTableState[EMatchTableState["STARTED"] = 2] = "STARTED";
9
- EMatchTableState[EMatchTableState["FINISHED"] = 3] = "FINISHED";
10
- })(EMatchTableState = exports.EMatchTableState || (exports.EMatchTableState = {}));
11
- var ESayCommand;
12
- (function (ESayCommand) {
13
- ESayCommand["QUIERO"] = "QUIERO";
14
- ESayCommand["NO_QUIERO"] = "NO_QUIERO";
15
- ESayCommand["TRUCO"] = "TRUCO";
16
- ESayCommand["MAZO"] = "MAZO";
17
- ESayCommand["FLOR"] = "FLOR";
18
- ESayCommand["CONTRAFLOR"] = "CONTRAFLOR";
19
- })(ESayCommand = exports.ESayCommand || (exports.ESayCommand = {}));
20
- var EEnvidoCommand;
21
- (function (EEnvidoCommand) {
22
- EEnvidoCommand["ENVIDO"] = "ENVIDO";
23
- EEnvidoCommand["ENVIDO_ENVIDO"] = "ENVIDO_ENVIDO";
24
- EEnvidoCommand["REAL_ENVIDO"] = "REAL_ENVIDO";
25
- EEnvidoCommand["FALTA_ENVIDO"] = "FALTA_ENVIDO";
26
- })(EEnvidoCommand = exports.EEnvidoCommand || (exports.EEnvidoCommand = {}));
27
- var EHandState;
28
- (function (EHandState) {
29
- EHandState["WAITING_PLAY"] = "WAITING_PLAY";
30
- EHandState["WAITING_FOR_TRUCO_ANSWER"] = "WAITING_FOR_TRUCO_ANSWER";
31
- EHandState["WAITING_ENVIDO_ANSWER"] = "WAITING_ENVIDO_ANSWER";
32
- EHandState["FINISHED"] = "FINISHED";
33
- })(EHandState = exports.EHandState || (exports.EHandState = {}));
34
- var GAME_ERROR;
35
- (function (GAME_ERROR) {
36
- GAME_ERROR["MATCH_ALREADY_STARTED"] = "MATCH_ALREADY_STARTED";
37
- GAME_ERROR["LOBBY_IS_FULL"] = "LOBBY_IS_FULL";
38
- GAME_ERROR["UNEXPECTED_TEAM_SIZE"] = "UNEXPECTED_TEAM_SIZE";
39
- GAME_ERROR["TEAM_NOT_READY"] = "TEAM_NOT_READY";
40
- GAME_ERROR["TEAM_IS_FULL"] = "TEAM_IS_FULL";
41
- })(GAME_ERROR = exports.GAME_ERROR || (exports.GAME_ERROR = {}));
42
- var EClientEvent;
43
- (function (EClientEvent) {
44
- EClientEvent["PING"] = "PING";
45
- EClientEvent["SAY"] = "SAY";
46
- EClientEvent["CREATE_MATCH"] = "CREATE_MATCH";
47
- EClientEvent["LIST_MATCHES"] = "LIST_MATCHES";
48
- EClientEvent["JOIN_MATCH"] = "JOIN_MATCH";
49
- EClientEvent["START_MATCH"] = "START_MATCH";
50
- EClientEvent["SET_PLAYER_READY"] = "SET_PLAYER_READY";
51
- EClientEvent["SET_SESSION"] = "SET_SESSION";
52
- EClientEvent["FETCH_MATCH"] = "FETCH_MATCH";
53
- EClientEvent["CHAT"] = "CHAT";
54
- })(EClientEvent = exports.EClientEvent || (exports.EClientEvent = {}));
55
- var EServerEvent;
56
- (function (EServerEvent) {
57
- EServerEvent["PONG"] = "PONG";
58
- EServerEvent["UPDATE_MATCH"] = "UPDATE_MATCH";
59
- EServerEvent["WAITING_PLAY"] = "WAITING_PLAY";
60
- EServerEvent["WAITING_POSSIBLE_SAY"] = "WAITING_POSSIBLE_SAY";
61
- EServerEvent["UPDATE_CHAT"] = "UPDAET_CHAT";
62
- })(EServerEvent = exports.EServerEvent || (exports.EServerEvent = {}));
63
- var ETrucoshiMatchState;
64
- (function (ETrucoshiMatchState) {
65
- ETrucoshiMatchState[ETrucoshiMatchState["UNREADY"] = 0] = "UNREADY";
66
- ETrucoshiMatchState[ETrucoshiMatchState["STARTED"] = 1] = "STARTED";
67
- ETrucoshiMatchState[ETrucoshiMatchState["FINISHED"] = 2] = "FINISHED";
68
- })(ETrucoshiMatchState = exports.ETrucoshiMatchState || (exports.ETrucoshiMatchState = {}));
69
- class TMap extends Map {
70
- find(finder) {
71
- let result = undefined;
72
- for (let value of this.values()) {
73
- const find = finder(value);
74
- if (!result && find) {
75
- result = value;
76
- }
77
- }
78
- return result;
79
- }
80
- findAll(finder) {
81
- let result = [];
82
- for (let value of this.values()) {
83
- const find = finder(value);
84
- if (find) {
85
- result.push(value);
86
- }
87
- }
88
- return result;
89
- }
90
- getOrThrow(key) {
91
- const result = key && this.get(key);
92
- if (!result) {
93
- throw new Error(`getOrThrow(${key}) not found`);
94
- }
95
- return result;
96
- }
97
- }
98
- exports.TMap = TMap;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TMap = exports.ETrucoshiMatchState = exports.EServerEvent = exports.EClientEvent = exports.GAME_ERROR = exports.EHandState = exports.EEnvidoCommand = exports.ESayCommand = exports.EMatchTableState = void 0;
4
+ var EMatchTableState;
5
+ (function (EMatchTableState) {
6
+ EMatchTableState[EMatchTableState["UNREADY"] = 0] = "UNREADY";
7
+ EMatchTableState[EMatchTableState["READY"] = 1] = "READY";
8
+ EMatchTableState[EMatchTableState["STARTED"] = 2] = "STARTED";
9
+ EMatchTableState[EMatchTableState["FINISHED"] = 3] = "FINISHED";
10
+ })(EMatchTableState = exports.EMatchTableState || (exports.EMatchTableState = {}));
11
+ var ESayCommand;
12
+ (function (ESayCommand) {
13
+ ESayCommand["QUIERO"] = "QUIERO";
14
+ ESayCommand["NO_QUIERO"] = "NO_QUIERO";
15
+ ESayCommand["TRUCO"] = "TRUCO";
16
+ ESayCommand["MAZO"] = "MAZO";
17
+ ESayCommand["FLOR"] = "FLOR";
18
+ ESayCommand["CONTRAFLOR"] = "CONTRAFLOR";
19
+ })(ESayCommand = exports.ESayCommand || (exports.ESayCommand = {}));
20
+ var EEnvidoCommand;
21
+ (function (EEnvidoCommand) {
22
+ EEnvidoCommand["ENVIDO"] = "ENVIDO";
23
+ EEnvidoCommand["ENVIDO_ENVIDO"] = "ENVIDO_ENVIDO";
24
+ EEnvidoCommand["REAL_ENVIDO"] = "REAL_ENVIDO";
25
+ EEnvidoCommand["FALTA_ENVIDO"] = "FALTA_ENVIDO";
26
+ })(EEnvidoCommand = exports.EEnvidoCommand || (exports.EEnvidoCommand = {}));
27
+ var EHandState;
28
+ (function (EHandState) {
29
+ EHandState["WAITING_PLAY"] = "WAITING_PLAY";
30
+ EHandState["WAITING_FOR_TRUCO_ANSWER"] = "WAITING_FOR_TRUCO_ANSWER";
31
+ EHandState["WAITING_ENVIDO_ANSWER"] = "WAITING_ENVIDO_ANSWER";
32
+ EHandState["FINISHED"] = "FINISHED";
33
+ })(EHandState = exports.EHandState || (exports.EHandState = {}));
34
+ var GAME_ERROR;
35
+ (function (GAME_ERROR) {
36
+ GAME_ERROR["MATCH_ALREADY_STARTED"] = "MATCH_ALREADY_STARTED";
37
+ GAME_ERROR["LOBBY_IS_FULL"] = "LOBBY_IS_FULL";
38
+ GAME_ERROR["UNEXPECTED_TEAM_SIZE"] = "UNEXPECTED_TEAM_SIZE";
39
+ GAME_ERROR["TEAM_NOT_READY"] = "TEAM_NOT_READY";
40
+ GAME_ERROR["TEAM_IS_FULL"] = "TEAM_IS_FULL";
41
+ })(GAME_ERROR = exports.GAME_ERROR || (exports.GAME_ERROR = {}));
42
+ var EClientEvent;
43
+ (function (EClientEvent) {
44
+ EClientEvent["PING"] = "PING";
45
+ EClientEvent["SAY"] = "SAY";
46
+ EClientEvent["CREATE_MATCH"] = "CREATE_MATCH";
47
+ EClientEvent["LIST_MATCHES"] = "LIST_MATCHES";
48
+ EClientEvent["JOIN_MATCH"] = "JOIN_MATCH";
49
+ EClientEvent["START_MATCH"] = "START_MATCH";
50
+ EClientEvent["SET_PLAYER_READY"] = "SET_PLAYER_READY";
51
+ EClientEvent["SET_SESSION"] = "SET_SESSION";
52
+ EClientEvent["FETCH_MATCH"] = "FETCH_MATCH";
53
+ EClientEvent["CHAT"] = "CHAT";
54
+ })(EClientEvent = exports.EClientEvent || (exports.EClientEvent = {}));
55
+ var EServerEvent;
56
+ (function (EServerEvent) {
57
+ EServerEvent["PONG"] = "PONG";
58
+ EServerEvent["PREVIOUS_HAND"] = "PREVIOUS_HAND";
59
+ EServerEvent["UPDATE_MATCH"] = "UPDATE_MATCH";
60
+ EServerEvent["WAITING_PLAY"] = "WAITING_PLAY";
61
+ EServerEvent["WAITING_POSSIBLE_SAY"] = "WAITING_POSSIBLE_SAY";
62
+ EServerEvent["UPDATE_CHAT"] = "UPDAET_CHAT";
63
+ })(EServerEvent = exports.EServerEvent || (exports.EServerEvent = {}));
64
+ var ETrucoshiMatchState;
65
+ (function (ETrucoshiMatchState) {
66
+ ETrucoshiMatchState[ETrucoshiMatchState["UNREADY"] = 0] = "UNREADY";
67
+ ETrucoshiMatchState[ETrucoshiMatchState["STARTED"] = 1] = "STARTED";
68
+ ETrucoshiMatchState[ETrucoshiMatchState["FINISHED"] = 2] = "FINISHED";
69
+ })(ETrucoshiMatchState = exports.ETrucoshiMatchState || (exports.ETrucoshiMatchState = {}));
70
+ class TMap extends Map {
71
+ find(finder) {
72
+ let result = undefined;
73
+ for (let value of this.values()) {
74
+ const find = finder(value);
75
+ if (!result && find) {
76
+ result = value;
77
+ }
78
+ }
79
+ return result;
80
+ }
81
+ findAll(finder) {
82
+ let result = [];
83
+ for (let value of this.values()) {
84
+ const find = finder(value);
85
+ if (find) {
86
+ result.push(value);
87
+ }
88
+ }
89
+ return result;
90
+ }
91
+ getOrThrow(key) {
92
+ const result = key && this.get(key);
93
+ if (!result) {
94
+ throw new Error(`getOrThrow(${key}) not found`);
95
+ }
96
+ return result;
97
+ }
98
+ update(key, value) {
99
+ const current = this.get(key);
100
+ if (!current) {
101
+ throw new Error(`update(${key}) not found`);
102
+ }
103
+ this.set(key, Object.assign(Object.assign({}, current), value));
104
+ }
105
+ }
106
+ exports.TMap = TMap;
package/package.json CHANGED
@@ -1,20 +1,27 @@
1
1
  {
2
2
  "name": "trucoshi",
3
- "version": "0.2.11",
3
+ "version": "0.2.13",
4
4
  "main": "dist/index.js",
5
5
  "license": "GPL-3.0",
6
6
  "scripts": {
7
- "start": "node ./dist/server/index.js",
8
- "prepublishOnly": "yarn build",
7
+ "start": "node ./dist/trucoshi.js",
8
+ "prepublishOnly": "yarn test && yarn build",
9
9
  "dev": "nodemon",
10
10
  "test:autoplay": "yarn run ts-node src/test/autoplay",
11
11
  "test:play": "yarn run ts-node src/test/play",
12
- "test:legacy": "yarn run ts-node src/test/legacy",
12
+ "test": "yarn run ts-mocha --exit ./test/**/*.ts",
13
13
  "build": "yarn run rimraf ./dist && yarn run tsc --project ."
14
14
  },
15
15
  "devDependencies": {
16
+ "@types/chai": "^4.3.4",
17
+ "@types/expect": "^24.3.0",
18
+ "@types/mocha": "^10.0.1",
16
19
  "@types/node": "^18.11.18",
17
- "nodemon": "^2.0.20"
20
+ "chai": "^4.3.7",
21
+ "mocha": "^10.2.0",
22
+ "nodemon": "^2.0.20",
23
+ "socket.io-client": "^4.5.4",
24
+ "ts-mocha": "^10.0.0"
18
25
  },
19
26
  "files": [
20
27
  "dist/index.js",
@@ -30,4 +37,4 @@
30
37
  "tsc": "^2.0.4",
31
38
  "typescript": "^4.9.4"
32
39
  }
33
- }
40
+ }