Turn your blueprint into UI components.
@autoview
is a code generator that produces TypeScript frontend component from schema information. This schema information can be derived from either TypeScript types or Swagger/OpenAPI documents.
Frontend developers can use @autoview
to significantly increase productivity. Simply define TypeScript types, and the frontend code will be generated immediately. You can then refine and enhance this code to complete your application.
For backend developers, simply bring your swagger.json
file to @autoview
. If your API contains 200 functions, it will automatically generate 200 frontend components. If there are 300 API functions, 300 frontend components will be generated automatically.
npm install @autoview/agent @autoview/ui openai
npm install -D @samchon/openapi typia
npx typia setup
import { AutoViewAgent } from "@autoview/agent";
import fs from "fs";
import OpenAI from "openai";
import typia, { tags } from "typia";
// 1. Define your own TypeScript interface to display
interface IMember {
id: string & tags.Format<"uuid">;
name: string;
age: number & tags.Minimum<0> & tags.Maximum<100>;
thumbnail: string & tags.Format<"uri"> & tags.ContentMediaType;
}
// 2. Setup the AutoView agent
const agent = new AutoViewAgent({
model: "chatgpt",
vendor: {
api: new OpenAI({ apiKey: "********" }),
model: "o3-mini",
isThinkingEnabled: true,
},
input: {
type: "json-schema",
unit: typia.json.unit<IMember>(),
},
transformFunctionName: "transformMember",
experimentalAllInOne: true, // recommended for faster and less-error results
});
// 3. Get the result!
const result = await agent.generate();
await fs.promises.writeFile(
"./src/transformers/transformMember.ts",
result.transformTsCode,
"utf8",
);
import { renderComponent } from "@autoview/ui";
import { transformMember } from "./transformers/transformMember";
export interface MemberComponentProps {
member: IMember;
}
export default function MemberComponent(props: MemberComponentProps) {
return <div>{renderComponent(transformMember(props.member))}</div>;
}
You can experience how the AutoView works by playground website:
💻 https://wrtnlabs.io/autoview/
Check out the document in the website: