@hellacardgames/speed 0.5.3 → 0.7.0

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/dist/client/index.cjs.map +1 -1
  2. package/dist/client/index.d.cts +2 -2
  3. package/dist/client/index.d.cts.map +1 -1
  4. package/dist/client/index.d.mts +2 -2
  5. package/dist/client/index.d.mts.map +1 -1
  6. package/dist/client/index.mjs.map +1 -1
  7. package/dist/index-BRtLpRz1.d.mts +125 -0
  8. package/dist/index-BRtLpRz1.d.mts.map +1 -0
  9. package/dist/index-BvZyhFek.d.cts +125 -0
  10. package/dist/index-BvZyhFek.d.cts.map +1 -0
  11. package/dist/{index-BilCO_4a.d.cts → index-xmcja9Bl.d.cts} +91 -60
  12. package/dist/index-xmcja9Bl.d.cts.map +1 -0
  13. package/dist/{index-BilCO_4a.d.mts → index-xmcja9Bl.d.mts} +91 -60
  14. package/dist/index-xmcja9Bl.d.mts.map +1 -0
  15. package/dist/manager/index.cjs +2 -12
  16. package/dist/manager/index.d.cts +2 -2
  17. package/dist/manager/index.d.mts +2 -2
  18. package/dist/manager/index.mjs +2 -2
  19. package/dist/manager-8x5AFyzq.mjs +790 -0
  20. package/dist/manager-8x5AFyzq.mjs.map +1 -0
  21. package/dist/manager-BxLMVu_o.cjs +795 -0
  22. package/dist/manager-BxLMVu_o.cjs.map +1 -0
  23. package/dist/server/index.cjs +141 -157
  24. package/dist/server/index.cjs.map +1 -1
  25. package/dist/server/index.d.cts +3 -3
  26. package/dist/server/index.d.mts +3 -3
  27. package/dist/server/index.mjs +141 -157
  28. package/dist/server/index.mjs.map +1 -1
  29. package/package.json +2 -2
  30. package/dist/index-BilCO_4a.d.cts.map +0 -1
  31. package/dist/index-BilCO_4a.d.mts.map +0 -1
  32. package/dist/index-DSPZZlhq.d.cts +0 -143
  33. package/dist/index-DSPZZlhq.d.cts.map +0 -1
  34. package/dist/index-S-oO1z9X.d.mts +0 -143
  35. package/dist/index-S-oO1z9X.d.mts.map +0 -1
  36. package/dist/manager-CPmezdJa.mjs +0 -834
  37. package/dist/manager-CPmezdJa.mjs.map +0 -1
  38. package/dist/manager-DErQ_XUq.cjs +0 -899
  39. package/dist/manager-DErQ_XUq.cjs.map +0 -1
@@ -1,23 +1,4 @@
1
- //#region src/manager/actions/createGame.d.ts
2
- type CreateGameResult = {
3
- readonly success: true;
4
- readonly gameId: string;
5
- readonly playerId: string;
6
- } | {
7
- readonly success: false;
8
- readonly error: "maxGamesReached";
9
- };
10
- declare function createGame(userId: string, username: string): CreateGameResult;
11
- //#endregion
12
- //#region src/manager/actions/drawCard.d.ts
13
- type DrawCardResult = {
14
- readonly success: true;
15
- } | {
16
- readonly success: false;
17
- readonly error: "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "handFull" | "drawPileEmpty";
18
- };
19
- declare function drawCard(gameId: string, playerId: string): DrawCardResult;
20
- //#endregion
1
+ import { ManagerBase } from "@hellacardgames/lib";
21
2
  //#region src/manager/types/Card.d.ts
