From 62ddeaa6bf40ac376da768905f73429785162122 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samy=20Pess=C3=A9?= Date: Mon, 30 Oct 2023 13:05:57 -0400 Subject: [PATCH] Start swagger --- bun.lockb | Bin 169967 -> 177048 bytes package.json | 69 +++++++++--------- src/components/DocumentView/Block.tsx | 3 + .../DocumentView/Swagger/Swagger.tsx | 58 +++++++++++++++ src/components/DocumentView/Swagger/index.ts | 1 + 5 files changed, 97 insertions(+), 34 deletions(-) create mode 100644 src/components/DocumentView/Swagger/Swagger.tsx create mode 100644 src/components/DocumentView/Swagger/index.ts diff --git a/bun.lockb b/bun.lockb index 65200496452f590dbd5c6e33eed9f0d55d91e26f..ff0b611b5eb8ece4313f99f09b11a24564600ac6 100755 GIT binary patch delta 36357 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 delta 32378 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 QH+ENFE$#87+CTVz0X3YotN;K2 diff --git a/package.json b/package.json index f5294dbf4..ea25bfe63 100644 --- a/package.json +++ b/package.json @@ -1,36 +1,37 @@ { - "name": "gitbook", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint", - "format": "prettier ./ --ignore-unknown --write", - "format:check": "prettier ./ --ignore-unknown --list-different" - }, - "dependencies": { - "@geist-ui/icons": "^1.0.2", - "@gitbook/api": "^0.11.0", - "bun-types": "^1.0.7", - "next": "13.5.6", - "react": "^18", - "react-dom": "^18", - "server-only": "^0.0.1", - "shiki": "^0.14.5", - "tailwind-merge": "^1.14.0" - }, - "devDependencies": { - "@types/node": "^20", - "@types/react": "^18", - "@types/react-dom": "^18", - "autoprefixer": "^10", - "eslint": "^8", - "eslint-config-next": "13.5.6", - "postcss": "^8", - "prettier": "^3.0.3", - "tailwindcss": "^3.3.4", - "typescript": "^5" - } + "name": "gitbook", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "format": "prettier ./ --ignore-unknown --write", + "format:check": "prettier ./ --ignore-unknown --list-different" + }, + "dependencies": { + "@geist-ui/icons": "^1.0.2", + "@gitbook/api": "^0.11.0", + "@readme/openapi-parser": "^2.5.0", + "bun-types": "^1.0.7", + "next": "13.5.6", + "react": "^18", + "react-dom": "^18", + "server-only": "^0.0.1", + "shiki": "^0.14.5", + "tailwind-merge": "^1.14.0" + }, + "devDependencies": { + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "autoprefixer": "^10", + "eslint": "^8", + "eslint-config-next": "13.5.6", + "postcss": "^8", + "prettier": "^3.0.3", + "tailwindcss": "^3.3.4", + "typescript": "^5" + } } diff --git a/src/components/DocumentView/Block.tsx b/src/components/DocumentView/Block.tsx index f4f694277..ba5e48e1f 100644 --- a/src/components/DocumentView/Block.tsx +++ b/src/components/DocumentView/Block.tsx @@ -12,6 +12,7 @@ import { Images } from './Images'; import { Tabs } from './Tabs'; import { Expandable } from './Expandable'; import { Table } from './Table'; +import { Swagger } from './Swagger'; export interface BlockProps extends DocumentContextProps { block: T; @@ -46,6 +47,8 @@ export function Block(props: BlockProps) { return ; case 'table': return ; + case 'swagger': + return ; default: return
Unsupported block {block.type}
; } diff --git a/src/components/DocumentView/Swagger/Swagger.tsx b/src/components/DocumentView/Swagger/Swagger.tsx new file mode 100644 index 000000000..f84d39ede --- /dev/null +++ b/src/components/DocumentView/Swagger/Swagger.tsx @@ -0,0 +1,58 @@ +import { resolveContentRef } from '@/lib/references'; +import { BlockProps } from '../Block'; +import { parseOpenAPI } from '@/lib/swagger'; +import { tcls } from '@/lib/tailwind'; +import OpenAPIParser from '@readme/openapi-parser'; + +/** + * Render a Swagger block. + */ +export async function Swagger(props: BlockProps) { + const { block, context, style } = props; + const resolved = await resolveContentRef(block.data.ref, context); + + if (!resolved) { + return
failed
; + } + + const api = await OpenAPIParser.validate(resolved.href); + // console.log(api); + + const operation = api.paths?.[block.data.path]?.[block.data.method] + + console.log(operation); + + // const parsed = await parseOpenAPI(resolved.href); + + return ( +
+
+
+ + {block.data.method.toUpperCase()} + + + {block.data.path} +
+

{operation.summary}

+
+
+
+
+
+ ); +} diff --git a/src/components/DocumentView/Swagger/index.ts b/src/components/DocumentView/Swagger/index.ts new file mode 100644 index 000000000..23822b1b4 --- /dev/null +++ b/src/components/DocumentView/Swagger/index.ts @@ -0,0 +1 @@ +export * from './Swagger';