| 1 | /** |
| 2 | * AppSync Lambda data-source fixture. The JS resolvers under test invoke |
| 3 | * this function with `{ field, args }` payloads and surface the returned |
| 4 | * value as the GraphQL result — proving the value was computed here. |
| 5 | */ |
| 6 | const handler = async (event: { |
| 7 | field?: string; |
| 8 | args?: Record<string, number & string>; |
| 9 | }) => { |
| 10 | switch (event?.field) { |
| 11 | case "add": |
| 12 | return Number(event.args?.a) + Number(event.args?.b); |
| 13 | case "double": |
| 14 | return Number(event.args?.n) * 2; |
| 15 | case "greet": |
| 16 | return `Hello, ${event.args?.name}! (from Lambda)`; |
| 17 | default: |
| 18 | throw new Error(`Unknown field: ${event?.field}`); |
| 19 | } |
| 20 | }; |
| 21 | |
| 22 | export { handler }; |
| 23 | export default handler; |