Files
2026-06-03 15:08:11 +02:00

42 lines
1.1 KiB
JavaScript

// //1
// import { File } from '@asyncapi/generator-react-sdk'
// //2
// export default function ({ asyncapi }) {
// //3
// return <File name="client.py">{asyncapi.info().title()}</File>
// }
import { File } from '@asyncapi/generator-react-sdk';
import { PythonGenerator, FormatHelpers } from '@asyncapi/modelina';
export default async function ({ asyncapi, params }) {
const channels = Object.keys(asyncapi.components());
let content = ''
for (const channel of channels) {
content += `# channel: ${channel}\n`
}
const pythonGenerator = new PythonGenerator();
const models = await pythonGenerator.generate(asyncapi);
const files = [];
for (const model of models) {
const modelFileName = `${FormatHelpers.toPascalCase(model.modelName)}.py`;
files.push(modelFileName);
}
return (
<File name="client2.py"># {asyncapi.info().title()}
{`\n`}
# {asyncapi.info().description()}
{`\n`}
# {channels.map((ch) => `# channel: ${ch}\n`)}
# {content}
# {'=========='}
# {files}
# {'=========='}
</File>
)
}