From f8d0277091e7b192bcaf53e9153fc68cedbf29e2 Mon Sep 17 00:00:00 2001 From: Forbes Lindesay Date: Mon, 28 Jan 2019 13:22:52 +0000 Subject: [PATCH] fix: get koa request body from correct prop (#7) BREAKING CHANGE: if you were passing something that looked like a koa request, we now get the `body` from `ctx.request.body` --- src/__tests__/output/ComplexExample.valiator.ts | 5 ++++- src/__tests__/printValidator.test.ts | 8 +++++--- src/template.ts | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/__tests__/output/ComplexExample.valiator.ts b/src/__tests__/output/ComplexExample.valiator.ts index e1b1018..cd25b04 100644 --- a/src/__tests__/output/ComplexExample.valiator.ts +++ b/src/__tests__/output/ComplexExample.valiator.ts @@ -120,7 +120,10 @@ export function validateKoaRequest( validator: any, ctx: Context, ): any => { - const data = (ctx as any)[prop]; + const data = + prop === 'body' + ? ctx.request && (ctx.request as any).body + : (ctx as any)[prop]; if (validator) { const valid = validator(data); diff --git a/src/__tests__/printValidator.test.ts b/src/__tests__/printValidator.test.ts index ea91e54..98f05f0 100644 --- a/src/__tests__/printValidator.test.ts +++ b/src/__tests__/printValidator.test.ts @@ -46,9 +46,11 @@ test('validateRequest', () => { id: 0, value: 'hello', }, - body: { - id: 1, - value: '2019-01-25T19:09:28.179Z', + request: { + body: { + id: 1, + value: '2019-01-25T19:09:28.179Z', + }, }, throw: (number: number, message: string) => { throw new Error(`${number} ${message}`); diff --git a/src/template.ts b/src/template.ts index 8b93676..4eef0df 100644 --- a/src/template.ts +++ b/src/template.ts @@ -103,7 +103,7 @@ export const VALIDATE_KOA_REQUEST_IMPLEMENTATION = `export function validateKoaR validator: any, ctx: Context, ): any => { - const data = (ctx as any)[prop]; + const data = prop === 'body' ? ctx.request && (ctx.request as any).body : (ctx as any)[prop]; if (validator) { const valid = validator(data);