@autobe/agent
Version:
AI backend server code generator
36 lines • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRealizeWriteImportStatements = getRealizeWriteImportStatements;
const openapi_1 = require("@samchon/openapi");
function getRealizeWriteImportStatements(props) {
const typeReferences = new Set();
const visit = (key) => openapi_1.OpenApiTypeChecker.visit({
schema: {
$ref: `#/components/schemas/${key}`,
},
components: { schemas: props.schemas },
closure: (next) => {
if (openapi_1.OpenApiTypeChecker.isReference(next))
typeReferences.add(next.$ref.split("/").pop().split(".")[0]);
},
});
if (props.operation.requestBody)
visit(props.operation.requestBody.typeName);
if (props.operation.responseBody)
visit(props.operation.responseBody.typeName);
// Build the standard imports
const imports = [
'import { HttpException } from "@nestjs/common";',
'import { Prisma } from "@prisma/client";',
'import jwt from "jsonwebtoken";',
'import typia, { tags } from "typia";',
'import { v4 } from "uuid";',
'import { MyGlobal } from "../MyGlobal";',
'import { PasswordUtil } from "../utils/PasswordUtil";',
'import { toISOStringSafe } from "../utils/toISOStringSafe"',
"",
...Array.from(typeReferences).map((ref) => `import { ${ref} } from "@ORGANIZATION/PROJECT-api/lib/structures/${ref}";`),
];
return imports;
}
//# sourceMappingURL=getRealizeWriteImportStatements.js.map