{"version":3,"file":"index.mjs","names":[],"sources":["../../src/server/createServer.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { createServerFactory } from \"@hellacardgames/lib\";\nimport { createManager } from \"../manager/index.js\";\nimport { COLORS } from \"../game/index.js\";\n\nexport type Server = ReturnType<typeof createServer>;\n\nexport const createServer = createServerFactory(createManager, {\n  drawCard: z\n    .object({\n      gameId: z.string(),\n      playerId: z.string(),\n    })\n    .transform(({ gameId, playerId }) => [gameId, playerId] as const),\n\n  playCard: z\n    .object({\n      gameId: z.string(),\n      playerId: z.string(),\n      cardId: z.string(),\n    })\n    .transform(\n      ({ gameId, playerId, cardId }) => [gameId, playerId, cardId] as const,\n    ),\n\n  playWildCard: z\n    .object({\n      gameId: z.string(),\n      playerId: z.string(),\n      cardId: z.string(),\n      color: z.enum(COLORS),\n    })\n    .transform(\n      ({ gameId, playerId, cardId, color }) =>\n        [gameId, playerId, cardId, color] as const,\n    ),\n});\n"],"mappings":";;;;;AAOA,MAAa,eAAe,oBAAoB,eAAe;CAC7D,UAAU,EACP,OAAO;EACN,QAAQ,EAAE,OAAO;EACjB,UAAU,EAAE,OAAO;CACrB,CAAC,CAAC,CACD,WAAW,EAAE,QAAQ,eAAe,CAAC,QAAQ,QAAQ,CAAU;CAElE,UAAU,EACP,OAAO;EACN,QAAQ,EAAE,OAAO;EACjB,UAAU,EAAE,OAAO;EACnB,QAAQ,EAAE,OAAO;CACnB,CAAC,CAAC,CACD,WACE,EAAE,QAAQ,UAAU,aAAa;EAAC;EAAQ;EAAU;CAAM,CAC7D;CAEF,cAAc,EACX,OAAO;EACN,QAAQ,EAAE,OAAO;EACjB,UAAU,EAAE,OAAO;EACnB,QAAQ,EAAE,OAAO;EACjB,OAAO,EAAE,KAAK,MAAM;CACtB,CAAC,CAAC,CACD,WACE,EAAE,QAAQ,UAAU,QAAQ,YAC3B;EAAC;EAAQ;EAAU;EAAQ;CAAK,CACpC;AACJ,CAAC"}