From 80e78f6bae7c1db27d606c50af5fd546a84665c4 Mon Sep 17 00:00:00 2001 From: Warren Parad Date: Sat, 13 Jan 2024 17:12:36 +0100 Subject: [PATCH] Generate examples for form inputs/parameters etc... --- mocks/index-schema.json | 12 ++++++++++++ src/components/api-request.js | 6 +++--- src/components/api-response.js | 6 +++--- src/utils/schema-utils.js | 9 ++++++--- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/mocks/index-schema.json b/mocks/index-schema.json index 08bb83ae..20ccb28d 100644 --- a/mocks/index-schema.json +++ b/mocks/index-schema.json @@ -59,6 +59,18 @@ } }, "parameters": [ + { + "name": "If-Unmodified-Since", + "in": "header", + "description": "The expected last time the record was modified.", + "required": false, + "schema": { + "type": "string", + "format": "date-time", + "minLength": 1, + "maxLength": 32 + } + }, { "name": "uri_test", "in": "path", diff --git a/src/components/api-request.js b/src/components/api-request.js index 0f524ac8..a8e4d4ff 100644 --- a/src/components/api-request.js +++ b/src/components/api-request.js @@ -134,7 +134,7 @@ export default class ApiRequest extends LitElement { if (!param.schema) { continue; } - const paramSchema = getTypeInfo(param.schema, { includeNulls: this.includeNulls }); + const paramSchema = getTypeInfo(param, { includeNulls: this.includeNulls, enableExampleGeneration: true }); if (!paramSchema) { continue; } @@ -309,7 +309,7 @@ export default class ApiRequest extends LitElement { exampleListTemplate(param, paramType) { const paramName = param.name; - const paramSchema = getTypeInfo(param.schema, { includeNulls: this.includeNulls }); + const paramSchema = getTypeInfo(param, { includeNulls: this.includeNulls }); const examples = generateExample( param.examples || param.example && { Example: { value: param.example } } || paramSchema.examples || paramSchema.example && { Example: { value: paramSchema.example } }, @@ -434,7 +434,7 @@ export default class ApiRequest extends LitElement { } const displayedBodyExample = reqBodyExamples.find(v => v.exampleId === this.selectedRequestBodyExample) || reqBodyExamples[0]; reqBodyDefaultHtml = html` -
+
${reqBodyExamples.length === 1 ? '' : html` diff --git a/src/components/api-response.js b/src/components/api-response.js index 39f9c58e..a04497ec 100644 --- a/src/components/api-response.js +++ b/src/components/api-response.js @@ -224,7 +224,7 @@ export default class ApiResponse extends LitElement { ${respHeaders.map((v) => { - const typeData = getTypeInfo(v.schema); + const typeData = getTypeInfo(v, { enableExampleGeneration: true }); return html` `; @@ -273,7 +273,7 @@ export default class ApiResponse extends LitElement { ? html` ${mimeRespDetails.examples[0].exampleSummary && mimeRespDetails.examples[0].exampleSummary.length > 80 ? html`
${mimeRespDetails.examples[0].exampleSummary}
` : ''} ${mimeRespDetails.examples[0].exampleDescription ? html`
${unsafeHTML(marked(mimeRespDetails.examples[0].exampleDescription || ''))}
` : ''} - ` + ` : html`