22
3
  type Card = {
23
4
  readonly id: string;
@@ -38,13 +19,13 @@ type ClientState = {
38
19
  readonly gameId: string;
39
20
  readonly playerId: string;
40
21
  readonly username: string;
41
- readonly players: readonly Player[];
22
+ readonly players: readonly Player$1[];
42
23
  readonly expiresAt: number;
43
24
  readonly chatMessages: readonly ChatMessage[];
44
25
  readonly hand: readonly Card[];
45
26
  readonly canPlayAt: number | null;
46
27
  };
47
- type Player = {
28
+ type Player$1 = {
48
29
  readonly username: string;
49
30
  readonly handSize: number;
50
31
  readonly drawPileSize: number;
@@ -52,16 +33,6 @@ type Player = {
52
33
  readonly centerPileTopCard: Card | null;
53
34
  };
54
35
  //#endregion
55
- //#region src/manager/actions/getClientStateAndClearEvents.d.ts
56
- type GetClientStateAndClearEventsResult = {
57
- readonly success: true;
58
- readonly state: ClientState;
59
- } | {
60
- readonly success: false;
61
- readonly error: "gameNotFound" | "playerNotFound";
62
- };
63
- declare function getClientStateAndClearEvents(gameId: string, playerId: string): GetClientStateAndClearEventsResult;
64
- //#endregion
65
36
  //#region src/manager/types/GameEvent.d.ts
66
37
  type GameEvent = {
67
38
  readonly type: "canPlayAtUpdated";
@@ -137,7 +108,77 @@ type GameEvent = {
137
108
  readonly numCards: number;
138
109
  };
139
110
  //#endregion
140
- //#region src/manager/actions/getEventsAndClearAcknowledged.d.ts
111
+ //#region src/manager/types/Player.d.ts
112
+ type Player = {
113
+ readonly id: string;
114
+ readonly userId: string;
115
+ readonly username: string;
116
+ readonly events: GameEvent[];
117
+ readonly hand: Card[];
118
+ readonly drawPile: Card[];
119
+ readonly sidePile: Card[];
120
+ readonly centerPile: Card[];
121
+ hasNoPlayableCards: boolean;
122
+ };
123
+ //#endregion
124
+ //#region src/manager/types/Game.d.ts
125
+ type Game = OpenGame | StartedGame | CompletedGame | ForfeitedGame;
126
+ type OpenGame = {
127
+ readonly status: "open";
128
+ readonly id: string;
129
+ readonly createdAt: number;
130
+ readonly expiresAt: number;
131
+ readonly chatMessages: ChatMessage[];
132
+ readonly players: Player[];
133
+ };
134
+ type StartedGame = {
135
+ readonly status: "started";
136
+ readonly id: string;
137
+ readonly createdAt: number;
138
+ expiresAt: number;
139
+ readonly chatMessages: ChatMessage[];
140
+ readonly players: Player[];
141
+ canPlayAt: number;
142
+ };
143
+ type CompletedGame = {
144
+ readonly status: "completed";
145
+ readonly id: string;
146
+ readonly createdAt: number;
147
+ readonly expiresAt: number;
148
+ readonly chatMessages: ChatMessage[];
149
+ readonly players: Player[];
150
+ };
151
+ type ForfeitedGame = {
152
+ readonly status: "forfeited";
153
+ readonly id: string;
154
+ readonly createdAt: number;
155
+ readonly expiresAt: number;
156
+ readonly chatMessages: ChatMessage[];
157
+ readonly players: Player[];
158
+ };
159
+ //#endregion
160
+ //#region src/manager/Manager.d.ts
161
+ type CreateGameResult = {
162
+ readonly success: true;
163
+ readonly gameId: string;
164
+ readonly playerId: string;
165
+ } | {
166
+ readonly success: false;
167
+ readonly error: "maxGamesReached";
168
+ };
169
+ type DrawCardResult = {
170
+ readonly success: true;
171
+ } | {
172
+ readonly success: false;
173
+ readonly error: "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "handFull" | "drawPileEmpty";
174
+ };
175
+ type GetClientStateAndClearEventsResult = {
176
+ readonly success: true;
177
+ readonly state: ClientState;
178
+ } | {
179
+ readonly success: false;
180
+ readonly error: "gameNotFound" | "playerNotFound";
181
+ };
141
182
  type GetEventsAndClearAcknowledgedResult = {
142
183
  readonly success: true;
143
184
  readonly events: readonly GameEvent[];
@@ -145,19 +186,12 @@ type GetEventsAndClearAcknowledgedResult = {
145
186
  readonly success: false;
146
187
  readonly error: "gameNotFound" | "playerNotFound";
147
188
  };
148
- declare function getEventsAndClearAcknowledged(gameId: string, playerId: string, lastReadId: string | null): GetEventsAndClearAcknowledgedResult;
149
- //#endregion
150
- //#region src/manager/actions/getJoinableGames.d.ts
151
189
  type GetJoinableGamesResult = {
152
- readonly success: true;
153
190
  readonly games: readonly {
154
191
  readonly id: string;
155
192
  readonly numPlayers: number;
156
193
  }[];
157
194
  };
158
- declare function getJoinableGames(): GetJoinableGamesResult;
159
- //#endregion
160
- //#region src/manager/actions/joinGame.d.ts
161
195
  type JoinGameResult = {
162
196
  readonly success: true;
163
197
  readonly playerId: string;
@@ -165,52 +199,49 @@ type JoinGameResult = {
165
199
  readonly success: false;
166
200
  readonly error: "gameNotFound" | "invalidStatus" | "maxPlayersReached" | "alreadyInGame";
167
201
  };
168
- declare function joinGame(gameId: string, userId: string, username: string): JoinGameResult;
169
- //#endregion
170
- //#region src/manager/actions/leaveGame.d.ts
171
202
  type LeaveGameResult = {
172
203
  readonly success: true;
173
204
  } | {
174
205
  readonly success: false;
175
206
  readonly error: "gameNotFound" | "playerNotFound";
176
207
  };
177
- declare function leaveGame(gameId: string, playerId: string): LeaveGameResult;
178
- //#endregion
179
- //#region src/manager/actions/playCard.d.ts
180
208
  type PlayCardResult = {
181
209
  readonly success: true;
182
210
  } | {
183
211
  readonly success: false;
184
212
  readonly error: "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "cardNotFound" | "cardNotPlayable";
185
213
  };
186
- declare function playCard(gameId: string, playerId: string, cardId: string, isForOtherPlayerPile: boolean): PlayCardResult;
187
- //#endregion
188
- //#region src/manager/actions/reportNoPlayableCards.d.ts
189
214
  type ReportNoPlayableCardsResult = {
190
215
  readonly success: true;
191
216
  } | {
192
217
  readonly success: false;
193
218
  readonly error: "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "alreadyReported" | "hasPlayableCard" | "canDraw";
194
219
  };
195
- declare function reportNoPlayableCards(gameId: string, playerId: string): ReportNoPlayableCardsResult;
196
- //#endregion
197
- //#region src/manager/actions/sendChat.d.ts
198
220
  type SendChatResult = {
199
221
  readonly success: true;
200
222
  } | {
201
223
  readonly success: false;
202
224
  readonly error: "gameNotFound" | "playerNotFound";
203
225
  };
204
- declare function sendChat(gameId: string, playerId: string, text: string): SendChatResult;
205
- //#endregion
206
- //#region src/manager/actions/startGame.d.ts
207
226
  type StartGameResult = {
208
227
  readonly success: true;
209
228
  } | {
210
229
  readonly success: false;
211
- readonly error: "gameNotFound" | "playerNotFound" | "invalidStatus" | "playerNotAdmin" | "minPlayersNotReached";
212
- };
213
- declare function startGame(gameId: string, playerId: string): StartGameResult;
230
+ readonly error: "gameNotFound" | "invalidStatus" | "playerNotFound" | "playerNotAdmin" | "minPlayersNotReached";
231
+ };
232
+ declare class Manager extends ManagerBase<Game> {
233
+ createGame(userId: string, username: string): CreateGameResult;
234
+ drawCard(gameId: string, playerId: string): DrawCardResult;
235
+ getClientStateAndClearEvents(gameId: string, playerId: string): GetClientStateAndClearEventsResult;
236
+ getEventsAndClearAcknowledged(gameId: string, playerId: string, lastReadId: string | null): GetEventsAndClearAcknowledgedResult;
237
+ getJoinableGames(): GetJoinableGamesResult;
238
+ joinGame(gameId: string, userId: string, username: string): JoinGameResult;
239
+ leaveGame(gameId: string, playerId: string): LeaveGameResult;
240
+ playCard(gameId: string, playerId: string, cardId: string, isForOtherPlayerPile: boolean): PlayCardResult;
241
+ reportNoPlayableCards(gameId: string, playerId: string): ReportNoPlayableCardsResult;
242
+ sendChat(gameId: string, playerId: string, text: string): SendChatResult;
243
+ startGame(gameId: string, playerId: string): StartGameResult;
244
+ }
214
245
  //#endregion
215
- export { leaveGame as a, getEventsAndClearAcknowledged as c, ClientState as d, ChatMessage as f, createGame as h, playCard as i, GameEvent as l, drawCard as m, sendChat as n, joinGame as o, Card as p, reportNoPlayableCards as r, getJoinableGames as s, startGame as t, getClientStateAndClearEvents as u };
216
- //# sourceMappingURL=index-BilCO_4a.d.mts.map
246
+ export { GetJoinableGamesResult as a, Manager as c, SendChatResult as d, StartGameResult as f, Card as g, ChatMessage as h, GetEventsAndClearAcknowledgedResult as i, PlayCardResult as l, ClientState as m, DrawCardResult as n, JoinGameResult as o, GameEvent as p, GetClientStateAndClearEventsResult as r, LeaveGameResult as s, CreateGameResult as t, ReportNoPlayableCardsResult as u };
247
+ //# sourceMappingURL=index-xmcja9Bl.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-xmcja9Bl.d.mts","names":[],"sources":["../src/manager/types/Card.ts","../src/manager/types/ChatMessage.ts","../src/manager/types/ClientState.ts","../src/manager/types/GameEvent.ts","../src/manager/types/Player.ts","../src/manager/types/Game.ts","../src/manager/Manager.ts"],"mappings":";;KAAY;WACD;WACA;WACA;;;;KCHC;WACD;WACA;WACA;;;;KCAC;WACD;WACA;WACA;WACA;WACA,kBAAkB;WAClB;WACA,uBAAuB;WACvB,eAAe;WACf;;KAGN;WACM;WACA;WACA;WACA;WACA,mBAAmB;;;;KCjBlB;WAEG;WACA;WACA;;WAGA;WACA;WACA;WACA,MAAM;;WAGN;WACA;WACA;WACA,MAAM;WACN;;WAGA;WACA;WACA,SAAS;;WAGT;WACA;WACA,MAAM;;WAGN;WACA;WACA;;WAGA;WACA;;WAGA;WACA;;WAGA;WACA;;WAGA;WACA;WACA,gBAAgB;;WAGhB;WACA;WACA;WACA,MAAM;;WAGN;WACA;WACA;WACA;;WAGA;WACA;WACA;;WAGA;WACA;WACA;WACA;;WAGA;WACA;WACA;;WAGA;WACA;WACA;;WAGA;WACA;WACA;WACA;;;;KCxFH;WACD;WACA;WACA;WACA,QAAQ;WACR,MAAM;WACN,UAAU;WACV,UAAU;WACV,YAAY;EACrB;;;;KCTU,OAAO,WAAW,cAAc,gBAAgB;KAEvD;WACM;WACA;WACA;WACA;WACA,cAAc;WACd,SAAS;;KAGf;WACM;WACA;WACA;EACT;WACS,cAAc;WACd,SAAS;EAClB;;KAGG;WACM;WACA;WACA;WACA;WACA,cAAc;WACd,SAAS;;KAGf;WACM;WACA;WACA;WACA;WACA,cAAc;WACd,SAAS;;;;KCnBR;WAEG;WACA;WACA;;WAGA;WACA;;KAGH;WAEG;;WAGA;WACA;;KASH;WAEG;WACA,OAAO;;WAGP;WACA;;KAGH;WAEG;WACA,iBAAiB;;WAGjB;WACA;;KAGH;WACD;aACE;aACA;;;KAID;WAEG;WACA;;WAGA;WACA;;KAOH;WAEG;;WAGA;WACA;;KAGH;WAEG;;WAGA;WACA;;KASH;WAEG;;WAGA;WACA;;KAUH;WAEG;;WAGA;WACA;;KAGH;WAEG;;WAGA;WACA;;cAQF,gBAAgB,YAAY;EACvC,WAAW,gBAAgB,mBAAmB;EA4B9C,SAAS,gBAAgB,mBAAmB;EA8B5C,6BACE,gBACA,mBACC;EAgCH,8BACE,gBACA,kBACA,4BACC;EAgBH,oBAAoB;EAWpB,SAAS,gBAAgB,gBAAgB,mBAAmB;EA8B5D,UAAU,gBAAgB,mBAAmB;EAkC7C,SACE,gBACA,kBACA,gBACA,gCACC;EAwDH,sBACE,gBACA,mBACC;EAuFH,SAAS,gBAAgB,kBAAkB,eAAe;EAmB1D,UAAU,gBAAgB,mBAAmB"}
@@ -1,13 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_manager = require("../manager-DErQ_XUq.cjs");
3
- exports.createGame = require_manager.createGame;
4
- exports.drawCard = require_manager.drawCard;
5
- exports.getClientStateAndClearEvents = require_manager.getClientStateAndClearEvents;
6
- exports.getEventsAndClearAcknowledged = require_manager.getEventsAndClearAcknowledged;
7
- exports.getJoinableGames = require_manager.getJoinableGames;
8
- exports.joinGame = require_manager.joinGame;
9
- exports.leaveGame = require_manager.leaveGame;
10
- exports.playCard = require_manager.playCard;
11
- exports.reportNoPlayableCards = require_manager.reportNoPlayableCards;
12
- exports.sendChat = require_manager.sendChat;
13
- exports.startGame = require_manager.startGame;
2
+ const require_manager = require("../manager-BxLMVu_o.cjs");
3
+ exports.Manager = require_manager.Manager;
@@ -1,2 +1,2 @@
1
- import { a as leaveGame, c as getEventsAndClearAcknowledged, d as ClientState, f as ChatMessage, h as createGame, i as playCard, l as GameEvent, m as drawCard, n as sendChat, o as joinGame, p as Card, r as reportNoPlayableCards, s as getJoinableGames, t as startGame, u as getClientStateAndClearEvents } from "../index-BilCO_4a.cjs";
2
- export { type Card, type ChatMessage, type ClientState, type GameEvent, createGame, drawCard, getClientStateAndClearEvents, getEventsAndClearAcknowledged, getJoinableGames, joinGame, leaveGame, playCard, reportNoPlayableCards, sendChat, startGame };
1
+ import { a as GetJoinableGamesResult, c as Manager, d as SendChatResult, f as StartGameResult, g as Card, h as ChatMessage, i as GetEventsAndClearAcknowledgedResult, l as PlayCardResult, m as ClientState, n as DrawCardResult, o as JoinGameResult, p as GameEvent, r as GetClientStateAndClearEventsResult, s as LeaveGameResult, t as CreateGameResult, u as ReportNoPlayableCardsResult } from "../index-xmcja9Bl.cjs";
2
+ export { type Card, type ChatMessage, type ClientState, type CreateGameResult, type DrawCardResult, type GameEvent, type GetClientStateAndClearEventsResult, type GetEventsAndClearAcknowledgedResult, type GetJoinableGamesResult, type JoinGameResult, type LeaveGameResult, Manager, type PlayCardResult, type ReportNoPlayableCardsResult, type SendChatResult, type StartGameResult };
@@ -1,2 +1,2 @@
1
- import { a as leaveGame, c as getEventsAndClearAcknowledged, d as ClientState, f as ChatMessage, h as createGame, i as playCard, l as GameEvent, m as drawCard, n as sendChat, o as joinGame, p as Card, r as reportNoPlayableCards, s as getJoinableGames, t as startGame, u as getClientStateAndClearEvents } from "../index-BilCO_4a.mjs";
2
- export { type Card, type ChatMessage, type ClientState, type GameEvent, createGame, drawCard, getClientStateAndClearEvents, getEventsAndClearAcknowledged, getJoinableGames, joinGame, leaveGame, playCard, reportNoPlayableCards, sendChat, startGame };
1
+ import { a as GetJoinableGamesResult, c as Manager, d as SendChatResult, f as StartGameResult, g as Card, h as ChatMessage, i as GetEventsAndClearAcknowledgedResult, l as PlayCardResult, m as ClientState, n as DrawCardResult, o as JoinGameResult, p as GameEvent, r as GetClientStateAndClearEventsResult, s as LeaveGameResult, t as CreateGameResult, u as ReportNoPlayableCardsResult } from "../index-xmcja9Bl.mjs";
2
+ export { type Card, type ChatMessage, type ClientState, type CreateGameResult, type DrawCardResult, type GameEvent, type GetClientStateAndClearEventsResult, type GetEventsAndClearAcknowledgedResult, type GetJoinableGamesResult, type JoinGameResult, type LeaveGameResult, Manager, type PlayCardResult, type ReportNoPlayableCardsResult, type SendChatResult, type StartGameResult };
@@ -1,2 +1,2 @@
1
- import { a as leaveGame, c as getEventsAndClearAcknowledged, d as createGame, i as playCard, l as getClientStateAndClearEvents, n as sendChat, o as joinGame, r as reportNoPlayableCards, s as getJoinableGames, t as startGame, u as drawCard } from "../manager-CPmezdJa.mjs";
2
- export { createGame, drawCard, getClientStateAndClearEvents, getEventsAndClearAcknowledged, getJoinableGames, joinGame, leaveGame, playCard, reportNoPlayableCards, sendChat, startGame };
1
+ import { t as Manager } from "../manager-8x5AFyzq.mjs";
2
+ export { Manager };