@hellacardgames/speed 0.5.3 → 0.6.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-FveApXzq.d.cts +124 -0
  8. package/dist/index-FveApXzq.d.cts.map +1 -0
  9. package/dist/index-J8s2QklC.d.mts +124 -0
  10. package/dist/index-J8s2QklC.d.mts.map +1 -0
  11. package/dist/{index-BilCO_4a.d.cts → index-YAYbNr-s.d.cts} +42 -58
  12. package/dist/index-YAYbNr-s.d.cts.map +1 -0
  13. package/dist/{index-BilCO_4a.d.mts → index-YAYbNr-s.d.mts} +42 -58
  14. package/dist/index-YAYbNr-s.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-BOymBQ4E.mjs +817 -0
  20. package/dist/manager-BOymBQ4E.mjs.map +1 -0
  21. package/dist/manager-BpKvQbcp.cjs +822 -0
  22. package/dist/manager-BpKvQbcp.cjs.map +1 -0
  23. package/dist/server/index.cjs +138 -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 +138 -157
  28. package/dist/server/index.mjs.map +1 -1
  29. package/package.json +1 -1
  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 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../src/client/Client.ts"],"sourcesContent":["import type {\n CreateGameResult,\n DrawCardResult,\n GetClientStateAndClearEventsResult,\n GetEventsAndClearAcknowledgedResult,\n GetJoinableGamesResult,\n JoinGameResult,\n LeaveGameResult,\n PlayCardResult,\n ReportNoPlayableCardsResult,\n SendChatResult,\n StartGameResult,\n} from \"../server/index.js\";\n\nexport class Client {\n private readonly baseUrl: string;\n\n constructor(baseUrl: string) {\n this.baseUrl = baseUrl;\n }\n\n async createGame(accessToken: string): Promise<CreateGameResult> {\n const response = await fetch(`${this.baseUrl}/createGame`, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n const result = await response.json();\n return result;\n }\n\n async drawCard(gameId: string, playerId: string): Promise<DrawCardResult> {\n const response = await fetch(`${this.baseUrl}/drawCard`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async getClientStateAndClearEvents(\n gameId: string,\n playerId: string,\n ): Promise<GetClientStateAndClearEventsResult> {\n const response = await fetch(\n `${this.baseUrl}/getClientStateAndClearEvents`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n },\n );\n const result = await response.json();\n return result;\n }\n\n async getEventsAndClearAcknowledged(\n gameId: string,\n playerId: string,\n lastReadId: string | null,\n ): Promise<GetEventsAndClearAcknowledgedResult> {\n const response = await fetch(\n `${this.baseUrl}/getEventsAndClearAcknowledged`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, lastReadId }),\n },\n );\n const result = await response.json();\n return result;\n }\n\n async getJoinableGames(): Promise<GetJoinableGamesResult> {\n const response = await fetch(`${this.baseUrl}/getJoinableGames`, {\n method: \"POST\",\n });\n const result = await response.json();\n return result;\n }\n\n async joinGame(gameId: string, accessToken: string): Promise<JoinGameResult> {\n const response = await fetch(`${this.baseUrl}/joinGame`, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId }),\n });\n const result = await response.json();\n return result;\n }\n\n async leaveGame(gameId: string, playerId: string): Promise<LeaveGameResult> {\n const response = await fetch(`${this.baseUrl}/leaveGame`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async playCard(\n gameId: string,\n playerId: string,\n cardId: string,\n isForOtherPlayerPile: boolean,\n ): Promise<PlayCardResult> {\n const response = await fetch(`${this.baseUrl}/playCard`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, cardId, isForOtherPlayerPile }),\n });\n const result = await response.json();\n return result;\n }\n\n async reportNoPlayableCards(\n gameId: string,\n playerId: string,\n ): Promise<ReportNoPlayableCardsResult> {\n const response = await fetch(`${this.baseUrl}/reportNoPlayableCards`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async sendChat(\n gameId: string,\n playerId: string,\n text: string,\n ): Promise<SendChatResult> {\n const response = await fetch(`${this.baseUrl}/sendChat`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, text }),\n });\n const result = await response.json();\n return result;\n }\n\n async startGame(gameId: string, playerId: string): Promise<StartGameResult> {\n const response = await fetch(`${this.baseUrl}/startGame`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../src/client/Client.ts"],"sourcesContent":["import type {\n CreateGameResult,\n DrawCardResult,\n GetClientStateAndClearEventsResult,\n GetEventsAndClearAcknowledgedResult,\n GetJoinableGamesResult,\n JoinGameResult,\n LeaveGameResult,\n PlayCardResult,\n ReportNoPlayableCardsResult,\n SendChatResult,\n StartGameResult,\n} from \"../server/index.js\";\n\nexport type {\n CreateGameResult,\n DrawCardResult,\n GetClientStateAndClearEventsResult,\n GetEventsAndClearAcknowledgedResult,\n GetJoinableGamesResult,\n JoinGameResult,\n LeaveGameResult,\n PlayCardResult,\n ReportNoPlayableCardsResult,\n SendChatResult,\n StartGameResult,\n};\n\nexport class Client {\n private readonly baseUrl: string;\n\n constructor(baseUrl: string) {\n this.baseUrl = baseUrl;\n }\n\n async createGame(accessToken: string): Promise<CreateGameResult> {\n const response = await fetch(`${this.baseUrl}/createGame`, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n const result = await response.json();\n return result;\n }\n\n async drawCard(gameId: string, playerId: string): Promise<DrawCardResult> {\n const response = await fetch(`${this.baseUrl}/drawCard`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async getClientStateAndClearEvents(\n gameId: string,\n playerId: string,\n ): Promise<GetClientStateAndClearEventsResult> {\n const response = await fetch(\n `${this.baseUrl}/getClientStateAndClearEvents`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n },\n );\n const result = await response.json();\n return result;\n }\n\n async getEventsAndClearAcknowledged(\n gameId: string,\n playerId: string,\n lastReadId: string | null,\n ): Promise<GetEventsAndClearAcknowledgedResult> {\n const response = await fetch(\n `${this.baseUrl}/getEventsAndClearAcknowledged`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, lastReadId }),\n },\n );\n const result = await response.json();\n return result;\n }\n\n async getJoinableGames(): Promise<GetJoinableGamesResult> {\n const response = await fetch(`${this.baseUrl}/getJoinableGames`, {\n method: \"POST\",\n });\n const result = await response.json();\n return result;\n }\n\n async joinGame(gameId: string, accessToken: string): Promise<JoinGameResult> {\n const response = await fetch(`${this.baseUrl}/joinGame`, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId }),\n });\n const result = await response.json();\n return result;\n }\n\n async leaveGame(gameId: string, playerId: string): Promise<LeaveGameResult> {\n const response = await fetch(`${this.baseUrl}/leaveGame`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async playCard(\n gameId: string,\n playerId: string,\n cardId: string,\n isForOtherPlayerPile: boolean,\n ): Promise<PlayCardResult> {\n const response = await fetch(`${this.baseUrl}/playCard`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, cardId, isForOtherPlayerPile }),\n });\n const result = await response.json();\n return result;\n }\n\n async reportNoPlayableCards(\n gameId: string,\n playerId: string,\n ): Promise<ReportNoPlayableCardsResult> {\n const response = await fetch(`${this.baseUrl}/reportNoPlayableCards`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async sendChat(\n gameId: string,\n playerId: string,\n text: string,\n ): Promise<SendChatResult> {\n const response = await fetch(`${this.baseUrl}/sendChat`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, text }),\n });\n const result = await response.json();\n return result;\n }\n\n async startGame(gameId: string, playerId: string): Promise<StartGameResult> {\n const response = await fetch(`${this.baseUrl}/startGame`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { a as PlayCardResult, c as GetJoinableGamesResult, d as DrawCardResult, f as CreateGameResult, i as ReportNoPlayableCardsResult, l as GetEventsAndClearAcknowledgedResult, n as StartGameResult, o as LeaveGameResult, r as SendChatResult, s as JoinGameResult, u as GetClientStateAndClearEventsResult } from "../index-DSPZZlhq.cjs";
2
- import { d as ClientState, f as ChatMessage, l as GameEvent, p as Card } from "../index-BilCO_4a.cjs";
1
+ import { g as Card, h as ChatMessage, m as ClientState, p as GameEvent } from "../index-YAYbNr-s.cjs";
2
+ import { a as GetJoinableGamesResult, c as PlayCardResult, f as StartGameResult, i as GetEventsAndClearAcknowledgedResult, l as ReportNoPlayableCardsResult, n as DrawCardResult, o as JoinGameResult, r as GetClientStateAndClearEventsResult, s as LeaveGameResult, t as CreateGameResult, u as SendChatResult } from "../index-FveApXzq.cjs";
3
3
  //#region src/client/Client.d.ts
4
4
  declare class Client {
5
5
  private readonly baseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/client/Client.ts"],"mappings":";;;cAca;mBACM;EAEL,YAAA;EAIN,WAAW,sBAAsB,QAAQ;EAWzC,SAAS,gBAAgB,mBAAmB,QAAQ;EAYpD,6BACJ,gBACA,mBACC,QAAQ;EAeL,8BACJ,gBACA,kBACA,4BACC,QAAQ;EAeL,oBAAoB,QAAQ;EAQ5B,SAAS,gBAAgB,sBAAsB,QAAQ;EAavD,UAAU,gBAAgB,mBAAmB,QAAQ;EAYrD,SACJ,gBACA,kBACA,gBACA,gCACC,QAAQ;EAYL,sBACJ,gBACA,mBACC,QAAQ;EAYL,SACJ,gBACA,kBACA,eACC,QAAQ;EAYL,UAAU,gBAAgB,mBAAmB,QAAQ"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/client/Client.ts"],"mappings":";;;cA4Ba;mBACM;EAEL,YAAA;EAIN,WAAW,sBAAsB,QAAQ;EAWzC,SAAS,gBAAgB,mBAAmB,QAAQ;EAYpD,6BACJ,gBACA,mBACC,QAAQ;EAeL,8BACJ,gBACA,kBACA,4BACC,QAAQ;EAeL,oBAAoB,QAAQ;EAQ5B,SAAS,gBAAgB,sBAAsB,QAAQ;EAavD,UAAU,gBAAgB,mBAAmB,QAAQ;EAYrD,SACJ,gBACA,kBACA,gBACA,gCACC,QAAQ;EAYL,sBACJ,gBACA,mBACC,QAAQ;EAYL,SACJ,gBACA,kBACA,eACC,QAAQ;EAYL,UAAU,gBAAgB,mBAAmB,QAAQ"}
