From 92282881099cdf62912f43749e4f32601fbc2ed2 Mon Sep 17 00:00:00 2001 From: Evan Sosenko Date: Wed, 25 Sep 2024 15:00:55 -0700 Subject: [PATCH 1/3] fix: Always return valid JSON in code response --- src/lib/code-sample/create-json-response.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/code-sample/create-json-response.ts b/src/lib/code-sample/create-json-response.ts index 417682d..6d347f0 100644 --- a/src/lib/code-sample/create-json-response.ts +++ b/src/lib/code-sample/create-json-response.ts @@ -5,7 +5,9 @@ export const createJsonResponse = ( context: Context, ): string => { const { endpoint } = context - if (endpoint.response.responseType === 'void') return 'void' + if (endpoint.response.responseType === 'void') { + return JSON.stringify({}) + } const { responseKey } = endpoint.response const data = response?.body?.[responseKey] if (data == null) { From e487c86417df16d7da99a5c8ac7cf70a2fcf3163 Mon Sep 17 00:00:00 2001 From: Evan Sosenko Date: Wed, 25 Sep 2024 15:15:37 -0700 Subject: [PATCH 2/3] Return // void in code sample --- src/lib/code-sample/javascript.ts | 2 +- src/lib/code-sample/{create-json-response.ts => json.ts} | 0 src/lib/code-sample/schema.ts | 7 +++++-- src/lib/code-sample/seam-cli.ts | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) rename src/lib/code-sample/{create-json-response.ts => json.ts} (100%) diff --git a/src/lib/code-sample/javascript.ts b/src/lib/code-sample/javascript.ts index c3f9316..cdf7719 100644 --- a/src/lib/code-sample/javascript.ts +++ b/src/lib/code-sample/javascript.ts @@ -1,6 +1,6 @@ import { camelCase } from 'change-case' -import { createJsonResponse } from './create-json-response.js' +import { createJsonResponse } from './json.js' import type { CodeSampleDefinition, Context } from './schema.js' export const createJavascriptRequest = ( diff --git a/src/lib/code-sample/create-json-response.ts b/src/lib/code-sample/json.ts similarity index 100% rename from src/lib/code-sample/create-json-response.ts rename to src/lib/code-sample/json.ts diff --git a/src/lib/code-sample/schema.ts b/src/lib/code-sample/schema.ts index 3f38d55..47d315f 100644 --- a/src/lib/code-sample/schema.ts +++ b/src/lib/code-sample/schema.ts @@ -79,13 +79,16 @@ export const createCodeSample = async ( codeSampleDefinition: CodeSampleDefinition, context: Context, ): Promise => { + const isVoidResponse = context.endpoint.response.responseType === 'void' const code: Code = { javascript: { title: 'JavaScript', request: createJavascriptRequest(codeSampleDefinition, context), - response: createJavascriptResponse(codeSampleDefinition, context), + response: isVoidResponse + ? '// void' + : createJavascriptResponse(codeSampleDefinition, context), request_syntax: 'javascript', - response_syntax: 'json', + response_syntax: isVoidResponse ? 'javascript' : 'json', }, python: { title: 'Python', diff --git a/src/lib/code-sample/seam-cli.ts b/src/lib/code-sample/seam-cli.ts index cc446a7..49f080f 100644 --- a/src/lib/code-sample/seam-cli.ts +++ b/src/lib/code-sample/seam-cli.ts @@ -1,6 +1,6 @@ import { kebabCase } from 'change-case' -import { createJsonResponse } from './create-json-response.js' +import { createJsonResponse } from './json.js' import type { CodeSampleDefinition, Context } from './schema.js' export const createSeamCliRequest = ( From 09357c28592eb832a169968d94aa8f39e2bd5af9 Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Wed, 25 Sep 2024 22:16:10 +0000 Subject: [PATCH 3/3] ci: Generate code --- test/snapshots/blueprint.test.ts.md | 42 +++++++++++++------------- test/snapshots/blueprint.test.ts.snap | Bin 18705 -> 18717 bytes 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/test/snapshots/blueprint.test.ts.md b/test/snapshots/blueprint.test.ts.md index 4c7d587..ee96fe5 100644 --- a/test/snapshots/blueprint.test.ts.md +++ b/test/snapshots/blueprint.test.ts.md @@ -1481,8 +1481,8 @@ Generated by [AVA](https://avajs.dev). javascript: { request: 'await seam.deprecated.undocumented.endpoint()', request_syntax: 'javascript', - response: 'void', - response_syntax: 'json', + response: '// void', + response_syntax: 'javascript', title: 'JavaScript', }, php: { @@ -1510,7 +1510,7 @@ Generated by [AVA](https://avajs.dev). seam_cli: { request: 'seam deprecated undocumented endpoint ', request_syntax: 'bash', - response: 'void', + response: '{}', response_syntax: 'json', title: 'Seam CLI', }, @@ -1553,8 +1553,8 @@ Generated by [AVA](https://avajs.dev). javascript: { request: 'await seam.deprecated.undocumented.endpoint()', request_syntax: 'javascript', - response: 'void', - response_syntax: 'json', + response: '// void', + response_syntax: 'javascript', title: 'JavaScript', }, php: { @@ -1582,7 +1582,7 @@ Generated by [AVA](https://avajs.dev). seam_cli: { request: 'seam deprecated undocumented endpoint ', request_syntax: 'bash', - response: 'void', + response: '{}', response_syntax: 'json', title: 'Seam CLI', }, @@ -1625,8 +1625,8 @@ Generated by [AVA](https://avajs.dev). javascript: { request: 'await seam.deprecated.undocumented.endpoint()', request_syntax: 'javascript', - response: 'void', - response_syntax: 'json', + response: '// void', + response_syntax: 'javascript', title: 'JavaScript', }, php: { @@ -1654,7 +1654,7 @@ Generated by [AVA](https://avajs.dev). seam_cli: { request: 'seam deprecated undocumented endpoint ', request_syntax: 'bash', - response: 'void', + response: '{}', response_syntax: 'json', title: 'Seam CLI', }, @@ -3334,9 +3334,9 @@ Generated by [AVA](https://avajs.dev). request: `// javascript␊ await seam.deprecated.undocumented.endpoint()`, request_syntax: 'javascript', - response: `// json␊ - void`, - response_syntax: 'json', + response: `// javascript␊ + // void`, + response_syntax: 'javascript', title: 'JavaScript', }, php: { @@ -3372,7 +3372,7 @@ Generated by [AVA](https://avajs.dev). seam deprecated undocumented endpoint `, request_syntax: 'bash', response: `// json␊ - void`, + {}`, response_syntax: 'json', title: 'Seam CLI', }, @@ -3416,9 +3416,9 @@ Generated by [AVA](https://avajs.dev). request: `// javascript␊ await seam.deprecated.undocumented.endpoint()`, request_syntax: 'javascript', - response: `// json␊ - void`, - response_syntax: 'json', + response: `// javascript␊ + // void`, + response_syntax: 'javascript', title: 'JavaScript', }, php: { @@ -3454,7 +3454,7 @@ Generated by [AVA](https://avajs.dev). seam deprecated undocumented endpoint `, request_syntax: 'bash', response: `// json␊ - void`, + {}`, response_syntax: 'json', title: 'Seam CLI', }, @@ -3498,9 +3498,9 @@ Generated by [AVA](https://avajs.dev). request: `// javascript␊ await seam.deprecated.undocumented.endpoint()`, request_syntax: 'javascript', - response: `// json␊ - void`, - response_syntax: 'json', + response: `// javascript␊ + // void`, + response_syntax: 'javascript', title: 'JavaScript', }, php: { @@ -3536,7 +3536,7 @@ Generated by [AVA](https://avajs.dev). seam deprecated undocumented endpoint `, request_syntax: 'bash', response: `// json␊ - void`, + {}`, response_syntax: 'json', title: 'Seam CLI', }, diff --git a/test/snapshots/blueprint.test.ts.snap b/test/snapshots/blueprint.test.ts.snap index 449d493725dd95064ead5c6c1c2d54abb0e66805..2d4e124fb5d4e852018dc53355cf3b6bb8e46968 100644 GIT binary patch literal 18717 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