@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.
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +2 -2
- package/dist/client/index.d.cts.map +1 -1
- package/dist/client/index.d.mts +2 -2
- package/dist/client/index.d.mts.map +1 -1
- package/dist/client/index.mjs.map +1 -1
- package/dist/index-FveApXzq.d.cts +124 -0
- package/dist/index-FveApXzq.d.cts.map +1 -0
- package/dist/index-J8s2QklC.d.mts +124 -0
- package/dist/index-J8s2QklC.d.mts.map +1 -0
- package/dist/{index-BilCO_4a.d.cts → index-YAYbNr-s.d.cts} +42 -58
- package/dist/index-YAYbNr-s.d.cts.map +1 -0
- package/dist/{index-BilCO_4a.d.mts → index-YAYbNr-s.d.mts} +42 -58
- package/dist/index-YAYbNr-s.d.mts.map +1 -0
- package/dist/manager/index.cjs +2 -12
- package/dist/manager/index.d.cts +2 -2
- package/dist/manager/index.d.mts +2 -2
- package/dist/manager/index.mjs +2 -2
- package/dist/manager-BOymBQ4E.mjs +817 -0
- package/dist/manager-BOymBQ4E.mjs.map +1 -0
- package/dist/manager-BpKvQbcp.cjs +822 -0
- package/dist/manager-BpKvQbcp.cjs.map +1 -0
- package/dist/server/index.cjs +138 -157
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.cts +3 -3
- package/dist/server/index.d.mts +3 -3
- package/dist/server/index.mjs +138 -157
- package/dist/server/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/index-BilCO_4a.d.cts.map +0 -1
- package/dist/index-BilCO_4a.d.mts.map +0 -1
- package/dist/index-DSPZZlhq.d.cts +0 -143
- package/dist/index-DSPZZlhq.d.cts.map +0 -1
- package/dist/index-S-oO1z9X.d.mts +0 -143
- package/dist/index-S-oO1z9X.d.mts.map +0 -1
- package/dist/manager-CPmezdJa.mjs +0 -834
- package/dist/manager-CPmezdJa.mjs.map +0 -1
- package/dist/manager-DErQ_XUq.cjs +0 -899
- 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":";;
|
|
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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"}
|
package/dist/client/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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":";;;
|
|
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"}
|
package/dist/client/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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":";;;
|
|
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":";
|
|
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/
|
|
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" | "
|
|
212
|
-
};
|
|
213
|
-
declare
|
|
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 {
|
|
216
|
-
//# sourceMappingURL=index-
|
|
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"}
|