@@ -1,5 +1,5 @@
1
- import { a as PlayCardResult, c as GetJoinableGamesResult, d as DrawCardResult, f as CreateGameResult, i as ReportNoPlayableCardsResult, l as GetEventsAndClearAcknowledgedResult, n as StartGameResult, o as LeaveGameResult, r as SendChatResult, s as JoinGameResult, u as GetClientStateAndClearEventsResult } from "../index-S-oO1z9X.mjs";
2
- import { d as ClientState, f as ChatMessage, l as GameEvent, p as Card } from "../index-BilCO_4a.mjs";
1
+ import { g as Card, h as ChatMessage, m as ClientState, p as GameEvent } from "../index-YAYbNr-s.mjs";
2
+ import { a as GetJoinableGamesResult, c as PlayCardResult, f as StartGameResult, i as GetEventsAndClearAcknowledgedResult, l as ReportNoPlayableCardsResult, n as DrawCardResult, o as JoinGameResult, r as GetClientStateAndClearEventsResult, s as LeaveGameResult, t as CreateGameResult, u as SendChatResult } from "../index-J8s2QklC.mjs";
3
3
  //#region src/client/Client.d.ts
4
4
  declare class Client {
5
5
  private readonly baseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/client/Client.ts"],"mappings":";;;cAca;mBACM;EAEL,YAAA;EAIN,WAAW,sBAAsB,QAAQ;EAWzC,SAAS,gBAAgB,mBAAmB,QAAQ;EAYpD,6BACJ,gBACA,mBACC,QAAQ;EAeL,8BACJ,gBACA,kBACA,4BACC,QAAQ;EAeL,oBAAoB,QAAQ;EAQ5B,SAAS,gBAAgB,sBAAsB,QAAQ;EAavD,UAAU,gBAAgB,mBAAmB,QAAQ;EAYrD,SACJ,gBACA,kBACA,gBACA,gCACC,QAAQ;EAYL,sBACJ,gBACA,mBACC,QAAQ;EAYL,SACJ,gBACA,kBACA,eACC,QAAQ;EAYL,UAAU,gBAAgB,mBAAmB,QAAQ"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/client/Client.ts"],"mappings":";;;cA4Ba;mBACM;EAEL,YAAA;EAIN,WAAW,sBAAsB,QAAQ;EAWzC,SAAS,gBAAgB,mBAAmB,QAAQ;EAYpD,6BACJ,gBACA,mBACC,QAAQ;EAeL,8BACJ,gBACA,kBACA,4BACC,QAAQ;EAeL,oBAAoB,QAAQ;EAQ5B,SAAS,gBAAgB,sBAAsB,QAAQ;EAavD,UAAU,gBAAgB,mBAAmB,QAAQ;EAYrD,SACJ,gBACA,kBACA,gBACA,gCACC,QAAQ;EAYL,sBACJ,gBACA,mBACC,QAAQ;EAYL,SACJ,gBACA,kBACA,eACC,QAAQ;EAYL,UAAU,gBAAgB,mBAAmB,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../src/client/Client.ts"],"sourcesContent":["import type {\n CreateGameResult,\n DrawCardResult,\n GetClientStateAndClearEventsResult,\n GetEventsAndClearAcknowledgedResult,\n GetJoinableGamesResult,\n JoinGameResult,\n LeaveGameResult,\n PlayCardResult,\n ReportNoPlayableCardsResult,\n SendChatResult,\n StartGameResult,\n} from \"../server/index.js\";\n\nexport class Client {\n private readonly baseUrl: string;\n\n constructor(baseUrl: string) {\n this.baseUrl = baseUrl;\n }\n\n async createGame(accessToken: string): Promise<CreateGameResult> {\n const response = await fetch(`${this.baseUrl}/createGame`, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n const result = await response.json();\n return result;\n }\n\n async drawCard(gameId: string, playerId: string): Promise<DrawCardResult> {\n const response = await fetch(`${this.baseUrl}/drawCard`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async getClientStateAndClearEvents(\n gameId: string,\n playerId: string,\n ): Promise<GetClientStateAndClearEventsResult> {\n const response = await fetch(\n `${this.baseUrl}/getClientStateAndClearEvents`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n },\n );\n const result = await response.json();\n return result;\n }\n\n async getEventsAndClearAcknowledged(\n gameId: string,\n playerId: string,\n lastReadId: string | null,\n ): Promise<GetEventsAndClearAcknowledgedResult> {\n const response = await fetch(\n `${this.baseUrl}/getEventsAndClearAcknowledged`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, lastReadId }),\n },\n );\n const result = await response.json();\n return result;\n }\n\n async getJoinableGames(): Promise<GetJoinableGamesResult> {\n const response = await fetch(`${this.baseUrl}/getJoinableGames`, {\n method: \"POST\",\n });\n const result = await response.json();\n return result;\n }\n\n async joinGame(gameId: string, accessToken: string): Promise<JoinGameResult> {\n const response = await fetch(`${this.baseUrl}/joinGame`, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId }),\n });\n const result = await response.json();\n return result;\n }\n\n async leaveGame(gameId: string, playerId: string): Promise<LeaveGameResult> {\n const response = await fetch(`${this.baseUrl}/leaveGame`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async playCard(\n gameId: string,\n playerId: string,\n cardId: string,\n isForOtherPlayerPile: boolean,\n ): Promise<PlayCardResult> {\n const response = await fetch(`${this.baseUrl}/playCard`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, cardId, isForOtherPlayerPile }),\n });\n const result = await response.json();\n return result;\n }\n\n async reportNoPlayableCards(\n gameId: string,\n playerId: string,\n ): Promise<ReportNoPlayableCardsResult> {\n const response = await fetch(`${this.baseUrl}/reportNoPlayableCards`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async sendChat(\n gameId: string,\n playerId: string,\n text: string,\n ): Promise<SendChatResult> {\n const response = await fetch(`${this.baseUrl}/sendChat`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, text }),\n });\n const result = await response.json();\n return result;\n }\n\n async startGame(gameId: string, playerId: string): Promise<StartGameResult> {\n const response = await fetch(`${this.baseUrl}/startGame`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/client/Client.ts"],"sourcesContent":["import type {\n CreateGameResult,\n DrawCardResult,\n GetClientStateAndClearEventsResult,\n GetEventsAndClearAcknowledgedResult,\n GetJoinableGamesResult,\n JoinGameResult,\n LeaveGameResult,\n PlayCardResult,\n ReportNoPlayableCardsResult,\n SendChatResult,\n StartGameResult,\n} from \"../server/index.js\";\n\nexport type {\n CreateGameResult,\n DrawCardResult,\n GetClientStateAndClearEventsResult,\n GetEventsAndClearAcknowledgedResult,\n GetJoinableGamesResult,\n JoinGameResult,\n LeaveGameResult,\n PlayCardResult,\n ReportNoPlayableCardsResult,\n SendChatResult,\n StartGameResult,\n};\n\nexport class Client {\n private readonly baseUrl: string;\n\n constructor(baseUrl: string) {\n this.baseUrl = baseUrl;\n }\n\n async createGame(accessToken: string): Promise<CreateGameResult> {\n const response = await fetch(`${this.baseUrl}/createGame`, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n const result = await response.json();\n return result;\n }\n\n async drawCard(gameId: string, playerId: string): Promise<DrawCardResult> {\n const response = await fetch(`${this.baseUrl}/drawCard`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async getClientStateAndClearEvents(\n gameId: string,\n playerId: string,\n ): Promise<GetClientStateAndClearEventsResult> {\n const response = await fetch(\n `${this.baseUrl}/getClientStateAndClearEvents`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n },\n );\n const result = await response.json();\n return result;\n }\n\n async getEventsAndClearAcknowledged(\n gameId: string,\n playerId: string,\n lastReadId: string | null,\n ): Promise<GetEventsAndClearAcknowledgedResult> {\n const response = await fetch(\n `${this.baseUrl}/getEventsAndClearAcknowledged`,\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, lastReadId }),\n },\n );\n const result = await response.json();\n return result;\n }\n\n async getJoinableGames(): Promise<GetJoinableGamesResult> {\n const response = await fetch(`${this.baseUrl}/getJoinableGames`, {\n method: \"POST\",\n });\n const result = await response.json();\n return result;\n }\n\n async joinGame(gameId: string, accessToken: string): Promise<JoinGameResult> {\n const response = await fetch(`${this.baseUrl}/joinGame`, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${accessToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId }),\n });\n const result = await response.json();\n return result;\n }\n\n async leaveGame(gameId: string, playerId: string): Promise<LeaveGameResult> {\n const response = await fetch(`${this.baseUrl}/leaveGame`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async playCard(\n gameId: string,\n playerId: string,\n cardId: string,\n isForOtherPlayerPile: boolean,\n ): Promise<PlayCardResult> {\n const response = await fetch(`${this.baseUrl}/playCard`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, cardId, isForOtherPlayerPile }),\n });\n const result = await response.json();\n return result;\n }\n\n async reportNoPlayableCards(\n gameId: string,\n playerId: string,\n ): Promise<ReportNoPlayableCardsResult> {\n const response = await fetch(`${this.baseUrl}/reportNoPlayableCards`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n\n async sendChat(\n gameId: string,\n playerId: string,\n text: string,\n ): Promise<SendChatResult> {\n const response = await fetch(`${this.baseUrl}/sendChat`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId, text }),\n });\n const result = await response.json();\n return result;\n }\n\n async startGame(gameId: string, playerId: string): Promise<StartGameResult> {\n const response = await fetch(`${this.baseUrl}/startGame`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ gameId, playerId }),\n });\n const result = await response.json();\n return result;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ import { m as ClientState, p as GameEvent } from "./index-YAYbNr-s.cjs";
2
+ //#region src/server/Server.d.ts
3
+ type CreateGameResult = {
4
+ readonly success: true;
5
+ readonly gameId: string;
6
+ readonly playerId: string;
7
+ } | {
8
+ readonly success: false;
9
+ readonly error: "maxGamesReached";
10
+ };
11
+ type DrawCardResult = {
12
+ readonly success: true;
13
+ } | {
14
+ readonly success: false;
15
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "handFull" | "drawPileEmpty";
16
+ };
17
+ type GetClientStateAndClearEventsResult = {
18
+ readonly success: true;
19
+ readonly state: ClientState;
20
+ } | {
21
+ readonly success: false;
22
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound";
23
+ };
24
+ type GetEventsAndClearAcknowledgedResult = {
25
+ readonly success: true;
26
+ readonly events: readonly GameEvent[];
27
+ } | {
28
+ readonly success: false;
29
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound";
30
+ };
31
+ type GetJoinableGamesResult = {
32
+ readonly games: readonly {
33
+ readonly id: string;
34
+ readonly numPlayers: number;
35
+ }[];
36
+ };
37
+ type JoinGameResult = {
38
+ readonly success: true;
39
+ readonly playerId: string;
40
+ } | {
41
+ readonly success: false;
42
+ readonly error: "invalidInput" | "gameNotFound" | "invalidStatus" | "maxPlayersReached" | "alreadyInGame";
43
+ };
44
+ type LeaveGameResult = {
45
+ readonly success: true;
46
+ } | {
47
+ readonly success: false;
48
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound";
49
+ };
50
+ type PlayCardResult = {
51
+ readonly success: true;
52
+ } | {
53
+ readonly success: false;
54
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "cardNotFound" | "cardNotPlayable";
55
+ };
56
+ type ReportNoPlayableCardsResult = {
57
+ readonly success: true;
58
+ } | {
59
+ readonly success: false;
60
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "alreadyReported" | "hasPlayableCard" | "canDraw";
61
+ };
62
+ type SendChatResult = {
63
+ readonly success: true;
64
+ } | {
65
+ readonly success: false;
66
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound";
67
+ };
68
+ type StartGameResult = {
69
+ readonly success: true;
70
+ } | {
71
+ readonly success: false;
72
+ readonly error: "invalidInput" | "gameNotFound" | "invalidStatus" | "playerNotFound" | "playerNotAdmin" | "minPlayersNotReached";
73
+ };
74
+ declare class Server {
75
+ private readonly manager;
76
+ readonly actions: readonly [{
77
+ readonly path: "/createGame";
78
+ readonly action: (userId: string, username: string) => CreateGameResult;
79
+ }, {
80
+ readonly path: "/drawCard";
81
+ readonly action: (input: unknown) => DrawCardResult;
82
+ }, {
83
+ readonly path: "/getClientStateAndClearEvents";
84
+ readonly action: (input: unknown) => GetClientStateAndClearEventsResult;
85
+ }, {
86
+ readonly path: "/getEventsAndClearAcknowledged";
87
+ readonly action: (input: unknown) => GetEventsAndClearAcknowledgedResult;
88
+ }, {
89
+ readonly path: "/getJoinableGames";
90
+ readonly action: () => GetJoinableGamesResult;
91
+ }, {
92
+ readonly path: "/joinGame";
93
+ readonly action: (input: unknown, userId: string, username: string) => JoinGameResult;
94
+ }, {
95
+ readonly path: "/leaveGame";
96
+ readonly action: (input: unknown) => LeaveGameResult;
97
+ }, {
98
+ readonly path: "/playCard";
99
+ readonly action: (input: unknown) => PlayCardResult;
100
+ }, {
101
+ readonly path: "/reportNoPlayableCards";
102
+ readonly action: (input: unknown) => ReportNoPlayableCardsResult;
103
+ }, {
104
+ readonly path: "/sendChat";
105
+ readonly action: (input: unknown) => SendChatResult;
106
+ }, {
107
+ readonly path: "/startGame";
108
+ readonly action: (input: unknown) => StartGameResult;
109
+ }];
110
+ private createGame;
111
+ private drawCard;
112
+ private getClientStateAndClearEvents;
113
+ private getEventsAndClearAcknowledged;
114
+ private getJoinableGames;
115
+ private joinGame;
116
+ private leaveGame;
117
+ private playCard;
118
+ private reportNoPlayableCards;
119
+ private sendChat;
120
+ private startGame;
121
+ }
122
+ //#endregion
123
+ export { GetJoinableGamesResult as a, PlayCardResult as c, Server as d, StartGameResult as f, GetEventsAndClearAcknowledgedResult as i, ReportNoPlayableCardsResult as l, DrawCardResult as n, JoinGameResult as o, GetClientStateAndClearEventsResult as r, LeaveGameResult as s, CreateGameResult as t, SendChatResult as u };
124
+ //# sourceMappingURL=index-FveApXzq.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-FveApXzq.d.cts","names":[],"sources":["../src/server/Server.ts"],"mappings":";;KAIY;WAEG;WACA;WACA;;WAGA;WACA;;KAGH;WAEG;;WAGA;WACA;;KAUH;WAEG;WACA,OAAO;;WAGP;WACA;;KAGH;WAEG;WACA,iBAAiB;;WAGjB;WACA;;KAGH;WACD;aACE;aACA;;;KAID;WAEG;WACA;;WAGA;WACA;;KAQH;WAEG;;WAGA;WACA;;KAGH;WAEG;;WAGA;WACA;;KAUH;WAEG;;WAGA;WACA;;KAWH;WAEG;;WAGA;WACA;;KAGH;WAEG;;WAGA;WACA;;cAiFF;mBACM;WAER;;aAuBkB,SAAA,gBAAM,qBAAqB;;;aAI9B,SAAA,mBAAU;;;aASzB,SAAA,mBACN;;;aAUM,SAAA,mBACN;;;aASyB,cAAA;;;aAKnB,SAAA,gBAAO,gBACA,qBAEb;;;aAQsB,SAAA,mBAAU;;;aAQX,SAAA,mBAAU;;;aAQG,SAAA,mBAAU;;;aAQvB,SAAA,mBAAU;;;aAQT,SAAA,mBAAU;;UAlF3B;UAIA;UAQA;UAWA;UAWA;UAIA;UAYA;UAQA;UAQA;UAQA;UAQA"}
@@ -0,0 +1,124 @@
1
+ import { m as ClientState, p as GameEvent } from "./index-YAYbNr-s.mjs";
2
+ //#region src/server/Server.d.ts
3
+ type CreateGameResult = {
4
+ readonly success: true;
5
+ readonly gameId: string;
6
+ readonly playerId: string;
7
+ } | {
8
+ readonly success: false;
9
+ readonly error: "maxGamesReached";
10
+ };
11
+ type DrawCardResult = {
12
+ readonly success: true;
13
+ } | {
14
+ readonly success: false;
15
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "handFull" | "drawPileEmpty";
16
+ };
17
+ type GetClientStateAndClearEventsResult = {
18
+ readonly success: true;
19
+ readonly state: ClientState;
20
+ } | {
21
+ readonly success: false;
22
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound";
23
+ };
24
+ type GetEventsAndClearAcknowledgedResult = {
25
+ readonly success: true;
26
+ readonly events: readonly GameEvent[];
27
+ } | {
28
+ readonly success: false;
29
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound";
30
+ };
31
+ type GetJoinableGamesResult = {
32
+ readonly games: readonly {
33
+ readonly id: string;
34
+ readonly numPlayers: number;
35
+ }[];
36
+ };
37
+ type JoinGameResult = {
38
+ readonly success: true;
39
+ readonly playerId: string;
40
+ } | {
41
+ readonly success: false;
42
+ readonly error: "invalidInput" | "gameNotFound" | "invalidStatus" | "maxPlayersReached" | "alreadyInGame";
43
+ };
44
+ type LeaveGameResult = {
45
+ readonly success: true;
46
+ } | {
47
+ readonly success: false;
48
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound";
49
+ };
50
+ type PlayCardResult = {
51
+ readonly success: true;
52
+ } | {
53
+ readonly success: false;
54
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "cardNotFound" | "cardNotPlayable";
55
+ };
56
+ type ReportNoPlayableCardsResult = {
57
+ readonly success: true;
58
+ } | {
59
+ readonly success: false;
60
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "alreadyReported" | "hasPlayableCard" | "canDraw";
61
+ };
62
+ type SendChatResult = {
63
+ readonly success: true;
64
+ } | {
65
+ readonly success: false;
66
+ readonly error: "invalidInput" | "gameNotFound" | "playerNotFound";
67
+ };
68
+ type StartGameResult = {
69
+ readonly success: true;
70
+ } | {
71
+ readonly success: false;
72
+ readonly error: "invalidInput" | "gameNotFound" | "invalidStatus" | "playerNotFound" | "playerNotAdmin" | "minPlayersNotReached";
73
+ };
74
+ declare class Server {
75
+ private readonly manager;
76
+ readonly actions: readonly [{
77
+ readonly path: "/createGame";
78
+ readonly action: (userId: string, username: string) => CreateGameResult;
79
+ }, {
80
+ readonly path: "/drawCard";
81
+ readonly action: (input: unknown) => DrawCardResult;
82
+ }, {
83
+ readonly path: "/getClientStateAndClearEvents";
84
+ readonly action: (input: unknown) => GetClientStateAndClearEventsResult;
85
+ }, {
86
+ readonly path: "/getEventsAndClearAcknowledged";
87
+ readonly action: (input: unknown) => GetEventsAndClearAcknowledgedResult;
88
+ }, {
89
+ readonly path: "/getJoinableGames";
90
+ readonly action: () => GetJoinableGamesResult;
91
+ }, {
92
+ readonly path: "/joinGame";
93
+ readonly action: (input: unknown, userId: string, username: string) => JoinGameResult;
94
+ }, {
95
+ readonly path: "/leaveGame";
96
+ readonly action: (input: unknown) => LeaveGameResult;
97
+ }, {
98
+ readonly path: "/playCard";
99
+ readonly action: (input: unknown) => PlayCardResult;
100
+ }, {
101
+ readonly path: "/reportNoPlayableCards";
102
+ readonly action: (input: unknown) => ReportNoPlayableCardsResult;
103
+ }, {
104
+ readonly path: "/sendChat";
105
+ readonly action: (input: unknown) => SendChatResult;
106
+ }, {
107
+ readonly path: "/startGame";
108
+ readonly action: (input: unknown) => StartGameResult;
109
+ }];
110
+ private createGame;
111
+ private drawCard;
112
+ private getClientStateAndClearEvents;
113
+ private getEventsAndClearAcknowledged;
114
+ private getJoinableGames;
115
+ private joinGame;
116
+ private leaveGame;
117
+ private playCard;
118
+ private reportNoPlayableCards;
119
+ private sendChat;
120
+ private startGame;
121
+ }
122
+ //#endregion
123
+ export { GetJoinableGamesResult as a, PlayCardResult as c, Server as d, StartGameResult as f, GetEventsAndClearAcknowledgedResult as i, ReportNoPlayableCardsResult as l, DrawCardResult as n, JoinGameResult as o, GetClientStateAndClearEventsResult as r, LeaveGameResult as s, CreateGameResult as t, SendChatResult as u };
124
+ //# sourceMappingURL=index-J8s2QklC.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-J8s2QklC.d.mts","names":[],"sources":["../src/server/Server.ts"],"mappings":";;KAIY;WAEG;WACA;WACA;;WAGA;WACA;;KAGH;WAEG;;WAGA;WACA;;KAUH;WAEG;WACA,OAAO;;WAGP;WACA;;KAGH;WAEG;WACA,iBAAiB;;WAGjB;WACA;;KAGH;WACD;aACE;aACA;;;KAID;WAEG;WACA;;WAGA;WACA;;KAQH;WAEG;;WAGA;WACA;;KAGH;WAEG;;WAGA;WACA;;KAUH;WAEG;;WAGA;WACA;;KAWH;WAEG;;WAGA;WACA;;KAGH;WAEG;;WAGA;WACA;;cAiFF;mBACM;WAER;;aAuBkB,SAAA,gBAAM,qBAAqB;;;aAI9B,SAAA,mBAAU;;;aASzB,SAAA,mBACN;;;aAUM,SAAA,mBACN;;;aASyB,cAAA;;;aAKnB,SAAA,gBAAO,gBACA,qBAEb;;;aAQsB,SAAA,mBAAU;;;aAQX,SAAA,mBAAU;;;aAQG,SAAA,mBAAU;;;aAQvB,SAAA,mBAAU;;;aAQT,SAAA,mBAAU;;UAlF3B;UAIA;UAQA;UAWA;UAWA;UAIA;UAYA;UAQA;UAQA;UAQA;UAQA"}
@@ -1,23 +1,3 @@
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
21
1
  //#region src/manager/types/Card.d.ts
22
2
  type Card = {
23
3
  readonly id: string;
@@ -52,16 +32,6 @@ type Player = {
52
32
  readonly centerPileTopCard: Card | null;
53
33
  };
54
34
  //#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
35
  //#region src/manager/types/GameEvent.d.ts
66
36
  type GameEvent = {
67
37
  readonly type: "canPlayAtUpdated";
@@ -137,7 +107,28 @@ type GameEvent = {
137
107
  readonly numCards: number;
138
108
  };
139
109
  //#endregion
140
- //#region src/manager/actions/getEventsAndClearAcknowledged.d.ts
110
+ //#region src/manager/Manager.d.ts
111
+ type CreateGameResult = {
112
+ readonly success: true;
113
+ readonly gameId: string;
114
+ readonly playerId: string;
115
+ } | {
116
+ readonly success: false;
117
+ readonly error: "maxGamesReached";
118
+ };
119
+ type DrawCardResult = {
120
+ readonly success: true;
121
+ } | {
122
+ readonly success: false;
123
+ readonly error: "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "handFull" | "drawPileEmpty";
124
+ };
125
+ type GetClientStateAndClearEventsResult = {
126
+ readonly success: true;
127
+ readonly state: ClientState;
128
+ } | {
129
+ readonly success: false;
130
+ readonly error: "gameNotFound" | "playerNotFound";
131
+ };
141
132
  type GetEventsAndClearAcknowledgedResult = {
142
133
  readonly success: true;
143
134
  readonly events: readonly GameEvent[];
@@ -145,19 +136,12 @@ type GetEventsAndClearAcknowledgedResult = {
145
136
  readonly success: false;
146
137
  readonly error: "gameNotFound" | "playerNotFound";
147
138
  };
148
- declare function getEventsAndClearAcknowledged(gameId: string, playerId: string, lastReadId: string | null): GetEventsAndClearAcknowledgedResult;
149
- //#endregion
150
- //#region src/manager/actions/getJoinableGames.d.ts
151
139
  type GetJoinableGamesResult = {
152
- readonly success: true;
153
140
  readonly games: readonly {
154
141
  readonly id: string;
155
142
  readonly numPlayers: number;
156
143
  }[];
157
144
  };
158
- declare function getJoinableGames(): GetJoinableGamesResult;
159
- //#endregion
160
- //#region src/manager/actions/joinGame.d.ts
161
145
  type JoinGameResult = {
162
146
  readonly success: true;
163
147
  readonly playerId: string;
@@ -165,52 +149,52 @@ type JoinGameResult = {
165
149
  readonly success: false;
166
150
  readonly error: "gameNotFound" | "invalidStatus" | "maxPlayersReached" | "alreadyInGame";
167
151
  };
168
- declare function joinGame(gameId: string, userId: string, username: string): JoinGameResult;
169
- //#endregion
170
- //#region src/manager/actions/leaveGame.d.ts
171
152
  type LeaveGameResult = {
172
153
  readonly success: true;
173
154
  } | {
174
155
  readonly success: false;
175
156
  readonly error: "gameNotFound" | "playerNotFound";
176
157
  };
177
- declare function leaveGame(gameId: string, playerId: string): LeaveGameResult;
178
- //#endregion
179
- //#region src/manager/actions/playCard.d.ts
180
158
  type PlayCardResult = {
181
159
  readonly success: true;
182
160
  } | {
183
161
  readonly success: false;
184
162
  readonly error: "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "cardNotFound" | "cardNotPlayable";
185
163
  };
186
- declare function playCard(gameId: string, playerId: string, cardId: string, isForOtherPlayerPile: boolean): PlayCardResult;
187
- //#endregion
188
- //#region src/manager/actions/reportNoPlayableCards.d.ts
189
164
  type ReportNoPlayableCardsResult = {
190
165
  readonly success: true;
191
166
  } | {
192
167
  readonly success: false;
193
168
  readonly error: "gameNotFound" | "playerNotFound" | "invalidStatus" | "canPlayAtNotReached" | "alreadyReported" | "hasPlayableCard" | "canDraw";
194
169
  };
195
- declare function reportNoPlayableCards(gameId: string, playerId: string): ReportNoPlayableCardsResult;
196
- //#endregion
197
- //#region src/manager/actions/sendChat.d.ts
198
170
  type SendChatResult = {
199
171
  readonly success: true;
200
172
  } | {
201
173
  readonly success: false;
202
174
  readonly error: "gameNotFound" | "playerNotFound";
203
175
  };
204
- declare function sendChat(gameId: string, playerId: string, text: string): SendChatResult;
205
- //#endregion
206
- //#region src/manager/actions/startGame.d.ts
207
176
  type StartGameResult = {
208
177
  readonly success: true;
209
178
  } | {
210
179
  readonly success: false;
211
- readonly error: "gameNotFound" | "playerNotFound" | "invalidStatus" | "playerNotAdmin" | "minPlayersNotReached";
212
- };
213
- declare function startGame(gameId: string, playerId: string): StartGameResult;
180
+ readonly error: "gameNotFound" | "invalidStatus" | "playerNotFound" | "playerNotAdmin" | "minPlayersNotReached";
181
+ };
182
+ declare class Manager {
183
+ private readonly games;
184
+ private readonly watchdog;
185
+ constructor();
186
+ createGame(userId: string, username: string): CreateGameResult;
187
+ drawCard(gameId: string, playerId: string): DrawCardResult;
188
+ getClientStateAndClearEvents(gameId: string, playerId: string): GetClientStateAndClearEventsResult;
189
+ getEventsAndClearAcknowledged(gameId: string, playerId: string, lastReadId: string | null): GetEventsAndClearAcknowledgedResult;
190
+ getJoinableGames(): GetJoinableGamesResult;
191
+ joinGame(gameId: string, userId: string, username: string): JoinGameResult;
192
+ leaveGame(gameId: string, playerId: string): LeaveGameResult;
193
+ playCard(gameId: string, playerId: string, cardId: string, isForOtherPlayerPile: boolean): PlayCardResult;
194
+ reportNoPlayableCards(gameId: string, playerId: string): ReportNoPlayableCardsResult;
195
+ sendChat(gameId: string, playerId: string, text: string): SendChatResult;
196
+ startGame(gameId: string, playerId: string): StartGameResult;
197
+ }
214
198
  //#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.cts.map
199
+ 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 };
200
+ //# sourceMappingURL=index-YAYbNr-s.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-YAYbNr-s.d.cts","names":[],"sources":["../src/manager/types/Card.ts","../src/manager/types/ChatMessage.ts","../src/manager/types/ClientState.ts","../src/manager/types/GameEvent.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;;;;KCtEH;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;mBACM;mBACA;;EAQjB,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"}